@charset "utf-8";
/* Body
------------------------------ */
html{
	overflow-x: hidden!important;
	font-size: 62.5%;
}
body {
	box-shadow: none;
	color: #000;
	font-family: "Hiragino Kaku Gothic ProN W3", "ヒラギノ角ゴ ProN W3",
				 "Hiragino Sans", "ヒラギノ角ゴシック", source-han-sans-japanese,
				 "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium",
				 "游ゴシック", "Yu Gothic", "メイリオ", Meiryo,
				 "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 1.6em;
	font-weight: 300;
	line-height: 1.75;
	letter-spacing: .025em;
	-webkit-text-size-adjust: 100%!important;
	top: 0!important;
	margin: 0;
}
a{
	text-decoration: none;
	transition: .35s;
}
img{
	vertical-align: top;
	max-width: 100%;
	height: auto;
}
.center{
	text-align: center;
}
.vdl{
	font-family: vdl-logona, sans-serif;
	font-weight: 400;
	font-style: normal;
}

/* layout
------------------------------ */
.wrapper{
	position: relative;
	display: block;
	clear: both;
	float: none;
	width: 1250px;
	margin: 0 auto;
	padding: 0 15px;
}
ul,ol{
	letter-spacing: -.4em;
	line-height: 0;
}
li{
	list-style: none;
	letter-spacing: normal;
	line-height: 1.5;
	vertical-align: middle;
}
p{
	margin: 0;
}
.fw_6{
	font-family: "Hiragino Kaku Gothic ProN W6", "ヒラギノ角ゴ ProN W6",
				 "Hiragino Sans", "ヒラギノ角ゴシック", source-han-sans-japanese,
				 "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium",
				 "游ゴシック", "Yu Gothic", "メイリオ", Meiryo,
				 "ＭＳ Ｐゴシック", "MS PGothic", sans-serif!important;
	font-weight: 600!important;
}

/* Common
------------------------------ */
* {
	min-height: 0;
	min-width : 0;
}
.fl_l{
	float: left;
}
.fl_r{
	float: right;
}
.float::before,
.float::after{
	content: " ";
	display: block;
	clear: both;
}
.btn{
	position: relative;
	display: inline-block;
	width: 300px;
	color: #000;
	font-family: "Hiragino Kaku Gothic ProN W6", "ヒラギノ角ゴ ProN W6",
				 "Hiragino Sans", "ヒラギノ角ゴシック", source-han-sans-japanese,
				 "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium",
				 "游ゴシック", "Yu Gothic", "メイリオ", Meiryo,
				 "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 600;
	text-align: left!important;
	line-height: 70px;
	letter-spacing: 0!important;
	vertical-align: middle;
	margin-right: 35px;
	padding-left: 30px;
	background: #ffa900;
	border: 1px solid #ffa900;
	box-sizing: border-box;
}
.btn:last-child,
.btn:last-of-type{
	margin-right: 0;
}
.btn::before,.btn::after{
	content: "";
	position: absolute;
	display: block;
	background: #000;
	top: 0;
	bottom: 0;
	margin: auto 0;
	transition: .25s;
}
.btn::before{
	width: 6px;
	height: 6px;
	border-radius: 50%;
	right: 25px;
}
.btn::after{
	width: 25px;
	height: 1px;
	right: 31px;
}
.btn:hover{
	background: #FFF;
	border-color: #000;
}
.btn:hover::before{
	right: 20px;
}
.btn:hover::after{
	width: 30px;
	right: 26px;
}
.pict img,figure img{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
.text_link {
	display: inline-block;
	text-decoration: none;
	color: #000;
	font-weight: 500;
}
.text_link::after {
	content: "";
	display: block;
	width: 0;
	transition: width 0.3s;
	border-bottom: 1px solid #000;
	margin: -6px auto 0;
	border-radius: 1px;
}
.text_link:hover{
	text-decoration: none;
}
.text_link:hover::after {
	width: 100%;
}
.emphasis{
	color: #ff0000;
}
.caution{
	position: relative;
	display: inline-block;
	font-size: 1.6rem;
	padding-left: 1em;
	text-indent: -1em;
}
.caution::before{
	content: "※";
}
.tel{
	position: relative;
	display: block;
	width: 310px;
	height: 30px;
	text-indent: -9999px;
	background: url(../images/tel_orange.svg) no-repeat center center;
	background-size: contain;
}

/* Header
------------------------------ */
header{
	position: fixed;
	display: block;
	width: 100%;
	height: 115px;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	z-index: 10;
	background: #FFF;
	box-shadow: 0 5px 0 rgba(0,0,0,.5);
}
header #logo a{
	position: relative;
	display: block;
	width: 417px;
	height: 42px;
	text-indent: -9999px;
	background: url(../images/logo.svg) no-repeat center center;
	-webkit-background-size: contain;
	background-size: contain;
	margin-top: 38px;
}
header #logo a:hover{
	opacity: .7;
}
#gnav{
	margin-top: 50px;
}
#gnav ul li{
	position: relative;
	display: inline-block;
	line-height: 1;
	margin-right: 2em;
}
#gnav ul li:last-child{
	margin-right: 0;
}
#gnav ul li a{
	color: #000;
}
#gnav ul li a:hover{
	color: #ffa900;
}
/* 子メニュー */
#gnav ul li .sub{
	position: absolute;
	display: none;
	width: 100%;
	height: auto;
	letter-spacing: -.4em;
	box-sizing: border-box;
	top: 60px;
	z-index: 10;
}
#gnav ul li ul li{
	display: block;
	width: 100%;
	height: auto;
	line-height: 1;
	padding: 0;
	border: 0;
	box-sizing: border-box;
	margin-bottom: -1px;
}
#gnav ul li ul li:first-child{
	border-left: 0;
}
#gnav ul li .sub li a{
	color: #FFF;
	font-size: 1.4rem;
	text-align: left;
	line-height: 1.5;
	padding: 14px 5px 12px;
	background: rgba(197,101,0,.85);
	box-sizing: border-box;
}
#gnav ul li .sub li a:hover{
	color: #c56500;
	background: #FFF;
}
#gnav ul li .sub li a::after{
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 1px;
	background: #FFF;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto;
	z-index: 1;
}
#gnav ul li .sub li:last-child a::after{
	display: none;
}
/* //子メニュー */

