@charset "utf-8";
html{
	-webkit-text-size-adjust: 100%;
}
body {
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size:32px;
	text-align:center;
	color:#000;
	line-height:2.1;
}

@media screen and (max-width:1080px){
	body {
		font-size:3vw;
	}
}
@media screen and (max-width:540px){
	body {
		font-size:3.2vw;
	}
}


.mplus{
	font-family: "m-plus-rounded-1p", sans-serif;
}
.rotate{
	transform:rotate(0.03deg);
}
.din{
	font-family: "din-2014-narrow", sans-serif;
	font-weight: 600;
}

a {
	color:#000;
	transition : opacity 0.4s;
	-webkit-transition : opacity 0.4s;
	opacity:1;
	outline:none;
}
a:hover {
	opacity: 0.7;
}

img{
	max-width:100%;
	vertical-align:bottom;
}

.only_smart,
.only_smart_i,
.only_smart_f{
	display:none !important;
}

@media screen and (max-width:1080px){
	.only_pc{
		display:none !important;
	}

	.only_smart{
		display:block !important;
	}
	.only_smart_i{
		display:inline-block !important;
	}
	.only_smart_f{
		display: -webkit-flex !important;
		display: flex !important;
	}
}

#wrapper{
}


/* 色関係 */
.blue{
	color:#43616f;
}
.bg_cream{
	background:url(../images/bg_cream.png);
	background-size:1080px auto;
}
@media screen and (max-width:1080px){
	.bg_cream{
		background-size:100% auto;
	}
}
.sky{
	color:#00aaff;
}
.bg_sky{
	color:#fff;
	background-color:#00aaff;
}
.bg_navy{
	color:#fff;
	background-color:#0071bb;
}
.bg_red{
	color:#fff;
	background-color:#ff0058;
}
.yellow{
	color:#ffef00;
}


/* 書式 */
.left{
	text-align:left;
}
.right{
	text-align:right;
}
.bold{
	font-weight:bold;
}
.black{
	font-weight:900;
}
.nodisplay{
	display:none;
}



/* header */
header{
}

@media screen and (max-width:1024px){
}

@media screen and (max-width:750px){
}


/* article */
article{
}


/* .cont */
.cont{
}
.cont .max{
	max-width:1080px;
	margin:auto;
}
.cont .inner{
	max-width:980px;
	width:90%;
	margin:auto;
}


/* #cont1 */
#cont1{
	padding:90px 0;
}
#cont1 .inner{
	max-width:906px;
	width:84%;
}
#cont1 .inner li{
	margin-top:150px;
	text-align:left;
}
#cont1 .inner li h3{
	font-size:51px;
	color:#414042;
}
#cont1 .inner li h3 .din{
	line-height:1;
	display:block;
	font-size:141px;
	color:#14c05f;
}
#cont1 .inner li p{
	position:relative;
}
#cont1 .inner li p img{
	max-width:355px;
	width:39%;
	position:absolute;
	right:0;
	bottom:100%;
}

@media screen and (max-width:1080px){
	#cont1{
		padding:9% 0;
	}
	#cont1 .inner li{
		margin-top:15%;
	}
	#cont1 .inner li h3{
		font-size:4.7vw;
	}
	#cont1 .inner li h3 .din{
		font-size:13vw;
	}
}


/* #cont2 */
#cont2{
	padding-bottom:70px;
	background-color:#ff0058;
}
#cont2 .inner{
	padding:3% 2% 5%;
	background-color:#fff;
}
#cont2 .inner ul li:nth-child(n+2){
	margin:10% 0;
}
#cont2 .inner > p{
	line-height:1.6;
	padding:0 5%;
	font-size:50px;
	font-weight:800;
	color:#333333;
	text-align:left;
}

@media screen and (max-width:1080px){
	#cont2{
		padding-bottom:7%;
	}
	#cont2 .inner > p{
		font-size:4.6vw;
	}
}


/* .cta */
.cta{
	padding:120px 0;
	background:url(../images/cta_bg.webp)no-repeat center center;
	background-size:cover;
}
.cta p{
	line-height:1.6;
	font-size:54px;
	font-weight:bold;
	color:#414042;
}
.cta a{
	margin-top:3%;
	display:inline-block;
	max-width:663px;
	width:61%;
}

