@charset "utf-8";

.fontsunsSerif{	font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans","BIZ UDPGothic",Meiryo,sans-serif;font-weight: normal;}

#keyvisual{
	position: relative;
	margin: 0 auto;
	width: 100%;
	height: 0;
	padding-top: 62.5%;
	background-position: 50% 50%;
	background-image: url("../img/main.jpg?t=0116");
	background-size: cover;
	background-repeat: no-repeat;
}

/* menu */
#menu{
	position: relative;
	margin: 0 auto;
	padding: 30px 0 40px 0;
	background-image: url("../img/bg.jpg");
	background-position: 80% 15%;
	background-repeat: no-repeat;
	background-size: 170% auto;
}
#menu h2{
	position: relative;
	margin: 0 auto 15px auto;
	color: #feb534;
	font-size: 120%;
}
#menu ul{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 32px);
	max-width: 1050px;
	gap: 10px;
}
#menu ul li{
	position: relative;
	margin: 0;
	padding: 1.2em 0;
	width:100%;
	border: solid 1px #ac7e2c;
	background-color: rgba(0,0,0,0.5);
	font-size: 96%;
}
#menu ul li::after{
	position: absolute;
	bottom: 0;
	right: 0;
	background-color: #ac7e2c;
	content: '';
	display: block;
	width: 15px;
	height: 15px;
	background-image: url("../img/arrow.png");
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: 8px auto;
}

.cta{
	position: relative;
	margin: 25px auto 0 auto;
	width: calc(100% - 30px);
	max-width: 560px;
	display: block;
}

/* trailer */
#trailer{
	position: relative;
	margin: 0 auto;
	background-color: #1c1c1c;
	padding: 30px 0 40px 0;
}
#trailer h2{
	position: relative;
	margin: 0 auto 15px auto;
}
/* movie */
.movieWrap{
    position: relative;
    margin: 0 auto;
	width: calc(100% - 30px);
	max-width: 740px;
	background-color: #000000;
	border: solid 1px #ac7e2c;
}
.movie{
	position: relative;
	margin:0 auto;
	width: 100%;
	height: 0;
	padding-top: 56.25%;
}
.movie iframe{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* cont01 */
#cont01{
	position: relative;
	margin: 0 auto;
	padding: 30px 0 40px 0;
	background-image: url("../img/bg.jpg");
	background-position: 80% -30px;
	background-repeat: no-repeat;
	background-size: 170% auto;
}
#cont01 h2{
	position: relative;
	margin: 0 auto 25px auto;
	color: #feb534;
	font-size: 116%;
}
#cont01 .lead{
	position: relative;
	margin: 0 auto 20px auto;
}

/* cont02 */
#cont02{
	position: relative;
	margin: 0 auto;
	background-color: #1c1c1c;
	padding: 30px 0 40px 0;
}
#cont02 h2{
	position: relative;
	margin: 0 auto 25px auto;
	color: #feb534;
	font-size: 116%;
}
#cont02 .lead{
	position: relative;
	margin: 0 auto 20px auto;
}

.contWrap {
	position: relative;
	margin: 0 auto 10px auto;
	width: 100%;
}
.contWrap ul li{
	position: relative;
	margin: 0;
	width: 100%;
	background-color: #ffffff;
	cursor: grab;
}
.contWrap ul li .Img {
	position: relative;
	margin: 0 auto;
	width: 100%;
}
.contWrap ul li .txtWrap {
	position: relative;
	margin: 0 auto;
	padding: 15px 15px 25px 15px;
	box-sizing: border-box;
	color: #000000;
	user-select: none;
}
.contWrap ul li h3 {
	position: relative;
	margin: 0 auto;
	line-height: 1.6em;
	font-weight: bold;
	font-size: 104%;
	padding-bottom: 10px;
}
.contWrap ul li h3.row1{line-height: 3.2em;}
.contWrap ul li h3.row2{padding: 1.05em 0;}
.contWrap ul li .onair{
	position: relative;
	margin: 0 auto 20px auto;
	font-size: 96%;
	font-weight: bold;
}
.contWrap ul li .txtWrap .text{
	position: relative;
	margin: 0 auto;
	font-size: 96%;
	text-align: left;
}


