@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: cover;
	width: 100%;
	padding-top: 141.40625%;
}

/* catch */
#catch {
	position: relative;
	margin: 0 auto;
	padding-bottom: 20px;
	background-image: url("../img/bg_catch.jpg");
	background-repeat: repeat;
	background-position: 50% 0;
	background-size: 100% auto;
}
#catch .catchTtl{
	position: relative;
	width: 100%;
	margin: 0 auto;
}
#catch .catchTxt {
	position: relative;
	margin: 0 auto;
	width: calc(100% - 30px);
	color: #8802a2;
	font-size: .15rem;
	font-weight: 600;
	padding: 10px 0;
	text-align: center;
}
#catch .cautionWrap{width: calc(100% - 30px);}
#catch .cautionWrap p {color: #000000;}

/* photo */
#photo {
	position: relative;
	margin: 0 auto;
	background: #bf1aa2;
	padding: 3px 0;
}
#photo .photoWrap {
	position: relative;
	margin: 0 auto;
	padding: 0;
}
.splide__list {height: auto;}

#banner .att{
	position: relative;
	margin: 0 auto 10px auto;
	font-size: 70%;
	text-align: center;
	color: #bf1aa2;
}

/* pv */
#pv{
	position: relative;
	margin: 0 auto;
	padding-bottom: 30px;
	background-image: url("../img/bg_photo01.png"), url("../img/bg_photo02.png");
	background-position: 20px 0, calc(100% - 5px) 0;
	background-repeat: no-repeat, no-repeat;
	background-size: auto 25px, auto 40px;
}
#pv h2{
	position: relative;
	margin: 0 auto -20px auto;
	width: 100%;
	max-width: 640px;
}
#pv .pvWrap{
	position: relative;
	margin:0 auto ;
	width: calc(100% - 40px);
	gap: 20px;
}
#pv .playMovieWrap{
	position: relative;
	margin: 0;
	width: calc(100% - 40px);
	max-width: 315px;
	background-color: #000000;
	overflow: hidden;
	border: solid 1px #bf1aa2;
}
#pv .playMovieWrap .movieArea{
	position: relative;
	margin:0 auto;
	width: 100%;
	height: 0;
	padding-top: 177.777%;
}
#pv .playMovieWrap .movieArea iframe{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* バナー */
#banner{
	position: relative;
	margin: 0 auto;
	padding: 0;
}
#banner a{
	position: relative;
	margin: 0 auto;
	display: block;
	width: calc(100% - 30px);
}
#banner a img{border: solid 1px #bf1aa2;}
#banner .blank{padding-top: 40px;}
#banner .end{
	position: relative;
	margin: 0 auto;
	display: block;
	width: calc(100% - 30px);
}
#banner .end a{width: calc(100% - 4px);}
#banner .closed{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(173,173,173,0.80);
	z-index: 10;
}
#banner .closed::after{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 50%;
	left: 50%;
	content: '';
	transform: translate(-50%, -50%);
	background-image: url("../img/bnr_closed.png");
	background-repeat: no-repeat;
	background-size: 30% auto;
	background-position: 50% 50%;
}

/* ストーリー */
#story {
	position: relative;
	margin: 0 auto;
	background-image: url("../img/bg_story.png");
	background-position: 50% 0;
	background-repeat: repeat-y;
	background-size: 100% auto;
	background-color: #0D0211;
}
#story .storyWrap {
	position: relative;
	margin: 0 auto;
	background-image: url("../img/bg_story01.png");
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: 100%  auto;
	z-index: 10;
}
#story .storyWrap .bg{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image:  url("../img/bg_story02.png");
	background-position: 50% -9em;
	background-repeat: no-repeat;
	background-size: 100% auto;
	mix-blend-mode: screen;
	z-index: 11;
}
#story .storyWrap::before{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 150px;
	content: '';
	display: block;
	background: linear-gradient(180deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%);
	z-index: 12;
}
#story .storyWrap::after{
	position: absolute;
	bottom:0;
	left: 0;
	width: 100%;
	height: 150px;
	content: '';
	display: block;
	background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%);
	z-index: 13;
}
#story .storyWrap .textWrap{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 20px);
	padding-top: 5px;
	z-index: 50;
}
#story .storyWrap .textWrap h2{
	position: relative;
	margin: 0 auto 20px auto;
	width: 100%;
	max-width: 640px;
}
#story .storyWrap .textWrap .text img{
	position: relative;
	margin: 0 auto;
	transform: translateY(-1em);
}
#story .more {
	position: relative;
	margin: 0 auto;
	height: 7em;
	overflow: hidden;
	transform: translateY(-1em);
	z-index: 51;
	transition: all 0.3s ease-out;
}
#story .more::after{
	position: absolute;
	bottom:0;
	left: 0;
	width: 100%;
	height: 100%;
	content: '';
	display: block;
	background: linear-gradient(0deg, rgba(0,0,0,1) 40%, rgba(0,0,0,0) 100%);
	z-index: 1000;
	transition: all 0.3s ease-out;
}
#story .more.disp{overflow: visible;height: auto;}
#story .more.disp::after{opacity: 0;}
#story p {
	position: relative;
	margin: 0 auto;
	padding-bottom: 2.2em;
	line-height: 2em;
	text-align: center;
	z-index: 200;
}
#story .more .moreBtn {
	position: absolute;
	top:50%;
	left: 50%;
	transform: translate(-50% ,-50%);
	width: 24%;
	max-width: 100px;
	height: 0;
	padding-top:21%;
	background-image: url("../img/moreR.png");
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: contain;
	z-index:2001;
	cursor: pointer;
}
#story .more.disp .moreBtn{animation: moreBtn 1.4s ease 0s 1 normal forwards; top: 100%;background-image: url("../img/closebtn.png");}
@keyframes moreBtn {
	0% { opacity: 0;}
	100% { opacity: 1;}
}

/* game */
#game{
	position: relative;
	margin:0 auto;
}
#game h2{
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 640px;
	z-index: 2000;
}
#game .bgWrap{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100vh;
	height: 100dvh;
	min-height: 100%;
	clip-path: inset(0);
	z-index: -2;
}
#game .bg{
	position: fixed;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url("../img/bg_game.jpg");
	 background-repeat: no-repeat;
	 background-size: cover;
	 background-position: 50% 0;
}

