@charset "UTF-8";

#mainContents img.pc,
#mainContents br.pc,
#kiyaku br.pc,
a.linkLinePC,
a.linkPC{
	display: none !important;
}
#mainContents img{
	max-width: 100%;
}
/******************************************************************************
	common
******************************************************************************/
body #mainContents section{
	width: auto;
	min-width: 320px;
}
body #mainContents section ul.attention li{
	font-size: 2.6667vw;
}
body #mainContents .regist{
	margin: 8vw auto;
}
body #mainContents .regist ul{
	flex-direction: column;
	width: 92vw;
	margin: 0 auto;
}
body #mainContents .regist ul li{
	position: relative;
	width: auto;
	padding: 0;
	margin: 0 0 4vw;
}
body #mainContents .regist ul li p.text{
	margin: 0 0 2vw;
	font-size: 4.4vw;
}
body #mainContents .regist ul li p.btn{
	width: auto;
}
body #mainContents .regist ul li p.btn a{
	line-height: 16vw;
	background-position: right 4vw center;
	background-size: 2.6667vw auto;
	font-size: 4.8vw;
	box-shadow: 0 0.8vw 0 0 rgba(0,0,0,0.1);
}
body #mainContents .regist ul li p.before{
	font-size: 3.4667vw;
}
body #mainContents .regist ul li p.before strong{
	font-size: 4.5333vw;
}
body #mainContents .regist ul li p.after{
	margin: 2vw 0 0;
	font-size: 2.6667vw;
}
body #mainContents .regist p.period{
	font-size: 3.2vw;
}
body #mainContents .regist p.kiyaku{
	margin: 2vw 0 0;
	font-size: 3.2vw;
}
body #mainContents div.error{
	margin: 4vw;
	padding: 4vw;
	font-size: 3.7333vw;
}
/******************************************************************************
	.header
******************************************************************************/
body #mainContents section.header{
	padding: 0 0 16vw;
}
body #mainContents section.header #mainSlider button.slick-arrow{
	position: absolute;
	top: 59.3333vw;
	left: auto;
	right: 4vw;
	width: 4vw;
	height: 7.4667vw;
	background-size: 100% auto;
}
body #mainContents section.header #mainSlider button.slick-prev{
	right: 22vw;
}
body #mainContents section.header #mainSlider button.slick-arrow:before{
	display: none;
}
body #mainContents section.header p.number{
	top: 59.3333vw;
	right: 8vw;
	width: 14vw;
	height: 7.4667vw;
	font-size: 3.2vw;
}
body #mainContents section.header p.number span.slash{
	margin: 0 1vw;
}
body #mainContents section.header h1{
	height: auto;
	margin: -26.6667vw 0 0;
	padding: 21.3333vw 4vw 0;
	background-image: url("../img/bg_main_sp.png");
	background-size: 110% auto;
	background-position: center top;
	font-size: 7vw;
}
body #mainContents section.header h1 span{
	line-height: 7vw;
}
body #mainContents section.header h1 > span{
	margin: 4vw 0 0;
	padding: 0 0 4vw;
}
body #mainContents section.header h1 > span:after{
	border-bottom: #fff 0.8vw solid;
}
body #mainContents section.header h1 > span{
	position: relative;
	margin: 4vw 0 0;
	padding: 0 0 2vw;
}
body #mainContents section.header h1 span.subtitle{
	padding: 0 1.3333vw;
	font-size: 3.2vw;
	line-height: 5.3333vw;
}
body #mainContents section.header h1 span.wrap{
	flex-direction: column;
	align-items: flex-start;
	padding: 0;
	margin: 0;
}
body #mainContents section.header h1 span.wrap:after{
	border: none;
}
body #mainContents section.header h1 span.wrap span{
	position: relative;
	margin: 4vw 0 0;
	padding: 0 0 2vw;
}
body #mainContents section.header h1 span.wrap span:after{
	content: " ";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	border-bottom: #fff 0.8vw solid;
}
body #mainContents section.header .regist{
	margin-bottom: 0;
}
/******************************************************************************
	.about
******************************************************************************/
body #mainContents section.about{
	padding: 28.6667vw 4vw 16vw;
	background-image: url("../img/bg_about_title.png"),url("../img/bg_about_sp.png");
	background-position: center 18.9333vw,center center;
	background-size: 89.3333vw auto,cover;
}
body #mainContents section.about h2{
	margin: 0 0 8vw;
	font-size: 8.2667vw;
}
body #mainContents section.about .category,
body #mainContents section.about .present{
	max-width: initial;
	padding: 5.3333vw 4vw;
}
body #mainContents section.about .category{
	margin-bottom: 9.3333vw;
}
body #mainContents section.about .category .deco,
body #mainContents section.about .present .deco{
	left: 2.6666vw;
	top: -2.6666vw;
	width: calc(100% - 5.3332vw);
	height: 2.6666vw;
}
body #mainContents section.about .category .deco.bottom,
body #mainContents section.about .present .deco.bottom{
	bottom: -2.6666vw;
}
body #mainContents section.about .category .deco.top:before,
body #mainContents section.about .present .deco.top:before{
	left: -2.6666vw;
	border-width: 0 0 2.6666vw 2.6666vw;
}
body #mainContents section.about .category .deco.top:after,
body #mainContents section.about .present .deco.top:after{
	right: -2.6666vw;
	border-width: 2.6666vw 0 0 2.6666vw;
}
body #mainContents section.about .category .deco.bottom:before,
body #mainContents section.about .present .deco.bottom:before{
	left: -2.6666vw;
	border-width: 0 2.6666vw 2.6666vw 0;
}
body #mainContents section.about .category .deco.bottom:after,
body #mainContents section.about .present .deco.bottom:after{
	right: -2.6666vw;
	border-width: 2.6666vw 2.6666vw 0 0;
}
body #mainContents section.about .category h3{
	margin: 0 -4vw 8vw;
	font-size: 4.8vw;
}
body #mainContents section.about .category ul{
	display: block;
	margin: 0 0 8vw;
}
body #mainContents section.about .category ul li{
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	max-width: initial;
	width: auto;
	height: 29.8667vw;
	padding: 0 0 0 29.8667vw;
	margin: 0 0 1.3333vw;
}
body #mainContents section.about .category ul li figure{
	position: absolute;
	left: 0;
	top: 0;
	width: 29.8667vw;
	height: 29.8667vw;
	margin: 0;
}
body #mainContents section.about .category ul li figure img{
	width: 100%;
}
body #mainContents section.about .category ul li .header{
	width: 40.6vw;
	height: 8vw;
	padding: 0 4vw;
	margin: 0 auto 2vw;
	background-size: auto 8vw,auto 8vw;
}
body #mainContents section.about .category ul li .header h4{
	margin-bottom: 1vw;
	font-size: 3.7333vw;
}
body #mainContents section.about .category ul li .header p{
	font-size: 2.6667vw;
}
body #mainContents section.about .category ul li > p{
	font-size: 2.4vw;
}
body #mainContents section.about .category ul li > p u:after{
	border-bottom-width: 1px;
}
body #mainContents section.about .category ul li > p strong{
	font-family: ShinGoPro-Bold,sans-serif;
}
body #mainContents section.about .category > p{
	font-size: 3.7333vw;
}
body #mainContents section.about .present{
	display: block;
}
body #mainContents section.about .present figure{
	width: 78.2667vw;
	margin: 0 auto;
}
body #mainContents section.about .present .text{
	position: relative;
	margin: 0;
}
body #mainContents section.about .present .text h3{
	margin: 2.6667vw 0 2vw;
	font-size: 4vw;
}
body #mainContents section.about .present .text h3 strong{
	font-size: 5.6vw;
}
body #mainContents section.about .present .text p.subtitle{
	padding: 0 0 1vw;
	font-size: 3.2vw;
	border-bottom-width: 0.5333vw;
}
body #mainContents section.about .present .text p.number{
	position: absolute;
	right: 2vw;
	bottom: 9vw;
	padding: 0 6vw 0 8vw;
	margin: 0;
	font-size: 4vw;
	line-height: 8vw;
}
body #mainContents section.about .present .text p.number:before{
	left: auto;
	right: 0;
	top: -0.5vw;
	border-width: 0 0 9vw 2vw;
	border-color: transparent transparent #fff transparent;
}
body #mainContents section.about .present .text p.number:after{
	right: -auto;
	left: 0;
	top: -0.5vw;
	border-width: 9vw 2vw 0 0;
	border-color: #fff transparent transparent transparent;
}
body #mainContents section.about .present .text p.number strong{
	position: absolute;
	left: 3.7vw;
	top: -0.3vw;
	font-size: 6vw;
}
body #mainContents section.about .present .text ul.attention{
	margin: 0;
}
body #mainContents section.about .present .text ul.attention li{
	font-size: 2.6667vw;
}
/******************************************************************************
	.lineup
******************************************************************************/
body #mainContents section.lineup{
	padding: 24vw 4vw 0;
	background-image: url("../img/bg_lineup_sp.png");
	background-size: 100% auto;
}
body #mainContents section.lineup h2{
	margin: 0 0 6vw;
	font-size: 8.2667vw;
}
body #mainContents section.lineup > p{
	margin: 0 0 6vw;
	padding: 0 0 0 14.6667vw;
	background-size: 10.6667vw auto;
	font-size: 3.7333vw;
}
body #mainContents section.lineup ul.list{
	width: 92vw;
}
body #mainContents section.lineup ul.list li{
	max-width: initial;
	width: 45.3333vw;
	margin: 0 0 2.4vw;
	text-align: left;
}
body #mainContents section.lineup ul.list li{
	padding: 0 2.6667vw 26vw;
}
body #mainContents section.lineup ul.list li figure{
	margin: 0 -2.6667vw 2.6667vw;
}
body #mainContents section.lineup ul.list li h3{
	margin: 0 0 1.3333vw;
	font-size: 3.2vw;
}
body #mainContents section.lineup ul.list li p{
	font-size: 2.1333vw;
}
body #mainContents section.lineup ul.list li p.label{
	left: 0.6667vw;
	top: -1vw;
	width: 6.9333vw;
	height: 6.9333vw;
	font-size: 3.2vw;
}
body #mainContents section.lineup ul.list li p.label:after{
	right: -1vw;
	border-width: 1vw 0 0 1vw;
}
body #mainContents section.lineup ul.list li p.btn,
body #mainContents section.lineup ul.list li p.movie{
	left: 4vw;
	bottom: 14vw;
	width: calc(100% - 8vw);
	text-align: center;
}
body #mainContents section.lineup ul.list li p.movie{
	bottom: 4vw;
}
body #mainContents section.lineup ul.list li p.btn a,
body #mainContents section.lineup ul.list li p.movie a{
	padding-right: 4vw;
	background-position: right 2.6667vw center;
	background-size: 1.6667vw auto;
	line-height: 8vw;
}
/******************************************************************************
	.movie
******************************************************************************/
body #mainContents section.movie{
	padding: 24vw 4vw 24vw;
	background-image: url("../img/bg_movie_sp.jpg");
	background-size: 100% auto;
	text-align: center;
}
body #mainContents section.movie.detail{
	margin-left: -4vw;
	margin-right: -4vw;
	padding-top: 12vw;
	padding-bottom: 8vw;
	background: transparent;
}
body #mainContents section.movie .movie{
	max-width: initial;
	margin: 0 auto 4vw;
}
body #mainContents section.movie .movie iframe{
	width: 100%;
	height: 100%;
}
body #mainContents section.movie p{
	font-size: 3.7333vw;
}
body #mainContents section.movie h2{
	margin: 0 0 2vw;
	font-size: 7.2vw;
}
body #mainContents section.movie h2 + p{
	font-size: 3.2vw;
}
/******************************************************************************
	.bnr
******************************************************************************/
body #mainContents section.bnr{
	padding: 12vw 4vw 12vw;
	background: #000;
	text-align: center;
}
body #mainContents section.bnr h2{
	margin: 1vw 0 6vw;
	font-size: 4.8vw;
}
body #mainContents section.bnr p{
	font-size: 3.7333vw;
}
/******************************************************************************
	.detailKV
******************************************************************************/
body #mainContents figure.detailKV{
	max-width: initial;
	min-width: initial;
	width: 100%;
	margin: 0 auto;
}
body #mainContents figure.detailKV img{
	width: 100%;
}
/******************************************************************************
	.custom
******************************************************************************/
body #mainContents section.custom{
	padding: 20vw 4vw 0;
	background-image: url("../img/bg_custom_sp.png");
	background-size: 100% auto;
}
body #mainContents section.custom h1{
	font-size: 8vw;
	text-align: left;
}
body #mainContents section.custom p{
	text-align: left;
	font-size: 3.7333vw;
}
body #mainContents section.custom p.customized{
	margin: 1vw 0 4vw;
	font-size: 3.2vw;
}
body #mainContents section.custom ul.attention li{
	position: relative;
	padding: 0 0 0 1em;
	text-align: left;
}
body #mainContents section.custom ul.attention li span{
	position: absolute;
	left: 0;
}
body #mainContents section.custom section.point{
	max-width: initial;
	margin: 12vw auto 0;
}
body #mainContents section.custom section.point h2{
	margin: 0 -4vw 8vw;
	font-size: 8vw;
}
body #mainContents section.custom section.point h2:before,
body #mainContents section.custom section.point h2:after{
	width: calc(50% - 32vw);
	bottom: 2.7333vw;
	border-bottom: #fff 0.5333vw dashed;
}
body #mainContents section.custom section.point h2 span{
	width: 58vw;
	padding: 0 0 1.6vw;
	z-index: 2;
}
body #mainContents section.custom section.point h2 span.line{
	position: absolute;
	left: calc(50% - 29vw);
	bottom: 0;
	width: 58vw;
	height: 6vw;
	padding: 0;
	background: #c3092f;
	transform: skewX(-15deg);
	z-index: 1;
}
body #mainContents section.custom section.point h2 span strong{
	font-size: 10.6667vw;
}
body #mainContents section.custom section.point figure{
	margin: 0 0 5.3333vw;
}
body #mainContents section.custom section.point figure figcaption{
	margin: 0 0 2vw;
	font-size: 4.2667vw;
}
body #mainContents section.custom section.point figure figcaption.none{
	display: none;
	margin: 0;
}
body #mainContents section.custom section.point figure figcaption span{
	font-size: 3.2vw;
}
body #mainContents section.custom section.point figure img{
	width: 100%;
}
body #mainContents section.custom section.point .figWrap{
	display: block;
}
body #mainContents section.custom section.point p{
	font-size: 3.7333vw;
}
body #mainContents section.custom section.point figure.hasTop{
	margin-top: 12vw;
}
body #mainContents section.custom section.point ul.attention{
	margin: 1vw 0 0;
}
body #mainContents section.custom section.point ul.attention li{
	font-size: 2.6667vw;
}
/******************************************************************************
	.other
******************************************************************************/
body #mainContents section.other{
	padding: 12vw 0;
	background-image: url("../img/bg_other_sp.jpg");
}
body #mainContents section.other h2{
	width: 91.4667vw;
	padding: 0;
	margin: 0 auto 8vw;
}
body #mainContents section.other #detailSlider{
	margin-bottom: 20vw;
}
body #mainContents section.other #detailSlider .item{
	width: 84vw;
	margin: 0 0.8vw;
}
body #mainContents section.other p.btn{
	width: 92vw;
}
body #mainContents section.other p.btn a{
	line-height: 16vw;
	background-position: 4vw center;
	background-size: 2.6667vw auto;
	font-size: 4.8vw;
	box-shadow: 0 0.8vw 0 0 rgba(0,0,0,0.1);
}

