@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.png");
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: contain;
	padding-top: 141.515%;
	width: 100%;
	background-color: #000000;
}

/* 開催 */
#tmc{
	position: relative;
	margin: 0 auto;
	padding: 20px 0;
	background-color: #03111b;
}
#tmc p{
	position: relative;
	margin:  0 auto;
	text-align: center;
	font-size: .16rem;
	line-height: 2em;
}
#tmc p span{
	font-weight: 900;
	color: #ffea00;
}


/* 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;}

/* about */
#about{
	padding: 15px 0 0 0;
	background: -webkit-linear-gradient(top, #03111a 30%, #0d4965 60%, #37677d);
	background: -o-linear-gradient(top, #03111a 30%, #0d4965 60%, #37677d);
	background: linear-gradient(to top, #37677d 20%,  #0d4965 40%,  #03111a);
}
#about .catch{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 30px);
}
#about p{
	position: relative;
	margin: 15px auto 0 auto;
	color: #d0ffa3;
	font-weight: 500;
	text-align: center;
	padding-bottom: 10px;
}
#about::after{
	position: absolute;
	bottom: -17%;
	left: 0;
	content: '';
	display: block;
	background-image: url("../img/about_btm.svg");
	background-repeat: no-repeat;
	background-size: auto 100%;
	background-position: 50% 0;
	width: 100%;
	height: 0;
	padding-top: 13%;
}

#cm{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 40px);
	padding: 0 0 40px 0;
}
#cm p{
	position: relative;
	margin: 0 auto;
	color: #999999;
	font-weight: 500;
	text-align: center;
	padding-bottom: 10px;
}
#cm .movieWrap{border: solid 6px #d0ffa3;}

/* ポイント */
#point{
	position: relative;
	margin: 0 auto;
	padding: calc(13% + 30px) 0 calc(15% - 15px) 0;
}
#point::after{
	position: absolute;
	bottom: 0;
	left: 0;
	content: '';
	display: block;
	background-image: url("../img/bg_line01.svg");
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: 50% 0;
	width: 100%;
	height: 0;
	padding-top: 14.5%;
}
#point ul{
	position: relative;
	margin: 0 auto;
	padding-right: 10px;
}
#point ul li{
	position: relative;
	margin: 0 auto 20px auto;
}
#point ul li .ttl div{
	position: relative;
	width: 60px;
}
#point ul li .ttl div img{margin: 0 auto;}
#point ul li:nth-child(1) .ttl div img{width: 58px;}
#point ul li:nth-child(2) .ttl div img{width: 36px;}
#point ul li:nth-child(3) .ttl div img{width: 38px;}
#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;
}
#point ul li p.txt{
	padding: 0 0 0 65px;
	font-weight: 700;
}

/* LINE */
#line{margin: -1px auto 0 auto;background-color: #e7ebb7;}
#line .lineLink{
	position: relative;
	margin: 0 auto;
	padding: 10px 0 20px 0;
	width: calc(100% - 120px);
	z-index: 10;
}
#line .lineLink::before{
	position: absolute;
	top:-30px;
	left: -58px;
	width: 62px;
	height: 100%;
	content: '';
	display: block;
	background-image: url('../img/lineImage.png');
	background-repeat: no-repeat;
	background-position:50% 100%;
    background-size: contain;
	z-index: 10;
}
#line .btnLine{
	position: relative;
	display: block;
	margin: 10px auto 0 auto;
	padding: 10px 0;
	background-color: #160424;
	border-radius: 100px;
	width: 60%;
	z-index: 10;
}
#line .btnLine img{width: 55%;margin: 0 auto;}


/* ニュース */
#news{
    position: relative;
	margin:0 auto;
	padding-top: 50px;
	background-color: #160424;
}
#news .newsBox{
	position: relative;
	margin: 0 auto;
}
#news .newsBox ul{
	position: relative;
	margin:0 auto;
    width: 100%;
	/*height: 150px;*/
	height: 80px;
    overflow: hidden;
}
#news .newsBox ul li{
	position: relative;
	margin:0 auto 10px auto;
    padding: 0 0 5px 0;
	border-bottom: solid 1px #3d1b47;
	font-size: .14rem;
	color: #ffffff;
	font-weight: 700;
}
#news .newsBox ul li p, #news .newsBox ul li a{color: #ffffff;width: calc(100% - 90px);}
#news .newsBox ul li p.date{width: 90px;color: #c1a12e;font-size: .12rem;font-weight: 900;}

