/* ==============================================
   光糸リフト サブスクLP（brand-os-v2準拠版）
   Mobile First（375px基準）
   編集誌的 / 人の温度 / 余白 / ブランドメディアの1ページ
   ============================================== */

:root {
  /* ===== Design Bible v1.0 Tokens ===== */
  --c-paper: #FFFDFC;
  --c-ivory: #F7F3ED;
  --c-ink: #302A28;
  --c-gold: #B89A5C;        /* CHAMPAGNE GOLD：罫線・番号・ラベル・重要な1語 */
  --c-gold-text: #806B42;  /* 明るい背景で読める落ち着いたゴールド */
  --c-gold-soft: #D8C69D;   /* 淡い罫線・フレーム */
  --c-rose: #A94B5B;        /* CTA（行動）専用 */
  --c-muted: #77716B;
  --c-line: #E5DED5;

  --radius-editorial: 4px;  /* 写真 */
  --radius-ui: 8px;         /* 情報整理カード・フォーム */
  --radius-pill: 999px;     /* CTA */
  --shadow-soft: 0 12px 36px rgba(30, 25, 20, 0.06);

  /* ===== 旧変数エイリアス（既存記述の互換） ===== */
  --color-text: var(--c-ink);
  --color-text-soft: var(--c-muted);
  --color-bg: var(--c-paper);
  --color-ivory: var(--c-ivory);
  --color-line: var(--c-line);
  --color-accent: var(--c-rose);
  --color-accent-dark: #8E3D4C;
  --color-dark: var(--c-ink);
  --color-cream: #F3EFE8;
  --color-gold: var(--c-gold);

  --font-serif: 'Shippori Mincho', 'Hiragino Mincho ProN', serif;
  --font-sans: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', sans-serif;
  --font-en: Georgia, 'Times New Roman', serif;   /* 英字ラベル・数字補助 */
  --sticky-height: 58px;
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 2;
  color: var(--color-text);
  background: var(--color-bg);
  -webkit-font-smoothing: antialiased;
  overflow-wrap: anywhere;
}

img { max-width: 100%; height: auto; display: block; }

h1, h2, h3 { margin: 0; line-height: 1.6; }
p { margin: 0 0 1em; }
p:last-child { margin-bottom: 0; }

.visually-hidden {
  position: absolute; width: 1px; height: 1px;
  margin: -1px; padding: 0; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

.nowrap { white-space: nowrap; }
.sp-only { display: inline; }
.pc-only { display: none; }
@media (min-width: 768px) {
  .sp-only { display: none; }
  .pc-only { display: inline; }
}

.container {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 20px;
}
.container--narrow { max-width: 760px; }
.container--prose { max-width: 660px; }

/* ==============================================
   Chapter Label（01 — LIVING PROOF）＋ Gold Hairline
   ============================================== */
.ch-label {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 26px;
  font-family: var(--font-en);
  font-size: 12px;
  letter-spacing: .3em;
  color: var(--c-muted);
}
.ch-label__num {
  color: var(--c-gold);
  font-size: 14px;
  letter-spacing: .1em;
}
.ch-label__dash {
  width: 22px;
  height: 1px;
  background: var(--c-gold);
  flex-shrink: 0;
}
.ch-label__text { white-space: nowrap; }
.ch-label::after {
  content: '';
  flex: 0 1 44px;
  height: 1px;
  background: var(--c-gold-soft);
}
.ch-label--center { justify-content: center; }
.ch-label--center::after { flex: 0 0 32px; }
.ch-label--dark { color: rgba(243,239,232,.6); }
.ch-label--dark .ch-label__num { color: var(--c-gold-soft); }
.ch-label--dark .ch-label__dash { background: var(--c-gold-soft); }
.ch-label--dark::after { background: rgba(216,198,157,.5); }

/* 左揃えEditorial（人物・科学・経営・導入系） */
.edit-left .chapter__title,
.edit-left .section__title,
.edit-left .chapter__body,
.edit-left .chapter__question,
.edit-left .stories__lead,
.edit-left .salon-cases__lead,
.edit-left .comparison__lead,
.edit-left .contact__lead,
.edit-left .program__lead,
.edit-left .lives__lead {
  text-align: left;
}
.edit-left .section__eyebrow { text-align: left; }
.edit-left .chapter__title { margin-bottom: 32px; }

/* ==============================================
   ボタン
   ============================================== */
.btn {
  display: inline-block;
  text-decoration: none;
  text-align: center;
  font-weight: 700;
  border-radius: 999px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: opacity .2s ease, transform .2s ease;
  -webkit-tap-highlight-color: transparent;
}
.btn:hover { opacity: .85; }
.btn:active { transform: translateY(1px); }

.btn--primary {
  background: var(--color-accent);
  color: #fff;
}
.btn--primary:hover { background: var(--color-accent-dark); opacity: 1; }

.btn--lg {
  font-size: 17px;
  padding: 16px 32px;
  width: 100%;
  max-width: 400px;
  white-space: nowrap;
}
@media (max-width: 420px) {
  .btn--lg { font-size: 15px; padding: 15px 16px; }
}
.btn--sm { font-size: 13px; padding: 8px 18px; }

/* ==============================================
   ヘッダー
   ============================================== */
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--color-line);
}
.site-header__inner {
  max-width: 1080px;
  margin: 0 auto;
  padding: 10px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.site-header__logo { width: 132px; height: auto; }
@media (min-width: 768px) { .site-header__logo { width: 168px; } }

/* ==============================================
   FV：人生が、変わった。（人物ドキュメンタリー型）
   390pxで「FV→最初のB/A」まで1〜1.5スクロールに収める
   ============================================== */
.fv {
  position: relative;
  background: linear-gradient(180deg, var(--color-ivory) 0%, #fdfcfa 80%, #fff 100%);
  border-bottom: 1px solid var(--color-line);
  overflow: hidden;
}
.fv__inner {
  max-width: 900px;
  margin: 0 auto;
  padding: 52px 24px 56px;
  text-align: center;
}
.fv__title {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: clamp(40px, 11.5vw, 50px);   /* 短文H1「人生が変わった。」 */
  line-height: 1.35;
  letter-spacing: .06em;
}
.fv__sub {
  margin-top: 14px;
  font-family: var(--font-serif);
  font-size: 16px;
  letter-spacing: .08em;
  color: var(--color-text-soft);
}
.fv__faces {
  margin: 30px auto 0;
  display: flex;
  justify-content: center;
  gap: 7px;
}
.fv__face { margin: 0; min-width: 0; }
.fv__face img {
  width: 62px;
  height: 62px;
  object-fit: cover;
  object-position: center top;
  border-radius: 50%;
  border: 1px solid var(--c-gold-soft);
  box-shadow: none;
}
.fv__face figcaption {
  margin-top: 6px;
  font-size: 10px;
  color: var(--color-text-soft);
  letter-spacing: .02em;
  white-space: nowrap;
}
.fv__lead {
  margin-top: 26px;
  font-size: 14px;
  line-height: 2.1;
  color: var(--color-text-soft);
}
.fv__lead p { margin-bottom: 1.4em; }
.fv__lead p:first-child {
  font-family: var(--font-serif);
  font-size: 16px;
  color: var(--color-text);
  letter-spacing: .05em;
}

.fv__scroll {
  position: absolute;
  left: 50%;
  bottom: 10px;
  transform: translateX(-50%);
}
.fv__scroll span {
  display: block;
  width: 1px;
  height: 36px;
  background: linear-gradient(180deg, transparent, var(--c-gold));
  animation: scrollcue 2.2s ease-in-out infinite;
}
@keyframes scrollcue {
  0% { transform: scaleY(0); transform-origin: top; }
  45% { transform: scaleY(1); transform-origin: top; }
  55% { transform: scaleY(1); transform-origin: bottom; }
  100% { transform: scaleY(0); transform-origin: bottom; }
}
@media (prefers-reduced-motion: reduce) {
  .fv__scroll span { animation: none; }
}

@media (min-width: 768px) {
  .fv__inner { padding: 88px 24px 92px; }
  .fv__title { font-size: 72px; }
  .fv__sub { font-size: 19px; margin-top: 20px; }
  .fv__face img { width: 84px; height: 84px; }
  .fv__face figcaption { font-size: 11px; }
  .fv__faces { gap: 18px; margin-top: 40px; }
  .fv__lead { font-size: 15px; margin-top: 34px; }
  .fv__lead p:first-child { font-size: 18px; }
}

/* ==============================================
   SECTION 01：5人のBefore / After（lives）
   ============================================== */
.lives { padding: 64px 0 72px; background: var(--c-paper); }
@media (min-width: 768px) { .lives { padding: 96px 0 110px; } }
.lives__lead {
  text-align: center;
  font-size: 14px;
  line-height: 2.1;
  color: var(--color-text-soft);
  margin-bottom: 40px;
}
.lives__lead strong { color: var(--color-text); }
.lives__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 44px;
  max-width: 640px;
  margin: 0 auto;
}
.life { }
.life__meta { margin-top: 14px; text-align: center; }
.life__name {
  font-family: var(--font-serif);
  font-size: 19px;
  font-weight: 600;
  margin-bottom: 2px;
}
.life__title { font-size: 12px; color: var(--color-text-soft); margin-bottom: 10px; }
.life__quote {
  font-family: var(--font-serif);
  font-size: 15px;
  line-height: 2;
  color: var(--color-text);
  letter-spacing: .03em;
}
.lives__note {
  margin-top: 40px;
  text-align: center;
  font-size: 11px;
  color: var(--color-text-soft);
  line-height: 1.9;
}
@media (min-width: 900px) {
  .lives__list { max-width: 1080px; grid-template-columns: 1fr 1fr; gap: 56px 48px; }
  .life__quote { font-size: 16px; }
}

/* Before / After 共通 */
.owner__ba-wrap { }
.owner__ba {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  max-width: 340px;   /* 人物 > B/A：本文幅よりわずかに控えめに */
}
.owner__ba-item { margin: 0; position: relative; }
.owner__ba-item img {
  width: 100%;
  aspect-ratio: 6 / 7;              /* 新素材(224×258)の縦型に合わせる */
  object-fit: cover;
  border-radius: var(--radius-editorial);
  border: 1px solid var(--c-line);
}
.owner__ba-item figcaption {
  position: absolute;
  left: 10px; bottom: 8px;
  font-size: 11px;
  letter-spacing: .16em;
  color: #fff;
  text-shadow: 0 1px 5px rgba(0,0,0,.6);
}
.owner__sessions {
  margin: 8px 0 0;
  text-align: left;
  font-size: 11px;
  letter-spacing: .04em;
  color: var(--c-muted);
}

/* ==============================================
   SECTION 02：5人、それぞれの人生（stories）
   ============================================== */
.stories { padding: 72px 0; background: var(--color-ivory); }
@media (min-width: 768px) { .stories { padding: 110px 0; } }
.stories__lead {
  text-align: center;
  font-size: 14px;
  line-height: 2.2;
  color: var(--color-text-soft);
  margin-bottom: 48px;
}
.story {
  /* Design Bible §32：人生の物語はカードに収納しない（生成りの誌面へ直置き） */
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  margin-bottom: 64px;
}
.story::after {
  /* 人物間の区切り：余白＋短いgold hairline */
  content: '';
  display: block;
  width: 44px;
  height: 1px;
  background: var(--c-gold-soft);
  margin-top: 56px;
}
.story--featured { padding: 0; }
.story--producer {
  background: transparent;
  border: none;
  padding-top: 8px;
}
.story--producer::after { background: transparent; }
.story__role {
  font-family: var(--font-en);
  font-size: 11px;
  letter-spacing: .3em;
  color: var(--c-gold);
  margin: 0 0 14px;
  padding-top: 18px;
  border-top: 1px solid var(--c-gold-soft);
}
.story__photo { text-align: left; margin-bottom: 24px; }
/* TODO: 正方形/4:5の大判人物写真の支給後、円形→大判Editorial写真へ差し替える（Bible §21） */
.story__photo img { width: min(64%, 260px); height: auto; display: inline-block; }
.story__num {
  font-family: var(--font-en);
  font-size: 11px;
  letter-spacing: .3em;
  color: var(--c-gold);
  margin: 0 0 14px;
}
.story__head {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
}
.story__face {
  width: 76px; height: 76px;
  object-fit: cover;
  border-radius: 50%;
  border: 1px solid var(--c-gold-soft);
  flex-shrink: 0;
}
.story__name {
  font-family: var(--font-serif);
  font-size: 21px;
  font-weight: 500;
  margin: 0;
}
.story__title { font-size: 12px; color: var(--color-text-soft); margin: 2px 0 0; }
.story__rows {
  margin: 0 0 22px;
  font-size: 13.5px;
  line-height: 2;
}
.story__rows dt {
  font-size: 11px;
  letter-spacing: .18em;
  font-weight: 700;
  color: var(--c-gold);
  margin-top: 16px;
}
.story__rows dd { margin: 2px 0 0; color: var(--color-text-soft); }
.story__quote {
  margin: 20px 0 0;
  font-family: var(--font-serif);
  font-size: 17px;
  line-height: 2;
  letter-spacing: .03em;
  color: var(--c-ink);
}
.story__quote--sm { font-size: 15px; }
.story__quote p::before { content: '“'; color: var(--color-gold); margin-right: 2px; }
.story__quote p::after { content: '”'; color: var(--color-gold); margin-left: 2px; }
.story__bridge {
  margin: 28px 0 0;
  padding-top: 22px;
  border-top: 1px solid var(--c-gold-soft);
  font-family: var(--font-serif);
  font-size: 17px;
  line-height: 2.1;
  color: var(--c-ink);
  text-align: left;
}
.owner__youtube {
  display: inline-block;
  margin-top: 16px;
  font-size: 13px;
  font-weight: 700;
  color: var(--color-accent);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
}
.owner__youtube::before { content: '▶ '; font-size: 11px; }
.stories__source {
  margin-top: 28px;
  text-align: center;
  font-size: 11px;
  line-height: 1.9;
  color: var(--color-text-soft);
}
@media (min-width: 900px) {
  .story--featured {
    display: flex;
    gap: 52px;
    align-items: flex-start;
  }
  .story--featured .story__photo { flex-shrink: 0; margin: 0; }
  .story--featured .story__photo img { width: 280px; }
  .story--featured .story__body { flex: 1; }
  .story__quote { font-size: 19px; }
}

/* ==============================================
   SECTION 03：その美容には、名前があります。（name-reveal）
   ============================================== */
.name-reveal {
  padding: 88px 0;
  background: var(--c-paper);
  text-align: center;
}
@media (min-width: 768px) { .name-reveal { padding: 130px 0; } }
.name-reveal__intro {
  font-family: var(--font-serif);
  font-size: 21px;
  font-weight: 600;
  line-height: 2;
  letter-spacing: .05em;
  margin-bottom: 40px;
}
.name-reveal__name {
  font-family: var(--font-serif);
  font-size: 46px;
  font-weight: 700;
  letter-spacing: .12em;
  margin: 0 0 6px;
  color: var(--color-text);
}
.name-reveal__yomi {
  font-family: var(--font-en);
  font-size: 12px;
  letter-spacing: .34em;
  color: var(--c-gold);
  margin-bottom: 34px;
}
.name-reveal__name::before,
.name-reveal__yomi::after {
  content: '';
  display: block;
  width: 56px;
  height: 1px;
  background: var(--c-gold-soft);
  margin: 0 auto 26px;
}
.name-reveal__yomi::after { margin: 26px auto 0; }
.name-reveal__body {
  font-size: 15px;
  line-height: 2.3;
  color: var(--color-text-soft);
  margin-bottom: 40px;
}
.name-reveal__device { margin: 0; }
.name-reveal__device img {
  width: min(56%, 260px);
  margin: 0 auto;
  border-radius: var(--radius-editorial);
}
@media (min-width: 768px) {
  .name-reveal__intro { font-size: 28px; }
  .name-reveal__name { font-size: 64px; }
  .name-reveal__device img { width: 300px; }
}

/* ==============================================
   SECTION 06：声（voices）
   ============================================== */
.voices__list {
  list-style: none;
  margin: 40px 0 0;
  padding: 0;
  display: grid;
  gap: 14px;
  text-align: left;
}
.voices__list li {
  background: transparent;
  border-left: 1px solid var(--c-gold);
  border-radius: 0;
  padding: 4px 0 4px 18px;
  font-family: var(--font-serif);
  font-size: 16px;
  line-height: 1.9;
  letter-spacing: .03em;
}
.voices__list li span {
  display: block;
  margin-top: 6px;
  font-family: var(--font-sans);
  font-size: 11px;
  letter-spacing: .06em;
  color: var(--c-gold);
}
.voices__note {
  margin-top: 18px;
  font-size: 11px;
  color: var(--c-muted);
  text-align: left;
}
@media (min-width: 768px) {
  .voices__list { grid-template-columns: 1fr 1fr; gap: 18px; }
  .voices__list li { font-size: 16px; padding: 18px 22px; }
}

/* ==============================================
   SECTION 07：経営実例（salon-cases）
   ============================================== */
.salon-cases { padding: 88px 0; background: var(--color-ivory); }
@media (min-width: 768px) { .salon-cases { padding: 130px 0; } }
.salon-cases__lead {
  text-align: center;
  font-size: 14px;
  line-height: 2.2;
  color: var(--color-text-soft);
  margin-bottom: 44px;
}
.salon-cases__list { margin: 0; }
.salon-case {
  /* Design Bible §40：数字は大きく1つずつ、Editorialで */
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 40px 0 44px;
  text-align: left;
  border-top: 1px solid var(--c-gold-soft);
}
.salon-case__label {
  font-family: var(--font-en);
  font-size: 11px;
  letter-spacing: .3em;
  color: var(--c-gold);
  margin-bottom: 16px;
}
.salon-case__stat {
  font-family: var(--font-serif);
  font-size: 54px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: .02em;
  color: var(--c-ink);
  margin: 0 0 6px;
}
.salon-case__stat-prefix {
  display: block;
  font-size: 15px;
  letter-spacing: .2em;
  color: var(--c-gold);
  margin-bottom: 2px;
}
.salon-case__stat-label {
  font-size: 12px;
  letter-spacing: .08em;
  color: var(--c-muted);
  margin: 0 0 16px;
}
.salon-case__heading {
  font-family: var(--font-serif);
  font-size: 26px;
  font-weight: 500;
  line-height: 1.7;
  margin-bottom: 14px;
}
.salon-case__body {
  font-size: 14px;
  line-height: 2.1;
  color: var(--c-muted);
  margin-bottom: 12px;
  max-width: 560px;
}
.salon-case__owner { font-size: 12px; color: var(--c-ink); margin-bottom: 10px; }
.salon-case__note { font-size: 10.5px; color: var(--c-muted); line-height: 1.8; margin: 0; }
@media (min-width: 768px) {
  .salon-case { padding: 52px 0 56px; }
  .salon-case__stat { font-size: 72px; }
  .salon-case__stat-prefix { font-size: 17px; }
  .salon-case__heading { font-size: 32px; }
}

/* ==============================================
   章（chapter）共通 ─ 編集誌的な読みもの
   ============================================== */
.chapter { padding: 88px 0; background: var(--c-paper); }
.chapter--ivory { background: var(--color-ivory); }
.chapter--dark {
  background: var(--c-ink);
  color: var(--color-cream);
  border-top: 1px solid var(--c-gold-soft);
  border-bottom: 1px solid var(--c-gold-soft);
}
.chapter--dark .chapter__body { color: rgba(243,239,232,.82); }
@media (min-width: 768px) { .chapter { padding: 130px 0; } }

.chapter__eyebrow {
  font-family: var(--font-en);
  font-size: 11px;
  letter-spacing: .3em;
  color: var(--c-gold);
  font-weight: 400;
  margin: 0 0 18px;
  text-align: center;
}
.chapter__title {
  font-family: var(--font-serif);
  font-weight: 500;
  font-size: 32px;
  line-height: 1.6;
  letter-spacing: .04em;
  text-align: center;
  margin-bottom: 44px;
}
.chapter__title--accent { color: var(--c-ink); }
.chapter--dark .chapter__title { color: var(--color-cream); }
.chapter__title--lines { line-height: 2.1; }
@media (min-width: 768px) {
  .chapter__title { font-size: 52px; margin-bottom: 60px; }
}

.chapter__body {
  font-size: 15px;
  line-height: 2.4;
  color: var(--color-text-soft);
}
.chapter__body p { margin-bottom: 2em; }
.chapter__body strong { color: inherit; font-weight: 700; }
@media (min-width: 768px) {
  .chapter__body { font-size: 16px; text-align: center; }
}
.chapter--dark .chapter__body strong { color: #fff; }

.chapter__voice {
  font-family: var(--font-serif);
  font-size: 19px;
  color: var(--color-text);
  text-align: center;
  letter-spacing: .04em;
}
.chapter__question {
  font-family: var(--font-serif);
  font-size: 19px;
  color: var(--c-ink);
  letter-spacing: .04em;
}
.chapter__question--light {
  color: var(--c-gold-soft);
  letter-spacing: .06em;
}
@media (min-width: 768px) {
  .chapter__voice { font-size: 22px; }
  .chapter__question { font-size: 20px; }
}

.chapter__photo {
  margin: 64px 0;
}
.chapter__photo img {
  width: 100%;
  max-height: 72vh;
  object-fit: cover;
}
@media (min-width: 768px) { .chapter__photo { margin: 90px 0; } }

.chapter__note-text {
  font-size: 14px;
  line-height: 2.3;
  color: var(--color-text-soft);
  text-align: center;
}

/* ==============================================
   CHAPTER 05：THE SCIENCE（基礎）
   ============================================== */
.mech { padding: 88px 0; background: var(--c-paper); }
@media (min-width: 768px) { .mech { padding: 130px 0; } }
.mech__position {
  margin-top: 8px;
  font-family: var(--font-serif);
  font-size: 15px;
  color: var(--c-ink);
}

/* ==============================================
   セクション共通（料金ゾーン）
   ============================================== */
.section { padding: 64px 0; }
@media (min-width: 768px) { .section { padding: 96px 0; } }

.section__eyebrow {
  text-align: center;
  font-family: var(--font-en);
  font-size: 12px;
  letter-spacing: .24em;
  color: var(--c-gold);
  font-weight: 400;
  margin: 0 0 10px;
}
.section__title {
  font-family: var(--font-serif);
  font-size: 30px;
  font-weight: 500;
  text-align: center;
  line-height: 1.6;
  letter-spacing: .03em;
  margin-bottom: 36px;
}
@media (min-width: 768px) {
  .section__title { font-size: 48px; margin-bottom: 48px; }
}

.tax-note {
  font-size: 11px;
  color: var(--color-text-soft);
  margin-top: 8px;
}

/* ==============================================
   SECTION 10 サブスク導入プラン（pricing）
   ============================================== */
.pricing { background: var(--c-ivory); }
.pricing__card {
  max-width: 560px;
  margin: 0 auto;
  background: var(--c-paper);
  border: 1px solid var(--c-gold-soft);
  border-radius: var(--radius-ui);
  box-shadow: var(--shadow-soft);
  padding: 44px 20px;
  text-align: center;
}
.pricing__product {
  font-family: var(--font-serif);
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 2px;
}
.pricing__plan {
  font-family: var(--font-en);
  font-size: 13px;
  letter-spacing: .26em;
  color: var(--c-gold);
  font-weight: 400;
  margin-bottom: 28px;
}
.pricing__row-label {
  display: block;
  font-size: 12px;
  color: var(--color-text-soft);
  letter-spacing: .1em;
}
.pricing__list-price { margin-bottom: 10px; }
.pricing__list-value {
  font-family: var(--font-serif);
  font-size: 27px;
  font-weight: 500;
  color: var(--c-ink);
}
.pricing__arrow {
  font-size: 22px;
  color: var(--c-gold);
  margin: 6px 0 14px;
}
.pricing__big {
  font-family: var(--font-serif);
  font-size: 47px;
  font-weight: 600;
  color: var(--c-ink);
  line-height: 1.25;
}
.pricing__big small { font-size: 18px; font-weight: 500; color: var(--c-gold); }
.pricing__plus {
  font-size: 22px;
  color: var(--color-gold);
  margin: 8px 0;
}
.pricing__term {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--color-line);
  font-size: 15px;
}
.pricing__term strong { font-size: 18px; }
.pricing__cta { margin-top: 26px; }
.pricing__doc-link {
  display: inline-block;
  margin-top: 16px;
  font-size: 13px;
  color: var(--color-text-soft);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
}
@media (min-width: 768px) {
  .pricing__card { padding: 56px 48px; }
  .pricing__big { font-size: 58px; }
}

/* ==============================================
   SECTION 11 初期導入プログラム（program）
   ============================================== */
.program { background: var(--color-ivory); }
.program .tax-note { text-align: center; }
.program__price {
  display: block;
  margin-top: 6px;
  color: var(--c-ink);
  font-size: 1.35em;
}
.program__price small { color: var(--c-gold); }
.program__price small { font-size: .5em; }
.program__lead {
  text-align: center;
  font-size: 15px;
  color: var(--color-text-soft);
  margin: 20px 0 32px;
}
.program__lead strong { color: var(--color-text); }
.program__photo {
  margin: 0 auto 32px;
  max-width: 680px;
}
.program__photo img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: var(--radius-editorial);
  border: 1px solid var(--c-gold-soft);
}
.program__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
.program__card {
  background: var(--c-paper);
  border: 1px solid var(--c-line);
  border-radius: var(--radius-ui);
  padding: 20px 22px;
}
.program__card-num {
  display: block;
  font-family: var(--font-en);
  font-size: 13px;
  letter-spacing: .2em;
  color: var(--c-gold);
  margin-bottom: 6px;
}
.program__card h3 { font-size: 16px; margin-bottom: 6px; }
.program__card p { font-size: 13px; color: var(--color-text-soft); margin: 0; line-height: 1.9; }
@media (min-width: 768px) {
  .program__grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}
@media (min-width: 1000px) {
  .program__grid { grid-template-columns: repeat(4, 1fr); }
}

/* ==============================================
   SECTION 12 3つの選択肢（options）
   ============================================== */
