@charset "utf-8";
/* ヘッダー */
header{
	position: relative;
	margin: 0 auto ;
	display: block;
	width: 100%;
}
header .attention{
	position: relative;
	margin:  0 auto;
	padding: 5px 10px;
	text-align: center;
	background-color: #000000;
	font-size: 90%;
	line-height: 1.8em;
	font-weight: 500;
}
header .attention p, header .attention a{color: #ffffff;}

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%;
}

/* 固定背景 */
.bgWrap{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100vh;
	height: 100dvh;
	min-height: 100%;
	clip-path: inset(0);
	z-index: -1;
}
.bg{
	position: fixed;
	top:0;
	left: 0;
	width: 100%;
	height: 100vh;
	height: 100dvh;
	 background-repeat: no-repeat;
	 background-size: cover;
	 background-position: 50% 50%;
}
/* story 背景 */
#story .bg{background-image: url("../img/bg_story.jpg");}
#story .bg::after{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	content: '';
	display: block;
	background-image: linear-gradient(45deg, transparent 25%, #000 25%, #000 50%, transparent 50%, transparent 75%, #000 75%, #000);
	background-size: 4px 4px;
}
/* howto 背景 */
#howto .bg{background-image: url("../img/bg_howto.jpg");}


/* catch */
#catch{
	position: relative;
	margin: 0 auto;
	background-image: url("../img/bg_catch.jpg");
	background-repeat: no-repeat;
	background-position:  50% 50%;
	background-size: cover;
	background-color: #000000;
}
#catch::after{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	content: '';
	display: block;
	background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(10,0,0,0) 110px, rgba(0,0,0,0) calc(100% - 100px), rgba(0,0,0,1) 100%);
}
#catch .catchTxt{
	position: relative;
	margin: 0 auto;
	padding: 45px 0;
	background-color: rgba(0,0,0,.6);
	background-image: url("../img/bar_red.png"), url("../img/bar_red.png");
	background-repeat: repeat-x, repeat-x;
	background-position: 0 0, 0 100%;
	background-size: auto 18px, auto 18px;
	z-index: 100;
}
#catch .catchTxt img{
	width: 100%;
	max-width:640px;
	margin: 0 auto;
}

/* cm */
#cm{
	position: relative;
	margin: 0 auto;
	padding: 3px 0;
	background-image: url("../img/bar.jpg"), url("../img/bar.jpg");
	background-repeat: repeat-x, repeat-x;
	background-position: 0 0, 0 100%;
	background-size: auto 3px, auto 3px;
	background-color: #000000;
}
#cm .movieWrap{
	margin: 0 auto;
	width: 100%;
	max-width: 780px;
	z-index: 100;
}


/* とは */
#about{
	position: relative;
	margin: 0 auto;
	background-color: #ffffff;
}
#about .abourBg{
	position: relative;
	margin: 0 auto;
	padding: 50px 0 30px 0;
	background-image: url("../img/bar_black.png"), url("../img/bg.png");
	background-repeat: repeat-x, no-repeat;
	background-position: 0 0, 20% 50%;
	background-size: auto 18px, 120% auto;
}
#about h2{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 20px);
	max-width: 520px;
	z-index: 10;
}
/*#about h2::after{
	position: absolute;
	top: 50%;
	right: -35px;
	width: 15px;
	height: 17px;
	content: '';
	display: block;
	transform: translateY(-50%);
	background-image: url("../img/arrow03.png");
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: 13px auto;
	transition: all .2s ease-out;
}
#about h2.disp::after{transform: translateY(-50%) scale(1, -1);}*/
#about .TxtWrap{
	position: relative;
	margin: 0 auto;
	background-color: rgba(117,5,34,0.9);
	padding: 45px 20px;
	width: calc(100% - 70px);
	font-size: .15rem;
	line-height: 1.8em;
}
#about .TxtWrap::after{
	position: absolute;
	top: -4px;
	left: -4px;
	width: calc(100% + 8px);
	height: calc(100% + 8px);
	content: '';
	display: block;
	background-image: url("../img/about_01.png"), url("../img/about_02.png"), url("../img/about_03.png"), url("../img/about_04.png");
	background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
	background-position: 10px 10px, 100% 0, 0 100%, calc(100% - 10px) calc(100% - 10px);
	background-size: auto 28px, auto 58.5px, auto 58.5px, auto 28px;
}
#about .aboutWrap{position: relative;height: 0;overflow: hidden;transition: all .2s ease-out;}
#about .aboutWrap.disp{height: auto;margin: 25px auto 0 auto;}

/* photo */
.photoTxt{
	position: relative;
	margin: 0 auto;
	width: 100%;
}
.photoWrap{
	position: relative;
	margin: 0 auto ;
	padding: 0;
	width: 100%;
}
.photoWrap.sp{height: 0;overflow: hidden;}
.photoWrap.sp.disp{height: auto;}
.splide__list {height: auto;}

/* 特徴 */
#point{
	position: relative;
	margin: 0 auto;
	padding: 40px 0 ;
	background-image: url("../img/bg01.jpg");
	background-position: 50% 0;
	background-size: 100% auto;
	background-repeat: repeat-y;
}
#point h2{
	position: relative;
	margin:  0 auto 30px auto;
	width: 100%;
	max-width: 640px;
}
#point ul{
	position: relative;
	margin: 0 auto;
	gap:30px 0;
	width: calc(100% - 30px);
}
#point ul li {
	position: relative;
	margin: 0;
	max-width: 340px;
}
#point ul li .TxtWrap{
	position: relative;
	margin: 0 auto;
}
#point ul li .TxtWrap h3{
	position: relative;
	margin: 0 auto;
	min-height: 2em;
	padding-left: 22%;
	padding-bottom: 10px;
	background-position: 0 100%;
	background-size: 100% auto;
	background-repeat: no-repeat;
	color: #f0ff00;
	font-weight: 700;
	font-style: italic;
	font-size: .18rem;
}
#point ul li:nth-child(1) .TxtWrap h3{background-image: url("../img/ttl_point01.png");}
#point ul li:nth-child(2) .TxtWrap h3{background-image: url("../img/ttl_point02.png");}
#point ul li:nth-child(3) .TxtWrap h3{background-image: url("../img/ttl_point03.png");}
#point ul li .TxtWrap p{
	position: relative;
	padding: 15px 0 10px 0;
}
#point ul li .Img{
	position: relative;
	margin: 0 auto;
	border: solid 1px #13aaa5;
}
#point ul li .Img ul{gap:0;}
#point ul li .Img .splide__list{width: 100%;}
#point .playphoto{
	position: relative;
	margin: 50px auto 10px auto;
	width: calc(100% - 30px);
	max-width: 420px;
}
#point .photocon{
	position: relative;
	margin: 20px auto 10px auto;
	width: calc(100% - 37px);
	max-width: 600px;
	padding: 3px;
	border: solid 0.7px #FF008C;
}
#point .bnrsns{
	position: relative;
	margin: -20px auto 40px auto;
	width: calc(100% - 30px);
	max-width: 600px;
	border: solid 0.7px #990B42;
}