#game .gameContWrap{
	position: relative;
	margin: -23% auto 0 auto;
	padding-top: 23%;
	padding-bottom: 110px;
	clip-path: polygon(0 0, 100% 55px, 100% 100%, 0 100%);
}
#game .gameWrap{
	position: relative;
	margin:0 auto 20px auto;
	width: calc(100% - 30px);
	gap: 0 20px;
}
#game .gameWrap .gameCont{
	position: relative;
	margin: 0;
	width: 100%;
	font-size: min(3.7vw, .14rem);
	line-height: 1.6em;
}
#game .gameWrap .gameCont::after{
	position: absolute;
	bottom: 0;
	left: calc(50% - 9.5px);
	height: 24px;
	width: 19px;
	content: '';
	background-image: url("../img/arrow.png");
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: contain;
}
#game .gameWrap .gameCont.game01::after{bottom: -1.5em;}
#game .gameWrap .gameCont.game04::after{
	left: 0;
	height: 24px;
	width: 100%;
	background-image: url("../img/arrow.png"), url("../img/arrow.png");
	background-position: 25% 50%,75% 50%;
	background-repeat: no-repeat, no-repeat;
	background-size: contain, contain;
}
#game .gameWrap .gameCont.game05::after, #game .gameWrap .gameCont.game06::after{display: none;}
#game .gameWrap .gameCont.game05, #game .gameWrap .gameCont.game06{width: calc(50% - 20px);}
#game .gameWrap .gameCont .Img{
	position: relative;
	margin: 0;
	width: calc(40% - 20px);
	max-width: 180px;
}
#game .gameWrap .gameCont.game02 .Img{width: calc(50% - 10px);;max-width: 202px; margin: 0.7em 0 0 auto;}
#game .gameWrap .gameCont.game03 .Img{width: calc(50% - 20px);max-width: 200px;}
#game .gameWrap .gameCont.game05 .Img, #game .gameWrap .gameCont.game06 .Img{
	margin: 0 auto;
	width: 74%;
}
#game .gameWrap .gameCont.game01 .Txt{
	position: absolute;
	top: 25%;
	left: 38%;
	width: 70%;
}
#game .gameWrap .gameCont.game01 .Txt h3{
	position: relativere;
	margin: 0;
	transform: translateX(-30px);
}
#game .gameWrap .gameCont.game02 .Txt{
	position: absolute;
	top: 35%;
	left: 0;
	width: 60%;
	text-align: center;
}
#game .gameWrap .gameCont.game02 .Txt h3{
	position: relativere;
	margin: 0;
}
#game .gameWrap .gameCont.game03 .Txt{
	position: absolute;
	top: 40%;
	right: 0;
	width: 55%;
}
#game .gameWrap .gameCont.game04 .Txt{
	position: relative;
	margin: 0 auto;
	padding: 30px 0 40px 0;
	width: 100%;
	text-align: center;
}
#game .gameWrap .gameCont.game05 .Txt, #game .gameWrap .gameCont.game06 .Txt{
	position: relative;
	margin: 0 auto;
	padding: 5px 0 0 0;
	width: 100%;
	text-align: center;
}
#game .cautionWrap{width: calc(100% - 30px);}
#game .cautionWrap p {color: #f6ff00;}

#game .cast{
	position: relative;
	margin: 20px auto 0 auto;
	width: calc(100% - 50px);
	max-width: 860px;
	gap: 0 30px;
}
#game .cast .Img{
	position: relative;
	margin: 0;
	width: 100%;
	max-width: 400px;
}
#game .cast .Txt{
	position: relative;
	margin: 0;
	padding-top: 10px;
	padding-bottom: 0;
	width: 100%;
	max-width: 390px;
}
#game .cast .Txt p{
	position: relative;
	text-align: left;
	font-size: 90%;
	line-height: 1.7em;
	padding-bottom: 0;
}
#game .cast .Txt .profile{
	position: relative;
	margin: 10px auto 0 auto;
}
#game .cast .Txt .profile{line-height: 1.6em; font-size: 84%;}
#game .cast .Txt .profile h3{
	position: relative;
	margin: 0 auto 10px auto;
	padding-bottom: 2px;
	color: #AEAEAE;
	border-bottom: solid 1px #AEAEAE;
}

#game .nazo{
	position: relative;
	margin: 50px auto 0 auto;
	width: calc(100% - 40px);
	max-width: 860px;
}
#game .nazo .btn_nazo{
	position: relative;
	cursor: pointer;
	margin: 0 auto;
	width: 100%;
	max-width: 580px;
}
#game .nazo .nazoArea{
	position: relative;
	display: none;
}
#game .nazo .nazoImages{
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 800px;
}
#game .nazo #err{
	position: relative;
	margin: 0 auto;
}
#game .nazo #err p{
	position: relative;
	margin: 0 auto;
	padding: 5px 10px;
	color: #f6ff00;
	text-align: center;
}
#game .nazo .hintWrap{
	position: relative;
	margin: 20px auto 40px auto;
}
#game .nazo .hintInWrap{
	position: relative;
	margin: 0 auto 10px auto;
	width: calc(100% - 80px);
	max-width: 600px;
	border: solid 1px #bf1aa2;
	background-color: #bf1aa2;
}
#game .nazo .hintWrap .Btnhint{
	position: relative;
	margin: 0 auto;
	padding: 3px 20px;
	text-align: center;
	color: #ffffff;
	cursor: pointer;
	font-size: .13rem;
	transition: all .3s ease-out;
}
#game .nazo .hintWrap .Btnhint:hover{background-color: #4900B7;}
#game .nazo .hintWrap .hintTxt{
	position: relative;
	margin: 0 auto;
	padding: 10px;
	font-size: .13rem;
	display: none;
	background-color: #ffffff;
	color: #000000;
}
#game .nazo .inputArea{
	margin: 0 auto;
	padding-bottom: 10px;
	width: calc(100% - 20px);
}
/* form */
.inputArea .inputTxt{
	position: relative;
    display: block;
	margin:  0 auto 20px auto !important;
	padding: 0 8px;
	border: solid 1px #757d92;
	background-color: #fefff3;
	width: calc(100% - 16px);
	max-width: 686px;
	border-radius: 5px;
	height: 2.5em;
	line-height: 3em;
	font-size: .16rem;
}
.inputArea .inputTxt.disabled{background-color: #B0CFD7; color: #708392;pointer-events : none;}
::placeholder {color: #cecece;}
input::-webkit-contacts-auto-fill-button, 
input::-webkit-credentials-auto-fill-button {
  visibility: hidden;
  pointer-events: none;
  position: absolute;
  right: 0;
}

.button{
	position: relative;
	margin: 0 auto;
	display: block;
	width: 10em;
	max-width: 480px;
	padding: 3px 0;
	border-radius: 5px;
	background: #f6ff00;
	border: solid 1px #f6ff00;
	color: #000000 !important;
	text-align: center;
	transition: all .3s ease-out;
	cursor: pointer;
}
.button:hover{background-color: #D008D8;color: #f6ff00 !important;}
button.button{margin: 10px auto 0 auto;max-width: 16em;}
.button:disabled, .button:disabled:hover{background-color: #B0CFD7; color: #8B999F !important;border: solid 1px #B0CFD7; pointer-events : none;}

#opwinO{
	position: fixed;
	top:0;
	left: 0;
	width: 100%;
	height: 100vh;
	display: none;
	overflow-y: scroll;
	background-color: #f6ff00;
	z-index: 19000;
}
.close_win1 {
    position: fixed;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    z-index: 19001;
	overflow: hidden;
 }
.btn_win1{
	position: fixed;
	top:0;
	right: 0;
	display: block;
	width: 65px;
	height: 87px;
	z-index: 19002;
}
#opwinO .result{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 40px);
	max-width: 500px;
	padding: 50px 0;
	z-index: 19003;
}
#opwinO .result ul{
	position: relative;
	margin: 0 auto;
	width: 70%;
	max-width: 400px;
	gap:0 10px;
}
#opwinO .result ul li{
	position: relative;
	margin: 0;
	width: calc(33.333% - 10px);
	max-width: 40px;
}


