 @charset "utf-8";
 @import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP:900&display=swap');
 /* reset
--------------------------------------------------- */
 *, *::before, *::after {
   box-sizing: border-box;
 }
 ul, ol {
   padding: 0;
 }
 body, h1, h2, h3, h4, p, ul, ol, li, figure, figcaption, blockquote, dl, dd {
   margin: 0;
 }
 html {
   font-size: 62.5%;
 }
 body {
   min-height: 100vh;
   scroll-behavior: smooth;
   text-rendering: optimizeSpeed;
   line-height: 1.5;
 }
 ul, ol {
   list-style: none;
 }
 a:not([class]) {
   text-decoration-skip-ink: auto;
 }
 img {
   max-width: 100%;
   display: block;
 }
 input, button, textarea, select {
   font: inherit;
 }
 @media (prefers-reduced-motion: reduce) {
   * {
     animation-duration: 0.01ms !important;
     animation-iteration-count: 1 !important;
     transition-duration: 0.01ms !important;
     scroll-behavior: auto !important;
   }
 }
 html {
   font-size: 62.5%;
 }
 body {
   position: relative;
 }
 /* ----- clearfix ----- */
 .clearfix::after {
   display: block;
   clear: both;
   content: "";
 }
 /* common
--------------------------------------------------- */
 .contents a {
   color: #fff;
   text-decoration: underline;
 }
 .contents a:visited {
   color: #fff;
 }
 .contents a:hover {
   text-decoration: none;
 }
 .contents .no-pc {
   display: none;
 }
 .contents .no-sp {
   display: block;
 }
 .contents .xs {
   font-size: 80%;
 }
 .contents .tax {
   padding: 0 0 0 .25em;
   font-size: 1.2rem;
   font-weight: normal;
 }
 .sub-txt {
   font-size: 75%;
 }
 .contents em {
   color: #D3BF8F;
   font-style: normal;
   font-size: 120%;
   font-weight: bold;
 }
 .contents strong {
   font-style: normal;
   font-weight: bold;
 }
 .contents .strikethrough {
   color: #666;
   text-decoration: line-through;
 }
 .contents .caution {
   color: #555;
   padding: 0 0 0 1em;
   font-size: 1.2rem;
   line-height: 1.2;
   text-indent: -1em;
 }
 .contents .caution::before {
   content: "※";
   color: #555;
 }
 .contents .advance, .contents .public, .contents .soldout {
   display: inline-block;
   margin: 0 10px 3px 0;
   padding: .5em;
   border-radius: 4px;
   color: #FFF;
   font-size: 1.2rem;
   line-height: 1;
   text-align: center;
   vertical-align: middle;
 }
 .contents .advance {
   background: #F60;
 }
 .contents .public {
   background: #666;
 }
 .contents .soldout {
   background: #999;
 }
 @media screen and (max-width: 767px) {
   .contents .no-pc {
     display: block;
   }
   .contents .no-sp {
     display: none;
   }
 }
 @media screen and (max-width: 480px) {
   .contents .advance, .contents .public, .contents .soldout {
     display: block;
     margin: 0 0 5px 0;
     font-size: 1.0rem;
   }
   .contents .caution, .contents .tax {
     font-size: 1.0rem;
     line-height: 1.2;
   }
 }
 /* LAYOUT
--------------------------------------------------- */
 .contents {
	width: 100%;
	min-width: 320px;
	background: #000;
	color: #fff;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 1.6rem;
	font-weight: normal;
	line-height: 1.6;
 }
 .contents-area {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 24px;
 }
 .contents-inner {
	display: grid;
	gap: 88px;
 }
 @media screen and (max-width: 767px) {
   .contents {
     font-size: 1.6rem;
     line-height: 1.5;
   }
	 .contents-inner {
		gap: 72px;
	 }
 }
 @media screen and (max-width: 480px) {
	.contents {
		 font-size: 1.4rem;
		 line-height: 1.3;
	}
	 .contents-area {
		padding: 0 16px;
	 }
	 .contents-inner {
		gap: 48px;
	 }
 }
 /* HEADDING
--------------------------------------------------- */
 .contents h1, .contents h2, .contents h3, .contents h4, .contents h5 {
   font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
   color: #FFF !important;
 }
 .contents h1 {
   max-width: 1200px;
   font-size: 3.2rem;
   font-weight: bold;
 }
 .contents h2 {
   font-size: 2.8rem;
   font-weight: bold;
 }
 .contents h3 {
   font-size: 6rem;
   font-weight: bold;
   line-height: 1.2;
   padding-bottom: 50px;
   display: block;
 }
 .contents h3 span {
   font-size: 2rem;
   display: block;
 }
 .contents h4 {
   font-size: 2.6rem;
   font-weight: bold;
	 margin-bottom: 20px;
 }
 @media screen and (max-width: 767px) {
   .contents h1 {
     font-size: 2.8rem;
   }
   .contents h2 {
     font-size: 2.4rem;
   }
   .contents h3 {
     font-size: 4rem;
     padding-bottom: 30px;
   }
   .contents h3 span {
     font-size: 1.6rem;
   }
   .contents h4 {
     font-size: 2rem;
   }
 }
 /* HERO
--------------------------------------------------- */
 .hero {}
 .hero-inner {
   padding-bottom: 50px;
 }
 .outline {}
 .outline p {}
 .outline p + p {}
 @media screen and (max-width: 767px) {
   .outline {}
   .outline p + p {}
 }
 @media screen and (max-width: 480px) {
   .outline {}
   .outline p + p {}
 }
 /* TEXT etc
--------------------------------------------------- */
 .through {
   text-decoration: line-through;
   color: #999;
 }
 .soldout-area {
   position: relative;
 }
 .soldout {
   width: 90%;
   height: 36px;
   margin: auto auto;
   padding: .35em;
   background-color: rgba(0, 0, 0, .5);
   color: #FF0;
   font-size: 1.8rem;
   font-weight: bold;
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
   text-align: center;
   text-shadow: 1px 1px 3px #000;
   -webkit-transform: rotate(-3deg);
   -ms-transform: rotate(-3deg);
   transform: rotate(-3deg);
 }
 /* about
--------------------------------------------------- */
 .about_list {
   font-weight: bold;
 }
 .about_list dt {
	width: 30%; 
	padding: .5em;
	border: solid 1px #999;
	clear: both;
	float: left;
	line-height: 1;
	position: relative; 
	text-align: center;
 }
 .about_list dd {
   float: left;
   width: 70%;
   padding: .5em 0 0 1em;
 }
