@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/top/main.jpg");
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size: cover;
	width: 100%;
	padding-top: 141.40625%;
}

.closed{
	position: relative;
	margin: 0 auto;
	text-align: center;
	background-color: #ffe16c;
	padding: 10px 0;
	color: #D74700;
	font-size: 110%;
	line-height: 1.5em;
	font-weight: bold;
}

/* catch */
#catch {
	position: relative;
	margin: 0 auto;
	background-color: #fdf1e7;
	padding: 40px 0 30px 0;
	background-image: url("../img/common/bar.png"), url("../img/common/bar01.png");
	background-repeat: repeat-x, repeat-x;
	background-position: 50% 0, -10px 100%;
	background-size: auto 23px, auto 5px;
}
#catch .Txt{
	position: relative;
	width: 100%;
	max-width: 640px;
	margin: 0 auto;
}

/* map */
#map{
	position: relative;
	margin: 0 auto;
	padding: 0 0 50px 0;
	background-color: #fff3c8;
	background-image: url("../img/common/bar_orange.png");
	background-repeat: repeat-x;
	background-position: 50% 100%;
	background-size: auto 15px;
}
#map .placemap{
	position: relative;
	margin:0 auto ;
	padding: 30px 15px;
	width: calc(100% - 50px);
	max-width: 960px;
	background-color: #ffffff;
	border-radius: 30px;
	font-size: 94%;
}
#map .placemap .soon{
	position: relative;
	margin: 0 auto;
	width: 70%;
	max-width: 240px;
}
#map .chara{
	position: absolute;
	top: -26px;
	left: -10px;
	width:18%;
	max-width: 80px;
	z-index: 500;
}

h2{
	position: relative;
	margin: 25px auto 0 auto;
	display: block;
	padding: 50px 0 20px 0;
	background-image: url("../img/common/flag.png"),  url("../img/common/flag01.png");
	background-position: 0 0, 100% 0;
	background-repeat: no-repeat, no-repeat;
	background-size: calc(50% - 5px) auto, calc(50% - 5px) auto;
}
h2 img{
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 600px;
}
h2::before{
	position: absolute;
	top:-25px;
	left: 0;
	width: 100%;
	height: 25px;
	content: '';
	display: block;
	background-color: #ffffff;
	border-top: solid 1px #0070dc;
	border-bottom: solid 1px #0070dc;
	background-image: url("../img/common/bar02.png");
	background-position: 50% 50%;
	background-repeat: repeat-x;
	background-size: auto 11px;
}
#pickup h2::before{background-position: 180px 50%;}
#booth h2::before{background-position: 80px 50%;}
#about h2::before{background-position: 110px 50%;}
#special h2::before{background-position: 200px 50%;}
#ticket h2::before{background-position: 10px 50%;}
#news h2::before{background-position: 180px 50%;}
#map h2::before{display: none;}
#map h2{margin: 0 auto;}

/* pickup */
#pickup{
	position: relative;
	margin: 0 auto;
	padding: 0 0 60px 0;
	background-image: url("../img/common/bar_blue.png");
	background-repeat: repeat-x;
	background-position: 50% 100%;
	background-size: auto 15px;
}
#pickup .pickupWrap {
	position: relative;
	margin: 0 auto;
	width: calc(100% - 30px);
	max-width: 1000px;
}
#pickup .pickupWrap .splide__arrows .splide__arrow--prev {left: -15px;transform: rotate(180deg);}
#pickup .pickupWrap .splide__arrows .splide__arrow--next {right: -15px;}
#pickup .pickupWrap .splide__arrow {
	background: transparent;
	border-radius: 0;
	height: 20px;
	width: 20px;
	opacity: 1;
	transform: translateY(0);
}
#pickup .pickupWrap .splide__arrow:disabled {opacity: 0;}

