/* =================================================================
   REVIEWS — お客様のお声（page-reviews.php 専用）
   2026-05-18 Claude Design ハンドオフ準拠

   - 全セレクタは body.page-reviews でスコープ（他ページに無影響）
   - 元 HTML の :root で --teal を上書きしていた箇所は --rv-teal にリネーム
     → ブランド既存 --teal (#63E1E5) を保護
   - rv- 接頭辞のクラスのみ使用（他テンプレ衝突なし）
================================================================= */
body.page-reviews{
  --rv-teal:       #7DC8C8;
  --rv-teal-deep:  #5BA8A8;
  --rv-teal-soft:  rgba(125,200,200,.14);
  --rv-teal-tint:  rgba(125,200,200,.34);
}

/* ============================================================
   HERO（Editorial / Vol.06 Issue Cover 風）
   2026-05-23 リデザイン：reviews.html .rv-hero* を全面移植
============================================================ */
body.page-reviews .rv-hero{
  position:relative;
  padding: calc(var(--header-h) + 64px) var(--gutter) 88px;
  background:var(--bg-warm);
  border-bottom:1px solid var(--line-soft);
  overflow:hidden;
  isolation:isolate;
}
body.page-reviews .rv-hero::before{
  content:""; position:absolute; inset:0; z-index:-2;
  background:
    radial-gradient(ellipse 60% 50% at 12% 8%, rgba(125,200,200,.12), transparent 65%),
    radial-gradient(ellipse 55% 45% at 92% 92%, rgba(0,0,0,.028), transparent 70%);
  pointer-events:none;
}
/* faint Cormorant ウォーターマーク */
body.page-reviews .rv-hero-mark{
  position:absolute; z-index:-1;
  right:-.04em; top: calc(var(--header-h) + 28px);
  font-family:var(--serif-en); font-style:italic; font-weight:300;
  font-size:clamp(160px, 24vw, 360px);
  line-height:.9;
  letter-spacing:-.02em;
  color:var(--ink);
  opacity:.05;
  pointer-events:none; user-select:none;
  white-space:nowrap;
}

/* 上部メタストリップ */
body.page-reviews .rv-hero-top{
  position:relative;
  max-width:var(--max); margin:0 auto;
  display:flex; justify-content:space-between; align-items:center;
  padding-bottom:24px; border-bottom:1px solid var(--line-soft);
  font-family:var(--serif-en); font-size:11px; letter-spacing:.3em;
  color:var(--mute); text-transform:uppercase;
  gap:24px; flex-wrap:wrap;
}
body.page-reviews .rv-hero-top .crumbs{display:flex;gap:14px;align-items:center}
body.page-reviews .rv-hero-top .crumbs .sep{opacity:.4}
body.page-reviews .rv-hero-top .crumbs a{color:inherit;text-decoration:none;transition:color .25s}
body.page-reviews .rv-hero-top .crumbs a:hover{color:var(--ink)}
body.page-reviews .rv-hero-top .vol{
  display:flex; gap:18px; align-items:center;
  font-style:italic; letter-spacing:.26em;
}
body.page-reviews .rv-hero-top .vol .sep{display:inline-block;width:22px;height:1px;background:var(--line)}
body.page-reviews .rv-hero-top .vol .live{
  display:inline-flex;align-items:center;gap:10px;
  color:var(--rv-teal-deep);font-style:italic;
}
body.page-reviews .rv-hero-top .vol .live::before{
  content:""; width:6px;height:6px;border-radius:50%;background:var(--rv-teal);
  animation: rv-breath 4s ease-in-out infinite;
}
@keyframes rv-breath{0%,100%{opacity:.4;transform:scale(.78)}50%{opacity:.95;transform:scale(1)}}

/* body 行: badge + headline */
body.page-reviews .rv-hero-body{
  position:relative;
  max-width:var(--max); margin:64px auto 0;
  display:grid; grid-template-columns:auto 1fr; gap:64px; align-items:start;
}

