@charset "UTF-8";
/* CSS Document */

:root {
	--color-black: #000;
	--color-gray: #2d2d37;
	--color-white: #ffffff;
	--color-blue: #0a00ff;
	--color-lightBlue: #697dfa;
	--color-paleGray: #e6eef2;
	--color-lightGray: #a0a5af;
	--color-alert: #e9221f;
	--color-official: #eb321a;
	--font-family-JP: 'IBM Plex Sans JP', sans-serif; /* IBM Plex Sans JP */
	--font-family-EN: 'Roboto Condensed', sans-serif; /* Roboto Condensed */
	--font-family-footer: 'Barlow', sans-serif; /* Barlow */
}
html {
	overflow-x: hidden;
}
ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
}
a {
	text-decoration: none;
	color: var(--color-gray);
}
.link {
	text-decoration: underline;
}
a,
button,
details,
.header__toggle,
div {
	-webkit-tap-highlight-color: transparent;
}
em {
	font-style: normal;
}
.red {
	color: var(--color-alert);
}
.black {
	color: var(--color-black);
}
.gray {
	color: var(--color-gray);
}
.blue {
	color: var(--color-blue);
}
.pink {
	color: #f10089;
}
strong {
	font-weight: 600;
}
#secNews:target,
#secSchedule:target,
#secTicket:target,
#Attention:target,
#secMerch:target,
#JP:target,
#GL:target,
#secTicketCaution:target,
#JP2nd:target,
#LWTicket:target,
#LWTicket2nd:target,
#upgradeAlert:target,
#LW:target,
#TicketUpgrade:target,
#fcfs:target,
#Generalsale:target,
#MAP:target {
	scroll-margin-top: 64px;
}

#TicketUpgrade_2:target,
#TicketUpgrade2nd_2:target,
#JP2nd_2:target,
#ticketList:target,
#TicketUpgrade2nd:target,
#JP_2:target,
#GL_2:target,
#LWTicket_2:target,
#Generalsale_2:target,
#fcfs_2:target {
	scroll-margin-top: 34px;
}
body {
	width: 100%;
	min-width: 320px;
	font-family: var(--font-family-JP);
	background: #1f1f2b;
}

/* =====================
header
======================== */
.header {
	background: var(--color-gray);
	color: var(--color-white);
	display: flex;
	padding: 0 20px;
	position: fixed;
	width: 100%;
	z-index: 999;
}
.header__nav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
.header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
}
.header__logo {
	z-index: 999;
	position: relative;
	height: 64px;
	width: 108px;
	padding: 8px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.header__logo img {
	height: 29px;
	width: 90px;
}
.header__nav-list {
	color: var(--color-white);
	display: flex;
	margin: 0;
	z-index: 999;
	position: relative;
}
.header__nav-list li {
	width: fit-content;
	padding: 0 4px;
}
.header__nav-list a {
	font-size: 24px;
	font-family: var(--font-family-EN);
	font-weight: 500;
	line-height: 137.5%;
	letter-spacing: 1.2px;
	text-align: center;
	color: var(--color-white);
	display: flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	transition: all 0.1s ease-out;
	padding: 0 24px;
}
.header__nav-list a:hover {
	color: var(--color-lightBlue);
}
.drawer__nav {
	position: fixed;
	width: 100%;
	left: 0;
	top: 0;
}
#menu__inner {
	list-style: none;
	background: var(--color-gray);
	margin: 0px;
	height: 100vh;
	margin-top: 64px;
	padding: 80px 100px;
	overflow-y: auto;
}
#menu__inner::-webkit-scrollbar {
	display: none;
}
.link__membership:hover,
#header-menu a:hover {
	color: var(--color-lightBlue);
}
.link__membership:hover .header-link-icon svg {
	color: var(--color-lightBlue);
}
.menu__inner_logo {
	padding-bottom: 40px;
}
.logo__menu {
	display: block;
	margin: 0 auto;
	width: 500px;
	height: 192px;
}
#header-menu {
	margin: 0;
	padding: 40px 0;
	border-top: solid 1px rgb(153 210 239 / 30%);
	border-bottom: solid 1px rgb(153 210 239 / 30%);
}
#header-menu li {
	text-align: center;
}
#header-menu li:not(:last-child) {
	margin-bottom: 24px;
}
#header-menu li a {
	font-size: 30px;
	font-family: var(--font-family-EN);
	font-weight: 700;
	letter-spacing: 1.5px;
	line-height: 137.5%;
	text-decoration: none;
	color: var(--color-white);
	height: 33px;
	display: flex;
	justify-content: center;
	align-items: center;
	width: fit-content;
	margin: 0 auto;
	transition: all 0.1s ease-out;
}
.link__box {
	margin: 40px auto 0;
	display: grid;
	gap: 16px;
}
.link__membership {
	font-size: 30px;
	font-weight: 700;
	line-height: 137.5%;
	letter-spacing: 1.5px;
	font-family: var(--font-family-EN);
	color: var(--color-white);
	display: flex;
	justify-content: center;
	gap: 16px;
	align-items: center;
	width: fit-content;
	margin: 0 auto;
	transition: all 0.1s ease-out;
}
.link__membership p {
	height: 41px;
}
.header-link-icon {
	width: 28px;
	height: 28px;
	flex-shrink: 0;
}
.menu__icon .header__toggle-line {
	background-image: url('../images/menu-open.svg');
	background-repeat: no-repeat;
	background-size: 100%;
	cursor: pointer;
	width: 20px;
	height: 16px;
	z-index: 999;
	position: relative;
}
.header__nav-list.active {
	opacity: 0;
	pointer-events: none;
}
.header__nav-list {
	opacity: 1;
}
.drawer__nav.active {
	animation: slideinTop 0.3s;
}

@keyframes slideinTop {
	0% {
		transform: translateY(-50px);
	}
	100% {
		transform: translateY(0);
	}
}
.menu__icon,
.menu__icon.active {
	width: 48px;
	height: 48px;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}
