﻿@charset "utf-8";


/*----------------------------------------------
	Overall settings
-----------------------------------------------*/

body{ min-width: 1100px; font-family: "Noto Sans JP", sans-serif; font-weight: 400; color: #333; text-align: center;}
body.ovh{ position: fixed; left: 0; top: 0; width: 100%; height: 100vh;}
a{ color: #333; text-decoration:none; -webkit-transition: all .2s; transition: all .2s;}
a:hover{ opacity: .7; text-decoration:none;}
.underline{ text-decoration: underline;}
/* font */
.gothic{ font-family: "Noto Sans JP", sans-serif;}
/* bg */
.bg-white{ background: #fff;}
.bg-pink{ background: #FFF7F7;}
/* color */
.f-white{ color: #fff;}
.f-red{ color: #c00;}
.f-blue{ color: #004278;}
.f-pink{ color: #EA006A;}
.f-ygreen{ color: #537D19;}
.f-green{ color: #007D75;}
.f-lblue{ color: #305FAA;}
.f-beige{ color: #B46100;}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	body{
		min-width: inherit;
		font-size: 4.8vw;
		line-height: 1.88;
	}
	a:hover{ opacity: 1;}
}
@media screen and (max-width: 350px) {
	html{ font-size: 50%;}
}



/*----------------------------------------------
	header
-----------------------------------------------*/

header{
	padding-top: 15px;
	padding-bottom: 15px;
	text-align: left;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	header{
		padding-top: 3.73vw;
		padding-bottom: 5.86vw;
		text-align: center;
	}
	header img{
		width: 41vw;
	}
}



/*----------------------------------------------
	section
-----------------------------------------------*/

section{}
.wrap{ clear: both; box-sizing: content-box; max-width: 1000px; margin-left: auto; margin-right: auto; padding-left: 5%; padding-right: 5%;}
/* ttl */
.ttl1{
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 33px;
}
.ttl1:before,
.ttl1:after{
	display: inline-block;
	content: "";
	width: 37px;
	height: 64px;
	margin-top: .3em;
	background: url("../img/ttl1-left.svg") center / contain no-repeat;
}
.ttl1:after{
	background: url("../img/ttl1-right.svg") center / contain no-repeat;
}
.ttl1 span{
	display: inline-block;
	padding: 0 .7em;
	font-weight: bold;
	line-height: 1.2;
}
/* btn */
.btn1{
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
	padding-bottom: .3em;
	width: 576px;
	min-height: 90px;
	color: #fff;
	font-size: 29px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: .03em;
	border-radius: .5em;
	background: url("../img/ic-right.svg") right 1em center no-repeat #004278;
	box-shadow: 6px 6px 13px rgba(0,0,0,.16);
}
.btn1.wide{
	width: auto;
	background-position: right 2em center;
}
.btn1[target="_blank"]{
	background: url("../img/ic-blank.svg") left 1em center no-repeat, url("../img/ic-right.svg") right 1em center no-repeat #004278;
}
.btn1[target="_blank"].wide{
	background-position: left 2em center, right 2em center;
}
.btn1 small{
	font-size: 16px;
	letter-spacing: 0;
}
.btn1 small.f20{
	font-size: 20px;
}
/* cont */
.cont1{
	background: linear-gradient(to bottom,  #ffccd4 0%,#fff7f7 95%);
}
.cont1wrap{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	max-width: 1154px;
	padding-top: 30px;
	padding-bottom: 30px;
}
.cont1wrap figure{
	width: 53.8%;
	transform: rotate(-3deg);
	box-shadow: 6px 6px 25px rgba(0,0,0,.16);
}
.cont1wrap div{
	width: 40%;
}
.cont1wrap div .wg{
	margin-bottom: 10px;
}
.cont1wrap div .pop{
	padding: .5em 0 .7em .5em;
	font-size: 33px;
	font-weight: bold;
	text-align: left;
	line-height: 1.2;
	background: #fff;
	border-radius: 17px;
	position: relative;
}
.cont1wrap div .pop:before{
	display: inline-block;
	content: "";
	position: absolute;
	right: 250px;
	bottom: -30px;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 11px solid transparent;
	border-left: 11px solid transparent;
	border-bottom: 35px solid #fff;
	border-top: 0;
	transform: rotate(159deg);
}
.cont1wrap div .pop span{
	font-size: 45px;
	font-weight: bold;
}
.cont1wrap div .pop sup{
	font-size: 20px;
}
.cont1wrap div .popkome{
	font-size: 15px;
	text-align: right;
}
.cont1wrap div .txt{
	font-size: 22px;
	font-weight: bold;
	line-height: 1.2;
}
.cont1wrap div .txt span{
	padding: 0 .2em;
	font-size: 45px;
	background: linear-gradient(transparent 60%, #FFEB00 60%);
}
.cont2{
	margin-bottom: 80px;
}
.cont2 .btn{
	margin-bottom: 30px;
}
.cont2 .box1{
	display: flex;
	align-items: center;
	justify-content: space-between;
	text-align: left;
}
.cont2 .box1 dt{
	width: 242px;
}
.cont2 .box1 dd{
	width: 650px;
}
.cont2 .box1 dd .ttl{
	font-size: 24px;
	font-weight: bold;
}
.cont2 .lead{
	margin-bottom: .5em;
	font-size: 22px;
	font-weight: bold;
}
.cont3{
	margin-bottom: 80px;
	padding: 0 65px 30px;
	text-align: left;
	background: #FEFDE0;
	border: 2px solid #FFB9C3;
	border-radius: 15px;
}
.cont3 h2{
	margin-bottom: 1em;
	padding: .2em 0 .5em;
	font-size: 23px;
	line-height: 1.2;
	text-align: center;
	background: #FFB9C3;
	border-radius: 0 0 15px 15px;
}
.cont3 h2 span{
	font-size: 30px;
	font-weight: bold;
}
.cont3 h3{
	font-size: 24px;
	font-weight: bold;
}
.cont3 table{
	width: 100%;
}
.cont3 table th{
	width: 230px;
	font-size: 17px;
	font-weight: bold;
	padding: .5em 0;
	border-bottom: 1px dashed #707070;
}
.cont3 table td{
	padding: .5em 0;
	border-bottom: 1px dashed #707070;
}
.cont3 table td strong{
	font-size: 39px;
	line-height: 1;
}
.cont3 table tr:last-child th,
.cont3 table tr:last-child td{
	border-bottom: none;
}
.cont3 .kome{
	font-size: 16px;
}
.cont4{
	margin-bottom: 80px;
}
.cont4 h2{
	margin-bottom: 40px;
}
.cont4 .box1{
	margin-bottom: 50px;
	text-align: left;
}
.cont4 .box1 dt{
	padding: .2em 0 .4em;
	font-size: 23px;
	font-weight: bold;
	line-height: 1.4;
	padding-left: 50px;
	background: url("../img/ic-check.svg") left center no-repeat;
}
.cont4 .box1 dd:not(:last-child){
	padding-bottom: 1em;
	margin-bottom: 1em;
	border-bottom: 1px dashed #707070;
}
.cont4 .box2{
	display: flex;
	margin-bottom: 40px;
	padding: 40px 45px;
	background: #fff;
	border-radius: 15px;
}
.cont4 .box2 dt{
	width: 160px;
	font-weight: bold;
	line-height: 1.8;
}
.cont4 .box2 dt img{
	display: block;
	margin: 0 auto;
	width: 128px;
}
.cont4 .box2 dt span{
	font-size: 32px;
}
.cont4 .box2 dd{
	flex: 1;
	padding-left: 3em;
	text-align: left;
}
.cont5{
	margin-bottom: 80px;
}
.cont5 h2{
	margin-bottom: 30px;
}
.cont5 .box1{
	margin-bottom: 30px;
	padding: 1em 1.5em;
	text-align: left;
	background: #fff;
	border: 3px solid #FF4D98;
	border-radius: 15px;
}
.cont5 .box1 dt{
	font-size: 30px;
	font-weight: bold;
	line-height: 1.5;
}
.cont5 .box2 div{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1em 0;
	text-align: left;
}
.cont5 .box2 div:not(:last-of-type){
	border-bottom: 1px dashed #707070;
}
.cont5 .box2 div dl{
	flex: 1;
	padding-right: 1em;
}
.cont5 .box2 div dl dt{
	margin-bottom: .2em;
	font-size: 23px;
	font-weight: bold;
	line-height: 1.4;
}
.cont5 .box2 div figure{
	width: 180px;
	text-align: center;
}
.cont5 .box3{
	position: relative;
	margin-bottom: 80px;
}
.cont5 .box3 figure{
	position: absolute;
	left: 0;
	top: 0;
}
.cont5 .box3 p{
	margin-bottom: .5em;
	font-size: 23px;
	font-weight: bold;
}
.cont5 .box4{
	display: flex;
	justify-content: space-between;
	margin-bottom: 80px;
}
.cont5 .box4 li{
	padding: 1em .5em;
	width: 23%;
	font-size: 23px;
	font-weight: bold;
	background: #fff;
	border: 3px solid #8EB9CF;
	border-radius: 23px;
	position: relative;
}
.cont5 .box4 li:not(:last-child):after{
	display: inline-block;
	content: "";
	position: absolute;
	left: calc(100% + 5%);
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 11px solid transparent;
	border-bottom: 11px solid transparent;
	border-left: 11px solid #EA006A;
	border-right: 0;
}
.cont6{
	padding-bottom: 80px;
}
.cont6 h2{
	margin-bottom: 1em;
	font-size: 31px;
	font-weight: bold;
	line-height: 1.6;
}
.cont6 .box1{
	margin-bottom: 30px;
}
.cont6 .box1 div{
	display: flex;
	align-items: flex-start;
	margin-bottom: 15px;
	padding: 20px 40px;
	text-align: left;
	background: #fff;
	border: 1px solid #BEBEBE;
	border-radius: 15px;
}
.cont6 .box1 div figure{
	width: 117px;
	height: 117px;
	border-radius: 50%;
}
.cont6 .box1 div p{
	padding: 0 1em 0 1em;
	width: 430px;
}
.cont6 .box1 div p span{
	font-size: 36px;
	font-weight: bold;
	line-height: 1.2;
}
.cont6 .box1 div p span small{
	font-size: 25px;
	font-weight: normal;
}
.cont6 .box1 div ul{
	flex: 1;
	padding: .5em 1em;
	font-size: 18px;
	font-weight: bold;
	background: #EDFFF7;
}
.cont6 .txt{
	font-size: 23px;
	font-weight: bold;
	margin-bottom: .5em;
}
.cont7{
	padding-top: 50px;
	padding-bottom: 50px;
}
.cont7 h2{
	font-size: 33px;
	margin-bottom: 1em;
}
.cont7 dl{
	text-align: left;
}
.cont7 dl dt{
	margin-bottom: .5em;
	padding-left: 70px;
	padding-bottom: .8em;
	font-size: 23px;
	font-weight: bold;
	border-bottom: 1px solid #FF4D98;
	position: relative;
}
.cont7 dl dt:before{
	display: inline-block;
	content: "Q";
	position: absolute;
	left: 0;
	top: 0;
	width: 48px;
	height: 48px;
	line-height: 48px;
	color: #fff;
	font-size: 23px;
	font-weight: bold;
	text-align: center;
	border-radius: 50%;
	background: #FF4D98;
}
.cont7 dl dd{
	margin-bottom: 2em;
}
.cont8{
	padding: 50px 0;
	background: #F5FAF9;
}
.cont8 h2{
	display: flex;
	align-items: center;
	margin-bottom: 1em;
	font-size: 23px;
	font-weight: bold;
}
.cont8 h2 img{
	margin-right: 1em;
}
.cont8 .wrap{
	max-width: 910px;
}
.cont8 .box1{
	display: flex;
	margin-bottom: 30px;
}
.cont8 .box1 p{
	flex: 1;
	padding-right: 1em;
	text-align: left;
}
.cont8 .box1 figure{
	width: 246px;
}
.cont8 .btn{
	margin-bottom: 60px;
}
.cont8 .box2{
	display: flex;
}
.cont8 .box2 dt img{
	width: 205px;
}
.cont8 .box2 dd{
	padding-left: 2em;
	text-align: left;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	/* ttl */
	.ttl1{
		font-size: 5.33vw;
		margin: 0 -5vw;
	}
	.ttl1:before,
	.ttl1:after{
		width: 9.86vw;
		height: 17vw;
		margin-top: .3em;
	}
	.ttl1 span{
		padding: 0;
		line-height: 1.5;
	}
	/* btn */
	.btn1{
		padding-bottom: .2em;
		width: 100%!important;
		min-height: 22.4vw;
		font-size: 5.33vw;
		background-position: right 1em center!important;
		background-size: 2.93vw auto!important;
	}
	.btn1[target="_blank"]{
		background-position: left 1em center, right 1em center!important;
		background-size: 4.48vw, 2.93vw auto!important;
	}
	.btn1[target="_blank"].wide{
		background-position: left 1em center, right 1em center!important;
		background-size: 4.48vw, 2.93vw auto!important;
	}
	.btn1 small{
		display: inline-block;
		padding-bottom: 1vw;
		line-height: 1.2;
		font-size: 3.73vw!important;
	}
	/* cont */
	.cont1wrap{
		display: block;
		max-width: inherit;
		padding: 2.4vw 6.1% 4.2vw;
	}
	.cont1wrap figure{
		width: auto;
		margin-bottom: 3vw;
	}
	.cont1wrap div{
		width: auto;
	}
	.cont1wrap div .wg{
		margin-bottom: 1vw;
	}
	.cont1wrap div .wg img{
		width: 34.1vw;
	}
	.cont1wrap div .pop{
		padding: .3em 0 .5em 1em;
		font-size: 6.66vw;
		line-height: 1.3;
		border-radius: .7em;
	}
	.cont1wrap div .pop:before{
		right: 210px;
		bottom: -20px;
		border-right: 11px solid transparent;
		border-left: 11px solid transparent;
		border-bottom: 30px solid #fff;
	}
	.cont1wrap div .pop span{
		font-size: 7.2vw;
	}
	.cont1wrap div .pop sup{
		font-size: 2.66vw;
	}
	.cont1wrap div .popkome{
		font-size: 13px;
		margin-bottom: 1vw;
	}
	.cont1wrap div .txt{
		font-size: 4.8vw;
	}
	.cont1wrap div .txt span{
		font-size: 10vw;
	}
	.cont2{
		margin-bottom: 5vw;
	}
	.cont2 .btn{
		margin-bottom: 8vw;
	}
	.cont2 .box1{
		display: block;
		text-align: center;
	}
	.cont2 .box1 dt{
		width: auto;
		margin-bottom: 1em;
	}
	.cont2 .box1 dt img{
		width: 64.56vw;
	}
	.cont2 .box1 dd{
		width: auto;
		text-align: left;
	}
	.cont2 .box1 dd .ttl{
		font-size: 5.33vw;
	}
	.cont2 .lead{
		font-size: 5vw;
	}
	.cont3{
		margin-bottom: 5vw;
		padding: 0 4% 5vw;
	}
	.cont3 h2{
		margin-bottom: 1em;
		padding: .2em 0 .5em;
		font-size: 4.53vw;
		line-height: 1.7;
		border-radius: 0 0 1em 1em;
	}
	.cont3 h2 span{
		font-size: 5.86vw;
		font-weight: bold;
	}
	.cont3 h3{
		font-size: 5.33vw;
	}
	.cont3 table th{
		display: block;
		width: auto;
		font-size: 4.53vw;
		padding: .5em 0 0;
		border-bottom: none;
	}
	.cont3 table td{
		display: block;
		padding: 0 0 .5em;
	}
	.cont3 table td strong{
		font-size: 10.4vw;
	}
	.cont3 .kome{
		font-size: 16px;
	}
	.cont4{
		margin-bottom: 15vw;
	}
	.cont4 h2{
		margin-bottom: 5vw;
	}
	.cont4 .box1{
		margin-bottom: 2em;
	}
	.cont4 .box1 dt{
		font-size: 5.33vw;
		line-height: 1.8;
		padding-left: 15.5vw;
		background-size: 9.6vw auto;
		background-position: left top .4em;
	}
	.cont4 .box2{
		display: block;
		margin: 0 -2vw 10vw;
		padding: 3vw;
		border-radius: 1em;
	}
	.cont4 .box2 dt{
		width: auto;
		margin-bottom: .5em;
	}
	.cont4 .box2 dt img{
		width: 34.13vw;
	}
	.cont4 .box2 dt span{
		font-size: 8.53vw;
	}
	.cont4 .box2 dd{
		padding-left: 0;
	}
	.cont5{
		margin-bottom: 15vw;
	}
	.cont5 h2{
		margin-bottom: 1.5em;
	}
	.cont5 .box1{
		margin-bottom: 1em;
		padding: 1em .7em;
		border-radius: 1em;
		font-size: 5.33vw;
	}
	.cont5 .box1 dt{
		font-size: 5.86vw;
		margin-bottom: .5em;
	}
	.cont5 .box2{
		margin-bottom: 2em;
	}
	.cont5 .box2 div{
		display: block;
		padding: 1em 0;
		margin: 0 -1vw;
	}
	.cont5 .box2 div dl{
		padding-right: 0;
		font-size: 5.33vw;
	}
	.cont5 .box2 div dl dt{
		margin-bottom: .2em;
		font-size: 5.33vw;
	}
	.cont5 .box2 div figure{
		width: auto;
		padding-top: .5em;
		text-align: center;
	}
	.cont5 .box3 div{
		display: flex;
		margin-bottom: .5em;
	}
	.cont5 .box3 figure{
		position: static;
		width: 25%;
	}
	.cont5 .box3 p{
		flex: 1;
		margin-bottom: 0;
		padding-left: .5em;
		font-size: 5vw;
		text-align: left;
	}
	.cont5 .box4{
		display: block;
		margin-bottom: 2em;
	}
	.cont5 .box4 li{
		margin-bottom: 1.3em;
		padding: 1em 0;
		width: auto;
		font-size: 5vw;
		border-radius: 1em;
	}
	.cont5 .box4 li:not(:last-child):after{
		display: inline-block;
		content: "";
		position: absolute;
		left: 50%;
		top: calc(100% + 2.5vw);
		transform: translateX(-50%);
		width: 0;
		height: 0;
		border-style: solid;
		border-top: 15px solid #EA006A;
		border-right: 15px solid transparent;
		border-left: 15px solid transparent;
		border-bottom: 0;
	}
	.cont6{
		padding-bottom: 15vw;
	}
	.cont6 h2{
		margin-bottom: 1.5em;
		font-size: 5vw;
		line-height: 1.8;
		text-align: left;
	}
	.cont6 .box1{
		margin-bottom: 1em;
	}
	.cont6 .box1 div{
		display: block;
		margin-bottom: 1em;
		padding: 5vw 4vw;
		border-radius: 1em;
	}
	.cont6 .box1 div figure{
		width: 31.2vw;
		height: 31.2vw;
		margin: 0 auto .2em;
	}
	.cont6 .box1 div p{
		padding: 0 0 .5em;
		width: auto;
	}
	.cont6 .box1 div p span{
		display: inline-block;
		padding-top: .2em;
		font-size: 8.53vw;
	}
	.cont6 .box1 div p span small{
		font-size: 7.2vw;
	}
	.cont6 .box1 div ul{
		padding: .5em .2em .5em .5em;
		font-size: 18px;
	}
	.cont6 .txt{
		font-size: 5vw;
	}
	.cont7{
		padding-top: 10vw;
		padding-bottom: 10vw;
	}
	.cont7 h2{
		font-size: 8.8vw;
		margin-bottom: 1em;
	}
	.cont7 dl{
		margin: 0 -2vw;
	}
	.cont7 dl dt{
		margin-bottom: .5em;
		padding-left: 16vw;
		padding-bottom: .5em;
		font-size: 5.33vw;
	}
	.cont7 dl dt:before{
		width: 12.8vw;
		height: 12.8vw;
		line-height: 12vw;
		font-size: 6.13vw;
	}
	.cont7 dl dd{
		margin-bottom: 2em;
	}
	.cont8{
		padding: 5vw 0;
	}
	.cont8 h2{
		font-size: 6.13vw;
	}
	.cont8 h2 img{
		width: 21vw;
		margin-right: .2em;
	}
	.cont8 .wrap{
		max-width: inherit;
	}
	.cont8 .box1{
		display: block;
		margin-bottom: 30px;
	}
	.cont8 .box1 p{
		padding-right: 0;
		margin-bottom: 1em;
	}
	.cont8 .box1 figure{
		width: 65.6vw;
		margin: 0 auto;
	}
	.cont8 .btn{
		margin-bottom: 10vw;
	}
	.cont8 .box2{
		display: block;
		text-align: left;
	}
	.cont8 .box2 dt img{
		width: 54.6vw;
		margin-bottom: 1em;
	}
	.cont8 .box2 dd{
		padding-left: 0;
	}
}



/*----------------------------------------------
	footer
-----------------------------------------------*/

footer{
	display: flex;
	justify-content: center;
	padding: 30px 5%;
	border-top: 1px solid #B3B3B3;
}
footer .logo{
	width: 155px;
}
footer .bnr{
	width: 236px;
	margin: 0 80px;
}
footer .copy{
	font-size: 12px;
	text-align: left;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	footer{
		display: block;
		padding: 8vw 5%;
	}
	footer .logo{
		width: 32vw;
		margin: 0 auto;
	}
	footer .bnr{
		width: 48vw;
		margin: 1em auto;
	}
	footer .copy{
		font-size: 2.4vw;
		text-align: center;
	}
}









