@charset "utf-8";

/* ヘッダー */
header{
	position: relative;
	margin: 0 auto ;
	display: block;
	width: 100%;
}
header #keyvisual{
	position: relative;
	margin: 0 auto ;
	display: block;
	background-image: url("../img/main.jpg");
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: contain;
	padding-top: 141.515%;
	width: 100%;
}
header #keyvisual #keyvisualAni{
	position: absolute;
	top:0;
	left: 0;
	display: block;
	background-image: url("../img/main01.jpg");
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: contain;
	width: 100%;
}
header #keyvisual #keyvisualAni div{
	position: relative;
	margin: 0 auto;
	display: block;
	background-image: url("../img/main02.png");
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: contain;
	width: 100%;
	padding-top: 141.515%;
	height: 0;
	opacity: 0;
	transform: scale(.8,.8);
}
.topAni{animation: topAni .7s ease-in-out 0s 1 forwards;}
@keyframes topAni {
	0% {transform: scale(.8,.8);}
    70% {transform: scale(1.08,1.08);opacity: 1;}
	100% {transform: scale(1,1);opacity: 1;}
}
header .head{
	position: relative;
	margin: 0 auto;
	background-color: #711c7e;
	padding: 7px 10px;
}

/* photo */
#photo{
	position: relative;
	padding: 0;
	z-index: 4;
}
#photo .photoWrap{
	position: relative;
	margin: 0 auto ;
}
#photo .slick-slide{margin: 0 1px; background-color: transparent;}

/* catch */
#catch{
	padding: 0;
	background-color: #ff5400;
}
#catch .contentsUPWrap::before{
	position: absolute;
	content: '';
	display: block;
	width: 60%;
	height: 100%;
	top: 0;
	left: 0;
	background-image: url("../img/bg_catch.svg");
	background-repeat: no-repeat;
	background-size: auto 140%;
	background-position: 100% 50%;
	opacity: .4;
}
#catch .catch{
	position: relative;
	margin: 10px auto 0 auto;
	width: calc(100% - 20px);
}
#catch .catch01{
	position: relative;
	margin: 10px auto 0 auto;
	padding-bottom: 50px;
	width: calc(100% - 90px);
}
#catch .eventtic{
	position: relative;
	margin: 20px auto 0 auto;
	padding-bottom:40px;
	width: calc(100% - 40px);
	text-align: center;
	color: #ffffff;
	z-index: 100;
}
#catch .eventtic img{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 60px);
}
#catch .eventtic a, .price a{color: #FFEA00 !important;}

/* play */
#play{
	padding: 0 0 80px 0;
	margin: -50px auto 0 auto;
	text-align: center;
}
#play::before{
	position: relative;
	content: '';
	display: block;
	width: 100%;
	height: 50px;
	background-image: url("../img/btm_white.svg");
	background-repeat: no-repeat;
	background-size: 100% 100%;
	background-position: 0 0;
	transform: rotate(180deg);
}
#play .kikan{
	position: relative;
	margin: -30px auto 0 auto;
}
#play .kikan .ttl{
	position: relative;
	width: auto;
	display: inline-block;
	background-color: #000000;
	color: #ffffff;
	font-weight: 900;
	padding: 2px 3em;
}
#play .kikan .sche{
	position: relative;
	font-weight: 900;
	font-size: .20rem;
	padding-top: 10px;
}
#play .about{
	position: relative;
	font-weight: 900;
	font-size: .13rem;
	color: #e10000;
	/*margin: 35px auto 15px auto;*/
	margin: 0 auto 15px auto;
}
#play .playWrap{
	position: relative;
	margin: -40px auto 0 auto;
	border: solid 5px #000000;
	padding: 60px 0 20px 0;
}
#play ul{
	position: relative;
	margin: 0 auto;
}
#play ul li{
	position: relative;
	margin: 0 0 20px 0;
	width: 32%;
}
#play ul li div{
	position: relative;
	margin: 0 auto 10px auto;
	width: calc(100% - 10px);
}
#play ul li p{
	font-size: .16rem;
	font-weight: 900;
}
#play p.caution{
	padding: 10px;
	color: #ffe4a2;
	font-size: .12rem;
	width: calc(100% - 40px);
	margin: 0 auto;
	position: relative;
}


/* ニュース */
#news{
    position: relative;
	margin: 0 auto;
	padding: 0;
	background-color: #ffbe0d;
}
#news::before, #news::after{
	position: absolute;
	content: '';
	display: block;
	width: 100%;
	height: 50px;
	left: 0;
	background-image: url("../img/btm_yellow.svg");
	background-repeat: no-repeat;
	background-size: 100% 100%;
	background-position: 0 0;
}
#news::before{
	top: -50px;
	transform: rotate(180deg);
}
#news::after{
	bottom:-50px;
}
#news h2 p{position: relative;z-index: 21;}
#news h2 img{position: relative;z-index: 22;}
#news h2 p::before{
	position: absolute;
	content: '';
	display: block;
	width: 100%;
	height:160px;
	top: -60px;
	left: -34%;
	background-image: url("../img/ttl_news_bg.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 0 0;

}
#news .newsWrap{position: relative;padding-bottom: 80px;}
#news .newsWrap::before, #news .newsWrap::after{
	position: absolute;
	content: '';
	display: block;
	width: 100%;
	background-repeat: no-repeat;
	background-size: contain;
}
#news .newsWrap::before{
	height: 95px;
	top: -40px;
	right: 0;
	background-image: url("../img/bg_news.svg");
	background-position: calc(100% + 10px) 0;
}
#news .newsWrap::after{
	height: 65px;
	bottom: 0;
	left: 0;
	background-image: url("../img/bg_news01.svg");
	background-position: -7px 0;
}
#news .newsWrap.bUP::before{animation: bound 2.4s ease-in 0s 1 forwards;}
#news .newsBox{
	position: relative;
	margin: 0 auto;
	padding-top: 60px;
}
#news .newsBox ul{
	position: relative;
	margin:0 auto;
    width: 100%;
	height: 160px;
    overflow: hidden;
}
#news .newsBox ul li{
	position: relative;
	margin:0 auto 10px auto;
    padding: 0 0 0 1.4em;
	border-bottom: solid 1px #ffffff;
}
#news .newsBox ul li a{color: #ea1c24;}
#news .newsBox ul li p.date::before{
	position: absolute;
	content: '\025b6';
	top:0;
	left: 0;
}