.options { background: var(--c-paper); }
.options__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
.options__card {
  background: var(--c-paper);
  border: 1px solid var(--c-line);
  border-top: 1px solid var(--c-gold);
  border-radius: var(--radius-ui);
  padding: 28px 24px;
  text-align: center;
}
.options__num {
  display: block;
  font-family: var(--font-en);
  font-size: 13px;
  letter-spacing: .2em;
  color: var(--c-gold);
}
.options__en {
  display: block;
  font-family: var(--font-en);
  font-size: 12px;
  letter-spacing: .26em;
  color: var(--c-gold);
  font-weight: 400;
  margin: 2px 0 10px;
}
.options__card h3 {
  font-family: var(--font-serif);
  font-size: 21px;
  margin-bottom: 12px;
}
.options__card p { font-size: 14px; color: var(--color-text-soft); line-height: 2; }
.options__for { margin-top: 10px; font-size: 13px; }
.options__note { margin-top: 10px; font-size: 12px; color: var(--color-text-soft); }
.options__message {
  margin-top: 36px;
  text-align: center;
  font-family: var(--font-serif);
  font-size: 19px;
  font-weight: 500;
  color: var(--c-ink);
}
@media (min-width: 768px) {
  .options__grid { grid-template-columns: repeat(3, 1fr); gap: 24px; }
  .options__card { padding: 36px 28px; }
  .options__message { font-size: 24px; margin-top: 48px; }
}

/* ==============================================
   SECTION 13 比較表（comparison）
   ============================================== */
.comparison { background: var(--color-ivory); }
.comparison__lead {
  text-align: center;
  font-size: 14px;
  color: var(--color-text-soft);
  margin-bottom: 32px;
}
.comparison__table-wrap { width: 100%; }
.comparison__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  background: var(--c-paper);
  border: 1px solid var(--c-line);
}
.comparison__table th,
.comparison__table td {
  padding: 12px 8px;
  border: 1px solid var(--color-line);
  text-align: center;
  vertical-align: middle;
  line-height: 1.5;
}
.comparison__table thead th {
  background: var(--c-ivory);
  font-family: var(--font-serif);
  font-size: 14px;
  font-weight: 500;
}
.comparison__table thead th:nth-child(2) {
  background: var(--c-paper);
  color: var(--c-ink);
  border-bottom: 2px solid var(--c-gold);
}
.comparison__table tbody th {
  background: var(--color-ivory);
  font-weight: 500;
  font-size: 12px;
  white-space: nowrap;
}
.comparison__table td:first-of-type { background: var(--c-paper); }
@media (min-width: 768px) {
  .comparison__lead { font-size: 15px; }
  .comparison__table { font-size: 15px; }
  .comparison__table th, .comparison__table td { padding: 16px 12px; }
  .comparison__table tbody th { font-size: 14px; }
}

/* ==============================================
   SECTION 14 相談（flow / faq / form）
   ============================================== */
.contact { background: var(--c-ivory); }
.contact__lead {
  text-align: center;
  font-size: 15px;
  color: var(--color-text-soft);
  margin-bottom: 44px;
}
.contact__lead strong { color: var(--color-text); }
.contact__sub-title {
  font-family: var(--font-serif);
  font-size: 19px;
  text-align: center;
  margin: 56px 0 20px;
}

.flow__steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
.flow__step {
  background: var(--c-paper);
  border: 1px solid var(--c-line);
  border-radius: var(--radius-ui);
  padding: 18px 22px;
}
.flow__num {
  display: block;
  font-family: var(--font-en);
  font-size: 12px;
  letter-spacing: .22em;
  color: var(--c-gold);
  font-weight: 400;
  margin-bottom: 4px;
}
.flow__step h3 { font-size: 16px; margin-bottom: 4px; }
.flow__step p { font-size: 13px; color: var(--color-text-soft); margin: 0; line-height: 1.9; }
@media (min-width: 768px) {
  .flow__steps { grid-template-columns: repeat(4, 1fr); gap: 16px; }
  .flow__step { padding: 24px 20px; }
}

.faq__list { display: grid; gap: 12px; }
.faq__item {
  background: var(--c-paper);
  border: 1px solid var(--c-line);
  border-radius: var(--radius-ui);
}
.faq__item summary {
  list-style: none;
  cursor: pointer;
  padding: 18px 44px 18px 20px;
  font-weight: 700;
  font-size: 15px;
  line-height: 1.7;
  position: relative;
  -webkit-tap-highlight-color: transparent;
}
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary::before {
  content: 'Q.';
  font-family: var(--font-en);
  color: var(--c-gold);
  margin-right: 10px;
}
.faq__item summary::after {
  content: '';
  position: absolute;
  right: 20px;
  top: 50%;
  width: 9px;
  height: 9px;
  border-right: 1px solid var(--c-gold);
  border-bottom: 1px solid var(--c-gold);
  transform: translateY(-70%) rotate(45deg);
  transition: transform .25s ease;
}
.faq__item[open] summary::after { transform: translateY(-30%) rotate(-135deg); }
.faq__answer {
  padding: 0 20px 18px;
  font-size: 14px;
  color: var(--color-text-soft);
  border-top: 1px dashed var(--color-line);
  line-height: 2;
}
.faq__answer p { padding-top: 14px; }
@media (min-width: 768px) {
  .faq__item summary { font-size: 16px; padding: 22px 52px 22px 26px; }
  .faq__answer { padding: 0 26px 22px; font-size: 15px; }
}

/* LINE補助導線 */
.contact__line {
  margin: 32px auto 0;
  text-align: center;
  font-size: 13px;
  color: var(--color-text-soft);
  background: var(--color-ivory);
  border: 1px solid var(--color-line);
  border-radius: 10px;
  padding: 16px 20px;
  max-width: 420px;
}
.contact__line p { margin-bottom: 6px; }
.contact__line a {
  font-weight: 700;
  color: #06c755;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
}

