html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }

body { line-height: 1; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }

nav ul { list-style: none; }

blockquote, q { quotes: none; }

blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }

a { margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; color: inherit; text-decoration: none; }

/* change colours to suit your needs */
ins { background-color: #ff9; color: #000; text-decoration: none; }

/* change colours to suit your needs */
mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }

del { text-decoration: line-through; }

abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }

table { border-collapse: collapse; border-spacing: 0; }

/* change border colour to suit your needs */
hr { display: block; height: 1px; border: 0; border-top: 1px solid #cccccc; margin: 1em 0; padding: 0; }

input, button, textarea, select { margin: 0; padding: 0; background: none; border: none; border-radius: 0; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; }

textarea { resize: none; }

html, body { -webkit-text-size-adjust: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }

img, video { vertical-align: middle; max-width: 100%; height: auto; }

img[src$=".svg"] { width: 100%; }

li { list-style: none; }

main { display: block; }

h1, h2, h3, h4, h5 { font-weight: inherit; }

img { width: 100%; }

*:focus { outline: none; }

/* --------------------------------------------------
Common
-------------------------------------------------- */
:root { font-size: 10px; --font-body-family: "Noto Sans JP", sans-serif; --font-body-weight: 500; --font-body-size: 1.6rem; --font-body-ls: 0.04em; --font-body-lh: 1.88; --font-en: "Inter", "Noto Sans JP", sans-serif; --primary-color: #333333; --white-color: #FFFFFF; --bg-color: #FFFFFF; --acc-color: #E61B33; --drop-shadow: 0 0.15rem 0.3rem rgba(0,0,0,0.16); --ease: cubic-bezier(0.46, 0.1, 0.29, 1); --bounce: cubic-bezier(0.68, -0.6, 0.32, 1.6); --contents-width: 83.73%; }
@media screen and (min-width: 768px) and (max-width: 1025px) { :root { font-size: 8px; } }

body { background: var(--bg-color); color: var(--primary-color); font-family: var(--font-body-family); font-weight: var(--font-body-weight); }
body.isLoaded { opacity: 1 !important; transition: opacity 1s ease 0s; }

@media screen and (max-width: 767px) { .pc { display: none !important; } }
@media screen and (min-width: 768px) { :root { --drop-shadow: 0 0.3rem 0.6rem rgba(0,0,0,0.16); --font-body-lh: 2.5; --contents-width: 75rem; }
  .sp { display: none !important; } }
/* --------------------------------------------------
Parts
-------------------------------------------------- */
.pageHead { height: 20rem; position: relative; }
.pageHead__bg { height: 100%; }
.pageHead__bg img { height: 100%; object-fit: cover; }
.pageHead__titlearea { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; color: var(--white-color); white-space: nowrap; }
.pageHead__titleareaTitle { font-family: var(--font-en); font-weight: 600; font-size: 3.2rem; line-height: 1.2; }
.pageHead__titleareaSubtitle { font-size: 1.4rem; line-height: 1.43; }
.pageHead__image { position: absolute; }
.pageHead__image--about { width: 6.9rem; right: calc(50% + 8rem); top: 5rem; }
.pageHead__image--about img { aspect-ratio: 185 / 269; }
.pageHead__image--news { width: 10.3rem; right: calc(50% + 5.75rem); bottom: 0; }
.pageHead__image--news img { aspect-ratio: 206 / 346; }
.pageHead__image--lineup { width: 10.3rem; left: calc(50% + 5.9rem); top: 8.2rem; }
.pageHead__image--lineup img { aspect-ratio: 215 / 186; }
.pageHead__image--tickets { width: 10.3rem; left: calc(50% + 6.45rem); bottom: 0; }
.pageHead__image--tickets img { aspect-ratio: 206 / 346; }
.pageHead__image--access { width: 8.9rem; right: calc(50% + 7.45rem); top: 3.2rem; }
.pageHead__image--access img { aspect-ratio: 182 / 336; }

.contents { padding: 6rem 0; }
.contents *:not(img)::selection { color: var(--white-color); }
.contents *:not(img)::-moz-selection { color: var(--white-color); }
.contents > * { display: flex; flex-direction: column; row-gap: 6rem; }
.contents > * > * [class*="__inner"] { width: var(--contents-width); margin: 0 auto; }
.contents > * > * [class*="__inner"].spFullWidth { width: 100%; }
.contents--index { padding-top: 1.8rem; }
.contents--index > * { display: block; }

.text { text-align: justify; font-size: var(--font-body-size); letter-spacing: var(--font-body-ls); line-height: var(--font-body-lh); }
.text + .text { margin: calc(var(--font-body-lh) * 1em) 0 0; }

.externalLink { color: var(--acc-color); text-decoration: underline; }

.pagenavi { padding: 7rem 0 0; }
.pagenavi .wp-pagenavi { display: flex; justify-content: center; align-items: center; column-gap: 1.6rem; }
.pagenavi .wp-pagenavi span.current, .pagenavi .wp-pagenavi a.page { width: 4rem; aspect-ratio: 1; border-radius: 50%; display: flex; justify-content: center; align-items: center; background: var(--acc-color); color: var(--white-color); font-family: var(--font-en); font-weight: 400; font-size: 1.6rem; }
.pagenavi .wp-pagenavi a.previouspostslink, .pagenavi .wp-pagenavi a.nextpostslink { font-size: 1.4rem; }

.btnarea { padding: 7rem 0 0; }

.linkbtn { width: 29rem; max-width: 100%; height: 5rem; margin: 0 auto; color: var(--white-color); font-weight: 400; font-size: 1.4rem; }
.linkbtn__link { height: 100%; display: flex; justify-content: center; align-items: center; background: var(--primary-color); border-radius: 2.5rem; }

.swiper-pagination { position: static; margin: 1.9rem 0 0; display: flex; justify-content: center; column-gap: 0.8rem; }
.swiper-pagination-bullet { width: 0.8rem; height: auto; margin: 0 !important; aspect-ratio: 1; background: var(--white-color); opacity: 0.5; }
.swiper-pagination-bullet-active { opacity: 1; }

@media screen and (min-width: 768px) { .pageHead__titleareaTitle { line-height: 1.22; }
  .pageHead__image--about { width: 9.3rem; right: calc(50% + 8.2rem); top: 4.1rem; }
  .pageHead__image--news { right: calc(50% + 6.4rem); }
  .pageHead__image--lineup { width: 10.8rem; left: calc(50% + 7.5rem); top: 5.3rem; }
  .pageHead__image--tickets { left: calc(50% + 6.9rem); }
  .pageHead__image--access { width: 9.1rem; right: calc(50% + 8.4rem); top: 3.2rem; }
  .contents { padding: 12rem 0; }
  .contents > * { row-gap: 12rem; }
  .contents > * > * [class*="__inner"].spFullWidth { width: var(--contents-width); }
  .contents > * > * [class*="__inner"].medium { width: 87rem; max-width: 90%; }
  .contents > * > * [class*="__inner"].large { width: 103.1rem; max-width: 94%; }
  .contents--index { padding-top: 6rem; }
  .externalLink { transition: opacity 0.4s var(--ease) 0s; }
  .externalLink:hover { opacity: 0.5; }
  .pagenavi .wp-pagenavi span.current, .pagenavi .wp-pagenavi a.page { border: 0.1rem solid var(--acc-color); box-sizing: border-box; }
  .pagenavi .wp-pagenavi a.page { transition: background 0.4s var(--ease) 0s, color 0.4s var(--ease) 0s; }
  .pagenavi .wp-pagenavi a.page:hover { background: var(--acc-color); color: var(--white-color); }
  .pagenavi .wp-pagenavi a.previouspostslink, .pagenavi .wp-pagenavi a.nextpostslink { transition: opacity 0.4s var(--ease) 0s; }
  .pagenavi .wp-pagenavi a.previouspostslink:hover, .pagenavi .wp-pagenavi a.nextpostslink:hover { opacity: 0.3; }
  .btnarea { padding: 8rem 0 0; }
  .linkbtn { width: 28rem; }
  .linkbtn__link { border: 0.1rem solid var(--primary-color); box-sizing: border-box; transition: background 0.4s var(--ease) 0s, color 0.4s var(--ease) 0s; }
  .linkbtn__link:hover { background: var(--white-color); color: var(--primary-color); } }
/* --------------------------------------------------
Header
-------------------------------------------------- */
.header { position: fixed; left: 0; right: 0; top: 0; background: var(--bg-color); height: 6.4rem; z-index: 999; }
.header__inner { padding: 1.5rem 4% 0; display: flex; justify-content: flex-end; }
.header__logo { width: 7rem; position: absolute; left: 3.2%; top: 1.2rem; z-index: 2; }
.header__logo img { aspect-ratio: 129 / 117; }
.header__menuToggle { width: 3.7rem; aspect-ratio: 1; }
.header__menuToggleLink { height: 100%; display: flex; flex-direction: column; justify-content: space-between; align-items: center; }
.header__menuToggleLinkIcon { width: 100%; aspect-ratio: 37 / 17; position: relative; }
.header__menuToggleLinkIconBar { position: absolute; left: 0; right: 0; height: 0.1rem; background: currentColor; top: 0.8rem; transition: opacity 0.2s var(--ease) 0.2s; }
.header__menuToggleLinkIcon::before, .header__menuToggleLinkIcon::after { display: block; content: ""; position: absolute; left: 0; right: 0; height: 0.1rem; background: currentColor; transition: top 0.2s var(--ease) 0.2s, transform 0.2s var(--ease) 0s; }
.header__menuToggleLinkIcon::before { top: 0; }
.header__menuToggleLinkIcon::after { top: 1.6rem; }
.header__menuToggleLinkText { font-family: var(--font-en); font-weight: 600; font-size: 1.4rem; letter-spacing: 0.016em; }
.header__menuContainer { position: fixed; left: 0; top: 6.4rem; right: 0; bottom: 0; background: linear-gradient(225deg, #ad3dc1 0%, #63358c 50%, #35468c 100%); display: none; }
.header__menuInner { height: 100%; display: flex; align-items: center; justify-content: center; }
.header__menuList { display: flex; flex-direction: column; row-gap: 2.4rem; }
.header__menuListItem { text-align: center; color: var(--white-color); font-family: var(--font-en); font-weight: 600; font-size: 2rem; }
.header__menuListItem.disabled { opacity: 0.3; pointer-events: none; }

#wrapper { padding: 6.4rem 0 0; }
#wrapper.menuOpen .header__menuToggleLinkIconBar { opacity: 0; }
#wrapper.menuOpen .header__menuToggleLinkIcon::before, #wrapper.menuOpen .header__menuToggleLinkIcon::after { top: 50%; transition: top 0.2s var(--ease) 0s, transform 0.2s var(--ease) 0.2s; }
#wrapper.menuOpen .header__menuToggleLinkIcon::before { transform: translate(0, -50%) rotate(25deg); }
#wrapper.menuOpen .header__menuToggleLinkIcon::after { width: 100%; transform: translate(0, -50%) rotate(-25deg); }

@media screen and (min-width: 768px) { .header { height: 6rem; }
  .header__inner { padding: 0; justify-content: center; align-items: center; height: 100%; } }
@media screen and (min-width: 768px) and (max-width: 1023px) { .header__inner { justify-content: flex-end; padding: 0 2.38% 0 0; } }
@media screen and (min-width: 768px) { .header__logo { width: 12.9rem; left: 2.38%; top: 2.5rem; }
  .header__menuToggle { display: none; }
  .header__menuContainer { position: static; background: none; display: block; }
  .header__menuInner { height: auto; display: block; }
  .header__menuList { flex-direction: row; column-gap: 3.2rem; } }
@media screen and (min-width: 768px) and (max-width: 1023px) { .header__menuList { column-gap: 2.4rem; } }
@media screen and (min-width: 768px) { .header__menuListItem { color: var(--primary-color); font-size: 1.4rem; }
  .header__menuListItem a { transition: color 0.2s var(--ease) 0s; }
  .header__menuListItem--about a:hover { color: #A253AD; }
  .header__menuListItem--about.isCurrent { color: #A253AD; }
  .header__menuListItem--news a:hover { color: #FF7F4E; }
  .header__menuListItem--news.isCurrent { color: #FF7F4E; }
  .header__menuListItem--lineup a:hover { color: #80E22D; }
  .header__menuListItem--lineup.isCurrent { color: #80E22D; }
  .header__menuListItem--timetable a:hover { color: #4AC1F1; }
  .header__menuListItem--timetable.isCurrent { color: #4AC1F1; }
  .header__menuListItem--tickets a:hover { color: #FF213B; }
  .header__menuListItem--tickets.isCurrent { color: #FF213B; }
  .header__menuListItem--access a:hover { color: #CECECE; }
  .header__menuListItem--access.isCurrent { color: #CECECE; }
  .header__menuListItem--areamap a:hover { color: #B59F63; }
  .header__menuListItem--areamap.isCurrent { color: #B59F63; }
  .header__menuListItem--food a:hover { color: #FF9D00; }
  .header__menuListItem--food.isCurrent { color: #FF9D00; }
  .header__menuListItem--goods a:hover { color: #23BF16; }
  .header__menuListItem--goods.isCurrent { color: #23BF16; }
  .header__menuListItem--precautions a:hover { color: #614DD6; }
  .header__menuListItem--precautions.isCurrent { color: #614DD6; }
  #wrapper { padding: 6rem 0 0; } }
/* --------------------------------------------------
Footer
-------------------------------------------------- */
.footer { position: relative; }
.footer__bg img { aspect-ratio: 1125 / 1044; }
.footer__contents { position: absolute; left: 0; right: 0; top: 56.61%; bottom: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; row-gap: 1.5rem; }
.footer__contentsLinkList { display: flex; justify-content: center; column-gap: 4rem; }
.footer__contentsLinkListItem { width: 2.7rem; }
.footer__contentsLinkListItem img { aspect-ratio: 1; vertical-align: middle; }
.footer__contentsCopyright { color: #000; width: 25.7rem; text-align: center; font-weight: 400; font-size: 1.4rem; line-height: 1.43; }

@media screen and (min-width: 768px) { .footer__bg img { aspect-ratio: 1440 / 458; min-height: 45.8rem; object-fit: cover; }
  .footer__contents { top: 76.42%; row-gap: 1.6rem; }
  .footer__contentsLinkList { column-gap: 2.4rem; }
  .footer__contentsLinkListItem { width: 2rem; }
  .footer__contentsLinkListItem a { transition: opacity 0.4s var(--ease) 0s; }
  .footer__contentsLinkListItem a:hover { opacity: 0.5; }
  .footer__contentsCopyright { width: 100%; } }