.menu__icon.active .header__toggle-line {
	background-image: url('../images/menu-close.svg');
	width: 18px;
	height: 18px;
}
.menu__icon.active {
	cursor: pointer;
	z-index: 999;
	position: relative;
}
.drawer__nav {
	display: none;
}
.drawer__nav.active {
	display: block;
	visibility: visible;
}

/* =====================
hero
======================== */
main {
	display: table;
	width: 100%;
	padding-top: 64px;
}
.left-side {
	width: 40%;
	display: table-cell;
	position: relative;
}
.hero {
	width: 40%;
	position: fixed;
	height: 100vh;
	overflow-y: auto;
	padding-bottom: 4rem;
	top: 64px;
	left: 0;
}
.hero::-webkit-scrollbar {
	display: none;
}
h1 {
	width: 100%;
	aspect-ratio: 1536 / 2175;
	background-image: url('../images/main_poster2026.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* =====================
contents common
======================== */
.contents {
	width: 60%;
	display: table-cell;
	color: var(--color-gray);
	background-image: url(../images/bg.jpg);
	background-repeat: repeat-y;
	background-size: 100%;
}
section .inner {
	width: 100%;
	margin: 0 auto;
	display: block;
	padding: 80px 58px;
	max-width: 1152px;
}
.section-title {
	color: var(--color-white);
	font-family: var(--font-family-EN);
	letter-spacing: 3px;
	line-height: 100%;
	font-size: 60px;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 700;
	width: fit-content;
	margin: 0 auto 48px;
}

/* =====================
news
======================== */
.news__only-pc {
	display: none;
}
.news__wrap {
	width: 100%;
	padding: 20px 12px 20px 20px;
	background: var(--color-white);
}
.news__list {
	height: 384px;
	overflow: auto;
	padding: 0;
	margin: 0;
}
.news__list::-webkit-scrollbar {
	width: 8px;
}
.news__list::-webkit-scrollbar-thumb {
	background-color: rgb(160 165 175 / 50%);
	border-radius: 8px;
	width: 8px;
}
.news__list li {
	border-bottom: 1px solid rgb(45 45 55 / 25%);
	margin-right: 12px;
}
.news__list a {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding: 24px 0;
}
.news__item-date {
	margin-bottom: 4px;
	font-size: 14px;
	font-weight: 600;
	font-style: normal;
	line-height: 162.5%;
	display: flex;
	align-items: center;
}
.news__item-title {
	font-size: 16px;
	font-weight: 600;
	line-height: 162.5%;
	letter-spacing: 0.2px;
}
.new::after {
	content: 'NEW';
	font-size: 12px;
	color: var(--color-blue);
	margin-left: 8px;
	padding-left: 8px;
	font-family: var(--font-family-EN);
	font-style: normal;
	font-weight: 500;
	line-height: 137.5%;
	letter-spacing: 0.6px;
	border-left: solid #1f1f2b 1px;
	width: fit-content;
	height: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.news__item a:hover .news__item-title {
	text-decoration: underline;
}
.news-arrow {
	flex-shrink: 0;
}
.button {
	font-size: 18px;
	color: var(--color-white);
	background: var(--color-blue);
	font-weight: 700;
	line-height: 137.5%;
	letter-spacing: 0.9px;
	font-family: var(--font-family-EN);
	width: 358px;
	height: 52px;
	margin: 48px auto 0;
	display: flex;
	text-align: center;
	align-items: center;
	justify-content: center;
}
.button:hover {
	background:
		linear-gradient(0deg, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.3) 100%),
		var(--color-blue);
}
/* =====================
bnr
======================== */
.bnr {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	margin: 0 auto;
	padding: 4px 58px 80px;
	max-width: 1152px;
}

.bnr img {
	max-width: 508px;
	width: 100%;
}
.bnr a:hover {
	opacity: 0.8;
}
@media (max-width: 960px) {
	.bnr {
		padding: 4px 32px 48px;
	}
}
@media (max-width: 430px) {
	.bnr {
		padding: 4px 16px 48px;
	}
}
/* =====================
schedule
======================== */
.schedule__list {
	padding: 0;
	color: var(--color-white);
}
.schedule__item {
	display: flex;
	gap: 20px;
	border-bottom: 1px solid var(--color-white);
	padding: 24px 0;
}
.schedule__item:first-child {
	border-top: 1px solid var(--color-white);
}
.schedule__location {
	font-family: var(--font-family-EN);
	font-weight: 700;
	font-size: 32px;
	line-height: 100%;
	letter-spacing: 1.6px;
	width: 42%;
}
.schedule__location span {
	font-family: var(--font-family-JP);
	font-size: 16px;
	font-weight: 600;
	display: block;
	letter-spacing: 0.2px;
	line-height: 162.5%;
}
.schedule__details {
	width: calc(58% - 20px);
}
.schedule__datetime {
	display: grid;
	gap: 16px;
}
.schedule__details dl dt {
	font-size: 24px;
	font-family: var(--font-family-EN);
	font-weight: 700;
	line-height: 137.5%;
	letter-spacing: 1.2px;
	align-items: center;
	flex-wrap: wrap;
	display: flex;
	column-gap: 12px;
}
.schedule__details dl dt span {
	width: 1px;
	height: 20px;
	background: var(--color-white);
}
.schedule__details dl dt p {
	width: 42px;
	height: 33px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
}
.schedule__details dl dd {
	font-size: 20px;
	font-family: var(--font-family-EN);
	color: var(--color-lightBlue);
	font-weight: 700;
	line-height: 137.5%;
	letter-spacing: 1px;
}
.schedule__contact {
	font-size: 14px;
	padding: 20px;
	background: rgba(105, 125, 250, 0.25);
	color: var(--color-white);
	line-height: 162.5%;
	letter-spacing: 0.175px;
	font-weight: 400;
	margin-top: 20px;
}
.schedule__inner a {
	word-break: break-all;
	display: inline-block;
	color: var(--color-white);
}

/* =====================
ticket
======================== */
.ticket__seat {
	padding: 16px 16px 24px;
	width: 100%;
	min-width: 300px;
	margin-bottom: 16px;
	letter-spacing: 0.6px;
	height: 164px;
	position: relative;
	background: linear-gradient(94deg, #fff 0%, var(--color-lightGray) 101.13%);
}
.item__group:last-child .ticket__seat:last-child {
	margin-bottom: 0;
}
.item__group:last-child {
	margin-bottom: 24px;
}
.premium-seat {
	background: linear-gradient(96deg, var(--color-white) -39.94%, var(--color-lightBlue) 100%);
}
.membership {
	color: var(--color-blue);
	font-size: 12px;
	font-weight: 600;
	line-height: 162.5%;
	letter-spacing: 0.15px;
	border: solid 1px;
	width: fit-content;
	padding: 0 4px;
	margin-bottom: 2px;
	height: 20px;
}
.ticket__logo {
	width: 143.746px;
	height: 22.348px;
	flex-shrink: 0;
	aspect-ratio: 143.75/22.35;
	position: absolute;
	right: 16px;
	top: 16px;
	margin: 0px 10.118px 20.652px 10.136px;
}
.ticket__icon {
	letter-spacing: 0.6px;
	position: relative;
	width: fit-content;
	overflow: hidden;
	margin-bottom: 16px;
}
.ticket__icon img {
	margin: 2.5px 0;
}
.ticket__icon p {
	font-family: var(--font-family-EN);
	color: var(--color-white);
	font-weight: 500;
	line-height: 137.5%;
	letter-spacing: 0.6px;
	font-size: 12px;
	position: absolute;
	top: 4px;
	bottom: 4px;
	left: 16px;
	margin: auto;
	height: 15px;
	width: 39px;
}
.ticket__seat small {
	font-size: 10px;
	font-weight: 400;
	line-height: 162.5%;
	letter-spacing: 0.125px;
	color: var(--color-blue);
}
.ticket_new::after {
	content: 'NEW';
	font-size: 12px;
	color: var(--color-white);
	font-family: var(--font-family-EN);
	font-style: normal;
	font-weight: 600;
	line-height: 137.5%;
	text-align: center;
	background: var(--color-alert);
	width: 39px;
	height: 16px;
	padding: 0 6px;
	display: block;
}
.ticket__seat-name {
	margin-top: 16px;
	font-size: 14px;
	font-style: normal;
	font-weight: 600;
	line-height: 162.5%;
	display: flex;
	align-items: center;
	gap: 6px;
	letter-spacing: initial;
}
.ticket__seat-name {
	margin-top: 0;
}
.ticket__price {
	font-size: 30px;
	font-family: var(--font-family-EN);
	font-weight: 700;
	line-height: 137.5%;
	letter-spacing: 1.5px;
}
.ticket__price span {
	font-size: 14px;
	font-style: normal;
	font-weight: 600;
	line-height: 162.5%;
	margin-left: 4px;
	font-family: var(--font-family-JP);
}
.ticket__note {
	text-align: center;
	font-size: 14px;
	font-weight: 400;
	line-height: 162.5%;
	letter-spacing: 0.175px;
	color: var(--color-white);
}
.ticket__description {
	margin: 48px auto;
	display: grid;
	gap: 20px;
	color: var(--color-white);
}
.ticket__description_inner {
	background: rgba(105, 125, 250, 0.25);
	padding: 24px;
	width: 100%;
}
.ticket__description_inner:nth-child(1) .item {
	margin-top: 32px;
}
.ticket__description_inner .box {
	display: grid;
	gap: 16px;
}
.ticket__desc_ttl {
	font-weight: 600;
	font-size: 14px;
	line-height: 162.5%;
	margin-bottom: 4px;
}
.ticket__desc_list {
	font-size: 14px;
	font-weight: 400;
	line-height: 162.5%;
	letter-spacing: 0.175px;
}
.ticket__desc_list a {
	color: var(--color-white);
	text-decoration: underline;
}
.ticket__desc_list li:not(:last-child) {
	margin-bottom: 2px;
}

/***** list-style bullet point *****/
.bullet-point-list {
	padding-inline-start: 10px;
}
.bullet-point-list li {
	list-style-type: none;
	position: relative;
}
.bullet-point-list.white li::before {
	content: url(../images/heading-icon-white.svg);
	position: absolute;
	left: -10px;
	top: -3px;
}
.bullet-point-list li::before {
	content: url(../images/heading-icon-black.svg);
	position: absolute;
	left: -10px;
	top: -3px;
}
.bullet-point-list li.red::before {
	content: url(../images/heading-icon-red.svg);
}
/* ************************************* */

.ticket__info {
	overflow: hidden;
}
.ticket__info_box {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
	align-self: stretch;
}
.ticket__info_title {
	margin: 48px auto 20px;
	font-size: 20px;
	font-weight: 700;
	line-height: 162.5%;
	letter-spacing: 0.25px;
	display: block;
	text-align: center;
	color: var(--color-white);
}

/* accordion*/
.accordion {
	width: 100%;
}
.accordion__ticket summary {
	background: var(--color-white);
}

/* ticket coming-soon */
.coming-soon {
	width: 100%;
	background: var(--color-white);
	padding: 24px;
}
.accordion__title {
	font-size: 16px;
	font-weight: 600;
	line-height: 162.5%;
	color: var(--color-black);
	letter-spacing: 0.2px;
	padding-right: 52px;
	display: block;
}
.accordion-attention .accordion__title {
	color: var(--color-white);
}
.accordion summary {
	background: var(--color-white);
	position: relative;
	padding: 24px;
	cursor: pointer;
	list-style: none;
}
.accordion-attention summary {
	background-color: var(--color-alert);
}
.accordion summary::before {
	display: none;
}
.accordion__ticket_open summary::before,
.accordion__ticket_close summary::before {
	line-height: 137.5%;
	margin-bottom: 6px;
	height: 19px;
	width: 66px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.accordion__ticket_open summary::before {
	content: 'OPEN';
	font-size: 12px;
	font-weight: 500;
	color: var(--color-white);
	background: var(--color-blue);
	padding: 1px 12px;
	letter-spacing: 0.6px;
	font-family: var(--font-family-EN);
}
.accordion__ticket_close summary::before {
	content: '受付終了';
	font-size: 9px;
	font-weight: 500;
	letter-spacing: 0.5px;
	color: var(--color-black);
	background: var(--color-lightGray);
	font-family: var(--font-family-JP);
}
details summary {
	list-style-type: none;
}
.accordion summary::-webkit-details-marker {
	display: none;
}
.accordion__title::after {
	content: '';
	display: inline-block;
	width: 32px;
	height: 32px;
	flex-shrink: 0;
	transform: translateY(-50%) rotate(0deg);
	transition: transform 0s ease-in-out;
	background-size: contain;
	background-repeat: no-repeat;
}
.accordion summary .accordion__title::after {
	position: absolute;
	top: 50%;
	right: 24px;
}
.accordion summary .accordion__title::after {
	background-image: url(../images/arrow-forward-black.svg);
}
.accordion-attention summary .accordion__title::after {
	background-image: url(../images/arrow-forward-white.svg);
}
.accordion[open] summary .accordion__title::after {
	transform: translateY(-50%) rotate(180deg);
	transition-duration: 0.3s;
}
.accordion__contents {
	transition:
		transform 0.3s,
		opacity 0.2s;
}
.accordion__box {
	background: var(--color-white);
	transform: translateY(-10px);
	opacity: 0;
	margin: 0;
	padding: 0 24px 0;
}
.accordion[open] .accordion__box {
	transform: none;
	opacity: 1;
}
/* accordion 受付終了 */
.accordion__ticket_close .opacity-50 {
	opacity: 0.5 !important;
}
.accordion__list {
	width: 100%;
	padding: 28px 0;
	margin: 0;
	border-top: solid 1px var(--color-black);
	font-weight: 600;
	line-height: 162.5%;
	letter-spacing: 0.2px;
}
.accordion__list li:not(:last-child) {
	margin-bottom: 32px;
}
.detail__title {
	padding: 4px 16px;
	width: 100%;
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 16px;
	letter-spacing: 0.2px;
	line-height: 162.5%;
	background: rgba(105, 125, 250, 0.25);
	color: var(--color-black);
}
.detail__box {
	padding: 0 4px;
	display: grid;
	gap: 16px;
}
.detail__box .normal {
	font-weight: 400;
}
.detail__box .box {
	display: grid;
	gap: 8px;
}
.attention__emphasis,
.accordion__emphasis {
	font-size: 14px;
	font-weight: 600;
	line-height: 162.5%;
	color: var(--color-black);
}
.attention__emphasis div:not(:last-child),
.accordion__emphasis div:not(:last-child) {
	margin-bottom: 8px;
}
.attention__emphasis a,
.accordion__emphasis a {
	display: block;
	width: fit-content;
}
.accordion__text,
.ticket__detail .add__text,
.ticket__apply_note {
	font-size: 14px;
	font-weight: 400;
	line-height: 162.5%;
	letter-spacing: 0.175px;
	color: var(--color-gray);
}
.ticket__apply_note {
	margin-top: 16px;
}
.ticket__apply_title {
	text-align: center;
	font-size: 18px;
	font-weight: 700;
	line-height: 162.5%;
	color: var(--color-black);
}
.ticket__playguide {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	margin-top: 16px;
	background: var(--color-white);
}
.ticket__apply--playguide {
	display: grid;
	gap: 16px;
}
.ticket__apply--playguide .ticket__playguide {
	margin-top: 0;
}
.ticket__playguide span {
	width: 1px;
	height: 32px;
	background: var(--color-paleGray);
}
.ticket__playguide .box {
	flex: 1;
}
.ticket__playguide .box a {
	height: 80px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 8px;
}
.ticket__playguide a img {
	display: block;
	margin: 0 auto;
	flex-shrink: 0;
}
.icon-l-tike {
	width: 92.404px;
	height: 36px;
}
.icon-pia {
	width: 50px;
	height: 48px;
}
.icon-eplus {
	width: 53.475px;
	height: 48px;
}
.icon-trip {
	width: 132px;
	height: auto;
}
.accordion__text .bold,
.modal__text .bold {
	font-weight: 600;
}
.detail__box .note {
	font-size: 14px;
	font-weight: 600;
	line-height: 162.5%;
	padding: 8px;
	border: solid 1px var(--color-lightBlue);
	color: var(--color-blue);
}
.accordion__text .line,
.ticket__text .line,
.attention__emphasis .line,
.modal__text .line,
.accordion-attention__text .line,
.accordion__emphasis .line {
	text-decoration: underline;
}
ul.accordion__text li {
	margin-bottom: 0 !important;
}
.ticket__apply {
	padding: 28px 24px;
	background: var(--color-paleGray);
}
.ticket__button {
	font-size: 18px;
	color: var(--color-white);
	background: var(--color-blue);
	font-weight: 600;
	width: 100%;
	line-height: 162.5%;
	height: 64px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	letter-spacing: 0.225px;
	transition: all 0.2s ease-out;
}
.ticket__button:hover {
	background:
		linear-gradient(0deg, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.3) 100%),
		var(--color-blue);
}
.button__global {
	background: linear-gradient(91deg, #07d8e2 0%, #35e99d 100%);
	color: var(--color-white);
}
.button__global:hover {
	background:
		linear-gradient(0deg, rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0.35) 100%),
		linear-gradient(91deg, #07d8e2 0%, #35e99d 100%);
	color: var(--color-white);
}
.ticket__apply_note .link {
	color: var(--color-alert);
}
.accordion__text .link {
	color: #00cbd5;
}
.ticket__list_box_faq .attention__emphasis a {
	display: block;
	text-decoration: underline;
}
.generalsale {
	color: var(--color-blue);
	display: inline-block;
}

/* =====================
attention
======================== */

.attention .attention__title {
	margin-bottom: 12px;
}
.attention__box {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
	align-self: stretch;
}
.accordion-attention__list {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 32px;
	align-self: stretch;
	width: 100%;
	padding: 28px 0;
	margin: 0;
}
.accordion-id-check__item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	align-self: stretch;
}
.accordion-id-check__item .attention__emphasis {
	margin-bottom: 8px;
	font-size: 16px;
}
.accordion-attention__text {
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 162.5%;
	letter-spacing: 0.175px;
	color: var(--color-black);
}
.accordion-attention__text .bold,
.accordion-attention__text.bold {
	font-weight: 600;
}
.accordion-attention__note {
	font-size: 14px;
	font-weight: 400;
	line-height: 162.5%;
	letter-spacing: 0.175px;
	color: var(--color-gray);
}
.accordion-attention__note .line {
	text-decoration: underline;
}
.ticket-sample {
	border: 1px solid var(--color-gray);
	width: 100%;
}
.attention__note {
	display: block;
	margin: 0 auto 48px;
	text-align: center;
	font-size: 20px;
	font-weight: 700;
	color: var(--color-white);
	line-height: 162.5%;
	letter-spacing: 0.25px;
}
.accordion-attention__text li:not(:last-child) {
	margin-bottom: 2px;
}

/* =====================
map
======================== */

/* tab menu */
.tab {
	width: 100%;
}
.tab__list {
	display: flex;
	gap: 2px;
}
.tab__list-item {
	width: 20%;
	text-align: center;
	padding: 20px 0;
	font-family: var(--font-family-EN);
	font-size: clamp(18px, 1.5vw, 24px);
	font-weight: 700;
	line-height: 137.5%;
	cursor: pointer;
}
.tab__contents-wrap {
	background: rgba(105, 125, 250, 0.4);
}
.tab__content {
	display: none;
}
.tab__list-item {
	opacity: 0.5;
	background: rgba(105, 125, 250, 0.4);
	color: var(--color-white);
}
.map-image {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	padding: clamp(16px, 3.33vw, 48px);
	display: block;
}
.is-btn-active {
	opacity: 1;
}
.is-contents-active {
	display: block;
}

/* =====================
merchandise
======================== */
.merchandise__header {
	margin-bottom: 24px;
}
.merchandise__description {
	color: var(--color-white);
	text-align: center;
	font-size: clamp(18px, 1.04vw, 20px);
	line-height: 162.5%;
}
.merchandise__description:not(:first-child) {
	margin-top: 32.5px;
}
.merchandise__box {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
	align-self: stretch;
}
.merchandise__image {
	width: 100%;
	display: block;
	margin: 0 auto;
}
.merchandise__box img {
	margin: 0 auto;
	display: block;
}
.accordion__text.red {
	color: var(--color-alert);
}
/* =====================
footer
======================== */
footer {
	text-align: center;
	background: var(--color-gray);
}
.footer__box {
	padding: 36px 0;
	display: grid;
	gap: 24px;
}
.button__up {
	display: block;
	margin: 0 auto;
	border-radius: 9999px;
	border: solid 1px var(--color-white);
	padding: 4px;
	width: 32px;
	height: 32px;
}
.button--link-official {
	display: flex;
	justify-content: center;
	gap: 8px;
	align-items: center;
	color: var(--color-white);
	background: var(--color-official);
	margin: 0 auto;
	width: 393px;
	letter-spacing: 0.8px;
	font-size: 16px;
	padding: 4px 16px;
}
.button--link-official:hover {
	background:
		linear-gradient(0deg, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.3) 100%),
		var(--color-official);
	border: none;
	color: var(--color-white);
}
.footer-arrow svg {
	justify-content: center;
	display: flex;
}
.button--link-official:hover .footer-arrow svg {
	color: var(--color-white);
}
.copyright {
	color: var(--color-white);
	font-size: 12px;
	font-weight: 500;
	line-height: 137.5%;
	letter-spacing: 0.6px;
	font-family: var(--font-family-EN);
}

/* footer nav*/
.footer-nav {
	border-top: 1px solid rgba(255, 255, 255, 0.3);
	padding: 16px 40px;
	opacity: 0.5;
}
.footer-nav__item {
	color: var(--color-white);
	font-family: var(--font-family-footer);
	font-size: 12px;
	letter-spacing: 1.2px;
	font-weight: 400;
	line-height: 1.5;
}
.footer-nav__item a {
	color: var(--color-white);
}
.footer-nav__item--events a:first-child::before {
	content: '';
	display: inline-block;
	width: 20px;
	height: 20px;
	background-image: url('../images/icon-home.svg');
	background-size: contain;
	background-repeat: no-repeat;
}
.footer-nav__item--events a:first-child {
	display: flex;
	align-items: center;
}
.footer-nav__item--events span {
	display: inline-block;
	width: 11px;
	height: 12px;
	background-image: url('../images/icon-chevron.svg');
	background-size: contain;
	background-repeat: no-repeat;
}
.footer-nav__list {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 0;
}
.footer-nav__item--events {
	display: flex;
	align-items: center;
	order: 1;
	justify-self: start;
	text-align: left;
}
.footer-nav__item--corp {
	order: 2;
	justify-self: center;
	text-align: center;
}
.footer-nav__item--terms-policy {
	order: 3;
	justify-self: end;
	text-align: right;
	display: flex;
	align-items: center;
}
.footer-nav__item--terms-policy span {
	width: 0.8px;
	height: 12px;
	background: rgb(255 255 255 / 30%);
	display: block;
	margin: 0 8px;
}

/* 1430px以下 footer */
@media screen and (max-width: 1430px) {
	.footer-nav {
		padding: 24px 16px;
	}
	.footer-nav__list {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 8px;
		align-self: stretch;
	}
	.footer-nav__item--events {
		order: 1;
	}
	.footer-nav__item--corp {
		order: 3;
	}
	.footer-nav__item--terms-policy {
		order: 2;
	}
}

/* =====================
modal
======================== */
.custom-modal {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 9999;
	height: 100%;
	width: 100%;
	background-color: rgb(25 25 25 / 80%);
	display: none;
}
.modal-outer-container {
	float: right;
	display: flex;
	height: 100%;
	width: 100%;
}
.modal-centering-container {
	margin: auto;
	display: flex;
	height: 90%;
	width: 90%;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.modal-content-wrapper {
	position: relative;
	display: flex;
	width: 100%;
	height: 100%;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.modal-desktop-close-area {
	position: relative;
	display: none;
	width: 100%;
}
.modal-close-button {
	width: fit-content;
	background: inherit;
	border: inherit;
}
.modal-close-button-desktop {
	position: absolute;
	right: -48px;
}
.modal-close-button-desktop,
.modal-close-button-mobile {
	top: -48px;
	width: 48px;
	height: 48px;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}
.modal-close-icon {
	height: 18px;
	width: 18px;
	cursor: pointer;
}
.modal-main-panel {
	display: flex;
	flex-direction: column;
	gap: 24px;
	overflow: hidden;
	background-color: var(--color-white);
	width: 100%;
	max-height: 100%;
	padding-bottom: 16px;
}
.modal-scrollable-area-wrapper {
	display: flex;
	height: 100%;
	width: 100%;
	overflow: hidden;
	padding-left: 16px;
	padding-right: 16px;
	padding-top: 16px;
}
a.action-link-button {
	display: flex;
	height: 64px;
	width: 358px;
	align-items: center;
	justify-content: center;
	color: var(--color-white);
	font-weight: 700;
	background: var(--color-blue);
	font-size: 18px;
	line-height: 162.5%;
	margin: 0 auto;
}
a.action-link-button:hover {
	background:
		linear-gradient(0deg, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.3) 100%),
		var(--color-blue);
}
.modal-contents-inner {
	overflow: auto;
	flex-grow: 1;
	min-height: 0;
	overflow-y: scroll;
	padding: 20px;
}
.modal-contents-inner::-webkit-scrollbar {
	width: 8px;
}
.modal-contents-inner::-webkit-scrollbar-thumb {
	background-color: rgb(160 165 175 / 50%);
	border-radius: 8px;
	background-clip: padding-box;
}
.modal__text {
	font-size: 14px;
	line-height: 162.5%;
	letter-spacing: 0.175px;
	font-weight: 400;
	color: var(--color-gray);
}
.modal__body_inner .modal__list_text {
	font-size: 14px;
	line-height: 162.5%;
	letter-spacing: 0.175px;
	font-weight: 400;
	color: var(--color-black);
}
ul.modal__list_text li:not(:last-child) {
	margin-bottom: 4px;
}
.modal__body_inner .bold {
	font-weight: 600;
}
.modal__body_inner .add__text {
	font-size: 14px;
	font-weight: 400;
	line-height: 162.5%;
	letter-spacing: 0.175px;
}
.modal__text a {
	color: var(--color-black);
}
.modal__emphasis {
	font-size: 14px;
	font-weight: 400;
	line-height: 162.5%;
}
.modal__body_inner .box {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	align-self: stretch;
	padding: 0 4px;
}
.modal__body_inner .box .text__box {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	align-self: stretch;
}
.modal__body_inner .box:not(:last-child) {
	margin-bottom: 28px;
}
.modal__body_inner p span {
	display: block;
}
.modal__body_inner ul.modal__text li:not(:last-child) {
	margin-bottom: 4px;
}
.modal__body_inner p a {
	display: block;
	text-decoration: underline;
	width: fit-content;
}
.modal__title {
	padding: 8px 24px;
	width: 100%;
	background: rgba(105, 125, 250, 0.25);
	color: var(--color-black);
	font-weight: 600;
	line-height: 162.5%;
	text-align: center;
	font-size: 16px;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 42px;
	letter-spacing: 0.2px;
	margin-bottom: 16px;
}
/************************************************/

/* =====================
mobile nav menu
======================== */
.nav__mobile {
	display: none;
	z-index: 20;
	position: fixed;
	bottom: 0;
	background: rgb(45 45 55 / 90%);
	width: 100%;
	height: 62px;
}
.nav__mobile a:active svg {
	color: var(--color-lightBlue);
}
.nav__mobile ul {
	display: flex;
	justify-content: space-between;
}
.mobile__nav-item {
	text-align: center;
	flex: 1;
}
.nav__mobile ul a {
	width: 100%;
	display: block;
	height: 54px;
	padding: 15px 0;
}

/* 319px以下（スマホ） */
@media screen and (max-width: 319px) {
	html {
		overflow-x: scroll;
	}
}
/* 430px以下（スマホ） */
@media screen and (max-width: 430px) {
	.header {
		padding: 0px 8px;
		height: 48px;
	}
	.header__logo {
		height: 28px;
		margin-left: 0;
		padding: 0;
		width: auto;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.header__logo img {
		width: 73px;
		height: 24px;
	}
	.menu__icon,
	.menu__icon.active {
		width: 42px;
		height: 42px;
	}
	#header-menu {
		margin: 0;
		padding: 0 0 32px;
		border-top: none;
		border-bottom: solid 1px rgb(255 255 255 / 30%);
	}
	#menu__inner {
		padding: 64px 16px;
		margin-top: 48px;
	}
	#header-menu li a {
		font-size: 24px;
		line-height: 137.5%;
		letter-spacing: 1.2px;
		height: 28px;
	}
	#header-menu li:not(:last-child) {
		margin-bottom: 16px;
	}
	.link__box {
		margin: 32px auto 0;
	}
	.link__membership {
		font-size: 16px;
		line-height: 162.5%;
		gap: 8px;
	}
	.link__membership p {
		font-size: 24px;
		height: 33px;
		display: flex;
		align-items: center;
	}
	.header-link-icon {
		width: 20px;
		height: 20px;
	}
	.header-link-icon svg {
		width: 100%;
		height: auto;
	}
	main {
		display: block;
		padding-top: 48px;
	}
	.left-side,
	.contents {
		display: block;
		width: 100%;
	}
	.hero {
		position: inherit;
		width: 100%;
		height: fit-content;
		padding-bottom: 0;
		top: auto;
		left: auto;
	}
	.menu__inner_logo {
		display: none;
	}
	.header__nav-list {
		display: none;
	}
	section {
		padding: 64px 16px;
		width: 100%;
	}
	section .inner {
		width: 100%;
		padding: 0;
	}
	.section-title {
		margin-bottom: 36px;
		font-size: 48px;
		letter-spacing: 2.4px;
	}
	.news__wrap {
		padding: 12px 8px 12px 12px;
	}
	.news__wrap ul.news__list li img.news-arrow {
		display: none;
	}
	.news__inner .button {
		width: 208px;
		height: 44px;
		margin: 36px auto 0;
	}
	.schedule__location {
		width: 100%;
		margin-bottom: 8px;
		font-size: 30px;
		line-height: 137.5%;
		letter-spacing: 1.5px;
	}
	.schedule__location span {
		font-size: 16px;
		font-weight: 600;
	}
	.schedule__details {
		width: 100%;
	}
	.schedule__item {
		padding: 20px 0;
		display: block;
	}
	.schedule__details dl dt p {
		width: 42px;
		height: 33px;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-shrink: 0;
	}
	.schedule__contact {
		padding: 12px;
		word-break: break-all;
		margin-top: 16px;
	}
	.schedule__datetime {
		gap: 8px;
	}
	.schedule__contact a {
		display: block;
	}
	.schedule__inner .schedule__note {
		margin-top: 20px;
	}
	.ticket__description {
		margin: 36px 0;
	}
	.ticket__description_inner {
		padding: 20px 12px;
	}
	.ticket__description_inner .box {
		gap: 12px;
	}
	.ticket__info_title {
		margin: 36px auto 16px;
		font-size: 18px;
		letter-spacing: 0.225px;
	}
	.accordion summary {
		padding: 20px 12px;
	}
	.coming-soon {
		padding: 20px 12px;
	}
	.accordion__title {
		padding-right: 44px;
	}
	.accordion__title::after {
		width: 24px;
		height: 24px;
	}
	.accordion summary .accordion__title::after {
		right: 12px;
	}
	.accordion__box {
		padding: 0 12px 0;
	}
	.accordion__list {
		padding: 20px 0;
	}
	.detail__title {
		width: 100%;
	}
	.ticket__apply {
		padding: 20px 12px 24px;
	}
	.ticket__button {
		font-size: 18px;
	}
	.ticket__apply_note {
		margin-top: 20px;
	}
	.ticket__apply--playguide {
		gap: 8px;
	}
	.ticket__playguide {
		display: block;
	}
	.ticket__playguide span {
		height: 1px;
		display: block;
		width: 90%;
		margin: 0 auto;
	}
	.ticket__playguide .box a {
		height: 64px;
	}
	.icon-l-tike {
		width: 83.164px;
		height: 32.4px;
	}
	.icon-pia {
		width: 45px;
		height: 43.2px;
	}
	.icon-eplus {
		width: 48.127px;
		height: 43.2px;
	}
	.icon-trip {
		width: 118px;
	}
	.attention__note {
		margin: 0 auto 36px;
		font-size: 18px;
		font-weight: var(--font-weight-font-semibold, 600);
	}
	a.action-link-button {
		height: 56px;
		width: 100%;
	}
	.modal-content-wrapper {
		gap: 0.75rem;
		min-width: 200px;
		overflow: hidden;
	}
	.modal-scrollable-area-wrapper {
		padding: 8px 8px 0;
	}
	.modal-contents-inner {
		padding: 8px 8px 0;
	}
	.modal-main-panel {
		gap: 12px;
	}
	.modal__title {
		height: unset;
	}
	.modal-close-icon {
		margin: 7px;
	}
	.modal-close-button-mobile {
		width: 32px;
		height: 32px;
	}
	.tab__list-item {
		font-size: 14px;
		line-height: 162.5%;
	}
	.map-image {
		padding: 12px;
	}
	.merchandise__description {
		font-size: 16px;
	}
	.nav__mobile {
		display: block;
	}
	footer {
		padding: 0 16px 62px;
	}
	.button--link-official {
		width: 100%;
		height: 44px;
		letter-spacing: initial;
	}
	.copyright {
		margin-top: 0;
	}
}