/* フォーム */
#contact-form {
  margin-top: 40px;
  background: var(--c-paper);
  border: 1px solid var(--c-line);
  border-radius: var(--radius-ui);
  padding: 28px 20px;
}
.hp-field {
  position: absolute;
  left: -9999px;
  width: 1px; height: 1px;
  overflow: hidden;
}
.form-field { margin-bottom: 20px; }
.form-field label,
.form-field legend {
  display: block;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 6px;
}
.req, .opt {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  border-radius: 4px;
  padding: 1px 7px;
  margin-left: 6px;
  vertical-align: 2px;
}
.req { background: var(--color-accent); color: #fff; }
.opt { background: #e8e6e1; color: var(--color-text-soft); }

.form-field input[type="text"],
.form-field input[type="tel"],
.form-field input[type="email"],
.form-field select {
  width: 100%;
  font-size: 16px; /* iOSズーム防止 */
  font-family: inherit;
  color: var(--color-text);
  background: #fff;
  border: 1px solid #cfc9c0;
  border-radius: 8px;
  padding: 12px 14px;
  appearance: none;
  -webkit-appearance: none;
}
.form-field select {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2355565f' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
}
.form-field input:focus,
.form-field select:focus {
  outline: 2px solid var(--color-accent);
  outline-offset: 1px;
  border-color: var(--color-accent);
}
.form-field input[aria-invalid="true"],
.form-field select[aria-invalid="true"] { border-color: #c0392b; }

.form-field--radio { border: 0; padding: 0; margin: 0 0 20px; }
.radio {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 4px;
  font-size: 15px;
  cursor: pointer;
}
.radio input {
  width: 20px; height: 20px;
  accent-color: var(--color-accent);
  flex-shrink: 0;
}

.form-error {
  color: #c0392b;
  font-size: 12px;
  margin: 6px 0 0;
}
.form-status {
  background: #fdf0ef;
  border: 1px solid #e5b9b4;
  color: #a33025;
  font-size: 13px;
  border-radius: 8px;
  padding: 12px 14px;
  margin-bottom: 16px;
}
.contact__privacy {
  font-size: 12px;
  color: var(--color-text-soft);
  margin: 18px 0;
}
.contact__submit {
  display: block;
  margin: 0 auto;
  width: 100%;
  border: none;
  font-family: inherit;
}
.contact__submit:disabled { opacity: .6; cursor: not-allowed; }

.contact__success {
  margin-top: 40px;
  background: var(--c-paper);
  border: 1px solid var(--c-line);
  border-radius: var(--radius-ui);
  padding: 48px 24px;
  text-align: center;
}
.contact__success h3 {
  font-family: var(--font-serif);
  font-size: 20px;
  margin-bottom: 10px;
}
.contact__success p { color: var(--color-text-soft); }
@media (min-width: 768px) {
  #contact-form { padding: 44px 48px; }
  .contact__submit { max-width: 400px; }
}

/* ==============================================
   SECTION 15 仲間入り（community）
   ============================================== */
.community { padding: 96px 0; }
@media (min-width: 768px) { .community { padding: 140px 0; } }

/* ==============================================
   フッター
   ============================================== */
.site-footer {
  background: var(--color-dark);
  color: rgba(255,255,255,.75);
  text-align: center;
  padding: 48px 0 calc(32px + var(--sticky-height));
  font-size: 13px;
  border-top: 1px solid rgba(255,255,255,.08);
}
.site-footer__logo {
  width: 130px;
  margin: 0 auto 14px;
  filter: invert(1) brightness(1.6);
}
.site-footer__company { margin-bottom: 4px; color: #fff; }
.site-footer__copy { font-size: 11px; color: rgba(255,255,255,.5); }
@media (min-width: 768px) {
  .site-footer { padding-bottom: 32px; }
}

/* ==============================================
   スマホ用 sticky CTA
   ============================================== */
.sticky-cta {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 60;
  display: flex;
  height: calc(var(--sticky-height) + env(safe-area-inset-bottom, 0px));
  padding-bottom: env(safe-area-inset-bottom, 0px);
  background: #fff;
  box-shadow: 0 -4px 16px rgba(35,36,43,.14);
}
.sticky-cta[hidden] { display: none; }
.sticky-cta__btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 15px;
  font-weight: 700;
  -webkit-tap-highlight-color: transparent;
}
.sticky-cta__btn--sub { background: #fff; color: var(--color-accent); }
.sticky-cta__btn--main { background: var(--color-accent); color: #fff; }
@media (min-width: 768px) {
  .sticky-cta { display: none; }
}

/* ==============================================
   広告計測（Meta Pixel）同意バナー / 設定パネル
   - sticky CTA（z-index:60）やフォームを塞がない:
     sticky CTA表示中はJSが --ad-consent-offset にCTA高さを設定して上に載せる。
     バナー表示中は body.ad-consent-open の padding-bottom で最下部要素を退避。
   ============================================== */
/* 2026-09-09 コンパクト化: 画面下部の全幅バー（スマホ）／最大760pxの横並び（PC）。
   背景を暗くする幕・スクロール停止は使わない。詳細は「詳細を見る」で開閉（初期は閉）。 */
.ad-consent {
  position: fixed;
  left: 0; right: 0;
  bottom: calc(var(--ad-consent-offset, 0px) + env(safe-area-inset-bottom, 0px));
  z-index: 70;
  width: 100%;
  margin: 0;
  background: #fff;
  border-top: 1px solid #e5ded5;
  border-radius: 14px 14px 0 0;
  box-shadow: 0 -4px 18px rgba(35,36,43,.10);
  padding: 14px 16px 14px;
  color: #23242b;
}
.ad-consent[hidden] { display: none; }
.ad-consent__inner { position: relative; }
.ad-consent__main { min-width: 0; }
.ad-consent__close {
  position: absolute; top: -6px; right: -6px;
  border: 0; background: none; font-size: 22px; line-height: 1;
  color: #77716b; cursor: pointer; padding: 6px 8px;
}
.ad-consent__title { font-size: 15px; font-weight: 700; line-height: 1.4; margin: 0 28px 4px 0; }
.ad-consent__text { font-size: 14px; line-height: 1.65; color: #4a4842; margin: 0; }
/* 「詳細を見る」: 本文並びのテキストボタン（button要素・aria-expanded）。押しやすい高さを確保 */
.ad-consent__more {
  display: inline-block;
  margin: 2px 0 0;
  padding: 6px 0;
  border: 0; background: none;
  font: inherit; font-size: 13px; font-weight: 700;
  color: #6B655E; text-decoration: underline; text-underline-offset: 3px;
  cursor: pointer;
}
.ad-consent__more[aria-expanded="true"] { color: #23242b; }
/* 詳細（初期は閉）: 長くなっても選択ボタンを画面外へ押し出さないよう本文側をスクロール */
.ad-consent__details {
  margin: 6px 0 2px;
  padding: 8px 10px;
  max-height: min(38vh, 200px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  background: #F7F3ED;
  border-radius: 8px;
  font-size: 12.5px;
  line-height: 1.65;
  color: #4a4842;
}
.ad-consent__details[hidden] { display: none; }
.ad-consent__details p { margin: 0 0 6px; }
.ad-consent__details p:last-child { margin-bottom: 0; }
.ad-consent__details a { color: inherit; }
.ad-consent__dt { font-weight: 700; color: #23242b; }
.ad-consent__status { font-size: 13px; font-weight: 700; color: #23242b; margin: 6px 0 0; }
/* 選択ボタン: 横並び・同幅同高・操作領域44px以上。拒否側も枠と文字を明確に */
.ad-consent__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 10px;
}
.ad-consent__btn {
  min-height: 44px;
  padding: 10px 8px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  border-radius: 8px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.ad-consent__btn--deny { background: #fff; color: #23242b; border: 1.5px solid #8a837a; }
.ad-consent__btn--allow { background: var(--color-accent); color: #fff; border: 1.5px solid var(--color-accent); }
body.ad-consent-open { padding-bottom: var(--ad-consent-h, 240px); }
@media (min-width: 768px) {
  .ad-consent {
    left: 50%; right: auto;
    transform: translateX(-50%);
    width: calc(100% - 32px);
    max-width: 760px;
    bottom: calc(16px + var(--ad-consent-offset, 0px) + env(safe-area-inset-bottom, 0px));
    border: 1px solid #e5ded5;
    border-radius: 12px;
    padding: 14px 18px;
  }
  .ad-consent__inner { display: flex; align-items: flex-start; gap: 18px; }
  .ad-consent__main { flex: 1 1 auto; }
  .ad-consent__close { top: -8px; right: -10px; }
  .ad-consent__title { margin-right: 0; }
  .ad-consent__details { max-height: 220px; }
  .ad-consent__actions { flex: 0 0 auto; width: 270px; margin-top: 2px; }
}

/* ==============================================
   追加：価格の意味づけ / 相談CTA群
   ============================================== */
.pricing__meaning {
  margin: 0 0 30px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--c-gold-soft);
  font-family: var(--font-serif);
  font-size: 16px;
  line-height: 2;
  color: var(--c-ink);
  letter-spacing: .04em;
}
@media (min-width: 768px) { .pricing__meaning { font-size: 18px; } }

.contact__ctas {
  text-align: center;
  margin-bottom: 48px;
}
.contact__ctas .btn--lg { margin: 0 auto; }
.contact__sub-ctas {
  margin-top: 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
}
.contact__sub-ctas a {
  font-size: 14px;
  font-weight: 700;
  color: var(--color-accent);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
}
@media (min-width: 768px) {
  .contact__sub-ctas { flex-direction: row; justify-content: center; gap: 36px; }
}

/* ==============================================
   v4追加：Before/Afterプレビュー（横スワイプ）
   ============================================== */
.chapter__title--sm { font-size: 26px; margin-bottom: 24px; }
@media (min-width: 768px) { .chapter__title--sm { font-size: 38px; margin-bottom: 32px; } }

.preview { padding: 48px 0 56px; background: var(--c-paper); }
@media (min-width: 768px) { .preview { padding: 80px 0 90px; } }
.preview__strip {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  padding: 4px 20px 14px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.preview__strip::-webkit-scrollbar { display: none; }
.preview__card {
  flex: 0 0 256px;
  scroll-snap-align: center;
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0 0 6px;
  text-decoration: none;
  color: var(--c-ink);
  text-align: left;
}
.preview__ba {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}
.preview__ba-item { margin: 0; position: relative; }
.preview__ba-item img {
  width: 100%;
  aspect-ratio: 6 / 7;
  object-fit: cover;
  border-radius: var(--radius-editorial);
}
.preview__ba-item figcaption {
  position: absolute;
  left: 6px; bottom: 4px;
  font-size: 9px;
  letter-spacing: .12em;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0,0,0,.6);
}
.preview__name {
  margin: 12px 0 0;
  padding-top: 10px;
  border-top: 1px solid var(--c-gold-soft);
  font-family: var(--font-serif);
  font-size: 16px;
  font-weight: 500;
}
.preview__title {
  margin: 2px 0 0;
  font-size: 10.5px;
  color: var(--color-text-soft);
  line-height: 1.6;
}
.preview__sessions { margin: 4px 0 0; font-size: 10px; color: var(--color-text-soft); }
.preview__hint {
  text-align: center;
  font-family: var(--font-en);
  font-size: 10px;
  letter-spacing: .34em;
  color: var(--c-gold);
  margin: 8px 0 0;
}
.preview .lives__note { margin-top: 22px; padding: 0 20px; }
.preview .lives__note strong {
  display: block;
  margin-top: 10px;
  font-family: var(--font-serif);
  font-size: 15px;
  color: var(--color-text);
}
@media (min-width: 900px) {
  .preview__strip {
    max-width: 1080px;
    margin: 0 auto;
    padding: 4px 20px 14px;
    overflow-x: visible;
    flex-wrap: nowrap;
    justify-content: center;
  }
  .preview__card { flex: 1 1 0; min-width: 0; }
  .preview__hint { display: none; }
}

/* ==============================================
   v4追加：LP専用インタビューカード（yt-card）
   ============================================== */
.yt-card {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 22px;
  min-height: 88px;
  background: var(--c-paper);
  border: 1px solid var(--c-line);
  border-radius: var(--radius-ui);
  padding: 14px 16px;
  text-decoration: none;
  color: var(--c-ink);
  -webkit-tap-highlight-color: rgba(169,75,91,.12);
}
.yt-card__thumb {
  width: 58px;
  height: 58px;
  object-fit: cover;
  border-radius: 50%;
  flex-shrink: 0;
}
.yt-card__body { min-width: 0; }
.yt-card__name {
  margin: 0;
  font-family: var(--font-serif);
  font-size: 14px;
  font-weight: 600;
}
.yt-card__lead {
  margin: 3px 0 0;
  font-size: 12px;
  line-height: 1.7;
  color: var(--color-text-soft);
}
.yt-card__action {
  display: inline-block;
  margin-top: 7px;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--color-accent);
  border-bottom: 1px solid currentColor;
  padding-bottom: 1px;
}

/* ==============================================
   THE SCIENCE：研究誌レイアウト（カード解除）
   ============================================== */
.container--science { max-width: 760px; }
.mech__question {
  font-family: var(--font-serif);
  font-size: 16px;
  line-height: 2.1;
  color: var(--c-muted);
  margin-bottom: 52px;
}

/* ScienceStat：数字をブランド資産として見せる */
.sci-stat {
  margin: 0 0 52px;
  padding-left: 18px;
  border-left: 1px solid var(--c-gold);
}
.sci-stat__value {
  font-family: var(--font-en);
  font-size: 64px;
  line-height: 1.1;
  letter-spacing: .02em;
  color: var(--c-ink);
  margin: 0 0 6px;
}
.sci-stat__value span { font-size: .5em; color: var(--c-gold); margin-left: 2px; }
.sci-stat__label {
  font-family: var(--font-en);
  font-size: 12px;
  letter-spacing: .34em;
  color: var(--c-gold);
  margin: 0 0 14px;
}
.sci-stat__desc {
  font-size: 14px;
  line-height: 2.1;
  color: var(--c-muted);
  margin: 0;
}
@media (min-width: 768px) {
  .sci-stat__value { font-size: 96px; }
  .sci-stat__desc { font-size: 15px; }
}

.mech__facts {
  max-width: 760px;
  margin: 20px 0 64px;
  display: flex;
  align-items: center;
  gap: 20px;
  font-size: 14px;
  line-height: 2.1;
  color: var(--c-muted);
}
.mech__facts-img {
  width: 132px;
  height: auto;
  flex-shrink: 0;
}
.mech__facts p { margin: 0; }
.mech__facts strong { color: var(--c-ink); font-family: var(--font-serif); font-size: 1.15em; }

/* 考え方の対置（機器比較カードにしない） */
.compare { margin: 0 0 48px; }
.compare__side { padding: 34px 0; }
.compare__side--main { border-top: 1px solid var(--c-gold-soft); }
.compare__label {
  font-family: var(--font-en);
  font-size: 13px;
  letter-spacing: .3em;
  color: var(--c-muted);
  margin: 0 0 4px;
}
.compare__label--main { color: var(--c-gold); }
.compare__sub {
  font-size: 12px;
  color: var(--c-muted);
  margin: 0 0 18px;
}
.compare__photo { margin: 0 0 16px; position: relative; }
.compare__photo img {
  width: 100%;
  aspect-ratio: 5 / 2;
  object-fit: cover;
  border-radius: var(--radius-editorial);
  border: 1px solid var(--c-gold-soft);
}
.compare__photo figcaption {
  position: absolute;
  right: 8px; bottom: 6px;
  font-size: 10px;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0,0,0,.5);
}
.compare__points {
  list-style: none;
  margin: 0 0 18px;
  padding: 0;
  display: grid;
  gap: 7px;
}
.compare__points li {
  font-size: 13.5px;
  line-height: 1.8;
  padding-left: 16px;
  position: relative;
  color: var(--c-muted);
}
.compare__points li::before {
  content: '';
  position: absolute;
  left: 0; top: 11px;
  width: 6px; height: 1px;
  background: var(--c-muted);
}
.compare__points--main li { color: var(--c-ink); font-weight: 500; }
.compare__points--main li::before { background: var(--c-gold); }
.compare__metaphor { margin: 0; padding-top: 8px; }
.compare__metaphor-imgs {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.compare__metaphor-imgs img {
  width: 56px;
  height: 56px;
  object-fit: cover;
  border-radius: var(--radius-editorial);
}
.compare__metaphor-imgs span { color: var(--c-gold); font-size: 14px; }
.compare__metaphor figcaption {
  margin-top: 8px;
  font-size: 11px;
  color: var(--c-muted);
  line-height: 1.8;
}
.compare__disclaimer {
  margin: 14px 0 0;
  font-size: 10px;
  color: var(--c-muted);
  line-height: 1.7;
}
/* AI断面図：証拠画像ではなく小さな補助資料として */
.compare__diagram {
  margin: 18px 0 0;
  max-width: 230px;
}
.compare__diagram img {
  width: 100%;
  aspect-ratio: 2 / 1;
  object-fit: cover;
  border-radius: var(--radius-editorial);
  border: 1px solid var(--c-line);
  opacity: .92;
}
.compare__diagram figcaption {
  margin-top: 5px;
  font-size: 10px;
  color: var(--c-muted);
}
.compare__vs {
  margin: 10px 0;
  padding: 30px 0;
  border-top: 1px solid var(--c-gold-soft);
  text-align: center;
  font-family: var(--font-serif);
  font-size: 24px;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: .05em;
  color: var(--c-ink);
}
.compare__vs span { color: var(--c-gold); }
@media (min-width: 900px) {
  .compare__vs { font-size: 30px; }
}
.mech__sejutsu {
  margin: 0 0 14px;
}
.mech__sejutsu img {
  width: 100%;
  border-radius: var(--radius-editorial);
  border: 1px solid var(--c-gold-soft);
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.mech__sejutsu::after {
  content: '';
  display: block;
  width: 44px;
  height: 1px;
  background: var(--c-gold-soft);
  margin-top: 14px;
}

/* ==============================================
   v4追加：収益シミュレーションCTA（メインLP）
   ============================================== */
.sim-cta {
  margin: 24px 0 0;
  max-width: 560px;
  background: var(--c-paper);
  border: 1px solid var(--c-gold-soft);
  border-radius: var(--radius-ui);
  padding: 32px 22px;
  text-align: center;
}
.sim-cta__heading {
  font-family: var(--font-serif);
  font-size: 21px;
  font-weight: 600;
  line-height: 1.8;
  margin-bottom: 12px;
}
.sim-cta__body {
  font-size: 13.5px;
  line-height: 2;
  color: var(--color-text-soft);
  margin-bottom: 20px;
}
.sim-cta__btn { margin: 0 auto; }
.sim-cta__note {
  margin: 14px 0 0;
  font-size: 10.5px;
  color: var(--color-text-soft);
}
@media (min-width: 768px) {
  .sim-cta { padding: 44px 40px; }
  .sim-cta__heading { font-size: 26px; }
}

/* ==============================================
   v4追加：シミュレーションページ（/simulation/）
   390px設計基準
   ============================================== */
.sim { padding: 40px 0 72px; background: var(--color-ivory); min-height: 70vh; }
.sim__inner {
  max-width: 560px;
  margin: 0 auto;
  padding: 0 20px;
}
.sim__title {
  font-family: var(--font-serif);
  font-size: 24px;
  font-weight: 600;
  text-align: center;
  line-height: 1.7;
  margin-bottom: 14px;
}
.sim__lead {
  text-align: center;
  font-size: 13px;
  line-height: 2;
  color: var(--color-text-soft);
  margin-bottom: 28px;
}
.sim-card {
  background: var(--c-paper);
  border: 1px solid var(--c-line);
  border-radius: var(--radius-ui);
  padding: 22px 18px;
  margin-bottom: 16px;
}
.sim-field { margin-bottom: 22px; }
.sim-field:last-child { margin-bottom: 0; }
.sim-field__label {
  display: block;
  font-size: 14px;
  font-weight: 700;
  margin: 0 0 10px;
}
.sim-field__note { margin: 8px 0 0; font-size: 10.5px; color: var(--color-text-soft); line-height: 1.7; }
.sim-field__menu-info {
  margin: 10px 0 0;
  font-size: 11.5px;
  color: var(--color-text-soft);
  line-height: 1.8;
}

.stepper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.stepper__btn {
  width: 52px;
  height: 52px;
  flex-shrink: 0;
  border-radius: 50%;
  border: 1px solid var(--c-ink);
  background: var(--c-paper);
  color: var(--c-ink);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(34,33,39,.12);
}
.stepper__btn:active { background: var(--c-ink); color: #fff; }
.stepper__value {
  flex: 1;
  text-align: center;
  font-family: var(--font-serif);
  font-size: 34px;
  font-weight: 600;
}
.stepper__value small { font-size: 15px; font-weight: 500; margin-left: 2px; }

.seg {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.seg__btn {
  border: 1.5px solid var(--color-line);
  background: #fff;
  border-radius: 12px;
  padding: 10px 4px 9px;
  cursor: pointer;
  font-family: inherit;
  -webkit-tap-highlight-color: rgba(156,74,88,.15);
}
.seg__btn strong {
  display: block;
  font-family: var(--font-serif);
  font-size: 17px;
  color: var(--color-text);
}
.seg__btn span {
  display: block;
  margin-top: 2px;
  font-size: 9px;
  line-height: 1.5;
  color: var(--color-text-soft);
}
.seg__btn--on {
  border-color: var(--c-gold);
  background: var(--c-ivory);
}
.seg__btn--on strong { color: var(--c-ink); }

.sim-results { padding: 6px 18px; }
.sim-results__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 0;
  border-bottom: 1px dashed var(--color-line);
  font-size: 12.5px;
  color: var(--color-text-soft);
}
.sim-results__row:last-child { border-bottom: none; }
.sim-results__row strong {
  font-family: var(--font-serif);
  font-size: 16px;
  color: var(--color-text);
  text-align: right;
  white-space: nowrap;
}
.sim-results__row--total { background: transparent; }
.sim-results__row--total span { color: var(--color-text); font-weight: 700; }
.sim-results__row--total strong { font-size: 26px; color: var(--c-ink); }
.sim-results__row--net strong { font-size: 19px; }

.sim__disclaimer {
  margin: 18px 0 26px;
  font-size: 10.5px;
  line-height: 1.9;
  color: var(--color-text-soft);
}
.sim__disclaimer p { margin-bottom: 6px; }
.sim__disclaimer strong { color: var(--color-text); font-weight: 700; }

.sim__cta { text-align: center; }
.sim__cta .btn--lg { margin: 0 auto 18px; }
.sim__back {
  font-size: 13px;
  color: var(--color-text-soft);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
}

/* ==============================================
   最終改修：ターゲット再定義版の追加スタイル
   ============================================== */
/* CHAPTER 02 THE STORY（悩みの言語化・誌面） */
.empathy { background: var(--c-paper); }
.empathy__lines {
  font-family: var(--font-serif);
  font-size: 16px;
  line-height: 2.2;
  color: var(--c-ink);
  letter-spacing: .03em;
}
.empathy__lines p { margin-bottom: 1.9em; }
.empathy__lines p:nth-child(odd) { color: var(--c-muted); }
@media (min-width: 768px) { .empathy__lines { font-size: 18px; } }

/* CHAPTER 03 導入リード */
.preview__lead {
  text-align: center;
  font-size: 14px;
  line-height: 2.2;
  color: var(--c-muted);
  margin-bottom: 30px;
}
.preview .fv__faces { margin: 0 auto 34px; }

/* CHAPTER 05 HAND + COUSHI */
.hand__words {
  font-family: var(--font-serif);
  font-size: 19px;
  line-height: 2.2;
  color: var(--c-ink);
  padding-left: 18px;
  border-left: 1px solid var(--c-gold);
}
.hand__key {
  margin-top: 40px;
  padding-top: 26px;
  border-top: 1px solid var(--c-gold-soft);
  font-family: var(--font-serif);
  font-size: 20px;
  line-height: 2.1;
  letter-spacing: .04em;
  color: var(--c-ink);
}
.hand__key p { margin-bottom: 1em; }
.hand__key span { color: var(--c-gold); }
@media (min-width: 768px) {
  .hand__words { font-size: 22px; }
  .hand__key { font-size: 26px; }
}

/* CHAPTER 08 SALON CONTINUITY */
.continuity { background: var(--c-paper); }
.continuity__list {
  list-style: none;
  margin: 36px 0 0;
  padding: 0;
  display: grid;
  gap: 14px;
}
.continuity__list li {
  font-size: 14.5px;
  line-height: 2;
  padding-left: 20px;
  position: relative;
  color: var(--c-ink);
}
.continuity__list li::before {
  content: '';
  position: absolute;
  left: 0; top: 13px;
  width: 10px; height: 1px;
  background: var(--c-gold);
}
@media (min-width: 768px) { .continuity__list li { font-size: 16px; } }

/* CHAPTER 12 NEW INTRODUCTION PLAN（月額＋6ヶ月主役・初期費アコーディオン） */
.pricing__term-big {
  font-family: var(--font-serif);
  font-size: 38px;
  font-weight: 600;
  color: var(--c-ink);
  line-height: 1.25;
  display: block;
}
.pricing__term-big small { font-size: 16px; font-weight: 500; color: var(--c-gold); }
.pricing__term {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--c-line);
  font-size: 15px;
}
.pricing__initial-note {
  margin: 22px 0 0;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--c-ink);
}
.pricing__accordion {
  margin: 18px 0 6px;
  text-align: left;
  background: var(--c-ivory);
  border: 1px solid var(--c-line);
  border-radius: var(--radius-ui);
}
.pricing__accordion summary {
  list-style: none;
  cursor: pointer;
  padding: 14px 40px 14px 16px;
  font-size: 13.5px;
  font-weight: 700;
  position: relative;
  -webkit-tap-highlight-color: transparent;
}
.pricing__accordion summary::-webkit-details-marker { display: none; }
.pricing__accordion summary::after {
  content: '＋';
  position: absolute;
  right: 16px; top: 50%;
  transform: translateY(-50%);
  color: var(--c-gold);
  font-size: 15px;
}
.pricing__accordion[open] summary::after { content: '−'; }
.pricing__accordion-body {
  padding: 0 16px 16px;
  font-size: 12.5px;
  line-height: 2;
  color: var(--c-muted);
  border-top: 1px dashed var(--c-line);
}
.pricing__accordion-body p { padding-top: 10px; margin: 0; }
.pricing__accordion-price {
  font-size: 14px;
  color: var(--c-ink);
}
.pricing__accordion-price strong {
  font-family: var(--font-serif);
  font-size: 21px;
  font-weight: 600;
}
.pricing__accordion-link { font-size: 11.5px; }

/* ==============================================
   Roland型再構築：追加スタイル
   ============================================== */

/* --- SECTION 01 FV --- */
.fv__tagline {
  margin-top: 20px;
  font-family: var(--font-serif);
  font-size: 16px;
  line-height: 1.9;
  letter-spacing: .05em;
  color: var(--c-muted);
}
.fv__product {
  margin: 14px 0 0;
  font-family: var(--font-serif);
  font-size: 30px;
  font-weight: 600;
  letter-spacing: .1em;
  color: var(--c-ink);
}
.fv__product-sub {
  display: block;
  font-family: var(--font-en);
  font-size: 10px;
  letter-spacing: .3em;
  color: var(--c-gold);
  margin-top: 4px;
}
.fv__photo {
  margin: 24px auto 0;
  max-width: 560px;
}
.fv__photo img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: var(--radius-editorial);
  border: 1px solid var(--c-gold-soft);
}
.fv__hook {
  margin: 20px auto 0;
  display: inline-block;
  background: var(--c-paper);
  border: 1px solid var(--c-gold-soft);
  border-radius: var(--radius-ui);
  padding: 12px 18px;
}
.fv__hook-price {
  margin: 0;
  font-size: 13px;
  color: var(--c-ink);
}
.fv__hook-price strong {
  font-family: var(--font-serif);
  font-size: 21px;
  font-weight: 600;
  margin: 0 1px;
}
.fv__hook-term {
  display: inline-block;
  margin-left: 10px;
  font-size: 11px;
  color: var(--c-muted);
}
.fv__hook-note {
  margin: 5px 0 0;
  font-size: 10.5px;
  font-weight: 700;
  color: var(--c-ink);
}
.fv__ctas { margin-top: 22px; }
.fv__ctas .btn--lg { margin: 0 auto; }
.fv__doc-link {
  display: table;
  margin: 16px auto 0;
  font-size: 13px;
  color: var(--c-muted);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
}
@media (min-width: 768px) {
  .fv__tagline { font-size: 19px; }
  .fv__product { font-size: 38px; }
  .fv__photo { max-width: 640px; }
}

/* --- SECTION 02 悩み --- */
.concerns { background: var(--c-ivory); }
.concerns__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
.concern {
  background: var(--c-paper);
  border: 1px solid var(--c-line);
  border-radius: var(--radius-ui);
  padding: 20px 20px 18px;
}
.concern__num {
  display: block;
  font-family: var(--font-en);
  font-size: 13px;
  letter-spacing: .2em;
  color: var(--c-gold);
  margin-bottom: 6px;
}
.concern h3 {
  font-family: var(--font-serif);
  font-size: 17px;
  font-weight: 600;
  margin-bottom: 7px;
}
.concern p { font-size: 13px; line-height: 1.95; color: var(--c-muted); margin: 0; }
@media (min-width: 768px) {
  .concerns__grid { grid-template-columns: 1fr 1fr; gap: 20px; }
  .concern { padding: 26px 26px 22px; }
}

/* --- SECTION 03 解決 --- */
.solutions { background: var(--c-paper); }
.solutions__list { display: grid; gap: 26px; max-width: 720px; }
.solution {
  padding-left: 18px;
  border-left: 1px solid var(--c-gold);
}
.solution h3 {
  font-family: var(--font-serif);
  font-size: 19px;
  font-weight: 600;
  margin-bottom: 8px;
}
.solution p { font-size: 13.5px; line-height: 2; color: var(--c-muted); margin: 0; }
@media (min-width: 768px) {
  .solution h3 { font-size: 22px; }
  .solution p { font-size: 14.5px; }
}

/* --- CTA帯 --- */
.cta-band {
  background: var(--c-ivory);
  border-top: 1px solid var(--c-gold-soft);
  border-bottom: 1px solid var(--c-gold-soft);
  padding: 34px 0;
  text-align: center;
}
.cta-band__text {
  font-family: var(--font-serif);
  font-size: 15px;
  letter-spacing: .04em;
  color: var(--c-ink);
  margin-bottom: 16px;
}
.cta-band .btn--lg { margin: 0 auto; }
@media (min-width: 768px) { .cta-band { padding: 44px 0; } }

/* --- SECTION 04 特長 --- */
.features { background: var(--c-ivory); }
.features__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.feature {
  background: var(--c-paper);
  border: 1px solid var(--c-line);
  border-radius: var(--radius-ui);
  padding: 18px 14px 16px;
  text-align: center;
}
.feature__label {
  display: block;
  font-family: var(--font-en);
  font-size: 9px;
  letter-spacing: .24em;
  color: var(--c-gold);
  margin-bottom: 8px;
}
.feature__stat {
  font-family: var(--font-en);
  font-size: 15px;
  color: var(--c-ink);
  margin: 0 0 8px;
  line-height: 1.2;
}
.feature__stat strong {
  font-size: 30px;
  font-weight: 400;
}
.feature h3 {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 6px;
}
.feature p { font-size: 11px; line-height: 1.8; color: var(--c-muted); margin: 0; }
@media (min-width: 768px) {
  .features__grid { grid-template-columns: repeat(4, 1fr); gap: 18px; }
  .feature { padding: 26px 18px 22px; }
  .feature__stat strong { font-size: 38px; }
  .feature h3 { font-size: 14.5px; }
  .feature p { font-size: 12px; }
}

/* --- SECTION 05 5人の圧縮カード --- */
.owners-compact { background: var(--c-paper); }
.owners-compact__lead {
  font-size: 14px;
  line-height: 2.1;
  color: var(--c-muted);
  margin-bottom: 34px;
}
.owners-compact__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
}
.owner-card {
  background: var(--c-ivory);
  border: 1px solid var(--c-line);
  border-radius: var(--radius-ui);
  padding: 22px 20px;
}
.owner-card__label {
  font-family: var(--font-en);
  font-size: 10px;
  letter-spacing: .28em;
  color: var(--c-gold);
  margin: 0 0 12px;
}
.owner-card__head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
}
.owner-card__face {
  width: 64px; height: 64px;
  object-fit: cover;
  border-radius: 50%;
  border: 1px solid var(--c-gold-soft);
  flex-shrink: 0;
}
.owner-card__name {
  font-family: var(--font-serif);
  font-size: 18px;
  font-weight: 600;
  margin: 0;
}
.owner-card__title { font-size: 11px; color: var(--c-muted); margin: 3px 0 0; line-height: 1.6; }
.owner-card .owner__ba { max-width: none; }
.owner-card__quote {
  margin: 14px 0 0;
  font-family: var(--font-serif);
  font-size: 14.5px;
  line-height: 2;
  letter-spacing: .02em;
  color: var(--c-ink);
}
.owner-card .yt-card { background: var(--c-paper); margin-top: 16px; }
@media (min-width: 900px) {
  .owners-compact__grid { grid-template-columns: 1fr 1fr; gap: 26px; }
  .owner-card { padding: 28px 26px; }
}

/* --- SECTION 06 活用例 --- */
.usecases { background: var(--c-ivory); }
.usecases__list { display: grid; gap: 16px; }
.usecase {
  background: var(--c-paper);
  border: 1px solid var(--c-line);
  border-top: 1px solid var(--c-gold);
  border-radius: var(--radius-ui);
  padding: 22px 22px 18px;
}
.usecase__label {
  display: block;
  font-family: var(--font-en);
  font-size: 10px;
  letter-spacing: .26em;
  color: var(--c-gold);
  margin-bottom: 8px;
}
.usecase h3 {
  font-family: var(--font-serif);
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 8px;
}
.usecase p { font-size: 13px; line-height: 2; color: var(--c-muted); margin: 0; }
.usecases__note { margin-top: 18px; font-size: 11px; color: var(--c-muted); }
@media (min-width: 900px) {
  .usecases__list { grid-template-columns: repeat(3, 1fr); gap: 22px; }
}

/* --- SECTION 09 製品（Science圧縮） --- */
.mech__product {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 28px;
  margin: 8px 0 36px;
}
.mech__product-item { margin: 0; text-align: center; }
.mech__product-item img { margin: 0 auto; }
.mech__product-item figcaption {
  margin-top: 8px;
  font-size: 11px;
  color: var(--c-muted);
}
.mech__detail {
  border: 1px solid var(--c-line);
  border-radius: var(--radius-ui);
  background: var(--c-ivory);
}
.mech__detail summary {
  list-style: none;
  cursor: pointer;
  padding: 15px 44px 15px 18px;
  font-size: 14px;
  font-weight: 700;
  position: relative;
  -webkit-tap-highlight-color: transparent;
}
.mech__detail summary::-webkit-details-marker { display: none; }
.mech__detail summary::after {
  content: '＋';
  position: absolute;
  right: 18px; top: 50%;
  transform: translateY(-50%);
  color: var(--c-gold);
}
.mech__detail[open] summary::after { content: '−'; }
.mech__detail-body { padding: 0 18px 18px; border-top: 1px dashed var(--c-line); }
.mech__detail-body .compare { margin: 18px 0 0; }

/* --- SECTION 10 価格：出口の3択一行 --- */
.pricing__exit {
  margin: 18px 0 0;
  font-size: 13px;
  color: var(--c-muted);
}

/* --- SECTION 12 流れ（縦・体験ステップ強調） --- */
.flow-section { background: var(--c-ivory); }
.flow__steps--vert { grid-template-columns: 1fr !important; max-width: 640px; }
.flow__step--key {
  border-color: var(--c-gold);
  background: var(--c-paper);
}
.flow__step--key .flow__num::after {
  content: '重要';
  display: inline-block;
  margin-left: 8px;
  font-family: var(--font-sans);
  font-size: 10px;
  letter-spacing: .08em;
  color: #fff;
  background: var(--c-gold);
  border-radius: var(--radius-pill);
  padding: 1px 8px;
  vertical-align: 1px;
}

/* --- SECTION 13 FAQ独立セクション --- */
.contact-faq { background: var(--c-paper); }

/* 料金プラン見出し（日本語・月額レンタルプラン） */
.pricing__plan--jp {
  font-family: var(--font-serif);
  font-size: 20px;
  letter-spacing: .12em;
  color: var(--c-ink);
  font-weight: 500;
}
.pricing__plan--jp::after {
  content: 'MONTHLY RENTAL PLAN';
  display: block;
  margin-top: 6px;
  font-family: var(--font-en);
  font-size: 10px;
  letter-spacing: .3em;
  color: var(--c-gold);
  font-weight: 400;
}
/* FEATURE 02（月額レンタル）: 始めやすさ訴求の微調整 */
.feature h3 { min-height: 0; }

/* FV確定版（人生が変わった。→光糸リフト→5人の実話） */
.fv__message {
  margin-top: 12px;
  font-family: var(--font-serif);
  font-size: 18px;
  line-height: 1.9;
  letter-spacing: .05em;
  color: var(--c-ink);
}
.fv__lead { margin-top: 16px; }
.fv__lead p { margin-bottom: 1.1em; }
.fv__lead p:first-child {
  font-family: var(--font-serif);
  font-size: 15px;
  line-height: 2.15;
  color: var(--c-muted);
}
.fv__proof {
  font-size: 13px;
  color: var(--c-ink);
  font-weight: 500;
}
.fv__photo { margin-top: 22px; }
.fv .fv__product { font-size: 22px; margin-top: 18px; }
.fv .fv__product-sub {
  letter-spacing: .12em;
  font-family: var(--font-sans);
  font-size: 11px;
  color: var(--c-muted);
  margin-top: 6px;
}
.fv__points {
  list-style: none;
  margin: 18px auto 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}
.fv__points li {
  font-size: 12px;
  letter-spacing: .04em;
  color: var(--c-ink);
  background: var(--c-paper);
  border: 1px solid var(--c-gold-soft);
  border-radius: var(--radius-pill);
  padding: 7px 14px;
}
@media (min-width: 768px) {
  .fv__message { font-size: 22px; }
  .fv__points li { font-size: 13px; padding: 8px 18px; }
  .fv .fv__product { font-size: 26px; }
}
/* 悩みセクション導入（旧FVコピーの移動先） */
.concerns__intro {
  font-family: var(--font-serif);
  font-size: 17px;
  line-height: 2;
  letter-spacing: .04em;
  color: var(--c-ink);
  margin: 0 0 20px;
}
@media (min-width: 768px) { .concerns__intro { font-size: 20px; } }

/* ==============================================
   MOBILE LAYOUT v2（2026-08-28 全面組み直し）
   目標：流し見でも分かる（Roland級の理解速度）
   手段：大見出し・大番号・大写真・背景のメリハリ・墨CTA帯
   世界観：Design Bible v1.0（paper/ivory/ink/gold/rose）を維持
   ============================================== */

/* --- 見出しスケール（§16） --- */
.section__title {
  font-size: clamp(30px, 8.7vw, 38px);
  line-height: 1.55;
  margin-bottom: 40px;
}
.chapter__title { font-size: clamp(30px, 8.7vw, 38px); }
@media (min-width: 768px) {
  .section__title, .chapter__title { font-size: 48px; }
}

/* --- FV（§1〜4）：Visual50%以上・大きな円形3ポイント --- */
.fv__inner { padding: 38px 24px 50px; }
.fv__title { font-size: clamp(44px, 12.3vw, 52px); }
.fv__photo--bleed { margin: 20px -24px 0; max-width: none; }
.fv__photo--bleed img {
  aspect-ratio: 1 / 1;
  border-radius: 0;
  border-left: none;
  border-right: none;
}
.fv__points--circles {
  margin-top: 22px;
  gap: 8px;
  flex-wrap: nowrap;
  align-items: stretch;
}
.fv__points--circles li {
  width: calc((100% - 16px) / 3);
  max-width: 128px;
  aspect-ratio: 1 / 1;
  height: auto;
  padding: 0 6px;
  border-radius: 50%;
  border: 1px solid var(--c-gold-soft);
  background: var(--c-paper);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  flex-shrink: 0;
}
.fv__point-num {
  font-family: var(--font-en);
  font-size: 17px;
  letter-spacing: .08em;
  color: var(--c-gold);
  line-height: 1;
}
.fv__point-num::after {
  content: '';
  display: block;
  width: 14px;
  height: 1px;
  background: var(--c-gold-soft);
  margin: 5px auto 0;
}
.fv__point-text {
  font-size: 10.5px;
  line-height: 1.5;
  font-weight: 700;
  color: var(--c-ink);
  text-align: center;
  letter-spacing: .02em;
}
.fv__ctas { margin-top: 24px; }
.fv__ctas .btn--lg { max-width: 320px; }   /* 390pxで約82%幅（§4） */
@media (min-width: 768px) {
  .fv__inner { padding: 72px 24px 84px; }
  .fv__photo--bleed { margin: 32px auto 0; max-width: 720px; }
  .fv__photo--bleed img {
    aspect-ratio: 16 / 10;
    border-radius: var(--radius-editorial);
    border: 1px solid var(--c-gold-soft);
  }
  .fv__points--circles { gap: 18px; justify-content: center; }
  .fv__points--circles li { width: 148px; max-width: 148px; }
  .fv__point-num { font-size: 20px; }
  .fv__point-text { font-size: 12.5px; }
}

/* --- CTA帯（§14）：墨の全幅帯 --- */
.cta-band--ink {
  background: var(--c-ink);
  border-top: none;
  border-bottom: none;
  padding: 54px 0 58px;
}
.cta-band--ink .cta-band__text {
  color: #fff;
  font-size: clamp(20px, 5.7vw, 24px);
  line-height: 1.8;
  letter-spacing: .05em;
  margin-bottom: 26px;
}
.cta-band--ink .cta-band__text::before {
  content: '';
  display: block;
  width: 36px;
  height: 1px;
  background: var(--c-gold);
  margin: 0 auto 22px;
}
.cta-band--ink .btn--lg { max-width: 320px; }
@media (min-width: 768px) {
  .cta-band--ink { padding: 72px 0; }
  .cta-band--ink .cta-band__text { font-size: 28px; }
}

/* --- SECTION 02 5人の事例（§10・11）：写真主役のEditorial --- */
.owners-compact__lead { font-size: 15px; margin-bottom: 40px; }
.owners-compact__grid { gap: 52px; }
.owner-card {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
}
.owner-card__label {
  font-size: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--c-gold-soft);
  margin-bottom: 18px;
}
.owner-card__face { width: 56px; height: 56px; }
.owner-card__name { font-size: 21px; }
.owner-card__title { font-size: 12px; }
.owner-card .owner__ba { gap: 10px; }
.owner-card .owner__ba-item img { border-color: var(--c-gold-soft); }
.owner-card .owner__ba-item figcaption { font-size: 12px; letter-spacing: .18em; }
.owner-card__quote { font-size: 17px; margin-top: 18px; }
.owner-card .yt-card {
  background: transparent;
  border: none;
  border-top: 1px solid var(--c-line);
  border-radius: 0;
  padding: 14px 0 0;
  margin-top: 18px;
  min-height: 0;
}
.owner-card .yt-card__thumb { display: none; }
.owner-card .yt-card__name { display: none; }
.owner-card .yt-card__lead { margin: 0; }
.owner-card .yt-card__action { font-size: 14px; margin-top: 8px; }
@media (min-width: 900px) {
  .owners-compact__grid { gap: 64px 48px; }
  .owner-card { padding: 0; }
}

/* --- SECTION 03 悩み（§6）：大番号＋大見出しのEditorial --- */
.concerns__intro { font-size: 19px; }
.concerns__list { display: grid; gap: 44px; }
.concern-xl { max-width: 620px; }
.concern-xl__num {
  display: block;
  font-family: var(--font-en);
  font-size: 56px;
  line-height: 1;
  color: var(--c-gold);
}
.concern-xl__num::after {
  content: '';
  display: block;
  width: 30px;
  height: 1px;
  background: var(--c-gold-soft);
  margin-top: 12px;
}
.concern-xl__title {
  font-family: var(--font-serif);
  font-size: clamp(21px, 5.9vw, 24px);
  font-weight: 600;
  line-height: 1.75;
  margin: 14px 0 10px;
}
.concern-xl__body {
  font-size: 13.5px;
  line-height: 2;
  color: var(--c-muted);
  margin: 0;
}
@media (min-width: 768px) {
  .concerns__list { grid-template-columns: 1fr 1fr; gap: 56px 48px; }
  .concern-xl__num { font-size: 72px; }
  .concern-xl__title { font-size: 27px; }
}

/* --- SECTION 04 解決（§7）：番号＋大見出し＋短文 --- */
.solutions__list--xl { gap: 0; display: block; max-width: 720px; }
.solution-xl { padding: 34px 0 38px; border-left: none; }
.solution-xl + .solution-xl { border-top: 1px solid var(--c-line); }
.solution-xl__num {
  display: block;
  font-family: var(--font-en);
  font-size: 44px;
  line-height: 1;
  color: var(--c-gold);
  margin-bottom: 10px;
}
.solution-xl h3 {
  font-family: var(--font-serif);
  font-size: clamp(22px, 6.2vw, 26px);
  font-weight: 600;
  line-height: 1.7;
  margin-bottom: 8px;
}
.solution-xl p {
  font-size: 13.5px;
  line-height: 2;
  color: var(--c-muted);
  margin: 0;
}
@media (min-width: 768px) {
  .solution-xl h3 { font-size: 28px; }
  .solution-xl p { font-size: 14.5px; }
}

/* --- SECTION 05 特長（§8）：大番号→大見出し→短文→大写真の縦構造 --- */
.feat { padding: 46px 0 50px; border-top: 1px solid var(--c-gold-soft); }
.feat__num {
  display: block;
  font-family: var(--font-en);
  font-size: 64px;
  line-height: 1;
  color: var(--c-gold);
  margin-bottom: 16px;
}
.feat__title {
  font-family: var(--font-serif);
  font-size: clamp(24px, 6.7vw, 28px);
  font-weight: 600;
  line-height: 1.65;
  margin-bottom: 14px;
}
.feat__body {
  font-size: 14px;
  line-height: 2.05;
  color: var(--c-muted);
  margin: 0 0 20px;
  max-width: 620px;
}
.feat__stat {
  font-family: var(--font-serif);
  font-size: 23px;
  font-weight: 500;
  color: var(--c-ink);
  line-height: 1.2;
  margin: 0 0 16px;
}
.feat__stat strong { font-size: 58px; font-weight: 600; }
.feat__stat-sub { font-size: 14px; color: var(--c-gold); margin-left: 6px; }
.feat__note {
  font-size: 12px;
  font-weight: 700;
  color: var(--c-ink);
  margin: -10px 0 20px;
}
.feat__photo { margin: 4px -20px 0; }
.feat__photo img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 0;
}
.feat__photo--device {
  margin: 4px 0 0;
  display: flex;
  justify-content: center;
}
.feat__photo--device img {
  width: min(52%, 230px);
  aspect-ratio: auto;
  object-fit: contain;
}
@media (min-width: 768px) {
  .feat { padding: 64px 0 68px; }
  .feat__num { font-size: 84px; }
  .feat__title { font-size: 34px; }
  .feat__stat strong { font-size: 72px; }
  .feat__photo { margin: 8px 0 0; max-width: 680px; }
  .feat__photo img {
    aspect-ratio: 16 / 9;
    border-radius: var(--radius-editorial);
    border: 1px solid var(--c-gold-soft);
  }
}

/* --- SECTION 06 基本（§9）：製品仕様の圧縮タイル --- */
.basics { background: var(--c-paper); }
.basics .section__title { text-align: center; }
.basics__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  max-width: 640px;
  margin: 0 auto;
}
.basic {
  border: 1px solid var(--c-line);
  border-radius: var(--radius-ui);
  background: var(--c-paper);
  padding: 24px 10px 18px;
  text-align: center;
}
.basic__value {
  font-family: var(--font-serif);
  font-size: 18px;
  color: var(--c-ink);
  line-height: 1.15;
  margin: 0 0 8px;
}
.basic__value strong { font-size: 40px; font-weight: 600; }
.basic__value--txt strong { font-size: 25px; }
.basic__label { font-size: 11.5px; color: var(--c-muted); letter-spacing: .04em; margin: 0; }
.basics__note {
  margin: 20px auto 0;
  max-width: 640px;
  font-size: 12.5px;
  line-height: 2;
  color: var(--c-muted);
  text-align: center;
}
@media (min-width: 768px) {
  .basics__grid { grid-template-columns: repeat(4, 1fr); max-width: 880px; }
  .basics__note { max-width: 880px; }
}

/* --- SECTION 07 活用例（§12）：組み合わせの「式」 --- */
.usecases__list--xl { display: block; }
.uc { padding: 38px 0 42px; border-top: 1px solid var(--c-gold-soft); max-width: 720px; }
.uc__label {
  display: block;
  font-family: var(--font-en);
  font-size: 12px;
  letter-spacing: .26em;
  color: var(--c-gold);
  margin-bottom: 18px;
}
.uc__formula { display: flex; align-items: stretch; gap: 10px; }
.uc__box {
  flex: 1;
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 10px 6px;
  border: 1px solid var(--c-line);
  border-radius: var(--radius-ui);
  background: var(--c-paper);
  font-family: var(--font-serif);
  font-size: 16.5px;
  font-weight: 600;
  line-height: 1.6;
  color: var(--c-ink);
}
.uc__box--main {
  background: var(--c-ink);
  border-color: var(--c-ink);
  color: #F3EFE8;
}
.uc__box--main small {
  font-family: var(--font-en);
  font-size: .85em;
  color: var(--c-gold-soft);
  margin-left: 5px;
}
.uc__plus {
  align-self: center;
  flex-shrink: 0;
  font-size: 22px;
  color: var(--c-gold);
}
.uc__formula--triple .uc__box {
  min-height: 64px;
  font-family: var(--font-en);
  font-size: 24px;
  font-weight: 400;
}
.uc__formula-caption { margin: 10px 0 0; font-size: 12px; color: var(--c-muted); }
.uc__body {
  margin: 18px 0 0;
  font-size: 13.5px;
  line-height: 2;
  color: var(--c-muted);
  max-width: 620px;
}
@media (min-width: 768px) {
  .uc__box { font-size: 19px; min-height: 92px; }
  .uc__plus { font-size: 28px; }
}

/* --- SECTION 08 Business（§13）：数字を画面幅で大胆に --- */
.salon-cases { background: var(--c-paper); }
.salon-case { border-top-color: var(--c-gold-soft); }
.salon-case__stat { font-size: clamp(60px, 17.5vw, 72px); letter-spacing: .01em; }
.salon-case__stat-prefix { font-size: 16px; margin-bottom: 6px; }
.salon-case__stat-label { font-size: 13px; margin: 4px 0 18px; }
.salon-case__body { font-size: 14.5px; }
@media (min-width: 768px) {
  .salon-case__stat { font-size: 96px; }
}
.sim-cta__heading { font-size: 24px; }

/* --- SECTION 10 Science（§18）：短く・視覚的に --- */
.mech { background: var(--c-ivory); }
.mech__detail { background: var(--c-paper); }
.mech__question { font-size: 17px; margin-bottom: 44px; }
.sci-stat__value { font-size: clamp(64px, 19.5vw, 76px); }

/* --- SECTION 11 料金（§19・20）：簡潔・大きな数字 --- */
.pricing { background: var(--c-paper); }
.pricing__card { border-color: var(--c-gold-soft); }
.pricing__big { font-size: clamp(48px, 13.6vw, 56px); }
.pricing__exit-wrap {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--c-line);
}
.pricing__exit-label {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
  color: var(--c-gold);
  margin: 0 0 12px;
}
.pricing__exit-choices {
  list-style: none;
  display: flex;
  justify-content: center;
  gap: 10px;
  margin: 0 0 12px;
  padding: 0;
}
.pricing__exit-choices li {
  flex: 1;
  max-width: 108px;
  padding: 15px 0;
  border: 1px solid var(--c-gold-soft);
  border-radius: var(--radius-ui);
  background: var(--c-ivory);
  font-family: var(--font-serif);
  font-size: 17px;
  font-weight: 600;
  text-align: center;
  color: var(--c-ink);
}
.pricing__exit { font-size: 12px; margin: 0; }
@media (min-width: 768px) {
  .pricing__big { font-size: 64px; }
}

/* --- SECTION 12 サポート（§21）：写真大＋項目短く --- */
.program__photo { max-width: none; margin: 0 -20px 4px; }
.program__photo img {
  aspect-ratio: 4 / 3;
  border-radius: 0;
  border-left: none;
  border-right: none;
}
.program__grid { gap: 0; margin-top: 24px; border-top: 1px solid var(--c-line); }
.program__card {
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--c-line);
  border-radius: 0;
  padding: 15px 2px 13px;
  display: grid;
  grid-template-columns: 34px 1fr;
  column-gap: 12px;
  align-items: baseline;
}
.program__card-num { margin: 0; font-size: 12px; }
.program__card h3 { font-size: 15px; margin: 0; grid-column: 2; }
.program__card p { grid-column: 2; font-size: 12px; margin-top: 3px; line-height: 1.8; }
@media (min-width: 768px) {
  .program__photo { max-width: 680px; margin: 0 auto 8px; }
  .program__photo img {
    aspect-ratio: 16 / 9;
    border-radius: var(--radius-editorial);
    border: 1px solid var(--c-gold-soft);
  }
  .program__grid { grid-template-columns: 1fr 1fr; column-gap: 40px; max-width: 880px; margin: 32px auto 0; }
}

/* --- SECTION 13 導入の流れ（§22）：巨大STEP --- */
.flow-section { background: var(--c-paper); }
.flow-xl {
  list-style: none;
  margin: 0;
  padding: 0;
  max-width: 640px;
}
.flow-xl__step {
  display: grid;
  grid-template-columns: 66px 1fr;
  column-gap: 18px;
  align-items: start;
  padding: 26px 0;
  border-top: 1px solid var(--c-line);
}
.flow-xl__step:last-child { border-bottom: 1px solid var(--c-line); }
.flow-xl__digit {
  font-family: var(--font-en);
  font-size: 46px;
  line-height: 1;
  color: var(--c-gold);
}
.flow-xl__word {
  display: block;
  font-family: var(--font-en);
  font-size: 10.5px;
  letter-spacing: .26em;
  color: var(--c-muted);
  margin-bottom: 5px;
}
.flow-xl__body h3 {
  font-family: var(--font-serif);
  font-size: 19px;
  font-weight: 600;
  margin-bottom: 4px;
}
.flow-xl__body p {
  font-size: 13px;
  line-height: 1.9;
  color: var(--c-muted);
  margin: 0;
}
.flow-xl__step--key .flow-xl__digit { color: var(--c-ink); }
.flow-xl__step--key .flow-xl__word::after {
  content: '重要';
  display: inline-block;
  margin-left: 8px;
  font-family: var(--font-sans);
  font-size: 10px;
  letter-spacing: .08em;
  color: #fff;
  background: var(--c-gold);
  border-radius: var(--radius-pill);
  padding: 1px 8px;
  vertical-align: 1px;
}
@media (min-width: 768px) {
  .flow-xl__digit { font-size: 56px; }
  .flow-xl__body h3 { font-size: 21px; }
}

/* --- SECTION 14 FAQ（§23）：見出し拡大・背景ivory --- */
.contact-faq { background: var(--c-ivory); }
.contact-faq .faq__item { background: var(--c-paper); }
.faq__item summary { font-size: 16px; }

/* --- SECTION 15 Final CTA（§24） --- */
.contact { background: var(--c-paper); }
.contact__lead { font-size: 16px; }
.contact__ctas .btn--lg { max-width: 320px; }
#contact-form { background: var(--c-ivory); }
.contact__success { background: var(--c-ivory); }

/* ==============================================
   FINAL COPY版（2026-09-03）
   原稿docx準拠の新セクション＋Roland型リズム調整
   ============================================== */

/* --- FV：問いかけH1 --- */
.fv__title--q { font-size: clamp(34px, 9.7vw, 40px); line-height: 1.5; }
@media (min-width: 768px) { .fv__title--q { font-size: 60px; } }

/* --- 背景リズム（paper / ivory / ink の交互） --- */
.cases { background: var(--c-paper); }
.owners-compact { background: var(--c-ivory); }
.movie { background: var(--c-ivory); }
.integrate { background: var(--c-paper); }
.basics { background: var(--c-ivory); }
.basics .basic { background: var(--c-paper); }
.mech { background: var(--c-paper); }
.mech__detail { background: var(--c-ivory); }
.pricing { background: var(--c-ivory); }
.program { background: var(--c-paper); }
.flow-section { background: var(--c-ivory); }
.contact-faq { background: var(--c-paper); }
.contact-faq .faq__item { background: var(--c-ivory); }
.contact { background: var(--c-ivory); }
#contact-form { background: var(--c-paper); }
.contact__success { background: var(--c-paper); }

/* --- SECTION 02 課題（Roland CASEカードの翻訳） --- */
.case-list {
  display: grid;
  gap: 46px;
  max-width: 640px;
  margin: 8px auto 0;
}
.case-card {
  position: relative;
  margin-top: 34px;
  background: var(--c-ivory);
  border: 1px solid var(--c-line);
  border-radius: var(--radius-ui);
  padding: 0 22px 24px;
  text-align: center;
}
.case-card__badge {
  width: 68px;
  height: 68px;
  margin: -34px auto 14px;
  border-radius: 50%;
  background: var(--c-ink);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1px;
  font-family: var(--font-en);
  font-size: 9px;
  letter-spacing: .2em;
  color: var(--c-gold-soft);
}
.case-card__badge strong {
  font-size: 21px;
  font-weight: 400;
  letter-spacing: .06em;
  color: #fff;
  line-height: 1;
}
.case-card__title {
  font-family: var(--font-serif);
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 10px;
}
.case-card__body {
  font-size: 13.5px;
  line-height: 2;
  color: var(--c-muted);
  margin: 0;
  text-align: left;
}
@media (min-width: 768px) {
  .case-list { grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 1000px; }
  .case-card__title { font-size: 24px; }
}

/* --- SECTION 03 解決宣言帯＋特長 --- */
.solve { background: var(--c-ivory); }
.solve__band {
  background: var(--c-ink);
  padding: 44px 0 48px;
  text-align: center;
}
.solve__band-text {
  font-family: var(--font-serif);
  font-size: clamp(21px, 5.9vw, 25px);
  line-height: 1.9;
  letter-spacing: .05em;
  color: #fff;
  margin: 0;
}
.solve__band-text::before {
  content: '';
  display: block;
  width: 36px;
  height: 1px;
  background: var(--c-gold);
  margin: 0 auto 20px;
}
.solve__body { padding: 40px 20px 56px; }
.solve__device { margin: 0 auto 34px; text-align: center; }
.solve__device img { width: min(44%, 210px); margin: 0 auto; }
.solve .feat:last-child { padding-bottom: 8px; }
@media (min-width: 768px) {
  .solve__band { padding: 64px 0; }
  .solve__band-text { font-size: 32px; }
  .solve__body { padding: 56px 20px 72px; }
}

/* --- SECTION 04 未来6項目 --- */
.future { background: var(--c-paper); }
.future__list {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  max-width: 640px;
  border-top: 1px solid var(--c-line);
}
.future__list li {
  display: grid;
  grid-template-columns: 48px 1fr;
  column-gap: 14px;
  align-items: start;
  padding: 18px 2px 16px;
  border-bottom: 1px dashed var(--c-line);
}
.future__num {
  font-family: var(--font-en);
  font-size: 26px;
  line-height: 1.2;
  color: var(--c-gold);
}
.future__body h3 { font-size: 15.5px; font-weight: 700; margin-bottom: 3px; }
.future__body p { font-size: 13px; line-height: 1.9; color: var(--c-muted); margin: 0; }
@media (min-width: 768px) {
  .future__list { max-width: 880px; }
  .future__body h3 { font-size: 17px; }
  .future__body p { font-size: 14px; }
}

/* --- SECTION 05 5人（原稿レイアウト：現在写真が主役） --- */
.pstory { padding-top: 34px; border-top: 1px solid var(--c-gold-soft); }
.pstory__name {
  font-family: var(--font-serif);
  font-size: 21px;
  font-weight: 600;
  margin: 0 0 2px;
}
.pstory__honorific {
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 500;
  color: var(--c-gold);
  letter-spacing: .08em;
  margin-left: 2px;
}
.pstory__salon {
  font-size: 12px;
  color: var(--c-muted);
  line-height: 1.7;
  margin: 0 0 14px;
}
.pstory__headline {
  font-family: var(--font-serif);
  font-size: clamp(21px, 5.9vw, 24px);
  font-weight: 600;
  line-height: 1.75;
  margin: 0 0 16px;
}
.pstory__now { margin: 0 0 10px; }
.pstory__now img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: var(--radius-editorial);
  border: 1px solid var(--c-gold-soft);
}
.pstory .owner__ba { max-width: none; gap: 10px; }
.pstory .owner__ba-item img { border-color: var(--c-gold-soft); }
.pstory .owner__ba-item figcaption { font-size: 11px; letter-spacing: .2em; }
.pstory__story {
  margin: 16px 0 0;
  font-size: 13.5px;
  line-height: 2.05;
  color: var(--c-ink);
}
.pstory__yt {
  display: inline-block;
  margin-top: 14px;
  font-size: 14.5px;
  font-weight: 700;
  color: var(--color-accent);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
}
.owners-close {
  margin: 44px 0 26px;
  font-family: var(--font-serif);
  font-size: 16.5px;
  line-height: 2.1;
  letter-spacing: .03em;
  color: var(--c-ink);
}
@media (min-width: 900px) {
  .pstory__headline { font-size: 27px; }
  .owners-close { font-size: 19px; }
}

/* --- SECTION 08 紹介動画 --- */
.movie__frame {
  max-width: 720px;
  margin: 0 auto;
}
.movie__frame video {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  background: #000;
  border-radius: var(--radius-editorial);
}

/* --- SECTION 09 今のメニューに、どう取り入れられる？ --- */
.integrate__cards {
  display: grid;
  gap: 14px;
  margin-bottom: 46px;
}
.integrate-card {
  background: var(--c-ivory);
  border: 1px solid var(--c-line);
  border-top: 1px solid var(--c-gold);
  border-radius: var(--radius-ui);
  padding: 20px 20px 18px;
}
.integrate-card__num {
  display: block;
  font-family: var(--font-en);
  font-size: 24px;
  line-height: 1;
  color: var(--c-gold);
  margin-bottom: 8px;
}
.integrate-card h3 {
  font-size: 16.5px;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 6px;
}
.integrate-card p { font-size: 13px; line-height: 1.95; color: var(--c-muted); margin: 0; }
.idetail {
  padding: 34px 0 6px;
  border-top: 1px solid var(--c-gold-soft);
  max-width: 720px;
}
.idetail__title {
  font-family: var(--font-serif);
  font-size: clamp(19px, 5.3vw, 22px);
  font-weight: 600;
  line-height: 1.7;
  margin-bottom: 14px;
}
.idetail__check {
  color: var(--c-gold);
  font-family: var(--font-en);
  margin-right: 8px;
}
.idetail p { font-size: 13.5px; line-height: 2.05; color: var(--c-muted); margin-bottom: 1.1em; }
.idetail__eg-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  color: var(--c-gold);
  margin: 18px 0 8px !important;
}
.idetail__eg {
  list-style: none;
  margin: 0 0 22px;
  padding: 0;
  display: grid;
  gap: 7px;
}
.idetail__eg li {
  font-size: 13px;
  line-height: 1.8;
  color: var(--c-ink);
  padding-left: 16px;
  position: relative;
}
.idetail__eg li::before {
  content: '';
  position: absolute;
  left: 0; top: 11px;
  width: 8px; height: 1px;
  background: var(--c-gold);
}
@media (min-width: 768px) {
  .integrate__cards { grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .idetail p { font-size: 14.5px; }
}

/* --- SECTION 13 サポート6項目（チェックリスト） --- */
.support-list {
  list-style: none;
  margin: 26px 0 0;
  padding: 0;
  max-width: 720px;
}
.support-list li {
  position: relative;
  padding: 15px 2px 14px 30px;
  border-bottom: 1px dashed var(--c-line);
  font-size: 14.5px;
  line-height: 1.9;
  font-weight: 500;
  color: var(--c-ink);
}
.support-list li::before {
  content: '✓';
  position: absolute;
  left: 2px;
  top: 14px;
  font-family: var(--font-en);
  color: var(--c-gold);
  font-size: 15px;
}
.support-list__swap { background: var(--c-ivory); border-radius: var(--radius-ui); }
.support-list li.support-list__swap { padding-left: 34px; border-bottom: none; margin-top: 6px; }
.support-list li.support-list__swap::before { left: 10px; }
@media (min-width: 768px) {
  .support-list { margin: 32px auto 0; }
  .support-list li { font-size: 15.5px; }
}

/* --- SECTION 14 流れ：体験場所の2択 --- */
.flow-xl__choice { margin-top: 14px; }
.flow-xl__choice-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  color: var(--c-gold);
  margin: 0 0 8px;
}
.flow-xl__choice-boxes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.flow-xl__choice-boxes span {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 56px;
  padding: 8px 6px;
  background: var(--c-paper);
  border: 1px solid var(--c-gold-soft);
  border-radius: var(--radius-ui);
  font-family: var(--font-serif);
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.6;
  color: var(--c-ink);
}


