/* ぶっちゃけハウジング ハウスメーカー診断 v2
   SWELLの本文スタイルに負けないよう、セレクタは .bhs.bhs から始める */
.bhs.bhs{--ink:#1f3b57;--red:#c0392b;--line:#c9d8e6;--grid:#e6eef5;--paper:#fbfcfd;--sub:#5b6b7a;font-family:inherit;color:var(--ink);max-width:720px;margin:0 auto 2.5em;line-height:1.7}
.bhs.bhs *{box-sizing:border-box}
.bhs.bhs p{margin:0}
.bhs.bhs ul,.bhs.bhs ol{margin:0;padding:0;list-style:none}
.bhs.bhs li{margin:0;padding:0}
.bhs.bhs li::before,.bhs.bhs li::marker{content:none}
.bhs.bhs .bhs-sheet{background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:20px 20px;border:2px solid var(--ink);border-radius:6px;padding:28px 22px 26px}
.bhs.bhs .bhs-title{font-size:26px;font-weight:800;line-height:1.35;margin:0 0 10px;color:var(--ink)}
.bhs.bhs .bhs-lead{font-size:15px;color:var(--sub);margin:0 0 18px}
.bhs.bhs .bhs-facts{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px}
.bhs.bhs .bhs-facts li{background:#fff;border:1px solid var(--line);border-radius:4px;padding:6px 10px;font-size:13px;font-weight:700}
.bhs.bhs button{font-family:inherit;cursor:pointer}
.bhs.bhs .bhs-primary{display:block;width:100%;background:var(--red);color:#fff;border:0;border-radius:999px;padding:15px 18px;font-size:17px;font-weight:800;letter-spacing:.02em}
.bhs.bhs .bhs-primary:hover{filter:brightness(1.07)}
.bhs.bhs button:focus-visible,.bhs.bhs a:focus-visible{outline:3px solid #f2b705;outline-offset:2px}
/* 進み具合（寸法線） */
.bhs.bhs .bhs-dim{position:relative;height:44px;margin:0 6px 18px}
.bhs.bhs .bhs-dim .ext{position:absolute;top:6px;width:2px;height:24px;background:var(--ink)}
.bhs.bhs .bhs-dim .ext.l{left:0}.bhs.bhs .bhs-dim .ext.r{right:0}
.bhs.bhs .bhs-dim .base{position:absolute;left:0;right:0;top:17px;height:2px;background:var(--line)}
.bhs.bhs .bhs-dim .fill{position:absolute;left:0;top:16px;height:4px;background:var(--red);transition:width .25s ease}
.bhs.bhs .bhs-dim .tick{position:absolute;top:13px;width:1px;height:10px;background:var(--line)}
.bhs.bhs .bhs-dim .lab{position:absolute;top:26px;transform:translateX(-50%);font-size:12px;font-weight:700;color:var(--red);white-space:nowrap}
.bhs.bhs .bhs-q{font-size:20px;font-weight:800;line-height:1.5;margin:0 0 16px;min-height:3em}
.bhs.bhs .bhs-opts{display:grid;gap:10px}
.bhs.bhs .bhs-opt{text-align:left;background:#fff;border:2px solid var(--line);border-radius:6px;padding:13px 14px;font-size:16px;font-weight:700;color:var(--ink);line-height:1.5}
.bhs.bhs .bhs-opt:hover{border-color:var(--ink)}
.bhs.bhs .bhs-opt[aria-pressed="true"]{border-color:var(--red);background:#fdf1ef}
.bhs.bhs .bhs-nav{display:flex;justify-content:space-between;margin-top:16px}
.bhs.bhs .bhs-back{background:none;border:0;color:var(--sub);font-size:14px;text-decoration:underline;padding:6px 0}
/* 結果 */
.bhs.bhs .bhs-type{font-size:13px;font-weight:700;color:var(--sub)}
.bhs.bhs .bhs-typename{font-size:26px;font-weight:800;line-height:1.4;margin:2px 0 6px}
.bhs.bhs .bhs-desc{font-size:15px;margin:0 0 18px}
.bhs.bhs .bhs-axes{display:grid;gap:8px;margin:0 0 18px}
.bhs.bhs .bhs-axis{display:grid;grid-template-columns:8.5em 1fr 3em;align-items:center;gap:10px;font-size:14px;font-weight:700;line-height:1.4}
.bhs.bhs .bhs-axis small{display:block;font-size:12px;font-weight:400;color:var(--sub)}
.bhs.bhs .bhs-bar{height:12px;background:#fff;border:1px solid var(--line);border-radius:2px;overflow:hidden}
.bhs.bhs .bhs-bar span{display:block;height:100%;background:var(--ink)}
.bhs.bhs .bhs-axis.main .bhs-bar span{background:var(--red)}
.bhs.bhs .bhs-terms{background:#fff;border:1px solid var(--line);border-radius:4px;padding:10px 14px;margin:0 0 24px;font-size:13px}
.bhs.bhs .bhs-terms li{padding:2px 0}
.bhs.bhs .bhs-terms b{display:inline-block;min-width:3em}
.bhs.bhs .bhs-h{font-size:18px;font-weight:800;margin:0 0 10px;padding-bottom:6px;border-bottom:2px solid var(--ink)}
.bhs.bhs .bhs-get{font-size:15px;margin:0 0 12px}
.bhs.bhs .bhs-steps{counter-reset:bhs;margin:0 0 14px;font-size:15px}
.bhs.bhs .bhs-steps li{counter-increment:bhs;position:relative;padding-left:2em;margin:0 0 6px}
.bhs.bhs .bhs-steps li::before{content:counter(bhs);position:absolute;left:0;top:.15em;width:1.5em;height:1.5em;border-radius:50%;background:var(--ink);color:#fff;font-size:13px;font-weight:800;line-height:1.5em;text-align:center}
.bhs.bhs .bhs-kw{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;background:#fff;border:2px dashed var(--red);border-radius:6px;padding:14px;margin:0 0 12px}
.bhs.bhs .bhs-kw-lab{font-size:13px;font-weight:700;color:var(--sub)}
.bhs.bhs .bhs-kw-word{font-size:28px;font-weight:800;color:var(--red);letter-spacing:.04em}
.bhs.bhs .bhs-copy{background:#fff;color:var(--ink);border:2px solid var(--ink);border-radius:999px;padding:6px 16px;font-size:14px;font-weight:800}
.bhs.bhs .bhs-line{display:block;text-align:center;background:var(--red);color:#fff;text-decoration:none;border-radius:999px;padding:15px;font-size:17px;font-weight:800;line-height:1.5}
.bhs.bhs .bhs-line:hover{filter:brightness(1.07);color:#fff}
.bhs.bhs .bhs-note{font-size:12px;color:var(--sub);margin:12px 0 0}
.bhs.bhs .bhs-retry{display:block;margin:16px auto 0;background:none;border:0;color:var(--sub);text-decoration:underline;font-size:14px}
.bhs.bhs [hidden]{display:none!important}
@media (max-width:480px){.bhs.bhs .bhs-sheet{padding:22px 14px}.bhs.bhs .bhs-title{font-size:22px}.bhs.bhs .bhs-q{font-size:18px}.bhs.bhs .bhs-typename{font-size:22px}.bhs.bhs .bhs-axis{grid-template-columns:7.5em 1fr 2.8em;gap:8px}}
@media (prefers-reduced-motion:reduce){.bhs.bhs .bhs-dim .fill{transition:none}}

/* 予算シミュレーターへの案内（2.0.1・2026-10-27） */
.bhs.bhs .bhs-yosan{margin:18px 0 6px;padding:14px 16px;border:2px solid #1f3b57;border-left-width:8px;border-radius:12px;background:#f5f8fb;text-align:left}
.bhs.bhs .bhs-yosan p{margin:0 0 10px;font-size:14px;font-weight:700;line-height:1.6;color:#1b2a4a}
.bhs.bhs .bhs-yosan p b{color:#c0392b}
.bhs.bhs .bhs-yosan-lab{display:inline-block;font-size:11px;font-weight:700;color:#fff;background:#1f3b57;border-radius:999px;padding:1px 10px;margin-right:6px;vertical-align:2px}
.bhs.bhs .bhs-yosan-btn{display:block;text-align:center;background:#c0392b;color:#fff;font-weight:900;font-size:15px;text-decoration:none;border-radius:999px;padding:11px 16px;box-shadow:0 3px 0 #8e2a20}
.bhs.bhs .bhs-yosan-btn:hover{opacity:.9;color:#fff}
.bhs.bhs .bhs-kmt{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:#fff8e6;border:1px solid #f0d58a;font-size:13px;line-height:1.7;color:#3a2f12;text-align:left}
.bhs.bhs .bhs-kmt b{display:block;font-size:14px;color:#8a5a00}
.bhs.bhs .bhs-more{margin:16px 0 0;text-align:left}
.bhs.bhs .bhs-more-h{font-size:13px;font-weight:700;color:var(--sub);margin:0 0 6px}
.bhs.bhs .bhs-more a{display:block;padding:10px 12px;margin:0 0 8px;border:1px solid #d9dee5;border-radius:10px;background:#fff;text-decoration:none;color:#1b2a4a}
.bhs.bhs .bhs-more a b{display:block;font-size:14px}
.bhs.bhs .bhs-more a small{font-size:12px;color:var(--sub)}
.bhs.bhs .bhs-more a:hover{border-color:#1f3b57}
