:root {
  --lp-primary: #3B82F6;
  --lp-primary-dark: #1b6bef;
  --lp-primary-light: #5792f3;
  --lp-primary-50: #f4f6f9;
  --lp-primary-100: #e7edf6;
  --lp-primary-200: #cedcf2;
  --lp-primary-300: #acc6ef;
  --lp-primary-400: #83acef;
  --lp-primary-500: #5792f3;
  --lp-primary-600: #3B82F6;
  --lp-primary-700: #1b6bef;
  --lp-primary-800: #1659c6;
  --lp-primary-900: #1a4997;
  --lp-accent: #3B82F6;
  --lp-accent-dark: #1b6bef;
  --lp-accent-light: #5792f3;
  --lp-accent-50: #f4f6f9;
  --lp-accent-100: #e7edf6;
  --lp-accent-200: #cedcf2;
  --lp-accent-500: #5792f3;
  --lp-accent-600: #3B82F6;
  --lp-accent-700: #1b6bef;
  --lp-base: #ffffff;
  --lp-base-dark: #f8fafc;
  --lp-base-100: #f1f5f9;
  --lp-base-200: #e2e8f0;
  --lp-base-500: #64748b;
}

    :root {
      --font-sans-ja: 'Noto Serif JP', serif !important;
      --font-sans-en: 'Noto Serif JP', serif !important;
      --font-serif-ja: 'Noto Serif JP', serif !important;
      --font-serif-en: 'Noto Serif JP', serif !important;
    }
    html, body,
    h1, h2, h3, h4, h5, h6,
    .section h1, .section h2, .section h3, .section h4, .section h5, .section h6,
    .section__heading, .section__heading-sub,
    .section p, p, span, a, li, dt, dd, button, input, textarea, select, label, time {
      font-family: 'Noto Serif JP', serif !important;
    }
    /* アイコンフォントは上書きから除外（span等を上書きするとアイコンが文字化けするため再宣言）。
       クラス＋!important なので上の要素セレクタ＋!importantに勝つ。 */
    .material-symbols-outlined { font-family: 'Material Symbols Outlined' !important; }
    .material-symbols-rounded { font-family: 'Material Symbols Rounded' !important; }
    .material-symbols-sharp { font-family: 'Material Symbols Sharp' !important; }
    .material-icons { font-family: 'Material Icons' !important; }
.tpl-scope-mobile-hero-bare-image .lpc-hero-bare {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
}
.tpl-scope-mobile-hero-bare-image .lpc-hero-bare img {
  display: block;
  width: 100%;
  height: auto;
}
.tpl-scope-mobile-hero-bare-image .lpc-hero-bare__overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}
.tpl-scope-mobile-hero-bare-image .lpc-hero-bare .lpc-hero-bare__overlay img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
/* スライドの重ね方・フェードは共通ランタイム側 (SLIDER_BASE_CSS) が持つ。
   ここに書くと、 CSS スナップショットが古い既存セクションで当たらず縦並びになる
   (公開ページは HTML=最新テンプレ / CSS=スナップショット優先 で参照元が違うため)。 */
/* ============================================================
   GALLERY
   ============================================================ */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery {
  /* Gallery専用カラー */
  --gallery-dark-bg: #33231f;
  --gallery-dark-bg-hover: #3d2924;

  --gallery-light: #ead8c7;
  --gallery-white: #fffaf5;
  --gallery-dark-text: #38251f;

  --gallery-border: rgba(234, 216, 199, 0.38);

  position: relative;

  width: 100%;

  overflow: hidden;

  background: var(--color-background);
  color: var(--color-heading);

  font-family: var(--font-family-base);

  box-sizing: border-box;
}