/* プレイ形式 */
#play{
	position: relative;
	margin: -55px auto 0 auto;
}
#play::before{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	content: '';
	display: block;
	background-image: url("../img/bg_play.jpg");
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
	clip-path: polygon(0 55px, 100% 0%, 100% 100%, 0 calc(100% - 55px));
}
#play h2{
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 640px;
}
#play h2 img{
	position: relative;
	transform: translateY(-30px);
}
#play ul{
	position: relative;
	margin:-40px auto 0 auto;
	padding-bottom: 80px;
	width: calc(100% - 60px);
	gap: 5px 40px;
}
#play ul li{
	position: relative;
	margin: 0;
	width: calc(50% - 20px);
}
#play ul li:nth-child(2) img, #play ul li:nth-child(4) img{transform: translateY(25px);}

/* 参加方法 */
#howto {
	position: relative;
	margin: 0 auto;
	padding-bottom: 50px;
}
#howto h2{
	position: relative;
	margin: 0 auto;
	padding-top: 10px;
	width: 100%;
	max-width: 640px;
}
#howto .howtoWrap {
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 1200px;
}
#howto .howtoWrap .splide__arrows .splide__arrow--prev {left: 2px;transform: rotate(180deg);}
#howto .howtoWrap .splide__arrows .splide__arrow--next {right: 2px;}
#howto .howtoWrap .splide__arrow {
	background: transparent;
	border-radius: 0;
	height: 25px;
	width: 30px;
	opacity: 1;
}
#howto .howtoWrap .splide__arrow:disabled {opacity: 0;}

#howto .howtoWrap ul li{
	position: relative;
	margin: 0;
	padding-top: 16%;
	padding-bottom: 35px;
	width: 100%;
	display: flex;
	align-items: stretch;
}
#howto .howtoWrap .txtWrap {
	position: relative;
	margin: 0 auto;
	width: calc(100% - 80px);
	border: solid 2px #e407b5;
	box-sizing: border-box;
	background-color: #ffffff;
	background-image: url("../img/bg_howto01.png"), url("../img/bg_howto02.png");
	background-position: 100% 100%, 0 0;
	background-repeat: no-repeat, no-repeat;
	background-size: 40% auto, cover;
}
#howto .howtoWrap .txtWrap::after{
	position: absolute;
	bottom:-35px;
	left: 5px;
	width: 45px;
	height: 35px;
	content: '';
	background-image: url("../img/bg_howto03.png");
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: contain;
}
#howto .howtoWrap .Img {
	position: relative;
	margin: 0;
	width: 100%;
}
#howto .howtoWrap .ImgTtl {
	position: absolute;
	top:-27%;
	left: -40px;
	width: calc(100% + 20px);
}
#howto .howtoWrap .Txt {
	position: relative;
	margin: 0;
	color: #000000;
	padding: 5px 20px 30px 20px;
	line-height: 1.6em;
}
#howto .txtWrap .cautionWrap{
	position: relative;
	margin: 10px auto 0 auto;
}
#howto .txtWrap .cautionWrap p{
	position: relative;
	padding-left: 1.1em;
	font-size: 86%;
	color: #000000;
}
#howto .txtWrap .cautionWrap p::before{
	position: absolute;
	top:0;
	left: 0;
	content: '※';
}
#howto .first{
	position: relative;
	margin: 20px auto 0 auto;
	width: calc(100% - 30px);
	max-width: 780px;
}

/* 販売 */
#ticket {
	position: relative;
	margin: 0 auto;
}
#ticket .bgWrap{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100vh;
	height: 100dvh;
	min-height: 100%;
	clip-path: inset(0);
	z-index: -2;
}
#ticket .bg{
	position: fixed;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url("../img/bg_ticket.jpg");
	 background-repeat: no-repeat;
	 background-size: cover;
	 background-position: 50% 0;
}
#ticket h2 {
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 640px;
}
#ticket h2 img{
	position: relative;
	transform: translateY(-15px);
}
#ticket h3 {
	position: relative;
	margin: -17px auto 0 auto;
	width: calc(100% - 60px);
	max-width: 560px;
}
/* 料金 */
#ticket .price {
  position: relative;
  margin: 0 auto;
}
#ticket .price ul.ticketP {
	position: relative;
	width: calc(100% - 80px);
	max-width: 600px;
	margin: 0 auto;
	z-index: 70;
}
#ticket .price ul.ticketP li{
	position: relative;
	margin: 0;
	width: calc(50% - 10px);
	color: #9a8450;
	background-color: #d9f38a;
	border-radius: 100px;
	font-weight: 500;
	cursor: pointer;
}
#ticket .price ul.ticketP li.active{background-color: #500f40;color: #ffffff;}
#ticket .price ul.ticketP li.active::after{
	position: absolute;
	bottom: -20px;
	left: 0;
	content: '';
	display: block;
	width: 100%;
	height: 20px;
	background-image: url("../img/price_active.png");
	 background-repeat: no-repeat;
	 background-size: contain;
	 background-position: 50% 0;
}
#ticket .price ul.ticketP li p{
	position: relative;
	padding: 5px 0;
	line-height: 1em;
	text-align: center;
}
#ticket .priceBox{
	position: relative;
	margin: 0 auto;
}
#ticket .priceBox .table{
	position: relative;
	margin: 15px auto 0 auto;
	width: calc(100% - 32px);
	display: none;
	color: #000000;
}
#ticket .priceBox .table table{
	position: relative;
	margin: 0 auto;
	width: 100%;
	border-collapse: collapse !important;
	border-spacing:1px;
	border: solid 1px #824890;
}
#ticket .priceBox .table.active{display: block;}
#ticket .priceBox .table table.ttable{margin: 10px auto 0 auto;}
#ticket .priceBox table th{
	position: relative;
	width: 22%;
	text-align: center;
	vertical-align: middle;
	line-height: 1.4em;
	padding: 7px 2px;
	font-size: .10rem;
	background-color: #03b29f;
	color: #ffffff;
	border-left: solid 1px #000000;
}
#ticket .priceBox .price02 table th{background-color: #0168C3;}
#ticket .priceBox table td{
	position: relative;
	width: 38%;
	margin: 10px;
	text-align: center;
	padding: 10px 0;
	font-size: .12rem;
	border-right: solid 1px #000000;
	border-top: solid 1px #000000;
	vertical-align: middle;
	background-color: #ffffff;
}
#ticket .priceBox table td span{font-size: .18rem;font-weight: 700;}
#ticket .priceBox table td p{font-size: .12rem;line-height: 1.4em;}
#ticket .priceBox table thead th{border-top: solid 1px #000000;padding: 5px 0;}
#ticket .priceBox table tbody th{border-right: solid 1px #000000;background-color: #a3d1cc;border-top: solid 1px #000000;padding: 10px 2px; color: #000000;height: calc(2.8em + 10px) !important;}
#ticket .priceBox .price02 table tbody th{background-color: #AFCBE4;}
#ticket .priceBox table thead th span, #ticket .priceBox table tbody th span{font-size: .10rem;}
#ticket .priceBox table td.gray{background-color: #E6E6E6;padding: 0 5px;}