/* ストーリー */
 #story{
	 position: relative;
	 margin: 0 auto;
	 padding: 30px 0;
}
#story h2{
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 480px;
}
#story .storyTxt{
	position: relative;
	margin: 0 auto;
	background-color: rgba(255,255,255,0.7);
	width: calc(100% - 30px);
	padding: 5px;
	z-index: 100;
}
#story .storyTxt .storyTxtWrap{
	position: relative;
	margin: 0 auto;
	padding: 30px;
	background-image: linear-gradient(45deg, #921a4d 15px, transparent 0),linear-gradient(-45deg, #921a4d 15px, transparent 0),linear-gradient(135deg, #921a4d 15px, transparent 0),linear-gradient(-135deg, #921a4d 15px, transparent 0);
}
#story .storyTxt .storyTxtWrap::before{
	position: absolute;
	top:0;
	left: 40px;
	content: '';
	display: block;
	width: calc(100% - 80px);
	height: calc(100% - 2px);
	border-top: solid 1px #921a4d;
	border-bottom: solid 1px #921a4d;
	background-image: linear-gradient(180deg, #921a4d 0 3px), linear-gradient(180deg, #921a4d 0 3px);
	background-repeat: no-repeat, no-repeat;
    background-size: 50px 3px, 50px 3px;
    background-position: 0 0, 100% 100%;
}
#story .storyTxt .storyTxtWrap::after{
	position: absolute;
	top:40px;
	left: 0;
	content: '';
	display: block;
	width: calc(100% - 2px);
	height: calc(100% - 80px);
	border-left: solid 1px #921a4d;
	border-right: solid 1px #921a4d;
	background-image: linear-gradient(90deg, #921a4d 0 3px), linear-gradient(90deg, #921a4d 0 3px);
	background-repeat: no-repeat, no-repeat;
    background-size: 3px 50px, 3px 50px;
    background-position: 0 0, 100% 100%;
}
#story .storyTxt p{
	position: relative;
	margin: 0 auto;
	padding-top: 20px;
	line-height: 2.2em;
	z-index: 10;
	color: #000000;
}
#story .moreTxt{
	height: 0;
	overflow: hidden;
}
#story .moreTxt.disp{height: auto;}
#story .btnMore{
	position: relative;
	margin:  20px auto 0 auto;
	width: 10em;
	background-color: #921a4d;
	color: #ffffff;
	text-align: center;
	font-style: italic;
	cursor: pointer;
	z-index: 200;
}
#story .btnMore::after{
	position: absolute;
	top: calc(50% + 2px);
	right: 10px;
	width: 10px;
	height: 12px;
	content: '';
	display: block;
	transform: translateY(-50%);
	background-image: url("../img/arrow03.png");
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: 10px auto;
	transition: all .2s ease-out;
}
#story .btnMore.disp::after{transform: translateY(calc(-50% - 2px)) scale(1, -1);}

/* プレイ形式 */
#play{
	position: relative;
	margin: 0 auto;
	padding: 50px 0;
	background-color: #ffffff;
	background-image: url("../img/bar_black.png"), url("../img/bar_black.png"), url("../img/bg.png");
	background-repeat: repeat-x, repeat-x, no-repeat;
	background-position: 0 0, 0 100%, 100% 10%;
	background-size: auto 18px, auto 18px, cover;
}
#play h2{
	position: relative;
	margin:  0 auto 30px auto;
	width: 100%;
	max-width: 640px;
}
#play ul{
	position: relative;
	margin: 0 auto;
	gap:20px 45px;
	width: calc(100% - 40px);
	max-width: 420px;
}
#play ul li{
	position: relative;
	margin: 0;
	width: calc(41% - 35px);
}
#play ul li:nth-child(2){padding-right: calc(18% + 10px);}
#play ul li:nth-child(3){padding-left: calc(18% + 10px);}
#play ul li:nth-child(1)::after, #play ul li:nth-child(3)::after{
	position: absolute;
	top: 0;
	right: -44px;
	width: 43px;
	height: 100%;
	content: '';
	display: block;
	background-repeat: no-repeat;
	background-size: contain;
}
#play ul li:nth-child(1)::after{background-image: url("../img/line01.png");background-position: 0 22%;}
#play ul li:nth-child(3)::after{background-image: url("../img/line02.png");background-position: 0 34%;}
#play ul li .Img{
	position: relative;
	margin: 0 auto;
	width:100%;
}
#play ul li .txt{
	position: relative;
	margin: 0 auto;
	text-align: center;
}
#play .playTxt{
	position: relative;
	margin: 30px auto 0 auto;
	border: solid 2px #000000;
	color: #000000;
	padding: 20px;
	width: calc(100% - 80px);
	max-width: 740px;
}
#play .playTxt .cautionWrap{
	position: relative;
	margin: 10px auto 0 auto;
}
#play .playTxt .cautionWrap p{
	position: relative;
	padding-left: 1.2em;
	font-size: 86%;
	line-height: 1.8em;
}
#play .playTxt .cautionWrap p::before{
	position: absolute;
	top:0;
	left: 0;
	content: '※';
}
#play .playTxt .cautionWrap p a{color: #000000;}