/* index
------------------------------ */
/* top_catch */
.top_catch.swiper-container{
	position: relative;
	display: block;
	width: 100%;
	height: 540px;
	margin-top: 115px;
	padding-bottom: 27px;
	z-index: 5;
}
.top_catch .swiper-slide{
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.swiper-slide .wrapper::before{
	content: "";
	position: absolute;
	display: block;
	width: 192px;
	height: 133px;
	background: url(../images/slider_shape.svg) no-repeat center center;
	background-size: contain;
	top: 0;
	right: 50px;
}
.slide01{
	background-image: url(../images/slider01.jpg);
}
.slide01 h2{
	position: relative;
	display: inline-block;
	color: #FFF;
	font-size: 5rem;
	line-height: 1.4;
	margin-bottom: 45px;
	padding-top: 80px;
}
.slide01 h2::after{
	content: "";
	position: absolute;
	display: block;
	width: 165px;
	height: 218px;
	background: url(../images/slider01_chiba.png) no-repeat center center;
	background-size: contain;
	right: -15px;
	bottom: -160px;
}
.slide01 p.vdl{
	max-width: 714px;
	position: relative;
	display: block;
	color: #FFF;
	font-size: 2.2rem;
	line-height: 1;
	letter-spacing: .04em;
	margin-bottom: 46px;
	padding-bottom: 10px;
	border-bottom: 3px solid #ffa900;
	z-index: 1;
}
.slide01 p.vdl span{
	display: inline-block;
	color: #ffa900;
	margin: 0 5px;
}
.slide01 h3{
	position: relative;
	display: inline-block;
	width: 186px;
	font-size: 2.8rem;
	line-height: 60px;
	text-align: center;
	background: #ffa900;
	margin-left: 47px;
	z-index: 1;
}
.slide01 h3::before,.slide01 h3::after{
	content: "";
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	top: 0;
	bottom: 0;
	margin: auto 0;
}
.slide01 h3::before{
	border-width: 0 0 60px 47px;
	border-color: transparent transparent #ffaa00 transparent;
	left: -47px;
}
.slide01 h3::after{
	border-width: 60px 47px 0 0;
	border-color: #ffaa00 transparent transparent transparent;
	right: -47px;
}
.slide01 ul{
	position: relative;
	display: block;
	max-width: 1006px;
	margin: -12px 0 0 118px;
	background: rgba(0,0,0,.8);
	padding: 25px 0;
}
_:-ms-lang(x)::-ms-backdrop, .slide01 ul{
	margin-top: -14px;
}
/* Edge(EdgeHTML) */
_:-ms-lang(x)::backdrop, .slide01 ul{
	margin-top: -14px;
}
/* Firefox */
_:lang(x)::-moz-placeholder, .slide01 ul{
	margin-top: -15px;
}
.slide01 ul::before,.slide01 ul::after{
	content: "";
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	top: 0;
	bottom: 0;
	margin: auto 0;
}
.slide01 ul::before{
	border-width: 0 0 146px 118px;
	border-color: transparent transparent rgba(0,0,0,.8) transparent;
	left: -118px;
}
.slide01 ul::after{
	border-width: 146px 118px 0 0;
	border-color: rgba(0,0,0,.8) transparent transparent transparent;
	right: -118px;
}
.slide01 ul li{
	position: relative;
	display: inline-block;
	letter-spacing: -.4em;
	margin-right: 20px;
	padding-right: 20px;
	border-right: 1px solid #ffa900;
}
.slide01 ul li img{
	position: relative;
	display: inline-block;
	width: 124px;
	height: auto;
	margin-right: 13px;
}
.slide01 ul li span{
	position: relative;
	display: inline-block;
	max-width: 93px;
	color: #FFF;
	font-size: 2.2rem;
	line-height: 1.36;
	letter-spacing: 0;
}
.slide01 ul li span::before{
	content: "";
	position: relative;
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 28px 28px 0 0;
	border-color: #ffaa00 transparent transparent transparent;
	margin-bottom: 10px;
}
.slide01 .btn{
	position: absolute;
	width: 286px;
	right: 0;
	bottom: 38px;
}
.slide02{
	background-image: url(../images/slider02.jpg);
}
.slide03{
	background-image: url(../images/slider03.jpg);
}
.slide02 p.vdl,.slide03 p.vdl{
	color: #FFF;
	font-size: 4rem;
	line-height: 1.5;
	margin-bottom: 40px;
	padding-top: 160px;
}
/* //top_catch */
.index section h2{
	color: #000;
	font-size: 4rem;
	line-height: 1;
	text-align: center;
	margin-bottom: 40px;
}
.index section h2::after{
	content: "";
	position: relative;
	display: block;
	width: 76px;
	height: 35px;
	background: url(../images/h2_icon.svg) no-repeat center center;
	background-size: contain;
	margin: 32px auto 0;
}
#index01{
	padding: 120px 0 170px;
}
#index01 .wrapper::before{
	content: "";
	position: absolute;
	display: block;
	width: 495px;
	height: 326px;
	background: url(../images/index01_bg.png) no-repeat center center;
	background-size: contain;
	top: -147px;
	left: 0;
}
#index01 p{
	letter-spacing: 1.88;
}
#index01 ul{
	margin-top: 80px;
}
#index01 ul li{
	position: relative;
	display: block;
	width: 100%;
	height: 505px;
}
#index01 ul li:first-child{
	background: rgb(255,255,255);
	background: -moz-linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 55%, rgba(255,255,255,1) 65%, rgba(255,255,255,1) 100%);
	background: -webkit-linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 55%, rgba(255,255,255,1) 65%, rgba(255,255,255,1) 100%);
	background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 55%, rgba(255,255,255,1) 65%, rgba(255,255,255,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#ffffff",GradientType=1);
}
#index01 ul li:nth-child(2){
	margin: 86px auto 85px;
	background: rgb(255,255,255);
	background: -moz-linear-gradient(270deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 65%, rgba(255,255,255,1) 65%, rgba(255,255,255,1) 100%);
	background: -webkit-linear-gradient(270deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 65%, rgba(255,255,255,1) 65%, rgba(255,255,255,1) 100%);
	background: linear-gradient(270deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 65%, rgba(255,255,255,1) 65%, rgba(255,255,255,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#ffffff",GradientType=1);
}
#index01 ul li::before{
	content: "";
	position: absolute;
	display: block;
	width: 55%;
	height: 505px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	top: 0;
	bottom: 0;
	margin: auto 0;
}
#index01 ul li:first-child::before{
	background-image: url(../images/index01_menu01.jpg);
	left: 0;
}
#index01 ul li:nth-child(2)::before{
	background-image: url(../images/index01_menu02.jpg);
	right: 0;
}
#index01 ul li .wrapper{
	height: 505px;
}
#index01 ul li .wrapper::before{
	display: none;
}
#index01 ul li .box{
	position: absolute;
	display: block;
	width: 636px;
	height: 355px;
	color: #FFF;
	text-align: left;
	background: rgba(0,0,0,.85);
	top: 0;
	bottom: 0;
	margin: auto 0;
	padding: 56px 50px 62px 57px;
	z-index: 1;
	box-sizing: border-box;
}
#index01 ul li:first-child .box{
	right: 15px;
}
#index01 ul li:nth-child(2) .box{
	left: 15px;
}
#index01 ul li .box::before{
	content: "";
	position: absolute;
	display: block;
	width: 73px;
	height: 57px;
	background: url(../images/index_shape.svg) no-repeat center center;
	background-size: contain;
	top: -20px;
	right: 53px;
}
#index01 ul li .box h3{
	font-size: 4rem;
	line-height: 1;
	margin-bottom: 34px;
}
#index01 ul li .box span{
	display: block;
	line-height: 1.63;
	margin-bottom: 40px;
}
#index01 ul li .box a.btn{
	background: #FFF;
	border-color: #FFF;
}
#index01 ul li .box a.btn:hover{
	background: #ffa900;
	border-color: #ffa900;
}
#index02{
	padding-bottom: 194px;
	background: url(../images/index02_bg.jpg) no-repeat center center;
	background-size: cover;
}
#index02 .bg_black{
	position: relative;
	display: block;
	width: 100%;
	color: #FFF;
	padding: 142px 0 74px;
	background: rgba(0,0,0,.85);
}
#index02 .bg_black h2{
	color: #FFF;
}
#index02 ul{
	margin-top: 48px;
}
#index02 ul li{
	position: relative;
	display: inline-block;
	max-width: 587px;
	font-family: YakuHanJP, "Hiragino Kaku Gothic ProN W3", "ヒラギノ角ゴ ProN W3",
				 "Hiragino Sans", "ヒラギノ角ゴシック", source-han-sans-japanese,
				 "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium",
				 "游ゴシック", "Yu Gothic", "メイリオ", Meiryo,
				 "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1;
	margin: 77px 76px 0 0;
	padding: 50px 55px 64px;
	background: #FFF;
	box-sizing: border-box;
}
#index02 ul li:nth-child(2n){
	margin-right: 0;
}
#index02 ul li::after{
	content: "";
	position: absolute;
	display: block;
	width: 73px;
	height: 57px;
	background: url(../images/index_shape.svg) no-repeat center center;
	background-size: contain;
	top: -23px;
	right: 54px;
}
#index02 ul li h3{
	font-size: 3rem;
	line-height: 1;
	margin-bottom: 25px;
}
#index02 ul li img{
	margin-top: 34px;
}
#index02 ul li:last-child{
	display: block;
	width: 100%;
	max-width: 100%;
	letter-spacing: -.4em;
	margin-top: 124px;
	padding: 52px 44px 52px 50px;
}
#index02 ul li:last-child::after{
	display: none;
}
#index02 ul li:last-child::before{
	content: "";
	position: relative;
	display: inline-block;
	width: 94px;
	height: 130px;
	background: url(../images/index01_calc.svg) no-repeat center center;
	background-size: contain;
	vertical-align: middle;
}
#index02 ul li:last-child a{
	position: relative;
	display: inline-block;
	width: 994px;
	color: #000;
	margin-left: 26px;
	background: #ffa900;
}
#index02 ul li:last-child a::after{
	content: "";
	position: relative;
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 64.5px 0 64.5px 42px;
	border-color: transparent transparent transparent #ffaa00;
	vertical-align: middle;
	right: -85px;
}
#index02 ul li:last-child a:hover{
	opacity: .7;
}
#index02 ul li:last-child a h3{
	position: relative;
	display: inline-block;
	font-size: 4rem;
	letter-spacing: 0;
	vertical-align: middle;
	margin: 0 0 0 35px;
}
#index02 ul li:last-child a span{
	position: relative;
	display: inline-block;
	max-width: 347px;
	line-height: 1.63;
	letter-spacing: -.02em;
	margin-left: 23px;
	padding: 5px 0 6px 23px;
	border-left: 1px solid #000;
	vertical-align: middle;
}
#index02 ul li:last-child a span::before,
#index02 ul li:last-child a span::after{
	content: "";
	position: absolute;
	display: block;
	background: #000;
	top: 0;
	bottom: 0;
	margin: auto 0;
	transition: .25s;
	z-index: 1;
}
#index02 ul li:last-child a span::before{
	width: 9px;
	height: 9px;
	border-radius: 50%;
	right: -82px;
}
#index02 ul li:last-child a span::after{
	width: 40px;
	height: 1px;
	right: -76px;
}
#index02 ul li:last-child a:hover span::before{
	right: -87px;
}
#index02 ul li:last-child a:hover span::after{
	width: 45px;
	right: -81px;
}
#index03{
	padding: 145px 0 143px;
}
#index03 .box{
	position: relative;
	display: block;
	width: 100%;
	height: 430px;
	text-align: right;
}
#index03 .box::before{
	content: "";
	position: absolute;
	display: block;
	width: 40%;
	height: 430px;
	background: url(../images/index03_left.jpg) no-repeat center center;
	background-size: cover;
	top: 0;
	left: 0;
	bottom: 0;
	margin: auto 0;
}
#index03 .box .right{
	position: relative;
	display: inline-block;
	max-width: 704px;
	text-align: left;
}
#index03 .box .right p{
	line-height: 1.88;
	letter-spacing: 0;
	margin-bottom: 30px;
}

