/* 概算費用シミュレーター 確認用 第1版 (2026-10-09)
   ヘッダー・フッターはテーマの style.min.css を利用。ここは本文部分だけ。
   色: 主色 #91BA00 / ボタン #D96400 / 強調 #D90000 / LINE #00B900 / 背景 #F7F7F7 / 文字 #333
   文字には主色を使わず、背景・帯・左の線に限定(コントラスト対策)。2026-10-14: 下線を使わない・強調色は注意書きの1か所だけ */
.sim-page{--gr:#91BA00;--gr-d:#5E7A00;--gr-l:#F2F7E0;--or:#D96400;--or-d:#D96400;--rd:#D90000;--ln:#00B900;--gy:#F7F7F7;--bd:#DDD;--tx:#333;
 color:var(--tx);font-size:16px;line-height:1.8}
.sim-page *{box-sizing:border-box}
.sim-page .sr-only,.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sim-skip{position:absolute;left:-9999px;top:0;z-index:100000;background:#fff;color:#333;padding:10px 16px;border:2px solid #333}
.sim-skip:focus{left:8px;top:8px}
.sim-page a:focus-visible,.sim-page button:focus-visible,.sim-page input:focus-visible,.sim-page select:focus-visible,.sim-page legend:focus-visible{outline:3px solid #333;outline-offset:2px}
.sim-wrap{max-width:1000px;margin:0 auto;padding:0 20px}
/* hero */
.sim-hero{background:var(--gr-l);border-bottom:6px solid var(--gr);padding:28px 0 30px}
.sim-hero h1{font-size:24px;font-weight:700;line-height:1.5;text-align:center;margin:0 0 10px}
.sim-hero .sim-sub{text-align:center;font-size:15px;margin:0 0 18px}
.sim-badge{display:inline-block;background:var(--gr-d);color:#fff;font-weight:700;font-size:14px;border-radius:40px;padding:2px 14px;margin-right:6px;vertical-align:1px}
.sim-notice{background:#fff;border-left:6px solid var(--gr);padding:14px 18px;font-size:14.5px;margin:0 0 20px}
.sim-notice p{margin:0 0 8px}.sim-notice p:last-child{margin:0}
.sim-cta-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
/* buttons */
.sim-btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;border-radius:40px;padding:14px 28px;font-size:19px;font-weight:700;line-height:1.4;text-decoration:none;border:2px solid transparent;cursor:pointer;font-family:inherit;min-height:48px}
.sim-btn.-or{background:var(--or);color:#fff;border-color:var(--or)}
.sim-btn.-or:hover{background:#fff;color:var(--or)}
.sim-btn.-line{background:var(--ln);color:#111;border-color:var(--ln)}
.sim-btn.-ghost{background:#fff;color:var(--or-d);border-color:var(--or)}
.sim-btn.-red{background:var(--rd);color:#fff;border-color:var(--rd)}
.sim-btn.-back{background:#fff;color:#555;border-color:var(--bd);font-size:15px;padding:12px 24px}
.sim-btn:disabled{background:#ccc;border-color:#ccc;color:#555;cursor:not-allowed}
/* sections */
.sim-sec{padding:36px 0}
.sim-sec:nth-of-type(even){background:var(--gy)}
.sim-sec h2{font-size:24px;font-weight:700;line-height:1.5;margin:0 0 18px;padding-left:16px;border-left:8px solid var(--gr)}
.sim-sec h3{font-size:19px;font-weight:700;line-height:1.5;margin:26px 0 10px;padding:2px 0 2px 12px;border-left:5px solid var(--gr)}
.sim-sec p{margin:0 0 14px}
.sim-sec ul.sim-list,.sim-sec ol.sim-list{margin:0 0 14px 1.4em;padding:0}
.sim-sec ul.sim-list{list-style:disc}.sim-sec ol.sim-list{list-style:decimal}
.sim-sec .sim-list li{margin-bottom:6px}
.sim-sec a{color:#1a5fb4;text-decoration:underline}
.sim-sec a.sim-btn{text-decoration:none}
.sim-sec a.sim-btn.-or{color:#fff}.sim-sec a.sim-btn.-or:hover{color:var(--or)}
.sim-sec a.sim-btn.-line{color:#111}
.sim-sec a.sim-btn.-ghost{color:var(--or-d)}
.sim-todo{background:#FFF6F2;border:1px dashed var(--or);padding:8px 12px;font-size:14px;margin:0 0 14px}
/* simulator */
.sim-box{background:#fff;border:2px solid var(--gr);border-radius:12px;padding:20px 18px 24px;min-height:420px}
.sim-prog{display:flex;align-items:center;gap:12px;font-weight:700;font-size:14px;min-height:26px;margin-bottom:14px}
.sim-prog progress{flex:1;height:10px;appearance:none;-webkit-appearance:none;border:1px solid var(--bd);border-radius:6px;background:#fff;overflow:hidden}
.sim-prog progress::-webkit-progress-bar{background:#fff}
.sim-prog progress::-webkit-progress-value{background:var(--gr)}
.sim-prog progress::-moz-progress-bar{background:var(--gr)}
.sim-step{border:0;padding:0;margin:0;min-width:0}
.js .sim-step{display:none}.js .sim-step.is-active{display:block}
.sim-step legend{font-size:21px;font-weight:700;line-height:1.5;margin-bottom:6px;padding:0}
.sim-lead{font-size:14px;color:#555;margin:0 0 14px}
.sim-opts{list-style:none;margin:0;padding:0}
.sim-opts li{margin:0 0 10px}
.sim-opt{display:block;width:100%;text-align:left;background:#fff;border:2px solid var(--bd);border-radius:8px;padding:13px 16px;font-size:16px;font-weight:700;font-family:inherit;color:var(--tx);cursor:pointer;min-height:48px}
.sim-opt small{display:block;font-size:12.5px;font-weight:400;color:#666;margin-top:2px}
.sim-opt:hover,.sim-opt[aria-pressed="true"]{border-color:var(--gr);background:var(--gr-l)}
.sim-opt[aria-pressed="true"]{box-shadow:inset 0 0 0 1px var(--gr)}
.sim-grid{list-style:none;margin:0 0 6px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:9px}
.sim-grid li{margin:0}.sim-grid .sim-opt{text-align:center;padding:12px 6px;font-size:15px}
.sim-grid .-wide{grid-column:span 2}
.sim-label{display:block;font-weight:700;font-size:14px;margin:16px 0 6px}
.sim-input,.sim-select{width:100%;font-family:inherit;font-size:18px;padding:12px 14px;border:2px solid var(--bd);border-radius:8px;background:#fff;color:var(--tx);min-height:48px}
.sim-input{letter-spacing:2px}
.sim-input:focus,.sim-select:focus{border-color:var(--gr)}
.sim-zipres{font-weight:700;color:var(--tx);min-height:26px;margin-top:6px;font-size:15px}
.sim-zipres.err{color:var(--rd)}
.sim-or{text-align:center;color:#666;font-size:13px;font-weight:700;margin:14px 0 2px}
.sim-dim{opacity:.4;pointer-events:none}
.sim-warn{background:#FFF6F2;border-left:5px solid var(--or);padding:10px 14px;font-size:13.5px;margin-top:12px;line-height:1.7}
.sim-nav{display:flex;gap:10px;margin-top:20px;align-items:center}
.sim-nav .sim-btn.-or{flex:1}
.sim-urgent{margin-top:12px}
.sim-resume{background:var(--gr-l);border:2px solid var(--gr);padding:12px 14px;font-size:14px;margin-bottom:14px}
.sim-resume div{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.sim-resume .sim-btn{font-size:14px;padding:8px 16px;min-height:40px}
.sim-done{text-align:center;padding:16px 0}
/* result */
.sim-amt{background:var(--gr);color:#1c2a00;padding:22px 16px;text-align:center;margin-bottom:14px;border-radius:8px}
.sim-amt .lbl{font-size:13.5px}
.sim-amt .v{font-size:36px;font-weight:700;line-height:1.3;margin:4px 0}
.sim-amt .note{font-size:13.5px}
.sim-amt.-survey{background:#E6E6E6;color:#333}
.sim-amt.-survey .v{font-size:22px}
.sim-sample-tag{display:inline-block;background:#333;color:#fff;font-size:12px;border-radius:4px;padding:1px 8px;margin-bottom:8px}
.sim-brk{border:1px solid var(--bd);background:#fff;padding:10px 16px;font-size:14.5px;margin-bottom:14px}
.sim-brk div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px solid #ececec}
.sim-brk div:first-child{border:0}
.sim-brk .k{color:#555;flex:1}
.sim-sub2{font-size:17px;font-weight:700;margin:20px 0 8px}
.sim-work{display:block;border:1px solid var(--bd);background:#fff;padding:10px 14px;font-size:14.5px;margin-bottom:8px;color:#1a5fb4;text-decoration:none;font-weight:700}
.sim-cta-col{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.sim-claims{margin-top:14px}
.sim-claims:empty{display:none}
.sim-claim{background:#fff;border:2px solid var(--gr);border-radius:8px;padding:10px 14px;margin-bottom:8px}
.sim-claim b{color:var(--tx)}
.sim-claim small{display:block;color:#555;font-size:12.5px;margin-top:2px}
.sim-subsidy{display:block;background:var(--gr-l);border:2px solid var(--gr);border-radius:8px;padding:12px 14px;text-align:center;font-weight:700;margin-bottom:14px;color:var(--tx);text-decoration:none}
.sim-sec a.sim-subsidy{color:var(--tx);text-decoration:none}
.sim-subsidy b{color:var(--tx)}
/* tables */
.sim-tablewrap{overflow-x:auto;margin:0 0 14px}
.sim-table{border-collapse:collapse;width:100%;min-width:480px;font-size:14.5px;background:#fff}
.sim-table th,.sim-table td{border:1px solid var(--bd);padding:8px 10px;text-align:left;vertical-align:top}
.sim-table th{background:var(--gr-l);font-weight:700}
.sim-table caption{text-align:left;font-weight:700;margin-bottom:6px}
/* faq */
.sim-faq h3{padding:10px 14px;background:var(--gr-l);margin:18px 0 8px;font-size:17px;border-left:6px solid var(--gr)}
.sim-faq h3 span{color:var(--tx);margin-right:6px}
.sim-faq p{padding:0 6px}
.sim-works{list-style:none;margin:0 0 14px;padding:0}.sim-works li{margin-bottom:8px}
.sim-works a{display:block;background:#fff;border:1px solid var(--bd);padding:10px 14px}
.sim-profile{background:#fff;border:1px solid var(--bd);padding:16px 18px}
.sim-profile dt{font-weight:700;margin-top:8px}.sim-profile dd{margin:0}
.sim-end{text-align:center}
@media(max-width:600px){.sim-hero h1{font-size:20px}.sim-sec h2{font-size:20px}.sim-amt .v{font-size:30px}.sim-wrap{padding:0 16px}.sim-btn{width:100%}.sim-nav .sim-btn.-back{width:auto}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
body.sim-body{padding-bottom:0}
.sim-page .breadcrumb{margin-top:0}
.sim-page [hidden]{display:none!important}
.sim-badge{margin:0 6px 6px 0;display:inline-block}
/* 2026-10-09 設置場所の入力欄をそろえる（テーマのinputスタイルを打ち消す） */
.sim-box .sim-input,.sim-box .sim-select{box-sizing:border-box!important;display:block!important;width:100%!important;height:56px!important;min-height:56px!important;margin:0!important;padding:0 16px!important;font:inherit!important;font-size:17px!important;line-height:54px!important;color:#333!important;background:#fff!important;border:1px solid #c9c9c9!important;border-radius:8px!important;box-shadow:none!important;-webkit-appearance:none;appearance:none}
.sim-box .sim-select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2391BA00' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 16px center!important;padding-right:40px!important}
.sim-box .sim-input:focus,.sim-box .sim-select:focus{border-color:#91BA00!important;outline:2px solid rgba(145,186,0,.35)!important;outline-offset:0}
.sim-box .sim-label{display:block;margin:0 0 6px!important;font-weight:700;font-size:15px}
.sim-box #zipWrap,.sim-box #prefWrap,.sim-box #cityWrap{margin:0 0 4px}
.sim-box #cityWrap:not(:empty){margin-top:16px}
.sim-box .sim-zipres{min-height:1.6em;margin:6px 0 0;font-size:14px}
.sim-box .sim-or{display:flex;align-items:center;gap:12px;margin:12px 0 14px!important;color:#666;font-size:14px}
.sim-box .sim-or::before,.sim-box .sim-or::after{content:"";flex:1;border-top:1px solid #ddd}
.sim-box .sim-nav{display:flex;gap:12px;align-items:stretch;margin-top:20px}
.sim-box .sim-nav .sim-btn{height:52px;display:flex;align-items:center;justify-content:center;padding:0 24px;margin:0}
.sim-box .sim-nav .sim-btn.-back{flex:0 0 120px}
.sim-box .sim-nav .sim-btn.-or{flex:1}

/* 選択済みチップ(2026-10-09d) */
.sim-chips{margin-bottom:14px;font-size:13px}
.sim-chips-t{display:block;font-weight:700;margin-bottom:4px}
.sim-chips-l{display:flex;gap:6px;overflow-x:auto;flex-wrap:nowrap;min-height:40px;align-items:center;padding-bottom:2px;-webkit-overflow-scrolling:touch}
.sim-chip{display:inline-flex;flex:0 0 auto;align-items:center;border:2px solid var(--gr);background:#fff;border-radius:20px;overflow:hidden;height:36px}
.sim-chip.-pre{border-style:dashed;border-color:var(--bd)}
.sim-chip button{font:inherit;font-weight:700;background:none;border:0;cursor:pointer;color:inherit;min-height:36px;padding:0 10px;white-space:nowrap}
.sim-chip .sim-chip-x{padding:0 10px 0 2px;color:#666}
.sim-chip button:focus-visible{outline:3px solid #1a73e8;outline-offset:-3px}
.sim-chips-n{display:block;font-size:12px;margin-top:3px}
/* 2026-10-09f 補助金導線・地域実績 */
.sim-subband{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 16px;background:#fff;border:3px solid var(--gr);border-radius:40px;padding:12px 22px;margin:0 0 18px;text-decoration:none;color:var(--tx);font-weight:700}
.sim-page a.sim-subband{color:var(--tx);text-decoration:none}
.sim-subband-t{font-size:17px;line-height:1.5;text-align:center}
.sim-subband-b{background:var(--gr-d);color:#fff;border-radius:40px;padding:6px 20px;font-size:15px;white-space:nowrap}
.sim-subband-b:after{content:" \203A"}
.sim-subband:hover{background:var(--gr-l)}
.sim-btn.-gr{background:var(--gr-d);color:#fff;border-color:var(--gr-d)}
.sim-btn.-rd{background:#fff;color:var(--or-d);border-color:var(--or)}
.sim-subbox{background:var(--gr-l);border:3px solid var(--gr);border-radius:40px;padding:18px 22px;margin:0 0 16px;text-align:center}
.sim-subbox-t{font-size:19px;font-weight:700;margin:0 0 4px}.sim-subbox-t b{color:var(--tx)}
.sim-subbox-s{font-size:14.5px;margin:0 0 12px}
.sim-subbox-b{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.sim-sublist{margin:0 0 14px;padding-left:1.4em}
.sim-subsec-btn{margin:14px 0 22px}
@media(max-width:600px){.sim-subband-t{font-size:15px}.sim-subbox{padding:16px 16px}.sim-subbox-b .sim-btn{width:100%}}
.sim-sec a.sim-btn.-gr{color:#fff;text-decoration:none}.sim-sec a.sim-btn.-rd{color:var(--or-d);text-decoration:none}
.sim-sec a.sim-btn.-gr:hover{background:#fff}.sim-sec a.sim-btn.-rd:hover{background:var(--or);color:#fff}
.sim-sec a.sim-btn.-gr:hover{color:var(--gr-d)}

/* ===== 2026-10-14 スマホ確認の指摘対応 ===== */
/* 始めるボタン: 2行(1行目 本文、2行目 小さめ)。2行は白文字の小さい字になるので、濃いめのオレンジで4.5:1を確保 */
.sim-btn.-two{flex-direction:column;gap:2px;background:var(--or-d);border-color:var(--or-d);padding:12px 36px}
.sim-btn.-two:hover{background:#fff;color:var(--or-d)}
.sim-sec a.sim-btn.-two,.sim-hero a.sim-btn.-two{color:#fff;text-decoration:none}
.sim-hero a.sim-btn.-two:hover{color:var(--or-d)}
.sim-btn-l1{display:block;font-size:19px;font-weight:700;line-height:1.4}
.sim-btn-l2{display:block;font-size:15px;font-weight:700;line-height:1.4}
.sim-hero .sim-cta-row{margin:0 0 18px}
.sim-hero .sim-subband{margin:0}
.sim-hero .sim-notice{margin:18px 0 0}
/* 注意書きモーダル */
.sim-modal{position:fixed;inset:0;margin:auto;padding:0;border:0;border-radius:16px;background:#fff;color:var(--tx);width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.35);font-size:16px;line-height:1.8}
.sim-modal:not([open]){display:none}
.sim-modal::backdrop{background:rgba(0,0,0,.55)}
.sim-modal-in{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:22px 22px 24px}
.sim-modal-t{font-size:20px;font-weight:700;line-height:1.5;margin:0 0 12px;padding:0 0 0 12px;border-left:6px solid var(--gr)}
.sim-modal-body{font-size:15px;line-height:1.8;margin:0 0 18px}
.sim-modal-body p{margin:0 0 10px;max-width:none}
.sim-modal-body p:last-child{margin:0}
.sim-modal .sim-btn{width:100%}
.sim-key{color:var(--rd)}
html.sim-lock,html.sim-lock body{overflow:hidden}
.sim-modal:focus,.sim-modal-in:focus{outline:none}
/* 注意書き(JSなし)の見た目 */
.sim-notice{background:#fff;border-left:6px solid var(--gr);padding:14px 18px;font-size:15px;line-height:1.8}
/* 改行: 文節ごと。Chromeは auto-phrase、それ以外は <wbr> と keep-all */
.sim-page{overflow-wrap:anywhere}
@supports (word-break:auto-phrase){.sim-page{word-break:auto-phrase}}
@supports not (word-break:auto-phrase){.sim-page{word-break:keep-all}.sim-page #simLive,.sim-page #simLive *{word-break:normal;overflow-wrap:break-word}}
.sim-hero h1,.sim-sec h2,.sim-sec h3,.sim-modal-t,.sim-step legend,.sim-subband-t,.sim-subbox-t,.sim-sub2{text-wrap:balance}
.sim-lead,.sim-sub,.sim-subbox-s,.sim-warn{text-wrap:pretty}
/* 本文の1行を長くしない(全角で約40字) */
.sim-sec p,.sim-sec .sim-list li,.sim-sec .sim-sublist li{max-width:40em}
.sim-sec .sim-table,.sim-sec p.sim-subsec-btn{max-width:none}
.sim-sec .sim-wrap>p.sim-end,.sim-end{max-width:none}
.sim-sub,.sim-lead,.sim-warn{max-width:34em}
.sim-sub{margin-left:auto;margin-right:auto}
@media(max-width:600px){.sim-btn-l1{font-size:19px}.sim-modal-in{padding:20px 18px 22px}.sim-modal-t{font-size:18px}.sim-btn.-two{padding:12px 20px}}

#result{scroll-margin-top:92px}
.sim-hero .sim-sub{margin-left:auto;margin-right:auto;max-width:34em}
.sim-sec p{text-wrap:pretty}
.sim-modal-body p{text-wrap:pretty}

/* ===== 2026-10-15 新設・増設の部屋入力 ===== */
.sim-seg{display:flex;gap:4px;border:2px solid var(--bd);border-radius:40px;padding:4px;background:#fff}
.sim-seg-b{flex:1;min-height:48px;border:0;border-radius:40px;background:transparent;font:inherit;font-size:16px;font-weight:700;color:var(--tx);cursor:pointer;padding:0 8px}
.sim-seg-b[aria-pressed="true"]{background:var(--gr);color:#1c2a00}
.sim-seg-b:focus-visible{outline:3px solid #333;outline-offset:1px}
.sim-room{border:2px solid var(--bd);border-radius:24px;padding:16px 16px 18px;margin:16px 0 0;background:#fff}
.sim-room-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.sim-room-t{font-size:18px;font-weight:700;border-left:6px solid var(--gr);padding-left:10px;line-height:1.5}
.sim-room-del{min-height:44px;min-width:64px;border:2px solid var(--bd);border-radius:40px;background:#fff;font:inherit;font-size:14px;font-weight:700;color:#555;cursor:pointer;padding:0 14px}
.sim-room .sim-label{margin:14px 0 6px!important}
.sim-room .sim-seg{margin-top:4px}
.sim-rgrid{margin:0 0 4px;grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}
.sim-ruse{grid-template-columns:1fr}
.sim-room .sim-opt,.sim-rgrid .sim-opt{border-radius:40px;text-align:center;min-height:48px}
.sim-rgrid{margin-top:10px}
.sim-room-note{background:#f7f7f7;border-left:6px solid var(--gr);border-radius:0 24px 24px 0;padding:10px 16px;font-size:14px;line-height:1.8;margin:12px 0 0}
.sim-room-err{min-height:0;font-size:13.5px;margin-top:4px;color:var(--tx)}
.sim-room-err:not(:empty){background:#FFF6F2;border-left:5px solid var(--or);padding:6px 12px}
.sim-add{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:52px;margin-top:14px;border:2px dashed var(--gr);border-radius:40px;background:#fff;font:inherit;font-size:16px;font-weight:700;color:var(--tx);cursor:pointer;padding:8px 16px}
.sim-add small{font-size:12.5px;font-weight:400;color:#666}
.sim-add.-ghost{border-style:solid;border-color:var(--bd);margin-top:10px}
.sim-add:focus-visible,.sim-room-del:focus-visible{outline:3px solid #333;outline-offset:2px}
.sim-room-q{margin-top:18px!important;font-size:17px!important}
.sim-box .sim-roomin{letter-spacing:0!important}

/* 2026-10-16 部屋カードの角丸を40pxに。内側の余白を広げて中身がはみ出さないようにする */
.sim-room{border-radius:40px;padding:22px 20px 24px}
.sim-room-note{border-radius:0 28px 28px 0}
.sim-box .sim-roomin{border-radius:40px!important;padding:0 22px!important}

/* ===== 2026-10-16b スマホで表が潰れて縦に伸びる件 =====
   原因: 表に min-width:480px があり、幅343pxの枠の中で横にはみ出して右が見えなかった。さらに overflow-wrap:anywhere のため、金額が1〜2文字ずつ縦に折れていた。
   直し方: スマホ幅では、金額・数字を途中で折らない。2列の表は画面幅に収め、6列の修理の表は1行を1枚のカードにして縦に並べる。PC表示は変えない */
@media(max-width:600px){
 .sim-table{min-width:0;font-size:14px}
 .sim-table th,.sim-table td{overflow-wrap:normal;word-break:keep-all}
 .sim-table td:last-child,.sim-table td[data-label]{white-space:nowrap}
 .sim-table:not(.-cards){table-layout:fixed;width:100%}
 .sim-table td:last-child:not([data-label]){white-space:normal}
 .sim-table caption{overflow-wrap:break-word;word-break:normal}
 .sim-tablewrap{overflow-x:visible}
 .sim-table.-cards,.sim-table.-cards tbody{display:block;min-width:0;border:0;background:none}
 .sim-table.-cards thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
 .sim-table.-cards caption{display:block}
 .sim-table.-cards tr{display:block;border:2px solid var(--bd);border-radius:24px;background:#fff;margin:0 0 12px;overflow:hidden}
 .sim-table.-cards td{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border:0;border-top:1px solid #ececec;padding:9px 16px}
 .sim-table.-cards td:first-child{display:block;background:var(--gr-l);border-top:0;font-weight:700;white-space:normal;padding:12px 16px}
 .sim-table.-cards td[data-label]::before{content:attr(data-label);color:#555;font-weight:700}
 .sim-brk div>span:last-child{white-space:nowrap;flex:none;overflow-wrap:normal}
 .sim-brk .k{overflow-wrap:break-word}
}

/* ===== 2026-10-18 見せ方の改善 =====
   設計: 設計書_シミュレーター_6_見せ方の改善_2026-10-17.md。既存の行は消さず、ここで上書きする。色は既存の変数だけ。
   解説は <details> で畳む(本文はHTMLに残す)。PCもスマホも同じ構造 */
.ic{width:24px;height:24px;stroke:var(--gr-d);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.sim-opt-ic{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--gr-l);flex:none}
/* 1 ファーストビュー: 余白を詰める(電話ボタンは今のまま) */
.sim-hero{padding:18px 0 18px}
.sim-hero .sim-sub{margin:0 0 14px}
.sim-hero .sim-cta-row{margin:0 0 14px;gap:10px}
.sim-hero .sim-badge{margin:0 4px 6px 0}
@media(max-width:600px){.sim-hero h1{font-size:21px;margin-bottom:8px}}
.sim-page a.sim-subband.-slim{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:10px;border-width:2px;padding:8px 16px 8px 8px;text-align:left}
.sim-subband.-slim .sim-opt-ic{width:36px;height:36px}.sim-subband.-slim .ic{width:20px;height:20px}
.sim-subband-x{display:flex;flex-direction:column;align-items:flex-start;gap:0;min-width:0}
.sim-subband.-slim .sim-subband-t{font-size:13.5px;line-height:1.5;text-align:left}
.sim-subband.-slim .sim-subband-b{background:none;color:var(--gr-d);padding:0;border-radius:0;font-size:13.5px;line-height:1.5;white-space:normal}
@media(min-width:601px){.sim-subband.-slim .sim-subband-t{font-size:15px}.sim-subband.-slim .sim-subband-b{font-size:15px}}
/* 2 質問の枠・選択肢 */
.sim-box{border-radius:40px;padding:22px 18px 24px}
.sim-lead.-after{margin:10px 0 0;max-width:34em}
.sim-opts .sim-opt{display:flex;align-items:center;gap:12px;border-radius:40px;min-height:60px;padding:10px 22px;line-height:1.4}
.sim-opts .sim-opt.-ic{padding:8px 16px 8px 8px}
.sim-opt-t{display:block;min-width:0;flex:1}
.sim-grid.-ind{grid-template-columns:repeat(3,minmax(0,1fr))}
.sim-grid.-ind .sim-opt.-ic{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:4px;padding:12px 4px 10px;font-size:13.5px;line-height:1.4;border-radius:24px;min-height:92px}
.sim-grid.-ind .sim-opt-ic{width:40px;height:40px}.sim-grid.-ind .ic{width:22px;height:22px}
.sim-grid.-ind .sim-opt-t{flex:none;width:100%}
/* 3 結果: 金額カード1枚 */
.sim-amt{border-radius:40px;padding:22px 18px 18px}
.sim-amt .v{font-size:42px;line-height:1.2;margin:6px 0 2px}
@media(max-width:600px){.sim-amt .v{font-size:38px}}
.sim-amt-pts{list-style:none;margin:14px 0 0;padding:12px 14px 4px;border-top:1px solid rgba(0,0,0,.15);text-align:left;font-size:14px;line-height:1.7}
.sim-amt-pts li{display:flex;gap:8px;align-items:flex-start;margin:0 0 6px}
.sim-amt-pts .ic{width:20px;height:20px;stroke:#1c2a00;margin-top:3px}
.sim-amt-pts b{font-weight:700}
.sim-subbox{padding:16px 16px 14px}
.sim-subbox-b{flex-direction:column}
.sim-subbox-b .sim-btn{width:100%;min-height:46px;font-size:16px}
@media(max-width:600px){.sim-subbox-s{display:none}}
.sim-work{display:flex;align-items:center;gap:10px;border-width:2px;border-radius:40px;padding:10px 18px;line-height:1.5}
.sim-work .ic{width:20px;height:20px}
.sim-flow-res{margin-top:18px}
/* 開閉(解説・結果の内訳・代表例の料金表) */
details.sim-acc,details.sim-dx{border:2px solid var(--bd);border-radius:40px;background:#fff;margin:0 0 12px;overflow:hidden;scroll-margin-top:92px}
details.sim-acc>summary,details.sim-dx>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;min-height:54px}
details.sim-acc>summary::-webkit-details-marker,details.sim-dx>summary::-webkit-details-marker{display:none}
details.sim-acc>summary::marker,details.sim-dx>summary::marker{content:""}
details.sim-dx>summary{padding:13px 18px 13px 20px;font-weight:700;font-size:15.5px;line-height:1.5}
details.sim-acc>summary{padding:10px 18px 10px 10px;min-height:66px}
details.sim-acc>summary .chev,details.sim-dx>summary .chev{margin-left:auto;transition:transform .2s}
details[open]>summary .chev{transform:rotate(180deg)}
@media(prefers-reduced-motion:reduce){details>summary .chev{transition:none}}
details.sim-acc[open]>summary,details.sim-dx[open]>summary{border-bottom:1px solid #eee}
details.sim-acc>summary:focus-visible,details.sim-dx>summary:focus-visible{outline:3px solid #333;outline-offset:-3px}
.sim-acc-in{padding:14px 18px 18px}
details.sim-dx>.sim-acc-in{padding:0 18px 16px}
details.sim-dx>.sim-acc-in>*:first-child{margin-top:12px}
details.sim-dx>.sim-acc-in .sim-notice{margin-top:12px;border-radius:0 20px 20px 0;background:var(--gy)}
details.sim-dx>.sim-acc-in .sim-warn{border-radius:0 20px 20px 0}
details.sim-dx>.sim-acc-in .sim-brk{border:0;padding:0;margin:0}
.sim-sec details.sim-acc>summary h2{border:0;padding:0;margin:0;font-size:16.5px;line-height:1.45;text-wrap:pretty}
.sim-sec details.sim-acc .sim-acc-in h3{font-size:17px;margin:18px 0 8px}
.sim-sec details.sim-acc .sim-acc-in>h3:first-child,.sim-sec details.sim-acc .sim-acc-in>.sim-flow+h3{margin-top:0}
.sim-sec .sim-acc-in p,.sim-sec .sim-acc-in li{font-size:15px}
.sim-acc-lead{font-size:14px;color:#555;margin:0 0 12px}
.sim-kai-grp{background:var(--gy);padding:26px 0 18px}
.sim-kai-grp>.sim-sec,.sim-kai-grp>.sim-sec:nth-of-type(even){background:transparent;padding:0}
.sim-kai-grp+.sim-sec{background:#fff}
/* FAQ: 質問ごとに開く(入れ子) */
details.sim-acc.-q{border-radius:28px;margin:0 0 10px}
details.sim-acc.-q>summary{min-height:54px;padding:10px 16px 10px 18px}
.sim-faq details.sim-acc.-q>summary h3{background:none;border:0;padding:0;margin:0;font-size:16px;line-height:1.5;text-wrap:pretty}
.sim-faq details.sim-acc.-q p{padding:0}
.sim-sec .sim-acc-in details.sim-acc:last-child{margin-bottom:0}
/* 工事の流れの図 */
ol.sim-flow{list-style:none;margin:0 0 16px;padding:14px 2px 12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--gr-l);border-radius:24px}
.sim-sec ol.sim-flow{margin:0 0 16px;padding:14px 2px 12px}
ol.sim-flow>li{position:relative;text-align:center;font-size:11px;font-weight:700;line-height:1.35;padding:0 1px;word-break:keep-all;letter-spacing:-.02em;margin:0}
.sim-sec ol.sim-flow>li{font-size:11px}
.sim-flow .sim-opt-ic{width:48px;height:48px;background:#fff;border:2px solid var(--gr);margin:0 auto 6px;display:flex}
.sim-flow .ic{width:26px;height:26px}
.sim-flow small{display:block;font-size:11px;font-weight:700;color:var(--gr-d);margin-top:2px}
.sim-flow>li+li::before{content:"";position:absolute;left:-7px;top:44px;width:10px;height:10px;border-top:2.4px solid var(--gr-d);border-right:2.4px solid var(--gr-d);transform:rotate(45deg)}
.sim-flow .n{display:block;width:max-content;margin:0 auto 3px;background:var(--gr-d);color:#fff;font-size:10.5px;border-radius:40px;padding:0 7px;line-height:1.6}
@media(max-width:340px){ol.sim-flow>li,.sim-sec ol.sim-flow>li,.sim-flow small{font-size:10px;letter-spacing:-.04em}.sim-flow .sim-opt-ic{width:42px;height:42px}.sim-flow>li+li::before{top:40px;left:-6px}}
.sim-sec a.sim-work{text-decoration:none}

/* ===== 2026-10-18c PC表示の中心ずれ =====
   原因: 10/18の余白詰め(.sim-hero .sim-sub{margin:0 0 14px})が、max-width:34em の説明文の左右 auto を 0 に上書きし、箱が左に寄っていた。
   また、結果欄の代表例の段落は max-width:40em で、左右 auto が無いため左に寄っていた。いずれも幅は変えず、ブロックごと中央に置く(文字は左揃えのまま) */
.sim-hero .sim-sub{margin-left:auto;margin-right:auto}
.sim-lead.-after{margin-left:auto;margin-right:auto}
#simSample>p,#simLive>p:not(.sim-sub2){margin-left:auto;margin-right:auto}
details .sim-warn{max-width:none}
/* 18c 全体の配置点検: 複数行の本文は左揃えのまま、ブロックごと中央に置く(左右余白を均等に)。短い見出し・ボタン・バッジは中央 */
.sim-hero .sim-badge{margin:0 3px 6px}
.sim-subbox p,.sim-done p{margin-left:auto;margin-right:auto}
.sim-notice p{max-width:none}
.sim-sec .sim-acc-in>h3,.sim-sec .sim-acc-in>p,.sim-sec .sim-acc-in>ul,.sim-sec .sim-acc-in>ol,.sim-sec .sim-acc-in>dl{max-width:620px;margin-left:auto;margin-right:auto}
.sim-sec .sim-acc-in>ul.sim-list,.sim-sec .sim-acc-in>ol.sim-list,.sim-sec .sim-acc-in>ul.sim-sublist{padding-left:1.4em}
@media(max-width:700px){.sim-sec .sim-acc-in>ul.sim-list,.sim-sec .sim-acc-in>ol.sim-list,.sim-sec .sim-acc-in>ul.sim-sublist{margin-left:1.4em;padding-left:0;max-width:none;margin-right:0}}
.sim-sec details.sim-acc .sim-acc-in>h3{max-width:620px;margin-left:auto;margin-right:auto}
@media(min-width:601px){.sim-page a.sim-subband.-slim{justify-content:center}}
@media(max-width:700px){.sim-sec .sim-acc-in>ul.sim-sublist{margin-left:0;margin-right:0;max-width:none;padding-left:1.4em}}
