@charset "utf-8";
/* ヘッダー */
header {
	position: relative;
	margin: 0 auto;
	display: block;
	width: 100%;
	height: 0;
	padding-top: 141.40625%;
}
header.disp02{padding-top: 141.40625%;}
header #keyvisual {
	position: absolute;
	top:0;
	left: 0;
	background-image: url("../img/main.jpg");
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size: cover;
	width: 100%;
	height: 100%;
}
header #keyvisual2 {
	position: absolute;
	top:0;
	left: 0;
	display: none;
	background-image: url("../img/main2.jpg");
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size: cover;
	width: 100%;
	height: 100%;
}

/* catch */
#catch {
	position: relative;
	margin: 0 auto;
	transform: translateY(-3px);
	height: 0;
	padding-top: 61.875%;
	z-index: 2;
}
#catch .catchTxt, #catch .catchTxt2{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url("../img/bg_catch.png");
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
}
#catch .catchTxt2 {display:none;}
#catch .Txt {
	position: absolute;
	top:50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	max-width: 640px;
}

#btnChange{
	position: absolute;
	top:-3%;
	right: 1%;
	width: 13%;
	max-width: 90px;
	display: none;
	cursor: pointer;
}

/* photo */
#photo {
	position: relative;
	margin: -10% auto 0 auto;
	padding: 0;
	z-index: 1;
}
#photo .photoWrap {
	position: relative;
	margin: 0 auto;
	padding: 0;
}
.splide__list {height: auto;}

/* ポイント */
#point{
	position: relative;
	margin: 0 auto;
	padding: 65px 0 0 0;
	background-image: url("../img/bg01.png");
	background-position: -75px -110px;
	background-repeat: no-repeat;
	background-size: 60% auto;
}
#point .lead{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 30px);
	text-align: center;
}
#point .Img{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 30px);
}
#point .btnArea{
	margin: 15px auto 20px auto;
}
#point .pointWrap{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 20px);
	text-align: center;
	gap: 10px 0;
}
#point .pointWrap .pointCont{
	position: relative;
	width: 100%;
}
#point .pointWrap .pointCont .Img{
	position: relative;
	margin: 10px 0 0 0;
	width: 35%;
}
#point .pointWrap .pointCont:first-child .Img{margin: 15px 0 0 0;}
#point .pointWrap .pointCont .Txt{
	position: relative;
	margin: 0;
	width: 65%;
	padding: 40px 0 10px 0;
	background-image: url("../img/bar01.png"), url("../img/bar02.png");
	background-position: 50% 0, 50% 100%;
	background-repeat: no-repeat, no-repeat;
	background-size:  100% auto, 100% auto;
}
#point .pointWrap .pointCont .Txt h3{
	position: relative;
	margin: 0 auto;
	color: #23d7f3;
	font-size: 110%;
	font-weight: 700;
}
#point .pointWrap .pointCont .Txt .btn{
	position: relative;
	margin: 10px auto 0 auto;
	display: inline-block;
	width: auto;
}
#point .pointWrap .pointCont .Txt .btn::after{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: -25px;
	width: 12px;
	height: 12px;
	background-image: url("../img/arrow01.png");
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: contain;
	display: block;
	content: '';
}

/* CM */
#cm{
	position: relative;
	margin: 30px auto;
	width: calc(100% - 30px);
	border: solid 2px;
	border-image: linear-gradient(180deg,rgba(135, 103, 49, 1) 0%, rgba(250, 242, 186, 1) 16%, rgba(132, 99, 45, 1) 37%, rgba(248, 239, 183, 1) 51%, rgba(132, 99, 45, 1) 62%, rgba(250, 242, 186, 1) 85%, rgba(132, 99, 45, 1) 100%) 1;
}

