@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');

html {
	position:relative;
}

* {
	margin:0;
	padding:0;
	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;
}

body {
	background:#000000;
    color: #fff;
    font-family: YakuHanMP,"Noto Serif JP",serif;
    font-optical-sizing: auto;
    font-weight: 500;
    line-height: 1.8;
    text-align: justify;
    word-break: break-all
}

body.lock {
	overflow:hidden;
}

body::before {
	background:url(../img/bg.jpg) center center;
	background-size:cover;
	content:"";
	display:block;
	position:fixed;
	top:0;
	left:0;
	bottom:0;
	right:0;
	z-index:-5;
}

.wrapper {
	background:none;
}

footer {
	padding-bottom:0;
}

#mw_cp * {
	text-shadow:none;
	letter-spacing:-0.01px;
	line-height:1.6;
	-webkit-text-size-adjust:100%;
	font-size:12px;
	font-weight: 400;
	font-style: normal;
	color:#232323;
    outline : none;
	font-feature-settings: "palt";
}

#mw_cp {
	width:640px;
	margin:0 auto;
	position:relative;
	background: #562C80;
	background: linear-gradient(90deg, rgba(86, 44, 128, 1) 0%, rgba(36, 50, 99, 1) 30%, rgba(210, 16, 16, 1) 65%, rgba(254, 203, 58, 1) 100%);
}

a {
	outline:0;
	border:0;
	color:#0099ff;
	text-decoration:none;
}

img {
	border:0;
    outline : none;
    vertical-align: bottom;
}

ul,
li,
ol {
	list-style:none;
}

/* メインビジュアル */

#mw_cp #mainvisual {
}

#mw_cp #mainvisual img {
	width:100%;
}

/* プレミア */

#mw_cp #premiere {
}

#mw_cp #premiere img {
	width:100%;
}

#mw_cp .place_box {
	margin:0 5%;
}

#mw_cp .place_box_in {
	margin:10px 0 0 0;
}

#mw_cp .event {
	margin:50px 5% 0 5%;
}

#mw_cp .event_in {
	margin:15px 0 0 0;
}

#mw_cp .step {
	padding:35px 0 30px 0;
}

#mw_cp .step p {
	font-size:24px;
	font-weight:700;
	margin:10px 0 0 0;
	color:#ffffff;
	text-align:center;
}

#mw_cp .step p span {
	font-size:16px;
	font-weight:700;
	color:#ffffff;
}

#mw_cp .step_movie {
	margin:30px 5% 0 5%;
}

#mw_cp .step_but {
	margin:40px 5% 0 5%;
}

#mw_cp .step_but_in {
	margin:20px 0 0 0;
	filter:alpha(opacity=35);
	-moz-opacity: 0.35;
	opacity: 0.35;
}

#mw_cp .step_but_in.ended {
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity:1;
	cursor:pointer;
	transition:1.0s;
}

#mw_cp .step_text {
	margin:40px 5% 0 5%;
	font-size:16px;
	font-weight:700;
	color:#ffffff;
}

#mw_cp .step ul {
	margin:15px 5% 15px 5%;
}

#mw_cp .step li {
	list-style-type: none;
	padding:0 0 0 14px;
	position:relative;
	font-size:14px;
	font-weight:400;
	color:#ffffff;
}

#mw_cp .step li:before {
	display: inline;
	content: "※";
	position: absolute;
	top:0;
	left:0;
}

#mw_cp .step li a {
	font-size:14px;
	font-weight:400;
	color:#ffffff;
	text-decoration: underline;
}

/* シーンカット */

#mw_cp #ph_box_top {
	overflow:hidden;
	position:relative;
	z-index:10;
}

#mw_cp #ph_box_top * {
	height:250px !important;
}

#mw_cp .ph_top {
	margin:30px 0 0 0;
}

#mw_cp .ph_mid {
}

#mw_cp .ph_top img,
#mw_cp .ph_mid img {
	width:100%;
}

/* リンク */

#mw_cp .links {
    padding: 0 0 30px 0;
	background:#070925;
}

#mw_cp .links .links_item {
	padding:30px 5% 0 5%;
}

#mw_cp .links .copyright {
	text-align:center;
	font-size:16px;
	font-weight:500;
	margin:30px 0 0 0;
	color:#ffffff;
}

#mw_cp .links .copyright_sub {
	text-align:center;
	font-size:12px;
	font-weight:400;
	color:#ffffff;
	margin:5px 0 0 0;
}

