/* ============================================================
   SMALL BUSINESS LP（仕様 v1.2 F 章）— 検証用
   🔴 全サイトの tokens.css は 1 行も変えない。LP だけの値は .sb の中で --sb-* として持つ。
   🔴 影なし・角丸は画像 0〜4／入力 6／ボタン 4・pill なし・カードを浮かせない。
   🔴 動き：hover 120〜180ms だけ。出現の動き・数の数え上げは使わない。reduce で止める。
   ============================================================ */
.sb{
  --sb-paper:#FAF9F5; --sb-white:#FFFFFF; --sb-portal:#EDF3F4; --sb-deep:#173846;
  --sb-ink:#202A29; --sb-muted:#52625F; --sb-line:#D6DCD9; --sb-input:#788783;
  --sb-cta:#285A73; --sb-cta-ink:#FFFFFF; --sb-cta-hover:#1F4A5F;
  --sb-w:1160px; --sb-w-wide:1280px; --sb-w-read:720px;
  --sb-gut:20px;
  color:var(--sb-ink); font-size:17px; line-height:1.85;
  font-feature-settings:"palt" 0;
}
@media (max-width:360px){ .sb{ --sb-gut:16px } }
.sb *,.sb *::before,.sb *::after{ box-sizing:border-box }
.sb p{ margin:0 }
.sb a{ color:inherit }
.sb .nb{ white-space:nowrap }
.sb-anchor{ position:absolute; width:0; height:0 }
.sb-plan{ position:relative }
.sb [id]{ scroll-margin-top:80px }

