/* style.css — ほんとの値段 案C（内訳バー）。R-TG AI Studio 2026-11-01。明るい表示・暗い表示（端末の設定、または <html data-theme="light|dark">）に対応 */
/* ---- 共通（3案とも同じ。色・書体・行の形は各案の部分で決める） ---- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;color-scheme:light dark}
:root[data-theme=light]{color-scheme:light}
:root[data-theme=dark]{color-scheme:dark}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.75;word-break:auto-phrase;line-break:strict;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:var(--link)}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
h1,h2,h3{font-family:var(--font-head);line-height:1.4;margin:0;font-weight:700}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
dl,dd{margin:0}
.wrap{max-width:1120px;margin:0 auto;padding:0 16px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.num,[data-field=total],[data-field=price],[data-field^=elec],[data-field=rating],[data-field=rating-count],.c-total{font-variant-numeric:tabular-nums}
.note{color:var(--muted);font-size:.8125rem}
.is-empty{color:var(--muted)}
[hidden]{display:none!important}

/* ヘッダー・フッター */
.site-head{border-bottom:1px solid var(--rule);background:var(--head-bg,var(--bg))}
.site-head .wrap{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 20px;padding-top:14px;padding-bottom:14px}
.logo{font-family:var(--font-logo);font-weight:800;font-size:1.5rem;letter-spacing:.02em;text-decoration:none;line-height:1.2}
.logo-a{color:var(--text)}
.logo-b{color:var(--logo-accent)}
.site-sub{color:var(--muted);font-size:.875rem;line-height:1.6}
.site-foot{margin-top:64px;border-top:1px solid var(--rule);padding:20px 0 40px;font-size:.875rem}

/* 星（評価点の数字と件数を必ず添える） */
.rating{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:0 4px}
.stars::before{content:"★★★★★";letter-spacing:.06em;background:linear-gradient(90deg,var(--star) calc(var(--r) / 5 * 100%),var(--star-off) 0);-webkit-background-clip:text;background-clip:text;color:transparent}
.rating-num{font-weight:700}
.rating-count{color:var(--muted);font-size:.8125rem}