/* issue badge */
body.page-reviews .rv-hero-badge{
  display:flex; flex-direction:column; align-items:flex-start; gap:14px;
  padding:22px 24px 22px;
  background:#fff; border:1px solid var(--line);
  min-width:148px;
  position:relative;
}
body.page-reviews .rv-hero-badge::after{
  content:""; position:absolute; inset:5px;
  border:0.5px solid var(--line-soft); pointer-events:none;
}
body.page-reviews .rv-hero-badge .lab{
  font-family:var(--serif-en); font-style:italic;
  font-size:10.5px; letter-spacing:.3em;
  color:var(--mute); text-transform:uppercase;
}
body.page-reviews .rv-hero-badge .no{
  font-family:var(--serif-en); font-weight:300;
  font-size:56px; line-height:1; letter-spacing:-.01em;
  color:var(--ink);
  font-feature-settings:"tnum";
}
body.page-reviews .rv-hero-badge .seal{
  display:flex; gap:10px; align-items:center; width:100%;
  padding-top:12px; border-top:1px solid var(--line-soft);
  font-family:var(--serif-jp); font-size:10.5px; letter-spacing:.18em;
  color:var(--ink-2);
}
body.page-reviews .rv-hero-badge .seal::before{
  content:""; width:5px;height:5px;border-radius:50%;background:var(--rv-teal-deep);
}

/* headline 列 */
body.page-reviews .rv-hero-text{
  display:flex; flex-direction:column; gap:32px;
  padding-top:6px;
}
body.page-reviews .rv-hero-text .eyebrow{margin:0}
body.page-reviews .rv-hero h1{
  font-family:var(--serif-jp); font-weight:300;
  font-size:clamp(38px,5.4vw,68px);
  letter-spacing:.06em; line-height:1.45;
  color:var(--ink); text-wrap:balance;
  margin:0;
}
body.page-reviews .rv-hero h1 .line{display:block}
body.page-reviews .rv-hero h1 .line.indent{padding-left:2.2em}
body.page-reviews .rv-hero h1 .accent{
  position:relative;
  background:linear-gradient(transparent 66%, rgba(125,200,200,.42) 66%);
  padding:0 .06em;
}
body.page-reviews .rv-hero .en-caption{
  font-family:var(--serif-en); font-style:italic; font-weight:300;
  font-size:clamp(17px,1.85vw,22px);
  letter-spacing:.04em; line-height:1.55;
  color:var(--ink-3);
  display:flex; align-items:center; gap:18px;
  margin:0;
}
body.page-reviews .rv-hero .en-caption::before{
  content:""; display:inline-block; flex:0 0 auto;
  width:56px; height:1px; background:var(--rv-teal-deep);
}

/* 縦書き右レール */
body.page-reviews .rv-hero-rail{
  position:absolute; right: 26px;
  top: calc(var(--header-h) + 110px);
  writing-mode:vertical-rl;
  font-family:var(--serif-en); font-style:italic;
  font-size:11px; letter-spacing:.46em;
  color:var(--mute); text-transform:uppercase;
  display:flex; align-items:center; gap:18px;
  pointer-events:none;
}
body.page-reviews .rv-hero-rail .sep{
  display:inline-block; writing-mode:horizontal-tb;
  width:1px; height:32px; background:var(--line);
}

/* foot 行: lede + contents */
body.page-reviews .rv-hero-foot{
  position:relative;
  max-width:var(--max); margin:80px auto 0;
  padding-top:36px; border-top:1px solid var(--line-soft);
  display:grid; grid-template-columns:1.25fr 1fr; gap:72px; align-items:start;
}
body.page-reviews .rv-hero-foot .lede{
  font-family:var(--serif-jp); font-size:14.5px; line-height:2.35;
  color:var(--ink-2); letter-spacing:.06em; text-wrap:pretty;
  max-width:42em; margin:0;
}
body.page-reviews .rv-hero-foot .lede::first-letter{
  font-family:var(--serif-jp); font-weight:400;
  font-size:1.5em; line-height:1; padding-right:.06em;
  color:var(--ink);
}
body.page-reviews .rv-hero-index{display:flex; flex-direction:column; gap:14px}
body.page-reviews .rv-hero-index .ix-lab{
  font-family:var(--serif-en); font-style:italic;
  font-size:11px; letter-spacing:.3em; color:var(--mute);
  text-transform:uppercase;
  display:flex; align-items:center; gap:14px;
}
body.page-reviews .rv-hero-index .ix-lab::after{
  content:""; flex:1; height:1px; background:var(--line-soft);
}
body.page-reviews .rv-hero-index .ix-list{
  list-style:none; padding:0; margin:0;
  display:grid; grid-template-columns:repeat(2,1fr); gap:10px 28px;
}
body.page-reviews .rv-hero-index .ix-list li{
  display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:baseline;
  font-family:var(--serif-jp); font-size:12.5px;
  letter-spacing:.06em; color:var(--ink-2); line-height:1.55;
  padding-bottom:8px; border-bottom:1px solid var(--line-soft);
}
body.page-reviews .rv-hero-index .ix-list li .n{
  font-family:var(--serif-en); font-style:italic; font-weight:300;
  font-size:13px; letter-spacing:.1em; color:var(--mute);
  font-feature-settings:"tnum";
  white-space:nowrap;
}
body.page-reviews .rv-hero-index .ix-list li .lbl{text-wrap:balance}