/* 帯（背景のリズム：紙→白→紙→白→紙→白→紙→青灰→白→深青→紙→白→紙） */
.sb-sec{ padding:112px 0 }
.sb-bg-paper{ background:var(--sb-paper) }
.sb-bg-white{ background:var(--sb-white) }
.sb-bg-portal{ background:var(--sb-portal) }
.sb-bg-deep{ background:var(--sb-deep); color:#F2F5F4 }
.sb-wrap{ max-width:calc(var(--sb-w) + var(--sb-gut)*2); margin:0 auto; padding:0 var(--sb-gut) }
.sb-wrap--wide{ max-width:calc(var(--sb-w-wide) + var(--sb-gut)*2) }
.sb-wrap--read{ max-width:calc(var(--sb-w-read) + var(--sb-gut)*2) }
.sb-wrap--faq{ max-width:calc(880px + var(--sb-gut)*2) }
.sb-wrap--form{ max-width:calc(720px + var(--sb-gut)*2) }

/* 文字 */
.sb-label{ font-size:12px; letter-spacing:.10em; color:var(--sb-muted); font-weight:500; margin-bottom:24px!important }
.sb-label-sep{ margin:0 .5em; color:var(--sb-line) }
.sb-k{ font-size:12px; letter-spacing:.10em; color:var(--sb-muted); font-weight:500; margin-bottom:16px!important }
.sb-h1{ font-family:var(--font-head); font-weight:600; font-size:clamp(40px,4vw,60px); line-height:1.3; letter-spacing:.01em; margin:0 0 24px }
.sb-h2{ font-family:var(--font-head); font-weight:600; font-size:clamp(28px,2.6vw,40px); line-height:1.4; margin:0 0 24px; letter-spacing:.01em }
.sb-h3{ font-family:var(--font-head); font-weight:600; font-size:clamp(20px,1.8vw,24px); line-height:1.5; margin:0 0 16px }
.sb-lead{ font-size:clamp(16px,1.2vw,18px); line-height:1.85; max-width:var(--sb-w-read); color:var(--sb-ink); margin-bottom:48px!important }
.sb-read{ max-width:var(--sb-w-read) }
.sb-read p{ font-size:clamp(16px,1.2vw,18px); line-height:1.85; margin-bottom:1em }
.sb-small{ font-size:14px; line-height:1.7; color:var(--sb-muted); margin:16px 0!important }
.sb-quiet-line{ font-family:var(--font-head); font-weight:600; font-size:clamp(18px,1.6vw,22px); margin:48px 0 0!important }

/* 金額：同じ書体・同じ大きさ・単位を離さない */
.sb-amt{ white-space:nowrap; font-variant-numeric:tabular-nums; font-feature-settings:"tnum" 1 }
.sb-amt-n{ font-weight:600 }
.sb-amt-u{ font-size:.72em; margin-left:.08em }
.sb-amt--big .sb-amt-n{ font-size:38px; line-height:1.2 }
.sb-unit{ font-size:14px; color:var(--sb-muted); margin-left:.5em; white-space:nowrap }

/* リンク・ボタン */
.sb-link{ color:var(--sb-cta); text-decoration:underline; text-underline-offset:.22em; text-decoration-thickness:1px; font-weight:500; transition:color .15s }
.sb-link:hover{ color:var(--sb-cta-hover) }
.sb-bg-deep .sb-link{ color:#CFE3EC }
.sb-btn{ display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:12px 24px; border-radius:4px; font-size:16px; font-weight:600; line-height:1.4; text-decoration:none; border:1px solid var(--sb-cta); transition:background-color .15s, color .15s, border-color .15s; text-align:center }
.sb .sb-btn--primary{ background:var(--sb-cta); color:var(--sb-cta-ink) }
.sb .sb-btn--primary:hover{ background:var(--sb-cta-hover); border-color:var(--sb-cta-hover) }
.sb .sb-btn--ghost{ background:transparent; color:var(--sb-cta) }
.sb-btn--ghost:hover{ background:rgba(40,90,115,.06) }
.sb-btn--wide{ width:100% }
.sb-btn:focus-visible,.sb-link:focus-visible,.sb summary:focus-visible{ outline:2px solid var(--sb-cta); outline-offset:3px }
.sb-cta-row{ display:flex; flex-wrap:wrap; gap:12px; margin-top:32px }
.sb-cta-row--mid{ margin-top:48px }
.sb-links{ display:flex; flex-wrap:wrap; gap:8px 32px; margin-top:32px!important }

/* ───── S01 HERO ───── */
.sb-hero{ padding:80px 0 96px }
.sb-hero-grid{ display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); column-gap:32px; align-items:center }
.sb-hero-main{ grid-column:1 / span 7 }
.sb-hero-fig{ grid-column:8 / span 5; margin:0 }
.sb-hero-fig img{ display:block; width:100%; height:auto; border-radius:2px; aspect-ratio:3/2; object-fit:cover; object-position:top }
.sb-fig-cap{ font-size:13px; color:var(--sb-muted); margin-top:8px; line-height:1.6 }
.sb-hero-lead{ font-size:clamp(18px,1.5vw,22px); line-height:1.7; font-weight:500; margin-bottom:12px!important }
.sb-hero-scope{ font-size:16px; line-height:1.85; color:var(--sb-ink); margin-bottom:24px!important; max-width:36em }
.sb-hero-price{ display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 20px; font-size:clamp(22px,1.8vw,26px); line-height:1.4; padding:16px 0; border-top:1px solid var(--sb-line); border-bottom:1px solid var(--sb-line) }
.sb-hp-i{ white-space:nowrap }
.sb-hp-k{ font-size:15px; color:var(--sb-muted); margin-right:.25em; font-weight:500 }
.sb-hp-s{ font-size:15px; margin-left:.2em }
.sb-hp-sep{ width:1px; height:1.1em; background:var(--sb-line); align-self:center }
.sb-hero-cta{ margin-top:24px }
.sb-hero-note,.sb-hero-cond,.sb-hero-help{ font-size:15px; line-height:1.75; margin-top:16px!important; max-width:40em }
.sb-hero-note{ color:var(--sb-ink) }
.sb-hero-cond{ color:var(--sb-muted) }
.sb-hero-cond a{ display:inline-block; color:var(--sb-cta); text-underline-offset:.22em; white-space:nowrap; margin-top:4px }
.sb-hero-help{ color:var(--sb-muted) }

/* ───── S02 ───── */
.sb-scope{ margin:40px 0 0; border-top:1px solid var(--sb-line) }
.sb-scope-r{ display:grid; grid-template-columns:200px 1fr 220px; gap:24px; padding:20px 0; border-bottom:1px solid var(--sb-line); align-items:baseline }
.sb-scope dt{ font-family:var(--font-head); font-weight:600; font-size:18px }
.sb-scope dd{ margin:0 }
.sb-scope-d{ font-size:16px }
.sb-scope-t{ font-size:14px; color:var(--sb-muted) }
.sb-compare{ margin-top:96px }
.sb-cmp-tbl{ width:100%; border-collapse:collapse; margin-top:24px; font-size:15px; line-height:1.7; table-layout:fixed }
.sb-cmp-tbl th,.sb-cmp-tbl td{ padding:16px 20px; text-align:left; vertical-align:top; border-bottom:1px solid var(--sb-line) }
.sb-cmp-tbl thead th{ font-size:14px; font-weight:600; color:var(--sb-muted); border-bottom:1px solid var(--sb-ink) }
.sb-cmp-tbl thead th:first-child{ width:16% }
.sb-cmp-tbl thead th:nth-child(2),.sb-cmp-tbl thead th:nth-child(3){ width:23% }
.sb-cmp-tbl tbody th{ font-weight:600; font-size:15px }
.sb-cmp-tbl .is-bloom{ background:#F3F6F6; border-left:2px solid var(--sb-cta); color:var(--sb-ink) }
.sb-cmp-tbl thead .is-bloom{ color:var(--sb-cta) }
.sb-cmp-tbl td:not(.is-bloom){ color:var(--sb-muted) }
.sb-cmp-sp{ display:none }

/* ───── S03 ───── */
.sb-works{ display:grid; grid-template-columns:7fr 5fr; gap:32px; align-items:start }
.sb-work-img{ display:block; overflow:hidden; border-radius:2px }
.sb-work-img img{ display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; object-position:left top; transition:transform .18s ease }
.sb-work-img:hover img{ transform:scale(1.02) }
.sb-work--b{ margin-top:96px }
.sb-work-txt{ padding-top:16px }
.sb-work-name{ font-family:var(--font-head); font-weight:600; font-size:20px; margin:0 0 4px }
.sb-work-meta{ font-size:14px; color:var(--sb-muted); margin-bottom:12px!important }
.sb-work-meta .sb-sep{ margin:0 .4em; color:var(--sb-line) }
.sb-work-more{ font-size:15px; color:var(--sb-muted); margin-top:48px!important }
.sb-work-more a{ margin-left:.5em }

/* ───── S04 ───── */
.sb-plan-sum{ display:none }
.sb-plans{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--sb-ink); border-bottom:1px solid var(--sb-line) }
.sb-plan{ padding:32px 28px 36px; display:flex; flex-direction:column; gap:12px }
.sb-plan + .sb-plan{ border-left:1px solid var(--sb-line) }
.sb-plan-work{ font-family:var(--font-head); font-weight:600; font-size:20px; line-height:1.5; min-height:3em }
.sb-plan-price{ margin-top:4px!important }
.sb-plan-inc{ font-size:14px; color:var(--sb-muted) }
.sb-plan-name{ font-size:13px; letter-spacing:.10em; color:var(--sb-muted); font-weight:600; padding-bottom:12px; border-bottom:1px solid var(--sb-line) }
.sb-plan-verb{ letter-spacing:0; margin-left:.8em; font-weight:500 }
.sb-plan-fit{ font-weight:600; font-size:16px; line-height:1.7 }
.sb-plan-does,.sb-plan-not,.sb-plan-target,.sb-plan-term{ font-size:15px; line-height:1.75 }
.sb-plan-not,.sb-plan-target{ color:var(--sb-muted) }
.sb-plan-term{ font-weight:500 }
.sb-plan .sb-link{ margin-top:auto; padding-top:8px; font-size:15px }
.sb-plans-common{ font-size:15px; line-height:1.75; color:var(--sb-ink); margin-top:24px!important; max-width:var(--sb-w-read) }

/* ───── S05 ───── */
.sb-cond-grid{ display:grid; grid-template-columns:5fr 7fr; gap:48px }
.sb-cond{ margin:0; border-top:1px solid var(--sb-ink) }
.sb-cond > div{ display:grid; grid-template-columns:160px 1fr; gap:16px; padding:16px 0; border-bottom:1px solid var(--sb-line) }
.sb-cond dt{ font-weight:600; font-size:15px; line-height:1.7 }
.sb-cond dd{ margin:0; font-size:15px; line-height:1.7 }
.sb-cond-ex dd{ font-weight:500 }
.sb-details{ margin-top:24px; border-bottom:1px solid var(--sb-line) }
.sb-details > summary{ cursor:pointer; list-style:none; padding:14px 0; min-height:48px; font-weight:600; font-size:15px; color:var(--sb-cta); display:flex; align-items:center; gap:10px }
.sb-details > summary::-webkit-details-marker{ display:none }
.sb-details > summary::before,.sb-faq-i > summary::after{ content:""; width:9px; height:9px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(-45deg); transition:transform .16s; flex:none }
.sb-details[open] > summary::before{ transform:rotate(45deg) }
.sb-details-b{ padding:4px 0 20px }
.sb-details-b p{ font-size:15px; line-height:1.75; margin-bottom:.6em }

/* ───── S06 ───── */
.sb-case{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; padding:48px 0; border-top:1px solid var(--sb-line) }
.sb-case--rev .sb-case-fig{ order:2 }
.sb-case-fig{ margin:0 }
.sb-case-fig img{ display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; object-position:left top; border-radius:2px }
.sb-case-name{ font-size:14px; color:var(--sb-muted); margin-bottom:8px!important }
.sb-case-dl{ margin:0 0 20px }
.sb-case-dl > div{ display:grid; grid-template-columns:100px 1fr; gap:16px; padding:10px 0; border-bottom:1px solid var(--sb-line) }
.sb-case-dl dt{ font-size:11px; letter-spacing:.10em; color:var(--sb-muted); font-weight:600; padding-top:.45em }
.sb-case-dl dd{ margin:0; font-size:15px; line-height:1.75 }
.sb-band{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px 32px; padding:40px 0 0; border-top:1px solid var(--sb-line); margin-top:16px }
.sb-band-t{ font-family:var(--font-head); font-weight:600; font-size:20px }

/* ───── S07 ───── */
.sb-resp{ border-top:1px solid var(--sb-ink) }
.sb-resp-head{ display:grid; grid-template-columns:2.2fr 1fr 1fr 1fr; gap:16px; padding:12px 0; font-size:12px; letter-spacing:.08em; color:var(--sb-muted); font-weight:600; border-bottom:1px solid var(--sb-line) }
.sb-resp-r{ display:grid; grid-template-columns:2.2fr 1fr 1fr 1fr; gap:16px; padding:14px 0; border-bottom:1px solid var(--sb-line); align-items:start }
.sb-resp-job{ font-weight:600; font-size:15px; line-height:1.7 }
.sb-resp-v{ display:contents; margin:0 }
.sb-resp-v > div{ display:contents }
.sb-resp-v dt{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap }
.sb-resp-v dd{ margin:0; font-size:15px; line-height:1.7 }
.sb-resp-note{ grid-column:1 / -1; font-size:14px; color:var(--sb-muted); line-height:1.7; margin-top:-4px!important }
.sb-details--resp > summary{ margin-top:8px }

/* ───── S08 ───── */
.sb-portal-grid{ display:grid; grid-template-columns:6fr 5fr; gap:56px; align-items:center }
.sb-portal-fig{ margin:0 }
.sb-pv{ background:#fff; border:1px solid var(--sb-line); border-radius:4px; padding:24px }
.sb-pv-tag{ font-size:12px; color:var(--sb-muted); margin-bottom:16px!important }
.sb-pv-blk + .sb-pv-blk{ margin-top:16px; padding-top:16px; border-top:1px solid var(--sb-line) }
.sb-pv-h{ font-weight:600; font-size:14px; margin-bottom:6px!important }
.sb-pv ul{ margin:0; padding-left:1.1em; font-size:14px; line-height:1.7; color:var(--sb-muted) }

/* ───── S09 ───── */
.sb-steps{ list-style:none; margin:0; padding:0; border-top:1px solid var(--sb-line) }
.sb-steps li{ display:grid; grid-template-columns:64px 1fr; gap:16px; padding:20px 0; border-bottom:1px solid var(--sb-line) }
.sb-step-n{ font-size:13px; letter-spacing:.08em; color:var(--sb-muted); font-weight:600; padding-top:.3em }
.sb-step-t{ font-family:var(--font-head); font-weight:600; font-size:18px; line-height:1.6 }
.sb-step-you{ font-size:15px; color:var(--sb-muted); margin-top:4px!important }

/* ───── S10 ───── */
.sb-bg-deep .sb-k{ color:#A9C2CB }
.sb-bg-deep .sb-lead{ color:#E8EEEE }
.sb-check3{ list-style:none; margin:0; padding:0; border-top:1px solid rgba(255,255,255,.22) }
.sb-check3 li{ display:grid; grid-template-columns:180px 1fr; gap:16px; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.22); font-size:15px; line-height:1.75; color:#D9E3E4 }
.sb-check3-t{ font-weight:600; color:#fff }

/* ───── S11 ───── */
.sb-founder{ max-width:calc(var(--sb-w-read) + var(--sb-gut)*2) }
.sb-founder.has-ph{ max-width:calc(var(--sb-w) + var(--sb-gut)*2); display:grid; grid-template-columns:5fr 7fr; gap:56px; align-items:center }
.sb-founder-fig{ margin:0 }
.sb-founder-fig img{ display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; border-radius:2px }   /* 2026-10-06 写真②（横長）を切らずに出す */
.sb-sign{ font-size:15px; margin-top:24px!important; font-weight:500 }
.sb-owned{ margin:40px 0 24px; padding-top:20px; border-top:1px solid var(--sb-line) }
.sb-owned-k{ font-size:11px; letter-spacing:.10em; color:var(--sb-muted); font-weight:600; margin-bottom:4px!important }
.sb-owned-t{ font-size:15px; color:var(--sb-muted) }

/* ───── S12 ───── */
.sb-faq-g{ font-size:14px; font-weight:600; color:var(--sb-muted); margin:40px 0 8px; letter-spacing:.04em }
.sb-faq{ border-top:1px solid var(--sb-ink) }
.sb-faq-i{ border-bottom:1px solid var(--sb-line) }
.sb-faq-i > summary{ cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:56px; padding:14px 0; font-weight:600; font-size:16px; line-height:1.6 }
.sb-faq-i > summary::-webkit-details-marker{ display:none }
.sb-faq-i > summary::after{ transform:rotate(45deg); color:var(--sb-muted) }
.sb-faq-i[open] > summary::after{ transform:rotate(-135deg) }
.sb-faq-a{ padding:0 0 20px }
.sb-faq-a p{ font-size:15px; line-height:1.85; color:var(--sb-ink) }

/* ───── S13 ───── */
.sb-form{ display:flex; flex-direction:column; gap:24px; margin-top:8px }
.sb-f{ display:flex; flex-direction:column; gap:8px; font-weight:600; font-size:15px; border:0; padding:0; margin:0 }
.sb-f legend{ padding:0; margin-bottom:8px }
.sb-f input[type=text],.sb-f input[type=email],.sb-f input[type=url],.sb-f textarea{ font:inherit; font-weight:400; font-size:16px; padding:12px 14px; min-height:48px; border:1px solid var(--sb-input); border-radius:6px; background:#fff; color:var(--sb-ink); width:100% }
.sb-f textarea{ resize:vertical; line-height:1.7 }
.sb-f input:focus-visible,.sb-f textarea:focus-visible{ outline:2px solid var(--sb-cta); outline-offset:1px }
.sb-radios{ display:flex; flex-wrap:wrap; gap:8px 24px; font-weight:400 }
.sb-radios label,.sb-check{ display:inline-flex; align-items:center; gap:8px; min-height:44px; font-size:15px; font-weight:400 }
.sb-check{ align-items:flex-start; line-height:1.7 }
.sb-check input{ margin-top:.45em }
.sb-radios input,.sb-check input{ width:20px; height:20px; accent-color:var(--sb-cta); flex:none }
.sb-req,.sb-opt{ font-size:12px; font-weight:500; margin-left:.4em; color:var(--sb-muted) }
.sb-req{ color:#8A3B2E }
.sb-hint{ font-size:13px; font-weight:400; color:var(--sb-muted) }
.sb-before{ border-top:1px solid var(--sb-line); border-bottom:1px solid var(--sb-line); padding:16px 0 }
.sb-before p{ font-size:14px; line-height:1.75; color:var(--sb-ink) }
.sb-before p + p{ margin-top:6px }
.sb-alt{ margin-top:24px!important; font-size:15px }
.sb .bcs-form-msg:empty{ display:none }

/* 全サイトの #consult の指定（main.css）に負けないように */
main.sb #consult{ background:var(--sb-paper); padding-top:112px; padding-bottom:112px }
@media (max-width:767px){ main.sb #consult{ padding-top:72px; padding-bottom:72px } }


/* SP 固定の相談ボタン（Hero の主 CTA が画面の外へ出たあとに 1 つだけ） */
.sb-fixed{ position:fixed; left:0; right:0; bottom:0; z-index:60; padding:10px var(--sb-gut) calc(10px + env(safe-area-inset-bottom)); background:rgba(250,249,245,.96); border-top:1px solid var(--sb-line) }
.sb-fixed .sb-btn{ width:100% }
@media (min-width:768px){ .sb-fixed{ display:none!important } }

/* ───── 1024 以下 ───── */
@media (max-width:1024px){
  .sb-hero-main{ grid-column:1 / span 12 }
  .sb-hero-fig{ grid-column:1 / span 12; margin-top:40px; max-width:640px }
  .sb-scope-r{ grid-template-columns:160px 1fr; }
  .sb-scope-t{ grid-column:2 }
  .sb-cond-grid,.sb-portal-grid{ grid-template-columns:1fr; gap:32px }
  .sb-founder.has-ph{ grid-template-columns:1fr; gap:32px }
  .sb-founder-fig{ max-width:480px }
  .sb-founder-fig img{ aspect-ratio:3/2 }
}

/* ───── SP（767 以下） ───── */
@media (max-width:767px){
  .sb{ font-size:16px }
  .sb-sec{ padding:72px 0 }
  .sb-hero{ padding:28px 0 64px }
  .sb-label{ margin-bottom:14px!important; font-size:11px }
  .sb-h1{ font-size:clamp(30px,8.6vw,36px); line-height:1.4; margin-bottom:14px }
  .sb-h2{ font-size:clamp(25px,7vw,28px); line-height:1.45 }
  .sb-h3{ font-size:20px }
  .sb-lead,.sb-read p{ font-size:16px }
  .sb-lead{ margin-bottom:32px!important }
  .sb-hero-lead{ font-size:17px; margin-bottom:8px!important }
  .sb-hero-scope{ font-size:15px; line-height:1.75; margin-bottom:14px!important }
  .sb-hero-price{ font-size:22px; padding:10px 0; gap:2px 16px }
  .sb-hp-sep{ display:none }
  .sb-hero-cta{ margin-top:14px; flex-direction:column; gap:10px }
  .sb-hero-cta .sb-btn{ width:100% }
  .sb-hero-note{ margin-top:16px!important }
  .sb-hero-fig{ margin-top:32px }
  .sb-scope-r{ grid-template-columns:1fr; gap:4px; padding:16px 0 }
  .sb-scope-t{ grid-column:1 }
  .sb-compare{ margin-top:64px }
  .sb-cmp-tbl{ display:none }
  .sb-cmp-sp{ display:block; margin-top:16px }
  .sb-cmp-sp-h{ font-weight:600; font-size:16px; margin-bottom:8px!important; color:var(--sb-cta) }
  .sb-cmp-sp-sum{ list-style:none; margin:0 0 32px; padding:12px 0 12px 16px; border-left:2px solid var(--sb-cta); background:#F3F6F6 }
  .sb-cmp-sp-sum li{ font-size:15px; line-height:1.7; padding:6px 12px 6px 0 }
  .sb-cmp-sp-k{ display:block; font-size:12px; color:var(--sb-muted); font-weight:600 }
  .sb-cmp-card{ border-top:1px solid var(--sb-line); padding:16px 0 }
  .sb-cmp-card-h{ font-weight:600; font-size:16px; margin-bottom:8px!important }
  .sb-cmp-card dl{ margin:0 }
  .sb-cmp-card dl > div{ display:grid; grid-template-columns:7.5em 1fr; gap:8px; padding:4px 0 }
  .sb-cmp-card dt{ font-size:13px; color:var(--sb-muted) }
  .sb-cmp-card dd{ margin:0; font-size:15px; line-height:1.7; color:var(--sb-muted) }
  .sb-cmp-card .is-bloom dd{ color:var(--sb-ink); font-weight:500 }
  .sb-cmp-card .is-bloom dt{ color:var(--sb-cta); font-weight:600 }
  .sb-cta-row .sb-btn{ width:100% }
  .sb-works{ grid-template-columns:1fr 1fr; gap:16px }
  .sb-work--b{ margin-top:0 }
  .sb-work-name{ font-size:16px }
  .sb-work-meta{ font-size:13px }
  .sb-plan-sum{ display:block; list-style:none; margin:0 0 32px; padding:0; border-top:1px solid var(--sb-ink) }
  .sb-plan-sum li{ display:grid; grid-template-columns:1fr auto; gap:2px 12px; padding:12px 0; border-bottom:1px solid var(--sb-line) }
  .sb-plan-sum-w{ grid-column:1 / -1; font-weight:600; font-size:15px; line-height:1.6 }
  .sb-plan-sum-p{ font-size:20px }
  .sb-plan-sum-p .sb-unit{ font-size:12px }
  .sb-plan-sum-n{ font-size:12px; letter-spacing:.1em; color:var(--sb-muted); align-self:center; font-weight:600 }
  .sb-plans{ grid-template-columns:1fr; border-bottom:0 }
  .sb-plan{ padding:28px 0; border-bottom:1px solid var(--sb-line) }
  .sb-plan + .sb-plan{ border-left:0 }
  .sb-plan-work{ min-height:0 }
  .sb-cond > div{ grid-template-columns:1fr; gap:4px }
  .sb-case{ grid-template-columns:1fr; gap:24px; padding:40px 0 }
  .sb-case--rev .sb-case-fig{ order:0 }
  .sb-case-dl > div{ grid-template-columns:1fr; gap:2px }
  .sb-case-dl dt{ padding-top:0 }
  .sb-band .sb-btn{ width:100% }
  .sb-resp-head{ display:none }
  .sb-resp-r{ grid-template-columns:1fr; gap:8px }
  .sb-resp-v{ display:grid; grid-template-columns:1fr; gap:2px }
  .sb-resp-v > div{ display:grid; grid-template-columns:5.5em 1fr; gap:8px }
  .sb-resp-v dt{ position:static; width:auto; height:auto; overflow:visible; clip:auto; font-size:12px; letter-spacing:.06em; color:var(--sb-muted); font-weight:600; padding-top:.2em }
  .sb-resp-note{ margin-top:0!important }
  .sb-steps li{ grid-template-columns:40px 1fr; gap:8px }
  .sb-check3 li{ grid-template-columns:1fr; gap:2px }
  .sb-band-t{ font-size:18px }
  body.sb-has-fixed{ padding-bottom:76px }
}

@media (prefers-reduced-motion:reduce){
  .sb *,.sb *::before,.sb *::after{ transition:none!important; animation:none!important }
  .sb-work-img:hover img{ transform:none }
}

/* 送信ボット避けの欄（画面の外・読み上げなし）。フォームの全体の class を外したので、ここで同じ形にする */
.sb .bcs-hp{ position:absolute!important; left:-9999px; width:1px; height:1px; overflow:hidden; white-space:nowrap }
