@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: 50% 0;
	background-size: contain;
	padding-top: 56.2%;
	width: 100%;
}

/* catch */
#catch{
	position: relative;
	padding: 0 0 35px 0;
	background-image: url("../img/bg_catch.png");
	background-repeat: no-repeat;
	background-position: 50% -50px;
	background-size:  auto calc(100% + 50px);
	overflow: hidden;
}
#catch .catchTxt{
	position: relative;
	margin: 0 auto;
	width: 100%;
	height: 0;
	padding-top: 69.64%;
	background-image: url("../img/catch.png");
	background-repeat: no-repeat;
	background-position: calc(50% - 14px) -15px;
	background-size:calc(100% + 90px)  auto;
}
#catch p{
	position: relative;
	margin: 0 auto;
	padding: 10px 0 30px 0;
	color: #364135;
	width: calc(100% - 40px);
	text-align: center;
	font-weight: 900;
	font-size: .17rem;
	line-height: 1.9em;
}
#catch .banner img{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 40px);
	box-shadow: -8px 10px 13px -2px rgba(0,0,0,0.6);
}
.banner{
	position: relative;
	margin: 0 auto;
}
.banner .box{
	position: relative;
	margin: 0 0 20px 0;
}


/* イベント詳細 */
#event{
	position: relative;
	margin: 0 auto;
	padding: 20px 0 0 0;
}
#event h3{
	position: relative;
	margin: 0 auto;
	background-color: #000000;
	padding: 20px;
}
#event h3::after{display: none;}
#event ul{
	position: relative;
	margin: -5px auto 0 auto;
	padding: 0;
}
#event ul li{
	position: relative;
	padding: 0;
	margin: 0;
	overflow: hidden;
}
#event ul li .pointImg{
	position: relative;
	margin: 0 0 0 -60px;
	width: calc(100% + 55px);
	z-index: 1;
}
#event ul li .pointTxt{
	position: relative;
	margin: -100px auto 0 auto;
	padding: 100px 20px 20px 20px;
	width: calc(100% - 80px);
	background-color: rgba(0,0,0,.4);
	font-weight: 700;
}

/* プレイ形式 */
#play{
	position: relative;
	margin: -40px auto 0 auto;
	background-image: url("../img/bg_pointlist.png");
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size: 190% auto;
	padding: 130px 0 10px 0;
}
#play ul{
	position: relative;
	margin:0 auto;
	width: calc(100% - 20px);
}
#play ul li{
	position: relative;
	padding: 0;
	margin: 0 5px 25px 5px;
	width: calc(32% - 10px);
}
#play ul li:nth-child(3){
	margin: 0 0 25px 0;
	width: 32%;
}

/* photo */
#photo{
	position: relative;
	padding: 0;
}
#photo .photoWrap{
	position: relative;
	margin: 0 auto;
}
#photo ul{width: 100%;}
#photo .slick-slide{margin: 0 2px; background-color: transparent;}

#cm{
	position: relative;
	margin: 0 auto;
	padding: 0 0 20px 0;
}
#cm h2{z-index: 1;}
#cm .flexbox{
	position: relative;
	margin: -100px auto 0 auto;
	padding-top: 100px;
	background-image: url("../img/bg01.png"), url("../img/bg01.png");
	background-repeat: no-repeat, no-repeat;
	background-position: calc(100% + 30px) 0, -230px 100%;
	background-size: auto 250px, auto 289px;
}
#cm .movieBox{
	position: relative;
	margin: 0 auto 20px auto;
	width: 100%;
}
#cm p{
	position: relative;
	margin:0 auto;
	padding: 0;
	font-size: .18rem;
	line-height: 2.2em;
	text-align: center;
	font-weight: 900;
	text-shadow: -3px 3px 3px  #000000,
		1px 1px 0 #FFF, -1px -1px 0 #000000,
		-1px 1px 0 #000000, 1px -1px 0 #000000,
		0px 1px 0 #000000,  0-1px 0 #000000,
		-1px 0 0 #000000, 1px 0 0 #000000;
}

/* ストーリー */
#story{
	position: relative;
	margin:0 auto;
	padding: 40px 0 0 0;
}
#story p{
	position: relative;
	margin:0 auto;
	padding: 0;
	line-height: 2.2em;
	text-align: center;
	font-weight: 900;
	text-shadow: -3px 2px 2px  #000000,
		1px 1px 0 #FFF, -1px -1px 0 #000000,
		-1px 1px 0 #000000, 1px -1px 0 #000000,
		0px 1px 0 #000000,  0-1px 0 #000000,
		-1px 0 0 #000000, 1px 0 0 #000000;
}
#story p span{
	font-size: .25rem;
	color: #ffec19;
	background-image: url("../img/bgWL.png");
	background-repeat: no-repeat;
	background-position:50% 100%;
	background-size: 100% auto;
	padding-bottom: 22px;
}
#story .aboutBtn{
	position: relative;
	margin: 50px auto 0 auto;
	width: calc(100% - 40px);
}
#story .aboutBtn li{
	position: relative;
	margin: 0 ;
	width: calc(50% - 10px);
}
#story .aboutBtn li img{box-shadow: -8px 10px 13px -2px rgba(0,0,0,0.6);}