#mw_cp .links .copyright_aside {
	text-align:center;
	font-size:10px;
	font-weight:400;
	color:#ffffff;
	margin:15px 0 0 0;
}

#mw_cp .links img {
	width:100%;
}

/* フッター */

#mw_cp .footer {
	margin:50px 0 0 0;
	text-align:center;
}

#mw_cp .footer .copyright {
	text-align:center;
	font-size:14px;
	font-weight:500;
	margin:30px 0 0 0;
	color:#cccccc;
}

#mw_cp .footer .copyright_sub {
	text-align:center;
	font-size:10px;
	font-weight:300;
	margin:5px 0 0 0;
	color:#cccccc;
}

/* 予告 */

#mw_cp .ytMovie_box {
	position:relative;
	padding-bottom:56.5%;
	height:0;
	overflow:hidden;
}

#mw_cp .ytMovie_box iframe {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

/* ストーリー */

#mw_cp #story {
	background:url(../img/bg_sp.jpg) no-repeat top center;
	background-size:auto 100%;
}

#mw_cp #story_in {
	background:rgba(0,0,0,0.5);
}

#mw_cp #story .story_top,
#mw_cp #story .story_lead,
#mw_cp #story .story_text {
	position: relative;
}

#mw_cp #story .story_lead {
	margin:30% 0 0 0;
}

#mw_cp #story .story_top {
	padding:15px 0 0 0;
}

#mw_cp #story .story_top img {
	width:100%;
}

#mw_cp #story .story_top h3 {
	text-align:center;
}

#mw_cp #story .story_top h3 img {
	width:100%;
}

#mw_cp #story h4 {
    margin:0;
}

#mw_cp #story h4 img {
	width:100%;
}

#mw_cp .story_item p {
	font-size:16px;
	color:#ffffff;
	font-weight:600;
	text-align: justify;
	text-justify: inter-ideograph;
}

#mw_cp .story_item p span.green {
	font-size:18px;
	font-weight:800;
	color:#0acb12;
}

#mw_cp .story_item p span.pink {
	font-size:18px;
	font-weight:800;
	color:#f16798;
}

#mw_cp .story_item_movie {
	margin:0 6.5%;
}

#mw_cp .story_theater {
	margin:50px 0 0 0;
	text-align:center;
}

#mw_cp .story_footer {
	text-align:center;
}

#mw_cp #story h4 {
	margin:20px 0 0 0;
	text-align:center;
}

#mw_cp #story .story_text {
	margin:0 0 15px 0;
}

#mw_cp #story .story_intro {
	padding:0 5% 20px 5%;
}

#mw_cp #story .story_catch {
	padding:0 5% 40px 5%;
}

#mw_cp #story .story_catch img {
	width:100%;
}

#mw_cp #story .story_intro p {
	font-size:16px;
	color:#ffffff;
	font-weight:500;
	text-align: justify;
	text-justify: inter-ideograph;
	margin:10px 0 0 0;
}

#mw_cp #story .story_intro p span.gold {
	font-size:18px;
	background: linear-gradient(to right, #b27f2a, #cb9941 18%, #f4e287 38%, #fff8d2 51%, #f4e287, #cb9941 81%, #b27f2a);
	background: -webkit-linear-gradient(to right, #b27f2a, #cb9941 18%, #f4e287 38%, #fff8d2 51%, #f4e287, #cb9941 81%, #b27f2a);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-weight:800;
}

#mw_cp #story .story_intro p span.sub {
	font-size:14px;
	font-weight:400;
	color:#ffffff;
}

#mw_cp .story_logo img,
#mw_cp .story_release img {
	width:100%;
}

/* 規約 */

#mw_cp .kiyaku_box {
	display:none;
}

#mw_cp .kiyaku_box_in {
	position:fixed;
	background:rgba(0,0,0,0.85);
	top:0;
	left:0;
	bottom:0;
	right:0;
	z-index:1010 !important;
}

#mw_cp .kiyaku_text {
	position:fixed;
	top:17%;
	left:10%;
	bottom:17%;
	right:10%;
	background:#ffffff;
	z-index:1011 !important;
}

#mw_cp .kiyaku_text_in_out {
	overflow-y:scroll;
	scrollbar-width:10px;
	margin:auto;
	height:100%;
}

#mw_cp .kiyaku_text_in {
	position:relative;
	padding:30px 70px 50px 70px;
	z-index:1012 !important;
	margin:auto;
}