/* 参加方法 */
#howto{
	position: relative;
	margin: 0 auto;
	padding: 30px 0 50px 0;
}
#howto h2{
	position: relative;
	margin:  0 auto 30px auto;
	width: 100%;
	max-width: 640px;
}
#howto .howtoWrap{
	position: relative;
	margin:20px auto 0 auto;
	width: calc(100% - 80px);
	max-width: 1200px;
}
#howto .howtoWrap .howtoInner{
	padding: 10px 10px 30px 10px;
	background-color: rgba(255,255,255,0.9);
}
#howto .howtoWrap .howtoInner .Img{
	position: relative;
	margin: 0 auto 10px auto;
}
#howto .howtoWrap .howtoInner p{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 20px);
	color: #000000;
}
#howto .howtoWrap .howtoInner p.ttl{
	padding: 10px 0;
	color: #921a4d;
	font-size: .16rem;
	font-weight: 700;
	text-align: center;
}
#howto .howtoWrap .howtoInner .btnArea{
	position: relative;
	margin:  20px auto 0 auto;
	width: calc(100% - 20px);
	text-align: center;
}
#howto .howtoWrap .howtoInner .btnArea .button{
	position: relative;
	margin: 0 auto;
	display:block;
	padding: 5px 30px;
	background-color: #000000;
	color: #ffffff;
}
#howto .howtoWrap .howtoInner .btnArea .button::after{
	position: absolute;
	top:50%;
	right: 7px;
	display: block;
	content: '▼';
	font-size: 70%;
	transform: translateY(-50%) scale(1, 0.8);
}
#howto .howtoWrap .btnArea .button:hover{background-color: #921a4d;}

#howto .howtoWrap .splide__arrows{
	position: absolute;
	display: block;
	top: 40%;
	left: -50px;
	text-align: center;
	width: calc(100% + 100px);
	height: 20px;
	z-index: 1000;
}
#howto .howtoWrap .splide__arrows .splide__arrow--prev img{transform: rotate(180deg);}
#howto .howtoWrap .splide__arrow{
	border-radius: 0;
	height: 20px;
	width: 25px;
	background: transparent;
	opacity: 1;
}
#howto .howtoWrap .splide__arrow:disabled{opacity: 0;}
#howto .howtoWrap .splide__slide {
  display: flex;
  align-items: stretch;
	padding: 2px;
	border: solid 1px #ffffff;
}
#howto .howtoWrap .cautionWrap{
	position: relative;
	margin: 10px auto 0 auto;
	width: calc(100% - 15px);
}
#howto .howtoWrap .cautionWrap p{
	position: relative;
	padding-left: 1.1em;
	font-size: 84%;
	line-height: 1.6em;
}
#howto .howtoWrap .cautionWrap p::before{
	position: absolute;
	top:0;
	left: 0;
	content: '※';
}


/* イベント情報 */
#event{
	position: relative;
	margin:0 auto;
	padding: 40px 0 ;
	background-image: url("../img/bg01.jpg");
	background-position: 50% 0;
	background-size: 100% auto;
	background-repeat: repeat-y;
}
#event h2{
	position: relative;
	margin:  0 auto 30px auto;
	width: 100%;
	max-width: 640px;
}
#event h3{
	position: relative;
	margin: 0 auto 15px auto;
	width: 100%;
	max-width: 640px;
}
#event p{
	position: relative;
	margin: 0 auto;
	text-align: center;
}
#event p.pName{font-size: .22rem;font-weight: 700;line-height: 1.6em;padding-bottom: 10px;}
#event p.pcaution{
	position: relative;
	margin: 5px auto 0 auto;
	font-size: 86%;
	line-height: 1.4em;
}

/* 開催日 */
#schedule{
	position: relative;
	margin: 20px auto;
	width: calc(100% - 30px);
}
#schedule  ul.btnCal {
	position: relative;
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
}
#schedule  ul.btnCal li{
	position: relative;
	margin: 0;
	/*width: calc(25% - 5px);*/
	width: calc(33.33% - 5px);
	/*width: calc(50% - 5px);*/
	color: #ffffff;
	background-color: #98687c;
	font-weight: 500;
	font-size: .12rem;
	cursor: pointer;
	line-height: 1.2em;
}
#schedule  ul.btnCal li.active{background-color: #921a4d;}
#schedule  ul.btnCal li.active::after{
	position: absolute;
	bottom: -.7em;
	left: 0;
	content: '\025bc';
	display: block;
	width: 100%;
	height: 1em;
	color: #921a4d;
	line-height: 1em;
	text-align: center;
}
#schedule  ul.btnCal li p{
	position: relative;
	padding: 4px 0;
	text-align: center;
}
#schedule .calendar{
	position: relative;
	margin: 10px auto 0  auto;
	display: none;
	color: #313131;
}
#schedule .calendar.active{display: block;}
#schedule .calendar table{
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 700px !important;
	border-collapse: collapse !important;
	border-spacing:1px;
	border: solid 1px #250303;
}
#schedule .calendar table th{
	position: relative;
	text-align: center;
	vertical-align: middle;
	width: 14%;
	padding: 3px 0;
	border-right: solid 1px #250303;
	background-color: #921a4d;
	color: #ffffff;
}
#schedule .calendar table td{
	position: relative;
	text-align: center;
	padding: 8px 0;
	width: 14%;
	border-right: solid 1px #250303;
	border-top: solid 1px #250303;
	vertical-align: middle;
	background-color: #ffffff;
}
#schedule .calendar table td.play::before{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	content: '';
	background-color: #FFF000;
	border-radius: 50%;
	width: 28px;
	height: 28px;
}
#schedule .calendar table td p{font-weight: 700;color: #000000;}
#schedule .att{
	position: relative;
	margin: 20px auto 0 auto;
}
#schedule .att p{text-align: left;}
#schedule .att p.caution{padding-left: 1.2em;padding-top: 0;display: inline-block;}
#schedule .att p.caution::before{
	position: absolute;
	top:0;
	left: 0;
	content: '※';
}

/* 開催会場 */
#place{
	position: relative;
	margin: 0 auto;
	margin:70px auto 0 auto;
	padding: 0 ;
}
#place p.access{padding-top: 10px;}
#place .map{
	position: relative;
	margin: 15px auto 40px auto;
	height: 200px;
	border: solid 1px #ffffff;
	width: calc(100% - 30px);
}
#place .map iframe{max-width: 100%;height: 100%;}

