@charset "UTF-8";
/*
 * style.css
 *
 *  version --- 1.0
 *  updated --- 2017/11/30
 */

.sp{display: none!important;}

/* !wrapper
---------------------------------------------------------- */
#wrapper {
	min-width: 1180px;
	position: relative;
	overflow: hidden;
	padding-bottom: 80px;
}
.inner,
.inner02{
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 20px;
	position: relative;
}
.inner02{max-width: 1140px}
/* !header
---------------------------------------------------------- */
#header {
}

#headerIn {
	background: #fff;
}
#headerLogo {
	display: flex;
	align-items: center;
}
#headerLogo span {
	font-size: 14px;
	padding-top: 10px;
	margin-left: 2em;
	color: #666;
}
#headerLogo a{
	display: inline-flex;
	align-items: center;
	height: 60px;
	font-size: 3.2rem;
	font-weight: bold;
}
#headerLogo a font{
	color: #0B406F
}
#headerLogo img{margin-left: 40px}


/* !mainVisual
---------------------------------------------------------- */
#mainVisual {
	background: url(../img/index/bg_mv.jpg)no-repeat bottom center;
	background-size: cover;
	padding: 55px 0 12px;
	font-weight: bold;
}
#mainVisual .person{
	position: absolute;
	bottom: 0;
	right: -50px;
	z-index: 2;
	width: 823px;
	pointer-events: none;
}
#mainVisual .mvBox{max-width: 640px}
#mainVisual .p01{
	font-size: 3.1rem;
	color: #0F5A9B;
	margin-left: -20px;
}
#mainVisual .p02{
	font-size: 5.9rem;
	line-height: 85px;
	color: #fff;
	margin: 17px 0 26px;
}
#mainVisual .p02 font{color: #FFEC1F;}
#mainVisual .p02 span{font-size: 4.9rem}
#mainVisual .p03{
	font-size: 2rem;
	margin-bottom: 20px
}
.mvUl{
	display: flex;
	margin: 0 -12px 24px;
}
.mvUl li{
	margin: 0 12px;
	width: 190px;
	max-width: calc(33.33% - 24px);
}
#mainVisual .btnBox{
	position: relative;
	display: flex;
}
.btnLink01{
	width: 530px;
	/* border-radius: 50px; */
	display: block;
	/* box-shadow: 0 3px 6px rgba(0,0,0,.16); */
}
#mainVisual .p04{
	white-space: nowrap;
	text-align: right;
	margin-left: 18px;
	font-size: 1.2rem;
	line-height: 21px;
	font-weight: normal;
	padding-top: 2em;
}
/* !contents
---------------------------------------------------------- */
#contents {

}


/* !pageTop
---------------------------------------------------------- */
.pageTop {

}

/* !footer
---------------------------------------------------------- */
#footer {
}

#footer .footerIn {

}


#copyright {
	border-top: 1px solid #EEEEEE;
	font-size: 1.2rem;
	text-align: center;
	padding: 15px 0
}

/* !h(n)eading
---------------------------------------------------------- */
.hdL {

}

.hdM {

}

.hdS {

}

.hd01 {

}



/* !common
---------------------------------------------------------- */
.fixWrap{
	opacity: 0;
	visibility: hidden;
	transition:opacity .5s;
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 99;
	width: 100%;
	height: 80px;
	background: #D2ECF8
}
.fixWrap.active{
	opacity: 1;
	visibility: visible;
	transition:opacity .5s;
}
.fixDl{
	display: flex;
	justify-content: center;
	align-items: center;
}
.fixDl dd{
	margin-left: 30px;
}
.fixDl dd img{margin-top: -3px;}
.fixDl dt{
	position: relative;
	height: 80px;
	display: flex;
	justify-content: center;
	flex-direction: column;
	padding-left: 150px;
}
.fixDl .p01{
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
	width: 123px;
}
.fixDl .p02{
	font-size: 1.8rem;
	font-weight: bold;
	color: #000
}
.fixDl .p03{
	font-size: 2.3rem;
	font-weight: bold;
}
.fixDl .p03 font{
	color: #0F5A9B
}

