@charset "utf-8";
@import url('https://fonts.cdnfonts.com/css/neue-haas-grotesk-display-pro');
:root {
	--blue: #021d49;
	--aqua: #1484c3;
}

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

body{ color: #111; text-align: left;}
body.ovh{ position: fixed; left: 0; top: 0; width: 100%; height: 100vh;}
a{ color: #111; 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: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;}
.mincho{ font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;}
.helvetica{ font-family: 'Neue Haas Grotesk Display Pro', sans-serif;}
.normal{ font-weight: normal;}
.fw500{ font-weight: 500;}
.fw600{ font-weight: 600;}
.fw700{ font-weight: 700;}
/* bg */
.bg-white{ background: #fff;}
/* color */
.white{ color: #fff;}
.red{ color: #c00;}

.btn{
	color: #fff;
	font-size: 23px;
	font-weight: 600;
	line-height: 1.04;
	text-align: center;
	font-family: 'Neue Haas Grotesk Display Pro', sans-serif;
	background: var(--aqua);
	display: inline-block;
	padding: 18px 40px;
}
.bg-blue{
	color: #fff;
	background: var(--blue);
}
.bg-blue a{ color: #fff;}
.wrap{ clear: both; box-sizing: content-box; max-width: 940px; margin-left: auto; margin-right: auto; padding-left: 5%; padding-right: 5%;}
.w1200{ max-width: 1200px;}

.pagettl{
	color: #fff;
	font-size: 43px;
	line-height: 1.3;
	letter-spacing: .045em;
	text-align: center;
	font-weight: 600;
	font-family: 'Neue Haas Grotesk Display Pro', sans-serif;
	padding: 15px;
	background: #ef8205;
}

.pagetop{
	color: #fff;
	font-size: 34px;
	line-height: .01;
}
.pagetop img{ margin-bottom: 40px;}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 599px) {
	a:hover{ opacity: 1;}
	.btn{
		font-size: 18px;
		padding: 8px 10px;
	}
	.pagettl{
		font-size: 24px;
		line-height: 1;
		padding: 10px;
	}
	.pagetop{ font-size: 20px;}
	.pagetop img{
		width: 60px;
		margin-bottom: 10px;
	}
}
@media screen and (max-width: 350px) {
	html{ font-size: 50%;}
}






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

header{
	color: #fff;
	padding: 55px 70px 45px;
	background: var(--blue);
	display: flex;
	justify-content: space-between;
}
header a{ color: #fff;}
header .logo a:hover{ opacity: 1;}
header nav{ padding-top: 105px;}
header nav ul li{ margin-bottom: 20px;}
header nav ul li a.btn{
	font-size: 21px;
	padding: 20px 10px;
	min-width: 150px;
}
header.top-header{
	display: block;
	position: relative;
	padding: 0;
}
header.top-header .logo,header.top-header h2,header.top-header h3,header.top-header ul{
	position: absolute;
	z-index: 9;
}
header.top-header .logo{
	top: 20px;
	left: 67px;
}
header.top-header h2{
/*	color: rgb(51, 255, 255);*/
	color: #29c5ff;
	font-size: 2.4vw;
	line-height: 1.4;
	text-shadow: #000 3px 0 0,#000 3px 0 0,#000 3px 0 0,#000 3px 0 0,#000 3px 0 0,#000 3px 0 0,#000 3px 0 0,#000 3px 0 0,#000 3px 0 0,#000 3px 0 0,#000 3px 0 0,#000 3px 0 0,#000 3px 0 0,#000 3px 0 0;
	font-weight: bold;
	top: 3vw;
	right: 2vw;
	text-align: right;
}
header.top-header h2 strong{ font-size: 2.8vw;}
header.top-header h3{
/*	color: #fff550;*/
	color: #fcdb59;
	font-size: 2.4vw;
	line-height: 1.4;
	text-shadow: #000 3px 0 0,#000 3px 0 0,#000 3px 0 0,#000 3px 0 0,#000 3px 0 0,#000 3px 0 0,#000 3px 0 0,#000 3px 0 0,#000 3px 0 0,#000 3px 0 0,#000 3px 0 0,#000 3px 0 0,#000 3px 0 0,#000 3px 0 0;
	font-weight: bold;
	bottom: 2vw;
	right: 2vw;
	text-align: right;
}
header.top-header h3 strong{ font-size: 2.8vw;}
header.top-header ul{ position: absolute; bottom: 20px;}
header.top-header nav{ padding-top: 0;}
header.top-header ul li a.btn{
	padding: 10px 30px;
	font-size: 23px;
	min-width: 140px;
}
header.top-header ul.nav1{
	left: 545px;
	display: flex;
}
header.top-header ul.nav1 li{ /* margin: 20px 0 0;*/ margin: 0 0 0 20px;}
header.top-header ul.nav1 li a{ /*width: 140px;*/}
header.top-header ul.nav2{
	left: 213px;
	display: flex;
}
header.top-header ul.nav2 li{ margin: 0 0 0 20px;}
header.top-header .slick-slide{ height: 100vh;}
header.top-header .slick-slide img{ display: none;}
header.top-header .slick-slide:nth-child(1){ background: url("../img/slide1.jpg") left top / cover no-repeat;}
header.top-header .slick-slide:nth-child(2){ background: url("../img/slide2.jpg") left top / cover no-repeat;}
header.top-header .slick-slide:nth-child(3){ background: url("../img/slide3.jpg") left top / cover no-repeat;}
header.top-header .slick-slide:nth-child(4){ background: url("../img/slide4.jpg") left top / cover no-repeat;}
header.top-header .slick-slide:nth-child(5){ background: url("../img/slide5.jpg") left top / cover no-repeat;}
header.top-header .slick-prev,header.top-header .slick-next{ width: 43px; height: 43px; z-index: 9; top: inherit; bottom: 20px; display: block;}
header.top-header .slick-prev:hover,header.top-header .slick-next:hover{ opacity: .8;}
header.top-header .slick-prev{
	left: 65px;
	background: url("../img/prev.svg") center no-repeat;
}
header.top-header .slick-next{
	left: 162px;
	background: url("../img/next.svg") center no-repeat;
}
header.top-header .js-stop{
	position: absolute;
	z-index: 10;
	bottom: 20px;
	left: 114px;
	cursor: pointer;
}
header.top-header .js-stop:hover{ opacity: .8;}


/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 599px) {
	header{
		padding: 10px;
		align-items: center;
	}
	header .logo img{ width: 70px;}
	header nav{ padding-top: 0;}
	header nav ul{ display: flex;}
	header nav ul li{ margin: 0 0 0 10px;}
	header nav ul li a{ min-width: 90px;}
	header nav ul li a.btn{
		font-size: 10px;
		padding: 10px;
		min-width: inherit;
	}
	header.top-header nav{
		position: absolute;
		bottom: 10px;
		right: 10px;
	}
	header.top-header ul{
		position: static;
	}
	header.top-header .logo{
		top: 10px;
		left: 10px;
		bottom: inherit;
	}
	header.top-header nav{
		text-align: right;
		display: flex;
		position: absolute;
		z-index: 9;
		padding-top: 0;
	}
	header.top-header ul li a.btn{
		padding: 0;
		font-size: 2.8vw;
		line-height: 30px;
		min-width: 18vw;
	}
	header.top-header ul.nav1 li{ margin: 0;}
	header.top-header ul.nav1 li a{ width: auto;}
	header.top-header ul.nav2 li{ margin-left: 1vw;}
	header.top-header .slick-slide{ height: auto;}
	header.top-header .slick-slide:nth-child(1),header.top-header .slick-slide:nth-child(2),header.top-header .slick-slide:nth-child(3),header.top-header .slick-slide:nth-child(4),header.top-header .slick-slide:nth-child(5){ background: none;}
	header.top-header .slick-slide img{ display: block;}
	header.top-header .slick-prev,header.top-header .slick-next{ width: 30px; height: 30px; bottom: 10px;}
	header.top-header .slick-prev:hover,header.top-header .slick-next:hover{ opacity: 1;}
	header.top-header .slick-prev{
		left: 10px;
		background: url("../img/prev.svg") center / 30px auto no-repeat;
	}
	header.top-header .slick-next{
		left: 90px;
		background: url("../img/next.svg") center / 30px auto no-repeat;
	}
	header.top-header .js-stop{
		bottom: 10px;
		left: 50px;
		width: 30px;
	}
	header.top-header .js-stop:hover{ opacity: 1;}
	header.top-header h2{ text-shadow: #000 .3vw 0 0,#000 .3vw 0 0,#000 .3vw 0 0,#000 .3vw 0 0,#000 .3vw 0 0,#000 .3vw 0 0,#000 .3vw 0 0,#000 .3vw 0 0,#000 .3vw 0 0,#000 .3vw 0 0,#000 .3vw 0 0,#000 .3vw 0 0,#000 .3vw 0 0,#000 .3vw 0 0;}
	header.top-header h3{
		font-size: 2.5vw;
		top: 28vw;
		bottom: inherit;
		text-shadow: #000 .3vw 0 0,#000 .3vw 0 0,#000 .3vw 0 0,#000 .3vw 0 0,#000 .3vw 0 0,#000 .3vw 0 0,#000 .3vw 0 0,#000 .3vw 0 0,#000 .3vw 0 0,#000 .3vw 0 0,#000 .3vw 0 0,#000 .3vw 0 0,#000 .3vw 0 0,#000 .3vw 0 0;
	}
	header.top-header h3 strong{ font-size: 2.6vw;}
}






/* top */
.top-features{
	padding-top: 60px;
	border-bottom: 1px solid #000;
}
.top-features h2{
	font-size: 40px;
	letter-spacing: .05em;
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
	position: relative;
	margin-bottom: 20px;
}
.top-features h2:before{
	content: "";
	position: absolute;
	top: .65em;
	left: 0;
	width: 100%;
	height: 2px;
	display: block;
	background: #fff;
}
.top-features h2 span{
	position: relative;
	display: inline-block;
	background: var(--blue);
	padding: 0 40px;
}
.top-features .bd-btm{
	border-bottom: 1px solid #000;
	margin-bottom: 20px;
}
.top-features .clm2{
	font-size: 21px;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 30px;
}
.top-features ul{ width: 50%;}
.top-features ul li{ margin-bottom: 25px;}
.top-features .youtube{ border-bottom: 5px solid #1d2b5a;}


@media screen and (max-width: 599px) {
	.top-features{ padding-top: 30px;}
	.top-features h2{
		font-size: 28px;
		margin-bottom: 15px;
	}
	.top-features h2:before{ height: 1px;}
	.top-features h2 span{ padding: 0 20px;}
	.top-features .bd-btm{ margin-bottom: 10px;}
	.top-features .clm2{
		font-size: 19px;
		line-height: 1.4;
		display: block;
		margin-bottom: 15px;
	}
	.top-features ul{ width: 100%;}
	.top-features ul li{ margin-bottom: 15px;}

}


/* products */
.products .products-subt{
	color: #36bdef;
	font-size: 39px;
	line-height: 1.23;
	margin-bottom: 30px;
}
.products article{
	padding: 100px 0 120px;
	margin-bottom: 50px;
}
.products article:first-of-type{ padding-top: 0;}
.products p{
	font-size: 29px;
	line-height: 1.86;
}
.products #pageContent{ margin-bottom: 85px;}
.products .bd{
	font-size: 23px;
	line-height: 2;
	border: 1px solid #fff;
	padding: 30px 43px;
}
.products .bd dl{
	display: flex;
	margin-bottom: 10px;
}
.products .bd dl:last-child{ margin-bottom: 0;}
.products .bd dl dt{
	color: #36bdef;
	position: relative;
	width: 50%;
}
.products .bd dl dt:after{
	content: "";
	position: absolute;
	z-index: 1;
	top: 1em;
	left: 0;
	background: url("../img/bd-dash.svg") left center repeat-x;
	width: 98%;
	height: 2px;
	display: block;
}
.products .bd dl dt span{
	display: inline-block;
	padding-right: 7px;
	position: relative;
	z-index: 9;
	background: var(--blue);
}
.products .bd dl dd{ width: 50%;}
.products .youtube{
	padding-top: 66.66%;
	background: #fff;
	margin-bottom: 90px;
}
.products .youtube span{
	content: "";
	position: absolute;
	z-index: 99;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
	cursor: pointer;
}

@media screen and (max-width: 599px) {
	.products div.bg-blue{ padding-top: 30px;}
	.products .products-subt{
		font-size: 22px;
		margin-bottom: 20px;
	}
	.products article{
		padding: 50px 0;
		margin-bottom: 30px;
	}
	.products p{
		font-size: 20px;
		line-height: 1.6;
	}
	.products #pageContent{ margin-bottom: 45px;}
	.products .bd{
		font-size: 18px;
		line-height: 1.6;
		padding: 15px 20px;
	}
	.products .bd dl{
		display: block;
		margin-bottom: 15px;
	}
	.products .bd dl dt{ width: 100%;}
	.products .bd dl dt:after{ width: 100%;}
	.products .bd dl dd{ width: 100%;}
	.products .youtube{ margin-bottom: 50px;}
}
@media only screen and (max-width: 500px) {
	#divone {
		min-width: 200px;
		width: 1px;
		min-height: 315px;
		height: 1px
	}
}



/* facilities */
.facilities .pagettl{
	text-align: left;
	border-left: 70px solid var(--aqua);
	padding: 5px 50px;
}
.facilities .facilities-subt{
	color: #ef8205;
	font-size: 43px;
	line-height: 1.3;
	letter-spacing: .045em;
	font-weight: 600;
	margin-bottom: 35px;
}
.facilities .f25{ font-size: 25px; line-height: 2;}
.facilities .f28{ font-size: 28px; line-height: 2.24;}
.facilities figure{ margin-bottom: 50px;}
.facilities article{
	padding-bottom: 90px;
	border-bottom: 50px solid #fff;
}
.facilities article:not(:first-of-type){ padding-top: 125px;}

@media screen and (max-width: 599px) {
	.facilities{ padding-top: 30px;}
	.facilities .pagettl{
		border-left: 60px solid var(--aqua);
		padding: 10px 10px 10px 40px;
	}
	.facilities .facilities-subt{
		font-size: 28px;
		margin-bottom: 20px;
	}
	.facilities .f25{ font-size: 20px; line-height: 1.6;}
	.facilities .f28{ font-size: 21px; line-height: 1.8;}
	.facilities figure{ margin-bottom: 30px;}
	.facilities article{
		padding-bottom: 50px;
		border-bottom: 30px solid #fff;
	}
	.facilities article:not(:first-of-type){ padding-top: 60px;}
}




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

footer{
	color: #fff;
	text-align: center;
	padding: 180px 0 170px;
	background: var(--blue);
	position: relative; 
}
footer.top-footer{ padding-top: 130px;}
footer a{ color: #fff;}
footer ul{
	position: absolute;
	top: 45px;
	left: 65px;
}
footer ul li{ margin-bottom: 20px;}
footer ul li a.btn{ min-width: 170px;}
footer .f33{
	font-size: 33px;
	line-height: 1.48;
}
footer h2{ margin-bottom: 35px;}
footer .youtube{
	padding-top: 59%;
	margin-bottom: 120px;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 599px) {
	footer{ padding: 60px 0;}
	footer.top-footer{ padding-top: 80px;}
	footer ul{
		top: 15px;
		left: 0;
		display: flex;
		justify-content: center;
		width: 100%;
	}
	footer ul li{ margin: 0 5px 10px;}
	footer ul li a.btn{ min-width: 120px;}
	footer .f33{ font-size: 18px;}
	footer h2{ margin-bottom: 20px;}
	footer h2 img{ width: 120px;}
	footer .youtube{ margin-bottom: 60px;}
}