/* ストーリー */
#story{
	position: relative;
	margin:0 auto;
	padding: 70px 0 0 0;
	background-image: url('../img/bg_story.jpg');
	background-repeat: no-repeat;
	background-position:50% 0;
    background-size: cover;
}
#story::after{
	position: absolute;
	bottom: 0;
	left: 0;
	content: '';
	display: block;
	width: 100%;
	height: 70px;
	background: -webkit-linear-gradient(top, rgba(224,5,36,0), #160424);
	background: -o-linear-gradient(top, rgba(224,5,36,0), #160424);
	background: linear-gradient(to top,  #160424,  rgba(224,5,36,0));
}
#story p{
	position: relative;
	padding: 5px 10px 100px 10px;
	font-size: .12rem;
	font-weight: 700;
}

/* イベント概要 */
#event{
    position: relative;
    margin: 0 auto;
	padding: 0 0 20px 0;
	background-image: url('../img/bg_event.jpg');
	background-repeat: no-repeat;
	background-position:50% 0;
    background-size: 100% auto;
	background-color: #160424;
}
#event::before{
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	display: block;
	width: 100%;
	height: 70px;
	background: -webkit-linear-gradient(top, #160424, rgba(224,5,36,0));
	background: -o-linear-gradient(top, #160424, rgba(224,5,36,0));
	background: linear-gradient(to top,  rgba(224,5,36,0), #160424);
}
#event #howto{
	position: relative;
	margin: 0;
	padding: 30px 0 0 0;
}
#event #howto ul{
	position: relative;
	margin: 0;
}
#event #howto ul li{
	position: relative;
	margin: 0 auto;
	padding: 20px;
}
#event #howto ul li .slideinnner{
	position: relative;
	padding: 15px 0;
	background: -webkit-linear-gradient(top, rgba(255,255,239,.9), rgba(238,229,239,.9));
	background: -o-linear-gradient(top, rgba(255,255,239,.9) rgba(238,229,239,.9));
	background: linear-gradient(to top,  rgba(238,229,239,.9), rgba(255,255,239,.9));
	box-shadow: 0px 0px 9px 5px rgba(245,144,254,0.74);
}
#event #howto ul li .arrow{
	position: absolute;
	top: 180px;
	right: -20px;
	display: block;
	width: 40px;
}
#event #howto ul li .slideinnner img{width: calc(100% - 30px); margin: 0 auto;}
#event #howto ul li .slideinnner .ttl{
	position: relative;
	margin: 10px auto 20px auto;
	border-top: solid 1px #38203f;
	border-bottom: solid 1px #38203f;
	padding: 10px 0;
	color: #7e1058;
	text-align: center;
	font-size: .15rem;
	font-weight: 900;
}
#event #howto ul li .slideinnner .txt{
	position: relative;
	margin: 0 auto;
	padding: 0 30px 5px 30px;
	color: #180525;
	font-size: .13rem;
	min-height: 6.4em;
	line-height: 1.6em;
}
#event #howto ul li .serif{
	position: relative;
	margin: 30px 0 0 auto;
	padding: 10px 15px;
	font-size: .12rem;
	background-color: rgba(97,175,255,.4);
	border-radius: 10px;
}
#event #howto ul li .serif::before{
	position: absolute;
	top: -14px;
	left: 20px;
	content: '';
	display: block;
	width: 100px;
	height: 15px;
	background-image: url('../img/serif.svg');
	background-repeat: no-repeat;
	background-position:0 100%;
    background-size: auto 100%;
}

#event #place{
	position: relative;
	margin: 0 auto;
	padding: 60px 0 0 0;
}
#event #place ul li{
	position: relative;
	margin: 0 auto 70px auto;
	color: #180525;
}
#event #place ul li::before, #event #place ul li::after{
	position: absolute;
	content: '';
	display: block;
	width: calc(100% - 50px);
	height: 100%;
}
#event #place ul li::before{
	top: 15px;
	left: 20px;
	background-color: rgba(255,255,255,.7);
}
#event #place ul li::after{
	top: 25px;
	left: 30px;
	border: solid 1px rgba(198,218,136,.5);
}
#event #place ul li .ttl{
	position: relative;
	color: #feef01;
	font-weight: 700;
	font-size: .19rem;
	text-shadow: 0px 0px 4px #170525;
	text-align: center;
	z-index: 12;
}
#event #place ul li .txt{
	position: relative;
	padding: 20px 40px 10px 40px;
	text-align: center;
	z-index: 12;
}
#event #place ul li .txt .hole{
	font-size: .15rem;
	font-weight: 700;
}
#event #place ul li .txt .access{
	font-size: .12rem;
	line-height: 1.6em;
	width: 100%;
	text-align: left;
	padding: 20px 10px 0 10px;
}
#event #place a{color: #872AA8; text-decoration: underline;}
#event #place a.links{
	position: relative;
	margin: 10px auto 0 auto;
	padding: 0 2em;
	display: inline-block;
	width: auto;
	font-weight: 700;
	background-color: #180525;
	border-radius: 5px;
	color: #ffe69b;
	text-decoration: none;
}

#event #play{
	padding: 40px 0 0 0;
}
#event #play ul{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 40px);
}
#event #play ul li{
	position: relative;
	margin: 0;
	width: calc(50% - 5px);
}
#event #play p.caution{
	padding: 10px;
	color: #ffe4a2;
	font-size: .12rem;
	width: calc(100% - 40px);
	margin: 0 auto;
	position: relative;
}