/* キャラクター */
#charactor{
	position: relative;
	margin: 0 auto;
	padding-top: 70px;
}
#charactor ul{position: relative;margin: -20px auto 0 auto;}
#charactor ul li{
	position: relative;
	margin: 0;
	width: 20%;
	transition: all .3s ease-out;
	background-repeat: no-repeat;
	background-position:50% 0;
	background-size: contain;
}
#charactor ul li.disp img, #charactor ul li:hover img{opacity: 0;transition: all .3s ease-out;}
#charactor ul li.chara01.disp, #charactor ul li.chara01:hover{background-image: url("../img/btn_chara1_on.png");}
#charactor ul li.chara02.disp, #charactor ul li.chara02:hover{background-image: url("../img/btn_chara2_on.png");}
#charactor ul li.chara03.disp, #charactor ul li.chara03:hover{background-image: url("../img/btn_chara3_on.png");}
#charactor ul li.chara04.disp, #charactor ul li.chara04:hover{background-image: url("../img/btn_chara4_on.png");}
#charactor ul li.chara05.disp, #charactor ul li.chara05:hover{background-image: url("../img/btn_chara5_on.png");}
#charactor .chara{
	position: relative;
	margin:-2px auto 0 auto;
	padding: 0;
	width: 100%;
}
#charactor .chara div{
    position: relative;
    width: 100%;
    margin: 0 auto;
	opacity: 0;
	height: 0;
	overflow: hidden;
	transition: all .3s ease-out;
}
#charactor .chara div.disp{height: auto;opacity: 1;margin: -15px auto 0 auto;}

#charactor .bnr{
	position: relative;
	margin: 40px auto;
	text-align: center;
}
#charactor .bnr img{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 40px);
}
#charactor .bnr p{
	position: relative;
	margin: 8px auto;
	font-weight: 900;
}

/* 参加方法 */
#howto{
	position: relative;
	margin: 0 auto;
	padding-bottom: 80px;
}
#howto ul{
	position: relative;
	margin: 0 auto;
}
#howto ul li{
	position: relative;
	margin: 0 auto 45px auto;
}
#howto ul li::after{
	position: absolute;
	bottom:-70px;
	content: '';
	display: block;
	width: 100%;
	height: 80px;
	background-image: url("../img/arrow.png");
	background-repeat: no-repeat;
	background-size: contain;
	z-index: 10;
}
#howto ul li:nth-child(1)::after,#howto ul li:nth-child(3)::after{background-position:66% 0;}
#howto ul li:nth-child(2)::after{background-position:43% 0;transform: scale(-1,1);}
#howto ul li:nth-child(4)::after{display: none;}
#howto ul li .howtoTtl{position: relative;z-index: 2;}
#howto ul li .howtoTtl::before{
	position: absolute;
	bottom:0;
	left: -30px;
	content: '';
	display: block;
	width: 100%;
	height: 18px;
	background-color: #0b7800;
	transform: skewX(-30deg);
}
#howto ul li .howtoTtl img{
	position: relative;
	margin:  0  0 10px 0;
	width: 140px;
}
#howto ul li .howtoTtl p{
	position: relative;
	text-align: center;
	font-weight: 900;
	font-size: .18rem;
	padding-bottom: 12px;
	z-index: 3;
}
#howto ul li .howtTxt{
	position: relative;
	margin: -5px 0 0 auto;
	background-color: rgba(255,255,255,.8);
	width: calc(100% - 100px);
	padding: 30px 30px 20px 30px;
	z-index: 1;
}
#howto ul li .howtTxt p{
	position: relative;
	color: #000000;
	padding: 0 0 10px 40px;
}
#howto ul li .howtTxt a.button{
	margin: 10px auto;
	display: block;
}
#howto ul li .howtTxt a.button.btn02{background-color: #1e8ece;border: solid 1px #1e8ece;}
#howto ul li .howtTxt a.button.btn03{background-color: #32a51c;border: solid 1px #32a51c;}
#howto ul li .bg{
	position: absolute;
	top:83px;
	left: 3px;
	content: '';
	width: 90px;
	height: 100%;
	background-repeat: no-repeat;
	background-position:0 0;
	background-size: contain;
	z-index: 10 !important;
}
#howto ul li .bg.line2{top:105px;}
#howto ul li:nth-child(1) .bg{background-image: url("../img/step01.png");}
#howto ul li:nth-child(2) .bg{width: 97px;background-image: url("../img/step02.png");}
#howto ul li:nth-child(3) .bg{left: 5px;width: 85px;background-image: url("../img/step03.png");}
#howto ul li:nth-child(4) .bg{
	width: calc(100% - 22px);
	height: calc(100% + 25px);
	left: 7px;
	background-repeat: no-repeat, no-repeat;
	background-size: 87px auto, 75px auto;
	background-position:0 0, 100% 100%;
	background-image: url("../img/step04.png"),  url("../img/step05.png");
}