#pickup ul li{
	position: relative;
	margin: 0;
	padding: 6px;
}
#pickup ul li a{
	position: relative;
	margin: 0 auto;
	padding: 5px;
	border: solid 1px #0070dc;
	background-color: #ffe16c;
	text-align: center;
	box-sizing: border-box;
	color: #262626;
	display: block;
	height: 100%;
}
#pickup ul li::before{
	position: absolute;
	bottom: 3px;
	left: 2px;
	height: 10px;
	width: calc(100% - 20px);
	background-color: #0070dc;
	content: '';
}
#pickup ul a::before, #pickup ul a::after{
	position: relative;
	margin: 0;
	content: '';
	display: block;
	width: calc(50% - 12px);
	height: 0;
}
#pickup ul a::before{order: 1;}
#pickup ul li a .shopname{
	position: relative;
	margin: 0 auto;
	padding-top: 10px;
	font-weight: bold;
	font-size: 90%;
}
#pickup a.linksBtn{margin: 30px auto 20px auto;}
#pickup p{
	position: relative;
	margin: 0 auto;
	text-align: center;
}
#pickup .product{
	position: relative;
	margin: 5px auto 0 auto;
	text-align: center;
	font-weight: bold;
	font-size: 120%;
}
#pickup .price{
	position: relative;
	margin:  5px auto 0 auto;
	text-align: center;
	font-size: 90%;
	line-height: 1.6em;
}
#pickup #badge{
	position: absolute;
	top: -1px;
	right: 0;
	font-size: 80%;
	width: 100%;
	max-width: 960px;
	text-align: right;
}
#pickup #badge p{
	position: relative;
	margin: 0;
	display: inline-block;
	width: auto;
	padding: 5px 5px 5px calc(0.5em + 5px);
	background-color: #E20031;
	line-height: 1em;
	color: #ffffff;
	font-weight: bold;
}

/* booth */
#booth{
	position: relative;
	margin: 0 auto;
	padding: 0 0 60px 0;
	background-image: url("../img/common/bar_blue.png");
	background-repeat: repeat-x;
	background-position: 50% 100%;
	background-size: auto 15px;
}
#booth #boothWrap{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 30px);
	max-width: 1000px;
	gap:15px;
}
#booth #boothWrap li{
	position: relative;
	margin: 0;
	width: calc(50% - 12px);
}
#booth #boothWrap li::before{
	position: absolute;
	bottom: -3px;
	left: -5px;
	height: 10px;
	width: 100%;
	background-color: #0070dc;
	content: '';
}
#booth #boothWrap li a{
	position: relative;
	margin: 0 auto;
	padding: 10px;
	border: solid 1px #0070dc;
	background-color: #ffe16c;
	text-align: center;
	box-sizing: border-box;
	color: #262626;
	display: block;
}
#booth #boothWrap li a .name{
	position: relative;
	margin: 0 auto;
	padding-top: 10px;
}
#booth a.linksBtn{margin: 30px auto 20px auto;}
#booth p{
	position: relative;
	margin: 0 auto;
	text-align: center;
}
#booth .more{
	position: relative;
	margin: 20px auto;
	text-align: center;
	color: #ff8c27;
	font-style: italic;
}
#booth .chara{
	position: absolute;
	bottom: 15px;
	left: 5px;
	width:20%;
	max-width: 110px;
}

#booth #tokyocity{
	position: relative;
	margin: 0 auto;
	padding-top:60px;
}
#booth #tokyocity h3{
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 600px;
}
#booth #tokyocity .Img{
	position: relative;
	margin: 5px auto 0 auto;
	width: calc(100% - 30px);
	max-width: 800px;
	border: solid 1px #0070dc;
	box-shadow: -7px 9px 0px -4px #0070dc;
}
#booth #tokyocity a.linksBtn{margin: 20px auto;}
#booth .productBtn{
	position: relative;
	margin: 40px auto 0 auto;
	width: calc(100% - 60px);
	max-width: 520px;
	display: block;
}
#booth .productBtn img{
	border: solid 2px #0070dc;
}

/* special */
#special{
	position: relative;
	margin: 0 auto;
	padding: 0 0 50px 0;
	background-color: #fff3c8;
	background-image: url("../img/common/bar_orange.png");
	background-repeat: repeat-x;
	background-position: 50% 100%;
	background-size: auto 15px;
}
#special ul{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 30px);
}
#special ul li{
	position: relative;
	margin: 0 auto 15px auto;
	display: block;
	border: solid 1px #0070dc;
	box-shadow: -7px 9px 0px -4px #0070dc;
}

