@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;
	font-size:12px;
	font-family:"Roboto","Helvetica Neue",YakuHanJP, 'Noto Sans JP',"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",Osaka,"CI",Meiryo,"メイリオ","lroSVbN","ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color:#232323;
    outline : none;
	font-feature-settings: "palt";
	-webkit-text-size-adjust:100%;
}

html {
	position:relative;
}

body {
	position:relative;
}

body.lock {
	overflow:hidden;
}

body::before {
	background:url(../img/bg.jpg) repeat-y bottom center #000000;
	background-size:cover;
	content:"";
	display:block;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100vh;
	height:100dvh;
	min-height:100vh;
	min-height:100dvh;
	z-index:-5;
}

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;
}

/* コンテント */

#body {
	max-width:640px;
	min-width:320px;
	margin:0 auto;
	position:relative;
}

#body_in {
	background:#0a86c3;
}

#body_in_in {
}

.content {
	margin:0 5%;
}

.content_in {
	padding:0 10px;
}

/* ヘッダー */

#header {
}

#header img {
	width:100%;
}

#header h1 {
}

#header .header_poster {
}

#header .header_p {
}

#header .endMsg {
	font-size:16px;
	font-weight:700;
	color:#ff0000;
	text-align:center;
	padding:0 0 20px 0;
}

/* 期間 */

#kikan {
	padding:0 5%;
}

#kikan .content {
	color:#ffffff;
	text-align:center;
	font-weight:700;
	font-size:16px;
}

#kikan .content span {
	color:#ffffff;
	font-size:24px;
	font-weight:700;
}

/* ボタン */

.but_input {
	padding:5px 5%;
	margin:10px 0 0 0;
}

.but_input a,
.but_input span {
	background: rgb(105,34,110);
	display:block;
	font-size:22px;
	font-weight:900;
	color:#ffffff;
	text-decoration:none;
	transition:1.0s;
	border-radius:85px;
	padding:15px 20px 15px 0;
	text-align:center;
	position:relative;
}

.but_input a span {
	font-size:18px;
	font-weight:900;
	color:#ffffff;
}

.but_input a::after,
.but_input span::after {
	content: '';
	position: absolute;
	top:calc(50% - 5px);
	right:30px;
	vertical-align: middle;
	color: #faf700;
	line-height: 1;
	width:10px;
	height:10px;
	border-top:3px solid #ffcc00;
	border-right:3px solid #ffcc00;
	transform: rotate(45deg);
}

.but_input span {
	filter:alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
}

.but_input span.ended {
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity:1;
	cursor:pointer;
	transition:1.0s;
}

.but_input span.ended:hover {
	opacity:0.5;
}

.but_box_in a ,
.but_box_in span {
	display:block;
	font-size:18px;
	font-weight:700;
	color:#ffffff;
	text-decoration:none;
	transition:1.0s;
	border-radius:85px;
	padding:15px 20px 15px 0;
	text-align:center;
	position:relative;
	background:#0a86c3;
}

.but_box_in.border a ,
.but_box_in.border span {
	border:1px solid #ffffff;
}

.but_box_in a::after,
.but_box_in span::after {
	content: '';
	position: absolute;
	top:calc(50% - 5px);
	right:30px;
	vertical-align: middle;
	color: #faf700;
	line-height: 1;
	width:10px;
	height:10px;
	border-top:3px solid #ffffff;
	border-right:3px solid #ffffff;
	transform: rotate(45deg);
}

.but_box_in.tw a ,
.but_box_in.tw span {
	background:#000000;
	border:0;
	color:#ffffff;
}

.but_box_in.tw a::after,
.but_box_in.tw span::after {
	border-top:3px solid #ffffff;
	border-right:3px solid #ffffff;
}

.but_box {
	padding:1px 15% 50px 15%;
}

.but_box_in {
	margin:15px 0 0 0;
}

.but_box_in span,
.but_box_in a,
.but_box_in img {
	display:block;
}

.but_box_in img {
	width:100%;
}

#step .but_box {
	padding:10px 15% 20px 15%;
}

#story .but_box {
	padding:0 15% 0 15%;
}

/* ステップ */

#step {
	padding:15px 0 0 0;
}

#step img {
	width:100%;
}

#step h2 {
	margin:0;
}

#step h3 {
	margin:0 0 15px 0;
}

#step .step_in {
	margin:0 5% 20px 5%;
	padding:15px;
	background:#ffffff;
	border-radius:10px;
}


#step p {
	font-size:24px;
	font-weight:700;
	text-align:center;
	padding:10px 5% 0 5%;
}

#step p span {
	font-size:18px;
	font-weight:700;
}