#ticket .u22 {
  position: relative;
  margin: 40px auto 10px auto;
  width: calc(100% - 30px);
  max-width: 800px;
  background-color: #ffffff;
}
#ticket .u22 .ttlU22 {
  position: relative;
  margin: 0 auto;
  width: 100px;
  transform: translateY(-25px);
}
#ticket .u22 .u22Txt {
  position: relative;
  margin: -10px auto 0 auto;
  padding: 0 15px 20px 15px;
  color: #000000;
  text-align: left;
  font-size: 0.12rem;
}
#ticket .u22 .u22Txt a {
  color: #000000;
}

#ticket .ticCautionWrap {
  position: relative;
  margin: 20px auto 0 auto;
  width: calc(100% - 30px);
  max-width: 800px;
}
#ticket .ticCautionWrap .btn_ticCaution {
  position: relative;
  margin: 0 auto;
  background-color: #f6ff00;
  color: #000000;
  text-align: center;
  padding: 5px 30px;
  cursor: pointer;
  transition: all 0.3s ease-out;
}
#ticket .ticCautionWrap .btn_ticCaution:hover {background-color: #ffffff;}
#ticket .ticCautionWrap .btn_ticCaution::after {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  content: "";
  display: block;
  width: 16px;
  height: 17px;
  background-image: url("../img/arrow01.png");
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
  transition: all 0.3s ease-out;
}
#ticket .ticCautionWrap .btn_ticCaution.disp::after {transform: translateY(-50%) scale(1, -1);}
#ticket .ticCaution {
  position: relative;
  margin: 0 auto;
  font-size: 0.13rem;
  line-height: 1.6em;
  padding: 10px;
  text-align: left;
  display: none;
	background-color: #ffffff;
}
#ticket .ticCaution p {
	position: relative;
	padding-left: 1.2em;
	padding-bottom: 8px;
	line-height: 1.6em;
	text-align: left;
	color: #000000;
}
#ticket .ticCaution p::before {
  position: absolute;
  content: "・";
  left: 0;
}
#ticket .ticCaution a{color: #000000;}
#ticket .ticCaution .repeat{cursor: pointer;}

/* release */
#release{
	position: relative;
	margin: 0 auto;
}
#release h3{
	position: relative;
	margin: 70px auto 0 auto;
	width: calc(100% - 60px);
	max-width: 560px;
}
#release .releaseBox{
	position: relative;
	margin: 0 auto;
	text-align: center;
	border: solid 1px #800bab;
	background-color: #ffffff;
	padding-bottom: 20px;
	width: calc(100% - 30px);
	max-width: 600px;
}
#release .releaseBox.margin{margin: 30px auto 0 auto;}
#release .ttlR{
	position: relative;
	margin: 0 auto 20px auto;
	padding: 7px 0;
	font-weight: 700;
	line-height: 1em;
	background-color: #800bab;
	color: #ffffff;
}
#release .ttlT{
	position: relative;
	margin: 0 auto 5px auto;
	font-weight: 700;
	color: #800bab;
}
#release .ttlT.margin{margin: 30px auto 5px auto;border-top:solid 1px #DCD6DE; }
#release .ttlT.margin span{margin: 30px auto 5px auto;padding-bottom: 2px;}
#release .ttlT span{color: #F00085;display: block;}
#release p{
	position: relative;
	margin: 0 auto;
	color: #000000;
}
.scraptantei{
	position: relative;
	margin: 15px auto 20px auto;
	font-size: 80%;
	text-align: center;
}
.scraptantei p{color: #ffffff !important;}
.scraptantei img{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 60px);
	max-width: 320px;
}


/* schedule */
#schedule{
    position: relative;
    margin: 0 auto;
	padding-bottom: 20px;
}
#schedule h3{
	position: relative;
	margin: 70px auto 0 auto;
	width: calc(100% - 60px);
	max-width: 560px;
}
#schedule ul.areaList{
	position: relative;
	margin:0 auto;
	width: calc(100% - 30px);
	max-width: 960px;
}
#schedule ul  li.contentsY{
	position: relative;
	margin: 0 auto 30px auto;
	border: solid 2px #500f40;
}
#schedule ul li .areaWrap{
	position: relative;
	margin: 0 auto;
	padding: 0;
	text-align: center;
	background-color: #ffffff;
	color: #000000;
}
#schedule ul li .areaWrap::after{
	position: absolute;
	top: -35px;
	right: -25px;
	width: 80px;
	height: 80px;
	content: '';
	display: block;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: contain;
	z-index: 11;
}
#schedule ul li .areaWrap.pre::after{background-image: url("../img/icon_pre.png");}
#schedule ul li .areaWrap.end::after{background-image: url("../img/icon_close.png");}
#schedule ul li .areaWrap .closed{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(173,173,173,0.80);
	z-index: 10;
}
#schedule ul li .area{
	position: relative;
	margin: 0 auto;
	padding:0;
}
#schedule ul li .area .shopname{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 30px);
	padding-top: 25px;
	font-weight:700;
	font-size: .16rem;
}
#schedule ul li .area .kikan{
	position: relative;
	margin: 0 auto;
	font-size: .13rem;
	width: calc(100% - 10px);
}