/* about */
#about{
	position: relative;
	margin: 0 auto;
	padding: 0 0 50px 0;
	background-color: #fff3c8;
	background-image: url("../img/common/bar_orange.png");
	background-repeat: repeat-x;
	background-position: 50% 100%;
	background-size: auto 15px;
}
#about .detail h3{
	position: relative;
	margin: 10px auto 10px auto;
	width: calc(100% - 20px);
	max-width: 400px;
}
#about .detail p{
	position: relative;
	margin: 0 auto;
	text-align: center;
	font-weight: bold;
	font-size: 110%;
}
#about .detail p.address{
	font-size: 100%;
	font-weight: normal;
}
#about .detail .cautionWrap{
	position: relative;
	margin: 10px auto 30px auto;
	text-align: center;
}
#about .detail .cautionWrap p{
	position: relative;
	text-align: left;
	padding-left: 1em;
	font-size: 80%;
	line-height: 1.5em;
	font-weight: normal;
	display: inline-block;
	width: auto;
}
#about .detail .cautionWrap p::before{
	position: absolute;
	top:0;
	left: 0;
	content: '※';
}
#about #access{
	position: relative;
	margin: 10px auto 0 auto;
}
#about #access h3{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 30px);
	max-width: 740px;
}
#about #access h3 img{
	position: relative;
	margin: 0;
	width: 48%;
	max-width: 282px;
}
#about #access .mapWrap{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 34px);
	max-width: 740px;
	height: 200px;
	border: solid 2px #0070dc;
	z-index: 10;
}
#about #access .mapWrap iframe{max-width: 100%;height: 100%;}
#about #access h4{
	position: relative;
	margin: 20px auto 0 auto;
	text-align: center;
	font-size: 110%;
	font-weight: bold;
}
#about #access h5{
	position: relative;
	margin: 20px auto 10px auto;
	width: calc(100% - 30px);
	max-width: 640px;
	border-bottom: solid 1px #A7A7A7;
	font-weight: bold;
	cursor: pointer;
}
#about #access h5 p{
	position: relative;
	display: inline-block;
	width: auto;
}
#about #access h5 p::after{
	position: absolute;
	top:50%;
	right: -25px;
	content: '\025bc';
	transform: translateY(-50%) scale(1, 0.8);
	transition: all .3s ease-out;
}
#about #access h5.disp p::after{transform: translateY(-50%) scale(1, 0.8) rotate(180deg);}
#access .accessWrap{
	position: relative;
	display: none;
}
#about #access .car{
	position: relative;
	margin:  0 auto;
	width: calc(100% - 30px);
	max-width: 640px;
	font-size: 90%;
}
#about #access .train{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 30px);
	max-width: 640px;
}
#about #access .train p{
	position: relative;
	margin: 0 auto;
	font-size: 90%;
	padding-left: 1em;
	line-height: 1.5em;
	padding-bottom: 0.5em;
}
#about #access .train p::before{
	position: absolute;
	top:0;
	left: 0;
	content: '・';
}

/* 販売 */
#ticket {
	position: relative;
	margin: 0 auto;
	padding: 0 0 50px 0;
	background-image: url("../img/common/bar_blue.png");
	background-repeat: repeat-x;
	background-position: 50% 100%;
	background-size: auto 15px;
}
#ticket ul.ticketP {
	position: relative;
	width: calc(100% - 100px);
	max-width: 400px;
	margin: 0 auto;
	z-index: 70;
}
#ticket ul.ticketP li{
	position: relative;
	margin: 0;
	width: calc(50% - 10px);
	color: #0070dc;
	background-color: #ffffff;
	border: solid 1px #0070dc;
	border-radius: 100px;
	font-weight: 500;
	cursor: pointer;
}
#ticket ul.ticketP li.active{background-color: #0070dc;color: #ffffff;}
#ticket ul.ticketP li.active::after{
	position: absolute;
	bottom: -1em;
	left: 50%;
	transform: translateX(-50%) scale(1, 0.8);
	content: '\025bc';	
	color: #0070dc;
}
#ticket 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: 0.8em auto 0 auto;
	width: calc(100% - 32px);
	display: none;
	color: #262626;
}
#ticket .priceBox .table table{
	position: relative;
	margin: 0 auto;
	width: 100%;
	border-collapse: collapse !important;
	border-spacing:1px;
	border: solid 1px #ff8c27;
}
#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: .11rem;
	background-color: #ffe16c;
	border-left: solid 1px #ff8c27;
}
#ticket .priceBox table th span{font-size: 90%;}
#ticket .priceBox table td{
	position: relative;
	width: 38%;
	margin: 10px;
	text-align: center;
	padding: 10px 0;
	font-size: .12rem;
	border-right: solid 1px #ff8c27;
	border-top: solid 1px #ff8c27;
	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 #ff8c27;padding: 5px 0;}