/* HERO レスポンシブ */
@media (max-width:1100px){
  body.page-reviews .rv-hero-body{grid-template-columns:1fr;gap:36px}
  body.page-reviews .rv-hero-foot{grid-template-columns:1fr;gap:40px;margin-top:64px}
  body.page-reviews .rv-hero-rail{display:none}
}
@media (max-width:880px){
  body.page-reviews .rv-hero{padding: calc(var(--header-h) + 40px) 22px 64px}
  body.page-reviews .rv-hero-top{flex-direction:column;align-items:flex-start;gap:14px;padding-bottom:18px}
  body.page-reviews .rv-hero-top .vol{gap:14px;flex-wrap:wrap}
  body.page-reviews .rv-hero-mark{font-size:clamp(100px,38vw,200px);top:calc(var(--header-h) + 20px);right:-.04em;opacity:.06}
  body.page-reviews .rv-hero-body{margin-top:36px}
  body.page-reviews .rv-hero-badge{padding:16px 20px;min-width:0}
  body.page-reviews .rv-hero-badge .no{font-size:42px}
  body.page-reviews .rv-hero h1 .line.indent{padding-left:0}
  body.page-reviews .rv-hero .en-caption{font-size:15px;gap:12px}
  body.page-reviews .rv-hero .en-caption::before{width:36px}
  body.page-reviews .rv-hero-foot{margin-top:48px;padding-top:28px}
  body.page-reviews .rv-hero-index .ix-list{grid-template-columns:1fr;gap:0}
}

/* ----- METRIC BAR ----- */
body.page-reviews .rv-metric{
  max-width:var(--max);margin:0 auto;
  padding:48px var(--gutter) 28px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  border-bottom:1px solid var(--line-soft);
}
body.page-reviews .rv-metric .m{
  padding:14px 28px;border-left:1px solid var(--line-soft);
  display:flex;flex-direction:column;gap:8px;
}
body.page-reviews .rv-metric .m:first-child{border-left:0;padding-left:0}
body.page-reviews .rv-metric .m .k{
  font-family:var(--serif-en);font-style:italic;font-size:11px;
  letter-spacing:.32em;color:var(--mute);text-transform:uppercase;
  display:flex;align-items:baseline;gap:10px;
}
body.page-reviews .rv-metric .m .k .ja{
  font-family:var(--serif-jp);font-style:normal;font-size:10.5px;
  letter-spacing:.2em;color:var(--ink-3);text-transform:none;
}
body.page-reviews .rv-metric .m .v{
  font-family:var(--serif-en);font-weight:300;font-size:42px;
  letter-spacing:-.005em;color:var(--ink);line-height:1;
  font-feature-settings:"tnum";
}
body.page-reviews .rv-metric .m .v .unit{
  font-family:var(--serif-jp);font-size:13px;color:var(--ink-3);
  letter-spacing:.12em;margin-left:6px;font-weight:400;
}
body.page-reviews .rv-metric .m .v .stars{font-family:var(--sans-jp);font-size:34px;color:var(--ink);letter-spacing:.04em}
body.page-reviews .rv-metric .m .note{
  font-family:var(--serif-en);font-style:italic;font-size:11px;
  letter-spacing:.12em;color:var(--mute);
}
body.page-reviews .rv-metric .m .note.teal{color:var(--rv-teal-deep)}

/* ----- FEATURED STORY (M様邸) -----
   2026-05-18 ヘッダーから飛んだ最初に見せる、M様邸の詳しい情報一式。 */