#covid19{
	position: relative;
	margin: 40px auto 0 auto;
	padding-bottom: 20px;
}
#covid19 .contetsWrap{
	background-color: #e10000;
	padding: 15px;
	width: calc(100% - 50px);
	color: #ffffff;
	text-align: center;
}
#covid19 .contetsWrap h3{
	color: #a68a2c;
	padding-bottom: 20px;
	text-align: center;
	font-weight: 900;
}
#covid19 .contetsWrap p.step{
	height: 0;
	overflow: hidden;
	padding: 0 10px;
	transition: all .3s ease-out;
	background-color: #ffffff;
	color: #000000;
}
#covid19 .contetsWrap p.step.dispD{height: auto !important;padding: 20px 10px 10px 10px;}
#covid19 .contetsWrap .btn_covid19{
	position: relative;
	margin: 15px auto 0 auto;
	font-weight: 900;
	padding: 5px;
	text-align: center;
	background-color: #ffffff;
	color: #000000;
}
#covid19 .contetsWrap .btn_covid19 img{width: 15px;margin: -5px 0 0 auto;transition: all .3s ease-out;}
#covid19 .contetsWrap .btn_covid19 img.stepClose{transform: rotate(180deg);}
#covid19 .contetsWrap a{ color: #ffffff; text-decoration: underline;}

/* スペシャルバナー */
#bnrLinks{
	position: relative;
	margin: 0 auto;
	padding:50px 0 60px 0;
}
#bnrLinks ul{
	position: relative;
	margin: 30px auto 0 auto;
	width: calc(100% - 40px);
}
#bnrLinks ul li{
	position: relative;
	margin: 0 0 10px 0;
	width: calc(50% - 10px);
}
#bnrLinks ul li.w100{width:100%;}


/* ポイント */
#point{
	position: relative;
	margin: 0 auto;
	padding-bottom: 20px;
	background-color: #ff5400;
}
#point::before{
	position: absolute;
	content: '';
	display: block;
	width: 100%;
	height: 50px;
	left: 0;
	background-image: url("../img/btm_orange.svg");
	background-repeat: no-repeat;
	background-size: 100% 100%;
	background-position: 0 0;
	top: -50px;
	transform: rotate(180deg);
}
#point .pointWrap{position: relative;}
#point .pointWrap::before, #point .pointWrap::after{
	position: absolute;
	content: '';
	display: block;
	width: 100%;
	background-repeat: no-repeat;
	background-size: contain;
}
#point .pointWrap::before{
	height: 65px;
	top: -80px;
	right: 0;
	background-image: url("../img/bg_point01.svg");
	background-position: calc(100% - 5px) 0;
}
#point .pointWrap::after{
	height: 95px;
	top: -120px;
	left: 0;
	background-image: url("../img/bg_point.svg");
	background-position: -3px 0;
}
#point .pointWrap.bUP::before{animation: bound 2.4s ease-in 0s 1 forwards;}
#point .pointWrap.bUP::after{animation: bound 2.4s ease-in .3s 1 forwards;}
#point .cm{
	position: relative;
	margin: 50px auto 0 auto;
	width: calc(100% - 40px);
}
#point .cm::before{
	position: absolute;
	top:10px;
	left: 10px;
	background-color: rgba(0,0,0,.5);
	content: '';
	display: block;
	width: 100%;
	height: 100%;
}
#point .greeting{
	position: relative;
	margin: 50px auto 0 auto;
	width: calc(100% - 40px);
}
#point .greeting::before{
	position: absolute;
	top:10px;
	left: 10px;
	background-color: rgba(0,0,0,.5);
	content: '';
	display: block;
	width: 100%;
	height: 100%;
}
#point .greetingWrap{
	position: relative;
	margin: 0 auto;
	padding: 20px 0;
	background-color: #f6ff00;
}
#point .greetingTxtOp{
	position: relative;
	margin: 0 auto;
	padding: 0 10px;
	transition: all .3s ease-out;
	color: #000000;
}
#point .greetingTxtOp .name{
	position: relative;
	margin: 0 auto 20px auto;
	text-align: right;
	border-bottom: solid 1px #000000;
	font-size: .12rem;
}
#point .greetingTxt{
	position: relative;
	margin: 0 auto;
	height: 0;
	overflow: hidden;
	padding: 0 10px;
	transition: all .3s ease-out;
	color: #000000;
}
#point .greetingTxt.dispD{height: auto !important;padding: 20px 10px 10px 10px;}
#point .btn_greeting{
	position: relative;
	margin:10px auto 0 auto;
	width: 100%;
	height: 15px;
}
#point .ttl_greeting{
	position: relative;
	margin: 25px auto 0 auto;
	font-weight: 900;
	font-size: .18rem;
	padding: 5px 0 8px 0;
	text-align: center;
	background-color: #002e52;
	color: #f6ff00;
}
#point .btn_greeting::after{
	position:absolute;
	top:0;
	left: 0;
	display: block;
	content: '';
	height: 15px;
	width: 100%;
	transition: all .3s ease-out;
	background-image: url("../img/arrow02.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 50% 50%;
}
#point .btn_greeting.stepClose::after{transform: rotate(180deg);}
#point ul{
	position: relative;
	margin: 25px auto 0 auto;
}
#point ul li{
	position: relative;
	width: calc(100% - 30px);
	padding: 5px 10px;
}
#point ul li:nth-child(odd){margin: 0 0 10px 0;}
#point ul li:nth-child(even){margin: 0 0 10px 10px;}
#point ul li::after{
	position: absolute;
	top:0;
	left: 0;
	content: '';
	display: block;
	width: 100%;
	height: 100%;
}
#point ul li:nth-child(1)::after{background-color: #ffe146;}
#point ul li:nth-child(2)::after{background-color: #9ef5ff;}
#point ul li:nth-child(3)::after{background-color: #ffd3c0;}
#point ul li::before{
	position: absolute;
	top:10px;
	background-color: rgba(0,0,0,.5);
	content: '';
	display: block;
	width: 100%;
	height: 100%;
}
#point ul li:nth-child(odd)::before{left: 10px;}
#point ul li:nth-child(even)::before{left: -10px;}
#point ul li div{position: relative;z-index: 10;}
#point ul li .pImg{width: 40%;}
#point ul li .pImg img{margin: 0;width: calc(100% + 25px) ;max-width: calc(100% + 25px);}
#point ul li:nth-child(1) .pImg img, #point ul li:nth-child(3) .pImg img{transform: translateX(-25px);}
#point ul li .pTxt{
	position: relative;
	width: 57%;
	font-size: .15rem;
}
#point ul li .pTxt p{margin: 10px auto 0 auto;}
#point ul li .pTxt img{height: 22px;width: auto;}
#point ul li .ttl p{
	position: relative;
	padding: 0 0 10px 10px;
	color: #e3fe01;
	font-weight: 900;
	font-size: .18rem;
	width: calc(100% - 70px);
	background-image: url('../img/point_ttl_bg.png');
	background-repeat: no-repeat;
	background-position:50% 100%;
    background-size: 100% auto;
}

