@charset "utf-8";
*{margin:0;padding:0;text-align:left;}hr{display:none;line-height:0;font-size:0;padding:0;margin:0;border:none;}a{color:inherit;text-decoration:none;}ul,ol{list-style:none;}address{font-style:normal;}img{border:none;width:auto;font-size:0;line-height:0;}html,body{width:100%;height:auto;}html{-moz-osx-font-smoothing: grayscale;-webkit-font-smoothing: antialiased;text-rendering: optimizeLegibility;}.clear:after,.clear:before{content:"";display:block;overflow:hidden;height:0;}.clear:after{clear:both;}.clear{zoom:1;}
/*******************************************
	base
*******************************************/
html{
	font-size:62.5%;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
body{
	font-size:1.0em;
	line-height:1.4;
	background:#fbfaf0;
	color:#333;
	position:relative;
}
img{
	max-width:100%;
}
p{
	line-height:1.4;
}
#main{
	padding:0;
	margin:0;
}
.pc{
	display:block;
}
.sp{
	display:none;
}
.anchor{
	/*ヘッダー固定用*/
}
.hover{
	-webkit-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
@media screen and (max-width: 768px) {
	#wrap{
		min-width:0;
	}
	.pc{
		display:none;
	}
	.sp{
		display:block;
	}
	.anchor{
		/*ヘッダー固定用*/
	}
}
/*------------------------------------------
	wrapper
------------------------------------------*/
.wide{
	width:100%;
}
.outer{
	max-width:1200px;
	width:100%;
	min-width:1200px;
	margin:0 auto;
}
.inner{
	max-width:960px;
	min-width:960px;
	width:auto;
	margin:0 auto;
}
@media screen and (max-width: 768px) {
	.inner,
	.outer{
		width:100%;
		min-width:0;
		max-width:768px;
	}
}
/*------------------------------------------
	common
------------------------------------------*/
.detail{
	padding:0 0 90px;
	background-color: #F2F2F2;
}
.detail h3{
	width: 253px;
	margin:0 auto 30px;
	padding:0.6em;
	color:#fff;
	font-size:2.2rem;
	font-weight:normal;
	text-align: center;
	border-radius: 50px;
}
.detail #regular h3 {
	background: linear-gradient(90deg, rgba(0,185,239,1) 0%, rgba(0,66,142,1) 100%);
}
.detail #technical h3 {
	background: linear-gradient(90deg, rgba(100,192,171,1) 0%, rgba(0,137,101,1) 100%);
}
.detail table,
.detail tbody,
.detail tr,
.detail th,
.detail td{
	width:100%;
	border-collapse: collapse;
	border:none;
	margin:0;
	padding:0;
}
.detail table{
	margin:0 auto 30px;
	border-right:1px solid #aeabab;
	border-bottom:1px solid #aeabab;
}
.detail th,
.detail td{
	border-left:1px solid #aeabab;
	border-top:1px solid #aeabab;
	padding:10px;
	font-size:1.6rem;
}
.detail th{
	width:200px;
	background:#d9d9d6;
	font-weight:normal;
	vertical-align: top;
}
.detail td{
	width:760px;
	background:#fff;
	line-height:1.8;
}
.detail td li{
	text-indent:-1em;
	padding-left:1em;
}
.detail dl{
	background:#fff;
	padding: 28px 0 25px;
}
.detail #regular dl {
	border:3px solid #00A0E9;
}
.detail #technical dl {
	border:3px solid #009D85;
}
.detail dl dt{
	font-size:1.6rem;
	text-align:center;
	font-weight: bold;
	margin:0 auto 10px
}
.detail dl dd{
	text-align:center;
	font-size:1.6rem;
	font-weight: bold;
}
.detail #regular dl dd {
	color: #00A0E9;
}
.detail #technical dl dd {
	color: #009D85;
}
.detail dl dd b{
	font-size:3.6rem;
}
.detail dl dd small{
	display: block;
	font-size:1.8rem;
	font-weight: normal;
	text-align: center;
	color: #333;
}
.detail p.stop {
	margin: 0 0 25px;
	font-size: 2rem;
	text-align: center;
}
@media screen and (max-width: 768px) {
	.detail{
		padding:0 3.125% 12%;
	}
	#box03.detail {
		padding: 0 3.125% 15%;
	}
	.detail h3{
		width: 56.61971830985915%;
		padding: 0.4em;
		font-size:2.0rem;
		margin:0 auto 23px;
	}
	.detail table{
		margin:0 auto 8%;
	}
	.detail th,
	.detail td{
		padding:3%;
		display: block;
		width: 100%;
		box-sizing: border-box;
	}
	.detail dl{
		border:3px solid #ca6278;
		background:#fff;
		padding:20px 0;
	}
	.detail dl dt{
		font-size:1.6rem;
		text-align:center;
		margin:0 auto 8px
	}
	.detail dl dd{
		text-align:center;
		font-size:1.6rem;
	}
	.detail dl dd b{
		font-size:3.6rem;
		padding-right:0;
	}
	.detail dl dd small{
		font-size:1.6rem;
		display:block;
		text-align:center;
	}
	.detail p.stop {
		margin: 0 0 20px;
		font-size: 1.8rem;
	}
}
/*------------------------------------------
	header
------------------------------------------*/
header .inner{
	position:relative;
}
header h1{
	width:266px;
	position:absolute;
	top:10px;
	left:0;
}

