.rb-sv .rb-lp-hero{ padding-bottom:40px; }
.rb-sv-draft{ margin:8px 0 16px; padding:12px 16px; border-radius:10px; background:#FFF4DB; border:1px solid #F0D9A0; color:#7A5200; font-size:0.8125rem; font-weight:700; line-height:1.7; }
.rb-sv-hero{ text-align:center; padding:16px 0 24px; }
.rb-sv-hero .rb-lp-hero-h1{ margin:8px 0 16px; }
.rb-sv-hero .rb-lp-hero-text{ max-width:720px; margin:0 auto; }
.rb-sv-overview{ width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--c-border); border-radius:12px; overflow:hidden; font-size:0.9688rem; }
.rb-sv-overview caption{ text-align:left; font-weight:900; font-size:1rem; padding:0 0 8px; }
.rb-sv-overview th, .rb-sv-overview td{ padding:12px 16px; border-bottom:1px solid var(--c-border); text-align:left; vertical-align:top; line-height:1.7; }
.rb-sv-overview tr:last-child th, .rb-sv-overview tr:last-child td{ border-bottom:none; }
.rb-sv-overview th{ width:8.5em; background:var(--c-primary-bg); color:var(--c-primary-dark); font-weight:700; white-space:nowrap; }

.rb-sv-stats{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px; }
.rb-sv-stat{ display:flex; flex-direction:column; gap:10px; padding:28px 26px; border-radius:14px; background:#fff; border:1px solid var(--c-border); }
.rb-sv-stat-num{ font-family:Inter, sans-serif; font-size:3.25rem; font-weight:800; line-height:1; color:var(--c-primary); }
.rb-sv-stat-num small{ font-size:1.375rem; margin-left:2px; }
.rb-sv-stat-label{ font-size:1rem; line-height:1.7; color:var(--c-text); font-weight:700; }
.rb-sv-toc{ margin-top:28px; display:flex; flex-direction:column; border-top:1px solid var(--c-border); }
.rb-sv-toc a{ display:flex; gap:12px; align-items:center; padding:15px 4px; border-bottom:1px solid var(--c-border); color:var(--c-text); font-weight:700; font-size:1.0625rem; text-decoration:none; }
.rb-sv-toc a:hover{ color:var(--c-primary); }
.rb-sv-toc a span{ flex:none; display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%; background:var(--c-primary-bg); color:var(--c-primary); font-size:0.8125rem; }
.rb-sv section[id^="sv-"]{ scroll-margin-top:140px; }

.rb-sv-chart{ margin:0 0 24px; padding:30px 32px; border-radius:14px; background:#fff; border:1px solid var(--c-border); }
.rb-sv-chart-head{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:4px 12px; margin-bottom:22px; }
.rb-sv-chart-q{ font-size:1.1875rem; font-weight:900; line-height:1.6; }
.rb-sv-chart-meta{ font-size:0.8125rem; color:var(--c-text-mute); white-space:nowrap; }
.rb-sv-bars{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; }
.rb-sv-bar{ display:grid; grid-template-columns:minmax(0, 17em) minmax(0,1fr) 3.6em; align-items:center; gap:16px; }
.rb-sv-bar-label{ font-size:0.9375rem; line-height:1.5; color:var(--c-text-sub); }
.rb-sv-bar-track{ position:relative; height:22px; border-radius:4px; background:#EEF3EF; }
.rb-sv-bar-fill{ position:absolute; left:0; top:0; bottom:0; border-radius:0 4px 4px 0; background:#5FA883; }
.rb-sv-bar-val{ text-align:right; font-family:Inter, sans-serif; font-size:1.0625rem; font-weight:700; color:var(--c-text); }
.rb-sv-bar.is-top .rb-sv-bar-fill{ background:var(--c-primary); }
.rb-sv-bar.is-top .rb-sv-bar-label{ color:var(--c-text); font-weight:700; }
.rb-sv-bar:hover .rb-sv-bar-track{ background:#E2ECE5; }
.rb-sv-comment{ margin:8px 0 0; padding:22px 24px; border-left:4px solid var(--c-primary); background:#fff; border-radius:0 10px 10px 0; font-size:1rem; line-height:1.9; }

@media (max-width:760px){
  .rb-sv-stats{ grid-template-columns:minmax(0,1fr); }
  .rb-sv-chart{ padding:22px 18px; }
  .rb-sv-chart-q{ font-size:1.0625rem; }
  .rb-sv-bar-track{ height:18px; }
  .rb-sv-stat-num{ font-size:2.75rem; }
  .rb-sv-bar{ grid-template-columns:minmax(0,1fr) 3em; gap:4px 10px; }
  .rb-sv-bar-label{ grid-column:1 / -1; }
  .rb-sv-overview th{ width:6.5em; }
  .rb-sv section[id^="sv-"]{ scroll-margin-top:80px; }
}
.rb-sv-hero .rb-lp-hero-h1{ font-size:2rem; line-height:1.45; color:var(--c-text); letter-spacing:.02em; }
@media (max-width:760px){ .rb-sv-hero .rb-lp-hero-h1{ font-size:1.5rem; } }
.rb-sv .rb-lp-narrow{ max-width:1040px; }   /* 調査ページは横幅も広めに（2026-11-09 利用者の希望「もう少し大きめに」） */
.rb-sv-sample{ margin:0 0 10px; text-align:right; font-size:0.8125rem; color:var(--c-text-mute); }
.rb-sv-footnote{ padding-top:0; padding-bottom:40px; font-size:0.8125rem; color:var(--c-text-mute); }
.rb-sv-footnote p{ margin:0; }
