@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700;900&display=block');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=block');

* {
	margin:0;
	padding:0;
	text-shadow:none;
	letter-spacing:-0.01px;
	font-weight:normal;
	line-height:1.6;
	-webkit-text-size-adjust:100%;
	font-size:12px;
	font-family:"Roboto","Noto Sans JP","Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体",arial,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",Osaka,"CI",Meiryo,"メイリオ","lroSVbN","ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color:#232323;
    outline : none;
	font-feature-settings: "palt";
	text-align:left;
}

html {
	position:relative;
}

body {
	position:relative;
	padding:50px 0 0 0;
}

body.lock {
	overflow:hidden;
}

a {
	outline:0;
	border:0;
	color:#0099ff;
	text-decoration:underline;
}

a img {
	transition:1.0s;
}

a img:hover {
	opacity:0.5;
}

img {
	vertical-align:top;
	border:0;
    outline : none;
}

ul,ol {
	list-style:none;
}

/* コンテント */

.content {
	width:1000px;
	margin:0 auto;
}

/* ヘッダー */

#first {
	position:relative;
	padding:40px 0 0 0;
}

#first .content {
	position:relative;
}

#first h1 {
	text-align:center;
}

#first h1 img {
	width:720px;
}

#first h2 {
	margin:15px 0 0 0;
	text-align:center;
}

#first h2 img {
}

#first h3 {
	max-width:2000px;
	margin:40px auto 0 auto;
	text-align:center;
}

#first h3 img {
	width:100%;
}

#first p {
	margin:10px 0 0 0;
	text-align:center;
}

/* ナビ */

#nav {

}

#nav ul {
	clear:both;
	overflow:hidden;
	padding:35px 10px;
}

#nav li {
	float:left;
	margin:0 10px;
	width:calc(33.3% - 20px);
	text-align:center;
	position:relative;
}

#nav li a {
	background:#F18317;
	display:block;
	font-size:36px;
	font-weight: 900;
	height:85px;
	line-height:85px;
	color:#ffffff;
	text-decoration:none;
	transition:1.0s;
	border-radius:85px;
	padding:0 15px 0 0;
}

#nav li a::after {
	content: '';
	position: absolute;
	top:calc(50% - 5px);
	right:30px;
	vertical-align: middle;
	color: #faf700;
	line-height: 1;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent;
	border-width:10px 10px;
	border-top-color: currentColor;
	border-bottom: 0;
	transition:1.0s;
}

#nav li a:hover {
	background:#faf700;
	color:#000000;
}

#nav li a:hover::after {
	color:#000000;
}

/* シーンカット */

#ph_box_out {
	overflow:hidden;
	width:100%;
}

#ph_box li img {
	height:300px;
}

/* toForm */

.toForm {
	text-align:center;
	margin:50px 0 0 0;
}

.toForm a {
}

.toForm .toform_p {
	font-size:30px;
	text-align:center;
	margin:20px 0 0 0;
	font-weight:900;
	color:#fce703;
}

.toForm .toform_p span {
	font-size:48px;
	color:#fce703;
	font-weight:900;
	opacity:1;
}

.toForm a.die {
	pointer-events:none;
}

.toForm a.die img {
	opacity:0.25;
}

.toForm a img {
	margin:0 auto;
}

/* banner */

.banner {
	margin:50px 0 0 0;
}

.banner .banner_item {
	text-align:center;
	margin:0 0 15px 0;
}

.banner .banner_text {
	margin:15px 0 0 0;
	text-align:center;
	display:inline-block;
}

.banner a {
	text-decoration:none;
}

.banner a .banner_text {
	font-size:24px;
	margin:15px 0 0 0;
	font-weight:700;
	color:#ffffff;
	text-decoration:underline #ffffff;
	text-underline-offset:10px;
	line-height:2;
}

/* campaign */

.content {
	padding:0 0 50px 0;
	width:1000px;
}

#campaign .campaign_box {
	padding:10px 0 30px 0;
}

#campaign h4 {
	text-align:center;
}

#campaign h4 img {
	width:100%;
}

/* present */

#present {
	padding:40px 0 20px 0;
	position:relative;
	background:rgba(120,8,14,0.7);
}

#present h3 {
	font-family: trajan-pro-3, serif;
	font-weight:600;
	font-style: normal;
	color: #c9151e;
	font-size:60px;
	letter-spacing: 1px;
	text-align: center;
}