body.page-reviews .rv-case{
  padding:120px var(--gutter) 100px;
  background:#fff;
  border-bottom:1px solid var(--line-soft);
}
body.page-reviews .rv-case-inner{
  max-width:var(--max);margin:0 auto;
}
body.page-reviews .rv-case-head{
  margin-bottom:64px;
}
body.page-reviews .rv-case-head .eyebrow{
  display:inline-block;
  font-family:var(--serif-en);font-style:italic;
  font-size:12px;letter-spacing:.32em;color:var(--rv-teal-deep);
  text-transform:uppercase;margin-bottom:24px;
}
body.page-reviews .rv-case-head h2{
  font-family:var(--serif-jp);font-weight:300;
  font-size:clamp(28px,3.6vw,42px);
  letter-spacing:.08em;line-height:1.6;color:var(--ink);
  text-wrap:balance;margin:0 0 28px;
}
body.page-reviews .rv-case-meta{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  font-family:var(--serif-jp);font-size:13.5px;letter-spacing:.12em;
  color:var(--ink-3);
}
body.page-reviews .rv-case-label{
  font-weight:500;color:var(--ink);
  padding:6px 16px;background:var(--rv-teal-soft);border-radius:999px;
  font-size:12.5px;letter-spacing:.18em;
}
body.page-reviews .rv-case-sep{color:var(--mute);opacity:.6}
body.page-reviews .rv-case-work{font-size:13.5px}

body.page-reviews .rv-case-body{
  display:grid;grid-template-columns:1.15fr 1fr;gap:72px;
  align-items:start;
}
/* 写真なし版：コメントを1カラムで中央寄せ（左右の余白を均等に） */
body.page-reviews .rv-case-body--no-photos{
  display:block;
}
body.page-reviews .rv-case-body--no-photos .rv-case-text{
  max-width:640px;margin:0 auto;
}
body.page-reviews .rv-case-photos{
  display:grid;grid-template-columns:1fr 1fr;gap:18px;
}
body.page-reviews .rv-case-photo{
  margin:0;position:relative;overflow:hidden;
  background:var(--bg-warm);aspect-ratio:4/5;
}
body.page-reviews .rv-case-photo img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform 8s ease;
}
body.page-reviews .rv-case-photo:hover img{transform:scale(1.04)}
body.page-reviews .rv-case-photo figcaption{
  position:absolute;top:14px;left:14px;
  background:rgba(255,255,255,.92);
  padding:6px 14px;
  font-family:var(--serif-en);font-style:italic;
  font-size:10.5px;letter-spacing:.28em;color:var(--ink);
  text-transform:uppercase;
}

body.page-reviews .rv-case-text{
  position:relative;padding-left:24px;
}
body.page-reviews .rv-case-text::before{
  content:"";position:absolute;left:0;top:8px;bottom:8px;
  width:2px;background:var(--rv-teal);
}
body.page-reviews .rv-case-mark{
  display:block;
  font-family:var(--serif-en);font-style:italic;
  font-size:64px;line-height:.6;color:var(--rv-teal);opacity:.5;
  margin-bottom:14px;
}
body.page-reviews .rv-case-paragraphs p{
  font-family:var(--serif-jp);font-size:14.5px;line-height:2.3;
  color:var(--ink-2);letter-spacing:.06em;text-wrap:pretty;
  margin:0 0 1.4em;
}
body.page-reviews .rv-case-paragraphs p:last-child{margin-bottom:0;font-weight:500;color:var(--ink)}