/* chara */
#chara {
	position: relative;
	margin: 0 auto;
	z-index: 21;
	padding-top: 40px;/* CMなしの時*/
}
#chara .bg{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	clip-path: polygon(0 0, 100% 120px, 100% 100%, 0 calc(100% - 120px));
	background: #2B0B3C;
	background: linear-gradient(90deg,rgba(43, 11, 60, 1) 0%, rgba(98, 5, 104, 1) 100%);
}
#chara .charaWrap{
	position: relative;
	margin: 0 auto;
	width: 100%;
	padding-bottom: 70px;
	background-image: url("../img/bg02.png");
	background-position: 0 20px;
	background-repeat: no-repeat;
	background-size: 54% auto;
}
#chara .charaWrap ul{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 70px);
	gap: 0 4px;
}
#chara .charaWrap ul li{
	position: relative;
	margin: 0;
	width: calc(25% - 4px);
}
#chara .charaWrap ul li::after{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: contain;
	content: '';
	opacity: 0;
	transition: opacity .3s ease-out;
}
#chara .charaWrap ul li.active::after{opacity: 1;}
#chara .charaWrap ul li:nth-child(1)::after{background-image: url("../img/btn_chara1-1.jpg");}
#chara .charaWrap ul li:nth-child(2)::after{background-image: url("../img/btn_chara2-1.jpg");}
#chara .charaWrap ul li:nth-child(3)::after{background-image: url("../img/btn_chara3-1.jpg");}
#chara .charaWrap ul li:nth-child(4)::after{background-image: url("../img/btn_chara4-1.jpg");}
#chara .charaWrap .character{
	position: relative;
	margin: 10px auto 0 auto;
	width: calc(100% - 20px);
	padding-left: 10px;
	max-width: 611px;
	display: none;
}

/* ストーリー */
#story {
	position: relative;
	margin: -120px auto 0 auto;
	padding-top: 120px;
	background-image: url("../img/bg03.png");
	background-position: calc(100% + 80px) 30px;
	background-repeat: no-repeat;
	background-size: 70% auto;
}
#story p {
	position: relative;
	margin: 0 auto;
	padding-bottom: 3em;
	text-align: center;
}

/* banner */
#banner{
	position: relative;
	margin:0 auto;
	padding-top: 30px;
	padding-bottom: 20px;
}
#banner ul{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 10px);
	max-width: 960px;
	gap:10px;
}
#banner ul li{
	position: relative;
	margin:0;
	width: calc(50% - 5px);
}

/* プレイ形式 */
#play{
	position: relative;
	margin:0 auto;
	padding-top: 50px;
	padding-bottom: 100px;
	background-image: url("../img/bg04.png");
	background-position: -10px 0;
	background-repeat: no-repeat;
	background-size: 32% auto;
}
#play .bg{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	clip-path: polygon(0 120px, 100% 0, 100% calc(100% - 120px), 0 100%);
	background: rgba(69,30,96,0.65);
}
#play ul{
	position: relative;
	margin:0 auto;
	width: calc(100% - 80px);
	gap: 20px 40px;
}
#play ul li{
	position: relative;
	margin: 0;
	width: calc(50% - 20px);
	text-align: center;
}
#play ul li img{
	position: relative;
	margin: 0 auto 10px auto;
}
#play ul li span{font-size: 110%; font-weight: 900;}
#play ul.banner{
	position: relative;
	margin: 30px auto 0 auto;
	width: calc(100% - 30px);
	max-width: 440px;
	gap:10px;
}
#play ul.banner li{
	position: relative;
	margin:0;
	width: calc(50% - 5px);
}
#play ul.banner li:nth-child(3){width: 53%;}
/*#play ul.banner li:nth-child(4){width: 53%;}*/