/* チケット情報 */
#ticket {
	position: relative;
	margin:70px auto 0 auto;
	padding: 0 0 20px 0 ;
}
#ticket h3{
	position: relative;
	margin: 0 auto 15px auto;
	width: 100%;
	max-width: 640px;
}
/* 料金 */
#ticket .price{
	position: relative;
	margin: 0 auto;
}
#ticket .price .att{
	position: relative;
	margin: -20px auto 30px auto;
	width: calc(100% - 30px);
	max-width: 860px;
}
#ticket .price p.lead{
	position: relative;
	margin: 0 auto 20px auto;
	width: calc(100% - 10px);
	font-weight: 700;
	text-align: center;
}
#ticket .price .att p{position: relative;padding-left: 1.2em;padding-top: 0;text-align: left;font-size: 86%;line-height: 1.6em;}
#ticket .price .att p::before{
	position: absolute;
	top:0;
	left: 0;
	content: '※';
}
#ticket .price ul.ticketP {
	position: relative;
	width: calc(100% - 30px);
	max-width: 960px;
	margin: 0 auto;
}
#ticket .price ul.ticketP li{
	position: relative;
	margin: 0;
	width: calc(33.33% - 5px);
	color: #ffffff;
	background-color: #98687c;
	font-weight: 500;
	font-size: .12rem;
	cursor: pointer;
}
#ticket .price ul.ticketP li:nth-child(n + 2){background-color: #7E96A6;}
#ticket .price ul.ticketP li.active{background-color: #921a4d;}
#ticket .price ul.ticketP li:nth-child(n + 2).active{background-color: #0E858D;}
#ticket .price ul.ticketP li.active::after{
	position: absolute;
	bottom: -.7em;
	left: 0;
	content: '\025bc';
	display: block;
	width: 100%;
	height: 1em;
	color: #921a4d;
	line-height: 1em;
	text-align: center;
}
#ticket .price ul.ticketP li:nth-child(n + 2).active::after{color: #0E858D;}
#ticket .price ul.ticketP li p{
	position: relative;
	padding: 4px 0;
	text-align: center;
}
#ticket .price ul.ticketP li p span{
	display: block;
	font-size: min(2.6vw, .12rem);
	line-height: 1em;
}
#ticket .priceBox{
	position: relative;
	margin: 0 auto;
}
#ticket .priceBox .table{
	position: relative;
	margin: 10px auto 0 auto;
	width: calc(100% - 30px);
	display: none;
	color: #313131;
}
#ticket .priceBox .table .scroll{
	position: relative;
	margin: 0 auto 30px auto;
	overflow-x: scroll;
	-ms-overflow-style: none;
	scrollbar-width: none;
	padding: 0;
}
#ticket .priceBox .table .scroll::-webkit-scrollbar{display:none;}
#ticket .priceBox .table .ttl{
	position: relative;
	margin: 5px auto 0 auto;
	padding: 3px 0;
	background-color: #FFFFFF;
	color: #921a4d;
	font-weight: 700;
	text-align: center;
	border-top: solid 1px #250303;
	border-left: solid 1px #250303;
	border-right: solid 1px #250303;
}
#ticket .priceBox .table.price02 .ttl, #ticket .priceBox .table.price03 .ttl{color: #0E858D;}
#ticket .priceBox .table .ttl span{font-size: 86%;}
#ticket .priceBox .table table{
	position: relative;
	margin: 0 auto;
	width: 700px !important;
	border-collapse: collapse !important;
	border-spacing:1px;
	border: solid 1px #250303;
}
#ticket .priceBox .table table.u22{width: 550px !important;}
#ticket .priceBox .table.price02 table, #ticket .priceBox .table.price03 table{width: 800px !important;}
#ticket .priceBox .table.active{display: block;}
#ticket .priceBox .table table.ttable{margin: 10px auto 0 auto;}
#ticket .priceBox table th{
	position: relative;
	text-align: center;
	vertical-align: middle;
	padding: 4px 2px;
	border-right: solid 1px #250303;
	background-color: #921a4d;
	font-size: 86%;
}
#ticket .priceBox .price02 table th, #ticket .priceBox .price03 table th{background-color: #0E858D;}
#ticket .priceBox table td{
	position: relative;
	width: 21%;
	margin: 10px;
	text-align: center;
	padding: 10px 0;
	border-right: solid 1px #250303;
	border-top: solid 1px #250303;
	vertical-align: middle;
	background-color: #ffffff;
	font-size: 86%;
}
#ticket .priceBox .table.price02 table td, #ticket .priceBox .table.price03 table td{width: 16.6%;}
#ticket .priceBox table td span{font-size: 140%;font-weight: 700;}
#ticket .priceBox table td p{line-height: 1.4em;}
#ticket .priceBox table thead th{border-top: solid 1px #250303;padding: 5px 0; color: #ffffff;}
#ticket .priceBox table tbody th{width:16%;background-color: #921a4d;border-top: solid 1px #250303;padding: 10px 2px; color: #ffffff;}
#ticket .priceBox .table.price02 table tbody th, #ticket .priceBox .table.price03 table tbody th{background-color: #0E858D;width: 12%;}
#ticket .bnr{
	position: relative;
	margin: 0 auto;
}

/* 発売日 */
#release{
	position: relative;
	margin: 0 auto;
	padding-top: 50px;
	width: calc(100% - 40px);
}
#release .typeTxt{
	position: relative;
	margin:  20px auto 10px auto;
	padding: 5px 0;
	background-color: #921a4d;
	max-width: 400px;
	color: #ffffff;
	font-weight: 500;
	line-height: 1em;
}
#release .typeTxt span{padding-bottom: 5px;display: inline-block;color: #f0ff00;}
#release .month{
	position: relative;
	margin: 0 auto;
	padding-bottom: 5px;
	color: #f0ff00;
}
#release .month.margin{margin: 30px auto 0 auto;}
#release .scraptantei{
	position: relative;
	margin: 30px auto 50px auto;
}
#release .scraptantei img{
	width: calc(100% - 30px);
	margin: 0 auto;
	max-width: 320px;
}

#event .btnArea, #ticket .btnArea{
	position: relative;
	margin: 30px auto 0 auto;
	width: calc(100% - 30px);
	max-width: 540px;
}
#event .btnArea .button, #ticket .btnArea .btn_ticWrap{
	position: relative;
	margin: 0 auto;
	padding: 4px;
	border: solid 1px #ffffff;
	display: block;
	transition: all .3s ease-out;
}
#event .btnArea .button.margin{margin: 10px auto 0 auto;}
#event .btnArea .button.purple{border: solid 1px #f0ff00;}
#event .btnArea .button div, #ticket .btnArea .btn_ticWrap .btn_ticCaution{
	position: relative;
	margin: 0 auto;
	background-color: #ffffff;
	color: #000000;
	font-weight: 500;
	text-align: center;
	padding: 8px 30px;
	cursor: pointer;
	transition: all .3s ease-out;
	background-image: url("../img/icon.png"),  url("../img/arrow02.png");
	background-position: 5px 50%, calc(100% - 8px) 50%;
	background-repeat: no-repeat, no-repeat;
	background-size: 54px auto, 13px auto;
}
#event .btnArea .button.purple div{font-size: 110%; padding: 15px 30px;background-color: #f0ff00;background-image: url("../img/icon01.png"),  url("../img/arrow02.png");background-size: 63px auto, 15px auto;background-position: -5px 50%, calc(100% - 15px) 50%;}
#event .btnArea .button:hover, #ticket .btnArea .btn_ticWrap:hover{border: solid 1px #921a4d;}
#event .btnArea .button.purple:hover{border: solid 1px #ffffff;}
#event .btnArea .button:hover div{background-color: #921a4d;background-image: url("../img/icon.png"),  url("../img/arrow.png");color: #ffffff;}
#event .btnArea .button.purple:hover div{color: #000000;background-image: url("../img/icon.png"),  url("../img/arrow02.png");background-color: #ffffff;}