/* ----- Project Data ブロック ----- */
body.page-reviews .rv-case-pd{
  margin-top:72px;
  padding:48px 56px 44px;
  background:var(--bg-warm);
  border:1px solid var(--line-soft);
}
body.page-reviews .rv-case-pd-head{
  display:flex;align-items:baseline;gap:18px;
  margin-bottom:32px;
  padding-bottom:18px;
  border-bottom:1px solid var(--line-soft);
}
body.page-reviews .rv-case-pd-head .eyebrow{
  font-family:var(--serif-en);font-style:italic;
  font-size:11px;letter-spacing:.32em;color:var(--rv-teal-deep);
  text-transform:uppercase;
}
body.page-reviews .rv-case-pd-head h3{
  font-family:var(--serif-jp);font-weight:400;
  font-size:18px;letter-spacing:.14em;color:var(--ink);margin:0;
}
body.page-reviews .rv-case-pd-list{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  margin:0 0 36px;
}
body.page-reviews .rv-case-pd-row{
  padding:0 24px;border-left:1px solid var(--line-soft);
  display:flex;flex-direction:column;gap:8px;
}
body.page-reviews .rv-case-pd-row:first-child{border-left:0;padding-left:0}
body.page-reviews .rv-case-pd-row dt{
  font-family:var(--serif-en);font-style:italic;
  font-size:10.5px;letter-spacing:.28em;color:var(--mute);
  text-transform:uppercase;
}
body.page-reviews .rv-case-pd-row dd{
  font-family:var(--serif-jp);font-size:14px;letter-spacing:.06em;
  color:var(--ink);margin:0;line-height:1.5;
}
body.page-reviews .rv-case-pd-blocks{
  display:grid;grid-template-columns:1fr 1fr;gap:32px;
  margin-bottom:28px;
}
body.page-reviews .rv-case-pd-block h4{
  font-family:var(--serif-jp);font-weight:500;
  font-size:13px;letter-spacing:.14em;color:var(--rv-teal-deep);
  margin:0 0 12px;
}
body.page-reviews .rv-case-pd-block p{
  font-family:var(--serif-jp);font-size:13px;line-height:2.05;
  color:var(--ink-2);letter-spacing:.05em;text-wrap:pretty;margin:0;
}
body.page-reviews .rv-case-pd-concept{
  padding:24px 28px;background:#fff;
  border-left:3px solid var(--rv-teal);
}
body.page-reviews .rv-case-pd-concept-label{
  display:block;
  font-family:var(--serif-en);font-style:italic;
  font-size:10.5px;letter-spacing:.32em;color:var(--rv-teal-deep);
  text-transform:uppercase;margin-bottom:8px;
}
body.page-reviews .rv-case-pd-concept p{
  font-family:var(--serif-jp);font-weight:500;font-size:15px;
  letter-spacing:.08em;line-height:1.8;color:var(--ink);
  margin:0;text-wrap:balance;
}
@media (max-width:1100px){
  body.page-reviews .rv-case-pd{padding:36px 28px 32px}
  body.page-reviews .rv-case-pd-list{grid-template-columns:repeat(2,1fr);gap:20px 0}
  body.page-reviews .rv-case-pd-row{padding:0 18px}
  body.page-reviews .rv-case-pd-row:nth-child(2n+1){border-left:0;padding-left:0}
  body.page-reviews .rv-case-pd-row:nth-child(odd){border-left:0;padding-left:0}
  body.page-reviews .rv-case-pd-blocks{grid-template-columns:1fr;gap:24px}
}
@media (max-width:640px){
  body.page-reviews .rv-case-pd{margin-top:48px;padding:28px 22px 26px}
  body.page-reviews .rv-case-pd-head{flex-direction:column;align-items:flex-start;gap:8px}
  body.page-reviews .rv-case-pd-list{grid-template-columns:1fr;gap:16px}
  body.page-reviews .rv-case-pd-row{padding:0;border-left:0}
}

body.page-reviews .rv-case-divider{
  margin-top:96px;padding-top:32px;
  border-top:1px solid var(--line-soft);
  text-align:center;
}
body.page-reviews .rv-case-divider-text{
  display:inline-block;
  font-family:var(--serif-en);font-style:italic;
  font-size:12px;letter-spacing:.32em;
  color:var(--mute);text-transform:uppercase;
  background:#fff;padding:0 24px;
  transform:translateY(-44px);
}

@media (max-width:1100px){
  body.page-reviews .rv-case{padding:88px var(--gutter) 72px}
  body.page-reviews .rv-case-body{grid-template-columns:1fr;gap:48px}
}
@media (max-width:640px){
  body.page-reviews .rv-case{padding:64px 22px 48px}
  body.page-reviews .rv-case-head{margin-bottom:40px}
  body.page-reviews .rv-case-photos{grid-template-columns:1fr 1fr;gap:12px}
  body.page-reviews .rv-case-text{padding-left:18px}
  body.page-reviews .rv-case-divider{margin-top:56px;padding-top:24px}
  body.page-reviews .rv-case-paragraphs p{font-size:13.5px;line-height:2.15}
}

/* ----- GRID ----- */
body.page-reviews .rv-list{
  padding:120px var(--gutter) 80px;
}
body.page-reviews .rv-grid{
  max-width:var(--max);margin:0 auto;
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:48px 32px;
}

/* base card（全件等幅）*/
body.page-reviews .rv-card{
  display:flex;flex-direction:column;
  background:#fff;border:1px solid var(--line-soft);
  padding:40px 36px 36px;
  position:relative;transition:border-color .35s, transform .35s, box-shadow .35s;
}
body.page-reviews .rv-card:hover{border-color:var(--line);transform:translateY(-2px);box-shadow:0 24px 50px -36px rgba(0,0,0,.18)}