/* ==============================================
   HERO v3（2026-09-03）：Roland型ファーストビュー一体化
   ヘッダー＋コピー＋hero-model.png＋3つの円を1画面で見せ切る
   ============================================== */

/* ヘッダーのコンパクト化（高さ約66px・CTA44px以上） */
.site-header__inner { padding: 10px 16px; }
.site-header__logo { width: 128px; }
.site-header__cta {
  font-size: 14px;
  line-height: 1.4;
  padding: 13px 18px;
  min-width: 104px;
}

/* ヒーロー本体：画像1枚に全要素を重ねる */
.fv { background: var(--c-ivory); }
.fv__inner { display: none; } /* 旧構造の保険（未使用） */
.hero2 { position: relative; }
.hero2__bg {
  display: block;
  width: 100%;
  height: min(164vw, 640px);
  object-fit: cover;
  object-position: 48% 50%;
}
.hero2__copy {
  position: absolute;
  top: 0; left: 0; right: 0;
  padding: 20px 18px 0;
  text-align: center;
}
.hero2__label { margin-bottom: 12px; }
.hero2__label .ch-label__text { white-space: nowrap; }
.hero2__title {
  font-family: var(--font-serif);
  font-weight: 500;
  font-size: clamp(34px, 9vw, 44px);
  line-height: 1.42;
  letter-spacing: .05em;
  color: var(--c-ink);
}
.hero2__sub {
  margin: 12px 0 0;
  font-family: var(--font-serif);
  font-size: 16px;
  line-height: 1.85;
  letter-spacing: .04em;
  color: var(--c-ink);
}

/* 3つの円：画像下部に重ねる（下半分が少しはみ出すRoland型） */
.hero2__points {
  list-style: none;
  margin: -54px auto 0;
  padding: 0 14px;
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 6px;
  flex-wrap: nowrap;
}
.hero2__points li {
  width: calc((100% - 12px) / 3);
  max-width: 112px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: rgba(255, 253, 252, .97);
  border: 1px solid var(--c-gold);
  box-shadow: 0 6px 20px rgba(30, 25, 20, .10);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 0 6px;
  flex-shrink: 0;
}
.hero2__point-num {
  font-family: var(--font-en);
  font-size: 16px;
  letter-spacing: .08em;
  color: var(--c-gold);
  line-height: 1;
}
.hero2__point-num::after {
  content: '';
  display: block;
  width: 14px;
  height: 1px;
  background: var(--c-gold-soft);
  margin: 4px auto 0;
}
.hero2__point-text {
  font-size: 12px;
  line-height: 1.5;
  font-weight: 700;
  color: var(--c-ink);
  text-align: center;
  letter-spacing: .02em;
}

/* ヒーロー内CTA（円の直下・コンパクト） */
.hero2__ctas { margin-top: 14px; padding: 0 20px 24px; text-align: center; }
.hero2__ctas .btn--lg { margin: 0 auto; max-width: 320px; }

/* 移動した商品名ブロック（解決セクション冒頭） */
.solve__product {
  text-align: center;
  margin: 0 0 22px;
  font-size: 24px;
}
.solve__product .fv__product-sub { margin-top: 6px; }

@media (min-width: 768px) {
  /* PC：1080px幅素材のため中央カラムに制限（顔の見切れ・コピー重なり防止） */
  .hero2 { max-width: 820px; margin: 0 auto; }
  .hero2__bg {
    height: 820px;
    object-position: 50% 20%;
    border-radius: 0 0 var(--radius-editorial) var(--radius-editorial);
  }
  .hero2__copy { padding-top: 44px; }
  .hero2__title { font-size: 44px; }
  .hero2__sub { font-size: 19px; margin-top: 16px; }
  .hero2__points { gap: 20px; margin-top: -64px; }
  .hero2__points li { width: 148px; max-width: 148px; }
  .hero2__point-num { font-size: 19px; }
  .hero2__point-text { font-size: 13.5px; }
  .hero2__ctas { padding-bottom: 44px; }
  .solve__product { font-size: 30px; }
}


/* ==============================================
   HERO v4（2026-09-03）：Roland差分の反映
   ラベル削除／円の高低差／シンボル化／ヘッダー一体化
   ============================================== */

/* 【7】ヘッダー：白帯をやめてヒーローに溶け込ませる
   最上部＝透明オーバーレイ／スクロール後＝白帯（.site-header--solid） */
.site-header {
  position: fixed;
  left: 0; right: 0; top: 0;
  background: transparent;
  border-bottom: none;
  backdrop-filter: none;
  transition: background .25s ease, box-shadow .25s ease;
}
.site-header--solid {
  background: rgba(255, 255, 255, .94);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--color-line);
}
/* 固定ヘッダー分のアンカーずれ補正 */
main section[id] { scroll-margin-top: 72px; }

/* 【8】コピー位置：固定ヘッダーの下から開始（画像上部余白に一体化） */
.hero2__copy { padding-top: 86px; }
.hero2__title { text-shadow: 0 1px 14px rgba(255, 253, 252, .55); }
.hero2__sub { text-shadow: 0 1px 10px rgba(255, 253, 252, .6); }

/* 【4】3つの円：左右が上・中央が下の高低差 */
.hero2__points--stagger { align-items: flex-start; margin-top: -60px; }
.hero2__points--stagger li:nth-child(2) { margin-top: 30px; }

/* 【5】【6】円の中身：完全中央揃え・少し大きく・読みやすく */
.hero2__points li {
  gap: 6px;
  padding: 0 8px;
  background: rgba(255, 254, 252, .98);
  border: 1px solid var(--c-gold);
  box-shadow: 0 8px 24px rgba(30, 25, 20, .13);
}
.hero2__point-icon {
  display: block;
  color: var(--c-gold);
  margin: 0 auto;
}
.hero2__point-icon::after { content: none; }
.hero2__point-text {
  font-size: 13px;
  line-height: 1.65;
  font-weight: 700;
  letter-spacing: .03em;
  color: var(--c-ink);
  text-align: center;
}

@media (min-width: 768px) {
  .site-header { padding: 6px 0; }
  .hero2 { padding-top: 0; }
  .hero2__copy { padding-top: 96px; }
  .hero2__points--stagger { margin-top: -70px; }
  .hero2__points--stagger li:nth-child(2) { margin-top: 36px; }
  .hero2__point-icon { width: 24px; height: 24px; }
  .hero2__point-text { font-size: 14px; }
}


/* ==============================================
   HERO v5（2026-09-03）：ファーストビューの情報整理
   サブコピー・テキストリンク削除／円内文字調整／画像を下げ呼吸感
   ============================================== */

/* 5. モデル画像を24px下げてコピーとの呼吸感を作る（顔は無切断・円の重なりは維持） */
.hero2__bg { margin-top: 24px; }

/* 3. 円内テキスト：完全中央揃え・サイズ少し下げ・行間広め・幅72%以内 */
.hero2__points li { gap: 10px; }
.hero2__point-text {
  font-size: 11px;
  line-height: 1.55;
  font-weight: 700;
  letter-spacing: .015em;
  width: 81px;            /* 円径112pxの72% */
  max-width: none;
  margin: 0 auto;
}

/* 4. シンボル：小さく・細く・上品に（テキストとの間隔はgap:10px） */
.hero2__point-icon { opacity: .95; }

@media (min-width: 768px) {
  .hero2__bg { margin-top: 18px; clip-path: inset(0 0 28px 0); }
  .hero2__point-text { font-size: 12.5px; }
  .hero2__point-icon { width: 20px; height: 20px; }
}


/* ==============================================
   HERO v6（2026-09-03）：下部CTA削除→Roland型ページ内ナビ
   ============================================== */
.hero-nav { margin: 28px auto 0; padding: 0 18px 48px; }
.hero-nav__list {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  max-width: 360px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 22px;
  row-gap: 14px;
}
.hero-nav__list a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  font-size: 14.5px;
  font-weight: 700;
  letter-spacing: .02em;
  color: var(--c-ink);
  -webkit-tap-highlight-color: rgba(184,154,92,.15);
}
.hero-nav__dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--c-gold);
  position: relative;
  flex-shrink: 0;
}
.hero-nav__dot::after {
  content: '';
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%, -65%) rotate(45deg);
  width: 4px; height: 4px;
  border-right: 1.4px solid #fff;
  border-bottom: 1.4px solid #fff;
}
@media (min-width: 768px) {
  .hero-nav { margin-top: 34px; padding-bottom: 60px; }
  .hero-nav__list { max-width: 760px; column-gap: 30px; }
  .hero-nav__list a { font-size: 15.5px; }
}


/* ==============================================
   HERO v7（2026-09-03）：3つの円の再デザイン
   墨色×ゴールド枠×アイボリー文字（Roland級の視認性）
   ============================================== */

/* 円全体：大型化・画像への重なり強化・幅いっぱい */
.hero2__points--stagger {
  margin-top: -58px;      /* 左右の円の約44%が画像に重なる */
  padding: 0;
  gap: 0;
}
.hero2__points--stagger li:nth-child(2) { margin-top: 26px; margin-left: -8px; }  /* 中央だけ下（Y差26px）・Roland同様わずかに重ねる */
.hero2__points--stagger li:nth-child(3) { margin-left: -8px; }