@media screen and (max-width: 768px) {
	header{
		padding:0 3.125%;
	}
	header h1{
		width:45%;
	}
}
/*------------------------------------------
	footer
------------------------------------------*/
footer{
	background:#F2F2F2;
	position:relative;
}
footer aside.gotop{
	background:#fff;
	opacity:0;
	position:fixed;
	width:90px;
	height:90px;
	border-radius:100%;
	bottom:80px;
	right:10px;
	overflow:hidden;
	box-shadow:0 0 10px rgba(0,0,0,0.4);
	-webkit-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
footer aside.gotop.on{
	opacity:1;
}
footer aside.gotop a{
	text-align:center;
	display:flex;
	align-items:center;
	justify-content:center;
	flex-direction:column;
	font-size:1.4rem;
	height:100%;
	width:100%;
}
footer aside.gotop a:before{
	content:"";
	display:block;
	width:10px;
	height:10px;
	background:url(../img/nav_arrow_t.png) no-repeat;
	background-size:contain;
	margin:0 auto 1.0rem;
}
footer p{
	color:#333;
	text-align:center;
	font-size:1.4rem;
	padding:110px 0 40px;
}
@media screen and (max-width: 768px) {
	footer{
		padding:0 3.125%;
	}
	footer p{
		font-size:1.4rem;
		padding: 55px 0 25px;
	}
}
/*------------------------------------------
	nav
------------------------------------------*/
#nav{
	background-color: #F2F2F2;
}
#nav.nav__top {
	padding: 75px 0 92px;
}
#nav ul li{
	float:left;
	width:475px;
	margin-right:10px;
}
#nav ul li:last-child{
	margin:0;
}
#nav ul li a{
	display:block;
	transition: opacity 0.2s 0s ease;
}
#nav ul li a.regular {
	background: linear-gradient(90deg, rgba(0,185,239,1) 0%, rgba(0,66,142,1) 100%);
}
#nav ul li a.technical {
	background: linear-gradient(90deg, rgba(100,192,171,1) 0%, rgba(0,137,101,1) 100%);
}
#nav ul li a.hover.ov{
	opacity: 0.5;
}
#nav ul li dl{
	border:1px solid #fff;
	padding:20px 0;
}
#nav ul li dt{
	font-size:3.6rem;
	color:#fff;
	text-align:center;
	margin:0 auto 5px;
}
#nav ul li dd{
	font-size:1.4rem;
	color:#fff;
	text-align:center;
}
@media screen and (max-width: 768px) {
	#nav{
		padding: 0 2.666666666666667%;
	}
	#nav.nav__top {
		padding: 55px 2.666666666666667%;
	}
	#nav ul li{
		width:100%;
		margin-right:0;
		margin: 0 0 14px;
	}
	#nav ul li dl{
		padding:20px 0;
	}
	#nav ul li dt{
		font-size:2.4rem;
		margin:0 auto 9px;
	}
}
/*------------------------------------------
	visual
------------------------------------------*/
.visual {
	margin: 0 0 66px;
}
.visual img {
	width: 100%;
}
@media screen and (max-width: 768px) {
	.visual {
		margin: 0 0 60px;
	}
}
/*------------------------------------------
	box02
------------------------------------------*/

/* floating_bnr */
.floating__bnr{
	opacity: 0;
	 visibility: hidden;
	 pointer-events: none;
	 transition: opacity 0.5s ease, visibility 0.5s ease;

 }
 .floating__bnr a::before{
	display: none;
 }
 .floating__bnr.on{
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	/* right: 0;
	bottom: 200px; */
 }
 .floating__bnr li.bnr {
	position: fixed;
	right: 0;
	bottom: 200px;
	width: 320px;
	z-index: 10;
	transition: opacity 0.2s 0s ease;
 }
 .floating__bnr li.bnr.js--ov {
	opacity: 0.7;
 }
 .floating__bnr li.bnr span.hover {
	position: absolute;
	top: 0;
	right: 0;
	background: rgba(34, 34, 34, 0.8);
	color: #fff;
	padding: 2px;
	font-size: 1.5rem;
	cursor: pointer;
	z-index: 2000;
	line-height: 1;
 }
 .floating__bnr li.bnr aside {
	position: absolute;
	top: 0;
	right: 0;
	background: rgba(34, 34, 34, 0.8);
	color: #fff;
	padding: 1px;
	font-size: 1.5rem;
	cursor: pointer;
	z-index: 2000;
	line-height: 1;
}
 @media (max-width: 750px){
	.floating__bnr li.bnr{
	  bottom: 180px;
			 width: 100%;
			 font-size: 0;
			 line-height: 0;
	}
	.floating__bnr li.bnr span.hover{
		font-size: 2.0rem;
		padding: 2px 4px;
	}
 }

 .box04 {
	margin: 0 0 64px;
 }
 .box04 dt {
	font-size: 3.6rem;
	margin: 0 0 27px;
	text-align: center;
 }
 .box04 dd p {
	font-size: 1.6rem;
	text-align: center;
 }
 @media screen and (max-width: 768px) {
	.box04 {
		padding: 0 2.666666666666667%;
		margin: 0 0 64px;
	 }
	 .box04 dt {
		font-size: 2.4rem;
	 }
	 .box04 dd p {
		text-align: left;
	 }
 }