: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 Sans JP', sans-serif !important;
      --font-sans-en: 'Noto Sans JP', sans-serif !important;
      --font-serif-ja: 'Noto Sans JP', sans-serif !important;
      --font-serif-en: 'Noto Sans JP', sans-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 Sans JP', sans-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-cmqj9mq8600ev0h3y4h7t1ptn .section--news {
  --news-color-pink: #ff8fbd;
  --news-color-pink-strong: #ff397f;
  --news-color-blue: #8fc9ff;
  --news-color-card: #08040d;
  --news-color-card-deep: #05030a;
  --news-color-border: rgba(255, 143, 189, 0.88);
  --news-color-line: rgba(255, 143, 189, 0.32);
  --news-color-text-muted: rgba(255, 255, 255, 0.76);

  position: relative;
  overflow: hidden;
  color: var(--color-text);
  background: var(--color-background-deep);
  isolation: isolate;
}

.section--news::before,
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news::before {
  z-index: -2;
  background:
    radial-gradient(circle at 12% 26%, rgba(255, 22, 106, 0.2), transparent 28%),
    radial-gradient(circle at 88% 62%, rgba(34, 126, 255, 0.2), transparent 30%),
    var(--color-background-deep);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news::after {
  z-index: -1;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.28), rgba(2, 1, 7, 0.92));
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__inner {
  position: relative;
  padding-block: var(--section-padding-y);
}

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

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

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__eyebrow {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 13.75rem;
  margin-bottom: var(--heading-eyebrow-gap);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__eyebrow-text {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--color-text);
  font-size: 1.875rem;
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-shadow:
    0 0 0.1875rem #ffffff,
    0 0 0.5rem var(--news-color-pink),
    0 0 0.9375rem var(--news-color-pink-strong),
    0 0 1.5rem var(--news-color-pink-strong);
  transform: rotate(-2deg);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__ray {
  position: absolute;
  display: block;
  width: 1.75rem;
  height: 0.125rem;
  border-radius: var(--radius-pill);
  background: currentColor;
  box-shadow:
    0 0 0.25rem currentColor,
    0 0 0.5625rem currentColor;
}

/* 左側 */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__ray--left-1 {
  top: 30%;
  left: 0;
  color: var(--news-color-blue);
  transform: rotate(25deg);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__ray--left-2 {
  top: 50%;
  left: -0.125rem;
  color: var(--news-color-pink-strong);
  transform: rotate(10deg);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__ray--left-3 {
  top: 70%;
  left: 0;
  color: var(--news-color-blue);
  transform: rotate(-3deg);
}

/* 右側 */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__ray--right-1 {
  top: 30%;
  right: 0;
  color: var(--news-color-pink-strong);
  transform: rotate(-35deg);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__ray--right-2 {
  top: 50%;
  right: -0.125rem;
  color: var(--news-color-blue);
  transform: rotate(-12deg);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__ray--right-3 {
  top: 70%;
  right: 0;
  color: var(--news-color-blue);
  transform: rotate(4deg);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__title {
  margin: 0 0 var(--heading-lead-gap);
  color: var(--color-text);
  text-align: center;
  letter-spacing: 0.02em;
  text-shadow:
    -0.08em 0 0.35rem rgba(255, 37, 107, 0.95),
    0.08em 0 0.35rem rgba(35, 177, 255, 0.95);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__lead {
  max-width: 34em;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.94);
  line-height: 1.75;
  white-space: pre-line;
}

/* ============================================================
   スライダーエリア
============================================================ */

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

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__slider {
  position: relative;
  overflow: hidden;
  text-align: left;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__list {
  align-items: stretch;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__slide {
  box-sizing: border-box;
  height: auto;
}

/* ============================================================
   お知らせカード
============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card {
  position: relative;
  height: 100%;
  min-height: 31rem;
  overflow: hidden;
  border: 0.1rem solid var(--news-color-border);
  border-radius: var(--radius-medium);
  background: var(--news-color-card-deep);
  box-shadow:
    0 0 0.35rem rgba(255, 38, 126, 0.8),
    0 0 1rem rgba(255, 38, 126, 0.4),
    inset 0 0 1rem rgba(255, 36, 112, 0.1);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-self-link {
  position: relative;
  display: flex;
  height: 100%;
  min-height: inherit;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-media {
  position: relative;
  overflow: hidden;
  background: var(--news-color-card);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-media img {
  display: block;
  width: 100%;
  aspect-ratio: 8 / 7;
  object-fit: cover;
  object-position: center;
  transition:
    transform 0.35s ease,
    opacity 0.35s ease;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(5, 3, 10, 0) 28%,
    rgba(5, 3, 10, 0.28) 48%,
    rgba(5, 3, 10, 0.98) 69%
  );
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-body {
  position: relative;
  z-index: 2;
  display: flex;
  flex: 1;
  flex-direction: column;
  margin-top: -3.5rem;
  padding: var(--card-padding);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
  padding-bottom: var(--space-xs);
  border-bottom: 0.0625rem solid var(--news-color-line);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-tag {
  display: inline-flex;
  align-items: center;
  min-height: 1.75rem;
  padding: 0.25rem 0.75rem;
  border: 0.0625rem solid var(--news-color-border);
  border-radius: var(--radius-pill);
  background: rgba(255, 57, 127, 0.14);
  color: var(--news-color-pink);
  font-size: 0.75rem;
  line-height: 1.3;
  box-shadow:
    0 0 0.3rem rgba(255, 57, 127, 0.42),
    inset 0 0 0.5rem rgba(255, 57, 127, 0.12);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-date {
  color: var(--news-color-blue);
  font-size: 0.75rem;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-shadow: 0 0 0.4rem rgba(61, 153, 255, 0.65);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-text {
  display: -webkit-box;
  flex: 1;
  overflow: hidden;
  margin: var(--space-xs) 0;
  color: rgba(255, 255, 255, 0.94);
  font-size: 0.8125rem;
  line-height: 1.7;
  white-space: pre-line;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-link {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  width: 100%;
  margin-top: auto;
  padding-top: var(--space-xs);
  border-top: 0.0625rem solid var(--news-color-line);
  color: var(--news-color-pink);
  font-size: 0.8125rem;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-decoration: none;
  text-shadow: 0 0 0.45rem rgba(255, 41, 107, 0.62);
  transition:
    color 0.25s ease,
    text-shadow 0.25s ease;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-link-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
  line-height: 1;
  transition: transform 0.25s ease;
}

/* ============================================================
   左右ナビゲーション
============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav {
  position: absolute;
  top: 50%;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  padding: 0;
  border: 0.1rem solid currentColor;
  border-radius: var(--radius-pill);
  background: rgba(5, 3, 10, 0.92);
  color: var(--news-color-pink);
  cursor: pointer;
  box-shadow:
    0 0 0.35rem currentColor,
    0 0 0.9rem rgba(255, 38, 126, 0.52);
  transform: translateY(-50%);
  transition:
    color 0.25s ease,
    background-color 0.25s ease,
    box-shadow 0.25s ease;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav--prev {
  left: -1rem;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav--next {
  right: -1rem;
  color: var(--news-color-blue);
  box-shadow:
    0 0 0.35rem currentColor,
    0 0 0.9rem rgba(61, 153, 255, 0.52);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav-icon {
  display: block;
  font-size: 2rem;
  line-height: 0.8;
  transform: translateY(-0.2rem);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav::after {
  content: none;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav.swiper-button-disabled {
  opacity: 0.35;
  cursor: default;
}

/* ============================================================
   ページネーション
============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__pagination {
  position: static;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  margin-top: var(--content-item-gap);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__pagination .swiper-pagination-bullet {
  width: 0.5rem;
  height: 0.5rem;
  margin: 0;
  border-radius: var(--radius-pill);
  background: rgba(255, 255, 255, 0.34);
  opacity: 1;
  transition:
    width 0.25s ease,
    background-color 0.25s ease,
    box-shadow 0.25s ease;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__pagination .swiper-pagination-bullet-active {
  width: 1.75rem;
  background: var(--news-color-pink);
  box-shadow:
    0 0 0.3rem var(--news-color-pink),
    0 0 0.75rem rgba(255, 38, 126, 0.8);
}

/* ============================================================
   一覧ボタン
============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__more-wrap {
  display: flex;
  justify-content: center;
  margin-top: var(--heading-content-gap);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  min-width: 15rem;
  padding: 1rem 2rem;
  border: 0.1rem solid var(--news-color-pink);
  border-radius: var(--radius-pill);
  background: rgba(255, 57, 127, 0.1);
  color: var(--color-text);
  line-height: 1.4;
  letter-spacing: 0.06em;
  text-decoration: none;
  box-shadow:
    0 0 0.35rem rgba(255, 38, 126, 0.85),
    0 0 1rem rgba(255, 38, 126, 0.4),
    inset 0 0 0.8rem rgba(255, 36, 112, 0.12);
  transition:
    color 0.25s ease,
    background-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__more-arrow {
  font-size: 1.125rem;
  line-height: 1;
  transition: transform 0.25s ease;
}

/* ============================================================
   hover
============================================================ */

@media (hover: hover) {
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-self-link:hover .section--news__card-media img {
    opacity: 0.88;
    transform: scale(1.035);
  }

  .section--news__card-self-link:hover .section--news__card-link,
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-link:hover {
    color: var(--color-text);
    text-shadow:
      0 0 0.3rem #ffffff,
      0 0 0.7rem var(--news-color-pink);
  }

  .section--news__card-self-link:hover .section--news__card-link-arrow,
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-link:hover .section--news__card-link-arrow {
    transform: translateX(0.25rem);
  }

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav:hover {
    color: var(--color-text);
    background: rgba(255, 57, 127, 0.2);
    box-shadow:
      0 0 0.4rem currentColor,
      0 0 1.1rem currentColor;
  }

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__more:hover {
    color: var(--color-text);
    background: rgba(255, 57, 127, 0.22);
    box-shadow:
      0 0 0.45rem rgba(255, 38, 126, 0.95),
      0 0 1.3rem rgba(255, 38, 126, 0.64),
      inset 0 0 1rem rgba(255, 36, 112, 0.2);
    transform: translateY(-0.125rem);
  }

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__more:hover .section--news__more-arrow {
    transform: translateX(0.25rem);
  }
}

/* ============================================================
   フォーカス表示
============================================================ */

.section--news__nav:focus-visible,
.section--news__card-link:focus-visible,
.section--news__card-self-link:focus-visible,
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__more:focus-visible {
  outline: 0.125rem solid var(--news-color-blue);
  outline-offset: 0.25rem;
}

/* ============================================================
   動きを減らす設定
============================================================ */

@media (prefers-reduced-motion: reduce) {
  .section--news__card-media img,
  .section--news__card-link,
  .section--news__card-link-arrow,
  .section--news__nav,
  .section--news__pagination .swiper-pagination-bullet,
  .section--news__more,
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__more-arrow {
    transition: none;
  }
}
/*--mobile--*/
/* ============================================================
   お知らせセクション
============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news {
  --news-color-pink: #ff8fbd;
  --news-color-pink-strong: #ff397f;
  --news-color-blue: #8fc9ff;
  --news-color-card: #08040d;
  --news-color-card-deep: #05030a;
  --news-color-border: rgba(255, 143, 189, 0.88);
  --news-color-line: rgba(255, 143, 189, 0.32);
  --news-color-text-muted: rgba(255, 255, 255, 0.76);

  position: relative;
  overflow: hidden;
  color: var(--color-text);
  background: var(--color-background-deep);
  isolation: isolate;
}

.section--news::before,
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news::before {
  z-index: -2;
  background:
    radial-gradient(circle at 12% 26%, rgba(255, 22, 106, 0.2), transparent 28%),
    radial-gradient(circle at 88% 62%, rgba(34, 126, 255, 0.2), transparent 30%),
    var(--color-background-deep);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news::after {
  z-index: -1;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.28), rgba(2, 1, 7, 0.92));
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__inner {
  position: relative;
  padding-block: var(--section-padding-y);
}

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

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

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__eyebrow {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 13.75rem;
  margin-bottom: var(--heading-eyebrow-gap);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__eyebrow-text {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--color-text);
  font-size: 1.875rem;
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-shadow:
    0 0 0.1875rem #ffffff,
    0 0 0.5rem var(--news-color-pink),
    0 0 0.9375rem var(--news-color-pink-strong),
    0 0 1.5rem var(--news-color-pink-strong);
  transform: rotate(-2deg);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__ray {
  position: absolute;
  display: block;
  width: 1.75rem;
  height: 0.125rem;
  border-radius: var(--radius-pill);
  background: currentColor;
  box-shadow:
    0 0 0.25rem currentColor,
    0 0 0.5625rem currentColor;
}

/* 左側 */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__ray--left-1 {
  top: 30%;
  left: 0;
  color: var(--news-color-blue);
  transform: rotate(25deg);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__ray--left-2 {
  top: 50%;
  left: -0.125rem;
  color: var(--news-color-pink-strong);
  transform: rotate(10deg);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__ray--left-3 {
  top: 70%;
  left: 0;
  color: var(--news-color-blue);
  transform: rotate(-3deg);
}

/* 右側 */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__ray--right-1 {
  top: 30%;
  right: 0;
  color: var(--news-color-pink-strong);
  transform: rotate(-35deg);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__ray--right-2 {
  top: 50%;
  right: -0.125rem;
  color: var(--news-color-blue);
  transform: rotate(-12deg);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__ray--right-3 {
  top: 70%;
  right: 0;
  color: var(--news-color-blue);
  transform: rotate(4deg);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__title {
  margin: 0 0 var(--heading-lead-gap);
  color: var(--color-text);
  text-align: center;
  letter-spacing: 0.02em;
  text-shadow:
    -0.08em 0 0.35rem rgba(255, 37, 107, 0.95),
    0.08em 0 0.35rem rgba(35, 177, 255, 0.95);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__lead {
  max-width: 34em;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.94);
  line-height: 1.75;
  white-space: pre-line;
}

/* ============================================================
   スライダーエリア
============================================================ */

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

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__slider {
  position: relative;
  overflow: hidden;
  text-align: left;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__list {
  align-items: stretch;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__slide {
  box-sizing: border-box;
  height: auto;
}

/* ============================================================
   お知らせカード
============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card {
  position: relative;
  height: 100%;
  min-height: 31rem;
  overflow: hidden;
  border: 0.1rem solid var(--news-color-border);
  border-radius: var(--radius-medium);
  background: var(--news-color-card-deep);
  box-shadow:
    0 0 0.35rem rgba(255, 38, 126, 0.8),
    0 0 1rem rgba(255, 38, 126, 0.4),
    inset 0 0 1rem rgba(255, 36, 112, 0.1);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-self-link {
  position: relative;
  display: flex;
  height: 100%;
  min-height: inherit;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-media {
  position: relative;
  overflow: hidden;
  background: var(--news-color-card);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-media img {
  display: block;
  width: 100%;
  aspect-ratio: 8 / 7;
  object-fit: cover;
  object-position: center;
  transition:
    transform 0.35s ease,
    opacity 0.35s ease;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(5, 3, 10, 0) 28%,
    rgba(5, 3, 10, 0.28) 48%,
    rgba(5, 3, 10, 0.98) 69%
  );
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-body {
  position: relative;
  z-index: 2;
  display: flex;
  flex: 1;
  flex-direction: column;
  margin-top: -3.5rem;
  padding: var(--card-padding);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
  padding-bottom: var(--space-xs);
  border-bottom: 0.0625rem solid var(--news-color-line);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-tag {
  display: inline-flex;
  align-items: center;
  min-height: 1.75rem;
  padding: 0.25rem 0.75rem;
  border: 0.0625rem solid var(--news-color-border);
  border-radius: var(--radius-pill);
  background: rgba(255, 57, 127, 0.14);
  color: var(--news-color-pink);
  font-size: 0.75rem;
  line-height: 1.3;
  box-shadow:
    0 0 0.3rem rgba(255, 57, 127, 0.42),
    inset 0 0 0.5rem rgba(255, 57, 127, 0.12);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-date {
  color: var(--news-color-blue);
  font-size: 0.75rem;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-shadow: 0 0 0.4rem rgba(61, 153, 255, 0.65);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-text {
  display: -webkit-box;
  flex: 1;
  overflow: hidden;
  margin: var(--space-xs) 0;
  color: rgba(255, 255, 255, 0.94);
  font-size: 0.8125rem;
  line-height: 1.7;
  white-space: pre-line;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-link {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  width: 100%;
  margin-top: auto;
  padding-top: var(--space-xs);
  border-top: 0.0625rem solid var(--news-color-line);
  color: var(--news-color-pink);
  font-size: 0.8125rem;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-decoration: none;
  text-shadow: 0 0 0.45rem rgba(255, 41, 107, 0.62);
  transition:
    color 0.25s ease,
    text-shadow 0.25s ease;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-link-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
  line-height: 1;
  transition: transform 0.25s ease;
}

/* ============================================================
   左右ナビゲーション
============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav {
  position: absolute;
  top: 50%;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  padding: 0;
  border: 0.1rem solid currentColor;
  border-radius: var(--radius-pill);
  background: rgba(5, 3, 10, 0.92);
  color: var(--news-color-pink);
  cursor: pointer;
  box-shadow:
    0 0 0.35rem currentColor,
    0 0 0.9rem rgba(255, 38, 126, 0.52);
  transform: translateY(-50%);
  transition:
    color 0.25s ease,
    background-color 0.25s ease,
    box-shadow 0.25s ease;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav--prev {
  left: -1rem;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav--next {
  right: -1rem;
  color: var(--news-color-blue);
  box-shadow:
    0 0 0.35rem currentColor,
    0 0 0.9rem rgba(61, 153, 255, 0.52);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav-icon {
  display: block;
  font-size: 2rem;
  line-height: 0.8;
  transform: translateY(-0.2rem);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav::after {
  content: none;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav.swiper-button-disabled {
  opacity: 0.35;
  cursor: default;
}

/* ============================================================
   ページネーション
============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__pagination {
  position: static;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  margin-top: var(--content-item-gap);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__pagination .swiper-pagination-bullet {
  width: 0.5rem;
  height: 0.5rem;
  margin: 0;
  border-radius: var(--radius-pill);
  background: rgba(255, 255, 255, 0.34);
  opacity: 1;
  transition:
    width 0.25s ease,
    background-color 0.25s ease,
    box-shadow 0.25s ease;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__pagination .swiper-pagination-bullet-active {
  width: 1.75rem;
  background: var(--news-color-pink);
  box-shadow:
    0 0 0.3rem var(--news-color-pink),
    0 0 0.75rem rgba(255, 38, 126, 0.8);
}

/* ============================================================
   一覧ボタン
============================================================ */

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__more-wrap {
  display: flex;
  justify-content: center;
  margin-top: var(--heading-content-gap);
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  min-width: 15rem;
  padding: 1rem 2rem;
  border: 0.1rem solid var(--news-color-pink);
  border-radius: var(--radius-pill);
  background: rgba(255, 57, 127, 0.1);
  color: var(--color-text);
  line-height: 1.4;
  letter-spacing: 0.06em;
  text-decoration: none;
  box-shadow:
    0 0 0.35rem rgba(255, 38, 126, 0.85),
    0 0 1rem rgba(255, 38, 126, 0.4),
    inset 0 0 0.8rem rgba(255, 36, 112, 0.12);
  transition:
    color 0.25s ease,
    background-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__more-arrow {
  font-size: 1.125rem;
  line-height: 1;
  transition: transform 0.25s ease;
}

/* ============================================================
   hover
============================================================ */

@media (hover: hover) {
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-self-link:hover .section--news__card-media img {
    opacity: 0.88;
    transform: scale(1.035);
  }

  .section--news__card-self-link:hover .section--news__card-link,
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-link:hover {
    color: var(--color-text);
    text-shadow:
      0 0 0.3rem #ffffff,
      0 0 0.7rem var(--news-color-pink);
  }

  .section--news__card-self-link:hover .section--news__card-link-arrow,
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__card-link:hover .section--news__card-link-arrow {
    transform: translateX(0.25rem);
  }

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__nav:hover {
    color: var(--color-text);
    background: rgba(255, 57, 127, 0.2);
    box-shadow:
      0 0 0.4rem currentColor,
      0 0 1.1rem currentColor;
  }

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__more:hover {
    color: var(--color-text);
    background: rgba(255, 57, 127, 0.22);
    box-shadow:
      0 0 0.45rem rgba(255, 38, 126, 0.95),
      0 0 1.3rem rgba(255, 38, 126, 0.64),
      inset 0 0 1rem rgba(255, 36, 112, 0.2);
    transform: translateY(-0.125rem);
  }

.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__more:hover .section--news__more-arrow {
    transform: translateX(0.25rem);
  }
}

/* ============================================================
   フォーカス表示
============================================================ */

.section--news__nav:focus-visible,
.section--news__card-link:focus-visible,
.section--news__card-self-link:focus-visible,
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__more:focus-visible {
  outline: 0.125rem solid var(--news-color-blue);
  outline-offset: 0.25rem;
}

/* ============================================================
   動きを減らす設定
============================================================ */

@media (prefers-reduced-motion: reduce) {
  .section--news__card-media img,
  .section--news__card-link,
  .section--news__card-link-arrow,
  .section--news__nav,
  .section--news__pagination .swiper-pagination-bullet,
  .section--news__more,
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__more-arrow {
    transition: none;
  }
}
/* ============================================================
   ギャラリーセクション
============================================================ */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery {
  --gallery-color-pink: #ff8fbd;
  --gallery-color-pink-strong: #ff397f;
  --gallery-color-blue: #8fc9ff;
  --gallery-color-card: #08040d;
  --gallery-color-card-deep: #05030a;
  --gallery-color-border: rgba(255, 143, 189, 0.88);
  --gallery-color-line: rgba(255, 143, 189, 0.32);
  --gallery-color-text-muted: rgba(255, 255, 255, 0.76);

  position: relative;
  overflow: hidden;
  color: var(--color-text);
  background: var(--color-background-deep);
  isolation: isolate;
}

.section--gallery::before,
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery::before {
  z-index: -2;
  background:
    radial-gradient(
      circle at 12% 26%,
      rgba(255, 22, 106, 0.2),
      transparent 28%
    ),
    radial-gradient(
      circle at 88% 62%,
      rgba(34, 126, 255, 0.2),
      transparent 30%
    ),
    var(--color-background-deep);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery::after {
  z-index: -1;
  background:
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.28),
      rgba(2, 1, 7, 0.92)
    );
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__inner {
  position: relative;
  padding-block: var(--section-padding-y);
}

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

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

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__eyebrow {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 13.75rem;
  margin-bottom: var(--heading-eyebrow-gap);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__eyebrow-text {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--color-text);
  font-size: 1.875rem;
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-shadow:
    0 0 0.1875rem #ffffff,
    0 0 0.5rem var(--gallery-color-pink),
    0 0 0.9375rem var(--gallery-color-pink-strong),
    0 0 1.5rem var(--gallery-color-pink-strong);
  transform: rotate(-2deg);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__ray {
  position: absolute;
  display: block;
  width: 1.75rem;
  height: 0.125rem;
  border-radius: var(--radius-pill);
  background: currentColor;
  box-shadow:
    0 0 0.25rem currentColor,
    0 0 0.5625rem currentColor;
}

/* 左側 */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__ray--left-1 {
  top: 30%;
  left: 0;
  color: var(--gallery-color-blue);
  transform: rotate(25deg);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__ray--left-2 {
  top: 50%;
  left: -0.125rem;
  color: var(--gallery-color-pink-strong);
  transform: rotate(10deg);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__ray--left-3 {
  top: 70%;
  left: 0;
  color: var(--gallery-color-blue);
  transform: rotate(-3deg);
}

/* 右側 */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__ray--right-1 {
  top: 30%;
  right: 0;
  color: var(--gallery-color-pink-strong);
  transform: rotate(-35deg);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__ray--right-2 {
  top: 50%;
  right: -0.125rem;
  color: var(--gallery-color-blue);
  transform: rotate(-12deg);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__ray--right-3 {
  top: 70%;
  right: 0;
  color: var(--gallery-color-blue);
  transform: rotate(4deg);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__title {
  margin: 0 0 var(--heading-lead-gap);
  color: var(--color-text);
  text-align: center;
  letter-spacing: 0.02em;
  text-shadow:
    -0.08em 0 0.35rem rgba(255, 37, 107, 0.95),
    0.08em 0 0.35rem rgba(35, 177, 255, 0.95);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__lead {
  max-width: 34em;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.94);
  line-height: 1.75;
  white-space: pre-line;
}

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

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

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__slider {
  position: relative;
  overflow: hidden;
  text-align: left;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__list {
  align-items: stretch;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__slide {
  box-sizing: border-box;
  height: auto;
}

/* ============================================================
   ギャラリーカード
============================================================ */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__card {
  position: relative;
  display: block;
  height: 100%;
  overflow: hidden;
  border: 0.1rem solid var(--gallery-color-border);
  border-radius: var(--radius-medium);
  background: var(--gallery-color-card-deep);
  color: inherit;
  text-decoration: none;
  box-shadow:
    0 0 0.35rem rgba(255, 38, 126, 0.8),
    0 0 1rem rgba(255, 38, 126, 0.4),
    inset 0 0 1rem rgba(255, 36, 112, 0.1);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__card-media {
  position: relative;
  display: block;
  overflow: hidden;
  background: var(--gallery-color-card);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__card-media img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  object-position: center;
  transition:
    transform 0.35s ease,
    opacity 0.35s ease;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__card-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  pointer-events: none;
  background:
    linear-gradient(
      180deg,
      rgba(5, 3, 10, 0) 52%,
      rgba(5, 3, 10, 0.22) 72%,
      rgba(5, 3, 10, 0.72) 100%
    );
  opacity: 0.8;
  transition: opacity 0.35s ease;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__card-icon {
  position: absolute;
  right: var(--card-padding);
  bottom: var(--card-padding);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: 0.0625rem solid var(--gallery-color-border);
  border-radius: var(--radius-pill);
  background: rgba(5, 3, 10, 0.82);
  color: var(--gallery-color-pink);
  font-size: 1.125rem;
  line-height: 1;
  box-shadow:
    0 0 0.3rem rgba(255, 57, 127, 0.5),
    inset 0 0 0.5rem rgba(255, 57, 127, 0.12);
  transition:
    color 0.25s ease,
    background-color 0.25s ease,
    transform 0.25s ease;
}

/* ============================================================
   左右ナビゲーション
============================================================ */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav {
  position: absolute;
  top: 50%;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  padding: 0;
  border: 0.1rem solid currentColor;
  border-radius: var(--radius-pill);
  background: rgba(5, 3, 10, 0.92);
  color: var(--gallery-color-pink);
  cursor: pointer;
  box-shadow:
    0 0 0.35rem currentColor,
    0 0 0.9rem rgba(255, 38, 126, 0.52);
  transform: translateY(-50%);
  transition:
    color 0.25s ease,
    background-color 0.25s ease,
    box-shadow 0.25s ease;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav--prev {
  left: -1rem;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav--next {
  right: -1rem;
  color: var(--gallery-color-blue);
  box-shadow:
    0 0 0.35rem currentColor,
    0 0 0.9rem rgba(61, 153, 255, 0.52);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav-icon {
  display: block;
  font-size: 2rem;
  line-height: 0.8;
  transform: translateY(-0.2rem);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav::after {
  content: none;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav.swiper-button-disabled {
  opacity: 0.35;
  cursor: default;
}

/* ============================================================
   ページネーション
============================================================ */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__pagination {
  position: static;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  margin-top: var(--content-item-gap);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__pagination .swiper-pagination-bullet {
  width: 0.5rem;
  height: 0.5rem;
  margin: 0;
  border-radius: var(--radius-pill);
  background: rgba(255, 255, 255, 0.34);
  opacity: 1;
  transition:
    width 0.25s ease,
    background-color 0.25s ease,
    box-shadow 0.25s ease;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__pagination .swiper-pagination-bullet-active {
  width: 1.75rem;
  background: var(--gallery-color-pink);
  box-shadow:
    0 0 0.3rem var(--gallery-color-pink),
    0 0 0.75rem rgba(255, 38, 126, 0.8);
}

/* ============================================================
   一覧ボタン
============================================================ */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__more-wrap {
  display: flex;
  justify-content: center;
  margin-top: var(--heading-content-gap);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  min-width: 15rem;
  padding: 1rem 2rem;
  border: 0.1rem solid var(--gallery-color-pink);
  border-radius: var(--radius-pill);
  background: rgba(255, 57, 127, 0.1);
  color: var(--color-text);
  line-height: 1.4;
  letter-spacing: 0.06em;
  text-decoration: none;
  box-shadow:
    0 0 0.35rem rgba(255, 38, 126, 0.85),
    0 0 1rem rgba(255, 38, 126, 0.4),
    inset 0 0 0.8rem rgba(255, 36, 112, 0.12);
  transition:
    color 0.25s ease,
    background-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__more-arrow {
  font-size: 1.125rem;
  line-height: 1;
  transition: transform 0.25s ease;
}

/* ============================================================
   補足文
============================================================ */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__note {
  max-width: 34em;
  margin: var(--space-xs) auto 0;
  color: var(--gallery-color-text-muted);
  font-size: 0.75rem;
  line-height: 1.7;
  text-align: center;
  white-space: pre-line;
}

/* ============================================================
   hover
============================================================ */

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

  .section--gallery__card:hover
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__card-overlay {
    opacity: 1;
  }

  .section--gallery__card:hover
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__card-icon {
    color: var(--color-text);
    background: rgba(255, 57, 127, 0.22);
    transform: translateX(0.25rem);
  }

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav:hover {
    color: var(--color-text);
    background: rgba(255, 57, 127, 0.2);
    box-shadow:
      0 0 0.4rem currentColor,
      0 0 1.1rem currentColor;
  }

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__more:hover {
    color: var(--color-text);
    background: rgba(255, 57, 127, 0.22);
    box-shadow:
      0 0 0.45rem rgba(255, 38, 126, 0.95),
      0 0 1.3rem rgba(255, 38, 126, 0.64),
      inset 0 0 1rem rgba(255, 36, 112, 0.2);
    transform: translateY(-0.125rem);
  }

  .section--gallery__more:hover
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__more-arrow {
    transform: translateX(0.25rem);
  }
}

/* ============================================================
   フォーカス表示
============================================================ */

.section--gallery__nav:focus-visible,
.section--gallery__card:focus-visible,
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__more:focus-visible {
  outline: 0.125rem solid var(--gallery-color-blue);
  outline-offset: 0.25rem;
}


/* ============================================================
   動きを減らす設定
============================================================ */

@media (prefers-reduced-motion: reduce) {
  .section--gallery__card-media img,
  .section--gallery__card-overlay,
  .section--gallery__card-icon,
  .section--gallery__nav,
  .section--gallery__pagination .swiper-pagination-bullet,
  .section--gallery__more,
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__more-arrow {
    transition: none;
  }
}
/*--mobile--*/
/* ============================================================
   ギャラリーセクション
============================================================ */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery {
  --gallery-color-pink: #ff8fbd;
  --gallery-color-pink-strong: #ff397f;
  --gallery-color-blue: #8fc9ff;
  --gallery-color-card: #08040d;
  --gallery-color-card-deep: #05030a;
  --gallery-color-border: rgba(255, 143, 189, 0.88);
  --gallery-color-line: rgba(255, 143, 189, 0.32);
  --gallery-color-text-muted: rgba(255, 255, 255, 0.76);

  position: relative;
  overflow: hidden;
  color: var(--color-text);
  background: var(--color-background-deep);
  isolation: isolate;
}

.section--gallery::before,
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery::before {
  z-index: -2;
  background:
    radial-gradient(
      circle at 12% 26%,
      rgba(255, 22, 106, 0.2),
      transparent 28%
    ),
    radial-gradient(
      circle at 88% 62%,
      rgba(34, 126, 255, 0.2),
      transparent 30%
    ),
    var(--color-background-deep);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery::after {
  z-index: -1;
  background:
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.28),
      rgba(2, 1, 7, 0.92)
    );
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__inner {
  position: relative;
  padding-block: var(--section-padding-y);
}

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

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

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__eyebrow {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 13.75rem;
  margin-bottom: var(--heading-eyebrow-gap);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__eyebrow-text {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--color-text);
  font-size: 1.875rem;
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-shadow:
    0 0 0.1875rem #ffffff,
    0 0 0.5rem var(--gallery-color-pink),
    0 0 0.9375rem var(--gallery-color-pink-strong),
    0 0 1.5rem var(--gallery-color-pink-strong);
  transform: rotate(-2deg);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__ray {
  position: absolute;
  display: block;
  width: 1.75rem;
  height: 0.125rem;
  border-radius: var(--radius-pill);
  background: currentColor;
  box-shadow:
    0 0 0.25rem currentColor,
    0 0 0.5625rem currentColor;
}

/* 左側 */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__ray--left-1 {
  top: 30%;
  left: 0;
  color: var(--gallery-color-blue);
  transform: rotate(25deg);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__ray--left-2 {
  top: 50%;
  left: -0.125rem;
  color: var(--gallery-color-pink-strong);
  transform: rotate(10deg);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__ray--left-3 {
  top: 70%;
  left: 0;
  color: var(--gallery-color-blue);
  transform: rotate(-3deg);
}

/* 右側 */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__ray--right-1 {
  top: 30%;
  right: 0;
  color: var(--gallery-color-pink-strong);
  transform: rotate(-35deg);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__ray--right-2 {
  top: 50%;
  right: -0.125rem;
  color: var(--gallery-color-blue);
  transform: rotate(-12deg);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__ray--right-3 {
  top: 70%;
  right: 0;
  color: var(--gallery-color-blue);
  transform: rotate(4deg);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__title {
  margin: 0 0 var(--heading-lead-gap);
  color: var(--color-text);
  text-align: center;
  letter-spacing: 0.02em;
  text-shadow:
    -0.08em 0 0.35rem rgba(255, 37, 107, 0.95),
    0.08em 0 0.35rem rgba(35, 177, 255, 0.95);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__lead {
  max-width: 34em;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.94);
  line-height: 1.75;
  white-space: pre-line;
}

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

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

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__slider {
  position: relative;
  overflow: hidden;
  text-align: left;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__list {
  align-items: stretch;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__slide {
  box-sizing: border-box;
  height: auto;
}

/* ============================================================
   ギャラリーカード
============================================================ */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__card {
  position: relative;
  display: block;
  height: 100%;
  overflow: hidden;
  border: 0.1rem solid var(--gallery-color-border);
  border-radius: var(--radius-medium);
  background: var(--gallery-color-card-deep);
  color: inherit;
  text-decoration: none;
  box-shadow:
    0 0 0.35rem rgba(255, 38, 126, 0.8),
    0 0 1rem rgba(255, 38, 126, 0.4),
    inset 0 0 1rem rgba(255, 36, 112, 0.1);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__card-media {
  position: relative;
  display: block;
  overflow: hidden;
  background: var(--gallery-color-card);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__card-media img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  object-position: center;
  transition:
    transform 0.35s ease,
    opacity 0.35s ease;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__card-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  pointer-events: none;
  background:
    linear-gradient(
      180deg,
      rgba(5, 3, 10, 0) 52%,
      rgba(5, 3, 10, 0.22) 72%,
      rgba(5, 3, 10, 0.72) 100%
    );
  opacity: 0.8;
  transition: opacity 0.35s ease;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__card-icon {
  position: absolute;
  right: var(--card-padding);
  bottom: var(--card-padding);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: 0.0625rem solid var(--gallery-color-border);
  border-radius: var(--radius-pill);
  background: rgba(5, 3, 10, 0.82);
  color: var(--gallery-color-pink);
  font-size: 1.125rem;
  line-height: 1;
  box-shadow:
    0 0 0.3rem rgba(255, 57, 127, 0.5),
    inset 0 0 0.5rem rgba(255, 57, 127, 0.12);
  transition:
    color 0.25s ease,
    background-color 0.25s ease,
    transform 0.25s ease;
}

/* ============================================================
   左右ナビゲーション
============================================================ */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav {
  position: absolute;
  top: 50%;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  padding: 0;
  border: 0.1rem solid currentColor;
  border-radius: var(--radius-pill);
  background: rgba(5, 3, 10, 0.92);
  color: var(--gallery-color-pink);
  cursor: pointer;
  box-shadow:
    0 0 0.35rem currentColor,
    0 0 0.9rem rgba(255, 38, 126, 0.52);
  transform: translateY(-50%);
  transition:
    color 0.25s ease,
    background-color 0.25s ease,
    box-shadow 0.25s ease;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav--prev {
  left: -1rem;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav--next {
  right: -1rem;
  color: var(--gallery-color-blue);
  box-shadow:
    0 0 0.35rem currentColor,
    0 0 0.9rem rgba(61, 153, 255, 0.52);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav-icon {
  display: block;
  font-size: 2rem;
  line-height: 0.8;
  transform: translateY(-0.2rem);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav::after {
  content: none;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav.swiper-button-disabled {
  opacity: 0.35;
  cursor: default;
}

/* ============================================================
   ページネーション
============================================================ */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__pagination {
  position: static;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  margin-top: var(--content-item-gap);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__pagination .swiper-pagination-bullet {
  width: 0.5rem;
  height: 0.5rem;
  margin: 0;
  border-radius: var(--radius-pill);
  background: rgba(255, 255, 255, 0.34);
  opacity: 1;
  transition:
    width 0.25s ease,
    background-color 0.25s ease,
    box-shadow 0.25s ease;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__pagination .swiper-pagination-bullet-active {
  width: 1.75rem;
  background: var(--gallery-color-pink);
  box-shadow:
    0 0 0.3rem var(--gallery-color-pink),
    0 0 0.75rem rgba(255, 38, 126, 0.8);
}

/* ============================================================
   一覧ボタン
============================================================ */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__more-wrap {
  display: flex;
  justify-content: center;
  margin-top: var(--heading-content-gap);
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  min-width: 15rem;
  padding: 1rem 2rem;
  border: 0.1rem solid var(--gallery-color-pink);
  border-radius: var(--radius-pill);
  background: rgba(255, 57, 127, 0.1);
  color: var(--color-text);
  line-height: 1.4;
  letter-spacing: 0.06em;
  text-decoration: none;
  box-shadow:
    0 0 0.35rem rgba(255, 38, 126, 0.85),
    0 0 1rem rgba(255, 38, 126, 0.4),
    inset 0 0 0.8rem rgba(255, 36, 112, 0.12);
  transition:
    color 0.25s ease,
    background-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__more-arrow {
  font-size: 1.125rem;
  line-height: 1;
  transition: transform 0.25s ease;
}

/* ============================================================
   補足文
============================================================ */

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__note {
  max-width: 34em;
  margin: var(--space-xs) auto 0;
  color: var(--gallery-color-text-muted);
  font-size: 0.75rem;
  line-height: 1.7;
  text-align: center;
  white-space: pre-line;
}

/* ============================================================
   hover
============================================================ */

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

  .section--gallery__card:hover
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__card-overlay {
    opacity: 1;
  }

  .section--gallery__card:hover
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__card-icon {
    color: var(--color-text);
    background: rgba(255, 57, 127, 0.22);
    transform: translateX(0.25rem);
  }

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__nav:hover {
    color: var(--color-text);
    background: rgba(255, 57, 127, 0.2);
    box-shadow:
      0 0 0.4rem currentColor,
      0 0 1.1rem currentColor;
  }

.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__more:hover {
    color: var(--color-text);
    background: rgba(255, 57, 127, 0.22);
    box-shadow:
      0 0 0.45rem rgba(255, 38, 126, 0.95),
      0 0 1.3rem rgba(255, 38, 126, 0.64),
      inset 0 0 1rem rgba(255, 36, 112, 0.2);
    transform: translateY(-0.125rem);
  }

  .section--gallery__more:hover
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__more-arrow {
    transform: translateX(0.25rem);
  }
}

/* ============================================================
   フォーカス表示
============================================================ */

.section--gallery__nav:focus-visible,
.section--gallery__card:focus-visible,
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__more:focus-visible {
  outline: 0.125rem solid var(--gallery-color-blue);
  outline-offset: 0.25rem;
}


/* ============================================================
   動きを減らす設定
============================================================ */

@media (prefers-reduced-motion: reduce) {
  .section--gallery__card-media img,
  .section--gallery__card-overlay,
  .section--gallery__card-icon,
  .section--gallery__nav,
  .section--gallery__pagination .swiper-pagination-bullet,
  .section--gallery__more,
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__more-arrow {
    transition: none;
  }
}
/* ============================================================
   ご宿泊者の声セクション
============================================================ */

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice {
  --voice-color-pink: #ff8fbd;
  --voice-color-pink-strong: #ff397f;
  --voice-color-blue: #8fc9ff;
  --voice-color-card: #08040d;
  --voice-color-card-deep: #05030a;
  --voice-color-border: rgba(255, 143, 189, 0.88);
  --voice-color-border-muted: rgba(255, 143, 189, 0.32);
  --voice-color-text-muted: rgba(255, 255, 255, 0.76);

  position: relative;
  overflow: hidden;
  color: var(--color-text);
  background: var(--color-background-deep);
  isolation: isolate;
}

.section--voice,
.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice * {
  box-sizing: border-box;
}

.section--voice::before,
.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice::before {
  z-index: -2;
  background:
    radial-gradient(circle at 12% 30%, rgba(255, 22, 106, 0.18), transparent 28%),
    radial-gradient(circle at 88% 68%, rgba(34, 126, 255, 0.18), transparent 30%),
    var(--color-background-deep);
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice::after {
  z-index: -1;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.28), rgba(2, 1, 7, 0.92));
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__inner {
  position: relative;
  padding-block: var(--section-padding-y);
}

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

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

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__eyebrow {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 13.75rem;
  margin-bottom: var(--heading-eyebrow-gap);
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__eyebrow-text {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--color-text);
  font-size: 1.875rem;
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-shadow:
    0 0 0.1875rem #ffffff,
    0 0 0.5rem var(--voice-color-pink),
    0 0 0.9375rem var(--voice-color-pink-strong),
    0 0 1.5rem var(--voice-color-pink-strong);
  transform: rotate(-2deg);
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__ray {
  position: absolute;
  display: block;
  width: 1.75rem;
  height: 0.125rem;
  border-radius: var(--radius-pill);
  background: currentColor;
  box-shadow:
    0 0 0.25rem currentColor,
    0 0 0.5625rem currentColor;
}

/* 左側 */

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__ray--left-1 {
  top: 30%;
  left: 0;
  color: var(--voice-color-blue);
  transform: rotate(25deg);
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__ray--left-2 {
  top: 50%;
  left: -0.125rem;
  color: var(--voice-color-pink-strong);
  transform: rotate(10deg);
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__ray--left-3 {
  top: 70%;
  left: 0;
  color: var(--voice-color-blue);
  transform: rotate(-3deg);
}

/* 右側 */

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__ray--right-1 {
  top: 30%;
  right: 0;
  color: var(--voice-color-pink-strong);
  transform: rotate(-35deg);
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__ray--right-2 {
  top: 50%;
  right: -0.125rem;
  color: var(--voice-color-blue);
  transform: rotate(-12deg);
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__ray--right-3 {
  top: 70%;
  right: 0;
  color: var(--voice-color-blue);
  transform: rotate(4deg);
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__title {
  margin: 0 0 var(--heading-lead-gap);
  color: var(--color-text);
  text-align: center;
  letter-spacing: 0.02em;
  text-shadow:
    -0.08em 0 0.35rem rgba(255, 37, 107, 0.95),
    0.08em 0 0.35rem rgba(35, 177, 255, 0.95);
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__intro {
  max-width: 40em;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.94);
  font-size: 0.875rem;
  line-height: 1.75;
  text-align: center;
  white-space: pre-line;
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__intro p {margin: 0}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__intro p + p {margin-top: var(--space-xs)}

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

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__slider-area {
  position: relative;
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__slider {
  position: relative;
  overflow: hidden;
  text-align: left;
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__list {
  align-items: stretch;
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__slide {
  box-sizing: border-box;
  height: auto;
}

/* ============================================================
   ご宿泊者の声カード
============================================================ */

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__card {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  border: 0.1rem solid var(--voice-color-border);
  border-radius: var(--radius-medium);
  background: var(--voice-color-card-deep);
  color: inherit;
  box-shadow:
    0 0 0.35rem rgba(255, 38, 126, 0.8),
    0 0 1rem rgba(255, 38, 126, 0.4),
    inset 0 0 1rem rgba(255, 36, 112, 0.1);
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__image {
  position: relative;
  overflow: hidden;
  background: var(--voice-color-card);
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__image::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(5, 3, 10, 0) 55%, rgba(5, 3, 10, 0.58) 100%);
  content: "";
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__image img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: center;
  transition:
    transform 0.35s ease,
    opacity 0.35s ease;
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: var(--card-padding);
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__card-title {
  margin: 0;
  color: var(--color-text);
  font-size: 1.125rem;
  line-height: 1.55;
  letter-spacing: 0.04em;
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__card-line {
  display: block;
  width: 3rem;
  height: 0.125rem;
  margin-top: var(--space-xs);
  border-radius: var(--radius-pill);
  background: linear-gradient(90deg, var(--voice-color-pink), var(--voice-color-blue));
  box-shadow:
    0 0 0.3rem rgba(255, 57, 127, 0.7),
    0 0 0.65rem rgba(61, 153, 255, 0.45);
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__card-text {
  margin: var(--content-item-gap) 0 0;
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.875rem;
  line-height: 1.75;
  white-space: pre-line;
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__profile {
  margin: auto 0 0;
  padding-top: var(--content-item-gap);
  color: var(--voice-color-pink);
  font-size: 0.75rem;
  line-height: 1.7;
  text-align: right;
}

.section--voice__card-title:empty,
.section--voice__card-text:empty,
.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__profile:empty {
  display: none;
}

/* ============================================================
   左右ナビゲーション
============================================================ */

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__nav {
  position: absolute;
  top: 50%;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  padding: 0;
  border: 0.1rem solid currentColor;
  border-radius: var(--radius-pill);
  background: rgba(5, 3, 10, 0.92);
  color: var(--voice-color-pink);
  cursor: pointer;
  box-shadow:
    0 0 0.35rem currentColor,
    0 0 0.9rem rgba(255, 38, 126, 0.52);
  transform: translateY(-50%);
  transition:
    color 0.25s ease,
    background-color 0.25s ease,
    box-shadow 0.25s ease;
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__nav--prev {
  left: -1rem;
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__nav--next {
  right: -1rem;
  color: var(--voice-color-blue);
  box-shadow:
    0 0 0.35rem currentColor,
    0 0 0.9rem rgba(61, 153, 255, 0.52);
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__nav-icon {
  display: block;
  font-size: 2rem;
  line-height: 0.8;
  transform: translateY(-0.2rem);
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__nav::after {
  content: none;
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__nav.swiper-button-disabled {
  opacity: 0.35;
  cursor: default;
}

/* ============================================================
   ページネーション
============================================================ */

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__pagination {
  position: static;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  margin-top: var(--content-item-gap);
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__pagination .swiper-pagination-bullet {
  width: 0.5rem;
  height: 0.5rem;
  margin: 0;
  border: 0;
  border-radius: var(--radius-pill);
  background: rgba(255, 255, 255, 0.34);
  opacity: 1;
  transition:
    width 0.25s ease,
    background-color 0.25s ease,
    box-shadow 0.25s ease;
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__pagination .swiper-pagination-bullet-active {
  width: 1.75rem;
  background: var(--voice-color-pink);
  box-shadow:
    0 0 0.3rem var(--voice-color-pink),
    0 0 0.75rem rgba(255, 38, 126, 0.8);
}

/* ============================================================
   フッター
============================================================ */

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__footer {
  max-width: 40em;
  margin: var(--heading-content-gap) auto 0;
  text-align: center;
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__closing {
  margin: 0;
  color: rgba(255, 255, 255, 0.94);
  font-size: 0.875rem;
  line-height: 1.75;
  white-space: pre-line;
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__footer-line {
  display: block;
  width: 4rem;
  height: 0.125rem;
  margin: var(--content-item-gap) auto;
  border-radius: var(--radius-pill);
  background: linear-gradient(90deg, var(--voice-color-pink), var(--voice-color-blue));
  box-shadow:
    0 0 0.3rem rgba(255, 57, 127, 0.7),
    0 0 0.65rem rgba(61, 153, 255, 0.45);
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__note {
  margin: 0;
  color: var(--voice-color-text-muted);
  font-size: 0.75rem;
  line-height: 1.7;
  white-space: pre-line;
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__note:empty {
  display: none;
}

/* ============================================================
   hover
============================================================ */

@media (hover: hover) {
.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__card:hover .section--voice__image img {
    opacity: 0.88;
    transform: scale(1.035);
  }

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__nav:hover {
    color: var(--color-text);
    background: rgba(255, 57, 127, 0.2);
    box-shadow:
      0 0 0.4rem currentColor,
      0 0 1.1rem currentColor;
  }
}

/* ============================================================
   フォーカス表示
============================================================ */

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__nav:focus-visible {
  outline: 0.125rem solid var(--voice-color-blue);
  outline-offset: 0.25rem;
}

/* ============================================================
   動きを減らす設定
============================================================ */

@media (prefers-reduced-motion: reduce) {
  .section--voice__image img,
  .section--voice__nav,
.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__pagination .swiper-pagination-bullet {
    transition: none;
  }
}
/*--mobile--*/
/* ============================================================
   ご宿泊者の声セクション
============================================================ */

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice {
  --voice-color-pink: #ff8fbd;
  --voice-color-pink-strong: #ff397f;
  --voice-color-blue: #8fc9ff;
  --voice-color-card: #08040d;
  --voice-color-card-deep: #05030a;
  --voice-color-border: rgba(255, 143, 189, 0.88);
  --voice-color-border-muted: rgba(255, 143, 189, 0.32);
  --voice-color-text-muted: rgba(255, 255, 255, 0.76);

  position: relative;
  overflow: hidden;
  color: var(--color-text);
  background: var(--color-background-deep);
  isolation: isolate;
}

.section--voice,
.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice * {
  box-sizing: border-box;
}

.section--voice::before,
.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice::before {
  z-index: -2;
  background:
    radial-gradient(circle at 12% 30%, rgba(255, 22, 106, 0.18), transparent 28%),
    radial-gradient(circle at 88% 68%, rgba(34, 126, 255, 0.18), transparent 30%),
    var(--color-background-deep);
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice::after {
  z-index: -1;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.28), rgba(2, 1, 7, 0.92));
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__inner {
  position: relative;
  padding-block: var(--section-padding-y);
}

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

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

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__eyebrow {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 13.75rem;
  margin-bottom: var(--heading-eyebrow-gap);
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__eyebrow-text {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--color-text);
  font-size: 1.875rem;
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-shadow:
    0 0 0.1875rem #ffffff,
    0 0 0.5rem var(--voice-color-pink),
    0 0 0.9375rem var(--voice-color-pink-strong),
    0 0 1.5rem var(--voice-color-pink-strong);
  transform: rotate(-2deg);
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__ray {
  position: absolute;
  display: block;
  width: 1.75rem;
  height: 0.125rem;
  border-radius: var(--radius-pill);
  background: currentColor;
  box-shadow:
    0 0 0.25rem currentColor,
    0 0 0.5625rem currentColor;
}

/* 左側 */

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__ray--left-1 {
  top: 30%;
  left: 0;
  color: var(--voice-color-blue);
  transform: rotate(25deg);
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__ray--left-2 {
  top: 50%;
  left: -0.125rem;
  color: var(--voice-color-pink-strong);
  transform: rotate(10deg);
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__ray--left-3 {
  top: 70%;
  left: 0;
  color: var(--voice-color-blue);
  transform: rotate(-3deg);
}

/* 右側 */

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__ray--right-1 {
  top: 30%;
  right: 0;
  color: var(--voice-color-pink-strong);
  transform: rotate(-35deg);
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__ray--right-2 {
  top: 50%;
  right: -0.125rem;
  color: var(--voice-color-blue);
  transform: rotate(-12deg);
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__ray--right-3 {
  top: 70%;
  right: 0;
  color: var(--voice-color-blue);
  transform: rotate(4deg);
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__title {
  margin: 0 0 var(--heading-lead-gap);
  color: var(--color-text);
  text-align: center;
  letter-spacing: 0.02em;
  text-shadow:
    -0.08em 0 0.35rem rgba(255, 37, 107, 0.95),
    0.08em 0 0.35rem rgba(35, 177, 255, 0.95);
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__intro {
  max-width: 40em;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.94);
  font-size: 0.875rem;
  line-height: 1.75;
  text-align: center;
  white-space: pre-line;
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__intro p {margin: 0}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__intro p + p {margin-top: var(--space-xs)}

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

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__slider-area {
  position: relative;
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__slider {
  position: relative;
  overflow: hidden;
  text-align: left;
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__list {
  align-items: stretch;
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__slide {
  box-sizing: border-box;
  height: auto;
}

/* ============================================================
   ご宿泊者の声カード
============================================================ */

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__card {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  border: 0.1rem solid var(--voice-color-border);
  border-radius: var(--radius-medium);
  background: var(--voice-color-card-deep);
  color: inherit;
  box-shadow:
    0 0 0.35rem rgba(255, 38, 126, 0.8),
    0 0 1rem rgba(255, 38, 126, 0.4),
    inset 0 0 1rem rgba(255, 36, 112, 0.1);
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__image {
  position: relative;
  overflow: hidden;
  background: var(--voice-color-card);
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__image::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(5, 3, 10, 0) 55%, rgba(5, 3, 10, 0.58) 100%);
  content: "";
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__image img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: center;
  transition:
    transform 0.35s ease,
    opacity 0.35s ease;
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: var(--card-padding);
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__card-title {
  margin: 0;
  color: var(--color-text);
  font-size: 1.125rem;
  line-height: 1.55;
  letter-spacing: 0.04em;
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__card-line {
  display: block;
  width: 3rem;
  height: 0.125rem;
  margin-top: var(--space-xs);
  border-radius: var(--radius-pill);
  background: linear-gradient(90deg, var(--voice-color-pink), var(--voice-color-blue));
  box-shadow:
    0 0 0.3rem rgba(255, 57, 127, 0.7),
    0 0 0.65rem rgba(61, 153, 255, 0.45);
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__card-text {
  margin: var(--content-item-gap) 0 0;
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.875rem;
  line-height: 1.75;
  white-space: pre-line;
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__profile {
  margin: auto 0 0;
  padding-top: var(--content-item-gap);
  color: var(--voice-color-pink);
  font-size: 0.75rem;
  line-height: 1.7;
  text-align: right;
}

.section--voice__card-title:empty,
.section--voice__card-text:empty,
.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__profile:empty {
  display: none;
}

/* ============================================================
   左右ナビゲーション
============================================================ */

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__nav {
  position: absolute;
  top: 50%;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  padding: 0;
  border: 0.1rem solid currentColor;
  border-radius: var(--radius-pill);
  background: rgba(5, 3, 10, 0.92);
  color: var(--voice-color-pink);
  cursor: pointer;
  box-shadow:
    0 0 0.35rem currentColor,
    0 0 0.9rem rgba(255, 38, 126, 0.52);
  transform: translateY(-50%);
  transition:
    color 0.25s ease,
    background-color 0.25s ease,
    box-shadow 0.25s ease;
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__nav--prev {
  left: -1rem;
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__nav--next {
  right: -1rem;
  color: var(--voice-color-blue);
  box-shadow:
    0 0 0.35rem currentColor,
    0 0 0.9rem rgba(61, 153, 255, 0.52);
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__nav-icon {
  display: block;
  font-size: 2rem;
  line-height: 0.8;
  transform: translateY(-0.2rem);
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__nav::after {
  content: none;
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__nav.swiper-button-disabled {
  opacity: 0.35;
  cursor: default;
}

/* ============================================================
   ページネーション
============================================================ */

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__pagination {
  position: static;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  margin-top: var(--content-item-gap);
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__pagination .swiper-pagination-bullet {
  width: 0.5rem;
  height: 0.5rem;
  margin: 0;
  border: 0;
  border-radius: var(--radius-pill);
  background: rgba(255, 255, 255, 0.34);
  opacity: 1;
  transition:
    width 0.25s ease,
    background-color 0.25s ease,
    box-shadow 0.25s ease;
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__pagination .swiper-pagination-bullet-active {
  width: 1.75rem;
  background: var(--voice-color-pink);
  box-shadow:
    0 0 0.3rem var(--voice-color-pink),
    0 0 0.75rem rgba(255, 38, 126, 0.8);
}

/* ============================================================
   フッター
============================================================ */

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__footer {
  max-width: 40em;
  margin: var(--heading-content-gap) auto 0;
  text-align: center;
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__closing {
  margin: 0;
  color: rgba(255, 255, 255, 0.94);
  font-size: 0.875rem;
  line-height: 1.75;
  white-space: pre-line;
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__footer-line {
  display: block;
  width: 4rem;
  height: 0.125rem;
  margin: var(--content-item-gap) auto;
  border-radius: var(--radius-pill);
  background: linear-gradient(90deg, var(--voice-color-pink), var(--voice-color-blue));
  box-shadow:
    0 0 0.3rem rgba(255, 57, 127, 0.7),
    0 0 0.65rem rgba(61, 153, 255, 0.45);
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__note {
  margin: 0;
  color: var(--voice-color-text-muted);
  font-size: 0.75rem;
  line-height: 1.7;
  white-space: pre-line;
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__note:empty {
  display: none;
}

/* ============================================================
   hover
============================================================ */

@media (hover: hover) {
.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__card:hover .section--voice__image img {
    opacity: 0.88;
    transform: scale(1.035);
  }

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__nav:hover {
    color: var(--color-text);
    background: rgba(255, 57, 127, 0.2);
    box-shadow:
      0 0 0.4rem currentColor,
      0 0 1.1rem currentColor;
  }
}

/* ============================================================
   フォーカス表示
============================================================ */

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__nav:focus-visible {
  outline: 0.125rem solid var(--voice-color-blue);
  outline-offset: 0.25rem;
}

/* ============================================================
   動きを減らす設定
============================================================ */

@media (prefers-reduced-motion: reduce) {
  .section--voice__image img,
  .section--voice__nav,
.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__pagination .swiper-pagination-bullet {
    transition: none;
  }
}
.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq {
  position: relative;
  width: 100%;
  overflow: hidden;
  color: var(--color-text);
  background:
    radial-gradient(
      circle at 50% 12%,
      rgba(255, 0, 115, 0.11),
      transparent 24%
    ),
    #000000;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__inner {
  padding-block: var(--section-padding-y);
  box-sizing: border-box;
}

/* ==============================
   ヘッダー
============================== */

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

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__eyebrow-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  margin-bottom: var(--heading-eyebrow-gap);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__eyebrow {
  margin: 0;
  color: var(--color-text);
  font-size: 30px;
  letter-spacing: 0.02em;
  text-shadow:
    0 0 3px #ffffff,
    0 0 8px #ff368d,
    0 0 15px #ff006e,
    0 0 24px #ff006e;
  transform: rotate(-2deg);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__ray {
  position: absolute;
  display: block;
  width: 28px;
  height: 2px;
  border-radius: var(--radius-pill);
  background: currentColor;
  box-shadow:
    0 0 4px currentColor,
    0 0 9px currentColor;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__ray--left-1 {
  top: 30%;
  left: 0;
  color: #6fa5ff;
  transform: rotate(25deg);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__ray--left-2 {
  top: 50%;
  left: -2px;
  color: #ff397f;
  transform: rotate(10deg);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__ray--left-3 {
  top: 70%;
  left: 0;
  color: #6fa5ff;
  transform: rotate(-3deg);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__ray--right-1 {
  top: 30%;
  right: 0;
  color: #ff397f;
  transform: rotate(-35deg);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__ray--right-2 {
  top: 50%;
  right: -2px;
  color: #6fa5ff;
  transform: rotate(-12deg);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__ray--right-3 {
  top: 70%;
  right: 0;
  color: #6fa5ff;
  transform: rotate(4deg);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__title {
  margin-bottom: var(--space-xs);
  color: var(--color-text);
  letter-spacing: 0.16em;
  text-shadow:
    0 0 3px #ffffff,
    0 0 8px #ff4a94,
    0 0 16px #ff006e,
    0 0 27px #ff006e;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__title-line {
  width: 62%;
  height: 2px;
  margin: 0 auto var(--heading-lead-gap);
  background: linear-gradient(
    90deg,
    transparent,
    #ff9cc4 12%,
    #ffffff 50%,
    #ff9cc4 88%,
    transparent
  );
  box-shadow:
    0 0 5px #ff4c94,
    0 0 10px rgba(255, 0, 110, 0.8);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__lead {
  margin: 0 auto;
  color: var(--color-text);
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: 0.05em;
  white-space: pre-line;
}

/* ==============================
   FAQ一覧
============================== */

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__list {
  display: grid;
  gap: var(--space-md);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__item {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.92);
  border-radius: var(--radius-medium);
  background: linear-gradient(
    90deg,
    rgba(255, 0, 110, 0.08),
    rgba(0, 0, 0, 0.92) 30%,
    rgba(0, 0, 0, 0.96)
  );
  box-shadow:
    inset 0 0 7px rgba(255, 0, 110, 0.2),
    0 0 5px rgba(255, 255, 255, 0.45),
    0 0 10px rgba(255, 0, 110, 0.35);
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__item[open] {
  border-color: #ff9cc4;
  box-shadow:
    inset 0 0 9px rgba(255, 0, 110, 0.24),
    0 0 6px rgba(255, 255, 255, 0.58),
    0 0 14px rgba(255, 0, 110, 0.5);
}

/* ==============================
   質問
============================== */

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__question {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  min-height: 72px;
  padding: 14px 18px;
  color: var(--color-text);
  cursor: pointer;
  list-style: none;
  box-sizing: border-box;
}

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

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

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__question:hover {
  background: rgba(255, 0, 110, 0.08);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__badge {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  font-size: 18px;
  line-height: 1;
  box-sizing: border-box;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__badge--question {
  color: var(--color-text);
  border: 1px solid #ffffff;
  background: linear-gradient(180deg, #ff0877, #ed0063);
  box-shadow:
    inset 0 0 7px rgba(255, 255, 255, 0.25),
    0 0 5px rgba(255, 255, 255, 0.7),
    0 0 10px rgba(255, 0, 110, 0.72);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__question-text {
  flex: 1 1 auto;
  min-width: 0;
  color: var(--color-text);
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0.025em;
  white-space: pre-line;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__toggle {
  position: relative;
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  color: #ff5ba4;
}

.section--faq__toggle::before,
.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__toggle::after {
  position: absolute;
  top: 50%;
  left: 50%;
  content: "";
  border-radius: var(--radius-pill);
  background: currentColor;
  box-shadow:
    0 0 4px rgba(255, 255, 255, 0.65),
    0 0 8px #ff006e;
  transform: translate(-50%, -50%);
  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__toggle::before {
  width: 18px;
  height: 2px;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__toggle::after {
  width: 2px;
  height: 18px;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__item[open] .section--faq__toggle::after {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(90deg);
}

/* ==============================
   回答
============================== */

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__answer {
  display: flex;
  align-items: flex-start;
  gap: var(--space-md);
  padding: 16px 18px 20px;
  border-top: 1px solid rgba(255, 0, 110, 0.62);
  background: rgba(255, 0, 110, 0.04);
  box-sizing: border-box;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__badge--answer {
  color: var(--color-pink);
  border: 1px solid rgba(255, 91, 164, 0.9);
  background: #090909;
  box-shadow:
    inset 0 0 7px rgba(255, 0, 110, 0.18),
    0 0 7px rgba(255, 0, 110, 0.42);
  text-shadow:
    0 0 3px rgba(255, 255, 255, 0.65),
    0 0 8px #ff006e;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__answer-text {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  padding-top: 5px;
  color: var(--color-text-soft);
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: 0.025em;
  white-space: pre-line;
}
/*--mobile--*/
.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq {
  position: relative;
  width: 100%;
  overflow: hidden;
  color: var(--color-text);
  background:
    radial-gradient(
      circle at 50% 12%,
      rgba(255, 0, 115, 0.11),
      transparent 24%
    ),
    #000000;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__inner {
  padding-block: var(--section-padding-y);
  box-sizing: border-box;
}

/* ==============================
   ヘッダー
============================== */

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

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__eyebrow-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  margin-bottom: var(--heading-eyebrow-gap);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__eyebrow {
  margin: 0;
  color: var(--color-text);
  font-size: 30px;
  letter-spacing: 0.02em;
  text-shadow:
    0 0 3px #ffffff,
    0 0 8px #ff368d,
    0 0 15px #ff006e,
    0 0 24px #ff006e;
  transform: rotate(-2deg);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__ray {
  position: absolute;
  display: block;
  width: 28px;
  height: 2px;
  border-radius: var(--radius-pill);
  background: currentColor;
  box-shadow:
    0 0 4px currentColor,
    0 0 9px currentColor;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__ray--left-1 {
  top: 30%;
  left: 0;
  color: #6fa5ff;
  transform: rotate(25deg);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__ray--left-2 {
  top: 50%;
  left: -2px;
  color: #ff397f;
  transform: rotate(10deg);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__ray--left-3 {
  top: 70%;
  left: 0;
  color: #6fa5ff;
  transform: rotate(-3deg);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__ray--right-1 {
  top: 30%;
  right: 0;
  color: #ff397f;
  transform: rotate(-35deg);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__ray--right-2 {
  top: 50%;
  right: -2px;
  color: #6fa5ff;
  transform: rotate(-12deg);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__ray--right-3 {
  top: 70%;
  right: 0;
  color: #6fa5ff;
  transform: rotate(4deg);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__title {
  margin-bottom: var(--space-xs);
  color: var(--color-text);
  letter-spacing: 0.16em;
  text-shadow:
    0 0 3px #ffffff,
    0 0 8px #ff4a94,
    0 0 16px #ff006e,
    0 0 27px #ff006e;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__title-line {
  width: 62%;
  height: 2px;
  margin: 0 auto var(--heading-lead-gap);
  background: linear-gradient(
    90deg,
    transparent,
    #ff9cc4 12%,
    #ffffff 50%,
    #ff9cc4 88%,
    transparent
  );
  box-shadow:
    0 0 5px #ff4c94,
    0 0 10px rgba(255, 0, 110, 0.8);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__lead {
  margin: 0 auto;
  color: var(--color-text);
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: 0.05em;
  white-space: pre-line;
}

/* ==============================
   FAQ一覧
============================== */

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__list {
  display: grid;
  gap: var(--space-md);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__item {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.92);
  border-radius: var(--radius-medium);
  background: linear-gradient(
    90deg,
    rgba(255, 0, 110, 0.08),
    rgba(0, 0, 0, 0.92) 30%,
    rgba(0, 0, 0, 0.96)
  );
  box-shadow:
    inset 0 0 7px rgba(255, 0, 110, 0.2),
    0 0 5px rgba(255, 255, 255, 0.45),
    0 0 10px rgba(255, 0, 110, 0.35);
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__item[open] {
  border-color: #ff9cc4;
  box-shadow:
    inset 0 0 9px rgba(255, 0, 110, 0.24),
    0 0 6px rgba(255, 255, 255, 0.58),
    0 0 14px rgba(255, 0, 110, 0.5);
}

/* ==============================
   質問
============================== */

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__question {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  min-height: 72px;
  padding: 14px 18px;
  color: var(--color-text);
  cursor: pointer;
  list-style: none;
  box-sizing: border-box;
}

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

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

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__question:hover {
  background: rgba(255, 0, 110, 0.08);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__badge {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  font-size: 18px;
  line-height: 1;
  box-sizing: border-box;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__badge--question {
  color: var(--color-text);
  border: 1px solid #ffffff;
  background: linear-gradient(180deg, #ff0877, #ed0063);
  box-shadow:
    inset 0 0 7px rgba(255, 255, 255, 0.25),
    0 0 5px rgba(255, 255, 255, 0.7),
    0 0 10px rgba(255, 0, 110, 0.72);
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__question-text {
  flex: 1 1 auto;
  min-width: 0;
  color: var(--color-text);
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0.025em;
  white-space: pre-line;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__toggle {
  position: relative;
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  color: #ff5ba4;
}

.section--faq__toggle::before,
.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__toggle::after {
  position: absolute;
  top: 50%;
  left: 50%;
  content: "";
  border-radius: var(--radius-pill);
  background: currentColor;
  box-shadow:
    0 0 4px rgba(255, 255, 255, 0.65),
    0 0 8px #ff006e;
  transform: translate(-50%, -50%);
  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__toggle::before {
  width: 18px;
  height: 2px;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__toggle::after {
  width: 2px;
  height: 18px;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__item[open] .section--faq__toggle::after {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(90deg);
}

/* ==============================
   回答
============================== */

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__answer {
  display: flex;
  align-items: flex-start;
  gap: var(--space-md);
  padding: 16px 18px 20px;
  border-top: 1px solid rgba(255, 0, 110, 0.62);
  background: rgba(255, 0, 110, 0.04);
  box-sizing: border-box;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__badge--answer {
  color: var(--color-pink);
  border: 1px solid rgba(255, 91, 164, 0.9);
  background: #090909;
  box-shadow:
    inset 0 0 7px rgba(255, 0, 110, 0.18),
    0 0 7px rgba(255, 0, 110, 0.42);
  text-shadow:
    0 0 3px rgba(255, 255, 255, 0.65),
    0 0 8px #ff006e;
}

.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__answer-text {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  padding-top: 5px;
  color: var(--color-text-soft);
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: 0.025em;
  white-space: pre-line;
}
.tpl-scope-cta-footer-mobile .section--contact-footer {
  position: relative;
  width: 100%;
  overflow: hidden;
  color: var(--color-text);
  background:
    radial-gradient(
      circle at 50% 10%,
      rgba(255, 0, 115, 0.11),
      transparent 24%
    ),
    #000000;
}

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

.tpl-scope-cta-footer-mobile .section--contact-footer__inner {
  padding-block: var(--section-padding-y);
}

/* ==============================
   お問い合わせヘッダー
============================== */

.tpl-scope-cta-footer-mobile .section--contact-footer__header {
  position: relative;
  margin-bottom: var(--heading-content-gap);
  text-align: center;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__eyebrow-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  margin-bottom: var(--heading-eyebrow-gap);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__eyebrow {
  margin: 0;
  color: var(--color-text);
  font-size: 30px;
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-shadow:
    0 0 3px #ffffff,
    0 0 8px #ff368d,
    0 0 15px #ff006e,
    0 0 24px #ff006e;
  transform: rotate(-2deg);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__ray {
  position: absolute;
  display: block;
  width: 28px;
  height: 2px;
  border-radius: var(--radius-pill);
  background: currentColor;
  box-shadow:
    0 0 4px currentColor,
    0 0 9px currentColor;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__ray--left-1 {
  top: 30%;
  left: 0;
  color: #6fa5ff;
  transform: rotate(25deg);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__ray--left-2 {
  top: 50%;
  left: -2px;
  color: #ff397f;
  transform: rotate(10deg);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__ray--left-3 {
  top: 70%;
  left: 0;
  color: #6fa5ff;
  transform: rotate(-3deg);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__ray--right-1 {
  top: 30%;
  right: 0;
  color: #ff397f;
  transform: rotate(-35deg);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__ray--right-2 {
  top: 50%;
  right: -2px;
  color: #6fa5ff;
  transform: rotate(-12deg);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__ray--right-3 {
  top: 70%;
  right: 0;
  color: #6fa5ff;
  transform: rotate(4deg);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__title {
  margin: 0 0 var(--space-xs);
  color: var(--color-text);
  letter-spacing: 0.16em;
  text-shadow:
    0 0 3px #ffffff,
    0 0 8px #ff4a94,
    0 0 16px #ff006e,
    0 0 27px #ff006e;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__title-line {
  width: 62%;
  height: 2px;
  margin: 0 auto var(--heading-lead-gap);
  background: linear-gradient(
    90deg,
    transparent,
    #ff9cc4 12%,
    #ffffff 50%,
    #ff9cc4 88%,
    transparent
  );
  box-shadow:
    0 0 5px #ff4c94,
    0 0 10px rgba(255, 0, 110, 0.8);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__lead {
  margin: 0 auto;
  color: var(--color-text);
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: 0.05em;
  white-space: pre-line;
}

/* ==============================
   電話案内
============================== */

.tpl-scope-cta-footer-mobile .section--contact-footer__phone {
  position: relative;
  margin-top: var(--content-item-gap);
  padding: 24px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.92);
  border-radius: var(--radius-large);
  background: linear-gradient(
    135deg,
    rgba(255, 0, 110, 0.12),
    rgba(0, 0, 0, 0.96) 42%,
    rgba(0, 0, 0, 0.98)
  );
  box-shadow:
    inset 0 0 12px rgba(255, 0, 110, 0.18),
    0 0 5px rgba(255, 255, 255, 0.45),
    0 0 13px rgba(255, 0, 110, 0.42);
}

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

.tpl-scope-cta-footer-mobile .section--contact-footer__phone-head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-md);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__phone-icon {
  display: grid;
  flex: 0 0 auto;
  width: 64px;
  height: 64px;
  place-items: center;
  color: var(--color-text);
  border: 2px solid #ffffff;
  border-radius: 50%;
  background: linear-gradient(180deg, #ff0877, #ed0063);
  box-shadow:
    inset 0 0 9px rgba(255, 255, 255, 0.28),
    0 0 5px #ffffff,
    0 0 14px rgba(255, 0, 114, 0.78);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__phone-icon svg {
  display: block;
  width: 30px;
  height: 30px;
  fill: currentColor;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__phone-body {
  min-width: 0;
  text-align: center;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__phone-label {
  margin: 0;
  color: var(--color-text);
  font-size: 14px;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__phone-number {
  display: block;
  margin-top: 4px;
  color: var(--color-pink);
  font-size: clamp(26px, 6.5vw, 36px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0.03em;
  text-decoration: none;
  white-space: nowrap;
  text-shadow:
    0 0 3px rgba(255, 255, 255, 0.65),
    0 0 8px #ff006e,
    0 0 15px rgba(255, 0, 110, 0.78);
  transition:
    opacity 0.25s ease,
    text-shadow 0.25s ease;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__phone-number:hover {
  opacity: 0.86;
  text-decoration: none;
  text-shadow:
    0 0 4px #ffffff,
    0 0 10px #ff006e,
    0 0 20px #ff006e;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__phone-hours {
  margin: var(--space-xs) 0 0;
  color: var(--color-text-soft);
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.03em;
  white-space: pre-line;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__phone-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-md);
  width: calc(100% - 38px);
  min-height: 64px;
  margin: var(--button-margin-top) auto 0;
  padding: 12px 24px;
  color: var(--color-text);
  text-decoration: none;
  border: 2px solid #ffffff;
  border-radius: var(--radius-pill);
  background: linear-gradient(180deg, #ff0877, #ed0063);
  box-shadow:
    inset 0 0 12px rgba(255, 255, 255, 0.25),
    0 0 7px #ffffff,
    0 0 18px #ff0072,
    0 0 28px rgba(255, 0, 114, 0.7);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__phone-button:hover {
  color: var(--color-text);
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow:
    inset 0 0 12px rgba(255, 255, 255, 0.32),
    0 0 9px #ffffff,
    0 0 22px #ff0072,
    0 0 34px rgba(255, 0, 114, 0.78);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__button-icon {
  display: block;
  flex: 0 0 auto;
  width: 25px;
  height: 25px;
  fill: currentColor;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__phone-button-label {
  flex: 1 1 auto;
  font-size: 18px;
  text-align: center;
  letter-spacing: 0.04em;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__arrow-icon {
  display: block;
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* ==============================
   予約リンク
============================== */

.tpl-scope-cta-footer-mobile .section--contact-footer__reserve-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-md);
  margin: var(--content-item-gap) 0 0;
  padding: 0;
  list-style: none;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__reserve-item {
  min-width: 0;
  list-style: none;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__reserve-link {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  min-height: 82px;
  padding: 14px 16px;
  color: var(--color-text);
  text-decoration: none;
  border: 1px solid rgba(255, 255, 255, 0.92);
  border-radius: var(--radius-medium);
  background: linear-gradient(
    110deg,
    rgba(255, 0, 110, 0.11),
    rgba(0, 0, 0, 0.94) 38%,
    rgba(0, 0, 0, 0.98)
  );
  box-shadow:
    inset 0 0 7px rgba(255, 0, 110, 0.18),
    0 0 5px rgba(255, 255, 255, 0.35),
    0 0 10px rgba(255, 0, 110, 0.3);
  transition:
    border-color 0.25s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__reserve-link:hover {
  color: var(--color-text);
  text-decoration: none;
  border-color: var(--color-pink);
  transform: translateY(-2px);
  box-shadow:
    inset 0 0 10px rgba(255, 0, 110, 0.25),
    0 0 6px rgba(255, 255, 255, 0.55),
    0 0 16px rgba(255, 0, 110, 0.55);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__reserve-body {
  flex: 1 1 auto;
  min-width: 0;
  text-align: left;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__reserve-title {
  display: block;
  color: var(--color-text);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__reserve-sub {
  display: block;
  margin-top: 3px;
  color: var(--color-text-soft);
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.025em;
  white-space: pre-line;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__external-icon {
  display: block;
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  color: var(--color-pink);
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 4px rgba(255, 0, 110, 0.8));
}

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

.tpl-scope-cta-footer-mobile .section--contact-footer__sns {
  margin-top: var(--section-padding-y);
  padding: 28px 20px;
  text-align: center;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: var(--radius-large);
  background: linear-gradient(
    135deg,
    rgba(255, 0, 110, 0.1),
    rgba(12, 12, 12, 0.96) 45%,
    rgba(0, 0, 0, 0.98)
  );
  box-shadow:
    inset 0 0 10px rgba(255, 0, 110, 0.16),
    0 0 5px rgba(255, 255, 255, 0.3),
    0 0 12px rgba(255, 0, 110, 0.28);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__sns-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-md);
  margin: 0;
  color: var(--color-text);
  font-size: 20px;
  line-height: 1.4;
  letter-spacing: 0.12em;
  text-shadow:
    0 0 3px rgba(255, 255, 255, 0.75),
    0 0 8px rgba(255, 0, 110, 0.85);
}

.section--contact-footer__sns-title::before,
.tpl-scope-cta-footer-mobile .section--contact-footer__sns-title::after {
  content: "";
  flex: 1 1 auto;
  max-width: 120px;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    #ff9cc4,
    #ffffff
  );
  box-shadow: 0 0 7px rgba(255, 0, 110, 0.72);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__sns-title::after {
  transform: scaleX(-1);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__sns-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-md);
  margin: var(--content-item-gap) 0 0;
  padding: 0;
  list-style: none;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__sns-list-item {
  flex: 0 0 auto;
  list-style: none;
}

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

.tpl-scope-cta-footer-mobile .section--contact-footer__sns-link {
  display: block;
  color: var(--color-text);
  text-decoration: none;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__sns-link:hover {
  color: var(--color-text);
  text-decoration: none;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__sns-icon {
  display: grid;
  width: 54px;
  height: 54px;
  place-items: center;
  overflow: hidden;
  color: var(--color-text);
  border: 2px solid #ffffff;
  border-radius: 50%;
  background: linear-gradient(180deg, #ff0877, #ed0063);
  box-shadow:
    inset 0 0 9px rgba(255, 255, 255, 0.25),
    0 0 5px #ffffff,
    0 0 13px rgba(255, 0, 114, 0.72);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.section--contact-footer__sns-link:hover
.tpl-scope-cta-footer-mobile .section--contact-footer__sns-icon {
  transform: translateY(-3px);
  box-shadow:
    inset 0 0 11px rgba(255, 255, 255, 0.32),
    0 0 7px #ffffff,
    0 0 20px rgba(255, 0, 114, 0.88);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__sns-icon svg {
  display: block;
  width: 27px;
  height: 27px;
  fill: currentColor;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.section--contact-footer__sns-icon rect,
.tpl-scope-cta-footer-mobile .section--contact-footer__sns-icon circle {
  fill: none;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__sns-icon-line {
  fill: none;
  stroke: #ed0063;
  stroke-width: 1.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* ==============================
   フッター
============================== */

.tpl-scope-cta-footer-mobile .section--contact-footer__footer {
  position: relative;
  width: 100%;
  border-top: 1px solid rgba(255, 255, 255, 0.22);
  background:
    radial-gradient(
      circle at 50% 0,
      rgba(255, 0, 110, 0.16),
      transparent 34%
    ),
    #050505;
  box-shadow: 0 -4px 16px rgba(255, 0, 110, 0.16);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__footer-inner {
  padding-top: var(--content-item-gap);
  padding-bottom: 90px;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__footer-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  border-left: 1px solid rgba(255, 255, 255, 0.18);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__footer-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  min-height: 50px;
  padding: 12px 16px;
  color: var(--color-text);
  line-height: 1.5;
  letter-spacing: 0.035em;
  text-decoration: none;
  border-right: 1px solid rgba(255, 255, 255, 0.18);
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.025);
  transition:
    color 0.25s ease,
    background-color 0.25s ease;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__footer-link:hover {
  color: var(--color-pink);
  text-decoration: none;
  background: rgba(255, 0, 110, 0.1);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__footer-arrow {
  display: block;
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__copyright {
  margin: 28px 0 0;
  color: var(--color-text-soft);
  font-size: 12px;
  line-height: 1.6;
  text-align: center;
  letter-spacing: 0.03em;
  white-space: pre-line;
}
/*--mobile--*/
.tpl-scope-cta-footer-mobile .section--contact-footer {
  position: relative;
  width: 100%;
  overflow: hidden;
  color: var(--color-text);
  background:
    radial-gradient(
      circle at 50% 10%,
      rgba(255, 0, 115, 0.11),
      transparent 24%
    ),
    #000000;
}

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

.tpl-scope-cta-footer-mobile .section--contact-footer__inner {
  padding-block: var(--section-padding-y);
}

/* ==============================
   お問い合わせヘッダー
============================== */

.tpl-scope-cta-footer-mobile .section--contact-footer__header {
  position: relative;
  margin-bottom: var(--heading-content-gap);
  text-align: center;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__eyebrow-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  margin-bottom: var(--heading-eyebrow-gap);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__eyebrow {
  margin: 0;
  color: var(--color-text);
  font-size: 30px;
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-shadow:
    0 0 3px #ffffff,
    0 0 8px #ff368d,
    0 0 15px #ff006e,
    0 0 24px #ff006e;
  transform: rotate(-2deg);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__ray {
  position: absolute;
  display: block;
  width: 28px;
  height: 2px;
  border-radius: var(--radius-pill);
  background: currentColor;
  box-shadow:
    0 0 4px currentColor,
    0 0 9px currentColor;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__ray--left-1 {
  top: 30%;
  left: 0;
  color: #6fa5ff;
  transform: rotate(25deg);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__ray--left-2 {
  top: 50%;
  left: -2px;
  color: #ff397f;
  transform: rotate(10deg);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__ray--left-3 {
  top: 70%;
  left: 0;
  color: #6fa5ff;
  transform: rotate(-3deg);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__ray--right-1 {
  top: 30%;
  right: 0;
  color: #ff397f;
  transform: rotate(-35deg);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__ray--right-2 {
  top: 50%;
  right: -2px;
  color: #6fa5ff;
  transform: rotate(-12deg);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__ray--right-3 {
  top: 70%;
  right: 0;
  color: #6fa5ff;
  transform: rotate(4deg);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__title {
  margin: 0 0 var(--space-xs);
  color: var(--color-text);
  letter-spacing: 0.16em;
  text-shadow:
    0 0 3px #ffffff,
    0 0 8px #ff4a94,
    0 0 16px #ff006e,
    0 0 27px #ff006e;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__title-line {
  width: 62%;
  height: 2px;
  margin: 0 auto var(--heading-lead-gap);
  background: linear-gradient(
    90deg,
    transparent,
    #ff9cc4 12%,
    #ffffff 50%,
    #ff9cc4 88%,
    transparent
  );
  box-shadow:
    0 0 5px #ff4c94,
    0 0 10px rgba(255, 0, 110, 0.8);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__lead {
  margin: 0 auto;
  color: var(--color-text);
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: 0.05em;
  white-space: pre-line;
}

/* ==============================
   電話案内
============================== */

.tpl-scope-cta-footer-mobile .section--contact-footer__phone {
  position: relative;
  margin-top: var(--content-item-gap);
  padding: 24px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.92);
  border-radius: var(--radius-large);
  background: linear-gradient(
    135deg,
    rgba(255, 0, 110, 0.12),
    rgba(0, 0, 0, 0.96) 42%,
    rgba(0, 0, 0, 0.98)
  );
  box-shadow:
    inset 0 0 12px rgba(255, 0, 110, 0.18),
    0 0 5px rgba(255, 255, 255, 0.45),
    0 0 13px rgba(255, 0, 110, 0.42);
}

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

.tpl-scope-cta-footer-mobile .section--contact-footer__phone-head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-md);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__phone-icon {
  display: grid;
  flex: 0 0 auto;
  width: 64px;
  height: 64px;
  place-items: center;
  color: var(--color-text);
  border: 2px solid #ffffff;
  border-radius: 50%;
  background: linear-gradient(180deg, #ff0877, #ed0063);
  box-shadow:
    inset 0 0 9px rgba(255, 255, 255, 0.28),
    0 0 5px #ffffff,
    0 0 14px rgba(255, 0, 114, 0.78);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__phone-icon svg {
  display: block;
  width: 30px;
  height: 30px;
  fill: currentColor;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__phone-body {
  min-width: 0;
  text-align: center;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__phone-label {
  margin: 0;
  color: var(--color-text);
  font-size: 14px;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__phone-number {
  display: block;
  margin-top: 4px;
  color: var(--color-pink);
  font-size: clamp(26px, 6.5vw, 36px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0.03em;
  text-decoration: none;
  white-space: nowrap;
  text-shadow:
    0 0 3px rgba(255, 255, 255, 0.65),
    0 0 8px #ff006e,
    0 0 15px rgba(255, 0, 110, 0.78);
  transition:
    opacity 0.25s ease,
    text-shadow 0.25s ease;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__phone-number:hover {
  opacity: 0.86;
  text-decoration: none;
  text-shadow:
    0 0 4px #ffffff,
    0 0 10px #ff006e,
    0 0 20px #ff006e;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__phone-hours {
  margin: var(--space-xs) 0 0;
  color: var(--color-text-soft);
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.03em;
  white-space: pre-line;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__phone-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-md);
  width: calc(100% - 38px);
  min-height: 64px;
  margin: var(--button-margin-top) auto 0;
  padding: 12px 24px;
  color: var(--color-text);
  text-decoration: none;
  border: 2px solid #ffffff;
  border-radius: var(--radius-pill);
  background: linear-gradient(180deg, #ff0877, #ed0063);
  box-shadow:
    inset 0 0 12px rgba(255, 255, 255, 0.25),
    0 0 7px #ffffff,
    0 0 18px #ff0072,
    0 0 28px rgba(255, 0, 114, 0.7);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__phone-button:hover {
  color: var(--color-text);
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow:
    inset 0 0 12px rgba(255, 255, 255, 0.32),
    0 0 9px #ffffff,
    0 0 22px #ff0072,
    0 0 34px rgba(255, 0, 114, 0.78);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__button-icon {
  display: block;
  flex: 0 0 auto;
  width: 25px;
  height: 25px;
  fill: currentColor;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__phone-button-label {
  flex: 1 1 auto;
  font-size: 18px;
  text-align: center;
  letter-spacing: 0.04em;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__arrow-icon {
  display: block;
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* ==============================
   予約リンク
============================== */

.tpl-scope-cta-footer-mobile .section--contact-footer__reserve-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-md);
  margin: var(--content-item-gap) 0 0;
  padding: 0;
  list-style: none;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__reserve-item {
  min-width: 0;
  list-style: none;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__reserve-link {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  min-height: 82px;
  padding: 14px 16px;
  color: var(--color-text);
  text-decoration: none;
  border: 1px solid rgba(255, 255, 255, 0.92);
  border-radius: var(--radius-medium);
  background: linear-gradient(
    110deg,
    rgba(255, 0, 110, 0.11),
    rgba(0, 0, 0, 0.94) 38%,
    rgba(0, 0, 0, 0.98)
  );
  box-shadow:
    inset 0 0 7px rgba(255, 0, 110, 0.18),
    0 0 5px rgba(255, 255, 255, 0.35),
    0 0 10px rgba(255, 0, 110, 0.3);
  transition:
    border-color 0.25s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__reserve-link:hover {
  color: var(--color-text);
  text-decoration: none;
  border-color: var(--color-pink);
  transform: translateY(-2px);
  box-shadow:
    inset 0 0 10px rgba(255, 0, 110, 0.25),
    0 0 6px rgba(255, 255, 255, 0.55),
    0 0 16px rgba(255, 0, 110, 0.55);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__reserve-body {
  flex: 1 1 auto;
  min-width: 0;
  text-align: left;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__reserve-title {
  display: block;
  color: var(--color-text);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__reserve-sub {
  display: block;
  margin-top: 3px;
  color: var(--color-text-soft);
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.025em;
  white-space: pre-line;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__external-icon {
  display: block;
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  color: var(--color-pink);
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 4px rgba(255, 0, 110, 0.8));
}

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

.tpl-scope-cta-footer-mobile .section--contact-footer__sns {
  margin-top: var(--section-padding-y);
  padding: 28px 20px;
  text-align: center;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: var(--radius-large);
  background: linear-gradient(
    135deg,
    rgba(255, 0, 110, 0.1),
    rgba(12, 12, 12, 0.96) 45%,
    rgba(0, 0, 0, 0.98)
  );
  box-shadow:
    inset 0 0 10px rgba(255, 0, 110, 0.16),
    0 0 5px rgba(255, 255, 255, 0.3),
    0 0 12px rgba(255, 0, 110, 0.28);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__sns-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-md);
  margin: 0;
  color: var(--color-text);
  font-size: 20px;
  line-height: 1.4;
  letter-spacing: 0.12em;
  text-shadow:
    0 0 3px rgba(255, 255, 255, 0.75),
    0 0 8px rgba(255, 0, 110, 0.85);
}

.section--contact-footer__sns-title::before,
.tpl-scope-cta-footer-mobile .section--contact-footer__sns-title::after {
  content: "";
  flex: 1 1 auto;
  max-width: 120px;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    #ff9cc4,
    #ffffff
  );
  box-shadow: 0 0 7px rgba(255, 0, 110, 0.72);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__sns-title::after {
  transform: scaleX(-1);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__sns-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-md);
  margin: var(--content-item-gap) 0 0;
  padding: 0;
  list-style: none;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__sns-list-item {
  flex: 0 0 auto;
  list-style: none;
}

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

.tpl-scope-cta-footer-mobile .section--contact-footer__sns-link {
  display: block;
  color: var(--color-text);
  text-decoration: none;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__sns-link:hover {
  color: var(--color-text);
  text-decoration: none;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__sns-icon {
  display: grid;
  width: 54px;
  height: 54px;
  place-items: center;
  overflow: hidden;
  color: var(--color-text);
  border: 2px solid #ffffff;
  border-radius: 50%;
  background: linear-gradient(180deg, #ff0877, #ed0063);
  box-shadow:
    inset 0 0 9px rgba(255, 255, 255, 0.25),
    0 0 5px #ffffff,
    0 0 13px rgba(255, 0, 114, 0.72);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.section--contact-footer__sns-link:hover
.tpl-scope-cta-footer-mobile .section--contact-footer__sns-icon {
  transform: translateY(-3px);
  box-shadow:
    inset 0 0 11px rgba(255, 255, 255, 0.32),
    0 0 7px #ffffff,
    0 0 20px rgba(255, 0, 114, 0.88);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__sns-icon svg {
  display: block;
  width: 27px;
  height: 27px;
  fill: currentColor;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.section--contact-footer__sns-icon rect,
.tpl-scope-cta-footer-mobile .section--contact-footer__sns-icon circle {
  fill: none;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__sns-icon-line {
  fill: none;
  stroke: #ed0063;
  stroke-width: 1.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* ==============================
   フッター
============================== */

.tpl-scope-cta-footer-mobile .section--contact-footer__footer {
  position: relative;
  width: 100%;
  border-top: 1px solid rgba(255, 255, 255, 0.22);
  background:
    radial-gradient(
      circle at 50% 0,
      rgba(255, 0, 110, 0.16),
      transparent 34%
    ),
    #050505;
  box-shadow: 0 -4px 16px rgba(255, 0, 110, 0.16);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__footer-inner {
  padding-top: var(--content-item-gap);
  padding-bottom: 90px;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__footer-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  border-left: 1px solid rgba(255, 255, 255, 0.18);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__footer-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  min-height: 50px;
  padding: 12px 16px;
  color: var(--color-text);
  line-height: 1.5;
  letter-spacing: 0.035em;
  text-decoration: none;
  border-right: 1px solid rgba(255, 255, 255, 0.18);
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.025);
  transition:
    color 0.25s ease,
    background-color 0.25s ease;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__footer-link:hover {
  color: var(--color-pink);
  text-decoration: none;
  background: rgba(255, 0, 110, 0.1);
}

.tpl-scope-cta-footer-mobile .section--contact-footer__footer-arrow {
  display: block;
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.tpl-scope-cta-footer-mobile .section--contact-footer__copyright {
  margin: 28px 0 0;
  color: var(--color-text-soft);
  font-size: 12px;
  line-height: 1.6;
  text-align: center;
  letter-spacing: 0.03em;
  white-space: pre-line;
}
.tpl-scope-sidepart-left-menu-mobile .left-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: calc((100% - 430px) / 2);
  height: 100%;
  padding: 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.tpl-scope-sidepart-left-menu-mobile .left-menu-image { width: 150px; }
.tpl-scope-sidepart-left-menu-mobile .left-menu-image img { width: 100%; height: auto; display: block; }
.tpl-scope-sidepart-left-menu-mobile .left-menu-txt {
  margin-top: 10px;
  font-size: 13px;
  color: #fff;
}
.tpl-scope-sidepart-left-menu-mobile .left-menu-btn-list {
  margin-top: 15px;
  list-style: none;
  padding: 0;
}
.tpl-scope-sidepart-left-menu-mobile .left-menu-btn-item {
  margin-bottom: 5px;
  list-style: none;
}
.tpl-scope-sidepart-left-menu-mobile .left-menu-btn-link {
  display: inline-block;
  font-size: 13px;
  font-weight: bold;
  line-height: 1.3;
  color: #fff;
  text-decoration: none;
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.tpl-scope-sidepart-left-menu-mobile .left-menu-btn-link:hover {
  opacity: 0.7;
  transform: translateX(4px);
  text-decoration: none;
}
.tpl-scope-sidepart-left-menu-mobile .left-menu-btn-link-tab {
  display: inline-block;
  width: 10px;
  margin-left: 5px;
}
.tpl-scope-sidepart-left-menu-mobile .left-menu-sns {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 15px;
  margin-top: 15px;
  list-style: none;
  padding: 0;
}
.tpl-scope-sidepart-left-menu-mobile .left-menu-ico {
  width: 30px;
  transition: opacity 0.25s ease, transform 0.25s ease;
  list-style: none;
}
.tpl-scope-sidepart-left-menu-mobile .left-menu-ico[data-show="非表示"] {
  display: none;
}
.tpl-scope-sidepart-left-menu-mobile .left-menu-ico:hover {
  opacity: 0.7;
  transform: translateY(-2px);
}
.tpl-scope-sidepart-left-menu-mobile .left-menu-ico a {display: block}
.tpl-scope-sidepart-left-menu-mobile .left-menu-ico svg { width: 100%; height: auto; display: block; }
/* 1024px 以下はハンバーガー UI に切り替え。 左メニュー本体は非表示 */
@media (max-width: 1024px) {
.tpl-scope-sidepart-left-menu-mobile .left-menu { display: none; }
}
@media (hover: none) {
  .left-menu-btn-link:hover,
.tpl-scope-sidepart-left-menu-mobile .left-menu-ico:hover {
    opacity: 1;
    transform: none;
  }
}
.tpl-scope-sidepart-right-menu-mobile .right-menu {
  position: fixed;
  top: 0;
  right: 0;
  width: calc((100% - 430px) / 2);
  height: 100%;
  padding: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tpl-scope-sidepart-right-menu-mobile .right-menu-in {
  width: 100%;
  min-width: 100px;
  max-width: 300px;
}
/* globals の ul/ol リセットが効かないケースがあるので明示的に消す（bullet 点対策）*/
.tpl-scope-sidepart-right-menu-mobile .right-menu-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.tpl-scope-sidepart-right-menu-mobile .right-menu-item {
  list-style: none;
}
.tpl-scope-sidepart-right-menu-mobile .right-menu-item:not(:first-of-type) {
  margin-top: 10px;
}
.tpl-scope-sidepart-right-menu-mobile .right-menu-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  /* flex-wrap: wrap をやめてラベルの折り返しでゴースト表示になるのを防止。
     長いラベルは省略表示 (ellipsis) 側に倒す */
  flex-wrap: nowrap;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding-right: 24px;
  font-size: 14px;
  font-weight: bold;
  /* PC 縦ナビの既定色 (明るい背景想定で濃色)。 pcTextColor フィールドで上書き可 */
  color: #111111;
  text-decoration: none;
  transition: opacity 0.25s ease, transform 0.25s ease;
}
/* ハンバーガー展開時 (暗い背景のドロワー) は白。 mobileTextColor フィールドで上書き可。
   PC 縦ナビ (.is-open が付かない) には効かないので PC/モバイルで色を分離できる。 */
.tpl-scope-sidepart-right-menu-mobile .right-menu.is-open .right-menu-link {
  color: #ffffff;
}
.tpl-scope-sidepart-right-menu-mobile .right-menu-link:hover {
  opacity: 0.7;
  transform: translateX(4px);
  text-decoration: none;
}
.tpl-scope-sidepart-right-menu-mobile .right-menu-link-arrow {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 15px;
  height: 15px;
  margin: auto;
  border-radius: 50%;
  /* 既定はリンク文字色に追従。個別に変える場合は pc/mobileIconColor フィールドで上書き */
  background-color: currentColor;
  transition: opacity 0.25s ease;
  /* 親の translateX と加算されてサブピクセルレンダリングで arrow が二重に見える
     問題を避けるため、 arrow 自体は動かさず親と一緒に動くのみ */
}
.tpl-scope-sidepart-right-menu-mobile .right-menu-link:hover .right-menu-link-arrow {
  opacity: 0.8;
}
.tpl-scope-sidepart-right-menu-mobile .right-menu-link-arrow::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 0;
  height: 0;
  margin: auto;
  border-top: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-left: 3px solid #555555;
}
/* ハンバーガーボタン（PC は非表示） */
.tpl-scope-sidepart-right-menu-mobile .menu-toggle { display: none; }
/* ドロワーの背景オーバーレイ（PC は非表示） */
.tpl-scope-sidepart-right-menu-mobile .menu-overlay { display: none; }
/* ============================================
   タブレット幅以下（1024px 以下）は左右メニューを隠してハンバーガー化。
   PC_MOBILE_FRAME_CSS 側で .lpc-pc-right コンテナは position:static + overflow:visible
   に解除されるので、 ここに書いた position:fixed の要素はそのまま viewport にエスケープする。
   （body 起点セレクタは scopeCss で壊れるので使わない）
   ============================================ */
@media (max-width: 1024px) {
.tpl-scope-sidepart-right-menu-mobile .menu-toggle {
    position: fixed;
    top: 12px;
    /* 画面右 12px に固定。 フレーム内側に置くと白背景と重なって見えなくなる */
    right: 12px;
    z-index: 9020;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: 44px;
    height: 44px;
    padding: 0;
    border: none;
    cursor: pointer;
    /* 半透明黒背景で白棒が背景を問わず見える様に */
    background: var(--lpc-mobile-toggle-bg, rgba(0, 0, 0, 0.55));
    border-radius: 6px;
  }
.tpl-scope-sidepart-right-menu-mobile .menu-toggle-bar {
    display: block;
    width: 22px;
    height: 2px;
    background-color: var(--lpc-mobile-toggle-icon, #fff);
    transition: transform 0.25s ease, opacity 0.25s ease;
  }
.tpl-scope-sidepart-right-menu-mobile .menu-toggle.is-open {
    background-color: var(--lpc-mobile-toggle-open-bg, rgba(0, 0, 0, 0.55));
  }
.tpl-scope-sidepart-right-menu-mobile .menu-toggle.is-open .menu-toggle-bar {
    background-color: var(--lpc-mobile-toggle-open-icon, #fff);
  }
  /* 開いてる状態: ×印に変形 */
.tpl-scope-sidepart-right-menu-mobile .menu-toggle.is-open .menu-toggle-bar:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }
.tpl-scope-sidepart-right-menu-mobile .menu-toggle.is-open .menu-toggle-bar:nth-child(2) {
    opacity: 0;
  }
.tpl-scope-sidepart-right-menu-mobile .menu-toggle.is-open .menu-toggle-bar:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }
  /* 背景オーバーレイ */
.tpl-scope-sidepart-right-menu-mobile .menu-overlay {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 9000;
    background-color: rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }
.tpl-scope-sidepart-right-menu-mobile .menu-overlay.is-open {
    opacity: 1;
    visibility: visible;
  }
  /* right-menu を 右からスライドインするドロワーに変更。
     PC 用の position:fixed/right:0 が残っているので、 明示的に display:none で
     徹底的に閉じ状態を作る。 開くときは .is-open で display:flex + transform クリア。 */
.tpl-scope-sidepart-right-menu-mobile .right-menu {
    display: none;
  }
.tpl-scope-sidepart-right-menu-mobile .right-menu.is-open {
    display: flex;
    position: fixed;
    top: 0;
    left: auto;
    right: 0;
    width: min(80%, 320px);
    height: 100%;
    padding: 70px 24px 24px;
    z-index: 9010;
    align-items: flex-start;
    justify-content: flex-start;
    overflow-y: auto;
    background-color: var(--lpc-mobile-drawer-bg, rgba(0, 0, 0, 0.9));
    visibility: visible;
    transform: none;
  }
.tpl-scope-sidepart-right-menu-mobile .right-menu-in {
    max-width: none;
  }
}
@media (hover: none) {
  .right-menu-link:hover,
.tpl-scope-sidepart-right-menu-mobile .right-menu-link:hover .right-menu-link-arrow {
    opacity: 1;
    transform: none;
  }
}
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer {
  position: fixed;
  z-index: 9999;
  bottom: 0;
  left: 0;
  width: 100%;
}
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__list {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  flex-wrap: nowrap;
  list-style: none;
  margin: 0;
  padding: 0;
  border-radius: 10px 10px 0 0;
  overflow: hidden;
}
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__item {
  color: #fff;
  min-height: 65px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
}
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__item:nth-child(1) {
  border-right: 1px solid #fff;
}
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__item--tel {
  background-color: #ff2f97;
}
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__item--mail {
  flex: 1;
  background-color: #20d5ff;
}
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__link {
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 0 5px;
  line-height: 1.3;
  letter-spacing: 0.02em;
  padding: 10px 5px;
  width: 100%;
  height: 100%;
  text-align: center;
  font-weight: bold;
  text-decoration: none;
}
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__ico {
  display: inline-block;
  font-weight: bold;
  font-size: 26px;
}
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__ttl {
  display: inline-block;
  font-size: 13px;
  white-space: pre-line;
}
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__sub {
  display: inline-block;
  font-size: 10px;
  white-space: pre-line;
}

.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__ico--instagram {
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__ico--instagram svg {
  width: 100%;
  height: 100%;
  display: block;
  fill: currentColor;
}
/*--mobile--*/
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer {
  position: fixed;
  z-index: 9999;
  bottom: 0;
  left: 0;
  width: 100%;
}
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__list {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  flex-wrap: nowrap;
  list-style: none;
  margin: 0;
  padding: 0;
  border-radius: 10px 10px 0 0;
  overflow: hidden;
}
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__item {
  color: #fff;
  min-height: 65px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
}
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__item:nth-child(1) {
  border-right: 1px solid #fff;
}
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__item--tel {
  background-color: #ff2f97;
}
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__item--mail {
  flex: 1;
  background-color: #20d5ff;
}
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__link {
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 0 5px;
  line-height: 1.3;
  letter-spacing: 0.02em;
  padding: 10px 5px;
  width: 100%;
  height: 100%;
  text-align: center;
  font-weight: bold;
  text-decoration: none;
}
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__ico {
  display: inline-block;
  font-weight: bold;
  font-size: 26px;
}
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__ttl {
  display: inline-block;
  font-size: 13px;
  white-space: pre-line;
}
.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__sub {
  display: inline-block;
  font-size: 10px;
  white-space: pre-line;
}

.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__ico--instagram {
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.tpl-scope-cmr3cemcg00000h1b5olkbbs9 .lpc-fixed-footer__ico--instagram svg {
  width: 100%;
  height: 100%;
  display: block;
  fill: currentColor;
}
.section--message {
  --message-accent: var(--color-pink);
  --message-border-color: #ff6cad;
  --message-padding-bottom: 80px;

  position: relative;
  width: 100%;
  overflow: hidden;
  color: var(--color-text);
  background: #02070a;
}

/* ==============================
   メインビジュアル
============================== */

.message__visual {
  position: relative;
  width: 100%;
  min-height: 34.5rem;
  overflow: hidden;
  background: #050608;
}

.message__visual-image {
  position: absolute;
  inset: 0;
}

.message__visual-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.message__visual-shade {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.02) 45%,
    rgba(2, 7, 10, 0.42) 75%,
    rgba(2, 7, 10, 0.9) 100%
  );
}

/* ==============================
   コンテンツ全体
============================== */

.message__content {
  position: relative;
  z-index: 3;
  margin-top: -1.5rem;
  padding-bottom: var(--message-padding-bottom);
}

/* ==============================
   メッセージボックス
============================== */

.message__statement {
  position: relative;
  padding: 2.15rem 1.4rem 2.35rem;
  text-align: center;
  border: 0.12rem solid var(--message-border-color);
  border-radius: var(--radius-large);
  background: rgba(2, 8, 12, 0.94);
  box-shadow:
    0 0 0.35rem rgba(255, 108, 173, 0.95),
    0 0 1rem rgba(255, 45, 143, 0.55),
    inset 0 0 1rem rgba(255, 45, 143, 0.06);
}

.message__statement::before,
.message__statement::after {
  position: absolute;
  height: 0.12rem;
  content: "";
  background: var(--message-border-color);
  box-shadow: 0 0 0.55rem rgba(255, 108, 173, 0.9);
}

.message__statement::before {
  top: -0.12rem;
  right: 1.15rem;
  left: 1.15rem;
}

.message__statement::after {
  right: 4rem;
  bottom: -0.12rem;
  left: 1.15rem;
}

/* ==============================
   メッセージテキスト
============================== */

.message__statement-prefix,
.message__statement-highlight,
.message__statement-continuation,
.message__statement-end {
  position: relative;
  z-index: 2;
  margin: 0;
  white-space: pre-line;
}

.message__statement-prefix,
.message__statement-continuation,
.message__statement-end {
  font-size: 18px;
}

.message__statement-prefix,
.message__statement-highlight,
.message__statement-continuation {
  margin-bottom: var(--space-xs);
}

.message__statement-highlight {
  color: var(--message-accent);
  font-size: 24px;
  text-shadow: 0 0 0.45rem rgba(255, 77, 145, 0.55);
}

/* ==============================
   肉球アイコン
============================== */

.message__paw {
  position: absolute;
  right: -0.2rem;
  bottom: -0.35rem;
  width: 4.5rem;
  height: auto;
  padding: 0.35rem;
  overflow: visible;
  fill: none;
  stroke: #ff69aa;
  stroke-width: 3;
  filter: drop-shadow(0 0 0.3rem rgba(255, 105, 170, 0.95));
  transform: rotate(12deg);
}

/* ==============================
   本文
============================== */

.message__body {
  padding-top: var(--content-block-gap);
}

.message__paragraph,
.message__closing {
  margin: 0;
  text-align: center;
  white-space: pre-line;
}

.message__paragraph {
  padding-block: 0.35rem 1.9rem;
  font-size: 16px;
  border-bottom: 0.08rem solid rgba(255, 83, 145, 0.72);
}

.message__paragraph + .message__paragraph {
  padding-top: 1.9rem;
}

.message__closing {
  padding-top: 1.9rem;
}

/* ==============================
   コーナー装飾
============================== */

.message__statement-corner {
  position: absolute;
  z-index: 1;
  width: 1.35rem;
  height: 1.35rem;
  pointer-events: none;
}

.message__statement-corner--top {
  top: -0.12rem;
  left: -0.12rem;
  border-top: 0.12rem solid var(--message-border-color);
  border-left: 0.12rem solid var(--message-border-color);
  border-radius: 1rem 0 0;
}

.message__statement-corner--bottom {
  right: -0.12rem;
  bottom: -0.12rem;
  border-right: 0.12rem solid var(--message-border-color);
  border-bottom: 0.12rem solid var(--message-border-color);
  border-radius: 0 0 1rem;
}

/* === inspector overrides === */
/* 検証モードで変更：2026/8/6 13:54:56 */
.tpl-scope-manual-sec-1785139258165-stojq .message__statement-prefix {
  font-size: 16px !important;
}
.tpl-scope-manual-sec-1785139258165-stojq .message__statement-continuation {
  font-size: 16px !important;
}
.tpl-scope-manual-sec-1785139258165-stojq .message__statement-end {
  font-size: 16px !important;
}
.tpl-scope-manual-sec-1785139258165-stojq .message__statement-highlight {
  font-size: 20px !important;
  font-weight: 600 !important;
}

.tpl-scope-manual-sec-1785139258165-stojq .message__content {
  margin-top: -67px !important;
}
/* === end inspector overrides === */
@media (max-width: 768px) {
.section--message {
  --message-accent: var(--color-pink);
  --message-border-color: #ff6cad;
  --message-padding-bottom: 80px;

  position: relative;
  width: 100%;
  overflow: hidden;
  color: var(--color-text);
  background: #02070a;
}

/* ==============================
   メインビジュアル
============================== */

.message__visual {
  position: relative;
  width: 100%;
  min-height: 34.5rem;
  overflow: hidden;
  background: #050608;
}

.message__visual-image {
  position: absolute;
  inset: 0;
}

.message__visual-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.message__visual-shade {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.02) 45%,
    rgba(2, 7, 10, 0.42) 75%,
    rgba(2, 7, 10, 0.9) 100%
  );
}

/* ==============================
   コンテンツ全体
============================== */

.message__content {
  position: relative;
  z-index: 3;
  margin-top: -1.5rem;
  padding-bottom: var(--message-padding-bottom);
}

/* ==============================
   メッセージボックス
============================== */

.message__statement {
  position: relative;
  padding: 2.15rem 1.4rem 2.35rem;
  text-align: center;
  border: 0.12rem solid var(--message-border-color);
  border-radius: var(--radius-large);
  background: rgba(2, 8, 12, 0.94);
  box-shadow:
    0 0 0.35rem rgba(255, 108, 173, 0.95),
    0 0 1rem rgba(255, 45, 143, 0.55),
    inset 0 0 1rem rgba(255, 45, 143, 0.06);
}

.message__statement::before,
.message__statement::after {
  position: absolute;
  height: 0.12rem;
  content: "";
  background: var(--message-border-color);
  box-shadow: 0 0 0.55rem rgba(255, 108, 173, 0.9);
}

.message__statement::before {
  top: -0.12rem;
  right: 1.15rem;
  left: 1.15rem;
}

.message__statement::after {
  right: 4rem;
  bottom: -0.12rem;
  left: 1.15rem;
}

/* ==============================
   メッセージテキスト
============================== */

.message__statement-prefix,
.message__statement-highlight,
.message__statement-continuation,
.message__statement-end {
  position: relative;
  z-index: 2;
  margin: 0;
  white-space: pre-line;
}

.message__statement-prefix,
.message__statement-continuation,
.message__statement-end {
  font-size: 18px;
}

.message__statement-prefix,
.message__statement-highlight,
.message__statement-continuation {
  margin-bottom: var(--space-xs);
}

.message__statement-highlight {
  color: var(--message-accent);
  font-size: 24px;
  text-shadow: 0 0 0.45rem rgba(255, 77, 145, 0.55);
}

/* ==============================
   肉球アイコン
============================== */

.message__paw {
  position: absolute;
  right: -0.2rem;
  bottom: -0.35rem;
  width: 4.5rem;
  height: auto;
  padding: 0.35rem;
  overflow: visible;
  fill: none;
  stroke: #ff69aa;
  stroke-width: 3;
  filter: drop-shadow(0 0 0.3rem rgba(255, 105, 170, 0.95));
  transform: rotate(12deg);
}

/* ==============================
   本文
============================== */

.message__body {
  padding-top: var(--content-block-gap);
}

.message__paragraph,
.message__closing {
  margin: 0;
  text-align: center;
  white-space: pre-line;
}

.message__paragraph {
  padding-block: 0.35rem 1.9rem;
  font-size: 16px;
  border-bottom: 0.08rem solid rgba(255, 83, 145, 0.72);
}

.message__paragraph + .message__paragraph {
  padding-top: 1.9rem;
}

.message__closing {
  padding-top: 1.9rem;
}

/* ==============================
   コーナー装飾
============================== */

.message__statement-corner {
  position: absolute;
  z-index: 1;
  width: 1.35rem;
  height: 1.35rem;
  pointer-events: none;
}

.message__statement-corner--top {
  top: -0.12rem;
  left: -0.12rem;
  border-top: 0.12rem solid var(--message-border-color);
  border-left: 0.12rem solid var(--message-border-color);
  border-radius: 1rem 0 0;
}

.message__statement-corner--bottom {
  right: -0.12rem;
  bottom: -0.12rem;
  border-right: 0.12rem solid var(--message-border-color);
  border-bottom: 0.12rem solid var(--message-border-color);
  border-radius: 0 0 1rem;
}

/* === inspector overrides === */
/* 検証モードで変更：2026/8/6 13:54:56 */
.tpl-scope-manual-sec-1785139258165-stojq .message__statement-prefix {
  font-size: 16px !important;
}
.tpl-scope-manual-sec-1785139258165-stojq .message__statement-continuation {
  font-size: 16px !important;
}
.tpl-scope-manual-sec-1785139258165-stojq .message__statement-end {
  font-size: 16px !important;
}
.tpl-scope-manual-sec-1785139258165-stojq .message__statement-highlight {
  font-size: 20px !important;
  font-weight: 600 !important;
}

.tpl-scope-manual-sec-1785139258165-stojq .message__content {
  margin-top: -67px !important;
}
/* === end inspector overrides === */
}
.section--features {
  position: relative;
  overflow: hidden;
  color: var(--color-text);
  background:
    radial-gradient(circle at 50% 8%, rgba(255, 0, 133, 0.14), transparent 24%),
    radial-gradient(circle at 50% 58%, rgba(0, 207, 255, 0.08), transparent 32%),
    var(--color-background);
}

.section--features::before,
.section--features::after {
  position: absolute;
  right: 0;
  left: 0;
  height: 2px;
  content: "";
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 0, 133, 0.65),
    transparent
  );
  box-shadow: 0 0 14px rgba(255, 0, 133, 0.7);
}

.section--features::before {
  top: 13%;
}

.section--features::after {
  bottom: 12%;
}

.section--features__inner {
  position: relative;
  z-index: 1;
  padding-block: var(--section-padding-y);
}

.section--features__header {
  margin-bottom: var(--heading-content-gap);
  text-align: center;
}

.section--features__eyebrow {
  margin: 0 0 var(--heading-eyebrow-gap);
  letter-spacing: 0.08em;
}

.section--features__title {
  margin-bottom: 10px;
  color: #fff5fb;
  letter-spacing: 0.05em;
  text-shadow:
    0 0 4px #ffffff,
    0 0 10px #ff3ba7,
    0 0 22px #ff007f;
}

.section--features__title-line {
  display: block;
  width: 64%;
  height: 2px;
  margin-inline: auto;
  background: #ff60b6;
  box-shadow:
    24px 6px 0 #ff2d97,
    0 0 8px #ff2d97,
    24px 6px 12px #ff2d97;
  transform: rotate(-1deg);
}

.section--features__list {
  display: grid;
  gap: var(--content-item-gap);
}

.feature-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--feature-accent);
  border-radius: var(--radius-medium);
  background: rgba(0, 0, 0, 0.9);
  box-shadow:
    0 0 5px var(--feature-accent),
    0 0 14px color-mix(in srgb, var(--feature-accent) 58%, transparent);
}

.feature-card--pink {
  --feature-accent: var(--color-pink-bright);
  --feature-accent-soft: var(--color-pink-soft);
}

.feature-card--cyan {
  --feature-accent: #20d5ff;
  --feature-accent-soft: #7beaff;
}

.feature-card__visual {
  position: relative;
  overflow: hidden;
  aspect-ratio: 2.5 / 1;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.feature-card__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.feature-card__visual::after,
.feature-card__hours-visual::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.26),
    transparent 42%,
    rgba(0, 0, 0, 0.1)
  );
}

.feature-card__number {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  min-width: 72px;
  padding: 8px 28px 18px 11px;
  color: var(--color-text);
  text-align: left;
  background: var(--feature-accent);
  clip-path: polygon(0 0, 100% 0, 0 100%);
  text-shadow: 0 0 5px rgba(255, 255, 255, 0.8);
}

.feature-card__content {
  padding: var(--space-sm);
  text-align: center;
}

.feature-card__title {
  margin: 0 0 var(--space-xs);
  padding-bottom: 7px;
  border-bottom: 1px dotted rgba(255, 255, 255, 0.54);
  letter-spacing: 0.04em;
}

.feature-card__accent {
  color: var(--feature-accent-soft);
  text-shadow:
    0 0 5px var(--feature-accent),
    0 0 10px color-mix(in srgb, var(--feature-accent) 55%, transparent);
}

.feature-card__body {
  margin: 0;
  color: var(--color-text-soft);
  line-height: 1.65;
  letter-spacing: 0.03em;
}

.feature-card--hours {
  --feature-accent: var(--color-pink-bright);
  --feature-accent-soft: var(--color-pink-soft);
  display: grid;
  grid-template-columns: 40% 60%;
  align-items: stretch;
}

.feature-card__hours-visual {
  position: relative;
  min-height: 116px;
  overflow: hidden;
}

.feature-card__hours-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--space-xs);
  padding: var(--space-sm);
}

.feature-card__hours-line {
  display: flex;
  flex-wrap: wrap;
  gap: 0.18em;
  align-items: baseline;
  margin: 0;
  letter-spacing: 0.02em;
}

.feature-card__hours-body {
  margin: 0;
  color: var(--color-text-soft);
  line-height: 1.55;
}

.section--features__footer {
  position: relative;
  margin-top: var(--content-block-gap);
  padding: 16px 38px 4px;
  text-align: center;
}

.section--features__footer-lead {
  margin: 0 0 var(--space-xs);
  letter-spacing: 0.04em;
}

.section--features__footer-title {
  margin: 0 0 10px;
  color: #fff3fa;
  letter-spacing: 0.08em;
  text-shadow:
    0 0 4px #ffffff,
    0 0 10px #ff3ba7,
    0 0 20px #ff007f;
}

.section--features__footer-line {
  display: block;
  width: 72%;
  height: 2px;
  margin-inline: auto;
  background: var(--color-blue);
  box-shadow:
    20px 5px 0 #ff3ba7,
    0 0 8px #20d5ff,
    20px 5px 12px var(--color-pink-bright);
  transform: rotate(-1deg);
}

.section--features__rays {
  position: absolute;
  bottom: 16px;
  width: 32px;
  height: 54px;
}

.section--features__rays--left {
  left: 2px;
}

.section--features__rays--right {
  right: 2px;
  transform: scaleX(-1);
}

.section--features__rays span {position: absolute;
  bottom: 0;
  left: 0;
  width: 28px;
  height: 3px;
  border-radius: var(--radius-pill);
  background: #ffffff;
  box-shadow: 0 0 7px var(--color-pink-bright);
  transform-origin: left center}

.section--features__rays span:nth-child(1) {transform: rotate(22deg)}

.section--features__rays span:nth-child(2) {background: #ff60b6;
  transform: rotate(48deg)}

.section--features__rays span:nth-child(3) {background: var(--color-blue);
  transform: rotate(74deg)}

/* === inspector overrides === */
/* 検証モードで変更：2026/7/30 11:50:49 */
.tpl-scope-manual-sec-1785139304871-ekswu .section--features__title {
  font-size: 42px !important;
  letter-spacing: 1.68px !important;
}
.tpl-scope-manual-sec-1785139304871-ekswu .section--features__header {
  margin-bottom: 40px !important;
}
.tpl-scope-manual-sec-1785139304871-ekswu .section--features__eyebrow {
  margin-bottom: 8px !important;
  font-weight: 600 !important;
}
.tpl-scope-manual-sec-1785139304871-ekswu .feature-card.feature-card--cyan {
  margin-top: 8px !important;
}
.tpl-scope-manual-sec-1785139304871-ekswu .feature-card.feature-card--pink {
  margin-top: 8px !important;
}
.tpl-scope-manual-sec-1785139304871-ekswu .feature-card.feature-card--hours {
  margin-top: 8px !important;
}
.tpl-scope-manual-sec-1785139304871-ekswu .section--features__list {
  margin-bottom: -16px !important;
}
.tpl-scope-manual-sec-1785139304871-ekswu .section--features__footer-title {
  font-size: 30px !important;
}
.tpl-scope-manual-sec-1785139304871-ekswu .feature-card__number {
  font-size: 18px !important;
  padding-top: 16px !important;
  padding-bottom: 36px !important;
  padding-right: 15px !important;
  font-weight: 500 !important;
  padding-left: 9px !important;
}
/* === end inspector overrides === */
/* AI編集: 2026/7/30 11:50:29 */
.tpl-scope-manual-sec-1785139304871-ekswu .section--features__footer .section--features__rays { display: none !important; }
@media (max-width: 768px) {
.section--features {
  position: relative;
  overflow: hidden;
  color: var(--color-text);
  background:
    radial-gradient(circle at 50% 8%, rgba(255, 0, 133, 0.14), transparent 24%),
    radial-gradient(circle at 50% 58%, rgba(0, 207, 255, 0.08), transparent 32%),
    var(--color-background);
}

.section--features::before,
.section--features::after {
  position: absolute;
  right: 0;
  left: 0;
  height: 2px;
  content: "";
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 0, 133, 0.65),
    transparent
  );
  box-shadow: 0 0 14px rgba(255, 0, 133, 0.7);
}

.section--features::before {
  top: 13%;
}

.section--features::after {
  bottom: 12%;
}

.section--features__inner {
  position: relative;
  z-index: 1;
  padding-block: var(--section-padding-y);
}

.section--features__header {
  margin-bottom: var(--heading-content-gap);
  text-align: center;
}

.section--features__eyebrow {
  margin: 0 0 var(--heading-eyebrow-gap);
  letter-spacing: 0.08em;
}

.section--features__title {
  margin-bottom: 10px;
  color: #fff5fb;
  letter-spacing: 0.05em;
  text-shadow:
    0 0 4px #ffffff,
    0 0 10px #ff3ba7,
    0 0 22px #ff007f;
}

.section--features__title-line {
  display: block;
  width: 64%;
  height: 2px;
  margin-inline: auto;
  background: #ff60b6;
  box-shadow:
    24px 6px 0 #ff2d97,
    0 0 8px #ff2d97,
    24px 6px 12px #ff2d97;
  transform: rotate(-1deg);
}

.section--features__list {
  display: grid;
  gap: var(--content-item-gap);
}

.feature-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--feature-accent);
  border-radius: var(--radius-medium);
  background: rgba(0, 0, 0, 0.9);
  box-shadow:
    0 0 5px var(--feature-accent),
    0 0 14px color-mix(in srgb, var(--feature-accent) 58%, transparent);
}

.feature-card--pink {
  --feature-accent: var(--color-pink-bright);
  --feature-accent-soft: var(--color-pink-soft);
}

.feature-card--cyan {
  --feature-accent: #20d5ff;
  --feature-accent-soft: #7beaff;
}

.feature-card__visual {
  position: relative;
  overflow: hidden;
  aspect-ratio: 2.5 / 1;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.feature-card__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.feature-card__visual::after,
.feature-card__hours-visual::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.26),
    transparent 42%,
    rgba(0, 0, 0, 0.1)
  );
}

.feature-card__number {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  min-width: 72px;
  padding: 8px 28px 18px 11px;
  color: var(--color-text);
  text-align: left;
  background: var(--feature-accent);
  clip-path: polygon(0 0, 100% 0, 0 100%);
  text-shadow: 0 0 5px rgba(255, 255, 255, 0.8);
}

.feature-card__content {
  padding: var(--space-sm);
  text-align: center;
}

.feature-card__title {
  margin: 0 0 var(--space-xs);
  padding-bottom: 7px;
  border-bottom: 1px dotted rgba(255, 255, 255, 0.54);
  letter-spacing: 0.04em;
}

.feature-card__accent {
  color: var(--feature-accent-soft);
  text-shadow:
    0 0 5px var(--feature-accent),
    0 0 10px color-mix(in srgb, var(--feature-accent) 55%, transparent);
}

.feature-card__body {
  margin: 0;
  color: var(--color-text-soft);
  line-height: 1.65;
  letter-spacing: 0.03em;
}

.feature-card--hours {
  --feature-accent: var(--color-pink-bright);
  --feature-accent-soft: var(--color-pink-soft);
  display: grid;
  grid-template-columns: 40% 60%;
  align-items: stretch;
}

.feature-card__hours-visual {
  position: relative;
  min-height: 116px;
  overflow: hidden;
}

.feature-card__hours-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--space-xs);
  padding: var(--space-sm);
}

.feature-card__hours-line {
  display: flex;
  flex-wrap: wrap;
  gap: 0.18em;
  align-items: baseline;
  margin: 0;
  letter-spacing: 0.02em;
}

.feature-card__hours-body {
  margin: 0;
  color: var(--color-text-soft);
  line-height: 1.55;
}

.section--features__footer {
  position: relative;
  margin-top: var(--content-block-gap);
  padding: 16px 38px 4px;
  text-align: center;
}

.section--features__footer-lead {
  margin: 0 0 var(--space-xs);
  letter-spacing: 0.04em;
}

.section--features__footer-title {
  margin: 0 0 10px;
  color: #fff3fa;
  letter-spacing: 0.08em;
  text-shadow:
    0 0 4px #ffffff,
    0 0 10px #ff3ba7,
    0 0 20px #ff007f;
}

.section--features__footer-line {
  display: block;
  width: 72%;
  height: 2px;
  margin-inline: auto;
  background: var(--color-blue);
  box-shadow:
    20px 5px 0 #ff3ba7,
    0 0 8px #20d5ff,
    20px 5px 12px var(--color-pink-bright);
  transform: rotate(-1deg);
}

.section--features__rays {
  position: absolute;
  bottom: 16px;
  width: 32px;
  height: 54px;
}

.section--features__rays--left {
  left: 2px;
}

.section--features__rays--right {
  right: 2px;
  transform: scaleX(-1);
}

.section--features__rays span {position: absolute;
  bottom: 0;
  left: 0;
  width: 28px;
  height: 3px;
  border-radius: var(--radius-pill);
  background: #ffffff;
  box-shadow: 0 0 7px var(--color-pink-bright);
  transform-origin: left center}

.section--features__rays span:nth-child(1) {transform: rotate(22deg)}

.section--features__rays span:nth-child(2) {background: #ff60b6;
  transform: rotate(48deg)}

.section--features__rays span:nth-child(3) {background: var(--color-blue);
  transform: rotate(74deg)}

/* === inspector overrides === */
/* 検証モードで変更：2026/7/30 11:50:49 */
.tpl-scope-manual-sec-1785139304871-ekswu .section--features__title {
  font-size: 42px !important;
  letter-spacing: 1.68px !important;
}
.tpl-scope-manual-sec-1785139304871-ekswu .section--features__header {
  margin-bottom: 40px !important;
}
.tpl-scope-manual-sec-1785139304871-ekswu .section--features__eyebrow {
  margin-bottom: 8px !important;
  font-weight: 600 !important;
}
.tpl-scope-manual-sec-1785139304871-ekswu .feature-card.feature-card--cyan {
  margin-top: 8px !important;
}
.tpl-scope-manual-sec-1785139304871-ekswu .feature-card.feature-card--pink {
  margin-top: 8px !important;
}
.tpl-scope-manual-sec-1785139304871-ekswu .feature-card.feature-card--hours {
  margin-top: 8px !important;
}
.tpl-scope-manual-sec-1785139304871-ekswu .section--features__list {
  margin-bottom: -16px !important;
}
.tpl-scope-manual-sec-1785139304871-ekswu .section--features__footer-title {
  font-size: 30px !important;
}
.tpl-scope-manual-sec-1785139304871-ekswu .feature-card__number {
  font-size: 18px !important;
  padding-top: 16px !important;
  padding-bottom: 36px !important;
  padding-right: 15px !important;
  font-weight: 500 !important;
  padding-left: 9px !important;
}
/* === end inspector overrides === */
/* AI編集: 2026/7/30 11:50:29 */
.tpl-scope-manual-sec-1785139304871-ekswu .section--features__footer .section--features__rays { display: none !important; }
}
/* === inspector overrides === */
/* 検証モードで変更：2026/7/30 13:23:28 */
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__title {
  font-size: 48px !important;
  letter-spacing: 5.68px !important;
}
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__more-label {
  font-weight: 500 !important;
}
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__more {
  width: 325.297px !important;
  height: 74.3906px !important;
  font-size: 16px !important;
  font-weight: 500 !important;
}
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__lead {
  margin-bottom: 30px !important;
}
/* === end inspector overrides === */
@media (max-width: 768px) {
/* === inspector overrides === */
/* 検証モードで変更：2026/7/30 13:23:28 */
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__title {
  font-size: 48px !important;
  letter-spacing: 5.68px !important;
}
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__more-label {
  font-weight: 500 !important;
}
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__more {
  width: 325.297px !important;
  height: 74.3906px !important;
  font-size: 16px !important;
  font-weight: 500 !important;
}
.tpl-scope-cmqj9mq8600ev0h3y4h7t1ptn .section--news__lead {
  margin-bottom: 30px !important;
}
/* === end inspector overrides === */
}
.section--menu {
  position: relative;
  overflow: hidden;
  color: var(--color-text);
  background: var(--color-background-deep);
  isolation: isolate;
}

.section--menu__background {
  position: absolute;
  inset: 0;
  z-index: -2;
}

.section--menu__background img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.32;
}

.section--menu::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  content: "";
  background:
    radial-gradient(
      circle at 12% 28%,
      rgba(255, 22, 106, 0.18),
      transparent 28%
    ),
    radial-gradient(
      circle at 88% 54%,
      rgba(34, 126, 255, 0.18),
      transparent 30%
    ),
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.5),
      rgba(2, 1, 7, 0.94)
    );
}

.section--menu__inner {
  position: relative;
  padding-block: var(--section-padding-y);
}

/* ==============================
   ヘッダー
============================== */

.section--menu__header {
  margin-bottom: var(--heading-content-gap);
  text-align: center;
}

.section--menu__eyebrow {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  margin-bottom: var(--heading-eyebrow-gap);
}

.section--menu__eyebrow-text {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--color-text);
  font-size: 30px;
  letter-spacing: 0.02em;
  text-shadow:
    0 0 3px #ffffff,
    0 0 8px #ff368d,
    0 0 15px #ff006e,
    0 0 24px #ff006e;
  transform: rotate(-2deg);
}

.section--menu__ray {
  position: absolute;
  display: block;
  width: 28px;
  height: 2px;
  border-radius: var(--radius-pill);
  background: currentColor;
  box-shadow:
    0 0 4px currentColor,
    0 0 9px currentColor;
}

.section--menu__ray--left-1 {
  top: 30%;
  left: 0;
  color: #6fa5ff;
  transform: rotate(25deg);
}

.section--menu__ray--left-2 {
  top: 50%;
  left: -2px;
  color: #ff397f;
  transform: rotate(10deg);
}

.section--menu__ray--left-3 {
  top: 70%;
  left: 0;
  color: #6fa5ff;
  transform: rotate(-3deg);
}

.section--menu__ray--right-1 {
  top: 30%;
  right: 0;
  color: #ff397f;
  transform: rotate(-35deg);
}

.section--menu__ray--right-2 {
  top: 50%;
  right: -2px;
  color: #6fa5ff;
  transform: rotate(-12deg);
}

.section--menu__ray--right-3 {
  top: 70%;
  right: 0;
  color: #6fa5ff;
  transform: rotate(4deg);
}

.section--menu__title {
  margin-bottom: var(--heading-lead-gap);
  color: var(--color-text);
  text-align: center;
  letter-spacing: 0.02em;
  text-shadow:
    -0.08em 0 0.35rem rgba(255, 37, 107, 0.95),
    0.08em 0 0.35rem rgba(35, 177, 255, 0.95);
}

.section--menu__intro {
  max-width: 34em;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.94);
  line-height: 1.75;
  white-space: pre-line;
}

/* ==============================
   メインプラン
============================== */

.section--menu__plan {
  position: relative;
  overflow: hidden;
  border: 0.1rem solid #ff80ac;
  border-radius: var(--radius-large);
  background: #13030b;
  box-shadow:
    0 0 0.35rem #ff2f78,
    0 0 1.2rem rgba(255, 32, 108, 0.75),
    inset 0 0 1.2rem rgba(255, 36, 112, 0.18);
}

.section--menu__plan-image {
  position: absolute;
  inset: 0;
}

.section--menu__plan-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.section--menu__plan-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(10, 0, 8, 0.98) 0%,
      rgba(20, 0, 12, 0.88) 43%,
      rgba(8, 0, 9, 0.15) 76%
    ),
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.08),
      rgba(0, 0, 0, 0.5)
    );
}

.section--menu__plan-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: var(--card-padding);
}

.section--menu__plan-duration {
  margin: 0;
  color: var(--color-text);
  font-size: 26px;
  text-shadow:
    0 0 0.35rem #ff205f,
    0 0 0.8rem rgba(255, 32, 95, 0.8);
}

.section--menu__plan-price {
  display: flex;
  align-items: flex-end;
  gap: 0.35rem;
  margin: 0;
  color: #fff5e2;
  font-size: 50px;
  line-height: 0.9;
  text-shadow:
    0 0 0.25rem #ff4b37,
    0 0 0.8rem rgba(255, 67, 45, 0.95);
}

.section--menu__plan-price-value {
  font-size: 60px;
  line-height: 1;
  letter-spacing: -0.04em;
}

.section--menu__plan-price-unit {
  margin-left: 6px;
  padding-bottom: 0;
  color: var(--color-text);
  font-size: 35px;
  line-height: 1;
}

.section--menu__plan-title {
  margin: 0 0 6px;
  color: var(--color-text);
  font-size: 30px;
  letter-spacing: 0.04em;
  text-shadow:
    0 0 0.3rem #ff195c,
    0 0 0.8rem rgba(255, 25, 92, 0.9);
}

.section--menu__plan-note {
  margin: 0 0 6px;
  color: var(--color-text-soft);
  font-size: 12px;
  white-space: pre-line;
}

.section--menu__plan-caution {
  margin: 0;
  color: var(--color-text);
  font-size: 12px;
  border: 0.0625rem solid rgba(255, 93, 147, 0.8);
  border-radius: var(--radius-small);
  background: rgba(4, 0, 5, 0.62);
}

/* ==============================
   メニューカード一覧
============================== */

.section--menu__items {
  display: grid;
  gap: var(--content-item-gap);
  margin-top: var(--content-item-gap);
}

.section--menu__item {
  position: relative;
  min-height: 11.5rem;
  overflow: hidden;
  color: var(--item-accent);
  border: 0.1rem solid currentColor;
  border-radius: var(--radius-medium);
  background: #05030a;
}

/* ピンクカード */

.section--menu__item--pink {
  --item-accent: #ff8fbd;
  --item-overlay-start: rgba(56, 3, 30, 0.98);
  --item-overlay-middle: rgba(39, 3, 23, 0.9);
  --item-overlay-end: rgba(18, 2, 11, 0.22);

  box-shadow:
    0 0 0.35rem rgba(255, 38, 126, 0.9),
    0 0 1rem rgba(255, 38, 126, 0.48);
}

/* ブルーカード */

.section--menu__item--blue {
  --item-accent: #8fc9ff;
  --item-overlay-start: rgba(2, 25, 51, 0.98);
  --item-overlay-middle: rgba(2, 20, 42, 0.9);
  --item-overlay-end: rgba(2, 12, 24, 0.22);

  box-shadow:
    0 0 0.35rem rgba(61, 153, 255, 0.9),
    0 0 1rem rgba(61, 153, 255, 0.48);
}

/* パープルカード */

.section--menu__item--purple {
  --item-accent: #c5a1ff;
  --item-overlay-start: rgba(31, 11, 58, 0.98);
  --item-overlay-middle: rgba(24, 8, 47, 0.9);
  --item-overlay-end: rgba(14, 4, 27, 0.22);

  box-shadow:
    0 0 0.35rem rgba(146, 85, 255, 0.9),
    0 0 1rem rgba(146, 85, 255, 0.48);
}

.section--menu__item-image {
  position: absolute;
  inset: 0;
}

.section--menu__item-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.section--menu__item-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      var(--item-overlay-start) 0%,
      var(--item-overlay-middle) 42%,
      var(--item-overlay-end) 78%
    ),
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.02),
      rgba(0, 0, 0, 0.35)
    );
}

.section--menu__item-content {
  position: relative;
  z-index: 1;
  display: flex;
  min-height: 11.5rem;
  flex-direction: column;
  justify-content: center;
  padding:
    var(--card-padding)
    44%
    var(--card-padding)
    var(--card-padding);
}

.section--menu__item-title {
  margin: 0 0 var(--space-xs);
  color: var(--item-accent);
  font-size: 36px;
  letter-spacing: 0.04em;
  text-shadow:
    0 0 0.3rem currentColor,
    0 0 0.85rem currentColor;
}

.section--menu__item-description {
  margin: 0;
  color: rgba(255, 255, 255, 0.94);
  font-size: 13px;
  line-height: 1.7;
  white-space: pre-line;
}

/* ==============================
   締めテキスト
============================== */

.section--menu__closing {
  margin: var(--heading-content-gap) auto 0;
  color: #ff99bd;
  font-size: 16px;
  text-align: center;
  line-height: 1.7;
  letter-spacing: 0.08em;
  white-space: pre-line;
  text-shadow:
    0 0 0.35rem #ff296b,
    0 0 0.85rem rgba(255, 41, 107, 0.8);
}

/* === inspector overrides === */
/* 検証モードで変更：2026/7/30 13:28:22 */
.tpl-scope-manual-sec-1785139341878-fcnwo .section--menu__plan-caution {
  font-size: 13px !important;
  padding-right: 2px !important;
  padding-left: 0px !important;
  color: rgba(255, 255, 255, 0.92) !important;
}
.tpl-scope-manual-sec-1785139341878-fcnwo .section--menu__item-title {
  font-size: 36px !important;
}
.tpl-scope-manual-sec-1785139341878-fcnwo .section--menu__eyebrow-text {
  font-size: 30px !important;
}
.tpl-scope-manual-sec-1785139341878-fcnwo .section--menu__title {
  font-size: 42px !important;
}
.tpl-scope-manual-sec-1785139341878-fcnwo .section--menu__plan-note {
  color: #fff !important;
}
.tpl-scope-manual-sec-1785139341878-fcnwo [data-iid="iid-ms4e9i0p-o8kng"] {
  color: #ffadcf !important;
}

.tpl-scope-manual-sec-1785139341878-fcnwo .section--menu__plan-price {
  margin-top: -4px !important;
}
.tpl-scope-manual-sec-1785139341878-fcnwo .section--menu__intro {
  margin-bottom: 30px !important;
}
.tpl-scope-manual-sec-1785139341878-fcnwo [data-iid="iid-ms70jnyu-8os5q"] {
  margin-bottom: 34px !important;
}
/* === end inspector overrides === */
/* AI編集: 2026/7/28 15:32:01 */
.tpl-scope-manual-sec-1785139341878-fcnwo .section--menu__plan-caution {
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
@media (max-width: 768px) {
.section--menu {
  position: relative;
  overflow: hidden;
  color: var(--color-text);
  background: var(--color-background-deep);
  isolation: isolate;
}

.section--menu__background {
  position: absolute;
  inset: 0;
  z-index: -2;
}

.section--menu__background img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.32;
}

.section--menu::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  content: "";
  background:
    radial-gradient(
      circle at 12% 28%,
      rgba(255, 22, 106, 0.18),
      transparent 28%
    ),
    radial-gradient(
      circle at 88% 54%,
      rgba(34, 126, 255, 0.18),
      transparent 30%
    ),
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.5),
      rgba(2, 1, 7, 0.94)
    );
}

.section--menu__inner {
  position: relative;
  padding-block: var(--section-padding-y);
}

/* ==============================
   ヘッダー
============================== */

.section--menu__header {
  margin-bottom: var(--heading-content-gap);
  text-align: center;
}

.section--menu__eyebrow {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  margin-bottom: var(--heading-eyebrow-gap);
}

.section--menu__eyebrow-text {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--color-text);
  font-size: 30px;
  letter-spacing: 0.02em;
  text-shadow:
    0 0 3px #ffffff,
    0 0 8px #ff368d,
    0 0 15px #ff006e,
    0 0 24px #ff006e;
  transform: rotate(-2deg);
}

.section--menu__ray {
  position: absolute;
  display: block;
  width: 28px;
  height: 2px;
  border-radius: var(--radius-pill);
  background: currentColor;
  box-shadow:
    0 0 4px currentColor,
    0 0 9px currentColor;
}

.section--menu__ray--left-1 {
  top: 30%;
  left: 0;
  color: #6fa5ff;
  transform: rotate(25deg);
}

.section--menu__ray--left-2 {
  top: 50%;
  left: -2px;
  color: #ff397f;
  transform: rotate(10deg);
}

.section--menu__ray--left-3 {
  top: 70%;
  left: 0;
  color: #6fa5ff;
  transform: rotate(-3deg);
}

.section--menu__ray--right-1 {
  top: 30%;
  right: 0;
  color: #ff397f;
  transform: rotate(-35deg);
}

.section--menu__ray--right-2 {
  top: 50%;
  right: -2px;
  color: #6fa5ff;
  transform: rotate(-12deg);
}

.section--menu__ray--right-3 {
  top: 70%;
  right: 0;
  color: #6fa5ff;
  transform: rotate(4deg);
}

.section--menu__title {
  margin-bottom: var(--heading-lead-gap);
  color: var(--color-text);
  text-align: center;
  letter-spacing: 0.02em;
  text-shadow:
    -0.08em 0 0.35rem rgba(255, 37, 107, 0.95),
    0.08em 0 0.35rem rgba(35, 177, 255, 0.95);
}

.section--menu__intro {
  max-width: 34em;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.94);
  line-height: 1.75;
  white-space: pre-line;
}

/* ==============================
   メインプラン
============================== */

.section--menu__plan {
  position: relative;
  overflow: hidden;
  border: 0.1rem solid #ff80ac;
  border-radius: var(--radius-large);
  background: #13030b;
  box-shadow:
    0 0 0.35rem #ff2f78,
    0 0 1.2rem rgba(255, 32, 108, 0.75),
    inset 0 0 1.2rem rgba(255, 36, 112, 0.18);
}

.section--menu__plan-image {
  position: absolute;
  inset: 0;
}

.section--menu__plan-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.section--menu__plan-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(10, 0, 8, 0.98) 0%,
      rgba(20, 0, 12, 0.88) 43%,
      rgba(8, 0, 9, 0.15) 76%
    ),
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.08),
      rgba(0, 0, 0, 0.5)
    );
}

.section--menu__plan-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: var(--card-padding);
}

.section--menu__plan-duration {
  margin: 0;
  color: var(--color-text);
  font-size: 26px;
  text-shadow:
    0 0 0.35rem #ff205f,
    0 0 0.8rem rgba(255, 32, 95, 0.8);
}

.section--menu__plan-price {
  display: flex;
  align-items: flex-end;
  gap: 0.35rem;
  margin: 0;
  color: #fff5e2;
  font-size: 50px;
  line-height: 0.9;
  text-shadow:
    0 0 0.25rem #ff4b37,
    0 0 0.8rem rgba(255, 67, 45, 0.95);
}

.section--menu__plan-price-value {
  font-size: 60px;
  line-height: 1;
  letter-spacing: -0.04em;
}

.section--menu__plan-price-unit {
  margin-left: 6px;
  padding-bottom: 0;
  color: var(--color-text);
  font-size: 35px;
  line-height: 1;
}

.section--menu__plan-title {
  margin: 0 0 6px;
  color: var(--color-text);
  font-size: 30px;
  letter-spacing: 0.04em;
  text-shadow:
    0 0 0.3rem #ff195c,
    0 0 0.8rem rgba(255, 25, 92, 0.9);
}

.section--menu__plan-note {
  margin: 0 0 6px;
  color: var(--color-text-soft);
  font-size: 12px;
  white-space: pre-line;
}

.section--menu__plan-caution {
  margin: 0;
  color: var(--color-text);
  font-size: 12px;
  border: 0.0625rem solid rgba(255, 93, 147, 0.8);
  border-radius: var(--radius-small);
  background: rgba(4, 0, 5, 0.62);
}

/* ==============================
   メニューカード一覧
============================== */

.section--menu__items {
  display: grid;
  gap: var(--content-item-gap);
  margin-top: var(--content-item-gap);
}

.section--menu__item {
  position: relative;
  min-height: 11.5rem;
  overflow: hidden;
  color: var(--item-accent);
  border: 0.1rem solid currentColor;
  border-radius: var(--radius-medium);
  background: #05030a;
}

/* ピンクカード */

.section--menu__item--pink {
  --item-accent: #ff8fbd;
  --item-overlay-start: rgba(56, 3, 30, 0.98);
  --item-overlay-middle: rgba(39, 3, 23, 0.9);
  --item-overlay-end: rgba(18, 2, 11, 0.22);

  box-shadow:
    0 0 0.35rem rgba(255, 38, 126, 0.9),
    0 0 1rem rgba(255, 38, 126, 0.48);
}

/* ブルーカード */

.section--menu__item--blue {
  --item-accent: #8fc9ff;
  --item-overlay-start: rgba(2, 25, 51, 0.98);
  --item-overlay-middle: rgba(2, 20, 42, 0.9);
  --item-overlay-end: rgba(2, 12, 24, 0.22);

  box-shadow:
    0 0 0.35rem rgba(61, 153, 255, 0.9),
    0 0 1rem rgba(61, 153, 255, 0.48);
}

/* パープルカード */

.section--menu__item--purple {
  --item-accent: #c5a1ff;
  --item-overlay-start: rgba(31, 11, 58, 0.98);
  --item-overlay-middle: rgba(24, 8, 47, 0.9);
  --item-overlay-end: rgba(14, 4, 27, 0.22);

  box-shadow:
    0 0 0.35rem rgba(146, 85, 255, 0.9),
    0 0 1rem rgba(146, 85, 255, 0.48);
}

.section--menu__item-image {
  position: absolute;
  inset: 0;
}

.section--menu__item-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.section--menu__item-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      var(--item-overlay-start) 0%,
      var(--item-overlay-middle) 42%,
      var(--item-overlay-end) 78%
    ),
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.02),
      rgba(0, 0, 0, 0.35)
    );
}

.section--menu__item-content {
  position: relative;
  z-index: 1;
  display: flex;
  min-height: 11.5rem;
  flex-direction: column;
  justify-content: center;
  padding:
    var(--card-padding)
    44%
    var(--card-padding)
    var(--card-padding);
}

.section--menu__item-title {
  margin: 0 0 var(--space-xs);
  color: var(--item-accent);
  font-size: 36px;
  letter-spacing: 0.04em;
  text-shadow:
    0 0 0.3rem currentColor,
    0 0 0.85rem currentColor;
}

.section--menu__item-description {
  margin: 0;
  color: rgba(255, 255, 255, 0.94);
  font-size: 13px;
  line-height: 1.7;
  white-space: pre-line;
}

/* ==============================
   締めテキスト
============================== */

.section--menu__closing {
  margin: var(--heading-content-gap) auto 0;
  color: #ff99bd;
  font-size: 16px;
  text-align: center;
  line-height: 1.7;
  letter-spacing: 0.08em;
  white-space: pre-line;
  text-shadow:
    0 0 0.35rem #ff296b,
    0 0 0.85rem rgba(255, 41, 107, 0.8);
}

/* === inspector overrides === */
/* 検証モードで変更：2026/7/30 13:28:22 */
.tpl-scope-manual-sec-1785139341878-fcnwo .section--menu__plan-caution {
  font-size: 13px !important;
  padding-right: 2px !important;
  padding-left: 0px !important;
  color: rgba(255, 255, 255, 0.92) !important;
}
.tpl-scope-manual-sec-1785139341878-fcnwo .section--menu__item-title {
  font-size: 36px !important;
}
.tpl-scope-manual-sec-1785139341878-fcnwo .section--menu__eyebrow-text {
  font-size: 30px !important;
}
.tpl-scope-manual-sec-1785139341878-fcnwo .section--menu__title {
  font-size: 42px !important;
}
.tpl-scope-manual-sec-1785139341878-fcnwo .section--menu__plan-note {
  color: #fff !important;
}
.tpl-scope-manual-sec-1785139341878-fcnwo [data-iid="iid-ms4e9i0p-o8kng"] {
  color: #ffadcf !important;
}

.tpl-scope-manual-sec-1785139341878-fcnwo .section--menu__plan-price {
  margin-top: -4px !important;
}
.tpl-scope-manual-sec-1785139341878-fcnwo .section--menu__intro {
  margin-bottom: 30px !important;
}
.tpl-scope-manual-sec-1785139341878-fcnwo [data-iid="iid-ms70jnyu-8os5q"] {
  margin-bottom: 34px !important;
}
/* === end inspector overrides === */
/* AI編集: 2026/7/28 15:32:01 */
.tpl-scope-manual-sec-1785139341878-fcnwo .section--menu__plan-caution {
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
}
.section--staff {
  position: relative;
  width: 100%;
  overflow: hidden;
  color: var(--color-text);
  background: #050505;
  isolation: isolate;
}

.section--staff__background {
  position: absolute;
  inset: 0;
  z-index: -2;
}

.section--staff__background::after {
  position: absolute;
  inset: 0;
  content: "";
  background: rgba(0, 0, 0, 0.66);
}

.section--staff__background img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.52;
}

.section--staff__inner {
  position: relative;
  padding-block: var(--section-padding-y);
}

/* ==============================
   ヘッダー
============================== */

.section--staff__header {
  margin-bottom: var(--heading-content-gap);
  text-align: center;
}

.section--staff__eyebrow-row {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  margin-bottom: var(--heading-eyebrow-gap);
}

.section--staff__eyebrow {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--color-text);
  font-size: 30px;
  letter-spacing: 0.02em;
  text-shadow:
    0 0 3px #ffffff,
    0 0 8px #ff368d,
    0 0 15px #ff006e,
    0 0 24px #ff006e;
  transform: rotate(-2deg);
}

.section--staff__ray {
  position: absolute;
  display: block;
  width: 28px;
  height: 2px;
  color: #ff397f;
  border-radius: var(--radius-pill);
  background: currentColor;
  box-shadow:
    0 0 4px currentColor,
    0 0 9px currentColor;
}

.section--staff__ray--left-1 {
  top: 30%;
  left: 0;
  color: #6fa5ff;
  transform: rotate(25deg);
}

.section--staff__ray--left-2 {
  top: 50%;
  left: -2px;
  color: #ff397f;
  transform: rotate(10deg);
}

.section--staff__ray--left-3 {
  top: 70%;
  left: 0;
  color: #6fa5ff;
  transform: rotate(-3deg);
}

.section--staff__ray--right-1 {
  top: 30%;
  right: 0;
  color: #ff397f;
  transform: rotate(-35deg);
}

.section--staff__ray--right-2 {
  top: 50%;
  right: -2px;
  color: #6fa5ff;
  transform: rotate(-12deg);
}

.section--staff__ray--right-3 {
  top: 70%;
  right: 0;
  color: #6fa5ff;
  transform: rotate(4deg);
}

.section--staff__title {
  margin-bottom: var(--heading-lead-gap);
  color: var(--color-text);
  letter-spacing: 0.08em;
  text-shadow:
    0 0 0.3rem var(--color-pink-bright),
    0 0 0.9rem var(--color-pink-bright),
    0 0 1.6rem rgba(255, 47, 151, 0.78);
}

.section--staff__lead {
  margin: 0 auto var(--space-sm);
  line-height: 1.9;
  letter-spacing: 0.08em;
  white-space: pre-line;
}

.section--staff__scribble {
  display: block;
  width: 72%;
  height: auto;
  margin: 0 auto;
  overflow: visible;
  fill: none;
  stroke: #ff5aad;
  stroke-width: 2;
  stroke-linecap: round;
  filter:
    drop-shadow(0 0 0.25rem var(--color-pink-bright))
    drop-shadow(0 0 0.65rem rgba(255, 47, 151, 0.8));
}

/* ==============================
   スタッフ一覧
============================== */

.section--staff__profiles {
  display: flex;
  flex-direction: column;
  gap: var(--content-block-gap);
}

.section--staff__profile {
  position: relative;
}

.section--staff__photo {
  position: relative;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 4 / 3.15;
}

.section--staff__photo::after {
  position: absolute;
  inset: auto 0 0;
  height: 32%;
  content: "";
  background: linear-gradient(
    to bottom,
    transparent,
    rgba(0, 0, 0, 0.88)
  );
}

.section--staff__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ==============================
   スタッフカード
============================== */

.section--staff__card {
  position: relative;
  z-index: 1;
  width: calc(100% - 2.5rem);
  margin: -60px auto 0;
  padding: var(--card-padding);
  color: var(--staff-accent);
  text-align: center;
  border: 0.1rem solid currentColor;
  border-radius: var(--radius-medium);
  background: rgba(15, 14, 17, 0.96);
}

.section--staff__profile--pink {
  --staff-accent: #ff70b6;
}

.section--staff__profile--pink .section--staff__card {
  box-shadow:
    0 0 0.35rem rgba(255, 93, 174, 0.9),
    0 0 1rem rgba(255, 47, 151, 0.48);
}

.section--staff__profile--blue {
  --staff-accent: #69bfff;
}

.section--staff__profile--blue .section--staff__card {
  box-shadow:
    0 0 0.35rem rgba(83, 177, 255, 0.9),
    0 0 1rem rgba(45, 129, 255, 0.48);
}

.section--staff__role {
  margin: 0 0 0.2rem;
  font-size: 16px;
  letter-spacing: 0.12em;
}

.section--staff__name {
  margin: 0 0 var(--space-xs);
  font-size: 23px;
  letter-spacing: 0.12em;
}

.section--staff__divider {
  display: block;
  width: 54%;
  height: 0.1rem;
  margin: 0 auto var(--space-sm);
  background: currentColor;
  box-shadow: 0 0 0.45rem currentColor;
}

.section--staff__description {
  margin: 0;
  color: var(--color-text);
  font-size: 12px;
  line-height: 1.8;
  letter-spacing: 0.04em;
  white-space: pre-line;
}

/* ==============================
   フッター
============================== */

.section--staff__closing {
  padding-top: var(--content-block-gap);
  text-align: center;
}

.section--staff__closing-accent-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  margin-bottom: 0;
}

.section--staff__closing-accent {
  margin: 0;
  color: #ff73b9;
  font-size: 16px;
  text-shadow:
    0 0 0.3rem var(--color-pink-bright),
    0 0 0.8rem rgba(255, 47, 151, 0.9);
}

.section--staff__closing-rays {
  width: 2.8rem;
  height: auto;
  overflow: visible;
  fill: none;
  stroke: #ff4da9;
  stroke-width: 3;
  stroke-linecap: round;
  filter: drop-shadow(0 0 0.3rem currentColor);
}

.section--staff__closing-rays path:nth-child(2) {
  stroke: #5cbcff;
}

.section--staff__closing-rays path:nth-child(3) {
  stroke: #c183ff;
}

.section--staff__closing-rays--right {
  transform: scaleX(-1);
}

.section--staff__closing-text {
  margin: 0;
  font-size: 16px;
  line-height: 1.65;
  letter-spacing: 0.06em;
}

/* === inspector overrides === */
/* 検証モードで変更：2026/7/30 13:24:04 */
.tpl-scope-manual-sec-1785139386067-2mk89 .section--staff__description {
  font-size: 13px !important;
}
.tpl-scope-manual-sec-1785139386067-2mk89 .section--staff__eyebrow {
  font-size: 30px !important;
}
.tpl-scope-manual-sec-1785139386067-2mk89 .section--staff__title {
  letter-spacing: 5.68px !important;
  font-size: 42px !important;
}

/* === end inspector overrides === */
@media (max-width: 768px) {
.section--staff {
  position: relative;
  width: 100%;
  overflow: hidden;
  color: var(--color-text);
  background: #050505;
  isolation: isolate;
}

.section--staff__background {
  position: absolute;
  inset: 0;
  z-index: -2;
}

.section--staff__background::after {
  position: absolute;
  inset: 0;
  content: "";
  background: rgba(0, 0, 0, 0.66);
}

.section--staff__background img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.52;
}

.section--staff__inner {
  position: relative;
  padding-block: var(--section-padding-y);
}

/* ==============================
   ヘッダー
============================== */

.section--staff__header {
  margin-bottom: var(--heading-content-gap);
  text-align: center;
}

.section--staff__eyebrow-row {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  margin-bottom: var(--heading-eyebrow-gap);
}

.section--staff__eyebrow {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--color-text);
  font-size: 30px;
  letter-spacing: 0.02em;
  text-shadow:
    0 0 3px #ffffff,
    0 0 8px #ff368d,
    0 0 15px #ff006e,
    0 0 24px #ff006e;
  transform: rotate(-2deg);
}

.section--staff__ray {
  position: absolute;
  display: block;
  width: 28px;
  height: 2px;
  color: #ff397f;
  border-radius: var(--radius-pill);
  background: currentColor;
  box-shadow:
    0 0 4px currentColor,
    0 0 9px currentColor;
}

.section--staff__ray--left-1 {
  top: 30%;
  left: 0;
  color: #6fa5ff;
  transform: rotate(25deg);
}

.section--staff__ray--left-2 {
  top: 50%;
  left: -2px;
  color: #ff397f;
  transform: rotate(10deg);
}

.section--staff__ray--left-3 {
  top: 70%;
  left: 0;
  color: #6fa5ff;
  transform: rotate(-3deg);
}

.section--staff__ray--right-1 {
  top: 30%;
  right: 0;
  color: #ff397f;
  transform: rotate(-35deg);
}

.section--staff__ray--right-2 {
  top: 50%;
  right: -2px;
  color: #6fa5ff;
  transform: rotate(-12deg);
}

.section--staff__ray--right-3 {
  top: 70%;
  right: 0;
  color: #6fa5ff;
  transform: rotate(4deg);
}

.section--staff__title {
  margin-bottom: var(--heading-lead-gap);
  color: var(--color-text);
  letter-spacing: 0.08em;
  text-shadow:
    0 0 0.3rem var(--color-pink-bright),
    0 0 0.9rem var(--color-pink-bright),
    0 0 1.6rem rgba(255, 47, 151, 0.78);
}

.section--staff__lead {
  margin: 0 auto var(--space-sm);
  line-height: 1.9;
  letter-spacing: 0.08em;
  white-space: pre-line;
}

.section--staff__scribble {
  display: block;
  width: 72%;
  height: auto;
  margin: 0 auto;
  overflow: visible;
  fill: none;
  stroke: #ff5aad;
  stroke-width: 2;
  stroke-linecap: round;
  filter:
    drop-shadow(0 0 0.25rem var(--color-pink-bright))
    drop-shadow(0 0 0.65rem rgba(255, 47, 151, 0.8));
}

/* ==============================
   スタッフ一覧
============================== */

.section--staff__profiles {
  display: flex;
  flex-direction: column;
  gap: var(--content-block-gap);
}

.section--staff__profile {
  position: relative;
}

.section--staff__photo {
  position: relative;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 4 / 3.15;
}

.section--staff__photo::after {
  position: absolute;
  inset: auto 0 0;
  height: 32%;
  content: "";
  background: linear-gradient(
    to bottom,
    transparent,
    rgba(0, 0, 0, 0.88)
  );
}

.section--staff__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ==============================
   スタッフカード
============================== */

.section--staff__card {
  position: relative;
  z-index: 1;
  width: calc(100% - 2.5rem);
  margin: -60px auto 0;
  padding: var(--card-padding);
  color: var(--staff-accent);
  text-align: center;
  border: 0.1rem solid currentColor;
  border-radius: var(--radius-medium);
  background: rgba(15, 14, 17, 0.96);
}

.section--staff__profile--pink {
  --staff-accent: #ff70b6;
}

.section--staff__profile--pink .section--staff__card {
  box-shadow:
    0 0 0.35rem rgba(255, 93, 174, 0.9),
    0 0 1rem rgba(255, 47, 151, 0.48);
}

.section--staff__profile--blue {
  --staff-accent: #69bfff;
}

.section--staff__profile--blue .section--staff__card {
  box-shadow:
    0 0 0.35rem rgba(83, 177, 255, 0.9),
    0 0 1rem rgba(45, 129, 255, 0.48);
}

.section--staff__role {
  margin: 0 0 0.2rem;
  font-size: 16px;
  letter-spacing: 0.12em;
}

.section--staff__name {
  margin: 0 0 var(--space-xs);
  font-size: 23px;
  letter-spacing: 0.12em;
}

.section--staff__divider {
  display: block;
  width: 54%;
  height: 0.1rem;
  margin: 0 auto var(--space-sm);
  background: currentColor;
  box-shadow: 0 0 0.45rem currentColor;
}

.section--staff__description {
  margin: 0;
  color: var(--color-text);
  font-size: 12px;
  line-height: 1.8;
  letter-spacing: 0.04em;
  white-space: pre-line;
}

/* ==============================
   フッター
============================== */

.section--staff__closing {
  padding-top: var(--content-block-gap);
  text-align: center;
}

.section--staff__closing-accent-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  margin-bottom: 0;
}

.section--staff__closing-accent {
  margin: 0;
  color: #ff73b9;
  font-size: 16px;
  text-shadow:
    0 0 0.3rem var(--color-pink-bright),
    0 0 0.8rem rgba(255, 47, 151, 0.9);
}

.section--staff__closing-rays {
  width: 2.8rem;
  height: auto;
  overflow: visible;
  fill: none;
  stroke: #ff4da9;
  stroke-width: 3;
  stroke-linecap: round;
  filter: drop-shadow(0 0 0.3rem currentColor);
}

.section--staff__closing-rays path:nth-child(2) {
  stroke: #5cbcff;
}

.section--staff__closing-rays path:nth-child(3) {
  stroke: #c183ff;
}

.section--staff__closing-rays--right {
  transform: scaleX(-1);
}

.section--staff__closing-text {
  margin: 0;
  font-size: 16px;
  line-height: 1.65;
  letter-spacing: 0.06em;
}

/* === inspector overrides === */
/* 検証モードで変更：2026/7/30 13:24:04 */
.tpl-scope-manual-sec-1785139386067-2mk89 .section--staff__description {
  font-size: 13px !important;
}
.tpl-scope-manual-sec-1785139386067-2mk89 .section--staff__eyebrow {
  font-size: 30px !important;
}
.tpl-scope-manual-sec-1785139386067-2mk89 .section--staff__title {
  letter-spacing: 5.68px !important;
  font-size: 42px !important;
}

/* === end inspector overrides === */
}
/* === inspector overrides === */
/* 検証モードで変更：2026/7/30 13:27:27 */
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__more-label {
  font-weight: 500 !important;
}
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__more {
  width: 325.297px !important;
  height: 74.3906px !important;
  font-size: 16px !important;
  font-weight: 500 !important;
}
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__title {
  letter-spacing: 5.68px !important;
  font-size: 42px !important;
}
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk [data-iid="iid-ms70hyif-qyhvw"] {
  margin-bottom: 30px !important;
}
/* === end inspector overrides === */
@media (max-width: 768px) {
/* === inspector overrides === */
/* 検証モードで変更：2026/7/30 13:27:27 */
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__more-label {
  font-weight: 500 !important;
}
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__more {
  width: 325.297px !important;
  height: 74.3906px !important;
  font-size: 16px !important;
  font-weight: 500 !important;
}
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk .section--gallery__title {
  letter-spacing: 5.68px !important;
  font-size: 42px !important;
}
.tpl-scope-cmqj9pofh00gq0h3y5a71j8fk [data-iid="iid-ms70hyif-qyhvw"] {
  margin-bottom: 30px !important;
}
/* === end inspector overrides === */
}
/* === inspector overrides === */
/* 検証モードで変更：2026/7/30 13:26:48 */
.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__intro {
  height: 51.3125px !important;
}
.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__title {
  margin-bottom: -8px !important;
  letter-spacing: 5.68px !important;
  font-size: 42px !important;
}
.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__closing {
  font-size: 16px !important;
}
.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__note {
  font-size: 13px !important;
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a img {
  margin-top: 0px !important;
}

/* === end inspector overrides === */
@media (max-width: 768px) {
/* === inspector overrides === */
/* 検証モードで変更：2026/7/30 13:26:48 */
.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__intro {
  height: 51.3125px !important;
}
.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__title {
  margin-bottom: -8px !important;
  letter-spacing: 5.68px !important;
  font-size: 42px !important;
}
.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__closing {
  font-size: 16px !important;
}
.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a .section--voice__note {
  font-size: 13px !important;
}

.tpl-scope-cmrve4ypn0pi00h2h2sm0y90a img {
  margin-top: 0px !important;
}

/* === end inspector overrides === */
}
.section--access {
  position: relative;
  width: 100%;
  overflow: hidden;
  color: var(--color-text);
  background:
    radial-gradient(
      circle at 50% 12%,
      rgba(255, 0, 115, 0.11),
      transparent 24%
    ),
    #000000;
}

.section--access__inner {
  padding-block: var(--section-padding-y);
}

/* ==============================
   ヘッダー
============================== */

.section--access__header {
  position: relative;
  margin-bottom: var(--heading-content-gap);
  text-align: center;
}

.section--access__eyebrow-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  margin-bottom: var(--heading-eyebrow-gap);
}

.section--access__eyebrow {
  margin: 0;
  color: var(--color-text);
  font-size: 30px;
  letter-spacing: 0.02em;
  text-shadow:
    0 0 3px #ffffff,
    0 0 8px #ff368d,
    0 0 15px #ff006e,
    0 0 24px #ff006e;
  transform: rotate(-2deg);
}

.section--access__ray {
  position: absolute;
  display: block;
  width: 28px;
  height: 2px;
  border-radius: var(--radius-pill);
  background: currentColor;
  box-shadow:
    0 0 4px currentColor,
    0 0 9px currentColor;
}

.section--access__ray--left-1 {
  top: 30%;
  left: 0;
  color: #6fa5ff;
  transform: rotate(25deg);
}

.section--access__ray--left-2 {
  top: 50%;
  left: -2px;
  color: #ff397f;
  transform: rotate(10deg);
}

.section--access__ray--left-3 {
  top: 70%;
  left: 0;
  color: #6fa5ff;
  transform: rotate(-3deg);
}

.section--access__ray--right-1 {
  top: 30%;
  right: 0;
  color: #ff397f;
  transform: rotate(-35deg);
}

.section--access__ray--right-2 {
  top: 50%;
  right: -2px;
  color: #6fa5ff;
  transform: rotate(-12deg);
}

.section--access__ray--right-3 {
  top: 70%;
  right: 0;
  color: #6fa5ff;
  transform: rotate(4deg);
}

.section--access__title {
  margin-bottom: var(--space-xs);
  color: var(--color-text);
  letter-spacing: 0.16em;
  text-shadow:
    0 0 3px #ffffff,
    0 0 8px #ff4a94,
    0 0 16px #ff006e,
    0 0 27px #ff006e;
}

.section--access__title-line {
  width: 62%;
  height: 2px;
  margin: 0 auto var(--heading-lead-gap);
  background: linear-gradient(
    90deg,
    transparent,
    #ff9cc4 12%,
    #ffffff 50%,
    #ff9cc4 88%,
    transparent
  );
  box-shadow:
    0 0 5px #ff4c94,
    0 0 10px rgba(255, 0, 110, 0.8);
}

.section--access__lead {
  margin: 0 auto;
  color: var(--color-text);
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: 0.05em;
  white-space: pre-line;
}

/* ==============================
   Googleマップ
============================== */

.section--access__map {
  position: relative;
  width: 100%;
  overflow: hidden;
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-large);
  background: #141414;
  box-shadow:
    0 0 5px rgba(255, 255, 255, 0.75),
    0 0 12px rgba(255, 0, 110, 0.55);
}

.section--access__map iframe {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  border: 0;
}

/* ==============================
   店舗情報
============================== */

.section--access__information {
  display: grid;
  gap: 6px;
  margin: var(--content-item-gap) auto;
}

.section--access__information-row {
  position: relative;
  display: grid;
  grid-template-columns: 27% 73%;
  min-height: 40px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.92);
  border-radius: var(--radius-medium);
  background: linear-gradient(
    90deg,
    rgba(255, 0, 110, 0.08),
    rgba(0, 0, 0, 0.92) 30%,
    rgba(0, 0, 0, 0.96)
  );
  box-shadow:
    inset 0 0 7px rgba(255, 0, 110, 0.2),
    0 0 5px rgba(255, 255, 255, 0.45),
    0 0 10px rgba(255, 0, 110, 0.35);
}

.section--access__information-label {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 6px 8px;
  color: #ff5ba4;
  text-align: center;
  line-height: 1.3;
}

.section--access__information-content {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: center;
  align-items: baseline;
  min-width: 0;
  margin: 0;
  padding: 6px 12px;
  color: var(--color-text);
  line-height: 1.35;
  letter-spacing: 0.025em;
  border-left: 1px solid rgba(255, 0, 110, 0.72);
}

.section--access__information-text {
  display: inline;
  white-space: pre-line;
}

.section--access__information-accent {
  display: inline;
  margin-right: 2px;
  margin-left: 2px;
  color: var(--color-pink);
  font-size: 20px;
  white-space: pre-line;
  text-shadow:
    0 0 3px rgba(255, 255, 255, 0.65),
    0 0 8px #ff006e;
}

.section--access__information-accent:empty {
  display: none;
}

.section--access__information-note {
  display: block;
  flex: 0 0 100%;
  width: 100%;
  margin-top: 2px;
  color: var(--color-text-soft);
  line-height: 1.3;
  white-space: pre-line;
}

.section--access__information-note:empty {
  display: none;
}

/* ==============================
   店舗画像
============================== */

.section--access__shop-image {
  width: 100%;
  overflow: hidden;
  border-radius: var(--radius-large);
  background: #090909;
}

.section--access__shop-image img {
  display: block;
  width: 100%;
  aspect-ratio: 1.85 / 1;
  object-fit: cover;
}

/* ==============================
   CTA
============================== */

.section--access__cta-wrap {
  position: relative;
  margin-top: var(--button-margin-top);
  text-align: center;
}

.section--access__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-md);
  width: calc(100% - 38px);
  min-height: 64px;
  margin: 0 auto;
  padding: 12px 24px;
  color: var(--color-text);
  text-decoration: none;
  border: 2px solid #ffffff;
  border-radius: var(--radius-pill);
  background: linear-gradient(180deg, #ff0877, #ed0063);
  box-shadow:
    inset 0 0 12px rgba(255, 255, 255, 0.25),
    0 0 7px #ffffff,
    0 0 18px #ff0072,
    0 0 28px rgba(255, 0, 114, 0.7);
}

.section--access__cta:hover {
  box-shadow:
    inset 0 0 12px rgba(255, 255, 255, 0.32),
    0 0 9px #ffffff,
    0 0 22px #ff0072,
    0 0 34px rgba(255, 0, 114, 0.78);
}

.section--access__instagram-icon {
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.section--access__cta-label {
  flex: 1 1 auto;
  font-size: 18px;
  text-align: center;
  letter-spacing: 0.04em;
}

.section--access__arrow-icon {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.section--access__reservation-note {
  margin: var(--space-sm) 0 0;
  color: var(--color-text-soft);
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.03em;
  white-space: pre-line;
}

/* === inspector overrides === */
/* 検証モードで変更：2026/7/30 13:26:02 */
.tpl-scope-manual-sec-1785139423657-2diz2 .section--access__reservation-note {
  font-size: 12px !important;
}
.tpl-scope-manual-sec-1785139423657-2diz2 .section--access__eyebrow {
  font-size: 30px !important;
}
.tpl-scope-manual-sec-1785139423657-2diz2 .section--access__map {
  margin-top: 30px !important;
}
.tpl-scope-manual-sec-1785139423657-2diz2 .section--access__information-row {
  margin-top: 2px !important;
  padding-top: 16px !important;
  padding-bottom: 16px !important;
  padding-right: 4px !important;
}
.tpl-scope-manual-sec-1785139423657-2diz2 [data-iid="iid-ms49mpkw-dpuva"] {
  margin-top: 8px !important;
}
.tpl-scope-manual-sec-1785139423657-2diz2 .section--access__cta-label {
  font-weight: 500 !important;
}
.tpl-scope-manual-sec-1785139423657-2diz2 .section--access__information-label {
  font-weight: 500 !important;
}
.tpl-scope-manual-sec-1785139423657-2diz2 .section--access__information-text {
  font-weight: 500 !important;
}
.tpl-scope-manual-sec-1785139423657-2diz2 .section--access__information-note {
  font-weight: 500 !important;
}
.tpl-scope-manual-sec-1785139423657-2diz2 .section--access__information-accent {
  font-weight: 500 !important;
}
.tpl-scope-manual-sec-1785139423657-2diz2 .section--access__cta {
  height: 74px !important;
}
.tpl-scope-manual-sec-1785139423657-2diz2 .section--access__cta-wrap {
  margin-top: 24px !important;
}
.tpl-scope-manual-sec-1785139423657-2diz2 .section--access__title {
  letter-spacing: 5.68px !important;
  font-size: 42px !important;
}
.tpl-scope-manual-sec-1785139423657-2diz2 .section--access__lead {
  margin-bottom: 30px !important;
}
/* === end inspector overrides === */
@media (max-width: 768px) {
.section--access {
  position: relative;
  width: 100%;
  overflow: hidden;
  color: var(--color-text);
  background:
    radial-gradient(
      circle at 50% 12%,
      rgba(255, 0, 115, 0.11),
      transparent 24%
    ),
    #000000;
}

.section--access__inner {
  padding-block: var(--section-padding-y);
}

/* ==============================
   ヘッダー
============================== */

.section--access__header {
  position: relative;
  margin-bottom: var(--heading-content-gap);
  text-align: center;
}

.section--access__eyebrow-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  margin-bottom: var(--heading-eyebrow-gap);
}

.section--access__eyebrow {
  margin: 0;
  color: var(--color-text);
  font-size: 30px;
  letter-spacing: 0.02em;
  text-shadow:
    0 0 3px #ffffff,
    0 0 8px #ff368d,
    0 0 15px #ff006e,
    0 0 24px #ff006e;
  transform: rotate(-2deg);
}

.section--access__ray {
  position: absolute;
  display: block;
  width: 28px;
  height: 2px;
  border-radius: var(--radius-pill);
  background: currentColor;
  box-shadow:
    0 0 4px currentColor,
    0 0 9px currentColor;
}

.section--access__ray--left-1 {
  top: 30%;
  left: 0;
  color: #6fa5ff;
  transform: rotate(25deg);
}

.section--access__ray--left-2 {
  top: 50%;
  left: -2px;
  color: #ff397f;
  transform: rotate(10deg);
}

.section--access__ray--left-3 {
  top: 70%;
  left: 0;
  color: #6fa5ff;
  transform: rotate(-3deg);
}

.section--access__ray--right-1 {
  top: 30%;
  right: 0;
  color: #ff397f;
  transform: rotate(-35deg);
}

.section--access__ray--right-2 {
  top: 50%;
  right: -2px;
  color: #6fa5ff;
  transform: rotate(-12deg);
}

.section--access__ray--right-3 {
  top: 70%;
  right: 0;
  color: #6fa5ff;
  transform: rotate(4deg);
}

.section--access__title {
  margin-bottom: var(--space-xs);
  color: var(--color-text);
  letter-spacing: 0.16em;
  text-shadow:
    0 0 3px #ffffff,
    0 0 8px #ff4a94,
    0 0 16px #ff006e,
    0 0 27px #ff006e;
}

.section--access__title-line {
  width: 62%;
  height: 2px;
  margin: 0 auto var(--heading-lead-gap);
  background: linear-gradient(
    90deg,
    transparent,
    #ff9cc4 12%,
    #ffffff 50%,
    #ff9cc4 88%,
    transparent
  );
  box-shadow:
    0 0 5px #ff4c94,
    0 0 10px rgba(255, 0, 110, 0.8);
}

.section--access__lead {
  margin: 0 auto;
  color: var(--color-text);
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: 0.05em;
  white-space: pre-line;
}

/* ==============================
   Googleマップ
============================== */

.section--access__map {
  position: relative;
  width: 100%;
  overflow: hidden;
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-large);
  background: #141414;
  box-shadow:
    0 0 5px rgba(255, 255, 255, 0.75),
    0 0 12px rgba(255, 0, 110, 0.55);
}

.section--access__map iframe {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  border: 0;
}

/* ==============================
   店舗情報
============================== */

.section--access__information {
  display: grid;
  gap: 6px;
  margin: var(--content-item-gap) auto;
}

.section--access__information-row {
  position: relative;
  display: grid;
  grid-template-columns: 27% 73%;
  min-height: 40px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.92);
  border-radius: var(--radius-medium);
  background: linear-gradient(
    90deg,
    rgba(255, 0, 110, 0.08),
    rgba(0, 0, 0, 0.92) 30%,
    rgba(0, 0, 0, 0.96)
  );
  box-shadow:
    inset 0 0 7px rgba(255, 0, 110, 0.2),
    0 0 5px rgba(255, 255, 255, 0.45),
    0 0 10px rgba(255, 0, 110, 0.35);
}

.section--access__information-label {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 6px 8px;
  color: #ff5ba4;
  text-align: center;
  line-height: 1.3;
}

.section--access__information-content {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: center;
  align-items: baseline;
  min-width: 0;
  margin: 0;
  padding: 6px 12px;
  color: var(--color-text);
  line-height: 1.35;
  letter-spacing: 0.025em;
  border-left: 1px solid rgba(255, 0, 110, 0.72);
}

.section--access__information-text {
  display: inline;
  white-space: pre-line;
}

.section--access__information-accent {
  display: inline;
  margin-right: 2px;
  margin-left: 2px;
  color: var(--color-pink);
  font-size: 20px;
  white-space: pre-line;
  text-shadow:
    0 0 3px rgba(255, 255, 255, 0.65),
    0 0 8px #ff006e;
}

.section--access__information-accent:empty {
  display: none;
}

.section--access__information-note {
  display: block;
  flex: 0 0 100%;
  width: 100%;
  margin-top: 2px;
  color: var(--color-text-soft);
  line-height: 1.3;
  white-space: pre-line;
}

.section--access__information-note:empty {
  display: none;
}

/* ==============================
   店舗画像
============================== */

.section--access__shop-image {
  width: 100%;
  overflow: hidden;
  border-radius: var(--radius-large);
  background: #090909;
}

.section--access__shop-image img {
  display: block;
  width: 100%;
  aspect-ratio: 1.85 / 1;
  object-fit: cover;
}

/* ==============================
   CTA
============================== */

.section--access__cta-wrap {
  position: relative;
  margin-top: var(--button-margin-top);
  text-align: center;
}

.section--access__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-md);
  width: calc(100% - 38px);
  min-height: 64px;
  margin: 0 auto;
  padding: 12px 24px;
  color: var(--color-text);
  text-decoration: none;
  border: 2px solid #ffffff;
  border-radius: var(--radius-pill);
  background: linear-gradient(180deg, #ff0877, #ed0063);
  box-shadow:
    inset 0 0 12px rgba(255, 255, 255, 0.25),
    0 0 7px #ffffff,
    0 0 18px #ff0072,
    0 0 28px rgba(255, 0, 114, 0.7);
}

.section--access__cta:hover {
  box-shadow:
    inset 0 0 12px rgba(255, 255, 255, 0.32),
    0 0 9px #ffffff,
    0 0 22px #ff0072,
    0 0 34px rgba(255, 0, 114, 0.78);
}

.section--access__instagram-icon {
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.section--access__cta-label {
  flex: 1 1 auto;
  font-size: 18px;
  text-align: center;
  letter-spacing: 0.04em;
}

.section--access__arrow-icon {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.section--access__reservation-note {
  margin: var(--space-sm) 0 0;
  color: var(--color-text-soft);
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.03em;
  white-space: pre-line;
}

/* === inspector overrides === */
/* 検証モードで変更：2026/7/30 13:26:02 */
.tpl-scope-manual-sec-1785139423657-2diz2 .section--access__reservation-note {
  font-size: 12px !important;
}
.tpl-scope-manual-sec-1785139423657-2diz2 .section--access__eyebrow {
  font-size: 30px !important;
}
.tpl-scope-manual-sec-1785139423657-2diz2 .section--access__map {
  margin-top: 30px !important;
}
.tpl-scope-manual-sec-1785139423657-2diz2 .section--access__information-row {
  margin-top: 2px !important;
  padding-top: 16px !important;
  padding-bottom: 16px !important;
  padding-right: 4px !important;
}
.tpl-scope-manual-sec-1785139423657-2diz2 [data-iid="iid-ms49mpkw-dpuva"] {
  margin-top: 8px !important;
}
.tpl-scope-manual-sec-1785139423657-2diz2 .section--access__cta-label {
  font-weight: 500 !important;
}
.tpl-scope-manual-sec-1785139423657-2diz2 .section--access__information-label {
  font-weight: 500 !important;
}
.tpl-scope-manual-sec-1785139423657-2diz2 .section--access__information-text {
  font-weight: 500 !important;
}
.tpl-scope-manual-sec-1785139423657-2diz2 .section--access__information-note {
  font-weight: 500 !important;
}
.tpl-scope-manual-sec-1785139423657-2diz2 .section--access__information-accent {
  font-weight: 500 !important;
}
.tpl-scope-manual-sec-1785139423657-2diz2 .section--access__cta {
  height: 74px !important;
}
.tpl-scope-manual-sec-1785139423657-2diz2 .section--access__cta-wrap {
  margin-top: 24px !important;
}
.tpl-scope-manual-sec-1785139423657-2diz2 .section--access__title {
  letter-spacing: 5.68px !important;
  font-size: 42px !important;
}
.tpl-scope-manual-sec-1785139423657-2diz2 .section--access__lead {
  margin-bottom: 30px !important;
}
/* === end inspector overrides === */
}
/* === inspector overrides === */
/* 検証モードで変更：2026/7/30 13:25:40 */
.tpl-scope-cmr06mdev0gom0h3xl7emstrp [data-iid="iid-ms49ntlq-fibx8"] {
  margin-bottom: 30px !important;
}
.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__badge.section--faq__badge--question {
  padding-bottom: 4px !important;
}
.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__question-text {
  font-weight: 500 !important;
}
.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__title {
  letter-spacing: 5.68px !important;
  font-size: 42px !important;
}
.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__lead {
  margin-bottom: 32px !important;
}
/* === end inspector overrides === */
@media (max-width: 768px) {
/* === inspector overrides === */
/* 検証モードで変更：2026/7/30 13:25:40 */
.tpl-scope-cmr06mdev0gom0h3xl7emstrp [data-iid="iid-ms49ntlq-fibx8"] {
  margin-bottom: 30px !important;
}
.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__badge.section--faq__badge--question {
  padding-bottom: 4px !important;
}
.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__question-text {
  font-weight: 500 !important;
}
.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__title {
  letter-spacing: 5.68px !important;
  font-size: 42px !important;
}
.tpl-scope-cmr06mdev0gom0h3xl7emstrp .section--faq__lead {
  margin-bottom: 32px !important;
}
/* === end inspector overrides === */
}
/* === inspector overrides === */
/* 検証モードで変更：2026/8/4 11:00:38 */
.tpl-scope-cta-footer-mobile .section--contact-footer__reserve-list {
  display: block !important;
}
.tpl-scope-cta-footer-mobile .section--contact-footer__lead {
  margin-bottom: 32px !important;
}
.tpl-scope-cta-footer-mobile .section--contact-footer__phone-button-label {
  font-weight: 500 !important;
}
.tpl-scope-cta-footer-mobile .section--contact-footer__title {
  letter-spacing: 5.68px !important;
  line-height: 58.2px !important;
  font-size: 42px !important;
}
.tpl-scope-cta-footer-mobile .section--contact-footer__reserve-link {
  margin-top: 12px !important;
}
/* === end inspector overrides === */
@media (max-width: 768px) {
/* === inspector overrides === */
/* 検証モードで変更：2026/8/4 11:00:38 */
.tpl-scope-cta-footer-mobile .section--contact-footer__reserve-list {
  display: block !important;
}
.tpl-scope-cta-footer-mobile .section--contact-footer__lead {
  margin-bottom: 32px !important;
}
.tpl-scope-cta-footer-mobile .section--contact-footer__phone-button-label {
  font-weight: 500 !important;
}
.tpl-scope-cta-footer-mobile .section--contact-footer__title {
  letter-spacing: 5.68px !important;
  line-height: 58.2px !important;
  font-size: 42px !important;
}
.tpl-scope-cta-footer-mobile .section--contact-footer__reserve-link {
  margin-top: 12px !important;
}
/* === end inspector overrides === */
}
/* === inspector overrides === */
/* 検証モードで変更：2026/7/28 12:39:53 */
.tpl-scope-sidepart-left-menu-mobile .left-menu-btn-link {
  color: #F5F1EB !important;
}
.tpl-scope-sidepart-left-menu-mobile .left-menu-txt {
  color: #F5F1EB !important;
  font-weight: 600 !important;
}
/* === end inspector overrides === */
@media (max-width: 768px) {
/* === inspector overrides === */
/* 検証モードで変更：2026/7/28 12:39:53 */
.tpl-scope-sidepart-left-menu-mobile .left-menu-btn-link {
  color: #F5F1EB !important;
}
.tpl-scope-sidepart-left-menu-mobile .left-menu-txt {
  color: #F5F1EB !important;
  font-weight: 600 !important;
}
/* === end inspector overrides === */
}
*,
*::before,
*::after {box-sizing: border-box}

:root {
  /* Font */
  --font-family-base: sans-serif;

  /* Color */
  --color-text: #ffffff;
  --color-text-soft: rgba(255, 255, 255, 0.92);
  --color-background: #020205;
  --color-background-deep: #020107;
  --color-card: rgba(8, 6, 10, 0.94);
  --color-pink: #ff4f99;
  --color-pink-bright: #ff2f97;
  --color-pink-soft: #ff78bc;
  --color-blue: #65cfff;
  --color-purple: #b47cff;
  --color-border-light: rgba(255, 255, 255, 0.9);

  /* Layout */
  --inner-width: 1120px;
  --container-padding-x: 16px;
  --section-padding-y: 56px;

  /* Spacing */
  --space-xs: 8px;
  --space-sm: 14px;
  --space-md: 20px;
  --space-lg: 32px;
  --space-xl: 48px;
  --heading-eyebrow-gap: 8px;
  --heading-lead-gap: 14px;
  --heading-content-gap: 24px;
  --content-item-gap: 14px;
  --content-block-gap: 32px;
  --card-padding: 20px;
  --button-margin-top: 16px;

  /* Radius */
  --radius-small: 6px;
  --radius-medium: 14px;
  --radius-large: 18px;
  --radius-pill: 999px;

  /* Transition */
  --transition-base: 0.3s ease;
}

html {font-family: var(--font-family-base)}

body {margin: 0}

img,
svg {
  max-width: 100%;
}

.lpc-inner {
  width: min(100%, var(--inner-width));
  margin-inline: auto;
  padding-inline: var(--container-padding-x);
}

.lpc-section-heading {
  margin-top: 0;
}

.lpc-button {
  transition:
    background-color var(--transition-base),
    transform var(--transition-base),
    box-shadow var(--transition-base);
}

.lpc-button:hover {
  transform: translateY(-2px);
}
.right-menu:not(.is-open) .right-menu-link { color: #F5F1EB !important; }
.right-menu:not(.is-open) .right-menu-link-arrow { background-color: #111111|.right-menu:not(.is-open) .right-menu-link-arrow|background-color !important; }
.right-menu:not(.is-open) .right-menu-link-arrow::after { border-left-color: #555555|.right-menu:not(.is-open) .right-menu-link-arrow::after|border-left-color !important; }
.right-menu.is-open .right-menu-link { color: #ffffff|.right-menu.is-open .right-menu-link|color !important; }
.right-menu.is-open .right-menu-link-arrow { background-color: #ffffff|.right-menu.is-open .right-menu-link-arrow|background-color !important; }
.right-menu.is-open .right-menu-link-arrow::after { border-left-color: #555555|.right-menu.is-open .right-menu-link-arrow::after|border-left-color !important; }
body.lpc-pc-mobile-mode { --lpc-mobile-toggle-bg: #ffffff !important; }
.menu-toggle { background-color: #ffffff !important; }
body.lpc-pc-mobile-mode { --lpc-mobile-toggle-icon: #1e293b !important; }
.menu-toggle .menu-toggle-bar { background-color: #1e293b !important; }
body.lpc-pc-mobile-mode { --lpc-mobile-toggle-open-bg: #ffffff !important; }
.menu-toggle.is-open { background-color: #ffffff !important; }
body.lpc-pc-mobile-mode { --lpc-mobile-toggle-open-icon: #1e293b !important; }
.menu-toggle.is-open .menu-toggle-bar { background-color: #1e293b !important; }
body.lpc-pc-mobile-mode { --lpc-mobile-drawer-bg: #1a1a1a|body.lpc-pc-mobile-mode|--lpc-mobile-drawer-bg|.right-menu.is-open|background-color !important; }
.right-menu.is-open { background-color: #1a1a1a|body.lpc-pc-mobile-mode|--lpc-mobile-drawer-bg|.right-menu.is-open|background-color !important; }
.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}