/* チケット */
#ticket{
	position: relative;
	margin:0 auto;
	padding: calc(13% + 35px) 0 110px 0;
	background-image: url('../img/bg02.jpg');
	background-repeat: no-repeat;
	background-position:50% 0;
    background-size: 100% auto;
	background-color: #5d4067;
}
#ticket::before{
	position: absolute;
	top:-1px;
	left: 0;
	content: '';
	display: block;
	background-image: url("../img/event_btm.svg");
	background-repeat: no-repeat;
	background-size: auto 100%;
	background-position: 50% 0;
	width: 100%;
	height: 0;
	padding-top: 13%;
}
#ticket ul.ticdate{
	position: relative;
	margin: 0 auto 70px auto;
}
#ticket ul.ticdate li{
	position: relative;
	margin: 0 auto 40px auto;
}
#ticket ul.ticdate li::before, #ticket ul.ticdate li::after{
	position: absolute;
	content: '';
	display: block;
	width: calc(100% - 50px);
	height: 100%;
}
#ticket ul.ticdate li::before{
	top: 15px;
	left: 20px;
	background-color: rgba(15,35,123,.2);
}
#ticket ul.ticdate li::after{
	top: 25px;
	left: 30px;
	border: solid 1px rgba(240,217,127,.3);
}
#ticket ul.ticdate li .ttl{
	position: relative;
	color: #feef01;
	font-weight: 500;
	font-size: .19rem;
	text-align: center;
	z-index: 12;
}
#ticket ul.ticdate li .ttlS{
	background-color: #4a2103;
	color: #cab894;
	padding: 5px 0;
	font-weight: 500;
}
#ticket ul.ticdate li .ttlS.margin{margin: 50px auto 0 auto;}
#ticket ul.ticdate li .ttlM{
	color: #DBBF4F;
	padding: 25px 0 0 0;
	font-weight: 900;
	margin-bottom: 3px;
}
#ticket ul.ticdate li .ttlM2{
	padding: 10px 0 0 0;
	font-weight: 900;
	margin-bottom: 3px;
}
#ticket ul.ticdate li .tcaution{
	padding-top: 40px;
	font-weight: 700;
}
#ticket ul.ticdate li .scrapD{
	padding: 30px 0 5px 0;
	font-weight: 700;
	color: #DBBF4F;
	font-size: .13rem;
}
#ticket ul.ticdate li .bnr_scrap{
	display: block;
	position: relative;
	margin-bottom: 20px;
}
#ticket ul.ticdate li .txt{
	position: relative;
	padding: 20px 50px 10px 50px;
	text-align: center;
	z-index: 12;
}
#ticket .pre{
	position: relative;
	margin: 70px auto;
	padding: 20px;
	width: calc(100% - 80px);
	background-color: rgba(255,255,255,.5);
	border: solid 1px rgba(240,217,127,.3);
	text-align: center;
	color: #180525;
}
#ticket .pre::after{
	position: absolute;
	top:-25px;
	right: -20px;
	content: '';
	display: block;
	width: 85px;
	height: 85px;
	background-position: 50% 50%;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url("../img/sold.svg");
}
#ticket .pre .ttl{
	position: relative;
	color: #cab894;
	background-color: #4a2103;
	font-weight: 900;
	font-size: .17rem;
	padding: 5px 0;
}
#ticket .pre .ttlS{
	padding: 10px 0;
	font-weight: 700;
	font-size: .13rem;
}
#ticket .pre a{
	position: relative;
	margin: 20px auto 0 auto;
	padding: 5px 0;
	display: block;
	width: 60%;
	font-weight: 700;
	background-color: #180525;
	border-radius: 10px;
}