.about_list + .about_list {
	margin-top: 16px;
}
 @media screen and (max-width: 767px) {
	.about_list dt {
		width: 20%;
		padding: .25em;
		font-size: 1.2rem;
	}
	.about_list dd {
		padding: 2px 0 0 1em;
		width: 80%;
	}
	.about_list + .about_list {
		margin-top: 8px;
	}
}
 /*  campaign
--------------------------------------------------- */
 #cpn-point {
   border: 1px solid #999;
   margin: 0 auto 3em;
   padding: 15px;
	 color: #FFF;
 }
 #cpn-point-img {
   margin: 0 auto 3em;
 }
 #cpn-point h4 {
   text-align: center;
   font-size: 3rem;
   margin: 0 auto .6em;
   padding-bottom: 10px;
   position: relative;
   line-height: normal;
 }
 #cpn-point h4::after {
   border-bottom: 2.5px dotted #999;
   content: "";
   position: absolute;
   bottom: -10px;
   left: 50%;
   transform: translateX(-50%);
   width: 95%;
 }
 #cpn-point h4 span {
   display: block;
   font-size: 1.6rem;
 }
 #cpn-point p {
   font-size: 2rem;
   text-align: center;
 }
 #cpn-point p.cpn-txt {
   letter-spacing: 1;
   line-height: 1.3;
   font-size: 3rem;
 }
 #cpn-point p span {
   font-size: 4.5rem;
 }
 @media screen and (max-width: 1045px) {
   #cpn-point {
     width: 95%;
   }
 }
 @media screen and (max-width: 767px) {
   #cpn-point p.cpn-txt {
     font-size: 2.5rem;
     margin: 1em auto 10px;
   }
   #cpn-point p span {
     font-size: 2.5rem;
   }
   #cpn-point p {
     font-size: 1.6rem;
   }
 }
 /* CPN-TABLE
--------------------------------------------------- */
	#CPN-ABOUT table {
		border-collapse: collapse;
	}
	#CPN-ABOUT th,
	#CPN-ABOUT td {
		border: solid 1px #999;
		color: #fff;
		padding: 1em;
	}
	#CPN-ABOUT th {
		width: 180px;
	}