/* feature card: 幅は他と同一、視覚的に強調（背景・パディング・大クオートマーク）のみ */
body.page-reviews .rv-card.feature{background:var(--bg-warm);padding:48px 44px 44px}
body.page-reviews .rv-card.wide{/* 旧 wide: 等幅化により撤去（クラスは互換で残置） */}

/* ---- 雑誌風リズム（2026-05-23 更新）：個別指定でグルーピング
   No.01 / No.04 / No.05 → 暖色背景
   No.02 / No.03 / No.06 → 白背景
   PC 3列レイアウト時：1行目 [暖, 白, 白] / 2行目 [暖, 暖, 白] のニュアンスバランス */
body.page-reviews .rv-grid > .rv-card:nth-child(1),
body.page-reviews .rv-grid > .rv-card:nth-child(4),
body.page-reviews .rv-grid > .rv-card:nth-child(5){
  background:var(--bg-warm);
}
body.page-reviews .rv-grid > .rv-card:nth-child(2),
body.page-reviews .rv-grid > .rv-card:nth-child(3),
body.page-reviews .rv-grid > .rv-card:nth-child(6){
  background:#fff;
}

body.page-reviews .rv-card .head{
  display:grid;grid-template-columns:auto 1fr auto;
  gap:14px;align-items:baseline;
  padding-bottom:18px;border-bottom:1px solid var(--line-soft);
  margin-bottom:24px;
}
body.page-reviews .rv-card .head .no{
  font-family:var(--serif-en);font-style:italic;font-weight:300;
  font-size:22px;color:var(--mute);letter-spacing:.04em;line-height:1;
}
body.page-reviews .rv-card .head .src{
  font-family:var(--serif-en);font-style:italic;font-size:10.5px;
  letter-spacing:.28em;color:var(--mute);text-transform:uppercase;
}
body.page-reviews .rv-card .head .stars,
body.page-reviews .rv-card .head .head-stars{
  font-family:var(--sans-jp);font-size:14px;letter-spacing:.12em;
  color:var(--ink);line-height:1;
}
body.page-reviews .rv-card .head .stars .empty,
body.page-reviews .rv-card .head .head-stars .empty{color:var(--line)}

