@charset "utf-8";

@-ms-viewport{ width:device-width; }
@viewport{ width:device-width; }

body{
	font-size:3.7vw;
	line-height:1.75;
	background:#FFF;
}

a{ text-decoration:none; }

img{
	width:100%;
	height:auto;
	display:block;
}

.contents{
	width:94%;
	margin:0 auto;
}

.pc{ display:none!important; }
.sp{ display:block!important; }


/*header
----------------------------------------------------*/
header{
	background:url(../img/mv_sp.jpg) no-repeat center top / contain;
}

header p{
	position:absolute;
	top:2vw;
	left:3%;
	width:50%;
}

header h1{
	width:60%;
	padding:26vh 0 10vh 0;
	font-size:14vw;
}

header h1 span{
	padding-left:0.3em;
}


/*sec01
----------------------------------------------------*/
.sec01 h2{
	margin-bottom:5vw;
	font-size:5.4vw;
	line-height:1.6;
	color:#0181D8;
}

.sec01 ul{
	margin:4vw auto 8vw auto;
	display:flex;
	justify-content: space-between;
    flex-wrap: wrap;
}

.sec01 ul li{
	width:48%;
}

.sec01 h3{
	position:relative;
	width:80vw;
	margin:0 auto 4vw auto;
	padding-left:6vw;
	font-size:5.4vw;
	text-align:center;
}

.sec01 h3 img{
	position:relative;
	bottom:-0.3em;
	width:58%;
	vertical-align:text-bottom;
	display:inline;
}

.sec01 h3:before{
	position:absolute;
	bottom:0;
	left:0;
	content:"";
	width:5vw;
	height:2.2em;
	background:url(../img/ttl_sec02_before.png) no-repeat left center / contain;
	display:block;
}

.sec01 h3:after{
	position:absolute;
	bottom:0;
	right:0;
	content:"";
	width:5vw;
	height:2.2em;
	background:url(../img/ttl_sec02_after.png) no-repeat left center / contain;
	display:block;
}


/*sec_btn
----------------------------------------------------*/
.sec_btn{
	margin-bottom:8vw;
	padding:6vw 0 5vw 0;
	background:url(../img/bg_sky.jpg) no-repeat top center / cover;
	text-align:center;
	font-weight:bold;
	font-family:Noto sans JP;
	color:#FFF;
}

.sec_btn p{
	margin-bottom:2vw;
}