/* 431px以上　960px以下（Tablet） */
@media screen and (min-width: 431px) and (max-width: 960px) {
	.header {
		padding: 0px 8px;
		height: 48px;
	}
	.header__logo {
		height: 48px;
		width: auto;
		padding: 0;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.header__logo img {
		width: 73px;
		height: 24px;
	}
	.menu__icon,
	.menu__icon.active {
		width: 42px;
		height: 42px;
	}
	#header-menu {
		margin: 0;
		padding: 0 0 32px;
		border-top: none;
		border-bottom: solid 1px rgb(255 255 255 / 30%);
	}
	#menu__inner {
		padding: 64px 16px;
		margin-top: 48px;
	}
	#header-menu li a {
		font-size: 24px;
		line-height: 137.5%;
		letter-spacing: 1.2px;
		height: 28px;
	}
	#header-menu li:not(:last-child) {
		margin-bottom: 16px;
	}
	.link__box {
		margin: 32px auto 0;
	}
	.link__membership {
		font-size: 16px;
		line-height: 162.5%;
		gap: 8px;
	}
	.link__membership p {
		font-size: 24px;
		height: 33px;
		display: flex;
		align-items: center;
	}
	.header-link-icon {
		width: 20px;
		height: 20px;
	}
	.header-link-icon svg {
		width: 100%;
		height: auto;
	}
	main {
		display: block;
		padding-top: 48px;
	}
	.left-side,
	.contents {
		display: block;
		width: 100%;
	}
	.hero {
		position: inherit;
		width: 100%;
		height: fit-content;
		padding-bottom: 0;
		top: auto;
		left: auto;
	}
	.menu__inner_logo {
		display: none;
	}
	.header__nav-list {
		display: none;
	}
	section {
		padding: 64px 32px;
		width: 100%;
	}
	section .inner {
		width: 100%;
		padding: 0;
	}
	.section-title {
		margin-bottom: 36px;
		font-size: 48px;
		letter-spacing: 2.4px;
	}
	.news__wrap {
		padding: 12px 8px 12px 12px;
	}
	.news__wrap ul.news__list li img.news-arrow {
		display: none;
	}
	.news__inner .button {
		margin: 36px auto 0;
		height: 44px;
	}
	.schedule__location {
		width: 320px;
		font-size: 30px;
		line-height: 137.5%;
		letter-spacing: 1.5px;
	}
	.schedule__item {
		gap: 16px;
		padding: 20px 0;
	}
	.schedule__details {
		width: calc(100% - 336px);
	}
	.schedule__contact {
		padding: 12px;
		min-width: 160px;
		margin-top: 16px;
	}
	.schedule__datetime {
		gap: 12px;
	}
	.schedule__contact a {
		display: block;
	}
	.ticket__description {
		margin: 36px 0;
	}
	.ticket__description_inner {
		padding: 20px 12px;
	}
	.ticket__description_inner .box {
		gap: 12px;
	}
	.ticket__info_title {
		margin: 36px auto 20px;
		font-size: 18px;
		letter-spacing: 0.225px;
	}
	.attention__note {
		margin: 0 auto 36px;
		font-size: 18px;
		font-weight: 600;
	}
	.accordion summary {
		padding: 20px 12px;
	}
	.coming-soon {
		padding: 20px 12px;
	}
	.accordion__title {
		padding-right: 44px;
	}
	.accordion__title::after {
		width: 24px;
		height: 24px;
	}
	.accordion summary .accordion__title::after {
		right: 12px;
	}
	.accordion__box {
		padding: 0 12px 0;
	}
	.accordion__list {
		padding: 20px 0;
	}
	.detail__title {
		width: 100%;
	}
	.ticket__apply {
		padding: 20px 12px 24px;
	}
	.ticket__apply_note {
		margin-top: 20px;
	}
	.ticket__apply--playguide {
		gap: 8px;
	}
	.ticket__playguide {
		display: block;
	}
	.ticket__playguide span {
		height: 1px;
		display: block;
		width: 90%;
		margin: 0 auto;
	}
	.ticket__playguide .box a {
		height: 64px;
	}
	.icon-l-tike {
		width: 83.164px;
		height: 32.4px;
	}
	.icon-pia {
		width: 45px;
		height: 43.2px;
	}
	.icon-eplus {
		width: 48.127px;
		height: 43.2px;
	}
	.icon-trip {
		width: 118px;
	}
	.modal-content-wrapper {
		gap: 0.75rem;
	}
	.modal-contents-inner {
		padding: 12px;
	}
	.modal-close-icon {
		margin: 14px;
	}
	a.action-link-button {
		height: 56px;
		width: 100%;
	}
	.merchandise__description:not(:first-child) {
		margin-top: 26px;
	}
	.nav__mobile {
		display: block;
	}
	footer {
		padding: 0 16px 62px;
	}
	.button--link-official {
		width: 358px;
		height: 52px;
		letter-spacing: 0.7px;
		font-size: 14px;
	}
	.copyright {
		margin-top: 0;
	}
}
/* 961px以上（PC） */
@media screen and (min-width: 961px) {
	.news__only-mb {
		display: none;
	}
	.news__only-pc {
		display: block;
	}
	.sp__only {
		display: none;
	}
	.modal-outer-container {
		width: 60%;
	}
	.modal-centering-container {
		height: 80%;
		width: 80%;
	}
	.modal-desktop-close-area {
		display: flex;
	}
	.modal-scrollable-area-wrapper {
		padding-top: 1rem;
	}
	.modal-close-button-mobile {
		display: none;
	}
}
/* 1440px以上（PC） */
@media screen and (min-width: 1440px) {
	.ticket__seat {
		width: 50%;
		margin: 0 auto;
		display: block;
	}
	.item__group {
		display: flex;
		gap: 20px;
	}
	.item__group:nth-child(1),
	.item__group:nth-child(2) {
		margin-bottom: 20px;
	}
	.item__group:nth-child(3) {
		margin-bottom: 24px;
	}
	.premium-seat {
		width: calc(50% - 10px);
	}
}
/* 1201px以上（PC） */
@media screen and (min-width: 1201px) {
	.schedule__location {
		width: 320px;
	}
	.schedule__details {
		width: calc(100% - 340px);
	}
}

/* 560px以上　660px以下（Tablet） */
@media screen and (min-width: 560px) and (max-width: 660px) {
	.schedule__location {
		width: 42%;
	}
	.schedule__details {
		width: calc(58% - 16px);
	}
}

/* 559px以下 */
@media screen and (max-width: 559px) {
	.schedule__location {
		width: 100%;
		margin-bottom: 8px;
	}
	.schedule__details {
		width: 100%;
	}
	.schedule__item {
		display: block;
	}
}