#ticket .btnArea .btn_ticWrap .btn_ticCaution{
	background-image: url("../img/icon.png");
	background-position: 5px -10px;
	background-repeat: no-repeat;
	background-size: 54px auto;
	padding: 0;
}
#ticket .btnArea .btn_ticWrap .btn_ticCaution .btnT{position: relative;padding: 8px 30px;}
#ticket .btnArea .btn_ticWrap .btn_ticCaution .btnT::after{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 8px;
	width: 12px;
	height: 13px;
	content: '';
	display: block;
	background-image: url("../img/arrow01.png");
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: auto 13px;
	transition: all .3s ease-out;
}
#ticket .btnArea .btn_ticWrap:hover .btn_ticCaution{background-color: #921a4d;color: #ffffff;}
#ticket .btnArea .btn_ticWrap:hover .btn_ticCaution .btnT::after{background-image: url("../img/arrow03.png");}
#ticket .btnArea .btn_ticWrap .btn_ticCaution .btnT.disp::after{transform: translateY(-50%) scale(1, -1);}
#ticket .ticCaution{
	position: relative;
	margin: 0 auto;
	font-size: 86%;
	line-height: 1.6em;
	padding:20px 15px;
	text-align: left;
	display: none;
}
#ticket .ticCaution p{position: relative;padding-bottom: 10px;text-align: left;}
#ticket .ticCaution p.nomargin{padding-bottom: 2px;}
#ticket .ticCaution .lists{position: relative;padding-bottom: 10px;}
#ticket .ticCaution .lists p{position: relative;padding-left: 1.2em;padding-bottom: 2px;text-align: left;display: block;}
#ticket .ticCaution .lists p::before{position: absolute;content: '・';left: 0;}
#ticket .ticCaution .ttl{
	position: relative;
	margin: 20px auto 10px auto;
	padding: 5px;
	text-align: center;
	background-color: #000000;
	color: #ffffff;
	font-weight: 700;
}
#ticket .ticCaution .cautionWrap{position: relative;}
#ticket .ticCaution .cautionWrap p{
	position: relative;
	padding-left: 1.2em;
	font-size: 86%;
	line-height: 1.4em;
}
#ticket .ticCaution .cautionWrap p::before{
	position: absolute;
	top:0;
	left: 0;
	content: '※';
}
#ticket .u22{
	position: relative;
	margin: 50px auto 10px auto;
	width: calc(100% - 30px);
	max-width: 800px;
	background-color: #ffffff;
}
#ticket .u22 .ttlU22{
	position: relative;
	margin: 0 auto;
	width: 120px;
	transform: translateY(-25px);
}
#ticket .u22 .u22Txt{
	position: relative;
	margin: -10px auto 0 auto;
	padding: 0 20px 20px 20px;
	color: #000000;
	text-align: left;
}
#ticket .u22 .u22Txt a, #ticket .ticCaution a{color: #000000;}
#ticket .btnArea .btn_ticWrap:hover a{color: #ffffff;}

#ticket .spring{
	position: relative;
	margin: 30px auto;
	width: calc(100% - 30px);
	max-width: 860px;
}
#ticket .spring .ttl{
	position: relative;
	margin: 0 auto 10px auto;
	text-align: center;
	font-weight: 500;
	font-size: 130%;
}
#ticket .spring .ticketCaution{
	position: relative;
	margin: 10px auto 0 auto;
}
#ticket .spring .ticketCaution p{
	position: relative;
	text-align: left;
	margin: 0 auto 5px auto;
	padding-left: 1.2em;
	font-size: 86%;
	line-height: 1.6em;
}
#ticket .spring .ticketCaution p::before{
	position: absolute;
	top:0;
	left: 0;
	content: '※';
}

/* チケットカレンダー */
#buy{
	position: relative;
	margin: 40px auto 0 auto;
	width: calc(100% - 30px);
	max-width: 960px; 
}
.ticAPI{position: relative;margin: 10px auto 0 auto;width: 100%;padding: 0;background-color: #ffffff;}
.ticket_api{margin: 0 auto;padding: 0;color: #000000;width: 100%; background-color: #921a4d;}
.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: #000000; 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: #000000;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: #7e1041; font-size: .12rem;font-weight: normal;}
.ticketWrap .detailsBox .details a.scrap:after {border-top: solid 1px #7e1041;border-right: solid 1px #7e1041; 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{
	position: relative;
	margin: 0 auto;
	padding: 50px 0;
	background-color: #ffffff;
	background-image: url("../img/bar_black.png"), url("../img/bar_black.png"), url("../img/bg.png");
	background-repeat: repeat-x, repeat-x, no-repeat;
	background-position: 0 0, 0 100%, 100% 10%;
	background-size: auto 18px, auto 18px, cover;
}
#goods h2{
	position: relative;
	margin:  0 auto 30px auto;
	width: 100%;
	max-width: 640px;
}
#goods ul{
	position: relative;
	margin: 50px auto;
	gap:40px;
}
#goods ul li.soon{
	position: relative;
	margin: 0;
	width: 100%;
}
#goods ul li.soon img{
	position: relative;
	margin: 0 auto;
	width: 60%;
	max-width:383px;
}
#goods ul li{
	position: relative;
	margin: 0;
	width: calc(100% - 60px);
	color: #000000;
}
#goods ul li .price{
	position: relative;
	margin: 10px auto 0 auto;
	text-align: right;
	width: calc(100% - 20px);
}
#goods ul li .price span{
	font-size: 140%;
	font-weight: 700;
}
#goods ul li .spec{
	position: relative;
	margin: 0 auto 15px auto;
	font-size: 90%;
	padding-left: 1.2em;
	width: calc(100% - 20px - 1.2em);
}
#goods ul li .spec::before{
	position: absolute;
	top:0;
	left: 0;
	content: '◆';
}
#goods ul li .text{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 20px);
}