#present .course {
	margin:20px 0 0 0;
}

#present .course_item {
	margin:0 0 20px 0;
}

#present .course_item a {
	display:block;
}

#present .course_item img {
	margin:0 auto;
}

#present .present_item {
	margin:20px 0 0 0;
}

#present .present_item_in {
}

#present .present_item img {
	margin:0 auto;
}

#present .present_text {
	font-size:16px;
	color:#ffffff;
	text-align:center;
	margin:20px 0 0 0;
}

#present .present_text span {
	font-size:12px;
	color:#ffffff;
}

#present p {
	margin:40px 0 0 0;
	font-size:22px;
	text-align:center;
	font-weight:700;
	color:#ffffff;
}

#present p span {
	font-size:18px;
	color:#ffffff;
	font-weight:700;
}

#present .wchance {
}

/* step */

#step {
	background:url(../img/bg_step_pc.jpg) no-repeat top center;
	background-size:cover;
	padding:50px 0 60px 0;
}

#step h3 {
	font-family: trajan-pro-3, serif;
	font-weight: 600;
	font-style: normal;
	color: #ffffff;
	font-size:60px;
	letter-spacing: 1px;
	text-align: center;
}

#step .step_item {
	margin:10px 0 0 0;
	padding:0 20px;
}

#step .step_item_in {
	margin:15px 0 0 0;
	padding:15px 20px;
}

#step .step_item_in_in {
	display:table;
	width:100%;
}

#step .step_item_in_in h5,
#step .step_item_in_in .text {
	display:table-cell;
	vertical-align:top;
}

#step .step_item_in_in h5 {
	width:77px;
}

#step .step_item_in_in h5 img {
	width:100%;
}

#step .step_item_in .text {
	padding:5px 0 0 30px;
}

#step .step_item_in .text p {
	font-size:26px;
	font-weight:700;
	color:#ffffff;
}

#step .step_item_in .text p span {
	font-size:18px;
	font-weight:700;
	color:#ffffff;
}

#step .step_item_in .text_list {

}

#step .step_item_in .text_list ul {
	margin:5px auto 20px auto;
}

#step .step_item_in .text_list li {
	color:#ffffff;
	padding-left:14px;
	font-size:14px;
	position:relative;
}

#step .step_item_in .text_list li:before {
	display: inline;
	position: absolute;
	top:3px;
	left:0;
	content: "※";
	font-size:10px;
}

#step .step_item_in .text_list li span {
	color:#fce703;
	font-size:14px;
}

#step .step_item_in .text_list li a {
	color:#ffffff;
	font-size:14px;
}

#step .support {
	padding:20px 0 20px 0;
	text-align:center;
}

#step .support .support_in {
	padding:0 5px 10px 5px;
	display:inline-block;
	width:250px;
}

#step .support .support_in a {
	display:block;
	line-height:50px;
	height:50px;
	text-align:center;
	color:#ffffff;
	font-size:16px;
	font-weight:500;
	text-decoration: none;
	border:1px solid #ffffff;
	position: relative;
}

#step .support .support_in a .dli-plus {
	display: inline-block;
	vertical-align: middle;
	color: #ffffff;
	line-height: 1;
	width: 1em;
	height: 0.1em;
	background: currentColor;
	border-radius: 0.1em;
	position: absolute;
	top:25px;
	right:20px;
	margin:0 0 0 15px;
}

#step .support .support_in a .dli-plus::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: inherit;
	border-radius: inherit;
	transform: rotate(90deg);
}

/* ストーリー */

#story {
	background:url(../img/bg_story_pc.jpg) no-repeat top center;
	background-size:cover;
	padding:50px 0 30px 0;
}

#story h3 {
	font-family: trajan-pro-3, serif;
	font-weight: 600;
	font-style: normal;
	color: #c9151e;
	font-size:60px;
	letter-spacing: 1px;
	text-align: center;
}

#story h4 {
	text-align: center;
	margin:0 0 20px 0;
}

#story p {
	font-size:18px;
	margin:30px 0 0 0;
	font-weight:500;
	color:#ffffff;
	text-align:center;
}

/* 予告 */

#youtube_trailer {
	position:relative;
	padding-bottom:56.5%;
	height:0;
	overflow:hidden;
}

#youtube_trailer iframe {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

/* 応募締切 */

.campaign_end {
	text-align:center;
	color:#ffffff;
	font-size:24px;
	font-weight:700;
	margin:10px 0 0 0;
}