@media screen and (max-width:1080px){
	.cta{
		padding:12% 0;
	}
	.cta p{
		font-size:5vw;
	}
}


/* #cont3 */
#cont3{
	padding:180px 0 90px;
}
#cont3 .inner{
	padding:0 3%;
}
#cont3 .inner li{
	margin-top:170px;
	text-align:left;
}
#cont3 .inner li p{
	margin-top:0.8em;
	line-height:1.6;
	font-size:42px;
	font-weight:500;
}

@media screen and (max-width:1080px){
	#cont3{
		padding:18% 0 9%;
	}
	#cont3 .inner li{
		margin-top:17%;
	}
	#cont3 .inner li p{
		font-size:3.9vw;
	}
}


/* #cont4 */
#cont4{
	padding-bottom:90px;
}
#cont4 .inner{
	margin-top:-180px;
	text-align:left;
}
#cont4 .inner > div{
	margin-bottom:90px;
	background-color:#fff;
	box-shadow:10px 10px 10px rgba(0,0,0,0.7);
}
#cont4 .inner > div dt{
	line-height:2;
	padding-left:3%;
	background:#00aaff;
}
#cont4 .inner > div dt p{
	padding-left:2em;
	font-size:54px;
	font-weight:bold;
	color:#fff;
	letter-spacing:-0.03em;
	background:url(../images/cont4_q.png)no-repeat left center;
	background-size:1.8em auto;
}
#cont4 .inner > div dd{
	padding:3%;
}
#cont4 .inner > div img{
	margin-bottom:1em;
}
#cont4 .inner > div dd p{
	padding:0.2em 0.5em 0 2.5em;
	line-height:1.6;
	font-size:48px;
	font-weight:500;
	letter-spacing:-0.03em;
	background:url(../images/cont4_a.png)no-repeat left top;
	background-size:1.9em auto;
}
#cont4 .inner > div dd p .indent{
	display:block;
	padding-left:1em;
	text-indent:-1em;
}
#cont4 .bottom{
	line-height:1.5;
	margin-top:0.8em;
	font-size:50px;
	font-weight:bold;
	color:#00aaff;
}

@media screen and (max-width:1080px){
	#cont4{
		padding-bottom:9%;
	}
	#cont4 .inner{
		margin-top:-18%;
	}
	#cont4 .inner > div{
		margin-bottom:9%;
		box-shadow:7px 7px 7px rgba(0,0,0,0.7);
	}
	#cont4 .inner > div dt p{
		font-size:5vw;
	}
	#cont4 .inner > div dd p{
		font-size:4.4vw;
	}
	#cont4 .bottom{
		font-size:4.6vw;
	}
}


/* #cont5 */
#cont5{
	padding:90px 0;
	background:url(../images/cont5_bg.webp)no-repeat center center;
	background-size:cover;
}
#cont5 .inner{
	padding:2% 1.5%;
	background-color:#fff;
}
#cont5 .inner h2 .line{
	display:inline-block;
	line-height:3;
	padding:0 1em;
	font-size:53px;
	background:url(../images/cont5_tit.png)no-repeat center center;
	background-size:100% auto;
}
#cont5 .inner h2 .fuki{
	width:7.2em;
	line-height:1.8;
	display:block;
	margin:0.2em auto 1em;
	font-size:72px;
	color:#fff;
	background-color:#14c05f;
	position:relative;
	letter-spacing:0.05em;
	text-indent:0.05em;
}
#cont5 .inner h2 .fuki:after{
	content:'';
	width:0;
	height:0;
	border-style:solid;
	border-width: 0.8em 0.4em 0 0.4em;
	border-color: #14c05f transparent transparent transparent;
	position:absolute;
	top:100%;
	left:50%;
	transform:translateX(-50%);
}
#cont5 .inner ul{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
#cont5 .inner ul li{
	width:47%;
	margin:0 1.5% 3%;
	background-color:#ffffdb;
	box-shadow:7px 7px 7px rgba(0,0,0,0.7);
}
#cont5 .inner ul li h3{
	line-height:2.6;
	font-size:42px;
	font-weight:bold;
	color:#fff;
	background-color:#ff8100;
}
#cont5 .inner ul li > div{
	padding:3% 7% 5%;
	text-align:left;
}
#cont5 .inner ul li > div dl{
	line-height:2;
	font-size:32px;
	font-weight:500;
}
#cont5 .inner ul li > div dl dt{
	float:left;
}
#cont5 .inner ul li > div dl dd{
	padding-left:4em;
}
#cont5 .inner ul li > div p{
	margin-top:0.5em;
	line-height:1.2;
	font-size:31px;
}