/* sub contents
------------------------------ */
.title_box{
	position: relative;
	display: block;
	width: 100%;
	height: 450px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	margin-top: 115px;
}
.title_box::before{
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 224px;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	background: rgb(0,0,0);
	background: -moz-linear-gradient(90deg, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.85) 39%, rgba(0,0,0,0) 39%, rgba(0,0,0,0) 100%);
	background: -webkit-linear-gradient(90deg, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.85) 39%, rgba(0,0,0,0) 39%, rgba(0,0,0,0) 100%);
	background: linear-gradient(90deg, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.85) 39%, rgba(0,0,0,0) 39%, rgba(0,0,0,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000",endColorstr="#000000",GradientType=1);
}
.title_box::after{
	content: "";
	position: absolute;
	display: block;
	width: 73px;
	height: 57px;
	background: url(../images/index_shape.svg) no-repeat center center;
	background-size: contain;
	top: 90px;
	left: 32%;
	z-index: 1;
}
.title_box .wrapper{
	padding-top: 113px;
}
.title_box h1{
	position: relative;
	display: block;
	width: 412px;
	color: #FFF;
	font-size: 4rem;
	font-weight: 100;
	line-height: 1;
	padding: 82px 0 76px;
	z-index: 1;
}
.title_box h1 span{
	position: relative;
	display: block;
	color: #ffa900;
	font-size: 1.6rem;
	font-family: "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
	font-weight: 600;
	line-height: 1;
	margin-top: 10px;
}
.index .sub_section{
	margin-bottom: 140px;
}
.index .sub_section h2{
	text-align: left;
	letter-spacing: .05em;
	margin-bottom: 68px;
	padding-bottom: 12px;
	border-bottom: 1px solid #000;
}
.index .sub_section h2::before{
	content: "";
	position: relative;
	display: inline-block;
	width: 76px;
	height: 35px;
	background: url(../images/h2_icon.svg) no-repeat center center;
	background-size: contain;
	margin-right: 18px;
}
.index .sub_section h2::after{
	display: none;
}
.index .sub_section ul.contents li{
	letter-spacing: -.4em;
	margin-top: 115px;
}
.index .sub_section ul.contents li img{
	position: relative;
	display: inline-block;
	width: 500px;
	margin-right: 38px;
	vertical-align: top;
}
.index .sub_section ul.contents li .right{
	position: relative;
	display: inline-block;
	max-width: 712px;
	letter-spacing: -.01em;
	vertical-align: top;
	font-family: YakuHanJP, "Hiragino Kaku Gothic ProN W3", "ヒラギノ角ゴ ProN W3",
				 "Hiragino Sans", "ヒラギノ角ゴシック", source-han-sans-japanese,
				 "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium",
				 "游ゴシック", "Yu Gothic", "メイリオ", Meiryo,
				 "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.index .sub_section ul.contents li .right h3{
	font-size: 3rem;
	line-height: 1;
	margin-bottom: 30px;
}
.index .sub_section ul.contents li .right p{
	line-height: 1.63;
}
.index .sub_section ul.contents li .right .btn{
	margin-top: 35px;
}
.index .sub_section.gray_box{
	padding: 117px 50px 140px;
	background: #f0f0f0;
}
.index .sub_section.gray_box h2{
	text-align: center;
	margin-bottom: 52px;
}
.index .sub_section table{
	width: 100%;
	border-top: 1px solid #ffa900;
}
.index .sub_section table tr th{
	width: 179px;
	font-family: YakuHanJP, "Hiragino Kaku Gothic ProN W6", "ヒラギノ角ゴ ProN W6",
				 "Hiragino Sans", "ヒラギノ角ゴシック", source-han-sans-japanese,
				 "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium",
				 "游ゴシック", "Yu Gothic", "メイリオ", Meiryo,
				 "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 600;
	text-align: left;
	line-height: 1.63;
	padding: 32px 32px 30px;
	border-bottom: 1px solid #ffa900;
	background: rgba(255,169,0,.15);
}
.index .sub_section table tr td{
	text-align: left;
	padding: 32px 32px 30px;
	border-bottom: 1px solid #ffa900
}