/* ストーリー */
#story{
	position: relative;
	margin:0 auto;
	padding: 50px 0 80px 0;
	background-color: #0070c9;
}
#story .bg::before{
	position: absolute;
	content: '';
	display: block;
	width: 100%;
	height: 50px;
	top: 0;
	left: 0;
	background-image: url("../img/btm_orange.svg");
	background-repeat: no-repeat;
	background-size: 100% 100%;
	background-position: 0 0;
}
#story .bg::after{
	position: absolute;
	content: '';
	display: block;
	width: 100%;
	height:120px;
	top: 0;
	left: -10px;
	background-image: url("../img/ttl_story_bg.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 0 0;
}
#story .bg.bUP::after{animation: bound 2.4s ease-in .3s 1 forwards;}
#story .contetsWrap{margin: 10px auto;}
#story p{
	position: relative;
	padding: 30px 0 0 0;
	font-size: .15rem;
	font-weight: 700;
	color: #ffffff;
}
#story p span{
	position: relative;
	margin: 2px auto;
	font-size: .20rem;
	font-weight:900;
	color: #f6ff00;
	display: block;
	line-height: 1.5em;
}

/* CM */
#cm{
	position: relative;
	margin:0 auto;
}
#cm::before{
	position: absolute;
	content: '';
	display: block;
	width: 100%;
	height: 50px;
	left: 0;
	background-image: url("../img/btm_white.svg");
	background-repeat: no-repeat;
	background-size: 100% 100%;
	background-position: 0 0;
	top:-50px;
	transform: scale(1,-1);
}
#cm .contetsWrap{margin: 20px auto;}

/* チケット */
#ticket{
	position: relative;
	margin:0 auto;
	/*padding: 50px 0 0 0;*/
	background-color: #ff6070;
	background-image: url("../img/bg_ticket02.svg");
	background-repeat: no-repeat;
	background-size: 114% auto;
	background-position: 50% 60px;
	color: #ffffff;
}
#ticket::before{
	position: absolute;
	content: '';
	display: block;
	width: 100%;
	height: 50px;
	left: 0;
	background-image: url("../img/btm_pink.svg");
	transform: rotate(180deg);
	top:-50px;
	/*background-image: url("../img/btm_white.svg");
	top: 0;*/
	background-repeat: no-repeat;
	background-size: 100% 100%;
	background-position: 0 0;
	
}
#ticket .price{position: relative;}
#ticket .price::before, #ticket .price::after{
	position: absolute;
	content: '';
	display: block;
	width: 100%;
	background-repeat: no-repeat;
	background-size: contain;
}
#ticket .price::before{
	height: 65px;
	top: -120px;
	right: 0;
	background-image: url("../img/bg_ticket01.svg");
	background-position: 8px 0;
}
#ticket .price::after{
	height: 95px;
	top: -147px;
	left: 0;
	background-image: url("../img/bg_ticket.svg");
	background-position: calc(100% + 5px) 0;
}
#ticket .price.bUP::before{animation: bound 2.4s ease-in 0s 1 forwards;}
#ticket .price.bUP::after{animation: bound 2.4s ease-in .3s 1 forwards;}
#ticket .ttl img{
	height: 20px;
	width: auto;
	margin: 20px auto;
}