/* 料金 */
#price {
	position: relative;
	margin: -90px auto 0 auto;
	padding-top: 60px;
	background-image: url("../img/bg05.png");
	background-position: calc(100% + 30px) 0;
	background-repeat: no-repeat;
	background-size: 40% auto;
}
#price .priceWrap {
  position: relative;
  margin: 0 auto;
}
#price .priceWrap ul.ticketP {
	position: relative;
	width: calc(100% - 80px);
	max-width: 600px;
	margin: 0 auto;
	z-index: 70;
}
#price .priceWrap ul.ticketP li{
	position: relative;
	margin: 0;
	width: calc(50% - 10px);
	color: #ffffff;
	background-color: #a7a7a7;
	border-radius: 100px;
	font-weight: 500;
	cursor: pointer;
}
#price .priceWrap ul.ticketP li.active{background-color: #ffffff;color: #681992;}
#price .priceWrap ul.ticketP li.active::after{
	position: absolute;
	bottom: -1em;
	left: 0;
	content: '\025bc';
	display: block;
	width: 100%;
	text-align: center;
	transform: scale(1, 0.8);
	color: #ffffff;
}
#price .priceWrap ul.ticketP li p{
	position: relative;
	padding: 5px 0;
	line-height: 1em;
	text-align: center;
}
#price .priceWrap .priceBox{
	position: relative;
	margin: 0 auto;
}
#price .priceWrap .priceBox .table{
	position: relative;
	margin: 10px auto 0 auto;
	width: calc(100% - 32px);
	display: none;
	color: #000000;
}
#price .priceWrap .priceBox .table table{
	position: relative;
	margin: 0 auto;
	width: 100%;
	border-collapse: collapse !important;
	border-spacing:1px;
	border: solid 1px #824890;
}
#price .priceWrap .priceBox .table.active{display: block;}
#price .priceWrap .priceBox .table table.tokutenT{margin: 10px auto 0 auto;}
#price .priceWrap .priceBox table th{
	position: relative;
	width: 24%;
	text-align: center;
	vertical-align: middle;
	line-height: 1.4em;
	padding: 7px 2px;
	font-size: 80%;
	background-color: #7a03b2;
	color: #ffffff;
	border-left: solid 1px #000000;
}
#price .priceWrap .priceBox table td{
	position: relative;
	width: 36%;
	margin: 10px;
	text-align: center;
	padding: 10px 0;
	font-size:70%;
	border-right: solid 1px #000000;
	border-top: solid 1px #000000;
	vertical-align: middle;
	background-color: #ffffff;
}
#price .priceWrap .priceBox table td span{font-size: 160%;font-weight: 700;}
#price .priceWrap .priceBox table td p{font-size: 90%;line-height: 1.4em;}
#price .priceWrap .priceBox table thead th{border-top: solid 1px #000000;padding: 5px 0;}
#price .priceWrap .priceBox table tbody th{width: 20%; border-right: solid 1px #000000;background-color: #e1d9e7;border-top: solid 1px #000000;padding: 10px 2px; color: #000000;height: calc(2.8em + 10px) !important;font-size:86%;}
#price .priceWrap .priceBox .table table.tokutenT th{width: 40%;}
#price .priceWrap .priceBox table td.gray{background-color: #E6E6E6;padding: 0 5px;}

#price h3{
	position: relative;
	margin: 50px auto 20px auto;
	width: calc(100% - 10px);
	max-width: 580px;
}
#price .tokuten {
	position: relative;
	margin: 0 auto;
	width: calc(100% - 30px);
	text-align: center;
}
#price .tokuten .Img{
	position: relative;
	margin: 10px auto;
}
#price .btnArea{margin: 30px auto 0 auto;}
#price .btnArea .btn{
	position: relative;
	margin: 20px auto 0 auto;
	width: calc(100% - 60px);
	max-width: 500px;
}
#price .tokuten .cautionWrap{max-width: 600px;margin: 15px auto 0 auto;}
#price .tokuten .cautionWrap p{text-align: left;}

/* release */
#release{
	position: relative;
	margin: 0 auto;
	padding-bottom: 20px;
}
#release .releaseBox{
	position: relative;
	margin: 0 auto;
	text-align: center;
	background-color: #ffffff;
	padding-bottom: 20px;
	width: calc(100% - 30px);
	max-width: 610px;
}
#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 p{
	position: relative;
	margin: 0 auto;
	color: #000000;
}
.scraptantei{
	position: relative;
	margin: 15px auto 20px auto;
	font-size: 80%;
	text-align: center;
}
.scraptantei img{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 60px);
	max-width: 320px;
}


