/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: var(--font-montserrat);
    --font-serif: var(--font-eb-garamond);
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-gray-200: #D9D9D9;
    --color-gray-300: #C2C2C2;
    --color-gray-700: #4F4F4F;
    --color-gray-900: #242424;
    --color-black: #000000;
    --color-white: #FFFFFF;
    --spacing: 0.25rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --text-5xl: 3rem;
    --text-5xl--line-height: 1;
    --text-6xl: 3.75rem;
    --text-6xl--line-height: 1;
    --text-8xl: 6rem;
    --text-8xl--line-height: 1;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --tracking-widest: 0.1em;
    --radius-3xl: 1.5rem;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --color-mint-100: #E0F5ED;
    --color-mint-300: #A0E5CD;
    --color-mint-400: #7CDAB9;
    --color-mint-500: #5ECCA6;
    --color-mint-700: #31AF83;
    --color-mint-800: #15976A;
    --color-mint-900: #047B51;
    --color-mint-secondary: var(--color-mint-400);
    --color-gray-primary: var(--color-gray-700);
    --font-noto-sans-jp: "Noto Sans JP", sans-serif;
    --font-eb-garamond: "EB Garamond", serif;
    --font-montserrat: "Montserrat", sans-serif;
    --ease-linear: linear;
    --ease-out-cubic: cubic-bezier(0.33, 1, 0.68, 1);
    --ease-in-out-cubic: cubic-bezier(0.65, 0, 0.35, 1);
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .pointer-events-none {
    pointer-events: none;
  }
  .relative {
    position: relative;
  }
  .z-10 {
    z-index: 10;
  }
  .col-span-2 {
    grid-column: span 2 / span 2;
  }
  .container {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
  .-mx-\[5\%\] {
    margin-inline: calc(5% * -1);
  }
  .mx-10 {
    margin-inline: calc(var(--spacing) * 10);
  }
  .mx-12 {
    margin-inline: calc(var(--spacing) * 12);
  }
  .mx-auto {
    margin-inline: auto;
  }
  .mt-1\.5 {
    margin-top: calc(var(--spacing) * 1.5);
  }
  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }
  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }
  .mt-9 {
    margin-top: calc(var(--spacing) * 9);
  }
  .mt-16 {
    margin-top: calc(var(--spacing) * 16);
  }
  .mb-0 {
    margin-bottom: calc(var(--spacing) * 0);
  }
  .mb-1 {
    margin-bottom: calc(var(--spacing) * 1);
  }
  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }
  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }
  .mb-5 {
    margin-bottom: calc(var(--spacing) * 5);
  }
  .mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }
  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }
  .mb-9 {
    margin-bottom: calc(var(--spacing) * 9);
  }
  .mb-12 {
    margin-bottom: calc(var(--spacing) * 12);
  }
  .mb-14 {
    margin-bottom: calc(var(--spacing) * 14);
  }
  .mb-\[\.25em\] {
    margin-bottom: .25em;
  }
  .ml-auto {
    margin-left: auto;
  }
  .block {
    display: block;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline-block {
    display: inline-block;
  }
  .aspect-square {
    aspect-ratio: 1 / 1;
  }
  .h-auto {
    height: auto;
  }
  .w-4 {
    width: calc(var(--spacing) * 4);
  }
  .w-27 {
    width: calc(var(--spacing) * 27);
  }
  .w-\[80\%\] {
    width: 80%;
  }
  .w-fit {
    width: fit-content;
  }
  .w-full {
    width: 100%;
  }
  .max-w-\[800px\] {
    max-width: 800px;
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .grid-cols-\[auto_1fr\] {
    grid-template-columns: auto 1fr;
  }
  .grid-cols-subgrid {
    grid-template-columns: subgrid;
  }
  .flex-col {
    flex-direction: column;
  }
  .items-center {
    align-items: center;
  }
  .justify-center {
    justify-content: center;
  }
  .justify-end {
    justify-content: flex-end;
  }
  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-5 {
    gap: calc(var(--spacing) * 5);
  }
  .gap-8 {
    gap: calc(var(--spacing) * 8);
  }
  .gap-\[1\.8em\] {
    gap: 1.8em;
  }
  .gap-\[1px\] {
    gap: 1px;
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .rounded-3xl {
    border-radius: var(--radius-3xl);
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-\[2px\] {
    border-style: var(--tw-border-style);
    border-width: 2px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-dashed {
    --tw-border-style: dashed;
    border-style: dashed;
  }
  .border-gray-900 {
    border-color: var(--color-gray-900);
  }
  .border-mint-secondary {
    border-color: var(--color-mint-secondary);
  }
  .bg-gray-900 {
    background-color: var(--color-gray-900);
  }
  .bg-mint-100 {
    background-color: var(--color-mint-100);
  }
  .bg-white {
    background-color: var(--color-white);
  }
  .p-6 {
    padding: calc(var(--spacing) * 6);
  }
  .px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }
  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }
  .pt-5 {
    padding-top: calc(var(--spacing) * 5);
  }
  .pt-\[\.2em\] {
    padding-top: .2em;
  }
  .pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
  }
  .pb-5 {
    padding-bottom: calc(var(--spacing) * 5);
  }
  .pb-9 {
    padding-bottom: calc(var(--spacing) * 9);
  }
  .text-center {
    text-align: center;
  }
  .font-montserrat {
    font-family: var(--font-montserrat);
  }
  .font-serif {
    font-family: var(--font-serif);
  }
  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }
  .text-3xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
  }
  .text-4xl {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }
  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }
  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .text-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }
  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .text-\[26px\] {
    font-size: 26px;
  }
  .text-\[28px\] {
    font-size: 28px;
  }
  .text-\[30px\] {
    font-size: 30px;
  }
  .leading-\[1\.5em\] {
    --tw-leading: 1.5em;
    line-height: 1.5em;
  }
  .leading-\[1\.6em\] {
    --tw-leading: 1.6em;
    line-height: 1.6em;
  }
  .leading-\[1\.35em\] {
    --tw-leading: 1.35em;
    line-height: 1.35em;
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .tracking-widest {
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
  }
  .text-gray-900 {
    color: var(--color-gray-900);
  }
  .text-mint-500 {
    color: var(--color-mint-500);
  }
  .text-mint-secondary {
    color: var(--color-mint-secondary);
  }
  .uppercase {
    text-transform: uppercase;
  }
  .group-hover\:text-mint-700 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        color: var(--color-mint-700);
      }
    }
  }
  .hover\:border-mint-700 {
    &:hover {
      @media (hover: hover) {
        border-color: var(--color-mint-700);
      }
    }
  }
  .hover\:opacity-50 {
    &:hover {
      @media (hover: hover) {
        opacity: 50%;
      }
    }
  }
  .md\:pointer-events-none {
    @media (width >= 48rem) {
      pointer-events: none;
    }
  }
  .md\:col-span-2 {
    @media (width >= 48rem) {
      grid-column: span 2 / span 2;
    }
  }
  .md\:mx-0 {
    @media (width >= 48rem) {
      margin-inline: calc(var(--spacing) * 0);
    }
  }
  .md\:mx-auto {
    @media (width >= 48rem) {
      margin-inline: auto;
    }
  }
  .md\:mt-0 {
    @media (width >= 48rem) {
      margin-top: calc(var(--spacing) * 0);
    }
  }
  .md\:mt-3 {
    @media (width >= 48rem) {
      margin-top: calc(var(--spacing) * 3);
    }
  }
  .md\:mb-4 {
    @media (width >= 48rem) {
      margin-bottom: calc(var(--spacing) * 4);
    }
  }
  .md\:mb-6 {
    @media (width >= 48rem) {
      margin-bottom: calc(var(--spacing) * 6);
    }
  }
  .md\:mb-7 {
    @media (width >= 48rem) {
      margin-bottom: calc(var(--spacing) * 7);
    }
  }
  .md\:mb-8 {
    @media (width >= 48rem) {
      margin-bottom: calc(var(--spacing) * 8);
    }
  }
  .md\:mb-9 {
    @media (width >= 48rem) {
      margin-bottom: calc(var(--spacing) * 9);
    }
  }
  .md\:mb-12 {
    @media (width >= 48rem) {
      margin-bottom: calc(var(--spacing) * 12);
    }
  }
  .md\:mb-15 {
    @media (width >= 48rem) {
      margin-bottom: calc(var(--spacing) * 15);
    }
  }
  .md\:ml-auto {
    @media (width >= 48rem) {
      margin-left: auto;
    }
  }
  .md\:block {
    @media (width >= 48rem) {
      display: block;
    }
  }
  .md\:grid {
    @media (width >= 48rem) {
      display: grid;
    }
  }
  .md\:hidden {
    @media (width >= 48rem) {
      display: none;
    }
  }
  .md\:w-7 {
    @media (width >= 48rem) {
      width: calc(var(--spacing) * 7);
    }
  }
  .md\:w-\[80\%\] {
    @media (width >= 48rem) {
      width: 80%;
    }
  }
  .md\:w-\[93\%\] {
    @media (width >= 48rem) {
      width: 93%;
    }
  }
  .md\:w-auto {
    @media (width >= 48rem) {
      width: auto;
    }
  }
  .md\:grid-cols-2 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .md\:grid-cols-3 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .md\:grid-cols-\[1fr_2fr\] {
    @media (width >= 48rem) {
      grid-template-columns: 1fr 2fr;
    }
  }
  .md\:grid-cols-\[1fr_3fr\] {
    @media (width >= 48rem) {
      grid-template-columns: 1fr 3fr;
    }
  }
  .md\:grid-cols-\[4fr_5fr\] {
    @media (width >= 48rem) {
      grid-template-columns: 4fr 5fr;
    }
  }
  .md\:grid-cols-subgrid {
    @media (width >= 48rem) {
      grid-template-columns: subgrid;
    }
  }
  .md\:items-center {
    @media (width >= 48rem) {
      align-items: center;
    }
  }
  .md\:gap-5 {
    @media (width >= 48rem) {
      gap: calc(var(--spacing) * 5);
    }
  }
  .md\:gap-6 {
    @media (width >= 48rem) {
      gap: calc(var(--spacing) * 6);
    }
  }
  .md\:gap-7 {
    @media (width >= 48rem) {
      gap: calc(var(--spacing) * 7);
    }
  }
  .md\:gap-8 {
    @media (width >= 48rem) {
      gap: calc(var(--spacing) * 8);
    }
  }
  .md\:gap-15 {
    @media (width >= 48rem) {
      gap: calc(var(--spacing) * 15);
    }
  }
  .md\:gap-20 {
    @media (width >= 48rem) {
      gap: calc(var(--spacing) * 20);
    }
  }
  .md\:p-15 {
    @media (width >= 48rem) {
      padding: calc(var(--spacing) * 15);
    }
  }
  .md\:px-10 {
    @media (width >= 48rem) {
      padding-inline: calc(var(--spacing) * 10);
    }
  }
  .md\:py-12 {
    @media (width >= 48rem) {
      padding-block: calc(var(--spacing) * 12);
    }
  }
  .md\:py-\[7\%\] {
    @media (width >= 48rem) {
      padding-block: 7%;
    }
  }
  .md\:pt-0 {
    @media (width >= 48rem) {
      padding-top: calc(var(--spacing) * 0);
    }
  }
  .md\:pt-9 {
    @media (width >= 48rem) {
      padding-top: calc(var(--spacing) * 9);
    }
  }
  .md\:pt-20 {
    @media (width >= 48rem) {
      padding-top: calc(var(--spacing) * 20);
    }
  }
  .md\:pb-7 {
    @media (width >= 48rem) {
      padding-bottom: calc(var(--spacing) * 7);
    }
  }
  .md\:pb-20 {
    @media (width >= 48rem) {
      padding-bottom: calc(var(--spacing) * 20);
    }
  }
  .md\:text-left {
    @media (width >= 48rem) {
      text-align: left;
    }
  }
  .md\:text-2xl {
    @media (width >= 48rem) {
      font-size: var(--text-2xl);
      line-height: var(--tw-leading, var(--text-2xl--line-height));
    }
  }
  .md\:text-3xl {
    @media (width >= 48rem) {
      font-size: var(--text-3xl);
      line-height: var(--tw-leading, var(--text-3xl--line-height));
    }
  }
  .md\:text-5xl {
    @media (width >= 48rem) {
      font-size: var(--text-5xl);
      line-height: var(--tw-leading, var(--text-5xl--line-height));
    }
  }
  .md\:text-6xl {
    @media (width >= 48rem) {
      font-size: var(--text-6xl);
      line-height: var(--tw-leading, var(--text-6xl--line-height));
    }
  }
  .md\:text-base {
    @media (width >= 48rem) {
      font-size: var(--text-base);
      line-height: var(--tw-leading, var(--text-base--line-height));
    }
  }
  .md\:text-lg {
    @media (width >= 48rem) {
      font-size: var(--text-lg);
      line-height: var(--tw-leading, var(--text-lg--line-height));
    }
  }
  .md\:text-xl {
    @media (width >= 48rem) {
      font-size: var(--text-xl);
      line-height: var(--tw-leading, var(--text-xl--line-height));
    }
  }
  .md\:text-\[28px\] {
    @media (width >= 48rem) {
      font-size: 28px;
    }
  }
  .md\:text-\[30px\] {
    @media (width >= 48rem) {
      font-size: 30px;
    }
  }
  .md\:text-\[34px\] {
    @media (width >= 48rem) {
      font-size: 34px;
    }
  }
  .md\:text-\[36px\] {
    @media (width >= 48rem) {
      font-size: 36px;
    }
  }
  .md\:text-\[42px\] {
    @media (width >= 48rem) {
      font-size: 42px;
    }
  }
  .md\:text-\[58px\] {
    @media (width >= 48rem) {
      font-size: 58px;
    }
  }
  .md\:text-\[70px\] {
    @media (width >= 48rem) {
      font-size: 70px;
    }
  }
  .xl\:block {
    @media (width >= 80rem) {
      display: block;
    }
  }
}
:root {
  --swiper-theme-color: #007aff;
}
:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}
.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
  display: block;
}
.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}
.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}
.swiper-android .swiper-slide, .swiper-ios .swiper-slide, .swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}
.swiper-horizontal {
  touch-action: pan-y;
}
.swiper-vertical {
  touch-action: pan-x;
}
.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}
.swiper-slide-invisible-blank {
  visibility: hidden;
}
.swiper-autoheight, .swiper-autoheight .swiper-slide {
  height: auto;
}
.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}
.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}
.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}
.swiper-3d {
  perspective: 1200px;
  .swiper-slide, .swiper-cube-shadow {
    transform-style: preserve-3d;
  }
}
.swiper-css-mode {
  > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    &::-webkit-scrollbar {
      display: none;
    }
  }
  > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start;
  }
  &.swiper-horizontal {
    > .swiper-wrapper {
      scroll-snap-type: x mandatory;
    }
  }
  &.swiper-vertical {
    > .swiper-wrapper {
      scroll-snap-type: y mandatory;
    }
  }
  &.swiper-free-mode {
    > .swiper-wrapper {
      scroll-snap-type: none;
    }
    > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: none;
    }
  }
  &.swiper-centered {
    > .swiper-wrapper::before {
      content: '';
      flex-shrink: 0;
      order: 9999;
    }
    > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: center center;
      scroll-snap-stop: always;
    }
  }
  &.swiper-centered.swiper-horizontal {
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-inline-start: var(--swiper-centered-offset-before);
    }
    > .swiper-wrapper::before {
      height: 100%;
      min-height: 1px;
      width: var(--swiper-centered-offset-after);
    }
  }
  &.swiper-centered.swiper-vertical {
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-block-start: var(--swiper-centered-offset-before);
    }
    > .swiper-wrapper::before {
      width: 100%;
      min-width: 1px;
      height: var(--swiper-centered-offset-after);
    }
  }
}
.swiper-3d {
  .swiper-slide-shadow, .swiper-slide-shadow-left, .swiper-slide-shadow-right, .swiper-slide-shadow-top, .swiper-slide-shadow-bottom, .swiper-slide-shadow, .swiper-slide-shadow-left, .swiper-slide-shadow-right, .swiper-slide-shadow-top, .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
  }
  .swiper-slide-shadow {
    background: rgba(0, 0, 0, 0.15);
  }
  .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
}
.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}
.swiper:not(.swiper-watch-progress), .swiper-watch-progress .swiper-slide-visible {
  .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear;
  }
}
.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}
.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}
@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
:root {
  --swiper-navigation-size: 44px;
}
.swiper-button-prev, .swiper-button-next {
  position: absolute;
  width: var(--swiper-navigation-size);
  height: var(--swiper-navigation-size);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
  &.swiper-button-disabled {
    opacity: 0.35;
    cursor: auto;
    pointer-events: none;
  }
  &.swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    pointer-events: none;
  }
  .swiper-navigation-disabled & {
    display: none !important;
  }
  svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform-origin: center;
    fill: currentColor;
    pointer-events: none;
  }
}
.swiper-button-lock {
  display: none;
}
.swiper-button-prev, .swiper-button-next {
  top: var(--swiper-navigation-top-offset, 50%);
  margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
}
.swiper-button-prev {
  left: var(--swiper-navigation-sides-offset, 4px);
  right: auto;
  .swiper-navigation-icon {
    transform: rotate(180deg);
  }
}
.swiper-button-next {
  right: var(--swiper-navigation-sides-offset, 4px);
  left: auto;
}
.swiper-horizontal {
  .swiper-button-prev, .swiper-button-next, ~ .swiper-button-prev, ~ .swiper-button-next {
    top: var(--swiper-navigation-top-offset, 50%);
    margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
    margin-left: 0;
  }
  .swiper-button-prev, & ~ .swiper-button-prev, &.swiper-rtl .swiper-button-next, &.swiper-rtl ~ .swiper-button-next {
    left: var(--swiper-navigation-sides-offset, 4px);
    right: auto;
  }
  .swiper-button-next, & ~ .swiper-button-next, &.swiper-rtl .swiper-button-prev, &.swiper-rtl ~ .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 4px);
    left: auto;
  }
  .swiper-button-prev, & ~ .swiper-button-prev, &.swiper-rtl .swiper-button-next, &.swiper-rtl ~ .swiper-button-next {
    .swiper-navigation-icon {
      transform: rotate(180deg);
    }
  }
  &.swiper-rtl .swiper-button-prev, &.swiper-rtl ~ .swiper-button-prev {
    .swiper-navigation-icon {
      transform: rotate(0deg);
    }
  }
}
.swiper-vertical {
  .swiper-button-prev, .swiper-button-next, ~ .swiper-button-prev, ~ .swiper-button-next {
    left: var(--swiper-navigation-top-offset, 50%);
    right: auto;
    margin-left: calc(0px - (var(--swiper-navigation-size) / 2));
    margin-top: 0;
  }
  .swiper-button-prev, ~ .swiper-button-prev {
    top: var(--swiper-navigation-sides-offset, 4px);
    bottom: auto;
    .swiper-navigation-icon {
      transform: rotate(-90deg);
    }
  }
  .swiper-button-next, ~ .swiper-button-next {
    bottom: var(--swiper-navigation-sides-offset, 4px);
    top: auto;
    .swiper-navigation-icon {
      transform: rotate(90deg);
    }
  }
}
.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
  &.swiper-pagination-hidden {
    opacity: 0;
  }
  .swiper-pagination-disabled > &, &.swiper-pagination-disabled {
    display: none !important;
  }
}
.swiper-pagination-fraction, .swiper-pagination-custom, .swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
  .swiper-pagination-bullet {
    transform: scale(0.33);
    position: relative;
  }
  .swiper-pagination-bullet-active {
    transform: scale(1);
  }
  .swiper-pagination-bullet-active-main {
    transform: scale(1);
  }
  .swiper-pagination-bullet-active-prev {
    transform: scale(0.66);
  }
  .swiper-pagination-bullet-active-prev-prev {
    transform: scale(0.33);
  }
  .swiper-pagination-bullet-active-next {
    transform: scale(0.66);
  }
  .swiper-pagination-bullet-active-next-next {
    transform: scale(0.33);
  }
}
.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
  button& {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    appearance: none;
  }
  .swiper-pagination-clickable & {
    cursor: pointer;
  }
  &:only-child {
    display: none !important;
  }
}
.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}
.swiper-vertical > .swiper-pagination-bullets, .swiper-pagination-vertical.swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
  .swiper-pagination-bullet {
    margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
    display: block;
  }
  &.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    .swiper-pagination-bullet {
      display: inline-block;
      transition: 200ms transform, 200ms top;
    }
  }
}
.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-horizontal.swiper-pagination-bullets {
  .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
  }
  &.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    .swiper-pagination-bullet {
      transition: 200ms transform, 200ms left;
    }
  }
}
.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms right;
}
.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}
.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
  .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top;
  }
  .swiper-rtl & .swiper-pagination-progressbar-fill {
    transform-origin: right top;
  }
  .swiper-horizontal > &, &.swiper-pagination-horizontal, .swiper-vertical > &.swiper-pagination-progressbar-opposite, &.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: var(--swiper-pagination-progressbar-size, 4px);
    left: 0;
    top: 0;
  }
  .swiper-vertical > &, &.swiper-pagination-vertical, .swiper-horizontal > &.swiper-pagination-progressbar-opposite, &.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
    width: var(--swiper-pagination-progressbar-size, 4px);
    height: 100%;
    left: 0;
    top: 0;
  }
}
.swiper-pagination-lock {
  display: none;
}
.swiper-fade {
  &.swiper-free-mode {
    .swiper-slide {
      transition-timing-function: ease-out;
    }
  }
  .swiper-slide {
    pointer-events: none;
    transition-property: opacity;
    .swiper-slide {
      pointer-events: none;
    }
  }
  .swiper-slide-active {
    pointer-events: auto;
    & .swiper-slide-active {
      pointer-events: auto;
    }
  }
}
@layer components {
  .c-about {
    display: grid;
    @media (width >= 48rem) {
      grid-template-columns: 5fr 4fr;
    }
    @media (width >= 48rem) {
      gap: calc(var(--spacing) * 20);
    }
    grid-template-areas: "content" "image";
    @media (min-width: 768px) {
      grid-template-areas: "image content";
    }
  }
  .c-about--reverse {
    @media (width >= 48rem) {
      grid-template-columns: 4fr 5fr;
    }
    @media (min-width: 768px) {
      grid-template-areas: "content image";
    }
  }
  .c-about__image {
    margin-inline: calc(var(--spacing) * -10);
    @media (width >= 48rem) {
      margin-inline: calc(var(--spacing) * 0);
    }
    grid-area: image;
  }
  .c-about__content {
    padding-block: calc(var(--spacing) * 14);
    @media (width >= 48rem) {
      padding-block: calc(var(--spacing) * 0);
    }
    grid-area: content;
  }
}
@layer components {
  .c-button {
    display: block;
    border-radius: calc(infinity * 1px);
    background-color: var(--color-mint-secondary);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--color-black);
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: 400ms;
    transition-duration: 400ms;
    --tw-ease: var(--ease-out-cubic);
    transition-timing-function: var(--ease-out-cubic);
    &:active {
      --tw-scale-x: 95%;
      --tw-scale-y: 95%;
      --tw-scale-z: 95%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }
  .c-button--primary {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-gray-900);
      }
    }
    &:hover {
      @media (hover: hover) {
        color: var(--color-white);
      }
    }
  }
  .c-button--secondary {
    background-color: var(--color-gray-900);
    color: var(--color-white);
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-mint-secondary);
      }
    }
    &:hover {
      @media (hover: hover) {
        color: var(--color-black);
      }
    }
  }
  .c-button--transparent {
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--color-white);
    background-color: transparent;
    color: var(--color-white);
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-white);
      }
    }
    &:hover {
      @media (hover: hover) {
        color: var(--color-black);
      }
    }
  }
  .c-button--gradient {
    color: var(--color-white);
    --tw-gradient-position: to bottom right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
    --tw-gradient-from: #23DB9E;
    --tw-gradient-to: #47AFFC;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .c-button--gradientSecondary {
    padding: 3px;
    color: var(--color-white);
    --tw-gradient-position: to bottom right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
    --tw-gradient-from: #23DB9E;
    --tw-gradient-to: #47AFFC;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .c-button__inner {
    display: flex;
    height: 100%;
    width: 100%;
    align-items: center;
    justify-content: center;
    border-radius: calc(infinity * 1px);
    padding-inline: calc(var(--spacing) * 4);
    padding-block: calc(var(--spacing) * 2);
    @media (width >= 48rem) {
      padding-inline: calc(var(--spacing) * 6);
    }
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: 400ms;
    transition-duration: 400ms;
    --tw-ease: var(--ease-out-cubic);
    transition-timing-function: var(--ease-out-cubic);
    &:where(.c-button--lg *) {
      padding-inline: calc(var(--spacing) * 8);
      padding-block: calc(var(--spacing) * 4);
      font-size: var(--text-lg);
      line-height: var(--tw-leading, var(--text-lg--line-height));
    }
    &:where(.c-button--gradient *) {
      &:is(:where(.group):hover *) {
        @media (hover: hover) {
          background-color: var(--color-gray-900);
        }
      }
      &:is(:where(.group):hover *) {
        @media (hover: hover) {
          color: var(--color-white);
        }
      }
    }
    &:where(.c-button--gradientSecondary *) {
      background-color: var(--color-white);
      color: var(--color-black);
      &:is(:where(.group):hover *) {
        @media (hover: hover) {
          background-color: transparent;
        }
      }
      &:is(:where(.group):hover *) {
        @media (hover: hover) {
          color: var(--color-white);
        }
      }
    }
  }
}
@layer components {
  .c-contentInner {
    margin-inline: auto;
    max-width: 1280px;
    padding-inline: calc(var(--spacing) * 10);
    padding-block: calc(var(--spacing) * 16);
    @media (width >= 48rem) {
      padding-block: calc(var(--spacing) * 30);
    }
    & + .c-contentInner {
      padding-top: calc(var(--spacing) * 0);
      @media (width >= 48rem) {
        padding-top: calc(var(--spacing) * 0);
      }
    }
  }
  .c-contentInner--noPt {
    padding-top: calc(var(--spacing) * 0);
  }
  .sp\:c-contentInner--noPt {
    padding-top: calc(var(--spacing) * 0);
    @media (width >= 48rem) {
      padding-top: calc(var(--spacing) * 30);
    }
  }
  .pc\:c-contentInner--noPt {
    @media (width >= 48rem) {
      padding-top: calc(var(--spacing) * 0);
    }
  }
  .c-contentInner--noPb {
    padding-bottom: calc(var(--spacing) * 0);
  }
  .sp\:c-contentInner--noPb {
    padding-bottom: calc(var(--spacing) * 0);
    @media (width >= 48rem) {
      padding-bottom: calc(var(--spacing) * 30);
    }
  }
  .pc\:c-contentInner--noPb {
    @media (width >= 48rem) {
      padding-bottom: calc(var(--spacing) * 0);
    }
  }
  .c-contentInner--noGutter {
    max-width: none;
    padding-inline: calc(var(--spacing) * 0);
  }
  .sp\:c-contentInner--noGutter {
    max-width: none;
    padding-inline: calc(var(--spacing) * 0);
    @media (width >= 48rem) {
      max-width: 1280px;
    }
    @media (width >= 48rem) {
      padding-inline: calc(var(--spacing) * 10);
    }
  }
  .pc\:c-contentInner--noGutter {
    @media (width >= 48rem) {
      max-width: none;
    }
    @media (width >= 48rem) {
      padding-inline: calc(var(--spacing) * 0);
    }
  }
  .c-contentInner--lg {
    @media (width >= 48rem) {
      max-width: 1440px;
    }
  }
  .c-contentInner--xl {
    @media (width >= 48rem) {
      max-width: 1600px;
    }
  }
}
@layer components {
  .c-fadeImage {
    position: relative;
    overflow: hidden;
    background-color: var(--color-white);
    > img,picture,div {
      --tw-scale-x: 105%;
      --tw-scale-y: 105%;
      --tw-scale-z: 105%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
      opacity: 0%;
      transition-property: all;
      transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
      transition-duration: var(--tw-duration, var(--default-transition-duration));
      --tw-duration: 1800ms;
      transition-duration: 1800ms;
      --tw-ease: var(--ease-out-cubic);
      transition-timing-function: var(--ease-out-cubic);
    }
  }
  .c-fadeImage--noScale {
    > img,picture,div {
      --tw-scale-x: 100%;
      --tw-scale-y: 100%;
      --tw-scale-z: 100%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }
  .c-fadeImage--transparent {
    overflow: visible;
    background-color: transparent;
  }
  .c-fadeImage--visible {
    > img,picture,div {
      --tw-scale-x: 100%;
      --tw-scale-y: 100%;
      --tw-scale-z: 100%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
      opacity: 100%;
    }
  }
}
@layer components {
  .c-fadeText {
    span {
      display: inline-block;
      --tw-scale-x: 95%;
      --tw-scale-y: 95%;
      --tw-scale-z: 95%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
      opacity: 0%;
      --tw-translate-y: calc(var(--spacing) * 2);
      translate: var(--tw-translate-x) var(--tw-translate-y);
      rotate: 4deg;
      transition-property: all;
      transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
      transition-duration: var(--tw-duration, var(--default-transition-duration));
      --tw-duration: 1800ms;
      transition-duration: 1800ms;
      --tw-ease: var(--ease-out-cubic);
      transition-timing-function: var(--ease-out-cubic);
      &:nth-child(1) {
        transition-delay: 75ms;
      }
      &:nth-child(2) {
        transition-delay: 150ms;
      }
      &:nth-child(3) {
        transition-delay: 225ms;
      }
      &:nth-child(4) {
        transition-delay: 300ms;
      }
      &:nth-child(5) {
        transition-delay: 375ms;
      }
      &:nth-child(6) {
        transition-delay: 450ms;
      }
      &:nth-child(7) {
        transition-delay: 525ms;
      }
      &:nth-child(8) {
        transition-delay: 600ms;
      }
      &:nth-child(9) {
        transition-delay: 675ms;
      }
      &:nth-child(10) {
        transition-delay: 750ms;
      }
      &:nth-child(11) {
        transition-delay: 825ms;
      }
      &:nth-child(12) {
        transition-delay: 900ms;
      }
      &:nth-child(13) {
        transition-delay: 975ms;
      }
      &:nth-child(14) {
        transition-delay: 1050ms;
      }
      &:nth-child(15) {
        transition-delay: 1125ms;
      }
      &:nth-child(16) {
        transition-delay: 1200ms;
      }
      &:nth-child(17) {
        transition-delay: 1275ms;
      }
      &:nth-child(18) {
        transition-delay: 1350ms;
      }
      &:nth-child(19) {
        transition-delay: 1425ms;
      }
      &:nth-child(20) {
        transition-delay: 1500ms;
      }
    }
    &.c-fadeImage--visible {
      span {
        --tw-translate-y: calc(var(--spacing) * 0);
        translate: var(--tw-translate-x) var(--tw-translate-y);
        --tw-scale-x: 100%;
        --tw-scale-y: 100%;
        --tw-scale-z: 100%;
        scale: var(--tw-scale-x) var(--tw-scale-y);
        rotate: 0deg;
        opacity: 100%;
      }
    }
  }
}
.l-footer {
  background-color: var(--color-gray-primary);
  color: var(--color-white);
}
.l-footer__inner {
  padding-inline: calc(var(--spacing) * 8);
  padding-top: calc(var(--spacing) * 12);
  padding-bottom: calc(var(--spacing) * 8);
  @media (width >= 48rem) {
    padding-inline: 5%;
  }
  @media (width >= 48rem) {
    padding-top: calc(var(--spacing) * 16);
  }
  @media (width >= 48rem) {
    padding-bottom: calc(var(--spacing) * 12);
  }
}
.l-footer__main {
  margin-bottom: calc(var(--spacing) * 12);
  @media (width >= 48rem) {
    display: grid;
  }
  @media (width >= 48rem) {
    grid-template-columns: auto 1fr;
  }
  @media (width >= 48rem) {
    column-gap: 16%;
  }
  @media (width >= 64rem) {
    grid-template-columns: auto 1fr auto;
  }
  @media (width >= 64rem) {
    gap: 8%;
  }
  @media (min-width: 768px) {
    grid-template-areas: "logo logo" "info nav";
  }
  @media (min-width: 1024px) {
    grid-template-areas: "logo info nav";
  }
}
.l-footer__logo {
  margin-inline: auto;
  margin-bottom: calc(var(--spacing) * 18);
  width: 220px;
  @media (width >= 48rem) {
    width: 206px;
  }
  grid-area: logo;
  a {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: 400ms;
    transition-duration: 400ms;
    --tw-ease: var(--ease-out-cubic);
    transition-timing-function: var(--ease-out-cubic);
    &:hover {
      @media (hover: hover) {
        opacity: 50%;
      }
    }
  }
  img {
    display: block;
    height: auto;
    width: 100%;
  }
}
.l-footer__nav {
  grid-area: nav;
  @media (width >= 48rem) {
    display: flex;
  }
  @media (width >= 48rem) {
    flex-direction: column;
  }
  @media (width >= 48rem) {
    justify-content: space-between;
  }
}
.l-footer__navList {
  margin-bottom: calc(var(--spacing) * 16);
  display: grid;
  gap: calc(var(--spacing) * 6);
  @media (width >= 48rem) {
    margin-bottom: calc(var(--spacing) * 0);
  }
  @media (width >= 48rem) {
    min-width: 430px;
  }
  @media (width >= 48rem) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  @media (width >= 48rem) {
    column-gap: calc(var(--spacing) * 18);
  }
  @media (width >= 48rem) {
    row-gap: calc(var(--spacing) * 4);
  }
}
.l-footer__navLink {
  display: block;
  text-align: center;
  @media (width >= 48rem) {
    text-align: left;
  }
  transition-property: all;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
  --tw-duration: 400ms;
  transition-duration: 400ms;
  --tw-ease: var(--ease-out-cubic);
  transition-timing-function: var(--ease-out-cubic);
  &:hover {
    @media (hover: hover) {
      opacity: 50%;
    }
  }
}
.l-footer__info {
  margin-inline: auto;
  width: fit-content;
  @media (width >= 48rem) {
    margin-inline: calc(var(--spacing) * 0);
  }
  grid-area: info;
}
.l-footer__bottom {
  display: flex;
  justify-content: space-between;
  font-family: var(--font-montserrat);
  font-size: 10px;
  @media (width >= 48rem) {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
}
@layer components {
  .c-glitchBg {
    position: absolute;
    bottom: 0%;
    left: calc(var(--spacing) * 0);
    z-index: 0;
    height: 70%;
    width: 100%;
    background-color: var(--color-mint-100);
    &:where(.c-glitchBlock *) {
      bottom: calc(var(--spacing) * -10);
      left: calc(var(--spacing) * -10);
      height: 90%;
      width: calc(100% + 80px);
    }
  }
}
@layer components {
  .c-glitchBlock {
    @media (width >= 48rem) {
      display: grid;
    }
    @media (width >= 48rem) {
      gap: calc(var(--spacing) * 20);
    }
  }
  .c-glitchBlock--default {
    @media (width >= 48rem) {
      grid-template-columns: 5fr 4fr;
    }
    @media (min-width: 768px) {
      grid-template-areas: "image content";
    }
  }
  .c-glitchBlock--reverse {
    @media (width >= 48rem) {
      grid-template-columns: 4fr 5fr;
    }
    @media (min-width: 768px) {
      grid-template-areas: "content image";
    }
  }
  .c-glitchBlock__image {
    position: relative;
    margin-bottom: calc(var(--spacing) * 18);
    @media (width >= 48rem) {
      margin-bottom: calc(var(--spacing) * 0);
    }
    grid-area: image;
    &:where(.c-glitchBlock--default *) {
      .c-fadeImage {
        --tw-translate-x: calc(40px * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y);
        @media (width >= 48rem) {
          --tw-translate-x: calc(var(--spacing) * 0);
          translate: var(--tw-translate-x) var(--tw-translate-y);
        }
      }
    }
    &:where(.c-glitchBlock--reverse *) {
      .c-fadeImage {
        --tw-translate-x: 40px;
        translate: var(--tw-translate-x) var(--tw-translate-y);
        @media (width >= 48rem) {
          --tw-translate-x: calc(var(--spacing) * 0);
          translate: var(--tw-translate-x) var(--tw-translate-y);
        }
      }
    }
  }
  .c-glitchBlock__caption {
    margin-top: calc(var(--spacing) * 1.5);
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
    @media (width >= 48rem) {
      margin-top: calc(var(--spacing) * 3);
    }
    &:where(.c-glitchBlock--reverse *) {
      text-align: right;
    }
  }
  .c-glitchBlock__content {
    display: block;
    grid-area: content;
  }
}
.c-gutenberg {
  *:first-child {
    margin-top: calc(var(--spacing) * 0);
  }
  font-size: var(--text-base);
  line-height: var(--tw-leading, var(--text-base--line-height));
  p {
    margin-top: calc(var(--spacing) * 5);
    &.is-notes {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
  }
  a {
    color: var(--color-mint-800);
    text-decoration-line: underline;
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: 400ms;
    transition-duration: 400ms;
    --tw-ease: var(--ease-out-cubic);
    transition-timing-function: var(--ease-out-cubic);
    &:hover {
      @media (hover: hover) {
        color: var(--color-mint-900);
      }
    }
  }
  h1 {
    margin-top: calc(var(--spacing) * 18);
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    @media (width >= 48rem) {
      font-size: var(--text-4xl);
      line-height: var(--tw-leading, var(--text-4xl--line-height));
    }
  }
  h2 {
    margin-top: calc(var(--spacing) * 18);
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    @media (width >= 48rem) {
      font-size: var(--text-2xl);
      line-height: var(--tw-leading, var(--text-2xl--line-height));
    }
  }
  h3 {
    margin-top: calc(var(--spacing) * 12);
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    @media (width >= 48rem) {
      font-size: var(--text-xl);
      line-height: var(--tw-leading, var(--text-xl--line-height));
    }
  }
  h4 {
    margin-bottom: calc(var(--spacing) * 9);
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    @media (width >= 48rem) {
      font-size: var(--text-lg);
      line-height: var(--tw-leading, var(--text-lg--line-height));
    }
  }
  ul {
    margin-top: calc(var(--spacing) * 5);
    display: grid;
    gap: calc(var(--spacing) * 1);
    li {
      position: relative;
      padding-left: calc(var(--spacing) * 4);
      &::before {
        content: var(--tw-content);
        position: absolute;
      }
      &::before {
        content: var(--tw-content);
        top: .8em;
      }
      &::before {
        content: var(--tw-content);
        left: calc(var(--spacing) * 0);
      }
      &::before {
        content: var(--tw-content);
        display: block;
      }
      &::before {
        content: var(--tw-content);
        aspect-ratio: 1 / 1;
      }
      &::before {
        content: var(--tw-content);
        width: calc(var(--spacing) * 1);
      }
      &::before {
        content: var(--tw-content);
        border-radius: calc(infinity * 1px);
      }
      &::before {
        content: var(--tw-content);
        background-color: var(--color-gray-300);
      }
      &::before {
        --tw-content: '';
        content: var(--tw-content);
      }
    }
  }
  ol {
    margin-top: calc(var(--spacing) * 5);
    display: grid;
    gap: calc(var(--spacing) * 1);
  }
  .wp-block-separator, hr {
    margin-block: calc(var(--spacing) * 16);
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
    border-color: var(--color-gray-200);
  }
}
@layer utilities {
  .l-header {
    position: sticky;
    top: calc(var(--spacing) * 0);
    z-index: 250;
    margin-bottom: calc(var(--spacing) * -16);
    @media (width >= 48rem) {
      margin-bottom: calc(106px * -1);
    }
  }
  .l-header__inner {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: calc(var(--spacing) * 4);
    padding: calc(var(--spacing) * 4);
    @media (width >= 48rem) {
      padding: calc(var(--spacing) * 8);
    }
    .c-button {
      font-size: var(--text-xs);
      line-height: var(--tw-leading, var(--text-xs--line-height));
      @media (width >= 48rem) {
        margin-left: calc(var(--spacing) * 4);
      }
      @media (width >= 48rem) {
        height: calc(var(--spacing) * 10.5);
      }
      @media (width >= 48rem) {
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height));
      }
    }
  }
  .l-header__socials {
    &:where(.l-header--reverse *) {
      --tw-invert: invert(100%);
      filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
    }
  }
  .l-header__socials, .l-header__contact {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: 400ms;
    transition-duration: 400ms;
    --tw-ease: var(--ease-out-cubic);
    transition-timing-function: var(--ease-out-cubic);
    &:where([aria-expanded="true"] *) {
      pointer-events: none;
      visibility: hidden;
      opacity: 0%;
    }
  }
  .l-header__logo {
    position: absolute;
    right: calc(var(--spacing) * 4);
    bottom: calc(var(--spacing) * 0);
    display: block;
    width: calc(var(--spacing) * 26);
    --tw-translate-y: 100%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
    opacity: 50%;
    @media (width >= 48rem) {
      right: calc(var(--spacing) * 8);
    }
    @media (width >= 48rem) {
      width: 280px;
    }
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: 400ms;
    transition-duration: 400ms;
    --tw-ease: var(--ease-out-cubic);
    transition-timing-function: var(--ease-out-cubic);
    &:hover {
      @media (hover: hover) {
        opacity: 100%;
      }
    }
    &:active {
      --tw-scale-x: 95%;
      --tw-scale-y: 95%;
      --tw-scale-z: 95%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
    &:where(.l-header--reverse *) {
      pointer-events: none;
      visibility: hidden;
      opacity: 0%;
    }
    &:where([aria-expanded="true"] *) {
      pointer-events: none;
      visibility: hidden;
      opacity: 0%;
    }
  }
  .l-header__button {
    display: flex;
    height: calc(var(--spacing) * 8);
    width: calc(var(--spacing) * 8);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    border-radius: calc(infinity * 1px);
    border-style: var(--tw-border-style);
    border-width: 2px;
    border-color: var(--color-mint-secondary);
    background-color: color-mix(in srgb, #FFFFFF 70%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 70%, transparent);
    }
    @media (width >= 48rem) {
      height: calc(var(--spacing) * 10.5);
    }
    @media (width >= 48rem) {
      width: calc(var(--spacing) * 10.5);
    }
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: 400ms;
    transition-duration: 400ms;
    --tw-ease: var(--ease-out-cubic);
    transition-timing-function: var(--ease-out-cubic);
    cursor: pointer;
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-white);
      }
    }
    &:active {
      --tw-scale-x: 95%;
      --tw-scale-y: 95%;
      --tw-scale-z: 95%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }
  .l-header__buttonLine {
    display: block;
    height: calc(var(--spacing) * 0.5);
    width: calc(var(--spacing) * 4);
    border-radius: calc(infinity * 1px);
    background-color: var(--color-mint-secondary);
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: 400ms;
    transition-duration: 400ms;
    --tw-ease: var(--ease-out-cubic);
    transition-timing-function: var(--ease-out-cubic);
  }
  .l-header__buttonLine--top {
    &:where([aria-expanded="true"] *) {
      --tw-translate-y: calc(var(--spacing) * 1.5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
      rotate: 45deg;
    }
  }
  .l-header__buttonLine--middle {
    &:where([aria-expanded="true"] *) {
      --tw-scale-x: 0%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }
  .l-header__buttonLine--bottom {
    &:where([aria-expanded="true"] *) {
      --tw-translate-y: calc(var(--spacing) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
      rotate: calc(45deg * -1);
    }
  }
}
@layer components {
  .c-headline {
    margin-bottom: calc(var(--spacing) * 8);
    @media (width >= 48rem) {
      margin-bottom: calc(var(--spacing) * 12);
    }
    &:where(.c-glitchBlock *) {
      margin-bottom: calc(var(--spacing) * 6);
      @media (width >= 48rem) {
        margin-bottom: calc(var(--spacing) * 8);
      }
    }
  }
  .c-headline__titleEn {
    margin-bottom: calc(var(--spacing) * 1);
    font-family: var(--font-serif);
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    color: var(--color-mint-secondary);
    @media (width >= 48rem) {
      margin-bottom: calc(var(--spacing) * 3);
    }
    @media (width >= 48rem) {
      font-size: var(--text-5xl);
      line-height: var(--tw-leading, var(--text-5xl--line-height));
    }
    &:where(.c-headline--lg *) {
      font-size: var(--text-5xl);
      line-height: var(--tw-leading, var(--text-5xl--line-height));
      @media (width >= 48rem) {
        font-size: 90px;
      }
    }
    &:where(.c-glitchBlock *) {
      margin-bottom: calc(var(--spacing) * 2);
      font-size: var(--text-3xl);
      line-height: var(--tw-leading, var(--text-3xl--line-height));
      @media (width >= 48rem) {
        margin-bottom: calc(var(--spacing) * 4);
      }
      @media (width >= 48rem) {
        font-size: var(--text-5xl);
        line-height: var(--tw-leading, var(--text-5xl--line-height));
      }
    }
  }
  .c-headline__title {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    @media (width >= 48rem) {
      font-size: var(--text-3xl);
      line-height: var(--tw-leading, var(--text-3xl--line-height));
    }
    &:where(.c-glitchBlock *) {
      font-size: var(--text-3xl);
      line-height: var(--tw-leading, var(--text-3xl--line-height));
      @media (width >= 48rem) {
        font-size: 40px;
      }
    }
  }
}
@layer components {
  .c-hero {
    position: relative;
  }
  .c-hero__slide {
    position: relative;
    aspect-ratio: 375/560;
    @media (width >= 48rem) {
      aspect-ratio: auto;
    }
    @media (width >= 48rem) {
      max-height: 100vh;
    }
    picture, img {
      display: block;
      height: auto;
      width: 100%;
      object-fit: cover;
    }
  }
  .c-hero__logo {
    position: absolute;
    top: calc(1/2 * 100%);
    left: calc(1/2 * 100%);
    width: 58%;
    --tw-translate-x: calc(calc(1/2 * 100%) * -1);
    --tw-translate-y: calc(calc(1/2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
    @media (width >= 48rem) {
      width: 40%;
    }
    svg {
      display: block;
      height: auto;
      width: 100%;
    }
  }
}
@layer components {
  .c-logo--white {
    svg, path {
      fill: var(--color-white);
    }
  }
  .c-logo--mint {
    svg, path {
      fill: var(--color-mint-secondary);
    }
  }
  .c-logo--clear {
    svg, path {
      fill: color-mix(in srgb, #FFFFFF 70%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        fill: color-mix(in oklab, var(--color-white) 70%, transparent);
      }
    }
  }
  .c-logo--black {
    svg, path {
      fill: var(--color-black);
    }
  }
}
@layer components {
  .c-message {
    gap: calc(var(--spacing) * 20);
    @media (width >= 48rem) {
      display: grid;
    }
    @media (width >= 48rem) {
      grid-template-columns: 3fr 4fr;
    }
    @media (min-width: 768px) {
      grid-template-areas: "profile content";
    }
  }
  .c-message__profile {
    grid-area: profile;
  }
  .c-message__content {
    margin-bottom: calc(var(--spacing) * 12);
    @media (width >= 48rem) {
      margin-bottom: calc(var(--spacing) * 0);
    }
    grid-area: content;
  }
}
@layer components {
  .l-navigation {
    position: fixed;
    top: calc(var(--spacing) * 0);
    left: calc(var(--spacing) * 0);
    z-index: 200;
    display: block;
    height: 100%;
    width: 100%;
    overflow: hidden;
    --tw-gradient-position: to bottom left in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
    --tw-gradient-from: #6FE4BD;
    --tw-gradient-to: #7FD1E7;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
    pointer-events: none;
    visibility: hidden;
    opacity: 0%;
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: 400ms;
    transition-duration: 400ms;
    --tw-ease: var(--ease-out-cubic);
    transition-timing-function: var(--ease-out-cubic);
    &[aria-expanded="true"] {
      pointer-events: auto;
      visibility: visible;
      opacity: 100%;
    }
  }
  .l-navigation__inner {
    display: grid;
    height: 100%;
    --tw-scale-x: 101%;
    --tw-scale-y: 101%;
    --tw-scale-z: 101%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
    align-items: center;
    padding-block: calc(var(--spacing) * 14);
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: 400ms;
    transition-duration: 400ms;
    --tw-ease: var(--ease-out-cubic);
    transition-timing-function: var(--ease-out-cubic);
    grid-template-areas: "nav" "logo";
    @media (min-width: 768px) {
      grid-template-areas: "logo" "nav";
    }
    &:where([aria-expanded="true"] *) {
      --tw-scale-x: 100%;
      --tw-scale-y: 100%;
      --tw-scale-z: 100%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }
  .l-navigation__logo {
    margin-inline: auto;
    width: 154px;
    @media (width >= 48rem) {
      margin-bottom: calc(var(--spacing) * 23);
    }
    @media (width >= 48rem) {
      width: 340px;
    }
    &:hover {
      @media (hover: hover) {
        opacity: 50%;
      }
    }
    &:active {
      --tw-scale-x: 98%;
      --tw-scale-y: 98%;
      --tw-scale-z: 98%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: 400ms;
    transition-duration: 400ms;
    --tw-ease: var(--ease-out-cubic);
    transition-timing-function: var(--ease-out-cubic);
    grid-area: logo;
  }
  .l-navigation__nav {
    margin-bottom: calc(var(--spacing) * 9);
    grid-area: nav;
  }
  .l-navigation__navList {
    display: grid;
    gap: calc(var(--spacing) * 4);
    @media (width >= 48rem) {
      margin-inline: auto;
    }
    @media (width >= 48rem) {
      display: grid;
    }
    @media (width >= 48rem) {
      max-width: 915px;
    }
    @media (width >= 48rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    @media (width >= 48rem) {
      row-gap: calc(var(--spacing) * 23);
    }
  }
  .l-navigation__navListLink {
    margin-inline: auto;
    display: block;
    width: fit-content;
    text-align: center;
    @media (width >= 48rem) {
      text-align: left;
    }
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: 400ms;
    transition-duration: 400ms;
    --tw-ease: var(--ease-out-cubic);
    transition-timing-function: var(--ease-out-cubic);
    &:active {
      --tw-scale-x: 95%;
      --tw-scale-y: 95%;
      --tw-scale-z: 95%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }
  .l-navigation__navListLinkLabel {
    display: flex;
    justify-content: center;
    overflow: hidden;
    font-family: var(--font-serif);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    @media (width >= 48rem) {
      font-size: 30px;
    }
    @media (min-width: 768px) {
      span {
        display: block;
        &:is(:where(.group):hover *) {
          @media (hover: hover) {
            --tw-translate-y: calc(40px * -1);
            translate: var(--tw-translate-x) var(--tw-translate-y);
          }
        }
        transition-property: transform, translate, scale, rotate;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration));
        --tw-duration: 400ms;
        transition-duration: 400ms;
        --tw-ease: var(--ease-out-cubic);
        transition-timing-function: var(--ease-out-cubic);
        text-shadow: 0 40px 0 rgba(0, 0, 0, 1);
        &:nth-child(1) {
          transition-delay: 75ms;
        }
        &:nth-child(2) {
          transition-delay: 150ms;
        }
        &:nth-child(3) {
          transition-delay: 225ms;
        }
        &:nth-child(4) {
          transition-delay: 300ms;
        }
        &:nth-child(5) {
          transition-delay: 375ms;
        }
        &:nth-child(6) {
          transition-delay: 450ms;
        }
        &:nth-child(7) {
          transition-delay: 525ms;
        }
        &:nth-child(8) {
          transition-delay: 600ms;
        }
        &:nth-child(9) {
          transition-delay: 675ms;
        }
        &:nth-child(10) {
          transition-delay: 750ms;
        }
        &:nth-child(11) {
          transition-delay: 825ms;
        }
        &:nth-child(12) {
          transition-delay: 900ms;
        }
      }
    }
  }
  .l-navigation__name {
    display: none;
    @media (width >= 48rem) {
      display: block;
    }
    margin-top: auto;
    padding-top: calc(var(--spacing) * 30);
    text-align: center;
  }
}
@layer components {
  .l-overlay {
    position: fixed;
    top: calc(var(--spacing) * 0);
    left: calc(var(--spacing) * 0);
    z-index: 450;
    display: block;
    height: 100%;
    width: 100%;
    background-color: var(--color-white);
    pointer-events: none;
    visibility: hidden;
    opacity: 0%;
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: 1200ms;
    transition-duration: 1200ms;
    --tw-ease: var(--ease-out-cubic);
    transition-timing-function: var(--ease-out-cubic);
    &[aria-shown="true"] {
      pointer-events: none;
      visibility: visible;
      opacity: 100%;
    }
  }
}
@layer components {
  .c-pageHeader {
    position: relative;
    overflow: hidden;
  }
  .c-pageHeader__cover {
    aspect-ratio: 375/308;
    width: 100%;
    @media (width >= 48rem) {
      aspect-ratio: 1512/596;
    }
    img, picture {
      display: block;
      height: auto;
      width: 100%;
    }
  }
  .c-pageHeader__content {
    position: absolute;
    bottom: calc(var(--spacing) * 0);
    left: calc(var(--spacing) * 0);
    width: 100%;
  }
  .c-pageHeader__contentInner {
    padding-inline: calc(var(--spacing) * 7);
    padding-block: calc(var(--spacing) * 8);
    color: var(--color-white);
    @media (width >= 48rem) {
      padding-inline: 5%;
    }
    @media (width >= 48rem) {
      padding-block: calc(var(--spacing) * 12);
    }
  }
  .c-pageHeader__title {
    margin-bottom: calc(var(--spacing) * 1);
    font-family: var(--font-serif);
    font-size: var(--text-5xl);
    line-height: var(--tw-leading, var(--text-5xl--line-height));
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    @media (width >= 48rem) {
      margin-bottom: calc(var(--spacing) * 3);
    }
    @media (width >= 48rem) {
      font-size: var(--text-8xl);
      line-height: var(--tw-leading, var(--text-8xl--line-height));
    }
  }
  .c-pageHeader__titleJa {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    @media (width >= 48rem) {
      font-size: var(--text-3xl);
      line-height: var(--tw-leading, var(--text-3xl--line-height));
    }
  }
  .c-pageHeader__label {
    position: absolute;
    top: calc(var(--spacing) * 0);
    left: calc(var(--spacing) * 0);
    height: 100%;
    width: calc(var(--spacing) * 7);
    font-family: var(--font-montserrat);
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    @media (width >= 48rem) {
      width: 5%;
    }
  }
  .c-pageHeader__labelString {
    position: absolute;
    top: calc(var(--spacing) * 5);
    left: calc(var(--spacing) * 5.5);
    rotate: 90deg;
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
    text-wrap: nowrap;
    color: var(--color-white);
    transform-origin: 0 0;
    font-size: 10px;
    @media (width >= 48rem) {
      top: calc(var(--spacing) * 8);
    }
    @media (width >= 48rem) {
      left: calc(var(--spacing) * 12);
    }
    @media (width >= 48rem) {
      font-size: var(--text-xl);
      line-height: var(--tw-leading, var(--text-xl--line-height));
    }
    @media (width >= 48rem) {
      --tw-font-weight: var(--font-weight-semibold);
      font-weight: var(--font-weight-semibold);
    }
  }
}
@layer components {
  .c-scrollLabel {
    position: absolute;
    bottom: calc(var(--spacing) * 0);
    left: calc(1/2 * 100%);
    z-index: 10;
    height: 112px;
    width: 100%;
    --tw-translate-x: calc(calc(1/2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
    @media (width >= 48rem) {
      height: 155px;
    }
  }
  .c-scrollLabel__string {
    position: absolute;
    top: calc(var(--spacing) * 0);
    left: calc(1/2 * 100%);
    rotate: 90deg;
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
    text-wrap: nowrap;
    color: var(--color-white);
    transform-origin: 0 0;
    --tw-translate-x: 26px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
    @media (width >= 48rem) {
      --tw-translate-x: 30px;
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    @media (width >= 48rem) {
      font-size: var(--text-base);
      line-height: var(--tw-leading, var(--text-base--line-height));
    }
  }
  .c-scrollLabel__bar {
    margin-inline: auto;
    height: 100%;
    width: 2px;
    border-radius: calc(infinity * 1px);
    background-color: var(--color-white);
    @media (width >= 48rem) {
      width: 3px;
    }
  }
  .c-scrollLabel__dot {
    position: absolute;
    top: calc(var(--spacing) * 0);
    left: calc(1/2 * 100%);
    height: calc(var(--spacing) * 2.5);
    width: calc(var(--spacing) * 2.5);
    --tw-translate-x: calc(calc(1/2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
    border-radius: calc(infinity * 1px);
    background-color: var(--color-white);
    @media (width >= 48rem) {
      height: 13px;
    }
    @media (width >= 48rem) {
      width: 13px;
    }
    animation: dotMove 2s var(--ease-in-out-cubic) infinite, dotScale 2s var(--ease-in-out-cubic) infinite;
  }
  @keyframes dotMove {
    0% {
      top: 0%;
    }
    100% {
      top: 100%;
    }
  }
  @keyframes dotScale {
    0% {
      scale: 0;
    }
    25% {
      scale: 1;
    }
    50% {
      scale: 1;
    }
    75% {
      scale: 1;
    }
    100% {
      scale: 0;
    }
  }
}
@layer components {
  .c-splitBlock {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: calc(var(--spacing) * 8);
    @media (width >= 48rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    @media (width >= 48rem) {
      gap: calc(var(--spacing) * 20);
    }
    grid-template-areas: "image" "content";
    @media (min-width: 768px) {
      grid-template-areas: "image content";
    }
  }
  .c-splitBlock--reverse {
    @media (min-width: 768px) {
      grid-template-areas: "content image";
    }
  }
  .c-splitBlock__image {
    grid-area: image;
  }
  .c-splitBlock__content {
    padding-inline: calc(var(--spacing) * 10);
    @media (width >= 48rem) {
      max-width: 540px;
    }
    @media (width >= 48rem) {
      padding-inline: calc(var(--spacing) * 0);
    }
    grid-area: content;
    &:where(.c-splitBlock--reverse *) {
      @media (width >= 48rem) {
        margin-left: auto;
      }
    }
  }
  .c-splitBlock__label {
    position: relative;
    margin-bottom: calc(var(--spacing) * 2.5);
    font-family: var(--font-serif);
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
    color: var(--color-mint-secondary);
    @media (width >= 48rem) {
      margin-bottom: calc(var(--spacing) * 6);
    }
    @media (width >= 48rem) {
      width: fit-content;
    }
    @media (width >= 48rem) {
      padding-bottom: calc(var(--spacing) * 3);
    }
    @media (width >= 48rem) {
      font-size: var(--text-5xl);
      line-height: var(--tw-leading, var(--text-5xl--line-height));
    }
    &:after {
      margin-inline: calc(var(--spacing) * -10);
      margin-top: calc(var(--spacing) * 2.5);
      display: block;
      height: 2px;
      width: calc(100% + 80px);
      background-color: var(--color-mint-secondary);
      --tw-content: '';
      content: var(--tw-content);
      @media (width >= 48rem) {
        position: absolute;
      }
      @media (width >= 48rem) {
        right: calc(var(--spacing) * 0);
      }
      @media (width >= 48rem) {
        bottom: calc(var(--spacing) * 0);
      }
      @media (width >= 48rem) {
        margin-inline: auto;
      }
      @media (width >= 48rem) {
        width: 50vw;
      }
    }
    &:where(.c-splitBlock__content *) {
      &:after {
        @media (width >= 48rem) {
          right: auto;
        }
        @media (width >= 48rem) {
          left: calc(var(--spacing) * 0);
        }
      }
    }
    &:where(.c-splitBlock--reverse *) {
      @media (width >= 48rem) {
        margin-left: auto;
      }
      &:after {
        @media (width >= 48rem) {
          right: calc(var(--spacing) * 0);
        }
        @media (width >= 48rem) {
          left: auto;
        }
      }
    }
  }
  .c-splitBlock__headlineWrapper {
    margin-bottom: calc(var(--spacing) * 6);
    @media (width >= 48rem) {
      margin-bottom: calc(var(--spacing) * 8);
    }
  }
  .c-splitBlock__headline {
    font-size: 28px;
    --tw-leading: 1.5em;
    line-height: 1.5em;
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    @media (width >= 48rem) {
      font-size: var(--text-4xl);
      line-height: var(--tw-leading, var(--text-4xl--line-height));
    }
  }
}
@layer utilities {
  .transition--basic {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: 400ms;
    transition-duration: 400ms;
    --tw-ease: var(--ease-out-cubic);
    transition-timing-function: var(--ease-out-cubic);
  }
}
@layer utilities {
  .paragraph {
    --tw-leading: 1.8;
    line-height: 1.8;
  }
  .paragraph-large {
    --tw-leading: 2.0;
    line-height: 2.0;
  }
  .paragraph-relaxed {
    --tw-leading: 2.2;
    line-height: 2.2;
  }
}
body {
  font-family: var(--font-noto-sans-jp);
}
.linear {
  transition-timing-function: var(--ease-linear);
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-gradient-position {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-via-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}
@property --tw-gradient-via-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 50%;
}
@property --tw-gradient-to-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-content {
  syntax: "*";
  initial-value: "";
  inherits: false;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-duration: initial;
      --tw-ease: initial;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-content: "";
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
    }
  }
}