/* 販売店ボタン（楽天と Amazon を同じ扱い） */
.shops{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.shop{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 10px;border:1.5px solid var(--btn-line);border-radius:var(--btn-radius);background:var(--btn-bg);color:var(--btn-text);font-weight:700;font-size:.875rem;text-decoration:none;text-align:center;line-height:1.3}
.shop:hover{background:var(--btn-hover)}

/* 並べ替えタブ・条件（見た目だけ。動きは先方が付ける） */
.tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.tabs button{flex:none;font:inherit;font-size:.875rem;min-height:40px;padding:6px 14px;border:1px solid var(--rule-strong);border-radius:var(--tab-radius);background:var(--surface);color:var(--text);cursor:pointer}
.tabs button[aria-selected=true]{background:var(--tab-on);border-color:var(--tab-on);color:var(--tab-on-text);font-weight:700}
.cond-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cond-form label{display:flex;flex-direction:column;gap:4px;font-size:.875rem;color:var(--muted)}
.cond-form .field{display:flex;align-items:center;color:var(--text)}
.cond-form input,.cond-form select{font:inherit;font-size:1rem;min-height:44px;width:100%;padding:6px 10px;border:1px solid var(--rule-strong);border-radius:var(--field-radius);background:var(--surface);color:var(--text)}
.cond-form input{max-width:6em}
.cond-note{margin-top:8px;font-size:.8125rem;color:var(--muted)}
@media (max-width:640px){.cond-form{grid-template-columns:1fr 1fr}.cond-form label:last-child{grid-column:1/-1}}

/* 出典 */
.basis dl{display:grid;gap:10px}
.basis dl>div{display:grid;grid-template-columns:9em 1fr;gap:12px;font-size:.875rem}
.basis dt{font-weight:700}
.basis dd{color:var(--text-soft)}
@media (max-width:640px){.basis dl>div{grid-template-columns:1fr;gap:2px}}

.crumbs{display:flex;flex-wrap:wrap;gap:6px;font-size:.8125rem;color:var(--muted);padding-top:16px}
.crumbs a{color:var(--muted)}
.page-compare h1{font-size:clamp(1.5rem,1.1rem + 1.6vw,2rem);margin-top:12px}
.lead{margin-top:8px;color:var(--text-soft);max-width:44em}
.page-compare section,.page-top section{margin-top:40px}
.page-compare section h2,.page-top section h2{font-size:1.25rem;margin-bottom:14px}
.related a{font-weight:700}
.thumb{width:var(--thumb,88px);height:var(--thumb,88px);object-fit:contain;background:var(--thumb-bg);border-radius:var(--thumb-radius,6px);flex:none}
[data-field=model]{white-space:nowrap}
.nw{white-space:nowrap}
/* ---- 案C 内訳バー：総額を「本体」と「電気代」の2色の棒に分けて、ほんとの値段の中身を見せる ---- */
:root{
  --bg:#f3f5f6;--surface:#ffffff;--head-bg:#ffffff;--thumb-bg:#eef1f3;
  --text:#14202a;--text-soft:#33424e;--muted:#56636e;
  --link:#0b5f6e;--logo-accent:#0b5f6e;--focus:#0b5f6e;
  --rule:#dde3e7;--rule-strong:#b9c4cc;
  --part-p:#0b5f6e;--part-e:#d08a1e;--track:#e6ebee;
  --star:#a87410;--star-off:#d3dbe0;
  --btn-bg:#ffffff;--btn-line:#b9c4cc;--btn-text:#14202a;--btn-hover:#eef3f5;--btn-radius:8px;
  --tab-on:#0b5f6e;--tab-on-text:#ffffff;--tab-radius:8px;--field-radius:8px;--thumb-radius:8px;
  --font-body:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;
  --font-head:var(--font-body);--font-logo:var(--font-body);
}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){
  --bg:#0f1418;--surface:#161d22;--head-bg:#131a1f;--thumb-bg:#1d262c;
  --text:#e2e9ee;--text-soft:#c3cdd4;--muted:#95a3ad;
  --link:#6cc4d2;--logo-accent:#6cc4d2;--focus:#6cc4d2;
  --rule:#243038;--rule-strong:#384751;
  --part-p:#3fa9ba;--part-e:#e6a645;--track:#222c33;
  --star:#e2b44a;--star-off:#33414b;
  --btn-bg:#161d22;--btn-line:#384751;--btn-text:#e2e9ee;--btn-hover:#1d262c;
  --tab-on:#6cc4d2;--tab-on-text:#0c1316;
}}
:root[data-theme=dark]{
  --bg:#0f1418;--surface:#161d22;--head-bg:#131a1f;--thumb-bg:#1d262c;
  --text:#e2e9ee;--text-soft:#c3cdd4;--muted:#95a3ad;
  --link:#6cc4d2;--logo-accent:#6cc4d2;--focus:#6cc4d2;
  --rule:#243038;--rule-strong:#384751;
  --part-p:#3fa9ba;--part-e:#e6a645;--track:#222c33;
  --star:#e2b44a;--star-off:#33414b;
  --btn-bg:#161d22;--btn-line:#384751;--btn-text:#e2e9ee;--btn-hover:#1d262c;
  --tab-on:#6cc4d2;--tab-on-text:#0c1316;
}

/* トップ：今日の数字は、2本の棒で差を見せる */
.page-top .today{margin-top:24px;background:var(--surface);border-radius:12px;padding:22px 22px 18px;border:1px solid var(--rule)}
.today-label{font-size:.875rem!important;color:var(--muted);font-weight:700;margin-bottom:6px!important}
.today-head{font-size:clamp(1.25rem,1rem + 1.3vw,1.7rem);font-weight:800;line-height:1.5;max-width:28em}
.today-bars{margin-top:18px;display:grid;gap:12px;max-width:720px}
.tb{display:grid;grid-template-columns:13em minmax(0,1fr) 4.5em;align-items:center;gap:12px}
.tb-name{font-weight:700;font-size:.9375rem;line-height:1.4}
.tb-name small{display:block;font-weight:400;color:var(--muted);font-size:.8125rem}
.tb-bar{height:22px;border-radius:4px;background:linear-gradient(90deg,var(--part-e) var(--w),var(--track) 0)}
.tb-v{font-weight:800;font-size:1.25rem;text-align:right;font-variant-numeric:tabular-nums}
.tb-month{font-size:.875rem;color:var(--text-soft)}
.today-src{margin-top:12px;font-size:.8125rem;color:var(--muted)}
.today-more{margin-top:10px;font-weight:700}
@media (max-width:640px){.tb{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"n v" "b b";gap:4px 8px}.tb-name{grid-area:n}.tb-v{grid-area:v}.tb-bar{grid-area:b}}