/* business
------------------------------ */
#business .title_box{
	background-image: url(../images/subtitle_business.jpg);
}
#business01 ul.contents li .right{
	letter-spacing: .03em;
}
#business01 ul.contents li:first-child{
	position: relative;
	display: block;
	margin-top: -148px;
	padding-top: 148px;
}
#business01 ul.contents li#air{
	position: relative;
	display: block;
	margin-top: -33px;
	padding-top: 148px;
}
#business02 h2::before{
	display: none;
}
#business02 ol li{
	position: relative;
	display: inline-block;
	width: 360px;
	font-size: 1.4rem;
	line-height: 1.7;
	text-align: left;
	margin: 0 34px 34px 0;
	background: #FFF;
	vertical-align: top;
}
#business02 ol li:nth-child(3n){
	margin-right: 0;
}
#business02 ol li span{
	display: block;
	padding: 18px 20px 0;
}
#business02 ol li h3{
	padding: 0 20px 18px;
}

/* service
------------------------------ */
#service .title_box{
	background-image: url(../images/subtitle_service.jpg);
}
#service02 h2::before{
	display: block;
	width: 40px;
	height: 56px;
	background-image: url(../images/index01_calc.svg);
	margin: 0 auto 20px;
}
#service02 ul.tab{
	margin-top: 55px;
	border-bottom: 3px solid #000;
}
#service02 ul.tab li{
	position: relative;
	display: inline-block;
	width: 287.5px;
	vertical-align: top;
}
#service02 ul.tab li a{
	position: relative;
	display: block;
	width: 100%;
	color: #000;
	text-align: center;
	line-height: 70px;
	background: #ffa900;
}
#service02 ul.tab li.active a,
#service02 ul.tab li a:hover{
	background: #FFF;
}
#service02 div.tab_area{
	display: none;
	padding: 48px 38px 0;
	background: #FFF;
}
#service02 div#simulation01{
	display: block;
}
#service02 div.tab_area h3{
	font-size: 2rem;
	text-align: left;
	margin-bottom: 42px;
	padding-bottom: 18px;
	border-bottom: 1px solid #000;
}
#service02 div.tab_area h3::before{
	content: "■";
	color: #ffa900;
}
#service02 form.mailformpro{
	padding: 0 0 52px;
	background: #FFF;
}
#service02 table.total{
	width: 1074px;
	margin: 0 auto 45px;
	border-top: 0;
}
#service02 table tr.right th{
	text-align: right;
	vertical-align: middle;
}
#service02 table tr th,
#service02 table tr td{
	vertical-align: middle;
	padding: 20px 32px 19px;
}
#service02 table tr td select{
	width: 352px;
	height: 40px;
	font-size: 1.6rem;
	border-color: #f1f1f1;
	background: #f1f1f1;
	box-sizing: border-box;
}
#service02 table tr td input[type="text"]{
	width: 212px;
	height: 40px;
	font-size: 1.6rem;
	letter-spacing: .05em;
	text-align: right!important;
	background: #f1f1f1;
	box-sizing: border-box;
	border: 0;
}
#service02 table tr td ul li{
	position: relative;
	display: inline-block;
	vertical-align: middle;
	margin: 0 1em .5em 0;
}
#service02 table tr td ul li input[type="checkbox"]{
	position: relative;
	width: 20px;
	height: 20px;
	border: 0;
	padding: 0;
	margin: 0 5px 0 0;
	background: #f1f1f1;
	box-shadow: none;
	top: 4px;
}
#service02 table tr td .caution{
	letter-spacing: .02em;
}
#service02 .btn{
	position: relative;
	display: inline-block;
	width: 174px;
	color: #000;
	line-height: 45px;
	padding-left: 22px;
	vertical-align: middle;
}
#service02 input.btn{
	margin-right: 20px;
}
#service02 .btn.mfp_element_reset{
	background: #ffa900;
}
#service02 .btn.mfp_element_reset:hover{
	background: #FFF;
}