/* チケット */
#ticket{
	position: relative;
	margin:0 auto;
}
#ticket .release{
	position: relative;
	margin: 0 auto;
	padding: 0;
	color: #000000;
	background-repeat: no-repeat, no-repeat;
	background-size: 70% auto, 70% auto;
	background-position:-30px 30px, calc(100% + 30px) calc(100% - 10px);
	background-image: url("../img/bg01.png"),  url("../img/bg02.png");
}
#ticket .release ul{
	position: relative;
	margin: 20px auto 0 auto;
	background-color: #ffffff;
	padding: 30px 5px;
	width: calc(100% - 40px);
}
#ticket .release ul li{
	position: relative;
	margin: 0 auto 30px auto;
	text-align: center;
	font-size: .13rem;
}
#ticket .release ul li:last-child{margin: 0 auto;}
#ticket .release ul li .ttlS, #schedule .ttlS, #cautionlist.faqWrap dt{
	position: relative;
	margin: 0 auto;
	padding-bottom: 2px;
	display: inline-block;
	font-size: .15rem;
}
#schedule .ttlS{margin: 40px auto 15px auto;}
#ticket .release .ttlK{
	position: relative;
	margin: 15px auto 10px auto;
	background-color: #fb5b05;
	color: #ffffff;
	display: inline-block;
	width: auto;
	padding: 0 1em;
	font-weight: 700;
	font-size: .13rem;
}
#ticket .release .ttlK.shop{margin: 0 auto 10px auto;}
#cautionlist.faqWrap dt{padding: 0 30px 13px 30px;}
#ticket .release ul li .ttlS::before, #schedule .ttlS::before{
	position: absolute;
	bottom: 5px;
	left: 0;
	background-color: #ffec19;
	content: '';
	display: block;
	width: 100%;
	height: 7px;
}
#cautionlist.faqWrap dt::before{
	position: absolute;
	bottom: 5px;
	left: 0;
	background-image: url("../img/bg_ttl.png");
	background-repeat: no-repeat;
	background-size: contain;
	content: '';
	display: block;
	width: 100%;
	height: 20px;
}
#ticket .release ul li .ttlS span, #schedule .ttlS span, #cautionlist.faqWrap dt span{
	font-weight:900;
	padding-bottom: 15px;
	color: #fb5b05;
	position: relative;
	z-index: 1;
}
#ticket .release .scraptantei{
	position: relative;
	margin: 0 auto;
	display: block;
	text-align: center;
	font-size: .13rem;
}
#ticket .release .ttlBnr{
	font-weight: 700;
	margin: 20px auto 5px auto;
	font-size: .13rem;
}
#ticket .release .button{
	font-weight: 700;
	margin: 20px auto 5px auto;
	display: block;
	width: calc(100% - 50px);
	font-size: .14rem;
	line-height: 1.4em;
}
#ticket .release .bnr_scrap, #ticket .release .bnr_nazo{
	position: relative;
	display: block;
	margin:0 auto;
	width: calc(100% - 50px);
}
#ticket .release .bnr_nazo{margin:10px auto 0 auto;}

#ticket .price{
	position: relative;
	margin: 45px auto 0 auto;
}
#ticket .price ul {
	position: relative;
	width: 70%;
	margin: 25px auto 0 auto;
}
#ticket .price ul li{
	position: relative;
	margin: 0;
	width: calc(50% - 65px);
	color: #000000;
	font-size: .16rem;
	font-weight: 900;
	padding: 8px 30px 18px 30px;
	background-image: url("../img/bgW.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 50% 50%;
}
#ticket .price ul li.active{background-image: url("../img/bgG.png");color: #ffffff;}
#ticket .price ul li.active::before{opacity: 0;}
#ticket .price ul li.active::after{
	position: absolute;
	bottom: -.9em;
	left: 0;
	content: '';
	display: block;
	width: 100%;
	height: 30px;
	background-image: url("../img/arrow_w.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 50% 50%;
}
#ticket .price ul li p{
	position: relative;
	padding: 1px 0;
	text-align: center;
	z-index: 12;
}
#ticket .priceBox .table{
	position: relative;
	margin: 0 auto;
	display: none;
}
#ticket .priceBox .table.active{display: block;}
#ticket .price .priceBox table{
	position: relative;
	margin: 20px auto 10px auto;
	width: calc(100% - 40px);
	border-collapse: collapse;
}
#ticket .price .priceBox table tr th{
	width: 26%;
	text-align: center;
	padding: 15px 0;
	vertical-align: middle;
}
#ticket .price .priceBox table tr th, #ticket .price .priceBox table tr td{
	padding: 15px 0;
	text-align: center;
	vertical-align: middle;
	background-color:#ffffff;
	color: #000000;
	
}
#ticket .price .priceBox table thead th, #ticket .price .priceBox table thead td{padding: 5px 0;background-color: #0b7800;color: #ffffff;}
#ticket .price .priceBox table tbody th{background-color: #bddfb4;border-right: solid 1px #000000;}
#ticket .price .priceBox table tbody tr:nth-child(even) th{background-color: #b4d09b;}
#ticket .price .priceBox table tbody td{border-right: solid 1px #000000;font-size: .12rem;width: 36%;}
#ticket .price .priceBox table tbody tr:nth-child(even) td{background-color: #f4f8f5;}
#ticket .price .priceBox table tr td span{
	font-size: .22rem;
	width: 100%;
	font-weight: 900;
}
#ticket .ticCaution{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 60px);
	font-weight: 700;
}
#ticket .ticCaution p{padding-left: 1.2em;}
#ticket .ticCaution p::before{
	position: absolute;
	content: '※';
	left: 0;
}
#ticket .ticCaution a{text-decoration: underline;}
#ticket .ticCaution .marginTop{margin-top: 20px;}
#ticket .btn_ticcaution, #ticket .btn_ticcautionT, #ticket .btn_tokutenT{
	display: block;
	padding: 10px 1em;
	margin: 15px auto 45px auto;
	width: calc(100% - 100px);
	z-index: 2;
}
#ticket .btn_ticcautionT{width: calc(100% - 50px);}
#ticket .btn_tokutenT{margin: 15px auto 0 auto;width: calc(100% - 50px);}
#ticket .btn_ticcaution::after, #ticket .btn_ticcautionT::after, #ticket .btn_tokutenT::after{transition: all .3s ease-out;}
#ticket .btn_ticcaution.disp::after, #ticket .btn_ticcautionT.disp::after, #ticket .btn_tokutenT.disp::after{transform: scale(-1, -1);}
#ticket .tcautionList, #ticket .tcautionListT, #ticket .tokutenT{
	position: relative;
	margin: 0 auto;
	padding: 0 20px;
	height: 0;
	overflow: hidden;
	background-color: #ffffff;
	color: #000000;
	text-align: center;
	transition: all .3s ease-out;
	width: calc(100% - 80px);
}
#ticket .tcautionListT, #ticket .tokutenT{width: calc(100% - 40px);}
#ticket .tcautionList.disp, #ticket .tcautionListT.disp, #ticket .tokutenT.disp{height: auto; padding: 50px 20px 20px 20px; margin: -70px auto 45px auto;border: solid 1px #000000;}
#ticket .tokutenT.disp{padding: 20px;margin: -20px auto 45px auto;}
#ticket .tcautionList p, #ticket .tcautionListT p, #goods .precard p{padding-left: 1.2em;text-align: left;}
#ticket .tcautionList p::before, #ticket .tcautionListT p::before, #goods .precard p::before{
	position: absolute;
	content: '※';
	left: 1.1em;
}
#goods .precard p::before{left: 0;}
#ticket .tokutenT{text-align: left;}
#ticket .tokutenT .ttl{font-size: .16rem !important;color: #fb5b05;margin: 25px auto 15px auto !important;}
#ticket .tokutenT .ttlS{
	margin: 20px auto 5px auto;
	border-bottom: solid 1px #444444;
}
#ticket .tokutenT img{padding: 10px 0 0 0;}

