@charset "utf-8";


/*----------------------------------------------
	Overall settings
-----------------------------------------------*/

body{ min-width: 1100px; color: #3C5A62; text-align: center; position: relative;}
a{ color: #3C5A62; 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: "Zen Kaku Gothic New","游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;}
.mplus1{ font-family: "M PLUS 1", sans-serif; font-optical-sizing: auto; font-style: normal;}
.roboto{ font-family: "Roboto", sans-serif; font-optical-sizing: auto; font-style: normal; font-variation-settings: "wdth" 100;}
/* bg */
.bg-white{ background: #fff;}
/* color */
.white{ color: #fff;}
.red{ color: #c00;}
.green{ color: #00765E;}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	body{ min-width: inherit;}
	a:hover{ opacity: 1;}
}
@media screen and (max-width: 350px) {
	html{ font-size: 50%;}
}



/*----------------------------------------------
	header
-----------------------------------------------*/

header{
	position: absolute;
	z-index: 9;
	top: 0;
	left: 0;
	width: 100%;
	height: 80px;
	background: rgba(255,255,255,.87);
	padding-top: 20px;
}
header .header-cotact{
	position: absolute;
	top: 10px;
	right: 15px;
}
header .header-cotact a{
	color: #00765E;
	font-size: 20px;
	line-height: 1.2;
	font-weight: bold;
	display: inline-block;
	padding: 15px 35px 15px 55px;
	border-radius: 98px;
	background: url("../img/ic-mail.svg") left 17px center no-repeat #FFD54D;
	box-shadow : 2px 2px 5px rgba(0,0,0, 0.22);
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	header{
		height: 16vw;
		padding: 1vw 3vw;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	header h1{ width: 37.6vw; text-align: left;}
	header .header-cotact{ position: static;}
	header .header-cotact a{
		font-size: 3.733vw;
		padding: 2vw 4vw 2vw 10vw;
		background: url("../img/ic-mail.svg") left 2.5vw center / 6vw auto no-repeat #FFD54D;
	}
}



/*----------------------------------------------
	section
-----------------------------------------------*/

section{}
.wrap{ clear: both; box-sizing: content-box; max-width: 1000px; margin-left: auto; margin-right: auto; padding-left: 3%; padding-right: 3%;}
.ttl{
	font-size: 57px;
	font-weight: 900;
	line-height: 1.22;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.ttl{ font-size: 9.33vw; line-height: 1.7;}
}



/*----------------------------------------------
	footer
-----------------------------------------------*/

footer{ background: #FCF1CD;}
footer .copy{
	font-size: 10px;
	padding: 30px;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	footer .copy{
		font-size: 2.66vw;
		padding: 5vw 5vw 20vw;
	}
}









section{ background: url("../img/main-pc.jpg") center top / 100% auto no-repeat #FFFEF8;}
.lp1{
	padding-top: 31.5vw;
	height: 58vw;
	position: relative;
	z-index: 5;
	margin-bottom: 350px;
}
.lp1 h2{
	color: #fff;
	font-size: 57px;
	line-height: 1.63;
	text-shadow: 0 0 20px #000;
	font-weight: 900;
	padding: 0 1%;
}
.lp1 h2 span{
	text-align: left;
	display: inline-block;
}
.lp1 h2 ruby{ position: relative;
}
.lp1 h2 rt{
	font-size: 22px;
	letter-spacing: -.15em;
	position: absolute;
	top: -.5em;
	right: 0;
	left: 0;
	margin: 0 auto;
	width: fit-content;
}
.lp1 .box{
	color: #3C5A62;
	font-weight: 700;
	line-height: 1.5;
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	margin: 0 auto;
	max-width: 800px;
	border: 11px solid #FFD54D;
	background: #fff;
	padding: 45px 20px 25px;
	border-radius: 45px;
}
.lp1 .box div{
	font-size: 56px;
	line-height: .6;
	font-weight: 900;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	margin-bottom: 35px;
}
.lp1 .box span{
	color: #fff;
	font-size: 29px;
	line-height: 1.6;
	font-weight: 500;
	border-radius: 19px;
	background: #3C5A62;
	display: inline-block;
	padding: 0 20px;
	margin-bottom: 30px;
}
.lp1 .box div p.green{
	font-size: 90px;
	margin-right: 10px;
}
.lp1 .box div p.green strong{
	font-style: italic;
	font-size: 166px;
	font-weight: 700;
}
.lp2{
	padding-bottom: 60px;
	color: #3C5A62;
	overflow: hidden;
}
.lp2 h2{
	margin-bottom: .5em;
	color: #142046;
	font-size: 57px;
	font-weight: 900;
	line-height: 1.4;
}
.lp2 picture{
	display: block;
	margin-bottom: 2em;
}
.lp2 .box1{
	padding: 1em;
	font-size: 28px;
	border-radius: 30px;
	background: #E7F2F0;
}
.interested .lp2 .box1{border-color: #BC3754;}
.tenure .lp2 .box1{border-color: #008799;}
.lp2 .box1 h3{
	color: #018042;
	font-size: 32px;
	font-weight: bold;
	line-height: 1.5;
}
.interested .lp2 .box1 h3{color: #BC3754;}
.tenure .lp2 .box1 h3{color: #008799;}
.lp2 .box1 .box2{
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 44px;
	font-weight: bold;
}
.lp2 .box1 .box2 .box2-1{
	padding: 0 1.5em 0 2em;
	margin-right: 2.2em;
	font-size: 25px;
	line-height: 2.2;
	background: #FFD54D;
	position: relative;
}
.lp2 .box1 .box2 .box2-1:after{
	display: inline-block;
	content: "";
	position: absolute;
	left: 100%;
	top: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 27.5px solid transparent;
  border-bottom: 27.5px solid transparent;
  border-left: 45px solid #FFD54D;
  border-right: 0;
}
.lp2 .box1 .box2 .box2-2{
	color: #018042;
	font-size: 92px;
	font-style: italic;
	line-height: .8;
}
.interested .lp2 .box1 .box2 .box2-2{color: #BC3754;}
.tenure .lp2 .box1 .box2 .box2-2{color: #008799;}
.lp2 .box1 .box2 .box2-3{
	padding-top: .3em;
	color: #018042;
	font-size: 57px;
	font-weight: 900;
	line-height: 1;
	position: relative;
}
.interested .lp2 .box1 .box2 .box2-3{color: #BC3754;}
.tenure .lp2 .box1 .box2 .box2-3{color: #008799;}
.lp2 .box1 .box2 .box2-3 small{
	position: absolute;
	left: -.4em;
	top: 0;
	color: #3C5A62;
	font-size: 18px;
	font-weight: normal;
	white-space: nowrap;
}
.lp3{ margin-bottom: 40px;}
.lp3 ol li{
	font-weight: 700;
	display: flex;
	align-items: center;
	padding: 40px 0 45px;
	border-bottom: 1px solid #ccc;
}
.lp3 ol li:last-child{ border-bottom: none;}
.lp3 ol li figure{
	width: 215px;
	margin-right: 5px;
}
.lp3 ol li div{
	flex: 1;
	text-align: left;
}
.lp3 ol li div h3{
	font-size: 38px;
	line-height: 1.4;
	padding-left: 120px;
	position: relative;
	margin-bottom: 25px;
}
.lp3 ol li div h3 span{
	font-size: 49px;
	line-height: .9;
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	text-align: center;
	background: url("../img/melit.svg") center no-repeat;
	width: 102px;
	height: 89px;
	padding-top: 24px;
}
.lp3 ol li div h3 small{
	font-size: 14px;
	display: block;
}
.lp4{ margin-bottom: 80px;}
.lp4 h2{ margin-bottom: 40px;}
.lp4 .box{
	max-width: 800px;
	margin: 0 auto;
	border-radius: 30px;
	background: #fff;
	box-shadow: 3px 3px 6px rgba(0,0,0, 0.16);
}
.lp4 .box1{
	border-radius: 30px 30px 0 0;
	padding: 25px 0 10px;
	background: #E7F2F0;
}
.lp4 .box1 h3{
	padding-bottom: 8px;
	border-bottom: 1px dashed #707070;
	margin-bottom: 5px;
}
.lp4 .box1 h3 strong{
	font-size: 32px;
	line-height: 1.6;
	font-weight: 700;
	display: block;
}
.lp4 .box2{
	padding: 28px;
	font-weight: 700;
}
.lp4 .box2 dl{
	max-width: 615px;
	margin: 0 auto;
	border: 2px solid #FFD54D;
	border-radius: 10px;
	margin-bottom: 20px;
}
.lp4 .box2 dl dt{
	font-size: 22px;
	line-height: 1.6;
	background: #FFD54D;
	border-radius: 7px 7px 0 0;
	padding: 5px;
}
.lp4 .box2 dl dd{
	font-size: 25px;
	padding: 15px;
}
.lp4 .box2 dl dd h4{
	display: flex;
	justify-content: center;
	align-items: center;
}
.lp4 .box2 dl dd h4 em{
	font-size: 35px;
	line-height: 1.1;
	font-style: normal;
	font-weight: 500;
	display: block;
	margin-right: 10px;
}
.lp4 .box2 dl dd h4 span{
	font-size: 57px;
	line-height: 1.1;
}
.lp4 .box2 dl dd h4 span strong{
	font-size: 81px;
	font-style: italic;
}
.lp4 .box2 dl dd h4 span ruby{ position: relative;}
.lp4 .box2 dl dd h4 span ruby rt{
	color: #3C5A62;
	font-size: 14px;
	font-weight: 500;
	position: absolute;
	top: -.5em;
	right: 0;
	left: 0;
	margin: 0 auto;
}
.link{
	display: inline-block;
	background: url("../img/ic-link.svg") right center no-repeat;
	padding-right: 30px;
	min-height: 26px;
}
.lp5{ margin-bottom: 70px;}
.lp5 h2{ margin-bottom: 30px;}
.lp5 .imgleft{
	font-weight: 700;
	display: flex;
	margin-bottom: 25px;
}
.lp5 .imgleft figure{
	width: 12em;
	margin-right: 45px;
}
.lp5 .imgleft figure img{ margin-bottom: 5px;}
.lp5 .imgleft div{
	text-align: left;
	flex: 1;
}
.lp5 ul.clm3{
	display: flex;
	justify-content: space-between
}
.lp5 ul.clm3 li{ width: 31.3%;}
.lp6{
	background: #FCF1CD;
	padding: 75px 0;
	border-radius: 40px 40px 0 0;
}
.lp6 .read{ margin-bottom: 40px;}
.lp6 table{
	text-align: left;
	width: 100%;
	margin-bottom: 25px;
}
.lp6 table th,.lp6 table td{
	padding: 55px 0;
	border-bottom: 1px solid #ccc;
	vertical-align: middle;
}
.lp6 table tr:last-child th,.lp6 table tr:last-child td{ border-bottom: none;}
.lp6 table th.v-top,.lp6 table td.v-top{ vertical-align: top;}
.lp6 table th{
	font-size: 18px;
	width: 250px;
}
.lp6 table th .hissu{
	color: #fff;
	font-size: 14px;
	line-height: 1.4;
	font-weight: bold;
	display: inline-block;
	background: #D71519;
	padding: 2px 5px;
	margin-left: 7px;
}
.lp6 table td input{
	font-size: 18px;
	border: 1px solid #3C5A62;
	padding-right: 25px;
	padding-left: 25px;
	border-radius: 6px;
}
.lp6 table td input::placeholder{ color: #B5B4B4;}
.lp6 table td p{
	line-height: 1.4;
	font-weight: 700;
}
.lp6 .privacy-box{
	border-radius: 30px;
	background: #fef8e4;
	padding: 50px;
}
.btn{
	font-size: 20px;
	line-height: 1.6;
	font-weight: 700;
	text-align: center;
	background: #FFD54D;
	border-radius: 99px;
	display: inline-block;
	min-width: 332px;
	padding: 25px;
	box-shadow: 2px 2px 5px rgba(0,0,0, 0.22);
}
.fix-cotact{ display: none;}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	section{ background: url("../img/main-sp.jpg") center top / 100% auto no-repeat #FFFEF8;}
	.lp1{
		padding-top: 71.5vw;
		height: 133vw;
		margin-bottom: 75vw;
	}
	.lp1 h2{
		font-size: 7.133vw;
		line-height: 1.9;
		padding: 0 1%;
	}
	.lp1 h2 rt{ font-size: 4vw;}
	.lp1 .box{
		margin: 0 5vw;
		border: 6px solid #FFD54D;
		padding: 5vw 4vw;
		border-radius: 34px;
		line-height: 1.4;
	}
	.lp1 .box div{
		font-size: 9.33vw;
		line-height: .95;
		margin-bottom: 3vw;
	}
	.lp1 .box span{
		font-size: 4.8vw;
		display: block;
		margin-bottom: -1vw;
	}
	.lp1 .box div p.green{
		font-size: 18.133vw;
		margin-right: 0;
	}
	.lp1 .box div p.green strong{ font-size: 30.933vw; line-height: .6; letter-spacing: -.05em;}
	.lp2{
		padding-top: 3em;
		padding-bottom: 3em;
	}
	.lp2 h2{
		margin-bottom: 1em;
		font-size: 7.5vw;
		line-height: 1.3;
	}
	.lp2 picture{
		padding-left: 5%;
	}
	.lp2 .box1{
		padding: 1em .5em;
		font-size: 6.4vw;
	}
	.lp2 .box1 h3{
		font-size: 8vw;
		margin-bottom: .5em;
	}
	.lp2 .box1 .box2{
		display: block;
		font-size: 9vw;
	}
	.lp2 .box1 .box2 .box2-1{
		display: block;
		padding: 0;
		margin-right: 0;
		margin-bottom: .7em;
		font-size: 6.4vw;
	}
	.lp2 .box1 .box2 .box2-1:after{
		display: none;
	}
	.lp2 .box1 .box2 .box2-1:before{
		display: inline-block;
		content: "";
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		top: 100%;
		width: 0;
		height: 0;
		border-style: solid;
		border-right: 6px solid transparent;
		border-left: 6px solid transparent;
		border-top: 10px solid #FFD54D;
		border-bottom: 0;
	}
	.lp2 .box1 .box2 .box2-2{
		display: inline-block;
		font-size: 18vw;
	}
	.lp2 .box1 .box2 .box2-3{
		padding-top: .1em;
		font-size: 12vw;
	}
	.lp2 .box1 .box2 .box2-3 small{ font-size: 4vw;}
	.lp3{ margin-bottom: 10vw;}
	.lp3 ol li{
		display: block;
		padding: 5vw 0 8vw;
	}
	.lp3 ol li:last-child{ border-bottom: none;}
	.lp3 ol li figure{
		width: auto;
		margin: 0 0 2vw;
	}
	.lp3 ol li div h3{
		font-size: 7.433vw;
		padding-left: 29.6vw;
		margin-bottom: 7vw;
	}
	.lp3 ol li div h3 span{
		font-size: 13vw;
		background: url("../img/melit.svg") center / 26.6vw auto no-repeat;
		width: 26.66vw;
		height: 25vw;
		padding-top: 7vw;
	}
	.lp3 ol li div h3 small{ font-size: 3.733vw;}
	.lp4{ margin-bottom: 20vw;}
	.lp4 h2{ margin-bottom: 8vw;}
	.lp4 .box1{
		font-size: 4.8vw;
		border-radius: 25px 25px 0 0;
		padding: 5vw 0 2vw;
	}
	.lp4 .box1 h3{
		font-size: 4.8vw;
		padding-bottom: 2vw;
		margin-bottom: 1vw;
	}
	.lp4 .box1 h3 strong{
		font-size: 6.677vw;
		line-height: 1.3;
	}
	.lp4 .box2{ padding: 3vw 6vw;}
	.lp4 .box2 dl{ margin-bottom: 4vw;}
	.lp4 .box2 dl dt{
		font-size: 4.6vw;
		padding: 2vw .5vw;
	}
	.lp4 .box2 dl dd{
		font-size: 5.866vw;
		padding: 3vw .5vw;
	}
	.lp4 .box2 dl dd h4 em{
		font-size: 6.66vw;
		margin-right: 2vw;
	}
	.lp4 .box2 dl dd h4 span{ font-size: 10.66vw;}
	.lp4 .box2 dl dd h4 span strong{ font-size: 15.733vw;}
	.lp4 .box2 dl dd h4 span ruby rt{
		font-size: 3.466vw;
		right: inherit;
		left: -.5em;
	}
	.link{
		background: url("../img/ic-link.svg") right center / 6.933vw auto no-repeat;
		padding-right: 8vw;
		min-height: 6.933vw;
	}
	.lp5{ margin-bottom: 20vw;}
	.lp5 h2{ margin-bottom: 8vw;}
	.lp5 .imgleft{
		display: block;
		margin-bottom: 5vw;
	}
	.lp5 .imgleft figure{
		width: auto;
		margin: 0 0 4vw;
	}
	.lp5 .imgleft figure img{ margin-bottom: 1vw;}
	.lp5 ul.clm3{ display: block;}
	.lp5 ul.clm3 li{ width: 100%; margin-bottom: 3vw;}
	.lp6{
		padding: 10vw 0 10vw;
		border-radius: 30px 30px 0 0;
	}
	.lp6 .read{ margin-bottom: 4vw;}
	.lp6 table{ margin-bottom: 5vw;}
	.lp6 table th,.lp6 table td{
		padding: 7vw 0;
		border-bottom: 1px solid #ccc;
		display: block;
	}
	.lp6 table th{
		font-size: 4.8vw;
		width: auto;
		padding-bottom: 0;
		border-bottom: none;
	}
	.lp6 table th .hissu{
		font-size: 3.733vw;
		padding: .5vw 1.5vw;
		margin-left: 1.5vw;
	}
	.lp6 table td{ padding-top: 2vw;}
	.lp6 table td p{ font-size: 4.533vw;}
	.lp6 .privacy-box{ padding: 8vw 5vw; font-size: 4.8vw;}
	.btn{
		font-size: 5.33vw;
		min-width: 254px;
		padding: 4vw;
	}
	.fix-cotact{
		display: block;
		position: fixed;
		z-index: 99;
		bottom: 0;
		left: 0;
		width: 100%;
		background: #00765E;
		padding: .5em 0;
	}
	.fix-cotact a{
		color: #00765E;
		font-size: 3.733vw;
		line-height: 1.2;
		font-weight: bold;
		display: inline-block;
		padding: 2vw 4vw 2vw 10vw;
		border-radius: 98px;
		background: url("../img/ic-mail.svg") left 2.5vw center / 6vw auto no-repeat #FFD54D;
		box-shadow : 2px 2px 5px rgba(0,0,0, 0.22);
	}
}