/* schedule */
#schedule{
    position: relative;
    margin: 0 auto;
	padding-bottom: 100px;
}
#schedule .bg{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	clip-path: polygon(0 0, 100% 120px, 100% 100%, 0 calc(100% - 120px));
	background: rgba(25,36,83,0.65);
}
#schedule .scheduleWrap{
	position: relative;
	margin: 0 auto;
	padding-top: 50px;
	background-image: url("../img/bg06.png");
	background-position: -10px 0;
	background-repeat: no-repeat;
	background-size: 32% auto;
}
#schedule ul.areaList{
	position: relative;
	margin:0 auto;
	width: calc(100% - 30px);
	max-width: 960px;
	z-index: 50;
}
#schedule ul li.contents{
	position: relative;
	margin: 0 auto 25px auto;
	border: solid 1px #f6eeb5;
	padding: 0;
}
#schedule ul li .areaWrap{
	position: relative;
	margin: 0 auto;
	width: 100%;
	padding: 40px 0 15px 0;
	text-align: center;
	background-image: url("../img/bg_area.jpg");
	background-repeat: repeat-x;
	background-size: auto 100%;
	background-position: 50% 50%;
}
#schedule ul li .areaWrap::before{
	position: absolute;
	top:8px;
	left: 8px;
	width: calc(100% - 18px);
	height: 100%;
	border-top: solid 1px #725a81;
	border-left: solid 1px #725a81;
	border-right: solid 1px #725a81;
	content: '';
}
#schedule ul li .areaWrap::after{
	position: absolute;
	top:0;
	right: 0;
	width: 110px;
	height: 30px;
	content: '';
	display: block;
	background-position: 50% 50%;
	background-size: calc(100% - 10px) auto;
	background-repeat: no-repeat;
}
#schedule ul li .areaWrap.pre::after{background-color: rgba(15,62,54,0.8); background-image: url("../img/icon_salesoon.png");}
#schedule ul li .areaWrap.sale::after{background-color: rgba(12,106,103,0.8); background-image: url("../img/icon_sale.png");}
#schedule ul li .areaWrap.soon::after{background-color: rgba(114,85,159,0.8); background-image: url("../img/icon_comingsoon.png");}
#schedule ul li .areaWrap.play::after{background-color: rgba(167,20,72,0.7); background-image: url("../img/icon_playing.png");}
#schedule ul li .areaWrap.end::after{background-color: rgba(187,207,197,0.8); background-image: url("../img/icon_endingsoon.png");}
#schedule ul li .areaWrap.closed::after{background-color: rgba(129,129,129,0.87); background-image: url("../img/icon_closed.png");}
#schedule ul li .area{
	position: absolute;
	top: -20px;
	left: -20px;
	width:65px;
	padding: 30px 0 25px 0;
	background-image: url("../img/icon_area.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 50% 50%;
}
#schedule ul li .area p{
	position: relative;
	background: linear-gradient(-60deg,#c5ac5e 0%, rgba(248, 239, 183, 1) 30%, rgba(248, 239, 183, 1) 70%, #c5ac5e 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
#schedule ul li .shopname{
	position: relative;
	margin: 0 auto;
}
#schedule ul li .kikan{
	position: relative;
	margin: 0 auto;
	font-size: 86%;
}
#schedule ul li .btn_yoyaku{
	position: relative;
	margin: 0 auto;
	display: block;
	background-color: #23092b;
	padding: 8px 0;
	text-align: center;
	cursor: pointer;
	transition: all .3s ease-out;
}
#schedule ul li .btn_yoyaku span{
	position: relative;
	background: linear-gradient(180deg,rgba(135, 103, 49, 1) 0%, rgba(248, 239, 183, 1) 50%, rgba(132, 99, 45, 1) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
#schedule ul li .btn_yoyaku::after{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 10px;
	width: 15px;
	height: 8px;
	background-image: url("../img/arrow03.png");
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: contain;
	display: block;
	content: '';
	transition: all .3s ease-out;
}
#schedule ul li .btn_yoyaku.accessClose::after{transform:translateY(-50%) rotate(-180deg);}
#schedule ul li .btn_yoyaku:hover{opacity: 0.7;}