#ticket .priceBox table tbody th{border-right: solid 1px #ff8c27;border-top: solid 1px #ff8c27;padding: 10px 2px; height: calc(2.8em + 10px) !important;}
#ticket .priceBox table thead th span, #ticket .priceBox table tbody th span{font-size: .10rem;}
#ticket .priceBox table tbody td.att{
	text-align: center;
	padding: 5px 0;
	background-color: #ff8c27;
	color: #ffffff;
	line-height: 1.4em;
}
#ticket .priceBox table tbody th.preticket{padding: 20px 2px;}
#ticket .priceBox table tbody th.preticket::before{
	position: absolute;
	top: 7px;
	left:-6px;
	content: '前売限定';
	border-radius: 100px;
	width: 4em;
	padding:2px 10px;
	text-align: center;
	white-space: pre;
	font-weight: bold;
	background-color: #0070dc;
	color: #ffffff;
	font-size: 100%;
	line-height: 1.2em;
}
#ticket .pre{
	position: relative;
	margin: 10px auto 0 auto;
	width: calc(100% - 30px);
}
#ticket .pre p{
	position: relative;
	margin: 0 auto;
	font-size: 86%;
	line-height: 1.4em;
	padding-left: 1em;
}
#ticket .pre p::before{
	position: absolute;
	top:0;
	left: 0.2em;
	content:'※';
}
#ticket .present{
	position: relative;
	margin: 30px auto 0 auto;
	width: calc(100% - 30px);
	text-align: center;
	font-weight: bold;
	font-size: 102%;
}
#ticket .present .presentImg{
	position: relative;
	margin: 10px auto 15px auto;
	max-width: 400px;
	border: solid 1px #0070dc;
	box-shadow: -7px 9px 0px -4px #0070dc;
}
#ticket .priceBox .cautionWrap{
	position: relative;
	margin: 10px auto 0 auto;
	width: calc(100% - 35px);
	font-size: 90%;
	line-height: 1.4em;
}
#ticket .ticCautionWrap {
	position: relative;
	margin: 30px auto 0 auto;
	width: calc(100% - 30px);
	max-width: 500px;
	padding: 2px;
	background-color: #ff8c27;
	border: solid 1.5px #ab5a13;
	border-radius: 10px;
	box-sizing: inherit;
}
#ticket .ticCautionWrap .ticCautionInner{
	position: relative;
	margin: 0 auto;
	border-radius: 10px;
	border: solid 2px #ffffff;
	box-sizing: inherit;
}
#ticket .ticCautionWrap .ticCautionInner .btn_ticCaution{
	position: relative;
	margin: 0 auto;
	padding: 12px 30px;
	background-image: url("../img/common/icon_star.png");
	background-position: 5px 5px;
	background-repeat: no-repeat;
	background-size: 22px auto;
	text-align: center;
	color: #ffffff;
	font-weight: bold;
	cursor: pointer;
}
#ticket .ticCautionWrap .ticCautionInner .btn_ticCaution::after{
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	height: 17px;
	width: 17px;
	content: '';
	display: block;
	background-image: url("../img/common/arrow.png");
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: contain;
	transition: all .3s ease-out;
}
#ticket .ticCautionWrap .ticCautionInner .btn_ticCaution.disp::after{transform: translateY(-50%) scale(-1,-1);}
#ticket .ticCautionWrap .ticCautionInner .ticCaution{
	position: relative;
	margin:0 auto;
	width: calc(100% - 20px);
	display: none;
	padding: 10px 0 20px 0;
	border-top: solid 1px #FFD2AC;
	line-height: 1.6em;
}
#ticket .ticCautionWrap .ticCautionInner .ticCaution .ttl{
	position: relative;
	margin: 15px auto 10px auto;
	background-color: #fff3c8;
	padding: 2px 1.2em;
	font-weight: bold;
	font-size: 90%;
}
#ticket .ticCautionWrap .ticCautionInner .ticCaution p {
	position: relative;
	padding-left: 1.2em;
	font-size: 95%;
	padding-bottom: 8px;
	line-height: 1.6em;
	text-align: left !important;
	color: #ffffff;
}
#ticket .ticCautionWrap .ticCautionInner .ticCaution p::before {
  position: absolute;
  content: "・";
  left: 0;
}
#ticket .ticCautionWrap .ticCautionInner .ticCaution a{color: #ffffff;}
#ticket .ticCautionWrap .ticCautionInner .ticCaution .ttl a{color: #262626;}
#ticket .ticCautionWrap .ticCautionInner .ticCaution .cautionWrap{
	margin: -0.3em auto 0 auto;
}
#ticket .ticCautionWrap .ticCautionInner .ticCaution .cautionWrap p{font-size: 86%;padding-left: 2.2em;}
#ticket .ticCautionWrap .ticCautionInner .ticCaution .cautionWrap p::before{content: "※"; left: 1.4em;}