#mw_cp .kiyaku_text_in_out::-webkit-scrollbar {
	width:10px;
}

#mw_cp .kiyaku_text_in_out::-webkit-scrollbar-track {
	background:#ffffff;
}

#mw_cp .kiyaku_text_in_out::-webkit-scrollbar-thumb {
	background-color: rgba(0, 0, 0, 0.5);
	box-shadow:0 0 0 1px rgba(255, 255, 255, 0.5);
}

#mw_cp .kiyaku_text_in_out::-webkit-scrollbar-corner {
	display: none;
}

#mw_cp .kiyaku_text h5 {
	font-size:30px;
	color:#232323;
	font-weight:900;
	text-align:center;
	padding:25px 0 13px 0;
}

#mw_cp .kiyaku_text .step_box {
	margin:0 auto 5px auto;
}

#mw_cp .kiyaku_text .step_h {
	font-size:24px;
	font-weight:700;
	padding:5px 10px 5px 0;
	letter-spacing:0.1em;
	text-align:center;
}

#mw_cp .kiyaku_text .step_d {
	font-size:20px;
	text-align:center;
	letter-spacing:0.05em;
}

#mw_cp .kiyaku_text .step_d a {
	font-size:20px;
	color:#232323;
	text-decoration:underline;
}

#mw_cp .kiyaku_text .attention {
	font-size:18px;
	text-align:center;
	padding:0 0 10px 0;
}

#mw_cp .kiyaku_text .attention a {
	font-size:18px;
	color:#232323;
	text-decoration:underline;
}

#mw_cp .kiyaku_text ul {
	margin:10px 0 0 0;
}

#mw_cp .kiyaku_text li {
	list-style-type: none;
	padding:0 0 0 16px;
	font-size:16px;
	position:relative;
}

#mw_cp .kiyaku_text li b,
#mw_cp .kiyaku_text li span {
	font-size:16px;
}

#mw_cp .kiyaku_text li a {
	font-size:16px;
	color:#232323;
	text-decoration:underline;
}

#mw_cp .kiyaku_text li:before {
	display: inline;
	content: "※";
	position: absolute;
	top:0;
	left:0;
}

#mw_cp .kiyaku_text::-webkit-scrollbar {
	width:10px;
}

#mw_cp .kiyaku_text::-webkit-scrollbar-track{
	background: #fff;
}

#mw_cp .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);
}

#mw_cp .kiyaku_close {
	display:block;
	position:fixed;
	top:100px;
	right:20px;
	width:60px;
	height:60px;
	transition:0.35s;
	cursor: pointer;
	z-index:1013 !important;
}

#mw_cp .kiyaku_close:hover {
	opacity:0.5;
}

#mw_cp .kiyaku_close::before,
#mw_cp .kiyaku_close::after {
	content: "";
	position: absolute;
	top:50%;
	left:50%;
	width:2px;
	height:60px;
	background:#ffffff;
}
 
#mw_cp .kiyaku_close::before {
	transform: translate(-50%,-50%) rotate(45deg);
}

#mw_cp .kiyaku_close::after {
	transform: translate(-50%,-50%) rotate(-45deg);
}

/* ボタン */

#mw_cp .but_box_in a ,
#mw_cp .but_box_in span {
	display:block;
	font-size:18px;
	font-weight:500;
	color:#ffffff;
	text-decoration:none;
	transition:1.0s;
	border-radius:85px;
	padding:15px 20px 15px 0;
	text-align:center;
	position:relative;
	border:1px solid #ffffff;
}

#mw_cp .but_box_in a::after,
#mw_cp .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);
}

#mw_cp .but_box {
	padding:0 25% 30px 25%;
}

#mw_cp .but_box_in {
	margin:15px 0 0 0;
}

#mw_cp .but_box_in span,
#mw_cp .but_box_in a,
#mw_cp .but_box_in img {
	display:block;
}

#mw_cp .but_box_in img {
	width:100%;
}

/* 当選 */

#mail {
	background:#ffffff;
	padding:5px 0 15px 0;
}

#mail img {
	width:100%;
}

/* 応募締切 */

#mw_cp .shimekiri {
	font-size:30px;
	text-align:center;
	font-weight:700;
	color:#f1dd86;
}

#mw_cp .shimekiri span {
	font-size:60px;
	font-weight:700;
	color:#f1dd86;
}