/* recruit
------------------------------ */
#recruit .title_box{
	background-image: url(../images/subtitle_recruit.jpg);
}
#recruit02 .gray_box{
	padding: 72px 50px;
	background: #f0f0f0;
}
#recruit02 .inner{
	padding: 45px 38px 60px;
	background: #FFF;
}
#recruit02 .inner h3{
	font-size: 2rem;
	text-align: left;
	margin-bottom: 42px;
	padding-bottom: 18px;
	border-bottom: 1px solid #000;
}
#recruit02 .inner h3::before{
	content: "■";
	color: #ffa900;
}
#recruit .inner table{
	text-align: left;
	margin-bottom: 50px;
}

/* company & contact & thanks
------------------------------ */
#company .title_box,#thanks .title_box{
	background-image: url(../images/subtitle_company.jpg);
}
.index #company .sub_section{
	margin-bottom: 0;
	padding-top: 148px;
}
.index #company #company01{
	padding-top: 0;
}
.index #company #company03{
	margin-bottom: 148px;
}
.tel_box{
	position: relative;
	display: block;
	width: 548px;
	text-align: center;
	margin-top: 30px;
	padding: 42px 61px 44px;
	background: #ffa900;
}
.tel_box .tel{
	width: 392px;
	height: 38px;
	margin: 0 auto 30px;
	background-image: url(../images/tel_black.svg);
}
.tel_box .business_hour{
	position: relative;
	display: block;
	font-size: 1.8rem;
	line-height: 46px;
	background: #FFF;
}
#company03 table{
	text-align: left;
}
#company03 table tr:last-child th{
	vertical-align: top;
}
#company03 table tr td{
	padding: 20px 0 20px 34px;
}
#company03 table tr:first-child td{
	padding: 22px 28px;
}
#company03 table tr td ul li{
	position: relative;
	display: inline-block;
	vertical-align: middle;
	margin-right: 50px;
}
#company03 table tr td ul li:last-child{
	margin-right: 0;
}
#company03 table tr td input[type="text"],
#company03 table tr td input[type="tel"],
#company03 table tr td input[type="email"]{
	width: 974px;
	height: 40px;
	font-size: 1.6rem;
	border: 0;
	box-sizing: border-box;
	background: #f1f1f1;
}
#company03 table tr td textarea{
	width: 974px!important;
	min-height: 200px;
	font-size: 1.6rem;
	line-height: 1.63;
	border: 0;
	box-sizing: border-box;
	background: #f1f1f1;
}
#privacy_policy{
	position: relative;
	display: block;
	width: 100%;
	height: 164px;
	text-align: left;
	margin: 58px auto 66px;
	padding: 24px 30px;
	overflow-y: scroll;
	box-sizing: border-box;
	background: rgba(255,169,0,.15);
}
#privacy_policy p{
	line-height: 1.75;
}
#privacy_policy p span{
	position: relative;
	display: block;
	line-height: 2.38;
}