/* tokuten */
#ticket #tokuten{
	position: relative;
	margin: 0 auto;
}
#ticket #tokuten .tokutenBox{
	position: relative;
	margin: 50px auto 0 auto;
	width: calc(100% - 30px);
	max-width: 580px;
}
#ticket #tokuten h4{
	position: relative;
	margin: 0 auto 5px auto;
}
#ticket #tokuten .Img{
	position: relative;
	margin: 0 auto 15px auto;
	border: solid 1px #0070dc;
	box-shadow: -7px 9px 0px -4px #0070dc;
}
#ticket #tokuten .linksBtn{margin: 30px auto 20px auto;}

/* shop */
#ticket #shop{
    position: relative;
    margin: 0 auto;
}
#ticket #shop h3{
	position: relative;
	margin: 50px auto 0 auto;
}
#ticket #shop .shopWrap{
	position: relative;
	margin:15px auto 0 auto;
	padding: 30px 0;
	width: calc(100% - 30px);
	max-width: 960px;
	background-color: #fff3c8;
}
#ticket #shop .shopWrap .lead{
	position: relative;
	margin: 0 auto;
	padding-bottom: 10px;
	width: calc(100% - 40px);
}
#ticket #shop .shopWrap .shoplist{
	position: relative;
	margin: 0 auto;
	gap: 15px;
}
#ticket #shop .shopWrap a, #ticket #shop .shopWrap .btn{
	position: relative;
	margin: 0;
	padding: 0;
	display: block;
	width: calc(100% - 40px);
	max-width: 380px;
	text-align: center;
	transition: all .3s ease-out;
}
#ticket #shop .shopWrap a span, #ticket #shop .shopWrap .btn span{
	position: relative;
	display: block;
	margin: 5px auto 0 auto;
}
#ticket #shop .release{font-size: 110%; padding-top: 20px;}

/*#ticket #shop .shopWrap .shoplist img, #ticket #shop .shopWrap .shoplist span{opacity: 0.2;}
#ticket #shop .shopWrap .shoplist div, #ticket #shop .shopWrap .shoplist a{pointer-events: none;}*/

/* news */
#news{
	position: relative;
	margin: 0 auto;
	padding: 0 0 70px 0;
	background-color: #fdf1e7;
	background-image: url("../img/common/bar_orange.png");
	background-repeat: repeat-x;
	background-position: 50% 100%;
	background-size: auto 15px;
}
#news .chara{
	position: absolute;
	top: 50px;
	right: 35px;
	width:15%;
	max-width: 90px;
	z-index: 300;
}
#news .newsWrap{
	position: relative;
	max-width: 960px;
	width: calc(100% - 40px);
	margin: 0 auto;
	z-index: 301;
}
#news #newsList{
	position: relative;
	margin: 0 auto;
	overflow: hidden;
	height: 120px;
	padding: 10px;
	border: solid 1px #0070dc;
	box-shadow: -7px 9px 0px -4px #0070dc;
	background-color: #ffffff;
}
#news #newsList li{
	position: relative;
	margin: 0 auto;
	width: 100%;
	padding-bottom: 5px;
}
#news #newsList li .date{
	position: relative;
	display: block;
	width: 100%;
	color: #0070dc;
	font-size: 93%;
	line-height: 1.8em;
}
#news #newsList li .text{
	position: relative;
	width: 100%;
	display: block;
	font-size: 94%;
	line-height: 1.4em;
}