#ticket .price dl{
	position: relative;
	margin: 20px auto 0 auto;
}
#ticket .price dl dt{position: relative;}
#ticket .price dl dd{
	position: relative;
	margin: 25px auto 45px auto;
	width: calc(100% - 40px);
	font-weight: 700;
}
#ticket .ticketType dd .ttl{
	position: relative;
	margin: 25px auto 20px auto;
	text-align: center;
	font-size: .14rem;
	font-weight: 900;
}
#ticket .ticketType dd img{
	position: relative;
	margin: 0 auto 20px auto;
}
#ticket .ticketType dd .marginTop{margin-top: 20px;}
#ticket .ticketType p .small, .pointTxt .small{font-size: .10rem;}

/* チケットカレンダー */
.ticAPI{position: relative;margin: 0 auto;padding: 0;}
.ticAPI iframe{position: relative;margin: 0; padding: 0; width: 100%; height: 420px;}
#ticket_api{margin: 0;padding: 0;color: #000000;width: 100%; background-color: #0b7800;}
.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: #ffec19; color:#000000 !important;}
.ticketWrap .naviBox ul li.cr .scheduleBox span span{color:#000000 !important;}
.ticketWrap .detailsWrap {padding-top: 20px;}
.ticketWrap .detailsBox .tit {background-color: #bddfb4;font-size: .14rem !important;color:#000000 !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: #6d4a6d; font-size: .12rem;font-weight: normal;}
.ticketWrap .detailsBox .details a.scrap:after {border-top: solid 1px #e10000;border-right: solid 1px #6d4a6d; 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;}

#ticket .u22{
	position: relative;
	margin: 30px auto 30px auto;
	background-color: #ffffff;
	border: solid 2px #000000;
	padding: 20px;
	width: calc(100% - 84px);
	color: #000000;
	max-width: 756px;
}
#ticket .u22 a{color: #000000;}
#ticket .u22 p{text-align: left;}
#ticket .u22 img{
	margin: -35px auto 10px auto;
	width: calc(100% - 160px);
	max-width: 150px;
}

/* schedule */
#schedule{
    position: relative;
    margin: 20px auto 0 auto;
}
#schedule ul{
	position: relative;
	margin: 45px auto 0 auto;
	width: calc(100% - 40px);
	padding-bottom: 20px;
}
#schedule ul li{
	position: relative;
	margin: 0 auto 45px auto;
	background-color: #ffffff;
	padding:30px 0;
	border: solid 3px #ffec19;
	overflow: visible;
	color: #000000;
}
#schedule ul li.soon{margin: 0 auto 25px auto;padding: 15px 0 20px 0;}
#schedule ul li .areaWrap{
	position: relative;
	margin: 0 auto;
}
#schedule ul li .areaWrap::before{
	position: absolute;
	width: 180px;
	height: 70px;
	left: -30px;
	top: -50px;
	content: '';
	display: block;
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size: 100% auto;
}
#schedule ul li.pre .areaWrap::before{background-image: url("../img/pre.png");}
#schedule ul li.play .areaWrap::before{background-image: url("../img/play.png");}
#schedule ul li.end .areaWrap::before{background-image: url("../img/end.png");}
#schedule ul li .area{
	position: relative;
	margin: 0 auto;
	font-weight: 900;
	font-size: .17rem;
	text-align: center;
	line-height: 1.8em;
}
#schedule ul li.soon img{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 220px);
}
#schedule ul li.soon .area{font-size: .22rem;padding-bottom: 10px;}
#schedule ul li .kikan{
	position: relative;
	padding: 0;
}
#schedule ul li .kikan p{
	position: relative;
	margin: 0 auto;
	font-size: .14rem;
	text-align: center;
}
#schedule ul li .btn_sAccess{
	position: absolute;
	display: block;
	top:auto;
	left: 50%;
	transform: translateX(-50%);
	width: calc(100% - 15px);
	text-align: center;
	padding: 12px 0;
	z-index: 5;
	font-size: .15rem;
	background-image: url("../img/bg_btnOpen.png");
	background-repeat: no-repeat;
	background-size: 100% 100%;
	background-position: 50% 50%;
	color: #ffffff;
	font-weight: 700;
}
#schedule ul li .btn_sAccess{margin: 10px auto;}
#schedule ul li .btn_sAccess::after{
	position:absolute;
	top:0;
	right: 40px;
	display: block;
	content: '';
	height: 100%;
	width: 21px;
	transition: all .3s ease-out;
	background-image: url("../img/arrow_wB.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 50% 50%;
}
#schedule ul li .btn_sAccess.accessClose{background-image: url("../img/bg_btnClose.png");color: #000000;}
#schedule ul li .btn_sAccess.accessClose::after{background-image: url("../img/arrow_bB.png");transform: rotate(180deg);}
#schedule ul li .detail{
	position: relative;
	text-align: center;
	height: 0;
	overflow: hidden;
	opacity: 0;
	transition: all .5s ease-out;
}
#schedule ul li .detail.disp{height: auto;opacity: 1;padding: 0 0 20px 0;margin: 0 auto;}
#schedule ul li .detail .fanclub{
	position: relative;
	margin:40px auto 0 auto;
	width: calc(100% - 40px);
	padding: 10px 0 30px 0;
	text-align: center;
	background-color: #ffec19;
}
#schedule ul li .detail .fanclub p{
	position: relative;
	margin: 5px auto 0 auto;
	font-weight: 700;
}
#schedule ul li .detail .fanclub .ttl{
	margin: 0 auto;
	font-weight: 900;
	font-size: .17rem;
	padding: 20px 0;
	background-image: url("../img/bgWB.png");
	background-repeat: no-repeat;
	background-size: 110% auto;
	background-position: 50% 50%;
}
#schedule ul li .detail .fanclub .button{
	margin: 20px auto 0 auto;
	display: block;
	width: calc(100% - 120px);
}
#schedule ul li .detail .map{
	position: relative;
	margin: 0 auto 10px auto;
	height: 240px;
	width: calc(100% - 40px);
}
#schedule ul li .detail .map iframe{
	position: relative;
	max-width: 100%;
	height: 240px;
	vertical-align:bottom;
}