/* cont03 */
#cont03{
	position: relative;
	margin: 0 auto;
	padding: 30px 0 40px 0;
	background-image: url("../img/bg.jpg");
	background-position: 100% 30em;
	background-repeat: no-repeat;
	background-size: 170% auto;
}
#cont03 h2{
	position: relative;
	margin: 0 auto 25px auto;
	color: #feb534;
	font-size: 116%;
}
#cont03 .lead{
	position: relative;
	margin: 0 auto 20px auto;
}
#cont03 .Img{
	position: relative;
	margin: 0 auto;
	width: 65%;
	max-width: 280px;
}
#cont03 .textWrap{
	position: relative;
	margin: 15px auto 30px auto;
	background-color: #636363;
	width: calc(100% - 30px);
	padding: 10px 0;
	gap: 0 15px;
}
#cont03 .textWrap .logoImg{
	position: relative;
	margin: 0;
	width: 20%
}
#cont03 .textWrap .Txt{
	position: relative;
	margin: 0;
	width: calc(80% - 30px);
	text-align: left;
	font-size: 88%;
	line-height: 1.5em;
}

/* plan */
#plan{
	position: relative;
	margin: 0 auto;
	background-color: #1c1c1c;
	padding: 30px 0 40px 0;
}
#plan h2{
	position: relative;
	margin: 0 auto 35px auto;
	color: #feb534;
	font-size: 116%;
}
#plan .tab{
	position: relative;
	margin: 0 auto 0.8em auto;
	width: calc(100% - 30px);
	gap: 0 12px;
}
#plan .tab li{
	position: relative;
	margin: 0;
	width: calc(33.333% - 9px);
	background-color: #072c71;
	padding: 10px 0;
	border-radius: 7px;
	font-size: 94%;
	line-height: 1.4em;
}
#plan .tab li p{
	position: relative;
	margin: 3px auto 0 auto;
	background-color: #ffffff;
	border-radius: 100px;
	color: #072c71;
	width: 4em;
	font-weight: bold;
}
#plan .tab li.active{
	outline: solid 2px #afafaf;
	outline-offset: -2px;
	background: #072C71;
	background: linear-gradient(145deg,rgba(7, 44, 113, 1) 0%, rgba(15, 197, 249, 1) 100%);
}
#plan .tab li.active::after{
	position: absolute;
	bottom: -0.8em;
	left: 50%;
	content: '\025bc';
	color: #afafaf;
	font-size: 120%;
	line-height: 1em;
	transform: translateX(-50%);
}
#plan .planList{
	position: relative;
	margin: 0 auto 30px auto;
	width: calc(100% - 30px);
}
#plan .planList .planBox{
	position: relative;
	margin: 0;
	padding: 17px;
	width: calc(100% - 34px);
	display: none;
	background-color: #072c71;
	text-align: left;
	border-radius: 7px;
}
#plan .planList .planBox.active{
	display: block;
	background-color: #1f344a;
	outline: solid 2px #afafaf;
	outline-offset: -2px;
}
#plan .planList .planBox h3{
	position: relative;
	margin: 0 auto;
	font-size: 98%;
}
#plan .planList .planBox h3 p{font-size: 140%;font-weight: bold;}
#plan .planList .planBox h3 span{
	position: relative;
	margin: 0 0 0 0.5em;
	background-color: #ffffff;
	border-radius: 100px;
	color: #072c71;
	font-size: 64%;
	width: 4em;
	line-height: 1.4em;
	display: inline-block;
	text-align: center;
}
#plan .planList .planBox .price{
	position: relative;
	margin: 10px auto 0 auto;
	padding-bottom: 5px;
	border-bottom: solid 1px #ffffff;
	font-size: 98%;
	font-weight: bold;
}
#plan .planList .planBox .price span{font-size: 146%;}
#plan .planList .planBox .price span.fontSmall{font-size: 90%;}
#plan .planList .planBox .type{
	position: relative;
	margin: 20px auto 0 auto;
	font-size: 94%;
	font-weight: bold;
}
#plan .planList .planBox .type.marginT{margin: 30px auto 0 auto;}
#plan .planList .planBox .num{
	position: relative;
	margin: 10px auto 0 auto;
	font-size: 130%;
	font-weight: bold;
}
#plan .planList .planBox .detail{
	position: relative;
	margin: 5px auto 0 auto;
	font-size: 94%;
}
#plan .catv{
	font-size: 90%;
	display: inline-block;
	padding-top: 10px;
}
#plan .campaign{
	font-size: 114%;
	display: inline-block;
	padding-top: 30px;
	color: #feb534;
}