#ticket .priceBox{
	position: relative;
	margin: 0 auto;
}
#ticket .priceBox h4{
	position: relative;
	margin: 0 auto 40px auto;
	text-align: center;
	font-weight: 900;
	font-size: .17rem;
}
#ticket .priceBox .caution{
	position: relative;
	margin: 20px auto 40px auto;
	font-size: .14rem;
}
#ticket .priceBox table::before{
	position: absolute;
	top: -40px;
	left: -30px;
	content: '';
	display: block;
	width: 100%;
	height: 70px;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: -40px 0;
}
#ticket .priceBox table.price01::before{background-image: url("../img/ttl_tic01.svg");}
#ticket .priceBox table.price02::before{background-image: url("../img/ttl_tic02.svg");}
#ticket .priceBox table{
	position: relative;
	margin: 0 auto 60px auto;
	width: 100%;
	border-collapse: collapse;
}
#ticket .priceBox table.price02{margin: 0 auto;}
#ticket .priceBox table th{
	width: 15%;
	text-align: center;
	white-space: nowrap;
	vertical-align: middle;
	line-height: 1.4em;
	padding: 5px;
	font-size: .12rem;
	border: solid 2px #e10000;
}
#ticket .priceBox table td{
	width: 40%;
	margin: 10px;
	text-align: center;
	padding: 5px 0;
	font-size: .14rem;
	color: #000000;
	border: solid 2px #e10000;
	background-color: #ffffe6;
	vertical-align: middle;
}
#ticket .priceBox table tr:nth-child(odd) td{background-color: #ffc5c6;}
#ticket .priceBox table tr:nth-child(even) th{background-color: #e10000;}
#ticket .priceBox table thead td{font-size: .12rem;background-color: transparent !important;color: #ffffff;line-height: 1.4em;}
#ticket .priceBox table td span{font-size: .24rem;font-weight: 900;}
#ticket .attention{
	position: relative;
	margin: 30px auto 10px auto;
	padding: 10px;
	width: calc(100% - 60px);
	background-color: #ffffff;
	color: #000000;
}
#ticket .attention .btn_attention{
	position: relative;
	text-align: center;
	font-weight: 900;
}
#ticket .attention .btn_attention::after{
	position:absolute;
	top:0;
	right: 8px;
	display: block;
	content: '';
	height: 100%;
	width: 15px;
	transition: all .3s ease-out;
	background-image: url("../img/arrow02.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 50% 50%;
}
#ticket .attention .btn_attention.attClose::after{transform: rotate(180deg);}
#ticket .attention .ttl{
	position: relative;
	color: #180525;
	font-weight: 900;
	font-size: .16rem;
}
#ticket .attention .ttl.ticClose::after{transform: rotate(180deg);}
#ticket .attention p{
	font-size: .12rem;
	text-align: left;
}
#ticket .attention .ttlS{
	position: relative;
	margin: 20px auto 0 auto;
	padding: 10px 0 0 0;
	font-size: .13rem;
	text-align: center;
	font-weight: 900;
	border-top:solid 1px;
}
#ticket .attention .ttlS01{
	position: relative;
	padding: 20px 0 10px 0;
	font-weight: 900;
}
#ticket .attention .ticCaution{
	position: relative;
	height: 0;
	overflow: hidden;
	opacity: 0;
	transition: all .5s ease-out;
}
#ticket .attention .ticCaution.disp{height: auto;opacity: 1;}
#ticket .u22{
	position: relative;
	margin: 50px auto 10px auto;
	padding: 20px;
	width: calc(100% - 70px);
	border: solid 1px #e10000;
	text-align: center;
}
#ticket .u22 img{
	margin: -35px auto 10px auto;
	padding: 5px;
	background-color: #ff6070;
	width: 120px;
}
#ticket .u22 p{text-align: left;}
#ticket .u22 p a{text-decoration: underline;}

#ticket .release{
	position: relative;
	margin: 0 auto;
	padding: 30px 0 60px 0;
	background-image: url("../img/bg_ticket02.svg"), url("../img/bg_ticket03.svg");
	background-repeat: no-repeat, no-repeat;
	background-size: 114% auto, 30% auto;
	background-position: 50% 0, -5px 100%;
}
#ticket .ticdate, #ticket .pre, #ticket .special{
	position: relative;
	margin: 40px auto;
	border: solid 2px #ffc5c6;
	width: calc(100% - 60px);
	padding: 20px;
	text-align: center;
	font-size: .14rem;
}
#ticket .special{background-color: rgba(255,213,243,.2);}
#ticket .ticdate .ttlS, #ticket .pre .ttlS, #ticket .special .ttlS{
	color: #002e52;
	font-weight: 900;
	font-size: .15rem;
	padding: 0 0 10px 0;
}
#ticket .ticdate .scrapD{
	font-size: .15rem;
	padding: 20px 0 10px 0;
}
#ticket .scrapT{
	font-weight: 900;
	font-size: .15rem;
	padding:  10px 0 20px 0;
}
#ticket .ticdate .bnr_scrap{
	position: relative;
	margin: 0 auto 40px auto;
	display: block;
}
#ticket .ticdate .shop{
	font-size: .12rem;
	color: #ffe4a2;
	font-weight: 700;
}
#ticket .pre a, #ticket .special a{
	position: relative;
	margin: 20px auto 0 auto;
	background-color: #ffffff;
	display: inline-block;
	width: auto;
	padding: 10px 4em;
	color: #000000;
	font-weight: 900;
}
#ticket .pre a::after, #ticket .special a::after{
	position:absolute;
	top:0;
	right: 8px;
	display: block;
	content: '';
	height: 100%;
	width: 15px;
	transition: all .3s ease-out;
	background-image: url("../img/arrow02.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 50% 50%;
	transform: rotate(-90deg);
}

