/* 事業者向けセクション /business/（正本 tools/business.css → reskin.py が site/css/business.css へ） */
body.biz{padding-top:0}
.b-hero{position:relative;min-height:min(78vh,720px);display:grid;align-items:end;color:#fff;background:var(--navy-deep);overflow:clip;isolation:isolate}
.b-hero-media{position:absolute;inset:0;z-index:-1}
.b-hero-media img{width:100%;height:100%;object-fit:cover;filter:brightness(.5) saturate(.9)}
.b-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,10,30,.2),rgba(10,10,30,.75) 70%,var(--navy-deep))}
.b-hero-body{padding:clamp(120px,16vw,180px) 0 clamp(48px,6vw,80px)}
.b-hero .kicker{color:var(--teal)}
.b-hero .display{font-size:clamp(2.2rem,5vw,4.4rem);line-height:1.1;letter-spacing:-.03em;font-weight:700;margin:14px 0 18px;max-width:22ch}
.b-lead{font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.8;max-width:60ch;color:rgba(255,255,255,.85)}
.b-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.b-hero .btn-ghost{color:#fff;border-color:rgba(255,255,255,.35)}
.b-hero .btn-ghost:hover{background:rgba(255,255,255,.1)}
.b-note{margin-top:18px;font-size:.86rem;color:rgba(255,255,255,.62)}
.b-fine{font-size:.84rem;color:var(--ink-3);line-height:1.7}
body.biz .sec-head .sub{color:var(--ink-2);font-weight:500;font-size:clamp(.98rem,1.3vw,1.1rem);line-height:1.85;max-width:64ch;margin-inline:auto}
body.biz .sec-head .kicker{color:var(--teal-deep,#1fa9a7)}

/* 3 本柱 */
.b-pillar{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(18px,2.4vw,28px);color:inherit;text-decoration:none;transition:translate .5s var(--ease),box-shadow .5s var(--ease),border-color .3s}
.b-pillar:hover{translate:0 -6px;box-shadow:0 30px 60px -30px rgba(26,26,62,.35);border-color:rgba(71,214,212,.5)}
.b-pillar img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);background:var(--bg-2);margin-bottom:8px}
.b-pillar img.prod{object-fit:contain;padding:10%;background:radial-gradient(circle at 50% 60%,#fff,var(--bg-2))}
.b-pillar img.shot{object-fit:cover;object-position:top}
.b-pillar h3{font-size:1.25rem;font-weight:700;letter-spacing:-.01em}
.b-pillar p{color:var(--ink-2);font-size:.96rem;line-height:1.75;flex:1}
body.biz .more{display:inline-flex;align-items:center;gap:4px;grid-template-columns:none;margin:0;padding:0;background:none;border:0;color:var(--teal-deep,#1fa9a7);font-weight:700;font-size:.92rem;width:auto;justify-self:start}

/* 見せる（写真＋本文） */
.b-show{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,56px);align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(20px,3vw,40px)}
.b-show-media img{width:100%;height:100%;min-height:280px;object-fit:cover;border-radius:var(--r);background:var(--bg-2)}
.b-show-media img.prod-soft{object-fit:contain;padding:6%;background:radial-gradient(circle at 50% 60%,#fff,var(--bg-2))}
.b-show-body .h-mid{margin-top:10px}
.b-show-body .body{margin-top:14px}
.b-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0 0;padding:0;list-style:none}
.b-facts li{background:var(--bg-2);border-radius:var(--r);padding:12px 14px;display:grid;gap:2px}
.b-facts b{font-size:1.15rem;font-weight:700;letter-spacing:-.01em}
.b-facts span{font-size:.82rem;color:var(--ink-2)}
.b-list{margin:18px 0 0;padding-left:1.2em;color:var(--ink-2);line-height:1.8}
.b-list li{margin:4px 0}
.b-list li::marker{color:var(--teal)}

/* カード */
.b-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(18px,2.2vw,26px);display:flex;flex-direction:column;gap:8px;color:inherit;text-decoration:none}
.b-card i{width:44px;height:44px;border-radius:12px;background:rgba(71,214,212,.14);color:var(--teal-deep,#1fa9a7);display:grid;place-items:center;font-size:1.3rem;margin-bottom:4px}
.b-card h3{font-size:1.05rem;font-weight:700;letter-spacing:-.01em;line-height:1.4}
.b-card p{color:var(--ink-2);font-size:.92rem;line-height:1.75;flex:1}
.b-card-link{transition:translate .5s var(--ease),box-shadow .5s var(--ease)}
.b-card-link:hover{translate:0 -4px;box-shadow:0 24px 50px -28px rgba(26,26,62,.35)}

/* 流れ */
.b-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;counter-reset:f}
.b-flow li{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 22px 20px;position:relative}
.b-flow b{display:inline-block;font-size:.78rem;letter-spacing:.2em;color:var(--teal-deep,#1fa9a7);font-weight:700;margin-bottom:8px}
.b-flow h3{font-size:1.05rem;font-weight:700;margin-bottom:6px}
.b-flow p{color:var(--ink-2);font-size:.92rem;line-height:1.7}

/* CTA 帯 */
.b-cta{background:var(--navy);color:#fff}
.b-cta .h-sec{color:#fff}
.b-cta .body{color:rgba(255,255,255,.82);margin-top:14px}
.b-cta .btn-ghost{color:#fff;border-color:rgba(255,255,255,.35)}
.b-cta .b-fine{color:rgba(255,255,255,.55);margin-top:16px}
.b-cta .wrap-text{text-align:center}
.b-cta .b-ctas{justify-content:center}
.b-company-strip .b-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(20px,3vw,36px)}
.b-company-strip .b-strip > div{max-width:62ch}
.b-company-strip .h-mid{margin-top:8px}
.b-company-strip .body{margin-top:10px;font-size:.98rem}

/* 機種 */
.b-prods{display:grid;gap:18px}
.b-prod{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(18px,3vw,40px);background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(18px,2.6vw,32px);align-items:start}
.b-prod-pic img{width:100%;aspect-ratio:4/3;object-fit:contain;padding:8%;border-radius:var(--r);background:radial-gradient(circle at 50% 60%,#fff,var(--bg-2))}
.b-prod-body h3{font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:700;letter-spacing:-.02em;margin:6px 0 8px}
.b-prod-note{color:var(--ink-2);line-height:1.75;margin-bottom:14px}
.b-spec{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 24px;margin:0;border-top:1px solid var(--line)}
.b-spec div{display:grid;grid-template-columns:7.5em minmax(0,1fr);gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.9rem}
.b-spec dt{color:var(--ink-3);font-weight:600}
.b-spec dd{margin:0;font-weight:600;line-height:1.6}
.b-fit{margin-top:12px;font-size:.88rem;color:var(--teal-deep,#1fa9a7);font-weight:700}
.b-fit i{margin-right:4px}
.b-tablewrap{overflow-x:auto;overflow-y:clip;-webkit-overflow-scrolling:touch}
.b-cmp{min-width:760px;display:table!important;margin-top:0}
.b-cmp th,.b-cmp td{text-align:left!important;font-size:.9rem}
.b-cmp tbody th{white-space:nowrap}

/* ソフト */
.b-soft{display:grid;gap:18px}
.b-softcard{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(18px,3vw,40px);background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(18px,2.6vw,32px);align-items:center}
.b-softcard:nth-child(even){grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.b-softcard:nth-child(even) .b-soft-pic{order:2}
.b-soft-pic img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r);background:var(--bg-2)}
.b-soft-body h3{font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:700;letter-spacing:-.02em;margin:6px 0 8px}
.b-soft-body > p{color:var(--ink-2);line-height:1.8;margin-bottom:14px}
.b-soft-body .b-spec{margin-bottom:14px}
.b-soft-body .b-spec div{grid-template-columns:9em minmax(0,1fr)}

/* 予約システム */
.b-nums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.b-nums div{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 20px;display:grid;gap:6px}
.b-nums b{font-size:clamp(2rem,3.6vw,2.8rem);font-weight:700;letter-spacing:-.03em;line-height:1;color:var(--navy)}
.b-nums small{font-size:.45em;margin-left:4px;color:var(--ink-3);font-weight:700}
.b-nums span{font-size:.86rem;color:var(--ink-2);line-height:1.6}
.b-shots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.b-shot{margin:0;text-align:center}
.b-phone{background:#fff;border:1px solid var(--line);border-radius:28px;padding:10px;box-shadow:0 24px 50px -30px rgba(26,26,62,.35)}
.b-phone img{width:100%;height:auto;border-radius:20px;display:block;background:var(--bg-2)}
.b-shot figcaption{font-size:.86rem;color:var(--ink-2);line-height:1.6;margin-top:12px;padding:0 6px}
.b-shot figcaption b{display:block;color:var(--ink);font-size:.95rem;margin-bottom:2px}
.b-admins{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.b-admin{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:12px;overflow:clip}
.b-admin img{width:100%;height:auto;border-radius:var(--r);display:block;background:var(--bg-2)}
.b-admin figcaption{padding:14px 10px 6px;font-size:.88rem;color:var(--ink-2);line-height:1.6}
.b-admin figcaption b{display:block;color:var(--ink);font-size:1rem;margin-bottom:2px}

/* 会社 */
.b-company{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(20px,3vw,40px)}
.b-profile{margin:0;display:grid}
.b-profile div{display:grid;grid-template-columns:9em minmax(0,1fr);gap:14px;padding:14px 0;border-bottom:1px solid var(--line);font-size:.98rem;line-height:1.75}
.b-profile div:last-child{border-bottom:0}
.b-profile dt{color:var(--ink-3);font-weight:600}
.b-profile dd{margin:0;font-weight:600}

/* 出現（PC の view() 連動は site.css の .rv/.rv-kids に任せる） */
@media (max-width:1023px){.b-hero-body{padding-top:120px}}
@media (max-width:900px){
  .b-show,.b-prod,.b-softcard,.b-softcard:nth-child(even){grid-template-columns:1fr}
  .b-softcard:nth-child(even) .b-soft-pic{order:0}
  .b-show-media img{min-height:0;aspect-ratio:3/2}
  .b-flow{grid-template-columns:1fr 1fr}
  .b-nums{grid-template-columns:1fr 1fr}
  .b-shots{grid-template-columns:1fr 1fr}
  .b-admins{grid-template-columns:1fr}
  .b-company-strip .b-strip{flex-direction:column;align-items:flex-start}
}
@media (max-width:640px){
  .b-flow{grid-template-columns:1fr}
  .b-facts{grid-template-columns:1fr 1fr}
  .b-shots{grid-template-columns:1fr 1fr;gap:12px}
  .b-phone{border-radius:20px;padding:6px}.b-phone img{border-radius:14px}
  .b-spec div,.b-profile div{grid-template-columns:1fr;gap:2px}
  .b-soft-body .b-spec div{grid-template-columns:1fr}
  .b-hero .display{font-size:2rem}
}

/* 技術・測定項目・プラン・事例（2 版） */
.b-tech{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.b-tech article{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:clip}
.b-tech img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:var(--navy-deep)}
.b-tech .ct{padding:18px 20px 22px}
.b-tech h3{font-size:1.1rem;font-weight:700;margin:6px 0 6px}
.b-tech p{color:var(--ink-2);font-size:.92rem;line-height:1.75}
.b-defs{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0 28px;margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:8px 24px}
.b-defs div{display:grid;grid-template-columns:minmax(0,11em) minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.9rem}
.b-defs dt{font-weight:700}
.b-defs dt small{display:block;font-weight:600;color:var(--ink-3);font-size:.76rem;letter-spacing:.02em}
.b-defs dd{margin:0;color:var(--ink-2);line-height:1.6}
.b-plan{min-width:720px}
.b-plan th,.b-plan td{text-align:left!important;font-size:.88rem;vertical-align:top}
.b-plan tbody th{white-space:nowrap}
.b-reqs{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.b-req{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:20px 22px}
.b-req h3{font-size:1rem;font-weight:700;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.b-req h3 i{color:var(--teal-deep,#1fa9a7)}
.b-req ul{margin:0;padding-left:1.1em;color:var(--ink-2);font-size:.9rem;line-height:1.7}
.b-req li::marker{color:var(--teal)}
.b-guide{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:clip;font-size:.92rem}
.b-guide th,.b-guide td{padding:12px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.b-guide thead th{background:var(--bg-2);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.b-guide tbody tr:last-child td,.b-guide tbody tr:last-child th{border-bottom:0}
.b-guide tbody th{font-weight:700;white-space:nowrap}
.b-guide td b{color:var(--navy)}
.b-shotgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.b-shotgrid figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:clip}
.b-shotgrid img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:var(--navy-deep)}
.b-shotgrid figcaption{padding:10px 12px;font-size:.82rem;color:var(--ink-2);line-height:1.5}
.b-stack{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.b-stack div{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}
.b-stack b{display:block;font-size:1rem;font-weight:700;margin-bottom:4px}
.b-stack span{font-size:.86rem;color:var(--ink-2);line-height:1.6}
.b-stack .tag{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.08em;padding:2px 8px;border-radius:999px;background:rgba(71,214,212,.16);color:var(--teal-deep,#1fa9a7);margin-bottom:8px}
.b-cases{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:18px}
.b-case{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:clip;display:flex;flex-direction:column;color:inherit;text-decoration:none}
.b-case img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:var(--bg-2)}
.b-case .ct{padding:20px 22px 22px;display:grid;gap:6px}
.b-case h3{font-size:1.2rem;font-weight:700;margin-top:4px}
.b-case p{color:var(--ink-2);font-size:.92rem;line-height:1.7}
.b-case.main{grid-row:span 2}
.b-case.main img{aspect-ratio:3/2}
.b-case.main h3{font-size:1.5rem}
.b-case .meta{font-size:.8rem;color:var(--ink-3);font-weight:600;letter-spacing:.02em}
.b-case.sub{flex-direction:row;align-items:stretch}
.b-case.sub img{width:38%;aspect-ratio:auto;min-height:150px}
.b-case.sub .ct{padding:18px 20px}
.b-case.sub .logo{width:38%;display:grid;place-items:center;background:var(--bg-2);padding:18px}
.b-case.sub .logo img{width:80%;height:auto;aspect-ratio:auto;min-height:0;object-fit:contain;background:none}
.b-src{font-size:.78rem;color:var(--ink-3);line-height:1.7;margin-top:14px}
@media (max-width:900px){.b-tech{grid-template-columns:1fr}.b-shotgrid{grid-template-columns:1fr 1fr}.b-cases{grid-template-columns:1fr}.b-case.main{grid-row:auto}.b-defs{grid-template-columns:1fr}}
@media (max-width:640px){.b-shotgrid{grid-template-columns:1fr}.b-case.sub{flex-direction:column}.b-case.sub img,.b-case.sub .logo{width:100%}.b-case.sub .logo img{width:50%}.b-defs div{grid-template-columns:1fr;gap:2px}}

/* 3 版: 文字を減らし、写真・図・グラフを増やす（2026-11-14） */
.b-screen{margin:0;background:#0b0b1a;padding:clamp(8px,1vw,12px);border-radius:16px;box-shadow:0 30px 60px -30px rgba(26,26,62,.5)}
.b-screen img{width:100%;height:auto;display:block;border-radius:8px;background:#162238}
.b-screen.cover img{aspect-ratio:16/9;object-fit:cover}
.b-screen figcaption,.b-cap{font-size:.84rem;color:rgba(255,255,255,.72);line-height:1.6;margin-top:10px;padding:0 4px}
.b-screen figcaption b,.b-cap b{color:#fff;font-weight:700;display:block;font-size:.9rem}
.b-figs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.b-figs.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.b-figs figure{margin:0}
.sec.dark .sec-head .sub{color:rgba(255,255,255,.75)}
.sec.dark .b-fine{color:rgba(255,255,255,.6)}
/* 測定項目の再現グリッド（直営店の実測値つき） */
.b-dg{background:#15213a;border-radius:var(--r-lg);padding:clamp(12px,2vw,22px);color:#fff}
.b-dg + .b-dg{margin-top:12px}
.b-dg-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 18px;margin-bottom:12px}
.b-dg-head h3{font-size:1.05rem;font-weight:700;display:flex;align-items:center;gap:10px;color:#fff}
.b-dg-head .n{display:inline-grid;place-items:center;min-width:34px;height:34px;padding:0 9px;border-radius:999px;background:var(--teal);color:var(--navy);font-size:.95rem;font-weight:700}
.b-dg-head .n.club{background:#f4b63f}
.b-dg-head .meta{font-size:.78rem;color:rgba(255,255,255,.6)}
.b-dg-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.b-dt{background:#223154;border-radius:8px;padding:10px 8px 9px;text-align:center;border-top:3px solid var(--teal);min-width:0}
.b-dt.club{border-top-color:#f4b63f}
.b-dt .l{display:block;font-size:.74rem;font-weight:700;color:rgba(255,255,255,.88);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.b-dt .e{display:block;font-size:.58rem;color:rgba(255,255,255,.45);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.b-dt .v{display:block;font-size:clamp(1.2rem,1.8vw,1.6rem);font-weight:700;letter-spacing:-.02em;line-height:1.1;margin:7px 0 1px;font-variant-numeric:tabular-nums;color:#fff}
.b-dt .u{display:block;font-size:.62rem;color:rgba(255,255,255,.5)}
.b-dt .d{display:block;font-size:.74rem;color:rgba(255,255,255,.74);line-height:1.45;margin-top:7px;padding-top:6px;border-top:1px solid rgba(255,255,255,.08)}
.b-dg-note{font-size:.8rem;color:rgba(255,255,255,.62);margin-top:12px;line-height:1.6}
/* 横棒グラフ */
.b-bars{display:grid;gap:10px;align-content:start;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(16px,2.4vw,26px)}
.b-bars h3{font-size:1rem;font-weight:700;margin-bottom:2px}
.b-bars h3 small{font-weight:500;color:var(--ink-3);font-size:.8rem;margin-left:6px}
.b-bar{display:grid;grid-template-columns:8.5em minmax(0,1fr) 6em;align-items:center;gap:12px;font-size:.88rem}
.b-bar b{font-weight:700;white-space:nowrap}
.b-bar .t{height:14px;border-radius:999px;background:var(--bg-3)}
.b-bar .t i{display:block;height:100%;width:var(--w);border-radius:999px;background:linear-gradient(90deg,var(--teal-2),var(--teal))}
.b-bar .t i.alt{background:linear-gradient(90deg,#f0a62d,#f4c15e)}
.b-bar span{color:var(--ink-2);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.84rem}
.b-bars2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
/* 選び方のツリー */
.b-tree{--c:rgba(26,26,62,.18)}
.b-tree .q{position:relative;margin:0 auto;max-width:30ch;background:#fff;border:1.5px solid var(--navy);border-radius:14px;padding:12px 16px;text-align:center;font-weight:700;font-size:.95rem;line-height:1.5}
.b-tree .q::after{content:"";position:absolute;left:50%;top:100%;width:2px;height:22px;background:var(--c)}
.b-tree .br{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;margin-top:22px;position:relative}
.b-tree .br::before{content:"";position:absolute;left:25%;right:25%;top:-1px;height:2px;background:var(--c)}
.b-tree .opt{position:relative;padding-top:26px;min-width:0}
.b-tree .opt::before{content:"";position:absolute;left:50%;top:0;width:2px;height:26px;background:var(--c)}
.b-tree .opt > .lbl{position:absolute;left:50%;top:0;translate:-50% -50%;font-size:.72rem;font-weight:700;padding:2px 10px;border-radius:999px;background:var(--bg-2);color:var(--ink-2);border:1px solid var(--line);white-space:nowrap;z-index:1}
.b-tree .opt > .lbl.yes{background:#dff6f5;color:var(--teal-ink);border-color:transparent}
.b-tree .leaf{margin:0 auto;max-width:22ch;background:var(--navy);color:#fff;border-radius:14px;padding:12px 12px;text-align:center}
.b-tree .leaf b{display:block;font-size:1.02rem;letter-spacing:-.01em}
.b-tree .leaf span{display:block;font-size:.74rem;color:rgba(255,255,255,.72);margin-top:3px;line-height:1.5}
/* つながりの図（横並びの工程） */
.b-chain{display:grid;grid-template-columns:repeat(var(--n,6),minmax(0,1fr));gap:10px}
.b-chain > div{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px 12px 16px;text-align:center}
.b-chain > div + div::before{content:"";position:absolute;left:-9px;top:50%;width:8px;height:8px;border-top:2px solid var(--teal-2);border-right:2px solid var(--teal-2);transform:translateY(-50%) rotate(45deg)}
.b-chain i{display:grid;place-items:center;width:48px;height:48px;margin:4px auto 10px;border-radius:14px;background:rgba(71,214,212,.14);color:var(--teal-ink);font-size:1.4rem}
.b-chain b{display:block;font-size:.94rem;font-weight:700;line-height:1.4}
.b-chain span{display:block;font-size:.78rem;color:var(--ink-2);line-height:1.55;margin-top:4px}
.b-chain .n{position:absolute;left:12px;top:9px;font-size:.68rem;font-weight:700;letter-spacing:.14em;color:var(--teal-ink)}
/* 中心と周辺の図 */
.b-arch{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1fr);gap:18px;align-items:center}
.b-arch .side{display:grid;gap:12px}
.b-arch .node{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:center;position:relative}
.b-arch .node i{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--bg-2);color:var(--navy);font-size:1.2rem}
.b-arch .node b{display:block;font-size:.95rem}
.b-arch .node span{display:block;font-size:.78rem;color:var(--ink-2);line-height:1.5}
.b-arch .side.l .node::after{content:"";position:absolute;right:-18px;top:50%;width:18px;height:2px;background:rgba(26,26,62,.18)}
.b-arch .side.r .node::before{content:"";position:absolute;left:-18px;top:50%;width:18px;height:2px;background:rgba(26,26,62,.18)}
.b-arch .core{background:var(--navy);color:#fff;border-radius:var(--r-lg);padding:clamp(24px,3vw,40px) clamp(18px,2vw,28px);text-align:center;display:grid;gap:8px;justify-items:center}
.b-arch .core i{font-size:2.2rem;color:var(--teal)}
.b-arch .core b{font-size:1.25rem;letter-spacing:-.01em}
.b-arch .core span{font-size:.86rem;color:rgba(255,255,255,.72);line-height:1.6}
.b-arch .core .tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:6px}
.b-arch .core .tags em{font-style:normal;font-size:.74rem;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.1)}
/* アイコンつきの短い項目 */
.b-icos{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}
.b-ico{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px 14px}
.b-ico i{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:rgba(71,214,212,.14);color:var(--teal-ink);font-size:1.25rem}
.b-ico b{display:block;font-size:.95rem;line-height:1.4}
.b-ico span{display:block;font-size:.8rem;color:var(--ink-2);line-height:1.5;margin-top:1px}
.b-icos.dark .b-ico{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);color:#fff}
.b-icos.dark .b-ico span{color:rgba(255,255,255,.7)}
/* 写真のギャラリー */
.b-gal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.b-gal figure{margin:0;position:relative;border-radius:var(--r);overflow:clip;background:var(--bg-2)}
.b-gal img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.b-gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 14px 12px;font-size:.84rem;font-weight:700;color:#fff;background:linear-gradient(180deg,transparent,rgba(10,10,30,.78))}
/* 写真の帯 */
.b-band{position:relative;border-radius:var(--r-lg);overflow:clip;background:var(--navy-deep)}
.b-band img{width:100%;aspect-ratio:21/9;object-fit:cover;display:block}
.b-band .ct{position:absolute;left:0;right:0;bottom:0;padding:clamp(18px,3vw,36px);color:#fff;background:linear-gradient(180deg,transparent,rgba(10,10,30,.82))}
.b-band .ct b{display:block;font-size:clamp(1.1rem,2vw,1.5rem);font-weight:700}
.b-band .ct span{font-size:.88rem;color:rgba(255,255,255,.78)}
/* プランの一覧（丸印） */
.b-mx{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);font-size:.86rem;min-width:820px}
.b-mx th,.b-mx td{padding:11px 10px;border-bottom:1px solid var(--line);text-align:center;vertical-align:middle}
.b-mx thead th{background:var(--bg-2);font-size:.8rem;letter-spacing:.04em;white-space:nowrap}
.b-mx thead th:first-child{border-top-left-radius:var(--r-lg)}.b-mx thead th:last-child{border-top-right-radius:var(--r-lg)}
.b-mx tbody th{text-align:left;font-weight:700;white-space:nowrap;padding-left:16px}
.b-mx tbody tr:last-child td,.b-mx tbody tr:last-child th{border-bottom:0}
.b-mx .ok{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(71,214,212,.22);color:var(--teal-ink);font-size:1rem}
.b-mx .no{color:rgba(26,26,62,.25)}
.b-mx td small{display:block;font-size:.72rem;color:var(--ink-2);margin-top:2px}
/* 役割カード（ソフト） */
.b-roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.b-role{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:clip;display:flex;flex-direction:column;color:inherit;text-decoration:none}
.b-role img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:var(--navy-deep)}
.b-role .ct{padding:18px 20px 20px;display:grid;gap:8px;align-content:start}
.b-role h3{font-size:1.3rem;font-weight:700;letter-spacing:-.01em}
.b-role p{font-size:.9rem;color:var(--ink-2);line-height:1.65}
.b-role .chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.b-role .chips em{font-style:normal;font-size:.74rem;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--bg-2);color:var(--ink)}
/* 図（SVG） */
.b-diag{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(14px,2vw,24px);overflow-x:auto;overflow-y:clip;-webkit-overflow-scrolling:touch}
.b-diag svg{display:block;width:100%;min-width:640px;height:auto;font-family:inherit}
.b-diag figcaption{font-size:.82rem;color:var(--ink-2);margin-top:10px;line-height:1.6}
/* 機種カード 3 版 */
.b-prods.v3{grid-template-columns:repeat(3,minmax(0,1fr))}
.b-prod.v3{grid-template-columns:1fr;gap:0;padding:0;overflow:clip}
.b-prod.v3 .b-prod-pic img{border-radius:0;aspect-ratio:4/3;padding:10%}
.b-prod.v3 .b-prod-body{padding:16px 20px 22px}
.b-prod.v3 h3{font-size:1.4rem;margin:4px 0 6px}
.b-prod.v3 .b-prod-note{font-size:.9rem;margin-bottom:12px;line-height:1.65}
.b-chips{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.b-chips div{background:var(--bg-2);border-radius:10px;padding:8px 10px;font-size:.8rem;line-height:1.4;font-weight:600}
.b-chips div b{display:block;font-size:.64rem;color:var(--ink-3);letter-spacing:.06em;font-weight:700;margin-bottom:2px}
.b-tech.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.b-tech.four h3{font-size:1rem}
.b-shotgrid.two{grid-template-columns:1fr 1fr}
.b-show-body .b-list.tight{margin-top:12px;font-size:.94rem}
.b-show-body .b-list.tight li{margin:2px 0}
.b-profile.tight div{padding:11px 0;font-size:.94rem}
@media (max-width:1023px){.b-dg-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:900px){
  .b-dg-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .b-bars2{grid-template-columns:1fr}
  .b-tree .br .br{grid-template-columns:1fr;gap:14px}.b-tree .br .br::before{display:none}
  .b-chain{grid-template-columns:repeat(3,minmax(0,1fr))}
  .b-arch{grid-template-columns:1fr}.b-arch .side.l .node::after,.b-arch .side.r .node::before{display:none}.b-arch .core{order:-1}
  .b-roles{grid-template-columns:1fr}
  .b-prods.v3{grid-template-columns:1fr 1fr}
  .b-tech.four{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .b-dg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .b-figs,.b-figs.two{grid-template-columns:1fr}
  .b-bar{grid-template-columns:7.4em minmax(0,1fr) auto;font-size:.78rem;gap:8px}.b-bar span{font-size:.74rem}.b-bar b{font-size:.78rem;overflow:hidden;text-overflow:ellipsis}
  .b-tree .br{grid-template-columns:1fr;gap:14px}.b-tree .br::before{display:none}
  .b-chain{grid-template-columns:repeat(2,minmax(0,1fr))}.b-chain > div + div::before{display:none}
  .b-gal{grid-template-columns:1fr 1fr;gap:8px}
  .b-band img{aspect-ratio:4/3}
  .b-prods.v3{grid-template-columns:1fr}
  .b-tech.four{grid-template-columns:1fr}
  .b-shotgrid.two{grid-template-columns:1fr}
}

/* ---- 4 版: 設置条件の図を OpenAI 生成のフラットなイラストに（平面図・側面図・カメラ配置） ---- */
.b-illus{display:grid;grid-template-columns:1.307fr 2.096fr;gap:16px;align-items:stretch}
.b-illus .b-diag{overflow:visible;display:flex;flex-direction:column;justify-content:center;min-width:0}
.b-illus .b-diag img{display:block;width:100%;height:auto;border-radius:12px}
.b-illus .b-diag figcaption{margin-top:12px}
.b-illus .b-diag figcaption b{display:block;color:var(--ink);font-weight:700;font-size:.92rem;margin-bottom:2px}
.b-illus.cam{grid-template-columns:1.703fr 1fr;align-items:center}
.b-legend{list-style:none;margin:0;padding:0;display:grid;gap:10px;align-content:center}
.b-legend li{display:grid;grid-template-columns:5.4em minmax(0,1fr);gap:12px;align-items:baseline;padding:14px 18px;background:var(--bg-2);border-radius:16px}
.b-legend b{font-size:1.2rem;font-weight:700;color:var(--teal-ink);letter-spacing:-.01em;white-space:nowrap}
.b-legend span{font-size:.9rem;color:var(--ink-2);line-height:1.6}
@media(max-width:900px){.b-illus,.b-illus.cam{grid-template-columns:1fr}.b-legend li{padding:12px 14px}}
