.lead-mobile-en,
.lead-mobile-sep {
  color: #f3d29b;
}

/* キッカー（装飾用 pre-heading）のタップ誤認防止: 2026-05-06 dead_click 5件発生のため */
p.text-primary.uppercase.tracking-widest-xl {
  cursor: default;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
}
/* cast.html では <a> 化済 (scroll to #cast-cards-area)、上記 p セレクタは無関係 */

/* 2026-05-08 TOP dead_click 対策 (3日合算 6件のホットスポット解消) */
/* ① 装飾円バッジ (¥/♡ 等の rounded-full text-primary) のタップ誤認防止 */
span.inline-flex.rounded-full.text-primary,
span.inline-flex.rounded-full.text-primary > * {
  cursor: default;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  pointer-events: none;
}
/* ② 説明 li 内の leading-loose span はリンク誤認させない */
li.flex.items-start span.leading-loose {
  cursor: default;
  -webkit-tap-highlight-color: transparent;
}
/* ③ セラピストカード全体をクリッカブル化 (lead-therapist-card は <div> でwrapされてないため、JS で onclick 設定するまでの暫定: 名前/メタにもポインタ表示) */
.lead-therapist-card {
  cursor: pointer;
}
.lead-therapist-card .lead-therapist-name,
.lead-therapist-card .lead-therapist-meta,
.lead-therapist-card .lead-therapist-body {
  cursor: pointer;
}

.lead-mobile-en {
  font-size: 0.85em;
}

#mobile-nav nav {
  gap: 0 !important;
  padding-top: 0.35rem !important;
  padding-bottom: 0.5rem !important;
}

#mobile-nav nav > a {
  border: none !important;
  padding: 0.4rem 1rem !important;
  font-size: 0.9rem !important;
}

nav.hidden.lg\:flex {
  gap: 2px !important;
}

nav.hidden.lg\:flex > a {
  font-size: 10px !important;
  padding: 2px 4px;
  white-space: nowrap;
  line-height: 1.3;
  text-align: center;
}

img[src*="rank-designation-fee"] {
  border: 1px solid rgba(184, 150, 62, 0.28);
  background: #111 !important;
  filter: sepia(0.08) brightness(0.9) contrast(1.03);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.28);
}

.lead-hero-entry-strip {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 16px;
}

.lead-hero-entry-link {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  gap: 9px;
  border: 1px solid rgba(184, 150, 62, 0.38);
  background: rgba(7, 7, 8, 0.48);
  padding: 0 15px;
  color: rgba(245, 245, 245, 0.9);
  font-size: 0.78rem;
  letter-spacing: 0.13em;
  text-decoration: none;
  backdrop-filter: blur(8px);
  transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.lead-hero-entry-link:hover {
  border-color: rgba(227, 194, 143, 0.78);
  background: rgba(184, 150, 62, 0.14);
  color: #e3c28f;
}

.lead-hero-entry-link svg {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  color: #e3c28f;
}

.lead-reserve-approval-chips {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 6px;
  margin-top: 14px;
}

.lead-reserve-approval-chip {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  border: 1px solid rgba(184, 150, 62, 0.28);
  background: rgba(0, 0, 0, 0.2);
  padding: 0 9px;
  color: rgba(245, 245, 245, 0.84);
  font-size: 0.68rem;
  letter-spacing: 0.04em;
  line-height: 1;
  white-space: nowrap;
}

.lead-reserve-approval-main span {
  display: block;
}

@media (max-width: 640px) {
  .lead-hero-entry-strip {
    width: min(100%, 344px);
    margin-inline: auto;
    gap: 8px;
  }

  .lead-hero-entry-link {
    flex: 0 1 auto;
    min-height: 36px;
    justify-content: center;
    padding: 0 10px;
    font-size: 0.72rem;
    letter-spacing: 0.08em;
  }

  .lead-hero-entry-link svg {
    width: 14px;
    height: 14px;
  }

  body#page-top main > section:first-child > div.absolute.bottom-8 {
    display: none !important;
  }

  .lead-reserve-approval-chips {
    gap: 5px;
    max-width: 100%;
    margin-inline: auto;
  }

  .lead-reserve-approval-chip {
    min-height: 26px;
    padding-inline: 7px;
    font-size: 0.64rem;
  }

  #lead-line-fab {
    right: 14px !important;
    bottom: calc(14px + env(safe-area-inset-bottom)) !important;
    width: 54px !important;
    min-width: 54px !important;
    max-width: 54px !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    overflow: hidden !important;
    border-radius: 999px !important;
    padding: 0 !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.38) !important;
  }

  body.lead-form-page #lead-line-fab {
    bottom: calc(82px + env(safe-area-inset-bottom)) !important;
    opacity: 0.94;
  }
}

