@charset "UTF-8";
.pagination ul, .ticket-cards, .info-list, .site-footer__col-list, .site-nav__list,
.site-nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

@layer reset {
  *,
  *::before,
  *::after {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  * {
    margin: 0;
  }
  html, body {
    block-size: 100%;
  }
  body {
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
  }
  img, picture, video, canvas, svg {
    display: block;
    max-width: 100%;
    height: auto;
  }
  input, button, textarea, select {
    font: inherit;
    color: inherit;
  }
  p, h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word;
  }
  button {
    background: none;
    border: 0;
    padding: 0;
    cursor: pointer;
  }
  a {
    color: inherit;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.2em;
  }
  ul, ol {
    padding: 0;
  }
}
@layer base {
  :root {
    --brand-color: #0e5e4f;
    --brand-color-deep: #062e28;
    --brand-color-soft: #e3eeea;
    --accent-color: #c8102e;
    color-scheme: light;
  }
  html {
    font-size: 100%;
    scroll-behavior: smooth;
  }
  body {
    font-family: "M PLUS 1", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.7;
    color: #1d1d1b;
    background: #ffffff;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
  main {
    display: block;
  }
  a {
    color: #0e5e4f;
    text-decoration: none;
    -webkit-transition: color 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: color 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  a:hover {
    color: #062e28;
    text-decoration: underline;
  }
  h1, h2, h3, h4, h5, h6 {
    font-family: "M PLUS 1", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
    font-weight: 600;
    line-height: 1.25;
    color: #1d1d1b;
  }
  h1 {
    font-size: 2.5rem;
  }
  h2 {
    font-size: 2rem;
  }
  h3 {
    font-size: 1.5rem;
  }
  h4 {
    font-size: 1.25rem;
  }
  p {
    line-height: 1.7;
  }
  ::-moz-selection {
    background: #0e5e4f;
    color: #ffffff;
  }
  ::selection {
    background: #0e5e4f;
    color: #ffffff;
  }
  img {
    vertical-align: middle;
  }
}
@layer layout {
  .l-container {
    width: 92%;
    max-width: 75rem;
    margin-inline: auto;
  }
  .l-container--narrow {
    width: 92%;
    max-width: 55rem;
    margin-inline: auto;
  }
  .l-section {
    padding-block: 4.5rem;
  }
  @media (min-width: 768px) {
    .l-section {
      padding-block: 6rem;
    }
  }
  .l-section--narrow {
    padding-block: 3rem;
  }
  @media (min-width: 768px) {
    .l-section--narrow {
      padding-block: 4.5rem;
    }
  }
  .l-section--brand {
    background: #0e5e4f;
    color: #ffffff;
  }
  .l-section--brand h1, .l-section--brand h2, .l-section--brand h3, .l-section--brand h4 {
    color: #ffffff;
  }
  .l-section--soft {
    background: #f6f7f5;
  }
  .l-section--pale {
    background: #fbf8f3;
  }
  .l-section--green-soft {
    background: #e3eeea;
  }
  .l-section--deep {
    background: #062e28;
    color: #ffffff;
  }
  .l-section--deep h1, .l-section--deep h2, .l-section--deep h3, .l-section--deep h4 {
    color: #ffffff;
  }
}
@layer layout {
  .site-header {
    position: fixed;
    inset-block-start: 0;
    inset-inline-start: 0;
    inset-inline-end: 0;
    z-index: 100;
    -webkit-padding-before: 1.6875rem;
            padding-block-start: 1.6875rem;
    padding-inline: clamp(1rem, 4.84vw, 5.8125rem);
    pointer-events: none;
  }
  body:not(.is-front) .site-header {
    background: transparent;
  }
  .site-header__bar {
    pointer-events: auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: clamp(1rem, 4vw, 5.1875rem);
  }
  @media (min-width: 1024px) {
    .site-header__bar {
      background: #ffffff;
      border-radius: 999px;
      -webkit-box-shadow: 0 6px 18px rgba(13, 40, 35, 0.1);
              box-shadow: 0 6px 18px rgba(13, 40, 35, 0.1);
      block-size: 4rem;
      -webkit-padding-start: 2.625rem;
              padding-inline-start: 2.625rem;
      -webkit-padding-end: clamp(2rem, 4vw, 8.875rem);
              padding-inline-end: clamp(2rem, 4vw, 8.875rem);
    }
  }
  .site-header__logo {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
  }
  .site-header__logo-img {
    display: block;
    block-size: clamp(1.5rem, 2.6vw, 2.125rem);
    inline-size: auto;
  }
  @media (max-width: 1023px) {
    .site-header__logo-img {
      -webkit-filter: brightness(0) invert(1) drop-shadow(0 1px 3px rgba(0, 0, 0, 0.45)) drop-shadow(0 2px 6px rgba(0, 0, 0, 0.35));
              filter: brightness(0) invert(1) drop-shadow(0 1px 3px rgba(0, 0, 0, 0.45)) drop-shadow(0 2px 6px rgba(0, 0, 0, 0.35));
    }
  }
  .site-header__toggle {
    display: none;
  }
  .site-nav {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  @media (max-width: 1023px) {
    .site-nav {
      position: fixed;
      inset-inline: 0;
      inset-block-end: 0;
      background: #ffffff;
      -webkit-border-before: 1px solid #d9d2c0;
              border-block-start: 1px solid #d9d2c0;
      -webkit-box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.06);
              box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.06);
      padding-block: 0;
      -webkit-padding-after: env(safe-area-inset-bottom, 0);
              padding-block-end: env(safe-area-inset-bottom, 0);
      z-index: 110;
    }
  }
  @media (max-width: 1023px) {
    .site-nav {
      -webkit-box-shadow: none;
              box-shadow: none;
    }
  }
  @media (min-width: 1024px) {
    .site-nav {
      -webkit-align-self: stretch;
          -ms-flex-item-align: stretch;
              align-self: stretch;
      -webkit-box-align: stretch;
      -webkit-align-items: stretch;
          -ms-flex-align: stretch;
              align-items: stretch;
    }
  }
  .site-nav__list,
  .site-nav ul {
    inline-size: 100%;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
  }
  @media (min-width: 1024px) {
    .site-nav__list,
    .site-nav ul {
      inline-size: auto;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-align: stretch;
      -webkit-align-items: stretch;
          -ms-flex-align: stretch;
              align-items: stretch;
      gap: 0;
    }
  }
  .site-nav__item,
  .site-nav li {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
  }
  @media (max-width: 1023px) {
    .site-nav__item,
    .site-nav li {
      padding-block: 0.625rem;
    }
  }
  @media (min-width: 1024px) {
    .site-nav__item,
    .site-nav li {
      padding-inline: clamp(0.875rem, 1.5vw, 2.5rem);
    }
  }
  .site-nav__item:not(:first-child)::before,
  .site-nav li:not(:first-child)::before {
    content: "";
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    inset-inline-start: 0;
    inline-size: 1px;
    block-size: 60%;
    background: #d9d2c0;
  }
  @media (min-width: 1024px) {
    .site-nav__item:not(:first-child)::before,
    .site-nav li:not(:first-child)::before {
      block-size: 45%;
      background: #d9ddd9;
    }
  }
  .site-nav__link,
  .site-nav a {
    color: #0e5e4f;
    font-family: "M PLUS 1", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
    font-weight: 500;
    font-size: clamp(0.6875rem, 2.6vw, 0.8125rem);
    text-decoration: none;
    line-height: 1.3;
    text-align: center;
    -webkit-transition: opacity 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), color 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: opacity 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), color 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    padding: 0.375rem 0.25rem;
  }
  @media (min-width: 1024px) {
    .site-nav__link,
    .site-nav a {
      font-size: 1.25rem;
      line-height: 1;
      padding: 0;
    }
  }
  .site-nav__link:hover,
  .site-nav a:hover {
    opacity: 0.7;
  }
  .site-nav .current-menu-item,
  .site-nav .current_page_item,
  .site-nav .current-menu-parent,
  .site-nav .current-menu-ancestor,
  .site-nav .is-current, .site-nav__item:has(> [aria-current=page]) {
    background: #0e5e4f;
  }
  .site-nav .current-menu-item > a,
  .site-nav .current_page_item > a,
  .site-nav .current-menu-parent > a,
  .site-nav .current-menu-ancestor > a,
  .site-nav .is-current > a, .site-nav__item:has(> [aria-current=page]) > a {
    color: #ffffff;
    font-weight: 700;
  }
  .site-nav .current-menu-item::before,
  .site-nav .current_page_item::before,
  .site-nav .current-menu-parent::before,
  .site-nav .current-menu-ancestor::before,
  .site-nav .is-current::before, .site-nav__item:has(> [aria-current=page])::before {
    display: none;
  }
}
@layer layout {
  .contact-cta {
    position: relative;
    background: #e3eeea;
    padding-block: clamp(2rem, 4vw, 3rem) clamp(2.5rem, 5vw, 4rem);
    overflow: hidden;
  }
  .contact-cta__inner {
    position: relative;
    width: 92%;
    max-width: 75rem;
    margin-inline: auto;
    display: grid;
    gap: clamp(1.5rem, 3vw, 3rem);
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  @media (min-width: 768px) {
    .contact-cta__inner {
      grid-template-columns: 1fr 1fr;
    }
  }
  .contact-cta__lead {
    position: relative;
    z-index: 1;
  }
  @media (max-width: 1023px) {
    .contact-cta__lead {
      text-align: center;
    }
  }
  .contact-cta__en {
    font-family: "Cormorant Garamond", "Cormorant", Georgia, serif;
    font-weight: 700;
    font-style: italic;
    font-size: clamp(5rem, 12vw, 12.5rem);
    line-height: 0.85;
    color: #ffffff;
    margin: 0;
    pointer-events: none;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
  }
  .contact-cta__ja {
    position: relative;
    -webkit-margin-before: -3.5em;
            margin-block-start: -3.5em;
    font-family: "M PLUS 1", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
    font-weight: 600;
    font-size: clamp(1.375rem, 2vw, 1.75rem);
    color: #1d1d1b;
    -webkit-margin-after: 1rem;
            margin-block-end: 1rem;
  }
  .contact-cta__text {
    font-size: clamp(0.875rem, 1vw, 1rem);
    line-height: 1.7;
    color: #1d1d1b;
  }
  .contact-cta__actions {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
  @media (min-width: 768px) {
    .contact-cta__actions {
      -webkit-box-align: start;
      -webkit-align-items: flex-start;
          -ms-flex-align: start;
              align-items: flex-start;
    }
  }
  .contact-cta__tel, .contact-cta__form {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 0.5rem;
    padding-block: clamp(0.5rem, 0.8vw, 0.625rem) clamp(0.625rem, 1vw, 0.8125rem);
    padding-inline: clamp(1.25rem, 2.5vw, 2.5rem) clamp(1.5rem, 2.9vw, 2.875rem);
    font-family: "M PLUS 1", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
    font-weight: 500;
    font-size: clamp(1rem, 1.5vw, 1.5rem);
    text-decoration: none;
    border: 2px solid #0e5e4f;
    line-height: 1;
    -webkit-transition: opacity 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), background 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: opacity 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), background 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  .contact-cta__tel svg, .contact-cta__form svg {
    inline-size: 1.5rem;
    block-size: 1.5rem;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
  }
  .contact-cta__tel {
    background: #ffffff;
    color: #0e5e4f;
  }
  .contact-cta__tel:hover {
    opacity: 0.85;
  }
  .contact-cta__form {
    background: #0e5e4f;
    color: #ffffff;
    border-color: #0e5e4f;
  }
  .contact-cta__form:hover {
    background: #0a4a41;
    color: #ffffff;
  }
  .site-footer {
    background: -webkit-gradient(linear, left top, right top, from(#062e28), to(#0a4a41));
    background: -webkit-linear-gradient(left, #062e28 0%, #0a4a41 100%);
    background: linear-gradient(90deg, #062e28 0%, #0a4a41 100%);
    color: #ffffff;
    -webkit-padding-before: clamp(2.5rem, 5vw, 4rem);
            padding-block-start: clamp(2.5rem, 5vw, 4rem);
    -webkit-padding-after: calc(1rem + var(--site-nav-height, 0px));
            padding-block-end: calc(1rem + var(--site-nav-height, 0px));
    position: relative;
  }
  .site-footer__inner {
    width: 92%;
    max-width: 75rem;
    margin-inline: auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-column-gap: 3rem;
       -moz-column-gap: 3rem;
            column-gap: 3rem;
    row-gap: 3rem;
  }
  @media (min-width: 1024px) {
    .site-footer__inner {
      -webkit-box-align: start;
      -webkit-align-items: flex-start;
          -ms-flex-align: start;
              align-items: flex-start;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-column-gap: 1.5rem;
         -moz-column-gap: 1.5rem;
              column-gap: 1.5rem;
      max-width: 82rem;
    }
  }
  .site-footer__brand {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
  }
  @media (min-width: 1024px) {
    .site-footer__brand {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0;
          -ms-flex: 1 1 0px;
              flex: 1 1 0;
      -webkit-box-flex: 1.1;
      -webkit-flex-grow: 1.1;
          -ms-flex-positive: 1.1;
              flex-grow: 1.1;
      min-inline-size: 0;
    }
  }
  .site-footer__col {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 calc(50% - 3rem / 2);
        -ms-flex: 0 0 calc(50% - 3rem / 2);
            flex: 0 0 calc(50% - 3rem / 2);
    min-inline-size: 0;
  }
  @media (min-width: 1024px) {
    .site-footer__col {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0;
          -ms-flex: 1 1 0px;
              flex: 1 1 0;
      -webkit-box-flex: 0.9;
      -webkit-flex-grow: 0.9;
          -ms-flex-positive: 0.9;
              flex-grow: 0.9;
    }
  }
  .site-footer__col--right {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 1rem;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .site-footer__col--right .site-footer__col-list {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    min-inline-size: 0;
  }
  .site-footer__col--right .site-footer__axis {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    -webkit-margin-start: auto;
            margin-inline-start: auto;
  }
  @media (min-width: 1024px) {
    .site-footer__col--right {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0;
          -ms-flex: 1 1 0px;
              flex: 1 1 0;
      -webkit-flex-grow: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
    }
  }
  .site-footer__logo {
    margin: 0;
  }
  .site-footer__logo a {
    display: inline-block;
  }
  .site-footer__logo img {
    display: block;
    block-size: clamp(2rem, 4vw, 2.75rem);
    inline-size: auto;
    -webkit-filter: brightness(0) invert(1);
            filter: brightness(0) invert(1);
  }
  .site-footer__name {
    font-size: clamp(1.125rem, 1.6vw, 1.375rem);
    font-weight: 600;
    line-height: 1.7;
  }
  .site-footer__addr {
    font-size: clamp(0.875rem, 1.4vw, 1.375rem);
    font-weight: 600;
    line-height: 1.7;
  }
  @media (min-width: 768px) {
    .site-footer__addr {
      font-size: 1.05rem;
    }
  }
  .site-footer__col {
    -webkit-border-start: 2px solid rgba(255, 255, 255, 0.45);
            border-inline-start: 2px solid rgba(255, 255, 255, 0.45);
    -webkit-padding-start: 1rem;
            padding-inline-start: 1rem;
  }
  .site-footer__col-title {
    font-size: 1.25rem;
    font-weight: 500;
    color: #ffffff;
    -webkit-margin-after: 1rem;
            margin-block-end: 1rem;
  }
  .site-footer__col-title a {
    color: inherit;
    text-decoration: none;
  }
  .site-footer__col-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
    font-size: 1rem;
    line-height: 2;
    -webkit-padding-start: 1.125rem;
            padding-inline-start: 1.125rem;
  }
  .site-footer__col-list a {
    color: rgba(255, 255, 255, 0.92);
    text-decoration: none;
  }
  .site-footer__col-list a:hover {
    opacity: 0.7;
  }
  .site-footer__col-list--plain {
    -webkit-padding-start: 0;
            padding-inline-start: 0;
  }
  .site-footer__col--right {
    -webkit-border-start: 0;
            border-inline-start: 0;
    -webkit-padding-start: 0;
            padding-inline-start: 0;
  }
  .site-footer__axis {
    display: inline-block;
    inline-size: 8.0625rem;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    -webkit-margin-start: auto;
            margin-inline-start: auto;
    margin-block: 0;
    line-height: 0;
  }
  .site-footer__axis a, .site-footer__axis picture, .site-footer__axis img {
    display: block;
    inline-size: 100%;
    block-size: auto;
    -webkit-transition: opacity 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: opacity 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  .site-footer__axis a:hover {
    opacity: 0.8;
  }
  .site-footer__copy {
    text-align: center;
    font-size: 1rem;
    font-weight: 700;
    color: #0e5e4f;
    background: #ffffff;
    padding-block: 0.6rem;
    padding-inline: 1rem;
    margin-block: 3rem 0;
    -webkit-margin-after: -1rem;
            margin-block-end: -1rem;
  }
}
@layer components {
  .btn {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 0.5rem;
  }
  @media (max-width: 1023px) {
    p > .btn {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      inline-size: -webkit-fit-content;
      inline-size: -moz-fit-content;
      inline-size: fit-content;
      margin-inline: auto;
    }
  }
  .btn {
    padding-block: clamp(0.5rem, 0.8vw, 0.625rem) clamp(0.625rem, 1vw, 0.8125rem);
    padding-inline: clamp(1.25rem, 2.5vw, 2.5rem) clamp(1.5rem, 2.9vw, 2.875rem);
    font-family: "M PLUS 1", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
    font-weight: 500;
    font-size: clamp(0.95rem, 1.25vw, 1.25rem);
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
    border: 2px solid transparent;
    -webkit-transition: opacity 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), background-color 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), color 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), -webkit-transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: opacity 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), background-color 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), color 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), -webkit-transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: opacity 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), background-color 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), color 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: opacity 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), background-color 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), color 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), -webkit-transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    cursor: pointer;
  }
  .btn::after {
    content: "→";
    display: inline-block;
    -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: -webkit-transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), -webkit-transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  .btn:hover {
    opacity: 0.92;
  }
  .btn:hover::after {
    -webkit-transform: translateX(0.25rem);
            transform: translateX(0.25rem);
  }
  .btn:has(svg)::after {
    display: none;
  }
  .btn--primary {
    background: #0e5e4f;
    color: #ffffff;
  }
  .btn--primary:hover {
    background: #0a4a41;
    color: #ffffff;
  }
  .btn--ghost-square {
    background: #ffffff;
    color: #0e5e4f;
    border-color: #0e5e4f;
  }
  .btn--ghost-square:hover {
    background: #0e5e4f;
    color: #ffffff;
  }
  .btn--ghost {
    background: transparent;
    color: #0e5e4f;
    border-color: #0e5e4f;
  }
  .btn--ghost:hover {
    background: #0e5e4f;
    color: #ffffff;
  }
  .btn--on-dark {
    background: #ffffff;
    color: #062e28;
    border-color: #ffffff;
  }
  .btn--on-dark:hover {
    background: #fbf8f3;
    color: #062e28;
  }
  .display-heading {
    font-family: "Shippori Mincho B1", "Yu Mincho", serif;
    font-weight: 700;
    font-size: clamp(1.5rem, 3vw, 3.125rem);
    line-height: 1.4;
    color: #0e5e4f;
    text-align: center;
    margin: 0;
  }
}
@layer components {
  .section-title {
    text-align: center;
    -webkit-margin-after: 3rem;
            margin-block-end: 3rem;
  }
  .section-title--start {
    text-align: start;
  }
  .section-title__eyebrow {
    display: inline-block;
    font-size: 0.75rem;
    letter-spacing: 0.16em;
    color: #0e5e4f;
    text-transform: uppercase;
    -webkit-margin-after: 0.5rem;
            margin-block-end: 0.5rem;
    font-family: "Cormorant Garamond", "Cormorant", Georgia, serif;
    font-weight: 600;
  }
  .section-title__heading {
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.35;
    color: inherit;
  }
  @media (min-width: 768px) {
    .section-title__heading {
      font-size: 2.25rem;
    }
  }
  .section-title__lead {
    -webkit-margin-before: 1rem;
            margin-block-start: 1rem;
    color: #4d524f;
    font-size: 1rem;
    line-height: 1.7;
  }
  .l-section--brand .section-title__lead, .l-section--deep .section-title__lead {
    color: rgba(255, 255, 255, 0.85);
  }
}
@layer components {
  .hero {
    position: relative;
    overflow: hidden;
    background: #062e28;
  }
  .hero__swiper {
    inline-size: 100%;
    block-size: clamp(34rem, 100svh, 56.25rem);
  }
  @media (min-width: 1024px) {
    .hero__swiper {
      block-size: max(34rem, 100svh);
    }
  }
  .hero__slide {
    position: relative;
    inline-size: 100%;
    block-size: 100%;
  }
  .hero__media {
    position: absolute;
    inset: 0;
    inline-size: 100%;
    block-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .hero__copy {
    position: absolute;
    inset-block-start: calc(5.4375rem + clamp(8rem, 28%, 15rem));
    inset-inline-start: clamp(1.5rem, 5.7vw, 6.875rem);
    color: #ffffff;
    z-index: 4;
    pointer-events: none;
  }
  @media (min-width: 1024px) {
    .hero__copy {
      inset-block-start: calc(6.6875rem + clamp(8rem, 28%, 15rem));
    }
  }
  .hero__heading {
    font-family: "Shippori Mincho B1", "Yu Mincho", serif;
    font-weight: 700;
    font-style: normal;
    font-size: clamp(2.4rem, 4.16vw, 5rem);
    line-height: 1.5;
    color: #ffffff;
    text-shadow: 0 0 1.25rem rgba(0, 0, 0, 0.6), 0 0 1.25rem rgba(0, 0, 0, 0.6), 0 0 1.25rem rgba(0, 0, 0, 0.6);
    -webkit-margin-after: clamp(1.5rem, 4vw, 4.5rem);
            margin-block-end: clamp(1.5rem, 4vw, 4.5rem);
  }
  .hero__heading span {
    display: block;
  }
  .hero__lead {
    font-family: "Shippori Mincho B1", "Yu Mincho", serif;
    font-weight: 700;
    font-style: normal;
    font-size: clamp(1.05rem, 1.875vw, 2.25rem);
    line-height: 1.75;
    color: #ffffff;
    text-shadow: 0 0 1.25rem rgba(0, 0, 0, 0.6), 0 0 1.25rem rgba(0, 0, 0, 0.6), 0 0 1.25rem rgba(0, 0, 0, 0.6);
    max-inline-size: 60ch;
  }
  .hero__badge {
    position: absolute;
    inset-block-end: 5rem;
    inset-inline-end: 0;
    background: #0e5e4f;
    color: #ffffff;
    font-family: "M PLUS 1", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
    font-weight: 600;
    font-size: clamp(0.95rem, 1.15vw, 1.375rem);
    line-height: 1;
    padding-block: 1rem;
    -webkit-padding-start: clamp(1.5rem, 4vw, 4rem);
            padding-inline-start: clamp(1.5rem, 4vw, 4rem);
    -webkit-padding-end: clamp(1.5rem, 4vw, 4rem);
            padding-inline-end: clamp(1.5rem, 4vw, 4rem);
    z-index: 5;
  }
  .hero__badge::after {
    content: attr(data-badge);
  }
  @media (min-width: 1024px) {
    .hero__badge {
      inset-block-end: clamp(1rem, 4vw, 4rem);
    }
  }
  .hero__pagination {
    position: absolute;
    inset-block-end: 4rem;
    inset-inline-start: 0;
    inset-inline-end: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 0.5rem;
    z-index: 5;
  }
  @media (min-width: 1024px) {
    .hero__pagination {
      inset-block-end: 1.5rem;
    }
  }
  .hero .swiper-pagination-bullet {
    position: relative;
    inline-size: 0.5rem;
    block-size: 0.5rem;
    background: rgba(255, 255, 255, 0.5);
    opacity: 1;
    border-radius: 999px;
    overflow: hidden;
    -webkit-transition: background-color 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), inline-size 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: background-color 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), inline-size 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  .hero .swiper-pagination-bullet-active {
    background: rgba(255, 255, 255, 0.5);
    inline-size: 1.5rem;
  }
  .hero .swiper-pagination-bullet-active::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #0e5e4f;
    -webkit-transform-origin: left center;
            transform-origin: left center;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-animation: heroBulletFill var(--hero-autoplay-delay, 5500ms) linear forwards;
            animation: heroBulletFill var(--hero-autoplay-delay, 5500ms) linear forwards;
  }
  @-webkit-keyframes heroBulletFill {
    to {
      -webkit-transform: scaleX(1);
              transform: scaleX(1);
    }
  }
  @keyframes heroBulletFill {
    to {
      -webkit-transform: scaleX(1);
              transform: scaleX(1);
    }
  }
}
@layer components {
  .swiper-slide img {
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    pointer-events: none;
  }
  .swiper-pagination {
    inset-block-end: 1rem;
  }
}
@layer components {
  .card {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    background: #ffffff;
    border: 1px solid #d9ddd9;
    border-radius: 16px;
    overflow: hidden;
    block-size: 100%;
    -webkit-transition: border-color 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), -webkit-transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), -webkit-box-shadow 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: border-color 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), -webkit-transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), -webkit-box-shadow 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), border-color 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), border-color 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), -webkit-transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), -webkit-box-shadow 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  .card:hover {
    -webkit-transform: translateY(-3px);
            transform: translateY(-3px);
    -webkit-box-shadow: 0 6px 18px rgba(13, 40, 35, 0.1);
            box-shadow: 0 6px 18px rgba(13, 40, 35, 0.1);
    border-color: transparent;
  }
  .card__media {
    position: relative;
    aspect-ratio: 4/3;
    overflow: hidden;
    background: #f6f7f5;
  }
  .card__media img {
    inline-size: 100%;
    block-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: -webkit-transform 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: transform 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: transform 0.6s cubic-bezier(0.22, 0.61, 0.36, 1), -webkit-transform 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  .card:hover .card__media img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  .card__body {
    padding: 1.5rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.75rem;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
  .card__eyebrow {
    font-size: 0.75rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #0e5e4f;
    font-weight: 600;
  }
  .card__title {
    font-size: 1.15rem;
    font-weight: 600;
    color: #1d1d1b;
    line-height: 1.4;
  }
  .card__text {
    font-size: 0.95rem;
    color: #4d524f;
    line-height: 1.7;
  }
  .card__link {
    display: block;
    color: inherit;
    text-decoration: none;
    block-size: 100%;
  }
  .card__link .card {
    block-size: 100%;
  }
  .card--feature {
    text-align: center;
  }
  .card--feature .card__body {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.75rem;
  }
  .card--feature .card__icon {
    inline-size: 4rem;
    block-size: 4rem;
    border-radius: 50%;
    background: #e3eeea;
    color: #0e5e4f;
    display: grid;
    place-items: center;
    font-weight: 700;
    font-size: 1.25rem;
    -webkit-margin-after: 0.5rem;
            margin-block-end: 0.5rem;
  }
  .card-grid {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: 1fr;
  }
  @media (min-width: 480px) {
    .card-grid {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @media (min-width: 1024px) {
    .card-grid {
      grid-template-columns: repeat(4, 1fr);
    }
  }
  @media (min-width: 1024px) {
    .card-grid--3 {
      grid-template-columns: repeat(3, 1fr);
    }
  }
}
@layer components {
  .ticket {
    display: grid;
    gap: 2rem;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  @media (min-width: 768px) {
    .ticket {
      grid-template-columns: 1.1fr 1fr;
      gap: 3rem;
    }
  }
  @media (min-width: 768px) {
    .ticket--reverse {
      grid-template-columns: 1fr 1.1fr;
      direction: rtl;
    }
    .ticket--reverse > * {
      direction: ltr;
    }
  }
  .ticket__media {
    position: relative;
  }
  .ticket__media img {
    inline-size: 100%;
    block-size: auto;
    border-radius: 8px;
    -webkit-box-shadow: 0 6px 18px rgba(13, 40, 35, 0.1);
            box-shadow: 0 6px 18px rgba(13, 40, 35, 0.1);
  }
  .ticket__media--card img {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg);
    -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: -webkit-transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), -webkit-transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  .ticket__media--card:hover img {
    -webkit-transform: rotate(-1deg);
            transform: rotate(-1deg);
  }
  .ticket__body {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
  }
  .ticket__eyebrow {
    font-size: 0.75rem;
    letter-spacing: 0.16em;
    color: #0e5e4f;
    font-weight: 600;
    text-transform: uppercase;
  }
  .ticket__title {
    font-size: clamp(1.5rem, 3vw, 2rem);
    line-height: 1.4;
    color: inherit;
  }
  .ticket__text {
    font-size: 1rem;
    line-height: 1.7;
    color: #4d524f;
  }
  .l-section--brand .ticket__text, .l-section--deep .ticket__text {
    color: rgba(255, 255, 255, 0.85);
  }
  .ticket__actions {
    -webkit-margin-before: 0.75rem;
            margin-block-start: 0.75rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 1rem;
  }
  .ticket-scenes {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, 1fr);
  }
  @media (min-width: 768px) {
    .ticket-scenes {
      grid-template-columns: repeat(3, 1fr);
      gap: 1.5rem;
    }
  }
  .ticket-scenes__item {
    margin: 0;
    border-radius: 8px;
    overflow: hidden;
    background: #f6f7f5;
  }
  .ticket-scenes__item img {
    inline-size: 100%;
    block-size: 100%;
    aspect-ratio: 1/1;
    -o-object-fit: cover;
       object-fit: cover;
    -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: -webkit-transform 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: transform 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: transform 0.6s cubic-bezier(0.22, 0.61, 0.36, 1), -webkit-transform 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  .ticket-scenes__item figcaption {
    padding: 0.75rem 1rem;
    font-size: 0.9rem;
    color: #1d1d1b;
    font-weight: 500;
    text-align: center;
  }
  .ticket-scenes__item:hover img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}
@layer components {
  .area {
    display: grid;
    gap: 3rem;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  @media (min-width: 768px) {
    .area {
      grid-template-columns: 1fr 1fr;
    }
  }
  .area__media {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    background: #062e28;
  }
  .area__media img {
    inline-size: 100%;
    block-size: auto;
    display: block;
  }
  .area__body {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
  }
  .area__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem 1rem;
  }
  @media (min-width: 768px) {
    .area__list {
      grid-template-columns: repeat(3, 1fr);
    }
  }
  .area__city {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    background: #e3eeea;
    border-radius: 4px;
    font-size: 0.9rem;
    color: #062e28;
    font-weight: 500;
  }
  .area__city::before {
    content: "";
    inline-size: 6px;
    block-size: 6px;
    border-radius: 50%;
    background: #0e5e4f;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
  }
}
@layer components {
  .info-row {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.25rem;
    padding-block: 0.75rem;
    -webkit-border-after: 1px solid #d9ddd9;
            border-block-end: 1px solid #d9ddd9;
  }
  @media (min-width: 480px) {
    .info-row {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-align: baseline;
      -webkit-align-items: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      gap: 1rem;
    }
  }
  .info-row__label {
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
    font-weight: 600;
    color: #0e5e4f;
    font-size: 0.95rem;
    line-height: 1.4;
  }
  @media (min-width: 480px) {
    .info-row__label {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 9.2rem;
          -ms-flex: 0 0 9.2rem;
              flex: 0 0 9.2rem;
    }
  }
  .info-row__value {
    color: #1d1d1b;
    font-size: 1rem;
    line-height: 2;
  }
  .info-list > .info-row:last-child {
    -webkit-border-after: 0;
            border-block-end: 0;
  }
}
@layer components {
  .page-hero {
    position: relative;
    background: -webkit-gradient(linear, left top, right top, from(#062e28), to(#0a4a41));
    background: -webkit-linear-gradient(left, #062e28 0%, #0a4a41 100%);
    background: linear-gradient(90deg, #062e28 0%, #0a4a41 100%);
    min-block-size: clamp(16rem, 24.8vw, 24.8125rem);
    overflow: hidden;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-padding-before: var(--site-header-height, 7rem);
            padding-block-start: var(--site-header-height, 7rem);
  }
  .page-hero__inner {
    position: relative;
    width: 100%;
    padding-inline: clamp(1.25rem, 7.45vw, 8.9375rem);
    z-index: 1;
  }
  .page-hero__en {
    font-family: "Cormorant Garamond", "Cormorant", Georgia, serif;
    font-weight: 700;
    font-style: italic;
    font-size: clamp(4.5rem, 12vw, 12.5rem);
    line-height: 0.9;
    color: #fbf8f3;
    margin: 0;
    pointer-events: none;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
  }
  .page-hero__ja {
    -webkit-margin-before: 0.4em;
            margin-block-start: 0.4em;
    -webkit-margin-after: 0;
            margin-block-end: 0;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1rem;
    font-size: 1.75rem;
    font-weight: 600;
    color: #fbf8f3;
    line-height: 1;
  }
  .page-hero__rule {
    display: inline-block;
    inline-size: clamp(4rem, 13vw, 14.5625rem);
    block-size: 1px;
    background: #fbf8f3;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
  }
  .section-bar {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1rem;
    -webkit-margin-after: 1.5rem;
            margin-block-end: 1.5rem;
  }
  .section-bar::before {
    content: "";
    display: block;
    inline-size: 0.3125rem;
    block-size: 3.125rem;
    background: -webkit-gradient(linear, left top, left bottom, from(#062e28), to(#0a4a41));
    background: -webkit-linear-gradient(top, #062e28 0%, #0a4a41 100%);
    background: linear-gradient(180deg, #062e28 0%, #0a4a41 100%);
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
  }
  .section-bar__heading {
    font-family: "M PLUS 1", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
    font-weight: 600;
    font-size: clamp(1.375rem, 2vw, 1.75rem);
    color: #1d1d1b;
    line-height: 1.2;
    margin: 0;
  }
  .section-bar__sub {
    font-family: "M PLUS 1", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
    font-weight: 600;
    font-size: clamp(1.125rem, 1.6vw, 1.375rem);
    color: #1d1d1b;
    line-height: 1.4;
    margin: 0;
  }
  .section-eyebrow {
    position: relative;
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-margin-after: 3rem;
            margin-block-end: 3rem;
    text-align: center;
  }
  .section-eyebrow__en {
    font-family: "Cormorant Garamond", "Cormorant", Georgia, serif;
    font-weight: 700;
    font-style: italic;
    font-size: clamp(5rem, 12vw, 12.5rem);
    line-height: 0.9;
    color: #e3eeea;
    margin: 0;
    pointer-events: none;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    white-space: nowrap;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
  }
  .section-eyebrow__ja {
    inset-block-end: 30%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    font-size: 1.75rem;
    font-weight: 600;
    color: #1d1d1b;
    margin: 0;
    line-height: 1;
    white-space: nowrap;
  }
  .section-eyebrow--center {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
  }
  .section-eyebrow--center .section-eyebrow__ja {
    inset-inline-start: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .check-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.625rem;
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .check-list__item {
    padding-block: 0.5rem 0.625rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.75rem;
    font-size: 1rem;
    line-height: 2;
    color: #1d1d1b;
    -webkit-border-after: 1px solid #d9ddd9;
            border-block-end: 1px solid #d9ddd9;
  }
  .check-list__item::before {
    content: "";
    display: block;
    inline-size: 0.75rem;
    block-size: 1px;
    background: #0e5e4f;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
  }
  .check-list__item:last-child {
    -webkit-border-after: 0;
            border-block-end: 0;
  }
  .check-list__item--alert {
    color: #c8102e;
  }
  .check-list__item--alert::before {
    background: #c8102e;
  }
  .numbered {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    -webkit-align-items: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    gap: 1rem;
    -webkit-margin-after: 1rem;
            margin-block-end: 1rem;
  }
  .numbered__num {
    font-family: "Cormorant Garamond", "Cormorant", Georgia, serif;
    font-style: italic;
    font-weight: 500;
    font-size: clamp(4rem, 9vw, 7.5rem);
    color: #0e5e4f;
    line-height: 1;
    margin: 0;
  }
  .numbered__label {
    font-size: clamp(1.125rem, 1.6vw, 1.375rem);
    font-weight: 600;
    color: #1d1d1b;
    margin: 0;
  }
  .faq {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.5rem;
  }
  .faq__item {
    -webkit-border-after: 1px solid #d9ddd9;
            border-block-end: 1px solid #d9ddd9;
    padding-block: 1.25rem 1.875rem;
  }
  .faq__q {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 1.5rem;
    -webkit-box-align: baseline;
    -webkit-align-items: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    color: #0e5e4f;
    -webkit-margin-after: 1.25rem;
            margin-block-end: 1.25rem;
  }
  .faq__q::before {
    content: "Q";
    font-family: "Cormorant Garamond", "Cormorant", Georgia, serif;
    font-style: italic;
    font-weight: 700;
    font-size: 2.375rem;
    line-height: 1;
    color: #0e5e4f;
  }
  .faq__q-text {
    font-size: clamp(1.125rem, 1.6vw, 1.375rem);
    font-weight: 600;
    color: #0e5e4f;
    margin: 0;
    line-height: 1.7;
  }
  .faq__a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 1.875rem;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .faq__a::before {
    content: "A";
    font-family: "Cormorant Garamond", "Cormorant", Georgia, serif;
    font-style: italic;
    font-weight: 700;
    font-size: 2.375rem;
    line-height: 1;
    color: #c8102e;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
  }
  .faq__a-text {
    font-size: 1rem;
    line-height: 2;
    color: #1d1d1b;
    margin: 0;
  }
  .faq__group-title {
    -webkit-margin-before: 1.5rem;
            margin-block-start: 1.5rem;
    -webkit-margin-after: 1rem;
            margin-block-end: 1rem;
  }
  .news-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.125rem;
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .news-list__item {
    -webkit-border-after: 1px solid #d9ddd9;
            border-block-end: 1px solid #d9ddd9;
    -webkit-padding-after: 1.125rem;
            padding-block-end: 1.125rem;
  }
  .news-list__item:last-child {
    -webkit-border-after: 0;
            border-block-end: 0;
    -webkit-padding-after: 0;
            padding-block-end: 0;
  }
  .news-list__link {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1.5rem;
    text-decoration: none;
    color: inherit;
    -webkit-transition: opacity 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: opacity 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  .news-list__link:hover {
    opacity: 0.7;
  }
  .news-list__media {
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    inline-size: clamp(8rem, 20%, 15rem);
    aspect-ratio: 240/160;
    overflow: hidden;
    background: #f6f7f5;
  }
  .news-list__media img {
    inline-size: 100%;
    block-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .news-list__body {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.5rem;
  }
  .news-list__date {
    font-size: 1.125rem;
    font-weight: 500;
    color: #0e5e4f;
  }
  .news-list__title {
    font-size: 1.125rem;
    font-weight: 500;
    color: #1d1d1b;
    line-height: 1.5;
  }
  .tag-box {
    background: #fbf8f3;
    border: 1px solid #d9d2c0;
    padding: 2rem clamp(1rem, 4vw, 6rem);
    -webkit-margin-after: 3rem;
            margin-block-end: 3rem;
  }
  .tag-box__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 1rem clamp(1.25rem, 3vw, 3rem);
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .tag-box__link {
    color: #0e5e4f;
    font-size: 1.125rem;
    font-weight: 500;
    text-decoration: none;
    line-height: 1.3;
    white-space: nowrap;
  }
  .tag-box__link:hover {
    opacity: 0.7;
  }
}
@layer components {
  .ticket-cards {
    display: grid;
    gap: 2.5rem;
    grid-template-columns: 1fr;
  }
  @media (min-width: 768px) {
    .ticket-cards {
      grid-template-columns: repeat(3, 1fr);
    }
  }
  .ticket-cards > li {
    block-size: 100%;
  }
  .ticket-card {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    block-size: 100%;
    background: #ffffff;
    text-decoration: none;
    color: inherit;
    padding: 0 0 1.5rem;
    -webkit-box-shadow: 0 0.625rem 1.25rem rgba(0, 0, 0, 0.2);
            box-shadow: 0 0.625rem 1.25rem rgba(0, 0, 0, 0.2);
    -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), -webkit-box-shadow 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: -webkit-transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), -webkit-box-shadow 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), -webkit-transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), -webkit-box-shadow 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  .ticket-card:hover {
    -webkit-transform: translateY(-0.25rem);
            transform: translateY(-0.25rem);
    -webkit-box-shadow: 0 1rem 1.875rem rgba(0, 0, 0, 0.25);
            box-shadow: 0 1rem 1.875rem rgba(0, 0, 0, 0.25);
  }
  .ticket-card__media {
    margin: 0;
    aspect-ratio: 520/460;
    overflow: hidden;
    background: #f6f7f5;
  }
  .ticket-card__media img {
    inline-size: 100%;
    block-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .ticket-card__title {
    font-size: clamp(1.125rem, 1.6vw, 1.375rem);
    font-weight: 600;
    color: #1d1d1b;
    text-align: center;
    margin: 1.75rem 1rem 0.75rem;
    line-height: 1.4;
  }
  .ticket-card__text {
    font-size: 1rem;
    line-height: 2;
    color: #1d1d1b;
    text-align: center;
    padding-inline: 1.25rem;
    -webkit-margin-after: 1.25rem;
            margin-block-end: 1.25rem;
  }
  .ticket-card__btn {
    -webkit-align-self: center;
        -ms-flex-item-align: center;
            align-self: center;
    -webkit-margin-before: auto;
            margin-block-start: auto;
    font-size: 1rem;
    padding-block: 0.5rem 0.6875rem;
    padding-inline: 1.75rem 2rem;
  }
  .about-grid {
    display: grid;
    gap: clamp(1.5rem, 4vw, 4rem);
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  @media (min-width: 768px) {
    .about-grid {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
  }
  .about-grid__media {
    margin: 0;
    aspect-ratio: 1/1;
    overflow: hidden;
    inline-size: 100%;
    max-inline-size: 36.25rem;
  }
  .about-grid__media img {
    inline-size: 100%;
    block-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .about-grid__body {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.75rem;
  }
}
@layer components {
  .ticket-subnav {
    background: #f6f7f5;
    -webkit-border-after: 1px solid #d9ddd9;
            border-block-end: 1px solid #d9ddd9;
  }
  .ticket-subnav__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 0;
  }
  .ticket-subnav__item {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    min-inline-size: 0;
    text-align: center;
  }
  .ticket-subnav__link {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-block-size: 3.25rem;
    padding-block: 0.75rem;
    padding-inline: 0.75rem;
    color: #4d524f;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.25;
    position: relative;
    -webkit-transition: color 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), background-color 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: color 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), background-color 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  @media (min-width: 1024px) {
    .ticket-subnav__link {
      font-size: 1rem;
      min-block-size: 4rem;
      padding-inline: 1rem;
    }
  }
  .ticket-subnav__link:hover, .ticket-subnav__link:focus-visible {
    color: #0e5e4f;
    background: rgba(14, 94, 79, 0.06);
  }
  .ticket-subnav__item.is-current .ticket-subnav__link {
    background: #0e5e4f;
    color: #ffffff;
    cursor: default;
  }
  .ticket-subnav__item.is-current .ticket-subnav__link:hover, .ticket-subnav__item.is-current .ticket-subnav__link:focus-visible {
    background: #0e5e4f;
    color: #ffffff;
  }
}
@layer components {
  .about-page {
    display: grid;
    gap: clamp(1.5rem, 3vw, 3rem);
  }
  @media (min-width: 768px) {
    .about-page {
      grid-template-columns: minmax(0, 0.85fr) minmax(0, 1fr);
    }
  }
  .about-page__media {
    margin: 0;
    background: #062e28;
    overflow: hidden;
  }
  .about-page__media img {
    inline-size: 100%;
    block-size: auto;
    display: block;
  }
  .about-page__body {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
  }
  .member-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
  }
  @media (min-width: 768px) {
    .member-grid {
      grid-template-columns: repeat(3, 1fr);
    }
  }
  .member-grid__cell {
    padding-block: 0.5rem 1rem;
    padding-inline: 0;
    -webkit-border-before: 1px solid #d9ddd9;
            border-block-start: 1px solid #d9ddd9;
    font-size: 1rem;
    line-height: 2;
  }
  .member-grid__link {
    color: inherit;
    text-decoration: none;
    -webkit-transition: color 0.2s ease;
    transition: color 0.2s ease;
  }
  .member-grid__link:hover, .member-grid__link:focus-visible {
    color: #0e5e4f;
    text-decoration: underline;
  }
  .member-grid__cell--blank {
    display: none;
  }
  @media (min-width: 768px) {
    .member-grid__cell--blank {
      display: block;
    }
  }
  .ticket-slider {
    inline-size: 100%;
    block-size: 100%;
  }
  .ticket-slider .swiper-slide {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding-inline: 3rem;
    padding-block: 1rem 1.75rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .ticket-slider picture {
    display: block;
    inline-size: 100%;
    block-size: 100%;
    border-radius: 8px;
    -webkit-box-shadow: 0 8px 24px rgba(13, 40, 35, 0.18);
            box-shadow: 0 8px 24px rgba(13, 40, 35, 0.18);
    overflow: hidden;
  }
  .ticket-slider img {
    inline-size: 100%;
    block-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .ticket-slider .swiper-slide--contain picture {
    background: #f6f7f5;
  }
  .ticket-slider .swiper-slide--contain img {
    -o-object-fit: contain;
       object-fit: contain;
  }
  .ticket-slider .swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.6);
    border: 1px solid #0e5e4f;
    opacity: 1;
  }
  .ticket-slider .swiper-pagination-bullet-active {
    background: #0e5e4f;
  }
  .ticket-slider .swiper-button-prev,
  .ticket-slider .swiper-button-next {
    inline-size: 2.5rem;
    block-size: 2.5rem;
    -webkit-margin-before: -1.25rem;
            margin-block-start: -1.25rem;
    color: #0e5e4f;
    -webkit-transition: opacity 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: opacity 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    z-index: 5;
  }
  .ticket-slider .swiper-button-prev:hover,
  .ticket-slider .swiper-button-next:hover {
    opacity: 0.7;
  }
  .ticket-slider .swiper-button-prev::after,
  .ticket-slider .swiper-button-next::after {
    font-size: 1.5rem;
    font-weight: 700;
    color: inherit;
  }
  .ticket-slider .swiper-button-prev {
    inset-inline-start: 0.25rem;
  }
  .ticket-slider .swiper-button-next {
    inset-inline-end: 0.25rem;
  }
  .ticket-detail {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(1.5rem, 4vw, 4rem);
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  @media (min-width: 768px) {
    .ticket-detail {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
  }
  @media (min-width: 768px) {
    .ticket-detail--reverse .ticket-detail__media {
      -webkit-box-ordinal-group: 3;
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2;
    }
    .ticket-detail--reverse .ticket-detail__body {
      -webkit-box-ordinal-group: 2;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1;
    }
  }
  .ticket-detail__media {
    margin: 0;
    overflow: hidden;
    background: #f6f7f5;
    aspect-ratio: 4/3;
    border-radius: 8px;
    inline-size: 100%;
    margin-inline: auto;
  }
  .ticket-detail__media img {
    inline-size: 100%;
    block-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .ticket-detail__media:has(.ticket-slider) {
    overflow: visible;
    background: transparent;
    border-radius: 0;
  }
  .ticket-detail__body {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.5rem;
  }
  .ticket-howto {
    background: #fbf8f3;
    border: 1px solid #d9d2c0;
    padding: clamp(1.25rem, 3vw, 2rem) clamp(1.5rem, 4vw, 4rem);
  }
  .scene-list {
    display: grid;
    gap: clamp(2rem, 4vw, 4.5rem);
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .scene-list__item {
    display: grid;
    gap: clamp(1rem, 3vw, 2rem);
    -webkit-box-align: start;
    -webkit-align-items: start;
        -ms-flex-align: start;
            align-items: start;
  }
  @media (min-width: 768px) {
    .scene-list__item {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
  }
  @media (min-width: 768px) {
    .scene-list__item--reverse .scene-list__media {
      -webkit-box-ordinal-group: 3;
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2;
    }
    .scene-list__item--reverse .scene-list__body {
      -webkit-box-ordinal-group: 2;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1;
    }
  }
  .scene-list__media {
    margin: 0;
    aspect-ratio: 4/3;
    overflow: hidden;
    background: #f6f7f5;
  }
  .scene-list__media img {
    inline-size: 100%;
    block-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .scene-list__body {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.5rem;
  }
  .access-grid {
    display: grid;
    gap: clamp(1.5rem, 3vw, 3rem);
  }
  @media (min-width: 768px) {
    .access-grid {
      grid-template-columns: minmax(0, 0.7fr) minmax(0, 1fr);
    }
  }
  .access-grid__media {
    margin: 0;
    aspect-ratio: 4/3;
    overflow: hidden;
    background: #f6f7f5;
  }
  .access-grid__media iframe {
    inline-size: 100%;
    block-size: 100%;
    border: 0;
  }
  .contact-page {
    display: grid;
    gap: clamp(1.5rem, 4vw, 4rem);
  }
  @media (min-width: 1280px) {
    .contact-page {
      grid-template-columns: minmax(0, 0.5fr) minmax(0, 1fr);
    }
  }
  .contact-page__aside {
    background: #fbf8f3;
    border: 1px solid #d9d2c0;
    padding: clamp(2rem, 5vw, 4rem) clamp(1.5rem, 3vw, 2.5rem);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.5rem;
    block-size: -webkit-fit-content;
    block-size: -moz-fit-content;
    block-size: fit-content;
  }
  .contact-page__aside-title {
    font-size: clamp(1.375rem, 1.4vw, 1.75rem);
    font-weight: 600;
    color: #1d1d1b;
    margin: 0;
  }
  .contact-page__tel {
    -webkit-align-self: stretch;
        -ms-flex-item-align: stretch;
            align-self: stretch;
    padding-inline: 1.25rem 1.5rem;
  }
  .contact-page__hours {
    font-size: 1rem;
    line-height: 2;
    color: #1d1d1b;
  }
  .contact-form {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: clamp(1.5rem, 3vw, 3rem);
  }
  .contact-form .wpcf7,
  .contact-form .wpcf7-form {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: clamp(1.5rem, 2.5vw, 2rem);
  }
  .contact-form__field > p, .contact-form__row > p {
    margin: 0;
  }
  .contact-form__row {
    display: grid;
    gap: clamp(1rem, 2vw, 2rem);
  }
  @media (min-width: 480px) {
    .contact-form__row {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
  }
  .contact-form__field {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.625rem;
  }
  .contact-form__label {
    font-size: clamp(1.125rem, 1.6vw, 1.375rem);
    font-weight: 600;
    color: #1d1d1b;
    line-height: 1.4;
  }
  .contact-form__input, .contact-form__textarea {
    inline-size: 100%;
    background: #fbf8f3;
    border: 1px solid #d9d2c0;
    padding: 1rem 1.25rem;
    font-family: inherit;
    font-size: 1rem;
    line-height: 1.7;
  }
  .contact-form__input:focus, .contact-form__textarea:focus {
    outline: 2px solid #0e5e4f;
    outline-offset: 2px;
  }
  .contact-form__input {
    block-size: 5rem;
  }
  .contact-form__textarea {
    resize: vertical;
    min-block-size: 17.5rem;
  }
  .pagination ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 1rem 1.5rem;
    font-family: "M PLUS 1", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
    font-weight: 500;
    font-size: 1.25rem;
    color: #0e5e4f;
  }
  .pagination ul a, .pagination ul .current {
    color: #0e5e4f;
    text-decoration: none;
  }
  .pagination ul a:hover, .pagination ul .current:hover {
    opacity: 0.7;
  }
  .pagination ul .current {
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 0.3em;
  }
  .news-detail__date {
    color: #0e5e4f;
    font-size: 1.125rem;
    font-weight: 500;
  }
  .news-detail__title {
    -webkit-margin-before: 0.5rem;
            margin-block-start: 0.5rem;
    font-size: clamp(1.5rem, 2.4vw, 2rem);
    font-weight: 600;
    line-height: 1.45;
  }
  .news-detail__rule {
    border: 0;
    -webkit-border-before: 1px solid #d9ddd9;
            border-block-start: 1px solid #d9ddd9;
    margin-block: 1.5rem 1.5rem;
  }
  .news-detail__media {
    margin-block: 1.5rem;
    text-align: center;
  }
  .news-detail__media img {
    display: inline-block;
    max-inline-size: 100%;
  }
  .news-detail__nav {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: clamp(1rem, 3vw, 2rem);
  }
  .news-detail__nav a {
    color: #0e5e4f;
    text-decoration: none;
    font-weight: 500;
  }
  .news-detail__nav-prev, .news-detail__nav-next {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    text-align: center;
  }
  .prose {
    font-size: 1rem;
    line-height: 2;
    color: #1d1d1b;
  }
  .prose p + p {
    -webkit-margin-before: 1rem;
            margin-block-start: 1rem;
  }
  .prose ul, .prose ol {
    -webkit-padding-start: 1.5rem;
            padding-inline-start: 1.5rem;
  }
  .prose ul li, .prose ol li {
    line-height: 2;
  }
}
@layer utilities {
  .u-text-center {
    text-align: center;
  }
  .u-text-start {
    text-align: start;
  }
  .u-text-end {
    text-align: end;
  }
  .u-text-right {
    text-align: right;
  }
  .u-mt-md {
    -webkit-margin-before: 1rem;
            margin-block-start: 1rem;
  }
  .u-mt-lg {
    -webkit-margin-before: 1.5rem;
            margin-block-start: 1.5rem;
  }
  .u-mt-xl {
    -webkit-margin-before: 2rem;
            margin-block-start: 2rem;
  }
  .u-mt-2xl {
    -webkit-margin-before: 3rem;
            margin-block-start: 3rem;
  }
  .u-mb-md {
    -webkit-margin-after: 1rem;
            margin-block-end: 1rem;
  }
  .u-mb-lg {
    -webkit-margin-after: 1.5rem;
            margin-block-end: 1.5rem;
  }
  .u-mb-xl {
    -webkit-margin-after: 2rem;
            margin-block-end: 2rem;
  }
  .u-mb-2xl {
    -webkit-margin-after: 3rem;
            margin-block-end: 3rem;
  }
  .u-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
  }
  .u-skip-link {
    position: absolute;
    inset-block-start: -3rem;
    inset-inline-start: 1rem;
    background: #0e5e4f;
    color: #ffffff;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    z-index: 201;
    -webkit-transition: top 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: top 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  .u-skip-link:focus {
    inset-block-start: 1rem;
  }
}
@layer utilities {
  @media (prefers-reduced-motion: no-preference) {
    [data-reveal] {
      opacity: 0;
      -webkit-transform: translate3d(0, 1.5rem, 0);
              transform: translate3d(0, 1.5rem, 0);
      -webkit-transition: opacity 0.8s cubic-bezier(0.22, 0.61, 0.36, 1), -webkit-transform 0.8s cubic-bezier(0.22, 0.61, 0.36, 1);
      transition: opacity 0.8s cubic-bezier(0.22, 0.61, 0.36, 1), -webkit-transform 0.8s cubic-bezier(0.22, 0.61, 0.36, 1);
      transition: opacity 0.8s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.8s cubic-bezier(0.22, 0.61, 0.36, 1);
      transition: opacity 0.8s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.8s cubic-bezier(0.22, 0.61, 0.36, 1), -webkit-transform 0.8s cubic-bezier(0.22, 0.61, 0.36, 1);
      -webkit-transition-delay: var(--reveal-delay, 0s);
              transition-delay: var(--reveal-delay, 0s);
      will-change: opacity, transform;
    }
    [data-reveal=left] {
      -webkit-transform: translate3d(-1.5rem, 0, 0);
              transform: translate3d(-1.5rem, 0, 0);
    }
    [data-reveal=right] {
      -webkit-transform: translate3d(1.5rem, 0, 0);
              transform: translate3d(1.5rem, 0, 0);
    }
    [data-reveal=scale] {
      -webkit-transform: scale(0.96);
              transform: scale(0.96);
    }
    [data-reveal=fade] {
      -webkit-transform: none;
              transform: none;
    }
    [data-reveal].is-revealed {
      opacity: 1;
      -webkit-transform: none;
              transform: none;
    }
  }
}
@layer reset, base, layout, components, utilities;
.section-eyebrow--center {
  display: block;
  margin: auto;
}

.faq {
  list-style: none;
}

.ticket-slider .swiper-slide {
  padding-inline: 3rem;
}

.ticket-slider .swiper-slide--contain picture {
  background: none;
}

.ticket-slider picture {
  -webkit-filter: drop-shadow(0 6px 14px rgba(13, 40, 35, 0.22));
          filter: drop-shadow(0 6px 14px rgba(13, 40, 35, 0.22));
}

.ticket-slider {
  overflow-x: clip;
  overflow-y: visible;
}

.hero {
  --swiper-theme-color: #0e5e4f;
  --swiper-pagination-color: #0e5e4f;
  --swiper-pagination-bullet-inactive-color: rgba(255, 255, 255, 0.5);
  --swiper-pagination-bullet-inactive-opacity: 1;
}
.hero .swiper-pagination-bullet {
  inline-size: 0.6rem;
  block-size: 0.6rem;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 999px;
  overflow: hidden;
  position: relative;
  opacity: 1;
  -webkit-transition: inline-size 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
  transition: inline-size 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.hero .swiper-pagination-bullet-active {
  background: rgba(255, 255, 255, 0.5);
  inline-size: 6rem;
}

.ticket-slider {
  --swiper-theme-color: #0e5e4f;
  --swiper-navigation-color: #0e5e4f;
  --swiper-pagination-color: #0e5e4f;
}
.ticket-slider .swiper-button-prev,
.ticket-slider .swiper-button-next {
  color: #0e5e4f;
}
.ticket-slider .swiper-pagination-bullet {
  background: rgba(255, 255, 255, 0.6);
  border: 1px solid #0e5e4f;
  opacity: 1;
}
.ticket-slider .swiper-pagination-bullet-active {
  background: #0e5e4f;
}

.ticket-slider picture {
  block-size: auto;
}

.ticket-slider .swiper-slide {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.ticket-slider img {
  inline-size: auto;
  block-size: auto;
  max-inline-size: 100%;
  max-block-size: 100%;
}

.hero__badge {
  background: none;
}
.hero__badge::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #0e5e4f;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  opacity: 0;
  z-index: -1;
  -webkit-transition: opacity 0s, -webkit-transform 1s cubic-bezier(0.22, 0.61, 0.36, 1);
  transition: opacity 0s, -webkit-transform 1s cubic-bezier(0.22, 0.61, 0.36, 1);
  transition: transform 1s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0s;
  transition: transform 1s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0s, -webkit-transform 1s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.hero__badge::after {
  position: relative;
  opacity: 0;
  top: 6px;
}

.swiper-slide-prev .hero__badge::after,
.swiper-slide-next .hero__badge::after {
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}

.swiper-slide-active .hero__badge::before {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1;
}
.swiper-slide-active .hero__badge::after {
  opacity: 1;
  top: 0;
  -webkit-transition-delay: 1.6s;
          transition-delay: 1.6s;
  -webkit-transition-duration: 0.6s;
          transition-duration: 0.6s;
}

@media (max-width: 1023px) {
  .site-footer__col {
    -webkit-align-self: baseline;
        -ms-flex-item-align: baseline;
            align-self: baseline;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 calc(50% - 1rem);
        -ms-flex: 0 0 calc(50% - 1rem);
            flex: 0 0 calc(50% - 1rem);
  }
  .site-footer__col--right {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
  }
  .site-footer__col-title {
    font-size: 1.1rem;
  }
  .site-footer__col-list {
    font-size: 0.9rem;
  }
  .site-footer__inner {
    -webkit-column-gap: 1rem;
       -moz-column-gap: 1rem;
            column-gap: 1rem;
  }
}/*# sourceMappingURL=style.css.map */