.campaign_end span {
	color:#ffffff;
	font-size:36px;
	font-weight:700;
}

/* ポップアップ */

.kiyaku_box {
	display:none;
}

.kiyaku_box_in {
	position:fixed;
	background:rgba(0,0,0,0.85);
	top:0;
	left:0;
	bottom:0;
	right:0;
	z-index:10010 !important;
}

.kiyaku_text {
	position:fixed;
	top:15%;
	left:20%;
	bottom:15%;
	right:20%;
	background:#ffffff;
	overflow:hidden;
	z-index:10011 !important;
}

.kiyaku_text_in_out {
	overflow-y:scroll;
	scrollbar-color:#000000 #ffffff;
	scrollbar-width: thin;
	display: flex;
	justify-content: center;
	align-items: center;
	margin:auto;
	height:100%;
}

.kiyaku_text_in {
	position:relative;
	padding:50px 50px;
	z-index:10012 !important;
	margin:auto;
}

.kiyaku_text_in_out::-webkit-scrollbar,
.kiyaku_text::-webkit-scrollbar {
	width:10px;
}

.kiyaku_text_in_out::-webkit-scrollbar-track,
.kiyaku_text::-webkit-scrollbar-track {
	background:#ffffff;
}

.kiyaku_text_in_out::-webkit-scrollbar-thumb,
.kiyaku_text::-webkit-scrollbar-thumb {
	background-color: rgba(0, 0, 0, 0.5);
	box-shadow:0 0 0 1px rgba(255, 255, 255, 0.5);
}

.kiyaku_close {
	display:block;
	position:fixed;
	top:20px;
	right:20px;
	width:60px;
	height:60px;
	transition:0.35s;
	cursor: pointer;
	z-index:10013 !important;
}

.kiyaku_close:hover {
	opacity:0.5;
}

.kiyaku_close::before,
.kiyaku_close::after {
	content: "";
	position: absolute;
	top:50%;
	left:50%;
	width:2px;
	height:60px;
	background:#ffffff;
}
 
.kiyaku_close::before {
	transform: translate(-50%,-50%) rotate(45deg);
}
 
.kiyaku_close::after {
	transform: translate(-50%,-50%) rotate(-45deg);
}

/* ポップアップ - インナー */

.kiyaku_box {
	padding:90px 0 20px 0;
	position:relative;
}

/* ポップアップ - 見出し */

.kiyaku_box h2 {
	text-align:center;
	margin:0 0 5px 0;
}

.kiyaku_box h2 span {
	display:inline-block;
	border-bottom:2px solid #000000;
	font-size:30px;
	font-weight:600;
	color:#000000;
	margin:0 0 10px 0;
}

.kiyaku_box h2 span.small {
	display:inline;
	font-size:24px;
	font-weight:600;
	color:#000000;
	border-bottom:0;
	margin:0;
}

.kiyaku_box h2 span.big {
	display:inline;
	font-size:36px;
	font-weight:700;
	color:#000000;
	border-bottom:0;
	margin:0;
}

/* ポップアップ - 規約 */

.kiyaku_box .kiyaku {
}

.kiyaku_box .kiyaku h3 {
	font-size:18px;
	color:#000000;
	font-weight:600;
	text-align:center;
	margin:0 0 10px 0;
}

.kiyaku_box .kiyaku ul {
	margin:5px auto 20px auto;
}

.kiyaku_box .kiyaku li {
	color:#000000;
	padding-left:14px;
	font-size:14px;
	position:relative;
	font-weight:500;
}

.kiyaku_box .kiyaku li:before {
	display: inline;
	position: absolute;
	top:3px;
	left:0;
	content: "●";
	font-size:10px;
}

.kiyaku_box .kiyaku li a {
	color:#000000;
	font-size:14px;
	font-weight:500;
}

/* ポップアップ - 共通（注意事項） */

.kiyaku_box .kiyaku_list ul {
	margin:10px auto 20px auto;
}

.kiyaku_box .kiyaku_list li {
	list-style-type: none;
	padding:0 0 0 16px;
	font-size:14px;
	font-weight:500;
	color:#000000;
	position:relative;
}

.kiyaku_box .kiyaku_list li a {
	font-size:14px;
	color:#000000;
	font-weight:500;
	text-decoration:underline;
}

.kiyaku_box .kiyaku_list li:before {
	display: inline;
	content: "※";
	position: absolute;
	top:0;
	left:0;
}

