@charset "UTF-8";

#mainContents img.pc,
#mainContents br.pc,
.modal img.pc,
.modal br.pc,
#kiyaku br.pc,
a.linkLinePC,
a.linkPC,
body #mainContents .regist p.btn a.linkPC,
.modal .regist p.btn a.linkPC,
body #mainContents .twitter ol > li .text p.btn.regist a.linkPC{
	display: none;
}
body #mainContents a:hover,
body #mainContents button:hover,
body #mainContents input[type=submit]:hover,
body #mainContents input[type=button]:hover{
	opacity: 1;
}
#mainContents img{
	max-width: 100%;
}
/******************************************************************************
	common
******************************************************************************/
body #mainContents section{
	width: auto;
	min-width: 320px;
}
body #mainContents .regist p.btn{
	width: 92vw;
	margin: 0 auto 6vw;
}
body #mainContents .regist p.btn a{
	height: 26.6667vw;
	border-radius: 13.3333vw;
	font-size: 4.8vw;
}
body #mainContents .regist p.btn a span{
	font-size: 3.2vw;
}
body #mainContents .regist p.btn a span.attention{
	font-size: 2.4vw;
}
body #mainContents .regist ul.attention{
	padding: 0 4vw;
	font-size: 2.6667vw;
}
/******************************************************************************
	.header
******************************************************************************/
body #mainContents section.header .inner{
	min-height: 249.2vw;
	padding: 12vw 0;
	background-image: url("../img/bg_header_sp.jpg");
	background-size: cover;
}
body #mainContents section.header .inner div ul{
	margin-bottom: 10vw;
}
body #mainContents section.header .inner div ul li{
	width: 29.3333vw;
	height: 18.6667vw;
	margin: 0 0.6667vw;
}
body #mainContents section.header .inner div ul li a,
body #mainContents section.header .inner div ul li span.wrap{
	padding: 2vw 0 0;
	border-radius: 1.3333vw;
	font-size: 2.4vw;
}
body #mainContents section.header .inner div ul li:last-child a{
	border-width: 1px;
}
body #mainContents section.header .inner div ul li b{
	top: -2.8vw;
	width: 20vw;
	height: 6.6667vw;
	padding: 1vw 0 0;
	border-width: 1px;
	background-size: cover;
	font-size: 2.8vw;
}
body #mainContents section.header .inner div ul li b span{
	position: absolute;
	display: block;
	left: 50%;
	top: 1.3333vw;
	width: 10.6667vw;
	border-radius: 1.3333vw;
	line-height: 2.6667vw;
	font-size: 2.1333vw;
	font-family: ShinGoPro-Bold,sans-serif;
	transform: translateX(-50%);
	color: #fff;
}
body #mainContents section.header .inner div ul li b strong{
	margin: 0 2px;
	font-size: 3.2vw;
	transform: translateY(0);
}
body #mainContents section.header .inner div p{
	margin: 0 0 4vw;
	font-size: 4vw;
}
body #mainContents section.header .inner div p.strong{
	font-size: 5.8667vw;
	line-height: 140%;
}
/******************************************************************************
	.challenge
******************************************************************************/
body #mainContents .challenge h2{
	padding: 15vw 0 4vw;
	font-size: 4vw;
	line-height: 200%;
}
body #mainContents .challenge h2 strong{
	font-size: 7.4667vw;
}
body #mainContents .challenge h2 span{
	left: calc(50% - 12vw);
	width: 24vw;
	height: 8vw;
	padding: 0 0 1vw;
	background: #fff;
	font-size: 4vw;
}
body #mainContents .challenge h2 span b{
	margin: 0 0.5vw;
	font-size: 5.3333vw;
	transform: translateY(0);
}
body #mainContents .challenge h2 span:after{
	bottom: calc(1px - 4vw);
	border-width: 4vw 12vw 0 12vw;
}
body #mainContents .challenge p.close{
	padding: 2.6667vw 0;
	font-size: 4.5333vw;
}
body #mainContents .challenge p.close a{
	width: 92vw;
	height: 10.6vw;
	margin: 2vw auto 0;
	border-radius: 5.3vw;
	font-size: 3.4667vw;
}
/******************************************************************************
	#challenge3
******************************************************************************/
body #mainContents  #challenge3 h2{
	background-image: url("../img/bg_challenge3_title_sp.jpg");
	background-position: center top;
	font-size: 3.2vw;
}
body #mainContents  #challenge3 h2 strong{
	font-size: 6.1333vw;
	line-height: 140%;
}
body #mainContents #challenge3 > figure{
	margin: 0;
}
/******************************************************************************
	.about
******************************************************************************/
body #mainContents .about{
	padding: 16vw 0;
	background-image: url("../img/bg_about_sp.jpg");
	background-size: 100% 100%;
}
body #mainContents .about h2{
	margin: 0 0 10vw;
	font-size: 5.3333vw;
}
body #mainContents .about p{
	margin: 0 0 8vw;
	font-size: 3.4667vw;
}
/******************************************************************************
	#floatingNav
******************************************************************************/
body #mainContents #floatingNav{
	display: none;
	right: 0;
	top: auto;
	bottom: 2vw;
	transform: translateY(0);
}
body #mainContents #floatingNav p a{
	width: auto;
	padding: 2vw 6vw 2vw 2.6667vw;
	background-size: 2vw auto;
	background-position: right 2vw center;
	font-size: 3.2vw;
	line-height: 120%;
}
body #mainContents #floatingNav p a span{
	display: inline;
}
body #mainContents #floatingNav p a span.rotate{
	transform:rotate(0) translateX(0);
}
/******************************************************************************
	#addLink
******************************************************************************/
body #mainContents #addLink{
	padding: 0;
	background: #000;
	font-size: 20px;
}
body #addLink p{
	position: relative;
	margin: 0;
	padding: 20px 15px;
	border-bottom: #4c4c4c 1px solid;
	text-align: left;
}
body #addLink p a{
	background: none;
	position: relative;
	display: block;
	color: #fff;
	text-decoration: none;
	font-size: 15px;
	line-height: 137.5%;
}
body #addLink p a:before{
	border-top: solid 2px;
	content: '';
	display: inline-block;
	height: 0;
	right: 0;
	opacity: 1;
	position: absolute;
	width: 7px;
	color: #c3002f;
	padding: 0;
	margin-top: 0px;
	top: 12px;
	transform: rotate(40deg);
	right: 5px;
}
body #addLink p a:after{
	border-top: solid 2px;
	content: '';
	display: inline-block;
	height: 0;
	right: 0;
	opacity: 1;
	position: absolute;
	width: 7px;
	color: #c3002f;
	padding: 0;
	margin-top: 0px;
	top: 12px;
	transform: rotate(-40deg);
}
/******************************************************************************
	.modal
******************************************************************************/
.fancybox-slide--html .fancybox-close-small{
	width: 5.3333vw;
	height: 5.3333vw;
	background-size: 100% auto;
}
.fancybox-slide--html .fancybox-close-small:hover{
	opacity: 1;
}
.fancybox-button svg{
	display: none;
}
.modal{
	box-sizing: border-box;
	padding: 8vw 0 0;
}
.modal .inner{
	border-radius: 2vw;
}
.modal .inner h2{
	padding: 28vw 0 0;
	margin: 0 0 4vw;
	background-position: center top 4.2667vw;
	background-size: 25.0667vw;
	font-size: 6.1333vw;
}
.modal#marinos .inner h2{
	padding-top: 30vw;
	background-size: 32.2667vw;
}
.modal#mermaids .inner h2{
	padding-top: 24vw;
	background-size: 42.6667vw auto;
}
.modal .inner .overview{
	padding: 4vw;
	background: #f2f2f2;
}
.modal .inner .overview dl{
	margin: 0;
	padding: 0;
}
.modal .inner .overview dl dt{
	margin: 0 0 2vw;
	font-size: 5.3333vw;
}
.modal .inner .overview dl dt span{
	padding: 0 2vw;
	font-size: 3.4667vw;
}
.modal .inner .overview dl dd{
	font-size: 3.7333vw;
}
.modal .inner .detail{
	padding: 4vw 4vw 6vw;
}
.modal .inner .detail > dl{
	display: block;
	margin: 0 0 8vw;
}
.modal .inner .detail > dl:last-of-type{
	margin: 0;
}
.modal .inner .detail > dl > dt{
	width: 32vw;
	margin: 0 0 4vw;
	border-width: 1px;
	border-radius: 2vw;
	line-height: 8vw;
	font-size: 4vw;
}
.modal .inner .detail > dl > dd{
	width: auto;
	margin: 0;
	line-height: 140%;
	font-size: 4vw;
}
.modal .inner .detail > dl.default > dd{
	font-size: 4.8vw;
}
.modal .inner .detail > dl.date > dd > strong{
	font-size: 4.8vw
}
.modal .inner .detail > dl.default > dd span{
	display: block;
	margin: 0;
	font-size: 3.2vw;
}
.modal .inner .detail > dl.date > dd dl{
	margin: 2vw 0 0;
}
.modal .inner .detail > dl.date > dd dl dt{
	line-height: 4.8vw;
	padding: 0 2vw;
	font-size: 2.6667vw;
}
.modal .inner .detail > dl.date > dd dl dt:after{
	right: -2vw;
	border-width: 2.4vw 0 2.4vw 2.2vw;
}
.modal .inner .detail > dl.date > dd dl dd{
	margin: 0 0 0 4vw;
	line-height: 4.8vw;
	font-size: 4vw;
}
.modal .inner .detail > dl.coach > dd{
	display: block;
	padding: 0;
}
.modal .inner .detail > dl.coach > dd div{
	max-width: initial;
	width: 100%;
	margin: 4vw 0 0;
}
.modal .inner .detail > dl.coach > dd div figure{
	margin: 0 0 2vw;
}
.modal .inner .detail > dl.coach > dd div dl dt{
	margin: 0 0 2vw;
	font-size: 4vw;
}
.modal .inner .detail > dl.coach > dd div dl dd{
	font-size: 3.2vw;
}
.modal .inner .detail > dl.coach > dd div.full{
	text-align: left;
}
.modal .inner .detail > ul.attention{
	margin: 6vw 0 0;
}
.modal .inner .detail > ul.attention li{
	font-size: 2.6667vw;
}

.modal .inner .regist{
	max-width: 84vw;
	margin: 0 auto;
	padding: 8vw 0;
}
.modal .inner .regist p.btn{
	margin: 2vw 0;
	width: auto;
	max-width: 100%;
}
.modal .inner .regist p.btn a{
	padding: 4vw 0;
	font-size: 4.8vw;
}
.modal .inner .regist p.text{
	margin: 0;
	font-size: 3.2vw;
}
.modal .inner .regist p.period{
	margin: 0;
	font-size: 3.2vw;
}

