@charset "UTF-8";
/* CSS Document */

header{
	position: absolute;
	top:35px;
	left:50px;
	z-index: 100;
}
#contents{
	padding-bottom: 150px;
}
#bt_site{
	margin-top: 80px;
	text-align: center;
}
#bt_site a{
	display: inline-block;
	width: 470px;
	height: 50px;
	color: #FFF;
	font-size: 0.2rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	background: url(../img/icon_arrow_wr.svg) #3FA9F5 no-repeat center right 1em;
	-webkit-border-radius: 15px;
	border-radius: 15px;
}


#main{
	height: 52vw;
	min-height: 500px;
	position: relative;
}
#main .main_ph{
	position: absolute;
	top:0;
	left:0;
	z-index: 0;
	width: 100%;
	height: 100%;
	background: url(../img/main_ph.jpg) no-repeat center center/cover;
}
#main h1{
	position: absolute;
	top:50%;
	left:50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	margin-top: -140px;
	text-align: center;
}
#main h1 span{
	display: inline-block;
	font-size: 0.17rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	color: #FFF;
	background: #1D2087;
	padding: 0.35em 0.75em 0.4em;
	margin-bottom: 1em;
}

#main .pic{
	width: 160px;
	height: 185px;
	position: absolute;
	top:50%;
	right:50%;
	margin-right: 270px;
	overflow: hidden;
}
#main .pic::before{
	content: '';
	display: block;
	position: absolute;
	top:0;
	left:0;
	width: 300%;
	height: 100%;
	background:
		url(../img/main_pic01_1.svg) no-repeat top left/33.3% auto,
		url(../img/main_pic01_2.svg) no-repeat top left 50%/33.3% auto,
		url(../img/main_pic01_3.svg) no-repeat top left 100%/33.3% auto;
	animation: eyeAni01 infinite step-end 4s;
}
@-webkit-keyframes eyeAni01 {
 0% { transform:translateX(0); }
 33% { transform:translateX(-33.3%);}
 66% { transform:translateX(-66.6%); }
 100% { transform:translateX(-100%); }
}
@keyframes         eyeAni01 {
 0% { transform:translateX(0); }
 33% { transform:translateX(-33.3%);}
 66% { transform:translateX(-66.6%); }
 100% { transform:translateX(-100%); }
}
/*
#main .pic::before{
	content: '';
	display: block;
	position: absolute;
	top:0;
	left:0;
	width: 200%;
	height: 100%;
	background:
		url(../img/main_pic01_1.svg) no-repeat top left/50% auto,
		url(../img/main_pic01_2.svg) no-repeat top left 100%/50% auto;
	animation: eyeAni01 infinite step-end 3s;
}
@-webkit-keyframes eyeAni01 {
 0% { transform:translateX(0); }
 50% { transform:translateX(-50%);}
 100% { transform:translateX(0); }
}
@keyframes         eyeAni01 {
 0% { transform:translateX(0); }
 50% { transform:translateX(-50%);}
 100% { transform:translateX(0); }
}
*/

#main .qaArea{
	width: 350px;
	position: absolute;
	top:50%;
	left:50%;
	margin-top: 45px;
	margin-left: 45px;
	border: 1px solid #1D2087;
	padding: 1em 2em;
	font-size: 0.15rem;
	letter-spacing: 0.05em;
	line-height: 1.6;
}
#main .qaArea .qa_q{
	color: #1D2087;
	font-weight: 600;
	margin-bottom: 0.5em;
}



#messe{
	padding: 50px 0 65px;
	background: url(../img/messe_bg.svg) #F9F6F2 center center;
	margin-bottom: 70px;
}
#messe h2{
	text-align: center;
	margin-bottom: 4em;
}
#messe .txt{
	text-align: center;
	font-size: 0.15rem;
	line-height: 2;
	letter-spacing: 0.05em;
}