.kiyaku_box .kiyaku_list.kome li:before {
	content: "■";
	font-size:10px;
	display: inline-block;
	margin:3px 0 0 0;
}

.kiyaku_box .kiyaku_list li b {
	font-size:14px;
	color:#000000;
	font-weight:600;
}

/* 背景動画 */

.movie_bg {
	position: fixed;
	top:0;
	right: 0;
	bottom: 0;
	min-width: 100%;
	min-height: 100%;
	z-index:-4;
	overflow:hidden;
	background:url(../img/bg_dot.svg);
	background-size:4px 4px;
}

.movie {
	width: 100%;
    min-width: 1300px;
    height: 100vh;
    line-height: 0;
    position: fixed;
    z-index: -10;
    overflow: hidden;
	top:0;
}

.movie_in {
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 240vh;
    height:60.666666666vw;
    min-height: 100%;
    min-width: 100%;
}

.movie_in video {
    height: 100%;
}

/* ポスター */

#poster {
}

#poster img {
	width:100%;
}

/* スマホ */

.only_pc {
	display:block;
}

.only_sp {
	display:none;
}


@media screen and (max-width:640px) {

	.only_pc {
		display:none;
	}

	.only_sp {
		display:block;
	}

	body {
		min-width:320px;
		padding:70px 0 0 0;
	}

	/* コンテント */

	.content {
		width:auto;
	}

	/* ヘッダー */
	
	#first {
		padding:15px 0 0 0;
	}

	#first h1 {
		margin:0 10%;
	}

	#first h1 img {
		width:100%;
	}

	#first h2 {
		margin:10px 5% 0 5%;
	}

	#first h2 img {
		width:100%;
	}

	#first h3 {
		margin:10px 0 0 0;
	}

	#first h3 img {
		width:100%;
	}

	#first p {
		margin:0;
	}

	#first p img {
		width:100%;
	}

	/* ナビ */

	#nav {
		padding:0 5%;
	}

	#nav ul {
		padding:20px 5% 10px 5%;
	}

	#nav li {
		float:none;
		margin:0 0 10px 0;
		width:auto;
	}

	#nav li a {
		font-size:22px;
		height:50px;
		line-height:50px;
		border-radius:50px;
		padding:0 15px 0 0;
	}

	#nav li a::after {
		top:calc(50% - 3.5px);
		right:30px;
		border-width:7px 7px;
	}

	/* campaign */

	.content {
		padding:0 0 30px 0;
		width:auto;
	}

	/* present */

	#present {
		padding:20px 0 30px 0;
	}

	#present h3 {
		font-size:40px;
	}

	#present .course {
		margin:10px 0 0 0;
	}

	#present .course_item {
		margin:0 6% 10px 6%;
	}

	#present .course_item img {
		width:100%;
	}

	#present .present_item {
		margin:15px 0 0 0;
	}

	#present .present_item_in {
		margin:0;
	}

	#present .present_item img {
		width:100%;
	}

	#present .present_text {
		font-size:10px;
	}

	#present .wchance {
	    margin: 40px 0 0 0;
	}

	#present .wchance img {
		width:100%;
	}

	#present p {
		margin:30px 0 30px 0;
		font-size:16px;
	}

	#present p span {
		font-size:12px;
	}

	/* step */

	#step {
		background:url(../img/bg_step_sp.jpg) no-repeat top center;
		background-size:cover;
		padding:20px 0 30px 0;
	}

	#step h3 {
		font-size:40px;
	}

	#step .step_item {
		margin:30px 5% 0 5%;
		overflow:auto;
		padding:0;
	}

	#step .step_item_in {
		width:auto;
	}

	#step .step_item_in_in {
		height:auto;
	}

	#step .step_item_in {
		margin:0;
		padding:0 0 30px 0;
	}

	#step .step_item_in_in {
		display:block;
	}

	#step .step_item_in_in h5,
	#step .step_item_in_in .text {
		display:block;
	}

	#step .step_item_in_in h5 {
		width:auto;
		text-align:center;
		margin:0;
	}

	#step .step_item_in_in h5 img {
		width:auto;
		height:50px;
	}

	#step .step_item_in .text {
		padding:5px 0 0 0;
	}

	#step .step_item_in .text p {
		font-size:20px;
		text-align:center;
		margin:10px 0 0 0;
	}

	#step .step_item_in .text p span {
		font-size:14px;
		line-height:1.7;
		text-align:center;
		display:inline-block;
	}

	#step .step_item_in .text_list ul {
		margin:15px auto 0 auto;
	}

	#step .step_item_in .text_list li {
		padding-left:10px;
		font-size:10px;
	}

	#step .step_item_in .text_list li span {
		font-size:10px;
	}

	#step .step_item_in .text_list li a {
		font-size:10px;
	}

	#step .step_item_in .text_list li:before {
		top:0;
	}

	/* ストーリー */

	#story {
		padding:30px 0 0 0;
		background:url(../img/bg_story_sp.jpg) no-repeat top center;
		background-size:cover;
	}

	#story h3 {
		font-size:24px;
	}

	#story p {
		font-size:12px;
		margin:15px 7.5% 0 7.5%;
		text-align:left;
	}

	#story h4 {
		margin:0 2.5% 10px 2.5%;
	}
	
	#story h4 img {
		width:100%;
	}

	#story .story_copy img {
		width:100%;
	}

	/* 予告 */

	#youtube_trailer {
		margin:0 7.5%;
		padding-bottom:50.5%;
	}

	/* 応募締切 */

	.campaign_end {
		font-size:14px;
	}

	.campaign_end span {
		font-size:26px;
	}

	/* soon */

	.soon {
		font-size:30px;
		margin:40px 0 0 0;
	}

	/* シーンカット */

	#ph_box li img {
		height:120px;
	}

	/* toForm */

	.toForm {
		margin:50px 10% 0 10%;
	}

	.toForm a img {
		width:100%;
	}

	.toForm .toform_p {
		font-size:16px;
		margin:20px 0 0 0;
	}

	.toForm .toform_p span {
		font-size:30px;
	}

	/* banner */

	.banner {
		margin:30px 0 0 0;
		padding:0 10% 0 10%;
	}

	.banner .banner_item {
		margin:0 0 15px 0;
	}

	.banner .banner_item img {
		width:100%;
	}

	.banner a .banner_text {
		font-size:14px;
		text-underline-offset:8px;
		margin:10px 0 0 0;
	}

	/* 背景動画 */

	.movie {
		min-width:0;
	}

	.movie video {
		position: absolute;
	    top: 50%;
	    left: 50%;
	    transform: translateX(-50%) translateY(-50%);
	    min-width: 100%;
	    min-height: 100%;
	}

	/* ポップアップ */

	.kiyaku_text {
		top:12%;
		left:5%;
		bottom:12%;
		right:5%;
	}

	.kiyaku_text_in {
		padding:30px 20px;
	}

	.kiyaku_close {
		position:fixed;
		top:20px;
		right:20px;
		width:45px;
		height:45px;
	}

	.kiyaku_close:hover {
		opacity:1;
	}

	/* ポップアップ - インナー */

	.kiyaku_box {
		padding:130px 0 20px 0;
	}

	/* ポップアップ - 見出し */

	.kiyaku_box h2 {
		margin:0 0 5px 0;
	}

	.kiyaku_box h2 span {
		display:inline;
		border-bottom:0;
		font-size:18px;
		margin:0 0 10px 0;
	}

	/* ポップアップ - 規約 */

	.kiyaku_box .kiyaku h3 {
		font-size:16px;
	}

	.kiyaku_box .kiyaku li {
		padding-left:14px;
		font-size:12px;
	}

	.kiyaku_box .kiyaku li:before {
		display: inline;
		position: absolute;
		top:1px;
		left:0;
		content: "●";
		font-size:10px;
	}

	.kiyaku_box .kiyaku li a {
		font-size:12px;
	}

	/* ポップアップ - 共通（注意事項） */

	.kiyaku_box .kiyaku_list ul {
		margin:0 auto;
	}

	.kiyaku_box .kiyaku_list li {
		padding:0 0 0 14px;
		font-size:12px;
	}

	.kiyaku_box .kiyaku_list li a {
		font-size:12px;
	}

	.kiyaku_box .kiyaku_list.kome li:before {
		content: "■";
		font-size:10px;
		display: inline-block;
		margin:2px 0 0 0;
	}

	.kiyaku_box .kiyaku_list li b {
		font-size:12px;
	}

}

/* メッセージ */

.msg {
	color:#fce703;
	text-align:center;
	margin:30px 0 50px 0;
	font-size:24px;
	font-weight:900;
}