/* goods */
#goods{
	position: relative;
	margin: 10px auto 40px auto;
}
#goods ul{
	position: relative;
	margin: 10px auto 0 auto;
	width: calc(100% - 30px);
}
#goods ul li{
	position: relative;
	margin: 0 0 50px 0;
	width: calc(50% - 5px);
}
#goods ul li.soon{
	margin: 0 auto 50px auto;
	width: 70%;
	text-align: center;
}
#goods ul li.soon img{
	margin: 0 auto;
}
#goods ul li .goodsImg{position: relative;}
#goods ul li .goodsImg::after{
	position:absolute;
	top: -5px;
	right: -5px;
	width: 35px;
	height: 35px;
	content: '';
	display: block;
	background-image: url("../img/zoom.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 50% 50%;
}
#goods ul li .goodsTxt{
	position: relative;
	margin: 10px auto 0 auto;
	font-size: .13rem;
	font-weight: 700;
}
#goods ul li .price{
	position: relative;
	text-align: right;
	font-weight: 700;
	font-size: .13rem;
	padding-bottom: 20px;
}
#goods ul li .price span{font-size: .18rem;font-weight: 900;}
#goods ul li .price span.small{font-size: .12rem;font-weight: 500;}
#goods ul li .price.line2{line-height: 3.8em;}
#goods ul li .spec{
	position: relative;
	border-top: solid 1px #A3A3A3;
	padding: 10px 0;
}
#goods .precard{
	position: relative;
	margin: 0 auto;
	transform: translateY(-20px);
}
#goods .precard h3 span{
	font-size: .18rem;
	letter-spacing: normal;
}
#goods .precard img{
	margin: 20px auto;
	width: calc(100% - 40px);
}
#goods .precard .txt{position: relative;width: calc(100% - 40px);margin: 0 auto;}
#goods .precard p{position: relative;}

/* FAQ */
#precautions{
	position: relative;
	margin: 10px auto 20px auto;
	text-align: center;
}
#precautions .ttl{
	position: relative;
	margin: 35px auto 0 auto;
	width: calc(100% - 40px);
	z-index: 50;
}
#precautions .ttl.cautionlist{margin: 0 auto;}
#precautions .ttl::after{
	position: absolute;
	top:0;
	right: 25px;
	width: 35px;
	height: 100%;
	content: '';
	display: block;
	background-image: url("../img/arrow_bB.png");
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: 50% 50%;
	transition: all .3s ease-out;
}
#precautions .ttl.disp::after{transform: scale(-1, -1);}
#precautions .faqWrap{
	position: relative;
	margin: 0 auto;
	padding: 0 20px;
	width: calc(100% - 80px);
	height: 0;
	overflow: hidden;
	transition: all .3s ease-out;
	z-index: 49;
	background-color: #ffffff;
	color: #000000;
}
#precautions .faqWrap::before{
	position: absolute;
	top:0;
	left: 20px;
	width: calc(100% - 40px);
	height: 1px;
	background-color: #000000;
	display: block;
	content: '';
}
#precautions .faqWrap.disp{height: auto !important;padding: 30px 20px; margin: 0 auto; }
#precautions .faqWrap dl{position: relative;}
#precautions .faqWrap dl dd{padding: 20px 0 30px 0;}
#precautions .faqWrap dl dd p{
	position: relative;
	padding-left: 1.2em;
	padding-bottom: .5em;
	text-align: left;
}
#precautions #cautionlist.faqWrap dl dd p::before, #precautions #limit.faqWrap dl dd p::before{
	position: absolute;
	content: '・';
	left: 0;
}
#precautions .faqWrap dl dd a{color: #000000;text-decoration: underline;}
#precautions .faqWrap dl dd .caution{
	line-height: 1.4em;
	display: block;
	padding: 5px 0 0 0;
	text-align: left;
}
#precautions .faqWrap dl dd .strong.center{
	padding: 10px 0;
}
#precautions #limitlist dt{
	font-size: .13rem;
	width: calc(40% - 32px);
	padding: 15px;
	background-color: #ffec19;
	border-top: solid 1px #000000;
	border-left: solid 1px #000000;
	font-weight: 500;
}
#precautions #limitlist dd{
	font-size: .12rem;
	width: calc(60% - 32px);
	padding: 15px;
	border-left: solid 1px #000000;
	border-right: solid 1px #000000;
	border-top: solid 1px #000000;
	text-align: left;
}
#precautions #limitlist dd .center{font-size: .14rem;padding-bottom: 10px;}
#precautions #limitlist dd .center.small{font-size: .12rem;}
#precautions #limitlist .border{border-bottom:solid 1px #000000;}
#precautions #faqlist dt{
	font-size: .14rem;
	padding: 0 0 5px 0;
	text-align: left;
	color: #ff5a00;
	font-weight:900;
}
#precautions #faqlist dd{text-align: left;padding: 0 0 20px 0;}
#precautions #faqlist dt::before{
	position: absolute;
	content: 'Q.';
	left: 0;
}
#precautions #faqlist dd, #precautions #faqlist dt{
	position: relative;
	padding-left: 1.2em;
}
#precautions #faqlist dd::before{
	position: absolute;
	content: 'A.';
	left: 0;
}