/* チケットカレンダー */
.ticAPI{position: relative;margin: 0 auto;padding: 0;}
.ticAPI iframe{position: relative;margin: 0; padding: 0; width: 100%; height: 540px;}
#ticket_api{margin: 0;padding: 0;color: #000000;width: 100%; background-color: #ffbe0d;}
.ticketWrap{ margin: 0 auto; background-color: transparent !important;  padding:20px 0 0 0; font-size: .12rem !important; }
.ticketWrap .swiper-wrapper{padding: 0;}
.ticketWrap .naviBox {margin:  0 53px 0 53px;}
.ticketWrap .naviBox .prevBtn{top: 20px;left: 0; background-color: #ffffff; opacity: 1;}
.ticketWrap .naviBox .nextBtn{top: 20px;right: 0; background-color: #ffffff; opacity: 1;}
.ticketWrap .naviBox .prevBtn:hover, .ticketWrap .naviBox .nextBtn:hover{opacity: 1;}
.ticketWrap .naviBox ul li .scheduleBox{color:#000000;}
.ticketWrap .naviBox ul li.cr .scheduleBox {background: #e10000; color:#ffffff !important;}
.ticketWrap .naviBox ul li.cr .scheduleBox span span{color:#ffffff !important;}
.ticketWrap .detailsWrap {padding-top: 20px;}
.ticketWrap .detailsBox .tit {background-color: #002e52;font-size: .14rem !important;}
.ticketWrap .detailsBox .tit p{margin: 0 !important;}
.ticketWrap .detailsBox .tit01 {font-size: .18rem !important;}
.ticketWrap .detailsBox .details h4 {margin: 30px 0 0 0; color:#000000 !important;border-bottom: 2px solid #000000; background-image: none;font-size: .13rem !important;text-align: center;font-weight: 700;}
.ticketWrap .detailsBox .details a.scrap {color: #e10000; font-size: .12rem;font-weight: normal;}
.ticketWrap .detailsBox .details a.scrap:after {border-top: solid 1px #e10000;border-right: solid 1px #e10000; width: 5px; height: 5px;margin: -3px 0 0 0px;}
.ticketWrap .detailsBox .details ul li {margin-bottom: 0 !important;}
.ticketWrap .detailsBox .details ul li .scheduleBox.present {background: #ffffff; border: solid 1px #b3b3b3;color: #2a2a2a;}
.ticketWrap .detailsBox .details ul li .scheduleBox.sold {background: #b3b3b3; color:#969696; border: solid 1px #b3b3b3;}
.ticketWrap .detailsBox .details ul li .scheduleBox.few {background: #fbfdc2; border: solid 1px #b3b3b3;color: #2a2a2a;}
#ticket_api .note {margin: 0 auto !important;color:#232323; padding: 20px; background-color: #ffffff;}
#ticket_api .note a {color:#cf1009;}
.ticketWrap .detailsBox .details .ticketBox .ticketItem p {color:#232323;}
.ticketWrap .detailsBox .details ul li .scheduleBox .time {font-size: .13rem;}
.ticketWrap .detailsBox .details ul li .scheduleBox .state {font-size: .12rem;}

/* schedule */
#schedule{
    position: relative;
    margin: 0 auto;
	padding: 20px 0;
}
#schedule::before{
	position: absolute;
	content: '';
	display: block;
	width: 100%;
	height: 50px;
	left: 0;
	background-image: url("../img/btm_white.svg");
	background-repeat: no-repeat;
	background-size: 100% 100%;
	background-position: 0 0;
	top: -50px;
	transform: rotate(180deg);
}
#schedule .scheWrap{position: relative;}
#schedule .scheWrap::before{
	position: absolute;
	content: '';
	display: block;
	height: 95px;
	width: 100%;
	top: -147px;
	right: 0;
	background-image: url("../img/bg_schedule.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: calc(100% - 3px) 0;
}
#schedule .scheWrap.bUP::before{animation: bound 2.4s ease-in 0s 1 forwards;}
#schedule .scheWrap ul{
	position: relative;
	margin: 30px auto 0 auto;
}
#schedule .scheWrap ul li{
	position: relative;
	margin: 0 auto 20px auto;
	padding: 20px 10px;
	border: solid 3px #000000;
}
#schedule .scheWrap ul li::before{
	position: absolute;
	content: '';
	display: block;
	height: 65px;
	width: 55px;
	top: -20px;
	left: -20px;
	background-image: url("../img/bg_schedule01.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 0 0;
}
#schedule .scheWrap ul li .area{
	position: relative;
	font-weight: 900;
	font-size: .18rem;
	text-align: center;
}
#schedule .scheWrap ul li .kikan{
	position: relative;
	padding: 20px 0;
	text-align: center;
	font-weight: 900;
}
#schedule .scheWrap ul li .soon{
	position: relative;
	margin: 20px auto 0 auto;
	padding: 10px 0;
	text-align: center;
	font-weight: 900;
	background-color: #FFA75D;
	color: #ffffff;
	font-size: .18rem;
	background-image: url("../img/bg_btn.svg");
	background-repeat: no-repeat;
	background-size: auto 140%;
	background-position: 16% 10px;
}
#schedule .scheWrap ul li .button{
	position: relative;
	margin: 0 auto;
	background-color: #ff5400;
	font-size: .18rem;
	font-weight: 900;
	text-align: center;
	padding: 10px 0;
	color: #ffffff;
	background-image: url("../img/bg_btn.svg");
	background-repeat: no-repeat;
	background-size: auto 140%;
	background-position: 16% 10px;
}
#schedule .scheWrap ul li .btn_closed .button{background-color: #9A9A9A;}
#schedule .scheWrap ul li .button::after{
	position:absolute;
	top:0;
	right: 8px;
	display: block;
	content: '';
	height: 100%;
	width: 15px;
	transition: all .3s ease-out;
	background-image: url("../img/arrow01.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 50% 50%;
	transform: rotate(90deg);
}
#schedule .scheWrap ul li .btn_closed .button:after{display: none;}
#schedule .scheWrap ul li .button.accessClose::after{transform: rotate(270deg);}
#schedule .scheWrap ul li .access{
	text-align: left;
	padding:  0 10px;
	border: solid 1px #ff5400;
	height: 0;
	overflow: hidden;
	opacity: 0;
	transition: all .5s ease-out;
}
#schedule .scheWrap ul li .access.disp{height: auto;opacity: 1;}
#schedule .scheWrap ul li .access a{
	position: relative;
	margin: 30px 0;
	padding: 10px 0;
	display: inline-block;
	width: calc(50% - 2px);
	font-weight: 700;
	background-color: #e10000;
	color: #ffffff;
	text-align: center;
	text-decoration: none;
}
#schedule .scheWrap ul li .access .name{
	position: relative;
	margin: 0 auto 10px auto;
	text-align: center;
}

#schedule .scheWrap ul li .access .tic01{
	position: relative;
	margin: 0 auto 10px auto;
	border: solid 2px #e10000;
	text-align: center;
	padding: 10px;
}
#schedule .scheWrap ul li .access .tic01 a{display: inline-block;width: auto;padding: 0 5px;margin: 0 2px;}


/* グッズ */
#goods{
    position: relative;
	margin: 50px auto 0 auto;
	padding: 0 0 100px 0 ;
	background-color: #ffbe0d;
}
#goods::before{
	position: absolute;
	content: '';
	display: block;
	width: 100%;
	height: 50px;
	left: 0;
	background-image: url("../img/btm_yellow.svg");
	background-repeat: no-repeat;
	background-size: 100% 100%;
	background-position: 0 0;
	top: -50px;
	transform: rotate(180deg);
}
#goods ul{
	position: relative;
	margin: 20px auto 0 auto;
	width: calc(100% - 20px);
}
#goods ul li{
	position: relative;
	margin: 0;
	padding: 10px 0 0 0;
	text-align:center;
}
#goods ul li .goodsImage{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 70px);
	border: solid 2px #e10000;
	background-color: #ffffff;
}
#goods ul li .spec{
	position: relative;
	margin: 0 auto;
	padding: 70px 0 0 0;
	background-image: url("../img/bg_caution01.svg");
	background-repeat: no-repeat;
	background-size: 20% auto;
	background-position: 0 0;
	transform: translateY(-50px);
}
#goods ul li .spec .ttl{
	position: relative;
	margin: 0 auto;
	padding-bottom: 5px;
	font-size: .20rem;
	font-weight: 900;
	color: #e10000;
	border-bottom: solid 1px #e10000;
	width: calc(100% - 70px);
}
#goods ul li .spec .price{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 70px);
	padding: 10px 0 0 0;
	font-size: .16rem;
	text-align: right;
}
#goods ul li .spec .price span{font-weight: 700;font-size: .22rem;}
#goods .present{
	position: relative;
	margin: 0 auto;
	padding: 30px 0;
	width: calc(100% - 50px);
	border: solid 2px #e10000;
	background-color: rgba(255,255,255,.8);
}
#goods .present p{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 60px);
}
#goods .present .ttl{
	padding-bottom: 5px;
	margin: 0 auto 25px auto;
	font-size: .16rem;
	font-weight: 900;
	color: #e10000;
	text-align: center;
	border-bottom: solid 2px #e10000;
}
#goods .present table{
	position: relative;
	margin: 30px auto 0 auto;
	width: calc(100% - 10px);
	border: solid 1px #ffbe0d;
	background-color: #ffffff;
	border-collapse: collapse;
}
#goods .present table th{
	width: 15%;
	text-align: center;
	white-space: nowrap;
	vertical-align: middle;
	line-height: 1.4em;
	padding: 5px 2px;
	font-size: .12rem;
	border: solid 1px #ffbe0d;
	background-color: #FFE293;
}
#goods .present table td{
	width: 25%;
	margin: 10px;
	text-align: center;
	padding: 5px 0;
	font-size: .14rem;
	color: #000000;
	border: solid 1px #ffbe0d;
	vertical-align: middle;
}
#goods .present table td:nth-child(odd){background-color: #ffffe6;}
#goods .present table td .type{font-weight: 700;text-align: center;}
#goods .present table td p{margin: 0;width: 100%;}
#goods .present .tokutenImg{
	position: relative;
	width: calc(100% - 170px);
	margin: 0 auto 20px auto;
}