/* thanks
------------------------------ */
#thanks .title_box h1{
	line-height: 1.2;
	padding: 54px 0 48px;
}
#thanks01 h2::before{
	display: none;
}
#thanks01 .tel_box{
	margin: 30px auto 40px;
}

/* footer
------------------------------ */
footer{
	position: relative;
	display: block;
}
footer::after{
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 645px;
	background: url(../images/footer_bg.jpg) no-repeat center bottom;
	background-size: cover;
	left: 0;
	right: 0;
	bottom: 92px;
	margin: 0 auto;
	z-index: -1;
}
#bottom_contact{
	position: relative;
	display: block;
	max-width: 996px;
	color: #FFF;
	margin: 0 auto 148px;
}
#bottom_contact::before{
	content: "";
	position: relative;
	display: block;
	width: 130px;
	height: 136px;
	background: url(../images/logomark.svg) no-repeat center center;
	background-size: contain;
	margin: 0 auto 7px;
}
#bottom_contact .inner{
	padding: 61px 136px 66px;
	background: rgba(0,0,0,.85);
}
#bottom_contact h2{
	font-size: 3.4rem;
	line-height: 1;
}
#bottom_contact p.fw_6{
	line-height: 1;
	margin: 20px 0 46px;
}
#bottom_contact .fl_l{
	margin-right: 60px;
	padding: 2px 53px 2px 0;
	border-right: 1px solid #FFF;
}
#bottom_contact .fl_l p.center{
	line-height: 1;
	margin-top: 20px;
}
.footer_contents{
	position: relative;
	display: block;
	width: 100%;
	padding: 100px 0 83px;
	background: rgba(0,0,0,.5);
}
#footer_logo{
	position: relative;
	display: block;
	width: 420px;
	height: 42px;
	text-indent: -9999px;
	background: url(../images/logoW.svg) no-repeat center center;
	background-size: contain;
	margin-bottom: 20px;
}
#footer_logo:hover{
	opacity: .7;
}
.footer_contents .fl_l p{
	color: #FFF;
	font-size: 1.4rem;
	line-height: 1.7;
}
.footer_contents .fl_r{
	letter-spacing: -.4em;
}
.footer_contents .fl_r ul{
	position: relative;
	display: inline-block;
	vertical-align: top;
}
.footer_contents .fl_r ul:first-of-type{
	margin-right: 78px;
}
.footer_contents .fl_r ul li{
	position: relative;
	display: block;
	font-size: 1.4rem;
	line-height: 1;
	margin-bottom: 22px;
}
.footer_contents .fl_r ul li::before{
	content: "/ ";
	color: #ffa900;
}
.footer_contents .fl_r ul li a{
	color: #FFF;
}
.footer_contents .fl_r ul li a::after{
	border-color: #FFF;
	margin-top: 0;
}
footer small{
	position: relative;
	display: block;
	width: 100%;
	height: 57px;
	color: #FFF;
	font-size: 1.2rem;
	line-height: 1;
	padding-top: 35px;
	background: #000;
}
footer small a.text_link{
	color: #FFF;
}
footer small a.text_link::after{
	border-color: #FFF;
	margin-top: 0;
}