/*index*/
.indexSec01{
	padding: 70px 0
}
.indexSec01 h2{
	text-align: center;
	color: #0F5A9B;
	font-size: 3.5rem;
	font-weight: bold;
	margin-bottom: 40px
}
.indexUl01{
	display: flex;
	justify-content: center;
	align-items: center;
}
.indexUl01 li{
	margin: 0 36px
}

.indexSec02{
	padding: 70px 0 115px;
	background: url(../img/index/bg_sec02.jpg)no-repeat center center;
	background-size: cover;
}
.indexSec02 h2{
	text-align: center;
	color: #fff;
	font-size: 4rem;
	font-weight: bold;
	margin-bottom: 65px
}
.indexUl02{
	display: flex;
	margin:  0 -20px
}
.indexUl02 li{
	margin: 0 20px;
	width: calc(33.33% - 40px);
	position: relative;
	border-radius: 20px;
	background: rgba(240,252,255,.9);
	border: 4px solid #fff;
	padding: 65px 32px 32px;
	font-size: 2.3rem;
	line-height: 38px;
	font-weight: bold;
	color: #333;
}
.indexUl02 li font{color:#FC0303 }
.indexUl02 .point{
	position: absolute;
	left: 50%;
	top: 0;
	z-index: 2;
	transform: translate(-50%,-50%) rotate(-3deg);
	width: 183px;
	height: 55px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	background: #0B406F;
	font-size: 2.5rem;
	font-weight: bold;
}
.indexUl02 li:nth-of-type(2) .point{
	transform: translate(-50%,-50%) rotate(7deg);
}
.indexUl02 .point span{font-size: 3rem}

.indexSec03{
	padding: 70px 0;
	background: url(../img/index/bg_sec03.jpg)no-repeat center center;
	background-size: cover;
}
.indexSec03 h2{
	text-align: center;
	color: #fff;
	font-size: 4rem;
	line-height: 60px;
	font-weight: bold;
}
.indexSec03 h2 span{
	background: url(../img/index/line_red.png)no-repeat bottom center;
	background-size: 100% 17px;
}
.indexSec03 h2 font{font-size: 5rem}

.indexSec04{
	background: #F7F7F7;
	padding: 70px 0 55px;
}
.indexSec04 .box{
	border: 5px solid #0F5A9B;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 3px 10px rgba(0,0,0,.16);
	padding: 20px 40px;
	padding-left: 85px;
	position: relative;
	max-width: 975px;
	margin: 0 auto
}
.indexSec04 .icon{
	position: absolute;
	left: -60px;
	top: -60px;
	z-index: 1;
	width: 137px;
}
.indexDl01{
	display: flex;
	align-items: center;
}
.indexDl01 dt{
	width: 345px;
	min-width: 345px;
	position: relative;
	margin-right: 158px;
	font-size: 1.6rem;
}
.indexDl01 dt:after{
	content: '';
	position: absolute;
	left: calc(100% + 38px);
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
	width: 83px;
	height: 46px;
	background: url(../img/index/arrow_sec04.svg)no-repeat center center;
	background-size: 100% auto;
}
.indexSec04 .p01{
	border-bottom: 2px solid #B3B3B3;
	padding-bottom: 4px;
	margin-bottom: 14px;
}
.indexSec04 .p01 span{font-size: 2.4rem;font-weight: bold;}
.indexSec04 .p01 font{color:#FC0303;font-size: 3.4rem }
.indexSec04 .p02{line-height: 1.75}
.indexSec04 .p03{
	font-size: 2.4rem;
	line-height: 40px;
	font-weight: bold;
}
.indexSec04 .p03 span{
	background: url(../img/index/line_yl.png)no-repeat bottom center;
	background-size: 100% 11px;
}
.indexSec04 .p03 font{font-size: 3rem}
.indexSec04 .p03 font.red{color:#FC0303 }

.indexSec05{
	padding: 38px 0;
}
.indexUl03{
	display: flex;
	justify-content: space-between;
}
.indexUl03 li{
	width: 545px;
	max-width: 48%;
}
.indexUl03 h2{
	font-size: 1.4rem;
	font-weight: bold;
	color: #0F5A9B;
}
.indexUl03 h2 font{font-size: 2.4rem}
.indexUl03 .text{
	font-size: 1.4rem;
	font-weight: bold;
	padding: 0px 0 10px;
}
.indexUl03 .img{
	height: 370px;
	border: 1px solid #707070;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 2.4rem;
	font-weight: bold;
}

.indexSec06{
	padding: 38px 0 20px;
	position: relative;
}
.indexSec06:before{
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: calc(100% - 84px);
	z-index: -1;
	background: #F7F7F7
}
.indexSec06 h2{
	text-align: center;
	font-weight: bold;
	color: #348ED1;
	margin-bottom: 35px;
}
.indexSec06 h2 span{
	font-size: 3.2rem;
	color: #0B406F
}
.indexSec06 .notice{
	font-size: 1.2rem;
	padding-top: 11px;
	text-align: right;
}
.indexUl04{
	display: flex;
	flex-wrap: wrap;
	margin: 0 -25px
}
.indexUl04 li{
	margin: 0 25px;
	width: calc(50% - 50px);
	margin-bottom: 14px;
	background: #fff;
	border: 3px solid #0B406F;
	border-radius: 10px;
	box-shadow: 0 3px 6px rgba(0,0,0,.16);
	overflow: hidden;
}
.indexDl02 dt{
	background: #0B406F;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 20px;
	height: 88px;
}
.indexDl02 .p01{
	color: #fff;
	font-size: 2.4rem;
	font-weight: bold;
}
.indexDl02 .p02{
	color: #FDEF58;
	font-size: 2.5rem;
	font-weight: 500;
	display: flex;
	align-items: center;
}
.indexDl02 .p02 span{
	width: 60px;
	line-height: 22px;
	background: #87C8E0;
	color: #002D55;
	font-size: 1.2rem;
	margin-right: 8px;
	font-weight: 300;
	text-align: center;
}
.indexDl02 .p02 font{
	font-size: 3.8rem
}
.indexDl02 dd{
	padding:18px 20px;
	font-weight: bold;
	line-height: 1.75;
}

.indexSec07{
	padding: 50px 0 120px
}
.indexSec07 h2{
	text-align: center;
	font-size: 3.2rem;
	font-weight: bold;
	margin-bottom: 33px;
}
.indexSec07 h2 span{
	background: url(../img/index/line_yl.png)no-repeat bottom 6px center;
	background-size: 100% 6px;
}
.indexDl03{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.indexDl03 dt,
.indexDl03 dd{
	width: 545px;
	max-width: 48%;
}
.indexDl03 .img{
	height: 270px;
	border: 1px solid #707070;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 2.4rem;
	font-weight: bold;
}
.indexDl03 dd{
	line-height: 28px;
}
.indexDl03 dd p + p{margin-top: 28px}
.indexDl03 .text{
	font-size: 1.7rem
}
.indexDl03 .notice{font-size: 1.2rem}

.indexSec08{
	padding: 87px 0 75px;
	background: url(../img/index/bg_sec08.jpg)no-repeat center center;
	background-size: cover;
}
.indexSec08 .box{
	border: 4px solid #0F5A9B;
	background: #fff;
	border-radius: 10px;
	padding: 42px 0px 22px;
	position: relative;
	display: flex;
}
.indexSec08 h2{
	width: 424px;
	min-width: 424px;
	font-size: 3rem;
	line-height: 56px;
	font-weight: bold;
	padding:28px 22px 0 40px;
}
.indexSec08 h2 font{
	font-size: 4rem;
	color: #0B406F;
}
.indexSec08 .person{
	position: absolute;
	left: 210px;
	bottom: 0;
	z-index: 1;
	width: 196px;
}
.indexUl05{
	display: flex;
}
.indexUl05 li{
	width: 33.33%;
	border-left: 1px solid #EEEEEE;
	padding: 0 20px;
	text-align: center;
}
.indexUl05 .icon{
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 15px;
}
.indexUl05 .type{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	font-size: 2.4rem;
	line-height: 30px;
	font-weight: bold;
	color: #E67373;
	padding: 11px 0
}
.indexUl05 li:nth-of-type(2) .type{color:#E69B2C }
.indexUl05 li:nth-of-type(3) .type{color:#56ABB3 }
.indexUl05 .type font{font-size: 1.6rem}
.indexUl05 .text{
	line-height: 1.75;
	text-align: left;
}

.indexSec09{
	padding: 60px 0;
	background: #FCF1DC
}
.indexDl04{
	display: flex;
	justify-content: space-between;
}
.indexDl04 dt{
	width: 545px;
	/* margin-right: 68px; */
	text-align: center;
	padding-top: 10px;
	padding-bottom: 10px;
}

.indexDl04 h2{margin-bottom: 33px}
.indexDl04 h2 span{
	position: relative;
	font-size: 3rem;
	font-weight: bold;
	border-bottom: 1px solid #707070;
}
.indexDl04 h2 span img{
	position: absolute;
	right: calc(100% + 26px);
	top: -44px;
	z-index: 1;
	width: 115px;
}
.indexDl04 .p00{
	font-size: 3rem;
	font-weight: bold;

}
.indexDl04 .p01{
	font-size: 2.5rem;
	font-weight: bold;
}
.indexDl04 .cta-tel {
	font-size: 75px;
	font-family: Roboto, sans-serif;
	font-weight: 700;
	font-style: italic;
	line-height: 1.2;
	letter-spacing: -2px;
	word-break: keep-all;
}
.indexDl04 .cta-tel span {
	position: relative;
	margin-left: 62px;
}
.indexDl04 .cta-tel span::before {
	position: absolute;
	content: '';
	width: 48px;
	height: 48px;
	background: url(../img/index/icon_tel_cta.svg) no-repeat;
	left: -62px;
	top: 18px;
}
.indexDl04 .cta-teltime {
	font-size: 1.8rem;
	margin-top: -5px;
}
.indexDl04 .p01 font{font-size: 3rem}
.indexDl04 .p01 span{
	/* background: url(../img/index/line_yl.png)no-repeat bottom 4px center;
	background-size: 100% 8px; */
	color: #FC3D3D;
}
.indexDl04 .p02{
	padding: 7px 0 8px;
	color: #FC5323;
	/* color: #F75F5F; */
	font-size: 2.4rem;
	font-weight: bold;
	text-align: center;
}
.indexDl04 .btnLink01{
	margin: 0 auto
}

.indexSec10{
	padding: 70px 0 80px
}
.indexSec10 h2{
	text-align: center;
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 35px;
}
.indexSec10 h2 span{font-size: 4rem}
.indexSec10 h2 font{color: #0B406F}
.indexDl05{
	border-radius: 10px;
	border: 4px solid #FC8302;
	background: #fff;
	overflow: hidden;
	box-shadow: 0 3px 10px rgba(0,0,0,.16)
}
.indexDl05.blue{border-color: #0F5A9B}
.indexDl05 + .indexDl05{margin-top: 16px}
.indexDl05 dt{
	float: right;
	width: 50%;
}
.indexDl05.blue dt{float: left;}
.indexDl05 dd{
	padding-top: 40px;
	text-align: center;
}
.indexDl05 .point{
	margin-bottom: 20px
}
.indexDl05 .p01{
	font-size: 3.5rem;
	font-weight:bold;
}
.indexDl05.blue .p01{line-height: 45px}
.indexDl05 .p02{
	margin-top: 20px;
	font-size: 2.4rem;
	font-weight:bold;
}
.indexDl05 font{color: #FC8302}
.indexDl05.blue font{color: #0F5A9B}

.indexSec11{
	padding: 60px 0 0;
	background: #E3F5FC
}
.indexDl06{
	display: flex;
	justify-content: center;
}
.indexDl06 dt{
	margin-right: 40px;
	width: 390px;
}
.indexSec11 .p01{
	text-align: center;
	background: #0B406F;
	color: #fff;
	font-size: 2.4rem;
	font-weight: bold;
	padding: 11px 30px;
}
.indexSec11 .p01 + .p01{margin-top: 16px}
.indexSec11 .p01 font{color: #FFEC1F}
.indexSec11 .p02{
	display: flex;
	justify-content: center;
	margin-top: 40px;
}
.indexUl06 li{
	padding-left: 41px;
	background: url(../img/index/icon_sec11.svg)no-repeat left top;
	background-size: 25px auto;
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 10px;
}
.indexSec11 .p03{
	text-align: right;
	padding-right: 55px;
	font-size: 1.4rem;
	font-weight: bold;
}

.indexSec12{
	padding: 70px 0
}
.indexSec12 h2{
	font-size: 4rem;
	font-weight: bold;
	color: #0B406F;
	text-align: center;
	margin-bottom: 90px
}
.indexUl07{
	display: flex;
	margin: 0 -25px;
}
.indexUl07 li{
	margin: 0 25px;
	width: calc(25% - 50px);
	position: relative;
	border: 2px solid #F5AC28;
	border-radius: 10px;
}
.indexUl07 .point{
	position: absolute;
	left: -20px;
	top: -20px;
	z-index: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 49px;
	height: 49px;
	background: #F5AC28;
	color: #fff;
	border-radius: 5px;
	font-size: 1.6rem;
	font-weight: bold;
}
.indexUl07 .img{
	border-radius: 10px 10px 0 0;
	overflow: hidden;
}
.indexUl07 .cont{
	padding:14px 15px;
}
.indexUl07 h3{
	font-size: 2.4rem;
	font-weight: bold;
	color: #3290B3;
	text-align: center;
	margin-bottom: 8px;
}
.indexUl07 .text{
	line-height: 1.75
}

.indexSec13{
	padding: 0 0 77px;
	position: relative;
}
.indexSec13:before{
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: calc(100% - 30px);
	z-index: -1;
	background: #E3F5FC
}
.indexSec13 .inner{max-width: 1040px}
.indexSec13 h2{
	font-size: 4rem;
	font-weight: bold;
	color: #0B406F;
	padding-bottom: 30px;
	text-align: center;
}
.indexSec13 h3{
	font-size: 2.4rem;
	font-weight: bold;
	margin: 16px 0;
	display: flex;
	align-items: center;
}
.indexSec13 h3 img{margin-right: 10px;width: 14px}
.faqDl + .faqDl{margin-top: 10px}
.faqDl dt{
	padding: 15px 60px 15px 24px;
	font-size: 2rem;
	line-height: 28px;
	font-weight: bold;
	color: #0B406F;
	display: flex;
	background: url(../img/index/tab_open.svg)no-repeat right 20px top 5px #fff;
	background-size: 22px auto;
	cursor: pointer;
}
.faqDl.active dt{
	background: url(../img/index/tab_close.svg)no-repeat right 26px top 15px #fff;
	background-size: 13px auto;
}
.faqDl span{
	font-size: 2.7rem;
	min-width: 24px;
	line-height: 1;
	color: #348ED1;
	margin-right: 15px;
	font-weight: bold;
}
.faqDl dd span{color: #F18F01}
.faqDl dd{
	display: none;
}
.faqDl dd p{
	display: flex;
	background: #F7F7F7;
	padding: 15px 60px 15px 24px;
	font-size: 1.7rem;
	line-height: 28px;
}

.indexSec14{
	padding: 50px 0;
}
.indexSec14 h2{
	font-size: 4rem;
	font-weight: bold;
	color: #0B406F;
	text-align: center;
	margin-bottom: 40px;
}
.table01{
	margin: 0 auto
}
.table01 th,
.table01 td{
	font-size: 1.7rem;
	padding: 7px 0
}
.table01 th{
	font-weight: bold;
	color: #0F5A9B;
	width: 170px;
}
.indexSec14 .p01{
	margin-top: 30px;
	text-align: center;
	font-size: 1.4rem
}
.indexSec14 .p01 a{
	text-decoration: underline;
	margin-right: 30px;
}
#mainVisual .p02 span.bg{
	background-color:#0B406F;
	    padding: 16px 20px;
}
#mainVisual{
	box-sizing:border-box;
	padding-bottom:0;
}
#mainVisual .btnBox .btn{
	margin-bottom:12px;
}
#mainVisual .person img{
	position:absolute;
	bottom:0;
}

/*--------------------------------------
add new CSS here
---------------------------------------*/
.caution {
	width: 600px;
	margin:30px auto 20px; padding: 20px; 
	/* color: #666;  */
	font-size: 14px; line-height: 1.75; text-align: left; border: 2px solid #ccc;
}

.indexDl04 .btnLink01 {
	width: 527px;
}
.btnLink01 img {
	filter: drop-shadow(0 3px 6px rgba(0,0,0,.15));
}
.indexDl04 .btnLink01 img {
	filter: drop-shadow(0 2px 4px rgba(0,0,0,.15));
}