/* FAQ */
#precautions {
  position: relative;
  margin: 0 auto;
  padding: 50px 0 60px 0;
	background-color: #ffe16c;
	background-image: url("../img/common/bar04.png"), url("../img/common/bg_footer.svg");
	background-repeat: repeat-x, no-repeat;
	background-position: 50% 0, 0 100%;
	background-size: auto 23px, 100% auto;
}
#precautions::before{
	position: absolute;
	top:-25px;
	left: 0;
	width: 100%;
	height: 25px;
	content: '';
	display: block;
	background-color: #ffffff;
	border-top: solid 1px #0070dc;
	border-bottom: solid 1px #0070dc;
	background-image: url("../img/common/bar02.png");
	background-position: 30px 50%;
	background-repeat: repeat-x;
	background-size: auto 11px;
}
#precautions .precautionWrap{
	position: relative;
	margin: 0 auto 10px auto;
	width: calc(100% - 30px);
	max-width: 960px;
	padding: 2px;
	background-color: #ff8c27;
	border: solid 1.5px #ab5a13;
	border-radius: 10px;
	box-sizing: inherit;
}
#precautions .precautionWrap .precautionInner{
	position: relative;
	margin: 0 auto;
	border-radius: 10px;
	border: solid 2px #ffffff;
	box-sizing: inherit;
}
#precautions .precautionWrap .precautionInner .ttl{
	position: relative;
	margin: 0 auto;
	padding: 12px 0;
	background-image: url("../img/common/icon_star.png");
	background-position: 5px 5px;
	background-repeat: no-repeat;
	background-size: 22px auto;
	text-align: center;
	color: #ffffff;
	font-weight: bold;
	cursor: pointer;
}
#precautions .precautionWrap .precautionInner .ttl::after{
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	height: 17px;
	width: 17px;
	content: '';
	display: block;
	background-image: url("../img/common/arrow.png");
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: contain;
	transition: all .3s ease-out;
}
#precautions .precautionWrap .precautionInner .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: #ffffff;
}
#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: #ff8c27;
}
#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: 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 p.margin{margin: 1.8em auto 0 auto;}
#precautions .faqWrap dl dd .title{
	position: relative;
	width: calc(100% - 50px);
	margin: 5px auto 0 auto;
	padding-bottom: 3px;
	text-align: left;
	font-weight: bold;
	color: #FFFE29;
}
#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: #FFFE29;
	font-weight: 700;
	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 .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 .lead.margin{margin: 1.8em auto 0 auto;}
#precautions  #limitlist dl{margin: 0 auto;width: calc(100% - 20px);}
#precautions a{color: #FFFFFF;}