#service{
	padding: 0 20px;
	margin-bottom: 50px;
}
#service > .inner{
	max-width: 840px;
	margin-left: auto;
	margin-right: auto;
	padding: 35px 60px 80px;
	background: #F0F2F2;
}
#service .pic{
	text-align: center;
	margin-bottom: 2em;
}
#service h2{
	text-align: center;
	margin-bottom: 5em;
}
#service .list li{
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
	position: relative;
}
#service .list li:nth-child(n+2){
	margin-top: 110px;
}/*
#service .list li:nth-child(n+2)::before{
	content: '';
	display: block;
	width: 26px;
	height: 42px;
	position: absolute;
	top:-70px;
	left:50%;
	margin-left: -13px;
	background: url(../img/icon_arrow01_bb.svg) no-repeat center center/contain;
}*/
#service .list li:nth-child(even){
	flex-direction: row-reverse;
}
#service .list li .txtArea{
	width: 405px;
}
#service .list li:nth-child(odd) .txtArea{
	padding-right: 35px;
}
#service .list li:nth-child(even) .txtArea{
	padding-left: 35px;
}
#service .list li .txtArea .titArea{
	display: -webkit-flex;
	display: flex;
	align-items: center;
	margin-bottom: 2em;
}
#service .list li .txtArea .titArea .num{
	width: 36px;
	height: 36px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background: #71BCDA;
	font-size: 0.25rem;
	color: #FFF;
	text-align: center;
	position: relative;
}
#service .list li .txtArea .titArea .num span{
	padding-top: 0.25em;
}
#service .list li .txtArea .titArea h3{
	font-size: 0.19rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.5;
	padding-left: 1em;
}
#service .list li .txtArea .titArea h3 span{
	position: relative;
}
#service .list li .txtArea .titArea h3 .bd::before{
	content: '';
	display: block;
	width: 100%;
	height: 0.5em;
	position: absolute;
	bottom:0;
	left:0;
	background: #FFFF00;
	z-index: 0;
}
/*
#service .list li .txtArea .titArea h3 span{
	text-decoration: underline;
	text-decoration-color: #FFFF00;
    text-underline-offset: -10px;
	text-decoration-thickness: 10px;
}
*/
#service .list li .txtArea .txt{
	font-size: 0.15rem;
	line-height: 1.65;
	text-align: justify;
	-ms-text-justify: inter-ideograph;
	text-justify: inter-ideograph;
}

#service .list li .ph{
	width: calc(100% - 385px);
}
#service .list li .ph img{
	width: 100%;
	height: auto;
}




#price {
	padding: 0 20px;
	margin-bottom: 90px;
}
#price > .inner{
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
}
#price h2{
	text-align: center;
	font-size: 0.19rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	margin-bottom: 3em;
}
#price h2 > span{
	display: inline-block;
	border: 1px solid #000;
	height: 40px;
	position: relative;
	-webkit-border-radius: 20px;
	border-radius: 20px;
	padding: 0 1.5em;
}


#price .total > .pic{
	text-align: center;
	margin-bottom: 5em;
}
#price .total > .pic img{
	width: 100%;
	height: auto;
}

#price .total .fbox{
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
	padding: 0 35px;
	margin-bottom: 5em;
}
#price .total .fbox .txt{
	font-size: 0.16rem;
	line-height: 1.85;
	letter-spacing: 0.05em;
	width: calc(100% - 130px);
	padding-right: 10px;
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
}
#price .total .fbox .pic{
	width: 130px;
	text-align: center;
}
#price .total .fbox .pic img{
	width: 82px;
	height: auto;
}



#price .list li h3{
	text-align: center;
	margin-bottom: 3em;
	position: relative;
}
#price .list li h3 .data{
	position: absolute;
	bottom:0;
	left:50%;
	margin-left: 9em;
	font-size: 0.14rem;
	font-weight: 700;
}
#price .list li h4{
	text-align: center;
	font-size: 0.19rem;
	font-weight: 600;
	color: #FFF;
	letter-spacing: 0.05em;
	padding: 0.65em 0 0.5em;
	margin-bottom: 1em;
}
#price .list li.list01 h4{background: #FBB03B;}
#price .list li.list02 h4{background: #82A1CE;}
#price .list li.list03 h4{background: #D887B7;}
#price .list li:nth-child(n+2){margin-top: 90px;}
#price .list li dl{
	text-align: center;
	font-size: 0.18rem;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#price .list li.list01 dl.hyou{
	margin-bottom: 1em;
}
#price .list li dl{margin-top: 1em;}
#price .list li dl dt{
	text-align: left;
	padding: 0.5em 1em 0.6em 1.5em;
	width: calc(67% - 5px);
	font-weight: 600;
}
#price .list li dl dd{
	text-align: right;
	padding: 0.5em 1.5em 0.6em 1em;
	width: 33%;
}
#price .list li dl dt,
#price .list li dl dd{
	background: #F7F7F7;
}
#price .list li dl dt:nth-of-type(even),
#price .list li dl dd:nth-of-type(even){
	background: #EFEFEF;
}
#price .list li dl dt:nth-of-type(n+2),
#price .list li dl dd:nth-of-type(n+2){
	margin-top: 5px;
}