#schedule ul li .detail{
	position: relative;
	height: 0;
	overflow: hidden;
	color: #000000;
	 transition: all .8s ease-out;
}
#schedule ul li .detail.disp{height: auto;padding-bottom: 20px;}
#schedule ul li h4{
	position: relative;
	margin: 10px auto 8px auto;
	width: 100%;
	max-width: 560px;
}
#schedule ul li h5{
	position: relative;
	margin: 10px auto 0 auto;
	color: #8D02A2;
	font-weight: 700;
}
#schedule ul li .detail .shopTxt{
	position: relative;
	margin: 0 auto 5px auto;
}
#schedule ul li .detail .map{
	position: relative;
	margin: 8px auto 0 auto;
	width: calc(100% - 30px);
	height: 200px;
	border: solid 2px #800bab;
}
#schedule ul li .detail .map iframe{max-width: 100%;height: 100%;}
#schedule ul li .ttlS{
	position: relative;
	margin: 20px auto 5px auto;
	padding: 5px 0;
	font-weight: 700;
	font-size: 86%;
	line-height: 1em;
	color: #800bab;
}
#schedule ul li .detail p.areaTxt{font-size: 90%;line-height: 1.6em;}
#schedule ul li .detail a.areaTxt, #schedule ul li .detail a.black{color: #000000;}
#schedule ul li .btn_sAccess, #schedule ul li .link_sAccess{
	position: relative;
	margin:  10px auto 0 auto;
	display: block;
	padding: 5px 0;
	color: #f6ff00;
	cursor: pointer;
	background-color: #000000;
}
#schedule ul li .btn_sAccess.accessClose{background-color: #a7acae;color: #000000;}
#schedule ul li .btn_sAccess::after{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 10px;
	width: 15px;
	height: 16px;
	content: '';
	background-image: url("../img/arrow02.png");
	background-position: 0 0;
	background-repeat:no-repeat;
	background-size: contain;
	transition: all .3s ease-out;
}
#schedule ul li .btn_sAccess.accessClose::after{background-image: url("../img/arrow03.png");transform:translateY(-50%);}
#schedule ul li .detail .button{
	width: calc(100% - 2em - 20px);
	font-size: .13rem;
}
#schedule .morePlace{
	position: relative;
	width: 80%;
	max-width: 441px;
	margin: -15px auto 0 auto;
	z-index: 80;
}
#schedule .detail .cautionWrap{margin: 5px auto 0 auto;}
#schedule .detail .cautionWrap p{
	width: auto;
	display: inline-block;
	max-width: calc(100% - 20px);
}
#schedule .detail .cautionWrap div.margin{transform: translateY(-0.2em);}
#schedule .danin{
	position: relative;
	margin: 0 auto 40px auto;
	padding: 20px;
	width: calc(100% - 74px);
	max-width: 740px;
	border: solid 2px #f6ff00;
	background-color: rgba(0,0,0,0.6);
}
#schedule .danin .ttl{
	position: relative;
	margin: 0 auto 15px auto;
	text-align: center;
	font-size: 120%;
	font-weight: 700;
	color: #f6ff00;
	padding-bottom: 3px;
	border-bottom: solid 1px #f6ff00;
}
#schedule .danin .button{
	position: relative;
	margin: 20px auto;
	width: 20em;
	max-width: 100%;
	display: block;
	background-color: #f6ff00;
	text-align: center;
	padding: 5px 0;
	color: #000000;
	font-weight: 700;
}
#schedule .danin .button::after{
	position: absolute;
	top: 50%;
	transform: translateY(-50%) rotate(-90deg);
	right: 10px;
	width: 15px;
	height: 16px;
	content: '';
	background-image: url("../img/arrow01.png");
	background-position: 0 0;
	background-repeat:no-repeat;
	background-size: contain;
}
#schedule .danin .button:hover{background-color:#000000;color: #f6ff00; }
#schedule .danin .button:hover::after{background-image: url("../img/arrow02.png"); }

/* チケットカレンダー */
.sTicket ul li{background-image: none !important;}
.ticAPI{position: relative;margin: 0 auto;width: 100%;padding: 0;}
.ticket_api{margin: 0 auto;padding: 0;color: #000000;width: 100%; background-color: #800bab;}
.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{margin: 0 1px !important;}
.ticketWrap .naviBox ul li .scheduleBox{color:#000000;}
.ticketWrap .naviBox ul li.cr .scheduleBox {background: #500f40; color:#ffffff !important;}
.ticketWrap .naviBox ul li.cr .scheduleBox span span{color:#ffffff !important;}
.ticketWrap .detailsWrap {padding-top: 20px;min-height: 190px;}
.ticketWrap .detailsBox .tit {background-color: #f20b78;font-size: .14rem !important;color:#ffffff !important;}
.ticketWrap .detailsBox .tit p{margin: 0 !important;}
.ticketWrap .detailsBox .tit01 {font-size: .18rem !important;}
.ticketWrap .detailsBox .details h4 {max-width: 100% !important; margin: 30px 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: #800bab; font-size: .12rem;font-weight: normal;}
.ticketWrap .detailsBox .details a.scrap:after {border-top: solid 1px #800bab;border-right: solid 1px #800bab; width: 5px; height: 5px;margin: -3px 0 0 0px;}
.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;}

/* GOODS */
#goods {
	position: relative;
	margin: 0 auto;
}
#goods::before{
	position: absolute;
	top:-55px;
	left: 0;
	width: 100%;
	height: calc(100% + 110px);
	content: '';
	display: block;
	background-image: url("../img/bg_story.png");
	background-color: #0d2a39;
	background-position: 50% 50%;
	background-repeat: repeat-y;
	background-size: 100% auto;
	clip-path: polygon(0 0, 100% 55px, 100% calc(100% - 55px), 0% 100%);
}
#goods::after{
	position: absolute;
	top:-55px;
	left: 0;
	width: 100%;
	height: calc(100% + 110px);
	content: '';
	display: block;
	background: radial-gradient(circle, rgba(0,0,0,0) 20%, rgba(0,0,0,1) 100%);
	clip-path: polygon(0 0, 100% 55px, 100% calc(100% - 55px), 0% 100%);
}
#goods h2 {
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 640px;
	z-index: 90;
}
#goods h2 img{
	position: relative;
	transform: translateY(-42px);
}
#goods .goodssoon{
	position: relative;
	margin: 0 auto;
	transform: translateY(-40px);
	width: 80%;
	max-width: 480px;
	z-index: 91;
}
#goods ul{
	position: relative;
	margin: 0 auto;
	transform: translateY(-40px);
	width: calc(100% - 30px);
	max-width: 1200px;
	gap: 40px;
	z-index: 92;
}
#goods ul li{
	position: relative;
	margin: 0;
	width: 100%;
}
#goods ul li .Img, #goods ul li .Txt{
	position: relative;
	margin: 0 auto;
	width: 100%;
}
#goods ul li .Txt{width: calc(100% - 20px);}
#goods ul li .Txt .price{
	position: relative;
	margin: 0 auto;
	padding: 5px 0 10px 0;
	text-align: right;
}
#goods ul li .Txt .price span{
	font-size: 190%;
	font-weight: 700;
}
#goods ul li .Txt .spec{
	position: relative;
	margin: 0 auto;
	font-size: 86%;
	line-height: 1.6em;
	padding-bottom: 1.5em;
}