/* Breadcrumb
------------------------------ */
.breadcrumbs{
	position: relative;
	max-width: 1250px;
	width: 100%;
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: .05em;
	margin: 24px auto 105px;
	z-index: 1;
}
.breadcrumbs li{
	position: relative;
	display: inline-block;
	color: #3c3c3c;
	vertical-align: middle;
}
.breadcrumbs li::after{
	content: "　＞　";
}
.breadcrumbs li:last-child::after{
	display: none;
}
.breadcrumbs a{
	color: #ffa900;
}
.breadcrumbs a::after{
	margin-top: 0;
	border-color: #ffa900;
}

/* Page Top
------------------------------ */
.pagetop{
	position: fixed;
	bottom: 40px;
	right: 50px;
	width: 50px;
	height: 50px;
	-webkit-transition: all .4s;
	-moz-transition: all .4s;
	-ms-transition: all .4s;
	-o-transition: all .4s;
	transition: all .4s;
	opacity: 0;
	z-index: 10;
}
.pagetop.show{
	opacity: 1;
	bottom: 60px;
	right: 50px;
	width: 50px;
	height: 50px;
}
.pagetop a{
	position: relative;
	display: block;
	width: 60px;
	height: 60px;
	text-align: left;
	text-indent: -9999px;
	background: #FFF;
	border: 1px solid #000;
	box-sizing: border-box;
}
.pagetop a:hover{
	background: #ffa900;
	border-color: #FFF;
}
.pagetop a::before{
	content: "";
	position: absolute;
	width: 20px;
	height: 20px;
	border-top: #000 solid 1px;
	border-left: #000 solid 1px;
	transform: rotate(45deg);
	left: 0;
	right: 0;
	margin: 0 auto;
	top: 24px;
	transition: .25s;
}
.pagetop a:hover::before{
	border-top-color: #FFF;
	border-left-color: #FFF;
}