@media screen and (max-width: 1024px) {
	#CPN-ABOUT th {
		display: block;
		width: 100%;
		padding: .5em 1em;
		text-align: center;
	}
	#CPN-ABOUT td {
		display: block;
	}
}
@media screen and (max-width: 480px) {
	#CPN-ABOUT th,
	#CPN-ABOUT td {
		font-size: 1.4rem;
	}
	#CPN-ABOUT td {
		line-height: 1.4;
	}
} 
 /* sale
--------------------------------------------------- */
.ticket-price-box {
	margin-bottom: 24px;
}
.ticket-price-box table {
	border: solid 1px #999;
	border-collapse: collapse;
	width: 100%;
}
.ticket-price-box table th,
.ticket-price-box table td {
	border: solid 1px #999;
	border-collapse: collapse;
	font-weight: normal;
	width: calc(100% / 3);
	padding: 10px 20px;
	line-height: 1.2;
	color: #FFF;
}
.ticket-price-box table thead tr {
	background: linear-gradient(90deg, #c6e0ee 0%, #00ace2 100%);
}
.ticket-price-box table thead td {
	border: solid 1px #999;
	color: #000;
	font-weight: bold;
}
.ticket-price-box table th {
	text-align: left;
}
.ticket-price-box table td {
	text-align: center;
}
.ticket-price-box table td span {
	display: block;
	font-size: 1rem;
}
 .sale-box a {
	display: block;
	width: 80%;
	padding: 1em;
	border-radius: 3em;
	color: #000;
	font-weight: bold;
	text-align: center;
	max-width: 100%;
	margin: 0 auto;
	background: #ffe712;
	text-decoration: none;
 }
 .sale-box div + div {
   margin-top: 20px;
 }
 .sale-box a:hover {
   text-decoration: none;
	 opacity: .7;
 }
.offlink {
	pointer-events: none;
}
 @media screen and (max-width: 767px) {
	.ticket-price-box table th,
	.ticket-price-box table td {
		padding: 10px 10px;
		font-size: 1.4rem;
	}
	.ticket-price-box table th {
		text-align: center;
	}
 }
 /* OVERVIEW
--------------------------------------------------- */
.overview-area {
	display: grid;
	gap: 56px;
}
 a.official-link {
	display: block;
	margin: 0 auto 0;
	padding: 1em;
	width: 100%;
	max-width: 50%;
	border: solid 1px #333;
	border-radius: 3em;
	background: rgb(51, 51, 51);
	background: -moz-linear-gradient(-45deg, rgba(51, 51, 51, 1) 0%, rgba(17, 17, 17, 1) 30%, rgba(51, 51, 51, 1) 69%, rgba(17, 17, 17, 1) 99%);
	background: -webkit-linear-gradient(-45deg, rgba(51, 51, 51, 1) 0%, rgba(17, 17, 17, 1) 30%, rgba(51, 51, 51, 1) 69%, rgba(17, 17, 17, 1) 99%);
	background: linear-gradient(135deg, rgba(51, 51, 51, 1) 0%, rgba(17, 17, 17, 1) 30%, rgba(51, 51, 51, 1) 69%, rgba(17, 17, 17, 1) 99%);
	filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#111111', GradientType=1);
	text-align: center; 
	text-decoration: none;
 }
 a.official-link:hover {
	opacity: .75;
 }
 @media screen and (max-width: 1024px) {
	a.official-link {
		max-width: 80%;
	}
 }
 @media screen and (max-width: 767px) {
	.overview-area {
		gap: 40px;
	}
 }
 @media screen and (max-width: 480px) {
	.overview-area {
		gap: 24px;
	}
	a.official-link {
		max-width: 90%;
	}
 }
 /* TABLE
--------------------------------------------------- */
 .table-price {
   width: 100%;
   margin: 0 auto;
   padding: 0 16px;
   border-collapse: collapse;
   border: 1px solid #FFF;
   table-layout: fixed;
   background: #000;
   color: #fff;
 }
 .not-bt-line {
   margin-bottom: -1px;
 }
 .table-price th, .table-price td {
   text-align: left;
   padding: 20px;
   border-bottom: 1px solid #FFF;
   box-sizing: border-box;
 }
 .table-price thead th {
   color: #ed1c24;
   text-align: center;
 }
 .table-price thead th + th {
   border-left: 1px solid #FFF;
 }
 .table-price tbody th {
   border-right: 1px solid #FFF;
 }
 .table-price tbody td {
   border-right: 1px solid #FFF;
 }
 .table-price tbody td:nth-child(1) {
   width: 20% !important;
 }
 .table-price tbody td:nth-child(2) {
   width: 80% !important;
 }
 @media screen and (max-width: 767px) {
	.table-price {}
	.table-price thead {}
	.table-price th, .table-price td {
		display: block;
		font-size: 1.4rem;
		padding: 15px;
	}
	.table-price tbody td:nth-child(1), .table-price tbody td:nth-child(2) {
		width: 100% !important;
	}
}
 /* SET TICKET
--------------------------------------------------- */
.set-tiket-box {
	border: dashed 1px #FFF;
	padding: 50px;
}
.set-tiket-box ul + p {
	margin-top: 20px;
}
.set-tiket-box p.set-ticket-ttl {
	margin-bottom: 20px;
}
.set-tiket-box p + p.set-ticket-ttl {
	margin-top: 50px;
}
.set-tiket-box .set-ticket-price {
	margin-bottom: 20px;
	font-weight: bold;
	font-size: 2rem;
}
 @media screen and (max-width: 767px) {
	.set-tiket-box {
		padding: 20px;
	}
	.set-tiket-box .set-ticket-price {
		font-size: 1.6rem;
	}
 }
 /* NOTES
--------------------------------------------------- */
 .notes-area {
	display: grid;
	gap: 40px;
 }
 .notes-ttl {
   padding-bottom: 15px;
 }
 .notes {
   width: 100%;
   margin: 0 auto;
   padding: 0;
 }
 .notes li {
   padding: 0 0 0 1em;
   text-indent: -1em;
   text-align: left;
 }
 .notes.km li::before {
   content: "※" !important;
 }
 .notes.dot li::before {
   content: "・";
 }
 .notes.sq li::before {
   content: "■";
 }
 .notes li + li {
   margin: .5em 0 0;
 }
 @media screen and (max-width: 767px) {
   .notes {}
	.notes li {
		font-size: 1.4rem;
	}
 }
 @media screen and (max-width: 480px) {

   .notes li + li {
     margin: .5em 0 0;
   }
 }
 /* EVENT INFO
--------------------------------------------------- */
 .event-info {
	width: 50%;
	margin: 0 auto;
	border: solid 1px #999;
	padding: 56px;
	text-align: center;
 }
 .event-wrap {
	display: inline-block;
	margin: 0 auto;
	text-align: left
 }
 .event-info .event-info-ttl {
   font-size: 2.2rem;
   padding-bottom: 8px;
 }
 @media screen and (max-width: 1024px) {
   .event-info {
	 width: 100%;
   }
 }
 @media screen and (max-width: 767px) {
   .event-info {
     padding: 24px;
   }
   .event-info .event-info-ttl {
     font-size: 1.8rem;
   }
 }
 /* IMG
--------------------------------------------------- */
 .img-box {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
 }
 .img-box div {
   width: calc( calc(100% - 16px) / 2);
 }
 @media screen and (max-width: 767px) {
	 .img-box {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
	 }
	 .img-box div {
	   width: calc( calc(100% - 8px) / 2);
	 } 
 }
 /* BUTTON
--------------------------------------------------- */
 .contents .btn {
	display: block;
	width: 50%;
	margin: 0 auto;
	padding: 1em;
	border: solid 1px #FFF;
	border-radius: 3em;
	background: #111;
	color: #FFF !important;
	cursor: pointer;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	vertical-align: middle;
	text-transform: none;
 }
 .contents .btn:hover {
   opacity: .75;
 }
 @media screen and (max-width: 767px) {
   .contents .btn {
     width: 80%;
     font-size: 1.6rem;
   }
 }
 @media screen and (max-width: 480px) {
   .contents .btn {
     font-size: 1.4rem;
   }
 }
 /* BNR AREA
--------------------------------------------------- */
 .bnr-area {
   display: flex;
   justify-content: center;
   gap: 20px;
   padding-bottom: 32px;
 }
 .bnr-area a:hover {
   opacity: .6;
 }
 @media screen and (max-width: 767px) {
   .bnr-area {
     display: block;
     margin: 0 auto;
   }
   .bnr-area a img {
     margin: 0 auto 20px;
   }
 }