#step .step_box_l {
	font-size:16px;
	font-weight:700;
	text-align:center;
	margin:15px 5% 0 5%;
}

#step .step_box_t {
	font-size:12px;
	margin:20px 5% 20px 5%;
}

#step .step_box_tw {
	padding:10px 8% 0 8%;
}

#step .step_box_t ul {
	margin:0 0 0 15px;
	font-size:10px;
}

#step .step_box_t li {
	list-style:disc;
	font-size:10px;
}

#step .step_box_t li a {
	font-size:10px;
	color:#232323;
}

#step .step_box_t.center {
	text-align:center;
}

#step .step_box_t span {
	font-size:12px;
}

/* プレゼント */

#present {
	padding:5px 0 20px 0;
}

#present img {
	width:100%;
}

#present h2 {
	margin:0 0 10px 0;
}

#present h3 {
	margin:0 0 20px 0;
}

#present .present_box {
	overflow:hidden;
	clear:both;
}

#present .present_in {
	margin:0 5% 15px 5%;
	overflow:hidden;
}

#present .present_text {
	font-size:12px;
	text-align:center;
	color:#ffffff;
}

/* シネコンウォーカー */

#cw {
	padding:0 0 40px 0;
}

#cw h2 {
	margin:0;
}

#cw p {
	font-size:16px;
	font-weight:700;
	padding:15px 1.5% 0 1.5%;
	text-align:center;
	color:#ffffff;
}

#cw .cw_release {
	font-size:14px;
	font-weight:500;
	text-align:center;
	color:#ffffff;
	padding:0 0 10px 0;
}

#cw .cw_release_sub {
	font-size:12px;
	font-weight:300;
	text-align:center;
	margin:5px 0 0 0;
	color:#ffffff;
}

#cw h2 img {
	width:100%;
}

#cw .cw_img {
	padding:20px 10% 0 10%;
}

#cw .cw_img img {
	width:100%;
}

#cw .but_box {
    padding:5px 5% 20px 5%;
}

/* SNS */

.sns {
	overflow:hidden;
	clear:both;
	z-index:100;
	text-align:center;
}

.sns_in {
	display:inline-block;
	margin:0 5px;
	vertical-align:top;
}

/* ストーリー */

#story {
}

#story img {
	width:100%;
}

#story h3 {
	padding:5px 0 0 0;
}

#story #story_in {
	max-width:640px;
	min-width:320px;
	margin:0 auto;
}

#story p {
	font-size:16px;
	padding:20px 5% 30px 5%;
	font-weight:500;
	text-align: justify;
	text-justify: inter-ideograph;
	color:#ffffff;
}

#story .crew_box {
	margin:0 5% 20px 5%;
}

#story .crew {
	display:table;
}

#story .crew_h,
#story .crew_b {
	display:table-cell;
	font-size:12px;
	color:#ffffff;
}

#story .crew_h {
	white-space:nowrap;
}

#story .footer_logo {
	color:#ffffff;
	margin:0 3.5%;
	padding:20px 0 0 0;
}

#story .footer_box {
	background:#f5f1c1;
}

/* フッター */

#footer {
	background:#f5f1c1;
	padding:15px 5% 30px 5%;
}

#footer .footer_text {
	font-size:10px;
	text-align:center;
	margin:20px 0 0 0;
	color:#0a86c3;
}

#footer .sns {
	padding:30px 0 50px 0;
}

/* シーンカット */

#ph_box {
	height:200px;
	overflow:hidden;
}

#ph_box img {
	width:auto !important;
	height:200px;
}


/* 規約 */

.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:1010 !important;
}

.kiyaku_text {
	position:fixed;
	top:17%;
	left:10%;
	bottom:17%;
	right:10%;
	background:#ffffff;
	z-index:1011 !important;
	overflow-y:scroll;
	scrollbar-color:#999999 #ffffff;
	scrollbar-width: thin;
	display: flex;
	justify-content: center;
	align-items: center;
	margin:auto;
}

.kiyaku_text_in {
	position:relative;
	padding:30px 70px 50px 70px;
	z-index:1012 !important;
	display:none;
	margin:auto;
}

.kiyaku_text h5 {
	font-size:30px;
	color:#232323;
	font-weight:900;
	text-align:center;
	padding:25px 0 13px 0;
}

.kiyaku_text .step_box {
	margin:0 auto 5px auto;
}

.kiyaku_text .step_h {
	font-size:24px;
	font-weight:700;
	padding:5px 10px 5px 0;
	letter-spacing:0.1em;
	text-align:center;
}

.kiyaku_text .step_d {
	font-size:20px;
	text-align:center;
	letter-spacing:0.05em;
}