/* FAQ */
#precautions{
	position: relative;
	margin: 0 auto;
	padding: 40px 0 ;
	background-color: #73103a;
	background-size: 34px 34px;
	background-position: 50% 50%;
	background-image:repeating-linear-gradient(90deg,#9e1650 ,#9e1650 1px,transparent 1px,transparent 34px),repeating-linear-gradient(0deg,#9e1650 ,#9e1650 1px,transparent 1px,transparent 34px);
}
#precautions .cautionWrap{
	position: relative;
	margin: 0 auto 30px auto;
	width: calc(100% - 30px);
	max-width: 960px;
	border: solid 1px #ffffff;
	background-color:rgba(192,60,82,0.6);
}
#precautions .cautionWrap::before{
	position: absolute;
	top: -2px;
	left: -2px;
	width: calc(100% + 4px);
	height: calc(100% + 4px);
	display: block;
	content: '';
	background-image: linear-gradient(90deg, #ffffff 0 4px), linear-gradient(90deg, #ffffff 0 4px), linear-gradient(0deg, #ffffff 0 4px), linear-gradient(0deg, #ffffff 0 4px),linear-gradient(90deg, #ffffff 0 4px), linear-gradient(90deg, #ffffff 0 4px), linear-gradient(0deg, #ffffff 0 4px), linear-gradient(0deg, #ffffff 0 4px);
	background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat;
    background-size: 4px 12px, 4px 12px, 14px 4px, 14px 4px, 4px 12px, 4px 12px, 14px 4px, 14px 4px;
    background-position: 0 0, 100% 100%, 0 0, 100% 100%, 0 100%, 100% 0, 0 100%, 100% 0;
}
#precautions .cautionWrap .ttl{
	position: relative;
	margin: 0 auto;
	padding: 13px 0;
	text-align: center;
	font-size: .16rem;
	cursor: pointer;
}
#precautions .cautionWrap .ttl img{
	position: relative;
	margin: 0 auto;
	width: 60%;
	max-width: 336px;
}
#precautions .ttl::after{
	position: absolute;
	top:50%;
	right: 15px;
	content: '▼';
	display: block;
	font-size: 70%;
	transition: all .2s ease-out;
	transform: translateY(-50%) scale(1, 0.8);
}
#precautions .ttl.disp::after{transform: translateY(-50%) scale(1, -0.8);}
#precautions .faqWrap{
	position: relative;
	margin: 0 auto;
	padding: 0;
	height: 0;
	overflow: hidden;
	transition: all .3s ease-out;
	z-index: 9;
}
#precautions .CatTtl{
	position: relative;
	margin: 0 auto;
	padding: 2px 10px;
	width: calc(100% - 45px);
	max-width: 800px;
	color: #000000;
	background-color: #ffffff;
	text-align: center;
	font-size: .15rem;
	font-weight: 500;
}
#precautions .CatTtl.marginTop{margin: 20px auto 0 auto;}
#precautions  #limitlist .CatTtl{margin: 30px auto 15px 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: #f0ff00;
	text-align: left;
	margin: 0 auto;
	width: calc(100% - 45px);
	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 #faq.faqWrap dl dd p .forP{display: inline-block;padding-top: 10px;color: #f0ff00;}
#precautions  .faqWrap dl dd .ttlS2{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 45px);
	padding-top: 10px;
	color: #f0ff00;
}
#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 15px auto;
	width: calc(100% - 50px);
	max-width: 800px;
}
#precautions  #limitlist dl{margin: 0 auto;width: calc(100% - 20px);}

/* ニュース */
#news{
    position:relative;
	margin: 0 auto;
	padding: 30px 0;
	background-color: #000000;
}
#news h2{
	position: relative;
	margin: 0 0 20px 0;
	width: 100%;
	max-width: 500px;
	z-index: 40;
}
#news .innerWrap{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 30px);
	max-width: 700px;
	border: solid 1px #ffffff;
	padding: 4px;
}
#news .newsWrap{
	position: relative;
	margin: 0 auto;
	background-color: #3e3e3e;
	padding: 15px 5px 15px 20px;
}
#news .newsWrap .contetsWrap{
	position: relative;
	margin: 0 auto;
}
#news .newsBox{
	position: relative;
	margin: 0 auto;
}
#news .newsBox ul{
	position: relative;
	margin:0 auto;
	width: 100%;
	height: 140px;
    overflow: hidden;
	z-index: 80;
}
#news .newsBox ul li{
	position: relative;
	margin:0 auto 10px auto;
    padding: 0 0 5px 0;
	line-height: 1.4em;
}
#news .newsBox ul li p.date{
	color: #f0ff00;
	width: 100%;
}
#news .newsBox ul li a.text, #news .newsBox ul li p.text{ width: calc(100% - 1em);padding-right: 1em; color: #ffffff !important;}
#news .newsBox ul li a.text:hover{color: #ffffff !important;}