#price .list li.list01 dl dt,
#price .list li.list01 dl dd{
	padding-top: 1.5em;
	padding-bottom: 1.5em;
}
#price .list li.list01 dl dt > *{
	display: inline-block;
	vertical-align: middle;
}
#price .list li.list01 dl dt span{
	margin-left: 1em;
}
#price .list li.list01 dl dt img{
	position: relative;
	top: -10px;
}

#price .list li.list01 dl dd{
	display: -webkit-flex;
	display: flex;
	align-items: center;
	text-align: right;
}
#price .list li.list01 dl dd span{
	width: 100%;
}


#price .list li .txt01{
	text-align: center;
	font-size: 0.17rem;
	font-weight: 600;
	letter-spacing: 0.05em;
}
#price .list li.list01 .txt01{color: #FBB03B;}
#price .list li.list01 .txt02{
	font-size: 0.16rem;
	line-height: 1.85;
	text-align: justify;
	-ms-text-justify: inter-ideograph;
	text-justify: inter-ideograph;
}
#price .list li.list02 .txt01{color: #82A1CE;}
#price .list li.list02 .txt02{
	text-align: center;
	font-size: 0.16rem;
	margin-top: 0.75em;
}
#price .list li.list03 .txt01{color: #CA85AB;}



#point {
	padding: 0 20px;
	margin-bottom: 100px;
}
#point > .inner{
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
}
#point h2{
	text-align: center;
	margin-bottom: 2em;
}
#point .list li{
	padding: 30px 40px 40px;
	background: url(../img/point_bg.jpg);
}
#point .list li:nth-child(n+2){
	margin-top: 30px;
}
#point .list li h3{
	text-align: center;
	font-size: 0.23rem;
	font-weight: 600;
	line-height: 0.05em;
	line-height: 1.5;
	color: #808080;
	padding-bottom: 1em;
	margin-bottom: 1em;
	border-bottom: 1px solid #000;
}
#point .list li > h4{
	text-align: center;
	font-size: 0.18rem;
	font-weight: 600;
	line-height: 0.05em;
	line-height: 1.5;
	margin-bottom: 1.5em;
}
#point .list li.list02 h4{
	max-width: 535px;
	margin-left: auto;
	margin-right: auto;
	text-align: justify;
	-ms-text-justify: inter-ideograph;
	text-justify: inter-ideograph;
}
#point .list li dl{
	padding: 0 45px;
	margin-bottom: 100px;
}
#point .list li dl dt{
	display: -webkit-flex;
	display: flex;
	align-items: center;
	margin-bottom: 1em;
}
#point .list li dl dt.list02{margin-top: 40px;}
#point .list li dl dt span{
	font-size: 0.15rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	padding: 0.35em 0.5em 0.35em;
	margin-left: 1em;
}
#point .list li dl dt.list01 span{
	background: #A6E4F7;
}
#point .list li dl dt.list02 span{
	background: #F4F460;
}
#point .list li dl dd{
	position: relative;
}
#point .list li dl dd .txt{
	font-size: 0.15rem;
	line-height: 1.65;
}
#point .list li dl dd .pic{
	position: absolute;
	top:0;
	right:0;
}


#point .list li.list01 .onepoint{
	margin-top: 100px;
}
#point .list li.list02 .onepoint{
	margin-top: 40px;
}
#point .list li .onepoint h4{
	text-align: center;
	font-size: 0.16rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	position: relative;
	margin-bottom: 1em;
}
#point .list li .onepoint h4::before,
#point .list li .onepoint h4::after{
	content: '';
	display: block;
	width: calc(50% - 75px);
	height: 1px;
	position: absolute;
	top:50%;
	background: #000;
}
#point .list li .onepoint h4::before{left: 0;}
#point .list li .onepoint h4::after {right: 0;}

#point .list li .onepoint .fbox{
	max-width: 540px;
	margin-left: auto;
	margin-right: auto;
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#point .list li .onepoint .fbox .pic{
	width: 115px;
}
#point .list li .onepoint .fbox .txt{
	width: calc(100% - 115px);
	font-size: 0.15rem;
	line-height: 1.65;
	letter-spacing: 0.05em;
	text-align: justify;
	-ms-text-justify: inter-ideograph;
	text-justify: inter-ideograph;
}