.hero2__points li {
  width: 132px;
  max-width: none;
  background: var(--c-ink);
  border: 2px solid var(--c-gold);
  box-shadow: 0 6px 18px rgba(30, 25, 20, .18);
  gap: 10px;
  padding: 0 6px;
}
.hero2__points--stagger li:nth-child(2) { width: 132px; }
.hero2__points--stagger li:nth-child(3) { width: 140px; }
/* 右円は3行固定（brどおり）・行の自動折返しを禁止 */
.hero2__points--stagger li:nth-child(3) .hero2__point-text {
  font-size: 16px;
  letter-spacing: 0;
  white-space: nowrap;
  max-width: none;
}

/* シンボル：ゴールド・少し大きく */
.hero2__point-icon {
  width: 21px;
  height: 21px;
  color: var(--c-gold-soft);
  opacity: 1;
}

/* 本文：白〜アイボリー・大きく・完全中央 */
.hero2__point-text {
  width: auto;
  max-width: 92%;
  font-size: 18px;
  line-height: 1.45;
  font-weight: 700;
  letter-spacing: .01em;
  color: var(--c-ivory);
}

/* 375px以下の狭幅端末では比率を保って縮小 */
@media (max-width: 379px) {
  .hero2__points li { width: 118px; }
  .hero2__points--stagger li:nth-child(2) { width: 118px; }
  .hero2__points--stagger li:nth-child(3) { width: 126px; }
  .hero2__point-text { font-size: 16px; }
  .hero2__points--stagger li:nth-child(3) .hero2__point-text { font-size: 14.5px; }
}

@media (min-width: 768px) {
  .hero2__points--stagger { gap: 22px; margin-top: -76px; }
  .hero2__points li { width: 150px; }
  .hero2__points--stagger li:nth-child(2) { width: 160px; margin-top: 30px; }
  .hero2__point-icon { width: 24px; height: 24px; }
  .hero2__point-text { font-size: 19px; }
}


/* ==============================================
   HERO v8（2026-09-03）：FV全体の統一再設計
   美容ブランドトーン（アイボリー×墨×ゴールド）で1枚に統合
   ============================================== */

/* 【A】ヘッダー：帯感ゼロ。上部にごく薄いアイボリーのグラデのみ */
.hero2::before {
  content: '';
  position: absolute;
  left: 0; right: 0; top: 0;
  height: 380px;
  background: linear-gradient(180deg,
    rgba(247, 243, 237, .96) 0%,
    rgba(247, 243, 237, .88) 45%,
    rgba(247, 243, 237, .55) 72%,
    rgba(247, 243, 237, 0) 100%);
  z-index: 1;
  pointer-events: none;
}
.site-header--solid {
  background: rgba(255, 253, 252, .92);
}
.site-header__cta { box-shadow: 0 4px 14px rgba(169, 75, 91, .22); }

/* 【B】コピー：H1＋2段（機器説明）を上部余白に整理 */
.hero2__copy { z-index: 2; padding-top: 52px; }
.hero2__title { font-size: clamp(32px, 8.7vw, 38px); line-height: 1.45; }
.hero2__tagline {
  margin: 10px 0 0;
  font-family: var(--font-serif);
  font-size: 15.5px;
  font-weight: 600;
  letter-spacing: .1em;
  line-height: 1.8;
  color: var(--c-ink);
}
.hero2__tagline::before {
  content: '';
  display: block;
  width: 30px;
  height: 1px;
  background: var(--c-gold);
  margin: 0 auto 10px;
}
.hero2__desc {
  margin: 7px auto 0;
  max-width: none;
  font-size: 12px;
  line-height: 1.85;
  letter-spacing: .02em;
  color: #6B655E;  /* 実機で薄く見えないようmutedよりわずかに濃く */
  text-shadow: 0 1px 8px rgba(255, 253, 252, .8);
}

/* モデル：コピー2段追加に合わせて下げ、顔と文字の距離を確保 */
.hero2__bg { margin-top: 18px; clip-path: inset(0 0 28px 0); }

/* 【C】3つの訴求：半透明アイボリーのカード3枚（円は廃止） */
.hero-cards {
  list-style: none;
  margin: -50px auto 0;
  padding: 0 12px;
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 8px;
}
.hero-card {
  flex: 1;
  max-width: 122px;
  background: rgba(255, 253, 250, .88);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: 1px solid var(--c-gold-soft);
  border-radius: 18px;
  box-shadow: 0 8px 22px rgba(30, 25, 20, .08);
  padding: 16px 6px 15px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-align: center;
}
.hero-card--center { margin-top: 14px; }
.hero-card__icon {
  display: block;
  color: var(--c-gold);
}
.hero-card__text {
  font-size: 12.5px;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: .02em;
  color: var(--c-ink);
}

/* 【D】ページ内ナビ：3カードの下へ自然に接続 */
.hero-nav { margin-top: 30px; padding-bottom: 46px; }

@media (min-width: 768px) {
  .hero2__title { font-size: 44px; }
  .hero2__tagline { font-size: 18px; }
  .hero2__desc { font-size: 13.5px; max-width: none; }
  .hero2__bg { margin-top: 44px; }
  .hero-cards { gap: 16px; margin-top: -56px; }
  .hero-card { max-width: 170px; padding: 22px 12px 20px; }
  .hero-card--center { margin-top: 18px; }
  .hero-card__icon { width: 20px; height: 20px; }
  .hero-card__text { font-size: 14.5px; }
}


/* ==============================================
   HERO v9（2026-09-03）：3訴求を上品な円形で最終確定
   仕様固定：直径118px／中央+20px／間隔8px／画像重なり39px(33%)
   ============================================== */
.hero-orbs {
  list-style: none;
  margin: -113px auto 0;  /* クロップ28px＋重なり85px（直径の約72%）でモデルの胸元と一体化 */
  padding: 0 10px;
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 8px;
}
.hero-orb {
  width: 118px;
  height: 118px;
  flex-shrink: 0;
  border-radius: 50%;
  background: #FBF8F3;
  border: 1.5px solid var(--c-gold);  /* FV内ゴールドをブランド1種に統一 */
  box-shadow: 0 2px 10px rgba(30, 25, 20, .07);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 2px 4px 0;   /* アイコン＋本文が光学的に縦中央に見える微調整 */
  text-align: center;
}
.hero-orb--center { margin-top: 20px; }
.hero-orb__icon {
  display: block;
  width: 24px;
  height: 24px;
  color: var(--c-gold);
}
.hero-orb__text {
  font-size: 15px;
  line-height: 1.32;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: #1F1F2B;
  white-space: nowrap;
}
.hero-orb--wide .hero-orb__text { font-size: 14px; letter-spacing: -0.015em; }

/* 円下端 → ページ内ナビ：24px */
.hero-nav { margin-top: 24px; padding-bottom: 26px; }

@media (max-width: 379px) {
  .hero-orb { width: 108px; height: 108px; }
  .hero-orb__text { font-size: 13.5px; }
  .hero-orb--wide .hero-orb__text { font-size: 12.5px; }
}
@media (min-width: 768px) {
  .hero-orbs { gap: 20px; margin-top: -52px; }
  .hero-orb { width: 144px; height: 144px; }
  .hero-orb--center { margin-top: 24px; }
  .hero-orb__icon { width: 27px; height: 27px; }
  .hero-orb__text { font-size: 17px; }
  .hero-orb--wide .hero-orb__text { font-size: 16px; }
}


/* ==============================================
   CASE v2（2026-09-03）：Roland CASE型
   大イラスト → CASE丸（下辺中央に重ねる）→ 見出し → 本文
   ============================================== */
.cases { background: #F7F3ED; padding-top: 56px; }
.cases__eyebrow {
  width: fit-content;
  max-width: calc(100% - 24px); /* ラベルが長くてもコンテナ内に収める（狭幅では自然に折り返す） */
  margin: 0 auto 16px;
  padding: 7px 20px 8px;
  background: var(--c-ink);
  color: #F7F3ED;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .06em;
  text-align: center;
  border-radius: var(--radius-pill);
}
.cases__title { text-align: center; margin-bottom: 18px; }
/* 導入文（見出しと課題カードの間）: 本文サイズ・控えめ。フレーズ単位で折り返す */
.cases__intro {
  max-width: 32em;
  margin: 0 auto 44px;
  text-align: center;
  font-size: 15px;
  line-height: 1.9;
  letter-spacing: .02em;
  color: var(--c-ink);
}
.cases__intro span { display: inline-block; }

.case2-list { display: grid; gap: 60px; }
.case2 { text-align: center; }

/* 大きなイラスト枠（3枚共通ルール） */
.case2__art {
  width: 90%;
  max-width: 330px;
  margin: 0 auto;
  background: #FFFDFC;
  border: 1px solid var(--c-gold-soft);
  border-radius: 18px;
  box-shadow: 0 2px 12px rgba(30, 25, 20, .05);
  padding: 14px;
}
.case2__art img { width: 100%; height: auto; display: block; }

/* CASE丸：イラスト枠の下辺中央に約40%重ねる */
.case2__badge {
  width: 76px;
  height: 76px;
  margin: -30px auto 14px;
  position: relative;
  z-index: 1;
  border-radius: 50%;
  background: var(--c-ink);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1px;
}
.case2__badge-label {
  font-family: var(--font-en);
  font-size: 10px;
  letter-spacing: .22em;
  color: var(--c-gold-soft);
  line-height: 1;
}
.case2__badge strong {
  font-family: var(--font-en);
  font-size: 24px;
  font-weight: 400;
  letter-spacing: .04em;
  color: #fff;
  line-height: 1.1;
}
.case2__heading {
  font-family: var(--font-serif);
  font-size: 23px;
  font-weight: 600;
  letter-spacing: .04em;
  margin-bottom: 12px;
  color: var(--c-ink);
}
.case2__body {
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: .02em;
  color: var(--c-ink);
  margin-bottom: 12px;
}
.case2__body:last-child { margin-bottom: 0; }

@media (min-width: 768px) {
  .cases { padding-top: 72px; }
  .cases__eyebrow { font-size: 13.5px; padding: 8px 24px 9px; margin-bottom: 20px; }
  .cases__title { margin-bottom: 20px; }
  /* PCでは「…ために、体力のこと、」／「サロンのこれからを考えてみませんか？」の2行に揃うよう幅を絞る */
  .cases__intro { font-size: 16.5px; max-width: 27em; margin-bottom: 56px; }
  .case2-list { grid-template-columns: repeat(3, 1fr); gap: 32px; align-items: start; }
  .case2__art { max-width: none; }
  .case2__heading { font-size: 25px; }
  .case2__body { font-size: 14.5px; }
}


/* CASE本文の控えめ強調（Roland黄マーカーのブランド翻訳） */
.case2__em {
  font-weight: 700;
  color: var(--c-ink);
  background: linear-gradient(transparent 62%, rgba(184, 154, 92, .28) 62%);
  padding: 0 1px;
}


/* ==============================================
   SOLVE v2（2026-09-04）：Roland型 解決宣言帯＋特長01-03
   黄帯→淡ゴールドの上品な訴求帯へブランド翻訳
   ============================================== */
.solve2 { background: var(--c-paper); }

/* 解決宣言帯（Roland黄帯の役割） */
.solve2__band {
  background: var(--c-ink);   /* 大きな墨色の章切替ブロック（Roland黄帯のブランド翻訳） */
  padding: 40px 0 150px;      /* 下は製品画像が約半分入り込む領域 */
  text-align: center;
}
.solve2__eyebrow {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .18em;
  color: var(--c-gold);
  margin: 0 0 14px;
}
.solve2__eyebrow::before {
  content: '';
  display: block;
  width: 28px;
  height: 1px;
  background: var(--c-gold);
  margin: 0 auto 12px;
}
.solve2__title {
  font-family: var(--font-serif);
  font-size: clamp(24px, 7vw, 27px);
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: .04em;
  color: #FFFDFC;
  margin: 0;
}

/* 製品画像：帯の下辺からはみ出して主役に */
.solve2__device {
  margin: -160px auto 0;   /* 本体の上半分が墨色内・下約半分が白背景へはみ出す */
  text-align: center;
  position: relative;
  z-index: 1;
}
.solve2__device img {
  width: min(50%, 214px);
  margin: 0 auto;
  filter: drop-shadow(0 10px 24px rgba(30, 25, 20, .16));
}

/* 特長見出し */
.solve2__features { padding: 34px 20px 56px; }
.solve2__ft-title {
  font-family: var(--font-serif);
  font-size: clamp(30px, 8.7vw, 36px);
  font-weight: 600;
  letter-spacing: .16em;
  text-align: center;
  color: var(--c-ink);
  margin-bottom: 8px;
}
.solve2__ft-title::after {
  content: '';
  display: block;
  width: 36px;
  height: 1px;
  background: var(--c-gold);
  margin: 14px auto 0;
}
.solve2__features .ftcard:first-of-type { margin-top: 36px; }

/* 特長カード（Roland番号カードのブランド翻訳・3枚共通） */
.ftcard {
  position: relative;
  background: #FFFDFC;
  border: 1px solid var(--c-gold-soft);
  border-radius: 18px;
  padding: 34px 22px 26px;
  margin: 54px 0 0;
}
.ftcard__num {
  position: absolute;
  top: -18px;
  left: 18px;
  min-width: 52px;
  padding: 9px 0 8px;
  text-align: center;
  background: var(--c-ink);
  color: #fff;
  font-family: var(--font-en);
  font-size: 20px;
  line-height: 1;
  letter-spacing: .06em;
  border-radius: 10px;
  border-bottom: 2px solid var(--c-gold);
}
.ftcard__heading {
  font-family: var(--font-serif);
  font-size: clamp(20px, 5.6vw, 23px);
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: .02em;
  color: var(--c-ink);
  margin-bottom: 14px;
}
.ftcard__body {
  font-size: 14px;
  line-height: 1.9;
  letter-spacing: .02em;
  color: var(--c-ink);
  margin-bottom: 12px;
}
.ftcard__body:last-child { margin-bottom: 0; }

@media (min-width: 768px) {
  .solve2__band { padding: 64px 0 185px; }
  .solve2__title { font-size: 36px; }
  .solve2__device { margin-top: -190px; }
  .solve2__device img { width: 250px; }
  .solve2__features { max-width: 1080px; margin: 0 auto; padding-bottom: 88px; }
  .solve2__features .ftcard-wrap { display: grid; }
  .ftcard { max-width: 720px; margin-left: auto; margin-right: auto; padding: 40px 36px 32px; }
  .ftcard__heading { font-size: 26px; }
  .ftcard__body { font-size: 15px; }
}


/* ==============================================
   SOLVE v3（2026-09-04）：特長01-03のビジュアル追加
   説明カード→ビジュアルの交互リズム（Roland型）
   ============================================== */
/* 共通：説明カード→ビジュアル 28px */
.svis { margin: 28px auto 0; text-align: center; }

/* 特長01：施術写真（主役サイズ） */
.svis--photo { width: 90%; max-width: 640px; }
.svis--photo img {
  width: 100%;
  height: auto;
  border-radius: 18px;
  box-shadow: 0 3px 14px rgba(30, 25, 20, .08);
}

/* 特長02：Before / After（スマホでも2枚横並び・主役） */
.svis-ba {
  margin: 28px auto 0;
  max-width: 336px;
  display: flex;
  justify-content: center;
  gap: 10px;
}
.svis-ba__item { margin: 0; flex: 1; }
.svis-ba__item { overflow: visible; border-radius: 0; }
.svis-ba__imgwrap { display: block; overflow: hidden; border-radius: 14px; }
.svis-ba__item { overflow: hidden; border-radius: 14px; }
.svis-ba__item img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  object-position: center 30%;
  display: block;
}
/* After側は撮影距離が遠く顔が小さいため、CSSズームで見かけサイズを揃える（画像無加工） */
.svis-ba__item:nth-child(2) img {
  transform: scale(1.14);
  transform-origin: 50% 26%;
}
.svis-ba__item figcaption {
  margin-top: 8px;
  font-family: var(--font-en);
  font-size: 10.5px;
  letter-spacing: .26em;
  color: var(--c-gold);
  text-align: center;
}
.svis-ba__note {
  margin: 10px 0 0;
  font-size: 10.5px;
  color: var(--c-muted);
  text-align: center;
}

/* 特長02：補助イラスト（B/Aより小さく・二次的）
   元PNGは1024x1024中コンテンツがx61-954/y194-834のみ（上下に大きな透明帯）。
   元画像は無加工のまま、ラッパーで透明余白をクロップして実表示を拡大 */
.svis--sub {
  width: 265px;
  max-width: 78%;
  aspect-ratio: 893 / 640;
  overflow: hidden;
  margin: 18px auto 0;
}
.svis--sub img {
  width: calc(100% * 1024 / 893);   /* 114.7%：透明左右余白ぶん拡大 */
  max-width: none;
  height: auto;
  margin-left: calc(-100% * 61 / 893);
  margin-top: calc(-100% * 194 / 893);
}

/* 特長03：やりがいイラスト */
.svis--illust { width: 85%; max-width: 420px; margin-top: 24px; }
.svis--illust img { width: 100%; height: auto; }

/* ビジュアル → 次カード：56px（.ftcard margin-top 54を上書きせず統一） */
.svis + .ftcard, .svis--sub + .ftcard { margin-top: 48px; }

@media (min-width: 768px) {
  .svis--photo { max-width: 680px; }
  .svis-ba { max-width: 420px; gap: 14px; }
  .svis--sub { width: 300px; max-width: none; }
  .svis--illust { max-width: 460px; }
}


/* ==============================================
   FUTURE v2（2026-09-04）：6つの未来を独立カードへ
   点線リスト廃止・英字ラベル削除・横型カード
   ============================================== */