/* ============================================================
   INTRO
   ============================================================ */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__intro {
  padding-block: var(--section-padding-y);

  background: var(--color-background);

  text-align: center;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;

  gap: var(--space-sm);

  margin-bottom: var(--heading-eyebrow-gap);

  color: var(--color-heading);

  text-transform: uppercase;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__eyebrow-line {
  display: block;

  width: 32px;
  height: 1px;

  background: var(--color-accent);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__heading {
  margin-top: 0;
  margin-bottom: var(--heading-title-gap);

  color: var(--color-heading);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__lead {
  margin: 0;

  color: var(--color-accent);
}

/* ============================================================
   CONTENT
   ============================================================ */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__content {
  padding-bottom: var(--section-padding-y);

  background: var(--color-background);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery .lpc-inner {
  position: relative;

  box-sizing: border-box;
}

/* ============================================================
   SLIDER SHELL
   ============================================================ */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__slider-shell {
  position: relative;

  width: 100%;

  overflow: visible;

  box-sizing: border-box;
}

/* ============================================================
   SWIPER
   ============================================================ */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__slider {
  position: relative;

  width: 100%;

  margin: 0;

  overflow: hidden;

  text-align: left;

  box-sizing: border-box;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__slider .swiper-wrapper {
  align-items: stretch;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__slider .swiper-slide {
  width: 100% !important;
  height: auto !important;

  box-sizing: border-box;
}

/* ============================================================
   GALLERY CARD
   ============================================================ */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__card {
  display: block;

  position: relative;

  width: 100%;
  height: 100%;

  margin: 0;

  overflow: hidden;

  border: 1px solid var(--gallery-border);

  background: var(--gallery-dark-bg);

  color: inherit;

  text-decoration: none;

  box-sizing: border-box;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__card img {
  display: block;

  width: 100%;
  max-width: 100%;

  aspect-ratio: 1.38 / 1;

  object-fit: cover;
  object-position: center;

  box-sizing: border-box;

  transition: transform 0.45s ease;
}

/* ============================================================
   SWIPER NAV
   ============================================================ */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav {
  position: absolute;

  top: 45%;
  z-index: 20;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 44px;
  height: 44px;

  margin: 0;
  padding: 0;

  border: 1px solid var(--gallery-light);
  border-radius: 50%;

  /* 黒ではなくブラウン */
  background: var(--gallery-dark-bg);

  /* 矢印は明るく */
  color: var(--gallery-white);

  cursor: pointer;

  box-sizing: border-box;

  transform: translateY(-50%);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav--prev {
  left: -18px;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav--next {
  right: -18px;
}

/* Swiper標準矢印を非表示 */
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav::after {
  content: none;
}

/* ============================================================
   CUSTOM ARROW
   ============================================================ */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav-icon {
  display: block;

  width: 10px;
  height: 10px;

  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;

  box-sizing: border-box;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav-icon--prev {
  margin-left: 4px;

  transform: rotate(-135deg);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav-icon--next {
  margin-right: 4px;

  transform: rotate(45deg);
}

/* disabled */
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery .swiper-button-disabled {
  opacity: 0.35;

  pointer-events: none;
}

/* ============================================================
   PAGINATION
   ============================================================ */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__pagination {
  position: static;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: var(--space-sm);

  margin-top: var(--space-lg);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__pagination .swiper-pagination-bullet {
  width: 8px;
  height: 8px;

  margin: 0 !important;

  background: var(--gallery-light);

  opacity: 0.45;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__pagination .swiper-pagination-bullet-active {
  background: var(--color-accent);

  opacity: 1;
}

/* ============================================================
   MORE BUTTON
   ============================================================ */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__more-wrap {
  display: flex;
  justify-content: center;

  width: 100%;

  margin-top: var(--space-lg);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery .section--gallery__more {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: var(--space-sm);

  width: 100%;
  max-width: 320px;

  margin: 0;

  padding: 16px 28px;

  /* 明るいベージュ */
  border: 1px solid var(--gallery-light);
  border-radius: 0;

  background: var(--gallery-light);

  /* 文字は濃いブラウン */
  color: var(--gallery-dark-text);

  font-family: var(--font-family-base);

  font-weight: 600;

  line-height: 1.5;

  letter-spacing: 0.06em;

  text-align: center;

  text-decoration: none;

  box-shadow: none;

  box-sizing: border-box;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__more-label {
  display: inline-block;

  color: var(--gallery-dark-text);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__more-arrow {
  display: block;

  flex-shrink: 0;

  width: 8px;
  height: 8px;

  border-top: 1px solid var(--gallery-dark-text);
  border-right: 1px solid var(--gallery-dark-text);

  transform: rotate(45deg);

  box-sizing: border-box;
}

/* ============================================================
   NOTE
   ============================================================ */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__note {
  margin: var(--space-lg) 0 0;

  color: var(--color-heading);

  text-align: center;

  line-height: 1.7;

  letter-spacing: var(--letter-spacing-body);
}

/* ============================================================
   HOVER
   ============================================================ */

@media (hover: hover) {
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__card:hover img {
    transform: scale(1.035);
  }

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav {
    transition:
      background-color 0.2s ease,
      color 0.2s ease,
      border-color 0.2s ease;
  }

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav:hover {
    background: var(--gallery-light);

    border-color: var(--gallery-light);

    color: var(--gallery-dark-text);
  }

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery .section--gallery__more {
    transition:
      background-color 0.2s ease,
      color 0.2s ease,
      border-color 0.2s ease;
  }

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery .section--gallery__more:hover {
    background: var(--gallery-dark-bg);

    border-color: var(--gallery-dark-bg);

    color: var(--gallery-white);
  }

  .section--gallery .section--gallery__more:hover
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__more-label {
    color: var(--gallery-white);
  }

  .section--gallery .section--gallery__more:hover
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__more-arrow {
    border-color: var(--gallery-white);
  }
}

/* ============================================================
   SP
   ============================================================ */

@media (max-width: 480px) {
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav {
    width: 40px;
    height: 40px;
  }

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav--prev {
    left: -14px;
  }

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav--next {
    right: -14px;
  }

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav-icon {
    width: 9px;
    height: 9px;
  }
}
/*--mobile--*/
/* ============================================================
   GALLERY
   ============================================================ */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery {
  /* Gallery専用カラー */
  --gallery-dark-bg: #33231f;
  --gallery-dark-bg-hover: #3d2924;

  --gallery-light: #ead8c7;
  --gallery-white: #fffaf5;
  --gallery-dark-text: #38251f;

  --gallery-border: rgba(234, 216, 199, 0.38);

  position: relative;

  width: 100%;

  overflow: hidden;

  background: var(--color-background);
  color: var(--color-heading);

  font-family: var(--font-family-base);

  box-sizing: border-box;
}

/* ============================================================
   INTRO
   ============================================================ */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__intro {
  padding-block: var(--section-padding-y);

  background: var(--color-background);

  text-align: center;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;

  gap: var(--space-sm);

  margin-bottom: var(--heading-eyebrow-gap);

  color: var(--color-heading);

  text-transform: uppercase;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__eyebrow-line {
  display: block;

  width: 32px;
  height: 1px;

  background: var(--color-accent);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__heading {
  margin-top: 0;
  margin-bottom: var(--heading-title-gap);

  color: var(--color-heading);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__lead {
  margin: 0;

  color: var(--color-accent);
}

/* ============================================================
   CONTENT
   ============================================================ */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__content {
  padding-bottom: var(--section-padding-y);

  background: var(--color-background);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery .lpc-inner {
  position: relative;

  box-sizing: border-box;
}

/* ============================================================
   SLIDER SHELL
   ============================================================ */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__slider-shell {
  position: relative;

  width: 100%;

  overflow: visible;

  box-sizing: border-box;
}

/* ============================================================
   SWIPER
   ============================================================ */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__slider {
  position: relative;

  width: 100%;

  margin: 0;

  overflow: hidden;

  text-align: left;

  box-sizing: border-box;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__slider .swiper-wrapper {
  align-items: stretch;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__slider .swiper-slide {
  width: 100% !important;
  height: auto !important;

  box-sizing: border-box;
}

/* ============================================================
   GALLERY CARD
   ============================================================ */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__card {
  display: block;

  position: relative;

  width: 100%;
  height: 100%;

  margin: 0;

  overflow: hidden;

  border: 1px solid var(--gallery-border);

  background: var(--gallery-dark-bg);

  color: inherit;

  text-decoration: none;

  box-sizing: border-box;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__card img {
  display: block;

  width: 100%;
  max-width: 100%;

  aspect-ratio: 1.38 / 1;

  object-fit: cover;
  object-position: center;

  box-sizing: border-box;

  transition: transform 0.45s ease;
}

/* ============================================================
   SWIPER NAV
   ============================================================ */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav {
  position: absolute;

  top: 45%;
  z-index: 20;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 44px;
  height: 44px;

  margin: 0;
  padding: 0;

  border: 1px solid var(--gallery-light);
  border-radius: 50%;

  /* 黒ではなくブラウン */
  background: var(--gallery-dark-bg);

  /* 矢印は明るく */
  color: var(--gallery-white);

  cursor: pointer;

  box-sizing: border-box;

  transform: translateY(-50%);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav--prev {
  left: -18px;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav--next {
  right: -18px;
}

/* Swiper標準矢印を非表示 */
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav::after {
  content: none;
}

/* ============================================================
   CUSTOM ARROW
   ============================================================ */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav-icon {
  display: block;

  width: 10px;
  height: 10px;

  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;

  box-sizing: border-box;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav-icon--prev {
  margin-left: 4px;

  transform: rotate(-135deg);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav-icon--next {
  margin-right: 4px;

  transform: rotate(45deg);
}

/* disabled */
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery .swiper-button-disabled {
  opacity: 0.35;

  pointer-events: none;
}

/* ============================================================
   PAGINATION
   ============================================================ */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__pagination {
  position: static;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: var(--space-sm);

  margin-top: var(--space-lg);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__pagination .swiper-pagination-bullet {
  width: 8px;
  height: 8px;

  margin: 0 !important;

  background: var(--gallery-light);

  opacity: 0.45;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__pagination .swiper-pagination-bullet-active {
  background: var(--color-accent);

  opacity: 1;
}

/* ============================================================
   MORE BUTTON
   ============================================================ */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__more-wrap {
  display: flex;
  justify-content: center;

  width: 100%;

  margin-top: var(--space-lg);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery .section--gallery__more {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: var(--space-sm);

  width: 100%;
  max-width: 320px;

  margin: 0;

  padding: 16px 28px;

  /* 明るいベージュ */
  border: 1px solid var(--gallery-light);
  border-radius: 0;

  background: var(--gallery-light);

  /* 文字は濃いブラウン */
  color: var(--gallery-dark-text);

  font-family: var(--font-family-base);

  font-weight: 600;

  line-height: 1.5;

  letter-spacing: 0.06em;

  text-align: center;

  text-decoration: none;

  box-shadow: none;

  box-sizing: border-box;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__more-label {
  display: inline-block;

  color: var(--gallery-dark-text);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__more-arrow {
  display: block;

  flex-shrink: 0;

  width: 8px;
  height: 8px;

  border-top: 1px solid var(--gallery-dark-text);
  border-right: 1px solid var(--gallery-dark-text);

  transform: rotate(45deg);

  box-sizing: border-box;
}

/* ============================================================
   NOTE
   ============================================================ */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__note {
  margin: var(--space-lg) 0 0;

  color: var(--color-heading);

  text-align: center;

  line-height: 1.7;

  letter-spacing: var(--letter-spacing-body);
}

/* ============================================================
   HOVER
   ============================================================ */

@media (hover: hover) {
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__card:hover img {
    transform: scale(1.035);
  }

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav {
    transition:
      background-color 0.2s ease,
      color 0.2s ease,
      border-color 0.2s ease;
  }

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav:hover {
    background: var(--gallery-light);

    border-color: var(--gallery-light);

    color: var(--gallery-dark-text);
  }

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery .section--gallery__more {
    transition:
      background-color 0.2s ease,
      color 0.2s ease,
      border-color 0.2s ease;
  }

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery .section--gallery__more:hover {
    background: var(--gallery-dark-bg);

    border-color: var(--gallery-dark-bg);

    color: var(--gallery-white);
  }

  .section--gallery .section--gallery__more:hover
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__more-label {
    color: var(--gallery-white);
  }

  .section--gallery .section--gallery__more:hover
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__more-arrow {
    border-color: var(--gallery-white);
  }
}

/* ============================================================
   SP
   ============================================================ */

@media (max-width: 480px) {
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav {
    width: 40px;
    height: 40px;
  }

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav--prev {
    left: -14px;
  }

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav--next {
    right: -14px;
  }

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav-icon {
    width: 9px;
    height: 9px;
  }
}
.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice {
  --voice-bg: #171210;
  --voice-card-bg: #241b18;
  --voice-card-border: rgba(234, 216, 199, 0.28);

  --voice-text-main: #fffaf5;
  --voice-text-sub: #ead8c7;
  --voice-text-muted: #c7b5a5;

  position: relative;
  width: 100%;
  overflow: hidden;

  padding-block: var(--section-padding-y);

  background: var(--voice-bg);
  color: var(--voice-text-main);

  font-family: var(--font-family-base);

  box-sizing: border-box;
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__inner {
  width: min(100%, var(--inner-width));

  box-sizing: border-box;
}

/* ========================================
   見出し
======================================== */

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__header {
  margin-bottom: var(--heading-content-gap);

  text-align: center;
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;

  gap: var(--content-gap);

  margin-bottom: var(--heading-eyebrow-gap);
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__eyebrow-text {
  margin: 0;

  color: var(--voice-text-sub);

  white-space: nowrap;
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__eyebrow-line {
  display: block;

  width: 2rem;
  height: 1px;

  flex: 0 0 auto;

  background: var(--color-accent);
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__title {
  margin-bottom: var(--heading-title-gap);

  color: var(--voice-text-main);
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__intro {
  margin-inline: auto;

  color: var(--voice-text-sub);

  white-space: pre-line;
}

/* ========================================
   スライダー
======================================== */

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__slider {
  width: 100%;

  overflow-x: auto;
  overflow-y: hidden;

  padding-bottom: var(--space-sm);

  box-sizing: border-box;

  scroll-snap-type: x mandatory;
  scroll-padding-left: 0;

  overscroll-behavior-x: contain;

  -webkit-overflow-scrolling: touch;

  scrollbar-width: none;

  cursor: grab;
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__slider::-webkit-scrollbar {
  display: none;
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__slider:active {
  cursor: grabbing;
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__slider:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 0.25rem;
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__list {
  display: flex;

  width: max-content;
  max-width: none;

  align-items: stretch;

  gap: var(--card-gap);
}

/* ========================================
   カード
======================================== */

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__card {
  display: flex;

  width: min(
    22.875rem,
    calc(100vw - (var(--space-md) * 2))
  );

  max-width: 100%;

  flex: 0 0
    min(
      22.875rem,
      calc(100vw - (var(--space-md) * 2))
    );

  flex-direction: column;

  overflow: hidden;

  border: 1px solid var(--voice-card-border);

  border-radius: var(--radius-card);

  background: var(--voice-card-bg);

  box-sizing: border-box;

  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__card-body {
  display: flex;

  min-height: 100%;

  flex: 1;
  flex-direction: column;

  padding: var(--space-md);

  box-sizing: border-box;
}

/* ========================================
   PROFILE
======================================== */

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__profile {
  display: inline-block;

  align-self: flex-start;

  margin: 0 0 var(--space-sm);

  padding: 0.35em 0.8em;

  border: 1px solid var(--color-accent);

  border-radius: var(--radius-card);

  background: transparent;

  color: var(--voice-text-sub);

  letter-spacing: 0.12em;
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__profile:empty {
  display: none;
}

/* ========================================
   CARD TITLE
======================================== */

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__card-title {
  margin: 0;

  color: var(--voice-text-main);

  letter-spacing: var(--letter-spacing-heading);

  white-space: pre-line;
}

/* ========================================
   CARD TEXT
======================================== */

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__card-text {
  margin: var(--space-sm) 0 0;

  padding-top: var(--space-sm);

  border-top: 1px solid var(--voice-card-border);

  color: var(--voice-text-sub);

  line-height: 1.8;

  white-space: pre-line;
}

/* ========================================
   スクロール案内
======================================== */

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__scroll-guide {
  position: relative;

  width: fit-content;

  margin: var(--space-sm) 0 0;

  padding-left: 2.8rem;

  color: var(--voice-text-muted);

  font-size: 0.75rem;

  letter-spacing: 0.08em;
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__scroll-guide::before {
  position: absolute;

  top: 50%;
  left: 0;

  width: 2.1rem;
  height: 1px;

  background: var(--color-accent);

  content: "";

  transform: translateY(-50%);
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__scroll-guide::after {
  position: absolute;

  top: 50%;
  left: 1.65rem;

  width: 0.45rem;
  height: 0.45rem;

  border-top: 1px solid var(--color-accent);
  border-right: 1px solid var(--color-accent);

  content: "";

  transform: translateY(-50%) rotate(45deg);
}

/* ========================================
   メッセージ
======================================== */

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__message {
  display: flex;

  width: 100%;
  min-height: 5rem;

  align-items: center;
  justify-content: center;

  gap: var(--content-gap);

  margin-top: var(--space-md);

  padding: var(--space-md);

  border: 1px solid var(--voice-card-border);

  border-radius: var(--radius-card);

  background: var(--voice-card-bg);

  box-sizing: border-box;
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__message-line {
  display: block;

  max-width: 9%;

  height: 1px;

  flex: 1 1 auto;

  background: var(--color-accent);
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__message-content {
  min-width: 0;

  text-align: center;
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__message-title {
  margin: 0;

  color: var(--voice-text-main);

  letter-spacing: var(--letter-spacing-heading);

  white-space: pre-line;
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__message-text {
  margin: var(--space-sm) 0 0;

  color: var(--voice-text-sub);

  white-space: pre-line;
}

/* ========================================
   HOVER
======================================== */

@media (hover: hover) {
.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__card {
    transition:
      background-color 0.25s ease,
      border-color 0.25s ease,
      transform 0.25s ease;
  }

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__card:hover {
    background: #2c211d;

    border-color: rgba(234, 216, 199, 0.5);

    transform: translateY(-2px);
  }
}
/*--mobile--*/
.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice {
  --voice-bg: #171210;
  --voice-card-bg: #241b18;
  --voice-card-border: rgba(234, 216, 199, 0.28);

  --voice-text-main: #fffaf5;
  --voice-text-sub: #ead8c7;
  --voice-text-muted: #c7b5a5;

  position: relative;
  width: 100%;
  overflow: hidden;

  padding-block: var(--section-padding-y);

  background: var(--voice-bg);
  color: var(--voice-text-main);

  font-family: var(--font-family-base);

  box-sizing: border-box;
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__inner {
  width: min(100%, var(--inner-width));

  box-sizing: border-box;
}

/* ========================================
   見出し
======================================== */

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__header {
  margin-bottom: var(--heading-content-gap);

  text-align: center;
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;

  gap: var(--content-gap);

  margin-bottom: var(--heading-eyebrow-gap);
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__eyebrow-text {
  margin: 0;

  color: var(--voice-text-sub);

  white-space: nowrap;
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__eyebrow-line {
  display: block;

  width: 2rem;
  height: 1px;

  flex: 0 0 auto;

  background: var(--color-accent);
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__title {
  margin-bottom: var(--heading-title-gap);

  color: var(--voice-text-main);
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__intro {
  margin-inline: auto;

  color: var(--voice-text-sub);

  white-space: pre-line;
}

/* ========================================
   スライダー
======================================== */

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__slider {
  width: 100%;

  overflow-x: auto;
  overflow-y: hidden;

  padding-bottom: var(--space-sm);

  box-sizing: border-box;

  scroll-snap-type: x mandatory;
  scroll-padding-left: 0;

  overscroll-behavior-x: contain;

  -webkit-overflow-scrolling: touch;

  scrollbar-width: none;

  cursor: grab;
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__slider::-webkit-scrollbar {
  display: none;
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__slider:active {
  cursor: grabbing;
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__slider:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 0.25rem;
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__list {
  display: flex;

  width: max-content;
  max-width: none;

  align-items: stretch;

  gap: var(--card-gap);
}

/* ========================================
   カード
======================================== */

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__card {
  display: flex;

  width: min(
    22.875rem,
    calc(100vw - (var(--space-md) * 2))
  );

  max-width: 100%;

  flex: 0 0
    min(
      22.875rem,
      calc(100vw - (var(--space-md) * 2))
    );

  flex-direction: column;

  overflow: hidden;

  border: 1px solid var(--voice-card-border);

  border-radius: var(--radius-card);

  background: var(--voice-card-bg);

  box-sizing: border-box;

  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__card-body {
  display: flex;

  min-height: 100%;

  flex: 1;
  flex-direction: column;

  padding: var(--space-md);

  box-sizing: border-box;
}

/* ========================================
   PROFILE
======================================== */

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__profile {
  display: inline-block;

  align-self: flex-start;

  margin: 0 0 var(--space-sm);

  padding: 0.35em 0.8em;

  border: 1px solid var(--color-accent);

  border-radius: var(--radius-card);

  background: transparent;

  color: var(--voice-text-sub);

  letter-spacing: 0.12em;
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__profile:empty {
  display: none;
}

/* ========================================
   CARD TITLE
======================================== */

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__card-title {
  margin: 0;

  color: var(--voice-text-main);

  letter-spacing: var(--letter-spacing-heading);

  white-space: pre-line;
}

/* ========================================
   CARD TEXT
======================================== */

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__card-text {
  margin: var(--space-sm) 0 0;

  padding-top: var(--space-sm);

  border-top: 1px solid var(--voice-card-border);

  color: var(--voice-text-sub);

  line-height: 1.8;

  white-space: pre-line;
}

/* ========================================
   スクロール案内
======================================== */

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__scroll-guide {
  position: relative;

  width: fit-content;

  margin: var(--space-sm) 0 0;

  padding-left: 2.8rem;

  color: var(--voice-text-muted);

  font-size: 0.75rem;

  letter-spacing: 0.08em;
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__scroll-guide::before {
  position: absolute;

  top: 50%;
  left: 0;

  width: 2.1rem;
  height: 1px;

  background: var(--color-accent);

  content: "";

  transform: translateY(-50%);
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__scroll-guide::after {
  position: absolute;

  top: 50%;
  left: 1.65rem;

  width: 0.45rem;
  height: 0.45rem;

  border-top: 1px solid var(--color-accent);
  border-right: 1px solid var(--color-accent);

  content: "";

  transform: translateY(-50%) rotate(45deg);
}

/* ========================================
   メッセージ
======================================== */

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__message {
  display: flex;

  width: 100%;
  min-height: 5rem;

  align-items: center;
  justify-content: center;

  gap: var(--content-gap);

  margin-top: var(--space-md);

  padding: var(--space-md);

  border: 1px solid var(--voice-card-border);

  border-radius: var(--radius-card);

  background: var(--voice-card-bg);

  box-sizing: border-box;
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__message-line {
  display: block;

  max-width: 9%;

  height: 1px;

  flex: 1 1 auto;

  background: var(--color-accent);
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__message-content {
  min-width: 0;

  text-align: center;
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__message-title {
  margin: 0;

  color: var(--voice-text-main);

  letter-spacing: var(--letter-spacing-heading);

  white-space: pre-line;
}

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__message-text {
  margin: var(--space-sm) 0 0;

  color: var(--voice-text-sub);

  white-space: pre-line;
}

/* ========================================
   HOVER
======================================== */

@media (hover: hover) {
.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__card {
    transition:
      background-color 0.25s ease,
      border-color 0.25s ease,
      transform 0.25s ease;
  }

.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__card:hover {
    background: #2c211d;

    border-color: rgba(234, 216, 199, 0.5);

    transform: translateY(-2px);
  }
}
/* ============================================================
   NEWS
   ============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news {
  /* NEWS専用カラー */
  --news-card-bg: #33231f;
  --news-card-bg-hover: #3d2924;

  --news-text-main: #fffaf5;
  --news-text-sub: #ead8c7;

  --news-link: #fff4e8;

  --news-tag-bg: #ead8c7;
  --news-tag-text: #38251f;

  --news-button-bg: #ead8c7;
  --news-button-text: #38251f;

  --news-card-border: rgba(234, 216, 199, 0.38);

  position: relative;
  width: 100%;
  overflow: hidden;

  background: var(--color-background);
  color: var(--color-heading);

  font-family: var(--font-family-base);

  box-sizing: border-box;
}

/* ============================================================
   INTRO
   ============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__intro {
  padding-block: var(--section-padding-y);

  background: var(--color-background);

  text-align: center;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;

  gap: var(--space-sm);

  margin-bottom: var(--heading-eyebrow-gap);

  color: var(--color-heading);

  text-transform: uppercase;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__eyebrow-line {
  display: block;

  width: 32px;
  height: 1px;

  background: var(--color-accent);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__heading {
  margin-top: 0;
  margin-bottom: var(--heading-title-gap);

  color: var(--color-heading);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__lead {
  margin: 0;

  color: var(--color-accent);
}

/* ============================================================
   CONTENT
   ============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__content {
  padding-bottom: var(--section-padding-y);

  background: var(--color-background);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news .lpc-inner {
  position: relative;

  box-sizing: border-box;
}

/* ============================================================
   SLIDER SHELL
   ============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__slider-shell {
  position: relative;

  width: 100%;

  overflow: visible;

  box-sizing: border-box;
}

/* ============================================================
   SWIPER
   ============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__slider {
  position: relative;

  width: 100%;

  margin: 0;

  overflow: hidden;

  text-align: left;

  box-sizing: border-box;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__slider .swiper-wrapper {
  align-items: stretch;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__slider .swiper-slide {
  width: 100% !important;
  height: auto !important;

  box-sizing: border-box;
}

/* ============================================================
   CARD
   ============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card {
  display: flex;
  flex-direction: column;

  width: 100%;
  height: 100%;

  margin: 0;

  overflow: hidden;

  border: 1px solid var(--news-card-border);

  background: var(--news-card-bg);

  color: var(--news-text-main);

  box-sizing: border-box;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-selflink {
  display: flex;
  flex: 1;
  flex-direction: column;

  min-height: 100%;

  color: inherit;

  text-decoration: none;
}

/* ============================================================
   CARD IMAGE
   ============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-media {
  width: 100%;

  overflow: hidden;

  background: var(--news-card-bg);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-media img {
  display: block;

  width: 100%;
  max-width: 100%;

  aspect-ratio: 1.38 / 1;

  object-fit: cover;
  object-position: center;
}

/* ============================================================
   CARD BODY
   ============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-body {
  display: flex;
  flex: 1;
  flex-direction: column;

  padding: var(--space-lg);

  box-sizing: border-box;
}

/* ============================================================
   META
   ============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: var(--space-sm);

  padding-bottom: var(--space-sm);

  border-bottom: 1px solid rgba(234, 216, 199, 0.42);
}

/* タグを明るいベージュ背景に */
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-tag {
  display: inline-block;

  flex-shrink: 0;

  padding: 0.4em 0.9em;

  border: 0;
  border-radius: 2px;

  background: var(--news-tag-bg);

  color: var(--news-tag-text);

  font-weight: 600;

  line-height: 1.4;
}

/* 日付も明るく */
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-date {
  flex-shrink: 0;

  color: var(--news-text-sub);

  line-height: 1.4;

  white-space: nowrap;
}

/* ============================================================
   CARD TEXT
   ============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-text {
  display: -webkit-box;

  flex: 1;

  margin: var(--space-lg) 0;

  overflow: hidden;

  color: var(--news-text-main);

  text-align: left;

  line-height: 1.8;

  letter-spacing: var(--letter-spacing-body);

  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
}

/* ============================================================
   詳しく見る
   ============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-link {
  display: flex;
  align-items: center;

  gap: var(--space-sm);

  width: 100%;

  margin-top: auto;

  padding-top: var(--space-sm);

  border-top: 1px solid rgba(234, 216, 199, 0.42);

  color: var(--news-link);

  text-decoration: none;

  box-sizing: border-box;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-link-label {
  color: var(--news-link);

  font-weight: 600;

  line-height: 1.5;

  letter-spacing: 0.06em;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__arrow {
  display: block;

  flex-shrink: 0;

  width: 8px;
  height: 8px;

  margin-left: auto;

  border-top: 1px solid var(--news-link);
  border-right: 1px solid var(--news-link);

  transform: rotate(45deg);

  box-sizing: border-box;
}

/* ============================================================
   SWIPER NAV
   ============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav {
  position: absolute;

  top: 45%;
  z-index: 20;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 44px;
  height: 44px;

  margin: 0;
  padding: 0;

  border: 1px solid var(--news-text-sub);
  border-radius: 50%;

  background: var(--news-card-bg);

  color: var(--news-text-main);

  cursor: pointer;

  box-sizing: border-box;

  transform: translateY(-50%);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav--prev {
  left: -18px;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav--next {
  right: -18px;
}

/* Swiper標準矢印を非表示 */
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav::after {
  content: none;
}

/* ============================================================
   NAV ARROW
   ============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav-icon {
  display: block;

  width: 10px;
  height: 10px;

  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;

  box-sizing: border-box;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav-icon--prev {
  margin-left: 4px;

  transform: rotate(-135deg);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav-icon--next {
  margin-right: 4px;

  transform: rotate(45deg);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news .swiper-button-disabled {
  opacity: 0.35;

  pointer-events: none;
}

/* ============================================================
   PAGINATION
   ============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__pagination {
  position: static;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: var(--space-sm);

  margin-top: var(--space-lg);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__pagination .swiper-pagination-bullet {
  width: 8px;
  height: 8px;

  margin: 0 !important;

  background: var(--news-text-sub);

  opacity: 0.45;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__pagination .swiper-pagination-bullet-active {
  background: var(--color-accent);

  opacity: 1;
}

/* ============================================================
   MORE BUTTON
   ============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__more-wrap {
  display: flex;
  justify-content: center;

  width: 100%;

  margin-top: var(--space-lg);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news .section--news__more {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: var(--space-sm);

  width: 100%;
  max-width: 320px;

  margin: 0;

  padding: 16px 28px;

  border: 1px solid var(--news-button-bg);
  border-radius: 0;

  /* 明るい背景に変更 */
  background: var(--news-button-bg);

  /* 濃いブラウン文字 */
  color: var(--news-button-text);

  font-family: var(--font-family-base);

  font-weight: 600;

  line-height: 1.5;

  letter-spacing: 0.06em;

  text-align: center;

  text-decoration: none;

  box-shadow: none;

  box-sizing: border-box;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__more-label {
  display: inline-block;

  color: var(--news-button-text);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__more-arrow {
  display: block;

  flex-shrink: 0;

  width: 8px;
  height: 8px;

  border-top: 1px solid var(--news-button-text);
  border-right: 1px solid var(--news-button-text);

  transform: rotate(45deg);

  box-sizing: border-box;
}

/* ============================================================
   HOVER
   ============================================================ */

@media (hover: hover) {
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card {
    transition:
      background-color 0.2s ease,
      border-color 0.2s ease;
  }

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card:hover {
    background: var(--news-card-bg-hover);
  }

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-link {
    transition: opacity 0.2s ease;
  }

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-link:hover {
    opacity: 0.72;
  }

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav {
    transition:
      background-color 0.2s ease,
      color 0.2s ease,
      border-color 0.2s ease;
  }

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav:hover {
    background: var(--news-button-bg);

    border-color: var(--news-button-bg);

    color: var(--news-button-text);
  }

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news .section--news__more {
    transition:
      background-color 0.2s ease,
      color 0.2s ease,
      border-color 0.2s ease;
  }

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news .section--news__more:hover {
    background: var(--news-card-bg);

    border-color: var(--news-card-bg);

    color: var(--news-text-main);
  }

  .section--news .section--news__more:hover
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__more-label {
    color: var(--news-text-main);
  }

  .section--news .section--news__more:hover
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__more-arrow {
    border-color: var(--news-text-main);
  }
}

/* ============================================================
   SP
   ============================================================ */

@media (max-width: 480px) {
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav {
    width: 40px;
    height: 40px;
  }

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav--prev {
    left: -14px;
  }

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav--next {
    right: -14px;
  }

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav-icon {
    width: 9px;
    height: 9px;
  }
}
/*--mobile--*/
/* ============================================================
   NEWS
   ============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news {
  /* NEWS専用カラー */
  --news-card-bg: #33231f;
  --news-card-bg-hover: #3d2924;

  --news-text-main: #fffaf5;
  --news-text-sub: #ead8c7;

  --news-link: #fff4e8;

  --news-tag-bg: #ead8c7;
  --news-tag-text: #38251f;

  --news-button-bg: #ead8c7;
  --news-button-text: #38251f;

  --news-card-border: rgba(234, 216, 199, 0.38);

  position: relative;
  width: 100%;
  overflow: hidden;

  background: var(--color-background);
  color: var(--color-heading);

  font-family: var(--font-family-base);

  box-sizing: border-box;
}

/* ============================================================
   INTRO
   ============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__intro {
  padding-block: var(--section-padding-y);

  background: var(--color-background);

  text-align: center;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;

  gap: var(--space-sm);

  margin-bottom: var(--heading-eyebrow-gap);

  color: var(--color-heading);

  text-transform: uppercase;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__eyebrow-line {
  display: block;

  width: 32px;
  height: 1px;

  background: var(--color-accent);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__heading {
  margin-top: 0;
  margin-bottom: var(--heading-title-gap);

  color: var(--color-heading);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__lead {
  margin: 0;

  color: var(--color-accent);
}

/* ============================================================
   CONTENT
   ============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__content {
  padding-bottom: var(--section-padding-y);

  background: var(--color-background);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news .lpc-inner {
  position: relative;

  box-sizing: border-box;
}

/* ============================================================
   SLIDER SHELL
   ============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__slider-shell {
  position: relative;

  width: 100%;

  overflow: visible;

  box-sizing: border-box;
}

/* ============================================================
   SWIPER
   ============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__slider {
  position: relative;

  width: 100%;

  margin: 0;

  overflow: hidden;

  text-align: left;

  box-sizing: border-box;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__slider .swiper-wrapper {
  align-items: stretch;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__slider .swiper-slide {
  width: 100% !important;
  height: auto !important;

  box-sizing: border-box;
}

/* ============================================================
   CARD
   ============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card {
  display: flex;
  flex-direction: column;

  width: 100%;
  height: 100%;

  margin: 0;

  overflow: hidden;

  border: 1px solid var(--news-card-border);

  background: var(--news-card-bg);

  color: var(--news-text-main);

  box-sizing: border-box;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-selflink {
  display: flex;
  flex: 1;
  flex-direction: column;

  min-height: 100%;

  color: inherit;

  text-decoration: none;
}

/* ============================================================
   CARD IMAGE
   ============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-media {
  width: 100%;

  overflow: hidden;

  background: var(--news-card-bg);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-media img {
  display: block;

  width: 100%;
  max-width: 100%;

  aspect-ratio: 1.38 / 1;

  object-fit: cover;
  object-position: center;
}

/* ============================================================
   CARD BODY
   ============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-body {
  display: flex;
  flex: 1;
  flex-direction: column;

  padding: var(--space-lg);

  box-sizing: border-box;
}

/* ============================================================
   META
   ============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: var(--space-sm);

  padding-bottom: var(--space-sm);

  border-bottom: 1px solid rgba(234, 216, 199, 0.42);
}

/* タグを明るいベージュ背景に */
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-tag {
  display: inline-block;

  flex-shrink: 0;

  padding: 0.4em 0.9em;

  border: 0;
  border-radius: 2px;

  background: var(--news-tag-bg);

  color: var(--news-tag-text);

  font-weight: 600;

  line-height: 1.4;
}

/* 日付も明るく */
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-date {
  flex-shrink: 0;

  color: var(--news-text-sub);

  line-height: 1.4;

  white-space: nowrap;
}

/* ============================================================
   CARD TEXT
   ============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-text {
  display: -webkit-box;

  flex: 1;

  margin: var(--space-lg) 0;

  overflow: hidden;

  color: var(--news-text-main);

  text-align: left;

  line-height: 1.8;

  letter-spacing: var(--letter-spacing-body);

  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
}

/* ============================================================
   詳しく見る
   ============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-link {
  display: flex;
  align-items: center;

  gap: var(--space-sm);

  width: 100%;

  margin-top: auto;

  padding-top: var(--space-sm);

  border-top: 1px solid rgba(234, 216, 199, 0.42);

  color: var(--news-link);

  text-decoration: none;

  box-sizing: border-box;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-link-label {
  color: var(--news-link);

  font-weight: 600;

  line-height: 1.5;

  letter-spacing: 0.06em;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__arrow {
  display: block;

  flex-shrink: 0;

  width: 8px;
  height: 8px;

  margin-left: auto;

  border-top: 1px solid var(--news-link);
  border-right: 1px solid var(--news-link);

  transform: rotate(45deg);

  box-sizing: border-box;
}

/* ============================================================
   SWIPER NAV
   ============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav {
  position: absolute;

  top: 45%;
  z-index: 20;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 44px;
  height: 44px;

  margin: 0;
  padding: 0;

  border: 1px solid var(--news-text-sub);
  border-radius: 50%;

  background: var(--news-card-bg);

  color: var(--news-text-main);

  cursor: pointer;

  box-sizing: border-box;

  transform: translateY(-50%);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav--prev {
  left: -18px;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav--next {
  right: -18px;
}

/* Swiper標準矢印を非表示 */
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav::after {
  content: none;
}

/* ============================================================
   NAV ARROW
   ============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav-icon {
  display: block;

  width: 10px;
  height: 10px;

  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;

  box-sizing: border-box;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav-icon--prev {
  margin-left: 4px;

  transform: rotate(-135deg);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav-icon--next {
  margin-right: 4px;

  transform: rotate(45deg);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news .swiper-button-disabled {
  opacity: 0.35;

  pointer-events: none;
}

/* ============================================================
   PAGINATION
   ============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__pagination {
  position: static;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: var(--space-sm);

  margin-top: var(--space-lg);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__pagination .swiper-pagination-bullet {
  width: 8px;
  height: 8px;

  margin: 0 !important;

  background: var(--news-text-sub);

  opacity: 0.45;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__pagination .swiper-pagination-bullet-active {
  background: var(--color-accent);

  opacity: 1;
}

/* ============================================================
   MORE BUTTON
   ============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__more-wrap {
  display: flex;
  justify-content: center;

  width: 100%;

  margin-top: var(--space-lg);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news .section--news__more {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: var(--space-sm);

  width: 100%;
  max-width: 320px;

  margin: 0;

  padding: 16px 28px;

  border: 1px solid var(--news-button-bg);
  border-radius: 0;

  /* 明るい背景に変更 */
  background: var(--news-button-bg);

  /* 濃いブラウン文字 */
  color: var(--news-button-text);

  font-family: var(--font-family-base);

  font-weight: 600;

  line-height: 1.5;

  letter-spacing: 0.06em;

  text-align: center;

  text-decoration: none;

  box-shadow: none;

  box-sizing: border-box;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__more-label {
  display: inline-block;

  color: var(--news-button-text);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__more-arrow {
  display: block;

  flex-shrink: 0;

  width: 8px;
  height: 8px;

  border-top: 1px solid var(--news-button-text);
  border-right: 1px solid var(--news-button-text);

  transform: rotate(45deg);

  box-sizing: border-box;
}

/* ============================================================
   HOVER
   ============================================================ */

@media (hover: hover) {
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card {
    transition:
      background-color 0.2s ease,
      border-color 0.2s ease;
  }

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card:hover {
    background: var(--news-card-bg-hover);
  }

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-link {
    transition: opacity 0.2s ease;
  }

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-link:hover {
    opacity: 0.72;
  }

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav {
    transition:
      background-color 0.2s ease,
      color 0.2s ease,
      border-color 0.2s ease;
  }

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav:hover {
    background: var(--news-button-bg);

    border-color: var(--news-button-bg);

    color: var(--news-button-text);
  }

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news .section--news__more {
    transition:
      background-color 0.2s ease,
      color 0.2s ease,
      border-color 0.2s ease;
  }

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news .section--news__more:hover {
    background: var(--news-card-bg);

    border-color: var(--news-card-bg);

    color: var(--news-text-main);
  }

  .section--news .section--news__more:hover
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__more-label {
    color: var(--news-text-main);
  }

  .section--news .section--news__more:hover
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__more-arrow {
    border-color: var(--news-text-main);
  }
}

/* ============================================================
   SP
   ============================================================ */

@media (max-width: 480px) {
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav {
    width: 40px;
    height: 40px;
  }

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav--prev {
    left: -14px;
  }

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav--next {
    right: -14px;
  }

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav-icon {
    width: 9px;
    height: 9px;
  }
}
.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq {
  width: 100%;
  overflow: hidden;
  padding-block: var(--section-padding-y);
  background: var(--color-background);
  color: var(--color-heading);
  font-family: var(--font-family-base);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__inner {
  width: min(100%, var(--inner-width));
  box-sizing: border-box;
}

/* ========================================
   Heading
======================================== */

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__header {
  margin-bottom: var(--heading-content-gap);
  text-align: center;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  margin-bottom: var(--heading-eyebrow-gap);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__eyebrow-line {
  display: block;
  width: 2.5rem;
  height: 1px;
  flex: 0 1 2.5rem;
  background: var(--color-accent);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__eyebrow-text {
  margin: 0;
  color: var(--color-accent);
  white-space: nowrap;
  letter-spacing: var(--letter-spacing-heading);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__title {
  margin-bottom: var(--heading-title-gap);
  color: var(--color-heading);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__lead {
  margin: 0;
  color: var(--color-text);
  white-space: pre-line;
}

/* ========================================
   FAQ List
======================================== */

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__list {
  display: flex;
  flex-direction: column;
  gap: var(--card-gap);
}

/* ========================================
   FAQ Item
======================================== */

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__item {
  width: 100%;
  margin: 0;
  overflow: hidden;
  box-sizing: border-box;
  border: 1px solid var(--color-accent-light);
  border-radius: var(--radius-card);
  background: var(--color-dark-soft);
}

/* ========================================
   Question
======================================== */

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__question {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: center;
  gap: var(--content-gap);
  padding: var(--space-md);
  box-sizing: border-box;
  background: var(--color-dark-soft);
  color: var(--color-white);
  cursor: pointer;
  list-style: none;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__question::-webkit-details-marker {
  display: none;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__question::marker {
  content: "";
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__question-text {
  display: block;
  min-width: 0;
  flex: 1 1 auto;
  color: var(--color-white);
  line-height: 1.7;
  white-space: pre-line;
}

/* ========================================
   Q / A Badge
======================================== */

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__badge {
  display: flex;
  width: 2.6rem;
  height: 2.6rem;
  flex: 0 0 2.6rem;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  border-radius: 50%;
  line-height: 1;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__badge--question {
  border: 1px solid var(--color-accent);
  background: var(--color-accent);
  color: var(--color-white);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__badge--answer {
  border: 1px solid var(--color-accent);
  background: transparent;
  color: var(--color-accent);
}

/* ========================================
   Toggle Icon
======================================== */

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__toggle {
  position: relative;
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 1.25rem;
  margin-left: auto;
}

.section--faq__toggle::before,
.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__toggle::after {
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 1px;
  background: var(--color-accent-light);
  content: "";
  transform: translate(-50%, -50%);
  transition: opacity 0.2s ease;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__toggle::before {
  width: 100%;
  height: 1px;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__toggle::after {
  width: 1px;
  height: 100%;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__item[open] .section--faq__toggle::after {
  opacity: 0;
}

/* ========================================
   Answer
======================================== */

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__answer {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: flex-start;
  gap: var(--content-gap);
  padding: var(--space-md);
  box-sizing: border-box;
  border-top: 1px solid var(--color-accent-light);
  background: var(--color-background);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__answer-text {
  display: block;
  min-width: 0;
  flex: 1 1 auto;
  margin: 0;
  padding-top: var(--space-sm);
  color: var(--color-text);
  line-height: 1.8;
  white-space: pre-line;
}

/* ========================================
   Open State
======================================== */

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__item[open] .section--faq__question {
  background: var(--color-dark-soft);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__item[open] .section--faq__question-text {
  color: var(--color-white);
}

.section--faq__item[open] .section--faq__toggle::before,
.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__item[open] .section--faq__toggle::after {
  background: var(--color-accent-light);
}
/*--mobile--*/
.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq {
  width: 100%;
  overflow: hidden;
  padding-block: var(--section-padding-y);
  background: var(--color-background);
  color: var(--color-heading);
  font-family: var(--font-family-base);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__inner {
  width: min(100%, var(--inner-width));
  box-sizing: border-box;
}

/* ========================================
   Heading
======================================== */

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__header {
  margin-bottom: var(--heading-content-gap);
  text-align: center;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  margin-bottom: var(--heading-eyebrow-gap);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__eyebrow-line {
  display: block;
  width: 2.5rem;
  height: 1px;
  flex: 0 1 2.5rem;
  background: var(--color-accent);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__eyebrow-text {
  margin: 0;
  color: var(--color-accent);
  white-space: nowrap;
  letter-spacing: var(--letter-spacing-heading);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__title {
  margin-bottom: var(--heading-title-gap);
  color: var(--color-heading);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__lead {
  margin: 0;
  color: var(--color-text);
  white-space: pre-line;
}

/* ========================================
   FAQ List
======================================== */

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__list {
  display: flex;
  flex-direction: column;
  gap: var(--card-gap);
}

/* ========================================
   FAQ Item
======================================== */

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__item {
  width: 100%;
  margin: 0;
  overflow: hidden;
  box-sizing: border-box;
  border: 1px solid var(--color-accent-light);
  border-radius: var(--radius-card);
  background: var(--color-dark-soft);
}

/* ========================================
   Question
======================================== */

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__question {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: center;
  gap: var(--content-gap);
  padding: var(--space-md);
  box-sizing: border-box;
  background: var(--color-dark-soft);
  color: var(--color-white);
  cursor: pointer;
  list-style: none;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__question::-webkit-details-marker {
  display: none;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__question::marker {
  content: "";
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__question-text {
  display: block;
  min-width: 0;
  flex: 1 1 auto;
  color: var(--color-white);
  line-height: 1.7;
  white-space: pre-line;
}

/* ========================================
   Q / A Badge
======================================== */

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__badge {
  display: flex;
  width: 2.6rem;
  height: 2.6rem;
  flex: 0 0 2.6rem;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  border-radius: 50%;
  line-height: 1;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__badge--question {
  border: 1px solid var(--color-accent);
  background: var(--color-accent);
  color: var(--color-white);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__badge--answer {
  border: 1px solid var(--color-accent);
  background: transparent;
  color: var(--color-accent);
}

/* ========================================
   Toggle Icon
======================================== */

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__toggle {
  position: relative;
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 1.25rem;
  margin-left: auto;
}

.section--faq__toggle::before,
.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__toggle::after {
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 1px;
  background: var(--color-accent-light);
  content: "";
  transform: translate(-50%, -50%);
  transition: opacity 0.2s ease;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__toggle::before {
  width: 100%;
  height: 1px;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__toggle::after {
  width: 1px;
  height: 100%;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__item[open] .section--faq__toggle::after {
  opacity: 0;
}

/* ========================================
   Answer
======================================== */

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__answer {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: flex-start;
  gap: var(--content-gap);
  padding: var(--space-md);
  box-sizing: border-box;
  border-top: 1px solid var(--color-accent-light);
  background: var(--color-background);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__answer-text {
  display: block;
  min-width: 0;
  flex: 1 1 auto;
  margin: 0;
  padding-top: var(--space-sm);
  color: var(--color-text);
  line-height: 1.8;
  white-space: pre-line;
}

/* ========================================
   Open State
======================================== */

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__item[open] .section--faq__question {
  background: var(--color-dark-soft);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__item[open] .section--faq__question-text {
  color: var(--color-white);
}

.section--faq__item[open] .section--faq__toggle::before,
.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__item[open] .section--faq__toggle::after {
  background: var(--color-accent-light);
}
/* ============================================================
   CTA FOOTER
   ============================================================ */

.tpl-scope-cta-footer-mobile .section--cta-footer {
  --cta-bg: #171210;
  --cta-bg-soft: #241b18;
  --cta-bg-soft-hover: #2d211d;
  --cta-footer-bg: #100c0b;

  --cta-text-main: #fffaf5;
  --cta-text-sub: #ead8c7;
  --cta-text-muted: #bca99a;

  --cta-gold: #c7a34b;
  --cta-gold-light: #ddc584;

  --cta-border: rgba(234, 216, 199, 0.28);

  position: relative;

  width: 100%;

  overflow: hidden;

  background: var(--cta-bg);

  color: var(--cta-text-main);

  font-family: var(--font-family-base);

  box-sizing: border-box;
}

.section--cta-footer,
.tpl-scope-cta-footer-mobile .section--cta-footer * {
  box-sizing: border-box;
}

/* ============================================================
   CONTACT
   ============================================================ */

.tpl-scope-cta-footer-mobile .section--cta-footer__contact {
  width: 100%;

  padding-block: var(--section-padding-y);

  background: var(--cta-bg);
}

.tpl-scope-cta-footer-mobile .section--cta-footer__inner {
  width: min(100%, var(--inner-width));
}

/* ============================================================
   HEADER
   ============================================================ */

.tpl-scope-cta-footer-mobile .section--cta-footer__header {
  margin-bottom: var(--heading-content-gap);

  text-align: center;
}

.section--cta-footer .section--cta-footer__title,
.section--cta-footer
.tpl-scope-cta-footer-mobile .section--cta-footer__title.lpc-section-heading {
  margin-top: 0;
  margin-bottom: var(--heading-title-gap);

  color: var(--cta-text-main) !important;

  opacity: 1;

  text-align: center;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__lead {
  margin: 0;

  color: var(--cta-text-sub);

  line-height: 1.8;

  text-align: center;

  white-space: pre-line;
}

/* ============================================================
   PHONE CARD
   ============================================================ */

.tpl-scope-cta-footer-mobile .section--cta-footer__phone {
  width: 100%;

  margin-top: var(--space-md);

  padding: var(--space-md);

  border: 1px solid var(--cta-border);

  border-radius: var(--radius-card);

  background: var(--cta-bg-soft);
}

.tpl-scope-cta-footer-mobile .section--cta-footer__phone[data-show="非表示"] {
  display: none;
}

/* ============================================================
   PHONE HEAD
   ============================================================ */

.tpl-scope-cta-footer-mobile .section--cta-footer__phone-head {
  display: flex;

  align-items: center;
  justify-content: center;

  gap: var(--content-gap);
}

.tpl-scope-cta-footer-mobile .section--cta-footer__phone-icon {
  display: grid;

  width: 3.5rem;
  height: 3.5rem;

  flex: 0 0 auto;

  place-items: center;

  border: 1px solid var(--cta-gold);

  border-radius: 50%;

  background: transparent;

  color: var(--cta-gold);
}

.tpl-scope-cta-footer-mobile .section--cta-footer__phone-icon svg {
  display: block;

  width: 1.6rem;
  height: 1.6rem;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__phone-body {
  min-width: 0;

  text-align: center;
}

/* ============================================================
   PHONE TEXT
   ============================================================ */

.tpl-scope-cta-footer-mobile .section--cta-footer__phone-label {
  margin: 0;

  color: var(--cta-text-main);

  line-height: 1.5;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__phone-number {
  display: block;

  margin-top: var(--space-sm);

  color: var(--cta-gold-light);

  font-size: clamp(1.75rem, 6vw, 2.125rem);

  font-weight: 700;

  line-height: 1.1;

  letter-spacing: 0.02em;

  text-decoration: none;

  white-space: nowrap;

  transition: opacity 0.2s ease;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__phone-number:hover {
  opacity: 0.75;

  text-decoration: none;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__phone-time {
  margin: var(--space-sm) 0 0;

  color: var(--cta-text-sub);

  line-height: 1.5;
}

/* ============================================================
   PHONE BUTTON
   ============================================================ */

.tpl-scope-cta-footer-mobile .section--cta-footer__phone-button {
  position: relative;

  display: flex;

  width: 100%;
  min-height: 3.5rem;

  align-items: center;
  justify-content: center;

  gap: var(--space-sm);

  margin-top: var(--space-md);

  padding: var(--space-sm) 3rem;

  border: 1px solid var(--cta-gold);

  border-radius: var(--radius-card);

  /* メインCTAはゴールド */
  background: var(--cta-gold);

  color: var(--cta-bg);

  font-weight: 700;

  line-height: 1.5;

  letter-spacing: 0.05em;

  text-align: center;

  text-decoration: none;

  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__phone-button-icon {
  display: block;

  width: 1.3rem;
  height: 1.3rem;

  flex: 0 0 auto;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__phone-button-arrow {
  position: absolute;

  top: 50%;
  right: var(--space-md);

  display: block;

  width: 1.2rem;
  height: 1.2rem;

  transform: translateY(-50%);
}

/* ============================================================
   RESERVATION
   ============================================================ */

.tpl-scope-cta-footer-mobile .section--cta-footer__reserve-list {
  display: flex;

  flex-direction: column;

  gap: var(--card-gap);

  margin: var(--space-md) 0 0;

  padding: 0;

  list-style: none;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__reserve-item {
  margin: 0;
  padding: 0;

  list-style: none;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__reserve-link {
  display: flex;

  width: 100%;

  align-items: center;

  gap: var(--content-gap);

  padding: var(--space-md);

  border: 1px solid var(--cta-border);

  border-radius: var(--radius-card);

  background: var(--cta-bg-soft);

  color: var(--cta-text-main);

  text-decoration: none;

  transition:
    border-color 0.2s ease,
    background-color 0.2s ease;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__reserve-body {
  display: block;

  min-width: 0;

  flex: 1 1 auto;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__reserve-title {
  display: block;

  color: var(--cta-text-main);

  font-weight: 700;

  line-height: 1.5;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__reserve-sub {
  display: block;

  margin-top: var(--space-sm);

  color: var(--cta-text-sub);

  line-height: 1.6;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__reserve-icon {
  display: block;

  width: 1rem;
  height: 1rem;

  flex: 0 0 auto;

  color: var(--cta-gold);
}

.tpl-scope-cta-footer-mobile .section--cta-footer__reserve-icon svg {
  display: block;

  width: 100%;
  height: 100%;
}

/* ============================================================
   SNS
   ============================================================ */

.tpl-scope-cta-footer-mobile .section--cta-footer__sns {
  width: 100%;

  padding-block: var(--space-md);

  border-top: 1px solid var(--cta-border);

  background: var(--cta-bg-soft);
}

.tpl-scope-cta-footer-mobile .section--cta-footer__sns-title {
  display: flex;

  align-items: center;
  justify-content: center;

  gap: var(--content-gap);

  margin: 0;

  color: var(--cta-text-main);

  font-weight: 700;

  line-height: 1.5;

  text-align: center;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__sns-title-line {
  display: block;

  width: min(5rem, 16%);
  height: 1px;

  flex: 0 1 auto;

  background: var(--cta-gold);
}

.tpl-scope-cta-footer-mobile .section--cta-footer__sns-list {
  display: flex;

  flex-wrap: wrap;

  align-items: center;
  justify-content: center;

  gap: var(--card-gap);

  margin: var(--space-md) 0 0;

  padding: 0;

  list-style: none;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__sns-list > li {margin: 0;
  padding: 0;

  list-style: none}

.section--cta-footer__sns-list > li[data-show="非表示"] {display: none}

.section--cta-footer__sns-link {
  display: block;

  color: var(--cta-gold);

  text-decoration: none;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__sns-icon {
  display: grid;

  width: 3.125rem;
  height: 3.125rem;

  place-items: center;

  overflow: hidden;

  border: 1px solid var(--cta-gold);

  border-radius: 50%;

  background: transparent;

  color: var(--cta-gold);

  transition:
    background-color 0.2s ease,
    color 0.2s ease;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__sns-icon svg {
  display: block;

  width: 55%;
  height: 55%;
}

/* ============================================================
   FOOTER
   ============================================================ */

.tpl-scope-cta-footer-mobile .section--cta-footer__footer {
  width: 100%;

  border-top: 1px solid var(--cta-border);

  background: var(--cta-footer-bg);

  color: var(--cta-text-main);
}

.tpl-scope-cta-footer-mobile .section--cta-footer__footer-inner {
  width: min(100%, var(--inner-width));
}

/* ============================================================
   FOOTER NAV
   ============================================================ */

.tpl-scope-cta-footer-mobile .section--cta-footer__footer-nav {
  display: block;

  width: 100%;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__footer-link {
  display: flex;

  width: 100%;

  align-items: center;
  justify-content: space-between;

  gap: var(--content-gap);

  padding: var(--space-md);

  border-bottom: 1px solid var(--cta-border);

  color: var(--cta-text-main);

  line-height: 1.5;

  text-decoration: none;

  transition: background-color 0.2s ease;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__footer-arrow {
  display: block;

  width: 1.2rem;
  height: 1.2rem;

  flex: 0 0 auto;

  color: var(--cta-gold);
}

/* ============================================================
   COPYRIGHT
   ============================================================ */

.tpl-scope-cta-footer-mobile .section--cta-footer__copyright {
  margin: 0;

  padding: var(--space-md);

  color: var(--cta-text-muted);

  font-size: 0.75rem;

  line-height: 1.5;

  letter-spacing: 0.06em;

  text-align: center;
}

/* ============================================================
   HOVER
   ============================================================ */

@media (hover: hover) {
.tpl-scope-cta-footer-mobile .section--cta-footer__phone-button:hover {
    border-color: var(--cta-gold-light);

    background: var(--cta-gold-light);

    color: var(--cta-bg);

    text-decoration: none;
  }

.tpl-scope-cta-footer-mobile .section--cta-footer__reserve-link:hover {
    border-color: var(--cta-gold);

    background: var(--cta-bg-soft-hover);

    text-decoration: none;
  }

.tpl-scope-cta-footer-mobile .section--cta-footer__sns-link:hover {
    text-decoration: none;
  }

  .section--cta-footer__sns-link:hover
.tpl-scope-cta-footer-mobile .section--cta-footer__sns-icon {
    background: var(--cta-gold);

    color: var(--cta-bg);
  }

.tpl-scope-cta-footer-mobile .section--cta-footer__footer-link:hover {
    background: rgba(255, 255, 255, 0.05);

    text-decoration: none;
  }
}

/* ============================================================
   SP
   ============================================================ */

@media (max-width: 480px) {
.tpl-scope-cta-footer-mobile .section--cta-footer__phone {
    padding: var(--space-md);
  }

.tpl-scope-cta-footer-mobile .section--cta-footer__phone-head {
    gap: var(--space-sm);
  }

.tpl-scope-cta-footer-mobile .section--cta-footer__phone-icon {
    width: 3rem;
    height: 3rem;
  }

.tpl-scope-cta-footer-mobile .section--cta-footer__phone-icon svg {
    width: 1.4rem;
    height: 1.4rem;
  }

.tpl-scope-cta-footer-mobile .section--cta-footer__phone-button {
    padding-right: 2.8rem;
    padding-left: 2.8rem;
  }
}
/*--mobile--*/
/* ============================================================
   CTA FOOTER
   ============================================================ */

.tpl-scope-cta-footer-mobile .section--cta-footer {
  --cta-bg: #171210;
  --cta-bg-soft: #241b18;
  --cta-bg-soft-hover: #2d211d;
  --cta-footer-bg: #100c0b;

  --cta-text-main: #fffaf5;
  --cta-text-sub: #ead8c7;
  --cta-text-muted: #bca99a;

  --cta-gold: #c7a34b;
  --cta-gold-light: #ddc584;

  --cta-border: rgba(234, 216, 199, 0.28);

  position: relative;

  width: 100%;

  overflow: hidden;

  background: var(--cta-bg);

  color: var(--cta-text-main);

  font-family: var(--font-family-base);

  box-sizing: border-box;
}

.section--cta-footer,
.tpl-scope-cta-footer-mobile .section--cta-footer * {
  box-sizing: border-box;
}

/* ============================================================
   CONTACT
   ============================================================ */

.tpl-scope-cta-footer-mobile .section--cta-footer__contact {
  width: 100%;

  padding-block: var(--section-padding-y);

  background: var(--cta-bg);
}

.tpl-scope-cta-footer-mobile .section--cta-footer__inner {
  width: min(100%, var(--inner-width));
}

/* ============================================================
   HEADER
   ============================================================ */

.tpl-scope-cta-footer-mobile .section--cta-footer__header {
  margin-bottom: var(--heading-content-gap);

  text-align: center;
}

.section--cta-footer .section--cta-footer__title,
.section--cta-footer
.tpl-scope-cta-footer-mobile .section--cta-footer__title.lpc-section-heading {
  margin-top: 0;
  margin-bottom: var(--heading-title-gap);

  color: var(--cta-text-main) !important;

  opacity: 1;

  text-align: center;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__lead {
  margin: 0;

  color: var(--cta-text-sub);

  line-height: 1.8;

  text-align: center;

  white-space: pre-line;
}

/* ============================================================
   PHONE CARD
   ============================================================ */

.tpl-scope-cta-footer-mobile .section--cta-footer__phone {
  width: 100%;

  margin-top: var(--space-md);

  padding: var(--space-md);

  border: 1px solid var(--cta-border);

  border-radius: var(--radius-card);

  background: var(--cta-bg-soft);
}

.tpl-scope-cta-footer-mobile .section--cta-footer__phone[data-show="非表示"] {
  display: none;
}

/* ============================================================
   PHONE HEAD
   ============================================================ */

.tpl-scope-cta-footer-mobile .section--cta-footer__phone-head {
  display: flex;

  align-items: center;
  justify-content: center;

  gap: var(--content-gap);
}

.tpl-scope-cta-footer-mobile .section--cta-footer__phone-icon {
  display: grid;

  width: 3.5rem;
  height: 3.5rem;

  flex: 0 0 auto;

  place-items: center;

  border: 1px solid var(--cta-gold);

  border-radius: 50%;

  background: transparent;

  color: var(--cta-gold);
}

.tpl-scope-cta-footer-mobile .section--cta-footer__phone-icon svg {
  display: block;

  width: 1.6rem;
  height: 1.6rem;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__phone-body {
  min-width: 0;

  text-align: center;
}

/* ============================================================
   PHONE TEXT
   ============================================================ */

.tpl-scope-cta-footer-mobile .section--cta-footer__phone-label {
  margin: 0;

  color: var(--cta-text-main);

  line-height: 1.5;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__phone-number {
  display: block;

  margin-top: var(--space-sm);

  color: var(--cta-gold-light);

  font-size: clamp(1.75rem, 6vw, 2.125rem);

  font-weight: 700;

  line-height: 1.1;

  letter-spacing: 0.02em;

  text-decoration: none;

  white-space: nowrap;

  transition: opacity 0.2s ease;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__phone-number:hover {
  opacity: 0.75;

  text-decoration: none;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__phone-time {
  margin: var(--space-sm) 0 0;

  color: var(--cta-text-sub);

  line-height: 1.5;
}

/* ============================================================
   PHONE BUTTON
   ============================================================ */

.tpl-scope-cta-footer-mobile .section--cta-footer__phone-button {
  position: relative;

  display: flex;

  width: 100%;
  min-height: 3.5rem;

  align-items: center;
  justify-content: center;

  gap: var(--space-sm);

  margin-top: var(--space-md);

  padding: var(--space-sm) 3rem;

  border: 1px solid var(--cta-gold);

  border-radius: var(--radius-card);

  /* メインCTAはゴールド */
  background: var(--cta-gold);

  color: var(--cta-bg);

  font-weight: 700;

  line-height: 1.5;

  letter-spacing: 0.05em;

  text-align: center;

  text-decoration: none;

  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__phone-button-icon {
  display: block;

  width: 1.3rem;
  height: 1.3rem;

  flex: 0 0 auto;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__phone-button-arrow {
  position: absolute;

  top: 50%;
  right: var(--space-md);

  display: block;

  width: 1.2rem;
  height: 1.2rem;

  transform: translateY(-50%);
}

/* ============================================================
   RESERVATION
   ============================================================ */

.tpl-scope-cta-footer-mobile .section--cta-footer__reserve-list {
  display: flex;

  flex-direction: column;

  gap: var(--card-gap);

  margin: var(--space-md) 0 0;

  padding: 0;

  list-style: none;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__reserve-item {
  margin: 0;
  padding: 0;

  list-style: none;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__reserve-link {
  display: flex;

  width: 100%;

  align-items: center;

  gap: var(--content-gap);

  padding: var(--space-md);

  border: 1px solid var(--cta-border);

  border-radius: var(--radius-card);

  background: var(--cta-bg-soft);

  color: var(--cta-text-main);

  text-decoration: none;

  transition:
    border-color 0.2s ease,
    background-color 0.2s ease;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__reserve-body {
  display: block;

  min-width: 0;

  flex: 1 1 auto;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__reserve-title {
  display: block;

  color: var(--cta-text-main);

  font-weight: 700;

  line-height: 1.5;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__reserve-sub {
  display: block;

  margin-top: var(--space-sm);

  color: var(--cta-text-sub);

  line-height: 1.6;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__reserve-icon {
  display: block;

  width: 1rem;
  height: 1rem;

  flex: 0 0 auto;

  color: var(--cta-gold);
}

.tpl-scope-cta-footer-mobile .section--cta-footer__reserve-icon svg {
  display: block;

  width: 100%;
  height: 100%;
}

/* ============================================================
   SNS
   ============================================================ */

.tpl-scope-cta-footer-mobile .section--cta-footer__sns {
  width: 100%;

  padding-block: var(--space-md);

  border-top: 1px solid var(--cta-border);

  background: var(--cta-bg-soft);
}

.tpl-scope-cta-footer-mobile .section--cta-footer__sns-title {
  display: flex;

  align-items: center;
  justify-content: center;

  gap: var(--content-gap);

  margin: 0;

  color: var(--cta-text-main);

  font-weight: 700;

  line-height: 1.5;

  text-align: center;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__sns-title-line {
  display: block;

  width: min(5rem, 16%);
  height: 1px;

  flex: 0 1 auto;

  background: var(--cta-gold);
}

.tpl-scope-cta-footer-mobile .section--cta-footer__sns-list {
  display: flex;

  flex-wrap: wrap;

  align-items: center;
  justify-content: center;

  gap: var(--card-gap);

  margin: var(--space-md) 0 0;

  padding: 0;

  list-style: none;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__sns-list > li {margin: 0;
  padding: 0;

  list-style: none}

.section--cta-footer__sns-list > li[data-show="非表示"] {display: none}

.section--cta-footer__sns-link {
  display: block;

  color: var(--cta-gold);

  text-decoration: none;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__sns-icon {
  display: grid;

  width: 3.125rem;
  height: 3.125rem;

  place-items: center;

  overflow: hidden;

  border: 1px solid var(--cta-gold);

  border-radius: 50%;

  background: transparent;

  color: var(--cta-gold);

  transition:
    background-color 0.2s ease,
    color 0.2s ease;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__sns-icon svg {
  display: block;

  width: 55%;
  height: 55%;
}

/* ============================================================
   FOOTER
   ============================================================ */

.tpl-scope-cta-footer-mobile .section--cta-footer__footer {
  width: 100%;

  border-top: 1px solid var(--cta-border);

  background: var(--cta-footer-bg);

  color: var(--cta-text-main);
}

.tpl-scope-cta-footer-mobile .section--cta-footer__footer-inner {
  width: min(100%, var(--inner-width));
}

/* ============================================================
   FOOTER NAV
   ============================================================ */

.tpl-scope-cta-footer-mobile .section--cta-footer__footer-nav {
  display: block;

  width: 100%;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__footer-link {
  display: flex;

  width: 100%;

  align-items: center;
  justify-content: space-between;

  gap: var(--content-gap);

  padding: var(--space-md);

  border-bottom: 1px solid var(--cta-border);

  color: var(--cta-text-main);

  line-height: 1.5;

  text-decoration: none;

  transition: background-color 0.2s ease;
}

.tpl-scope-cta-footer-mobile .section--cta-footer__footer-arrow {
  display: block;

  width: 1.2rem;
  height: 1.2rem;

  flex: 0 0 auto;

  color: var(--cta-gold);
}

/* ============================================================
   COPYRIGHT
   ============================================================ */

.tpl-scope-cta-footer-mobile .section--cta-footer__copyright {
  margin: 0;

  padding: var(--space-md);

  color: var(--cta-text-muted);

  font-size: 0.75rem;

  line-height: 1.5;

  letter-spacing: 0.06em;

  text-align: center;
}

/* ============================================================
   HOVER
   ============================================================ */

@media (hover: hover) {
.tpl-scope-cta-footer-mobile .section--cta-footer__phone-button:hover {
    border-color: var(--cta-gold-light);

    background: var(--cta-gold-light);

    color: var(--cta-bg);

    text-decoration: none;
  }

.tpl-scope-cta-footer-mobile .section--cta-footer__reserve-link:hover {
    border-color: var(--cta-gold);

    background: var(--cta-bg-soft-hover);

    text-decoration: none;
  }

.tpl-scope-cta-footer-mobile .section--cta-footer__sns-link:hover {
    text-decoration: none;
  }

  .section--cta-footer__sns-link:hover
.tpl-scope-cta-footer-mobile .section--cta-footer__sns-icon {
    background: var(--cta-gold);

    color: var(--cta-bg);
  }

.tpl-scope-cta-footer-mobile .section--cta-footer__footer-link:hover {
    background: rgba(255, 255, 255, 0.05);

    text-decoration: none;
  }
}

/* ============================================================
   SP
   ============================================================ */

@media (max-width: 480px) {
.tpl-scope-cta-footer-mobile .section--cta-footer__phone {
    padding: var(--space-md);
  }

.tpl-scope-cta-footer-mobile .section--cta-footer__phone-head {
    gap: var(--space-sm);
  }

.tpl-scope-cta-footer-mobile .section--cta-footer__phone-icon {
    width: 3rem;
    height: 3rem;
  }

.tpl-scope-cta-footer-mobile .section--cta-footer__phone-icon svg {
    width: 1.4rem;
    height: 1.4rem;
  }

.tpl-scope-cta-footer-mobile .section--cta-footer__phone-button {
    padding-right: 2.8rem;
    padding-left: 2.8rem;
  }
}
/* ============================================================
   FATE RIGHT MENU
============================================================ */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc {
  --lpc-right-frame-width: 430px;

  --lpc-right-text: #f8f2e7;

  --lpc-right-gold: #d5a93e;

  --lpc-right-gold-light: #e5bd55;

  --lpc-right-border:
    rgba(213, 169, 62, 0.42);

  --lpc-right-transition:
    0.35s ease;
}


/* ============================================================
   OPEN
============================================================ */

html.lpc-right-menu-open,
.tpl-scope-cmsgwp3sd15nm0h43neqxwopc html.lpc-right-menu-open body {overflow: hidden;
  overscroll-behavior: none}


/* ============================================================
   PORTAL
============================================================ */

.lpc-right-code-portal {
  position: fixed;

  inset: 0;

  z-index: 2147483000;

  display: block;

  width: 100vw;
  height: 100vh;
  height: 100dvh;

  margin: 0;
  padding: 0;

  overflow: visible;

  pointer-events: none;

  visibility: visible;
  opacity: 1;

  transform: none;
  filter: none;

  contain: none;
}


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-portal.is-open {
  pointer-events: auto;
}


/* ============================================================
   ROOT
============================================================ */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-side {
  position: fixed;

  top: 0;
  right: 0;
  bottom: 0;

  z-index: 1;

  width:
    max(
      0px,
      calc(
        (
          100vw -
          var(--lpc-right-frame-width)
        ) / 2
      )
    );

  height: 100vh;
  height: 100dvh;

  pointer-events: none;

  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
}


/* ============================================================
   PC NAV
============================================================ */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav {
  position: relative;

  left: 50%;

  display: block;

  width: 70%;
  height: 100%;

  visibility: visible;

  opacity: 1;

  pointer-events: auto;

  transform:
    translateX(-50%);
}


/* ============================================================
   PANEL
============================================================ */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__panel {
  position: relative;

  width: 100%;
  height: 100%;

  min-width: 250px;

  overflow: hidden;

  color:
    var(--lpc-right-text);

  background:
    linear-gradient(
      180deg,
      rgba(8, 6, 4, 0.72) 0%,
      rgba(8, 6, 4, 0.67) 48%,
      rgba(8, 6, 4, 0.8) 100%
    );

  -webkit-backdrop-filter:
    blur(5px)
    brightness(0.7)
    saturate(0.85);

  backdrop-filter:
    blur(5px)
    brightness(0.7)
    saturate(0.85);

  border-left:
    1px solid
    var(--lpc-right-border);

  border-right:
    1px solid
    rgba(213, 169, 62, 0.15);

  box-sizing:
    border-box;

  isolation:
    isolate;
}


/* ============================================================
   OVERLAY
============================================================ */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__panel::before {
  position: absolute;

  inset: 0;

  z-index: 0;

  content: "";

  pointer-events: none;

  background:
    linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.18),
      transparent 30%,
      transparent 70%,
      rgba(0, 0, 0, 0.18)
    );
}


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__panel::after {
  position: absolute;

  inset: 0;

  z-index: 1;

  content: "";

  pointer-events: none;

  background:
    radial-gradient(
      circle at 85% 70%,
      rgba(213, 169, 62, 0.065),
      transparent 46%
    );
}


/* ============================================================
   INNER
============================================================ */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__inner {
  position: relative;

  z-index: 2;

  display: flex;

  flex-direction:
    column;

  width: 100%;
  height: 100%;

  padding:
    clamp(60px, 8vh, 90px)
    clamp(34px, 3vw, 54px)
    clamp(34px, 5vh, 58px);

  box-sizing:
    border-box;
}


/* ============================================================
   HEADER
============================================================ */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__header {
  flex:
    0 0 auto;

  margin-bottom:
    clamp(
      24px,
      3vh,
      38px
    );
}


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__catch {
  margin: 0;

  color:
    var(--lpc-right-gold);

  font-family:
    "Times New Roman",
    "Playfair Display",
    serif;

  font-size:
    clamp(
      10px,
      0.75vw,
      13px
    );

  font-weight:
    600;

  line-height:
    1.55;

  letter-spacing:
    0.34em;
}


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__catch-line {
  display: block;

  width: 40px;
  height: 2px;

  margin-top:
    12px;

  background:
    var(--lpc-right-gold);
}


/* ============================================================
   SCROLL
============================================================ */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__scroll {
  flex:
    1 1 auto;

  min-height:
    0;

  overflow-x:
    hidden;

  overflow-y:
    auto;

  overscroll-behavior:
    contain;

  scrollbar-width:
    none;
}


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__scroll::-webkit-scrollbar {
  display: none;
}


/* ============================================================
   LIST
============================================================ */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__list {
  display: flex;

  flex-direction:
    column;

  gap:
    clamp(
      3px,
      0.6vh,
      8px
    );
}


/* ============================================================
   LINK
============================================================ */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-link {
  position: relative;

  display: grid;

  grid-template-columns:
    minmax(0, 1fr)
    21px;

  align-items:
    center;

  gap:
    18px;

  min-height:
    clamp(
      42px,
      4.8vh,
      53px
    );

  padding:
    4px 0;

  color:
    var(--lpc-right-text);

  text-decoration:
    none;

  box-sizing:
    border-box;
}


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-link::before {
  position: absolute;

  top: 2px;
  right: -12px;
  bottom: 2px;
  left: -12px;

  z-index: -1;

  content: "";

  background:
    linear-gradient(
      90deg,
      rgba(
        213,
        169,
        62,
        0.11
      ),
      transparent 90%
    );

  opacity:
    0;

  transform:
    translateX(-5px);

  transition:
    opacity
      var(--lpc-right-transition),
    transform
      var(--lpc-right-transition);
}


/* ============================================================
   LABEL
============================================================ */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-link__label {
  display:
    block;

  min-width:
    0;

  color:
    var(--lpc-right-text);

  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size:
    clamp(
      15px,
      1.1vw,
      18px
    );

  font-weight:
    500;

  line-height:
    1.5;

  letter-spacing:
    0.07em;

  transition:
    color
      var(--lpc-right-transition),
    transform
      var(--lpc-right-transition);
}


/* ============================================================
   CIRCLE
============================================================ */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-link__circle {
  position:
    relative;

  display:
    block;

  width:
    18px;

  height:
    18px;

  border:
    1.5px solid
    var(--lpc-right-gold-light);

  border-radius:
    50%;

  box-sizing:
    border-box;

  transition:
    background-color
      var(--lpc-right-transition),
    transform
      var(--lpc-right-transition);
}


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-link__circle::after {
  position:
    absolute;

  top:
    50%;

  left:
    50%;

  width:
    4px;

  height:
    4px;

  border-radius:
    50%;

  background:
    var(--lpc-right-gold-light);

  content:
    "";

  transform:
    translate(-50%, -50%);
}


/* ============================================================
   HOVER
============================================================ */

@media (hover: hover) and (pointer: fine) {

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-link:hover::before {
    opacity: 1;

    transform:
      translateX(0);
  }


  .lpc-right-code-link:hover
.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-link__label {

    color:
      var(--lpc-right-gold-light);

    transform:
      translateX(5px);
  }


  .lpc-right-code-link:hover
.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-link__circle {

    background:
      var(--lpc-right-gold);

    transform:
      scale(1.08);
  }
}


/* ============================================================
   FOOTER
============================================================ */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__footer {
  flex:
    0 0 auto;

  margin-top:
    clamp(
      18px,
      3vh,
      30px
    );

  color:
    var(--lpc-right-gold);
}


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__footer-line {
  display:
    block;

  width:
    40px;

  height:
    2px;

  margin-bottom:
    18px;

  background:
    var(--lpc-right-gold);
}


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__footer p {margin:
    0;

  font-family:
    "Times New Roman",
    "Playfair Display",
    serif}


/* ============================================================
   ★ ハンバーガー
   デフォルトでは表示
============================================================ */

.lpc-right-code-toggle {
  position:
    fixed;

  top:
    max(
      14px,
      env(safe-area-inset-top)
    );

  right:
    max(
      14px,
      env(safe-area-inset-right)
    );

  z-index:
    10000;

  display:
    block;

  visibility:
    visible;

  opacity:
    1;

  width:
    54px;

  height:
    54px;

  min-width:
    54px;

  min-height:
    54px;

  margin:
    0;

  padding:
    0;

  border:
    1px solid
    rgba(
      229,
      189,
      85,
      0.8
    );

  border-radius:
    50%;

  background:
    rgba(
      10,
      8,
      5,
      0.92
    );

  -webkit-backdrop-filter:
    blur(10px);

  backdrop-filter:
    blur(10px);

  box-shadow:
    0 5px 20px
    rgba(
      0,
      0,
      0,
      0.32
    );

  appearance:
    none;

  -webkit-appearance:
    none;

  cursor:
    pointer;

  pointer-events:
    auto;

  box-sizing:
    border-box;
}


/* PCでは非表示 */

@media (min-width: 1025px) {

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-toggle {
    display:
      none;
  }

}


/* ============================================================
   HAMBURGER LINE
============================================================ */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-toggle__line {
  position:
    absolute;

  left:
    50%;

  display:
    block;

  width:
    22px;

  height:
    1px;

  margin:
    0;

  padding:
    0;

  background:
    var(--lpc-right-gold-light);

  transform:
    translateX(-50%);

  transform-origin:
    center;

  transition:
    top
      0.3s ease,
    opacity
      0.2s ease,
    transform
      0.3s ease;
}


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-toggle__line--top {
  top:
    16px;
}


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-toggle__line--middle {
  top:
    23px;
}


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-toggle__line--bottom {
  top:
    30px;
}


/* ============================================================
   MENU LABEL
============================================================ */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-toggle__label {
  position:
    absolute;

  right:
    0;

  bottom:
    6px;

  left:
    0;

  display:
    block;

  color:
    var(--lpc-right-gold-light);

  font-family:
    "Times New Roman",
    serif;

  font-size:
    6px;

  line-height:
    1;

  letter-spacing:
    0.14em;

  text-align:
    center;

  opacity:
    1;

  transition:
    opacity
      0.2s ease;
}


/* ============================================================
   MENU → ×
============================================================ */

.lpc-right-code-toggle[
  aria-expanded="true"
]
.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-toggle {

  background:
    rgba(
      10,
      8,
      5,
      0.96
    );
}


.lpc-right-code-toggle[
  aria-expanded="true"
]
.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-toggle__line--top {

  top:
    26px;

  transform:
    translateX(-50%)
    rotate(45deg);
}


.lpc-right-code-toggle[
  aria-expanded="true"
]
.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-toggle__line--middle {

  opacity:
    0;

  transform:
    translateX(-50%)
    scaleX(0);
}


.lpc-right-code-toggle[
  aria-expanded="true"
]
.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-toggle__line--bottom {

  top:
    26px;

  transform:
    translateX(-50%)
    rotate(-45deg);
}


.lpc-right-code-toggle[
  aria-expanded="true"
]
.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-toggle__label {

  opacity:
    0;
}


/* ============================================================
   TOP BUTTON
============================================================ */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-back-to-top {
  position:
    fixed;

  right:
    max(
      18px,
      env(safe-area-inset-right)
    );

  bottom:
    max(
      18px,
      env(safe-area-inset-bottom)
    );

  z-index:
    9000;

  display:
    flex;

  flex-direction:
    column;

  align-items:
    center;

  justify-content:
    center;

  gap:
    5px;

  width:
    58px;

  height:
    58px;

  padding:
    0;

  border:
    1px solid
    rgba(
      229,
      189,
      85,
      0.65
    );

  border-radius:
    50%;

  background:
    rgba(
      10,
      8,
      5,
      0.82
    );

  color:
    var(--lpc-right-gold-light);

  -webkit-backdrop-filter:
    blur(8px);

  backdrop-filter:
    blur(8px);

  appearance:
    none;

  -webkit-appearance:
    none;

  cursor:
    pointer;

  pointer-events:
    auto;

  box-sizing:
    border-box;
}


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-back-to-top__arrow {
  display:
    block;

  width:
    10px;

  height:
    10px;

  margin-top:
    5px;

  border-top:
    1px solid
    var(--lpc-right-gold-light);

  border-left:
    1px solid
    var(--lpc-right-gold-light);

  transform:
    rotate(45deg);
}


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-back-to-top__text {
  font-family:
    "Times New Roman",
    serif;

  font-size:
    7px;

  letter-spacing:
    0.14em;
}


/* ============================================================
   SP / TABLET
============================================================ */

@media (max-width: 1024px) {

  /* Portal */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-portal {
    width:
      100vw;

    height:
      100vh;

    height:
      100dvh;

    pointer-events:
      none;
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-portal.is-open {
    pointer-events:
      auto;
  }


  /* ROOT */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-side {
    position:
      fixed;

    inset:
      0;

    width:
      100vw;

    height:
      100vh;

    height:
      100dvh;

    pointer-events:
      none;
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-side.is-open {
    pointer-events:
      auto;
  }


  /* ==========================================================
     ★ SP ハンバーガー強制表示
  ========================================================== */

  .lpc-right-code-portal
    .lpc-right-code-toggle,
  .lpc-right-code-side
.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-toggle {

    display:
      block;

    visibility:
      visible;

    opacity:
      1;

    pointer-events:
      auto;
  }


  /* ==========================================================
     NAV CLOSED
  ========================================================== */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav {
    position:
      fixed;

    inset:
      0;

    left:
      0;

    z-index:
      5000;

    display:
      block;

    width:
      100vw;

    height:
      100vh;

    height:
      100dvh;

    margin:
      0;

    visibility:
      hidden;

    opacity:
      0;

    pointer-events:
      none;

    transform:
      translate3d(
        0,
        -15px,
        0
      );

    transition:
      opacity
        var(--lpc-right-transition),
      transform
        var(--lpc-right-transition),
      visibility
        0s linear
        var(--lpc-right-transition);
  }


  /* ==========================================================
     NAV OPEN
  ========================================================== */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav.is-open {
    visibility:
      visible;

    opacity:
      1;

    pointer-events:
      auto;

    transform:
      translate3d(
        0,
        0,
        0
      );

    transition:
      opacity
        var(--lpc-right-transition),
      transform
        var(--lpc-right-transition),
      visibility
        0s;
  }


  /* ==========================================================
     PANEL SP
  ========================================================== */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__panel {
    position:
      absolute;

    inset:
      0;

    width:
      100%;

    height:
      100%;

    min-width:
      0;

    border:
      0;

    background:
      linear-gradient(
        180deg,
        rgba(
          8,
          6,
          4,
          0.94
        ),
        rgba(
          8,
          6,
          4,
          0.89
        ),
        rgba(
          8,
          6,
          4,
          0.96
        )
      );

    -webkit-backdrop-filter:
      blur(9px)
      brightness(0.62);

    backdrop-filter:
      blur(9px)
      brightness(0.62);
  }


  /* ==========================================================
     INNER SP
  ========================================================== */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__inner {
    width:
      100%;

    height:
      100%;

    padding:
      max(
        82px,
        calc(
          env(
            safe-area-inset-top
          ) + 70px
        )
      )
      36px
      max(
        26px,
        env(
          safe-area-inset-bottom
        )
      );
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__header {
    margin-bottom:
      20px;
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__catch {
    font-size:
      10px;
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__scroll {
    flex:
      1 1 auto;

    min-height:
      0;

    overflow-y:
      auto;

    -webkit-overflow-scrolling:
      touch;
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__list {
    gap:
      2px;
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-link {
    grid-template-columns:
      minmax(0, 1fr)
      18px;

    gap:
      14px;

    min-height:
      43px;

    padding:
      2px 0;
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-link__label {
    font-size:
      15px;
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-link__circle {
    width:
      16px;

    height:
      16px;
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__footer {
    margin-top:
      16px;
  }


  /* TOP */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-back-to-top {
    right:
      max(
        14px,
        env(
          safe-area-inset-right
        )
      );

    bottom: 65px;

    width:
      50px;

    height:
      50px;
  }


  /*
    MENU OPEN中はTOPを隠す
  */

  .lpc-right-code-side.is-open
.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-back-to-top {

    visibility:
      hidden;

    opacity:
      0;

    pointer-events:
      none;
  }

}


/* ============================================================
   SMALL SP
============================================================ */

@media (max-width: 374px) {

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-toggle {
    top:
      10px;

    right:
      10px;

    width:
      50px;

    height:
      50px;

    min-width:
      50px;

    min-height:
      50px;
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-toggle__line--top {
    top:
      14px;
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-toggle__line--middle {
    top:
      21px;
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-toggle__line--bottom {
    top:
      28px;
  }


  .lpc-right-code-toggle[
    aria-expanded="true"
  ]
  .lpc-right-code-toggle__line--top,
  .lpc-right-code-toggle[
    aria-expanded="true"
  ]
.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-toggle__line--bottom {

    top:
      24px;
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__inner {
    padding-right:
      27px;

    padding-left:
      27px;
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-link {
    min-height:
      40px;
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-link__label {
    font-size:
      14px;
  }

}


/* ============================================================
   PC 1025〜1280
============================================================ */

@media
  (min-width: 1025px)
  and
.tpl-scope-cmsgwp3sd15nm0h43neqxwopc (max-width: 1280px) {

  .lpc-right-code-nav {
    width:
      80%;
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__inner {
    padding-right:
      26px;

    padding-left:
      26px;
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-link__label {
    font-size:
      14px;
  }

}


/* ============================================================
   REDUCED MOTION
============================================================ */

@media (
  prefers-reduced-motion:
  reduce
.tpl-scope-cmsgwp3sd15nm0h43neqxwopc ) {

  .lpc-right-code-toggle,
  .lpc-right-code-toggle__line,
  .lpc-right-code-toggle__label,
  .lpc-right-code-nav,
  .lpc-right-code-link,
  .lpc-right-code-link::before,
  .lpc-right-code-link__label,
  .lpc-right-code-link__circle,
  .lpc-back-to-top {

    transition:
      none;
  }

}
/*--mobile--*/
/* ============================================================
   FATE RIGHT MENU
============================================================ */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc {
  --lpc-right-frame-width: 430px;

  --lpc-right-text: #f8f2e7;

  --lpc-right-gold: #d5a93e;

  --lpc-right-gold-light: #e5bd55;

  --lpc-right-border:
    rgba(213, 169, 62, 0.42);

  --lpc-right-transition:
    0.35s ease;
}


/* ============================================================
   OPEN
============================================================ */

html.lpc-right-menu-open,
.tpl-scope-cmsgwp3sd15nm0h43neqxwopc html.lpc-right-menu-open body {overflow: hidden;
  overscroll-behavior: none}


/* ============================================================
   PORTAL
============================================================ */

.lpc-right-code-portal {
  position: fixed;

  inset: 0;

  z-index: 2147483000;

  display: block;

  width: 100vw;
  height: 100vh;
  height: 100dvh;

  margin: 0;
  padding: 0;

  overflow: visible;

  pointer-events: none;

  visibility: visible;
  opacity: 1;

  transform: none;
  filter: none;

  contain: none;
}


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-portal.is-open {
  pointer-events: auto;
}


/* ============================================================
   ROOT
============================================================ */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-side {
  position: fixed;

  top: 0;
  right: 0;
  bottom: 0;

  z-index: 1;

  width:
    max(
      0px,
      calc(
        (
          100vw -
          var(--lpc-right-frame-width)
        ) / 2
      )
    );

  height: 100vh;
  height: 100dvh;

  pointer-events: none;

  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
}


/* ============================================================
   PC NAV
============================================================ */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav {
  position: relative;

  left: 50%;

  display: block;

  width: 70%;
  height: 100%;

  visibility: visible;

  opacity: 1;

  pointer-events: auto;

  transform:
    translateX(-50%);
}


/* ============================================================
   PANEL
============================================================ */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__panel {
  position: relative;

  width: 100%;
  height: 100%;

  min-width: 250px;

  overflow: hidden;

  color:
    var(--lpc-right-text);

  background:
    linear-gradient(
      180deg,
      rgba(8, 6, 4, 0.72) 0%,
      rgba(8, 6, 4, 0.67) 48%,
      rgba(8, 6, 4, 0.8) 100%
    );

  -webkit-backdrop-filter:
    blur(5px)
    brightness(0.7)
    saturate(0.85);

  backdrop-filter:
    blur(5px)
    brightness(0.7)
    saturate(0.85);

  border-left:
    1px solid
    var(--lpc-right-border);

  border-right:
    1px solid
    rgba(213, 169, 62, 0.15);

  box-sizing:
    border-box;

  isolation:
    isolate;
}


/* ============================================================
   OVERLAY
============================================================ */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__panel::before {
  position: absolute;

  inset: 0;

  z-index: 0;

  content: "";

  pointer-events: none;

  background:
    linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.18),
      transparent 30%,
      transparent 70%,
      rgba(0, 0, 0, 0.18)
    );
}


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__panel::after {
  position: absolute;

  inset: 0;

  z-index: 1;

  content: "";

  pointer-events: none;

  background:
    radial-gradient(
      circle at 85% 70%,
      rgba(213, 169, 62, 0.065),
      transparent 46%
    );
}


/* ============================================================
   INNER
============================================================ */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__inner {
  position: relative;

  z-index: 2;

  display: flex;

  flex-direction:
    column;

  width: 100%;
  height: 100%;

  padding:
    clamp(60px, 8vh, 90px)
    clamp(34px, 3vw, 54px)
    clamp(34px, 5vh, 58px);

  box-sizing:
    border-box;
}


/* ============================================================
   HEADER
============================================================ */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__header {
  flex:
    0 0 auto;

  margin-bottom:
    clamp(
      24px,
      3vh,
      38px
    );
}


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__catch {
  margin: 0;

  color:
    var(--lpc-right-gold);

  font-family:
    "Times New Roman",
    "Playfair Display",
    serif;

  font-size:
    clamp(
      10px,
      0.75vw,
      13px
    );

  font-weight:
    600;

  line-height:
    1.55;

  letter-spacing:
    0.34em;
}


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__catch-line {
  display: block;

  width: 40px;
  height: 2px;

  margin-top:
    12px;

  background:
    var(--lpc-right-gold);
}


/* ============================================================
   SCROLL
============================================================ */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__scroll {
  flex:
    1 1 auto;

  min-height:
    0;

  overflow-x:
    hidden;

  overflow-y:
    auto;

  overscroll-behavior:
    contain;

  scrollbar-width:
    none;
}


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__scroll::-webkit-scrollbar {
  display: none;
}


/* ============================================================
   LIST
============================================================ */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__list {
  display: flex;

  flex-direction:
    column;

  gap:
    clamp(
      3px,
      0.6vh,
      8px
    );
}


/* ============================================================
   LINK
============================================================ */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-link {
  position: relative;

  display: grid;

  grid-template-columns:
    minmax(0, 1fr)
    21px;

  align-items:
    center;

  gap:
    18px;

  min-height:
    clamp(
      42px,
      4.8vh,
      53px
    );

  padding:
    4px 0;

  color:
    var(--lpc-right-text);

  text-decoration:
    none;

  box-sizing:
    border-box;
}


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-link::before {
  position: absolute;

  top: 2px;
  right: -12px;
  bottom: 2px;
  left: -12px;

  z-index: -1;

  content: "";

  background:
    linear-gradient(
      90deg,
      rgba(
        213,
        169,
        62,
        0.11
      ),
      transparent 90%
    );

  opacity:
    0;

  transform:
    translateX(-5px);

  transition:
    opacity
      var(--lpc-right-transition),
    transform
      var(--lpc-right-transition);
}


/* ============================================================
   LABEL
============================================================ */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-link__label {
  display:
    block;

  min-width:
    0;

  color:
    var(--lpc-right-text);

  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size:
    clamp(
      15px,
      1.1vw,
      18px
    );

  font-weight:
    500;

  line-height:
    1.5;

  letter-spacing:
    0.07em;

  transition:
    color
      var(--lpc-right-transition),
    transform
      var(--lpc-right-transition);
}


/* ============================================================
   CIRCLE
============================================================ */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-link__circle {
  position:
    relative;

  display:
    block;

  width:
    18px;

  height:
    18px;

  border:
    1.5px solid
    var(--lpc-right-gold-light);

  border-radius:
    50%;

  box-sizing:
    border-box;

  transition:
    background-color
      var(--lpc-right-transition),
    transform
      var(--lpc-right-transition);
}


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-link__circle::after {
  position:
    absolute;

  top:
    50%;

  left:
    50%;

  width:
    4px;

  height:
    4px;

  border-radius:
    50%;

  background:
    var(--lpc-right-gold-light);

  content:
    "";

  transform:
    translate(-50%, -50%);
}


/* ============================================================
   HOVER
============================================================ */

@media (hover: hover) and (pointer: fine) {

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-link:hover::before {
    opacity: 1;

    transform:
      translateX(0);
  }


  .lpc-right-code-link:hover
.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-link__label {

    color:
      var(--lpc-right-gold-light);

    transform:
      translateX(5px);
  }


  .lpc-right-code-link:hover
.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-link__circle {

    background:
      var(--lpc-right-gold);

    transform:
      scale(1.08);
  }
}


/* ============================================================
   FOOTER
============================================================ */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__footer {
  flex:
    0 0 auto;

  margin-top:
    clamp(
      18px,
      3vh,
      30px
    );

  color:
    var(--lpc-right-gold);
}


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__footer-line {
  display:
    block;

  width:
    40px;

  height:
    2px;

  margin-bottom:
    18px;

  background:
    var(--lpc-right-gold);
}


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__footer p {margin:
    0;

  font-family:
    "Times New Roman",
    "Playfair Display",
    serif}


/* ============================================================
   ★ ハンバーガー
   デフォルトでは表示
============================================================ */

.lpc-right-code-toggle {
  position:
    fixed;

  top:
    max(
      14px,
      env(safe-area-inset-top)
    );

  right:
    max(
      14px,
      env(safe-area-inset-right)
    );

  z-index:
    10000;

  display:
    block;

  visibility:
    visible;

  opacity:
    1;

  width:
    54px;

  height:
    54px;

  min-width:
    54px;

  min-height:
    54px;

  margin:
    0;

  padding:
    0;

  border:
    1px solid
    rgba(
      229,
      189,
      85,
      0.8
    );

  border-radius:
    50%;

  background:
    rgba(
      10,
      8,
      5,
      0.92
    );

  -webkit-backdrop-filter:
    blur(10px);

  backdrop-filter:
    blur(10px);

  box-shadow:
    0 5px 20px
    rgba(
      0,
      0,
      0,
      0.32
    );

  appearance:
    none;

  -webkit-appearance:
    none;

  cursor:
    pointer;

  pointer-events:
    auto;

  box-sizing:
    border-box;
}


/* PCでは非表示 */

@media (min-width: 1025px) {

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-toggle {
    display:
      none;
  }

}


/* ============================================================
   HAMBURGER LINE
============================================================ */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-toggle__line {
  position:
    absolute;

  left:
    50%;

  display:
    block;

  width:
    22px;

  height:
    1px;

  margin:
    0;

  padding:
    0;

  background:
    var(--lpc-right-gold-light);

  transform:
    translateX(-50%);

  transform-origin:
    center;

  transition:
    top
      0.3s ease,
    opacity
      0.2s ease,
    transform
      0.3s ease;
}


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-toggle__line--top {
  top:
    16px;
}


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-toggle__line--middle {
  top:
    23px;
}


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-toggle__line--bottom {
  top:
    30px;
}


/* ============================================================
   MENU LABEL
============================================================ */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-toggle__label {
  position:
    absolute;

  right:
    0;

  bottom:
    6px;

  left:
    0;

  display:
    block;

  color:
    var(--lpc-right-gold-light);

  font-family:
    "Times New Roman",
    serif;

  font-size:
    6px;

  line-height:
    1;

  letter-spacing:
    0.14em;

  text-align:
    center;

  opacity:
    1;

  transition:
    opacity
      0.2s ease;
}


/* ============================================================
   MENU → ×
============================================================ */

.lpc-right-code-toggle[
  aria-expanded="true"
]
.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-toggle {

  background:
    rgba(
      10,
      8,
      5,
      0.96
    );
}


.lpc-right-code-toggle[
  aria-expanded="true"
]
.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-toggle__line--top {

  top:
    26px;

  transform:
    translateX(-50%)
    rotate(45deg);
}


.lpc-right-code-toggle[
  aria-expanded="true"
]
.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-toggle__line--middle {

  opacity:
    0;

  transform:
    translateX(-50%)
    scaleX(0);
}


.lpc-right-code-toggle[
  aria-expanded="true"
]
.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-toggle__line--bottom {

  top:
    26px;

  transform:
    translateX(-50%)
    rotate(-45deg);
}


.lpc-right-code-toggle[
  aria-expanded="true"
]
.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-toggle__label {

  opacity:
    0;
}


/* ============================================================
   TOP BUTTON
============================================================ */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-back-to-top {
  position:
    fixed;

  right:
    max(
      18px,
      env(safe-area-inset-right)
    );

  bottom:
    max(
      18px,
      env(safe-area-inset-bottom)
    );

  z-index:
    9000;

  display:
    flex;

  flex-direction:
    column;

  align-items:
    center;

  justify-content:
    center;

  gap:
    5px;

  width:
    58px;

  height:
    58px;

  padding:
    0;

  border:
    1px solid
    rgba(
      229,
      189,
      85,
      0.65
    );

  border-radius:
    50%;

  background:
    rgba(
      10,
      8,
      5,
      0.82
    );

  color:
    var(--lpc-right-gold-light);

  -webkit-backdrop-filter:
    blur(8px);

  backdrop-filter:
    blur(8px);

  appearance:
    none;

  -webkit-appearance:
    none;

  cursor:
    pointer;

  pointer-events:
    auto;

  box-sizing:
    border-box;
}


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-back-to-top__arrow {
  display:
    block;

  width:
    10px;

  height:
    10px;

  margin-top:
    5px;

  border-top:
    1px solid
    var(--lpc-right-gold-light);

  border-left:
    1px solid
    var(--lpc-right-gold-light);

  transform:
    rotate(45deg);
}


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-back-to-top__text {
  font-family:
    "Times New Roman",
    serif;

  font-size:
    7px;

  letter-spacing:
    0.14em;
}


/* ============================================================
   SP / TABLET
============================================================ */

@media (max-width: 1024px) {

  /* Portal */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-portal {
    width:
      100vw;

    height:
      100vh;

    height:
      100dvh;

    pointer-events:
      none;
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-portal.is-open {
    pointer-events:
      auto;
  }


  /* ROOT */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-side {
    position:
      fixed;

    inset:
      0;

    width:
      100vw;

    height:
      100vh;

    height:
      100dvh;

    pointer-events:
      none;
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-side.is-open {
    pointer-events:
      auto;
  }


  /* ==========================================================
     ★ SP ハンバーガー強制表示
  ========================================================== */

  .lpc-right-code-portal
    .lpc-right-code-toggle,
  .lpc-right-code-side
.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-toggle {

    display:
      block;

    visibility:
      visible;

    opacity:
      1;

    pointer-events:
      auto;
  }


  /* ==========================================================
     NAV CLOSED
  ========================================================== */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav {
    position:
      fixed;

    inset:
      0;

    left:
      0;

    z-index:
      5000;

    display:
      block;

    width:
      100vw;

    height:
      100vh;

    height:
      100dvh;

    margin:
      0;

    visibility:
      hidden;

    opacity:
      0;

    pointer-events:
      none;

    transform:
      translate3d(
        0,
        -15px,
        0
      );

    transition:
      opacity
        var(--lpc-right-transition),
      transform
        var(--lpc-right-transition),
      visibility
        0s linear
        var(--lpc-right-transition);
  }


  /* ==========================================================
     NAV OPEN
  ========================================================== */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav.is-open {
    visibility:
      visible;

    opacity:
      1;

    pointer-events:
      auto;

    transform:
      translate3d(
        0,
        0,
        0
      );

    transition:
      opacity
        var(--lpc-right-transition),
      transform
        var(--lpc-right-transition),
      visibility
        0s;
  }


  /* ==========================================================
     PANEL SP
  ========================================================== */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__panel {
    position:
      absolute;

    inset:
      0;

    width:
      100%;

    height:
      100%;

    min-width:
      0;

    border:
      0;

    background:
      linear-gradient(
        180deg,
        rgba(
          8,
          6,
          4,
          0.94
        ),
        rgba(
          8,
          6,
          4,
          0.89
        ),
        rgba(
          8,
          6,
          4,
          0.96
        )
      );

    -webkit-backdrop-filter:
      blur(9px)
      brightness(0.62);

    backdrop-filter:
      blur(9px)
      brightness(0.62);
  }


  /* ==========================================================
     INNER SP
  ========================================================== */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__inner {
    width:
      100%;

    height:
      100%;

    padding:
      max(
        82px,
        calc(
          env(
            safe-area-inset-top
          ) + 70px
        )
      )
      36px
      max(
        26px,
        env(
          safe-area-inset-bottom
        )
      );
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__header {
    margin-bottom:
      20px;
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__catch {
    font-size:
      10px;
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__scroll {
    flex:
      1 1 auto;

    min-height:
      0;

    overflow-y:
      auto;

    -webkit-overflow-scrolling:
      touch;
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__list {
    gap:
      2px;
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-link {
    grid-template-columns:
      minmax(0, 1fr)
      18px;

    gap:
      14px;

    min-height:
      43px;

    padding:
      2px 0;
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-link__label {
    font-size:
      15px;
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-link__circle {
    width:
      16px;

    height:
      16px;
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__footer {
    margin-top:
      16px;
  }


  /* TOP */

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-back-to-top {
    right:
      max(
        14px,
        env(
          safe-area-inset-right
        )
      );

    bottom: 65px;

    width:
      50px;

    height:
      50px;
  }


  /*
    MENU OPEN中はTOPを隠す
  */

  .lpc-right-code-side.is-open
.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-back-to-top {

    visibility:
      hidden;

    opacity:
      0;

    pointer-events:
      none;
  }

}


/* ============================================================
   SMALL SP
============================================================ */

@media (max-width: 374px) {

.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-toggle {
    top:
      10px;

    right:
      10px;

    width:
      50px;

    height:
      50px;

    min-width:
      50px;

    min-height:
      50px;
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-toggle__line--top {
    top:
      14px;
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-toggle__line--middle {
    top:
      21px;
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-toggle__line--bottom {
    top:
      28px;
  }


  .lpc-right-code-toggle[
    aria-expanded="true"
  ]
  .lpc-right-code-toggle__line--top,
  .lpc-right-code-toggle[
    aria-expanded="true"
  ]
.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-toggle__line--bottom {

    top:
      24px;
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__inner {
    padding-right:
      27px;

    padding-left:
      27px;
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-link {
    min-height:
      40px;
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-link__label {
    font-size:
      14px;
  }

}


/* ============================================================
   PC 1025〜1280
============================================================ */

@media
  (min-width: 1025px)
  and
.tpl-scope-cmsgwp3sd15nm0h43neqxwopc (max-width: 1280px) {

  .lpc-right-code-nav {
    width:
      80%;
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-nav__inner {
    padding-right:
      26px;

    padding-left:
      26px;
  }


.tpl-scope-cmsgwp3sd15nm0h43neqxwopc .lpc-right-code-link__label {
    font-size:
      14px;
  }

}


/* ============================================================
   REDUCED MOTION
============================================================ */

@media (
  prefers-reduced-motion:
  reduce
.tpl-scope-cmsgwp3sd15nm0h43neqxwopc ) {

  .lpc-right-code-toggle,
  .lpc-right-code-toggle__line,
  .lpc-right-code-toggle__label,
  .lpc-right-code-nav,
  .lpc-right-code-link,
  .lpc-right-code-link::before,
  .lpc-right-code-link__label,
  .lpc-right-code-link__circle,
  .lpc-back-to-top {

    transition:
      none;
  }

}
/* ============================================================
   FATE LEFT SIDE
============================================================ */

.tpl-scope-sidepart-left-code-mobile {
  --fate-left-main: #f7f0e5;
  --fate-left-gold: #deb94f;
  --fate-left-gold-light: #f0cf68;

  --fate-left-frame-width: 430px;
}


/* ============================================================
   SIDE
============================================================ */

.tpl-scope-sidepart-left-code-mobile .lpc-left-code-side {
  position: fixed;

  top: 0;
  bottom: 0;
  left: 0;

  z-index: 100;

  width:
    max(
      0px,
      calc(
        (
          100vw -
          var(--fate-left-frame-width)
        ) / 2
      )
    );

  height: 100vh;
  height: 100dvh;

  color:
    var(--fate-left-main);

  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  pointer-events: none;
}


/* ============================================================
   PANEL
============================================================ */

.tpl-scope-sidepart-left-code-mobile .lpc-left-code-panel {
  position: relative;

  width: 100%;
  height: 100%;

  overflow: hidden;

  /*
    後ろのBAR背景を生かす
  */
  background:
    linear-gradient(
      90deg,
      rgba(5, 4, 3, 0.18) 0%,
      rgba(5, 4, 3, 0.25) 60%,
      rgba(5, 4, 3, 0.38) 100%
    );

  -webkit-backdrop-filter:
    blur(1px)
    brightness(0.78);

  backdrop-filter:
    blur(1px)
    brightness(0.78);

  box-sizing: border-box;
}


/* 暗幕 */

.tpl-scope-sidepart-left-code-mobile .lpc-left-code-panel::before {
  position: absolute;

  inset: 0;

  content: "";

  pointer-events: none;

  background:
    linear-gradient(
      180deg,
      rgba(4, 3, 2, 0.18) 0%,
      rgba(4, 3, 2, 0.08) 45%,
      rgba(4, 3, 2, 0.35) 100%
    );
}


/* ============================================================
   INNER
============================================================ */

.tpl-scope-sidepart-left-code-mobile .lpc-left-code-inner {
  position: relative;

  z-index: 2;

  display: flex;

  flex-direction: column;

  justify-content: center;

  width:
    min(
      75%,
      440px
    );

  height: 100%;

  margin:
    0 auto;

  padding:
    clamp(
      34px,
      5vh,
      60px
    )
    0;

  box-sizing:
    border-box;
}


/* ============================================================
   HEADER
============================================================ */

.tpl-scope-sidepart-left-code-mobile .lpc-left-code-header {
  flex:
    0 0 auto;
}


.tpl-scope-sidepart-left-code-mobile .lpc-left-code-brand {
  margin: 0;

  color:
    var(--fate-left-gold-light);

  font-family:
    "Times New Roman",
    "Playfair Display",
    serif;

  font-size:
    clamp(
      11px,
      0.85vw,
      14px
    );

  font-weight:
    600;

  line-height:
    1;

  letter-spacing:
    0.28em;
}


/* ============================================================
   TOP RULE
============================================================ */

.tpl-scope-sidepart-left-code-mobile .lpc-left-code-rule {
  position: relative;

  width: 100%;
  height: 1px;

  margin-top:
    clamp(
      16px,
      2.3vh,
      24px
    );

  background:
    linear-gradient(
      90deg,
      rgba(
        222,
        185,
        79,
        0.78
      ),
      rgba(
        222,
        185,
        79,
        0.13
      )
    );
}


.tpl-scope-sidepart-left-code-mobile .lpc-left-code-rule span {position: absolute;

  top: -1px;
  left: 0;

  display: block;

  width: 40px;
  height: 2px;

  background:
    var(--fate-left-gold)}


/* ============================================================
   COPY
============================================================ */

.lpc-left-code-copy {
  margin-top:
    clamp(
      30px,
      5.8vh,
      58px
    );
}


.tpl-scope-sidepart-left-code-mobile .lpc-left-code-title {
  display: flex;

  flex-direction: column;

  gap:
    clamp(
      7px,
      1.1vh,
      12px
    );

  margin: 0;

  color:
    var(--fate-left-main);

  font-size:
    clamp(
      22px,
      1.8vw,
      30px
    );

  font-weight:
    500;

  line-height:
    1.45;

  letter-spacing:
    0.08em;

  text-shadow:
    0 2px 12px
    rgba(
      0,
      0,
      0,
      0.45
    );
}


.tpl-scope-sidepart-left-code-mobile .lpc-left-code-title span {display: block}


.tpl-scope-sidepart-left-code-mobile .lpc-left-code-lead {
  margin:
    clamp(
      17px,
      2.3vh,
      25px
    )
    0 0;

  color:
    rgba(
      247,
      240,
      229,
      0.92
    );

  font-size:
    clamp(
      12px,
      0.98vw,
      15px
    );

  font-weight:
    400;

  line-height:
    1.85;

  letter-spacing:
    0.05em;

  text-shadow:
    0 2px 10px
    rgba(
      0,
      0,
      0,
      0.5
    );
}


/* ============================================================
   DIVIDER
============================================================ */

.tpl-scope-sidepart-left-code-mobile .lpc-left-code-divider {
  width: 100%;
  height: 1px;

  margin:
    clamp(
      24px,
      4vh,
      38px
    )
    0
    clamp(
      19px,
      3vh,
      29px
    );

  background:
    linear-gradient(
      90deg,
      rgba(
        222,
        185,
        79,
        0.88
      ),
      rgba(
        222,
        185,
        79,
        0.16
      )
    );
}


/* ============================================================
   INFO
============================================================ */

.tpl-scope-sidepart-left-code-mobile .lpc-left-code-info {
  display: flex;

  flex-direction: column;

  gap:
    clamp(
      11px,
      1.7vh,
      18px
    );
}


/* ============================================================
   INFO ITEM
============================================================ */

.tpl-scope-sidepart-left-code-mobile .lpc-left-code-info__item {
  display: grid;

  grid-template-columns:
    27px
    minmax(
      0,
      1fr
    )
    auto;

  align-items: center;

  column-gap:
    clamp(
      9px,
      1vw,
      14px
    );

  min-height:
    25px;

  margin: 0;

  padding: 0;

  color:
    var(--fate-left-main);

  font-size:
    clamp(
      12px,
      0.96vw,
      15px
    );

  line-height:
    1.55;

  letter-spacing:
    0.04em;

  text-decoration:
    none;

  pointer-events:
    auto;

  box-sizing:
    border-box;
}


/* ============================================================
   ICON
============================================================ */

.tpl-scope-sidepart-left-code-mobile .lpc-left-code-info__icon {
  display: flex;

  align-items: center;

  justify-content: center;

  width: 27px;
  height: 27px;

  color:
    var(--fate-left-gold-light);
}


.tpl-scope-sidepart-left-code-mobile .lpc-left-code-info__icon svg {
  display: block;

  width: 23px;
  height: 23px;
}


/* ============================================================
   TEXT
============================================================ */

.tpl-scope-sidepart-left-code-mobile .lpc-left-code-info__text {
  display: block;

  min-width: 0;

  color:
    rgba(
      247,
      240,
      229,
      0.95
    );

  text-shadow:
    0 2px 9px
    rgba(
      0,
      0,
      0,
      0.48
    );
}


/* ============================================================
   EXTERNAL
============================================================ */

.tpl-scope-sidepart-left-code-mobile .lpc-left-code-info__external {
  display: block;

  margin-left:
    5px;

  color:
    var(--fate-left-gold);

  font-family:
    Arial,
    sans-serif;

  font-size:
    17px;

  line-height:
    1;

  transition:
    transform
      0.3s ease;
}


/* ============================================================
   LINK HOVER
============================================================ */

@media (hover: hover) and (pointer: fine) {

.tpl-scope-sidepart-left-code-mobile .lpc-left-code-info__item--link {
    transition:
      color
        0.3s ease,
      transform
        0.3s ease;
  }


.tpl-scope-sidepart-left-code-mobile .lpc-left-code-info__item--link:hover {
    color:
      var(
        --fate-left-gold-light
      );

    transform:
      translateX(4px);
  }


  .lpc-left-code-info__item--link:hover
.tpl-scope-sidepart-left-code-mobile .lpc-left-code-info__text {

    color:
      var(
        --fate-left-gold-light
      );
  }


  .lpc-left-code-info__item--link:hover
.tpl-scope-sidepart-left-code-mobile .lpc-left-code-info__external {

    transform:
      translate(
        2px,
        -2px
      );
  }

}


/* ============================================================
   BOTTOM LINE
============================================================ */

.tpl-scope-sidepart-left-code-mobile .lpc-left-code-bottom-line {
  width: 100%;
  height: 1px;

  margin-top:
    clamp(
      22px,
      3.5vh,
      36px
    );

  background:
    linear-gradient(
      90deg,
      rgba(
        222,
        185,
        79,
        0.82
      ),
      rgba(
        222,
        185,
        79,
        0.15
      )
    );
}


/* ============================================================
   小さめPC
============================================================ */

@media
  (min-width: 1025px)
  and
.tpl-scope-sidepart-left-code-mobile (max-width: 1280px) {

  .lpc-left-code-inner {
    width: 78%;
  }


.tpl-scope-sidepart-left-code-mobile .lpc-left-code-title {
    font-size:
      21px;
  }


.tpl-scope-sidepart-left-code-mobile .lpc-left-code-lead {
    font-size:
      12px;
  }


.tpl-scope-sidepart-left-code-mobile .lpc-left-code-info__item {
    grid-template-columns:
      23px
      minmax(
        0,
        1fr
      )
      auto;

    font-size:
      12px;
  }


.tpl-scope-sidepart-left-code-mobile .lpc-left-code-info__icon {
    width: 23px;
    height: 23px;
  }


.tpl-scope-sidepart-left-code-mobile .lpc-left-code-info__icon svg {
    width: 20px;
    height: 20px;
  }

}


/* ============================================================
   SP / TABLET
   左サイドは非表示
============================================================ */

@media (max-width: 1024px) {

.tpl-scope-sidepart-left-code-mobile .lpc-left-code-side {
    display: none;
  }

}
/*--mobile--*/
/* ============================================================
   FATE LEFT SIDE
============================================================ */

.tpl-scope-sidepart-left-code-mobile {
  --fate-left-main: #f7f0e5;
  --fate-left-gold: #deb94f;
  --fate-left-gold-light: #f0cf68;

  --fate-left-frame-width: 430px;
}


/* ============================================================
   SIDE
============================================================ */

.tpl-scope-sidepart-left-code-mobile .lpc-left-code-side {
  position: fixed;

  top: 0;
  bottom: 0;
  left: 0;

  z-index: 100;

  width:
    max(
      0px,
      calc(
        (
          100vw -
          var(--fate-left-frame-width)
        ) / 2
      )
    );

  height: 100vh;
  height: 100dvh;

  color:
    var(--fate-left-main);

  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  pointer-events: none;
}


/* ============================================================
   PANEL
============================================================ */

.tpl-scope-sidepart-left-code-mobile .lpc-left-code-panel {
  position: relative;

  width: 100%;
  height: 100%;

  overflow: hidden;

  /*
    後ろのBAR背景を生かす
  */
  background:
    linear-gradient(
      90deg,
      rgba(5, 4, 3, 0.18) 0%,
      rgba(5, 4, 3, 0.25) 60%,
      rgba(5, 4, 3, 0.38) 100%
    );

  -webkit-backdrop-filter:
    blur(1px)
    brightness(0.78);

  backdrop-filter:
    blur(1px)
    brightness(0.78);

  box-sizing: border-box;
}


/* 暗幕 */

.tpl-scope-sidepart-left-code-mobile .lpc-left-code-panel::before {
  position: absolute;

  inset: 0;

  content: "";

  pointer-events: none;

  background:
    linear-gradient(
      180deg,
      rgba(4, 3, 2, 0.18) 0%,
      rgba(4, 3, 2, 0.08) 45%,
      rgba(4, 3, 2, 0.35) 100%
    );
}


/* ============================================================
   INNER
============================================================ */

.tpl-scope-sidepart-left-code-mobile .lpc-left-code-inner {
  position: relative;

  z-index: 2;

  display: flex;

  flex-direction: column;

  justify-content: center;

  width:
    min(
      75%,
      440px
    );

  height: 100%;

  margin:
    0 auto;

  padding:
    clamp(
      34px,
      5vh,
      60px
    )
    0;

  box-sizing:
    border-box;
}


/* ============================================================
   HEADER
============================================================ */

.tpl-scope-sidepart-left-code-mobile .lpc-left-code-header {
  flex:
    0 0 auto;
}


.tpl-scope-sidepart-left-code-mobile .lpc-left-code-brand {
  margin: 0;

  color:
    var(--fate-left-gold-light);

  font-family:
    "Times New Roman",
    "Playfair Display",
    serif;

  font-size:
    clamp(
      11px,
      0.85vw,
      14px
    );

  font-weight:
    600;

  line-height:
    1;

  letter-spacing:
    0.28em;
}


/* ============================================================
   TOP RULE
============================================================ */

.tpl-scope-sidepart-left-code-mobile .lpc-left-code-rule {
  position: relative;

  width: 100%;
  height: 1px;

  margin-top:
    clamp(
      16px,
      2.3vh,
      24px
    );

  background:
    linear-gradient(
      90deg,
      rgba(
        222,
        185,
        79,
        0.78
      ),
      rgba(
        222,
        185,
        79,
        0.13
      )
    );
}


.tpl-scope-sidepart-left-code-mobile .lpc-left-code-rule span {position: absolute;

  top: -1px;
  left: 0;

  display: block;

  width: 40px;
  height: 2px;

  background:
    var(--fate-left-gold)}


/* ============================================================
   COPY
============================================================ */

.lpc-left-code-copy {
  margin-top:
    clamp(
      30px,
      5.8vh,
      58px
    );
}


.tpl-scope-sidepart-left-code-mobile .lpc-left-code-title {
  display: flex;

  flex-direction: column;

  gap:
    clamp(
      7px,
      1.1vh,
      12px
    );

  margin: 0;

  color:
    var(--fate-left-main);

  font-size:
    clamp(
      22px,
      1.8vw,
      30px
    );

  font-weight:
    500;

  line-height:
    1.45;

  letter-spacing:
    0.08em;

  text-shadow:
    0 2px 12px
    rgba(
      0,
      0,
      0,
      0.45
    );
}


.tpl-scope-sidepart-left-code-mobile .lpc-left-code-title span {display: block}


.tpl-scope-sidepart-left-code-mobile .lpc-left-code-lead {
  margin:
    clamp(
      17px,
      2.3vh,
      25px
    )
    0 0;

  color:
    rgba(
      247,
      240,
      229,
      0.92
    );

  font-size:
    clamp(
      12px,
      0.98vw,
      15px
    );

  font-weight:
    400;

  line-height:
    1.85;

  letter-spacing:
    0.05em;

  text-shadow:
    0 2px 10px
    rgba(
      0,
      0,
      0,
      0.5
    );
}


/* ============================================================
   DIVIDER
============================================================ */

.tpl-scope-sidepart-left-code-mobile .lpc-left-code-divider {
  width: 100%;
  height: 1px;

  margin:
    clamp(
      24px,
      4vh,
      38px
    )
    0
    clamp(
      19px,
      3vh,
      29px
    );

  background:
    linear-gradient(
      90deg,
      rgba(
        222,
        185,
        79,
        0.88
      ),
      rgba(
        222,
        185,
        79,
        0.16
      )
    );
}


/* ============================================================
   INFO
============================================================ */

.tpl-scope-sidepart-left-code-mobile .lpc-left-code-info {
  display: flex;

  flex-direction: column;

  gap:
    clamp(
      11px,
      1.7vh,
      18px
    );
}


/* ============================================================
   INFO ITEM
============================================================ */

.tpl-scope-sidepart-left-code-mobile .lpc-left-code-info__item {
  display: grid;

  grid-template-columns:
    27px
    minmax(
      0,
      1fr
    )
    auto;

  align-items: center;

  column-gap:
    clamp(
      9px,
      1vw,
      14px
    );

  min-height:
    25px;

  margin: 0;

  padding: 0;

  color:
    var(--fate-left-main);

  font-size:
    clamp(
      12px,
      0.96vw,
      15px
    );

  line-height:
    1.55;

  letter-spacing:
    0.04em;

  text-decoration:
    none;

  pointer-events:
    auto;

  box-sizing:
    border-box;
}


/* ============================================================
   ICON
============================================================ */

.tpl-scope-sidepart-left-code-mobile .lpc-left-code-info__icon {
  display: flex;

  align-items: center;

  justify-content: center;

  width: 27px;
  height: 27px;

  color:
    var(--fate-left-gold-light);
}


.tpl-scope-sidepart-left-code-mobile .lpc-left-code-info__icon svg {
  display: block;

  width: 23px;
  height: 23px;
}


/* ============================================================
   TEXT
============================================================ */

.tpl-scope-sidepart-left-code-mobile .lpc-left-code-info__text {
  display: block;

  min-width: 0;

  color:
    rgba(
      247,
      240,
      229,
      0.95
    );

  text-shadow:
    0 2px 9px
    rgba(
      0,
      0,
      0,
      0.48
    );
}


/* ============================================================
   EXTERNAL
============================================================ */

.tpl-scope-sidepart-left-code-mobile .lpc-left-code-info__external {
  display: block;

  margin-left:
    5px;

  color:
    var(--fate-left-gold);

  font-family:
    Arial,
    sans-serif;

  font-size:
    17px;

  line-height:
    1;

  transition:
    transform
      0.3s ease;
}


/* ============================================================
   LINK HOVER
============================================================ */

@media (hover: hover) and (pointer: fine) {

.tpl-scope-sidepart-left-code-mobile .lpc-left-code-info__item--link {
    transition:
      color
        0.3s ease,
      transform
        0.3s ease;
  }


.tpl-scope-sidepart-left-code-mobile .lpc-left-code-info__item--link:hover {
    color:
      var(
        --fate-left-gold-light
      );

    transform:
      translateX(4px);
  }


  .lpc-left-code-info__item--link:hover
.tpl-scope-sidepart-left-code-mobile .lpc-left-code-info__text {

    color:
      var(
        --fate-left-gold-light
      );
  }


  .lpc-left-code-info__item--link:hover
.tpl-scope-sidepart-left-code-mobile .lpc-left-code-info__external {

    transform:
      translate(
        2px,
        -2px
      );
  }

}


/* ============================================================
   BOTTOM LINE
============================================================ */

.tpl-scope-sidepart-left-code-mobile .lpc-left-code-bottom-line {
  width: 100%;
  height: 1px;

  margin-top:
    clamp(
      22px,
      3.5vh,
      36px
    );

  background:
    linear-gradient(
      90deg,
      rgba(
        222,
        185,
        79,
        0.82
      ),
      rgba(
        222,
        185,
        79,
        0.15
      )
    );
}


/* ============================================================
   小さめPC
============================================================ */

@media
  (min-width: 1025px)
  and
.tpl-scope-sidepart-left-code-mobile (max-width: 1280px) {

  .lpc-left-code-inner {
    width: 78%;
  }


.tpl-scope-sidepart-left-code-mobile .lpc-left-code-title {
    font-size:
      21px;
  }


.tpl-scope-sidepart-left-code-mobile .lpc-left-code-lead {
    font-size:
      12px;
  }


.tpl-scope-sidepart-left-code-mobile .lpc-left-code-info__item {
    grid-template-columns:
      23px
      minmax(
        0,
        1fr
      )
      auto;

    font-size:
      12px;
  }


.tpl-scope-sidepart-left-code-mobile .lpc-left-code-info__icon {
    width: 23px;
    height: 23px;
  }


.tpl-scope-sidepart-left-code-mobile .lpc-left-code-info__icon svg {
    width: 20px;
    height: 20px;
  }

}


/* ============================================================
   SP / TABLET
   左サイドは非表示
============================================================ */

@media (max-width: 1024px) {

.tpl-scope-sidepart-left-code-mobile .lpc-left-code-side {
    display: none;
  }

}
/* ============================================================
   FATE FIXED FOOTER
============================================================ */

.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer {
  position: fixed;

  left: 50%;
  bottom: 0;

  z-index: 9999;

  width: min(430px, 100%);

  margin: 0;
  padding: 0;

  transform: translateX(-50%);

  box-sizing: border-box;

  font-family:
    "Noto Sans JP",
    "Hiragino Kaku Gothic ProN",
    sans-serif;
}


/* ============================================================
   LIST
============================================================ */

.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__list {
  display: grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  align-items: stretch;

  width: 100%;

  margin: 0;
  padding: 0;

  overflow: hidden;

  border-top:
    1px solid
    rgba(220, 179, 70, 0.45);

  list-style: none;

  box-shadow:
    0 -5px 18px
    rgba(0, 0, 0, 0.26);

  box-sizing: border-box;
}


/* ============================================================
   ITEM
============================================================ */

.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__item {
  position: relative;

  display: flex;

  align-items: stretch;

  min-width: 0;

  height: 58px;

  margin: 0;
  padding: 0;

  box-sizing: border-box;
}


/* 区切り線 */

.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__item:not(:last-child)::after {
  position: absolute;

  top: 11px;
  right: 0;
  bottom: 11px;

  z-index: 2;

  width: 1px;

  background:
    rgba(255, 255, 255, 0.2);

  content: "";

  pointer-events: none;
}


/* ============================================================
   INSTAGRAM
============================================================ */

.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__item--instagram {
  background:
    linear-gradient(
      135deg,
      #4a3028 0%,
      #30201b 100%
    );
}


/* ============================================================
   TEL
============================================================ */

.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__item--tel {
  background:
    linear-gradient(
      135deg,
      #1c1713 0%,
      #2c2118 100%
    );
}


/* ============================================================
   LINE
============================================================ */

.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__item--line {
  background:
    #06c755;
}


/* ============================================================
   LINK
============================================================ */

.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__link {
  display: flex;

  align-items: center;
  justify-content: center;

  gap: 7px;

  width: 100%;
  height: 100%;

  min-width: 0;

  margin: 0;

  padding:
    7px
    7px;

  color: #fff;

  text-decoration: none;

  box-sizing: border-box;

  -webkit-tap-highlight-color:
    transparent;

  transition:
    opacity 0.25s ease,
    background-color 0.25s ease;
}


/* ============================================================
   ICON
============================================================ */

.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__ico {
  display: flex;

  flex: 0 0 auto;

  align-items: center;
  justify-content: center;

  width: 22px;
  height: 22px;

  margin: 0;

  color: #fff;

  font-size: 21px;

  font-weight: 400;

  line-height: 1;
}


/* SVG */

.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__ico svg {
  display: block;

  width: 21px;
  height: 21px;
}


/* 電話アイコン */

.lpc-fixed-footer__item--tel
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__ico {
  color: #e5bd55;
}


/* Instagramアイコン */

.lpc-fixed-footer__item--instagram
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__ico {
  color: #fff;
}


/* LINEアイコン */

.lpc-fixed-footer__item--line
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__ico {
  color: #fff;
}


/* ============================================================
   TEXT
============================================================ */

.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__text {
  display: flex;

  flex-direction: column;

  align-items: flex-start;
  justify-content: center;

  min-width: 0;

  text-align: left;
}


/* ============================================================
   TITLE
============================================================ */

.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__ttl {
  display: block;

  max-width: 100%;

  margin: 0;

  overflow: hidden;

  color: #fff;

  font-size: 11px;

  font-weight: 700;

  line-height: 1.25;

  letter-spacing: 0.02em;

  white-space: nowrap;

  text-overflow: ellipsis;
}


/* ============================================================
   SUB
============================================================ */

.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__sub {
  display: block;

  max-width: 100%;

  margin-top: 2px;

  overflow: hidden;

  color:
    rgba(255, 255, 255, 0.75);

  font-size: 8px;

  font-weight: 400;

  line-height: 1.2;

  letter-spacing: 0;

  white-space: nowrap;

  text-overflow: ellipsis;
}


/* 電話補足 */

.lpc-fixed-footer__item--tel
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__sub {
  color:
    rgba(247, 240, 229, 0.7);
}


/* ============================================================
   HOVER
============================================================ */

@media (hover: hover) and (pointer: fine) {
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__link:hover {
    opacity: 0.82;
  }
}


/* ============================================================
   ACTIVE
============================================================ */

.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__link:active {
  opacity: 0.68;
}



/* ============================================================
   iPhone SAFE AREA
============================================================ */

@supports (
  padding-bottom:
    env(safe-area-inset-bottom)
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 ) {
  .lpc-fixed-footer__list {
    padding-bottom:
      env(safe-area-inset-bottom);

    background:
      #0d0907;
  }
}
/*--mobile--*/
/* ============================================================
   FATE FIXED FOOTER
============================================================ */

.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer {
  position: fixed;

  left: 50%;
  bottom: 0;

  z-index: 9999;

  width: min(430px, 100%);

  margin: 0;
  padding: 0;

  transform: translateX(-50%);

  box-sizing: border-box;

  font-family:
    "Noto Sans JP",
    "Hiragino Kaku Gothic ProN",
    sans-serif;
}


/* ============================================================
   LIST
============================================================ */

.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__list {
  display: grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  align-items: stretch;

  width: 100%;

  margin: 0;
  padding: 0;

  overflow: hidden;

  border-top:
    1px solid
    rgba(220, 179, 70, 0.45);

  list-style: none;

  box-shadow:
    0 -5px 18px
    rgba(0, 0, 0, 0.26);

  box-sizing: border-box;
}


/* ============================================================
   ITEM
============================================================ */

.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__item {
  position: relative;

  display: flex;

  align-items: stretch;

  min-width: 0;

  height: 58px;

  margin: 0;
  padding: 0;

  box-sizing: border-box;
}


/* 区切り線 */

.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__item:not(:last-child)::after {
  position: absolute;

  top: 11px;
  right: 0;
  bottom: 11px;

  z-index: 2;

  width: 1px;

  background:
    rgba(255, 255, 255, 0.2);

  content: "";

  pointer-events: none;
}


/* ============================================================
   INSTAGRAM
============================================================ */

.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__item--instagram {
  background:
    linear-gradient(
      135deg,
      #4a3028 0%,
      #30201b 100%
    );
}


/* ============================================================
   TEL
============================================================ */

.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__item--tel {
  background:
    linear-gradient(
      135deg,
      #1c1713 0%,
      #2c2118 100%
    );
}


/* ============================================================
   LINE
============================================================ */

.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__item--line {
  background:
    #06c755;
}


/* ============================================================
   LINK
============================================================ */

.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__link {
  display: flex;

  align-items: center;
  justify-content: center;

  gap: 7px;

  width: 100%;
  height: 100%;

  min-width: 0;

  margin: 0;

  padding:
    7px
    7px;

  color: #fff;

  text-decoration: none;

  box-sizing: border-box;

  -webkit-tap-highlight-color:
    transparent;

  transition:
    opacity 0.25s ease,
    background-color 0.25s ease;
}


/* ============================================================
   ICON
============================================================ */

.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__ico {
  display: flex;

  flex: 0 0 auto;

  align-items: center;
  justify-content: center;

  width: 22px;
  height: 22px;

  margin: 0;

  color: #fff;

  font-size: 21px;

  font-weight: 400;

  line-height: 1;
}


/* SVG */

.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__ico svg {
  display: block;

  width: 21px;
  height: 21px;
}


/* 電話アイコン */

.lpc-fixed-footer__item--tel
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__ico {
  color: #e5bd55;
}


/* Instagramアイコン */

.lpc-fixed-footer__item--instagram
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__ico {
  color: #fff;
}


/* LINEアイコン */

.lpc-fixed-footer__item--line
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__ico {
  color: #fff;
}


/* ============================================================
   TEXT
============================================================ */

.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__text {
  display: flex;

  flex-direction: column;

  align-items: flex-start;
  justify-content: center;

  min-width: 0;

  text-align: left;
}


/* ============================================================
   TITLE
============================================================ */

.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__ttl {
  display: block;

  max-width: 100%;

  margin: 0;

  overflow: hidden;

  color: #fff;

  font-size: 11px;

  font-weight: 700;

  line-height: 1.25;

  letter-spacing: 0.02em;

  white-space: nowrap;

  text-overflow: ellipsis;
}


/* ============================================================
   SUB
============================================================ */

.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__sub {
  display: block;

  max-width: 100%;

  margin-top: 2px;

  overflow: hidden;

  color:
    rgba(255, 255, 255, 0.75);

  font-size: 8px;

  font-weight: 400;

  line-height: 1.2;

  letter-spacing: 0;

  white-space: nowrap;

  text-overflow: ellipsis;
}


/* 電話補足 */

.lpc-fixed-footer__item--tel
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__sub {
  color:
    rgba(247, 240, 229, 0.7);
}


/* ============================================================
   HOVER
============================================================ */

@media (hover: hover) and (pointer: fine) {
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__link:hover {
    opacity: 0.82;
  }
}


/* ============================================================
   ACTIVE
============================================================ */

.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__link:active {
  opacity: 0.68;
}



/* ============================================================
   iPhone SAFE AREA
============================================================ */

@supports (
  padding-bottom:
    env(safe-area-inset-bottom)
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 ) {
  .lpc-fixed-footer__list {
    padding-bottom:
      env(safe-area-inset-bottom);

    background:
      #0d0907;
  }
}
.section--greeting {
  width: 100%;
  overflow: hidden;
  background: var(--color-background);
  color: var(--color-heading);
  font-family: var(--font-family-base);
}

.section--greeting__intro {
  padding-block: var(--section-padding-y);
  background: var(--color-background);
  text-align: center;
}

.section--greeting__eyebrow {
  margin-bottom: var(--heading-eyebrow-gap);
  text-transform: uppercase;
}

.section--greeting__title {
  margin-bottom: var(--heading-title-gap);
}

.section--greeting__lead {
  color: var(--color-accent);
}

.section--greeting__visual {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: var(--color-dark-soft);
}

.section--greeting__main-image {
  display: block;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 1.38 / 1;
  object-fit: cover;
  object-position: center;
}

.section--greeting__open-badge {
  position: absolute;
  top: 4.5%;
  right: 3.5%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 25%;
  aspect-ratio: 1;
  border: 2px solid var(--color-accent-light);
  border-radius: 50%;
  background: #151515;
  color: var(--color-dark-text);
  text-align: center;
  box-shadow:
    0 0 0 3px #151515,
    0 0 0 4px var(--color-accent-light);
}

.section--greeting__open-year,
.section--greeting__open-month,
.section--greeting__open-label {
  display: block;
  line-height: 1.12;
}

.section--greeting__open-year {
  letter-spacing: 0.06em;
}

.section--greeting__open-month {
  margin-block: 0.12em;
  color: var(--color-accent-light);
}

.section--greeting__open-label {
  letter-spacing: 0.08em;
}

.section--greeting__message {
  position: relative;
  overflow: hidden;
  background: var(--color-dark-soft);
  color: var(--color-dark-text);
}

.section--greeting__message-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.section--greeting__message-bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.32;
}

.section--greeting__message-inner {
  position: relative;
  z-index: 2;
  padding-top: var(--space-lg);
  padding-bottom: var(--space-xl);
}

.section--greeting__message-main,
.section--greeting__message-sub {
  margin: 0;
}

.section--greeting__message-main {
  margin-bottom: var(--space-sm);
}

.section--greeting__footer {
  position: relative;
  min-height: 2.2rem;
  margin-top: var(--space-lg);
}

.section--greeting__brand {
  position: absolute;
  top: 0;
  left: 0;
  color: var(--color-accent-light);
  letter-spacing: 0.36em;
}

.section--greeting__brand-line {
  display: block;
  width: 42%;
  height: 1px;
  margin-bottom: var(--space-sm);
  background: var(--color-accent);
}

.section--greeting__signature {
  position: absolute;
  right: 0;
  bottom: 0;
  max-width: 52%;
  margin: 0;
  color: var(--color-accent-light);
  text-align: right;
  line-height: 1.35;
  letter-spacing: var(--letter-spacing-body);
  transform: rotate(-8deg);
}

/* === inspector overrides === */
/* 検証モードで変更：2026/9/14 10:37:54 */
.tpl-scope-manual-sec-1788945900248-c7yr5 .section--greeting__title {
  margin-bottom: 10px !important;
}
.tpl-scope-manual-sec-1788945900248-c7yr5 .section--greeting__eyebrow {
  margin-bottom: 24px !important;
}
/* === end inspector overrides === */
/* AI編集: 2026/9/14 11:47:53 */
.tpl-scope-manual-sec-1788945900248-c7yr5 [data-iid="iid-mu0n7mei-cgqux"] { margin-right: -4px !important; }
@media (max-width: 768px) {
.section--greeting {
  width: 100%;
  overflow: hidden;
  background: var(--color-background);
  color: var(--color-heading);
  font-family: var(--font-family-base);
}

.section--greeting__intro {
  padding-block: var(--section-padding-y);
  background: var(--color-background);
  text-align: center;
}

.section--greeting__eyebrow {
  margin-bottom: var(--heading-eyebrow-gap);
  text-transform: uppercase;
}

.section--greeting__title {
  margin-bottom: var(--heading-title-gap);
}

.section--greeting__lead {
  color: var(--color-accent);
}

.section--greeting__visual {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: var(--color-dark-soft);
}

.section--greeting__main-image {
  display: block;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 1.38 / 1;
  object-fit: cover;
  object-position: center;
}

.section--greeting__open-badge {
  position: absolute;
  top: 4.5%;
  right: 3.5%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 25%;
  aspect-ratio: 1;
  border: 2px solid var(--color-accent-light);
  border-radius: 50%;
  background: #151515;
  color: var(--color-dark-text);
  text-align: center;
  box-shadow:
    0 0 0 3px #151515,
    0 0 0 4px var(--color-accent-light);
}

.section--greeting__open-year,
.section--greeting__open-month,
.section--greeting__open-label {
  display: block;
  line-height: 1.12;
}

.section--greeting__open-year {
  letter-spacing: 0.06em;
}

.section--greeting__open-month {
  margin-block: 0.12em;
  color: var(--color-accent-light);
}

.section--greeting__open-label {
  letter-spacing: 0.08em;
}

.section--greeting__message {
  position: relative;
  overflow: hidden;
  background: var(--color-dark-soft);
  color: var(--color-dark-text);
}

.section--greeting__message-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.section--greeting__message-bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.32;
}

.section--greeting__message-inner {
  position: relative;
  z-index: 2;
  padding-top: var(--space-lg);
  padding-bottom: var(--space-xl);
}

.section--greeting__message-main,
.section--greeting__message-sub {
  margin: 0;
}

.section--greeting__message-main {
  margin-bottom: var(--space-sm);
}

.section--greeting__footer {
  position: relative;
  min-height: 2.2rem;
  margin-top: var(--space-lg);
}

.section--greeting__brand {
  position: absolute;
  top: 0;
  left: 0;
  color: var(--color-accent-light);
  letter-spacing: 0.36em;
}

.section--greeting__brand-line {
  display: block;
  width: 42%;
  height: 1px;
  margin-bottom: var(--space-sm);
  background: var(--color-accent);
}

.section--greeting__signature {
  position: absolute;
  right: 0;
  bottom: 0;
  max-width: 52%;
  margin: 0;
  color: var(--color-accent-light);
  text-align: right;
  line-height: 1.35;
  letter-spacing: var(--letter-spacing-body);
  transform: rotate(-8deg);
}

/* === inspector overrides === */
/* 検証モードで変更：2026/9/14 10:37:54 */
.tpl-scope-manual-sec-1788945900248-c7yr5 .section--greeting__title {
  margin-bottom: 10px !important;
}
.tpl-scope-manual-sec-1788945900248-c7yr5 .section--greeting__eyebrow {
  margin-bottom: 24px !important;
}
/* === end inspector overrides === */
/* AI編集: 2026/9/14 11:47:53 */
.tpl-scope-manual-sec-1788945900248-c7yr5 [data-iid="iid-mu0n7mei-cgqux"] { margin-right: -4px !important; }
}
.section--night-scenes {
  width: 100%;
  overflow: hidden;
  padding-block: var(--section-padding-y);
  background: var(--color-background);
  color: var(--color-heading);
  font-family: var(--font-family-base);
}

.section--night-scenes__inner {
  width: min(100%, var(--inner-width));
}

.section--night-scenes__header {
  margin-bottom: var(--heading-content-gap);
  text-align: center;
}

.section--night-scenes__eyebrow {
  margin-bottom: var(--heading-eyebrow-gap);
}

.section--night-scenes__eyebrow-text {
  margin: 0;
  white-space: nowrap;
}

.section--night-scenes__title {
  margin-bottom: var(--heading-title-gap);
}

.section--night-scenes__title-ja,
.section--night-scenes__title-brand {
  display: block;
}

.section--night-scenes__title-brand {
  color: var(--color-accent);
  letter-spacing: var(--letter-spacing-heading);
}

.section--night-scenes__subtitle {
  color: var(--color-text);
}

.section--night-scenes__list {
  display: flex;
  flex-direction: column;
  gap: var(--card-gap);
}

.section--night-scenes__card {
  position: relative;
  width: 100%;
  aspect-ratio: 3.37 / 1;
  margin: 0;
  overflow: hidden;
  background: var(--color-dark-soft);
}

.section--night-scenes__card-image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: cover;
}

.section--night-scenes__card-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.06) 0%,
      rgba(0, 0, 0, 0.03) 42%,
      rgba(0, 0, 0, 0.42) 65%,
      rgba(0, 0, 0, 0.7) 100%
    );
  pointer-events: none;
}

.section--night-scenes__scene-badge {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  display: flex;
  width: 17.5%;
  height: 55%;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 2.4% 0 0 3%;
  border-radius: 0 0 100% 0;
  background: var(--color-accent-light);
  color: var(--color-heading);
}

.section--night-scenes__scene-label,
.section--night-scenes__scene-number {
  display: block;
  line-height: 1;
}

.section--night-scenes__scene-label {
  margin-bottom: 8%;
  letter-spacing: 0.12em;
}

.section--night-scenes__scene-number {
  letter-spacing: 0.03em;
}

.section--night-scenes__card-copy {
  position: absolute;
  top: 50%;
  right: 4%;
  z-index: 2;
  width: 36%;
  color: var(--color-white);
  transform: translateY(-42%);
}

.section--night-scenes__card-text {
  margin: 0;
  white-space: pre-line;
}

.section--night-scenes__card-line {
  display: block;
  width: 46%;
  height: 1px;
  margin-top: var(--space-sm);
  background: var(--color-accent-light);
}

.section--night-scenes__group-note {
  display: flex;
  width: 100%;
  min-height: 5rem;
  align-items: center;
  justify-content: center;
  gap: var(--content-gap);
  margin-top: var(--space-md);
  padding: var(--space-md);
  border: var(--border-base);
  border-radius: var(--radius-card);
  background: rgba(255, 255, 255, 0.1);
}

.section--night-scenes__group-line {
  display: block;
  flex: 1 1 auto;
  max-width: 9%;
  height: 1px;
  background: var(--color-accent-light);
}

.section--night-scenes__group-content {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: var(--card-gap);
}

.section--night-scenes__group-icon {
  width: 8%;
  min-width: 2.6rem;
  height: auto;
  flex: 0 0 auto;
  color: var(--color-accent);
}

.section--night-scenes__group-text {
  margin: 0;
  color: var(--color-text);
  text-align: center;
  white-space: pre-line;
}

/* === inspector overrides === */
/* 検証モードで変更：2026/9/14 10:40:05 */
.tpl-scope-manual-sec-1788946010469-4eafp .section--night-scenes__scene-label {
  font-size: 10px !important;
  font-weight: 500 !important;
}
.tpl-scope-manual-sec-1788946010469-4eafp .section--night-scenes__card-text {
  font-size: 15px !important;
  font-weight: 500 !important;
}
.tpl-scope-manual-sec-1788946010469-4eafp .section--night-scenes__eyebrow-text {
  letter-spacing: 6.08px !important;
}
.tpl-scope-manual-sec-1788946010469-4eafp .section--night-scenes__title-brand {
  margin-bottom: 10px !important;
}
.tpl-scope-manual-sec-1788946010469-4eafp .section--night-scenes__subtitle {
  margin-bottom: 32px !important;
}
.tpl-scope-manual-sec-1788946010469-4eafp .section--night-scenes__scene-number {
  font-weight: 500 !important;
}

/* === end inspector overrides === */
/* AI編集: 2026/9/14 11:47:39 */
.tpl-scope-manual-sec-1788946010469-4eafp .section--night-scenes__eyebrow-text { margin-right: -4px !important; }
@media (max-width: 768px) {
.section--night-scenes {
  width: 100%;
  overflow: hidden;
  padding-block: var(--section-padding-y);
  background: var(--color-background);
  color: var(--color-heading);
  font-family: var(--font-family-base);
}

.section--night-scenes__inner {
  width: min(100%, var(--inner-width));
}

.section--night-scenes__header {
  margin-bottom: var(--heading-content-gap);
  text-align: center;
}

.section--night-scenes__eyebrow {
  margin-bottom: var(--heading-eyebrow-gap);
}

.section--night-scenes__eyebrow-text {
  margin: 0;
  white-space: nowrap;
}

.section--night-scenes__title {
  margin-bottom: var(--heading-title-gap);
}

.section--night-scenes__title-ja,
.section--night-scenes__title-brand {
  display: block;
}

.section--night-scenes__title-brand {
  color: var(--color-accent);
  letter-spacing: var(--letter-spacing-heading);
}

.section--night-scenes__subtitle {
  color: var(--color-text);
}

.section--night-scenes__list {
  display: flex;
  flex-direction: column;
  gap: var(--card-gap);
}

.section--night-scenes__card {
  position: relative;
  width: 100%;
  aspect-ratio: 3.37 / 1;
  margin: 0;
  overflow: hidden;
  background: var(--color-dark-soft);
}

.section--night-scenes__card-image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: cover;
}

.section--night-scenes__card-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.06) 0%,
      rgba(0, 0, 0, 0.03) 42%,
      rgba(0, 0, 0, 0.42) 65%,
      rgba(0, 0, 0, 0.7) 100%
    );
  pointer-events: none;
}

.section--night-scenes__scene-badge {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  display: flex;
  width: 17.5%;
  height: 55%;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 2.4% 0 0 3%;
  border-radius: 0 0 100% 0;
  background: var(--color-accent-light);
  color: var(--color-heading);
}

.section--night-scenes__scene-label,
.section--night-scenes__scene-number {
  display: block;
  line-height: 1;
}

.section--night-scenes__scene-label {
  margin-bottom: 8%;
  letter-spacing: 0.12em;
}

.section--night-scenes__scene-number {
  letter-spacing: 0.03em;
}

.section--night-scenes__card-copy {
  position: absolute;
  top: 50%;
  right: 4%;
  z-index: 2;
  width: 36%;
  color: var(--color-white);
  transform: translateY(-42%);
}

.section--night-scenes__card-text {
  margin: 0;
  white-space: pre-line;
}

.section--night-scenes__card-line {
  display: block;
  width: 46%;
  height: 1px;
  margin-top: var(--space-sm);
  background: var(--color-accent-light);
}

.section--night-scenes__group-note {
  display: flex;
  width: 100%;
  min-height: 5rem;
  align-items: center;
  justify-content: center;
  gap: var(--content-gap);
  margin-top: var(--space-md);
  padding: var(--space-md);
  border: var(--border-base);
  border-radius: var(--radius-card);
  background: rgba(255, 255, 255, 0.1);
}

.section--night-scenes__group-line {
  display: block;
  flex: 1 1 auto;
  max-width: 9%;
  height: 1px;
  background: var(--color-accent-light);
}

.section--night-scenes__group-content {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: var(--card-gap);
}

.section--night-scenes__group-icon {
  width: 8%;
  min-width: 2.6rem;
  height: auto;
  flex: 0 0 auto;
  color: var(--color-accent);
}

.section--night-scenes__group-text {
  margin: 0;
  color: var(--color-text);
  text-align: center;
  white-space: pre-line;
}

/* === inspector overrides === */
/* 検証モードで変更：2026/9/14 10:40:05 */
.tpl-scope-manual-sec-1788946010469-4eafp .section--night-scenes__scene-label {
  font-size: 10px !important;
  font-weight: 500 !important;
}
.tpl-scope-manual-sec-1788946010469-4eafp .section--night-scenes__card-text {
  font-size: 15px !important;
  font-weight: 500 !important;
}
.tpl-scope-manual-sec-1788946010469-4eafp .section--night-scenes__eyebrow-text {
  letter-spacing: 6.08px !important;
}
.tpl-scope-manual-sec-1788946010469-4eafp .section--night-scenes__title-brand {
  margin-bottom: 10px !important;
}
.tpl-scope-manual-sec-1788946010469-4eafp .section--night-scenes__subtitle {
  margin-bottom: 32px !important;
}
.tpl-scope-manual-sec-1788946010469-4eafp .section--night-scenes__scene-number {
  font-weight: 500 !important;
}

/* === end inspector overrides === */
/* AI編集: 2026/9/14 11:47:39 */
.tpl-scope-manual-sec-1788946010469-4eafp .section--night-scenes__eyebrow-text { margin-right: -4px !important; }
}
.section--strengths {
  width: 100%;
  overflow: hidden;
  background: var(--color-dark);
  color: var(--color-dark-text);
  font-family: var(--font-family-base);
}

.section--strengths__intro {
  padding-block: var(--section-padding-y);
  background: var(--color-background);
  text-align: center;
}

.section--strengths__eyebrow {
  margin-bottom: var(--heading-eyebrow-gap);
}

.section--strengths__title {
  margin-bottom: var(--heading-title-gap);
}

.section--strengths__lead {
  color: var(--color-accent);
}

.section--strengths__items {
  width: 100%;
}

.section--strengths__item {
  width: 100%;
  margin: 0;
  background: var(--color-dark);
}

.section--strengths__image {
  width: 100%;
  aspect-ratio: 3 / 1;
  overflow: hidden;
  background: var(--color-dark-soft);
}

.section--strengths__image img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: cover;
}

.section--strengths__content {
  padding-top: var(--space-md);
  padding-bottom: var(--space-md);
  color: var(--color-dark-text);
  border-bottom: 1px solid rgba(255, 255, 255, 0.48);
}

.section--strengths__number-row {
  display: flex;
  align-items: center;
  gap: var(--card-gap);
  margin-bottom: var(--space-xs);
}

.section--strengths__number {
  color: var(--color-accent-light);
  line-height: 1;
  letter-spacing: 0.04em;
}

.section--strengths__number-line {
  display: block;
  width: 3rem;
  height: 1px;
  background: var(--color-accent-light);
}

.section--strengths__item-title {
  margin: 0;
  margin-bottom: var(--space-xs);
  color: var(--color-dark-text);
}

.section--strengths__item-body {
  margin: 0;
  color: var(--color-dark-text);
  white-space: pre-line;
}

.section--strengths__closing {
  padding-block: var(--section-padding-y);
  background: var(--color-background);
  text-align: center;
}

.section--strengths__closing-text {
  margin: 0;
  color: var(--color-accent);
  line-height: var(--line-height-body);
  letter-spacing: var(--letter-spacing-body);
}

.section--strengths__closing-line {
  display: block;
  width: 4.4rem;
  height: 1px;
  margin: var(--space-md) auto 0;
  background: var(--color-accent-light);
}

/* === inspector overrides === */
/* 検証モードで変更：2026/9/14 10:41:10 */
.tpl-scope-manual-sec-1788945935318-u1xy7 .section--strengths__title {
  margin-bottom: 10px !important;
}
.tpl-scope-manual-sec-1788945935318-u1xy7 .section--strengths__item-body {
  font-size: 13px !important;
}
.tpl-scope-manual-sec-1788945935318-u1xy7 .section--strengths__number {
  font-weight: 500 !important;
}
.tpl-scope-manual-sec-1788945935318-u1xy7 .section--strengths__closing-text {
  font-weight: 500 !important;
}
/* === end inspector overrides === */
/* AI編集: 2026/9/14 11:47:22 */
.tpl-scope-manual-sec-1788945935318-u1xy7 [data-iid="iid-mu0n6ro2-0zakk"] { margin-right: -6px !important; }
@media (max-width: 768px) {
.section--strengths {
  width: 100%;
  overflow: hidden;
  background: var(--color-dark);
  color: var(--color-dark-text);
  font-family: var(--font-family-base);
}

.section--strengths__intro {
  padding-block: var(--section-padding-y);
  background: var(--color-background);
  text-align: center;
}

.section--strengths__eyebrow {
  margin-bottom: var(--heading-eyebrow-gap);
}

.section--strengths__title {
  margin-bottom: var(--heading-title-gap);
}

.section--strengths__lead {
  color: var(--color-accent);
}

.section--strengths__items {
  width: 100%;
}

.section--strengths__item {
  width: 100%;
  margin: 0;
  background: var(--color-dark);
}

.section--strengths__image {
  width: 100%;
  aspect-ratio: 3 / 1;
  overflow: hidden;
  background: var(--color-dark-soft);
}

.section--strengths__image img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: cover;
}

.section--strengths__content {
  padding-top: var(--space-md);
  padding-bottom: var(--space-md);
  color: var(--color-dark-text);
  border-bottom: 1px solid rgba(255, 255, 255, 0.48);
}

.section--strengths__number-row {
  display: flex;
  align-items: center;
  gap: var(--card-gap);
  margin-bottom: var(--space-xs);
}

.section--strengths__number {
  color: var(--color-accent-light);
  line-height: 1;
  letter-spacing: 0.04em;
}

.section--strengths__number-line {
  display: block;
  width: 3rem;
  height: 1px;
  background: var(--color-accent-light);
}

.section--strengths__item-title {
  margin: 0;
  margin-bottom: var(--space-xs);
  color: var(--color-dark-text);
}

.section--strengths__item-body {
  margin: 0;
  color: var(--color-dark-text);
  white-space: pre-line;
}

.section--strengths__closing {
  padding-block: var(--section-padding-y);
  background: var(--color-background);
  text-align: center;
}

.section--strengths__closing-text {
  margin: 0;
  color: var(--color-accent);
  line-height: var(--line-height-body);
  letter-spacing: var(--letter-spacing-body);
}

.section--strengths__closing-line {
  display: block;
  width: 4.4rem;
  height: 1px;
  margin: var(--space-md) auto 0;
  background: var(--color-accent-light);
}

/* === inspector overrides === */
/* 検証モードで変更：2026/9/14 10:41:10 */
.tpl-scope-manual-sec-1788945935318-u1xy7 .section--strengths__title {
  margin-bottom: 10px !important;
}
.tpl-scope-manual-sec-1788945935318-u1xy7 .section--strengths__item-body {
  font-size: 13px !important;
}
.tpl-scope-manual-sec-1788945935318-u1xy7 .section--strengths__number {
  font-weight: 500 !important;
}
.tpl-scope-manual-sec-1788945935318-u1xy7 .section--strengths__closing-text {
  font-weight: 500 !important;
}
/* === end inspector overrides === */
/* AI編集: 2026/9/14 11:47:22 */
.tpl-scope-manual-sec-1788945935318-u1xy7 [data-iid="iid-mu0n6ro2-0zakk"] { margin-right: -6px !important; }
}
.section--drink-menu {
  --drink-plan-bg: #f4efe7;
  --drink-plan-dark: #15120f;
  --drink-plan-text: #4b321c;

  --drink-overlay-start: rgba(86, 11, 6, 0.9);
  --drink-overlay-middle: rgba(117, 25, 12, 0.72);
  --drink-overlay-end: rgba(117, 25, 12, 0.18);

  position: relative;

  width: 100%;

  overflow: hidden;

  background: var(--color-dark);

  color: var(--color-dark-text);

  font-family: var(--font-family-base);

  box-sizing: border-box;
}

/* ============================================================
   HERO
============================================================ */

.section--drink-menu__hero {
  position: relative;

  min-height: 24rem;

  overflow: hidden;
}

.section--drink-menu__hero-bg {
  position: absolute;

  inset: 0;
}

.section--drink-menu__hero-bg::after {
  position: absolute;

  inset: 0;

  content: "";

  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.8) 0%,
    rgba(0, 0, 0, 0.52) 48%,
    rgba(0, 0, 0, 0.15) 100%
  );
}

.section--drink-menu__hero-bg img {
  display: block;

  width: 100%;
  height: 100%;
  max-width: 100%;

  object-fit: cover;
}

.section--drink-menu__hero-content {
  position: relative;

  z-index: 1;

  padding-top: var(--section-padding-y);

  padding-bottom: 7.5rem;

  text-align: center;
}

/* ============================================================
   EYEBROW
============================================================ */

.section--drink-menu__eyebrow {
  display: flex;

  align-items: center;

  justify-content: center;

  gap: var(--space-sm);

  margin-bottom: var(--heading-eyebrow-gap);

  color: var(--color-accent-light);
}

.section--drink-menu__eyebrow-line {
  display: block;

  width: 32px;

  height: 1px;

  background: var(--color-accent-light);
}

/* ============================================================
   TITLE
============================================================ */

.section--drink-menu__title {
  margin-top: 0;

  margin-bottom: var(--heading-title-gap);

  color: var(--color-white);

  text-align: center;
}

.section--drink-menu__lead {
  margin: 0 0 var(--space-sm);

  color: var(--color-accent-light);

  text-align: center;

  white-space: pre-line;
}

.section--drink-menu__script-copy {
  margin: 0;

  color: var(--color-accent-light);

  text-align: center;

  white-space: pre-line;

  font-style: italic;
}

/* ============================================================
   PLAN
============================================================ */

.section--drink-menu__plan-wrap {
  position: relative;

  z-index: 2;

  margin-top: -4.8rem;
}

.section--drink-menu__plan-wrap--second {
  margin-top: 0;
}

.section--drink-menu__plan {
  padding: var(--space-sm);

  border-radius: var(--radius-small);

  background: var(--drink-plan-bg);

  color: var(--color-heading);

  box-shadow: 0 0.3rem 1.2rem rgba(0, 0, 0, 0.22);
}

.section--drink-menu__plan-title {
  margin: 0 0 var(--space-xs);

  text-align: center;

  line-height: var(--line-height-compact);

  letter-spacing: var(--letter-spacing-heading);
}

.section--drink-menu__duration {
  display: flex;

  align-items: center;

  justify-content: center;

  gap: var(--space-sm);

  margin-bottom: var(--space-sm);

  color: var(--color-heading);

  letter-spacing: 0.14em;
}

.section--drink-menu__duration-line {
  flex: 1;

  height: 1px;

  background: var(--color-border);
}

.section--drink-menu__price-grid {
  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: var(--space-xs);
}

.section--drink-menu__price-card {
  padding: var(--space-sm) var(--space-xs);

  border: var(--border-base);

  border-radius: var(--radius-small);

  color: var(--drink-plan-text);

  text-align: center;
}

.section--drink-menu__price-card--dark {
  border-color: var(--drink-plan-dark);

  background: var(--drink-plan-dark);

  color: var(--color-accent-light);
}

.section--drink-menu__price-label,
.section--drink-menu__price-value {
  margin: 0;

  letter-spacing: var(--letter-spacing-heading);
}

/* ============================================================
   MENU CONTENT
============================================================ */

.section--drink-menu__menu-content {
  padding-top: var(--section-padding-y);

  padding-bottom: var(--section-padding-y);
}

.section--drink-menu__menu-content--first {
  padding-bottom: var(--section-padding-y);
}

.section--drink-menu__menu-content--second {
  padding-bottom: var(--section-padding-y);
}

/* ============================================================
   MENU HEADING
============================================================ */

.section--drink-menu__menu-heading {
  margin-bottom: var(--space-sm);

  text-align: center;
}

.section--drink-menu__menu-heading-row {
  display: flex;

  align-items: center;

  justify-content: center;

  gap: var(--card-gap);
}

.section--drink-menu__heading-line {
  flex: 1;

  height: 1px;

  background: var(--color-accent);
}

.section--drink-menu__menu-heading-en {
  margin: 0;

  color: var(--color-accent-light);

  letter-spacing: 0.18em;

  white-space: nowrap;
}

.section--drink-menu__menu-caption {
  margin: var(--space-xs) 0 0;

  color: var(--color-dark-text);

  letter-spacing: var(--letter-spacing-body);
}

/* ============================================================
   SLIDER SHELL
============================================================ */

.section--drink-menu__slider-shell {
  position: relative;

  width: 100%;

  overflow: visible;

  box-sizing: border-box;
}

/* ============================================================
   SWIPER
============================================================ */

.section--drink-menu__slider {
  position: relative;

  width: 100%;

  margin: 0;

  overflow: hidden;

  text-align: left;

  box-sizing: border-box;
}

.section--drink-menu__slider .swiper-wrapper {
  align-items: stretch;
}

.section--drink-menu__slider .swiper-slide {
  width: 100% !important;

  height: auto !important;

  box-sizing: border-box;
}

/* ============================================================
   DRINK CARD
============================================================ */

.section--drink-menu__drink-card {
  position: relative;

  width: 100%;

  min-height: 25rem;

  overflow: hidden;

  border: 1px solid var(--color-border);

  box-sizing: border-box;
}

.section--drink-menu__drink-image,
.section--drink-menu__drink-overlay {
  position: absolute;

  inset: 0;
}

.section--drink-menu__drink-image img {
  display: block;

  width: 100%;

  height: 100%;

  max-width: 100%;

  object-fit: cover;

  object-position: center;
}

.section--drink-menu__drink-overlay {
  background: linear-gradient(
    90deg,
    var(--drink-overlay-start) 0%,
    var(--drink-overlay-middle) 50%,
    var(--drink-overlay-end) 100%
  );
}

.section--drink-menu__drink-body {
  position: relative;

  z-index: 1;

  padding: var(--space-lg) var(--space-md);

  box-sizing: border-box;
}

.section--drink-menu__drink-title {
  margin: 0 0 var(--space-sm);

  color: var(--color-white);
}

.section--drink-menu__drink-lead {
  max-width: 65%;

  margin: 0 0 var(--space-md);

  color: var(--color-white);

  white-space: pre-line;
}

.section--drink-menu__drink-rule {
  display: block;

  width: 43%;

  height: 1px;

  margin-bottom: var(--space-md);

  background: var(--color-accent-light);
}

.section--drink-menu__drink-list {
  margin: 0;

  color: var(--color-white);

  white-space: pre-line;
}

/* ============================================================
   SWIPER NAV
============================================================ */

.section--drink-menu__nav {
  position: absolute;

  top: 50%;

  z-index: 20;

  display: flex;

  align-items: center;

  justify-content: center;

  width: 44px;

  height: 44px;

  margin: 0;

  padding: 0;

  border: 1px solid var(--color-accent-light);

  border-radius: 50%;

  background: var(--color-dark-soft);

  color: var(--color-accent-light);

  cursor: pointer;

  box-sizing: border-box;

  transform: translateY(-50%);
}

.section--drink-menu__nav--prev {
  left: -18px;
}

.section--drink-menu__nav--next {
  right: -18px;
}

.section--drink-menu__nav::after {
  content: none;
}

/* ============================================================
   CUSTOM ARROW
============================================================ */

.section--drink-menu__nav-icon {
  display: block;

  width: 10px;

  height: 10px;

  border-top: 1px solid currentColor;

  border-right: 1px solid currentColor;

  box-sizing: border-box;
}

.section--drink-menu__nav-icon--prev {
  margin-left: 4px;

  transform: rotate(-135deg);
}

.section--drink-menu__nav-icon--next {
  margin-right: 4px;

  transform: rotate(45deg);
}

.section--drink-menu .swiper-button-disabled {
  opacity: 0.35;

  pointer-events: none;
}

/* ============================================================
   PAGINATION
============================================================ */

.section--drink-menu__pagination {
  position: static;

  display: flex;

  align-items: center;

  justify-content: center;

  gap: var(--space-sm);

  margin-top: var(--space-lg);
}

.section--drink-menu__pagination .swiper-pagination-bullet {
  width: 8px;

  height: 8px;

  margin: 0 !important;

  background: var(--color-accent-light);

  opacity: 0.4;
}

.section--drink-menu__pagination .swiper-pagination-bullet-active {
  background: var(--color-accent);

  opacity: 1;
}

/* ============================================================
   SECOND MENU
   SINGLE IMAGE
   画像本来の比率で高さを自動決定
============================================================ */

.section--drink-menu__slider-shell--single {
  width: 100%;

  overflow: hidden;

  border: 1px solid var(--color-border);

  border-radius: var(--radius-small);

  background: var(--color-dark-soft);

  box-sizing: border-box;
}

.section--drink-menu__single-image {
  display: block;

  width: 100%;

  height: auto;

  margin: 0;

  padding: 0;

  overflow: hidden;

  box-sizing: border-box;
}

.section--drink-menu__single-image img {
  display: block;

  width: 100%;

  height: auto;

  max-width: 100%;

  margin: 0;

  padding: 0;

  object-fit: initial;

  object-position: initial;

  vertical-align: bottom;

  transition: transform 0.6s ease;
}

@media (hover: hover) {
  .section--drink-menu__single-image:hover img {
    transform: scale(1.02);
  }
}

/* ============================================================
   CLOSING WRAP
============================================================ */

.section--drink-menu__closing-wrap {
  padding-bottom: var(--section-padding-y);
}

/* ============================================================
   CLOSING
============================================================ */

.section--drink-menu__closing {
  padding-top: var(--space-md);

  text-align: center;
}

.section--drink-menu__closing-title {
  margin: 0 0 var(--space-xs);

  color: var(--color-dark-text);

  letter-spacing: var(--letter-spacing-heading);
}

.section--drink-menu__closing-text {
  margin: 0;

  color: var(--color-dark-text);
}

.section--drink-menu__closing-line {
  display: block;

  width: 4rem;

  height: 1px;

  margin: var(--space-md) auto 0;

  background: var(--color-accent);
}

/* ============================================================
   HOVER
============================================================ */

@media (hover: hover) {
  .section--drink-menu__nav {
    transition:
      color 0.2s ease,
      border-color 0.2s ease,
      background-color 0.2s ease;
  }

  .section--drink-menu__nav:hover {
    border-color: var(--color-accent);

    color: var(--color-accent);
  }
}

/* ============================================================
   SP
============================================================ */

@media (max-width: 480px) {
  .section--drink-menu__nav {
    width: 40px;

    height: 40px;
  }

  .section--drink-menu__nav--prev {
    left: -14px;
  }

  .section--drink-menu__nav--next {
    right: -14px;
  }

  .section--drink-menu__nav-icon {
    width: 9px;

    height: 9px;
  }

  /*
    2セット目の画像はSPでも
    元画像の比率をそのまま使用
  */
  .section--drink-menu__single-image,
  .section--drink-menu__single-image img {
    height: auto;
  }
}

/* ============================================================
   INSPECTOR OVERRIDES
============================================================ */

.tpl-scope-manual-sec-1788945971258-8obn6 .section--drink-menu__title {
  margin-bottom: 10px !important;
}

.tpl-scope-manual-sec-1788945971258-8obn6 .section--drink-menu__price-value {
  font-size: 20px !important;

  font-weight: 600 !important;
}

.tpl-scope-manual-sec-1788945971258-8obn6 .section--drink-menu__menu-heading-en {
  font-size: 18px !important;
}

.tpl-scope-manual-sec-1788945971258-8obn6 .section--drink-menu__closing-text {
  font-size: 12px !important;
}

/* === end inspector overrides === */

/* === inspector overrides === */
/* === end inspector overrides === */

/* AI編集: 2026/9/14 10:42:24 */

.tpl-scope-manual-sec-1788945971258-8obn6 [data-iid="iid-mu0kusi0-bd128"] {
  color: rgb(185, 160, 107) !important;
}

/* AI編集: 2026/9/14 11:46:58 */

.tpl-scope-manual-sec-1788945971258-8obn6 [data-iid="iid-mu0kusi0-bd128"] {
  margin-right: -6px !important;
}
@media (max-width: 768px) {
.section--drink-menu {
  --drink-plan-bg: #f4efe7;
  --drink-plan-dark: #15120f;
  --drink-plan-text: #4b321c;

  --drink-overlay-start: rgba(86, 11, 6, 0.9);
  --drink-overlay-middle: rgba(117, 25, 12, 0.72);
  --drink-overlay-end: rgba(117, 25, 12, 0.18);

  position: relative;

  width: 100%;

  overflow: hidden;

  background: var(--color-dark);

  color: var(--color-dark-text);

  font-family: var(--font-family-base);

  box-sizing: border-box;
}

/* ============================================================
   HERO
============================================================ */

.section--drink-menu__hero {
  position: relative;

  min-height: 24rem;

  overflow: hidden;
}

.section--drink-menu__hero-bg {
  position: absolute;

  inset: 0;
}

.section--drink-menu__hero-bg::after {
  position: absolute;

  inset: 0;

  content: "";

  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.8) 0%,
    rgba(0, 0, 0, 0.52) 48%,
    rgba(0, 0, 0, 0.15) 100%
  );
}

.section--drink-menu__hero-bg img {
  display: block;

  width: 100%;
  height: 100%;
  max-width: 100%;

  object-fit: cover;
}

.section--drink-menu__hero-content {
  position: relative;

  z-index: 1;

  padding-top: var(--section-padding-y);

  padding-bottom: 7.5rem;

  text-align: center;
}

/* ============================================================
   EYEBROW
============================================================ */

.section--drink-menu__eyebrow {
  display: flex;

  align-items: center;

  justify-content: center;

  gap: var(--space-sm);

  margin-bottom: var(--heading-eyebrow-gap);

  color: var(--color-accent-light);
}

.section--drink-menu__eyebrow-line {
  display: block;

  width: 32px;

  height: 1px;

  background: var(--color-accent-light);
}

/* ============================================================
   TITLE
============================================================ */

.section--drink-menu__title {
  margin-top: 0;

  margin-bottom: var(--heading-title-gap);

  color: var(--color-white);

  text-align: center;
}

.section--drink-menu__lead {
  margin: 0 0 var(--space-sm);

  color: var(--color-accent-light);

  text-align: center;

  white-space: pre-line;
}

.section--drink-menu__script-copy {
  margin: 0;

  color: var(--color-accent-light);

  text-align: center;

  white-space: pre-line;

  font-style: italic;
}

/* ============================================================
   PLAN
============================================================ */

.section--drink-menu__plan-wrap {
  position: relative;

  z-index: 2;

  margin-top: -4.8rem;
}

.section--drink-menu__plan-wrap--second {
  margin-top: 0;
}

.section--drink-menu__plan {
  padding: var(--space-sm);

  border-radius: var(--radius-small);

  background: var(--drink-plan-bg);

  color: var(--color-heading);

  box-shadow: 0 0.3rem 1.2rem rgba(0, 0, 0, 0.22);
}

.section--drink-menu__plan-title {
  margin: 0 0 var(--space-xs);

  text-align: center;

  line-height: var(--line-height-compact);

  letter-spacing: var(--letter-spacing-heading);
}

.section--drink-menu__duration {
  display: flex;

  align-items: center;

  justify-content: center;

  gap: var(--space-sm);

  margin-bottom: var(--space-sm);

  color: var(--color-heading);

  letter-spacing: 0.14em;
}

.section--drink-menu__duration-line {
  flex: 1;

  height: 1px;

  background: var(--color-border);
}

.section--drink-menu__price-grid {
  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: var(--space-xs);
}

.section--drink-menu__price-card {
  padding: var(--space-sm) var(--space-xs);

  border: var(--border-base);

  border-radius: var(--radius-small);

  color: var(--drink-plan-text);

  text-align: center;
}

.section--drink-menu__price-card--dark {
  border-color: var(--drink-plan-dark);

  background: var(--drink-plan-dark);

  color: var(--color-accent-light);
}

.section--drink-menu__price-label,
.section--drink-menu__price-value {
  margin: 0;

  letter-spacing: var(--letter-spacing-heading);
}

/* ============================================================
   MENU CONTENT
============================================================ */

.section--drink-menu__menu-content {
  padding-top: var(--section-padding-y);

  padding-bottom: var(--section-padding-y);
}

.section--drink-menu__menu-content--first {
  padding-bottom: var(--section-padding-y);
}

.section--drink-menu__menu-content--second {
  padding-bottom: var(--section-padding-y);
}

/* ============================================================
   MENU HEADING
============================================================ */

.section--drink-menu__menu-heading {
  margin-bottom: var(--space-sm);

  text-align: center;
}

.section--drink-menu__menu-heading-row {
  display: flex;

  align-items: center;

  justify-content: center;

  gap: var(--card-gap);
}

.section--drink-menu__heading-line {
  flex: 1;

  height: 1px;

  background: var(--color-accent);
}

.section--drink-menu__menu-heading-en {
  margin: 0;

  color: var(--color-accent-light);

  letter-spacing: 0.18em;

  white-space: nowrap;
}

.section--drink-menu__menu-caption {
  margin: var(--space-xs) 0 0;

  color: var(--color-dark-text);

  letter-spacing: var(--letter-spacing-body);
}

/* ============================================================
   SLIDER SHELL
============================================================ */

.section--drink-menu__slider-shell {
  position: relative;

  width: 100%;

  overflow: visible;

  box-sizing: border-box;
}

/* ============================================================
   SWIPER
============================================================ */

.section--drink-menu__slider {
  position: relative;

  width: 100%;

  margin: 0;

  overflow: hidden;

  text-align: left;

  box-sizing: border-box;
}

.section--drink-menu__slider .swiper-wrapper {
  align-items: stretch;
}

.section--drink-menu__slider .swiper-slide {
  width: 100% !important;

  height: auto !important;

  box-sizing: border-box;
}

/* ============================================================
   DRINK CARD
============================================================ */

.section--drink-menu__drink-card {
  position: relative;

  width: 100%;

  min-height: 25rem;

  overflow: hidden;

  border: 1px solid var(--color-border);

  box-sizing: border-box;
}

.section--drink-menu__drink-image,
.section--drink-menu__drink-overlay {
  position: absolute;

  inset: 0;
}

.section--drink-menu__drink-image img {
  display: block;

  width: 100%;

  height: 100%;

  max-width: 100%;

  object-fit: cover;

  object-position: center;
}

.section--drink-menu__drink-overlay {
  background: linear-gradient(
    90deg,
    var(--drink-overlay-start) 0%,
    var(--drink-overlay-middle) 50%,
    var(--drink-overlay-end) 100%
  );
}

.section--drink-menu__drink-body {
  position: relative;

  z-index: 1;

  padding: var(--space-lg) var(--space-md);

  box-sizing: border-box;
}

.section--drink-menu__drink-title {
  margin: 0 0 var(--space-sm);

  color: var(--color-white);
}

.section--drink-menu__drink-lead {
  max-width: 65%;

  margin: 0 0 var(--space-md);

  color: var(--color-white);

  white-space: pre-line;
}

.section--drink-menu__drink-rule {
  display: block;

  width: 43%;

  height: 1px;

  margin-bottom: var(--space-md);

  background: var(--color-accent-light);
}

.section--drink-menu__drink-list {
  margin: 0;

  color: var(--color-white);

  white-space: pre-line;
}

/* ============================================================
   SWIPER NAV
============================================================ */

.section--drink-menu__nav {
  position: absolute;

  top: 50%;

  z-index: 20;

  display: flex;

  align-items: center;

  justify-content: center;

  width: 44px;

  height: 44px;

  margin: 0;

  padding: 0;

  border: 1px solid var(--color-accent-light);

  border-radius: 50%;

  background: var(--color-dark-soft);

  color: var(--color-accent-light);

  cursor: pointer;

  box-sizing: border-box;

  transform: translateY(-50%);
}

.section--drink-menu__nav--prev {
  left: -18px;
}

.section--drink-menu__nav--next {
  right: -18px;
}

.section--drink-menu__nav::after {
  content: none;
}

/* ============================================================
   CUSTOM ARROW
============================================================ */

.section--drink-menu__nav-icon {
  display: block;

  width: 10px;

  height: 10px;

  border-top: 1px solid currentColor;

  border-right: 1px solid currentColor;

  box-sizing: border-box;
}

.section--drink-menu__nav-icon--prev {
  margin-left: 4px;

  transform: rotate(-135deg);
}

.section--drink-menu__nav-icon--next {
  margin-right: 4px;

  transform: rotate(45deg);
}

.section--drink-menu .swiper-button-disabled {
  opacity: 0.35;

  pointer-events: none;
}

/* ============================================================
   PAGINATION
============================================================ */

.section--drink-menu__pagination {
  position: static;

  display: flex;

  align-items: center;

  justify-content: center;

  gap: var(--space-sm);

  margin-top: var(--space-lg);
}

.section--drink-menu__pagination .swiper-pagination-bullet {
  width: 8px;

  height: 8px;

  margin: 0 !important;

  background: var(--color-accent-light);

  opacity: 0.4;
}

.section--drink-menu__pagination .swiper-pagination-bullet-active {
  background: var(--color-accent);

  opacity: 1;
}

/* ============================================================
   SECOND MENU
   SINGLE IMAGE
   画像本来の比率で高さを自動決定
============================================================ */

.section--drink-menu__slider-shell--single {
  width: 100%;

  overflow: hidden;

  border: 1px solid var(--color-border);

  border-radius: var(--radius-small);

  background: var(--color-dark-soft);

  box-sizing: border-box;
}

.section--drink-menu__single-image {
  display: block;

  width: 100%;

  height: auto;

  margin: 0;

  padding: 0;

  overflow: hidden;

  box-sizing: border-box;
}

.section--drink-menu__single-image img {
  display: block;

  width: 100%;

  height: auto;

  max-width: 100%;

  margin: 0;

  padding: 0;

  object-fit: initial;

  object-position: initial;

  vertical-align: bottom;

  transition: transform 0.6s ease;
}

@media (hover: hover) {
  .section--drink-menu__single-image:hover img {
    transform: scale(1.02);
  }
}

/* ============================================================
   CLOSING WRAP
============================================================ */

.section--drink-menu__closing-wrap {
  padding-bottom: var(--section-padding-y);
}

/* ============================================================
   CLOSING
============================================================ */

.section--drink-menu__closing {
  padding-top: var(--space-md);

  text-align: center;
}

.section--drink-menu__closing-title {
  margin: 0 0 var(--space-xs);

  color: var(--color-dark-text);

  letter-spacing: var(--letter-spacing-heading);
}

.section--drink-menu__closing-text {
  margin: 0;

  color: var(--color-dark-text);
}

.section--drink-menu__closing-line {
  display: block;

  width: 4rem;

  height: 1px;

  margin: var(--space-md) auto 0;

  background: var(--color-accent);
}

/* ============================================================
   HOVER
============================================================ */

@media (hover: hover) {
  .section--drink-menu__nav {
    transition:
      color 0.2s ease,
      border-color 0.2s ease,
      background-color 0.2s ease;
  }

  .section--drink-menu__nav:hover {
    border-color: var(--color-accent);

    color: var(--color-accent);
  }
}

/* ============================================================
   SP
============================================================ */

@media (max-width: 480px) {
  .section--drink-menu__nav {
    width: 40px;

    height: 40px;
  }

  .section--drink-menu__nav--prev {
    left: -14px;
  }

  .section--drink-menu__nav--next {
    right: -14px;
  }

  .section--drink-menu__nav-icon {
    width: 9px;

    height: 9px;
  }

  /*
    2セット目の画像はSPでも
    元画像の比率をそのまま使用
  */
  .section--drink-menu__single-image,
  .section--drink-menu__single-image img {
    height: auto;
  }
}

/* ============================================================
   INSPECTOR OVERRIDES
============================================================ */

.tpl-scope-manual-sec-1788945971258-8obn6 .section--drink-menu__title {
  margin-bottom: 10px !important;
}

.tpl-scope-manual-sec-1788945971258-8obn6 .section--drink-menu__price-value {
  font-size: 20px !important;

  font-weight: 600 !important;
}

.tpl-scope-manual-sec-1788945971258-8obn6 .section--drink-menu__menu-heading-en {
  font-size: 18px !important;
}

.tpl-scope-manual-sec-1788945971258-8obn6 .section--drink-menu__closing-text {
  font-size: 12px !important;
}

/* === end inspector overrides === */

/* === inspector overrides === */
/* === end inspector overrides === */

/* AI編集: 2026/9/14 10:42:24 */

.tpl-scope-manual-sec-1788945971258-8obn6 [data-iid="iid-mu0kusi0-bd128"] {
  color: rgb(185, 160, 107) !important;
}

/* AI編集: 2026/9/14 11:46:58 */

.tpl-scope-manual-sec-1788945971258-8obn6 [data-iid="iid-mu0kusi0-bd128"] {
  margin-right: -6px !important;
}
}
/* === inspector overrides === */
/* 検証モードで変更：2026/9/14 11:45:37 */
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk span {
  color: #8b6528 !important;
  letter-spacing: 6.08px !important;
}
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__eyebrow-line {
  margin-right: 0px !important;
}
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk [data-iid="iid-mu0n4qya-b431f"] {
  margin-right: -6px !important;
}
/* === end inspector overrides === */
@media (max-width: 768px) {
/* === inspector overrides === */
/* 検証モードで変更：2026/9/14 11:45:37 */
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk span {
  color: #8b6528 !important;
  letter-spacing: 6.08px !important;
}
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__eyebrow-line {
  margin-right: 0px !important;
}
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk [data-iid="iid-mu0n4qya-b431f"] {
  margin-right: -6px !important;
}
/* === end inspector overrides === */
}
/* === inspector overrides === */
/* 検証モードで変更：2026/9/14 11:45:28 */
.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__eyebrow-text {
  letter-spacing: 6.08px !important;
  color: rgb(139, 101, 40) !important;
}
.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__header {
  margin-bottom: 32.8px !important;
}
.tpl-scope-cmru5bh1g00000h2hxz8p0t0i [data-iid="iid-mu0n4koy-zhlbu"] {
  margin-right: -6px !important;
}
/* === end inspector overrides === */
@media (max-width: 768px) {
/* === inspector overrides === */
/* 検証モードで変更：2026/9/14 11:45:28 */
.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__eyebrow-text {
  letter-spacing: 6.08px !important;
  color: rgb(139, 101, 40) !important;
}
.tpl-scope-cmru5bh1g00000h2hxz8p0t0i .section--voice__header {
  margin-bottom: 32.8px !important;
}
.tpl-scope-cmru5bh1g00000h2hxz8p0t0i [data-iid="iid-mu0n4koy-zhlbu"] {
  margin-right: -6px !important;
}
/* === end inspector overrides === */
}
/* === inspector overrides === */
/* 検証モードで変更：2026/9/14 11:45:18 */
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn span {
  color: #8b6528 !important;
  letter-spacing: 6.08px !important;
}
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__eyebrow-line {
  margin-right: 0px !important;
}
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__more-label {
  letter-spacing: 5.08px !important;
}
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-link-label {
  letter-spacing: 3.08px !important;
}
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn [data-iid="iid-mu0n4brm-st10j"] {
  margin-right: -6px !important;
}
/* === end inspector overrides === */
@media (max-width: 768px) {
/* === inspector overrides === */
/* 検証モードで変更：2026/9/14 11:45:18 */
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn span {
  color: #8b6528 !important;
  letter-spacing: 6.08px !important;
}
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__eyebrow-line {
  margin-right: 0px !important;
}
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__more-label {
  letter-spacing: 5.08px !important;
}
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-link-label {
  letter-spacing: 3.08px !important;
}
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn [data-iid="iid-mu0n4brm-st10j"] {
  margin-right: -6px !important;
}
/* === end inspector overrides === */
}
/* ============================================================
   ACCESS
   ============================================================ */

.section--access {
  --access-bg: #171210;
  --access-bg-soft: #241b18;

  --access-title: #fffaf5;
  --access-text: #ead8c7;
  --access-text-muted: #c7b5a5;

  --access-gold: #c7a34b;

  --access-border: rgba(234, 216, 199, 0.28);

  position: relative;

  width: 100%;

  overflow: hidden;

  background: var(--access-bg);

  color: var(--access-title);

  font-family: var(--font-family-base);

  box-sizing: border-box;
}

/* ============================================================
   INNER
   ============================================================ */

.section--access__inner {
  padding-top: var(--section-padding-y);
  padding-bottom: var(--section-padding-y);

  box-sizing: border-box;
}

/* ============================================================
   EYEBROW
   ============================================================ */

.section--access__eyebrow-wrap {
  display: flex;
  align-items: center;
  justify-content: center;

  gap: var(--space-sm);

  margin-bottom: var(--heading-eyebrow-gap);
}

.section--access__eyebrow {
  margin: 0;

  color: var(--access-gold);

  line-height: 1.5;

  letter-spacing: 0.08em;

  white-space: nowrap;
}

.section--access__eyebrow-line {
  display: block;

  width: 70px;
  height: 1px;

  background: var(--access-gold);
}

/* ============================================================
   TITLE
   ============================================================ */

.section--access .section--access__title,
.section--access .section--access__title.lpc-section-heading {
  display: block;

  margin-top: 0;
  margin-bottom: 10px;

  color: var(--access-title) !important;

  opacity: 1 !important;
  visibility: visible !important;

  text-align: center;

  line-height: 1.4;
}

/* ============================================================
   LEAD
   ============================================================ */

.section--access .section--access__lead {
  margin: 0;

  margin-bottom: var(--heading-content-gap);

  color: var(--access-text) !important;

  opacity: 1;

  text-align: center;

  line-height: 1.8;

  white-space: pre-line;
}

/* ============================================================
   GOOGLE MAP
   ============================================================ */

.section--access__map {
  position: relative;

  width: 100%;

  margin: 0;
  margin-bottom: var(--space-md);

  overflow: hidden;

  border: 1px solid var(--access-border);

  aspect-ratio: 2.2 / 1;

  box-sizing: border-box;
}

.section--access__map iframe {
  display: block;

  width: 100%;
  height: 100%;

  border: 0;
}

/* ============================================================
   ACCESS DETAILS
   ============================================================ */

.section--access__details {
  margin: 0;

  border-top: 1px solid var(--access-border);
}

/* ============================================================
   DETAIL ROW
   ============================================================ */

.section--access__detail-row {
  display: grid;

  grid-template-columns: 22% 1fr;

  align-items: stretch;

  border-bottom: 1px solid var(--access-border);

  background: var(--access-bg-soft);

  box-sizing: border-box;
}

/* ============================================================
   DETAIL LABEL
   ============================================================ */

.section--access__detail-label {
  display: flex;

  align-items: flex-start;

  margin: 0;

  padding: 12px;

  color: var(--access-gold) !important;

  font-weight: 600;

  letter-spacing: var(--letter-spacing-heading);

  box-sizing: border-box;
}

/* ============================================================
   DETAIL VALUE
   ============================================================ */

.section--access__detail-value {
  position: relative;

  margin: 0;

  padding:
    var(--space-sm)
    0
    var(--space-sm)
    var(--space-lg);

  color: var(--access-title) !important;

  line-height: 1.8;

  white-space: pre-line;

  box-sizing: border-box;
}

.section--access__detail-value::before {
  position: absolute;

  top: var(--space-xs);
  bottom: var(--space-xs);
  left: var(--space-xs);

  width: 1px;

  content: "";

  background: var(--access-border);
}

/* ============================================================
   STORE VISUAL
   ============================================================ */

.section--access__visual {
  position: relative;

  width: 100%;

  overflow: hidden;

  background: var(--access-bg);
}

.section--access__visual-image {
  display: block;

  width: 100%;
  height: auto;
  max-width: 100%;

  aspect-ratio: 3 / 1;

  object-fit: cover;
  object-position: center;
}

.section--access__visual::after {
  position: absolute;

  inset: 0;

  content: "";

  background:
    linear-gradient(
      90deg,
      rgba(23, 18, 16, 0.5) 0%,
      rgba(23, 18, 16, 0.18) 48%,
      rgba(23, 18, 16, 0.5) 100%
    );

  pointer-events: none;
}

/* ============================================================
   VISUAL OVERLAY
   ============================================================ */

.section--access__visual-overlay {
  position: absolute;

  inset: 0;

  z-index: 1;

  display: grid;

  grid-template-columns: 46% 54%;

  align-items: center;

  color: var(--access-title);
}

/* ============================================================
   BRAND
   ============================================================ */

.section--access__brand {
  display: flex;

  flex-direction: column;

  align-items: center;
  justify-content: center;

  text-align: center;
}

.section--access__brand-small,
.section--access__brand-name {
  margin: 0;

  color: var(--access-title);

  letter-spacing: var(--letter-spacing-heading);
}

.section--access__brand-name {
  margin-top: 0.15rem;
}

.section--access__brand-line {
  display: block;

  width: 3.2rem;
  height: 2px;

  margin-top: var(--space-sm);

  background: var(--access-gold);
}

/* ============================================================
   CONTACT
   ============================================================ */

.section--access__contact {
  padding-right: var(--space-sm);
  padding-left: var(--space-xs);

  text-align: center;
}

.section--access__contact-text {
  margin: 0;

  color: var(--access-title);

  line-height: 1.8;

  white-space: pre-line;
}

.section--access__contact-line {
  display: block;

  width: 5rem;
  height: 2px;

  margin: var(--space-sm) auto 0;

  background: var(--access-gold);
}

/* ============================================================
   HOVER
   ============================================================ */

@media (hover: hover) {
  .section--access__detail-row {
    transition: background-color 0.2s ease;
  }

  .section--access__detail-row:hover {
    background: #2d211d;
  }
}

/* ============================================================
   SP
   ============================================================ */

@media (max-width: 480px) {
  .section--access__eyebrow-line {
    width: 70px;
  }

  .section--access__map {
    aspect-ratio: 2 / 1;
  }

  .section--access__detail-row {
    grid-template-columns: 24% 1fr;
  }

  .section--access__detail-label {
    padding: 12px 8px;
  }

  .section--access__detail-value {
    padding:
      var(--space-sm)
      0
      var(--space-sm)
      var(--space-md);
  }
}

/* ============================================================
   INSPECTOR OVERRIDES
   ============================================================ */

.tpl-scope-manual-sec-1788946044653-tyixm
  .section--access__title {
  margin-bottom: 10px !important;

  color: #fffaf5 !important;

  opacity: 1 !important;

  visibility: visible !important;
}

.tpl-scope-manual-sec-1788946044653-tyixm
  .section--access__detail-value {
  color: #fffaf5 !important;

  font-size: 13px !important;
}

.tpl-scope-manual-sec-1788946044653-tyixm
  .section--access__detail-label {
  color: #c7a34b !important;

  font-size: 13px !important;
}

/* === end inspector overrides === */

/* === inspector overrides === */
/* === end inspector overrides === */
/* AI編集: 2026/9/10 15:27:34 */
.tpl-scope-manual-sec-1788946044653-tyixm .section--access__eyebrow { letter-spacing: 6.08px !important; }
/* AI編集: 2026/9/14 10:49:30 */
.tpl-scope-manual-sec-1788946044653-tyixm .section--access__eyebrow-line { background: rgb(139, 101, 40) !important; }
/* AI編集: 2026/9/14 10:51:37 */
.tpl-scope-manual-sec-1788946044653-tyixm .section--access__lead { margin-bottom: 32px !important; }
/* AI編集: 2026/9/14 11:45:03 */
.tpl-scope-manual-sec-1788946044653-tyixm .section--access__eyebrow { margin-right: -6px !important; }
@media (max-width: 768px) {
/* ============================================================
   ACCESS
   ============================================================ */

.section--access {
  --access-bg: #171210;
  --access-bg-soft: #241b18;

  --access-title: #fffaf5;
  --access-text: #ead8c7;
  --access-text-muted: #c7b5a5;

  --access-gold: #c7a34b;

  --access-border: rgba(234, 216, 199, 0.28);

  position: relative;

  width: 100%;

  overflow: hidden;

  background: var(--access-bg);

  color: var(--access-title);

  font-family: var(--font-family-base);

  box-sizing: border-box;
}

/* ============================================================
   INNER
   ============================================================ */

.section--access__inner {
  padding-top: var(--section-padding-y);
  padding-bottom: var(--section-padding-y);

  box-sizing: border-box;
}

/* ============================================================
   EYEBROW
   ============================================================ */

.section--access__eyebrow-wrap {
  display: flex;
  align-items: center;
  justify-content: center;

  gap: var(--space-sm);

  margin-bottom: var(--heading-eyebrow-gap);
}

.section--access__eyebrow {
  margin: 0;

  color: var(--access-gold);

  line-height: 1.5;

  letter-spacing: 0.08em;

  white-space: nowrap;
}

.section--access__eyebrow-line {
  display: block;

  width: 70px;
  height: 1px;

  background: var(--access-gold);
}

/* ============================================================
   TITLE
   ============================================================ */

.section--access .section--access__title,
.section--access .section--access__title.lpc-section-heading {
  display: block;

  margin-top: 0;
  margin-bottom: 10px;

  color: var(--access-title) !important;

  opacity: 1 !important;
  visibility: visible !important;

  text-align: center;

  line-height: 1.4;
}

/* ============================================================
   LEAD
   ============================================================ */

.section--access .section--access__lead {
  margin: 0;

  margin-bottom: var(--heading-content-gap);

  color: var(--access-text) !important;

  opacity: 1;

  text-align: center;

  line-height: 1.8;

  white-space: pre-line;
}

/* ============================================================
   GOOGLE MAP
   ============================================================ */

.section--access__map {
  position: relative;

  width: 100%;

  margin: 0;
  margin-bottom: var(--space-md);

  overflow: hidden;

  border: 1px solid var(--access-border);

  aspect-ratio: 2.2 / 1;

  box-sizing: border-box;
}

.section--access__map iframe {
  display: block;

  width: 100%;
  height: 100%;

  border: 0;
}

/* ============================================================
   ACCESS DETAILS
   ============================================================ */

.section--access__details {
  margin: 0;

  border-top: 1px solid var(--access-border);
}

/* ============================================================
   DETAIL ROW
   ============================================================ */

.section--access__detail-row {
  display: grid;

  grid-template-columns: 22% 1fr;

  align-items: stretch;

  border-bottom: 1px solid var(--access-border);

  background: var(--access-bg-soft);

  box-sizing: border-box;
}

/* ============================================================
   DETAIL LABEL
   ============================================================ */

.section--access__detail-label {
  display: flex;

  align-items: flex-start;

  margin: 0;

  padding: 12px;

  color: var(--access-gold) !important;

  font-weight: 600;

  letter-spacing: var(--letter-spacing-heading);

  box-sizing: border-box;
}

/* ============================================================
   DETAIL VALUE
   ============================================================ */

.section--access__detail-value {
  position: relative;

  margin: 0;

  padding:
    var(--space-sm)
    0
    var(--space-sm)
    var(--space-lg);

  color: var(--access-title) !important;

  line-height: 1.8;

  white-space: pre-line;

  box-sizing: border-box;
}

.section--access__detail-value::before {
  position: absolute;

  top: var(--space-xs);
  bottom: var(--space-xs);
  left: var(--space-xs);

  width: 1px;

  content: "";

  background: var(--access-border);
}

/* ============================================================
   STORE VISUAL
   ============================================================ */

.section--access__visual {
  position: relative;

  width: 100%;

  overflow: hidden;

  background: var(--access-bg);
}

.section--access__visual-image {
  display: block;

  width: 100%;
  height: auto;
  max-width: 100%;

  aspect-ratio: 3 / 1;

  object-fit: cover;
  object-position: center;
}

.section--access__visual::after {
  position: absolute;

  inset: 0;

  content: "";

  background:
    linear-gradient(
      90deg,
      rgba(23, 18, 16, 0.5) 0%,
      rgba(23, 18, 16, 0.18) 48%,
      rgba(23, 18, 16, 0.5) 100%
    );

  pointer-events: none;
}

/* ============================================================
   VISUAL OVERLAY
   ============================================================ */

.section--access__visual-overlay {
  position: absolute;

  inset: 0;

  z-index: 1;

  display: grid;

  grid-template-columns: 46% 54%;

  align-items: center;

  color: var(--access-title);
}

/* ============================================================
   BRAND
   ============================================================ */

.section--access__brand {
  display: flex;

  flex-direction: column;

  align-items: center;
  justify-content: center;

  text-align: center;
}

.section--access__brand-small,
.section--access__brand-name {
  margin: 0;

  color: var(--access-title);

  letter-spacing: var(--letter-spacing-heading);
}

.section--access__brand-name {
  margin-top: 0.15rem;
}

.section--access__brand-line {
  display: block;

  width: 3.2rem;
  height: 2px;

  margin-top: var(--space-sm);

  background: var(--access-gold);
}

/* ============================================================
   CONTACT
   ============================================================ */

.section--access__contact {
  padding-right: var(--space-sm);
  padding-left: var(--space-xs);

  text-align: center;
}

.section--access__contact-text {
  margin: 0;

  color: var(--access-title);

  line-height: 1.8;

  white-space: pre-line;
}

.section--access__contact-line {
  display: block;

  width: 5rem;
  height: 2px;

  margin: var(--space-sm) auto 0;

  background: var(--access-gold);
}

/* ============================================================
   HOVER
   ============================================================ */

@media (hover: hover) {
  .section--access__detail-row {
    transition: background-color 0.2s ease;
  }

  .section--access__detail-row:hover {
    background: #2d211d;
  }
}

/* ============================================================
   SP
   ============================================================ */

@media (max-width: 480px) {
  .section--access__eyebrow-line {
    width: 70px;
  }

  .section--access__map {
    aspect-ratio: 2 / 1;
  }

  .section--access__detail-row {
    grid-template-columns: 24% 1fr;
  }

  .section--access__detail-label {
    padding: 12px 8px;
  }

  .section--access__detail-value {
    padding:
      var(--space-sm)
      0
      var(--space-sm)
      var(--space-md);
  }
}

/* ============================================================
   INSPECTOR OVERRIDES
   ============================================================ */

.tpl-scope-manual-sec-1788946044653-tyixm
  .section--access__title {
  margin-bottom: 10px !important;

  color: #fffaf5 !important;

  opacity: 1 !important;

  visibility: visible !important;
}

.tpl-scope-manual-sec-1788946044653-tyixm
  .section--access__detail-value {
  color: #fffaf5 !important;

  font-size: 13px !important;
}

.tpl-scope-manual-sec-1788946044653-tyixm
  .section--access__detail-label {
  color: #c7a34b !important;

  font-size: 13px !important;
}

/* === end inspector overrides === */

/* === inspector overrides === */
/* === end inspector overrides === */
/* AI編集: 2026/9/10 15:27:34 */
.tpl-scope-manual-sec-1788946044653-tyixm .section--access__eyebrow { letter-spacing: 6.08px !important; }
/* AI編集: 2026/9/14 10:49:30 */
.tpl-scope-manual-sec-1788946044653-tyixm .section--access__eyebrow-line { background: rgb(139, 101, 40) !important; }
/* AI編集: 2026/9/14 10:51:37 */
.tpl-scope-manual-sec-1788946044653-tyixm .section--access__lead { margin-bottom: 32px !important; }
/* AI編集: 2026/9/14 11:45:03 */
.tpl-scope-manual-sec-1788946044653-tyixm .section--access__eyebrow { margin-right: -6px !important; }
}
/* === inspector overrides === */
/* 検証モードで変更：2026/9/14 11:41:52 */
.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__eyebrow-text {
  letter-spacing: 6.08px !important;
  margin-right: -6px !important;
}
.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__header {
  margin-bottom: 32px !important;
}
/* === end inspector overrides === */
@media (max-width: 768px) {
/* === inspector overrides === */
/* 検証モードで変更：2026/9/14 11:41:52 */
.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__eyebrow-text {
  letter-spacing: 6.08px !important;
  margin-right: -6px !important;
}
.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__header {
  margin-bottom: 32px !important;
}
/* === end inspector overrides === */
}
/* === inspector overrides === */
/* 検証モードで変更：2026/9/14 10:53:41 */
.tpl-scope-cta-footer-mobile .section--cta-footer__title {
  font-size: 24.2px !important;
}
.tpl-scope-cta-footer-mobile .section--cta-footer__header {
  margin-bottom: 32px !important;
}
/* === end inspector overrides === */
@media (max-width: 768px) {
/* === inspector overrides === */
/* 検証モードで変更：2026/9/14 10:53:41 */
.tpl-scope-cta-footer-mobile .section--cta-footer__title {
  font-size: 24.2px !important;
}
.tpl-scope-cta-footer-mobile .section--cta-footer__header {
  margin-bottom: 32px !important;
}
/* === end inspector overrides === */
}
/* === inspector overrides === */
/* 検証モードで変更：2026/10/1 17:19:09 */
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 [data-iid="iid-mup9imrd-fijc1"] {
  font-size: 10px !important;
}
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 [data-iid="iid-mup9irrc-c9f99"] {
  font-size: 10px !important;
}
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 [data-iid="iid-mup9iufs-kamuk"] {
  font-size: 10px !important;
}
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 [data-iid="iid-mup9j0hr-hqdfh"] {
  font-size: 12px !important;
}
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 [data-iid="iid-mup9j4qg-5tqco"] {
  font-size: 12px !important;
}
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 [data-iid="iid-mup9j6yu-jhzgp"] {
  font-size: 12px !important;
}
/* === end inspector overrides === */
@media (max-width: 768px) {
/* === inspector overrides === */
/* 検証モードで変更：2026/10/1 17:19:09 */
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 [data-iid="iid-mup9imrd-fijc1"] {
  font-size: 10px !important;
}
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 [data-iid="iid-mup9irrc-c9f99"] {
  font-size: 10px !important;
}
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 [data-iid="iid-mup9iufs-kamuk"] {
  font-size: 10px !important;
}
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 [data-iid="iid-mup9j0hr-hqdfh"] {
  font-size: 12px !important;
}
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 [data-iid="iid-mup9j4qg-5tqco"] {
  font-size: 12px !important;
}
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 [data-iid="iid-mup9j6yu-jhzgp"] {
  font-size: 12px !important;
}
/* === end inspector overrides === */
}
*,
*::before,
*::after {box-sizing: border-box}

:root {
  /* Font */
  --font-family-base: inherit;
  --font-family-heading: inherit;

  --font-size-heading: clamp(1.75rem, 4vw, 2.25rem);
  --font-size-subtitle: 1rem;
  --font-size-body: 1rem;
  --font-size-small: 0.875rem;
  --font-size-card-heading: 1.25rem;

  --line-height-heading: 1.45;
  --line-height-body: 1.8;
  --line-height-compact: 1.5;

  --letter-spacing-heading: 0.08em;
  --letter-spacing-body: 0.05em;
  --letter-spacing-eyebrow: 0.38em;

  /* Color */
  --color-heading: #17120d;
  --color-text: #27231d;
  --color-accent: #8b6528;
  --color-accent-light: #b9a06b;
  --color-border: #d6c29e;

  --color-background: #f7f3ea;
  --color-background-sub: #fffdf8;

  --color-dark: #0d0e0c;
  --color-dark-soft: #171510;
  --color-dark-text: #f5f1e9;

  --color-white: #ffffff;

  /* Layout */
  --inner-width: 70rem;
  --container-padding-x: 1.5rem;
  --section-padding-y: 2.5rem;

  /* Spacing */
  --space-xs: 0.5rem;
  --space-sm: 0.875rem;
  --space-md: 1.5rem;
  --space-lg: 2rem;
  --space-xl: 3rem;

  --heading-eyebrow-gap: 1.4rem;
  --heading-title-gap: 0.875rem;
  --heading-content-gap: 1.8rem;
  --content-gap: 1.5rem;
  --card-gap: 1rem;

  /* Border / Radius */
  --border-base: 1px solid var(--color-border);
  --radius-card: 0.65rem;
  --radius-image: 0.65rem;
  --radius-small: 0.35rem;

  /* Transition */
  --transition-base: 0.3s ease;
}

.lpc-inner {
  width: min(100%, var(--inner-width));
  margin-inline: auto;
  padding-inline: var(--container-padding-x);
}

.lpc-section-heading {
  margin: 0;
  font-family: var(--font-family-heading);
  font-size: var(--font-size-heading);
  line-height: var(--line-height-heading);
  letter-spacing: var(--letter-spacing-heading);
}

.lpc-section-heading-sub {
  margin: 0;
  font-family: var(--font-family-base);
  font-size: var(--font-size-subtitle);
  line-height: var(--line-height-body);
  letter-spacing: var(--letter-spacing-body);
}

.section--greeting__eyebrow,
.section--strengths__eyebrow,
.section--drink-menu__eyebrow,
.section--night-scenes__eyebrow,
.section--access__eyebrow-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--heading-eyebrow-gap);
}

.section--greeting__eyebrow,
.section--strengths__eyebrow,
.section--drink-menu__eyebrow,
.section--night-scenes__eyebrow-text,
.section--access__eyebrow {
  color: var(--color-accent);
  letter-spacing: var(--letter-spacing-eyebrow);
}

.section--greeting__eyebrow-line,
.section--strengths__eyebrow-line,
.section--drink-menu__eyebrow-line,
.section--night-scenes__eyebrow-line,
.section--access__eyebrow-line {
  display: block;
  width: 4.4rem;
  height: 1px;
  background: var(--color-accent-light);
}

.section--greeting__title,
.section--strengths__title,
.section--night-scenes__title,
.section--access__title {
  color: var(--color-heading);
  text-align: center;
}

.section--greeting__lead,
.section--strengths__lead,
.section--night-scenes__subtitle {
  color: var(--color-accent);
  text-align: center;
}

.section--greeting__message-main,
.section--greeting__message-sub,
.section--strengths__item-body,
.section--drink-menu__lead,
.section--drink-menu__drink-lead,
.section--drink-menu__drink-list,
.section--drink-menu__closing-text,
.section--night-scenes__card-text,
.section--night-scenes__group-text,
.section--access__lead,
.section--access__detail-value,
.section--access__contact-text {
  font-family: var(--font-family-base);
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  letter-spacing: var(--letter-spacing-body);
}

.section--strengths__item-title,
.section--drink-menu__drink-title {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-card-heading);
  line-height: var(--line-height-compact);
  letter-spacing: var(--letter-spacing-heading);
}

.section--night-scenes__card,
.section--drink-menu__drink-card {
  border-radius: var(--radius-card);
}

.section--access__map {
  border-radius: var(--radius-image);
}

.lpc-button {
  transition:
    background-color var(--transition-base),
    transform var(--transition-base),
    box-shadow var(--transition-base);
}

.lpc-button:hover {
  transform: translateY(-2px);
}
.lpc-fixed-footer__item--tel { background-color: #d32d25|.lpc-fixed-footer__item--tel|background-color !important; }
.lpc-fixed-footer__item--mail { background-color: #434343|.lpc-fixed-footer__item--mail|background-color !important; }

:root {
  --lp-primary: #3B82F6;
  --lp-primary-dark: #1b6bef;
  --lp-primary-light: #5792f3;
  --lp-primary-50: #f4f6f9;
  --lp-primary-100: #e7edf6;
  --lp-primary-200: #cedcf2;
  --lp-primary-300: #acc6ef;
  --lp-primary-400: #83acef;
  --lp-primary-500: #5792f3;
  --lp-primary-600: #3B82F6;
  --lp-primary-700: #1b6bef;
  --lp-primary-800: #1659c6;
  --lp-primary-900: #1a4997;
  --lp-accent: #3B82F6;
  --lp-accent-dark: #1b6bef;
  --lp-accent-light: #5792f3;
  --lp-accent-50: #f4f6f9;
  --lp-accent-100: #e7edf6;
  --lp-accent-200: #cedcf2;
  --lp-accent-500: #5792f3;
  --lp-accent-600: #3B82F6;
  --lp-accent-700: #1b6bef;
  --lp-base: #ffffff;
  --lp-base-dark: #f8fafc;
  --lp-base-100: #f1f5f9;
  --lp-base-200: #e2e8f0;
  --lp-base-500: #64748b;
}
/* 背景色 */
.bg-indigo-50{background-color:#f4f6f9!important}
.bg-indigo-100{background-color:#e7edf6!important}
.bg-indigo-200{background-color:#cedcf2!important}
.bg-indigo-300{background-color:#acc6ef!important}
.bg-indigo-400{background-color:#83acef!important}
.bg-indigo-500{background-color:#5792f3!important}
.bg-indigo-600{background-color:#3B82F6!important}
.bg-indigo-700{background-color:#1b6bef!important}
.bg-indigo-800{background-color:#1659c6!important}
.bg-indigo-900{background-color:#1a4997!important}
/* テキスト色 */
.text-indigo-50{color:#f4f6f9!important}
.text-indigo-100{color:#e7edf6!important}
.text-indigo-200{color:#cedcf2!important}
.text-indigo-300{color:#acc6ef!important}
.text-indigo-400{color:#83acef!important}
.text-indigo-500{color:#5792f3!important}
.text-indigo-600{color:#3B82F6!important}
.text-indigo-700{color:#1b6bef!important}
/* ボーダー色 */
.border-indigo-100{border-color:#e7edf6!important}
.border-indigo-200{border-color:#cedcf2!important}
.border-indigo-500{border-color:#5792f3!important}
.border-indigo-600{border-color:#3B82F6!important}
/* ホバー */
.hover\:bg-indigo-600:hover{background-color:#3B82F6!important}
.hover\:bg-indigo-700:hover{background-color:#1b6bef!important}
.hover\:text-indigo-500:hover{color:#5792f3!important}
.hover\:text-indigo-600:hover{color:#3B82F6!important}
.hover\:border-indigo-100:hover{border-color:#e7edf6!important}
.hover\:border-indigo-200:hover{border-color:#cedcf2!important}
.group:hover .group-hover\:text-indigo-600{color:#3B82F6!important}
/* グラデーション from */
.from-indigo-50{--tw-gradient-from:#f4f6f9!important}
.from-indigo-100{--tw-gradient-from:#e7edf6!important}
.from-indigo-200{--tw-gradient-from:#cedcf2!important}
.from-indigo-300{--tw-gradient-from:#acc6ef!important}
.from-indigo-400{--tw-gradient-from:#83acef!important}
.from-indigo-900\/20{--tw-gradient-from:rgba(26,73,151,0.2)!important}
/* グラデーション to/via (purple→プライマリー系) */
.to-purple-50{--tw-gradient-to:#f4f5f9!important}
.to-purple-100{--tw-gradient-to:#e7e9f6!important}
.to-purple-200{--tw-gradient-to:#ced3f2!important}
.to-purple-400{--tw-gradient-to:#8391ef!important}
.to-purple-500{--tw-gradient-to:#576bf3!important}
.to-purple-900\/20{--tw-gradient-to:rgba(26,73,151,0.2)!important}
.via-purple-200{--tw-gradient-via:#ced3f2!important}
.via-purple-50{--tw-gradient-via:#f4f5f9!important}
.to-pink-100{--tw-gradient-to:#e9e7f6!important}
.to-pink-200{--tw-gradient-to:#d2cef2!important}