/* FAQ */
#precautions {
  position: relative;
  margin: 0 auto;
  padding: 70px 0 40px 0;
}
#precautions .bgWrap{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100vh;
	height: 100dvh;
	min-height: 100%;
	clip-path: inset(0);
	z-index: -2;
}
#precautions .bg{
	position: fixed;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url("../img/bg_precaution.jpg");
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
}
#precautions .precautionWrap{
	position: relative;
	margin: 0 auto 21px auto;
	width: calc(100% - 30px);
	max-width: 960px;
	background-color: #9dff5c;
	border: solid 2px #110424;
}
#precautions .precautionWrap::after{
	position: absolute;
	bottom: -20px;
	right: 1px;
	height: 24px;
	width: 57px;
	content: '';
	display: block;
	background-image: url("../img/icon_precaution.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 50% 50%;
}
#precautions .precautionWrap .ttl{
	position: relative;
	margin: 0 auto;
	padding: 0 ;
	text-align: center;
	cursor: pointer;
}
#precautions .precautionWrap .ttl img{
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 580px;
}
#precautions .ttl::after{
	position: absolute;
	top:50%;
	right: 10px;
	content: '';
	display: block;
	transition: all .3s ease-out;
	transform: translateY(-50%);
	height: 20px;
	width: 21px;
	background-image: url("../img/arrow06.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 50% 50%;
}
#precautions .ttl.disp::after{transform: translateY(-50%) scale(1, -1);}
#precautions .faqWrap{
	position: relative;
	margin: 0 auto;
	padding: 0;
	height: 0;
	overflow: hidden;
	transition: all .3s ease-out;
	z-index: 9;
	color: #000000;
}
#precautions .CatTtl{
	position: relative;
	margin: 0 auto;
	padding: 3px 10px;
	width: calc(100% - 45px);
	max-width: 800px;
	background-color: #ffffff;
	text-align: center;
	font-size: 102%;
	font-weight: 700;
	color: #004944;
}
#precautions .CatTtl.marginTop{margin: 20px auto 0 auto;}
#precautions  #limitlist .CatTtl{margin: 30px auto 0 auto;}
#precautions  #limitlist .CatTtl.margin{margin: 30px auto 10px auto;}
#precautions .faqWrap.disp{height: auto !important;padding: 20px 0; margin: 0 auto; }
#precautions .faqWrap dl{position: relative;}
#precautions .faqWrap dl dd{padding: 15px 0;}
#precautions #faq.faqWrap dl dd{padding: 5px 0 0 0;}
#precautions .faqWrap dl dd p, #precautions .faqWrap dl dd div{
	position: relative;
	width: calc(100% - 45px);
	max-width: 800px;
	margin: 0 auto;
	padding-bottom: .8em;
	text-align: left;
	line-height: 1.5em;
}
#precautions .faqWrap dl dd .title{
	position: relative;
	width: calc(100% - 50px);
	margin: 5px auto 0 auto;
	text-align: left;
	font-weight: bold;
}
#precautions #cautionlist.faqWrap dl dd p, #precautions #faq.faqWrap dl dt p, #precautions #faq.faqWrap dl dd p, #precautions #limitlist dd p, #precautions .attWrap p{padding-left: 1.2em;}
#precautions #faq.faqWrap dl dt p{
	position: relative;
	color: #004944;
	font-weight: 700;
	text-align: left;
	margin: 0 auto;
	width: calc(100% - 50px);
	max-width: 800px;
	line-height: 1.6em;
}
#precautions #cautionlist.faqWrap dl dd p::before, #precautions #faq.faqWrap dl dt p::before, #precautions #faq.faqWrap dl dd p::before, #precautions #limitlist dd p::before, #precautions .attWrap p::before{
	position: absolute;
	content: '・';
	left: 0;
}
#precautions #faq.faqWrap dl dt p::before{content: 'Q.';}
#precautions #faq.faqWrap dl dd p::before{content: 'A.';}
#precautions .attWrap{margin: 0 auto 10px auto; width: calc(100% - 1.5em) !important;transform: translateX(.5em);}
#precautions .attWrap p::before{content: '※' !important;}
#precautions .attWrap p{font-size: 88% !important;padding-bottom: .2em !important;}

#precautions #limitlist .lead{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 50px);
	max-width: 800px;
}
#precautions  #limitlist dl{margin: 0 auto;width: calc(100% - 20px);}
#precautions a{color: #000000;}