.future { background: #F7F3ED; }
.future__title {
  font-family: var(--font-serif);
  font-size: clamp(28px, 8vw, 31px);
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: .03em;
  text-align: center;
  color: var(--c-ink);
  margin: 0 0 36px;
}
.fcards {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 16px;
}
.fcard {
  display: flex;
  align-items: center;
  gap: 14px;
  background: #FFFDFC;
  border: 1px solid #D8C69D;
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 6px 18px rgba(34, 33, 39, .04);
}
.fcard__art {
  width: 100px;
  height: 100px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 12px;
}
.fcard__art img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
/* モチーフが横長で小さく見える素材の視覚サイズ補正（元画像は無加工） */
.fcard:nth-child(2) .fcard__art img { transform: scale(1.12); }
.fcard:nth-child(3) .fcard__art img { transform: scale(1.08); }
.fcard__body { min-width: 0; }
.fcard__num {
  display: block;
  font-family: var(--font-en);
  font-size: 12px;
  letter-spacing: .22em;
  color: var(--c-gold);
  margin-bottom: 3px;
}
.fcard__name {
  font-size: 18.5px;
  font-weight: 700;
  letter-spacing: .02em;
  color: var(--c-ink);
  margin: 0 0 5px;
}
.fcard__desc {
  font-size: 13.5px;
  line-height: 1.75;
  color: #6B655E;
  margin: 0;
}
@media (min-width: 768px) {
  .future__title { font-size: 38px; margin-bottom: 44px; }
  .fcards { grid-template-columns: 1fr 1fr; gap: 20px; max-width: 960px; margin: 0 auto; }
  .fcard { padding: 20px; gap: 18px; }
  .fcard__art { width: 112px; height: 112px; }
  .fcard__name { font-size: 20px; }
  .fcard__desc { font-size: 14px; }
}

/* ==============================================
   STORIES v2（2026-09-04）：人物インタビュー特集レイアウト
   カードUIをやめ、背景交互＋余白で5人を雑誌的に見せる
   ============================================== */
.owners-compact { background: #FFFDFC; padding: 64px 0 0; }
.stories__title {
  font-family: var(--font-serif);
  font-size: clamp(30px, 8.4vw, 33px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .03em;
  text-align: center;
  color: var(--c-ink);
  margin: 0 0 20px;
}
/* 人物ブロックは全幅の帯（白/アイボリー交互）。containerの左右padding分を打ち消す */
.owners-compact .container { padding: 0; max-width: none; }
.owners-compact__grid { display: block; }

.pstory {
  border-top: none;
  margin: 0;
  padding: 52px 20px 56px;   /* 帯の上下余白×2＝人物間約108px相当 */
  background: #FFFDFC;
}
.owners-compact__grid .pstory:nth-child(even) { background: #F7F3ED; }
.pstory > * { max-width: 350px; margin-left: auto; margin-right: auto; }

.pstory__name {
  font-size: 18px;
  font-weight: 700;
  font-family: var(--font-sans);
  margin: 0 auto 2px; /* .pstory > * の中央配置（左右auto）を個別ルールで打ち消さない */
  text-align: center;
}
.pstory__honorific { font-size: 12.5px; }
.pstory__salon { text-align: center; margin: 0 auto 18px; font-size: 12.5px; }
.pstory__headline {
  font-size: clamp(24px, 6.7vw, 26px);
  line-height: 1.6;
  text-align: center;
  margin: 0 auto 22px;
}
/* 現在写真＝主役（雑誌ポートレート） */
.pstory__now { margin: 0 auto 14px; }
.pstory__now img {
  border-radius: 16px;
  border: 1px solid var(--c-gold-soft);
  box-shadow: 0 6px 20px rgba(34, 33, 39, .06);
}
.pstory .owner__ba-item img { border-radius: 12px; }
.pstory__story {
  margin: 20px auto 0;
  text-align: left;
}
.pstory__story p {
  font-size: 14px;
  line-height: 1.9;
  color: var(--c-ink);
  margin: 0 0 12px;
}
.pstory__story p:last-child { margin-bottom: 0; }

/* 本人インタビューCTA（ローズ枠アウトライン） */
.pstory-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: 86%;
  max-width: 320px;
  min-height: 50px;
  margin: 24px auto 0;
  padding: 12px 14px;
  background: #FFFDFC;
  border: 1px solid var(--c-rose);
  border-radius: 999px;
  color: var(--c-rose);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .02em;
  text-decoration: none;
  text-align: center;
  -webkit-tap-highlight-color: rgba(169, 75, 91, .12);
}
.pstory-cta__play { font-size: 10px; flex-shrink: 0; }

/* 締めの一文・注記 */
.owners-close {
  max-width: 350px;
  margin: 64px auto 0;
  padding: 0 20px;
  text-align: center;
  font-size: 17px;
}
.owners-compact .lives__note {
  max-width: 350px;
  margin: 28px auto 0;
  padding: 0 20px 64px;
  text-align: center;
}

@media (min-width: 768px) {
  .owners-compact { padding-top: 88px; }
  .stories__title { font-size: 40px; margin-bottom: 28px; }
  .pstory { padding: 72px 20px 76px; }
  .pstory > * { max-width: 560px; }
  .pstory__now { max-width: 480px; }
  .pstory .owner__ba-wrap { max-width: 480px; }
  .pstory__headline { font-size: 30px; }
  .pstory__name { font-size: 19px; }
  .pstory__story p { font-size: 14.5px; }
  .owners-close { max-width: 640px; font-size: 20px; margin-top: 88px; }
  .owners-compact .lives__note { max-width: 640px; padding-bottom: 88px; }
}

/* ==============================================
   STORIES 最終監査（2026-09-04）：最小修正3点
   ============================================== */
/* I: CTAを13.5pxに統一（大石の長文ラベルも1行化し5人の高さを揃える） */
.pstory-cta { font-size: 13.5px; gap: 8px; width: 90%; max-width: 336px; padding: 12px 10px; }

/* E/L: B/AラベルをゴールドEditorial様式へ統一（特長章のB/A表記と同一ルール） */
.pstory .owner__ba-item { position: static; }
.pstory .owner__ba-item figcaption {
  position: static;
  margin-top: 6px;
  text-align: center;
  font-family: var(--font-en);
  font-size: 10.5px;
  letter-spacing: .24em;
  color: var(--c-gold);
  text-shadow: none;
}
.pstory .owner__sessions { text-align: center; }

/* D: 冨樫さんの現在写真は引きの構図で顔が小さいため、CSSズームで5人の顔サイズを近づける（画像無加工） */
.pstory__now { overflow: hidden; border-radius: 16px; }
.pstory__now img { border-radius: 0; border: none; }
.pstory__now { border: 1px solid var(--c-gold-soft); box-shadow: 0 6px 20px rgba(34, 33, 39, .06); }
.owners-compact__grid .pstory:nth-child(2) .pstory__now img {
  transform: scale(1.24);
  transform-origin: 58% 24%;
}

/* ==============================================
   MOVIE v2（2026-09-04）：後半導線の整理
   5人の締め→動画→メニュー活用を直結（静かな章切替）
   ============================================== */
.movie {
  background: #F7F3ED;
  padding: 8px 0 24px;   /* stories注記の下余白64pxと合わせ、締め文→動画は約72px */
}
.movie__title {
  font-family: var(--font-serif);
  font-size: clamp(28px, 7.8vw, 31px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .03em;
  text-align: center;
  color: var(--c-ink);
  margin: 0 0 10px;
}
.movie__title::before {
  content: '';
  display: block;
  width: 32px;
  height: 1px;
  background: var(--c-gold);
  margin: 0 auto 18px;
}
.movie__sub {
  font-size: 14.5px;
  line-height: 1.8;
  text-align: center;
  color: #6B655E;
  margin: 0 0 24px;
}
.movie__frame { width: 92%; max-width: 720px; }
.movie__frame video { border-radius: 16px; box-shadow: 0 4px 16px rgba(34, 33, 39, .06); }
@media (min-width: 768px) {
  .movie { padding: 24px 0 40px; }
  .movie__title { font-size: 36px; }
  .movie__sub { font-size: 15.5px; margin-bottom: 30px; }
}

/* ==============================================
   USECASES v2（2026-09-04）：3パターン×写真/図解の交互リズム
   ============================================== */
.integrate { background: #F7F3ED; padding-top: 80px; }
.use__title {
  font-family: var(--font-serif);
  font-size: clamp(27px, 7.6vw, 30px);
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: .03em;
  text-align: center;
  color: #222127;
  margin: 0 0 14px;
}
.use__intro {
  font-size: 14px;
  line-height: 2;
  text-align: center;
  color: #6B655E;
  margin: 0 0 44px;
}

/* 説明カード（3枚共通・特長カードと同じ世界観の番号バッジ） */
.ucard {
  position: relative;
  background: #FFFDFC;
  border: 1px solid #D8C69D;
  border-radius: 18px;
  padding: 32px 20px 24px;
  margin: 52px 0 0;
}
.ucard:first-of-type { margin-top: 0; }
.uvis + .ucard { margin-top: 48px; }
.ucard__num {
  position: absolute;
  top: -16px;
  left: 18px;
  min-width: 48px;
  padding: 8px 0 7px;
  text-align: center;
  background: #222127;
  color: #fff;
  font-family: var(--font-en);
  font-size: 18px;
  line-height: 1;
  letter-spacing: .06em;
  border-radius: 10px;
  border-bottom: 2px solid #B89A5C;
}
.ucard__heading {
  font-family: var(--font-serif);
  font-size: clamp(20px, 5.6vw, 22px);
  font-weight: 600;
  line-height: 1.65;
  color: #222127;
  margin-bottom: 10px;
}
.ucard__lead { font-size: 14.5px; font-weight: 700; margin-bottom: 12px; }
.ucard__body {
  font-size: 14px;
  line-height: 1.9;
  color: #222127;
  margin-bottom: 12px;
}
.ucard__eg-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  color: #B89A5C;
  margin: 16px 0 8px;
}
.ucard__eg {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 7px;
}
.ucard__eg li {
  font-size: 13px;
  line-height: 1.8;
  color: #222127;
  padding-left: 16px;
  position: relative;
}
.ucard__eg li::before {
  content: '';
  position: absolute;
  left: 0; top: 11px;
  width: 8px; height: 1px;
  background: #B89A5C;
}

/* 03カード右上のハンドピース（装飾アクセント） */
.ucard--accent { padding-top: 36px; }
.ucard__hp {
  position: absolute;
  top: -26px;
  right: 12px;
  width: 104px;
  height: auto;
  transform: rotate(6deg);
  filter: drop-shadow(0 4px 10px rgba(34, 33, 39, .12));
}

/* ビジュアル群（写真→図解の交互） */
.uvis { margin: 28px auto 0; text-align: center; }
.uvis img { width: 100%; height: auto; }
.uvis--photo { width: 92%; max-width: 640px; }
.uvis--photo img { border-radius: 16px; box-shadow: 0 3px 14px rgba(34, 33, 39, .08); }
.uvis--illust { width: 84%; max-width: 420px; margin-top: 24px; }
.uvis--map { width: 86%; max-width: 440px; margin-top: 24px; }
.uvis--poster { width: 92%; max-width: 520px; }
.uvis--poster img { border-radius: 16px; box-shadow: 0 3px 14px rgba(34, 33, 39, .06); background: #fff; }
.uvis--flow { width: 86%; max-width: 440px; margin-top: 24px; }

@media (min-width: 768px) {
  .integrate { padding-top: 96px; }
  .use__title { font-size: 36px; }
  .use__intro { font-size: 15px; margin-bottom: 52px; }
  .ucard { max-width: 720px; margin-left: auto; margin-right: auto; padding: 40px 34px 30px; }
  .uvis + .ucard { margin-top: 64px; }
  .ucard__hp { width: 128px; right: -14px; }
}

/* ==============================================
   USECASES v4（2026-09-04）：編集的レイアウト
   1項目=主役ビジュアル1点。カードUIをやめ余白とタイポで整理
   ============================================== */
.integrate2 { background: #F7F3ED; }
.integrate2__head { padding: 80px 20px 48px; text-align: center; }

/* 各ブロック＝全幅の帯（白/アイボリー交互＋上端に細い金線） */
.ublock { padding: 56px 20px 68px; }
.ublock--paper { background: #FFFDFC; }
.ublock--ivory { background: #F7F3ED; }
.ublock > * { max-width: 352px; margin-left: auto; margin-right: auto; }

.ublock__num {
  font-family: var(--font-en);
  font-size: 14px;
  letter-spacing: .24em;
  color: #B89A5C;
  margin: 0 auto 8px; /* .ublock > * の中央配置（左右auto）を個別ルールで打ち消さない */
}
.ublock__num::after {
  content: '';
  display: block;
  width: 26px;
  height: 1px;
  background: #B89A5C;
  margin-top: 8px;
}
.ublock__heading {
  font-family: var(--font-serif);
  font-size: clamp(22px, 6.1vw, 24px);
  font-weight: 600;
  line-height: 1.6;
  color: #222127;
  margin: 12px auto 8px;
}
.ublock__lead {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.8;
  color: #222127;
  margin: 0 auto 28px;
}
.ublock__hero { margin-bottom: 28px; }
.ublock__hero img {
  width: 100%;
  height: auto;
  border-radius: 16px;
  box-shadow: 0 3px 14px rgba(34, 33, 39, .08);
}
.ublock__hero--plain { max-width: 340px; }
.ublock__hero--plain img { border-radius: 0; box-shadow: none; }
.ublock__hero--poster { max-width: 352px; }
.ublock__hero--poster img { box-shadow: 0 3px 14px rgba(34, 33, 39, .05); background: #fff; }
.ublock__body p {
  font-size: 14px;
  line-height: 1.9;
  color: #222127;
  margin: 0 0 12px;
}








@media (min-width: 768px) {
  .integrate2__head { padding: 96px 20px 56px; }
  .ublock { padding: 72px 20px 84px; }
  .ublock > * { max-width: 620px; }
  .ublock__hero { max-width: 560px; }
  .ublock__hero--plain { max-width: 460px; }
  .ublock__hero--poster { max-width: 480px; }
  .ublock__heading { font-size: 29px; }
  .ublock__lead { font-size: 16px; }
  .ublock__body p { font-size: 14.5px; }
  .ublock__sub { max-width: 300px; }
}

/* ==============================================
   BASICS / SCIENCE 整理（2026-09-04）
   英字章番号廃止・短い要約章＋静かな科学章へ
   ============================================== */
/* 光糸リフトの基本：30秒で分かる要約セクション */
.basics { padding: 56px 0 60px; }
.basics__title { margin-bottom: 8px; font-size: clamp(26px, 7.4vw, 29px); }
.basics__sub {
  font-size: 13.5px;
  line-height: 1.8;
  text-align: center;
  color: #6B655E;
  margin: 0 0 30px;
}
.basics__grid { gap: 10px; }
.basic {
  border-radius: 16px;
  box-shadow: none;
  padding: 22px 8px 16px;
}
.basic__label { color: #6B655E; }
.basics__note { font-size: 12px; margin-top: 16px; }

/* THE SCIENCE：動画既視聴者向けに短く（詳細はdetailsへ格納済み） */
.mech { padding: 64px 0 72px; }
.mech .chapter__title { margin-bottom: 24px; }
.mech__question { margin-bottom: 36px; }
.sci-stat { margin-bottom: 40px; }
.mech__product { margin-bottom: 30px; }
@media (min-width: 768px) {
  .basics { padding: 72px 0; }
  .mech { padding: 88px 0 96px; }
}

/* Science見出し：390pxで指定の2行に収まるサイズへ */
.mech .chapter__title { font-size: clamp(25px, 7vw, 27px); line-height: 1.65; text-align: left; }
@media (min-width: 768px) { .mech .chapter__title { font-size: 40px; } }

/* ==============================================
   SUPPORT v2（2026-09-04）：信頼感のある6カード構成
   ============================================== */
.program { background: #F7F3ED; padding: 72px 0 76px; }
.sup__title {
  font-family: var(--font-serif);
  font-size: clamp(27px, 7.6vw, 30px);
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: .03em;
  text-align: center;
  color: #222127;
  margin: 0 0 12px;
}
.sup__intro {
  font-size: 14.5px;
  line-height: 1.9;
  text-align: center;
  color: #6B655E;
  margin: 0 0 26px;
}
.sup__photo { width: 92%; max-width: 640px; margin: 0 auto 26px; }
.sup__photo img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 16px;
  box-shadow: 0 4px 16px rgba(34, 33, 39, .08);
}
.sup-cards {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 14px;
}
.sup-card {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  background: #FFFDFC;
  border: 1px solid #D8C69D;
  border-radius: 16px;
  padding: 16px 16px 15px;
}
.sup-card__num {
  font-family: var(--font-en);
  font-size: 13px;
  letter-spacing: .16em;
  color: #B89A5C;
  line-height: 1.3;
  padding-top: 3px;
  flex-shrink: 0;
}
.sup-card__body h3 {
  font-size: 16.5px;
  font-weight: 700;
  letter-spacing: .02em;
  color: #222127;
  margin: 0 0 4px;
  display: flex;
  align-items: center;
  gap: 7px;
}
.sup-card__body p {
  font-size: 13.5px;
  line-height: 1.75;
  color: #6B655E;
  margin: 0;
}
/* 06 故障・トラブル対応：安心の要として淡ゴールドで少し強く */
.sup-card--key {
  background: #F6EEDD;
  border-color: #B89A5C;
}
.sup-card--key .sup-card__body p { color: #222127; }
.sup-card__shield { color: #B89A5C; flex-shrink: 0; }
@media (min-width: 768px) {
  .program { padding: 88px 0 96px; }
  .sup__title { font-size: 36px; }
  .sup__photo { margin-bottom: 34px; }
  .sup-cards { grid-template-columns: 1fr 1fr; gap: 16px; max-width: 880px; margin: 0 auto; }
  .sup-card { padding: 20px 20px 18px; }
}

/* ==============================================
   FLOW v3（2026-09-04）：5ステップ縦型タイムライン
   ============================================== */
.flow-section { background: #FFFDFC; padding: 72px 0 76px; }
.tl__title {
  font-family: var(--font-serif);
  font-size: clamp(27px, 7.6vw, 30px);
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: .03em;
  text-align: center;
  color: #222127;
  margin: 0 0 12px;
}
.tl__intro {
  font-size: 14.5px;
  line-height: 1.9;
  text-align: center;
  color: #6B655E;
  margin: 0 0 40px;
}
.tl { list-style: none; margin: 0; padding: 0; }
.tl__step {
  position: relative;
  display: grid;
  grid-template-columns: 42px 1fr;
  column-gap: 16px;
  align-items: start;
  padding-bottom: 46px;
}
.tl__step:last-child { padding-bottom: 0; }
/* タイムライン：最後の丸で止まる縦の金線 */
.tl__step:not(:last-child)::before {
  content: '';
  position: absolute;
  left: 20.5px;
  top: 44px;
  bottom: 2px;
  width: 1px;
  background: #B89A5C;
}
.tl__dot {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #FFFDFC;
  border: 1.5px solid #B89A5C;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-en);
  font-size: 15px;
  letter-spacing: .05em;
  color: #B89A5C;
  position: relative;
  z-index: 1;
}
.tl__body h3 {
  font-family: var(--font-serif);
  font-size: 19px;
  font-weight: 600;
  letter-spacing: .02em;
  color: #222127;
  margin: 8px 0 8px;
}
.tl__body p {
  font-size: 13.5px;
  line-height: 1.8;
  color: #222127;
  margin: 0 0 8px;
}
.tl__tags {
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
  display: flex;
  gap: 8px;
}
.tl__tags li {
  font-size: 12px;
  color: #222127;
  background: #F7F3ED;
  border: 1px solid #D8C69D;
  border-radius: 999px;
  padding: 6px 14px;
}
@media (min-width: 768px) {
  .flow-section { padding: 88px 0 96px; }
  .tl__title { font-size: 36px; }
  .tl { max-width: 620px; margin: 0 auto; }
  .tl__body h3 { font-size: 21px; }
  .tl__body p { font-size: 14.5px; }
}

/* ==============================================
   FAQ v2（2026-09-04）：12問・上品なアコーディオン
   ============================================== */
.contact-faq { background: #F7F3ED; padding: 72px 0 12px; }
.faq2__title {
  font-family: var(--font-serif);
  font-size: clamp(29px, 8.2vw, 32px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .03em;
  text-align: center;
  color: #222127;
  margin: 0 0 12px;
}
.faq2__intro {
  font-size: 14.5px;
  line-height: 1.9;
  text-align: center;
  color: #6B655E;
  margin: 0 0 30px;
}
.faq2 { display: grid; gap: 11px; max-width: 720px; margin: 0 auto; }
.faq2__item {
  background: #FFFDFC;
  border: 1px solid #D8C69D;
  border-radius: 15px;
  overflow: hidden;
}
.faq2__toggle {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 15px 42px 14px 16px;
  position: relative;
  -webkit-tap-highlight-color: transparent;
}

.faq2__q {
  font-family: var(--font-en);
  font-size: 13px;
  letter-spacing: .06em;
  color: #B89A5C;
  flex-shrink: 0;
  padding-top: 3px;
}
.faq2__q-text {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.6;
  color: #222127;
}
.faq2__toggle::after {
  content: '＋';
  position: absolute;
  right: 16px;
  top: 16px;
  color: #B89A5C;
  font-size: 15px;
  line-height: 1;
}
.faq2__toggle[aria-expanded="true"]::after { content: '−'; }
.faq2__a {
  background: #FBF8F3;
  border-top: 1px dashed #E5DED5;
  padding: 14px 16px 16px;
}
.faq2__a p {
  font-size: 13.5px;
  line-height: 1.85;
  color: #222127;
  margin: 0 0 10px;
}
.faq2__a p:last-child { margin-bottom: 0; }
.faq2__a small { font-size: 11px; color: #6B655E; }
@media (min-width: 768px) {
  .contact-faq { padding: 88px 0 24px; }
  .faq2__title { font-size: 38px; }
  .faq2__q-text { font-size: 16px; }
  .faq2__a p { font-size: 14px; }
}

/* ==============================================
   MECH v2（2026-09-04）：光糸リフトは、どう肌に働きかける？
   basics+science統合。編集的・静か・知的
   ============================================== */
.mech2 { background: #FFFDFC; }
.mech2__inner { max-width: 392px; margin: 0 auto; padding: 0 21px; }
.mech2 > .mech2__inner:first-child { padding-top: 72px; }
.mech2__title {
  font-family: var(--font-serif);
  font-size: clamp(26px, 7.2vw, 29px);
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: .03em;
  text-align: center;
  color: #222127;
  margin: 0 0 18px;
}
.mech2__thesis {
  font-family: var(--font-serif);
  font-size: clamp(17px, 4.7vw, 18px);
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: .03em;
  text-align: center;
  color: #222127;
  margin: 0 0 26px;
}
.mech2__intro p {
  font-size: 14px;
  line-height: 1.95;
  color: #222127;
  margin: 0 0 12px;
}

/* 01/02/03：カードにせず番号＋金線の編集構成 */
.mstep { margin-top: 36px; }
.mstep__label {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .16em;
  color: #B89A5C;
  margin: 0 0 8px;
}
.mstep__label::after {
  content: '';
  display: block;
  width: 26px;
  height: 1px;
  background: #B89A5C;
  margin-top: 8px;
}
.mstep__heading {
  font-family: var(--font-serif);
  font-size: clamp(21px, 5.9vw, 23px);
  font-weight: 600;
  line-height: 1.6;
  color: #222127;
  margin: 10px 0 8px;
}
.mstep__temp {
  font-family: var(--font-en);
  font-size: 48px;
  line-height: 1.1;
  color: #222127;
  margin: 6px 0 6px;
}
.mstep__temp span { font-size: .5em; color: #B89A5C; margin-left: 2px; }
.mstep__lead {
  font-size: 14.5px;
  font-weight: 700;
  line-height: 1.8;
  color: #222127;
  margin: 0 0 12px;
}
.mstep__body {
  font-size: 13.5px;
  line-height: 1.9;
  color: #222127;
  margin: 0 0 11px;
}

/* まとめ帯（ivory） */
.mech2__sum { background: #F7F3ED; margin-top: 44px; padding: 46px 0 44px; }
.mech2__key {
  font-family: var(--font-serif);
  font-size: clamp(19px, 5.4vw, 21px);
  font-weight: 600;
  line-height: 1.85;
  letter-spacing: .02em;
  text-align: center;
  color: #222127;
  margin: 0 0 18px;
}
.mech2__sumbody {
  font-size: 13.5px;
  line-height: 1.95;
  text-align: center;
  color: #222127;
  margin: 0 0 20px;
}

/* 概念図：光/温度→環境→真皮（因果を断定しない流れ） */
.mflow { text-align: center; margin: 4px 0 24px; }
.mflow__in { display: flex; justify-content: center; gap: 10px; margin-bottom: 8px; }
.mflow__chip {
  min-width: 128px;
  background: #FFFDFC;
  border: 1px solid #D8C69D;
  border-radius: 14px;
  padding: 10px 12px 9px;
}
.mflow__chip span {
  display: block;
  font-family: var(--font-serif);
  font-size: 16.5px;
  font-weight: 600;
  color: #222127;
}
.mflow__chip small {
  display: block;
  margin-top: 3px;
  font-size: 10.5px;
  line-height: 1.5;
  color: #8F6F32;
  letter-spacing: .02em;
}
.mflow__arrow { display: block; color: #B89A5C; font-size: 13px; line-height: 1.6; }
.mflow__node {
  display: inline-block;
  margin: 4px 0;
  font-size: 13.5px;
  font-weight: 700;
  color: #222127;
  background: #FFFDFC;
  border: 1px solid #D8C69D;
  border-radius: 999px;
  padding: 9px 20px;
}
.mflow__node--last {
  font-family: var(--font-serif);
  font-size: 15.5px;
  border-color: #B89A5C;
}
.mflow__node--last small {
  display: block;
  font-family: var(--font-sans);
  font-size: 10.5px;
  font-weight: 500;
  color: #8F6F32;
  margin-top: 2px;
}

/* 本体・ハンドピース：控えめな補足 */
.mech2__product {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 30px;
  margin-top: 26px;
}
.mech2__product figure { margin: 0; text-align: center; }
.mech2__product img { height: auto; }
.mech2__product figure:first-child img { width: 108px; }
.mech2__product figure:last-child img { width: 148px; }
.mech2__product figcaption { margin-top: 6px; font-size: 10.5px; color: #6B655E; }

/* 締め：真皮育成 */
.mech2__close { padding-top: 46px; padding-bottom: 58px; text-align: center; }
.mech2__close-title {
  font-family: var(--font-serif);
  font-size: clamp(22px, 6.2vw, 24px);
  font-weight: 600;
  line-height: 1.6;
  color: #222127;
  margin: 0 0 14px;
}
.mech2__close-title::before {
  content: '';
  display: block;
  width: 28px;
  height: 1px;
  background: #B89A5C;
  margin: 0 auto 16px;
}
.mech2__close-words {
  font-family: var(--font-serif);
  font-size: 15.5px;
  letter-spacing: .22em;
  color: #222127;
  margin: 0 0 14px;
}
.mech2__close .mstep__body { text-align: center; }
.mech2__close-key {
  font-family: var(--font-serif);
  font-size: 16.5px;
  font-weight: 600;
  line-height: 2;
  color: #222127;
  margin: 18px 0 0;
}

@media (min-width: 768px) {
  .mech2__inner { max-width: 640px; }
  .mech2 > .mech2__inner:first-child { padding-top: 96px; }
  .mech2__title { font-size: 36px; }
  .mech2__thesis { font-size: 24px; }
  .mech2__intro p, .mstep__body { font-size: 14.5px; }
  .mstep__heading { font-size: 26px; }
  .mstep__temp { font-size: 56px; }
  .mech2__key { font-size: 27px; }
  .mflow__chip { min-width: 160px; }
  .mech2__product figure:first-child img { width: 128px; }
  .mech2__product figure:last-child img { width: 175px; }
  .mech2__close { padding-bottom: 88px; }
}

/* ==============================================
   MECH v2 画像補助（2026-09-04）：3D理解補助3点
   ============================================== */
.mimg { margin: 18px auto; text-align: center; }
.mimg img { width: 100%; height: auto; display: block; margin: 0 auto; }
.mimg figcaption {
  margin-top: 6px;
  font-size: 11px;
  letter-spacing: .04em;
  color: #8A8178;
}
/* 01/02：小〜中（細胞・タンパク質の世界） */
.mimg--sm { width: 70%; max-width: 268px; }
/* 03：中〜大（肌全体の構造＝着地点） */
.mimg--lg { width: 92%; max-width: 350px; }
.mimg--lg img { border-radius: 14px; }
@media (min-width: 768px) {
  .mimg--sm { max-width: 320px; }
  .mimg--lg { max-width: 460px; }
}

/* ==============================================
   PRICING/LEGAL調整（2026-09-06）
   ============================================== */
/* 2. 英字プラン名の削除 */
.pricing__plan--jp::after { content: none; }

/* 3. 初期導入プログラム費の明記（アコーディオン外） */
.pricing__initial {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--c-line);
}
.pricing__initial-big {
  display: block;
  font-family: var(--font-serif);
  font-size: 30px;
  font-weight: 600;
  color: var(--c-ink);
  line-height: 1.3;
}
.pricing__initial-big small { font-size: 14px; font-weight: 500; color: var(--c-gold); }
.pricing__big small .js-tax-suffix,
.pricing__initial-big small .js-tax-suffix { font-size: 11px; letter-spacing: .02em; }
.pricing__doc-link { margin-top: 24px; font-weight: 700; color: var(--c-rose); }

/* 10. 同意ブロック */
.contact__consent { margin: 18px 0; }
.contact__privacy-link {
  color: var(--c-rose);
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 1px;
}
.consent-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 12px;
  font-size: 14px;
  font-weight: 700;
  color: var(--c-ink);
  cursor: pointer;
}
.consent-check input {
  width: 20px;
  height: 20px;
  margin-top: 1px;
  accent-color: var(--c-rose);
  flex-shrink: 0;
}

/* 11. フッターリンク */
.site-footer__links {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px 22px;
  margin: 10px 0 12px;
}
.site-footer__links a {
  color: rgba(255, 255, 255, .78);
  font-size: 12px;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, .3);
  padding-bottom: 1px;
}


/* ==============================================
   PRICING v3（2026-09-06）：問い合わせ獲得重視
   ============================================== */
.pricing__initial-note {
  margin: 16px auto 0;
  max-width: 440px;
  font-size: 11px;
  line-height: 1.85;
  text-align: left;
  color: #6B655E;
}
.pricing__sim-cta { margin-top: 24px; }
.pricing__sim-sub {
  margin: 8px 0 0;
  font-size: 12px;
  letter-spacing: .04em;
  color: #6B655E;
}

/* ==============================================
   PRICING v4（2026-09-07）：Roland型・月額の分かりやすさ
   ============================================== */
.pricing__flag {
  font-family: var(--font-sans);
  font-size: 14.5px;
  font-weight: 700;
  letter-spacing: .14em;
  color: var(--c-ink);
  margin: 0 0 10px;
}
.pricing__subsc {
  font-family: var(--font-serif);
  font-size: clamp(38px, 10.5vw, 42px);
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1.25;
  color: var(--c-ink);
  margin: 6px 0 2px;
}
.pricing__subsc-sub {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .3em;
  color: var(--c-gold);
  margin: 0 0 22px;
}
.pricing__meaning2 {
  font-size: 13.5px;
  line-height: 1.95;
  color: var(--c-ink);
  margin: 0 0 10px;
}
.pricing__photo { margin: 18px auto 22px; }
.pricing__photo img {
  width: 100%;
  height: 170px;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  /* 2026-09-09: 枠内トリミングを下側へ移し、目元・鼻・口元とハンドピースの施術部分を中央付近に（26%→70%。枠の位置・サイズ・角丸・縦横比は不変） */
  object-position: center 70%;
  border-radius: 13px;
  display: block;
}
.pricing__row .pricing__row-label {
  font-size: 15px;
  font-weight: 700;
  color: var(--c-ink);
  letter-spacing: .16em;
  margin-bottom: 2px;
}
@media (min-width: 768px) {
  .pricing__subsc { font-size: 52px; }
  .pricing__photo img { height: 230px; }
}

/* ==============================================
   IG広告版 改修（2026-09-07）
   ============================================== */
/* ヘッダー：業務用美容機器タグ */
.site-header__brand { display: flex; flex-direction: column; gap: 1px; }
.site-header__tag {
  font-size: 9.5px;
  letter-spacing: .22em;
  color: #6B655E;
  padding-left: 2px;
}

/* FV：sejutsu2版（顔・施術部位・ハンドピースを見せる） */
.hero2__bg--sejutsu {
  height: min(150vw, 585px);
  object-position: 42% 32%;
}
.hero2__copy { padding-top: 82px; }
/* 3つの丸：写真の要所（顔・ハンドピース）を隠さない控えめな重なり */
.hero2 .hero-orbs { margin-top: -34px; }

/* 実話の入口 */
.intro5 { background: #FFFDFC; padding: 44px 0 46px; }
.intro5__lead {
  font-family: var(--font-serif);
  font-size: 19px;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: .03em;
  text-align: center;
  color: #222127;
  margin: 0 0 22px;
}
.intro5__faces {
  list-style: none;
  margin: 0 0 22px;
  padding: 0;
  display: flex;
  justify-content: center;
  gap: 7px;
}
.intro5__faces li { text-align: center; min-width: 0; }
.intro5__faces img {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: 50%;
  border: 1px solid var(--c-gold-soft);
}
.intro5__faces span {
  display: block;
  margin-top: 6px;
  font-size: 10px;
  color: #6B655E;
  white-space: nowrap;
}
.intro5__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 86%;
  max-width: 320px;
  min-height: 50px;
  margin: 0 auto;
  background: #FFFDFC;
  border: 1px solid var(--c-rose);
  border-radius: 999px;
  color: var(--c-rose);
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
}

/* ナビ縮小 */
.hero-nav--slim { margin-top: 22px; padding-bottom: 34px; }
.hero-nav--slim .hero-nav__list { row-gap: 10px; column-gap: 18px; }
.hero-nav--slim .hero-nav__list a { font-size: 13px; }
.hero-nav--slim .hero-nav__dot { width: 12px; height: 12px; }

/* 本文の可読性（16px目安へ引き上げ） */
.case2__body, .pstory__story p, .ublock__body p,
.mstep__body, .mech2__intro p, .tl__body p, .faq2__a p { font-size: 15px; }
.sup-card__body p { font-size: 14.5px; }

/* 動画セクション：商品紹介ブロック */
.movie__prodlabel {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .24em;
  text-align: center;
  color: #8F6F32;
  margin: 26px 0 4px;
}
.movie__prodname {
  font-family: var(--font-serif);
  font-size: 30px;
  font-weight: 600;
  letter-spacing: .1em;
  text-align: center;
  color: #222127;
  margin: 0 0 8px;
}
.movie__proddesc {
  font-size: 15px;
  line-height: 1.95;
  text-align: center;
  color: #222127;
  margin: 0 0 34px;
}

/* 資料請求 */
.docreq { background: #F7F3ED; }
.docreq__title {
  font-family: var(--font-serif);
  font-size: clamp(23px, 6.4vw, 25px);
  font-weight: 600;
  line-height: 1.7;
  text-align: center;
  color: #222127;
  margin: 0 0 16px;
}
.docreq__desc {
  font-size: 15px;
  line-height: 1.95;
  color: #222127;
  margin: 0 0 22px;
}
.docreq__open { display: block; margin: 0 auto; }
.docreq__note {
  font-size: 12px;
  color: #6B655E;
  text-align: center;
  margin: 10px 0 0;
}
.docreq__form {
  margin-top: 26px;
  background: #FFFDFC;
  border: 1px solid var(--c-line);
  border-radius: var(--radius-ui);
  padding: 24px 18px;
}
.docreq__form .contact__submit { margin-top: 8px; }
#doc-success { background: #FFFDFC; }
#doc-dl-wrap a {
  font-weight: 700;
  color: var(--c-rose);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
}
@media (min-width: 768px) {
  .hero2__bg--sejutsu { height: 640px; object-position: 46% 30%; }
  .docreq__title { font-size: 30px; }
  .docreq__form { padding: 32px 36px; }
}

/* ==============================================
   FV refine（2026-09-07）：写真クロップ・3メッセージ横列・実話直結
   ============================================== */
/* 写真：顔・ハンドピース・手を主役に、下部タオルをクロップ */
.hero2__photo {
  height: 470px;
  overflow: hidden;
  margin-top: 8px;
}
/* 新素材（1728x2464縦長）: img高さ880pxに素材全高を収め（cover・横のみクロップ）、
   負マージンで被写体帯（顔・あご下×ハンドピース接触部＝素材縦42〜52%）を470px枠の中央へ */
.hero2__bg--sejutsu {
  height: 880px;
  object-position: 50% 50%;
  margin-top: -180px;
  clip-path: none;
}
/* 見出し前後の余白を圧縮・ベールは上端のなじませのみ */
.hero2__copy { padding-top: 74px; }
.hero2::before {
  height: 250px;
  background: linear-gradient(180deg,
    rgba(247, 243, 237, .96) 0%,
    rgba(247, 243, 237, .8) 55%,
    rgba(247, 243, 237, 0) 100%);
}

/* FV下端→実話の入口を近づける */
.fv { padding-bottom: 0; }
.intro5 { padding-top: 40px; }

@media (min-width: 768px) {
  .hero2__photo { height: 560px; }
  /* PC: 幅820px枠に素材幅をそのまま表示（横引き伸ばしなし）。縦のみ切り抜き位置で調整 */
  .hero2__bg--sejutsu { height: 720px; object-position: 50% 44%; }
}

/* ==============================================
   大石ブロックQA型（2026-09-07）：問い→回答→対談導線
   ============================================== */
.pstory__q {
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .08em;
  text-align: center;
  color: #6B655E;
  margin: 0 auto 6px;
}
.pstory--qa .pstory__headline {
  font-size: clamp(27px, 7.6vw, 30px);
  margin-bottom: 18px;
}
/* 人物写真：顔を保ちつつ縦占有を圧縮（胸元まで・タブレットの手は残す） */
.pstory__now--short { height: 300px; }
.pstory__now--short img {
  height: 372px;
  aspect-ratio: auto;
  object-position: 16% 12%;
}
.pstory--qa .pstory__name { margin-top: 14px; }
.pstory--qa .pstory__salon { margin-bottom: 14px; }
.pstory--qa .pstory__story { margin-top: 0; }
.pstory--qa .owner__ba-wrap { margin-top: 18px; }
.pstory__outro { margin-top: 18px !important; }
@media (min-width: 768px) {
  .pstory--qa .pstory__headline { font-size: 34px; }
  .pstory__now--short { height: 340px; }
  .pstory__now--short img { height: 430px; }
}

/* ==============================================
   冨樫ブロック・コンパクト型（2026-09-07）
   見出し→小写真＋プロフィール横並び→紹介→B/A→対談
   ============================================== */
.pstory--compact .pstory__headline {
  text-align: left;
  font-size: clamp(23px, 6.4vw, 25px);
  margin-bottom: 18px;
}
.pstory__headrow {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
}
.pstory__face {
  width: 112px;
  height: 132px;
  flex-shrink: 0;
  margin: 0;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--c-gold-soft);
}
.pstory__face img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* 拡大率・基点は人物ごとにconfig(faceZoom/facePos)からinline指定 */
}
.pstory__meta { min-width: 0; }
.pstory--compact .pstory__name { text-align: left; margin: 0 auto 3px; font-size: 17.5px; }
.pstory--compact .pstory__salon { text-align: left; margin: -6px auto 14px; } /* 左右autoで .pstory > * の中央配置を維持（文字は左揃えのまま） */
.pstory--compact .pstory__story { margin-top: 0; }
.pstory--compact .owner__ba-wrap { margin-top: 18px; }
@media (min-width: 768px) {
  .pstory--compact .pstory__headline { font-size: 28px; }
  .pstory__face { width: 128px; height: 148px; }
}


/* ==============================================
   実話→90秒動画の接続（2026-09-07）
   ============================================== */
.owners-compact .lives__note { margin-top: -8px; padding-bottom: 48px; }
.movie__intro {
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.9;
  text-align: center;
  color: #6B655E;
  margin: 22px 0 12px;
}
.movie__title::before { content: none; }

/* ==============================================
   MECH v3（2026-09-07）：しくみ再構成
   ============================================== */
.mech2__pad { padding-top: 64px; padding-bottom: 64px; }
.mech2__lead2 {
  font-size: 15px;
  line-height: 1.95;
  color: #222127;
  margin: 0 0 8px;
}
/* 開閉式の補足（キーボード操作可・details/summary） */
.mech2__more {
  margin-top: 40px;
  background: #F7F3ED;
  border: 1px solid var(--c-line);
  border-radius: 14px;
}
.mech2__more summary {
  list-style: none;
  cursor: pointer;
  padding: 15px 18px;
  font-size: 14.5px;
  font-weight: 700;
  color: #222127;
  -webkit-tap-highlight-color: transparent;
}
.mech2__more summary::-webkit-details-marker { display: none; }
.mech2__more-label b { color: var(--c-gold); font-weight: 700; margin-left: 6px; }
.mech2__more-label--open { display: none; }
.mech2__more[open] .mech2__more-label--closed { display: none; }
.mech2__more[open] .mech2__more-label--open { display: inline; }
.mech2__more-body {
  padding: 4px 18px 18px;
  border-top: 1px dashed var(--c-line);
}
.mech2__more-body h4 {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .1em;
  color: #8F6F32;
  margin: 14px 0 6px;
}
.mech2__more-body p {
  font-size: 15px;
  line-height: 1.9;
  color: #222127;
  margin: 0;
}
/* まとめ（図・重複説明なし） */
.mech2__wrap2 { margin-top: 44px; text-align: center; }
.mech2__wrap2-title {
  font-family: var(--font-serif);
  font-size: clamp(20px, 5.6vw, 22px);
  font-weight: 600;
  line-height: 1.85;
  color: #222127;
  margin: 0 0 12px;
}
.mech2__wrap2-title::before {
  content: '';
  display: block;
  width: 28px;
  height: 1px;
  background: #B89A5C;
  margin: 0 auto 16px;
}
.mech2__wrap2-body {
  font-size: 15px;
  line-height: 1.95;
  color: #222127;
  margin: 0;
}
/* 動画下の小さな製品紹介 */
.movie__product {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 34px;
  margin: 26px auto 6px;
}
.movie__product figure { margin: 0; text-align: center; }
.movie__product img { height: auto; }
.movie__product figure:first-child img { width: 96px; }
.movie__product figure:last-child img { width: 136px; }
.movie__product figcaption { margin-top: 6px; font-size: 11px; color: #6B655E; }
@media (min-width: 768px) {
  .mech2__pad { padding-top: 88px; padding-bottom: 88px; }
  .mech2__wrap2-title { font-size: 26px; }
  .movie__product figure:first-child img { width: 116px; }
  .movie__product figure:last-child img { width: 164px; }
}

/* しくみ見出しの折返し調整（孤立行防止） */
.mech2__pad .mech2__title { font-size: clamp(23px, 6.4vw, 25px); line-height: 1.65; text-align: left; margin-bottom: 14px; }
.mech2__wrap2-title { font-size: clamp(18px, 5vw, 19.5px); }
@media (min-width: 768px) {
  .mech2__pad .mech2__title { font-size: 34px; }
  .mech2__wrap2-title { font-size: 24px; }
}


/* ==============================================
   USECASES v5（2026-09-07）：3項目の並べ替えと整理
   ============================================== */
.ublock__num { font-family: var(--font-sans); letter-spacing: .1em; }
/* 03：体験→コース案内の流れ（小さな横並び） */
.ublock__flowline {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 18px;
}
.ublock__flowline span {
  font-size: 12px;
  font-weight: 700;
  color: #222127;
  background: #F7F3ED;
  border: 1px solid #D8C69D;
  border-radius: 999px;
  padding: 7px 10px;
  white-space: nowrap;
}
.ublock__flowline .ublock__flowline-arrow {
  background: none;
  border: none;
  padding: 0;
  color: #B89A5C;
  font-size: 15px;
}


/* ==============================================
   料金カード・資料請求の整理（2026-09-07）
   ============================================== */
/* 料金カード：導入コピー＋補足 */
.pricing__lead2 {
  font-family: var(--font-serif);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: .03em;
  color: #222127;
  margin: 0 0 10px;
}
.pricing__lead2-sub {
  font-size: 14.5px;
  line-height: 1.85;
  color: #222127;
  margin: 0 0 6px;
}
/* 初期費注記：14px/1.7・コントラスト確保 */
.pricing__initial-note {
  font-size: 14px;
  line-height: 1.7;
  color: #222127;
}
/* 料金カード下端→資料請求見出し：48〜64pxへ（paddingの二重加算を解消） */
.pricing { padding-bottom: 56px; }
.docreq { padding-top: 0; }
.docreq .container { padding-top: 0; }
/* 資料請求本文：左揃え・15px以上 */
.docreq__desc { text-align: left; margin-bottom: 12px; }
.docreq__desc:last-of-type { margin-bottom: 22px; }
.docreq__note { font-size: 12.5px; line-height: 1.8; color: #55504A; }
@media (min-width: 768px) {
  .pricing__lead2 { font-size: 21px; }
}

/* ==============================================
   CONTACT FORM v2 + FAQ links（FAQ8問・フォーム整理）
   ============================================== */
.contact__form-title {
  font-size: 20px;
  font-weight: 700;
  color: #221f1a;
  margin: 40px 0 8px;
}
.contact__form-desc {
  font-size: 15px;
  line-height: 1.8;
  color: #55504a;
  margin: 0 0 20px;
}
.faq2__links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin-top: 14px;
}
.faq2__links a {
  color: #9a7b2d;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* 2026-09-14: 広告から導入ストーリーへ */
.fv-ad { background: #fffaf7; padding-top: 0; }
.ad-hero { position: relative; max-width: 820px; margin: 0 auto; overflow: hidden; }
.ad-hero__image { display:block; width:100%; height:auto; }
.ad-hero__copy { position:absolute; z-index:1; inset:0 0 auto; padding:24px 18px 54px; text-align:center; background:linear-gradient(#fffaf7 0%,rgba(255,250,247,.88) 65%,transparent); }
.ad-hero__audience { display:inline-block; padding:7px 22px; margin:0 0 15px; background:var(--c-rose); color:#fff; font-size:14px; font-weight:700; letter-spacing:.08em; }
.ad-hero__title { font-family:var(--font-serif); font-weight:500; color:#302426; font-size:clamp(32px,9vw,46px); line-height:1.5; letter-spacing:.06em; margin:0; }
.ad-hero__sub { margin:12px 0 0; font-size:13px; line-height:1.8; color:#57484a; }
.intro5--ad { padding:32px 0 38px; background:linear-gradient(180deg,#fffaf7,#fff5f2); }
.intro5__eyebrow { text-align:center; font-size:12px; letter-spacing:.12em; color:var(--c-gold-text); margin:0 0 10px; }
.intro5--ad .intro5__lead { font-size:26px; line-height:1.55; margin-bottom:24px; }
.intro5--ad .intro5__faces { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; margin-bottom:26px; }
.intro5--ad .intro5__faces a { text-decoration:none; color:inherit; }
.intro5--ad .intro5__faces img { display:block; width:100%; height:auto; aspect-ratio: .62; object-fit:cover; object-position:68% center; border:0; border-radius:3px; }
.intro5--ad .intro5__faces a[href="#story-oishi"] img { object-position:33% center; }
.intro5--ad .intro5__faces span { font-size:10px; color:#493337; }
.intro5--ad .intro5__link { width:100%; max-width:390px; min-height:56px; gap:12px; background:var(--c-rose); color:white; border:0; border-radius:4px; box-shadow:0 6px 18px #a94b5b1a; }
.intro5--ad a:focus-visible { outline:3px solid var(--c-rose); outline-offset:4px; }
@media(min-width:768px) {
 .ad-hero { height:650px; }
 .ad-hero__image { height:100%; object-fit:cover; object-position:center 62%; }
 .ad-hero__copy { text-align:left; padding:35px 38px 65px; background:linear-gradient(180deg,#fffaf7 0%,rgba(255,250,247,.85) 65%,transparent); }
 .ad-hero__title { font-size:48px; }
 .ad-hero__sub { font-size:15px; }
 .intro5--ad .intro5__faces { max-width:650px; margin:0 auto 30px; gap:14px; }
 .intro5--ad .intro5__faces span { font-size:13px; }
 .intro5--ad .intro5__lead br { display:none; }
}
/* 固定ヘッダーと対象者の帯が重ならない余白 */
.fv.fv-ad { padding-top:80px; }
@media(max-width:767px) {
 .ad-hero { background:#fffaf7; }
 .ad-hero__image { margin-top:66px; }
 .ad-hero__copy { padding-bottom:40px; }
}

/* 写真一覧の肩書き */
.pstory-cta .pstory-cta__play { display:flex; align-items:center; justify-content:center; width:38px; height:27px; border-radius:7px; background:#d52332; color:#fff; font-size:13px; }
.pstory-cta__copy { display:flex; flex-direction:column; gap:5px; text-align:left; }
.pstory-cta__label { font-size:15px; font-weight:700; }
.pstory-cta__detail { font-size:10px; font-weight:400; line-height:1.5; color:#756366; }
.pstory-cta:focus-visible { outline:3px solid var(--c-rose); outline-offset:4px; }
.brand-belief { min-height:420px; padding:40px 0; box-sizing:border-box; background:linear-gradient(180deg,rgba(255,250,247,.68),rgba(255,250,247,.3) 38%,rgba(255,250,247,0) 65%),url('../img/brand-salon-v1.jpg') center center / cover no-repeat; text-align:center; }
.brand-belief__eyebrow { margin:0 0 18px; color:var(--c-gold-text); font-size:12px; letter-spacing:.1em; }
.brand-belief__title { margin:0; color:#493337; font-family:var(--font-serif); font-size:clamp(18px,4.8vw,32px); font-weight:500; line-height:1.9; letter-spacing:0; }
.brand-belief__title span { display:block; }
@media(min-width:768px) { .brand-belief { min-height:560px; padding:64px 0; background-position:center 58%; } }

.intro5--ad .intro5__role { display:block; margin-top:4px; font-size:9px; line-height:1.5; color:#756366; letter-spacing:0; white-space:nowrap; }
@media(min-width:768px) { .intro5--ad .intro5__role { font-size:11px; } }

/* 広告の温かさと公式サイトのゴールドをつなぐ */
.intro5--ad .intro5__link:hover { background:var(--color-accent-dark); }
.brand-belief__eyebrow::after { content:""; display:block; width:40px; height:1px; margin:14px auto 0; background:var(--c-gold); }
.site-footer__official { display:inline-block; margin:4px 0 22px; color:#F7F3ED; font-size:14px; text-decoration:underline; text-underline-offset:5px; }
.site-footer__official:focus-visible { outline:2px solid var(--c-gold-soft); outline-offset:5px; }

/* 読む理由・見る理由を具体的に伝える */
.intro5__message { margin:-4px auto 24px; font-size:14px; line-height:2; text-align:center; color:var(--c-ink); }
.intro5__invitation { margin:0 0 14px; font-size:15px; line-height:1.8; font-weight:700; text-align:center; color:var(--c-rose); }
.intro5--ad .intro5__link { border-radius:999px; min-height:62px; box-shadow:0 5px 0 #813747,0 9px 18px #a94b5b26; font-size:15px; }
.brand-belief__message { display:inline-block; margin:22px 0 0; padding:12px 16px; background:rgba(255,250,247,.85); border-radius:4px; color:#493337; font-size:13px; line-height:2; }
.brand-belief { min-height:490px; }
.pstory-invitation { max-width:520px; margin:30px auto 0; text-align:center; }
.pstory-invitation__label { color:var(--c-rose); font-size:12px; font-weight:700; margin:0 0 8px; }
.pstory-invitation__topic { font-size:16px; line-height:1.8; color:var(--c-ink); margin:0; }
.pstory-invitation + .pstory-cta { margin-top:16px; }
.pstory-cta { box-shadow:0 4px 0 #ead9d7,0 7px 16px #4933370d; min-height:66px; }
.pstory-cta__label { font-size:17px; }
.pstory-cta:hover { background:#fff3ef; }
.sticky-cta__btn--sub { flex:0 0 34%; font-size:13px; }
.sticky-cta__btn--main { margin:7px 10px 7px 0; border-radius:999px; gap:12px; }
@media(min-width:768px) { .brand-belief { min-height:600px; } .brand-belief__message { font-size:16px; } .intro5__message { font-size:16px; } }

/* 商品とメニューがひと目で分かる導入案内 */
.ad-hero__definition { margin:12px 0 0; font-size:15px; line-height:1.7; font-weight:700; color:var(--c-ink); }
.ad-hero__sub { font-size:12px; margin-top:8px; }
.menu-summary,.device-guide { padding:36px 0; background:#fffaf7; text-align:center; }
.menu-summary h2,.device-guide h2 { font-size:23px; line-height:1.6; margin:0 0 24px; font-family:var(--font-serif); }
.menu-summary__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.menu-summary__grid a { background:white; border:1px solid var(--c-gold-soft); border-radius:12px; padding:14px 6px; text-decoration:none; color:var(--c-ink); display:flex; flex-direction:column; gap:12px; }
.menu-summary__number { color:var(--c-rose); font-size:20px; font-family:var(--font-en); }
.menu-summary__grid strong { font-size:12px; line-height:1.8; }
.menu-summary__grid a > span:last-child { font-size:10px; line-height:1.6; }
.menu-summary__more { display:inline-block; margin-top:22px; color:var(--c-rose); font-weight:700; font-size:14px; text-underline-offset:5px; }
.device-guide { background:var(--c-ivory); }
.device-guide__grid { display:grid; grid-template-columns:32% 1fr; gap:16px; align-items:center; }
.device-guide__grid img { width:100%; height:auto; }
.device-guide dl { text-align:left; margin:0; font-size:13px; }
.device-guide dt { font-weight:700; color:var(--c-rose); padding-top:12px; }
.device-guide dd { margin:5px 0 0; padding-bottom:12px; border-bottom:1px solid var(--c-line); line-height:1.7; }
.device-guide__note { font-size:13px; line-height:1.8; margin-top:20px; }
.sticky-cta__btn--main { margin:7px 16px; font-size:17px; }
@media(max-width:767px) { .ad-hero__image { margin-top:66px; } }
@media(min-width:768px) { .menu-summary__grid { max-width:760px; margin:auto; gap:20px; } .menu-summary__grid strong { font-size:18px; } .menu-summary__grid a > span:last-child { font-size:13px; } .device-guide__grid { max-width:720px; margin:auto; } .device-guide dl { font-size:16px; } }

.menu-compare { width:100%; max-width:720px; margin:28px auto 0; border-collapse:collapse; font-size:12px; }
.menu-compare caption { font-weight:700; margin-bottom:12px; font-size:14px; }
.menu-compare th,.menu-compare td { border:1px solid var(--c-line); padding:12px 8px; line-height:1.7; background:white; }
.menu-compare thead th { background:#eadbd8; }

/* 施術写真から、提案できるケアへ */
.care-menu { max-width:960px; margin:0 auto; background:#f5eee3; }
.care-menu__photo { margin:0; position:relative; }
.care-menu__photo video { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; }
.care-menu__photo figcaption { position:absolute; bottom:10px; right:14px; font-size:10px; color:#493337; background:#fffc; padding:3px 7px; }
.care-menu__body { padding:30px 20px 36px; text-align:center; }
.care-menu__eyebrow { margin:0 0 12px; color:#806b42; font-size:13px; letter-spacing:.08em; }
.care-menu h2 { font-family:var(--font-serif); font-size:29px; line-height:1.6; color:#493337; margin:0; font-weight:600; }
.care-menu__lead { font-size:14px; line-height:1.8; margin:14px 0 24px; }
.care-menu__items { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.care-menu__items li { background:white; border:1px solid #cdbb94; border-radius:10px; padding:16px 5px; font-size:14px; font-weight:700; color:#493337; }
.care-menu__science-label { margin:24px 0 12px; font-size:12px; color:#806b42; }
.care-menu__science { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.care-menu__science a { display:flex; align-items:center; justify-content:center; padding:12px 5px; background:#e9dfce; border-radius:8px; color:#493337; font-size:12px; text-decoration:none; }
@media(min-width:768px) { .care-menu__body { padding:44px 60px; } .care-menu h2 { font-size:38px; } .care-menu h2 br { display:none; } .care-menu__items { grid-template-columns:repeat(3,minmax(0,1fr)); } .care-menu__items li { font-size:17px; } }

/* Support and introduction steps: compact, expandable sections. */
.program, .flow-section { padding:20px 0; }
.info-fold { border:1px solid #d8cbb7; border-radius:12px; background:#fffdf9; }
.info-fold > summary { display:block; cursor:pointer; list-style:none; padding:24px 20px; text-align:center; }
.info-fold > summary::-webkit-details-marker { display:none; }
.info-fold > summary:focus-visible { outline:3px solid #aa4d61; outline-offset:3px; border-radius:12px; }
.info-fold__title { margin:0; font-family:var(--font-serif); font-size:23px; line-height:1.5; font-weight:600; color:#493337; }
.info-fold__description { display:block; margin-top:8px; font-size:13px; color:#70675d; }
.info-fold__action { display:block; margin-top:14px; font-size:14px; font-weight:600; color:#9b4c5d; }
.info-fold__opened { display:none; }
.info-fold[open] .info-fold__closed { display:none; }
.info-fold[open] .info-fold__opened { display:inline; }
.info-fold__content { padding:0 20px 28px; border-top:1px solid #e8dfd2; }
@media(min-width:768px) { .info-fold__title { font-size:28px; } .info-fold__content { padding:0 36px 36px; } }

/* Five treatment characteristics following the care menu. */
.treatment-difference { background:#fffdf9; padding:44px 18px; }
.treatment-difference__inner { max-width:880px; margin:0 auto; }
.treatment-difference__eyebrow { text-align:center; color:#806b42; font-size:12px; letter-spacing:.06em; margin:0 0 12px; }
.treatment-difference h2 { font-family:var(--font-serif); font-size:30px; line-height:1.6; font-weight:600; text-align:center; color:#493337; margin:0; }
.treatment-difference__lead { text-align:center; font-size:14px; line-height:1.9; margin:18px 0 26px; }
.difference-table { width:100%; table-layout:fixed; border-collapse:separate; border-spacing:0; border:1px solid #d8cbb7; border-radius:12px; overflow:hidden; font-size:13px; line-height:1.7; }
.difference-table caption { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.difference-table thead th { padding:15px 10px; background:#eee7db; color:#493337; }
.difference-table thead th:first-child { width:35%; }
.difference-table thead th:last-child { background:#a94d61; color:#fff; font-size:18px; }
.difference-table tbody th { padding:18px 10px; text-align:left; font-weight:600; background:#fff; border-top:1px solid #e4d9cc; overflow-wrap:anywhere; }
.difference-table tbody th > span { display:block; color:#9b8051; font-size:12px; margin-bottom:4px; }
.difference-table td { padding:18px 12px; background:#faf0ef; border-top:1px solid #e7d4d4; }
.difference-table strong { display:block; color:#713846; font-size:16px; line-height:1.6; }
.difference-table small { display:block; font-size:12px; color:#655b55; margin-top:6px; }
.difference-table__unit { font-size:12px; font-weight:400; }
.treatment-difference__note { font-size:11px; line-height:1.8; color:#70675d; margin:12px 0 0; }
.treatment-difference__closing { text-align:center; font-family:var(--font-serif); font-size:23px; line-height:1.8; color:#493337; margin:28px 0 0; }
.treatment-difference__closing em { font-style:normal; color:#a94d61; }
@media(min-width:768px) { .treatment-difference { padding:64px 30px; } .treatment-difference h2 { font-size:38px; } .treatment-difference h2 br { display:none; } .difference-table { font-size:16px; } .difference-table th,.difference-table td { padding:22px 26px; } .difference-table strong { font-size:21px; } .difference-table small { font-size:14px; } .treatment-difference__closing { font-size:30px; } }

/* Side-by-side comparison: retain all three approaches on small screens. */
.difference-scroll { overflow-x:auto; border-radius:12px; -webkit-overflow-scrolling:touch; }
.difference-scroll:focus-visible { outline:3px solid #a94d61; outline-offset:3px; }
.difference-scroll-hint { color:#806b42; font-size:12px; text-align:right; margin:0 0 8px; }
.difference-table { min-width:760px; }
.difference-table thead th:first-child { width:18%; }
.difference-table thead th:nth-child(2) { width:30%; background:#a94d61; color:white; font-size:20px; }
.difference-table thead th:last-child { background:#eee7db; color:#493337; font-size:16px; }
.difference-table td { text-align:center; background:#fff; border-top:1px solid #e4d9cc; border-left:1px solid #eee5df; color:#514c48; }
.difference-table td:nth-child(2) { background:#faf0ef; }
.difference-table tbody th { position:sticky; left:0; z-index:1; box-shadow:1px 0 0 #e4d9cc; }
.difference-table strong { font-size:17px; }
.difference-table th, .difference-table td { padding:20px 12px; }
@media(min-width:900px) { .difference-scroll-hint { display:none; } }

/* Reveal part of the next column so horizontal scrolling is apparent. */
@media(max-width:767px) {
  .difference-table { width:640px; min-width:640px; }
  .difference-table thead th:first-child { width:clamp(90px,26vw,112px); }
  .difference-table thead th:nth-child(2) { width:clamp(150px,44vw,190px); font-size:18px; }
  .difference-table th, .difference-table td { padding:16px 10px; }
  .difference-table strong { font-size:16px; }
}

/* Keep the salon concerns section concise and easy to scan. */
.cases { padding-top:32px; padding-bottom:36px; }
.cases__title { font-size:clamp(23px,5.8vw,32px); line-height:1.65; margin-bottom:26px; letter-spacing:.02em; }
.cases__title span { display:inline-block; }
.case2-list { gap:28px; }
.case2__art { width:160px; max-width:100%; padding:8px; border-radius:12px; }
.case2__badge { width:46px; height:46px; margin:-18px auto 8px; }
.case2__badge-label { font-size:8px; }
.case2__badge strong { font-size:18px; }
.case2__heading { font-size:20px; margin-bottom:6px; }
.case2__body { line-height:1.75; }
@media (min-width:768px) {
  .cases { padding-top:44px; padding-bottom:44px; }
  .cases__title { margin-bottom:30px; }
  .case2__art { width:180px; }
}

#story-kojima .pstory-invitation__topic,
#story-aokane .pstory-invitation__topic,
#story-ishii .pstory-invitation__topic { white-space:pre-line; }

/* A short invitation with the salon guide illustration. */
#contact .contact__welcome { display:grid; grid-template-columns:minmax(0,1fr) 32%; align-items:center; gap:8px; margin-bottom:24px; }
#contact .contact__welcome .section__title { font-size:clamp(25px,6.5vw,36px); line-height:1.55; letter-spacing:.02em; margin:0 0 14px; }
#contact .contact__welcome .contact__lead { font-size:14px; line-height:1.85; margin:0; }
.contact__guide { display:block; width:100%; height:auto; mix-blend-mode:multiply; }
@media (min-width:768px) {
  #contact .contact__welcome { grid-template-columns:minmax(0,1fr) 200px; gap:24px; }
  #contact .contact__welcome .contact__lead { font-size:16px; }
}

/* Balance the product photo and practical introduction details. */
.device-guide h2 { font-size:clamp(21px,5.3vw,30px); line-height:1.65; }
.device-guide h2 span { display:inline-block; }
.device-guide__grid { grid-template-columns:1fr; gap:20px; }
.device-guide__grid > img { width:160px; max-height:240px; object-fit:contain; margin:0 auto; }
.device-guide__facts { background:#fffdf9; border:1px solid #ded3c2; border-radius:14px; padding:4px 18px; }
.device-guide__facts > div { display:grid; grid-template-columns:90px minmax(0,1fr); gap:12px; padding:16px 0; border-bottom:1px solid var(--c-line); }
.device-guide__facts > div:last-child { border-bottom:0; }
.device-guide .device-guide__facts dt { padding:0; font-size:13px; line-height:1.8; }
.device-guide .device-guide__facts dd { padding:0; margin:0; border:0; font-size:14px; line-height:1.8; }
.device-guide__facts dd strong { font-size:20px; }
.device-guide__facts dd small { display:block; font-size:11px; line-height:1.7; margin-top:6px; color:var(--c-muted); }
@media(min-width:768px) {
  .device-guide__grid { grid-template-columns:220px minmax(0,1fr); gap:32px; }
  .device-guide__grid > img { width:220px; max-height:340px; }
}

.menu-compare { table-layout:fixed; }
.menu-compare th:first-child { width:22%; }
.menu-compare th span,.menu-compare td span { display:inline-block; }
@media(max-width:767px) {
  .menu-compare th,.menu-compare td { padding:12px 5px; }
}

/* Keep product explanations balanced with the comparison columns. */
.difference-table tbody td:nth-child(2) strong { font-size:14px; font-weight:600; }
@media(min-width:768px) {
  .difference-table tbody td:nth-child(2) strong { font-size:16px; }
}

.mech2__title > span { display:inline-block; }

.treatment-difference__closing em > span,
.mech2__lead2 > span { display:inline-block; max-width:100%; }

/* Distinct, everyday salon scenes with copy clear of people's faces. */
.treatment-difference__visual { margin-top:28px; overflow:hidden; border-radius:12px; background:#fffdf9; }
.treatment-difference__visual > img { display:block; width:100%; aspect-ratio:4 / 3; object-fit:cover; object-position:center 52%; }
.treatment-difference__closing { margin:0; padding:22px 10px 24px; font-size:clamp(20px,5.4vw,23px); line-height:1.75; }
.treatment-difference__closing > br { display:none; }
.treatment-difference__closing em { display:block; margin-top:6px; }
@media(min-width:768px) {
  .treatment-difference__visual > img { aspect-ratio:2 / 1; }
  .treatment-difference__closing { padding:28px 24px 32px; font-size:30px; }
}

/* Compact rental plan with a quiet, single-line monthly price. */
#pricing .pricing__card { padding:24px 20px; }
#pricing .pricing__product { font-size:20px; margin:0 0 4px; }
#pricing .pricing__subsc { font-size:30px; margin:0; line-height:1.35; }
#pricing .pricing__subsc-sub { font-size:13px; margin:4px 0 14px; letter-spacing:.15em; }
#pricing .pricing__lead2 { font-size:16px; line-height:1.7; margin:0; }
#pricing .pricing__photo { margin:16px auto; }
#pricing .pricing__photo img { height:150px; }
#pricing .pricing__row { display:flex; flex-direction:row; flex-wrap:nowrap; align-items:baseline; justify-content:center; gap:8px; margin:14px 0 18px; white-space:nowrap; }
#pricing .pricing__row-label { font-size:14px; font-weight:400; letter-spacing:0; margin:0; }
#pricing .pricing__big { font-family:var(--font-sans); font-size:23px; font-weight:500; line-height:1.4; letter-spacing:0; }
#pricing .pricing__big small { font-size:13px; color:var(--c-ink); }
#pricing .pricing__accordion { margin-top:0; }
@media(min-width:768px) {
  #pricing .pricing__card { padding:30px 36px; }
  #pricing .pricing__photo { max-width:460px; }
  #pricing .pricing__photo img { height:200px; }
}

/* Story-first entrance for Instagram visitors. */
.site-header--stories .site-header__logo { width:90px; height:auto; }
.site-header--stories .site-header__tag { font-size:9px; }
.owner-hero { padding:96px 18px 32px; background:linear-gradient(180deg,#fffaf7,#f8f1ed); text-align:center; }
.owner-hero__inner { max-width:1060px; margin:auto; }
.owner-hero__eyebrow { font-size:13px; letter-spacing:.09em; color:#856b4c; margin:0 0 14px; }
.owner-hero__title { font-family:var(--font-serif); font-size:clamp(38px,10vw,46px); font-weight:500; line-height:1.4; letter-spacing:.04em; color:#302426; margin:0 0 16px; }
.owner-hero__lead { font-size:12px; line-height:1.85; color:#655650; margin:0 0 24px; }
.owner-hero__lead span { display:inline-block; }
.owner-hero .intro5__faces { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px 10px; max-width:480px; padding:0; margin:0 auto 22px; list-style:none; }
.owner-hero .intro5__faces li { grid-column:span 2; min-width:0; margin:0; }
.owner-hero .intro5__faces li:nth-child(4) { grid-column:2 / span 2; }
.owner-hero .intro5__faces li:nth-child(5) { grid-column:4 / span 2; }
.owner-hero .intro5__faces img { aspect-ratio:3/4; width:100%; height:auto; object-fit:cover; object-position:68% center; border-radius:6px; }
.owner-hero .intro5__faces a[href="#story-oishi"] img { object-position:33% center; }
.owner-hero .intro5__faces span { display:block; font-size:13px; margin-top:7px; line-height:1.4; }
.owner-hero .intro5__faces .intro5__role { font-size:9px; margin-top:3px; }
.owner-hero__signature { margin:0 auto 12px; font-size:11px; font-weight:400; line-height:1.5; letter-spacing:.05em; color:#857771; white-space:nowrap; }
.owner-hero .intro5__link { display:flex; align-items:center; justify-content:center; width:100%; max-width:340px; min-height:52px; padding:10px 14px; margin:auto; border-radius:6px; box-shadow:none; font-size:14px; gap:8px; }
@media(min-width:768px) {
  .owner-hero { padding:110px 28px 40px; }
  .owner-hero__title { font-size:52px; }
  .owner-hero__lead { font-size:14px; }
  .owner-hero .intro5__faces { grid-template-columns:repeat(5,minmax(0,1fr)); max-width:1000px; gap:20px; }
  .owner-hero .intro5__faces li,.owner-hero .intro5__faces li:nth-child(4),.owner-hero .intro5__faces li:nth-child(5) { grid-column:auto; }
  .owner-hero .intro5__faces span { font-size:15px; }
  .owner-hero .intro5__faces .intro5__role { font-size:11px; }
}

/* Connect the existing stories directly to the first view. */
#stories { padding-top:32px; }
.stories__intro { padding:0 18px; text-align:center; }
.stories__intro > p { margin:0 0 8px; font-size:13px; color:var(--c-muted); letter-spacing:.06em; }
.stories__intro .stories__title { font-size:clamp(26px,7vw,34px); margin:0; }
@media(min-width:768px) { #stories { padding-top:40px; } }

/* Quiet story introduction and a shorter mobile transition. */
#story-oishi .pstory__q { white-space:pre-line; font-family:var(--font-serif); font-size:clamp(17px,4.4vw,24px); font-weight:500; line-height:1.8; margin-bottom:24px; }
@media(max-width:767px) {
  .owner-hero { padding-bottom:22px; }
  #stories { padding-top:23px; }
}

/* Subtle themes distinguish the five existing stories. */
.pstory__theme { font-size:11px; font-weight:400; letter-spacing:.07em; color:#927857; text-align:center; line-height:1.6; margin:0 0 14px; white-space:nowrap; }
.stories__intro > .stories__description { margin:14px 0 0; font-size:13px; line-height:1.8; letter-spacing:.02em; }
#stories .pstory[id] { scroll-margin-top:72px; }

/* A quiet bridge from the five stories to the brand philosophy. */
.brand-belief__bridge { margin:0 0 16px; color:var(--c-gold-text); font-size:11px; font-weight:400; line-height:1.8; letter-spacing:.04em; }

/* Video, plain-language introduction, then detailed comparison. */
.treatment-intro { padding:32px 20px 24px; text-align:center; }
.treatment-intro p { margin:12px 0 0; font-size:14px; line-height:1.8; }
.simple-differences { max-width:900px; margin:auto; padding:36px 20px; }
.care-menu .simple-differences h2 { font-size:clamp(23px,6vw,30px); text-align:center; }
.simple-differences ol { list-style:none; padding:0; margin:24px 0 0; display:grid; gap:22px; }
.simple-differences li { border-top:1px solid #ded3c2; padding-top:18px; }
.simple-differences li > span { color:var(--c-gold-text); font-size:12px; letter-spacing:.08em; }
.simple-differences h3 { font-family:var(--font-serif); font-size:20px; font-weight:500; line-height:1.65; margin:6px 0 10px; }
.simple-differences p { font-size:14px; line-height:1.85; margin:0; color:#655b55; }
.care-menu__tags-title { font-size:15px; font-weight:500; line-height:1.8; margin:24px 0 14px; }
.care-menu__items { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
.care-menu__items li { background:rgba(150,125,83,.06); border:0; border-radius:2px; padding:6px 9px; font-size:13px; font-weight:400; box-shadow:none; }
.difference-cards { display:none; }
@media(min-width:768px) {
  .simple-differences ol { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
}
@media(max-width:767px) {
  .difference-scroll { display:none; }
  .difference-cards { display:grid; gap:18px; text-align:left; }
  .difference-card { border:1px solid #ded3c2; border-radius:10px; overflow:hidden; background:#fffdfb; }
  .difference-card h3 { margin:0; padding:14px 16px; background:#eee7db; font-size:15px; line-height:1.6; font-weight:500; }
  .difference-card h3 span { color:var(--c-gold-text); }
  .difference-card dl { margin:0; }
  .difference-card dl > div { padding:14px 16px; border-top:1px solid #eee5df; }
  .difference-card dl > div:first-child { background:#faf0ef; }
  .difference-card dt { font-size:12px; color:#806b42; margin-bottom:6px; }
  .difference-card dd { margin:0; font-size:14px; line-height:1.75; color:#514c48; }
  .difference-card strong { font-size:14px; font-weight:500; color:#713846; }
  .difference-card small { display:block; font-size:12px; line-height:1.75; margin-top:4px; color:#70675d; }
}

/* Compact overview: details remain available on demand. */
.simple-differences { padding:28px 20px; }
.simple-differences ol { gap:18px; margin-top:22px; }
.simple-differences li { display:flex; align-items:center; gap:14px; border:0; padding:0; }
.simple-differences__icon { flex:0 0 36px; width:36px; height:36px; color:#aa9060; }
.simple-differences li > div > span { font-size:11px; letter-spacing:.08em; color:var(--c-gold-text); }
.simple-differences h3 { font-size:17px; margin:3px 0 5px; line-height:1.6; }
.simple-differences p { font-size:12px; line-height:1.7; }
.care-menu__items { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.care-menu__items li { font-size:12px; padding:6px 4px; line-height:1.7; }
.comparison-summary { list-style:none; padding:0; margin:24px 0; display:grid; gap:18px; text-align:left; }
.comparison-summary li { display:flex; align-items:baseline; gap:12px; }
.comparison-summary li > span { color:var(--c-gold-text); font-size:12px; }
.comparison-summary h3 { margin:0 0 5px; font-family:var(--font-serif); font-size:18px; font-weight:500; line-height:1.6; }
.comparison-summary p { font-size:13px; line-height:1.7; margin:0; color:#70675d; }
.comparison-details { margin:20px 0 0; text-align:left; }
.comparison-details summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 18px; border:1px solid #ded3c2; border-radius:8px; font-size:14px; cursor:pointer; list-style:none; }
.comparison-details summary::-webkit-details-marker { display:none; }
.comparison-details summary span { color:var(--c-gold-text); transition:transform .2s; }
.comparison-details[open] summary span { transform:rotate(45deg); }
.comparison-details summary:focus-visible { outline:2px solid #a94d61; outline-offset:3px; }
.comparison-details__content { padding-top:18px; }
@media(min-width:768px) {
  .comparison-summary { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
  .care-menu__items { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

/* Large illustrations, short introductions, and optional technical detail. */
.mstep--visual { margin-top:38px; }
.mstep--visual .mstep__heading { font-size:clamp(24px,6.5vw,32px); line-height:1.6; font-weight:500; margin-bottom:18px; }
.mstep--visual .mimg { width:100%; max-width:620px; margin:18px auto; }
.mstep--visual .mimg img { border-radius:4px; }
.mstep--warmth { padding:26px 14px; background:#f6eee5; margin-left:-14px; margin-right:-14px; }
.mstep--warmth .mimg { width:94%; max-width:550px; }
.mstep--dermis .mimg { width:calc(100% + 24px); max-width:660px; margin-left:-12px; }
.mstep__brief { font-size:14px; line-height:1.85; margin:18px 0; }
.mstep__toggle { display:flex; width:100%; align-items:center; justify-content:space-between; gap:12px; padding:14px 0; border:0; border-bottom:1px solid #d8cbb7; background:transparent; color:#806b42; font:inherit; font-size:13px; cursor:pointer; text-align:left; }
.mstep__toggle:focus-visible { outline:2px solid #a94d61; outline-offset:4px; }
.mstep__detail { padding:18px 0 0; }
.mstep__detail h4 { font-size:15px; font-weight:500; margin:12px 0; }
.mstep__detail p { font-size:14px; line-height:1.9; }
.mstep__detail[hidden] { display:none; }
.salon-bridge { max-width:1000px; margin:0 auto; padding:0 20px 38px; text-align:center; }
.salon-bridge img { display:block; width:100%; max-height:460px; object-fit:cover; border-radius:10px; }
.salon-bridge h2 { font-family:var(--font-serif); font-size:clamp(21px,5.5vw,32px); font-weight:500; line-height:1.8; margin:22px 0 0; color:#493337; }
@media(min-width:768px) { .mstep--dermis .mimg { margin-left:auto; } .mstep--visual { margin-top:52px; } }

/* Three familiar salon scenes, with room for the owner's experience. */
.salon-bridge__note { font-size:13px; line-height:1.9; color:#70675d; margin:16px 0 0; }
.integrate2__head { padding:56px 20px 36px; }
.integrate2__assurance { font-family:var(--font-serif); font-size:clamp(38px,10vw,60px); font-weight:500; line-height:1.55; letter-spacing:.04em; color:#493337; margin:0 0 64px; }
#usecases .use__intro { font-size:14px; line-height:1.85; }
#usecases .ublock { padding:36px 20px 40px; }
#usecases .ublock__num { font-size:12px; letter-spacing:.06em; }
#usecases .ublock__hero img { display:block; box-shadow:none; }
#usecases .ublock--scene-1 .ublock__hero { max-width:420px; margin-top:20px; margin-bottom:14px; }
#usecases .ublock--scene-2 .ublock__hero { width:calc(100% + 40px); max-width:none; margin:22px -20px; }
#usecases .ublock--scene-2 .ublock__hero img { border-radius:0; }
#usecases .ublock__invitation { font-size:15px; line-height:1.8; margin-top:12px; }
#usecases .ublock--scene-3 .ublock__hero { max-width:680px; margin-top:20px; margin-bottom:24px; }
#usecases .ublock--scene-3 .ublock__heading { font-size:clamp(27px,7vw,36px); }
#usecases .ublock__body { margin-top:16px; }
.integrate2__closing { margin:0; padding:38px 18px 46px; font-family:var(--font-serif); font-size:clamp(21px,5.5vw,28px); line-height:1.8; text-align:center; color:#493337; }
@media(min-width:768px) {
  #usecases .ublock--scene-2 .ublock__hero { width:100%; max-width:900px; margin:28px auto; }
  .integrate2__head { padding-top:72px; }
}

/* Warm imagery and practical support around the rental plan. */
#usecases .ublock__photo-real { max-width:620px; margin-top:20px; margin-bottom:18px; }
.ublock__photo-real img { display:block; width:100%; height:auto; border-radius:10px; }
#usecases .ublock--scene-1 .ublock__hero { max-width:230px; margin:18px auto 0; }
.device-guide__intro { text-align:center; font-size:13px; line-height:1.9; margin:14px 0 24px; color:#70675d; }
.salon-support { list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 14px; padding:0; margin:26px 0 40px; }
.salon-support li { border-top:1px solid #d8cbb7; padding-top:12px; }
.salon-support span { display:block; color:#967b49; font-size:11px; margin-bottom:8px; }
.salon-support strong { display:block; font-weight:500; font-size:14px; line-height:1.7; }
.salon-support p { font-size:12px; line-height:1.8; color:#70675d; margin:6px 0 0; }
.salon-options h3 { font-family:var(--font-serif); font-size:25px; line-height:1.7; text-align:center; font-weight:500; margin:0 0 22px; }
.salon-options > a { display:block; padding:18px 16px; border:1px solid #ded3c2; border-radius:9px; background:#fffdfb; margin:12px 0; color:#493337; text-decoration:none; }
.salon-options strong { display:block; font-weight:500; font-size:16px; line-height:1.7; }
.salon-options span { display:block; font-size:12px; line-height:1.8; color:#70675d; margin-top:6px; }
.salon-options b { font-weight:400; color:#967b49; }
.salon-options > p { text-align:center; font-size:13px; line-height:1.9; color:#70675d; margin:22px 0 10px; }
.salon-options > .salon-options__consult { width:fit-content; margin:0 auto; padding:8px 0; border:0; border-bottom:1px solid #a94d61; border-radius:0; background:none; font-size:14px; color:#a94d61; }
@media(min-width:768px) { .salon-support { grid-template-columns:repeat(4,minmax(0,1fr)); } }

/* Rental conditions and support, shown as a calm path to consultation. */
.rental-intro { text-align:center; margin:0 0 28px; }
.rental-intro h2,.support-intro h2 { font-family:var(--font-serif); font-size:clamp(26px,7vw,36px); font-weight:500; line-height:1.65; margin:18px 0; }
.rental-intro p { font-size:13px; line-height:1.9; margin:12px 0; color:#70675d; }
#pricing .pricing__capacity { font-size:14px; line-height:1.85; margin:16px 0; }
.pricing__capacity strong { display:inline-block; font-weight:600; color:#806b42; }
.pricing__conditions { text-align:left; border-top:1px solid #ded3c2; padding:14px 0 6px; }
.pricing__conditions p { font-size:14px; line-height:1.8; margin:0 0 12px; }
.pricing__conditions strong { font-weight:500; }
.support-intro { text-align:center; margin-bottom:24px; }
.support-intro h2 span { display:inline-block; margin-top:12px; }
.support-intro p { font-size:14px; line-height:1.9; }
.support-journey { list-style:none; padding:0; margin:28px 0; display:grid; gap:24px; }
.support-journey li { padding-left:18px; border-left:1px solid #d8cbb7; }
.support-journey span { font-size:12px; color:#967b49; }
.support-journey h3 { font-family:var(--font-serif); font-size:22px; line-height:1.6; font-weight:500; margin:8px 0; }
.support-journey p { font-size:13px; line-height:1.85; color:#70675d; margin:0; }
.quick-support { max-width:680px; padding:24px 20px; margin:auto; }
.quick-support dl { margin:0; }
.quick-support dl > div { padding:16px 0; border-bottom:1px solid #ded3c2; }
.quick-support dt { font-size:15px; margin-bottom:6px; }
.quick-support dd { margin:0; font-size:13px; line-height:1.85; color:#70675d; }
#contact .contact__welcome { display:block; text-align:center; }
#contact .contact__welcome .section__title { font-size:clamp(23px,6vw,32px); line-height:1.8; }
#contact .contact__welcome .contact__lead { font-size:14px; line-height:1.9; }
#contact .contact__guide { width:120px; margin:20px auto; }
#contact .contact__ctas > .btn { font-size:16px; }
@media(min-width:768px) { .support-journey { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; } .support-journey h3 { font-size:20px; } }

/* Emphasize the service capacity without promotional styling. */
#pricing .pricing__capacity { padding:16px 10px; background:#f7f3eb; border-top:1px solid #d8cbb7; border-bottom:1px solid #d8cbb7; }
#pricing .pricing__capacity strong { font-size:17px; font-weight:600; }
#contact-form { scroll-margin-top:110px; }

#contact-form-title { scroll-margin-top:90px; }

.support-intro__together { display:inline-block; margin-top:12px; font-weight:600; }

/* Distinguish the one-time setup fee from the monthly rental. */
#pricing .pricing__subsc { font-size:clamp(25px,6.8vw,30px); }
.pricing__once { display:inline-block; font-size:12px; color:#806b42; background:#f7f3eb; padding:2px 8px; margin-bottom:6px; }
#pricing .pricing__initial strong { display:inline-block; font-size:21px; margin:4px 0; }
.pricing__separate { font-size:13px; }

.salon-bridge h2 > span { display:inline-block; }

.faq2__toggle { width:100%; border:0; background:transparent; text-align:left; font:inherit; }
.faq2__toggle:focus-visible { outline:2px solid #B89A5C; outline-offset:-4px; }
.faq2__a[hidden] { display:none; }

/* Keep the prefecture select aligned with the adjacent text fields. */
#contact-form .form-field input[type="text"],
#contact-form .form-field input[type="tel"],
#contact-form .form-field input[type="email"],
#contact-form .form-field select { min-height:50px; line-height:24px; }
#contact-form .form-field select { padding-right:40px; }

/* Pre-publication technical fixes. */
.faq2__q { color:#806735; }
.contact__line #line-link { display:inline-flex; align-items:center; min-height:44px; padding:10px 12px; }
.owner__ba-note { margin:8px 0 0; color:#70675d; font-size:11px; line-height:1.7; text-align:center; white-space:pre-line; }
@media (min-width:768px) and (max-width:899px) {
  .difference-table { min-width:0; width:100%; font-size:13px; }
  .difference-table th,.difference-table td { padding:16px 10px; }
  .difference-table strong { font-size:15px; }
  .difference-table small { font-size:12px; }
  .comparison-summary li > span { flex-shrink:0; white-space:nowrap; }
}


/* Introduction cost and trade-in guidance. */
.introduction-cost { margin:0 auto 64px; padding:32px; max-width:960px; border:1px solid var(--c-gold-soft); border-radius:12px; background:#fffdf9; color:var(--c-ink); }
.introduction-cost__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:32px; align-items:start; }
.introduction-cost__price { text-align:center; padding:16px 0; }
.introduction-cost h2 { margin:0 0 24px; font-family:var(--font-serif); font-size:clamp(21px,2.4vw,28px); font-weight:500; line-height:1.6; }
.introduction-cost__amount { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:center; gap:4px 8px; margin:0; line-height:1.4; }
.introduction-cost__label,.introduction-cost__tax { font-size:15px; white-space:nowrap; }
.introduction-cost__number { font-size:clamp(38px,5vw,48px); font-weight:500; letter-spacing:0; white-space:nowrap; }
.introduction-cost__number > span { font-size:22px; margin-left:3px; }
.introduction-cost__inclusive { margin:10px 0 0; font-size:17px; }
.introduction-cost__trade { border-left:1px solid var(--c-gold-soft); padding-left:32px; }
.introduction-cost h3 { margin:0 0 12px; font-size:18px; font-weight:500; line-height:1.7; }
.introduction-cost__offer { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px; margin:0 0 18px; color:var(--c-gold-text); font-size:20px; line-height:1.5; }
.introduction-cost__maximum { white-space:nowrap; }
.introduction-cost__maximum > .introduction-cost__number { margin-left:6px; }
.introduction-cost__description { margin:0; font-size:15px; line-height:1.9; overflow-wrap:anywhere; }
.introduction-cost__note { margin:14px 0 0; font-size:13px; line-height:1.8; }
.introduction-cost__consult { margin-top:28px; padding-top:24px; border-top:1px solid var(--c-gold-soft); text-align:center; }
.introduction-cost__consult > p { margin:0 auto 20px; max-width:620px; font-size:15px; line-height:1.9; }
.introduction-cost__button { max-width:100%; box-sizing:border-box; min-height:52px; white-space:normal; overflow-wrap:anywhere; line-height:1.7; }
@media (max-width:767px) {
  .introduction-cost { padding:24px 18px; margin-bottom:44px; }
  .introduction-cost__grid { grid-template-columns:minmax(0,1fr); gap:24px; }
  .introduction-cost__price { padding:0; }
  .introduction-cost h2 { margin-bottom:18px; }
  .introduction-cost__trade { padding:24px 0 0; border-left:0; border-top:1px solid var(--c-gold-soft); }
  .introduction-cost h3,.introduction-cost__offer { text-align:center; justify-content:center; }
  .introduction-cost__consult { margin-top:24px; padding-top:20px; }
  .introduction-cost__button { width:100%; padding:14px 12px; font-size:15px; letter-spacing:0; }
}