.btn a{
	width:80%;
	margin:0 auto;
	padding:4vw 6vw;
	background:linear-gradient(to right, #FFE459, #FFC52D);
	border-radius:8px;
	box-shadow:0 4px 4px rgba(0,0,0,0.25);
	font-size:4.4vw;
	color:#000;
	display:block;
}

.btn a .link_ex{
	padding-right:1.2em;
	background:url(../img/icon_link_ex.png) no-repeat right center / 0.85em;
}

.note{
	font-family:Noto sans JP;
	font-size:0.85em;
}

.sec_btn .note{
	color:#000;
}

.mb{
	margin-bottom:4vw!important;
}



/*sec02
----------------------------------------------------*/
.sec02 h2{
	position:relative;
	margin-bottom:8vw;
	padding:6vw 0;
	background:linear-gradient(to right, #2C7DD6, #014998);
	box-shadow:inset 0 6px 6px rgba(0,0,0,0.15);
	text-align:center;
	font-size:6.4vw;
	color:#FFF;
}

.sec02 h2:after{
	content:"";
	position:absolute;
	bottom:-3vw;
	left:0;
	width:100%;
	height:3vw;
	background:url(../img/icon_ttl.png) no-repeat center top / contain;
	display:blockl;
}

.sec02 h2 span{
	padding-left:1.2em;
	background:url(../img/icon_kouka.png) no-repeat left center / 0.85em;
}

.sec02 h3{
	margin-bottom:5vw;
	font-size:5.4vw;
	line-height:1.6;
	color:#0181D8;
}

.sec02 img{
	margin-bottom:4vw;
}

.sec02 img:nth-of-type(1){
	margin-bottom:8vw;
}

.sec02 p{
	margin-bottom:6vw;
}

.sec02 h4{
	margin-bottom:5vw;
	font-size:4.4vw;
	line-height:1.6;
	color:#0181D8;
}

.sec02 .kakomi{
	margin-bottom:8vw;
	padding-bottom:6vw;
	background:linear-gradient(to bottom, #DCEEFA, #F2F9FD);
	border-radius:8px;
}

.sec02 .kakomi h3{
	padding:4vw;
	background:#0181D8;
	border-radius:8px 8px 0 0;
	font-size:4.4vw;
	text-align:center;
	color:#FFF;
}

.sec02 .kakomi p{
	padding:0 4vw;
}

.sec02 .kakomi div{
	margin:0 4vw;
	padding:4vw;
	background:#FFF;
	border-radius:8px;
}

.sec02 .kakomi div img{
	margin:0;
}


/*sec03
----------------------------------------------------*/
.sec03 h2{
	position:relative;
	margin-bottom:8vw;
	padding:6vw 0;
	background:linear-gradient(to right, #2C7DD6, #014998);
	box-shadow:inset 0 6px 6px rgba(0,0,0,0.15);
	text-align:center;
	font-size:6.4vw;
	color:#FFF;
}

.sec03 h2:after{
	content:"";
	position:absolute;
	bottom:-3vw;
	left:0;
	width:100%;
	height:3vw;
	background:url(../img/icon_ttl.png) no-repeat center top / contain;
	display:blockl;
}

.sec03 h2 span{
	padding-left:1.2em;
	background:url(../img/icon_howto.png) no-repeat left center / 0.85em;
}

.sec03 h3{
	position:relative;
	width:80vw;
	margin:0 auto 5vw auto;
	font-size:4.4vw;
	line-height:1.6;
	color:#0181D8;
	text-align:center;
}

.sec03 h3 span{
	font-size:5.4vw;
	display:block;
}

.sec03 h3 span em{
	font-style:normal;
	font-size:8.4vw;
	color:#01D8BE;
}

.sec03 h3:before{
	position:absolute;
	bottom:0;
	left:0;
	content:"";
	width:6vw;
	height:3.5em;
	background:url(../img/ttl_sec02_before.png) no-repeat left center / contain;
	display:block;
}

.sec03 h3:after{
	position:absolute;
	bottom:0;
	right:0;
	content:"";
	width:6vw;
	height:3.5em;
	background:url(../img/ttl_sec02_after.png) no-repeat left center / contain;
	display:block;
}

.sec03 dl{
	margin-bottom:1.5em;
	display:grid;
	grid-template-columns:8em 1fr;
	column-gap:1.5em;
}

.sec03 dl dd h4{
	margin:0 auto 3vw auto;
	padding-bottom:2vw;
	border-bottom:3px solid #01D8BE;
	font-size:4.4vw;
	color:#0181D8;
	text-align:left;
}

.sec03 dl dd h4 span{
	font-size:6.4vw;
}

.sec03 .center img{
	width:40%;
	margin:8vw auto;
}

.sec03 h4{
	margin:10vw auto 6vw auto;
	font-size:4.4vw;
	color:#0181D8;
	text-align:center;
}

.sec03 .kakomi{
	position:relative;
	margin-top:14vw;
	margin-bottom:8vw;
	padding:4vw 4vw 6vw 4vw;
	background:linear-gradient(to bottom, #DCEEFA, #F2F9FD);
	border-radius:8px;
}

.sec03 .kakomi h3{
	position:relative;
	margin:-1.5em auto 2vw auto;
	font-size:5.4vw;
	font-weight:bold;
	font-family:Noto sans JP;
	text-align:center;
	color:#0181D8;
}

.sec03 .kakomi h3 span{
	width:80%;
	margin:0 auto 2vw auto;
	padding:1.5vw 0;
	background:#0181D8;
	border-radius:2em;
	font-size:3.7vw;
	color:#FFF;
	display:block;
}

.sec03 .kakomi h3:before,
.sec03 .kakomi h3:after{
	display:none;
}

.sec03 .kakomi p{
	margin-bottom:4vw;
}

.sec03 .kakomi .btn a{
	font-family:Noto sans JP;
	font-weight:bold;
	text-align:center;
}

.sec03 .kakomi .btn a span{
	padding-left:1.2em;
	background:url(../img/icon_mail.png) no-repeat left center / 0.85em;
}

.sec03 .kakomi .note{
	text-align:center;
}


/*sec04
----------------------------------------------------*/
.sec04{
	padding-bottom:8vw;
	background:linear-gradient(to bottom, #DCEEFA, #F2F9FD);
}

.sec04 h2{
	position:relative;
	margin-bottom:8vw;
	padding:6vw 0;
	background:linear-gradient(to right, #2C7DD6, #014998);
	box-shadow:inset 0 6px 6px rgba(0,0,0,0.15);
	text-align:center;
	font-size:6.4vw;
	color:#FFF;
}

.sec04 h2:after{
	content:"";
	position:absolute;
	bottom:-3vw;
	left:0;
	width:100%;
	height:3vw;
	background:url(../img/icon_ttl.png) no-repeat center top / contain;
	display:blockl;
}

.sec04 h2 span{
	padding-left:1.2em;
	background:url(../img/icon_cart.png) no-repeat left center / 0.85em;
}

.sec04 h3{
	position:relative;
	margin:0 auto 5vw auto;
	font-size:4.4vw;
	line-height:1.6;
	color:#0181D8;
	text-align:center;
}

.sec04 ul li{
	margin-bottom:10vw;
}

.sec04 ul li:nth-of-type(2){
	width:70%;
	margin:0 auto 6vw auto;
}


/*sec05
----------------------------------------------------*/
.sec05{
	padding-bottom:10vw;
}

.sec05 h2{
	position:relative;
	margin-bottom:8vw;
	padding:6vw 0;
	background:linear-gradient(to right, #2C7DD6, #014998);
	box-shadow:inset 0 6px 6px rgba(0,0,0,0.15);
	text-align:center;
	font-size:6.4vw;
	color:#FFF;
}

.sec05 h2:after{
	content:"";
	position:absolute;
	bottom:-3vw;
	left:0;
	width:100%;
	height:3vw;
	background:url(../img/icon_ttl.png) no-repeat center top / contain;
	display:blockl;
}

.sec05 h2 span{
	padding-left:1.2em;
	background:url(../img/icon_inquiry.png) no-repeat left center / 0.85em;
}

.sec05 .kakomi{
	position:relative;
	margin-top:14vw;
	margin-bottom:8vw;
	padding:4vw;
	background:linear-gradient(to bottom, #DCEEFA, #F2F9FD);
	border-radius:8px;
	text-align:center;
}

.sec05 .kakomi p{
	margin-bottom:4vw;
}

.sec05 .kakomi .btn a{
	font-family:Noto sans JP;
	font-weight:bold;
	text-align:center;
}

.sec05 .kakomi .note{
	text-align:center;
}

.sec05 .attention{
	margin:6vw 0 2vw auto;
	text-align:right;
	color:#E50000;
}

.sec05 dl{
	margin-bottom:5vw;
}

.sec05 dt,
.sec05 dd p{
	margin-bottom:2vw;
}

.sec05 dd{
	font-size:0.9em;
}

.sec05 dd input,
.sec05 dd textarea{
	width:100%;
	padding:0.5em;
	background:#FFF;
	border:1px solid #B7B7B7;
	border-radius:8px;
}

.sec05 dd input[type=radio]{
	width:auto!important;
}

.error{
	color:#E50000;
}

.sec05 .note{
	padding-left:1em;
	text-indent:-1em;
}

.send{
	width:40%;
	margin:0 0.3em;
	padding:2vw;
	background:linear-gradient(to right, #FFE459, #FFC52D);
	border:0;
	border-radius:8px;
	box-shadow:0 4px 4px rgba(0,0,0,0.25);
	font-size:4.4vw;
	color:#000;
	display:inline-block;
}

.reset{
	width:40%;
	margin:0 0.3em;
	padding:2vw;
	background:linear-gradient(to right, #C5C5C5, #878787);
	border:0;
	border-radius:8px;
	box-shadow:0 4px 4px rgba(0,0,0,0.25);
	font-size:4.4vw;
	color:#FFF;
	display:inline-block;
}


/*send
----------------------------------------------------*/
.header_send{
	margin-bottom:6vw;
	background:url(../img/mv_sp.jpg) no-repeat center top / cover;
}

.header_send h1{
	width:100%;
	padding:16vh 0 16vh 0;
	font-size:6.4vw;
	text-align:center;
}

.sec_send{
	margin-bottom:10vw;
}

.sec_send .btn a{
	font-family:Noto sans JP;
	font-weight:bold;
	text-align:center;
}


/*footer
----------------------------------------------------*/
footer{
	position:relative;
	padding:8vw 4vw 14vw 4vw;
	background:linear-gradient(to bottom, #DCEEFA, #F2F9FD);
	text-align:center;
}

footer h2{
	margin-bottom:4vw;
	font-size:5.4vw;
}

footer p{
	margin-bottom:4vw;
}

footer .copyright{
	font-size:0.8em;
}


/*fixnavi
----------------------------------------------------*/
.fixnavi ul{
	position:fixed;
	bottom:0;
	width:100%;
	display:grid;
	grid-template-columns:33.3% 33.3% 1fr;
}

.fixnavi ul li a{
	padding:3vw 0;
	background:#0181D8;
	border-left:1px solid #FFF;
	text-align:center;
	font-family:Noto sans JP;
	color:#FFF;
	display:block;
}

.fixnavi ul li:nth-of-type(1) a{
	border:0;
}

.fixnavi ul li:nth-of-type(1) a span{
	padding-left:1.2em;
	background:url(../img/icon_kouka.png) no-repeat left center / 0.85em;
}

.fixnavi ul li:nth-of-type(2) a span{
	padding-left:1.2em;
	background:url(../img/icon_howto.png) no-repeat left center / 0.85em;
}

.fixnavi ul li:nth-of-type(3) a span{
	padding-left:1.2em;
	background:url(../img/icon_cart.png) no-repeat left center / 0.85em;
}