#howto{
	position: relative;
	margin: 0 auto;
	padding: 50px 0 20px 0;
	background-color: #48a364;
	transform: translateY(-50px);
}
#howto::before, #howto::after{
	position: absolute;
	content: '';
	display: block;
	width: 100%;
	height: 50px;
	left: 0;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	background-position: 0 0;
}
#howto::before{
	top: 0;
	transform: scale(-1,1);
	background-image: url("../img/btm_yellow.svg");
}
#howto::after{
	bottom: 0;
	transform: scale(1,-1);
	background-image: url("../img/btm_white.svg");
}
#howto ul{
	position: relative;
	margin: 40px auto 0 auto;
}
#howto ul li{
	position: relative;
	margin: 0  10px;
	padding: 10px;
}
.slide-H .slick-track {
	display: flex;
	align-items: stretch;
}
.slide-H .slick-slide{height: auto !important;}

#howto ul li::before{
	position: absolute;
	top:20px;
	left: 20px;
	content: '';
	display: block;
	width: calc(100% - 15px);
	height: calc(100% - 15px);
	background-color: rgba(0,0,0,.5);
}
#howto ul li .howtoWrap{
	position: relative;
	background-color: #ffbe0d;
	color: #002e52;
	font-size: .15rem;
	font-weight: 700;
	padding: 25px 10px;
	text-align: center;
	height: calc(100% - 50px) !important;
}
#howto ul li.howto01 .howtotxt img{height: 80px; width: auto;margin: -55px auto 20px auto;}
#howto ul li.howto02 .howtotxt img{height: 75px; width: auto;margin: -30px auto 20px auto;}
#howto ul li.howto02-2 .howtotxt img{height: 65px; width: auto;margin: -20px auto 20px auto;}
#howto ul li.howto03 .howtotxt img{height: 95px; width: auto;margin: -60px auto 20px auto;}
#howto ul li.howto04 .howtotxt img{height: 80px; width: auto;margin: -30px auto 20px auto;}
#howto ul li .howtotxt p.list{font-size: .13rem;line-height: 1.5em;margin: 15px auto 0 auto;}
#howto ul li .howtottl{
	position: relative;
	transform: translate(-20px, -32px);
	height: 94px;
}
#howto ul li .howtottl img{height: 100%; width: auto;}
#howto .button{
	position: relative;
	margin: 20px auto 0 auto;
	display: block;
	background-color: #002e52;
	font-size: .18rem;
	font-weight: 900;
	text-align: center;
	padding: 10px 0;
	color: #ffea00;
	background-image: url("../img/bg_btn.svg");
	background-repeat: no-repeat;
	background-size: auto 140%;
	background-position: 16% 10px;
}
#howto .button::after{
	position:absolute;
	top:0;
	right: 8px;
	display: block;
	content: '';
	height: 100%;
	width: 15px;
	transition: all .3s ease-out;
	background-image: url("../img/arrow.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 50% 50%;
}