/* レシポンシブ */

#mw_cp .only_sp {
	display:none;
}

@media screen and (max-width:640px) {

	body {
		min-width:320px;
	}

	#mw_cp {
		width:100%;
	}

	/* コンテント */

	#mw_cp #invitation::before {
		width:100%;
	}

	/* ステップ */
	
	#mw_cp .step p {
		font-size:18px;
		margin:10px 0 0 0;
	}

	#mw_cp .step p span {
		font-size:12px;
	}

	#mw_cp .step_but {
	    margin:30px 5% 0 5%;
	}

	#mw_cp .step_but_in {
		margin:10px 0 0 0;
	}

	#mw_cp .step_text {
		margin:30px 5% 0 5%;
		font-size:14px;
	}

	#mw_cp .step li {
	    padding:0 0 0 12px;
	    font-size:12px;
	}

	#mw_cp .step li a {
		font-size:12px;
	}

	/* リンク */

	#mw_cp .links {
		padding:0 0 30px 0;
	}

	#mw_cp .links .links_item {
		padding:10px 3.5% 0 3.5%;
	}

	#mw_cp .links h3 {
		margin:0 0 5px 0;
	}

	#mw_cp .links ul {
		margin:20px 0 0 0;
	}

	#mw_cp .links li a {
		width:37.5px;
		height:37.5px;
	}

	// 規約

	#mw_cp .kiyaku_box_in {
		position:fixed;
		background:rgba(0,0,0,0.85);
		top:0;
		left:0;
		bottom:0;
		right:0;
		z-index:1010 !important;
	}

	#mw_cp .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;
	}

	#mw_cp .kiyaku_text_in {
		position:relative;
		padding:5px 30px 30px 30px;
		z-index:1012 !important;
		display:none;
		margin:auto;
	}

	#mw_cp .kiyaku_text h5 {
		font-size:16px;
		color:#232323;
		font-weight: 700;
		font-style: normal;
		text-align:center;
		padding:25px 0 13px 0;
	}

	#mw_cp .kiyaku_text .step_box {
		margin:0 auto 5px auto;
	}

	#mw_cp .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;
	}

	#mw_cp .kiyaku_text .step_d {
		font-size:14px;
		letter-spacing:0.05em;
		text-align:center;
	}

	#mw_cp .kiyaku_text .step_d a {
		font-size:14px;
		color:#232323;
		text-decoration:underline;
	}

	#mw_cp .kiyaku_text .attention {
		font-size:14px;
		padding:0 0 10px 0;
	}

	#mw_cp .kiyaku_text .attention a {
		font-size:14px;
		color:#232323;
		text-decoration:underline;
	}

	#mw_cp .kiyaku_text ul {
		margin:10px 0 0 0;
	}

	#mw_cp .kiyaku_text li {
		list-style-type: none;
		padding:0 0 0 10px;
		font-size:10px;
	}

	#mw_cp .kiyaku_text li b,
	#mw_cp .kiyaku_text li span {
		font-size:10px;
	}

	#mw_cp .kiyaku_text li a {
		font-size:10px;
		color:#232323;
		text-decoration:underline;
	}

	#mw_cp .kiyaku_text li:before {
		display: inline;
		content: "※";
	}

	#mw_cp .kiyaku_text::-webkit-scrollbar {
		width:10px;
	}

	#mw_cp .kiyaku_text::-webkit-scrollbar-track{
		background: #fff;
	}

	#mw_cp .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);
	}

	#mw_cp .kiyaku_close {
		display:block;
		position:fixed;
		top:70px;
		right:10px;
		width:40px;
		height:40px;
		transition:0.35s;
		cursor: pointer;
		z-index:1013 !important;
	}

	#mw_cp .kiyaku_close:hover {
		opacity:0.5;
	}

	#mw_cp .kiyaku_close::before,
	#mw_cp .kiyaku_close::after {
		content: "";
		position: absolute;
		top:50%;
		left:50%;
		width:2px;
		height:40px;
		background:#ffffff;
	}
	 
	#mw_cp .kiyaku_close::before {
		transform: translate(-50%,-50%) rotate(45deg);
	}
	 
	#mw_cp .kiyaku_close::after {
		transform: translate(-50%,-50%) rotate(-45deg);
	}

	/* フッター */

	#mw_cp .footer {
		margin:30px 0 30px 0;
	}

	#mw_cp .footer .copyright {
		font-size:12px;
	}

	/* ボタン */

	#mw_cp .but_box_in a ,
	#mw_cp .but_box_in span {
		font-size:16px;
	}

	#mw_cp .but_box {
		padding:5px 15% 20px 15%;
	}

	/* 応募締切 */

	#mw_cp .shimekiri {
		font-size:20px;
	}

	#mw_cp .shimekiri span {
		font-size:40px;
	}


	/* レシポンシブ */

	#mw_cp .only_pc {
		display:none;
	}

	#mw_cp .only_sp {
		display:block;
	}

}