@media screen and (max-width:1080px){
	#cont5{
		padding:9% 0;
	}
	#cont5 .inner h2 .line{
		font-size:4.8vw;
	}
	#cont5 .inner h2 .fuki{
		font-size:6.7vw;
	}
	#cont5 .inner ul li{
		box-shadow:5px 5px 5px rgba(0,0,0,0.7);
	}
	#cont5 .inner ul li h3{
		font-size:3.9vw;
	}
	#cont5 .inner ul li > div dl{
		font-size:3vw;
	}
	#cont5 .inner ul li > div p{
		font-size:2.9vw;
	}
}


/* #cont6 */
#cont6{
	padding-bottom:120px;
}
#cont6 .inner{
	max-width:920px;
	width:85%;
}
#cont6 .inner li{
	margin-top:100px;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
#cont6 .inner li:nth-child(even){
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
#cont6 .inner li figure{
	width:18%;
	transform:translateX(-0.5em);
}
#cont6 .inner li:nth-child(even) figure{
	transform:translateX(0.5em);
}
#cont6 .inner li figure figcaption{
	font-size:32px;
	font-weight:800;
}
#cont6 .inner li p{
	width:78%;
	line-height:1.6;
	padding:3%;
	font-size:29px;
	font-weight:500;
	color:#fff;
	text-align:left;
	color:#fff;
	border-radius:1em;
	position:relative;
}
#cont6 .inner li p:before{
	content:'';
	width:0;
	height:0;
	border-style:solid;
	border-width: 0.5em 1em 0.5em 0;
	border-color: transparent #00aaff transparent transparent;
	position:absolute;
	right:100%;
	top:50%;
	transform:translateY(-50%);
}
#cont6 .inner li:nth-child(even) p:before{
	border-width: 0.5em 0 0.5em 1em;
	border-color: transparent transparent transparent #0071bb;
	right:auto;
	left:100%;
}
#cont6 .inner li:nth-child(3) p:before{
	border-color: transparent #ff0058 transparent transparent;
}

@media screen and (max-width:1080px){
	#cont6{
		padding-bottom:12%;
	}
	#cont6 .inner li{
		margin-top:10%;
	}
	#cont6 .inner li figure figcaption{
		font-size:3vw;
	}
	#cont6 .inner li p{
		font-size:2.9vw;
	}
}


/* #cont7 */
#cont7{
	padding:70px 0;
	background:url(../images/cont7_bg.png)no-repeat center center;
	background-size:cover;
}
#cont7 .inner{
	max-width:930px;
	width:88%;
	text-align:left;
}
#cont7 .inner h2{
	font-size:51px;
	font-weight:800;
	color:#414042;
}
#cont7 .inner p{
	margin-top:0.5em;
	font-weight:500;
}
#cont7 .inner .right{
	margin-top:50px;
}
#cont7 .inner .right img{
	width:11em;
}

@media screen and (max-width:1080px){
	#cont7{
		padding:7% 0;
	}
	#cont7 .inner h2{
		font-size:4.7vw;
	}
	#cont7 .inner .right{
		margin-top:5%;
	}
}