#aboutgame{
	position: relative;
	margin: 30px auto 0 auto;
}
#aboutgame .aboutgameWrap{position: relative;}
#aboutgame .aboutgameWrap::before, #aboutgame .aboutgameWrap::after{
	position: absolute;
	content: '';
	display: block;
	width: 80px;
	background-repeat: no-repeat;
	background-size: contain;
}
#aboutgame .aboutgameWrap::before{
	height: 65px;
	top: -60px;
	right: 0;
	background-image: url("../img/bg_footer01.svg");
	background-position: calc(100% + 5px) 0;
}
#aboutgame .aboutgameWrap::after{
	height: 95px;
	top: -125px;
	right: 75px;
	background-image: url("../img/bg_footer02.svg");
	background-position: 0 0;
}
#aboutgame ul{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 120px);
}

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

	#bnrLinks ul li a img:hover, #howto .button:hover, #schedule .scheWrap ul li .btn_buy .button:hover{cursor: pointer; opacity: .8;transition: all .3s ease-out;}
	#covid19 .contetsWrap .btn_covid19:hover{cursor: pointer;transition: all .3s ease-out;}
	/* ヘッダー */
    header #keyvisual{
        background-image: url("../img/main_pc.jpg");
        padding-top:56.66%;
	}
	header #keyvisual #keyvisualAni{background-image: url("../img/main01_pc.jpg");}
	header #keyvisual #keyvisualAni div{
		background-image: url("../img/main02_pc.png");
		padding-top:56.66%;
	}
	header .head{padding: 10px;}
	header .head img{height: auto;width: 960px;margin: auto;}

	/* catch */
	#catch .contentsUPWrap::before{background-position: -20% 50%;}
	#catch .catch{
		margin: 20px auto 0 auto;
		width: 600px;
	}
	#catch .catch01{
		margin: 20px auto 0 auto;
		padding-bottom: 110px;
		width: 550px;
	}
	#catch .eventtic{
	margin: 20px auto 0 auto;
	padding-bottom:60px;
	width: 440px;
}

	/* play */
	#play{
		padding: 0 0 140px 0;
		margin: -100px auto 0 auto;
	}
	#play::before{height: 100px;}
	#play .kikan{margin: -50px auto 0 auto;}
	#play .kikan .ttl{
		padding: 5px 3em;
		font-size: .24rem;
	}
	#play .kikan .sche{
		font-size: .24rem;
		padding-top: 30px;
	}
	#play .about{
		font-size: .18rem;
		/*margin: 55px auto 35px auto;*/
		margin: 15px auto 35px auto;
	}
	#play .playWrap{
		margin: -50px auto 0 auto;
		padding: 120px 0 100px 0;
	}
	#play ul{width: 880px;}
	#play ul li{
		margin: 0;
		width: 16.4%;
	}
	#play ul li div{margin: 0 auto 30px auto;}
	#play ul li p{font-size: .16rem;}

	/* ニュース */
	#news::before, #news::after{height: 100px;}
	#news::before{top: -100px;}
	#news::after{bottom:-100px;}
	#news h2 p::before{height: 204px;}
	#news .newsWrap{padding-bottom: 80px;width: 980px;margin: 0 auto;}

	#news .newsWrap::before{
		background-position: 100% 0;
	}
	#news .newsWrap::after{
		bottom: 220px;
		background-position: 0 0;
	}
	#news .newsBox{
		padding-top: 80px;
		width: 800px;
	}

	#covid19{
		padding-bottom: 30px;
		width: 600px;
	}
	#covid19 .contetsWrap{
		padding: 25px;
		width: calc(100% - 50px);
	}
	#covid19 .contetsWrap p.step{
		font-size: .14rem;
	}
	#covid19 .contetsWrap .btn_covid19{
		margin: 25px auto 0 auto;
	}
	#covid19 .contetsWrap .btn_covid19 img{width: 15px;margin: -15px 0 0 auto;transition: all .3s ease-out;}

	/* スペシャルバナー */
	#bnrLinks{
		padding:120px 0 120px 0;
	}
	#bnrLinks ul{
		margin: 50px auto 0 auto;
		width: 960px;
		justify-content: flex-start;
	}
	#bnrLinks ul li{
		margin: 0 5px 10px 5px;
		width: calc(25% - 10px);
	}
	#bnrLinks ul li.w100{width:calc(38.5% - 10px);}

	/* ポイント */
	#point{padding-bottom: 120px;}
	#point::before{
		height: 100px;
		top: -100px;
	}
	#point .greeting{width: 860px;}
	#point .greeting::before{top:15px;left: 15px;}
	#point .pointWrap{margin: 0 auto;}
	#point .pointWrap::before{
		height: 65px;
		top: -140px;
		background-position: 85% 0;
	}
	#point .pointWrap::after{top: -130px;background-position: 0 0;}
	#point .greetingTxt.dispD{height: auto !important;padding: 20px 10px 10px 10px;}
	#point .greetingWrap{width: 780px;padding: 40px;}
	#point .greetingTxtOp .name{
		margin: 0 auto 20px auto;
		font-size: .14rem;
	}
	#point .cm{
		margin: 80px auto 0 auto;
		width: 720px;
	}
	#point .ttl_greeting{
		margin: 80px auto 0 auto;
		font-size: .24rem;
		padding: 10px 0;
	}
	#point .btn_greeting{margin: 40px auto 0 auto; height: 18px;}
	#point .btn_greeting::after{height: 18px;}
	#point ul{
		margin: 40px auto 0 auto;
		width: 680px;
	}
	#point ul li{
		position: relative;
		width: calc(100% - 140px);
		padding: 5px 30px;
	}
	#point ul li:nth-child(odd){margin: 0 0 20px 0;}
	#point ul li:nth-child(even){margin: 0 0 20px 60px;}
	#point ul li::before{top:20px;}
	#point ul li:nth-child(odd)::before{left: 20px;}
	#point ul li:nth-child(even)::before{left: -20px;}
	#point ul li .pImg img{margin: 0;width: calc(100% + 55px) ;max-width: calc(100% + 55px);}
	#point ul li:nth-child(1) .pImg img, #point ul li:nth-child(3) .pImg img{transform: translateX(-55px);}
	#point ul li .pTxt{font-size: .20rem;}
	#point ul li .pTxt p{margin: 20px auto 0 auto;}
	#point ul li .pTxt img{height: 34px;width: auto;}

	/* ストーリー */
	#story{padding: 100px 0 180px 0;}
	#story .bg::before{height: 100px;}
	#story .bg::after{
		width: 140px;
		height:170px;
		left: calc(50% - 270px);
	}
	#story p{
		padding: 50px 0 0 0;
		font-size: .14rem;
		text-align: center;
	}
	#story p span{
		margin: 5px auto;
		font-size: .22rem;
	}

	/* CM */
	#cm::before{
		height: 100px;
		top:-100px;
	}
	#cm .contetsWrap{margin: 50px auto;}

	/* チケット */
	#ticket{
		/*padding: 100px 0 0 0;*/
		background-size: 873px auto;
		background-position: 30% 0;
	}
	#ticket::before{
		height: 100px;
		top:-100px;
	}
	#ticket .price{width: 960px;margin: auto;}
	#ticket .price::before{
		height: 85px;
		top: -170px;
		background-position: 0 0;
	}
	#ticket .price::after{
		height: 110px;
		top: -190px;
		background-position: 100% 0;
	}
	#ticket .ttl img{
		height: 30px;
		margin: 60px auto;
	}

	#ticket .priceBox h4{
		margin: 0 auto 10px auto;
		font-size: .18rem;
	}
	#ticket .priceBox .caution{
		margin:20px auto 60px auto ;
		font-size: .14rem;
		width:600px;
	}
	#ticket .priceBox table::before{
		left: -80px;
		height: 90px;
		background-position: 0 0;
	}
	#ticket .priceBox table{
		margin: 0 auto 80px auto;
		width: 680px;
	}
	#ticket .priceBox table th{font-size: .14rem;}
	#ticket .priceBox table thead td{font-size: .14rem;}
	#ticket .attention{
		margin: 40px auto 10px auto;
		padding: 20px;
		width:600px;
	}
	#ticket .attention .btn_attention::after{
		right:10px;
		width: 18px;
	}
	#ticket .attention p{font-size: .14rem;}
	#ticket .attention .ttlS{
		margin: 30px auto 0 auto;
		padding: 20px 0 0 0;
		font-size: .15rem;
	}
	#ticket .attention .ttlS01{padding: 30px 0 10px 0;}
	#ticket .u22{
		padding: 30px 50px;
		width:500px;
	}
	#ticket .u22 img{
		margin: -65px auto 10px auto;
		width: 140px;
	}

	#ticket .release{
		padding: 20px 0 60px 0;
		background-repeat: no-repeat, no-repeat;
		background-size: 780px auto, 220px auto;
		background-position: 50% 0, 0 100%;
	}
	#ticket .ticdate, #ticket .pre, #ticket .special{
		width: 580px;
		padding: 30px;
		font-size: .16rem;
	}
	#ticket .ticdate .ttlS, #ticket .pre .ttlS, #ticket .special .ttlS{
		font-size: .18rem;
		padding: 0 0 15px 0;
	}
	#ticket .ticdate .scrapD{
		font-size: .16rem;
		padding: 50px 0 10px 0;
	}
	#ticket .ticdate .shop{font-size: .14rem;}
	#ticket .scrapT{
		font-size: .18rem;
		padding:  10px 0 20px 0;
	}
	#ticket .ticdate .bnr_scrap{
		margin: 0 auto 60px auto;
		display: block;
		width: 320px;
	}

	/* schedule */
	#schedule{padding: 20px 0 50px 0;}
	#schedule::before{
		height: 100px;
		top: -100px;
	}
	#schedule .scheWrap{width: 680px;margin: auto;}
	#schedule .scheWrap::before{
		top: -190px;
		background-position: 100% 0;
	}
	#schedule .scheWrap ul{
		margin: 50px auto 0 auto;
		width: 600px;
	}
	#schedule .scheWrap ul li .area{font-size: .24rem;}
	#schedule .scheWrap ul li .kikan{
		padding: 40px 0;
		font-size: .18rem;
		font-weight: 500;
	}
	#schedule .scheWrap ul li .soon{margin: 40px auto 0 auto;}

	
	/* グッズ */
	#goods{
		margin: 50px auto 0 auto;
		padding: 0 0 120px 0;
	}
	#goods::before{
		height: 100px;
		top: -100px;
	}
	#goods ul{
		margin: 40px auto 0 auto;
		width: 960px;
	}
	#goods ul li{width: 320px;}
	#goods ul li .spec .ttl{
		padding-bottom: 5px;
		font-size: .16rem;
	}
	#goods ul li .spec .price{font-size: .14rem;}
	#goods ul li .spec .price span{font-size: .18rem;}
	#goods .present{
		padding: 50px 0;
		width: 860px;
	}
	#goods .present p{width: calc(100% - 100px);}
	#goods .present .ttl{
		margin: 0 auto 35px auto;
		font-size: .18rem;
	}
	#goods .present table{
		margin: 30px auto 0 auto;
		width: 760px;
	}
	#goods .present table th{padding: 10px;}
	#goods .present table td{padding: 10px;}
	#goods .present .tokutenImg{
		position: absolute;
		width: 185px;
		margin: 0;
		right: 50px;
	}
	#goods .present .tokutenTxt{
		position: relative;
		width: 640px;
		margin: 0;
	}
	
	#howto{padding: 100px 0 20px 0;}
	#howto::before, #howto::after{height: 100px;}
	#howto ul{margin: 60px auto 0 auto;width: 1200px;}
	#howto ul li{width: 240px;margin: 0;}
	#howto ul li .howtoWrap{font-size: .13rem;}
	#howto ul li.howto01 .howtotxt img{margin: -35px auto 20px auto;}
	#howto ul li.howto02 .howtotxt img{margin: -30px auto 20px auto;}
	#howto ul li.howto02-1 .howtotxt img{margin: -35px auto 20px auto;}
	#howto ul li.howto03 .howtotxt img{margin: -50px auto 20px auto;}
	#howto ul li.howto04 .howtotxt img{margin: -30px auto 20px auto;}
	#howto ul li .howtotxt p.list{font-size: .11rem;margin: 15px auto 0 auto;}
	#howto ul li .howtottl{height: 70px;}
	#howto .button{
		margin: 20px auto 0 auto;
		font-size: .14rem;
	}
	#howto .button::after{width: 10px;}

	#aboutgame{margin: 50px auto 0 auto;}
	#aboutgame .aboutgameWrap::before, #aboutgame .aboutgameWrap::after{width: 120px;}
	#aboutgame .aboutgameWrap::before{
		height: 105px;
		top: 20px;
		right: 220px;
		background-position: 100% 0;
	}
	#aboutgame .aboutgameWrap::after{
		height: 175px;
		top: -155px;
		right: 440px;
	}
	#aboutgame ul{width: 320px;}

	
}