#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/top/main_pc.jpg");
		padding-top: 52.5%;
	}

	.closed{
		padding: 15px 0;
		font-size: 120%;
		line-height: 1.5em;
	}
	
	/* catch */
	#catch {
		padding: 70px 0 50px 0;
		background-size: auto 43px, auto 8px;
	}
	#catch .Txt{
		width: calc(100% - 80px);
		max-width: 839px;
	}

	/* map */
	#map{
		padding: 0 0 100px 0;
		background-size: auto 22px;
	}
	#map .placemap{
		padding: 80px 50px;
		width: calc(100% - 160px);
		max-width: 960px;
		font-size: 94%;
		text-align: center;
	}
	#map .chara{
		top: -40px;
		left:max(0%, 50% - 490px);
		max-width: 100px;
	}

	h2{
		margin: 35px auto 0 auto;
		padding: 100px 0 40px 0;
		background-image: url("../img/common/flag.png"),  url("../img/common/flag01.png"), url("../img/common/flag.png"),  url("../img/common/flag01.png");
		background-position: calc(50% - 130px) 0, calc(50% + 135px) 0, calc(50% + 380px) 0, calc(50% - 380px) 0;
		background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
		background-size: 250px auto, 255px auto, 250px auto, 255px auto;
	}
	h2::before{
		top:-35px;
		height: 35px;
		background-size: auto 20px;
	}

	/* pickup */
	#pickup .pickupWrap .splide__arrows .splide__arrow--prev {left: -30px;}
	#pickup .pickupWrap .splide__arrows .splide__arrow--next {right: -30px;}
	#pickup .pickupWrap .splide__arrow {
		height: 32px;
		width: 32px;
	}

	#pickup ul li{padding: 10px;}
	#pickup ult li::before{
		bottom: 5px;
		left: 5px;
		height: 20px;
		width: calc(100% - 20px);
	}
	#pickup ul li a{padding: 10px;}
	#pickup ul li a .shopname{
		padding-top: 15px;
	}
	#pickup .product{margin: 10px auto 0 auto;}
	#pickup a.linksBtn{margin: 60px auto 40px auto;}
	#pickup #badge{top: 1px;}
	#pickup #badge p{padding: 8px 5px 5px calc(0.5em + 5px);}
	#pickup #pickupList li a:hover{transform: scale(1.02, 1.02);}
	
	/* booth */
	#booth{
		padding: 0 0 80px 0;
		background-size: auto 22px;
	}
	#booth #boothWrap{gap:20px;}
	#booth #boothWrap li{width: calc(33.333% - 15px);}
	#booth #boothWrap li::before{
		bottom: -5px;
		height: 20px;
	}
	#booth #boothWrap li a{padding: 10px 10px 20px 10px;}
	#booth #boothWrap li a:hover{transform: scale(1.02, 1.02);}
	#booth #boothWrap li a .name{
		padding-top: 15px;
		font-size: 110%;
	}
	#booth a.linksBtn{margin: 60px auto 40px auto;}
	#booth .chara{
		bottom: 20px;
		left: 45px;
		width:20%;
		max-width: 130px;
	}
	#booth .more{
		margin: 40px auto 0 auto;
		font-size: 120%;
	}
	
	#booth #tokyocity{padding-top:90px;}
	#booth #tokyocity .Img{
		margin: 10px auto 0 auto;
		box-shadow: -8px 8px 0px 0px #0070dc;
	}
	#booth #tokyocity a.linksBtn{margin: 40px auto;}
	#booth .productBtn{margin: 60px auto 0 auto;}

	/* special */
	#special{
		padding: 0 0 100px 0;
		background-size: auto 22px;
	}
	#special ul{max-width: 1100px;gap: 20px;}
	#special ul li{
		box-shadow: -8px 8px 0px 0px #0070dc;
		width: calc(33.33% - 15px);
		margin: 0;
	}
	
	/* about */
	#about{
		padding: 0 0 100px 0;
		background-size: auto 22px;
	}
	#about .detail h3{
		margin: 20px auto 10px auto;
		max-width: 480px;
	}
	#about .detail p{font-size: 130%;line-height: 1.8em;}
	#about .detail .cautionWrap{margin: 10px auto 50px auto;}
	#about .detail .cautionWrap p{
		padding-left: 1em;
		font-size: 90%;
		line-height: 1.5em;
	}
	#about #access{margin: 20px auto 0 auto;}
	#about #access .mapWrap{height: 420px;}
	#about #access h4{font-size: 130%; margin: 20px auto 10px auto;}
	#about #access h5{font-size: 90%;}
	#about #access .car{font-size: 84%;}
	#about #access .train p{font-size: 84%;}

	/* 販売 */
	#ticket {
		padding: 0 0 80px 0;
		background-size: auto 22px;
	}
	#ticket ul.ticketP li p{padding: 8px 0;}
	#ticket .priceBox .table{max-width: 800px;}
	#ticket .priceBox table th{
		width: 50%;
		line-height: 1.4em;
		padding: 7px 2px;
		font-size: .16rem;
	}
	#ticket .priceBox table th span{font-size: 98%;}
	#ticket .priceBox table td{
		width: 50%;
		margin: 0;
		padding: 10px 0;
		font-size: .16rem;
	}
	#ticket .priceBox table td span{font-size: .24rem;;}
	#ticket .priceBox table td p{font-size: .16rem;line-height: 1.4em;}
	#ticket .priceBox table thead th span, #ticket .priceBox table tbody th span{font-size: .14rem;}
	#ticket .priceBox table tbody td.att{
		padding: 10px 0;
		line-height: 1.4em;
	}
	#ticket .priceBox table tbody th.preticket{padding: 25px 2px;}
	#ticket .priceBox table tbody th.preticket::before{font-size: 90%;}
	#ticket .pre{
		margin: 15px auto 0 auto;
		max-width: 800px;
		text-align: center;
	}
	#ticket .pre p{
		font-size: 90%;
		line-height: 1.4em;
		padding-left: 1em;
		display: inline-block;
		width: auto;
	}
	#ticket .present{
		margin: 50px auto 0 auto;
		font-size: 110%;
	}
	#ticket .present .presentImg{
		margin: 15px auto 25px auto;
		box-shadow: -8px 8px 0px 0px #0070dc;
	}
	#ticket .priceBox .cautionWrap{
		margin: 10px auto 20px auto;
		max-width: 785px;
	}
	#ticket .ticCautionWrap {
		margin: 40px auto 0 auto;
		max-width: 795px;
	}
	#ticket .ticCautionWrap .ticCautionInner .btn_ticCaution{
		padding: 20px 0;
		background-size: 30px auto;
		font-size: 120%;
	}
	#ticket .ticCautionWrap .ticCautionInner .btn_ticCaution::after{
		right: 15px;
		height: 22px;
		width: 22px;
	}
	#ticket .ticCautionWrap .ticCautionInner .ticCaution{
		width: calc(100% - 50px);
		padding: 20px 0 30px 0;
	}
	#ticket .ticCautionWrap .ticCautionInner .ticCaution .ttl{
		margin: 20px auto 15px auto;
		padding: 4px 1.2em;
	}
	#ticket .ticCautionWrap .ticCautionInner .ticCaution p {
		padding-left: 1.2em;
		font-size: 94%;
		line-height: 1.6em;
	}

	/* tokuten */
	#ticket #tokuten .tokutenBox{
		margin: 100px auto 0 auto;
		max-width: 800px;
	}
	#ticket #tokuten h4{
		margin: 0 auto 10px auto;
		max-width: 580px;
	}
	#ticket #tokuten .Img{
		margin: 0 auto 25px auto;
		box-shadow: -8px 8px 0px 0px #0070dc;
	}
	#ticket #tokuten p{text-align: center;}

	/* shop */
	#ticket #shop h3{margin: 100px auto 0 auto;}
	#ticket #shop h3 img{position: relative;margin: 0 auto;}
	#ticket #shop .shopWrap{
		margin:25px auto 0 auto;
		padding: 60px 0;
	}
	#ticket #shop .shopWrap a, #ticket #shop .shopWrap .btn{
		width: calc(50% - 50px);
		max-width: 340px;
	}
	#ticket #shop .shopWrap .lead{
		padding-bottom: 30px;
		text-align: center;
	}
	#ticket #shop .shopWrap .shoplist{gap: 25px;}
	#ticket #shop .release{font-size: 115%; padding-top: 30px;}

	/* news */
	#news{
		padding: 0 0 100px 0;
		background-size: auto 22px;
	}
	#news .chara{
		top: 80px;
		right: max(25px, 50% - 420px);
		width:18%;
		max-width: 110px;
	}
	#news #newsList{
		margin: -20px auto 0 auto;
		height: 100px;
		padding: 30px 50px;
		box-shadow: -8px 8px 0px 0px #0070dc;
	}
	#news #newsList li .date{
		width: 6em;
		font-size: 96%;
	}
	#news #newsList li .text{
		width: calc(100% - 6em);
		font-size: 100%;
	}

	/* FAQ */
	#precautions {
		padding: 80px 0 60px 0;
		background-size: auto 40px, 100% 120px;
	}
	#precautions::before{
		top:-35px;
		height: 35px;
		background-size: auto 20px;
	}
	#precautions .precautionWrap{margin: 0 auto 20px auto;}
#precautions .precautionWrap .precautionInner{
	position: relative;
	margin: 0 auto;
	border-radius: 10px;
	border: solid 2px #ffffff;
	box-sizing: inherit;
}
	#precautions .precautionWrap .precautionInner .ttl{
		padding: 15px 0;
		background-size: 30px auto;
		font-size: 140%;
	}
	#precautions .precautionWrap .precautionInner .ttl::after{
		right: 15px;
		height: 22px;
		width: 22px;
	}
	#precautions .CatTtl.marginTop{margin: 30px auto 0 auto;}
	#precautions  #limitlist .CatTtl{margin: 40px auto 10px auto;}
	#precautions  #limitlist .CatTtl.margin{margin: 20px auto 10px auto;}
	#precautions .faqWrap dl dd .title{
		margin:8px auto 0 auto;
		padding-bottom: 5px;
	}
}

/* ----- preticket ----- */
@media screen and (min-width: 840px) {
	#ticket .priceBox table tbody th.preticket::before{
		top: -5px;
		left:-15px;
		content: '前売\A限定';
		width: 50px;
		padding:8px 0;
		font-size: 90%;
		line-height: 1.2em;
	}
}