.scene-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}
.scene-list>li{background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:14px 16px}
.scene-q{font-weight:800}
.scene-links{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:4px;font-size:.9375rem}
.cat-groups{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cat{background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:16px}
.cat h3{font-size:1.0625rem}
.cat p{font-size:.875rem;color:var(--muted);margin-top:2px}
.cat ul{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:10px}
.guides a{font-weight:700}
.guides span{margin-left:10px;font-size:.8125rem;color:var(--muted)}
@media (max-width:640px){.cat-groups{grid-template-columns:1fr}}

/* 比較：結論は、総額の小さな棒グラフつきの一覧 */
.conclusion{background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:18px 20px}
.concl-list{counter-reset:c}
.concl-list li{counter-increment:c;display:flex;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid var(--rule)}
.concl-list li::before{content:counter(c);font-weight:800;width:1.2em;flex:none;color:var(--link)}
.c-name{flex:1;font-weight:700}
.c-name small{display:block;font-weight:400;color:var(--muted);font-size:.8125rem}
.c-total{font-weight:800;font-size:1.125rem}
.concl-note{margin-top:10px;font-size:.875rem;color:var(--text-soft)}
.cond{background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:16px 18px}
.cond h2{font-size:1.0625rem!important}
.list .tabs{margin-bottom:6px}
.list::after{content:"";display:block}

/* 行：機種／内訳の棒／事実／店 */
.rows{margin-top:10px;display:grid;gap:10px}
.row{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1.6fr) minmax(0,1.05fr) 9.5em;grid-template-areas:"w b f s";gap:18px;align-items:center;background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:14px 16px}
.who{grid-area:w;display:flex;gap:10px;align-items:center}
.order{font-weight:800;color:var(--link);width:1.2em;flex:none;font-variant-numeric:tabular-nums}
.name{display:flex;flex-direction:column;min-width:0}
.model{font-weight:700;line-height:1.45}
.kind{font-size:.8125rem;color:var(--muted)}
.split{grid-area:b}
.split .total{font-size:1.625rem;font-weight:800;line-height:1.2;font-variant-numeric:tabular-nums}
.split .total small{font-size:.9375rem;margin-left:2px}
.bar{display:flex;height:14px;margin-top:6px;border-radius:3px;background:var(--track);overflow:hidden}
.bar-p{width:var(--p);background:var(--part-p)}
.bar-e{width:var(--e);background:var(--part-e)}
.legend{display:flex;flex-wrap:wrap;gap:2px 14px;margin-top:6px;font-size:.8125rem;font-variant-numeric:tabular-nums}
.legend > span::before{content:"";display:inline-block;width:.7em;height:.7em;border-radius:2px;margin-right:5px;vertical-align:-.05em}
.key-p::before{background:var(--part-p)}
.key-e::before{background:var(--part-e)}
.facts{grid-area:f;display:grid;gap:2px;font-size:.875rem}
.facts>div{display:grid;grid-template-columns:5.5em 1fr;gap:6px}
.facts dt{color:var(--muted)}
.row .shops{grid-area:s;grid-template-columns:1fr}
@media (max-width:980px){.row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"w w" "b b" "f s"}}
@media (max-width:640px){
  .row{grid-template-columns:1fr;grid-template-areas:"w" "b" "s" "f";gap:12px;padding:14px}
  .who .thumb{--thumb:64px}
  .row .shops{grid-template-columns:1fr 1fr}
}
.who .thumb{--thumb:72px}
/* ---- 案C 納品で足した部分（ロゴ・期間と部屋の組分け・カテゴリ一覧・記事） ---- */
.logo{display:block;line-height:0}
.logo-svg{display:block;height:34px;width:auto}
.lg-a{fill:var(--text)}
.lg-b{fill:var(--logo-accent)}
.lg-p{fill:var(--part-p)}
.lg-e{fill:var(--part-e)}
.site-head .wrap{align-items:center}

/* 条件の入力（4つ） */
.cond-form{grid-template-columns:repeat(4,minmax(0,1fr))}
.cond-form .field{gap:8px}
.cond-form .unit{flex:none}
.cond-form input{max-width:7em}
@media (max-width:760px){.cond-form{grid-template-columns:1fr 1fr}.cond-form label:last-child{grid-column:auto}}

/* 結論：組の名前を添える */
.c-name small{display:block}

/* 一覧：棒の見方と、部屋の広さの組 */
.key{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;margin-top:12px;font-size:.8125rem;color:var(--text-soft)}
.key>span::before{content:"";display:inline-block;width:.9em;height:.9em;border-radius:2px;margin-right:6px;vertical-align:-.1em}
.key>.key-p::before{background:var(--part-p)}
.key>.key-e::before{background:var(--part-e)}
.key>.key-note{color:var(--muted)}
.key>.key-note::before{display:none}
.group{margin-top:22px}
.group-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:1.0625rem;padding:10px 2px;border-bottom:2px solid var(--rule-strong)}
.group[data-group=unknown] .group-title,.group[data-group=short] .group-title{color:var(--text-soft)}
.group-count{font-size:.8125rem;font-weight:400;color:var(--muted)}
.group .rows{margin-top:10px}
.elec{margin-top:4px;font-size:.8125rem;color:var(--text-soft)}
.elec b{font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}
.rel-list li{display:flex;flex-wrap:wrap;gap:2px 12px;align-items:baseline;padding:4px 0}
.rel-list a{font-weight:700}
.rel-list span{font-size:.8125rem;color:var(--muted)}
.all-cats{margin-top:12px;font-weight:700}