body #mainContents section.other .slick-dots{
	width: 80vw;
	left: 10vw;
	bottom: -10.6vw;
	font-size: 0;
}
body #mainContents section.other .slick-dots li{
	width: 2.4vw;
	height: 2.4vw;
	margin: 0.8vw;
}
body #mainContents section.other .slick-dots li button{
	width: 2.4vw;
	height: 2.4vw;
	border-radius: 1.2vw;
}
body #mainContents section.other .slick-dots li.slick-active button{
	background: #c3092f;
}
body #mainContents section.other .slick-arrow{
	bottom: -11.2vw;
	background-size: 1.8vw auto;
}
body #mainContents section.other .slick-arrow.slick-prev{
	left: 4vw;
}
body #mainContents section.other .slick-arrow.slick-next{
	right: 4vw;
}
body #mainContents section.other .slick-arrow:before{
	display: none;
}
body #mainContents section.other #detailSlider[img-num="24"] .slick-arrow{
	bottom: -9.2vw;
}
/******************************************************************************
	#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);
}
/******************************************************************************
	.result
******************************************************************************/
body #mainContents section.result{
	padding: 16vw 0;
	background-color: #050301;
	background-image: url("../img/bg_result_sp.jpg");
	background-size: 100% auto;
}
body #mainContents section.result h2{
	width: 92vw;
	margin: 0 auto 4vw;
}
body #mainContents section.result .inner{
	display: block;
	width: auto;
	margin: 0 auto 8vw;
}
body #mainContents section.result .inner div{
	width: 84vw;
	margin: 0 auto 4vw;
}
body #mainContents section.result .inner div h3{
	width: 76vw;
	margin: 0 auto 4vw;
}
body #mainContents section.result .inner div ol li{
	min-height: 20vw;
	margin: 0 0 2.6667vw;
	padding: 0 4vw 0 18.6667vw;
	background-position: left 3.7333vw center;
	background-size: 10.6667vw auto;
}
body #mainContents section.result .inner div ol li h4{
	margin: 0 0 1.3333vw;
	font-size: 3.7333vw;
}
body #mainContents section.result .inner div ol li p{
	font-size: 2.1333vw;
}
body #mainContents section.result > p{
	font-size: 4.26667vw;
}