/* #contact */
#contact{
	padding:50px 0 120px;
}
#contact h2{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}
#contact h2 .sky{
	line-height:1.8;
	margin-right:0.9em;
	padding:0 0.3em;
	display:inline-block;
	font-size:40px;
	font-weight:800;
	background-color:#fff;
	position:relative;
}
#contact h2 .sky:after{
	content:'';
	width:0;
	height:0;
	border-style:solid;
	border-width: 0.3em 0 0.3em 0.6em;
	border-color: transparent transparent transparent #fff;position:absolute;
	left:100%;
	top:50%;
	transform:translateY(-50%);
}
#contact h2 .yellow{
	line-height:1.2;
	font-size:60px;
}
#contact .inner{
	margin-top:50px;
	padding:5% 1.5% 5%;
	color:#000;
	background-color:#fff;
}
#contact .inner > dl{
	padding:0 3%;
	line-height:1.4;
	text-align:left;
}
#contact .inner > dl dt{
	margin-top:2em;
	font-size:38px;
	font-weight:bold;
	color:#414042;
}
#contact .inner > dl dt.hissu:after{
	content:'必須';
	display:inline-block;
	vertical-align:0.1em;
	width:3em;
	margin-left:0.5em;
	font-size:25px;
	font-weight:bold;
	text-align:center;
	color:#fff;
	background-color:#ff0058;
	border-radius:100px;
}
#contact .inner > dl div:first-child dt{
	margin-top:0;
}
#contact .inner > dl dd.birthday ul{
	display: -webkit-flex;
	display: flex;
}
#contact .inner > dl dd.birthday ul li{
	width:25%;
}
#contact .inner > dl dd.birthday ul li:first-child{
	width:35%;
}
#contact .inner > dl dd.birthday ul li span{
	font-size:38px;
	font-weight:500;
}
#contact .inner > dl dd .selecteds{
	display: -webkit-flex;
	display: flex;
}
#contact .inner > dl dd .selecteds li{
	margin-right:1em;
}

#contact .inner section{
	margin-top:2em;
}
#contact .inner section h3{
	color:#414042;
}
#contact .inner section .scroll{
	height:400px;
	line-height:1.6;
	padding:1em;
	font-size:21px;
	text-align:left;
	overflow:auto;
	border:1px solid;
}
#contact .inner section .scroll .mt{
	margin-top:0;
}
#contact .inner section .scroll p{
	margin-top:1.6em;
}
#contact .inner section .scroll > dl{
	margin-top:1.6em;
}
#contact .inner section .scroll > dl > dt{
	font-weight:bold;
}
#contact .inner section .scroll > dl > dd{
	margin-top:1.6em;
}
#contact .inner .policy{
	margin-top:1em;
}

#contact .error_tit,
#contact .error{
	color:#f00;
}
#contact .birthday .error:nth-of-type(n+2){
	display:none;
}

@media screen and (max-width:1080px){
	#contact{
		padding:5% 0 12%;
	}
	#contact h2 .sky{
		font-size:3.7vw;
	}
	#contact h2 .yellow{
		font-size:5.6vw;
	}
	#contact .inner{
		margin-top:5%;
	}
	#contact .inner > dl dt{
		font-size:3.5vw;
	}
	#contact .inner > dl dt.hissu:after{
		font-size:2.3vw;
	}
	#contact .inner > dl dd.birthday ul li{
		width:30%;
	}
	#contact .inner > dl dd.birthday ul li:first-child{
		width:40%;
	}
	#contact .inner > dl dd.birthday ul li span{
		font-size:3.5vw;
	}
	#contact .inner section .scroll{
		height:300px;
		font-size:2vw;
	}
	#contact .inner section .scroll .mt{
		margin-top:0;
	}
}

@media screen and (max-width:540px){
	#contact .inner > dl dt{
		font-size:16px;
	}
	#contact .inner > dl dt.hissu:after{
		font-size:12px;
	}
	#contact .inner > dl dd{
		font-size:16px;
	}
	#contact .inner > dl dd.birthday ul li span{
		font-size:14px;
	}
	#contact .inner section h3{
		font-size:16px;
	}
	#contact .inner section .scroll{
		height:200px;
		font-size:12px;
	}

	#contact .error_tit,
	#contact .error{
		font-size:16px;
	}
}


/* .confirm */
#contact.confirm{
}