#flow {
	padding: 0 20px;
	margin-bottom: 100px;
}
#flow > .inner{
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
}
#flow .flowAera{
	background: #F2F8F9;
	padding: 30px 20px 45px;
	margin-bottom: 80px;
}
#flow .flowAera h2{
	font-size: 0.18rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	margin-bottom: 2em;
	text-align: center;
}
#flow .flowAera h2 span{
	display: inline-block;
	padding-bottom: 0.25em;
	border-bottom: 2px solid #000;
}
#flow .flowAera .list{
	width: 535px;
	margin-left: auto;
	margin-right: auto;
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
}
#flow .flowAera .list li{
	width: 160px;
	position: relative;
}
#flow .flowAera .list li:nth-child(n+2)::before{
	content: '';
	display: block;
	width: 16px;
	height: 18px;
	position: absolute;
	top:90px;
	left:-20px;
	background: url(../img/icon_arrow02_br.svg) no-repeat center center/contain;
}
#flow .flowAera .list li .num{
	text-align: center;
	font-size: 0.16rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	margin-bottom: 1em;
}
#flow .flowAera .list li .ph{
	width: 140px;
	height: 140px;
	margin-left: auto;
	margin-right: auto;
	overflow: hidden;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	margin-bottom: 2.5em;
}
#flow .flowAera .list li .ph img{
	width: 100%;
	height: auto;
}
#flow .flowAera .list li .txt{
	font-size: 0.14rem;
	line-height: 1.65;
	letter-spacing: 0.05em;
	text-align: justify;
	-ms-text-justify: inter-ideograph;
	text-justify: inter-ideograph;
}


#flow h3{
	text-align: center;
	margin-bottom: 5em;
}
#flow .phArea{
	position: relative;
}
#flow .phArea .ph{
	width: 280px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 3em;
}
#flow .phArea .ph img{
	width: 100%;
	height: auto;
}
#flow .phArea .bt01{
	text-align: center;
}
#flow .phArea .bt01 a{
	display: inline-block;
	width: 260px;
	height: 36px;
	text-align: center;
	font-size: 0.16rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	color: #000;
	border: 1px solid #000;
	background: url(../img/icon_arrow_br.svg) no-repeat center right 0.75em;
}

#flow .phArea .pic{
	position: absolute;
	bottom:0;
	right:50%;
	margin-right: 180px;
}




#online {
	padding: 50px 20px;
	background: #F0F2F2;
}
#online > .inner{
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
	background: #FFF;
	-webkit-border-radius: 35px;
	border-radius: 35px;
	padding: 20px 55px 50px;
}
#online .titArea{
	position: relative;
	border-bottom: 1px solid #42B483;
	padding-top: 2em;
	padding-bottom: 2em;
	margin-bottom: 2em;
}
#online .titArea .txt{
	text-align: center;
	font-size: 0.18rem;
	font-weight: 600;
	line-height: 1.3;
	margin-bottom: 0.5em;
}
#online .titArea h2{
	text-align: center;
	font-size: 0.25rem;
	font-weight: 600;
	line-height: 1.3;
}
#online .titArea h2 span{
	color: #42B483;
}
#online .titArea .pic{
	position: absolute;
	top:50%;
	left:0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
#online .titArea .member{
	display: block;
	position: absolute;
	top:50%;
	right:0;
	width: 75px;
	height: 75px;
	margin-top: -37px;
	background: #42B483;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	font-size: 0.17rem;
	font-weight: 600;
	line-height: 1.35;
	text-align: center;
	color: #FFF;
}

#online .txt01{
	padding: 0 1.5em;
	font-size: 0.15rem;
	line-height: 1.65;
	text-align: justify;
	-ms-text-justify: inter-ideograph;
	text-justify: inter-ideograph;
	margin-bottom: 2em;
}

#online .list{
	padding: 0 35px;
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
}
#online .list li{
	width: 33%;
}
#online .list li .num{
	font-size: 0.16rem;
	font-weight: 600;
	line-height: 1.65;
	text-align: center;
	height: 5.5em;
}
#online .list li .pic{
	height: 65px;
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}
#online .list li.list02 .pic{
	align-items: flex-end;
}


#online .bt{
	margin-top: 4em;
	text-align: center;
}
#online .bt a{
	display: inline-block;
	width: 400px;
	height: 50px;
	font-size: 0.22rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-align: center;
	color: #FFF;
	background: #42B483;
	position: relative;
	-webkit-border-radius: 15px;
	border-radius: 15px;
}
#online .bt a::before{
	content: '';
	display: block;
	width: 36px;
	height: 7px;
	position: absolute;
	top:50%;
	right:2.5em;
	margin-top: -3px;
	background: url(../img/icon_arrow_wr.svg) no-repeat center center/contain;
}