/* covid19*/
#covid19{
	position: relative;
	margin: 70px auto 50px auto;
	background-color: rgba(255,255,255,.7);
	color: #000000;
	padding: 40px 10px;
	text-align: center;
}
#covid19 .ttl{
	width: calc(100% - 40px);
	margin: 0 auto;
	padding:0 0 20px 0;
	font-weight: 900;
	font-size: .18rem;
}
#covid19 a:link, #covid19 a:visited, #covid19 a:hover{color: #000000 !important;}


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

	/* catch */
	#catch{
		padding: 0;
		background-image: url("../img/bg_catch_pc.png");
		background-position: 50% -50px;
		background-size:  auto calc(100% + 50px);
	}
	#catch .catchTxt{
		width: 100%;
		padding-top: 394px;
		background-image: url("../img/catch_pc.png");
		background-position: 50% -35px;
		background-size: auto auto;
	}
	#catch p{
		padding: 0 0 30px 0;
		font-size: .18rem;
	}
	#catch a img{width: 400px;}
	.banner{/*width: 840px;*/width: 1100px;}
	.banner .box{
		margin: 0;
		/*width: 400px;*/
		width: 365px;
	}
	/*.banner .box:nth-child(-n+2){margin: 0 0 40px 0;}*/

	/* イベント詳細 */
	#event{padding: 70px 0 0 0;}
	#event h3{
		margin: -50px auto 0 auto;
		width: 700px;
		padding: 30px 20px;
	}
	#event h3 img{margin: 0 auto;}
	#event ul{margin: 40px auto 0 auto;transform: translateX(40px);}
	#event ul li{overflow: visible;width: 350px;}
	#event ul li:nth-child(1){z-index: 3;}
	#event ul li:nth-child(2){z-index: 2;}
	#event ul li:nth-child(3){z-index: 1;}
	#event ul li .pointImg{
		margin: 0 0 0 -70px;
		width: calc(100% + 65px);
	}
	#event ul li .pointTxt{
		width: calc(100% - 120px);
		min-height: calc(8em + 20px);
	}

	/* プレイ形式 */
	#play{
		margin: -10px auto 0 auto;
		background-size: 107% 45%;
		padding: 130px 0 10px 0;
	}
	#play ul{width: 960px;}
	#play ul li{width: 125px;}
	#play ul li:nth-child(3){width: 133px;}

	#photo ul{width: 100%;}
	#cm{padding: 60px 0 0 0;}
	#cm .flexbox{
		margin: -80px auto 0 auto;
		background-position: 100% 0, 0 70%;
		background-size: auto 269px, auto 269px;
		width: 960px;
		padding: 80px 50px 0 50px;
	}
	#cm .movieBox{
		margin: 0 0 20px 0;
		width: calc(50% - 10px);
	}
	#cm .movieBox .movieWrap{width: 440px !important;}
	#cm p{font-size: .22rem;}

	/* ストーリー */
	#story{padding: 60px 0 0 0;}
	#story p{
		line-height: 2.6em;
		font-size: .18rem;
	}
	#story p span{
		font-size: .36rem;
		background-size: 100% auto;
		padding: 10px 20px 42px 20px;
	}
	#story .aboutBtn{
		margin: 100px auto 0 auto;
		width: 540px;
	}

	/* キャラクター */
	#charactor{padding-top: 120px;}
	#charactor ul{width: 100%;max-width: 1170px;}
	#charactor ul li:hover{cursor: pointer;}
	#charactor ul li.chara01.disp, #charactor ul li.chara01:hover{background-image: url("../img/btn_chara1_pc_on.png");}
	#charactor ul li.chara02.disp, #charactor ul li.chara02:hover{background-image: url("../img/btn_chara2_pc_on.png");}
	#charactor ul li.chara03.disp, #charactor ul li.chara03:hover{background-image: url("../img/btn_chara3_pc_on.png");}
	#charactor ul li.chara04.disp, #charactor ul li.chara04:hover{background-image: url("../img/btn_chara4_pc_on.png");}
	#charactor ul li.chara05.disp, #charactor ul li.chara05:hover{background-image: url("../img/btn_chara5_pc_on.png");}
	#charactor .chara{
		margin:0 auto;
		width: 1025px
	}
	#charactor .chara div.disp{margin: -25px auto 0 auto;}

	#charactor .bnr{
		margin: 50px auto;
		width: 600px;
	}
	#charactor .bnr img{width: 400px;}
	#charactor .bnr p{margin: 10px auto;}

	/* 参加方法 */
	#howto{padding-bottom: 60px;}
	#howto ul{width: 1000px;}
	#howto ul li{
		margin: 0 10px 60px 10px;
		width: calc(50% - 20px);
	}
	#howto ul li::after{
		bottom:70px;
		height: 65px;
		width: 95px;
		background-image: url("../img/arrow.png");
	}
	#howto ul li:nth-child(1)::after{transform: rotate(-120deg); left: calc(100% - 20px);}
	#howto ul li:nth-child(2)::after{bottom:-50px;left:-30px;transform: rotate(40deg);}
	#howto ul li:nth-child(3)::after{bottom:-30px;transform: rotate(-120deg); left: calc(100% - 20px);}
	#howto ul li .howtoTtl{overflow: hidden;}

	#howto ul li .howtoTtl img{
		margin:  0  0 20px 0;
		width: 170px;
	}
	#howto ul li .howtoTtl p{padding-bottom: 7px;}
	#howto ul li .howtTxt{
		width: calc(100% - 100px);
		padding: 30px 30px 20px 30px;
	}
	#howto ul li:nth-child(1) .howtTxt, #howto ul li:nth-child(2) .howtTxt{height: 260px;}
	#howto ul li:nth-child(3) .howtTxt, #howto ul li:nth-child(4) .howtTxt{height: 200px;}
	#howto ul li .howtTxt a.button{
		width: calc(100% - 80px);
		transform: translateX(20px);
		z-index: 130 !important;
		display: block;
		position: relative;
		padding: 7px 1em;
	}
	#howto ul li .howtTxt a.button.btn02{border:solid 1px #1e8ece;}
	#howto ul li .howtTxt a.button.btn03{border:solid 1px #32a51c;}
	#howto ul li .howtTxt a.button.btn02:hover{background-color: #ffffff; color: #1e8ece !important;}
	#howto ul li .howtTxt a.button.btn03:hover{background-color: #ffffff; color: #32a51c !important;}

	#howto ul li .bg{
		top:103px;
		left: -10px;
		width: 100px;
	}
	#howto ul li .bg.line2{top:103px;}
	#howto ul li:nth-child(2) .bg{width: 105px;}
	#howto ul li:nth-child(3) .bg{left: 0;width: 90px;}
	#howto ul li:nth-child(4) .bg{
		left: 0;
		background-size: 92px auto, 90px auto;
		background-position:0 0, 100% 70%;
	}

	/* チケット */
	#ticket .release{
		width: 600px;
		margin: -40px auto 0 auto;
		padding: 0 60px;
		background-position:0 30px, 100% calc(100% - 10px);
	}
	#ticket .release ul{
		margin: 50px auto 0 auto;
		padding: 45px;
		width: calc(100% - 90px);
	}
	#ticket .release ul li{
		margin: 0 auto 40px auto;
		font-size: .16rem;
	}
	#ticket .release ul li:last-child{margin: 0 auto;}
	#ticket .release ul li .ttlS, #schedule .ttlS, #cautionlist.faqWrap dt{margin: 0 auto 15px auto;font-size: .18rem;}
	#schedule .ttlS{margin: 70px auto 20px auto;}
	#ticket .release .ttlK{
		margin: 20px auto 10px auto;
		padding: 0 2em;
		font-size: .15rem;
	}
	#ticket .release .ttlK.shop{margin: 0 auto 10px auto;}
	#ticket .release .ttlK.shop span{display: inline;}

	#ticket .release .scraptantei{font-size: .16rem;}
	#ticket .release .ttlBnr{
		margin: 20px auto 5px auto;
		font-size: .16rem;
	}
	#ticket .release .button{
		font-size: .16rem;
		line-height: 1em;
	}
	#ticket .release .bnr_scrap{width: 420px;}
	#ticket .release .bnr_nazo{width: 350px;margin:0 auto 10px auto;}