/* ----- pc ----- */
@media screen and (min-width: 641px) {
	
	/* ヘッダー */
	header #keyvisual{
		background-image: url("../img/main_pc.jpg");
		padding-top:70.333%;
	}

	/* story 背景 */
	#story .bg{background-image: url("../img/bg_story_pc.jpg");}
	/* howto 背景 */
	#howto .bg{background-image: url("../img/bg_howto_pc.jpg");}


	/* catch */
	#catch .catchTxt{
		padding:90px 0;
		background-image: url("../img/bar_red.png"), url("../img/bar_red.png");
		background-size: auto 25px, auto 25px;
	}
	#catch .catchTxt img{
		width: calc(100% - 50px);
		max-width:1010px;
	}

	/* cm */
	#cm{
		padding: 8px 0;
		background-image: none;
	}
	#cm::before{
		position: absolute;
		top:0;
		left: 0;
		width: 100%;
		height: 100%;
		content: '';
		background-image: url("../img/bar.jpg"), url("../img/bar.jpg"), url('http://i.ytimg.com/vi/_b2FaRwbN_A/default.jpg');
		background-repeat: repeat-x, repeat-x, no-repeat;
		background-position: 0 0, 0 100%, 50% 50%;
		background-size: auto 8px, auto 8px, cover;
	}
	#cm::after{
		position: absolute;
		top:0;
		left: 0;
		width: 100%;
		height: 100%;
		content: '';
		background-image: repeating-linear-gradient(0deg, #1E1E1E, #1E1E1E 2px, rgba(0,0,0,0.7) 1px, rgba(0,0,0,0.7)  3px);
	}

	/* とは */
	#about .abourBg{
		padding: 110px 0;
		background-image: url("../img/bar_black.png"), url("../img/bar_black.png"), url("../img/bg_pc.png");
		background-repeat: repeat-x, repeat-x, no-repeat;
		background-position: 0 0, 0 100%, 50% 90%;
		background-size: auto 25px, auto 25px, cover;
	}
	#about h2{max-width: 525px;}
	#about h2::after{
		right: -75px;
		width: 25px;
		height: 27px;
		background-size: 25px auto;
	}
	#about .TxtWrap{
		padding: 60px 35px;
		width: calc(100% - 110px);
		max-width: 1200px;
		font-size: min(1.5vw, .20rem); 
		line-height: 2.2em;
	}
	#about .TxtWrap::after{
		top: -6px;
		left: -6px;
		width: calc(100% + 12px);
		height: calc(100% + 12px);
		background-position: 15px 15px, 100% 0, 0 100%, calc(100% - 15px) calc(100% - 15px);
		background-size: auto 56px, auto 117px, auto 117px, auto 56px;
	}
	#about .aboutWrap.disp{margin: 45px auto 0 auto;}


	/* photo */
	#about .flexbox{gap:0 30px;}
	.photoTxt{
		margin: 0;
		width: calc(50% + 20px);
	}
	.photoWrap{
		margin: 0 ;
		padding-top: 5px;
		width: calc(50% - 80px);
	}

	/* 特徴 */
	#point{
		padding: 60px 0 70px 0;
		background-image: url("../img/bg01_pc.jpg");
	}
	#point ul{
		gap:0 40px;
		width: calc(100% - 30px);
	}
	#point ul li {
		margin: 0;
		max-width: 352px;
	}
	#point ul li .TxtWrap h3{font-size: .20rem;}
	#point ul li:nth-child(1) .TxtWrap h3{padding-top: 1.4em;}
	#point ul li:nth-child(3) .TxtWrap h3{padding-top: 1.4em;}
	#point ul li .Img ul{gap:0;}
	#point .photocon{margin: 30px auto 10px auto;}
	#point .bnrsns{margin: -20px auto 70px auto;}
	
	/* ストーリー */
	 #story{padding: 90px 0;}
	#story .storyTxt{
		max-width: 940px;
		padding: 10px;
	}
	#story .storyTxt .storyTxtWrap{
		padding: 40px;
		background-image: linear-gradient(45deg, #921a4d 20px, transparent 0),linear-gradient(-45deg, #921a4d 20px, transparent 0),linear-gradient(135deg, #921a4d 20px, transparent 0),linear-gradient(-135deg, #921a4d 20px, transparent 0);
	}
	#story .storyTxt .storyTxtWrap::before{
		left: 50px;
		width: calc(100% - 100px);
		background-image: linear-gradient(180deg, #921a4d 0 5px), linear-gradient(180deg, #921a4d 0 5px);
		background-size: 50px 5px, 50px 5px;
	}
	#story .storyTxt .storyTxtWrap::after{
		top:50px;
		height: calc(100% - 100px);
		background-image: linear-gradient(90deg, #921a4d 0 5px), linear-gradient(90deg, #921a4d 0 5px);
		background-size: 5px 50px, 5px 50px;
	}
	#story .storyTxt p{padding-top: 40px;text-align: center;}
	#story .btnMore{margin:  40px auto 0 auto;}

	/* プレイ形式 */
	#play{
		padding: 80px 0 150px 0;
		background-image: url("../img/bar_black.png"), url("../img/bar_black.png"), url("../img/bg_pc.png");
		background-position: 0 0, 0 100%, 100% 70%;
		background-size: auto 25px, auto 25px, cover;
	}
	#play ul{
		gap:0 60px;
		max-width: 960px;
	}
	#play ul li{width: calc(25% - 50px);max-width: 161px;}
	#play ul li:nth-child(2){padding-right:0;}
	#play ul li:nth-child(3){padding-left:0;}
	#play ul li:nth-child(1)::after, #play ul li:nth-child(2)::after, #play ul li:nth-child(3)::after{
		position: absolute;
		top: 0;
		right: -58px;
		width: 56px;
		height: 100%;
		content: '';
		display: block;
		background-repeat: no-repeat;
		background-size: contain;
	}
	#play ul li:nth-child(1)::after{background-position: 0 22%;}
	#play ul li:nth-child(2)::after{background-image: url("../img/line02.png");background-position: 0 34%;}
	#play ul li:nth-child(3)::after{background-image: url("../img/line01.png");background-position: 0 22%;}
	#play .playTxt{
		margin: 50px auto 0 auto;
		padding: 30px 40px;
	}
	#point .playphoto{margin: 70px auto 10px auto;}

	/* 参加方法 */
	#howto{padding: 60px 0 120px 0;}
	#howto .howtoWrap ul li .howtoInner p.ttl{
		font-size: .16rem;
		line-height: 3em;
	}
	#howto .howtoWrap ul li:nth-child(4) .howtoInner p.ttl{line-height: 1.5em;}
	#howto .howtoWrap .howtoInner .btnArea{margin:  30px auto 0 auto;}
	#howto .howtoWrap .splide__slide {padding: 3px;}

	/* イベント情報 */
	#event{
		padding: 60px 0 100px 0;
		background-image: url("../img/bg01_pc.jpg");
	}
	#event h3{
		margin: 0 auto 25px auto;
		max-width: 500px;
	}
	#event p.pName{padding-top: 30px; font-size: .28rem;line-height: 1.6em;}
	#event p.access{padding-top: 30px;}
	
	/* 開催会場 */
	#place{margin:120px auto 0 auto;}
	#place .map{
		margin: 15px auto 70px auto;
		height: 400px;
		max-width: 780px;
	}

	/* 開催日 */
	#schedule{margin: 50px auto 0 auto;}
	#schedule  ul.btnCal {max-width: 700px;}
	#schedule  ul.btnCal li{font-size: .16rem;}
	#schedule  ul.btnCal li p{padding: 6px 0;}
	#schedule .calendar{margin: 15px auto 0  auto;}
	#schedule .calendar table{font-size: .18rem;}
	#schedule .calendar table th{padding: 6px 0;}
	#schedule .calendar table td{padding: 12px 0;}
	#schedule .calendar table td.play::before{
		width: 36px;
		height: 36px;
	}
	#schedule .att{margin: 30px auto 0 auto;text-align: center;}
	#schedule .att p{text-align: center;}

	
	/* チケット情報 */
	#ticket {
		margin:120px auto 0 auto;
		padding: 0 0 40px 0 ;
	}
	#ticket h3{
		margin: 0 auto 25px auto;
		max-width: 500px;
	}
	/* 料金 */
	#ticket .price p.lead{margin: 20px auto 30px auto;}
	#ticket .price .att{margin: -30px auto 80px auto !important;}
	#ticket .price ul.ticketP {max-width: 700px;}
	#ticket .price ul.ticketP li{font-size: .16rem;}
	#ticket .price ul.ticketP li p{padding: 6px 0;}
	#ticket .priceBox .table{margin: 15px auto 0 auto;}
	#ticket .priceBox .table .scroll{margin: 0 auto 50px auto;}
	#ticket .priceBox .table .ttl{
		margin: 5px auto 0 auto;
		padding: 3px 0;
		max-width: 958px;
	}
	#ticket .priceBox .table table{width: 960px !important;}
	#ticket .priceBox .table table.u22{width: 960px !important;max-width: 960px; }
	#ticket .priceBox .table.price02 table, #ticket .priceBox .table.price03 table{width: 960px !important;}
	#ticket .priceBox .table table.ttable{margin: 15px auto 0 auto;}

	/* 発売日 */
	#release{padding-top: 80px;padding-bottom: 50px;}
	#release .typeTxt{
		margin:  20px auto 10px auto;
		padding: 10px 0;
		max-width: 960px;
	}
	#release .typeTxt span{padding-bottom: 10px;}
	#release .month.margin{margin: 50px auto 0 auto;}
	#release .scraptantei{margin: 40px auto 80px auto;}
	#release .scraptantei img{max-width: 380px;}

	#event .btnArea, #ticket .btnArea{
		margin: 50px auto 0 auto;
		max-width: 960px;
	}
	#event .btnArea .button.margin{margin: 20px auto 0 auto;}
	#event .btnArea .button div, #ticket .btnArea .btn_ticWrap .btn_ticCaution{
		padding: 12px 30px;
		background-position: 20px 50%, calc(100% - 25px) 50%;
		background-size: 100px auto, 18px auto;
		font-size: .18rem;
	}
	#event .btnArea .button.purple div{font-size: 140%; padding: 25px 30px;background-size: 110px auto, 20px auto;background-position: -15px 50%, calc(100% - 25px) 50%;}
	#ticket .btnArea .btn_ticWrap .btn_ticCaution{
		background-position: 20px -25px;
		background-size: 100px auto;
		padding: 0;
	}
	#ticket .btnArea .btn_ticWrap .btn_ticCaution .btnT{position: relative;padding: 12px 30px;}
	#ticket .btnArea .btn_ticWrap .btn_ticCaution .btnT::after{
		right: 25px;
		width: 18px;
		height: 16px;
		background-size: auto 16px;
	}
	#ticket .ticCaution{padding:60px 45px;}
	#ticket .ticCaution .ttl{margin: 30px auto 10px auto;}

	#ticket .u22{
		margin: 70px auto 10px auto;
		max-width: 960px;
	}
	#ticket .u22 .ttlU22{
		width: 140px;
		transform: translateY(-35px);
	}
	#ticket .u22 .u22Txt{
		padding: 0 20px 40px 20px;
		text-align: center;
	}
	#ticket .bnr{max-width: 580px;margin: 0 auto 20px auto;}
	#ticket .spring{margin: 60px auto;}
	#ticket .spring .ttl{
		margin: 0 auto 20px auto;
		font-size: 160%;
	}
	#ticket .spring .ticketCaution{margin: 20px auto 0 auto;}
	
	#buy{margin: 70px auto 0 auto;}
	
	/* グッズ */
	#goods{
		padding: 90px 0;
		background-image: url("../img/bar_black.png"), url("../img/bar_black.png"), url("../img/bg_pc.png");
		background-position: 0 0, 0 100%, 50% 80%;
		background-size: auto 25px, auto 25px, cover;
	}
	#goods ul{margin: 80px auto;max-width: 960px;}
	#goods ul li.soon img{max-width:320px;}
	#goods ul li{width: calc(33.333% - 27px);}