/* faq */
#faq{
	position: relative;
	margin: 0 auto;
	padding: 30px 0 40px 0;
	background-image: url("../img/bg01.jpg");
	background-position: -200px -380px;
	background-repeat: no-repeat;
	background-size: 170% auto;
}
#faq h2{
	position: relative;
	margin: 0 auto 15px auto;
	color: #feb534;
	font-size: 120%;
}
#faq dl{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 30px);
	max-width: 960px;
	text-align: left;
}
#faq dl dt{
	position: relative;
	margin: 10px auto 0 auto;
	background-color: #332713;
	padding: 15px 40px 15px 15px;
	cursor: pointer;
}
#faq dl dt::after{
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	width: 10px;
	height: 10px;
	content: '';
	display: block;
	background-image: url("../img/icon_plus.png");
	background-position:50% 50%;
	background-repeat: no-repeat;
	background-size: contain;
	transition: all .3s ease-out;
}
#faq dl dt.active::after{transform: translateY(-50%) rotate(-45deg);}
#faq dl dd{
	position: relative;
	margin: 0 auto;
	background-color: #3D2F16;
	padding: 15px;
	display: none;
}

/* banner */
#banner{
	position: relative;
	margin: 0 auto;
	background-color: #1c1c1c;
	padding: 30px 0;
}
#banner .bnr{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 30px);
	max-width: 480px;
	display: block;
}
#banner .copyright{
	position: relative;
	margin: 15px auto 20px auto;
	width: calc(100% - 30px);
	font-size: 50%;
	line-height: 2.2em;
	text-align: left;
	font-weight: normal;
}