body.page-reviews .rv-card .work{
  font-family:var(--serif-jp);font-weight:400;font-size:13.5px;
  letter-spacing:.16em;color:var(--ink-2);line-height:1.7;
  margin-bottom:8px;
}
body.page-reviews .rv-card .cust{
  display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin-bottom:24px;
}
body.page-reviews .rv-card .cust .pill{
  font-family:var(--sans-jp);font-size:11px;letter-spacing:.14em;
  color:var(--ink-3);
  display:inline-flex;align-items:center;gap:8px;
  padding:4px 12px;
  background:var(--bg-warm);border:1px solid var(--line-soft);border-radius:999px;
}
body.page-reviews .rv-card .cust .pill::before{
  content:"";display:inline-block;width:5px;height:5px;border-radius:50%;
  background:var(--rv-teal-deep);
}
body.page-reviews .rv-card.feature .cust .pill{background:#fff}
/* 暖色背景カード（No.01・04・05）内のピルを白に反転：pill 背景が暖色のままだと消えるため */
body.page-reviews .rv-grid > .rv-card:nth-child(1) .cust .pill,
body.page-reviews .rv-grid > .rv-card:nth-child(4) .cust .pill,
body.page-reviews .rv-grid > .rv-card:nth-child(5) .cust .pill{background:#fff}

body.page-reviews .rv-card .pull{
  font-family:var(--serif-jp);font-weight:500;
  font-size:clamp(17px,1.8vw,21px);letter-spacing:.08em;line-height:1.85;
  color:var(--ink);text-wrap:balance;
  margin-bottom:24px;position:relative;padding-left:14px;
}
body.page-reviews .rv-card .pull::before{
  content:""; position:absolute; left:0; top:.4em; bottom:.4em;
  width:2px; background:var(--rv-teal);
}
body.page-reviews .rv-card.feature .pull{
  font-size:clamp(22px,2.4vw,30px);letter-spacing:.1em;line-height:1.8;
  padding-left:0;margin-top:8px;margin-bottom:32px;
}
body.page-reviews .rv-card.feature .pull::before{display:none}
body.page-reviews .rv-card.feature .quote-mark{
  font-family:var(--serif-en);font-style:italic;font-size:80px;line-height:.7;
  color:var(--rv-teal);opacity:.55;display:block;margin-bottom:14px;
}

body.page-reviews .rv-card .body{
  font-family:var(--serif-jp);font-size:13.5px;line-height:2.15;
  color:var(--ink-3);letter-spacing:.05em;text-wrap:pretty;
  flex:1;
}
body.page-reviews .rv-card.feature .body{font-size:14.5px;line-height:2.3;color:var(--ink-2)}

body.page-reviews .rv-card .foot{
  margin-top:28px;padding-top:18px;border-top:1px solid var(--line-soft);
  display:flex;justify-content:space-between;align-items:center;
  font-family:var(--serif-en);font-style:italic;font-size:11px;
  letter-spacing:.22em;color:var(--mute);
}
body.page-reviews .rv-card .foot .date strong{
  font-family:var(--serif-en);font-style:normal;font-weight:400;
  color:var(--ink-2);letter-spacing:.14em;margin-left:8px;
}
body.page-reviews .rv-card .foot .tag{
  font-family:var(--sans-jp);font-style:normal;font-size:10.5px;
  letter-spacing:.18em;color:var(--rv-teal-deep);
  display:inline-flex;align-items:center;gap:6px;
}
body.page-reviews .rv-card .foot .tag::before{
  content:"";display:inline-block;width:5px;height:5px;border-radius:50%;
  background:var(--rv-teal);
}

/* concern badge — small top-right tag */
body.page-reviews .rv-card .concern{
  position:absolute;top:32px;right:32px;
  font-family:var(--serif-en);font-style:italic;font-size:10px;
  letter-spacing:.22em;color:var(--mute);
}
body.page-reviews .rv-card.feature .concern{top:48px;right:48px}

/* ---- Project Overview：お客様の声の下にプロジェクト概要を控えめに ----
   2026-05-18 6 件の Google レビューにそれぞれ追加。
   Owner's Reply（ターコイズ）より静かなトーンで、雑誌のキャプション風に。 */
body.page-reviews .rv-pd{
  margin-top:24px;
  padding-top:24px;
  border-top:1px dashed var(--line-soft);
}
body.page-reviews .rv-card.feature .rv-pd{
  margin-top:32px;padding-top:28px;
}
body.page-reviews .rv-pd-head{
  display:inline-block;
  font-family:var(--serif-en);font-style:italic;
  font-size:10.5px;letter-spacing:.32em;
  text-transform:uppercase;color:var(--mute);
  margin-bottom:14px;
}
body.page-reviews .rv-pd p{
  font-family:var(--serif-jp);font-size:12.5px;line-height:2.1;
  color:var(--ink-3);letter-spacing:.05em;text-wrap:pretty;
  margin:0 0 1em;
}
body.page-reviews .rv-pd p:last-child{
  /* 最終段落（タグライン）は伊体英字風アクセント */
  margin-bottom:0;
  padding-top:8px;
  border-top:1px solid var(--line-soft);
  margin-top:14px;
  font-family:var(--serif-jp);
  font-weight:500;
  color:var(--ink-2);
  font-size:12.5px;
  letter-spacing:.06em;
}
body.page-reviews .rv-card.feature .rv-pd p{font-size:13px;line-height:2.15}
body.page-reviews .rv-card.feature .rv-pd p:last-child{font-size:13px}
@media (max-width:640px){
  body.page-reviews .rv-pd p{font-size:12px;line-height:2}
}

/* ---- Owner's reply（弊社返信）：Google Reviews 風のオーナー返信 ---- */
body.page-reviews .rv-reply{
  margin-top:28px;
  padding:24px 26px 22px;
  background:var(--rv-teal-soft);
  border-left:2px solid var(--rv-teal);
  border-radius:0 2px 2px 0;
}
body.page-reviews .rv-card.feature .rv-reply{
  padding:32px 36px 28px;
}
body.page-reviews .rv-reply-head{
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;margin-bottom:14px;
  font-family:var(--serif-en);font-style:italic;font-size:10.5px;
  letter-spacing:.28em;text-transform:uppercase;color:var(--rv-teal-deep);
}
body.page-reviews .rv-reply-head .from{
  display:inline-flex;align-items:center;gap:10px;
}
body.page-reviews .rv-reply-head .from::before{
  content:"";display:inline-block;width:18px;height:1px;background:var(--rv-teal-deep);opacity:.6;
}
body.page-reviews .rv-reply-head .who{
  font-family:var(--serif-jp);font-style:normal;font-size:11px;
  letter-spacing:.18em;color:var(--ink-2);
  text-transform:none;
}
body.page-reviews .rv-reply-body{
  font-family:var(--serif-jp);font-size:12.5px;line-height:2.05;
  color:var(--ink-2);letter-spacing:.05em;text-wrap:pretty;
  margin:0;
}
body.page-reviews .rv-card.feature .rv-reply-body{font-size:13.5px;line-height:2.15}
/* 返信本文が複数段落のときの段落間アキ（単一段落の記事には影響しない） */
body.page-reviews .rv-reply-body + .rv-reply-body{margin-top:1.2em}
@media (max-width:880px){
  body.page-reviews .rv-reply{padding:20px 22px 18px}
  body.page-reviews .rv-reply-body{font-size:12px;line-height:2}
}

/* ----- divider / closing ----- */
body.page-reviews .rv-closing{
  padding:140px var(--gutter) 120px;background:var(--bg-warm);
  text-align:center;border-top:1px solid var(--line-soft);
  position:relative;overflow:hidden;
}
body.page-reviews .rv-closing::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(ellipse 60% 50% at 50% 0%, rgba(125,200,200,.1), transparent 70%);
  pointer-events:none;
}
/* .inner は他セクション（hero / list）と同じ var(--max) で枠幅を揃える。
   テキスト本体（h2 / lede）は別途内部で max-width を持たせて読みやすさを保つ。 */
body.page-reviews .rv-closing .inner{position:relative;max-width:var(--max);margin:0 auto}
body.page-reviews .rv-closing h2{max-width:780px;margin-left:auto;margin-right:auto}
body.page-reviews .rv-closing .lede{max-width:38em;margin-left:auto;margin-right:auto}
body.page-reviews .rv-closing .eyebrow{margin-bottom:32px}
body.page-reviews .rv-closing h2{
  font-family:var(--serif-jp);font-weight:300;
  font-size:clamp(24px,3.2vw,36px);letter-spacing:.1em;line-height:1.8;
  color:var(--ink);text-wrap:balance;margin-bottom:32px;
}
body.page-reviews .rv-closing .lede{
  font-family:var(--serif-jp);font-size:14.5px;line-height:2.4;
  color:var(--ink-3);letter-spacing:.06em;text-wrap:pretty;max-width:38em;margin:0 auto;
}
body.page-reviews .rv-closing .actions{margin-top:56px;display:flex;gap:18px;justify-content:center;flex-wrap:wrap}

/* ----- MOBILE ----- */
@media (max-width:1100px){
  body.page-reviews .rv-grid{grid-template-columns:repeat(2,1fr)}
  body.page-reviews .rv-card,
  body.page-reviews .rv-card.feature,
  body.page-reviews .rv-card.wide{grid-column:span 2}
  body.page-reviews .rv-card.feature{padding:48px 40px 44px}
}
@media (max-width:880px){
  body.page-reviews .rv-hero{padding: calc(var(--header-h) + 48px) 22px 64px}
  body.page-reviews .rv-hero-inner{grid-template-columns:1fr;gap:32px}
  body.page-reviews .rv-metric{padding:32px 22px 20px;grid-template-columns:1fr 1fr;gap:0}
  body.page-reviews .rv-metric .m{border-left:1px solid var(--line-soft)}
  body.page-reviews .rv-metric .m:nth-child(2n+1){border-left:0;padding-left:0}
  body.page-reviews .rv-metric .m:nth-child(3),
  body.page-reviews .rv-metric .m:nth-child(4){border-top:1px solid var(--line-soft);padding-top:18px;margin-top:12px}
  body.page-reviews .rv-list{padding:72px 22px 56px}
  body.page-reviews .rv-grid{grid-template-columns:1fr;gap:18px}
  body.page-reviews .rv-card,
  body.page-reviews .rv-card.feature,
  body.page-reviews .rv-card.wide{grid-column:span 1;padding:32px 26px 30px}
  body.page-reviews .rv-card .concern{position:static;margin-bottom:8px}
  body.page-reviews .rv-closing{padding:80px 22px}
}