#ticket .price{
	position: relative;
	margin: 45px auto 0 auto;
	text-align: center;
}
	#ticket .price ul {width: 360px;margin: 25px auto 25px auto;}
	#ticket .price ul li{
		width: calc(50% - 115px);
		padding: 8px 50px 18px 50px;
		background-size: 100% 100%;
	}
	#ticket .price ul li.active::after{
		bottom: -22px;
		height: 40px;
	}

	#ticket .price .priceBox table{
		margin: 20px auto 15px auto;
		width: 800px;
	}
	#ticket .price .priceBox table tr th{
		font-size: 16.rem;
		padding: 15px 0;
	}
	#ticket .price .priceBox table tr th, #ticket .price .priceBox table tr td{padding: 15px 0;}
	#ticket .price .priceBox table thead th, #ticket .price .priceBox table thead td{padding: 15px 0;}
	#ticket .price .priceBox table tbody td{font-size: .14rem;}
	#ticket .price .priceBox table tr td span{font-size: .24rem;}
	#ticket .price .priceBox table tbody td div.pc{display: inline;}
	#ticket .ticCaution{
		width: 800px;
		text-align: left;
		display: inline-block;
	}
	#ticket .ticCaution .marginTop{margin-top: 30px;}
	#ticket .btn_ticcaution, #ticket .btn_ticcautionT, #ticket .btn_tokutenT{
		padding: 10px 3em;
		margin: 35px auto 65px auto;
		width: 400px;
		font-weight: 700;
	}
	#ticket .btn_tokutenT{margin: 35px auto 0 auto;}
	#ticket .tcautionList, #ticket .tcautionListT, #ticket .tokutenT{
		padding: 0 40px;
		width: 600px;
	}
	#ticket .tcautionListT, #ticket .tokutenT{transform: translateX(-60px);}
	#ticket .tcautionList.disp, #ticket .tcautionListT.disp, #ticket .tokutenT.disp{padding: 50px 40px 40px 40px; margin: -90px auto 65px auto;}
	#ticket .tokutenT.disp{padding: 20px 40px 40px 40px; margin: -20px auto 65px auto;}
	#ticket .tcautionList p::before, #ticket .tcautionListT p::before{left: calc(1.1em + 20px);}

	#ticket .tokutenT .ttl{font-size: .18rem !important;margin: 45px auto 15px auto !important;}
	#ticket .tokutenT .ttlS{margin: 30px auto 5px auto;}
	#ticket .tokutenT img{padding: 15px 0 0 0;width: 480px;}

	#ticket .price dl{
		margin: 20px auto 0 auto;
		width: 560px;
	}
	#ticket .price dl dd{
		margin: 25px auto 70px auto;
		width: 100%;
		text-align: left;
	}
	#ticket .ticketType dd .ttl{
		margin: 25px auto 20px auto;
		font-size: .24rem;
	}
	#ticket .ticketType dd .marginTop{margin-top: 30px;}
	#ticket .ticketType p .small, .pointTxt .small{font-size: .12rem;}
	#ticket .u22{margin: 50px auto 30px auto;}
	#ticket .u22 img{margin: -40px auto 10px auto;}
	#ticket .u22 p{padding: 20px 50px;}


	/* schedule */
	#schedule{margin: 70px auto 0 auto;}
	#schedule ul{
		margin: 45px auto 0 auto;
		width: 960px;
		padding-bottom: 40px;
	}
	#schedule ul li{
		margin: 0 auto 90px auto;
		padding:50px 0;
		border: solid 4px #ffec19;
	}
	#schedule ul li.soon{margin: 0 auto 50px auto;padding: 25px 0 30px 0;}

	#schedule ul li .areaWrap::before{
		width: 280px;
		height: 70px;
		left: -90px;
		top: -75px;
		background-position: 0 0;
	}
	#schedule ul li .area{
		font-size: .24rem;
		line-height: 1.8em;
	}
	#schedule ul li.soon img{width: 200px;}
	#schedule ul li.soon .area{font-size: .28rem;}
	#schedule ul li .kikan p{font-size: .16rem;}
	#schedule ul li .btn_sAccess{
		width: 500px;
		padding: 18px 0 22px 0;
		font-size: .18rem;
		background-image: url("../img/bg_btnOpen_pc.png");
	}
	#schedule ul li .btn_sAccess{margin: 25px auto;}
	#schedule ul li .btn_sAccess::after{
		right: 70px;
		width: 28px;
	}
	#schedule ul li .detail.disp{padding: 0 0 50px 0;}
	#schedule ul li .detail .fanclub{
		margin:70px auto 0 auto;
		width: 700px;
		padding: 40px 0 30px 0;
	}
	#schedule ul li .detail .fanclub p{margin: 40px auto 0 auto;line-height: 2.2em;}
	#schedule ul li .detail .fanclub .ttl{
		font-size: .24rem;
		padding: 10px 0 20px 0;
		background-size: 105% auto;
	}
	#schedule ul li .detail .fanclub .button{
		margin: 40px auto 0 auto;
		width: 240px;
		padding: 8px 3em;
	}
	#schedule ul li .detail .map{
		height: 320px;
		width: 800px;
	}
	#schedule ul li .detail .map iframe{
		height: 320px;
	}

	/* goods */
	#goods{
		margin: 10px auto 40px auto;
	}
	#goods ul{width: 900px;}
	#goods ul li{margin: 0 0 60px 0;width: 250px;}
	#goods ul li.soon{
		margin: 0 auto 100px auto;
		width: 310px;
	}
	#goods ul li .goodsImg::after{
		position:absolute;
		top: -5px;
		right: -5px;
		width: 55px;
		height: 55px;
	}
	#goods ul li .goodsTxt{
		margin: 20px auto 0 auto;
		font-size: .16rem;
	}
	#goods ul li .price{font-size: .16rem;}
	#goods ul li .price span{font-size: .25rem;}
	#goods ul li .price span.small{font-size: .14rem;}
	#goods ul li .price.line2, #goods ul li .price.line2_pc{line-height: 3.8em;}
	#goods ul li .spec{padding: 10px;}
	#goods .precard{transform: translateY(0);}
	#goods .precard h3 span{font-size: .20rem;}
	#goods .precard img{
		margin: 40px auto 20px auto;
		width: 560px;
	}
	#goods .precard .txt{width: 560px;margin: 0 auto 90px auto;}

/* FAQ */
#precautions{
	position: relative;
	margin: 10px auto 20px auto;
	text-align: center;
}
	#precautions .ttl{
		margin: 40px auto 0 auto;
		width: 960px;
	}
	#precautions .ttl::after{
		right: 290px;
		width: 45px;
	}
	#precautions .ttl:hover{cursor: pointer;}
	#precautions .faqWrap{
		padding: 0 40px;
		width: 880px;
	}
	#precautions .faqWrap::before{
		left: 40px;
		width: calc(100% - 80px);
	}
	#precautions .faqWrap.disp{padding: 40px; }
	#precautions .faqWrap dl dd{padding: 20px 0 50px 0;}

	#precautions #limitlist dt{font-size: .16rem;}
	#precautions #limitlist dd{font-size: .14rem;}
	#precautions #limitlist dd .center{font-size: .18rem;}
	#precautions #limitlist dd .center.small{font-size: .14rem;}
	#precautions #faqlist dt{font-size: .16rem;}

	/* covid19*/
	#covid19{
		margin: 70px auto 100px auto;
		padding: 50px 0;
		width: 800px;
	}
	#covid19 .ttl{
		width:100%;
		padding:0 0 30px 0;
		font-size: .24rem;
	}
	
}