#schedule ul li .detail{
	position: relative;
	height: 0;
	padding: 0;
	overflow: hidden;
	 transition: all .8s ease-out;
	background-color: #ffffff;
	color: #000000;
	text-align: center;
}
#schedule ul li .detail.disp{height: auto;padding: 0 0 20px 0;}
#schedule ul li .detail .ttl{
	position: relative;
	margin: 0 auto;
	padding: 7px 0;
	font-weight: 700;
	line-height: 1em;
	background-color: #800bab;
	color: #ffffff;
}
#schedule ul li .detail .ttl.margin{margin: 40px auto 20px auto;}
#schedule ul li .ttlS{
	position: relative;
	margin: 20px auto 5px auto;
	font-size: 86%;
	color: #f20b78;
}
#schedule ul li .areaTxt{
	position: relative;
	margin: 0 auto;
	font-size: 86%;
	line-height: 1.4em;
}
#schedule ul li .detail .map{
	position: relative;
	margin: 20px auto 0 auto;
	width: calc(100% - 34px);
	height: 200px;
	border: solid 2px;
	border-image: linear-gradient(180deg,rgba(135, 103, 49, 1) 0%, rgba(250, 242, 186, 1) 16%, rgba(132, 99, 45, 1) 37%, rgba(248, 239, 183, 1) 51%, rgba(132, 99, 45, 1) 62%, rgba(250, 242, 186, 1) 85%, rgba(132, 99, 45, 1) 100%) 1;
}
#schedule ul li .detail .map iframe{max-width: 100%;height: 100%;}
#schedule ul li .detail .playguide{
	position: relative;
	margin: 0 auto;
}
#schedule ul li .detail .playguide a{
	position: relative;
	margin: 20px auto 0 auto;
	padding: 10px 0;
	background-color: #136DDB;
	border: solid 1px #136DDB;
	display: block;
	width: 80%;
	max-width: 480px;
	background-image: url("../img/arrow01.png");
	background-repeat: no-repeat;
	background-size: 15px auto;
	background-position: calc(100% - 10px) 50%;
}
#schedule ul li .detail .playguide a:hover{opacity: 0.6;color: #ffffff;}

/* チケットカレンダー */
.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: #3A0F50;}
.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;border: none;}
.ticketWrap .naviBox ul li .scheduleBox{color:#000000;}
.ticketWrap .naviBox ul li.cr .scheduleBox {background: #f20b78; 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: -130px auto 0 auto;
	padding-top: 80px;
	padding-bottom: 50px;
	background-image: url("../img/bg07.png");
	background-position: calc(100% + 20px) 0;
	background-repeat: no-repeat;
	background-size: 48% auto;
}
#goods .goodssoon{
	position: relative;
	margin: 0 auto;
	padding: 30px 0 60px 0;
	width: 50%;
	max-width: 229px;
	z-index: 91;
}
#goods ul{
	position: relative;
	margin: 0 auto 50px auto;
	width: calc(100% - 60px);
	max-width: 780px;
	gap: 20px 0;
}
#goods ul li{
	position: relative;
	margin: 0;
	width: 100%;
}
#goods ul li .Img{
	position: relative;
	margin: 0 auto;
}
#goods ul li .price{
	position: relative;
	margin: 0 auto;
	border-top: solid 1px #fce975;
	padding-top: 5px;
	text-align: center;
}
#goods ul li .price span{
	font-weight: 700;
	font-size: 150%;
}