#ticket .price .ttl{
	position: relative;
	color: #feef01;
	font-weight: 500;
	font-size: .19rem;
	text-align: center;
	z-index: 12;
}
#ticket .price ul {
	position: relative;
	width: 86%;
	margin-bottom: 20px;
}
#ticket .price ul li{
	position: relative;
	margin: 20px  0 0 0;
	width: calc(50% - 5px);
	background-color: rgba(15,35,123,.5);
	border-radius: 10px;
}
/*#ticket .price ul li::before{
	position: absolute;
	top: 50%;
	right: 8px;
	transform: translateY(-50%);
	content: '';
	display:block; 
	height: 10px;
	width: 10px;
	background-image: url("../img/arrow.svg");
	background-repeat: no-repeat;
	background-size: 10px auto;
	background-position: 50% 60%;
	background-color: rgba(255,255,255,.8);
	border-radius: 50%;
	padding: 2px;
}*/
#ticket .price ul li.active{background-color: #232F88;}
#ticket .price ul li.active::before{opacity: 0;}
#ticket .price ul li.active::after{
	position: absolute;
	bottom: -.7em;
	left: 0;
	content: '\025bc';
	display: block;
	width: 100%;
	height: 1em;
	color:  #232F88;
	line-height: 1em;
	text-align: center;
}
#ticket .price ul li p{
	position: relative;
	padding: 10px 0 10px 0;
	text-align: center;
	z-index: 12;
}
#ticket .priceBox{
	position: relative;
	margin: 0 auto;
}
#ticket .priceBox .caution{
	position: relative;
	margin: 30px auto 0 auto;
	background-color: rgba(255,255,255,.7);
	font-weight: 700;
	color: #180525;
	padding: 10px 20px;
	font-size: .12rem;
}
#ticket .priceBox table{
	position: relative;
	margin: 0 auto;
	width: 100%;
	border-collapse: separate !important;
	border-spacing:1px;
	display: none;
}
#ticket .priceBox table.active{display: block;}
#ticket .priceBox table th{
	width: 15%;
	text-align: center;
	white-space: nowrap;
	vertical-align: middle;
	line-height: 1.4em;
	padding: 25px 3px 2px 3px;
	font-size: .12rem;
}
#ticket .priceBox table tbody th{background-color: #4a2103;color: #cab894;padding: 2px 3px;}
#ticket .priceBox table td{
	width: 40%;
	margin: 10px;
	text-align: center;
	padding: 5px 0;
	font-size: .12rem;
	color: #4a2103;
	background-color: rgba(255,255,255,.7);
}
#ticket .priceBox table td span{font-size: .15rem;font-weight: 900;}
#ticket .priceBox table tbody .trans{background-color: #4a2103;color: #cab894;font-weight: 700;}
#ticket .priceBox table tbody th.trans{background-color: transparent;}
#ticket .priceBox table thead th{font-weight: 700;font-size: .14rem;}
#ticket .attention{
	position: relative;
	margin: 30px auto 10px auto;
	padding: 10px;
	width: calc(100% - 60px);
	background-color: rgba(255,255,255,.5);
	border: solid 1px rgba(240,217,127,.3);
	text-align: center;
	color: #180525;
}
#ticket .attention .ttl{
	position: relative;
	color: #180525;
	font-weight: 900;
	font-size: .16rem;
}
#ticket .attention .ttl::after{
	position: absolute;
	top:0;
	right: 10px;
	display: block;
	content: '';
	width: 14px;
	height: 100%;
	background-image: url("../img/arrow.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 0 50%;
	transition: all .3s ease-out;
}
#ticket .attention .ttl.ticClose::after{transform: rotate(180deg);}
#ticket .attention p{
	font-size: .12rem;
	text-align: left;
}
#ticket .attention .ttlS{
	padding: 10px 0;
	font-weight: 500;
	font-size: .13rem;
	text-align: center;
}
#ticket .attention .ticCaution{
	position: relative;
	height: 0;
	overflow: hidden;
	transition: all .3s ease-out;
}
#ticket .attention .ticCaution.disp{height: auto;}

#ticket .u22{
	position: relative;
	margin: 50px auto 10px auto;
	padding: 10px;
	width: calc(100% - 60px);
	background-color: rgba(255,255,255,.5);
	border: solid 1px rgba(240,217,127,.3);
	text-align: center;
	color: #180525;
}

#ticket .u22 .u22_icon{
	position: relative;
	margin: -40px auto 0px auto;
	padding-bottom: 10px;
	width: 180px;
}

#ticket .u22 a{
	color: #170500;
	text-decoration: underline;
}