/* カテゴリ一覧 */
.page-cats h1{font-size:clamp(1.5rem,1.1rem + 1.6vw,2rem);margin-top:12px}
.page-cats section{margin-top:36px}
.cat-block h2{font-size:1.25rem}
.cat-block h2 a{color:var(--text)}
.cat-lead{margin-top:4px;font-size:.9375rem;color:var(--text-soft)}
.cat-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;margin-top:14px}
.cat-items a{display:flex;flex-direction:column;gap:2px;min-height:64px;padding:12px 14px;background:var(--surface);border:1px solid var(--rule);border-radius:10px;text-decoration:none}
.cat-items a:hover{border-color:var(--link)}
.ci-name{font-weight:800;color:var(--text)}
.ci-how{font-size:.8125rem;color:var(--muted)}
.ci-how::before{content:"";display:inline-block;width:1.6em;height:.45em;margin-right:6px;vertical-align:.12em;border-radius:1px;background:linear-gradient(90deg,var(--part-p) 42%,var(--part-e) 0)}

/* 記事 */
.page-article .article{max-width:42em;margin:0 auto}
.page-article h1{font-size:clamp(1.5rem,1.1rem + 1.8vw,2.125rem);line-height:1.45;margin-top:12px}
.art-meta{margin-top:6px;font-size:.8125rem;color:var(--muted)}
.art-body{margin-top:20px;font-size:1.0625rem;line-height:1.95}
.art-body>*+*{margin-top:1.1em}
.art-body h2{font-size:1.375rem;margin-top:2.2em;padding-left:12px;border-left:5px solid var(--part-p);line-height:1.45}
.art-body h3{font-size:1.125rem;margin-top:1.8em}
.art-body mark{background:linear-gradient(transparent 58%,var(--marker) 0);color:inherit;padding:0 1px}
.art-body strong{font-weight:800}
.point{background:var(--surface);border:1px solid var(--rule);border-left:5px solid var(--part-e);border-radius:8px;padding:16px 18px}
.point p+p{margin-top:.6em}
.point-title{font-weight:800}
.bullets{padding-left:1.2em;list-style:disc}
.bullets li+li{margin-top:.3em}
.tbl{overflow-x:auto}
.tbl table{border-collapse:collapse;min-width:100%;font-size:.9375rem;background:var(--surface)}
.tbl th,.tbl td{border:1px solid var(--rule);padding:8px 12px;text-align:left}
.tbl thead th{background:var(--track);font-weight:700}
.tbl td{font-variant-numeric:tabular-nums;font-weight:700}
.fine{font-size:.8125rem;color:var(--muted);margin-top:.5em!important}
.page-article .related{max-width:42em;margin-left:auto;margin-right:auto}
:root{--marker:#ffe58a}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--marker:#6b5520}}
:root[data-theme=dark]{--marker:#6b5520}
.ci-how.is-unit::before{width:.5em;height:.5em;border-radius:50%;background:var(--link)}
/* ---- ほんとの値段 組み込みで足した部分（2026-11-01） ---- */
.art-body ul{list-style:disc;padding-left:1.4em}
.art-body ol{list-style:decimal;padding-left:1.6em}
.art-body li+li{margin-top:.35em}
.art-body .tbl{margin-top:1em}
.page-article .crumbs,.page-article .basis{max-width:42em;margin-left:auto;margin-right:auto}
.page-article .lead{margin-top:14px}
.bullets{padding-left:1.2em;list-style:disc}
.page-compare .lead+.lead{margin-top:4px}
.page-compare .cond-form{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
.page-compare .cond-form input{max-width:8em}
.page-compare .list .tabs+.note{margin-top:10px}
.page-compare .tabs[aria-label="欲しい機能"] button[aria-pressed=true]{background:var(--tab-on);border-color:var(--tab-on);color:var(--tab-on-text);font-weight:700}
.page-compare .group[data-group=ref] .group-title{color:var(--text-soft)}
.page-compare span.thumb{display:block}
.facts .note a,.facts a.note{color:var(--muted)}
.tbl .tbl,.tblwrap.tbl{overflow-x:auto}
.page-compare .tbl td{font-weight:400}
.site-head .wrap{gap:8px 20px}
@media (max-width:640px){.site-nav{gap:12px;font-size:.8125rem}.logo-svg{height:28px}}
@media (max-width:640px){.page-compare .cond-form{grid-template-columns:1fr 1fr}.page-compare .cond-form input{max-width:6em}}
.order{width:auto;min-width:1.2em;white-space:nowrap}