/* ----- pc ----- */
@media screen and (min-width: 799px) {

	#keyvisual{
		padding-top: min(100vh, 63.416%);
		background-image: url("../img/main_pc.jpg?t=0116"), url("../img/bg01.jpg"), url("../img/bg01.jpg");
		background-size: contain, auto 80%, auto 100%;
		background-position: 50% 0, -100px 0, calc(100% + 200px) 0;
		background-repeat: no-repeat, no-repeat, no-repeat;
	}

	/* menu */
	#menu{
		padding: 60px 0 70px 0;
		background-position: -100px -120px;
		background-size: auto auto;
	}
	#menu h2{
		margin: 0 auto 40px auto;
		font-size: 150%;
	}
	#menu ul{gap: 0 7px;}
	#menu ul li{
		padding: 1.5em 0;
		width:calc(33.333% - 7px);
		font-size: 100%;
	}
	#menu ul li:hover{
		cursor: pointer;
		background-color: #ac7e2c;
		transition: all .3s ease-out;
	}
	#menu ul li::after{
		width: 18px;
		height: 18px;
		background-size: 10px auto;
	}

	.cta{margin: 50px auto 0 auto;cursor: pointer;}
	.cta:hover{opacity: 0.7; transition: all .3s ease-out;}

	/* trailer */
	#trailer{padding: 60px 0 70px 0;}
	#trailer h2{
		margin: 0 auto 30px auto;
		font-size: 140%;
		line-height: 1.6em;
	}

	/* cont01 */
	#cont01{
		padding: 60px 0 70px 0;
		background-position: -40px -160px;
		background-size: auto auto;
	}
	#cont01 h2{
		margin: 0 auto 50px auto;
		font-size: 150%;
	}
	#cont01 .lead{margin: 0 auto 30px auto;}

	/* cont02 */
	#cont02{padding: 60px 0 70px 0;}
	#cont02 h2{
		margin: 0 auto 50px auto;
		font-size: 150%;
	}
	#cont02 .lead{margin: 0 auto 30px auto;}

	.contWrap {margin: 0 auto 70px auto;}

	.contWrap ul li .txtWrap {padding: 20px 25px 35px 25px;}
	.contWrap ul li h3 {
		font-size: 113%;
		line-height: 1.6em;
		padding-bottom: 12px;
	}
	.contWrap ul li h3.row1{line-height: 3.2em;}
	.contWrap ul li h3.row2{padding: 1.05em 0;}
	.contWrap ul li .onair{
		margin: 0 auto 20px auto;
		font-size: 90%;
	}
	.contWrap ul li .txtWrap .text{font-size: 90%;}

	/* cont03 */
	#cont03{
		padding: 60px 0 70px 0;
		background-position: -200px calc(100% + 200px);
		background-size: auto auto;
	}
	#cont03 h2{
		margin: 0 auto 50px auto;
		font-size: 150%;
	}
	#cont03 .lead{margin: 0 auto 30px auto;}
	#cont03 .textWrap{
		margin: 40px auto 0 auto;
		max-width: 500px;
		padding: 20px 0;
		gap: 0 20px;
	}
	#cont03 .textWrap .logoImg{width: 13%}
	#cont03 .textWrap .Txt{
		width: calc(87% - 60px);
		font-size: 100%;
		line-height: 1.5em;
	}

	/* plan */
	#plan{padding: 60px 0 70px 0;}
	#plan h2{
		margin: 0 auto 50px auto;
		font-size: 150%;
	}

	#plan .planList{
		margin: 0 auto 70px auto;
		max-width: 1100px;
		gap: 0 20px;
	}
	#plan .planList .planBox{
		padding: 25px;
		width: calc(33.333% - 65px);
		background-color: #072c71;
		text-align: left;
		border-radius: 10px;
		display: block;
	}
	#plan .planList .planBox.active{
		outline: solid 3px #afafaf;
		outline-offset: -3px;
	}
	#plan .planList .planBox h3{font-size: 100%;}
	#plan .planList .planBox h3 p{font-size: 150%;padding-top: 0.2em;}
	#plan .planList .planBox h3 span{
		font-size: 62%;
		width: 4em;
		line-height: 1.4em;
		transform: translateY(-0.2em);
	}
	#plan .planList .planBox .price span{font-size: 180%;}
	#plan .planList .planBox .price span.fontSmall{font-size: 80%;}
	#plan .planList .planBox .type{
		margin: 20px auto 0 auto;
		font-size: 100%;
	}
	#plan .planList .planBox .detail{font-size: 90%;}
	#plan .catv{
		font-size: 100%;
		display: inline;
	}
	#plan .campaign{
		font-size: 124%;
		display: inline;
	}

	/* faq */
	#faq{
		padding: 60px 0 70px 0;
		background-position: -200px -380px;
		background-size: auto auto;
	}
	#faq h2{
		margin: 0 auto 60px auto;
		font-size: 150%;
	}
	#faq dl{max-width: 1000px;}
	#faq dl dt{
		margin: 15px auto 0 auto;
		padding: 20px 40px 20px 35px;
		font-size: 113%;
	}
	#faq dl dt::after{
		right:30px;
		width: 15px;
		height: 15px;
	}
	#faq dl dd{padding: 30px;}

	/* banner */
	#banner{padding: 60px 0 30px 0;}
	#banner .copyright{
		margin: 40px auto 30px auto;	
		max-width: 1000px;
		font-size: 76%;
		line-height: 1.6em;
	}
	#banner a{font-size: 90%;}
}