#ticket_apiWrap{
	position: relative;
	margin: 0 auto;
	padding-bottom: 1px;
	background: #160424;
	color: #180525;
}
#ticket_apiWrap::after{
	position: absolute;
	top:-80px;
	left: 0;
	display: block;
	content: '';
	height: 80px;
	width: 100%;
	background-image: url('../img/bg_line03.svg');
	background-repeat: no-repeat;
	background-position:50% -2px;
    background-size: 100% 100%;
	transform: scale(1,-1);
}
#ticket_apiWrap ul{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 40px);
}
#ticket_apiWrap ul li{
	position: relative;
	margin: 0 auto 40px auto;
	padding: 20px 5px 5px 5px;
	background-color: rgba(255,255,255,.6);
	overflow: visible;
}
#ticket_apiWrap ul li:last-child{margin: 0 auto 15px auto;}
#ticket_apiWrap ul li::before{
	position: absolute;
	top: 10px;
	left: 5px;
	content: '';
	width: 100%;
	height: 100%;
	border: solid 1px #C5A9C3;
}
#ticket_apiWrap ul li a{color: #E52529 !important;}
#ticket_apiWrap ul li .area{
	position: relative;
	width: calc(100% - 30px);
	margin: 0 auto;
	font-weight: 900;
	font-size: .16rem;
	text-align: center;
	padding: 5px 0;
	color: #ffffff;
	background-color: #160424;
}
#ticket_apiWrap ul li .kikan{
	position: relative;
	padding: 0;
}
#ticket_apiWrap ul li .kikan p{
	position: relative;
	margin: 0 auto;
	padding: 15px 0 ;
	text-align: center;
	font-weight: 900;
	color: #412686;
}
#ticket_apiWrap ul li .button{
	position: relative;
	margin:  0 auto;
	padding: 5px;
	background-color: #ffffff;
	text-align: center;
	color: #412686;
	font-weight: 900;
}
#ticket_apiWrap ul li .button_cl{
	position: relative;
	margin:  0 auto;
	padding: 5px;
	background-color: #222222;
	text-align: center;
	color: #bbbbbb;
	font-weight: 900;
}
#ticket_apiWrap ul li .button::after{
	position: absolute;
	top:0;
	right: 10px;
	display: block;
	content: '';
	width: 14px;
	height: 100%;
	background-image: url("../img/arrow.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 0 50%;
	transition: all .3s ease-out;
}
#ticket_apiWrap ul li .button.apiClose::after{transform: rotate(-180deg);}
#ticket_apiWrap ul li .detail{
	position: relative;
	text-align: center;
	padding:  0 5px;
	background-color: rgba(255,255,255,0.8);
	color: #1b0a01;
	height: 0;
	overflow: hidden;
	opacity: 0;
	transition: all .5s ease-out;
}
#ticket_apiWrap ul li .detail.disp{height: auto;opacity: 1;padding: 0 5px 20px 5px;}
#ticket_apiWrap ul li .detail .ttkM{
	position: relative;
	margin: 30px auto 15px auto;
	font-size: .15rem;
	font-weight: 900;
	color: #232F88;
}
#ticket_apiWrap ul li .detail .ttkS{
	position: relative;
	margin: 20px auto 5px auto;
	font-weight: 900;
	color: #485a8e;
}
#ticket_apiWrap ul li .detail .ttkS.margin{margin: 30px auto 5px auto;}
#ticket_apiWrap ul li .map{
	margin: 15px auto;
	height: 0;
	overflow: hidden;
	padding-bottom: 320px;
	position: relative;
	border: solid 2px #1b0a01;
}
#ticket_apiWrap ul li .map iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}
/* チケットカレンダー */
.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: #160424;}
.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: #6d4a6d; color:#ffffff !important;}
.ticketWrap .naviBox ul li.cr .scheduleBox span span{color:#ffffff !important;}
.ticketWrap .detailsWrap {padding-top: 20px;}
.ticketWrap .detailsBox .tit {background-color: #485a8e;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: #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;}
._scheduler_header{background-color: #160424 !important;}

#voice{
	position: relative;
	padding: 80px 0 180px 0;
	background-color: #795394;
	border-top: solid 10px #160424;
}
#voice::before{
	position: absolute;
	bottom:0;
	left: 0;
	display: block;
	content: '';
	height: 180px;
	width: 100%;
	background: -webkit-linear-gradient(top, #795394, #1b0a01);
	background: -o-linear-gradient(top, #795394, #1b0a01);
	background: linear-gradient(to top, #1b0a01, #795394);
}
#voice::after{
	position: absolute;
	top:0;
	left: 0;
	display: block;
	content: '';
	height: 80px;
	width: 100%;
	background-image: url('../img/bg_line03.svg');
	background-repeat: no-repeat;
	background-position:50% -2px;
    background-size: 100% 100%;
	transform: scale(-1,1);
}
#voice .voicephoto{
	position: relative;
	width: 70%;
	margin: 30px auto;
}
#voice .name{
	font-size: .28rem;
	font-weight: 700;
	padding: 0 0 5px 0;
	border-bottom: solid 1px;
	margin-bottom: 10px;
}
#voice .ttl{
	font-size: .16rem;
	font-weight: 700;
	padding: 30px 0 2px 0;
	border-bottom: solid 1px;
	margin-bottom: 10px;
}

#goods{
	position: relative;
	padding: 0 0 26% 0;
}
#goods ul{
	position: relative;
	margin: -20px auto 0 auto;
}
#goods ul li{
	position: relative;
	padding: 20px;
	color: #312411;
	margin-bottom:20px;
	background-color: rgba(255,255,255,.8);
}
#goods ul li p.ttl{
	position: relative;
	margin: 20px auto 10px auto;
	border-bottom: solid 1px #815E02;
	padding-bottom: 5px;
	color: #815E02;
	font-weight: 900;
	font-size: .18rem;
	text-align: center;
}
#goods ul li p.ttl a{color: #815E02; text-decoration: underline;}
#goods ul li p.ttl a:hover{color: #180525;}
#goods ul li p.price{text-align: right;}
#goods ul li p.spec{
	position: relative;
	margin:10px auto;
}
#goods ul li p.txt{
	position: relative;
	margin:20px auto 0 auto;
}
#goods ul li p.txt span{font-size: .12rem;line-height: 1.2em !important;}
#goods ul li p.txt span.ttl{border-bottom: solid 1px #503E11;margin-bottom: 5px;font-weight: 700;}
#goods::after{
	position: absolute;
	bottom: 0;
	left: 0;
	content: '';
	display: block;
	background-image: url("../img/goods_btm.svg");
	background-repeat: no-repeat;
	background-size: auto 100%;
	background-position: 50% 0;
	width: 100%;
	height: 0;
	padding-top: 13%;
}
#goods .caution{
	position: relative;
	margin: 0 auto;
	background-color: rgba(54,31,21,.8);
	padding: 20px;
}
#goods a.links{
	position: relative;
	margin: 15px auto;
	padding: 25px 0;
	display: block;
	font-weight: 700;
	background-color: #ffe69b;
	border-radius: 5px;
	color: #180525;
	text-decoration: none;
	text-align: center;
	transition: all .3s ease-out;
}
#goods a.links:hover{
	background-color: #180525;
	color: #ffe69b;
}

