:root{color-scheme:light;--field:#fff;--ph1:#e7f0ec;--ph2:#f6efe2;--btn:#2f6b5a;--btn-h:#24574a;--warn-line:#f0d9a8;--chipbg:rgba(255,255,255,.75);--shadow:rgba(0,0,0,.08);--bg:#fbf9f5;--surface:#fff;--ink:#23302b;--muted:#5d6b65;--line:#e3ddd2;--brand:#2f6b5a;--brand-d:#24574a;--accent:#e8a33d;--soft:#eef4f1;--warn:#fff5e2}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;line-height:1.8;font-size:16px}
a{color:var(--brand)}img{max-width:100%;display:block}
.wrap{max-width:1080px;margin:0 auto;padding:0 16px}
.muted{color:var(--muted)}.small{font-size:13px}
.site-h{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.site-h .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;flex-wrap:wrap}
.logo{font-weight:700;font-size:20px;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:8px;margin:0}
.mark{width:22px;height:22px;border-radius:6px;background:var(--btn);display:inline-block;position:relative}
.mark:after{content:"";position:absolute;left:5px;top:9px;width:12px;height:8px;background:var(--accent);border-radius:2px}
.gnav{display:flex;gap:4px;flex-wrap:wrap}
.gnav a{padding:8px 10px;text-decoration:none;color:var(--ink);font-size:14px;border-radius:8px}
.gnav a:hover{background:var(--soft)}
.gnav-cta{border:1px solid var(--brand);color:var(--brand)!important}
.crumbs{font-size:13px;color:var(--muted);margin:16px 0}.crumbs a{color:var(--muted)}
.hero{padding:40px 0 16px}
.hero h1{font-size:clamp(26px,5vw,40px);line-height:1.4;margin:0 0 12px}
.hero p{max-width:640px}
.hero-n{display:flex;gap:16px;flex-wrap:wrap;font-size:14px;color:var(--muted)}
.hero-n strong{color:var(--brand);font-size:20px}
.search{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;margin:16px 0}
.f-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
label{display:block;font-size:14px;font-weight:600}
input,select,textarea{width:100%;font:inherit;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--field);margin-top:4px;font-weight:400}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.chip{border:1px solid var(--line);background:var(--field);border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;cursor:pointer;color:var(--ink)}
.chip[aria-pressed=true]{background:var(--btn);color:#fff;border-color:var(--brand)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin:16px 0}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.card a{color:inherit;text-decoration:none;display:block;height:100%}
.card:hover{border-color:var(--brand)}
.thumb,.d-img{width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--soft)}
.ph{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--brand);background:linear-gradient(135deg,var(--ph1),var(--ph2))}
.ph span{font-weight:700;font-size:18px}.ph small{color:var(--muted)}
.card-b{padding:12px 16px 16px}.card h3{margin:4px 0;font-size:17px;line-height:1.5}
.st{font-size:13px;color:var(--brand);margin:0;font-weight:600}
.price{margin:6px 0;font-size:14px}.price strong{font-size:18px;color:var(--ink)}
.price span{display:block;font-size:12px}
.tags{list-style:none;padding:0;margin:8px 0;display:flex;flex-wrap:wrap;gap:6px}
.tags li{font-size:12px;background:var(--soft);color:var(--brand-d);padding:2px 8px;border-radius:6px}
.badge-feat{display:inline-block;background:var(--accent);color:#3a2700;font-size:12px;font-weight:700;padding:1px 8px;border-radius:6px}
.sec{margin:40px 0}.sec h2,.detail h2,.col h2{font-size:21px;border-left:4px solid var(--brand);padding-left:10px;margin:32px 0 12px}
.area-list,.col-list{list-style:none;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.area-list a,.col-list a{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;text-decoration:none;color:var(--ink)}
.col-list.big{grid-template-columns:1fr}
.cat{font-size:12px;color:var(--brand);font-weight:700}
.more{font-weight:600}
.btn{display:inline-block;background:var(--btn);color:#fff;text-decoration:none;padding:12px 20px;border-radius:10px;font-weight:700;border:0;font:inherit;font-weight:700;cursor:pointer;min-height:44px}
.btn:hover{background:var(--btn-h)}.btn-lg{padding:14px 28px;font-size:17px}
.btn-tel{background:var(--accent);color:#3a2700;margin:8px 0}.btn-tel:hover{background:#d6912b}
.owner{background:var(--soft);border-radius:14px;padding:4px 20px 20px}
.detail .d-top{display:grid;gap:20px;grid-template-columns:1fr}
@media(min-width:820px){.detail .d-top{grid-template-columns:1.1fr 1fr}}
.d-img{border-radius:14px}
.detail h1{font-size:clamp(22px,4vw,30px);line-height:1.4;margin:4px 0}
.catch{color:var(--muted);margin:0 0 8px}
.price-lg strong{font-size:28px}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin:12px 0}.gallery img{border-radius:10px;aspect-ratio:4/3;object-fit:cover}
.tbl{overflow-x:auto}table{border-collapse:collapse;width:100%;background:var(--surface);font-size:15px}
th,td{border:1px solid var(--line);padding:10px;text-align:left;vertical-align:top}th{background:var(--soft);white-space:nowrap;font-weight:600}
.contact{background:var(--surface);border:2px solid var(--brand);border-radius:14px;padding:4px 20px 20px;margin-top:32px}
form{display:grid;gap:14px;max-width:720px}
fieldset{border:1px solid var(--line);border-radius:12px;padding:12px 16px;display:grid;gap:12px;background:var(--surface)}
legend{font-weight:700;padding:0 6px}
.chk{display:flex;gap:8px;align-items:flex-start;font-weight:400}.chk input{width:auto;margin-top:6px}
.chkgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px}
.req{background:#b4442f;color:#fff;font-size:11px;padding:0 6px;border-radius:4px;margin-left:6px}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.msg{font-weight:600}
.notice{background:var(--warn);border:1px solid var(--warn-line);padding:12px 16px;border-radius:10px}
.lead{font-size:17px}
.col{max-width:760px}.col h1{font-size:clamp(22px,4vw,30px);line-height:1.45}
.col h3{font-size:18px;margin:24px 0 8px}
blockquote{margin:12px 0;padding:12px 16px;background:var(--soft);border-radius:10px}
.steps li{margin-bottom:8px}
.site-f{border-top:1px solid var(--line);background:var(--surface);margin-top:56px;padding:24px 0}
.f-cols{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.f-cols a{display:block;color:var(--ink);text-decoration:none;font-size:14px;padding:4px 0}
.f-h{font-weight:700;margin:0 0 4px}
[hidden]{display:none!important}
@media(max-width:600px){.gnav a{padding:6px 8px;font-size:13px}.hero{padding-top:24px}}
.points{background:var(--soft);border-radius:12px;padding:12px 18px;margin:16px 0}.points-h{font-weight:700;margin:0;color:var(--brand-d)}.points ul{margin:6px 0 0;padding-left:20px}
/* ---- 2026-11-13 デザインレビュー反映（高・中） ---- */
.thumb,.d-img,.gallery img{height:auto}
.thumb{object-position:center 60%}
input,select,textarea{font-size:16px}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.card:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px rgba(47,107,90,.25)}
.card a:focus-visible{outline:none}
/* 写真なしのカード：空白を月額に */
.ph strong{font-size:26px;color:var(--ink);line-height:1.3}.ph strong i{font-style:normal;font-size:13px;font-weight:600;margin-left:2px}
.ph span{font-size:14px}
/* 写真なしの詳細：細い帯 */
.d-img.ph-slim{aspect-ratio:auto;padding:16px;align-items:stretch;gap:8px;border-radius:14px}
.ph-slim ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ph-slim li{background:var(--chipbg);border-radius:10px;padding:8px;text-align:center;color:var(--ink);font-size:14px;line-height:1.4}
.ph-slim li b{display:block;font-size:12px;color:var(--brand-d)}
.ph-slim small{text-align:center}
/* カードの比較軸 */
.spec{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:6px 0;font-size:13px}
.spec dt{color:var(--muted)}.spec dd{margin:0;font-weight:600}
/* 検索 */
.f-main{grid-template-columns:1fr 1fr}
.moref{margin-top:12px;border-top:1px dashed var(--line);padding-top:8px}
.moref summary{cursor:pointer;font-weight:600;color:var(--brand);min-height:44px;display:flex;align-items:center}
.moref .f-row{margin-top:4px}
.chip{min-height:44px;padding:8px 14px;display:inline-flex;align-items:center;gap:6px}
.chip .n{font-size:11px;background:var(--soft);color:var(--brand-d);border-radius:999px;padding:0 7px;line-height:18px}
.chip[aria-pressed=true] .n{background:rgba(255,255,255,.25);color:#fff}
#count{margin:12px 0 0;font-size:14px}#count strong{font-size:18px}#count a{margin-left:10px}
/* 詳細ページ：本文幅と問い合わせ */
.detail>section,.detail>p{max-width:760px}
.d-cta{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}.d-cta .btn-tel{margin:0}
.more{font-weight:600}
.cta-bar{position:fixed;left:0;right:0;bottom:0;z-index:6;background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -4px 16px var(--shadow);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px calc(8px + env(safe-area-inset-bottom));min-height:60px;transition:transform .2s}
.cta-bar p{margin:0;display:flex;flex-direction:column;line-height:1.3}.cta-bar strong{font-size:20px}
.cta-bar .btn{margin:0;padding:10px 22px}
.cta-bar.off{transform:translateY(110%)}
body:has(.cta-bar) .site-f{padding-bottom:calc(88px + env(safe-area-inset-bottom))}
@media(min-width:820px){.cta-bar{left:auto;right:24px;bottom:24px;border:1px solid var(--line);border-radius:14px;width:320px}}
/* 掲載案内 */
.k-cta{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}
.sample{display:grid;gap:20px;grid-template-columns:1fr}
@media(min-width:760px){.sample{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start}}
.sample-pts{margin:0}.sample-pts li{margin-bottom:8px}
.flow{list-style:none;padding:0;margin:0;display:grid;gap:12px;grid-template-columns:1fr;counter-reset:f}
@media(min-width:760px){.flow{grid-template-columns:repeat(4,1fr)}}
.flow li{counter-increment:f;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.flow li:before{content:counter(f);width:28px;height:28px;border-radius:50%;background:var(--btn);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center}
.flow li span{font-size:14px;color:var(--muted)}
.checklist{list-style:none;padding:0}.checklist li{padding-left:28px;position:relative;margin-bottom:6px}.checklist li:before{content:"✓";position:absolute;left:4px;color:var(--brand);font-weight:700}
/* エリア一覧 */
.area-list a{flex-direction:row;align-items:center;gap:12px}
.area-list img,.a-ph{width:64px;height:64px;border-radius:10px;object-fit:cover;flex:none}
.a-ph{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--ph1),var(--ph2));color:var(--brand);font-weight:700}
.a-b{display:flex;flex-direction:column;flex:1;min-width:0}
.chev{font-size:24px;color:var(--brand);flex:none}
/* モバイル：ヘッダー1段・ヒーロー短く */
@media(max-width:600px){
 .site-h .wrap{flex-wrap:nowrap;min-height:52px;gap:8px}
 .logo{font-size:17px;flex:none}
 .gnav{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
 .gnav::-webkit-scrollbar{display:none}
 .gnav a{white-space:nowrap;min-height:40px;display:flex;align-items:center}
 .hero{padding:20px 0 4px}.hero h1{font-size:24px}
 .search{padding:12px}
}
@media(max-width:600px){.pc{display:none}.gnav{overflow:visible}}
h1{line-height:1.4}

/* ---- ダークモード（2026-11-13 レビュー低 L1）---- */
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#151b19;--surface:#1d2522;--ink:#e6ebe8;--muted:#a9b5af;--line:#33403b;--brand:#8fd0b6;--brand-d:#b3e2cf;--soft:#24332d;--warn:#33291a;--warn-line:#5c4a28;--field:#151b19;--ph1:#22302b;--ph2:#2e2a22;--btn:#2f6b5a;--btn-h:#3a7d69;--chipbg:rgba(0,0,0,.25);--shadow:rgba(0,0,0,.5);color-scheme:dark}}
:root[data-theme=dark]{--bg:#151b19;--surface:#1d2522;--ink:#e6ebe8;--muted:#a9b5af;--line:#33403b;--brand:#8fd0b6;--brand-d:#b3e2cf;--soft:#24332d;--warn:#33291a;--warn-line:#5c4a28;--field:#151b19;--ph1:#22302b;--ph2:#2e2a22;--btn:#2f6b5a;--btn-h:#3a7d69;--chipbg:rgba(0,0,0,.25);--shadow:rgba(0,0,0,.5);color-scheme:dark}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) img{filter:brightness(.92)}}
/* ロゴ（L3）：読点をアクセント色の丸に */
.logo{letter-spacing:.04em;font-size:22px}
svg.mark{width:28px;height:28px;flex:none;background:none;border-radius:0}
svg.mark:after{display:none}
.ten{display:inline-block;width:.32em;height:.32em;border-radius:50%;background:var(--accent);margin:0 .14em;vertical-align:-.02em}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.site-f .logo{font-size:18px}
/* コラム見出しの副題（L2） */
.col h1 small{display:block;font-size:15px;font-weight:600;color:var(--muted);margin-top:6px;line-height:1.6}
@media(max-width:600px){.logo{font-size:18px}svg.mark{width:24px;height:24px}}
@media(max-width:600px){.site-h .logo{letter-spacing:0;font-size:17px;gap:6px}.gnav{gap:0}.gnav a{padding:6px 7px}}
@media(max-width:360px){.site-h svg.mark{display:none}.gnav a{padding:6px 5px;font-size:12px}}

/* ---- 2回目レビュー反映（2026-11-13） ---- */
h1,h2{word-break:auto-phrase;text-wrap:balance}
.nw{display:inline-block}
/* 絞り込み：件数を上に貼り付け・当たったタグを先頭に */
#count{position:sticky;top:52px;z-index:2;background:var(--surface);margin:8px -4px 0;padding:6px 4px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
@media(min-width:601px){#count{top:60px}}
#clr{font:inherit;font-size:14px;font-weight:600;color:var(--brand);background:none;border:1px solid var(--line);border-radius:999px;padding:0 14px;min-height:44px;cursor:pointer}
.chip:disabled{opacity:.4;cursor:not-allowed}
.moref summary{list-style:none}.moref summary::-webkit-details-marker{display:none}
.moref summary::after{content:"＋";margin-left:8px;font-weight:700}.moref[open] summary::after{content:"－"}
.card .tags{display:flex}
.card .tags li{display:none}.card .tags li:nth-child(-n+4){display:inline-block}
.card .tags li.hit{display:inline-block;order:-1;background:var(--btn);color:#fff}
/* 詳細：比べる軸・電話ボタン */
.spec-lg{font-size:14px;margin:8px 0 10px}
.d-cta{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin:12px 0}
.pcv{display:none}
@media(min-width:820px){.sp{display:none}.pcv{display:inline}}
.cta-bar .btn{white-space:nowrap}
/* コラム：目次と表 */
.toc{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 18px;margin:16px 0}
.toc-h{font-weight:700;margin:0 0 4px}.toc ol{margin:0;padding-left:22px}.toc li{margin:2px 0}
@media(max-width:600px){
 .tbl-r table,.tbl-r tbody,.tbl-r tr,.tbl-r td{display:block;width:100%}
 .tbl-r thead{display:none}
 .tbl-r tr{border:1px solid var(--line);border-radius:10px;margin-bottom:10px;overflow:hidden;background:var(--surface)}
 .tbl-r td{border:0;border-bottom:1px solid var(--line);padding:8px 12px}
 .tbl-r td:last-child{border-bottom:0}
 .tbl-r td::before{content:attr(data-label);display:block;font-size:12px;font-weight:700;color:var(--muted)}
 .tbl-r td:first-child{background:var(--soft);font-weight:700}
}
/* 掲載案内：特徴の箱と詳細の見本 */
.feat-grid{list-style:none;padding:0;display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:760px){.feat-grid{grid-template-columns:1fr 1fr}}
.feat-grid li{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.feat-grid li strong{display:block;color:var(--brand-d)}
.dprev{display:block;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;color:var(--ink);text-decoration:none}
.dprev-b{display:flex;flex-direction:column;gap:4px;padding:12px 16px 16px}
.dprev-n{font-size:17px}.dprev b{font-size:20px}
.dprev-btn{align-self:flex-start;background:var(--accent);color:#3a2700;font-weight:700;border-radius:10px;padding:8px 16px;margin-top:6px}
/* 320px：家マークを消さず小さく */
@media(max-width:360px){.site-h svg.mark{display:block;width:20px;height:20px}.gnav a{padding:6px 4px}}
.ph-slim li{word-break:keep-all}
@media(max-width:360px){.ph-slim li{font-size:13px;padding:6px 4px}}
.st-grid{display:grid;grid-template-columns:1fr 1fr 90px;gap:8px 10px;align-items:end}.st-grid .st-h{grid-column:1/-1;margin:4px 0 0;font-weight:700;font-size:14px}
@media(max-width:480px){.st-grid{grid-template-columns:1fr 1fr}.st-grid label:nth-of-type(3n){grid-column:1/-1}}
.ph-prev{display:flex;flex-wrap:wrap;gap:6px}.ph-prev img{width:72px;height:72px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
.msg.ok{color:var(--brand-d)}.msg.ng{color:#b4442f}
.dl{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:16px 0}
.btn-ghost{background:transparent;color:var(--brand);border:1.5px solid var(--brand)}.btn-ghost:hover{background:var(--soft);color:var(--brand-d)}
.vids{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.vid{margin:0}.vid-f{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000}.vid-f iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.vid figcaption{font-size:14px;color:var(--muted);margin-top:4px}
.eyebrow{display:inline-block;background:var(--soft);color:var(--brand-d);font-weight:700;font-size:13px;padding:2px 10px;border-radius:999px;margin:0 0 6px}
.short-b{margin:0 0 4px;font-size:13px;font-weight:700;color:var(--brand-d)}.short-t{font-weight:400;color:var(--ink)}
.tanki-bn a{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:16px 18px;text-decoration:none;color:var(--ink)}.tanki-bn strong{font-size:18px}.tanki-bn span{color:var(--muted);font-size:14px}.tanki-bn .chev{margin-left:auto;font-size:22px}
@media(max-width:420px){.gnav .nav-list{display:none}}
picture{display:block}.area-list picture{flex:0 0 auto}.area-list picture img{width:80px;height:80px;object-fit:cover;border-radius:10px}
.more-wrap{text-align:center;margin:8px 0 16px}
.a-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:12px 0}.a-stats div{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.a-stats dt{font-size:12px;color:var(--muted)}.a-stats dd{margin:0;font-weight:700;font-size:17px}
.st-h3{font-size:17px;margin:18px 0 6px}.st-jump{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:14px}
.pager{display:flex;gap:6px;justify-content:center;margin:16px 0}.pager a,.pager span{min-width:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;text-decoration:none}.pager span{background:var(--brand);color:#fff;border-color:var(--brand)}
/* トップ見出し「〇〇とも、暮らす。」：〇〇だけが縦に入れ替わる（2026-11-13） */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.h1-slot .slot-line{display:inline-flex;align-items:flex-start;white-space:nowrap;font-size:1.25em;line-height:1.4;letter-spacing:.02em}
.h1-slot .slot{position:relative;display:inline-block;width:2em;height:1.4em;overflow:hidden;text-align:right;flex:none}
.h1-slot .slot-w{position:absolute;right:0;top:0;display:block;will-change:transform,opacity;color:var(--brand)}
.h1-slot .slot-fixed{flex:none}
.h1-slot .h1-sub{display:block;font-size:.6em;line-height:1.6;margin-top:.35em;font-weight:700}
@media(max-width:600px){.h1-slot .slot-line{font-size:1.3em}.h1-slot .h1-sub{font-size:.62em}}
/* 暮らし方タグ（2026-11-13） */
.card{display:flex;flex-direction:column}.card>a{flex:1}
.ltags{list-style:none;margin:0;padding:0 16px 14px;display:flex;flex-wrap:wrap;gap:6px}
.ltags a{display:inline-flex;align-items:center;min-height:32px;padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--brand-d);font-size:13px;text-decoration:none}
.ltags a:hover,.ltags a.hit{border-color:var(--brand);background:var(--soft)}
.ltags-lg{padding:0}.ltags-lg a{min-height:40px;font-size:15px;padding:6px 14px}.ltags-lg small{color:var(--muted);font-size:11px;margin-right:2px}
.ltf .lt-g{margin:10px 0}.lt-gh{margin:0 0 4px}.lt-gbtn{font:inherit;font-weight:700;font-size:14px;background:none;border:0;padding:4px 0;color:var(--ink);cursor:pointer}
.lt-gbtn[aria-pressed=true]{color:var(--brand);text-decoration:underline}.lt-gbtn .n,.chip .n{margin-left:4px;font-size:11px;color:var(--muted)}
.ltsel{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px}.ltsel:empty{display:none}
.pill{font:inherit;font-size:13px;border:1px solid var(--brand);background:var(--soft);color:var(--brand-d);border-radius:999px;padding:4px 12px;min-height:32px;cursor:pointer}
.genre-cards{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media(max-width:820px){.genre-cards{grid-template-columns:repeat(2,1fr);gap:10px}}
.genre-cards a{position:relative;display:block;border-radius:14px;overflow:hidden;text-decoration:none}
.genre-cards .gc-img{width:100%;height:auto;aspect-ratio:425/409;display:block}
.genre-cards a:hover .gc-img,.genre-cards a:focus-visible .gc-img{filter:brightness(.97)}
.gc-n{position:absolute;right:8px;bottom:8px;background:rgba(255,255,255,.92);color:#23302b;font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px}
.ltpick .lt-g{margin:6px 0 10px}.ltpick .lt-gh{margin:0 0 6px;font-weight:700;font-size:14px}
.lt-opts{display:flex;flex-wrap:wrap;gap:8px}
.lt-opt{display:inline-flex;align-items:center;position:relative;font-weight:400}
.lt-opt input{position:absolute;opacity:0;width:1px;height:1px}
.lt-opt span{display:inline-flex;align-items:center;min-height:40px;padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);cursor:pointer;font-size:14px}
.lt-opt input:checked+span{background:var(--brand);color:#fff;border-color:var(--brand)}
.lt-opt input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px}
.lt-opt.off span{opacity:.45;cursor:not-allowed}
.lt-count{font-weight:700;color:var(--brand-d);margin:4px 0}
/* 問い合わせ導線（2026-11-13） */
.inq-for{margin:0;padding:10px 12px;background:var(--soft);border-radius:10px;font-size:14px}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--soft);padding:4px;border-radius:12px}
.seg label{position:relative;font-weight:700}.seg input{position:absolute;opacity:0;width:1px;height:1px}
.seg span{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:9px;cursor:pointer;color:var(--brand-d)}
.seg input:checked+span{background:var(--surface);box-shadow:0 1px 4px var(--shadow);color:var(--ink)}
.seg input:focus-visible+span{outline:2px solid var(--brand)}
.d-cta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.d-cta .btn{margin:0}
.btn-icon{min-width:48px;padding:10px 14px}
.cta-bar{gap:8px}.cb-price{flex:none}.cb-price strong{font-size:18px!important}
.cb-btns{display:flex;gap:6px;flex:1;justify-content:flex-end}.cb-btns .btn{padding:10px 14px;white-space:nowrap;min-height:44px}
@media(max-width:380px){.cb-price{display:none}.cb-btns{justify-content:stretch}.cb-btns .btn{flex:1;text-align:center}}
/* 短期の概算（2026-11-13） */
.est-card{margin:4px 0 8px;background:var(--soft);border-radius:10px;padding:8px 10px;font-size:13px}
.est-dl{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:0}.est-dl dt{color:var(--muted)}.est-dl dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.est-sum{margin:6px 0 0;padding-top:6px;border-top:1px dashed var(--line);display:flex;flex-wrap:wrap;gap:2px 8px;align-items:baseline}.est-sum strong{font-size:17px}
.unk{color:#a0522d;font-weight:700;font-size:12px}.est-short{margin:0;color:#a0522d;font-weight:700}
.est-h{font-size:16px;margin:16px 0 6px}table.est td{text-align:right;font-variant-numeric:tabular-nums}.est-total th,.est-total td{background:var(--soft)}
.cmp h2{font-size:19px}.cmp-list{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:8px}
.cmp-list a{display:grid;grid-template-columns:1fr auto;grid-template-areas:"n t" "m t";gap:2px 12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 14px;text-decoration:none;color:var(--ink)}
.cmp-n{grid-area:n;font-weight:700;font-size:14px;line-height:1.4}.cmp-m{grid-area:m;font-size:12px;color:var(--muted)}
.cmp-t{grid-area:t;text-align:right;display:flex;flex-direction:column;align-items:flex-end}.cmp-t strong{font-size:18px;font-variant-numeric:tabular-nums}
.h1-slot .slot-out::before{content:attr(data-t)}
/* LINE（2026-11-13・LINE のブランド色） */
.btn-line{background:#06C755;color:#fff}.btn-line:hover{background:#05b04b;color:#fff}
.line-box{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:12px 0}.line-h{font-weight:700;margin:0 0 4px}
.copied-toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);background:#23302b;color:#fff;padding:10px 16px;border-radius:999px;font-size:14px;z-index:9;box-shadow:0 4px 16px rgba(0,0,0,.2)}
.cb-btns .btn{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;padding:10px 12px}
@media(max-width:360px){.cta-bar .cb-price{display:none}}
.lt-rows{margin:0;display:grid;gap:10px}.lt-rows div{display:grid;gap:4px}
.lt-rows dt a{font-size:13px;font-weight:700;color:var(--muted);text-decoration:none}.lt-rows dt a:hover{color:var(--brand)}.lt-rows dd{margin:0}
/* ロゴ（2026-11-13 ユーザー提供・黒線の透過画像。ダークモードは反転して明るい線に） */
.logo-img{display:block;height:28px;width:auto}
@media(max-width:600px){.logo-img{height:24px}}
@media(max-width:360px){.logo-img{height:20px}}
.f-logo-wrap{margin:0 0 8px}.f-logo{display:block;width:220px;height:auto}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .logo-img,:root:not([data-theme=light]) .f-logo{filter:invert(.92)}}
:root[data-theme=dark] .logo-img,:root[data-theme=dark] .f-logo{filter:invert(.92)}
/* 暮らし方の8ジャンル：枠つきカード＋文字＋線画アイコン（SVG を mask で currentColor に） */
.genre-cards a{display:flex;flex-direction:column;justify-content:space-between;gap:4px;aspect-ratio:1/1;border:1.5px solid var(--ink);border-radius:16px;padding:14px 14px 8px;color:var(--ink);background:var(--surface)}
.gc-label{font-size:clamp(15px,2.2vw,20px);font-weight:700;line-height:1.35;letter-spacing:.04em}
.gc-icon{display:block;flex:1;min-height:0;width:100%;background:currentColor;-webkit-mask:var(--i) center bottom/contain no-repeat;mask:var(--i) center bottom/contain no-repeat}
.genre-cards a:hover{border-color:var(--brand);color:var(--brand-d)}
.gc-n{position:absolute;right:10px;top:10px;bottom:auto;background:var(--soft);color:var(--brand-d)}
/* 暮らし方から探す：カード＋展開パネル（2026-11-14）。サイトのカードと同じ背景・角丸・線 */
.genre-cards a.gcard{display:grid;grid-template-rows:auto auto 1fr;gap:2px;aspect-ratio:auto;position:relative;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);padding:10px 12px 12px;text-decoration:none;transition:border-color .15s,background .15s}
.gcard .gc-icon{display:block;width:100%;aspect-ratio:16/10;flex:none;background:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat;margin-bottom:6px}
.gcard .gc-label{font-size:16px;font-weight:700;line-height:1.4;letter-spacing:.02em}
.gcard .gc-desc{font-size:12px;color:var(--muted);line-height:1.5}
.gcard .gc-n{position:absolute;top:8px;right:8px;background:var(--soft);color:var(--brand-d);font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px}
.genre-cards a.gcard:hover{border-color:var(--brand)}
.genre-cards a.gcard[aria-pressed=true]{border:2px solid var(--brand);background:var(--soft);padding:9px 11px 11px}
.genre-cards a.gcard[aria-pressed=true] .gc-label{color:var(--brand-d)}
.genre-cards a.gcard:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
@media(max-width:600px){.genre-cards{gap:8px}.gcard .gc-icon{aspect-ratio:16/9}.gcard .gc-label{font-size:14px}.gcard .gc-desc{font-size:11px}}
.gpanel{margin-top:12px;background:var(--surface);border:2px solid var(--brand);border-radius:14px;padding:14px 16px}
.gp-h{margin:0 0 8px;font-weight:700}.gpanel .chips{margin:0}
.gpanel .chip.lt{min-height:40px;padding:6px 14px}
.gp-foot{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}
.gp-foot .chk{flex-basis:100%}.gp-foot .btn{margin:0}
.gp-d{display:block;font-weight:400;font-size:13px;color:var(--muted)}
.gp-foot #gpclose{padding:8px 14px;min-height:40px;font-size:14px}
.f-copy{font-weight:700;margin:0 0 4px}
/* 2026-11-14 ジャンルカード：イラストの左右の余白をなくす（SVG の viewBox を絵の範囲に切り詰め、枠を 4:3 に）。件数バッジは見出しの右へ */
.genre-cards a.gcard{grid-template-columns:1fr auto;grid-template-rows:auto auto 1fr;column-gap:6px;row-gap:2px;padding:8px 10px 10px}
.genre-cards a.gcard[aria-pressed=true]{padding:7px 9px 9px}
.gcard .gc-icon{grid-column:1/-1;aspect-ratio:4/3;margin-bottom:4px;-webkit-mask-position:center;mask-position:center}
.gcard .gc-label{grid-column:1;grid-row:2;align-self:center;white-space:nowrap}
.gcard .gc-n{position:static;grid-column:2;grid-row:2;align-self:center}
.gcard .gc-desc{grid-column:1/-1;grid-row:3}
@media(max-width:600px){.gcard .gc-icon{aspect-ratio:4/3}.genre-cards a.gcard{padding:6px 8px 8px}.genre-cards a.gcard[aria-pressed=true]{padding:5px 7px 7px}}
@media(max-width:600px){.gcard .gc-label{font-size:13px;letter-spacing:0}.gcard .gc-n{font-size:10px;padding:1px 5px}}
.genre-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:820px){.genre-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.gcard .gc-n{white-space:nowrap}
@media(max-width:360px){.genre-cards a.gcard{grid-template-rows:auto auto auto 1fr}.gcard .gc-label{grid-column:1/-1}.gcard .gc-desc{grid-column:1/-1;grid-row:3;letter-spacing:-.03em}.gcard .gc-n{grid-column:1/-1;grid-row:4;justify-self:end;align-self:end;margin-top:2px}}
/* ヘッダーの文字ロゴ（2026-11-14・Zen Maru Gothic。読み込み前はヒラギノの丸ゴ／太字で代替） */
.logo-txt{font-family:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Hiragino Sans",sans-serif;font-weight:700;font-size:26px;line-height:1;letter-spacing:.02em;color:var(--ink);white-space:nowrap}
.logo-c{display:inline-block;margin:0 -.38em 0 -.06em}
@media(max-width:600px){.logo-txt{font-size:23px}}
@media(max-width:360px){.logo-txt{font-size:20px}}
/* 2026-11-14 トップ：暮らし方を中心に。ジャンルはヒーロー直下、検索は結果の見出し＋詳細条件の折りたたみ */
.genres-top{margin:8px 0 0}.genres-top h2{margin-top:8px}
.s-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;position:sticky;top:52px;z-index:2;background:var(--surface);margin:-4px -4px 0;padding:6px 4px;scroll-margin-top:64px}
@media(min-width:601px){.s-head{top:60px;scroll-margin-top:72px}}
.s-head:focus{outline:none}
#count{position:static;margin:0;padding:0;background:none;flex:1 1 auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.s-sort select{min-height:40px;font-size:14px;padding:4px 8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.morecnt{margin-left:8px;font-size:12px;font-weight:700;background:var(--soft);color:var(--brand-d);border-radius:999px;padding:0 8px}.morecnt:empty{display:none}
.f-sub{margin:12px 0 4px;font-weight:700;color:var(--muted)}
/* 0件の暮らし方：隠さず、薄く・点線で「まだ掲載がない」と選ぶ前にわかるように */
.gcard .gc-zero{display:none}
.genre-cards a.gcard.zero{border-style:dashed;background:transparent;cursor:default;color:var(--muted)}
.genre-cards a.gcard.zero:hover{border-color:var(--line);color:var(--muted)}
.gcard.zero .gc-icon{opacity:.35}
.gcard.zero .gc-n{background:transparent;border:1px solid var(--line);color:var(--muted)}
.gcard.zero .gc-desc{display:none}.gcard.zero .gc-zero{display:block;grid-column:1/-1;grid-row:3;font-size:11px;color:var(--muted);line-height:1.5}
.gpanel .chip.lt:disabled{opacity:.45;cursor:default}
#gpgo.is-off{background:var(--line);border-color:var(--line);color:var(--muted);pointer-events:none}
.ltsel .clr{font:inherit;font-size:13px;background:none;border:0;color:var(--brand);text-decoration:underline;min-height:32px;padding:0 4px;cursor:pointer}
@media(max-width:600px){.s-sort select{font-size:13px;padding:4px 6px}}
/* 0件の暮らし方を選んだとき（2026-11-14）：行き止まりにせず、近い暮らし方と掲載案内へ */
.genre-cards a.gcard.zero{cursor:pointer}
.genre-cards a.gcard.zero:hover{border-color:var(--brand);color:var(--ink)}
.genre-cards a.gcard.zero[aria-pressed=true]{border:2px dashed var(--brand);background:var(--soft);color:var(--ink)}
.gp-zero{margin-top:12px;padding:12px 14px;border-radius:12px;background:var(--soft)}
.gpz-h{margin:0 0 4px;font-weight:700}
.gpz-sub{margin:10px 0 6px;font-size:13px;font-weight:700;color:var(--brand-d)}
.gpz-alt{display:flex;flex-wrap:wrap;gap:6px}.gpz-alt .pill{text-decoration:none;display:inline-flex;align-items:center;gap:6px;background:var(--surface)}
.gpz-alt .n{font-size:11px;color:var(--muted)}
.gpz-owner{margin:10px 0 0}
/* 掲載案内（2026-11-14）：ブランドの世界観（線画・「〇〇とも、暮らす。」）を運営者向けにも */
.k-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:center;padding:24px 0 8px}
.k-kicker{margin:0 0 6px;font-size:14px;font-weight:700;color:var(--brand)}
.k-hero h1{font-size:clamp(24px,4.2vw,36px);line-height:1.45;margin:0 0 12px}
.k-hero-i{margin:0}.k-hero-i img{width:100%;max-width:420px;height:auto;margin-left:auto}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .k-hero-i img{filter:invert(.92)}}
:root[data-theme=dark] .k-hero-i img{filter:invert(.92)}
@media(max-width:700px){.k-hero{grid-template-columns:1fr;gap:4px;padding-top:12px}.k-hero-i{order:-1}.k-hero-i img{max-width:300px;margin:0 auto 8px}}
.k-gtiles{list-style:none;padding:0;margin:12px 0 8px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
@media(max-width:820px){.k-gtiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}
.kg{display:grid;gap:2px;border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:8px 10px 10px;color:var(--ink)}
.kg .gc-icon{display:block;width:100%;aspect-ratio:4/3;background:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat;margin-bottom:4px}
.kg-l{font-weight:700;font-size:15px;line-height:1.4}
.kg-t{font-size:12px;color:var(--muted);line-height:1.5}
.kg-n{justify-self:start;margin-top:4px;font-size:11px;font-weight:700;background:var(--soft);color:var(--brand-d);border-radius:999px;padding:1px 8px}
.kg.zero{border-style:dashed;background:transparent}.kg.zero .gc-icon{opacity:.35}.kg.zero .kg-n{background:transparent;border:1px solid var(--line);color:var(--muted)}
@media(max-width:600px){.kg-l{font-size:13px}.kg-t{font-size:11px}}
/* 掲載先の選択（2026-11-14） */
.kinds .kind-opt{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:start;border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:8px 0;background:var(--surface)}
.kinds .kind-opt input{margin-top:5px;grid-row:1/3}.kinds .kind-opt .muted{grid-column:2}
.kinds .kind-opt:has(input:checked){border-color:var(--brand);background:var(--soft)}
.kinds-err{color:#b3261e;font-weight:700;margin:4px 0 0}
.kinds-note{display:block;font-weight:400}
[data-for][hidden]{display:none!important}
