/* 物差し：色はロゴの2色（えんじ・木の茶）＋墨と白。緑は相談のボタンだけ。角は6px、余白は8の倍数 */
:root{
--ink:#1d1916;--sub:#5b534c;--line:#e3ded6;--paper:#fff;--base:#f4efe7;--dark:#2b161b;
--brand:#781030;--brand-d:#5a0c24;--wood:#9c6419;--wood-l:#f4ece1;--brand-l:#f6eef0;
--g:#047a36;--gink:#036b30;
--r:6px;--s1:8px;--s2:16px;--s3:24px;--s4:40px;--s5:64px;
--fh:"Zen Kaku Gothic New","Noto Sans JP","Hiragino Sans",sans-serif;--fb:"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--fb);font-size:16px;line-height:1.85;overflow-wrap:anywhere;font-feature-settings:"palt" 0}
a{color:var(--brand)}img{display:block;max-width:100%}
h1,h2,h3{font-family:var(--fh);font-weight:700;letter-spacing:.02em}
h1{font-size:27px;line-height:1.4;margin:0 0 var(--s1)}
h2{font-size:22px;line-height:1.45;margin:0 0 var(--s2)}
h2::before{content:"";display:block;width:28px;height:3px;background:var(--wood);margin-bottom:12px}
.dark h2::before,.endcta h2::before{background:#c9a26b}
h3{font-size:17px;line-height:1.5;margin:0 0 var(--s1)}
p{margin:0 0 var(--s2)}.nb{display:inline-block}
[id]{scroll-margin-top:72px}
.num{font-family:var(--fh);font-weight:700;letter-spacing:.01em;font-variant-numeric:tabular-nums}
.note{background:var(--dark);color:#cfc5ba;font-size:12px;padding:5px 12px;text-align:center}.note a{color:#fff}
header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}
.hd{display:flex;align-items:center;justify-content:space-between;gap:10px;max-width:1120px;margin:0 auto;padding:8px 16px;min-height:60px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.logo img{height:30px;width:auto}.logo small{font-size:12px;color:var(--sub);line-height:1.35;border-left:1px solid var(--line);padding-left:10px}
@media (max-width:479px){.logo small{display:none}.logo img{height:32px;width:auto}}
.mb{white-space:nowrap;flex:none;border:1px solid var(--ink);background:#fff;border-radius:var(--r);padding:8px 14px;font-weight:700;font-family:inherit;font-size:14px;color:var(--ink);min-height:44px}
#m{display:none;border-top:1px solid var(--line);background:#fff;padding:4px 16px 16px;max-height:calc(100vh - 64px);overflow:auto}#m.on{display:block}
#m a{display:block;padding:13px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);font-weight:700}#m a.sub{font-weight:500;font-size:15px;color:var(--sub)}
.pcnav,.pcbtn{display:none}
main{max-width:1120px;margin:0 auto}
.s{padding:var(--s4) var(--s2)}.g{background:var(--base)}
.dark{background:var(--dark);color:#eee7df}.dark h2{color:#fff}.dark .mute{color:#c4b9ae}.dark a.more{color:#e9c6cf}
.eyebrow{font-size:13px;color:var(--brand);font-weight:700;margin:0 0 4px;letter-spacing:.04em}
.lead{font-size:16px;margin-top:var(--s2)}
.mute{color:var(--sub);font-size:14px}
.note2{color:var(--sub);font-size:13px;margin:var(--s1) 0 0}
/* 最初の画面 */
.fvwrap{padding:0 0 var(--s3)}.fvwrap .hero{margin:0}.fvwrap .hero .sw{border-radius:0}.fvwrap .hero figcaption{padding:0 var(--s2)}
.fvtext{padding:var(--s3) var(--s2) 0}
.fvtext h1{margin:0 0 4px;font-size:28px}
.fvtext .sub1{color:var(--sub);font-size:15px;margin:0}
.cap{display:flex;flex-wrap:wrap;gap:2px 12px;align-items:baseline;padding:var(--s2) 0 0;margin:0;font-size:14px;border-top:1px solid var(--line);margin-top:var(--s2)}.cap b{font-size:17px}.cap a{font-weight:700;text-decoration:none}
/* 工事後を大きく・工事前を角に */
.hero{margin:var(--s2) 0}
.sw{position:relative;display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;border-radius:var(--r);overflow:hidden;font:inherit;color:inherit}
.sw img.a{width:100%;aspect-ratio:4/3;object-fit:cover}
.sw .mini{left:12px;bottom:12px;width:34%;border-width:3px}
.sw .lb.a{left:auto;right:12px;top:12px;background:var(--brand)}.sw.flip .lb.a{background:rgba(29,25,22,.85)}.sw.flip .mini i{background:var(--brand)}
.hero figcaption{font-size:13.5px;color:var(--sub);margin-top:var(--s1);display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.hint{font-size:12px}
/* 補修：同じ大きさで並べる */
.side{margin:var(--s2) 0}.s2{display:grid;grid-template-columns:1fr 1fr;gap:2px;border-radius:var(--r);overflow:hidden;background:var(--line)}
.s2 div{position:relative}.s2 img{width:100%;aspect-ratio:1/1;object-fit:cover}
.lb{position:absolute;left:8px;top:8px;background:rgba(29,25,22,.82);color:#fff;font-size:12px;font-weight:700;padding:1px 9px;border-radius:3px;letter-spacing:.04em}.lb.a{background:var(--brand)}
.side figcaption,.strip figcaption,.dur figcaption{font-size:13.5px;color:var(--sub);margin-top:6px}
/* 入口 */
.ent-main{display:grid;grid-template-columns:1fr;gap:var(--s2);margin-top:var(--s2)}
.ent-main a{position:relative;display:block;border-radius:var(--r);overflow:hidden;text-decoration:none;color:#fff;background:#222}
.ent-main img{width:100%;aspect-ratio:16/9;object-fit:cover}
.ent-main span{position:absolute;left:0;right:0;bottom:0;padding:32px 16px 14px;background:linear-gradient(transparent,rgba(0,0,0,.7));font-family:var(--fh);font-weight:700;font-size:21px;line-height:1.3}
.ent-main small{display:block;font-family:var(--fb);font-size:13px;font-weight:500;margin-top:4px}
.ent-main span::after{content:"→";position:absolute;right:16px;bottom:14px;font-size:18px}
.ent-sub{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s1);margin-top:var(--s1)}
.ent-sub a{display:block;text-decoration:none;color:var(--ink);font-weight:700;font-size:14px;line-height:1.35}
.ent-sub img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--r);margin-bottom:6px}
.ent-sub small{font-weight:500;color:var(--sub);font-size:12px}
.ent-rep{display:flex;align-items:center;gap:var(--s2);margin-top:var(--s2);padding:12px;border:1px solid var(--line);border-left:4px solid var(--wood);border-radius:var(--r);text-decoration:none;color:var(--ink);background:#fff}
.ent-rep img{width:88px;height:66px;object-fit:cover;border-radius:4px;flex:none}.ent-rep b{display:block;font-family:var(--fh);font-size:16px}.ent-rep small{color:var(--sub);font-size:13px}.ent-rep::after{content:"→";margin-left:auto;font-weight:700;color:var(--wood)}
.ent-aki{display:inline-flex;margin-top:var(--s2);font-weight:700;text-decoration:none;padding:8px 0}
/* ボタン（緑は相談だけ・角は6px） */
.btn{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;text-decoration:none;border-radius:var(--r);font-weight:700;min-height:56px;padding:8px 16px;font-size:16px;margin:var(--s1) 0;line-height:1.3;font-family:inherit;cursor:pointer;letter-spacing:.02em}
.btn small{font-size:12.5px;font-weight:500;margin-top:3px;letter-spacing:0}
.b-ai{background:var(--g);color:#fff}
.b-line{background:#fff;color:var(--gink);border:1.5px solid var(--g)}
.b-d{background:#fff;color:var(--ink);border:1px solid var(--ink)}
.btn.sm{min-height:48px;font-size:15px;margin:0 12px 12px}
.two{display:grid;grid-template-columns:1fr;gap:0}
.more{display:inline-flex;align-items:center;gap:8px;font-weight:700;text-decoration:none;color:var(--brand);padding:10px 0;min-height:44px}.more::after{content:"→"}
.back{display:inline-block;font-weight:700;text-decoration:none;padding:6px 0;font-size:15px}
/* 大きな工事のカード */
.scroller{display:flex;gap:var(--s2);overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(var(--s2) * -1);padding:2px var(--s2) var(--s1);scrollbar-width:none}.scroller::-webkit-scrollbar{display:none}
.scroller .bcard{flex:0 0 82%;scroll-snap-align:start;margin:0}
.bcard{display:block;background:var(--paper);border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--ink);margin-bottom:var(--s3)}
.g .bcard,.dark .bcard{background:#fff}
.bimg{position:relative;border-radius:var(--r);overflow:hidden}.bimg>img{width:100%;aspect-ratio:4/3;object-fit:cover}
.mini{position:absolute;left:8px;bottom:8px;width:32%;border:2px solid #fff;border-radius:4px;overflow:hidden;box-shadow:0 1px 6px rgba(0,0,0,.3)}.mini img{width:100%;aspect-ratio:4/3;object-fit:cover}.mini i{position:absolute;left:4px;top:4px;font-style:normal;font-size:12px;font-weight:700;background:rgba(29,25,22,.82);color:#fff;border-radius:3px;padding:0 6px}
.bcard .bd{padding:12px 4px 4px;display:flex;flex-direction:column;gap:2px}
.dark .bcard .bd,.g .bcard .bd{padding:12px 14px 14px}
.bcard b,.rcard b{font-family:var(--fh);font-size:17px;line-height:1.45}
.pr{font-family:var(--fh);font-weight:700;font-size:16px;color:var(--ink)}.pr.np{font-family:var(--fb);font-weight:500;font-size:13.5px;color:var(--sub)}
.fls{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.fl{font-size:12.5px;color:var(--sub);border:1px solid var(--line);border-radius:3px;padding:0 7px;background:#fff}
/* 補修のカード */
.rcard{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-bottom:var(--s2)}
.rcard>a:first-child{display:block;text-decoration:none;color:var(--ink)}.rcard .s2{border-radius:0}
.rcard .bd{padding:12px 14px 8px;display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}
.cards{display:grid;grid-template-columns:1fr;gap:var(--s2)}.cards>*{margin:0}
/* 事例のページ */
.facts{width:100%;border-collapse:collapse;font-size:15px;border-top:2px solid var(--ink)}
.facts th,.facts td{text-align:left;vertical-align:top;padding:12px 4px;border-bottom:1px solid var(--line)}.facts th{width:6.5em;color:var(--sub);font-weight:500;white-space:nowrap;font-size:14px}
.facts td .num{font-size:18px}
.fr{display:grid;gap:var(--s2)}
.fbox,.rbox{padding:var(--s2) var(--s2) 12px;border-radius:var(--r);background:#fff;border:1px solid var(--line)}.fbox{border-top:3px solid var(--wood)}.rbox{border-top:3px solid var(--brand)}
.fbox h3{color:var(--wood)}.rbox h3{color:var(--brand)}
.fbox ul,.rbox ul{margin:0;padding-left:1.2em}.fbox li,.rbox li{margin:4px 0}
.strip{margin:0 0 var(--s3)}.strip img{width:100%;border-radius:var(--r)}
.dur{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2) 12px}.dur figure{margin:0}.dur img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.dsec .tagline{display:inline-block;font-size:12.5px;font-weight:700;color:var(--wood);border:1px solid var(--wood);border-radius:3px;padding:0 8px;margin-bottom:var(--s2)}
/* 金額 */
.pricebox{display:grid;gap:var(--s2)}.pb{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:var(--s2)}.pb .k{font-size:13px;color:var(--sub);font-weight:700}.pb .v{font-family:var(--fh);font-size:26px;font-weight:700;margin:2px 0 6px;letter-spacing:.01em}.pb ul{margin:0;padding-left:1.2em;font-size:14.5px}
.cmp{width:100%;border-collapse:collapse;font-size:15px;border-top:2px solid var(--ink)}
.cmp th,.cmp td{padding:14px 4px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.cmp th{font-size:13px;color:var(--sub);font-weight:500;padding:8px 4px}
.cmp td a{font-weight:700;display:inline-block;min-height:30px}.cmp td b{font-family:var(--fh);font-size:17px;white-space:nowrap}
/* 会社 */
.facts.co th{width:5.5em}
.roles{list-style:none;padding:0;margin:0;border-top:2px solid var(--ink)}.roles li{padding:12px 0;border-bottom:1px solid var(--line)}.roles b{display:block;font-family:var(--fh)}.roles span{font-size:14px;color:var(--sub)}
.voice{border-left:3px solid var(--wood);padding:4px 0 4px 16px;font-family:var(--fh);font-size:18px;line-height:1.7;margin:var(--s3) 0 0}.voice small{display:block;font-family:var(--fb);font-size:13px;color:var(--sub);margin-top:8px;font-weight:400}
.stars{color:#a97a17;letter-spacing:2px}
/* 一覧 */
.chips{display:flex;gap:var(--s1);overflow-x:auto;padding:2px var(--s2) 12px;margin:0 calc(var(--s2) * -1);scrollbar-width:none}.chips::-webkit-scrollbar{display:none}
.chip{flex:none;border:1px solid var(--line);background:#fff;border-radius:var(--r);padding:7px 14px;font-size:14px;font-weight:700;text-decoration:none;color:var(--ink);min-height:44px;display:flex;align-items:center}.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
#worklist{display:grid;grid-template-columns:1fr;gap:var(--s2)}#worklist>*{margin:0}
/* 引きつぎ */
.ctxchip{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;background:#fff;border:1px dashed #a99786;border-radius:var(--r);padding:10px 12px;font-size:14px;margin:4px 0 var(--s1);color:var(--ink)}
.ctxchip button{border:1px solid var(--sub);background:#fff;border-radius:4px;padding:3px 12px;font-size:13px;font-family:inherit;color:var(--ink);min-height:36px}
.endcta{background:var(--dark);color:#fff;padding-top:var(--s5);padding-bottom:var(--s5)}.endcta h2{color:#fff}
.endcta .b-line{background:#fff}.endcta .b-d{background:transparent;color:#fff;border-color:#8c8178}
.endcta .diff{font-size:13.5px;color:#d6ccc1;margin:2px 0 var(--s2)}
/* 空き家 */
.sitbtn{display:flex;align-items:center;width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:var(--r);padding:14px 16px;margin:var(--s1) 0;font-size:16px;font-family:inherit;font-weight:700;color:var(--ink);min-height:56px}
.sitbtn.on{border-color:var(--brand);background:var(--brand-l)}.sitbtn.on::after{content:"✓";margin-left:auto;color:var(--brand)}
.sitpanel{background:#fff;border:1px solid var(--line);border-top:3px solid var(--brand);border-radius:var(--r);padding:var(--s2);margin-top:var(--s2)}
/* フォーム */
.fg{margin:0 0 var(--s2)}.fg label{display:block;font-weight:700;font-size:15px;margin-bottom:6px}
.fg input,.fg select,.fg textarea{width:100%;font-size:16px;font-family:inherit;padding:12px;border:1px solid #b8ada0;border-radius:var(--r);background:#fff;color:var(--ink)}
.fg.bad input,.fg.bad select,.fg.bad textarea{border-color:#b3261e;background:#fff5f4}
.req,.opt{font-size:12px;font-weight:700;border-radius:3px;padding:0 6px;margin-left:6px}.req{background:var(--brand);color:#fff}.opt{background:var(--base);color:var(--sub)}
.st{margin-top:10px;font-size:14px;border-radius:var(--r);padding:10px 12px}.st.ng{background:#fff3e6;color:#6b3f0c}
/* 下の帯 */
.bar{position:fixed;left:0;right:0;bottom:0;z-index:30;background:rgba(255,255,255,.98);border-top:1px solid var(--line);display:grid;grid-template-columns:1.3fr 1.15fr .8fr;gap:6px;padding:8px 8px calc(8px + env(safe-area-inset-bottom));transition:transform .2s}
.bar.hide{transform:translateY(115%)}
.bar a{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--r);font-weight:700;font-size:14.5px;text-decoration:none;min-height:56px;line-height:1.2;text-align:center;padding:3px 2px}
.bar small{display:block;font-size:12px;font-weight:500;margin-top:2px;line-height:1.25}
.bar .a{background:var(--g);color:#fff}.bar .l{border:1.5px solid var(--g);color:var(--gink)}.bar .o{border:1px solid var(--ink);color:var(--ink);font-size:13px}
body.hasbar footer{padding-bottom:calc(104px + env(safe-area-inset-bottom))}
@media (max-width:360px){.bar{gap:4px;padding-left:6px;padding-right:6px}.bar a{font-size:13.5px}.bar .o{font-size:12px}}
footer{background:#1f1215;color:#cfc5ba;font-size:13.5px;line-height:1.9;padding:var(--s4) var(--s2)}footer a{color:#fff;display:inline-block;margin:0 14px 6px 0}footer .fn{font-size:12px;color:#a59a8f;margin-top:var(--s2);border-top:1px solid #362f2a;padding-top:12px}
footer .flogo{height:26px;width:auto;margin-bottom:12px;filter:brightness(0) invert(1);opacity:.9}
@media (min-width:600px){.cards,#worklist{grid-template-columns:1fr 1fr}.ent-main{grid-template-columns:1fr 1fr}.fr,.pricebox{grid-template-columns:1fr 1fr}.two{grid-template-columns:1fr 1fr;gap:12px}.dur{grid-template-columns:repeat(3,1fr)}.scroller .bcard{flex-basis:44%}}
@media (min-width:900px){body.hasbar footer{padding-bottom:var(--s4)}.bar,.mb{display:none}.pcnav{display:flex;gap:18px}.pcnav a{text-decoration:none;color:var(--ink);font-weight:700;font-size:14px;white-space:nowrap}.pcbtn{display:flex;gap:8px;align-items:center}.pcbtn a{border-radius:var(--r);padding:9px 14px;font-weight:700;text-decoration:none;font-size:14px;white-space:nowrap}.pcbtn .tel{color:var(--ink);padding:0 4px;line-height:1.2;text-align:right}.pcbtn .tel small{display:block;font-size:11px;color:var(--sub);font-weight:500}
.s{padding:var(--s5) 28px}.cards,#worklist{grid-template-columns:repeat(3,1fr)}.fvwrap{display:grid;grid-template-columns:1.55fr 1fr;gap:36px;align-items:end;padding:28px}.fvwrap .hero .sw{border-radius:var(--r)}.fvwrap .hero figcaption{padding:0}.fvtext{padding:0}.fvtext h1{font-size:34px}h2{font-size:26px}.scroller .bcard{flex-basis:31%}.ent-sub{max-width:640px}.endcta>*{max-width:720px;margin-left:auto;margin-right:auto}}

@media (min-width:900px) and (max-width:1199px){.logo small{display:none}.pcbtn .b-line{display:none}}
@media (min-width:900px){.logo small{display:block}}
@media (min-width:900px) and (max-width:1199px){.logo small{display:none}}

.ent-main.sym{grid-template-columns:1fr 1fr;gap:var(--s1)}.ent-main.sym img{aspect-ratio:1/1}.ent-main.sym span{font-size:15px;padding:28px 10px 10px}.ent-main.sym small{font-size:12px}.ent-main.sym span::after{display:none}
@media (min-width:600px){.ent-main.sym{grid-template-columns:repeat(3,1fr)}}

/* ---- 第4版で足した物 ---- */
[hidden]{display:none!important}
.hero{position:relative}.zoom{position:absolute;right:12px;bottom:46px;width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--ink);font-size:20px;font-weight:700;line-height:1;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.hero:not(:has(figcaption)) .zoom{bottom:12px}
.side .s2 img,.cc .cimg img,.dur img,.strip img{cursor:zoom-in}
.undec{margin-top:var(--s3);padding-top:var(--s2);border-top:1px solid var(--line)}.undec .btn{margin-top:4px}
.cmp2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:var(--s2) 0 4px}
.cc{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.cc .cimg{position:relative}.cc .cimg img{width:100%;aspect-ratio:4/3;object-fit:cover}.cc .no{position:absolute;left:8px;top:8px;width:24px;height:24px;border-radius:50%;background:var(--ink);color:#fff;font-family:var(--fh);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}
.cc .k{font-family:var(--fh);font-weight:700;font-size:14.5px;padding:10px 10px 0;line-height:1.4}.cc .pr{display:block;padding:2px 10px 0;font-size:15.5px;line-height:1.4}
.cc ul{margin:4px 0 0;padding:0 10px 0 1.9em;font-size:12.5px;color:var(--sub);flex:1}.cc li{margin:2px 0}
.cc .btn.sm{margin:10px;min-height:44px;font-size:14px;padding:6px 8px}
.flow{counter-reset:f;list-style:none;padding:0;margin:0;border-top:2px solid var(--ink)}.flow li{counter-increment:f;position:relative;padding:12px 0 12px 44px;border-bottom:1px solid var(--line)}.flow li::before{content:counter(f,decimal-leading-zero);position:absolute;left:0;top:14px;font-family:var(--fh);font-weight:700;color:var(--wood);font-size:15px}.flow b{display:block;font-family:var(--fh)}.flow span{font-size:14px;color:var(--sub)}
/* 写真の拡大 */
#lb{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100vw;height:100vh;margin:0}#lb::backdrop{background:rgba(20,17,15,.92)}
#lb img{max-width:100vw;max-height:calc(100vh - 90px);object-fit:contain;margin:0 auto;display:block;padding-top:48px}
#lb .lbx{position:fixed;right:12px;top:12px;border:1px solid #fff;background:rgba(0,0,0,.4);color:#fff;border-radius:var(--r);padding:8px 14px;font-weight:700;font-family:inherit;min-height:44px}
#lb .lbc{color:#fff;text-align:center;font-size:14px;margin:10px 16px}
/* ページの中のチャット */
.ov{position:fixed;inset:0;background:rgba(20,17,15,.55);z-index:60}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:61;background:#fff;border-radius:14px 14px 0 0;max-height:88vh;display:flex;flex-direction:column;box-shadow:0 -8px 30px rgba(0,0,0,.25);padding-bottom:env(safe-area-inset-bottom)}
.sh-hd{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:14px 16px 10px;border-bottom:1px solid var(--line)}.sh-hd b{font-family:var(--fh);font-size:17px;display:block}.sh-hd small{display:block;font-size:12.5px;color:var(--sub);margin-top:2px}
.sh-x{flex:none;border:1px solid var(--ink);background:#fff;border-radius:var(--r);padding:7px 12px;font-weight:700;font-family:inherit;font-size:13px;min-height:40px}
.sh-ctx{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:13px;padding:8px 16px;background:var(--base);border-bottom:1px solid var(--line)}.sh-ctx button{border:1px solid var(--sub);background:#fff;border-radius:4px;padding:2px 10px;font-size:12.5px;font-family:inherit;min-height:32px}
.sh-body{overflow:auto;padding:14px 16px;flex:1;min-height:200px;-webkit-overflow-scrolling:touch}
.bubble{background:var(--base);border-radius:4px 14px 14px 14px;padding:10px 14px;max-width:86%;margin:0 0 10px;font-size:15px;line-height:1.7}.bubble.me{background:var(--brand);color:#fff;border-radius:14px 4px 14px 14px;margin-left:auto}
.bubble a{font-weight:700}
.qr{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 12px}.qr button{border:1.5px solid var(--g);background:#fff;color:var(--gink);border-radius:999px;padding:9px 14px;font-weight:700;font-family:inherit;font-size:14px;min-height:42px}
.sh-in{display:flex;gap:8px;padding:10px 16px;border-top:1px solid var(--line);align-items:center}.sh-in input[type=text]{flex:1;min-width:0;font-size:16px;font-family:inherit;padding:11px 12px;border:1px solid #b8ada0;border-radius:var(--r)}
.sh-in button{border:0;background:var(--g);color:#fff;border-radius:var(--r);padding:0 16px;font-weight:700;font-family:inherit;min-height:46px;font-size:15px}
.sh-ph{border:1px solid var(--ink);border-radius:var(--r);padding:0 12px;min-height:46px;display:flex;align-items:center;font-weight:700;font-size:14px;cursor:pointer}
.sh-note{font-size:12px;color:var(--sub);margin:0;padding:0 16px 12px}.sh-note a{margin-left:8px}
.sh-file{font-size:13px;color:var(--sub);padding:0 16px 6px}
@media (min-width:900px){.sheet{left:auto;right:24px;bottom:24px;width:420px;border-radius:14px;max-height:80vh}}
body.shopen{overflow:hidden}
.why1{font-size:16px;line-height:1.8;margin:10px 0 0;padding:12px 14px;border-left:3px solid var(--wood);background:var(--base)}
.why3{list-style:none;padding:0;margin:0;border-top:2px solid var(--ink)}.why3 li{padding:12px 0;border-bottom:1px solid var(--line)}.why3 b{display:block;font-family:var(--fh);font-size:16.5px}.why3 span{font-size:14.5px;color:var(--sub)}
.askrow{display:flex;flex-wrap:wrap;gap:8px}.askrow a{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;text-decoration:none;color:var(--ink);font-weight:700;font-size:14px}
@media (min-width:600px){.ent-main.sym{grid-template-columns:repeat(4,1fr)}}
.hero .st{display:grid;gap:3px;border-radius:var(--r);overflow:hidden}.hero .st>div{position:relative}.hero .st img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.fvwrap .hero .st{border-radius:0}
.hero figcaption{display:block}.hint,.zoom,.sw .mini{display:none!important}
.bcard .s2{border-radius:var(--r)}.bcard .s2 img{aspect-ratio:4/3}
.trust1{font-size:13px;color:var(--sub);margin:10px 0 0;line-height:1.7}.trust1 b{color:var(--ink);font-family:var(--fh)}
.endcta .b-d{border-color:#b89aa2}.endcta .diff{color:#e6d3d8}.dark .mute{color:#d2bfc4}
@media (min-width:900px){.hero .st{grid-template-columns:1fr 1fr}.fvwrap .hero .st{border-radius:var(--r)}}
.hs{position:relative}.hs-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.hs-track::-webkit-scrollbar{display:none}
.hs-slide{flex:0 0 100%;scroll-snap-align:start;min-width:0}.hs-slide .st{border-radius:0}
.hs-cap{font-size:13.5px;color:var(--sub);margin:8px var(--s2) 0;line-height:1.6;min-height:2.6em}
.hs-dots{display:flex;justify-content:center;gap:2px;padding:2px 0 0}.hs-dots button{min-width:44px;height:40px;border:0;background:transparent;padding:0;cursor:pointer}.hs-dots button::after{content:"";display:block;width:8px;height:8px;border-radius:4px;background:#cfc6ba;margin:0 auto;transition:width .25s,background .25s}.hs-dots button.on::after{width:24px;background:var(--brand)}
.fvtext{padding-top:var(--s2)}
@media (min-width:900px){.hs-slide .st{border-radius:var(--r)}.hs-cap{margin-left:0;margin-right:0}
main{max-width:none}.s{padding:var(--s5) max(28px,calc((100% - 1064px)/2))}.hd{max-width:none;padding:8px max(16px,calc((100% - 1064px)/2))}footer{padding:var(--s4) max(16px,calc((100% - 1064px)/2))}.fvwrap{padding:28px max(28px,calc((100% - 1064px)/2))}}
.fvhead{padding:var(--s2) var(--s2) 12px}.fvhead h1{margin:0 0 2px;font-size:26px}.fvhead .sub1{color:var(--sub);font-size:15px;margin:0}
.hs-slide .st{display:grid;gap:3px}.hs-slide .st>div{position:relative}.hs-slide .st img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.fvtext{padding-top:4px}.fvtext .why1{margin-top:4px}
@media (min-width:900px){.fvwrap{display:grid;grid-template-columns:1.55fr 1fr;grid-template-areas:"head head" "hs text";gap:8px 36px;align-items:start}.fvhead{grid-area:head;padding:0 0 8px}.fvhead h1{font-size:34px}.hs{grid-area:hs}.fvtext{grid-area:text;padding-top:0}.hs-slide .st{grid-template-columns:1fr 1fr;border-radius:var(--r);overflow:hidden}.hs-slide .st img{aspect-ratio:4/3}}
.hs-pic{position:relative;overflow:hidden}.hs-main{display:block}.hs-main img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.hs-mini{position:absolute;left:12px;bottom:12px;width:34%;padding:0;border:3px solid #fff;border-radius:6px;overflow:hidden;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.3);cursor:pointer}
.hs-mini img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.hs-mini i{position:absolute;left:6px;top:6px;font-style:normal;font-size:12px;font-weight:700;background:rgba(29,25,22,.82);color:#fff;border-radius:3px;padding:0 7px}
.hs-pic>.lb.a{left:auto;right:12px;top:12px}.hs-pic.flip>.lb.a{background:rgba(29,25,22,.85)}.hs-pic.flip .hs-mini i{background:var(--brand)}
.hs-cap{display:flex;justify-content:space-between;gap:10px;text-decoration:none;color:var(--ink);font-size:14px;line-height:1.6;padding:8px var(--s2) 0;min-height:0}.hs-cap .arw{color:var(--brand);font-weight:700;flex:none}
@media (min-width:900px){.hs-pic{border-radius:var(--r)}.hs-main img{aspect-ratio:4/3}.hs-cap{padding-left:0;padding-right:0}}
.why1 b{font-family:var(--fh);font-size:17px;display:block;margin-bottom:2px}
.kng{list-style:none;padding:0;margin:0;counter-reset:k}.kng>li{counter-increment:k;position:relative;padding:18px 0 18px 44px;border-top:1px solid var(--line)}.kng>li:last-child{border-bottom:1px solid var(--line)}
.kng>li::before{content:"0" counter(k);position:absolute;left:0;top:20px;font-family:var(--fh);font-weight:700;color:var(--wood);font-size:15px;letter-spacing:.04em}
.kng>li>b{display:block;font-family:var(--fh);font-size:17.5px;line-height:1.5;margin-bottom:6px}.kng>li>p{margin:0;font-size:15px}.kng .fr{margin-top:12px}.kng .fbox,.kng .rbox{padding:12px 14px 8px}.kng .fbox ul,.kng .rbox ul{font-size:14px}
.kng-last{font-family:var(--fh);font-weight:700;font-size:17px;margin:20px 0 0;padding-left:16px;border-left:3px solid var(--brand)}
@media (min-width:900px){.kng>li{padding-left:56px}.kng>li>b{font-size:19px}}

/* ===== 第5版：地の色（NN/g 60-30-10：地60＝生成り／墨とえんじ30／緑10は相談だけ）。見比べ用に白・薄灰に切り替えられる */
header{background:var(--hd)}
.note{display:flex;flex-wrap:wrap;gap:4px 14px;justify-content:center;align-items:center}
/* 最初の画面（部位ページ）：思いの一文→写真→押す所 */
.fvwrap>.hero{grid-area:hs}.fvhead .sub1{max-width:40em}
.saying{font-family:var(--fh);font-weight:700;font-size:20px;line-height:1.55;margin:0 0 var(--s2);padding-left:14px;border-left:3px solid var(--brand)}
@media (min-width:900px){.saying{font-size:24px}}
/* 工事の内容と目安 */
.menu{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.menu li{display:grid;grid-template-columns:1fr auto;gap:2px 14px;padding:12px 0;border-bottom:1px solid var(--line);align-items:baseline}
.menu b{font-family:var(--fh);font-size:16px}.menu span{grid-column:1;font-size:13.5px;color:var(--sub)}.menu .pr{grid-column:2;grid-row:1/3;font-family:var(--fh);font-weight:700;font-size:17px;white-space:nowrap;font-variant-numeric:tabular-nums}
/* 表 */
.tb{width:100%;border-collapse:collapse;font-size:15px;border-top:2px solid var(--ink);background:#fff;border-radius:var(--r)}
.tb th,.tb td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.tb th{font-weight:700;font-size:14px;white-space:nowrap}.tb thead th{color:var(--sub);font-weight:500;font-size:13px;background:var(--base)}.tb .n{text-align:right;white-space:nowrap;font-family:var(--fh);font-weight:700;font-variant-numeric:tabular-nums}.tb td small{display:block;color:var(--sub);font-size:13px;font-weight:400}
.tb tfoot td{font-weight:700}.sc{overflow-x:auto;-webkit-overflow-scrolling:touch}
/* 大きな数字 */
.kv{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 var(--s2)}.kv div{flex:1 1 140px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px 14px}.kv b{display:block;font-family:var(--fh);font-size:24px;line-height:1.2;color:var(--brand)}.kv span{font-size:13px;color:var(--sub)}.kv small{display:block;font-size:13px;margin-top:4px}
/* 4つの出口・3つの比べ */
.ex4{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ex4 a{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px;text-decoration:none;color:var(--ink);min-height:44px}.ex4 b{display:block;font-family:var(--fh);font-size:18px;margin-bottom:4px}.ex4 b small{font-size:13px;color:var(--brand);margin-left:6px}.ex4 span{font-size:13.5px;color:var(--sub);display:block}
.c3{display:grid;gap:10px}.c3 div{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px}.c3 b{display:block;font-family:var(--fh);font-size:17px}.c3 .pr{font-family:var(--fh);font-weight:700;color:var(--brand);margin:2px 0 6px;display:block}.c3 p{margin:0;font-size:14.5px}.c3 .me{border-color:var(--brand);box-shadow:inset 0 3px 0 var(--brand)}
@media (min-width:700px){.ex4{grid-template-columns:repeat(4,1fr)}.c3{grid-template-columns:repeat(3,1fr)}}
/* 順番 */
.steps{list-style:none;padding:0;margin:0;counter-reset:s}.steps li{counter-increment:s;position:relative;padding:10px 0 10px 40px;border-bottom:1px solid var(--line)}.steps li::before{content:counter(s);position:absolute;left:0;top:10px;width:28px;height:28px;border-radius:50%;background:var(--ink);color:#fff;font-family:var(--fh);font-weight:700;text-align:center;line-height:28px;font-size:14px}.steps b{display:block;font-family:var(--fh);font-size:16px}.steps span{font-size:14px;color:var(--sub)}
/* 職人 */
.staff{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 10px;margin:0}.staff figure{margin:0;text-align:center}.staff img{width:100%;max-width:120px;aspect-ratio:1/1;object-fit:cover;border-radius:50%;margin:0 auto 6px;border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.12)}.staff b{display:block;font-family:var(--fh);font-size:15px}.staff small{display:block;font-size:12.5px;color:var(--sub);line-height:1.5}
@media (min-width:700px){.staff{grid-template-columns:repeat(6,1fr)}}
.staff.sm{grid-template-columns:repeat(6,1fr);gap:6px}.staff.sm img{max-width:56px;border-width:2px}.staff.sm b{font-size:12px}.staff.sm small{display:none}
/* よくあるご質問 */
.faq{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:28px 1fr 24px;gap:8px;padding:13px 0;font-weight:700;line-height:1.55;font-size:15.5px;min-height:44px;align-items:start}.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q";font-family:var(--fh);color:var(--brand);font-size:17px;line-height:1.4}.faq summary::after{content:"＋";color:var(--sub);text-align:right;font-weight:400}.faq details[open] summary::after{content:"－"}
.faq .a{display:grid;grid-template-columns:28px 1fr;gap:8px;padding:0 0 16px;font-size:15px}.faq .a::before{content:"A";font-family:var(--fh);font-weight:700;color:var(--wood);font-size:17px;line-height:1.4}.faq .a p{margin:0 0 8px}.faq .a p:last-child{margin:0}
.faqh{font-family:var(--fh);font-weight:700;font-size:15px;color:var(--sub);margin:var(--s3) 0 6px;letter-spacing:.04em}
/* 口コミ */
.rev{display:grid;gap:10px}.rev blockquote{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;font-size:14.5px}.rev blockquote small{display:block;color:var(--sub);font-size:12.5px;margin-top:6px}.rev .stars{color:#c9a227;font-size:13px;letter-spacing:1px}
@media (min-width:700px){.rev{grid-template-columns:1fr 1fr}}
/* 読みもの */
.posts{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.posts li{border-bottom:1px solid var(--line)}.posts a{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px 0;text-decoration:none;color:var(--ink);font-weight:700;font-size:15px}.posts a small{font-weight:400;color:var(--sub);font-size:13px;white-space:nowrap}
.dl{margin:0;border-top:1px solid var(--line)}.dl div{display:grid;grid-template-columns:7.5em 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:15px}.dl dt{font-weight:700;margin:0}.dl dd{margin:0}
@media (max-width:479px){.dl div{grid-template-columns:1fr;gap:2px}}
.lp2{display:grid;gap:10px}.lp2 div{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;font-size:15px}.lp2 b{display:block;font-family:var(--fh);margin-bottom:4px}
@media (min-width:700px){.lp2{grid-template-columns:1fr 1fr}}
.dark .tb,.dark .kv div{background:#3a2228;border-color:#4d3238;color:#eee7df}.dark .tb thead th{background:#2b161b;color:#d2bfc4}
.dark .kv b{color:#f3d9df}.dark .kv span,.dark .kv small{color:#d2bfc4}
.ent-aki2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.ent-aki2 a{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;text-decoration:none;color:var(--ink);font-weight:700;font-size:14px;min-height:44px}.ent-aki2 a small{display:block;font-weight:400;color:var(--sub);font-size:12.5px}
.topfaq summary{font-size:15px}
.rcard{background:#fff}.tb th{white-space:normal;width:9em}.tb th small{display:block;font-weight:400;color:var(--sub);font-size:12.5px;line-height:1.5}@media (max-width:479px){.tb th{width:7.5em}}
.fvwrap>.fvp{grid-area:hs}.fvp .hs-cap{min-height:0}.fvp .hs-main img{aspect-ratio:4/3}@media (min-width:900px){.fvp .hs-pic{border-radius:var(--r)}.fvp .hs-cap{padding-left:0;padding-right:0}}
.staff small{font-size:12px}
.people{display:grid;grid-template-columns:1fr 1fr;gap:12px 10px}.people figure{margin:0}.people img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}.people figcaption{font-size:13px;color:var(--sub);margin-top:6px;line-height:1.55}.people b{display:block;font-family:var(--fh);font-size:14.5px;color:var(--ink)}
@media (min-width:700px){.people{grid-template-columns:repeat(4,1fr)}}

/* ===== 第6版：人の目で見やすく（クロードの案。アストラと詰める：16-hifi6-session） */
/* 地は白、段の区切りは黄みの無い薄いグレー1色。濃い色は最後の相談とフッターだけ（えんじを沈めた茶はやめて墨に） */
:root{--paper:#fff;--base:#f5f4f1;--line:#e0dcd5;--sub:#4d4741;--dark:#24201d;--hd:rgba(255,255,255,.97);
--fh:"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;--fb:var(--fh)}
/* 文字：1書体（太さで差）・本文17px・補足も15px以上 */
body{font-size:17px;line-height:1.8;letter-spacing:.02em}
h1,h2,h3{letter-spacing:.01em}
h1{font-size:26px;line-height:1.45}h2{font-size:22px;line-height:1.5}h3{font-size:18px}
h2::before{display:none}
.eyebrow{font-size:14px;letter-spacing:.02em;margin-bottom:6px}
.mute,.lead{font-size:15.5px}.note2{font-size:14px}
.side figcaption,.strip figcaption,.dur figcaption,.hero figcaption{font-size:14.5px}
.hs-cap{font-size:15px}.trust1{font-size:14.5px}
.fvhead h1{font-size:28px}.fvhead .sub1{font-size:16px}
.why1 b{font-size:18px}
.kng>li>b{font-size:18.5px}.kng>li>p{font-size:16px}.kng .fbox ul,.kng .rbox ul{font-size:15.5px}.kng-last{font-size:18px}
.facts,.cmp,.tb{font-size:16px}.facts th{font-size:15px}.cmp th{font-size:14px}.tb th small,.tb td small{font-size:14px}
.menu b{font-size:17px}.menu span{font-size:15px}.menu .pr{font-size:18px}
.faq summary{font-size:16.5px}.faq .a{font-size:16px}
.steps b{font-size:17px}.steps span{font-size:15px}
.lp2 div,.c3 p{font-size:16px}.ex4 span{font-size:15px}.kv span,.kv small{font-size:14.5px}
.rev blockquote{font-size:16px}.rev blockquote small{font-size:13.5px}
.people figcaption{font-size:14.5px}.people b{font-size:16px}
.posts a{font-size:16px}.posts a small{font-size:14px}
.chip{font-size:15px}.ent-aki2 a{font-size:15.5px}.ent-aki2 a small{font-size:14px}
.pb ul,.fbox li,.rbox li{font-size:16px}.bcard b,.rcard b{font-size:17.5px}
/* 入口：写真の上に字を載せない（写真の明るい所で字が読めなくなるため） */
.ent-main a{background:#fff;color:var(--ink);border:1px solid var(--line)}
.ent-main span{position:relative;display:block;background:none;padding:12px 40px 14px 14px;font-size:19px;color:var(--ink)}
.ent-main small{color:var(--sub);font-size:14.5px}
.ent-main span::after{right:14px;top:12px;bottom:auto;color:var(--brand)}
.ent-main.sym span{font-size:16px;padding:10px 28px 12px 10px}.ent-main.sym small{font-size:13.5px}.ent-main.sym span::after{right:10px;top:10px}
.ent-sub a{font-size:15.5px}.ent-sub small{font-size:13.5px}
/* ボタン：押せる物に見せる（下に影）・LINEはLINEの緑の札で一目で分かる */
.btn{min-height:60px;font-size:18px;border-radius:8px;letter-spacing:.02em}.btn small{font-size:14px}
.b-ai{box-shadow:0 3px 0 #035a28}.b-ai:active{transform:translateY(2px);box-shadow:0 1px 0 #035a28}
.b-line{border-width:2px}
.bt{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
.lnb{font-style:normal;background:#06c755;color:#fff;font-size:12px;font-weight:700;border-radius:4px;padding:1px 6px;line-height:1.5;letter-spacing:.03em}
.btn.sm{font-size:16px;min-height:50px}
.bar a{font-size:15.5px}.bar small{font-size:12.5px}.bar .a{box-shadow:0 2px 0 #035a28}
/* 事例カード：白に線1本。リペアHPの事例は専門サイトへ */
.bcard{border:1px solid var(--line)}
.rcard .extl{display:block;width:100%;font-size:14px;font-weight:700;color:var(--brand);margin-top:2px}
/* リペアの専門サイトへの道 */
.extbox{display:block;border:1px solid var(--line);border-left:4px solid var(--brand);background:#fff;border-radius:8px;padding:14px 16px;text-decoration:none;color:var(--ink);margin:12px 0}
.extbox b{display:block;font-size:17px}.extbox b::after{content:" ↗";color:var(--brand)}.extbox span{display:block;font-size:15px;color:var(--sub);margin-top:2px}
.extnote{font-size:15px;margin:12px 0 0;color:var(--sub)}.extnote a{font-weight:700}
.note{gap:4px 16px}.note a{color:#fff}
/* PC：見出しを大きく・1行は40字まで */
.bt{flex-wrap:nowrap;text-align:left}.lnb{flex:none}
.tb thead th{font-size:14px}.ex4 b small{display:block;font-size:15px;margin:2px 0 0}.lb{font-size:13px;padding:2px 9px}.fl{font-size:13.5px}.ent-rep small{font-size:14.5px}.req,.opt{font-size:13px}.stars{font-size:14px}
.undec .btn{font-size:17px}
.ent-aki2{grid-template-columns:1fr}.ent-aki2 a{position:relative;padding:12px 36px 12px 14px}.ent-aki2 a::after{content:"→";position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--brand)}
@media (min-width:600px){.ent-aki2{grid-template-columns:1fr 1fr}}
@media (min-width:900px){h1,.fvhead h1{font-size:36px}h2{font-size:28px}h3{font-size:19px}.s>p,.s>.mute,.lp2 div,.kng>li>p{max-width:40em}}

/* ===== 第7版：アストラとの相談で決めた修正（theme-v6 の後ろ） ===== */
:root {
  --a-note: 16px;
  --a-card-note: 15px;
  --a-gutter: 16px;
  --a-content: 1064px;
  --a-cta: #047a36;
  --a-soft: #f5f4f1;
}

/* A4：条件・AIの説明を小さくしない */
.endcta .diff,
.consult-note {
  font-size: var(--a-note);
  line-height: 1.7;
  margin: 6px 0 16px;
}
.consult-note { color: var(--sub); }
.endcta .diff { color: #f5f4f1; }
.note2, .cc ul, .menu span, .tb th small, .tb td small,
.rcard .extl, .ent-main.sym small, .ent-sub small,
.ent-aki2 a small, .ent-rep small {
  font-size: var(--a-card-note);
  line-height: 1.65;
}
.cc .k { font-size: 16px; line-height: 1.5; }
.cc .pr, .cmp td b, .tb .n { font-size: 18px; }
.cc .pr { overflow-wrap: normal; }
.cc .btn.sm { min-height: 52px; font-size: 16px; }

/* A8：LINEの札は白文字とのコントラストを確保 */
.lnb {
  background: var(--a-cta);
  color: #fff;
  font-size: 13px;
  line-height: 1.5;
  padding: 2px 6px;
}

/* A9：固定帯。非表示の条件はapp.js側も修正 */
@media (max-width: 899px) {
  .bar {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.2fr) minmax(0, .8fr);
    gap: 6px;
  }
  .bar a {
    min-width: 0;
    min-height: 60px;
    font-size: 15px;
    letter-spacing: 0;
  }
  .bar .o { font-size: 14px; }
  .bar small {
    font-size: 12.5px;
    line-height: 1.3;
    letter-spacing: 0;
    white-space: nowrap;
  }
  body.shopen .bar { display: none; }
}
@media (max-width: 359px) {
  .bar a { font-size: 14px; }
  .bar small { font-size: 12px; }
}

/* A11：背景色は交互ではなく内容ごとに指定 */
section.s.surface-paper { background: #fff; color: var(--ink); }
section.s.surface-info { background: var(--a-soft); color: var(--ink); }

/* A2：賛成した方針の実装漏れ。旧footer色を墨へ */
footer { background: var(--dark); }

/* B1：社長の言葉は残し、5項目を見出しから開ける構造へ */
.page-home .kng > li { padding: 0; }
.page-home .kng > li::before { display: none; }
.page-home .kng-detail > summary {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) 20px;
  align-items: start;
  gap: 8px;
  min-height: 64px;
  padding: 16px 0;
  cursor: pointer;
  list-style: none;
  font-size: 18px;
  line-height: 1.55;
}
.page-home .kng-detail > summary::-webkit-details-marker { display: none; }
.page-home .kng-detail > summary::before {
  content: "0" counter(k);
  color: var(--wood);
  font-size: 15px;
  padding-top: 2px;
}
.page-home .kng-detail > summary::after {
  content: "⌄";
  color: var(--brand);
  text-align: center;
}
.page-home .kng-detail[open] > summary::after { content: "⌃"; }
.page-home .kng-body { padding: 0 0 20px 36px; }
.page-home .kng-body > p { font-size: 17px; max-width: 40em; }

/* B2：人物写真を用意できるまでは、無関係な床写真を表示しない */
.people.is-role-list { grid-template-columns: 1fr; gap: 0; }
.people.is-role-list img { display: none; }
.people.is-role-list figure { padding: 14px 0; border-top: 1px solid var(--line); }
.people.is-role-list figcaption { margin: 0; font-size: 16px; line-height: 1.7; }

/* B3：トップの主要2入口を同時に見せる */
@media (max-width: 599px) {
  .page-home .ent-main {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .page-home .ent-main a { display: flex; flex-direction: column; }
  .page-home .ent-main img { aspect-ratio: 4 / 3; }
  .page-home .ent-main span {
    flex: 1;
    padding: 12px 28px 12px 12px;
    font-size: 18px;
    line-height: 1.45;
  }
  .page-home .ent-main small { font-size: 15px; line-height: 1.6; }
  .page-home .ent-main span::after { right: 10px; top: 12px; }
}

/* B4：自動送りはJSで止める。既存のドットは押せる領域44×44px */
.hs-dots button { width: 44px; min-width: 44px; height: 44px; }
.hs-dots button::after { width: 10px; height: 10px; border-radius: 5px; background: var(--sub); }
.hs-dots button.on::after { width: 24px; background: var(--brand); }
.hs-dots button:focus-visible,
.hs-mini:focus-visible,
.kng-detail > summary:focus-visible {
  outline: 3px solid var(--brand);
  outline-offset: 3px;
}

/* B5：写真・説明の左端を揃える。説明の二重余白を解消 */
.hs-cap { margin: 8px 0 0; padding: 8px 0 0; }
.bcard .bd { padding: 12px 14px 14px; }
@media (max-width: 899px) {
  .fvwrap > .hs,
  .fvwrap > .fvp { margin-inline: var(--a-gutter); }
}
@media (min-width: 900px) {
  .hd {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas: "brand actions" "nav nav";
    gap: 8px 16px;
    padding-inline: max(28px, calc((100% - var(--a-content)) / 2));
  }
  .logo { grid-area: brand; flex-shrink: 0; }
  .logo img { flex-shrink: 0; }
  .logo small { display: block; min-width: 220px; font-size: 12px; line-height: 1.45; }
  .pcbtn { grid-area: actions; justify-self: end; }
  .pcbtn .b-line { display: block; }
  .pcnav { grid-area: nav; justify-content: center; flex-wrap: wrap; gap: 8px 28px; }
  [id] { scroll-margin-top: 112px; }
}

/* ===== DOMに合わせた最小の補い（第7版） ===== */
/* スマホのスライドを左右16pxに入れたので、写真の角を他の写真と同じ6pxに */
@media (max-width: 899px) {
  .fvwrap > .hs .hs-pic,
  .fvwrap > .fvp .hs-pic { border-radius: var(--r); }
}
/* 文字を大きくした時（拡大150%＝CSS幅260px前後）：字を縮める前に余白と間隔を詰め、決めた切れ目でだけ2行に。切らない */
@media (max-width: 319px) {
  .bar { gap: 4px; padding-left: 4px; padding-right: 4px; }
  .bar a { word-break: keep-all; overflow-wrap: normal; padding: 4px 2px; line-height: 1.25; }
  .bar small { white-space: normal; }
  body.hasbar footer { padding-bottom: calc(140px + env(safe-area-inset-bottom)); }
}
/* 拡大200%（CSS幅200px前後）：チャットとLINEを横に、電話をその下に（3つとも残す） */
@media (max-width: 239px) {
  .bar { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .bar .o { grid-column: 1 / -1; min-height: 44px; flex-direction: row; gap: 8px; }
  .bar .o small { margin-top: 0; }
  body.hasbar footer { padding-bottom: calc(170px + env(safe-area-inset-bottom)); }
}
/* 拡大200%前後（CSS幅300px未満）：入口の2列は細すぎて数字が途中で切れるので1列に戻す */
@media (max-width: 299px) {
  .page-home .ent-main { grid-template-columns: 1fr; }
}
/* 入口の補足は、決めた切れ目（・〜の後）でだけ折り返す。数字や「万円」の途中で切らない */
.page-home .ent-main small { word-break: keep-all; }
/* 拡大200%前後：ヘッダーのロゴとメニューが幅に収まるよう、余白とロゴの大きさだけ詰める */
@media (max-width: 239px) {
  .hd { padding-left: 8px; padding-right: 8px; gap: 8px; }
  .logo img { height: 24px; width: auto; }
  .mb { padding: 6px 10px; }
}
/* 拡大200%前後：点は押せる大きさ44pxのまま折り返す／費用の表は行を縦に積む（見出しの「目安（税込）」も残す） */
@media (max-width: 299px) {
  .hs-dots { flex-wrap: wrap; }
  table.cmp, table.cmp tbody, table.cmp tr, table.cmp th, table.cmp td { display: block; width: auto; }
  table.cmp th, table.cmp td { padding-left: 0; padding-right: 0; }
  table.cmp tr { border-bottom: 1px solid var(--line); padding: 8px 0; }
  table.cmp th, table.cmp td { border-bottom: 0; }
}

/* ===== 第8版：作り込み（会社の世界・動き・ブログ）。第7版の後ろ ===== */
/* 会社の世界①：ロゴの家の形を、見出しの印に */
.eyebrow::before { content: ""; display: inline-block; width: 12px; height: 11px; margin-right: 7px; vertical-align: -1px; background: var(--brand); clip-path: polygon(50% 0, 100% 46%, 100% 100%, 0 100%, 0 46%); }
/* 会社の世界②：グレーの段と最後の相談の上の線を、屋根の形に */
section.s.surface-info, section.s.endcta { position: relative; }
section.s.surface-info::before, section.s.endcta::before { content: ""; position: absolute; left: 0; right: 0; top: -23px; height: 24px; background: inherit; clip-path: polygon(0 100%, 50% 0, 100% 100%); pointer-events: none; }
@media (min-width: 900px) { section.s.surface-info::before, section.s.endcta::before { top: -39px; height: 40px; } }

/* 会社の世界③：家の断面の絵と、どこを直すかの札 */
.hmap { position: relative; max-width: 560px; margin: 20px auto 8px; }
.hmap svg { display: block; width: 100%; height: auto; }
.hmap .pin { position: absolute; left: var(--x); top: var(--y); transform: translate(-50%, -50%); display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 4px 12px 4px 10px; background: #fff; border: 2px solid var(--ink); border-radius: 999px; box-shadow: 0 2px 0 var(--ink); font-size: 14px; font-weight: 700; line-height: 1.2; color: var(--ink); text-decoration: none; white-space: nowrap; transition: background-color .2s ease-out, transform .2s ease-out; }
.hmap .pin::before { content: ""; position: relative; width: 9px; height: 9px; border-radius: 50%; background: var(--brand); flex: none; }
.hmap .pin::after { content: ""; position: absolute; left: 10px; top: 50%; width: 9px; height: 9px; margin-top: -4.5px; border-radius: 50%; border: 2px solid var(--brand); opacity: 0; pointer-events: none; }
@media (hover: hover) { .hmap .pin:hover { background: #f6eef0; } }
.hmap .pin:focus-visible { outline: 3px solid var(--brand); outline-offset: 3px; }
@media (min-width: 900px) { .hmap .pin { font-size: 15px; min-height: 38px; } }

/* はんこの札（事例の市町村）：ぎざぎざの丸がゆっくり回る。字は回さない */
.bcard .bd { position: relative; }
.stamp { position: absolute; right: 10px; top: -34px; width: 58px; height: 58px; display: grid; place-items: center; z-index: 2; pointer-events: none; }
.stamp::before { content: ""; position: absolute; inset: 0; background: var(--brand); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 108 108'%3E%3Cpath d='M95.5 50.0Q102.7 55.9 94.4 60.1Q100.0 67.5 91.0 69.7Q94.9 78.2 85.6 78.4Q87.5 87.5 78.4 85.6Q78.2 94.9 69.7 91.0Q67.5 100.0 60.1 94.4Q55.9 102.7 50.0 95.5Q44.1 102.7 39.9 94.4Q32.5 100.0 30.3 91.0Q21.8 94.9 21.6 85.6Q12.5 87.5 14.4 78.4Q5.1 78.2 9.0 69.7Q-0.0 67.5 5.6 60.1Q-2.7 55.9 4.5 50.0Q-2.7 44.1 5.6 39.9Q-0.0 32.5 9.0 30.3Q5.1 21.8 14.4 21.6Q12.5 12.5 21.6 14.4Q21.8 5.1 30.3 9.0Q32.5 -0.0 39.9 5.6Q44.1 -2.7 50.0 4.5Q55.9 -2.7 60.1 5.6Q67.5 -0.0 69.7 9.0Q78.2 5.1 78.4 14.4Q87.5 12.5 85.6 21.6Q94.9 21.8 91.0 30.3Q100.0 32.5 94.4 39.9Q102.7 44.1 95.5 50.0Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 108 108'%3E%3Cpath d='M95.5 50.0Q102.7 55.9 94.4 60.1Q100.0 67.5 91.0 69.7Q94.9 78.2 85.6 78.4Q87.5 87.5 78.4 85.6Q78.2 94.9 69.7 91.0Q67.5 100.0 60.1 94.4Q55.9 102.7 50.0 95.5Q44.1 102.7 39.9 94.4Q32.5 100.0 30.3 91.0Q21.8 94.9 21.6 85.6Q12.5 87.5 14.4 78.4Q5.1 78.2 9.0 69.7Q-0.0 67.5 5.6 60.1Q-2.7 55.9 4.5 50.0Q-2.7 44.1 5.6 39.9Q-0.0 32.5 9.0 30.3Q5.1 21.8 14.4 21.6Q12.5 12.5 21.6 14.4Q21.8 5.1 30.3 9.0Q32.5 -0.0 39.9 5.6Q44.1 -2.7 50.0 4.5Q55.9 -2.7 60.1 5.6Q67.5 -0.0 69.7 9.0Q78.2 5.1 78.4 14.4Q87.5 12.5 85.6 21.6Q94.9 21.8 91.0 30.3Q100.0 32.5 94.4 39.9Q102.7 44.1 95.5 50.0Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat; }
.stamp i { position: relative; font-style: normal; font-weight: 700; font-size: 12.5px; line-height: 1.15; color: #fff; text-align: center; letter-spacing: .02em; max-width: 46px; word-break: keep-all; }
@media (prefers-reduced-motion: no-preference) { .stamp::before { animation: er-rotate 16s linear infinite; } }
@keyframes er-rotate { to { transform: rotate(360deg); } }

/* スタッフブログとコラム（日付・種類の札・題名・↗） */
.news { display: grid; gap: 16px; }
.news-lead { display: block; text-decoration: none; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; }
.news-lead img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.news-lead .bd { display: block; padding: 12px 14px 14px; }
.news-lead b { display: block; font-size: 17px; line-height: 1.55; margin-top: 4px; }
.news-list { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--line); }
.news-list li { border-bottom: 1px solid var(--line); }
.news-list a { display: grid; grid-template-columns: 88px minmax(0, 1fr) 20px; grid-template-areas: "th meta arw" "th t arw"; gap: 2px 12px; align-items: start; padding: 12px 0; text-decoration: none; color: var(--ink); }
.news-list .th { grid-area: th; width: 88px; height: 66px; object-fit: cover; border-radius: 4px; background: var(--base); display: block; }
.news-list .meta { grid-area: meta; }
.news-list b { grid-area: t; font-size: 15.5px; line-height: 1.55; font-weight: 700; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.news-list .arw { grid-area: arw; color: var(--brand); font-weight: 700; align-self: center; }
.meta { display: flex; align-items: center; gap: 8px; font-size: 13.5px; color: var(--sub); }
.meta time { font-variant-numeric: tabular-nums; letter-spacing: .02em; }
.tag { font-style: normal; font-size: 12.5px; font-weight: 700; line-height: 1.5; padding: 1px 8px; border-radius: 999px; background: #f6eef0; color: var(--brand); }
.tag-c { background: #f4ece1; color: #7a4d12; }
.news-more { display: flex; flex-wrap: wrap; gap: 4px 20px; margin: 14px 0 0; }
.news-more a { font-weight: 700; color: var(--brand); text-decoration: none; display: inline-flex; min-height: 44px; align-items: center; }
@media (min-width: 900px) {
  .news { grid-template-columns: 1.1fr 1fr; gap: 28px; align-items: start; }
  .news-lead b { font-size: 19px; }
  .news-list.cards3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; border: 0; }
  .news-list.cards3 li { border: 0; }
  .news-list.cards3 a { grid-template-columns: 1fr 20px; grid-template-areas: "th th" "meta arw" "t t"; }
  .news-list.cards3 .th { width: 100%; height: auto; aspect-ratio: 4 / 3; }
}

/* フッター：会社の考えの締めの言葉を大きく */
footer .fsay { color: #fff; font-weight: 700; font-size: 20px; word-break: keep-all; line-height: 1.6; letter-spacing: .02em; margin: 8px 0 28px; }
@media (min-width: 900px) { footer .fsay { font-size: 34px; margin-bottom: 40px; } }

/* 触ると色が満ちる（指で押す端末では何もしない） */
.btn.b-line, .btn.b-d { background-image: linear-gradient(var(--fill, #e9f3ed), var(--fill, #e9f3ed)); background-repeat: no-repeat; background-size: 0 100%; transition: background-size .35s cubic-bezier(.16, 1, .3, 1); }
.btn.b-d { --fill: #f1eeea; }
.endcta .btn.b-d { --fill: rgba(255, 255, 255, .12); }
@media (hover: hover) { .btn.b-line:hover, .btn.b-d:hover { background-size: 100% 100%; } .btn.b-ai:hover { filter: brightness(1.08); } }

/* 見えた時に出す（JSが付ける .rv / .in）。動きを減らす設定・JSが無い時は最初から見える */
html.js .rv { opacity: 0; transform: translateY(16px); transition: opacity .6s ease-out, transform .7s cubic-bezier(.16, 1, .3, 1); }
html.js .rv.in { opacity: 1; transform: none; }
html.js .rvp img { clip-path: inset(0 100% 0 0); transition: clip-path 1s cubic-bezier(.16, 1, .3, 1) .1s; }
html.js .rvp.in img { clip-path: inset(0 0 0 0); }
html.js .hmap.rv { transform: none; }
html.js .hmap.rv .pin { opacity: 0; transform: translate(-50%, -30%) scale(.85); }
html.js .hmap.rv.in .pin { opacity: 1; transform: translate(-50%, -50%); transition: opacity .4s ease-out calc(var(--i) * 90ms + .2s), transform .5s cubic-bezier(.34, 1.56, .64, 1) calc(var(--i) * 90ms + .2s); }
@media (prefers-reduced-motion: no-preference) { html.js .hmap.in .pin::after { animation: er-ping 2.6s ease-out calc(var(--i) * 300ms + 1.2s) infinite; } }
@keyframes er-ping { 0% { opacity: .7; transform: scale(1); } 70%, 100% { opacity: 0; transform: scale(2.6); } }
@media (prefers-reduced-motion: reduce) { html.js .rv, html.js .rvp img, html.js .hmap.rv .pin { opacity: 1 !important; transform: none !important; clip-path: none !important; transition: none !important; } }
/* 最後の相談：説明の文もボタンと同じ幅にそろえる（PC） */
@media (min-width: 900px) {
  .endcta > h2, .endcta > .ctxchip, .endcta > .diff, .endcta > .pcline, .endcta > .btn { max-width: 560px; margin-left: auto; margin-right: auto; }
  .page-home .hmap { max-width: 640px; }
}
/* Googleの口コミ：横に送る（白いカード・大きな引用符・星・年月） */
.rv-head { margin: -4px 0 12px; font-size: 15px; color: var(--sub); }
.rv-head b { color: var(--ink); font-size: 17px; }
.revs { list-style: none; margin: 0 calc(var(--s2) * -1); padding: 4px var(--s2) 12px; display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; align-items: flex-start; }
.rvc { position: relative; flex: 0 0 82%; scroll-snap-align: start; background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 22px 16px 14px; }
.rvq { position: absolute; left: 10px; top: -14px; height: 30px; padding: 0 4px; overflow: hidden; background: #fff; font-size: 54px; line-height: 1; color: var(--brand); font-family: Georgia, serif; }
.rvs { display: block; color: #a97a17; letter-spacing: 2px; font-size: 14px; margin: 0 0 6px 24px; }
.rvc p { margin: 0 0 8px; font-size: 16px; line-height: 1.75; }
.rvc small { display: block; font-size: 13.5px; color: var(--sub); }
@media (min-width: 900px) { .revs { margin: 0; padding: 4px 0 12px; } .rvc { flex-basis: calc((100% - 24px) / 3); } }
.rvc p.clamp { display: -webkit-box; -webkit-line-clamp: 7; -webkit-box-orient: vertical; overflow: hidden; }
.rvc.open p.clamp { display: block; -webkit-line-clamp: unset; overflow: visible; }
.rvmore { display: inline-flex; align-items: center; min-height: 44px; margin: -6px 0 2px; padding: 0; border: 0; background: none; font: inherit; font-size: 15px; font-weight: 700; color: var(--brand); cursor: pointer; }
.rvmore:focus-visible { outline: 3px solid var(--brand); outline-offset: 2px; }
/* 口コミのカードは高さをそろえ、日付をいちばん下に（短い口コミの下に空きを作らない） */
.revs { align-items: stretch; }
.rvc { display: flex; flex-direction: column; }
.rvc small { margin-top: auto; padding-top: 4px; }
.rvc .rvmore { align-self: flex-start; }
.rvc p.clamp { -webkit-line-clamp: 6; }

/* ===== 第9版：見た目の仕上げ（文字・トップの見出し・色の流れ・家のマーク）。第8版の後ろ ===== */
:root {
  --fd: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  --wood-l2: #f4ece1;
  --brand-deep: #5e0d26;
  --warm: #f7f0e6;
}
/* 文字：見出しは明朝（強弱）、本文と押す所はゴシックのまま。日本語の言葉の切れ目で折り返す */
h1, h2, h3, .why1 b, .kng-last, .kng-detail > summary b, footer .fsay, .rv-head b {
  font-family: var(--fd);
  letter-spacing: .04em;
}
h1, h2, h3 { word-break: auto-phrase; text-wrap: balance; }
h1 { font-weight: 800; font-size: 32px; line-height: 1.38; }
h2 { font-weight: 700; font-size: 26px; line-height: 1.45; margin-bottom: 18px; }
h3 { font-weight: 700; font-size: 19px; }
.fvhead h1 { font-size: 34px; line-height: 1.35; }
.why1 b { font-weight: 700; font-size: 19px; line-height: 1.55; }
.kng-detail > summary b { font-weight: 700; }
@media (min-width: 900px) {
  h1 { font-size: 48px; }
  h2 { font-size: 38px; margin-bottom: 24px; }
  h3 { font-size: 21px; }
  .fvhead h1 { font-size: 56px; }
}
/* トップの見出し：大きく2行、「同じ家」に木の茶の下線 */
.page-home .fvhead h1 { font-size: 44px; line-height: 1.28; margin: 8px 0 12px; letter-spacing: .05em; }
.page-home .fvhead h1 .mk { background: linear-gradient(transparent 66%, rgba(156, 100, 25, .32) 66%, rgba(156, 100, 25, .32) 92%, transparent 92%); padding: 0 2px; }
.page-home .fvhead .sub1 { font-size: 16.5px; }
@media (min-width: 900px) { .page-home .fvhead h1 { font-size: 76px; line-height: 1.2; margin-bottom: 16px; } .page-home .fvhead .sub1 { font-size: 18px; } }

/* 家のマーク：ロゴと同じ「家の輪郭＋木目の板」 */
.eyebrow { font-size: 13.5px; letter-spacing: .1em; }
.eyebrow::before { width: 19px; height: 17px; margin-right: 8px; vertical-align: -3px; clip-path: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'%3E%3Cpath d='M2 11.2 11.6 2.6 21 11.2' fill='none' stroke='%23781030' stroke-width='2.6' stroke-linecap='square'/%3E%3Cpath d='M4.2 9.6V20.4H9.6' fill='none' stroke='%23781030' stroke-width='2.6' stroke-linecap='square'/%3E%3Crect x='10.4' y='9.8' width='9.2' height='10.6' fill='%23fffaf1' stroke='%239c6419' stroke-width='1.9'/%3E%3Cpath d='M12.9 11.4q1.1 3.6 0 7.6M15 11.4q-1.1 3.6 0 7.6M17.1 11.4q1.1 3.6 0 7.6' fill='none' stroke='%239c6419' stroke-width='1.05'/%3E%3C/svg%3E") center / contain no-repeat; }

/* 最初の画面：写真の後ろに、うすい木の色の大きな家の形（奥行き） */
.page-home .fvwrap { position: relative; overflow: hidden; }
.page-home .fvwrap::before { content: ""; position: absolute; right: -56px; top: 150px; width: 300px; height: 330px; background: var(--wood-l2); clip-path: polygon(50% 0, 100% 38%, 100% 100%, 0 100%, 0 38%); z-index: 0; pointer-events: none; }
.page-home .fvwrap > * { position: relative; z-index: 1; }
@media (min-width: 900px) { .page-home .fvwrap::before { right: calc((100% - 1064px) / 2 - 90px); top: 40px; width: 520px; height: 560px; } }

/* 色の流れ：会社の考え方＝えんじ／口コミ＝木のうすい色（どちらも上は屋根の形） */
section.s.surface-brand { background: var(--brand-deep); color: #f3ebe2; position: relative; }
section.s.surface-warm { background: var(--warm); color: var(--ink); position: relative; }
section.s.surface-brand::before, section.s.surface-warm::before { content: ""; position: absolute; left: 0; right: 0; top: -23px; height: 24px; background: inherit; clip-path: polygon(0 100%, 50% 0, 100% 100%); pointer-events: none; }
@media (min-width: 900px) { section.s.surface-brand::before, section.s.surface-warm::before { top: -39px; height: 40px; } }
.surface-brand h2, .surface-brand .kng-detail > summary { color: #fff; }
.surface-brand .eyebrow { color: #e8c99f; }
.surface-brand .eyebrow::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'%3E%3Cpath d='M2 11.2 11.6 2.6 21 11.2' fill='none' stroke='%23f3ebe2' stroke-width='2.6' stroke-linecap='square'/%3E%3Cpath d='M4.2 9.6V20.4H9.6' fill='none' stroke='%23f3ebe2' stroke-width='2.6' stroke-linecap='square'/%3E%3Crect x='10.4' y='9.8' width='9.2' height='10.6' fill='%235e0d26' stroke='%23e8c99f' stroke-width='1.9'/%3E%3Cpath d='M12.9 11.4q1.1 3.6 0 7.6M15 11.4q-1.1 3.6 0 7.6M17.1 11.4q1.1 3.6 0 7.6' fill='none' stroke='%23e8c99f' stroke-width='1.05'/%3E%3C/svg%3E"); }
.surface-brand .kng > li { border-color: rgba(255, 255, 255, .2); }
.surface-brand .kng-detail > summary::before { color: #e8c99f; }
.surface-brand .kng-detail > summary::after { color: #e8c99f; }
.surface-brand .kng-body > p { color: #efe4d6; }
.surface-brand .fbox, .surface-brand .rbox { color: var(--ink); }
.surface-brand .kng-last { color: #fff; border-left-color: #e8c99f; font-size: 21px; line-height: 1.6; }
.surface-brand .mute { color: #e6d6c8; }
.surface-brand a.more { color: #f3d9b0; }
.surface-brand .kng-detail > summary:focus-visible { outline-color: #f3d9b0; }
@media (min-width: 900px) { .surface-brand .kng-last { font-size: 28px; } }
.surface-warm .rvc { border-color: #e7dccb; }
.surface-warm .rvq { background: #fff; }

/* フッター：ロゴの家のマークを大きく薄く */
footer { position: relative; overflow: hidden; }
footer::after { content: ""; position: absolute; right: -40px; bottom: -30px; width: 260px; height: 240px; opacity: .07; pointer-events: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'%3E%3Cpath d='M2 11.2 11.6 2.6 21 11.2' fill='none' stroke='%23fff' stroke-width='2'/%3E%3Cpath d='M4.2 9.6V20.4H9.6' fill='none' stroke='%23fff' stroke-width='2'/%3E%3Crect x='10.4' y='9.8' width='9.2' height='10.6' fill='none' stroke='%23fff' stroke-width='1.4'/%3E%3Cpath d='M12.9 11.4q1.1 3.6 0 7.6M15 11.4q-1.1 3.6 0 7.6M17.1 11.4q1.1 3.6 0 7.6' fill='none' stroke='%23fff' stroke-width='.8'/%3E%3C/svg%3E") center / contain no-repeat; }
@media (min-width: 900px) { footer::after { width: 420px; height: 390px; right: calc((100% - 1064px) / 2 - 60px); } }
footer .fsay { font-weight: 800; }
/* 明朝の字の幅を詰める（palt）＋字間を少し。言葉の切れ目で折り返す所を広げる */
h1, h2, h3, .why1 b, .kng-last, .kng-detail > summary b, footer .fsay, .rv-head b { font-feature-settings: "palt" 1; }
h2, h3 { letter-spacing: .03em; }
.page-home .fvhead h1 { letter-spacing: .06em; }
.kng-detail > summary b, .kng-last, footer .fsay, .why1 b, .hs-cap > span, .news-list b, .news-lead b, .extbox b, .ent-main span { word-break: auto-phrase; }
/* 見出しの書体は Noto Serif JP（字の幅を詰められる明朝）。トップの見出しと各ページの見出しは900 */
h1 { font-weight: 900; }
.page-home .fvhead h1 { letter-spacing: .04em; }
h2, h3 { letter-spacing: .02em; }

/* ===== 第10版：コラムの記事の形＋全ページ監査の直し。第9版の後ろ ===== */
/* 記事：1段の読みやすい幅。写真・目次・見出しの番号・太字の下線で、文だけが続かないように */
.art { max-width: 720px; margin: 0 auto; padding: 16px 16px 8px; }
.crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 0 8px; font-size: 13px; color: var(--sub); margin: 0 0 18px; }
.crumb a { color: var(--sub); text-decoration: none; display: inline-flex; align-items: center; min-height: 32px; }
.art-hd .eyebrow { display: flex; align-items: center; gap: 0 10px; }
.art-hd .eyebrow time { color: var(--sub); font-weight: 500; letter-spacing: .04em; font-family: var(--fb); }
.art-hd h1 { font-size: 30px; line-height: 1.42; margin: 6px 0 14px; }
.art-lead { font-size: 17px; line-height: 1.85; color: var(--sub); margin: 0; padding-left: 14px; border-left: 3px solid var(--wood); }
.art-ph { margin: 22px -16px 0; }
.art-ph img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; background: var(--base); }
.art-ph figcaption, .art-fig figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 2px 12px; font-size: 13.5px; color: var(--sub); line-height: 1.6; margin-top: 8px; }
.art-ph figcaption { padding: 0 16px; }
.art-cl { font-weight: 700; color: var(--brand); text-decoration: none; white-space: nowrap; display: inline-flex; align-items: center; min-height: 36px; }
.toc { background: var(--wood-l2); border-radius: var(--r); padding: 14px 16px 6px; margin: 26px 0 8px; }
.toc > b { display: block; font-family: var(--fd); font-size: 15px; letter-spacing: .08em; margin-bottom: 2px; }
.toc ol { list-style: none; margin: 0; padding: 0; counter-reset: t; }
.toc li { counter-increment: t; border-top: 1px solid #e6d9c6; }
.toc li:first-child { border-top: 0; }
.toc a { display: flex; gap: 12px; align-items: center; min-height: 44px; padding: 6px 0; color: var(--ink); text-decoration: none; font-size: 15px; line-height: 1.55; }
.toc a::before { content: counter(t, decimal-leading-zero); flex: none; font-family: var(--fd); font-weight: 700; color: var(--wood); font-size: 14px; }
.prose { counter-reset: h; }
.prose h2 { counter-increment: h; font-size: 23px; line-height: 1.5; margin: 48px 0 16px; scroll-margin-top: 84px; }
.prose h2::before { content: counter(h, decimal-leading-zero); width: auto; height: auto; background: none; display: block; font-size: 14px; color: var(--wood); letter-spacing: .12em; margin: 0 0 6px; font-family: var(--fd); }
.prose h2.nonum::before { content: ""; width: 28px; height: 3px; background: var(--wood); margin-bottom: 12px; }
.prose p { font-size: 17px; line-height: 2; margin: 0 0 18px; }
.prose p b { font-weight: 700; background: linear-gradient(transparent 64%, rgba(156, 100, 25, .2) 64%); }
.prose p a { font-weight: 700; color: var(--brand); }
.art-fig { margin: 28px 0 32px; }
.art-fig > img, .art-fig .s2 { border-radius: var(--r); overflow: hidden; }
.art-fig > img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; background: var(--base); }
.art-fig .s2 img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.art-fig .s2 > div { position: relative; }
.art-cards { margin: 24px 0 32px; }
.art-btns { display: grid; gap: 10px; margin: 36px 0 8px; padding-top: 28px; border-top: 1px solid var(--line); }
.art-btns .btn { margin: 0; }
@media (min-width: 760px) {
  .art { padding-top: 28px; }
  .art-hd h1 { font-size: 40px; }
  .art-ph { margin: 28px 0 0; }
  .art-ph img { border-radius: var(--r); }
  .art-ph figcaption { padding: 0; }
  .prose h2 { font-size: 27px; }
  .art-btns { grid-template-columns: 1fr 1fr; }
}
/* コラムの一覧：スマホは写真つきの行、PCは3列の札 */
.colgrid { margin-top: 20px; }

/* ---- 監査の直し（全ページ共通） ---- */
/* 1. 言葉の途中で改行しない：文節の切れ目（<wbr>）でだけ折る。本文の段落は今のまま */
body { word-break: keep-all; overflow-wrap: anywhere; line-break: strict; }
p, .a, .kng-body p, .rvc p, .sh-body, #caseview p, #caseview li, .faq .a p { word-break: normal; }
p.sub1, p.mute, p.lead, p.note2, p.diff, p.consult-note, p.art-lead, p.cap, p.fsay, p.news-more, p.extnote, p.kng-last, p.why1, .fvtext p, .endcta p { word-break: keep-all; }
p { text-wrap: pretty; }
.btn, .bar a, .more, .news-more a, summary, figcaption, .ent-main span, .ent-rep span, .hs-cap, .tag, .chip { text-wrap: balance; }
/* 2. 表：2列の表は、名前と説明を広く・金額を右に1行で */
.tb2 th { width: auto !important; white-space: normal; }
.tb2 td.n { white-space: nowrap; width: 1%; text-align: right; }
.tb caption { caption-side: top; text-align: left; font-weight: 700; font-family: var(--fh); font-size: 15.5px; padding: 0 0 8px; }
@media (max-width: 599px) {
  .cmp, .cmp tbody, .cmp tr, .cmp td { display: block; }
  .cmp tr { padding: 12px 0; border-bottom: 1px solid var(--line); }
  .cmp tr:first-child { display: flex; justify-content: space-between; padding: 8px 0; }
  .cmp td, .cmp th { border: 0 !important; padding: 0 !important; }
  .cmp td:first-child { margin-bottom: 4px; font-weight: 700; }
}
/* 価格の一覧：名前と金額を1行目、説明を2行目に全幅 */
.menu li { grid-template-columns: minmax(0, 1fr) auto; }
.menu li > b { grid-column: 1; grid-row: 1; }
.menu li > .pr { grid-column: 2; grid-row: 1; align-self: start; }
.menu li > span:not(.pr) { grid-column: 1 / -1; grid-row: 2; }
.menu + p, .sc + p { margin-top: 20px; }
/* 3. 横に流す並び：1枚目を見出しの左端（16px）にそろえる */
.scroller, .revs { scroll-padding-inline: 16px; }
/* 4. 事例の札：はんこが題名にかからない・長い町名は1行で */
.bcard .stamp + b { padding-right: 58px; }
.stamp i { white-space: nowrap; max-width: none; }
.cards > .bcard, .cards > .rcard { margin-bottom: 0; }
.cards { display: grid; gap: 20px; }
/* 札の中のLINEボタンは背を低く・字を一回り小さく */
.rcard .btn.sm { min-height: 44px; font-size: 14.5px; padding: 6px 10px; border-width: 1.5px; margin: 0 12px 12px; }
.rcard .btn.sm .lnb { font-size: 10px; padding: 0 4px; }
.pr.np { font-family: var(--fh); font-weight: 700; font-size: 14.5px; color: var(--sub); }
/* 残りを見る */
.cards .more-hidden { display: none !important; }
.morec { width: 100%; margin-top: 4px; }
/* 5. 2枚並びの選び方の札は、スマホでは縦1列 */
@media (max-width: 599px) {
  .cmp2 { grid-template-columns: 1fr; gap: 16px; }
  .cmp2 .cc .cimg img { aspect-ratio: 16 / 9; }
}
/* 6. 工事中の写真：1枚だけ余る時は全幅 */
.dur > figure:last-child:nth-child(odd) { grid-column: 1 / -1; }
/* 7. 外へ出るリンクは ↗ ひとつだけ */
.more[target="_blank"]::after { content: none; }
/* 8. 注記を読みやすく */
.note2, .mute.src, small.src { font-size: 14px; color: #4f4741; }
footer .fn { font-size: 13.5px; color: #cbbfb3; }
/* 9. 相談の段の下の空きを詰める・理念の一文の改行を決める */
section.s.endcta { padding-bottom: 40px; }
footer .fsay span { display: inline-block; }
footer .fsay span:first-child { display: block; }
footer a { white-space: nowrap; }
/* 10. フッターの上も屋根の形（相談の段が無いページ） */
footer { overflow: visible; }
footer::before { content: ""; position: absolute; left: 0; right: 0; top: -23px; height: 24px; background: inherit; clip-path: polygon(0 100%, 50% 0, 100% 100%); pointer-events: none; }
footer::after { right: 0; bottom: 0; width: 220px; height: 210px; background-size: 260px 240px; background-position: 0 0; }
@media (min-width: 900px) { footer::before { top: -39px; height: 40px; } footer::after { width: 380px; height: 360px; background-size: 420px 390px; } }
/* 11. 相談の段で引きつぐ項目名を折らない */
.ctxchip b, .sh-ctx b, #casebox b { word-break: keep-all; }

/* ---- 監査の直し（ページごとの部品） ---- */
.pin { white-space: nowrap; }
.trust2 { list-style: none; padding: 0; display: grid; gap: 2px; }
.trust2 li { padding-left: 14px; position: relative; }
.trust2 li::before { content: ""; position: absolute; left: 2px; top: .8em; width: 5px; height: 5px; border-radius: 50%; background: var(--wood); }
.ent-rep + .ent-rep { margin-top: 10px; }
.cards + .cards, .cards + .hero { margin-top: 20px; }
.strip { margin: 0 0 20px; }
h2 + .strip, h2 + .side, h2 + .hero, h2 + .cards { margin-top: 4px; }
@media (max-width: 599px) { .kv { grid-template-columns: 1fr !important; } }
.kv b { white-space: nowrap; }
.calc { margin: 16px 0 12px; padding: 14px 16px; background: var(--wood-l2); border-radius: var(--r); }
.calc b { display: block; font-family: var(--fh); font-size: 26px; color: var(--brand); margin-top: 4px; }
.h2b { margin-top: 40px; }
.bizform { margin-top: 24px; }
.tb2 thead th:last-child { text-align: right; }
.tbx tbody th small { font-weight: 700; color: var(--brand); font-size: 15px; }
/* 比べる図（建て替えか）と、税の図（空き家） */
.rng, .bars { margin: 8px 0 24px; display: grid; gap: 12px; }
.rng div, .bars div { display: grid; grid-template-columns: 1fr; gap: 4px; }
.rng span, .bars span { font-weight: 700; font-size: 15px; }
.bars span small { display: inline; font-weight: 400; color: var(--sub); margin-left: 6px; font-size: 13.5px; }
.rng i, .bars i { display: block; position: relative; height: 14px; background: #eee8df; border-radius: 7px; overflow: hidden; }
.rng em, .bars em { position: absolute; top: 0; bottom: 0; left: 0; background: var(--brand); border-radius: 7px; }
.rng em.b { background: #9c6419; } .rng em.c, .bars em.c { background: #6f6761; }
.rng b, .bars b { font-family: var(--fh); font-size: 17px; }
.bars figcaption { font-size: 14px; color: var(--sub); }
/* 空き家の「いまの状況」：開くことが分かる印 */
.sitbtn { position: relative; padding-right: 40px !important; text-align: left; }
.sitbtn::after { content: ""; position: absolute; right: 16px; top: 50%; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-70%) rotate(45deg); }
.sitbtn[aria-pressed="true"]::after, .sitbtn.on::after { transform: translateY(-30%) rotate(-135deg); }
/* 番号つきの箱（見るのは4か所 など） */
.lp2 { counter-reset: lp; }
.lp2 > div { counter-increment: lp; position: relative; }
.lp2 > div > b:first-child::before { content: counter(lp, decimal-leading-zero) "  "; font-family: var(--fd); color: var(--wood); }
/* 会社のこと：考え方はトップと同じえんじの地 */
.co-why .kng > li b { color: #fff; font-family: var(--fd); }
.co-why .kng > li p { color: #efe4d6; }
/* ご相談のフォーム：写真の欄と送るボタン */
.vh { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.flab { display: block; font-weight: 700; margin-bottom: 6px; }
.filebtn { display: inline-flex; align-items: center; min-height: 44px; padding: 6px 16px; border: 1.5px solid var(--ink); border-radius: var(--r); font-weight: 700; cursor: pointer; background: #fff; }
.filen { margin-left: 12px; font-size: 14px; color: var(--sub); }
.vh:focus-visible + .filebtn, .filebtn:focus-within { outline: 2px solid var(--brand); outline-offset: 2px; }
.btn.b-ink { background: var(--ink); color: #fff; border-color: var(--ink); }
/* 施工事例の絞り込み：右で切れないよう2段に折り返す */
.chips { flex-wrap: wrap !important; overflow: visible !important; }
/* リペアの入口：7枚目（奇数の最後）は横長に */
.ent-main.sym > a:last-child:nth-child(odd) { grid-column: 1 / -1; }
/* 最初の画面の「前」の小窓を少し大きく */
.fvpic .hs-mini, .fvp .hs-mini { width: 38%; }
/* 家の絵（第10版で描き直した物）：スマホは左右いっぱいまで */
.hmap img { display: block; width: 100%; height: auto; }
@media (max-width: 599px) { .hmap { margin-left: -16px; margin-right: -16px; max-width: none; } .hmap .pin { font-size: 13px; min-height: 32px; padding: 3px 10px 3px 8px; } }
.hmap .pin { white-space: nowrap; }
@media (max-width: 599px) { .hmap .pin { font-size: 12.5px; min-height: 28px; padding: 2px 9px 2px 7px; gap: 5px; border-width: 1.5px; box-shadow: 0 1.5px 0 var(--ink); } .hmap .pin::before { width: 7px; height: 7px; } }
w-p { display: inline; }
.fg input.vh, .vh { width: 1px !important; height: 1px !important; padding: 0 !important; border: 0 !important; margin: -1px !important; min-height: 0 !important; }
/* ---- 見直し（担当A）の直し ---- */
w-n { white-space: nowrap; }
.lp2.nonum > div > b:first-child::before { content: none; }
@media (max-width: 599px) { .kv div { flex-basis: 100%; } }
.kv small { line-height: 1.6; }
.extbox b::after { content: "\00a0↗"; }
body[data-kind="biz"] main > section:first-child .eyebrow { font-size: 15.5px; padding: 3px 12px 3px 8px; background: #f6eef0; border-radius: 999px; display: inline-flex; align-items: center; }
.ent-main + .btn { margin-top: 24px; }
main:has(> section.endcta:last-child) + footer::before { display: none; }
section.s.endcta { padding-bottom: 28px; }
.s > h1 + p { word-break: keep-all; }
.dur + .strip, .strip + .dur { margin-top: 16px; }
.dur figcaption, .strip figcaption { margin-bottom: 10px; }
.calc { word-break: keep-all; }
.ent2 { grid-template-columns: 1fr 1fr !important; gap: 10px; }
.ent2 span { font-size: 16px; padding: 24px 10px 10px; }
.ent2 span small { font-size: 12.5px; }
.ent3 { grid-template-columns: repeat(3, 1fr) !important; gap: 6px; }
.ent3 a img { aspect-ratio: 3 / 4; object-fit: cover; }
.ent3 span { font-size: 15px; padding: 24px 8px 10px; }
.ent3 span small { display: none; }
.filebtn { display: flex; justify-content: center; width: 100%; background: #f6f2ec; border-width: 1.5px; }
.filen { display: block; margin: 6px 0 0; text-align: center; }
/* 見出しは文節の切れ目（<wbr>）だけで折る：第9版の auto-phrase（Chromeだけの切れ目）を上書き */
h1, h2, h3, h4, .kng-detail > summary b, .kng-last, footer .fsay, .why1 b, .hs-cap > span, .news-list b, .news-lead b, .extbox b, .ent-main span, .prose h2 { word-break: keep-all; }
/* ---- 見直し（担当B）の直し ---- */
.hero .st { padding: 0 !important; margin-top: 0 !important; }
/* 本文の前後写真は上下に（小林さんの決まり）。小さい札の中は今のまま */
.side .s2, .art-fig .s2 { grid-template-columns: 1fr !important; gap: 3px; }
.side .s2 img, .art-fig .s2 img { aspect-ratio: 16 / 10; }
/* 最初の画面：相談の2つのボタンが下の固定帯より上に収まるよう写真を少し低く */
@media (max-width: 599px) { .fvp .hs-main img { aspect-ratio: 16 / 10; } }
.fvpic .hs-mini, .fvp .hs-mini { width: 42%; }
.stamp.l5 i { white-space: normal; max-width: 46px; line-height: 1.1; }
.rcard .pr.np { flex-basis: 100%; color: var(--ink); font-size: 15px; }
.note2 { font-size: 14px !important; color: #4f4741 !important; }
/* 記事：太字の帯は細く、写真の説明の下に「この事例を見る」 */
.prose p b { background: linear-gradient(transparent 82%, rgba(156, 100, 25, .28) 82%); }
.art-fig figcaption, .art-ph figcaption { display: block; }
.art-cl { display: flex; min-height: 36px; }
.toc a { align-items: flex-start; }
.toc a::before { padding-top: 1px; }
.toc li.nonum a::before { content: none; }
/* 手順の番号を大きく、縦の線でつなぐ */
.steps li { padding-left: 52px !important; }
.steps li::before { width: 34px !important; height: 34px !important; line-height: 34px !important; font-size: 16px !important; top: 10px !important; left: 0 !important; border-radius: 50% !important; text-align: center; background: var(--brand) !important; color: #fff !important; }
.steps li:not(:last-child)::after { content: ""; position: absolute; left: 16px; top: 46px; bottom: -10px; width: 2px; background: #e7d4d9; }
/* 住む・貸す・売る・壊すの表は、スマホでは名前の下に説明を全幅で */
@media (max-width: 599px) { .tbx, .tbx tbody, .tbx tr, .tbx th, .tbx td { display: block; width: auto !important; } .tbx thead { display: none; } .tbx tr { padding: 10px 0; border-bottom: 1px solid var(--line); } .tbx th, .tbx td { border: 0 !important; padding: 2px 0 !important; } }
/* ---- 最終見直し（担当A）の直し ---- */
.ent3 a::after, .ent3 span::after, .ent3 .arw { display: none !important; }
.tb2 tr.hd th, .tb2 tr.hd td { border-bottom: 0 !important; padding-bottom: 2px; }
.tb2 tr.ds td { padding-top: 0; color: var(--sub); }
.tb2 tr.ds small { display: block; font-size: 14px; line-height: 1.6; }
.calc w-n { white-space: nowrap; }
.filen { text-align: left; }
.dur figcaption { word-break: keep-all; }
@media (max-width: 599px) {
  .tb2, .tb2 thead, .tb2 tbody, .tb2 tfoot { display: block; width: 100%; }
  .tb2 tr { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
  .tb2 tr.ds { display: block; }
  .tb2 th, .tb2 td { display: block; }
  .tb2 tr th:first-child, .tb2 tr td:first-child { flex: 1 1 auto; width: auto !important; }
  .tb2 td.n, .tb2 thead th:last-child, .tb2 tfoot td:last-child { flex: none; text-align: right; white-space: nowrap; width: auto !important; min-width: 0; }
  .tb2 tr th:first-child, .tb2 tr td:first-child { min-width: 0; }
  .tb2 tr:not(.hd):not(.ds) { border-bottom: 1px solid var(--line); }
}
@media (max-width: 599px) { .tb2 th, .tb2 td { padding-left: 0 !important; padding-right: 0 !important; } .tb2 thead th { background: none !important; } }

/* v4：本番用に足した物 */
.page-home .fvhead h1{font-size:clamp(24px,6.6vw,48px);line-height:1.3;letter-spacing:.02em}.ent-info{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 0}.ent-info a{display:flex;flex-direction:column;gap:3px;padding:10px;border:1px solid var(--line);border-radius:var(--r);background:#fff;color:var(--ink);text-decoration:none}.ent-info b{font-size:14px}.ent-info small{font-size:12px;line-height:1.45;color:var(--sub)}.ent-biz{margin:14px 0 0}.ent-biz a{color:var(--ink);text-decoration:none}.ent-biz b{font-size:14.5px}.ent-biz small{margin-left:8px;font-size:12.5px;color:var(--sub)}.hs-mini{pointer-events:none;cursor:default}.st.ok{background:#eef7f0;color:#0f4d2a}.st:empty{display:none}
.prose table{width:100%;border-collapse:collapse;margin:8px 0 16px;font-size:15px}.prose th,.prose td{text-align:left;vertical-align:top;padding:10px 4px;border-bottom:1px solid var(--line)}.prose th{width:6.5em;color:var(--sub);font-weight:500}
.hp-trap{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.photonote{font-size:14px;color:var(--sub);margin:0}