/* Tailwind ビルド済みCSSから欠落している lg: プレフィックスの col-span / grid-cols 補完 */
@media (min-width: 1024px) {
  .lg\:col-span-1 { grid-column: span 1 / span 1; }
  .lg\:col-span-2 { grid-column: span 2 / span 2; }
  .lg\:col-span-3 { grid-column: span 3 / span 3; }
  .lg\:col-span-4 { grid-column: span 4 / span 4; }
  .lg\:col-span-5 { grid-column: span 5 / span 5; }
  .lg\:grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
  .lg\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lg\:grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

/* ─────────────────────────────────────────────
   Tailwind ビルド済みCSSから欠落しているレスポンシブ系の補完
   （TOPページ「ご利用の流れ」セクションがPCで崩れる問題への対処）
   ───────────────────────────────────────────── */
.aspect-\[4\/3\] { aspect-ratio: 4 / 3; }

@media (min-width: 640px) {
  .sm\:hidden { display: none !important; }
  .sm\:block { display: block; }
  .sm\:inline-block { display: inline-block; }
  .sm\:flex { display: flex; }
  .sm\:flex-row { flex-direction: row; }
  .sm\:w-full { width: 100%; }
  .sm\:w-48 { width: 12rem; }
  .sm\:gap-6 { gap: 1.5rem; }
  .sm\:gap-8 { gap: 2rem; }
}

@media (min-width: 1024px) {
  .lg\:w-56 { width: 14rem; }
  .lg\:gap-8 { gap: 2rem; }
}

/* ─────────────────────────────────────────────
   セラピスト切り替えカルーセル（TOPとconcept.htmlで共有）
   元はindex.html内インライン<style>。両ページで使うため共有CSSへ移植
   ───────────────────────────────────────────── */
.lead-therapist-carousel{max-width:1080px;margin:0 auto}
.lead-therapist-shell{position:relative}
.lead-therapist-track{display:flex;align-items:stretch;gap:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:0 clamp(12px,5vw,56px) 8px;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.lead-therapist-track::-webkit-scrollbar{display:none}
.lead-therapist-slide{flex:0 0 min(78vw,320px);scroll-snap-align:center;scroll-snap-stop:always}
.lead-therapist-card{height:100%;display:flex;flex-direction:column;border:1px solid rgba(184,150,62,.26);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));box-shadow:0 18px 48px rgba(0,0,0,.2)}
.lead-therapist-slide.is-active .lead-therapist-card{border-color:rgba(184,150,62,.52);box-shadow:0 22px 56px rgba(0,0,0,.28)}
.lead-therapist-image{position:relative;aspect-ratio:4/5;overflow:hidden;background:#111}
.lead-therapist-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.lead-therapist-slide.is-active .lead-therapist-image img{transform:scale(1.02)}
.lead-therapist-body{display:flex;flex:1;flex-direction:column;gap:12px;padding:18px 16px 16px}
.lead-therapist-rank{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:#b8963e}
.lead-therapist-name{font-family:serif;font-size:clamp(1.5rem,5vw,2rem);line-height:1.2;color:#f5f5f5}
.lead-therapist-sub{font-size:.82rem;letter-spacing:.18em;color:rgba(245,245,245,.52)}
.lead-therapist-meta{display:flex;flex-wrap:wrap;gap:8px}
.lead-therapist-chip{padding:.38rem .7rem;border:1px solid rgba(184,150,62,.22);font-size:.72rem;line-height:1;color:rgba(245,245,245,.78);background:rgba(255,255,255,.03)}
.lead-therapist-desc{font-size:.93rem;line-height:1.85;color:rgba(245,245,245,.74)}
.lead-therapist-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto}
.lead-therapist-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 14px;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;text-align:center}
.lead-therapist-btn-secondary{border:1px solid rgba(184,150,62,.24);color:rgba(245,245,245,.74)}
.lead-therapist-btn-secondary:hover{border-color:#b8963e;color:#b8963e}
.lead-therapist-nav{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:20px}
.lead-therapist-arrow{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid rgba(184,150,62,.3);border-radius:999px;color:#b8963e;background:rgba(255,255,255,.02);transition:all .25s ease;cursor:pointer}
.lead-therapist-arrow:hover{background:rgba(184,150,62,.12);border-color:rgba(184,150,62,.6)}
.lead-therapist-arrow svg{width:16px;height:16px}
.lead-therapist-dots{display:flex;align-items:center;gap:8px}
.lead-therapist-dot{width:8px;height:8px;border-radius:999px;border:0;background:rgba(245,245,245,.26);transition:all .25s ease;cursor:pointer}
.lead-therapist-dot[aria-current="true"]{width:24px;background:#b8963e}
.lead-therapist-track:focus-visible,.lead-therapist-arrow:focus-visible,.lead-therapist-dot:focus-visible{outline:2px solid #b8963e;outline-offset:2px}
@media (min-width:768px){.lead-therapist-track{gap:20px;padding:0 clamp(32px,7vw,84px) 8px}.lead-therapist-slide{flex-basis:min(42vw,360px)}.lead-therapist-body{padding:22px 20px 20px}.lead-therapist-name{font-size:2.2rem}.lead-therapist-desc{font-size:.95rem}}
@media (min-width:1100px){.lead-therapist-slide{flex-basis:min(32vw,380px)}}
@media (max-width:480px){.lead-therapist-track{padding-inline:10px}.lead-therapist-slide{flex-basis:min(84vw,312px)}.lead-therapist-image{aspect-ratio:7/8}.lead-therapist-body{gap:10px;padding:16px 14px 14px}.lead-therapist-name{font-size:1.6rem}.lead-therapist-desc{font-size:.88rem;line-height:1.75}.lead-therapist-actions{gap:8px}.lead-therapist-btn{min-height:42px;padding:0 10px;font-size:.72rem;letter-spacing:.12em}}

/* セラピストカード写真タップ → 詳細ページ遷移 */
.lead-therapist-image-link{position:absolute;inset:0;display:block;z-index:1;cursor:pointer}
.lead-therapist-image-link:focus-visible{outline:2px solid #b8963e;outline-offset:-2px}

/* Tailwind 欠落クラスの補完（_next CSS に含まれない汎用ユーティリティ） */
.justify-end{justify-content:flex-end}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}
.justify-start{justify-content:flex-start}