#faq{
	background-color: #170500;
	padding: 30px 20px;
}
#faq .faqWrap{
	position: relative;
	margin: 0 auto 30px auto;
	background-color: #bd9729;
	border:  solid 1px #bd9729;
}
#faq .faqWrap.disp{background-color: #ffffff;}
#faq .faqWrap .ttl{
	position: relative;
	text-align: center;
	font-weight: 700;
	font-size: .20rem;
	color:#170500;
	padding: 10px;
}
#faq .faqWrap .ttl::after{
	position: absolute;
	top:0;
	right: 10px;
	display: block;
	content: '';
	width: 14px;
	height: 100%;
	background-image: url("../img/arrow.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 0 50%;
	transition: all .3s ease-out;
}
#faq .faqWrap .ttl.faqClose::after{transform: rotate(180deg);}
#faq .faqWrap dl{
	position: relative;
	margin: 0 auto;
	padding: 0;
	color: #170500;
	font-size: .12rem;
	border-top:solid 1px #bd9729;
	opacity: 0;
	height: 0;
	overflow: hidden;
	transition: all .3s ease-out;
	width: calc(100% - 40px);
}
#faq .faqWrap dl.disp{height: auto;padding:0  0 30px 0; opacity: 1;}
#faq #limitlist.faqWrap dl.disp{margin: 10px auto 30px auto;}
#faq .faqWrap dl dt{
	font-size: .15rem;
	color: #bd9729;
	font-weight: 700;
	padding: 20px 0;
	text-align: center;
}
#faq .faqWrap dl dd p{
	position: relative;
	padding-left: 1.2em;
}
#faq .faqWrap dl dd p::before{
	position: absolute;
	content: '・';
	left: 0;
}
#faq .faqWrap dl dd a{
	color: #170500;
	text-decoration: underline;
}
#faq .faqWrap dl dd .tS{
	position: relative;
	display: block;
	padding: 10px 0 5px 0;
}
#faq #limitlist.faqWrap dl{
	position: relative;
	border: solid 1px #bd9729;
	padding: 0;
}
#faq #limitlist.faqWrap dl dt{
	font-size: .12rem;
	width: calc(40% - 30px);
	padding: 15px;
	background-color: #bd9729;
	border-bottom: solid 1px #ffffff;
	color: #ffffff;
}
#faq #limitlist.faqWrap dl dd{
	font-size: .12rem;
	width: calc(60% - 30px);
	padding: 15px;
	border-bottom: solid 1px #bd9729;
}
#faq #limitlist.faqWrap dl dt.noborder, #faq #limitlist.faqWrap dl dd.noborder{border-bottom:none;}
#faq #faqlist.faqWrap dl dt{
	font-size: .12rem;
	padding: 20px 0 5px 0;
	text-align: left;
}
#faq #faqlist.faqWrap dl dt::before{
	position: absolute;
	content: 'Q.';
	left: 0;
}
#faq #faqlist.faqWrap dl dd, #faq #faqlist.faqWrap dl dt{
	position: relative;
	padding-left: 1.2em;
}
#faq #faqlist.faqWrap dl dd::before{
	position: absolute;
	content: 'A.';
	left: 0;
}