/* FAQ */
#precautions {
	position: relative;
	margin: 0 auto;
	background-image: url("../img/bg_faq.png");
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: auto 100%;
	z-index: 50;
}
#precautions .precautionWrap{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 30px);
	max-width:577px;
}
#precautions .precautionWrap a{
	display: block;
	padding: 16% 0 14.5% 0;
}

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

	/* ヘッダー */
	header{padding-top:70.75%;}
	header.disp02{padding-top: 70.75%;}

	header #keyvisual {background-image: url("../img/main_pc.jpg");}
	header #keyvisual2 {background-image: url("../img/main2_pc.jpg");}

	/* catch */
	#catch {
		transform: translateY(-3px);
		padding-top: 27.08%;
	}
	#catch .catchTxt, #catch .catchTxt2{background-image: url("../img/bg_catch_pc.png");}
	#catch .Txt {max-width: 917px;}

	#btnChange{
		top:-10%;
		right:10px;
		width: 10%;
		max-width: 90px;
	}

	/* photo */
	#photo {margin: -2% auto 0 auto;}

	/* ポイント */
	#point{
		padding: 50px 0 100px 0;
		background-position: 10% -110px;
		background-size: min(60%, 346px) auto;
	}
	#point .Img{margin: 20px auto 0 auto; max-width: 537px;}
	#point .btnArea{margin: 25px auto 40px auto;}
	#point .pointWrap{
		max-width: 960px;
		gap: 10px 20px;
	}
	#point .pointWrap .pointCont{width: calc(33.333% - 15px);}
	#point .pointWrap .pointCont .Img{
		margin: 0;
		width: 60%;
	}
	#point .pointWrap .pointCont:first-child .Img{margin: 0;}
	#point .pointWrap .pointCont .Img img{margin: 0 auto;	max-width: 181px;}
	#point .pointWrap .pointCont .Txt{
		margin: 0;
		width: 100%;
		padding: 50px 0 20px 0;
	}
	#point .pointWrap .pointCont .Txt h3{
		min-height: 3em;
		align-content: center;
	}
	#point .pointWrap .pointCont .Txt .btn::after{
		width: 17px;
		height: 17px;
	}

	/* CM */
	#cm{
		margin: 30px auto;
		max-width: 740px;
		border: solid 3px;
		border-image: linear-gradient(180deg,rgba(135, 103, 49, 1) 0%, rgba(250, 242, 186, 1) 16%, rgba(132, 99, 45, 1) 37%, rgba(248, 239, 183, 1) 51%, rgba(132, 99, 45, 1) 62%, rgba(250, 242, 186, 1) 85%, rgba(132, 99, 45, 1) 100%) 1;
	}

	/* chara */
	#chara {padding-top: 20px;/* CMなしの時*/}
	#chara .bg{clip-path: polygon(0 0, 100% 150px, 100% 100%, 0 calc(100% - 150px));}
	#chara .charaWrap{
		padding-bottom: 120px;
		background-position: 10% 20px;
		background-size: min(54%, 345px) auto;
	}
	#chara .charaWrap ul{max-width: 500px;}

	/* ストーリー */
	#story {
		margin: -120px auto 0 auto;
		padding-top: 120px;
		background-position: 96% 30px;
		background-size: min(70%, 396px) auto;
	}
	#story p {
		font-size: 120%;
		line-height: 2em;
	}
	#story .moreBtn::after{
		width: 19px;
		height: 10px;
	}

	/* banner */
	#banner{
		padding-top: 60px;
		padding-bottom: 40px;
	}
	#banner ul{max-width: 500px;}

	/* プレイ形式 */
	#play{
		padding-top: 50px;
		padding-bottom: 220px;
		background-position:15% 0;
		background-size: min(32%, 203px) auto;
	}
	#play .bg{clip-path: polygon(0 150px, 100% 0, 100% calc(100% - 150px), 0 100%);}
	#play ul{
		max-width: 700px;
		gap: 0 40px;
	}
	#play ul li{width: calc(25% - 30px);}
	#play ul li img{margin: 0 auto 20px auto;}
	#play ul.banner{
		margin: 50px auto 0 auto;
		gap:10px 15px;
	}
	#play ul.banner li{width: calc(50% - 10px);}


	/* 料金 */
	#price {
		margin: -180px auto 0 auto;
		padding-top: 60px;
		background-position: 90% 0;
		background-size: min(40%, 202px) auto;
	}
	#price .priceWrap ul.ticketP {max-width: 400px;}
	#price .priceWrap ul.ticketP li p{padding: 8px 0;}
	#price .priceWrap .priceBox .table{max-width: 800px;}
	#price .priceWrap .priceBox table th{
		line-height: 1.4em;
		padding: 10px 2px;
		font-size: 100%;
	}
	#price .priceWrap .priceBox table td{
		padding: 10px 0;
		font-size: 90%;
	}
	#price .priceWrap .priceBox table td span{font-size: 180%;}
	#price .priceWrap .priceBox table td p{font-size: 90%;line-height: 1.4em;}
	#price .priceWrap .priceBox table thead th{border-top: solid 1px #000000;padding: 10px 0;}
	#price .priceWrap .priceBox table tbody th{font-size: 100%;}
	#price h3{margin: 70px auto 40px auto;}
	#price .tokuten {max-width: 800px;}
	#price .tokuten .Img{margin: 20px auto;	}
	#price .btnArea{margin: 60px auto 0 auto;}
	#price .btnArea .button{max-width: 600px;}
	#price .btnArea .btn{
		margin: 60px auto 0 auto;
		max-width: 380px;
	}

	/* release */
	#release{padding-bottom: 120px;}
	#release .releaseBox.margin{margin: 10px auto 0 auto;}
	#release .ttlR{padding: 10px 0;}

	/* schedule */
	#schedule{padding-bottom:180px;}
	#schedule .bg{clip-path: polygon(0 0, 100% 150px, 100% 100%, 0 calc(100% - 150px));}
	#schedule .scheduleWrap{
		padding-top: 20px;
		background-position: 15% 0;
		background-size: min(32%, 213px) auto;
	}
	#schedule ul li.contents{margin: 0 auto 35px auto;}
	#schedule ul li .areaWrap{padding: 40px 0 25px 0;}
	#schedule ul li .areaWrap::before{
		top:10px;
		left: 10px;
		width: calc(100% - 22px);
	}
	#schedule ul li .areaWrap::after{
		width: 160px;
		height: 40px;
	}
	#schedule ul li .area{
		top: -20px;
		left: -30px;
		width:106px;
		padding: 35px 0 30px 0;
	}
	#schedule ul li .area p{font-weight:700; font-size: 110%;}
	#schedule ul li .shopname{
		font-weight: 900;
		font-size: 140%;
	}
	#schedule ul li .kikan{
		margin: 10px auto 0 auto;
		font-size: 100%;
	}
	#schedule ul li .btn_yoyaku{padding: 12px 0;}
	#schedule ul li .btn_yoyaku span{font-size: 110%;}
	#schedule ul li .btn_yoyaku::after{
		right: 15px;
		width: 19px;
		height: 10px;
	}
	#schedule ul li .detail.disp{padding: 0 0 40px 0;}
	#schedule ul li .detail .ttl{padding: 10px 0;}
	#schedule ul li .detail .ttl.margin{margin: 60px auto 20px auto;}
	#schedule ul li .ttlS{
		margin: 30px auto 5px auto;
		font-size: 100%;
	}
	#schedule ul li .areaTxt{
		font-size: 100%;
		line-height: 1.4em;
	}
	#schedule ul li .detail .map{
		margin: 20px auto 0 auto;
		max-width: 800px;
		height: 360px;
		border: solid 3px;
		border-image: linear-gradient(180deg,rgba(135, 103, 49, 1) 0%, rgba(250, 242, 186, 1) 16%, rgba(132, 99, 45, 1) 37%, rgba(248, 239, 183, 1) 51%, rgba(132, 99, 45, 1) 62%, rgba(250, 242, 186, 1) 85%, rgba(132, 99, 45, 1) 100%) 1;
	}

	/* GOODS */
	#goods {
		margin: -130px auto 0 auto;
		padding-top: 20px;
		padding-bottom: 80px;
		background-position: 98% 0;
		background-size: min(48%, 252px) auto;
	}
	#goods ul{
		margin: 0 auto 80px auto;
		gap: 0 40px;
	}
	#goods ul li{width: calc(50% - 20px);}

	/* FAQ */
	#precautions {
		background-image: url("../img/bg_faq_pc.png");
		background-size: auto 100%;
	}
	#precautions .precautionWrap{max-width:1000px;}
	#precautions .precautionWrap a{
		padding:10% 0 8.5% 0;
		max-width: 880px;
		margin: 0 auto;
	}

}