/* .thanks */
#contact.thanks{
	min-height:80vh;
}
#contact.thanks .inner a{
	display:inline-block;
	width:12.5em;
	line-height:2;
	margin:50px 0.5em 0;
	font-size:38px;
	font-weight:bold;
	letter-spacing:0.03em;
	text-indent:0.03em;
	color:#fff;
	background-color:#00aaff;
	border-radius:0;
	color:#fff;
	cursor:pointer;
	transition : opacity 0.4s;
	-webkit-transition : opacity 0.4s;
}
#contact.thanks .inner a:after{
	content:'';
	display:inline-block;
	width:0;
	height:0;
	margin-left:0.5em;
	border-style:solid;
	border-width: 0.4em 0 0.4em 0.6em;
	border-color: transparent transparent transparent #fff;
}

@media screen and (max-width:1080px){
	#contact.thanks .inner a{
		margin:5% 0.5em 0;
		font-size:3.5vw;
	}
}

@media screen and (max-width:540px){
	#contact.thanks .inner a{
		font-size:18px;
	}
}


/* footer */
footer{
	padding-top:50px;
}
footer .logo{
	max-width:429px;
	width:40%;
}
footer dl{
	margin-top:70px;
	line-height:1.5;
	font-size:21px;
	font-weight:500;
}
footer dl dd{
	margin-top:1em;
}
footer .copy{
	margin-top:30px;
	background-color:#43616f;
}
footer .copy span{
	line-height:3;
	display:inline-block;
	font-size:28px;
	font-weight:500;
	color:#fff;
}

@media screen and (max-width:1080px){
	footer{
		padding-top:5%;
	}
	footer dl{
		margin-top:7%;
		font-size:2.2vw;
	}
	footer .copy{
		margin-top:3%;
		background-color:#43616f;
	}
	footer .copy span{
		font-size:2.8vw;
	}
}


/* #topbtn */
#topbtn{
	width:50px;
	line-height:50px;
	font-size:21px;
	font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
	border-radius:50%;
	color:#fff;
	background-color:#00aaff;
	box-shadow:0 0 3px rgba(0,0,0,0.3);
	position:fixed;
	z-index:102;
	right:20px;
	bottom:-150px;
	-webkit-transition: bottom 0.8s;
	transition: bottom 0.8s;
}
@media screen and (max-width:750px){
	#topbtn{
		width:40px;
		line-height:40px;
		font-size:18px;
		right:15px;
	}
}


/* #bottom_nav */
#bottom_nav{
	max-width:400px;
	width:90%;
	display: inline-block;
	position:fixed;
	bottom:-300px;
	right:30px;
	z-index:100;
	-webkit-transition: bottom 0.8s;
	transition: bottom 0.8s;
	cursor:pointer;
}
#bottom_nav:hover{
	opacity:1;
}

@media screen and (max-width:540px){
	#bottom_nav{
		right:50%;
		transform:translateX(50%);
	}
}


/* #overlay */
html.overlay {
	overflow: hidden;
	height: 100%;
}
#overlay {
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	z-index: 102;
	background-color: rgba(0, 0, 0, 0.8);
	display: none;
}
#overlay .flex {
	height: 100vh;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}
#overlay .flex .bg_white{
	max-width:640px;
	width:90%;
	padding:5% 5%;
	background-color:#fff;
}
#overlay .flex .bg_white ul li{
	font-size:32px;
	font-weight:800;
}

@media screen and (max-width:640px){
	#overlay .flex .bg_white ul li{
		font-size:5vw;
	}
}






/* fadein */
.fadein {
	opacity : 0;
	-webkit-transform : translate(0, 70px);
	transform : translate(0, 70px);
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
}
.fadein_0 {
	opacity : 0;
	-webkit-transform : translate(0, 0);
	transform : translate(0, 0);
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
}

.delay1 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.2s;
	transition-delay : 0.2s;
}
.delay2 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.4s;
	transition-delay : 0.4s;
}
.delay3 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.6s;
	transition-delay : 0.6s;
}
.delay4 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.8s;
	transition-delay : 0.8s;
}
.delay5 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 1.0s;
	transition-delay : 1.0s;
}
.delay6 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 1.2s;
	transition-delay : 1.2s;
}

.fadein.scrollin,
.fadein_0.scrollin{
	opacity : 1;
	-webkit-transform : translate(0, 0);
	transform : translate(0, 0);
}