#precautions .realdgame{
	position: relative;
	margin: 40px auto 0 auto;
	width: calc(100% - 30px);
}


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

	/* ヘッダー */
	header #keyvisual {
		background-image: url("../img/main_pc.jpg");
		padding-top: 52.5%;
	}
	
	/* catch */
	#catch {
		padding-bottom: 20px;
		background-size: auto auto;
	}
	#catch .catchTtl {padding-bottom: 20px; max-width: 963px;}
	#catch .catchTxt{
		font-size: .18rem;
		padding: 10px 0;
	}
	#catch .cautionWrap{max-width:620px;}

	/* photo */
	#photo {padding: 4px 0;}
	
	
	/* pv */
	#pv{
		padding-bottom: 30px;
		background-image: url("../img/bg_photo01.png"), url("../img/bg_photo02.png");
		background-position: 120px 0, calc(100% - 25px) 0;
		background-size: auto 51px, auto 81px;
	}
	#pv h2{margin: 0 auto -40px auto;}

	#banner .att{margin: 0 auto 20px auto;}
	/* バナー */
	#banner a{max-width: 360px;}
	#banner .blank{padding-top: 81px;}
	#banner .end{max-width: 360px;}

	
	/* ストーリー */
	#story {
		background-image:  url("../img/bg_story_pc.png");
		background-repeat: repeat;
		background-size: 100% auto;
	}
	#story .storyWrap {
		background-image: url("../img/bg_story01_pc.png");
		background-position: 50% -200px;
		background-repeat: no-reeat;
		background-size: max(1049px, 100%)  auto;
	}
	#story .storyWrap .bg{
		background-image:  url("../img/bg_story02_pc.png");
		background-position: 50% -18em;
		background-repeat: no-repeat;
		background-size: 100% auto;
	}
	#story .storyWrap .textWrap h2{max-width: 620px;}
	#story .storyWrap .textWrap .text img{max-width: 500px;}
	#story .more {height: 8em;}

	#story p {
		padding-bottom: 2.2em;
		line-height: 2em;
		font-size: .18rem;
	}

	/* game */
	#game h2{max-width: 620px;}
	#game .bg{background-image: url("../img/bg_game_pc.jpg");}
	#game .gameContWrap{
		margin: max(-28%, -220px) auto 0 auto;
		padding-top: 110px;
		padding-bottom: 150px;
		clip-path: polygon(0 0, 100% 210px, 100% 100%, 0 100%);
	}
	#game .gameWrap{
		margin:0 auto 20px auto;
		max-width: 940px;
		gap: 0 80px;
	}
	#game .gameWrap .gameCont{width: calc(50% - 40px);	font-size: min(1.8vw, .16rem);}
	#game .gameWrap .gameCont::after{
		bottom: -0.7em;
		left: calc(50% - 12px);
		height: 39px;
		width: 48px;
	}
	#game .gameWrap .gameCont.game01::after{bottom: 7em;left: calc(100% - 20px); transform: rotate(-60deg);}
	#game .gameWrap .gameCont.game02::after{bottom: -0.6em;left: 2em; transform: rotate(45deg);}
	#game .gameWrap .gameCont.game04::after{
		left: calc(42% - 24px);
		height: 39px;
		width: 48px;
		background-image: url("../img/arrow.png");
		background-position: 50% 50%;
		background-repeat: no-repeat;
		background-size: contain;
		transform: rotate(45deg);
	}
	#game .gameWrap .gameCont.game04::before{
		position: absolute;
		bottom: -0.7em;
		content: '';
		display: block;
		left: calc(58% - 24px);
		height: 39px;
		width: 48px;
		background-image: url("../img/arrow.png");
		background-position: 50% 50%;
		background-repeat: no-repeat;
		background-size: contain;
		transform: rotate(-45deg);
	}
	#game .gameWrap .gameCont.game02{margin: 100px 0 0 0;}
	#game .gameWrap .gameCont.game04{width: 100%;}
	#game .gameWrap .gameCont.game05, #game .gameWrap .gameCont.game06{width: calc(50% - 40px);}
	#game .gameWrap .gameCont.game03 .Img{margin: -40px 0 0 0;}
	#game .gameWrap .gameCont.game05 .Img, #game .gameWrap .gameCont.game06 .Img{
		margin: 0;
		width: calc(40% - 20px);
		max-width: 180px;
		transform: translateX(30px);
	}
	#game .gameWrap .gameCont.game05 .Img{transform: translateX(80px);}
	#game .gameWrap .gameCont.game01 .Txt{top: 25%;}

	#game .gameWrap .gameCont.game02 .Txt{text-align: left;}
	#game .gameWrap .gameCont.game02 .Txt p{padding-left: 1.5em;}
	#game .gameWrap .gameCont.game03 .Txt{
		top: 25%;
		right: -10px;
	}
	#game .gameWrap .gameCont.game04 .Txt{padding: 40px 0 50px 0;}
	#game .gameWrap .gameCont.game05 .Txt, #game .gameWrap .gameCont.game06 .Txt{
		position: absolute;
		margin: 0;
		top: 50%;
		left: calc(40% + 30px);
		padding: 0;
		width: 60%;
		text-align: left;
		transform: translateY(-50%);
	}
	#game .gameWrap .gameCont.game05 .Txt{left: calc(40% + 80px);}
	#game .cautionWrap{max-width: 700px;}
	#game .cast{margin: 40px auto 0 auto;}
	
	#game .button{font-size: .16rem;}
	#opwinO .result ul li{max-width: 60px;}
	
	/* プレイ形式 */
	#play{margin: -110px auto 0 auto;}
	#play::before{
		background-image: url("../img/bg_play_pc.jpg");
		clip-path: polygon(0 110px, 100% 0%, 100% 100%, 0 calc(100% - 110px));
	}
	#play h2{max-width: 620px;}
	#play h2 img{margin: -110px auto 0 auto;}
	#play ul{
		margin:0 auto;
		padding-bottom: 180px;
		max-width: 800px;
		gap: 0 40px;
	}
	#play ul li{width: calc(25% - 30px);}
	#play ul li:nth-child(2) img, #play ul li:nth-child(4) img{transform: translateY(35px);}

	/* 参加方法 */
	#howto {padding-bottom: 90px;}
	#howto h2{
		padding-top: 0;
		max-width: 620px;
	}
	#howto h2 img{margin: -65px auto 0 auto;}
	#howto .howtoWrap {max-width: 1100px;}
	#howto .howtoWrap ul li{
		padding-top: 7%;
		padding-bottom: 70px;
	}
	#howto .howtoWrap .txtWrap::after{
		bottom:-70px;
		left: 5px;
		width: 70px;
		height: 70px;
	}
	#howto .howtoWrap .splide__arrow{display: none;}

	/* 販売 */
	#ticket .bg{background-image: url("../img/bg_ticket_pc.jpg");}
	#ticket h2 {max-width: 620px;}
	#ticket h2 img{transform: translateY(-30px);}
	#ticket h3 {
		margin: -27px auto 0 auto;
		max-width: 420px;
	}
	/* 料金 */
	#ticket .price ul.ticketP {margin: 30px auto 0 auto;}
	#ticket .price ul.ticketP li{padding: 5px 0; width: calc(50% - 30px);}
	#ticket .price ul.ticketP li.active::after{
		bottom: -40px;
		height: 40px;
	}
	#ticket .priceBox .table{margin: 30px auto 0 auto;}
	#ticket .priceBox .table table{max-width: 780px;}
	#ticket .priceBox table th{
		line-height: 1.4em;
		font-size: .16rem;
	}
	#ticket .priceBox table td{
		padding: 10px 0;
		font-size: .16rem;
	}
	#ticket .priceBox table td span{font-size: .24rem;}
	#ticket .priceBox table td p{font-size: .14rem;line-height: 1.4em;}
	#ticket .priceBox table thead th{padding: 8px 0;}
	#ticket .priceBox table thead th span, #ticket .priceBox table tbody th span{font-size: .16rem;}

	#ticket .u22 {
	  margin: 50px auto 10px auto;
	  max-width: 780px;
	}
	#ticket .u22 .ttlU22 {
	  width: 140px;
	  transform: translateY(-15px);
	}
	#ticket .u22 .u22Txt {
	  margin: 10px auto 0 auto;
	  padding: 0 40px 35px 40px;
	  font-size: 0.16rem;
	}

	#ticket .ticCautionWrap {
	  margin: 30px auto 0 auto;
	  max-width: 780px;
	}
	#ticket .ticCautionWrap .btn_ticCaution {padding: 8px 30px;}
	#ticket .ticCautionWrap .btn_ticCaution::after {
	  right: 15px;
	  width: 26px;
	  height: 28px;
	}
	#ticket .ticCaution {
	  font-size: 0.14rem;
	  line-height: 1.6em;
	  padding: 20px 40px;
	}
	#schedule .danin .button{
		margin: 30px auto;
		width: 28em;
		padding: 8px 0;
	}
	#schedule .danin .button::after{
		right: 15px;
		width: 20px;
		height: 18px;
	}
	
	/* release */
	#release h3{
		margin: 80px auto 0 auto;
		max-width: 420px;
	}
	#release .releaseBox{max-width: 780px;}
	#release .ttlR{padding: 10px 0;}
	.scraptantei{margin: 15px auto 30px auto;}

	/* schedule */
	#schedule{padding-bottom: 100px;}
	#schedule h3{
		margin: 80px auto 0 auto;
		max-width: 420px;
	}
	#schedule ul.areaList{margin:0 auto;}
	/*#schedule ul.areaList{margin:60px auto 0 auto;} 団員イベントありの時*/
	#schedule ul  li.contentsY{
		margin: 0 auto 60px auto;
		border: solid 3px #500f40;
	}
	#schedule ul li .areaWrap::after{
		top: -55px;
		right: -45px;
		width: 107px;
		height: 150px;
	}
	#schedule ul li .area .shopname{
		padding-top: 30px;
		font-size: .24rem;
	}
	#schedule ul li .area .kikan{font-size: .16rem;}

	#schedule ul li h4{
		margin: 20px auto 8px auto;
		max-width: 480px;
	}
	#schedule ul li .detail .shopTxt{margin: 0 auto 8px auto;}
	#schedule ul li .detail .map{
		margin: 8px auto 0 auto;
		height: 450px;
		max-width: 780px;
		border: solid 3px #800bab;
	}
	#schedule ul li .btn_sAccess, #schedule ul li .link_sAccess{
		margin:  30px auto 0 auto;
		padding: 10px 0;
	}
	#schedule ul li .btn_sAccess::after{
		right: 25px;
		width: 20px;
		height: 19px;
	}
	#schedule ul li .detail .button{font-size: .15rem;}
	#schedule .morePlace{
		max-width: 388px;
		margin: -15px auto 0 auto;
	}
	#schedule .detail .cautionWrap div.margin{transform: translateY(-0.4em);}
	#schedule .danin .cautionWrap p{
		width: auto;
		display: inline-block;
		max-width: calc(100% - 20px);
	}
	#schedule .danin .cautionWrap div.margin{transform: translateY(-0.2em);}
	#schedule .danin{
		padding: 40px;
		width: calc(100% - 114px);
		max-width: 694px;
		border: solid 3px #f6ff00;
		text-align: center;
	}
	#schedule .danin .ttl{
		margin: 0 auto 25px auto;
		padding-bottom:5px;
	}
	#schedule .detail .scraptantei{margin: 0 auto 30px auto;}


	/* GOODS */
	#goods::before{
		top:-165px;
		height: calc(100% + 220px);
		background-image: url("../img/bg_story_pc.png");
		background-repeat: repeat;
		background-size: 100% auto;
		clip-path: polygon(0 0, 100% 110px, 100% calc(100% - 110px), 0% 100%);
	}
	#goods::after{
		top:-165px;
		height: calc(100% + 220px);
		background: radial-gradient(circle, rgba(0,0,0,0) 20%, rgba(0,0,0,1) 100%);
		clip-path: polygon(0 0, 100% 110px, 100% calc(100% - 110px), 0% 100%);
	}
	#goods h2 {max-width: 620px;}
	#goods h2 img{transform: translateY(-125px);}
	#goods .goodssoon{transform: translateY(-120px);}
	#goods ul{
		transform: translateY(-120px);
		gap: 80px 20px;
	}
	#goods ul li{width: calc(33.333% - 15px);}
	#goods ul li:last-child{width: 100%;gap: 0 40px;}
	#goods ul li .Txt .price span{font-size: 150%;}
	#goods ul li .Txt .spec{
		font-size: 84%;
		line-height: 1.6em;
	}
	#goods ul li:last-child .Img{
		width: calc(50% - 80px);
		margin: 0;
	}
	#goods ul li:last-child .Txt{
		width: 50%;
		margin: 0;
	}


	/* FAQ */
	#precautions {
	  margin:-120px auto  0 auto;
	  padding: 180px 0 100px 0;
	}
	#precautions .bg{background-image: url("../img/bg_precaution_pc.jpg");}
	#precautions .precautionWrap{
		margin: 0 auto 35px auto;
		max-width: 960px;
		border: solid 2px #110424;
	}
	#precautions .precautionWrap::after{
		bottom: -35.5px;
		height: 45px;
		width: 90px;
	}
	#precautions .precautionWrap .ttl img{max-width: 480px;}
	#precautions .ttl::after{
		right: 20px;
		height: 27px;
		width: 28px;
	}

	#precautions .CatTtl.marginTop{margin: 40px auto 0 auto;}
	#precautions  #limitlist .CatTtl{margin: 40px auto 0 auto;}
	#precautions  #limitlist .CatTtl.margin{margin: 30px auto 10px auto;}
	#precautions .attWrap p{padding-left: 0;}
	#precautions .attWrap{transform: translateX(-.3em);}

	#precautions .realdgame{
		margin: 20px auto 0 auto;
		max-width: 406px;
	}

}
