/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */
@charset "UTF-8";
@layer properties;
@layer preflight {
  *, ::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: 2rem;
  }
  ::file-selector-button {
    margin-inline-end: 0.4rem;
  }
  ::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 theme {
  :root, :host {
    --font-sans: "Noto Sans JP", "Yu Gothic", "游ゴシック", yugothic, "游ゴシック体", メイリオ, sans-serif;
    --font-serif: "Noto Serif JP", serif;
    --font-mono: ui-monospace, sfmono-regular, menlo, monaco, monospace;
    --color-gray-100: #f5f6f6;
    --color-gray-300: #cdcdcd;
    --color-black: #333;
    --color-white: #fff;
    --spacing: 0.25rem;
    --font-weight-bold: 700;
    --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);
    --font-latin: "Cardo", serif;
    --color-primary: #0936a7;
    --color-body: #333;
    --color-gray-350: #c9c9c9;
    --color-gray-450: #8b8b8b;
    --color-purple: #6c5ab9;
    --color-blue-soft: #ced7ed;
    --color-blue-steel: #3072ab;
    --color-blue-royal: #0936a7;
    --color-blue-pale: #d9e9f7;
    --color-blue-sky: #9ad4fa;
    --spacing-gutter: 1.5rem;
    --spacing-3: 0.3rem;
    --spacing-7: 0.7rem;
    --spacing-8: 0.8rem;
    --spacing-10: 1rem;
    --spacing-12: 1.2rem;
    --spacing-20: 2rem;
    --spacing-24: 2.4rem;
    --spacing-25: 2.5rem;
    --spacing-28: 2.8rem;
    --spacing-30: 3rem;
    --spacing-36: 3.6rem;
    --spacing-40: 4rem;
    --spacing-50: 5rem;
    --spacing-58: 5.8rem;
    --spacing-60: 6rem;
    --spacing-74: 7.4rem;
    --spacing-78: 7.8rem;
    --spacing-80: 8rem;
    --spacing-100: 10rem;
    --spacing-120: 12rem;
    --spacing-139: 13.9rem;
    --spacing-260: 26rem;
    --spacing-292: 29.2rem;
    --spacing-450: 45rem;
    --spacing-510: 51rem;
    --spacing-600: 60rem;
    --spacing-800: 80rem;
    --text-20: 2rem;
    --text-32: 3.2rem;
  }
}
@layer utilities {
  .pointer-events-none {
    pointer-events: none;
  }
  .invisible {
    visibility: hidden;
  }
  .visible {
    visibility: visible;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .sticky {
    position: sticky;
  }
  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }
  .z-0 {
    z-index: 0;
  }
  .z-10 {
    z-index: 10;
  }
  .\!container {
    width: 100% !important;
    @media (width >= 480px) {
      max-width: 48rem !important;
    }
    @media (width >= 560px) {
      max-width: 56rem !important;
    }
    @media (width >= 768px) {
      max-width: 76.8rem !important;
    }
    @media (width >= 880px) {
      max-width: 88rem !important;
    }
    @media (width >= 1024px) {
      max-width: 102.4rem !important;
    }
    @media (width >= 1280px) {
      max-width: 128rem !important;
    }
    @media (width >= 1330px) {
      max-width: 133rem !important;
    }
  }
  .container {
    width: 100%;
    @media (width >= 480px) {
      max-width: 48rem;
    }
    @media (width >= 560px) {
      max-width: 56rem;
    }
    @media (width >= 768px) {
      max-width: 76.8rem;
    }
    @media (width >= 880px) {
      max-width: 88rem;
    }
    @media (width >= 1024px) {
      max-width: 102.4rem;
    }
    @media (width >= 1280px) {
      max-width: 128rem;
    }
    @media (width >= 1330px) {
      max-width: 133rem;
    }
  }
  .mx-auto {
    margin-inline: auto;
  }
  .mt-20 {
    margin-top: var(--spacing-20);
  }
  .mt-30 {
    margin-top: var(--spacing-30);
  }
  .mt-40 {
    margin-top: var(--spacing-40);
  }
  .mt-80 {
    margin-top: var(--spacing-80);
  }
  .mb-7 {
    margin-bottom: var(--spacing-7);
  }
  .mb-8 {
    margin-bottom: var(--spacing-8);
  }
  .mb-25 {
    margin-bottom: var(--spacing-25);
  }
  .mb-30 {
    margin-bottom: var(--spacing-30);
  }
  .block {
    display: block;
  }
  .contents {
    display: contents;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .table {
    display: table;
  }
  .h-80 {
    height: var(--spacing-80);
  }
  .h-139 {
    height: var(--spacing-139);
  }
  .h-full {
    height: 100%;
  }
  .w-fit {
    width: fit-content;
  }
  .w-full {
    width: 100%;
  }
  .max-w-260 {
    max-width: var(--spacing-260);
  }
  .max-w-292 {
    max-width: var(--spacing-292);
  }
  .max-w-450 {
    max-width: var(--spacing-450);
  }
  .max-w-600 {
    max-width: var(--spacing-600);
  }
  .max-w-800 {
    max-width: var(--spacing-800);
  }
  .max-w-none {
    max-width: none;
  }
  .flex-shrink {
    flex-shrink: 1;
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .resize {
    resize: both;
  }
  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .gap-10 {
    gap: var(--spacing-10);
  }
  .gap-y-20 {
    row-gap: var(--spacing-20);
  }
  .gap-y-50 {
    row-gap: var(--spacing-50);
  }
  .truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .\!border {
    border-style: var(--tw-border-style) !important;
    border-width: 1px !important;
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .bg-blue-pale {
    background-color: var(--color-blue-pale);
  }
  .bg-blue-steel {
    background-color: var(--color-blue-steel);
  }
  .bg-gray-100 {
    background-color: var(--color-gray-100);
  }
  .bg-purple {
    background-color: var(--color-purple);
  }
  .bg-white {
    background-color: var(--color-white);
  }
  .p-20 {
    padding: var(--spacing-20);
  }
  .px-12 {
    padding-inline: var(--spacing-12);
  }
  .py-20 {
    padding-block: var(--spacing-20);
  }
  .py-24 {
    padding-block: var(--spacing-24);
  }
  .py-30 {
    padding-block: var(--spacing-30);
  }
  .py-40 {
    padding-block: var(--spacing-40);
  }
  .pt-28 {
    padding-top: var(--spacing-28);
  }
  .pt-40 {
    padding-top: var(--spacing-40);
  }
  .pb-3 {
    padding-bottom: var(--spacing-3);
  }
  .pb-60 {
    padding-bottom: var(--spacing-60);
  }
  .pb-80 {
    padding-bottom: var(--spacing-80);
  }
  .text-center {
    text-align: center;
  }
  .font-latin {
    font-family: var(--font-latin);
  }
  .font-serif {
    font-family: var(--font-serif);
  }
  .text-20 {
    font-size: var(--text-20);
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .text-blue-royal {
    color: var(--color-blue-royal);
  }
  .text-blue-steel {
    color: var(--color-blue-steel);
  }
  .text-purple {
    color: var(--color-purple);
  }
  .capitalize {
    text-transform: capitalize;
  }
  .italic {
    font-style: italic;
  }
  .shadow {
    --tw-shadow: 0 1px 0.3rem 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 0.2rem -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .invert {
    --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,);
  }
  .filter {
    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,);
  }
  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .backface-hidden {
    backface-visibility: hidden;
  }
  .max-md\:mt-20 {
    @media (width < 768px) {
      margin-top: var(--spacing-20);
    }
  }
  .max-md\:hidden {
    @media (width < 768px) {
      display: none;
    }
  }
  .md\:mt-58 {
    @media (width >= 768px) {
      margin-top: var(--spacing-58);
    }
  }
  .md\:mt-60 {
    @media (width >= 768px) {
      margin-top: var(--spacing-60);
    }
  }
  .md\:mb-24 {
    @media (width >= 768px) {
      margin-bottom: var(--spacing-24);
    }
  }
  .md\:mb-30 {
    @media (width >= 768px) {
      margin-bottom: var(--spacing-30);
    }
  }
  .md\:mb-40 {
    @media (width >= 768px) {
      margin-bottom: var(--spacing-40);
    }
  }
  .md\:mb-50 {
    @media (width >= 768px) {
      margin-bottom: var(--spacing-50);
    }
  }
  .md\:mb-60 {
    @media (width >= 768px) {
      margin-bottom: var(--spacing-60);
    }
  }
  .md\:grid {
    @media (width >= 768px) {
      display: grid;
    }
  }
  .md\:hidden {
    @media (width >= 768px) {
      display: none;
    }
  }
  .md\:w-fit {
    @media (width >= 768px) {
      width: fit-content;
    }
  }
  .md\:max-w-510 {
    @media (width >= 768px) {
      max-width: var(--spacing-510);
    }
  }
  .md\:grid-cols-3 {
    @media (width >= 768px) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .md\:grid-cols-\[563fr_297fr\] {
    @media (width >= 768px) {
      grid-template-columns: 563fr 297fr;
    }
  }
  .md\:items-center {
    @media (width >= 768px) {
      align-items: center;
    }
  }
  .md\:gap-30 {
    @media (width >= 768px) {
      gap: var(--spacing-30);
    }
  }
  .md\:gap-x-40 {
    @media (width >= 768px) {
      column-gap: var(--spacing-40);
    }
  }
  .md\:gap-y-40 {
    @media (width >= 768px) {
      row-gap: var(--spacing-40);
    }
  }
  .md\:gap-y-100 {
    @media (width >= 768px) {
      row-gap: var(--spacing-100);
    }
  }
  .md\:p-40 {
    @media (width >= 768px) {
      padding: var(--spacing-40);
    }
  }
  .md\:px-40 {
    @media (width >= 768px) {
      padding-inline: var(--spacing-40);
    }
  }
  .md\:py-36 {
    @media (width >= 768px) {
      padding-block: var(--spacing-36);
    }
  }
  .md\:py-50 {
    @media (width >= 768px) {
      padding-block: var(--spacing-50);
    }
  }
  .md\:py-80 {
    @media (width >= 768px) {
      padding-block: var(--spacing-80);
    }
  }
  .md\:pt-74 {
    @media (width >= 768px) {
      padding-top: var(--spacing-74);
    }
  }
  .md\:pt-78 {
    @media (width >= 768px) {
      padding-top: var(--spacing-78);
    }
  }
  .md\:pb-120 {
    @media (width >= 768px) {
      padding-bottom: var(--spacing-120);
    }
  }
  .md\:text-32 {
    @media (width >= 768px) {
      font-size: var(--text-32);
    }
  }
  .ml\:px-80 {
    @media (width >= 880px) {
      padding-inline: var(--spacing-80);
    }
  }
  .lg\:gap-50 {
    @media (width >= 1024px) {
      gap: var(--spacing-50);
    }
  }
}
@layer base {
  :root {
    --breakpoint-xs: 480px;
    --breakpoint-sm: 560px;
    --breakpoint-md: 768px;
    --breakpoint-ml: 880px;
    --breakpoint-lg: 1024px;
    --breakpoint-xl: 1280px;
    --breakpoint-2xl: 1330px;
    --inner-slim: 90rem;
    --inner-base: 98rem;
    --inner-wide: 120rem;
    --view-width: 100vw;
    --view-height: 100vh;
    --font-size-body: 1.4rem;
    --line-height-body: 1.8;
    --gutter: var(--spacing-gutter);
  }
}
@layer jslibrary {
  .embla__viewport {
    overflow: hidden;
  }
  .embla__container {
    display: flex;
    touch-action: pan-y pinch-zoom;
  }
  .embla__slide {
    flex: 0 0 100%;
    min-width: 0;
  }
}
@layer base {
  html {
    font-size: calc(0.625em * var(--font-size-times, 1));
  }
  @media (width >= 768px) {
    html {
      font-size: 0.625em;
    }
  }
  body {
    font-size: 1.4rem;
    line-height: 2.0714285714;
    color: var(--color-body);
  }
  body.is-open {
    overflow: hidden;
  }
  @media (width >= 768px) {
    body {
      font-size: 1.6rem;
      line-height: 2;
    }
  }
  :where(*) {
    letter-spacing: 0.04em;
    outline-color: var(--color-primary);
    border-style: solid;
    border-width: 0;
  }
  input, select, option, textarea, button {
    box-sizing: border-box;
    font-size: 1.4rem;
    line-height: 2.0714285714;
    color: var(--color-body);
    letter-spacing: 0.04em;
  }
  @media (width >= 768px) {
    input, select, option, textarea, button {
      font-size: 1.6rem;
      line-height: 2;
    }
  }
  img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
    image-rendering: smooth;
  }
  svg {
    width: 100%;
  }
  :where(button, [type=button], [type=reset], [type=submit]) {
    padding: 0;
    touch-action: manipulation;
    background: transparent;
    border: none;
  }
  :any-link, button, [type=button], [type=reset], [type=submit], label[for], select, summary, [role=tab], [role=button] {
    cursor: pointer;
  }
  :focus:not(:focus-visible) {
    outline: none;
  }
  i:has(> svg) {
    line-height: 0;
  }
  a:not([class]) {
    color: inherit;
  }
}
@layer layout;
@layer layout {
  .l-header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 100%;
    height: 21.3333333333vw;
    transition: background-color 0.8s;
  }
  .l-header.is-bg-show {
    background-color: rgba(255, 255, 255, 0.8);
  }
  @media (width >= 768px) {
    .l-header {
      height: 8rem;
    }
  }
  @media (width >= 1330px) {
    .l-header {
      height: 10rem;
    }
  }
  @media (width < 1330px) {
    .l-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
    }
  }
  .l-header .l-header__logo-sp, .l-header .l-header__logo-pc {
    z-index: 9999;
  }
  .l-header .l-header__logo-sp a, .l-header .l-header__logo-pc a {
    position: relative;
    display: flex;
    flex-direction: column;
  }
  .l-header .l-header__logo-sp a span, .l-header .l-header__logo-pc a span {
    line-height: 1;
    white-space: nowrap;
  }
  .l-header .l-header__logo-sp a .logo-wrap, .l-header .l-header__logo-pc a .logo-wrap {
    position: relative;
    display: block;
    aspect-ratio: 180/26;
  }
  .l-header .l-header__logo-sp a .logo-wrap img, .l-header .l-header__logo-pc a .logo-wrap img {
    position: absolute;
    bottom: 0;
    left: 0;
    width: auto;
    max-width: inherit;
  }
  .l-header .l-header__logo-sp a .logo-wrap img.logo--white, .l-header .l-header__logo-pc a .logo-wrap img.logo--white {
    visibility: hidden;
    opacity: 0;
  }
  .l-header .l-header__logo-sp a .logo-wrap img.logo--color, .l-header .l-header__logo-pc a .logo-wrap img.logo--color {
    visibility: visible;
    opacity: 1;
  }
  .l-header__logo-pc {
    margin-right: 2rem;
  }
  @media (width >= 1330px) {
    .l-header__logo-pc {
      display: block;
    }
    .l-header__logo-pc a {
      position: relative;
      display: flex;
      flex-direction: column;
      width: 20.2rem;
      height: 5rem;
    }
    .l-header__logo-pc a span {
      margin-bottom: 1.2rem;
      font-size: 1rem;
      line-height: 1;
      white-space: nowrap;
    }
    .l-header__logo-pc a .logo-wrap img {
      position: absolute;
      bottom: 0;
      left: 0;
      width: auto;
      max-width: inherit;
      height: 2.8rem;
    }
  }
  @media (width < 1330px) {
    .l-header__logo-pc {
      display: none;
    }
  }
  .l-header__logo-sp {
    margin-left: 5.3333333333vw;
  }
  .l-header__logo-sp a {
    position: relative;
    display: flex;
    flex-direction: column;
  }
  .l-header__logo-sp a span {
    margin-bottom: 2vw;
    font-size: 2vw;
    line-height: 1;
    white-space: nowrap;
  }
  .l-header__logo-sp a .logo-wrap {
    height: 5.3333333333vw;
  }
  .l-header__logo-sp a .logo-wrap img {
    position: absolute;
    bottom: 0;
    left: 0;
    width: auto;
    max-width: inherit;
    height: 5.3333333333vw;
  }
  .l-header__logo-sp .logo-wrap, .l-header__logo-sp .logo-wrap img {
    height: 2.4rem;
  }
  @media (width >= 768px) {
    .l-header__logo-sp {
      margin-left: 2rem;
    }
    .l-header__logo-sp a {
      height: 4.6rem;
    }
    .l-header__logo-sp a span {
      margin-bottom: 0.8rem;
      font-size: 1rem;
    }
    .l-header__logo-sp a .logo-wrap, .l-header__logo-sp a .logo-wrap img {
      height: 2.8rem;
    }
  }
  @media (width >= 1330px) {
    .l-header__logo-sp {
      display: none;
    }
  }
  .l-header__overlay {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9998;
    display: block;
    visibility: hidden;
    width: 100%;
    height: 100vh;
    background: rgba(255, 255, 255, 0.95);
    opacity: 0;
    transition: all 0.3s ease;
  }
  .l-header__overlay.is-show {
    visibility: visible;
    opacity: 1;
  }
  @media (width >= 1330px) {
    .l-header__overlay {
      display: none;
    }
  }
  @media (width < 1330px) {
    .l-header__hbg-cts {
      position: fixed;
      top: 0;
      right: 0;
      left: 0;
      z-index: 9998;
      visibility: hidden;
      width: 100vw;
      height: 100svh;
      opacity: 0;
    }
    .l-header__hbg-cts.is-show {
      visibility: visible;
      opacity: 1;
    }
  }
  .l-header__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    padding: 21.3333333333vw 5.3333333333vw 5.3333333333vw 8vw;
  }
  @media (width >= 768px) {
    .l-header__inner {
      padding: 8rem 2rem 2rem 3rem;
    }
  }
  @media (width >= 1330px) {
    .l-header__inner {
      flex-direction: row;
      justify-content: space-between;
      height: 10rem;
      padding: 2rem 3rem;
    }
  }
  @media (width < 1330px) {
    .l-header__inner {
      overflow-y: scroll;
    }
  }
  #fukko .l-header:not(.is-bg-show) .l-header__logo-sp a span, #fukko .l-header:not(.is-bg-show) .l-header__logo-pc a span, #fukko .l-header:not(.is-bg-show) .l-header__nav-item > a, #fukko .l-header:not(.is-bg-show) .l-header__nav-item button, #fukko .l-header:not(.is-bg-show) .l-header__lang-item a, #fukko .l-header:not(.is-bg-show) .l-header__lang-item::before {
    color: var(--color-white);
  }
  #fukko .l-header:not(.is-bg-show) .logo--white {
    visibility: visible;
    opacity: 1;
  }
  #fukko .l-header:not(.is-bg-show) .logo--color {
    visibility: hidden;
    opacity: 0;
  }
  #fukko .l-header:not(.is-bg-show) .l-header__hbg-btn-wrap .line {
    background-color: var(--color-white);
  }
  #fukko .l-header:not(.is-bg-show) .l-header__hbg-btn-wrap .line .txt {
    color: var(--color-white);
  }
  @media (width >= 1330px) {
    #fukko .l-header:not(.is-bg-show) .l-header__nav-item.has-sub::after {
      background-image: url("/assets/img/common/icon-triangle-down-white.svg");
    }
    #fukko .l-header:not(.is-bg-show) .l-header__nav-item.is-active {
      border-bottom-color: var(--color-white);
    }
    #fukko .l-header:not(.is-bg-show) .l-header__sns-item a img {
      filter: brightness(0) invert(1);
    }
  }
  #fukko .l-header .l-header__logo-sp.is-active .l-header__logo-sp a span, #fukko .l-header .l-header__logo-sp.is-active .l-header__logo-pc a span, #fukko .l-header .l-header__logo-sp.is-active .l-header__hbg-btn-wrap .line .txt, #fukko .l-header.is-bg-show .l-header__logo-sp a span, #fukko .l-header.is-bg-show .l-header__logo-pc a span, #fukko .l-header.is-bg-show .l-header__hbg-btn-wrap .line .txt {
    color: var(--color-black);
  }
  #fukko .l-header .l-header__logo-sp.is-active .logo--white, #fukko .l-header.is-bg-show .logo--white {
    visibility: hidden;
    opacity: 0;
  }
  #fukko .l-header .l-header__logo-sp.is-active .logo--color, #fukko .l-header.is-bg-show .logo--color {
    visibility: visible;
    opacity: 1;
  }
  #fukko .l-header .l-header__logo-sp.is-active .l-header__hbg-btn-wrap .line, #fukko .l-header .l-header__logo-sp.is-active .l-header__hbg-btn-wrap.is-active .line, #fukko .l-header.is-bg-show .l-header__hbg-btn-wrap .line, #fukko .l-header.is-bg-show .l-header__hbg-btn-wrap.is-active .line {
    background-color: var(--color-black);
  }
  @media (width >= 1330px) {
    #fukko .l-header .l-header__logo-sp.is-active .l-header__nav-item > a, #fukko .l-header .l-header__logo-sp.is-active .l-header__nav-item button, #fukko .l-header .l-header__logo-sp.is-active .l-header__lang-item a, #fukko .l-header .l-header__logo-sp.is-active .l-header__lang-item::before, #fukko .l-header.is-bg-show .l-header__nav-item > a, #fukko .l-header.is-bg-show .l-header__nav-item button, #fukko .l-header.is-bg-show .l-header__lang-item a, #fukko .l-header.is-bg-show .l-header__lang-item::before {
      color: var(--color-black);
    }
    #fukko .l-header .l-header__logo-sp.is-active .l-header__nav-item.has-sub::after, #fukko .l-header.is-bg-show .l-header__nav-item.has-sub::after {
      background-image: url("/assets/img/common/icon-triangle-down-black.svg");
    }
    #fukko .l-header .l-header__logo-sp.is-active .l-header__nav-item.is-active, #fukko .l-header.is-bg-show .l-header__nav-item.is-active {
      border-bottom-color: var(--color-black);
    }
    #fukko .l-header .l-header__logo-sp.is-active .l-header__sns-item a img, #fukko .l-header.is-bg-show .l-header__sns-item a img {
      filter: none;
    }
  }
}
@layer layout {
  .l-footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 8vw 5.3333333333vw 9.3333333333vw;
    background: var(--color-white);
  }
  @media (any-hover: hover) {
    .l-footer a {
      transition: 0.3s opacity ease-in-out;
    }
    .l-footer a:hover {
      opacity: 0.6;
    }
  }
  @media (width >= 768px) {
    .l-footer {
      padding: 4rem 3rem;
    }
  }
  .l-footer__logo img {
    display: inline;
    width: auto;
    height: 6.4vw;
  }
  @media (width >= 768px) {
    .l-footer__logo img {
      height: 2.8rem;
    }
  }
  .l-footer__tokyo {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    margin-top: 3.3333333333vw;
  }
  @media (width >= 768px) {
    .l-footer__tokyo {
      margin-top: 2.5rem;
    }
  }
  .l-footer__tokyo-logo {
    margin: 0 1.3333333333vw;
  }
  @media (width >= 768px) {
    .l-footer__tokyo-logo {
      margin: 0 0.8rem;
    }
  }
  .l-footer__tokyo-logo a img {
    display: inline;
    width: auto;
    height: 4vw;
    vertical-align: middle;
  }
  @media (width >= 768px) {
    .l-footer__tokyo-logo a img {
      height: 2rem;
    }
  }
  .l-footer__tokyo-txt {
    margin: 4vw 0 0;
    font-size: clamp(1rem, 2.6666666667vw, 2rem);
    font-weight: 500;
    line-height: 1.6666666667;
  }
  @media (width >= 768px) {
    .l-footer__tokyo-txt {
      margin: 0 1.2rem;
      font-size: 1.2rem;
    }
  }
  @media (width < 768px) {
    .l-footer__tokyo-txt {
      width: 100%;
      text-align: center;
    }
  }
  .l-footer__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    margin-top: 4vw;
  }
  @media (width >= 768px) {
    .l-footer__list {
      flex-wrap: nowrap;
      margin-top: 3rem;
    }
  }
  .l-footer__item a {
    font-size: clamp(1rem, 2.6666666667vw, 2rem);
    font-weight: 500;
    line-height: 1.6666666667;
  }
  @media (width >= 768px) {
    .l-footer__item a {
      font-size: 1.2rem;
    }
  }
  .l-footer__item + .l-footer__item::before {
    margin: 0 2vw;
    content: "/";
  }
  @media (width >= 768px) {
    .l-footer__item + .l-footer__item::before {
      margin: 0 1.5rem;
    }
  }
  .l-footer__copy-txt {
    margin-top: 3.3333333333vw;
    font-size: clamp(1rem, 2.6666666667vw, 2rem);
    font-weight: 500;
  }
  @media (width >= 768px) {
    .l-footer__copy-txt {
      margin-top: 1.5rem;
      font-size: 1rem;
    }
  }
}
@layer layout {
  .l-teaser {
    display: flex;
    flex-direction: column;
    gap: 1.5rem 0;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100vh;
    overflow: hidden;
  }
  .l-teaser__logo {
    flex: 0 0 auto;
    width: 30rem;
  }
  .l-teaser__txt {
    font-family: var(--font-serif);
    font-size: 2rem;
    font-weight: 500;
    text-align: center;
  }
  @media (orientation: landscape) {
    .l-teaser__logo {
      width: auto;
    }
    .l-teaser__logo img {
      width: 100%;
      max-width: none;
      height: 100%;
      object-fit: contain;
    }
  }
  @media (width >= 768px) {
    .l-teaser {
      gap: 2.5rem 0;
    }
    .l-teaser__logo {
      width: 60rem;
    }
    .l-teaser__txt {
      font-size: 3.2rem;
    }
  }
  @media (width >= 768px) and (orientation: landscape) {
    .l-teaser {
      gap: 1rem 0;
    }
    .l-teaser__logo {
      max-height: 50vh;
    }
  }
  @media (width < 768px) and (orientation: landscape) {
    .l-teaser {
      gap: 0.5rem 0;
    }
    .l-teaser__logo {
      max-height: 35vh;
    }
    .l-teaser__txt {
      font-size: 1.2rem;
    }
  }
}
@layer components {
  .c-wave-bg {
    position: absolute;
    inset: 0 0 auto;
    z-index: 0;
    width: 100%;
  }
  .c-aqua-bg {
    position: absolute;
    inset: 13.9rem 0 0;
    background: var(--color-blue-sky);
  }
  @media (width >= 768px) {
    .c-aqua-bg {
      top: 7.9rem;
    }
  }
  .c-noise-bg {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: url("../images/shared/bg-overlay-noise_sp.png") repeat top center/100% auto;
    mix-blend-mode: overlay;
  }
  @media (width >= 768px) {
    .c-noise-bg {
      background-image: url("../images/shared/bg-overlay-noise_pc.png");
    }
  }
  .c-gradation-bg {
    position: absolute;
    inset: -5rem 0 0;
    z-index: 2;
    pointer-events: none;
    background: url("../images/shared/bg-overlay-gradation_sp.png") repeat top center/100% auto;
    mix-blend-mode: color-burn;
  }
  @media (width >= 768px) {
    .c-gradation-bg {
      top: -33rem;
      background-image: url("../images/shared/bg-overlay-gradation_pc.png");
    }
  }
}
@layer components {
  .c-image-bnr {
    display: block;
    line-height: 0;
  }
  @media (any-hover: hover) {
    .c-image-bnr {
      transition: 0.3s opacity ease-in-out;
    }
    .c-image-bnr:hover {
      opacity: 0.6;
    }
  }
  .c-image-bnr img {
    box-shadow: 0 0 1.2rem rgba(115, 128, 160, 0.3);
  }
}
@layer components {
  .c-plane-board {
    background-color: rgba(255, 255, 255, 0.5);
  }
  .c-board {
    padding: 4rem 2rem;
    background-color: rgba(255, 255, 255, 0.5);
  }
  .c-board__in {
    max-width: 98rem;
    margin-inline: auto;
  }
  @media (width >= 768px) {
    .c-board {
      padding: 8rem 3rem;
    }
  }
  .c-event-board {
    padding: 3rem 2rem;
    background-color: rgba(255, 255, 255, 0.5);
  }
  .c-event-board__in {
    max-width: 86rem;
    margin-inline: auto;
  }
  .c-event-board__hdr {
    padding-bottom: 2rem;
    margin-bottom: 2rem;
    border-bottom: 1px solid var(--color-black);
  }
  .c-event-board__bdy {
    max-width: 40.8rem;
    margin-inline: auto;
  }
  @media (width >= 768px) {
    .c-event-board {
      padding: 4rem 3rem 3rem;
    }
    .c-event-board__hdr {
      padding-bottom: 3rem;
      margin-bottom: 3rem;
    }
  }
  .c-end-boad {
    position: absolute;
    inset: 0;
    z-index: 10;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 6rem;
    background-color: rgba(255, 255, 255, 0.7);
  }
  .c-end-boad__in {
    flex: 0 1 auto;
    padding: 1.8rem 2.4rem;
    color: #fff;
    background-color: var(--color-blue-royal);
  }
  .c-end-boad__in ._caution {
    font-family: var(--font-serif);
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.375;
    text-align: center;
    letter-spacing: 0.03em;
  }
  .c-end-boad__in ._text {
    font-family: var(--font-serif);
    font-size: 1.4rem;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.03em;
  }
  @media (width >= 768px) {
    .c-end-boad {
      align-items: center;
      padding-top: 0;
    }
    .c-end-boad__in {
      flex: 0 0 58rem;
      width: 58rem;
      height: 15rem;
      padding: 3.6rem 0;
    }
    .c-end-boad__in ._caution {
      font-size: 2.8rem;
    }
    .c-end-boad__in ._text {
      margin-top: 0.5rem;
      font-size: 1.8rem;
    }
  }
}
@layer components {
  .c-center-box {
    display: flex;
  }
  .c-center-box:not([data-dir=horizontal]) {
    align-items: center;
  }
  .c-center-box:not([data-dir=vertical]) {
    justify-content: center;
  }
  .c-map-box iframe {
    width: 100%;
    height: 20rem;
  }
  @media (width >= 768px) {
    .c-map-box iframe {
      height: 44.5rem;
    }
  }
}
@layer components {
  .c-play-btn {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .c-play-btn::before {
    position: absolute;
    z-index: 10;
    width: 4.4rem;
    height: 4.4rem;
    content: "";
    background: url("../images/shared/icon-play.svg") no-repeat center center/cover;
    opacity: 0.6;
  }
  @media (width >= 768px) {
    .c-play-btn::before {
      width: 8rem;
      height: 8rem;
    }
  }
  .c-arrow-btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 5.4rem;
    padding-inline: 2.3rem 1.7rem;
    background-color: rgba(255, 255, 255, 0.5);
    border-radius: 100vmax;
  }
  @media (any-hover: hover) {
    .c-arrow-btn {
      transition: 0.3s opacity ease-in-out;
    }
    .c-arrow-btn:hover {
      opacity: 0.6;
    }
  }
  .c-arrow-btn ._text {
    font-family: var(--font-serif);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0;
  }
  .c-arrow-btn ._arrow {
    flex: 0 0 2.9rem;
    width: 2.9rem;
  }
}
@layer components {
  .c-event-card {
    display: block;
    background-color: #fff;
  }
  .c-event-card__image {
    display: block;
    width: 100%;
    max-width: none;
    aspect-ratio: 1/1;
    object-fit: cover;
  }
  .c-event-card__content {
    padding: 1.6rem 1rem;
    background-color: #fff;
  }
  .c-event-card__name {
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    font-family: var(--font-serif);
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.5;
    color: var(--color-blue-royal);
    letter-spacing: 0;
    background: linear-gradient(to right, var(--color-blue-soft) 0%, var(--color-blue-soft) 33.333%, transparent 33.333%, transparent 100%) repeat-x left bottom/0.6rem 0.2rem;
  }
  .c-event-card__text {
    font-size: 1.2rem;
    line-height: 1.7142857143;
    letter-spacing: 0.03em;
  }
  @media (width >= 768px) {
    .c-event-card__content {
      padding: 2rem;
    }
    .c-event-card__name {
      font-size: 1.8rem;
    }
    .c-event-card__text {
      font-size: 1.4rem;
    }
  }
  @media (any-hover: hover) {
    a.c-event-card {
      transition: 0.3s opacity ease-in-out;
    }
    a.c-event-card:hover {
      opacity: 0.6;
    }
  }
}
@layer components {
  .c-fadein {
    visibility: hidden;
    opacity: 0;
  }
  .c-fadein[data-fade-up] {
    translate: 0 2rem;
  }
}
@layer components {
  .c-anchor-group {
    display: flex;
    flex-direction: column;
    gap: 1.2rem 0;
  }
  @media (width >= 768px) {
    .c-anchor-group {
      flex-direction: row;
      justify-content: center;
    }
    .c-anchor-group__item + .c-anchor-group__item {
      border-left: 1px solid var(--color-white);
    }
  }
  .c-overview-group__image {
    text-align: center;
  }
  .c-overview-group__image img {
    display: inline;
    width: 100%;
    max-width: 24rem;
  }
  .c-overview-group__copy {
    margin-top: 2.5rem;
    font-family: var(--font-serif);
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
    letter-spacing: 0.03em;
  }
  .c-overview-group__text {
    margin-top: 1.6rem;
    font-family: var(--font-serif);
    font-weight: 500;
    text-align: center;
    letter-spacing: 0;
  }
  @media (width >= 768px) {
    .c-overview-group__image img {
      max-width: 54rem;
    }
    .c-overview-group__copy {
      margin-top: 4rem;
      font-size: 2.8rem;
    }
    .c-overview-group__text {
      margin-top: 2.2rem;
    }
  }
}
@layer components {
  .c-island-hdr {
    display: flex;
    gap: 0 1.5rem;
    align-items: center;
    justify-content: center;
  }
  .c-island-hdr__heading {
    font-family: var(--font-serif);
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1.375;
    text-align: center;
    letter-spacing: 0;
  }
  .c-island-hdr__sub {
    font-family: var(--font-latin);
    font-size: 1.2rem;
    line-height: 1.375;
    text-align: center;
    letter-spacing: 0;
  }
  .c-island-hdr__hgrp {
    flex: 0 0 auto;
  }
  .c-island-hdr__line {
    flex: 1 1 auto;
    height: 1px;
    background-color: currentcolor;
  }
  @media (width >= 768px) {
    .c-island-hdr {
      gap: 0 4rem;
    }
    .c-island-hdr__heading {
      font-size: 4rem;
    }
    .c-island-hdr__sub {
      margin-top: 0.3rem;
      font-size: 1.5rem;
    }
  }
  .c-event-hdr__sub {
    font-family: var(--font-serif);
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.375;
    text-align: center;
    letter-spacing: 0.03em;
  }
  .c-event-hdr__main {
    display: flex;
    gap: 0 0.6rem;
    align-items: baseline;
    justify-content: center;
    margin-top: 0.8rem;
  }
  .c-event-hdr__main * {
    font-family: var(--font-serif);
    font-weight: 500;
    line-height: 1.375;
    letter-spacing: 0.03em;
  }
  .c-event-hdr__heading {
    font-size: 1.8rem;
  }
  .c-event-hdr__date {
    display: flex;
    gap: 0 0.3rem;
    align-items: baseline;
  }
  .c-event-hdr__date ._text {
    font-size: 1.8rem;
  }
  .c-event-hdr__date ._week {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    font-size: 1.4rem;
    background-color: #fff;
    border-radius: 50%;
  }
  @media (width >= 768px) {
    .c-event-hdr__sub {
      font-size: 2.4rem;
    }
    .c-event-hdr__main {
      gap: 0 1.2rem;
      margin-top: 1.2rem;
    }
    .c-event-hdr__date {
      gap: 0 0.3rem;
    }
    .c-event-hdr__date ._text {
      font-size: 3.2rem;
    }
    .c-event-hdr__date ._week {
      width: 2.9rem;
      height: 2.9rem;
      font-size: 1.8rem;
      translate: 0 -0.3rem;
    }
    .c-event-hdr__heading {
      font-size: 3.2rem;
    }
  }
}
@layer components {
  .c-latin-h2 {
    font-family: var(--font-latin);
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.375;
    letter-spacing: 0;
  }
  @media (width >= 768px) {
    .c-latin-h2 {
      font-size: 4rem;
    }
  }
  .c-latin-h4 {
    font-family: var(--font-latin);
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.375;
    letter-spacing: 0;
  }
  @media (width >= 768px) {
    .c-latin-h4 {
      font-size: 2.6rem;
    }
  }
  .c-dotted-heading {
    width: fit-content;
    padding-bottom: 0.12em;
    background: linear-gradient(to right, currentcolor 0%, currentcolor 33.333%, transparent 33.333%, transparent 100%) repeat-x left bottom/0.6rem 0.2rem;
  }
  .c-h5 {
    font-family: var(--font-latin);
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.375;
  }
  @media (width >= 768px) {
    .c-h5 {
      font-size: 1.8rem;
    }
  }
}
@layer components {
  .c-h4-hgrp__sub {
    font-family: var(--font-latin);
    font-size: 1.2rem;
    line-height: 1.375;
    letter-spacing: 0;
  }
  .c-h4-hgrp__main {
    margin-top: 0.12em;
    font-family: var(--font-latin);
    font-size: 2.6rem;
    font-weight: 500;
    line-height: 1.375;
    letter-spacing: 0;
  }
  @media (width >= 768px) {
    .c-h4-hgrp__sub {
      font-size: 1.4rem;
    }
    .c-h4-hgrp__main {
      font-size: 3.2rem;
    }
  }
  .c-band-hgrp {
    padding-block: 0.8rem;
    background-image: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 100%);
  }
  .c-band-hgrp__sub {
    font-family: var(--font-latin);
    font-size: 2rem;
    line-height: 1.375;
    text-align: center;
    letter-spacing: 0;
  }
  .c-band-hgrp__main {
    margin-top: 0.3rem;
    font-family: var(--font-latin);
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.375;
    text-align: center;
    letter-spacing: 0.03em;
  }
}
@layer components {
  .c-slim-inner {
    width: min(100% - var(--section-gutter) * 2, var(--inner-slim));
    margin-inline: auto;
    --section-gutter: var(--gutter);
  }
  .c-inner {
    width: min(100% - var(--section-gutter) * 2, var(--inner-base));
    margin-inline: auto;
    --section-gutter: var(--gutter);
  }
  .c-wide-inner {
    width: min(100% - var(--section-gutter) * 2, var(--inner-wide));
    margin-inline: auto;
    --section-gutter: var(--gutter);
  }
  [data-gutter=fill]:is(*.c-slim-inner, *.c-inner, *.c-wide-inner) {
    --section-gutter: 0px;
  }
  @media (width >= 768px) {
    [data-gutter-pc=fill]:is(*.c-slim-inner, *.c-inner, *.c-wide-inner) {
      --section-gutter: 0px;
    }
  }
  @media (width < 768px) {
    [data-gutter-mobile=fill]:is(*.c-slim-inner, *.c-inner, *.c-wide-inner) {
      --section-gutter: 0px;
    }
  }
}
@layer components {
  .c-news-item {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 2rem;
    align-items: flex-start;
    width: fit-content;
  }
  .c-news-item__tag {
    display: flex;
    flex: 0 0 8rem;
    align-items: center;
    justify-content: center;
    width: 8rem;
    height: 2.4rem;
    font-size: 1.2rem;
    font-weight: 500;
    color: var(--color-white);
    letter-spacing: 0.03em;
    background-color: var(--color-black);
    border-radius: 100vmax;
  }
  .c-news-item__date {
    flex: 0 0 auto;
    font-size: 1.4rem;
    line-height: 1.625;
    letter-spacing: 0;
  }
  .c-news-item__text, .c-news-item__link {
    flex: 0 0 100%;
    font-size: 1.4rem;
    line-height: 1.625;
    letter-spacing: 0.03em;
  }
  .c-news-item__link {
    text-decoration: underline;
  }
  @media (any-hover: hover) {
    .c-news-item__link:hover {
      text-decoration: none;
    }
  }
  .c-news-item__link[target=_blank]::after {
    display: inline-block;
    width: 0.8571428571em;
    height: 0.8571428571em;
    margin-inline-start: 0.5em;
    content: "";
    background: url("../images/shared/icon-exlink.svg") no-repeat center center/contain;
  }
  @media (width >= 768px) {
    .c-news-item {
      flex-wrap: nowrap;
    }
    .c-news-item__text, .c-news-item__link {
      flex: 0 1 auto;
    }
  }
  .c-event-item {
    gap: 0 2rem;
  }
  .c-event-item__label {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 7.6rem;
    height: 2.5rem;
    margin-bottom: 0.3rem;
    font-size: 1.2rem;
    font-weight: bold;
    color: var(--color-blue-royal);
    background-color: rgba(255, 255, 255, 0.5);
    border-radius: 100vmax;
  }
  .c-event-item__content {
    padding-inline: 1.2rem;
  }
  @media (width >= 768px) {
    .c-event-item {
      display: flex;
    }
    .c-event-item__label {
      flex: 0 0 8.8rem;
      width: 8.8rem;
      height: 3.2rem;
      margin-bottom: 0;
      font-size: 1.4rem;
    }
    .c-event-item__content {
      align-self: center;
      padding: 0;
    }
  }
}
@layer components {
  .c-anchor-link {
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-latin);
    font-size: 1.4rem;
    color: var(--color-blue-royal);
    transition-duration: 0.3s;
    transition-property: color;
  }
  @media (any-hover: hover) {
    .c-anchor-link:hover {
      color: var(--color-blue-steel);
    }
  }
  .c-anchor-link span {
    font-weight: bold;
    text-align: center;
    letter-spacing: 0;
    background: linear-gradient(to right, var(--color-gray-450) 0%, var(--color-gray-450) 33.333%, transparent 33.333%, transparent 100%) repeat-x left bottom/0.6rem 0.2rem;
  }
  @media (width >= 768px) {
    .c-anchor-link {
      height: 8rem;
      font-size: 2rem;
    }
  }
}
@layer components {
  .c-news-list > li {
    padding-block: 2rem;
    background: linear-gradient(to right, var(--color-white) 0%, var(--color-white) 33.333%, transparent 33.333%, transparent 100%) repeat-x left bottom/0.6rem 0.2rem;
  }
}
@layer components {
  .c-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    visibility: hidden;
    opacity: 1;
  }
  .c-modal__overlay {
    position: fixed;
    inset: 0;
    z-index: 0;
    background-color: rgba(0, 0, 0, 0.8);
  }
  .c-modal__container {
    position: relative;
    z-index: 10;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    height: 100%;
    max-height: 100vh;
    padding: 3rem var(--spacing-gutter);
    overflow: auto;
    pointer-events: none;
    -webkit-overflow-scrolling: touch;
  }
  .c-modal__content {
    flex: 1 1 100%;
    max-width: 80rem;
    padding: 3rem var(--spacing-gutter);
    pointer-events: all;
    background-color: #fff;
  }
  .c-modal__yt {
    flex: 1 1 100%;
    align-self: center;
    max-width: 80rem;
    padding: 0;
    pointer-events: all;
  }
  .c-modal__yt iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
  }
}
@layer components {
  .c-section__heading.c-section__heading--main {
    margin-bottom: 5.3333333333vw;
  }
  @media (width >= 768px) {
    .c-section__heading.c-section__heading--main {
      margin-bottom: 1.5rem;
    }
  }
  .c-section__heading.c-section__heading--main .c-section__heading-ttl--en {
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-latin);
    font-size: 3.6rem;
    font-weight: 700;
    line-height: 1.1111111111;
    text-align: center;
  }
  @media (width >= 768px) {
    .c-section__heading.c-section__heading--main .c-section__heading-ttl--en {
      justify-content: flex-start;
      font-size: 5.4rem;
      text-align: left;
    }
  }
  .c-section__heading.c-section__heading--main .c-section__heading-ttl--ja {
    font-family: var(--font-serif);
    font-size: 1.4rem;
    line-height: 2.2857142857;
  }
  .c-section__heading.c-section__heading--main .c-section__heading-lead {
    margin-top: 1.3333333333vw;
    font-family: var(--font-serif);
    text-align: center;
  }
  @media (width >= 768px) {
    .c-section__heading.c-section__heading--main .c-section__heading-lead {
      margin-top: 1.5rem;
      text-align: left;
    }
  }
  .c-section__heading.c-section__heading--main .c-section__heading-link {
    display: flex;
    justify-content: center;
    margin-top: 5.3333333333vw;
  }
  .c-section__heading.c-section__heading--main .c-section__heading-link a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    font-family: var(--font-serif);
    font-size: 1.2rem;
    text-decoration: underline;
    text-underline-offset: 2.4vw;
  }
  .c-section__heading.c-section__heading--main .c-section__heading-link a::after {
    display: block;
    width: 5.0666666667vw;
    height: 5.0666666667vw;
    margin-left: 1.3333333333vw;
    content: "";
    background: url("../images/shared/icon-arrow-right-black_sp.svg") no-repeat center/contain;
  }
  @media (width >= 768px) {
    .c-section__heading.c-section__heading--main .c-section__heading-link {
      margin-top: 3rem;
    }
    .c-section__heading.c-section__heading--main .c-section__heading-link a {
      font-size: 1.4rem;
      text-underline-offset: 0.8rem;
    }
    .c-section__heading.c-section__heading--main .c-section__heading-link a::after {
      width: 2rem;
      height: 2rem;
      margin-left: 0.5rem;
    }
  }
  .c-wave-section {
    background: url("../images/shared/bg-section.png") no-repeat center top;
    background-size: 100% auto;
    background-blend-mode: multiply;
  }
}
@layer components {
  .c-bnr-shadow {
    box-shadow: 0 0 1.2rem rgba(115, 128, 160, 0.3);
  }
}
@layer components {
  .c-photobook-slider {
    position: relative;
    margin-bottom: 2.6rem;
    --slide-spacing: 0;
    --slide-size: 100%;
  }
  .c-photobook-slider .embla__container {
    display: flex;
    margin-left: calc(var(--slide-spacing) * -1);
    touch-action: pan-y pinch-zoom;
  }
  .c-photobook-slider .embla__slide {
    flex: 0 0 var(--slide-size);
    min-width: 0;
    padding-left: var(--slide-spacing);
  }
  .c-photobook-slider .embla__slide img {
    border: 4px solid #fff;
    box-shadow: 0 0 1.2rem rgba(115, 128, 160, 0.3);
  }
  .c-photobook-slider .swiper-slide {
    width: 100%;
    border: 4px solid #fff;
    box-shadow: 0 0 1.2rem rgba(115, 128, 160, 0.3);
  }
  .c-photobook-slider__prev, .c-photobook-slider__next {
    position: absolute;
    top: 50%;
    z-index: 10;
    width: 1.5rem;
    height: 3rem;
    line-height: 0;
    cursor: pointer;
    translate: 0 -50%;
  }
  @media (any-hover: hover) {
    .c-photobook-slider__prev, .c-photobook-slider__next {
      transition: 0.3s opacity ease-in-out;
    }
    .c-photobook-slider__prev:hover, .c-photobook-slider__next:hover {
      opacity: 0.6;
    }
  }
  .c-photobook-slider__prev {
    left: 0;
  }
  .c-photobook-slider__next {
    right: 0;
  }
  .c-photobook-slider__pager {
    position: absolute;
    bottom: -2.6rem;
    display: flex;
    gap: 0 1rem;
    justify-content: center;
    width: 100%;
  }
  .c-photobook-slider__pager ._bullet {
    flex: 0 0 1rem;
    width: 1rem;
    height: 1rem;
    background-color: var(--color-gray-350);
    border-radius: 50%;
  }
  .c-photobook-slider__pager ._bullet.is-active {
    background-color: currentcolor;
  }
  @media (width >= 768px) {
    .c-photobook-slider {
      margin-bottom: 3.2rem;
      --slide-spacing: 0;
      --slide-size: 41.6rem;
    }
    .c-photobook-slider .swiper-slide {
      width: 41.6rem;
      border: 8px solid #fff;
    }
    .c-photobook-slider .embla__slide img {
      border: 8px solid #fff;
      transition-duration: 0.25s;
      transition-property: translate;
    }
    .c-photobook-slider .embla__slide.is-before img {
      translate: 7rem 0;
    }
    .c-photobook-slider .embla__slide.is-after img {
      translate: -7rem 0;
    }
    .c-photobook-slider__pager {
      bottom: -3.2rem;
      gap: 0 1.6rem;
    }
    .c-photobook-slider__prev, .c-photobook-slider__next {
      width: 2rem;
      height: 4rem;
    }
  }
  .c-cap-slider {
    pointer-events: none !important;
  }
  .c-cap-slider .embla__slide {
    pointer-events: none !important;
  }
}
@layer components {
  .c-event-stack > * + * {
    padding-top: 1.2rem;
    margin-top: 1.2rem;
    background: linear-gradient(to right, var(--color-blue-soft) 0%, var(--color-blue-soft) 33.333%, transparent 33.333%, transparent 100%) repeat-x left top/0.6rem 0.2rem;
  }
}
@layer components {
  .c-cap-txt {
    font-size: 1.2rem;
    letter-spacing: 0.03em;
  }
  @media (width >= 768px) {
    .c-cap-txt {
      font-size: 1.4rem;
    }
  }
}
@layer project {
  .home-hero {
    position: relative;
  }
  .home-hero__pager {
    position: absolute;
    inset: auto 0 2rem;
    z-index: 10;
  }
  @media (width >= 768px) {
    .home-hero__pager {
      bottom: 3rem;
    }
  }
  .home-slidepager {
    display: flex;
    gap: 0 1rem;
    justify-content: center;
  }
  .home-slidepager__bullet {
    flex: 0 0 1rem;
    width: 1rem;
    height: 1rem;
    cursor: pointer;
    background-color: var(--color-gray-350);
    border-radius: 50%;
  }
  .home-slidepager__bullet.is-active {
    background-color: var(--color-blue-steel);
  }
  @media (width >= 768px) {
    .home-slidepager {
      gap: 0 1.6rem;
    }
  }
  .home-slide {
    position: relative;
    height: 100vh;
  }
  @media (width >= 768px) {
    .home-slide {
      height: calc(100vh - 12rem);
      min-height: 45rem;
    }
  }
  .home-message {
    padding-block: 6rem 4rem;
    background-color: #fff;
  }
  .home-message__heading {
    font-family: var(--font-serif);
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.375;
    text-align: center;
    letter-spacing: 0;
  }
  .home-message__texts {
    padding-top: 4rem;
  }
  .home-message__texts p {
    font-family: var(--font-serif);
    line-height: 2;
    text-align: center;
    letter-spacing: 0.03em;
  }
  .home-message__texts p + p {
    margin-top: 2em;
  }
  @media (width >= 768px) {
    .home-message {
      padding-block: 12.1rem 9.2rem;
    }
    .home-message__heading {
      font-size: 3.2rem;
    }
    .home-message__texts {
      padding-top: 5.7rem;
    }
    .home-message__texts p {
      line-height: 2.375;
    }
    .home-message__texts p + p {
      margin-top: 2.375em;
    }
  }
  .home-news {
    padding-block: 7rem 4rem;
  }
  .home-news__container {
    padding-block: 2.5rem;
    padding-inline: var(--spacing-gutter);
    margin-top: 4rem;
    background-color: rgba(255, 255, 255, 0.5);
  }
  .home-news__scroller {
    max-width: 88.8rem;
    max-height: 30rem;
    margin-inline: auto;
  }
  .home-news__scroller .simplebar-offset {
    padding-right: 1.5rem;
  }
  .home-news__scroller .simplebar-track.simplebar-vertical {
    width: 0.4rem;
    background-color: #bdbebf;
    border-radius: 0.4rem;
  }
  .home-news__scroller .simplebar-scrollbar::before {
    inset: 0;
    background-color: var(--color-blue-royal);
    opacity: 1;
  }
  @media (width >= 768px) {
    .home-news {
      padding-block: 14.1rem 5rem;
    }
    .home-news__container {
      padding-block: 2rem;
      margin-top: 6rem;
    }
    .home-news__scroller {
      max-height: 32rem;
    }
    .home-news__scroller .simplebar-offset {
      padding-right: 2.5rem;
    }
  }
  .home-media {
    padding-block: 5rem 4rem;
  }
  @media (width >= 768px) {
    .home-media {
      padding-block: 7rem 4rem;
    }
  }
  .home-event {
    padding-block: 5rem 0;
  }
  @media (width >= 768px) {
    .home-event {
      padding-block: 8rem 0;
    }
  }
  .home-pamphlet {
    background-color: var(--color-gray-100);
  }
  .home-pamphlet__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6rem 4rem;
    border-top: solid 1px var(--color-gray-300);
  }
  @media (width < 768px) {
    .home-pamphlet__container {
      flex-direction: column;
      padding: 4rem 0 5rem;
    }
  }
  .home-pamphlet__cts {
    margin-left: 10%;
  }
  @media (width < 768px) {
    .home-pamphlet__cts {
      margin-left: 0;
    }
  }
  .home-pamphlet__cts a {
    display: block;
    width: 100%;
  }
  @media (any-hover: hover) {
    .home-pamphlet__cts a {
      transition: 0.3s opacity ease-in-out;
    }
    .home-pamphlet__cts a:hover {
      opacity: 0.6;
    }
  }
  .home-pamphlet__cts a ._box {
    position: relative;
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 58.5rem;
    padding: 2rem;
    background-color: #fff;
    border: solid 1px #000;
  }
  @media (width < 768px) {
    .home-pamphlet__cts a ._box {
      flex-direction: column;
      max-width: 100%;
      padding: 4rem 1.5rem;
    }
  }
  .home-pamphlet__cts a ._box::after {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 0;
    height: 0;
    content: "";
    border-top: 2.6rem solid transparent;
    border-right: 2.6rem solid transparent;
    border-right-color: #000;
  }
  @media (width < 768px) {
    .home-pamphlet__cts a ._box::after {
      border-top: 2.5rem solid transparent;
      border-right: 2.5rem solid transparent;
      border-right-color: #000;
    }
  }
  .home-pamphlet__cts a ._box img {
    width: 48%;
  }
  @media (width < 768px) {
    .home-pamphlet__cts a ._box img {
      width: 100%;
    }
  }
  @media (width < 768px) {
    .home-pamphlet__cts a ._box img + img {
      margin-top: 2.5rem;
    }
  }
  .home-manners {
    background-color: var(--color-gray-100);
  }
  .home-manners__container {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding: 6rem 4rem;
    border-top: solid 1px var(--color-gray-300);
  }
  @media (width < 768px) {
    .home-manners__container {
      flex-direction: column;
      align-items: center;
      padding: 4rem 0 5rem;
    }
  }
  .home-manners__cts {
    margin-bottom: 2.2rem;
    margin-left: 10%;
  }
  @media (width < 768px) {
    .home-manners__cts {
      margin-bottom: 0;
      margin-left: 0;
    }
  }
  .home-manners__cts p {
    font-family: var(--font-serif);
  }
  .home-manners__cts p * {
    font-size: 1.4rem;
  }
  @media (width < 768px) {
    .home-manners__cts p * {
      font-size: 1.25rem;
      text-align: center;
    }
  }
  .home-manners__cts p a {
    display: flex;
    align-items: center;
    text-decoration: underline;
    text-underline-offset: 0.8rem;
  }
  @media (any-hover: hover) {
    .home-manners__cts p a {
      transition: 0.3s opacity ease-in-out;
    }
    .home-manners__cts p a:hover {
      opacity: 0.6;
    }
  }
  @media (width < 768px) {
    .home-manners__cts p a {
      text-decoration-thickness: 1px;
      text-underline-offset: 0.6rem;
    }
  }
  .home-manners__cts p a::after {
    display: inline-block;
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    margin-left: 0.5rem;
    content: "";
    background: url("../images/shared/icon-arrow-right-black.svg") no-repeat center/contain;
  }
  @media (width < 768px) {
    .home-manners__cts p a::after {
      background: url("../images/shared/icon-arrow-right-black_sp.svg") no-repeat center/contain;
    }
  }
  .home-links {
    background-color: var(--color-gray-100);
  }
  @media (any-hover: hover) {
    .home-links a {
      transition: 0.3s opacity ease-in-out;
    }
    .home-links a:hover {
      opacity: 0.6;
    }
  }
  .home-links .home-links__container {
    padding: 6rem 4rem 10rem;
    border-top: solid 1px var(--color-gray-300);
  }
  @media (width < 768px) {
    .home-links .home-links__container {
      padding: 4rem 0 7.5rem;
    }
  }
  .home-links .home-links__container .c-section__heading {
    margin-bottom: 3rem;
  }
  @media (width < 768px) {
    .home-links .home-links__container .c-section__heading {
      margin-bottom: 2.5rem;
    }
  }
  .home-links .home-links__container .c-section__heading .u-wrap {
    display: flex;
    align-items: flex-end;
  }
  @media (width < 768px) {
    .home-links .home-links__container .c-section__heading .u-wrap {
      flex-direction: column;
      align-items: center;
    }
  }
  .home-links .home-links__container .c-section__heading .u-wrap .c-section__heading-lead {
    margin-bottom: 1rem;
    margin-left: 5rem;
  }
  @media (width < 768px) {
    .home-links .home-links__container .c-section__heading .u-wrap .c-section__heading-lead {
      margin-bottom: 0;
      margin-left: 0;
    }
  }
  .home-links .home-links__container .home-links__heading {
    margin-bottom: 1rem;
  }
  .home-links .home-links__container .home-links__list {
    display: flex;
    flex-wrap: wrap;
  }
  .home-links .home-links__container .home-links__list .home-links__item {
    width: 18.8%;
  }
  @media (width < 768px) {
    .home-links .home-links__container .home-links__list .home-links__item {
      width: calc((100% - 0.75rem) / 2);
    }
  }
  .home-links .home-links__container .home-links__list .home-links__item + .home-links__item {
    margin-left: 1.5%;
  }
  @media (width < 768px) {
    .home-links .home-links__container .home-links__list .home-links__item + .home-links__item {
      margin-left: 0.75rem;
    }
  }
  @media (width >= 768px) {
    .home-links .home-links__container .home-links__list .home-links__item:nth-child(5n+1) {
      margin-left: 0;
    }
    .home-links .home-links__container .home-links__list .home-links__item:nth-child(n+6) {
      margin-top: 3rem;
    }
  }
  @media (width < 768px) {
    .home-links .home-links__container .home-links__list .home-links__item:nth-child(2n+1) {
      margin-left: 0;
    }
    .home-links .home-links__container .home-links__list .home-links__item:nth-child(n+3) {
      margin-top: 1.5rem;
    }
  }
  .home-links .home-links__container .home-links__list .home-links__item a {
    width: 100%;
  }
  .home-links .home-links__container .home-links__list:not(:last-of-type) {
    margin-bottom: 4rem;
  }
}
@layer utilities {
  .object-cover-full {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .object-contain-full {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
}
@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-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@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-font-weight: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --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;
    }
  }
}