/* 効果 */
h1,h2,h3,.place_box_in,.event_in,#story h4,#story .story_item,p {
	visibility:hidden;
}

/* ユニバーサル */

.layout-footer {
    position: relative;
    z-index: 9;
    font-family: Noto Sans JP,sans-serif;
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    gap: 3rem;
    height:50px;
    padding: 0 40px;
    background: linear-gradient(to right,#ed5d88,#edd8ae,#3fa836)
}

@media screen and (max-width: 768px) {
    .layout-footer {
        flex-direction:column;
        gap: 10px;
        height: auto;
        padding: 20px;
    }
}

.layout-footer .footer-pagetop {
    position: fixed;
    z-index: 9;
    bottom: 7rem;
    right: 4rem;
    opacity: 0;
    visibility: hidden;
    will-change: opacity,visibility;
    transition: opacity .2s cubic-bezier(.39,.575,.565,1),visibility .2s cubic-bezier(.39,.575,.565,1)
}

@media screen and (max-width: 768px) {
    .layout-footer .footer-pagetop {
        bottom:2.3rem;
        right: 1.5rem
    }
}

.layout-footer .footer-pagetop a {
    display: block;
    width: 7rem;
    height: 7rem;
    border-radius: 3.5rem;
    transition: box-shadow .2s cubic-bezier(.39,.575,.565,1)
}

@media screen and (max-width: 768px) {
    .layout-footer .footer-pagetop a {
        width:5.6rem;
        height: 5.6rem;
        border-radius: 2.8rem
    }
}

@media (hover: hover) {
    .layout-footer .footer-pagetop a:hover {
        box-shadow:0 0 2rem #f4e287cc
    }
}

@media (hover: none) {
    .layout-footer .footer-pagetop a:active {
        box-shadow:0 0 2rem #f4e287cc
    }
}

.layout-footer .footer-nav {
    display: flex;
    align-items: center;
    gap: 3rem
}

@media screen and (max-width: 768px) {
    .layout-footer .footer-nav {
        flex-direction:column;
        align-items: flex-start;
        gap: 1rem
    }
}

.layout-footer .footer-billing {
    display: flex;
    align-items: center;
    gap: 13px;
    margin:0 auto;
}

.layout-footer .footer-billing__item--universal {
    width:100px;
    height:24px;
}

.layout-footer .footer-billing__item--tohotowa {
    width:95px;
    height:24px;
}

.layout-footer .footer-billing__item a {
    transition: opacity .2s cubic-bezier(.39,.575,.565,1);
}

.layout-footer .footer-billing__item a img {
	    display: block;
    max-width: 100%;
}

@media (hover: hover) {
    .layout-footer .footer-billing__item a:hover {
        opacity:.6
    }
}

@media (hover: none) {
    .layout-footer .footer-billing__item a:active {
        opacity:.6
    }
}

.layout-footer .footer-menu {
    display: flex;
    gap: 3rem;
    font-size:12px;
    line-height: 1;
    letter-spacing: .04rem
}

@media screen and (max-width: 768px) {
    .layout-footer .footer-menu {
        gap:1.5rem;
        font-size: 1rem;
        letter-spacing: 0
    }
}

.layout-footer .footer-menu a {
    text-decoration: none;
    transition: opacity .2s cubic-bezier(.39,.575,.565,1);
	font-size:12px;
	color:#ffffff;
}

@media (hover: hover) {
    .layout-footer .footer-menu a:hover {
        opacity:.6
    }
}

@media (hover: none) {
    .layout-footer .footer-menu a:active {
        opacity:.6
    }
}

.layout-footer .footer-copyright {
    margin-right: auto;
    font-size:12px;
    line-height: 1;
    letter-spacing: .04rem
}

@media screen and (max-width: 768px) {
    .layout-footer .footer-copyright {
        margin-right:0;
        font-size: 10px;
        letter-spacing: 0
    }
}