#goods ul li .price{
	position: relative;
	margin: 10px auto 0 auto;
	text-align: right;
	width: calc(100% - 20px);
}
#goods ul li .price span{
	font-size: 140%;
	font-weight: 700;
}
#goods ul li .spec{
	position: relative;
	margin: 0 auto 15px auto;
	font-size: 90%;
	padding-left: 1.2em;
	width: calc(100% - 20px - 1.2em);
}
#goods ul li .spec::before{
	position: absolute;
	top:0;
	left: 0;
	content: '◆';
}
#goods ul li .text{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 20px);
}

	/* FAQ */
	#precautions{
		padding: 70px 0 ;
		background-size: 44px 44px;
		background-image:repeating-linear-gradient(90deg,#9e1650 ,#9e1650 1px,transparent 1px,transparent 44px),repeating-linear-gradient(0deg,#9e1650 ,#9e1650 1px,transparent 1px,transparent 44px);
	}
	#precautions .cautionWrap{margin: 0 auto 50px auto;}
	#precautions .cautionWrap::before{background-size: 4px 18px, 4px 18px, 18px 4px, 18px 4px, 4px 18px, 4px 18px, 18px 4px, 18px 4px;}
	#precautions .cautionWrap .ttl{padding: 18px 0;}
	#precautions .cautionWrap .ttl img{max-width: 240px;}
	#precautions .ttl::after{
		right: 35px;
		font-size: 78%;
	}
	#precautions .CatTtl{
		padding: 4px 10px;
		font-size: .18rem;
	}
	#precautions .CatTtl.marginTop{margin: 40px auto 0 auto;}
	#precautions  #limitlist .CatTtl{margin: 40px auto 15px auto;}
	#precautions #faq.faqWrap dl dd{padding: 5px 0 10px 0;}
	#precautions  .faqWrap dl dd .ttlS2{padding-top: 20px;}

	/* ニュース */
	#news{padding:35px 0;}
	#news h2{
		margin: 0 0 25px 0;
		max-width: 400px;
	}
	#news .innerWrap{max-width: 800px;}
	#news .newsWrap{padding: 25px 45px 25px 60px;}
	#news .newsBox ul{height: 120px;}
	#news .newsBox ul li p.date{width: 6em;}
	#news .newsBox ul li a.text, #news .newsBox ul li p.text{ width: calc(100% - 8em);}
}