.kiyaku_text .step_d a {
	font-size:20px;
	color:#232323;
	text-decoration:underline;
}

.kiyaku_text .attention {
	font-size:18px;
	text-align:center;
	padding:0 0 10px 0;
}

.kiyaku_text .attention a {
	font-size:18px;
	color:#232323;
	text-decoration:underline;
}

.kiyaku_text ul {
	margin:10px 0 0 0;
}

.kiyaku_text li {
	list-style-type: none;
	padding:0 0 0 16px;
	font-size:16px;
	position:relative;
}

.kiyaku_text li a {
	font-size:16px;
	color:#232323;
	text-decoration:underline;
}

.kiyaku_text li:before {
	display: inline;
	content: "※";
	position: absolute;
	top:0;
	left:0;
}

.kiyaku_text::-webkit-scrollbar {
	width:10px;
}

.kiyaku_text::-webkit-scrollbar-track{
	background: #fff;
}

.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:100px;
	right:20px;
	width:60px;
	height:60px;
	transition:0.35s;
	cursor: pointer;
	z-index:1013 !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);
}

/* 予告 */

#youtube {
	margin:0 5%;
	position:relative;
	background:#000000;
	padding-bottom:56.5%;
	height:0;
	overflow:hidden;
}

#youtube iframe {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

.only_pc {
	display:block;
}

.only_sp {
	display:none;
}

@media screen and (max-width:640px) {

	.only_pc {
		display:none;
	}
	
	.only_sp {
		display:block;
	}

	#ph_box,
	#ph_box img {
		height:150px;
	}

	#footer .footer_text {
	}

	#step p {
		font-size:18px;
	}

	#step p span {
		font-size:14px;
	}

	#step .step_box_t.center {
		text-align:left;
	}

	// 規約

	.kiyaku_box_in {
		position:fixed;
		background:rgba(0,0,0,0.85);
		top:0;
		left:0;
		bottom:0;
		right:0;
		z-index:1010 !important;
	}

	.kiyaku_text {
		position:fixed;
		top:17%;
		left:10%;
		bottom:17%;
		right:10%;
		background:#ffffff;
		z-index:1011 !important;
		overflow-y:scroll;
		scrollbar-color:#999999 #ffffff;
		scrollbar-width: thin;
		align-items: center;
		margin:auto;
	}

	.kiyaku_text_in {
		position:relative;
		padding:5px 30px 30px 30px;
		z-index:1012 !important;
		display:none;
		margin:auto;
	}

	.kiyaku_text h5 {
		font-size:16px;
		color:#232323;
		font-weight: 700;
		font-style: normal;
		text-align:center;
		padding:25px 0 13px 0;
	}

	.kiyaku_text .step_box {
		margin:0 auto 5px auto;
	}

	.kiyaku_text .step_h {
		font-size:18px;
		font-weight: 700;
		font-style: normal;
		padding:5px 0 5px 0;
		letter-spacing:0.1em;
		text-align:center;
	}

	.kiyaku_text .step_d {
		font-size:14px;
		letter-spacing:0.05em;
		text-align:center;
	}

	.kiyaku_text .step_d a {
		font-size:14px;
		color:#232323;
		text-decoration:underline;
	}

	.kiyaku_text .attention {
		font-size:14px;
		padding:0 0 10px 0;
	}

	.kiyaku_text .attention a {
		font-size:14px;
		color:#232323;
		text-decoration:underline;
	}

	.kiyaku_text ul {
		margin:10px 0 0 0;
	}

	.kiyaku_text li {
		list-style-type: none;
		padding:0 0 0 10px;
		font-size:10px;
	}

	.kiyaku_text li a {
		font-size:10px;
		color:#232323;
		text-decoration:underline;
	}

	.kiyaku_text li:before {
		display: inline;
		content: "※";
	}

	.kiyaku_text::-webkit-scrollbar {
		width:10px;
	}

	.kiyaku_text::-webkit-scrollbar-track{
		background: #fff;
	}

	.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:70px;
		right:10px;
		width:40px;
		height:40px;
		transition:0.35s;
		cursor: pointer;
		z-index:1013 !important;
	}

	.kiyaku_close:hover {
		opacity:0.5;
	}

	.kiyaku_close::before,
	.kiyaku_close::after {
		content: "";
		position: absolute;
		top:50%;
		left:50%;
		width:2px;
		height:40px;
		background:#ffffff;
	}
	 
	.kiyaku_close::before {
		transform: translate(-50%,-50%) rotate(45deg);
	}
	 
	.kiyaku_close::after {
		transform: translate(-50%,-50%) rotate(-45deg);
	}

}