/* 遊び方 */
#aboutgame{
    position: relative;
    margin:0 auto;
	background-color: #170500;
	padding-bottom: 22%;
}
#aboutgame::after{
	position: absolute;
	bottom: -1px;
	left: 0;
	content: '';
	display: block;
	background-image: url("../img/footer_btm.svg");
	background-repeat: no-repeat;
	background-size: auto 100%;
	background-position: 50% 0;
	width: 100%;
	height: 0;
	padding-top: 20%;
}
#aboutgame ul{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 60px);
}
#aboutgame ul li{
	margin-bottom: 20px;
	padding:  0;
}
#aboutgame ul li img{margin: 0 auto;}
#aboutgame ul.games{
	position: relative;
	margin:50px auto 0 auto;
	text-align: center;
	width: calc(100% - 20px);
}
#aboutgame ul.games li p{
	position: relative;
	margin: 10px auto;
	font-size: .13rem;
}
#aboutgame ul.games li .ttl{
	font-weight: 900;
	font-size: .20rem;
	color: #ffea00;
}

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

	#line .btnLine:hover, #bnrLinks ul li:hover, #ticket .price ul li:hover, #ticket .attention .ttl:hover{cursor: pointer; opacity: .8;transition: all .3s ease-out;}
	/* ヘッダー */
    header #keyvisual{
        background-image: url("../img/main_pc.png");
        padding-top:52.5%;
	}
	
	/* 開催 */
	#tmc{
		padding: 30px 0;
		background-color: #03111b;
	}
	#tmc p{
		font-size: .26rem;
		line-height: 1.8em;
	}

	/* about */
	#about{padding: 30px 0 0 0;}
	#about .catch img{margin: 0 auto;}
	#about p{
		margin: 25px auto;
		font-size: .15rem;
	}
	#about::after{
		bottom:-79px;
		background-size: 120% 100%;
		padding-top: 80px;
	}
	
	#cm{padding: 0 0 80px 0;}
	#cm .movieWrap{width: 580px;}

	/* ポイント */
	#point{padding: 80px 0 60px 0;}
	#point::after{
		background-size: 110% 100%;
		padding-top: 60px;
	}
	#point ul{width: 640px;}
	#point ul li{
		margin: 0 20px;
		width: 280px;
	}
	#point ul li .ttl div{width: 100%; height: 70px;}
	#point ul li:nth-child(1) .ttl div img{width: 78px;}
	#point ul li:nth-child(2) .ttl div img{width: 42px;}
	#point ul li:nth-child(3) .ttl div img{width: 43px;}
	#point ul li .ttl p{
		padding:10px 0;
		font-size: .20rem;
		text-align: center;
		width: 100%;
	}
	#point ul li p.txt{
		padding: 10px 0 0 0;
		text-align: center;
	}

	/* LINE */
	#line .lineLink{
		padding: 30px 0 50px 0;
		width: 400px;
	}
	#line .lineLink::before{
		top:-35px;
		left: -65px;
		width:100px;
	}
	#line .lineLink .linetxt{width: 320px;height: auto;margin: 0 auto;}
	#line .btnLine{
		margin: 20px auto 0 auto;
		padding: 10px 0;
		width: 300px;
	}
	#line .btnLine img{width:80px;}

	/* ニュース */
	#news{padding: 50px 0 40px 0;}
	#news .newsBox ul{
		width: 800px;
		height: 100px;
		margin: 60px auto 0 auto;
	}
	#news .newsBox ul li{padding: 0 0 10px 0;font-size: .16rem;}
	#news .newsBox ul li p, #news .newsBox ul li a{width: calc(100% - 130px);}
	#news .newsBox ul li p.date{width: 120px;font-size: .15rem;}

	/* ストーリー */
	#story{
		padding: 70px 0 0 0;
		background-image: url('../img/bg_story_pc.jpg');
		background-size: cover;
	}
	#story p{
		padding: 5px 10px 180px 10px;
		font-size: .16rem;
		text-align: center;
		font-weight: 500;
		line-height: 2em;
	}

	/* イベント概要 */
	#event{
		padding: 0 0 80px 0;
		background-image: url('../img/bg_event_pc.jpg');
		background-size: 100% auto;
	}
	#event #howto ul{
		margin: 0 auto;
		width: 1000px;
	}
	#event #howto ul li .slideinnner .ttl{font-size: .18rem;}
	#event #howto ul li .slideinnner .txt{
		padding: 0 10px 5px 10px;
		font-size: .14rem;
	}
	#event #howto ul li .serif{line-height: 1.4em;}
	
	#event #place ul li{
		margin: 0 auto 70px auto;
		width:580px;
	}

	#event #place ul li .ttl{font-size: .24rem;}
	#event #place ul li .txt{font-size: .18rem;}
	#event #place ul li .txt .hole{font-size: .18rem;}
	#event #place ul li .txt .access{
		font-size: .14rem;
		width: 320px;
		padding: 20px 0 0 0;
		margin: 0 auto;
	}
	#event #place a{
		margin: 15px auto 0 auto;
		padding: 0 3em;
		font-size: .13rem;
	}

	#event #play ul{width: 880px;}
	#event #play ul li {width: calc(25% - 5px);}
	#event #play p.caution{padding: 10px 0;width: 960px;text-align: center;}

	/* チケット */
	#ticket{
		padding: 80px 0 120px 0;
		background-image: url('../img/bg02_pc.jpg');
		background-size: 100% auto;
	}
	#ticket::before{
		top:-1px;
		background-size: 110% 100%;
		padding-top: 60px;
	}
	#ticket ul.ticdate{margin: 0 auto 100px auto;}
	#ticket ul.ticdate li{
		margin: 0 auto 60px auto;
		width:580px;
	}
	#ticket ul.ticdate li .ttl{font-size: .24rem;}
	#ticket ul.ticdate li .ttlS{
		padding: 8px 0;
		font-size: .18rem;
	}
	#ticket ul.ticdate li .ttlS.margin{margin: 60px auto 0 auto;}
	#ticket ul.ticdate li .scrapD{
		padding: 30px 0 5px 0;
		font-size: .18rem;
	}
	#ticket ul.ticdate li .bnr_scrap{
		margin: 0 auto 30px auto;
		width:380px;
	}
	#ticket .pre{
		margin:100px auto;
		width:620px;
	}
	#ticket .pre::after{
	top:-30px;
	right: -30px;
	width: 130px;
	height: 130px;
}
	#ticket .pre .ttl{font-size: .18rem;}
	#ticket .price .ttl{font-size: .24rem;}
	#ticket .price ul{
		position: relative;
		width: 490px;
	}
	#ticket .price ul li{
		margin: 40px  0 0 0;
		width: 240px;
	}
	#ticket .price ul li p{padding: 15px 0 ;font-size: .18rem;}
	#ticket .priceBox table{width: 960px;}
	#ticket .priceBox .caution{
		margin: 50px auto 0 auto;
		font-size: .15rem;
	}
	#ticket .priceBox table th{
		width: 280px;
		line-height: 1.4em;
		padding: 40px 3px 2px 3px;
		font-size: .16rem;
	}
	#ticket .priceBox table td{
		width: 340px;
		padding: 5px 0;
		font-size: .16rem;
	}
	#ticket .priceBox table thead th{font-size: .18rem;}
	#ticket .priceBox table td span{font-size: .22rem;}
	#ticket .attention{
		margin: 60px auto 40px auto;
		padding: 20px;
		width: 920px;
	}
	#ticket .attention .ttl{font-size: .18rem;}
	#ticket .attention p{font-size: .14rem;}
	#ticket .attention .ttlS{
		padding: 25px 0 10px 0;
		font-size: .15rem;
	}
	#ticket .u22{
		margin: 60px auto 40px auto;
		padding: 20px;
		width: 920px;
	}
	#ticket_apiWrap::after{
		top:-100px;
		height: 100px;
	}
	#ticket_apiWrap ul{width: 760px;}
	#ticket_apiWrap ul li{margin: 0 auto 60px auto;}
	#ticket_apiWrap ul li .area{
		width: calc(100% - 60px);
		font-size: .18rem;
		padding: 10px 0;
	}
	#ticket_apiWrap ul li .kikan p{
		padding: 20px 0 30px 0 ;
		font-size: .18rem;
	}
	#ticket_apiWrap ul li .button::after{width: 16px;}
	#ticket_apiWrap ul li .detail{padding:  0 25px;}
	#ticket_apiWrap ul li .detail.disp{padding: 0 25px 30px 25px;}
	#ticket_apiWrap ul li .detail .ttkM{
		margin:50px auto 25px auto;
		font-size: .20rem;
	}
	#ticket_apiWrap ul li .detail .ttkS.margin{margin: 50px auto 5px auto;}


	/* チケット情報 */
	#ticket p{text-align: center;}
	/* 料金 */
	#ticket #price .tickettable{margin: 40px auto 20px auto;}
	#ticket #price .tickettable .ticTh{font-size: .14rem;}
	#ticket #price .tickettable .ticTd{font-size: .12rem;}
	#ticket #price .tickettable .ticTd span{font-size: .16rem;}
	#ticket #price .tickettable .Thead{font-size: .14rem;}
	#ticket #price .tickettable .Thead span{font-size: .12rem;}
	#ticket #price h4{
		font-size: .16rem;
		padding: 60px 0 10px 0;
		margin-bottom: 10px;
	}
	
	#voice{padding: 80px 0 180px 0;}
	#voice::after{height: 100px;}
	#voice .lead{
		text-align: center;
		margin: 0 auto 60px auto;
	}
	#voice .voicephoto{
		width: 320px;
		margin: 0;
	}
		#voice .voiceText{
		width: 600px;
		margin: 0;
	}
	#voice .name{
		font-size: .32rem;
		margin-bottom: 20px;
	}
	#voice .ttl{
		font-size: .18rem;
		padding: 40px 0 2px 0;
		margin-bottom: 20px;
	}
	
	#goods{padding: 0 0 100px 0;}
	#goods ul{
		margin: -10px auto 0 auto;
		width: 960px;
		z-index: 10;
	}
	#goods ul li{
		padding: 40px;
		width: calc(50% - 120px);
	}
	#goods ul li img{
		width: 280px;
		margin: 0 auto;
	}
	#goods ul li p.ttl{
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		margin: 40px auto 10px auto;
		font-size: .20rem;
		min-height: 2.7em;
	}
	#goods ul li p.ttl span{width: 100%;display: block;}
	#goods::after{
		background-size: 110% 100%;
		padding-top: 60px;
		bottom: -1px;
	}
	#goods .caution{text-align: center;font-size: .13rem;}
	#goods a.links{
		margin: 40px auto;
		padding: 25px 0;
		width: 620px;
	}
	
	#faq{padding: 50px 0;}
	#faq .faqWrap{
		width: 960px;
		margin: 0 auto 40px auto;
		transition: all .3s ease-out;
	}
	#faq .faqWrap:hover{background-color: #ffffff;cursor: pointer;}
	#faq .faqWrap .ttl{font-size: .24rem;}
	#faq .faqWrap .ttl::after{width: 16px;right: 20px;}
	#faq .faqWrap dl{
		font-size: .16rem;
		width: 880px;
	}
	#faq .faqWrap dl.disp{padding:0  0 50px 0;}
	#faq #limitlist.faqWrap dl.disp{margin: 30px auto 50px auto;}
	#faq .faqWrap dl dt{
		font-size: .20rem;
		padding: 50px 0 30px 0;
	}
	#faq #limitlist.faqWrap dl dt{
		font-size: .16rem;
		width: 210px;
	}
	#faq #limitlist.faqWrap dl dd{
		font-size: .16rem;
		width: 610px;
	}
	#faq #faqlist.faqWrap dl dt{
		font-size: .18rem;
		padding: 30px 0 5px 1.2em;
	}

	/* 遊び方 */
	#aboutgame{padding-bottom:80px;}
	#aboutgame::after{
		background-size: 110% 100%;
		padding-top: 60px;
	}
	#aboutgame ul{width: 300px;}

	#aboutgame ul.games{
		margin:80px auto 0 auto;
		width: 460px;
	}
	#aboutgame ul.games li p{
		margin: 20px auto;
		font-size: .16rem;
	}
	#aboutgame ul.games li .ttl{font-size: .24rem;}

	
}