/* お家の断熱王 HP — B 案の見た目（クリーム地・茶色の見出し・橙・緑の看板・しま模様の帯）をレスポンシブに（2026-10-10）
   色・書体は dannetsu-base（B 案 LP）から。PC/スマホで別ファイルではなく、1 つの CSS で幅に応じて並べ替える */
:root{--cream:#f0e8d3;--paper:#fff8e6;--sand:#e9dda9;--yellow:#ffd36b;--yellow2:#fdc84f;--brown:#884c32;--brown2:#a9683a;--orange:#fe9909;--orange2:#f2621c;--green:#3da500;--ink:#343434;--sub:#777;--rule:#ead48f;--line:#06c755;--blue:#39a9ff;--r:28px;--rs:18px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:'Noto Sans JP',sans-serif;color:var(--ink);background:#fff;line-height:1.85;font-size:16px;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
h1,h2,h3,.round{font-family:'Zen Maru Gothic','Noto Sans JP',sans-serif}
h1,h2,h3{color:var(--brown);font-weight:900;line-height:1.5;margin:0;text-wrap:balance;word-break:auto-phrase}
.todo{color:#b34;font-weight:700}
mark{color:inherit;background:linear-gradient(transparent 68%,#fffb4e 68%)}

/* ヘッダー */
.site-header{position:sticky;top:0;z-index:60;background:#fff;border-bottom:4px solid var(--yellow)}
.site-header .wrap{display:flex;align-items:center;gap:18px;min-height:64px}
.logo{display:inline-flex;align-items:center;gap:8px;font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:21px;color:var(--brown);text-decoration:none;white-space:nowrap}
.logo .mark,.fbrand .mark{height:36px;width:auto}
.site-header nav{display:none;margin-left:auto;gap:2px}
.site-header nav a{padding:8px 11px;border-radius:999px;font-weight:700;font-size:14px;text-decoration:none;color:var(--brown);white-space:nowrap}
.site-header nav a:hover,.site-header nav a.cur{background:var(--cream)}
.hd-line{margin-left:auto;display:none;align-items:center;gap:7px;height:42px;padding:0 18px;border-radius:999px;background:var(--line);color:#fff;font-weight:800;font-size:14px;text-decoration:none;box-shadow:0 3px 0 #05a446}
.hd-line i{width:15px;height:15px;border-radius:4px;background:#fff;display:block}
.menu-btn{margin-left:auto;width:44px;height:44px;border:0;border-radius:12px;background:var(--cream);cursor:pointer;position:relative}
.menu-btn i,.menu-btn i::before,.menu-btn i::after{position:absolute;left:12px;right:12px;height:3px;border-radius:2px;background:var(--brown);content:'';display:block}
.menu-btn i{top:21px}.menu-btn i::before{left:0;right:0;top:-8px}.menu-btn i::after{left:0;right:0;top:8px}
.site-nav-sp{display:none;background:#fff;border-top:1px solid var(--rule);padding:6px 20px 16px}
.site-nav-sp.open{display:grid}
.site-nav-sp a{padding:13px 4px;border-bottom:1px solid var(--cream);font-weight:700;color:var(--brown);text-decoration:none}
.site-nav-sp a.cur{color:var(--orange)}
@media(min-width:1000px){.site-header nav{display:flex}.hd-line{display:inline-flex;margin-left:12px}.menu-btn{display:none}.site-nav-sp{display:none!important}}

/* しま模様の帯・ドット */
.stripe{height:30px;background:repeating-linear-gradient(90deg,var(--sand) 0 80px,var(--yellow2) 80px 160px,var(--orange) 160px 240px)}
@media(min-width:900px){.stripe{height:36px;background:repeating-linear-gradient(90deg,var(--sand) 0 120px,var(--yellow2) 120px 240px,var(--orange) 240px 360px)}}
.dots{background-image:radial-gradient(rgba(255,255,255,.35) 2.4px,transparent 2.6px);background-size:26px 26px}

/* 見出し */
.sec{padding:56px 0}
.sec.cream{background:var(--cream)}
.sec.yellow{background:var(--yellow)}
.sec.orange{background:var(--orange);color:#fff}
.sec.orange h2{color:#fff}
.hx{font-size:clamp(25px,4.4vw,40px);text-align:center;letter-spacing:.03em}
.hx em{font-style:normal;color:var(--orange)}
.sec.orange .hx em{color:#fffb4e}
.kick{display:block;text-align:center;font-family:'Zen Maru Gothic',sans-serif;font-weight:700;color:var(--brown2);letter-spacing:.14em;font-size:13px;margin:0 0 6px}
.sec.orange .kick{color:#fff}
.lead{text-align:center;max-width:720px;margin:14px auto 0}
.pill{display:block;width:max-content;max-width:100%;margin:0 auto;background:var(--brown2);color:#fff;border-radius:999px;padding:12px 34px;font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:clamp(19px,3.4vw,28px);line-height:1.45;text-align:center}
.ptn{display:flex;align-items:center;gap:14px;justify-content:center;margin-bottom:22px;flex-wrap:wrap}
.ptn .no{font-family:'Zen Maru Gothic',sans-serif;color:var(--brown);line-height:.9;text-align:center}
.ptn .no small{display:block;font-size:15px;font-style:italic;color:#c0902a;font-weight:700}
.ptn .no b{font-size:54px;font-weight:700}
.more{display:inline-block;font-weight:800;color:var(--brown);text-decoration:none;border-bottom:3px solid var(--yellow2);padding-bottom:1px}
.more:hover{color:var(--orange)}
.ph{border-radius:var(--rs);overflow:hidden;background:var(--cream)}
.ph img{width:100%;height:100%;object-fit:cover}
.round-ph{border-radius:28px}

/* ページ見出し */
.pagehead{background:var(--cream);padding:40px 0 44px}
.pagehead .wrap{display:grid;gap:22px;align-items:center}
.pagehead .kick{text-align:left}
.pagehead h1{font-size:clamp(30px,6vw,46px);letter-spacing:.04em}
.pagehead .lead{text-align:left;margin:12px 0 0;max-width:none}
.pagehead .ph{border-radius:var(--r);box-shadow:0 8px 24px rgba(136,76,50,.14)}
@media(min-width:900px){.pagehead{padding:56px 0 60px}.pagehead.has-ph .wrap{grid-template-columns:1.15fr 1fr;gap:44px}}

/* FV（トップ） */
.fvb{background:var(--cream);padding:34px 0 0;position:relative;overflow:hidden}
.fvb .wrap{display:grid;gap:18px;position:relative}
.fvb .area{margin:0;font-family:'Zen Maru Gothic',sans-serif;font-weight:900;color:var(--brown2);font-size:15px;letter-spacing:.1em;text-align:center}
.fvb h1{font-size:clamp(34px,8.6vw,64px);text-align:center;line-height:1.35;letter-spacing:.04em;text-shadow:0 2px 0 #fff}
.fvb h1 em{font-style:normal;color:var(--orange)}
.fvb .sub{margin:0;text-align:center;font-weight:700;color:var(--ink)}
.fvb .photo{border-radius:34px;overflow:hidden;box-shadow:0 10px 28px rgba(136,76,50,.18);aspect-ratio:3/2.1}
.fvb .photo img{width:100%;height:100%;object-fit:cover;object-position:45% 50%}
.badges{display:flex;justify-content:center;gap:10px;margin:-44px 0 0;position:relative;z-index:2;flex-wrap:wrap}
.badges span{width:104px;height:104px;border-radius:50%;background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:900;font-size:14px;line-height:1.35;border:4px solid #fff;box-shadow:0 5px 14px rgba(0,0,0,.14);font-family:'Zen Maru Gothic',sans-serif}
.sign{position:relative;max-width:640px;margin:70px auto 0;background:var(--green);border:5px solid #fff;border-radius:22px;padding:50px 22px 26px;color:#fff;text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.sign::before{content:'';position:absolute;left:50%;top:-58px;transform:translateX(-50%);width:64%;height:70px;background:var(--green);border:5px solid #fff;border-bottom:0;border-radius:90px 90px 0 0}
.sign .ok{position:absolute;left:50%;top:-36px;transform:translateX(-50%);font-weight:900;font-size:17px;white-space:nowrap;z-index:1}
.sign .chip{display:inline-block;background:#fff;color:var(--green);font-weight:900;padding:2px 14px;border-radius:4px;font-size:15px}
.sign .msg{margin:14px 0 0;font-size:clamp(16px,4.3vw,24px);font-weight:900;line-height:1.7;font-family:'Zen Maru Gothic',sans-serif}
.sign .msg b{color:#fffb4e;font-weight:900}
.btn{display:flex;align-items:center;justify-content:center;gap:9px;max-width:380px;margin:12px auto 0;height:58px;border-radius:999px;font-weight:900;font-size:19px;text-decoration:none;border:3px solid rgba(255,255,255,.7);box-shadow:0 4px 0 rgba(0,0,0,.18);color:#fff;font-family:'Zen Maru Gothic',sans-serif;cursor:pointer}
.btn.pink{background:linear-gradient(#f77b8f,#ee5069)}
.btn.orange{background:linear-gradient(#ffb02e,#fe9909)}
.btn.line{background:var(--line);border-color:#fff}
.btn.mail{background:#fff;color:var(--brown);border-color:var(--brown)}
.btn.tel{background:var(--brown);color:#fff;border-color:#fff;font-size:17px;letter-spacing:.02em}
.btn.tel svg{flex:none}
.btn.big{max-width:420px}
.btn i{width:18px;height:18px;border-radius:5px;background:#fff;display:block}
.fine{margin:12px 0 0;font-size:13px;font-weight:700;line-height:1.7;text-align:center}
.fvb .fine{color:var(--brown)}
@media(min-width:900px){
  .fvb{padding-top:48px}
  .fvb .wrap{grid-template-columns:1.05fr 1.1fr;gap:0 34px;align-items:center}
  .fvb .txt{display:grid;gap:14px;grid-column:1;grid-row:1;align-self:end}
  .fvb .photo{grid-column:2;grid-row:1 / span 2;aspect-ratio:16/12}
  .fvb .area,.fvb h1,.fvb .sub{text-align:left}
  .fvb h1{font-size:clamp(34px,3.7vw,52px)}
  .badges{grid-column:1;grid-row:2;justify-content:flex-start;margin:6px 0 0;align-self:start}
  .badges span{width:116px;height:116px;font-size:15px}
  .sign{grid-column:1/-1;margin-top:70px;width:100%}
  .fvb .fine{grid-column:1/-1}
}
.fvb .tail{height:70px}

/* 核の一文 */
.core{padding:42px 0 20px;text-align:center}
.core .c-lead{display:block;font-size:15px;color:var(--sub);font-weight:700}
.core .c-ans{display:block;font-family:'Zen Maru Gothic',sans-serif;font-size:clamp(25px,5.4vw,40px);font-weight:900;color:var(--ink);line-height:1.5;margin-top:6px}
.core em{font-style:normal;color:var(--orange)}
.core .nb{white-space:nowrap}

/* カード・2 列 */
.two{display:grid;gap:26px;align-items:center}
@media(min-width:900px){.two{grid-template-columns:1fr 1fr;gap:48px}.two.rev .ph{order:-1}}
.card{background:#fff;border:3px solid var(--rule);border-radius:var(--r);padding:26px 24px}
.card.dash{border:3px dotted var(--yellow2)}
.way .in h2{text-align:left;font-size:clamp(24px,3.4vw,32px)}
.way .body{margin:16px 0 0}
.facts{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.facts span{background:var(--paper);border:2px solid var(--rule);color:var(--brown);font-weight:800;border-radius:999px;padding:5px 16px;font-size:14px}

/* 入口 3 つ */
.entry .big{display:grid;gap:18px}
.entry .e{display:block;text-decoration:none;background:#fff;border:3px solid var(--rule);border-radius:var(--r);overflow:hidden;transition:transform .15s}
.entry .e:hover{transform:translateY(-3px)}
.entry .e .ph{border-radius:0;aspect-ratio:3/2}
.entry .tx{padding:16px 20px 20px}
.entry .tx small{display:block;color:var(--brown2);font-weight:700;font-size:13px;letter-spacing:.06em}
.entry .tx b{display:block;font-family:'Zen Maru Gothic',sans-serif;font-size:21px;color:var(--brown);margin:2px 0 4px}
.entry .tx span{font-size:14px;color:var(--ink)}
.quiet{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;margin:26px 0 0;font-weight:700}
.quiet a{color:var(--brown);text-decoration:none;border-bottom:2px solid var(--rule)}
@media(min-width:900px){.entry .big{grid-template-columns:1.4fr 1fr 1fr;align-items:stretch}.entry .big .e:first-child .ph{aspect-ratio:4/3}}

/* 住所入力（トップ） */
.addr form{display:flex;gap:8px;margin:18px 0 0;flex-wrap:wrap}
.addr input{flex:1 1 220px;min-width:0;border:3px solid var(--yellow2);border-radius:14px;padding:13px 16px;font:inherit;font-size:16px;font-weight:700;background:#fff}
.addr button{flex:none;border:0;border-radius:14px;padding:0 24px;height:54px;background:var(--orange);color:#fff;font-weight:900;font-size:16px;cursor:pointer;box-shadow:0 4px 0 #d77e00;font-family:'Zen Maru Gothic',sans-serif}
.note{font-size:13px;color:var(--sub);margin:10px 0 0;line-height:1.7}
.note.c{text-align:center}

/* ブログ */
.themes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:26px 0}
.themes a{text-decoration:none;text-align:center}
.themes .ph{aspect-ratio:1/1;border-radius:50%;border:4px solid var(--yellow2)}
.themes b{display:block;margin-top:8px;color:var(--brown);font-weight:800;font-size:15px}
.postlist{list-style:none;margin:0;padding:0;border-top:2px solid var(--rule)}
.postlist li{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;padding:14px 4px;border-bottom:2px solid var(--rule)}
.postlist time{color:var(--sub);font-size:13px;font-variant-numeric:tabular-nums}
.postlist .cat{background:var(--paper);border:2px solid var(--rule);color:var(--brown);border-radius:999px;font-size:12px;font-weight:800;padding:0 10px}
.postlist a{font-weight:800;text-decoration:none;flex:1 1 240px}
.postlist .empty{color:var(--sub);display:block}
.cats{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:18px 0 0}
.cats span{background:#fff;border:2px solid var(--rule);color:var(--brown);border-radius:999px;font-weight:800;font-size:13px;padding:3px 14px}
.article{max-width:760px;margin:0 auto}
.article h2{font-size:24px;margin:34px 0 10px;text-align:left;border-left:8px solid var(--orange);padding-left:12px}
.article h3{font-size:19px;margin:24px 0 8px}
.article .meta{display:flex;gap:10px;color:var(--sub);font-size:13px;margin:0 0 6px}
.article .fixed{background:var(--paper);border:2px solid var(--rule);border-radius:14px;padding:12px 16px;font-size:14px}
.prose{max-width:760px;margin:18px auto 0}
.prose p{margin:0 0 14px}
.prose ul{padding-left:1.3em}
.prose li{margin:6px 0}

/* 補助金の帯 */
.subband{background:var(--cream)}
.subbox{background:#fff;border:3px solid var(--rule);border-radius:var(--r);padding:18px 22px;max-width:560px;margin:24px auto 0;text-align:center}
.subbox .calc{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:8px 0;font-weight:800;color:var(--brown)}
.subbox .calc strong{font-family:'Zen Maru Gothic',sans-serif;font-size:36px;color:var(--orange)}
.subbox small{display:block;color:var(--sub);font-size:13px}

/* ステップ */
.steps{display:grid;gap:16px;margin:34px 0 0}
.step{background:#fff;border:3px solid var(--brown);border-radius:24px;overflow:hidden;color:var(--ink)}
.step .lb{background:#ffecd0;color:var(--brown);font-family:'Zen Maru Gothic',sans-serif;font-weight:700;text-align:center;padding:6px 0}
.step .lb b{font-size:22px}
.step .ph{margin:12px 14px 0;aspect-ratio:3/2}
.step h3{font-size:17px;text-align:center;margin:12px 12px 4px;color:var(--ink)}
.step p{font-size:14px;color:var(--orange);font-weight:800;text-align:center;margin:0 14px 16px;line-height:1.7}
.step p a{color:var(--brown)}
@media(min-width:900px){.steps{grid-template-columns:repeat(4,1fr)}}
@media(min-width:560px) and (max-width:899px){.steps{grid-template-columns:1fr 1fr}}
.ribbon{display:block;width:max-content;max-width:100%;margin:22px auto 0;background:#fff;color:var(--brown);font-weight:900;padding:6px 40px;border:3px solid var(--brown);border-radius:6px;font-family:'Zen Maru Gothic',sans-serif}
.min{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:clamp(46px,11vw,78px);color:#fffb4e;text-align:center;margin:10px 0 0;line-height:1.2;-webkit-text-stroke:3px var(--brown);paint-order:stroke fill}
.chips{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:14px 0 0}
.chips span{background:#fff;color:var(--brown);font-weight:800;border-radius:999px;padding:3px 14px;font-size:14px}

/* LINE の例 */
.chat{max-width:560px;margin:34px auto 0;background:#fff;border:3px solid var(--rule);border-radius:var(--r);padding:20px 20px 16px}
.chat h3{font-size:18px;text-align:center;margin:0 0 12px}
.chat .u{margin:0 0 8px 12%;background:#d9f7be;border-radius:18px 18px 4px 18px;padding:8px 14px;font-size:14px}
.chat .s{display:flex;gap:8px;align-items:flex-start;margin:0 12% 8px 0}
.chat .s img{width:44px;height:44px;border-radius:50%;flex:none}
.chat .s p{margin:0;background:var(--cream);border-radius:18px 18px 18px 4px;padding:8px 14px;font-size:14px}

/* 工事の日・仕組み */
.mechstage{display:grid;gap:14px}
.mech{position:relative;border-radius:var(--r);overflow:hidden;box-shadow:0 8px 24px rgba(136,76,50,.16)}
.mech img{width:100%;height:auto}
.mlabel{position:absolute;top:4%;padding:5px 16px;border-radius:14px;color:#fff;font-weight:900;text-align:center;line-height:1.15;box-shadow:0 4px 12px rgba(0,0,0,.18)}
.mlabel small{display:block;background:#fff;border-radius:7px;font-size:11px;padding:0 8px;margin-bottom:2px}
.mlabel b{font-size:clamp(18px,3.4vw,32px);font-family:'Zen Maru Gothic',sans-serif}
.mlabel.l{left:3%;background:linear-gradient(160deg,#39a9ff,#1877e6)}.mlabel.l small{color:#1c3a5e}
.mlabel.r{right:3%;background:linear-gradient(160deg,#ff9a3c,#f2621c)}.mlabel.r small{color:#8a3a0c}
.season{display:grid;gap:18px;margin-top:26px}
.season .it{background:#fff;border-radius:var(--r);overflow:hidden;border:3px solid var(--rule)}
.season .ph{border-radius:0;aspect-ratio:3/2}
.season .tx{padding:14px 20px 20px}
.season .tx small{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;color:var(--orange);letter-spacing:.1em}
.season .tx b{display:block;font-family:'Zen Maru Gothic',sans-serif;color:var(--brown);font-size:20px}
.season .tx p{margin:4px 0 0;font-size:14px}
@media(min-width:700px){.season{grid-template-columns:1fr 1fr}}
.dayline{display:grid;gap:14px;margin-top:26px}
.dayline .d{background:#fff;border:3px solid var(--rule);border-radius:var(--r);overflow:hidden}
.dayline .ph{border-radius:0;aspect-ratio:3/2}
.dayline .tx{padding:12px 18px 16px;text-align:center}
.dayline .tx small{display:block;color:var(--orange);font-weight:900;font-family:'Zen Maru Gothic',sans-serif}
.dayline .tx b{font-size:18px;color:var(--brown);font-family:'Zen Maru Gothic',sans-serif}
@media(min-width:700px){.dayline{grid-template-columns:repeat(3,1fr)}}
.small-note{text-align:center;font-size:13px;color:var(--sub);margin:12px 0 0}
.spots{display:grid;gap:18px;margin-top:26px}
.spots .sp{background:#fff;border:3px solid var(--rule);border-radius:var(--r);overflow:hidden}
.spots .ph{border-radius:0;aspect-ratio:3/2}
.spots .tx{padding:14px 20px 18px}
.spots .tx b{display:block;font-family:'Zen Maru Gothic',sans-serif;font-size:20px;color:var(--brown)}
.spots .tx span{color:var(--orange);font-weight:900;font-size:14px}
@media(min-width:700px){.spots{grid-template-columns:1fr 1fr}}

/* 比較 */
.cmp{width:100%;border-collapse:separate;border-spacing:0;margin-top:26px;border-radius:var(--rs);overflow:hidden;border:3px solid var(--rule);background:#fff;text-align:center}
.cmp th,.cmp td{padding:12px 8px;border-bottom:2px solid var(--cream);font-size:14px;vertical-align:middle}
.cmp thead th{background:var(--cream);color:var(--brown);font-size:14px}
.cmp thead th.us{background:var(--orange);color:#fff}
.cmp tbody th{background:var(--paper);color:var(--brown);width:22%;font-weight:800}
.cmp td.us{background:#fff3d6;font-weight:800;color:var(--brown)}
.cmp tr:last-child th,.cmp tr:last-child td{border-bottom:0}
@media(min-width:700px){.cmp th,.cmp td{font-size:16px;padding:15px 12px}}

/* 料金 */
.psub{background:#fff;border:3px solid var(--rule);border-radius:var(--rs);padding:12px 18px;text-align:center;margin:20px auto 0;max-width:760px;font-size:15px}
.psub b{color:var(--brown)}
.ptabs{margin:22px auto 0;max-width:820px}
.ptabs>input{position:absolute;opacity:0;pointer-events:none}
.ptabs .tabrow{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.ptabs label{text-align:center;padding:12px 4px;border-radius:14px 14px 0 0;background:var(--paper);color:var(--brown);font-weight:900;cursor:pointer;border:3px solid var(--rule);border-bottom:0;font-family:'Zen Maru Gothic',sans-serif;font-size:clamp(12.5px,3.4vw,15px);line-height:1.35}
#pt1:checked~.tabrow label[for=pt1],#pt2:checked~.tabrow label[for=pt2],#pt3:checked~.tabrow label[for=pt3]{background:var(--brown);color:#fff;border-color:var(--brown)}
#pt1:focus-visible~.tabrow label[for=pt1],#pt2:focus-visible~.tabrow label[for=pt2],#pt3:focus-visible~.tabrow label[for=pt3]{outline:3px solid var(--orange)}
.pp{display:none;background:#fff;border:3px solid var(--rule);border-radius:0 0 var(--r) var(--r);padding:20px 16px}
#pt1:checked~.p1,#pt2:checked~.p2,#pt3:checked~.p3{display:block}
.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pgrid div{background:var(--paper);border:2px solid var(--rule);border-radius:16px;text-align:center;padding:12px 6px}
.pgrid b{display:block;font-family:'Zen Maru Gothic',sans-serif;color:var(--brown);font-size:20px}
.pgrid small{display:block;font-size:12px;color:var(--sub)}
.pgrid strong{display:block;font-family:'Zen Maru Gothic',sans-serif;color:var(--orange);font-size:clamp(24px,5vw,32px);font-variant-numeric:tabular-nums}
@media(min-width:700px){.pgrid{grid-template-columns:repeat(4,1fr)}}
.pset{text-align:center;padding:10px 0}
.pset small{display:block;color:var(--brown);font-weight:800}
.pset strong{display:block;font-family:'Zen Maru Gothic',sans-serif;font-size:clamp(38px,9vw,56px);color:var(--orange);line-height:1.3}
.pset span{font-weight:800;color:var(--brown)}
.pnote{text-align:center;font-size:13px;color:var(--sub);margin:6px 0 0}
.addbox{max-width:820px;margin:20px auto 0;background:#fff;border:3px dashed var(--yellow2);border-radius:var(--rs);padding:14px 20px;text-align:center}
.addbox b{display:block;color:var(--brown);font-family:'Zen Maru Gothic',sans-serif;font-size:18px}
.inc{display:grid;gap:14px;margin-top:22px}
.inc>div{background:#fff;border:3px solid var(--rule);border-radius:var(--rs);padding:16px 20px}
.inc b{color:var(--brown);font-family:'Zen Maru Gothic',sans-serif;font-size:18px}
.inc p{margin:6px 0 0;font-size:15px}
@media(min-width:700px){.inc{grid-template-columns:1fr 1fr}}
.estwrap{background:var(--cream);padding:36px 0 44px}
.est-panel.is-open{display:block;max-width:980px;margin:22px auto 0;background:var(--cream)}

/* FAQ */
.qa{border-radius:12px;background:var(--cream);margin:0 0 14px;overflow:hidden}
.qa summary{list-style:none;display:flex;align-items:center;gap:16px;padding:14px 20px;min-height:64px;cursor:pointer}
.qa summary::-webkit-details-marker{display:none}
.qa summary strong{font-size:26px;font-family:'Zen Maru Gothic',sans-serif;color:var(--ink)}
.qa summary span{flex:1;min-width:0;font-weight:800;line-height:1.65}
.qa summary i{flex:none;font-style:normal;font-size:28px;color:#777;transition:transform .2s}
.qa[open] summary i{transform:rotate(90deg)}
.qa .ans{display:flex;gap:14px;padding:8px 20px 20px;background:var(--paper)}
.qa .ans b{font-size:26px;font-family:'Zen Maru Gothic',sans-serif;color:var(--orange);line-height:1.2}
.qa .ans p{margin:0;font-size:15px;line-height:1.9;padding-top:4px}
.faqhead{display:flex;align-items:center;gap:16px;justify-content:center;margin:0 0 26px;flex-wrap:wrap}
.faqhead img{width:92px;height:92px;border-radius:50%;background:#fff;border:3px solid var(--rule)}
.faqlist{max-width:820px;margin:0 auto}

/* 会社概要 */
.ctable{width:100%;max-width:820px;margin:0 auto;border-collapse:separate;border-spacing:0;border:3px solid var(--rule);border-radius:var(--rs);overflow:hidden;background:#fff}
.ctable th,.ctable td{padding:15px 18px;text-align:left;border-bottom:2px solid var(--cream);vertical-align:top}
.ctable th{width:30%;background:var(--paper);color:var(--brown);font-weight:800}
.ctable tr:last-child th,.ctable tr:last-child td{border-bottom:0}

/* 相談・フォーム */
.contact-sec{padding:0}
.contact-sec .bg{background:linear-gradient(rgba(240,232,211,.88),rgba(240,232,211,.88)),var(--cream);padding:34px 0 48px}
.contact-sec .sign{margin-top:70px}
.cboxes{display:grid;gap:16px;margin-top:0}
.cbox{background:#fff;border:3px solid var(--rule);border-radius:var(--r);padding:24px;text-align:center}
.cbox b{font-family:'Zen Maru Gothic',sans-serif;color:var(--brown);font-size:22px}
.cbox p{font-size:14px;margin:8px 0 6px}
@media(min-width:800px){.cboxes{grid-template-columns:1fr 1fr}}
.mailform{max-width:560px;margin:0 auto;background:#fff;border:3px solid var(--rule);border-radius:var(--r);padding:26px 22px;display:grid;gap:12px}
.mailform h3{font-size:22px;margin:0 0 4px}
.mailform .kicker{margin:0;font-family:'Zen Maru Gothic',sans-serif;color:var(--brown2);font-weight:700;letter-spacing:.14em;font-size:13px}
.mailform .kicker span{margin-left:10px}
.mailform h3 em{font-style:normal;color:var(--orange)}
.mailform label{display:grid;gap:4px;font-weight:700;font-size:14px;color:var(--brown)}
.mailform input,.mailform textarea{border:3px solid var(--rule);border-radius:12px;padding:11px 13px;font:inherit;font-size:16px;color:var(--ink);background:var(--paper)}
.mailform input:focus,.mailform textarea:focus{outline:3px solid var(--orange);outline-offset:1px}
.mailform .btn-soft{height:54px;border:0;border-radius:999px;background:var(--orange);color:#fff;font-weight:900;font-size:17px;cursor:pointer;box-shadow:0 4px 0 #d77e00;font-family:'Zen Maru Gothic',sans-serif}
.mf-note{font-size:13px;color:#0a7f4f;font-weight:700;margin:0}

/* フッター */
.site-footer{background:var(--brown);color:#fff;padding:44px 0 90px;font-size:14px}
.site-footer .g{display:grid;gap:24px}
.site-footer .fbrand{display:inline-flex;align-items:center;gap:8px;font-family:'Zen Maru Gothic',sans-serif;font-size:21px;font-weight:900;margin-bottom:8px}
.site-footer .links{display:grid;gap:8px;align-content:start}
.site-footer a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4);width:max-content}
.site-footer .copy{margin-top:28px;font-size:12px;line-height:1.8;opacity:.85}
@media(min-width:800px){.site-footer .g{grid-template-columns:1.6fr 1fr 1fr}.site-footer{padding-bottom:60px}}

/* 固定バー */
.cbar{position:fixed;left:0;right:0;bottom:0;z-index:55;display:flex;gap:8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.96);box-shadow:0 -4px 16px rgba(0,0,0,.1);transform:translateY(calc(100% + 40px));visibility:hidden;transition:transform .25s,visibility .25s}
.cbar.on{transform:none;visibility:visible}
.cbar a{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:50px;border-radius:25px;font-weight:900;font-size:15px;text-decoration:none;font-family:'Zen Maru Gothic',sans-serif}
.cbar .cb-line{flex:3 1 0;background:var(--line);color:#fff;box-shadow:0 3px 0 #05a446}
.cbar .cb-line i{width:16px;height:16px;border-radius:4px;background:#fff}
.cbar .cb-est{flex:2 1 0;background:var(--orange);color:#fff;box-shadow:0 3px 0 #d77e00}
.cbar .cb-tel{flex:2 1 0;background:var(--brown);color:#fff;box-shadow:0 3px 0 rgba(0,0,0,.25)}
.cbar .cb-tel svg{width:17px;height:17px;flex:none}
.cbar .tl-n{display:none}
@media(min-width:900px){.cbar{left:auto;right:24px;bottom:24px;width:auto;border-radius:999px;padding:8px;border:3px solid var(--rule)}.cbar a{padding:0 22px}.cbar .cb-line,.cbar .cb-est,.cbar .cb-tel{flex:none}.cbar .tl-s{display:none}.cbar .tl-n{display:inline}}
@media(prefers-reduced-motion:reduce){.cbar,*{transition:none!important;scroll-behavior:auto!important}}

/* ===== LP 形式（2026-10-12：LP の Point パネル・悩み 4 つ・波・背景写真つきの看板・対応エリア図を HP に） ===== */
.brsp{display:none}
@media(max-width:700px){.brsp{display:inline}}
.wv{height:30px;background-repeat:repeat-x;background-size:80px 30px}
.wv.cream{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 30'%3E%3Cpath fill='%23f0e8d3' d='M0 0H80V15Q60 30 40 15T0 15Z'/%3E%3C/svg%3E")}
.wv.org{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 30'%3E%3Cpath fill='%23fe9909' d='M0 0H80V15Q60 30 40 15T0 15Z'/%3E%3C/svg%3E")}
.fvb{padding-bottom:34px}

/* 背景写真つきの看板 */
.signband{position:relative;overflow:hidden;isolation:isolate;padding:84px 0 38px;background:var(--cream)}
.signband::before{content:'';position:absolute;inset:-24px;background:var(--bd) center/cover;filter:blur(7px);z-index:-2}
.signband::after{content:'';position:absolute;inset:0;background:rgba(240,232,211,.42);z-index:-1}
.signband .sign{margin-top:0}
.signband .fine{color:#222;text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 6px #fff,0 0 6px #fff}
.contact-sec .bg.signband{background:var(--cream);padding:40px 0 48px}
.contact-sec .bg.signband .sign{margin-top:70px}

/* 1日断熱とは？＋対応エリア */
.areabox{position:relative;background:var(--cream);border-radius:30px;padding:26px 22px}
.areabox svg{display:block;width:100%;height:auto;aspect-ratio:440/500;max-height:330px;margin:0 auto}
.areabox .albl{position:absolute;left:16px;top:16px;z-index:1;background:#fff;border-radius:8px;padding:6px 10px;font-family:'Zen Maru Gothic',sans-serif;font-weight:700;color:var(--brown);line-height:1.3;font-size:16px}

/* 悩み 4 つ → そんな方にも */
.worry{background:var(--cream);padding:46px 0 34px}
.wtitle{text-align:center;font-size:clamp(24px,4.6vw,40px);letter-spacing:.03em}
.wtitle em{font-style:normal;color:var(--orange);font-size:1.25em}
.wcards{display:grid;grid-template-columns:1fr 1fr;gap:22px 14px;margin-top:30px}
@media(min-width:900px){.wcards{grid-template-columns:repeat(4,1fr);gap:22px}}
.wc{position:relative;text-align:center}
.wc .ph{aspect-ratio:1/1;border-radius:30px;border:5px solid #fff;box-shadow:0 6px 18px rgba(136,76,50,.14)}
.wc .n{position:absolute;left:-6px;top:-10px;width:54px;height:54px;border-radius:50%;background:var(--orange);color:#fff;font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:22px;display:grid;place-items:center;border:3px solid #fff;box-shadow:0 3px 8px rgba(0,0,0,.14)}
.wc b{display:block;margin-top:10px;font-family:'Zen Maru Gothic',sans-serif;font-weight:900;color:var(--brown);font-size:clamp(16px,3.8vw,20px);line-height:1.45}
.coreo{background:var(--orange);color:#fff;text-align:center;padding:0 0 26px}
.coreo .wrap{padding-top:18px}
.coreo .c-ans{display:block;font-family:'Zen Maru Gothic',sans-serif;font-size:clamp(25px,5.4vw,42px);font-weight:900;line-height:1.5;color:#fff}
.coreo .c-ans em{font-style:normal;color:#fffb4e;font-size:1.25em}
.coreo .nb{white-space:nowrap}

/* Point パネル（黄／クリーム地・茶の見出し札・番号とイラスト） */
.ptsec{padding:84px 0 10px}
.ptsec:last-of-type{padding-bottom:34px}
.pnl{position:relative;background:var(--yellow);border-radius:40px;padding:36px 14px 26px}
.ptsec.cr .pnl{background:var(--cream)}
.pnl-h{position:relative;display:flex;justify-content:center;margin:0 0 22px}
.pnl-h .no{position:absolute;left:4px;top:-66px;z-index:2;font-family:'Zen Maru Gothic',sans-serif;color:var(--brown);line-height:.9;text-align:center}
.pnl-h .no small{display:block;font-size:15px;font-style:italic;color:#c0902a;font-weight:700}
.pnl-h .no b{font-size:54px;font-weight:700}
.pnl-h .ill{position:absolute;right:0;top:-98px;width:84px;height:auto;z-index:2}
.pnl-h .pill{max-width:calc(100% - 4px);border-radius:32px;padding:11px 26px;font-size:clamp(18px,4.8vw,28px)}
@media(min-width:900px){.pnl{padding:44px 40px 34px}.pnl-h .no{left:10px;top:-72px}.pnl-h .ill{right:10px;top:-108px;width:104px}.pnl-h .pill{border-radius:999px}}
.pin{background:#fff;border-radius:28px;padding:20px 14px}
.pin.gap{margin-top:16px}
@media(min-width:900px){.pin{padding:26px 28px}}
.pin-lead{text-align:center;font-family:'Zen Maru Gothic',sans-serif;font-weight:900;color:var(--brown);font-size:clamp(17px,4vw,24px);margin:0 0 16px;line-height:1.55}
.pin-lead b{color:var(--orange)}
.pnl-more{text-align:center;margin:18px 0 0}
.pin .dayline{margin-top:0}
.pin .mech{box-shadow:none}
.pin .season{margin-top:22px}
.pin .prose{margin-top:20px}
.pin .cmp{margin-top:22px}
.allyear{display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap;margin-top:24px}
.allyear .ph{position:relative;overflow:visible;width:min(100%,320px);aspect-ratio:3/2;background:none}
.allyear .ph img{border-radius:24px}
.allyear .yb{position:absolute;left:-12px;top:-14px;width:86px;height:86px;border-radius:50%;background:var(--orange);color:#fff;font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:19px;display:grid;place-items:center;border:4px solid #fff;box-shadow:0 4px 10px rgba(0,0,0,.14)}
.allyear p{margin:0;font-family:'Zen Maru Gothic',sans-serif;font-weight:900;color:var(--brown);font-size:clamp(18px,4vw,24px);line-height:1.6}
.survey{display:grid;gap:16px;align-items:center}
.survey .ph{aspect-ratio:3/2}
.survey .big{margin:0;font-weight:800;font-size:clamp(16px,3.6vw,20px);line-height:1.8}
.survey .soft{margin:12px 0 0;font-family:'Zen Maru Gothic',sans-serif;font-weight:900;color:var(--orange);font-size:clamp(20px,4.4vw,26px);line-height:1.5}
@media(min-width:760px){.survey{grid-template-columns:1.1fr 1fr;gap:30px}}
.vs{display:grid;gap:14px}
@media(min-width:760px){.vs{grid-template-columns:1fr 1fr}}
.vs .side{border:3px solid var(--rule);border-radius:22px;padding:12px;background:var(--paper)}
.vs .side.us{border-color:var(--orange);background:#fff3d6}
.vs .ttl{margin:0 0 10px;text-align:center;font-family:'Zen Maru Gothic',sans-serif;font-weight:900;color:var(--brown);line-height:1.4}
.vs .ttl small{display:block;font-weight:700;font-size:12px;color:var(--sub)}
.two-ph{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.two-ph .ph{aspect-ratio:4/3;border-radius:14px}
.two-ph.wide{max-width:760px;margin:22px auto 0;gap:14px}
.two-ph.wide .ph{aspect-ratio:3/2;border-radius:var(--rs)}

/* FAQ・ページ見出し */
.slash{text-align:center;font-size:clamp(22px,4.2vw,34px);letter-spacing:.03em}
.faqsec{background:var(--sand)}
.pagehead .kick{display:inline-block;background:var(--brown2);color:#fff;border-radius:999px;padding:2px 16px}
.pagehead .ph{border:6px solid #fff}
.fvb .brsp{display:inline}
.ptabs label small{display:block;font-size:11px;font-weight:700;opacity:.85;margin-top:1px}
.contact-sec .signband .hx,.contact-sec .signband .kick{text-shadow:0 0 5px #fff,0 0 5px #fff,0 0 10px #fff}
.contact-sec .signband .hx em{color:#d96f00}

/* FV（トップ）：PC は家族の横長写真を全幅の背景に（文字は左の壁の上） */
@media(min-width:900px){
  .fvb{padding:56px 0;min-height:clamp(560px,45vw,740px);display:flex;align-items:center}
  .fvb .photo{position:absolute;left:50%;top:0;bottom:0;width:100%;max-width:1920px;transform:translateX(-50%);aspect-ratio:auto;border-radius:0;box-shadow:none;z-index:0}
  .fvb .photo img{width:100%;height:100%;object-fit:cover;object-position:50% 64%}
  .fvb .wrap{z-index:1;width:100%;grid-template-columns:minmax(0,520px) 1fr}
  .fvb h1{font-size:clamp(36px,3.9vw,56px)}
}
@media(min-width:1921px){.fvb .photo{-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}}
@media(min-width:900px){.fvb .wrap{position:static}.fvb .txt,.fvb .badges{position:relative;z-index:1}}
@media(min-width:900px){.fvb .wrap{max-width:1180px}.fvb h1{font-size:clamp(34px,3.6vw,54px)}}

.est-panel{--ink:#1e3a32; --ink2:#41564d; --sub:#7d8d86;
  
  --bg:#ffffff; --bg2:#fbf8f3; --border:#ece6dc;
  
  --or:#e08a44; --or-pale:#fdf2e7; --or-soft:#f6c79a;
  --gr:#6fa98e; --gr-pale:#edf5f1; --gr-soft:#b6d7c7;
  --aq:#6fb2d2; --aq-pale:#eef6fb; --aq-soft:#bcdcec;
  
  --line:#06C755; --line-d:#05a446;
  --r:20px; --r-lg:28px;
  --sh:0 2px 16px rgba(30,58,50,.06);
  --sh2:0 6px 26px rgba(30,58,50,.09);;font-family:"Noto Sans JP",sans-serif;color:var(--ink);line-height:1.7;font-size:16px;box-sizing:border-box}.est-panel *,.est-panel *::before,.est-panel *::after{box-sizing:border-box}
.est-panel .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:15px 26px;border-radius:999px;font-weight:700;font-size:15.5px;text-decoration:none;
  border:1.5px solid transparent;cursor:pointer;font-family:inherit;line-height:1.4;
  transition:transform .15s ease,box-shadow .15s ease}
.est-panel .btn-soft{background:var(--or-pale);color:#a4622a;border-color:#f2ddc4}
.est-panel .btn-soft:hover{transform:translateY(-2px)}
.est-panel .est{margin:6px 0 30px;display:grid;gap:12px}
.est-panel .est-step{background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px;transition:opacity .3s}
.est-panel .est-step.is-off{display:none}
.est-panel .est-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.est-panel .est-head i{width:28px;height:28px;border-radius:50%;background:var(--or);color:#fff;display:grid;place-items:center;font:900 13px/1 Arial,sans-serif;font-style:normal;flex:none}
.est-panel .est-head b{font-size:16px;color:var(--ink)}
.est-panel .est-head span{margin-left:auto;font-size:12px;font-weight:800;color:#0a7f4f;text-align:right;line-height:1.4}
.est-panel .est-row{display:flex;gap:8px;align-items:center}
.est-panel .est-row input{flex:1;min-width:0;border:2px solid var(--aq);border-radius:12px;padding:11px 14px;font:inherit;font-size:16px;line-height:1.3;font-weight:700;color:var(--ink);background:#fbfdff}
.est-panel .est-row input:focus{outline:2px solid var(--ink);outline-offset:1px}
.est-panel .est-row .btn{flex:none;padding:13px 16px;font-size:14px;line-height:1.3;white-space:nowrap}
.est-panel .est-hint{margin:8px 0 0;font-size:12px;color:var(--sub);line-height:1.7}
.est-panel .est-flow{margin:10px 0 0;display:flex;flex-wrap:wrap;gap:6px 4px;align-items:center;font-size:12.5px;font-weight:700;color:var(--ink2)}
.est-panel .est-flow span{background:var(--aq-pale);border-radius:999px;padding:4px 10px}
.est-panel .est-flow i{font-style:normal;color:var(--sub)}
.est-panel .est-cands{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.est-panel .est-cands button{width:100%;text-align:left;border:1.5px solid var(--gr-soft);background:#fff;color:var(--ink);border-radius:10px;padding:11px 12px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.est-panel .est-cands button.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}
.est-panel .est-map{position:relative;height:360px;border-radius:12px;overflow:hidden;background:#e9eff2}
.est-panel #map{position:absolute;inset:0}
.est-panel .map-hint{position:absolute;left:10px;top:10px;right:52px;z-index:5;background:rgba(30,58,50,.9);color:#fff;font-size:12px;font-weight:700;padding:8px 11px;border-radius:8px;line-height:1.6}
.est-panel .map-hint.warn{background:rgba(178,88,29,.92)}
.est-panel .map-tools{position:absolute;right:10px;bottom:10px;z-index:5;display:flex;gap:6px}
.est-panel .map-tools button{border:0;border-radius:8px;padding:8px 10px;font:inherit;font-size:12px;font-weight:800;background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(30,58,50,.2);cursor:pointer}
.est-panel .map-tools button.is-on{background:var(--ink);color:#fff}
.est-panel .map-legend{margin:8px 0 0;font-size:10.5px;line-height:1.8;color:#3a5468}
.est-panel .map-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin:0 4px 0 6px;vertical-align:-1px}
.est-panel .map-legend i:first-child{margin-left:0}
.est-panel .est-map .maplibregl-ctrl-top-right{top:6px;right:6px}
.est-panel .est-map .maplibregl-ctrl-bottom-left{bottom:0}
.est-panel .pick{margin-top:10px;background:var(--aq-pale);border-left:4px solid var(--aq);padding:10px 12px;border-radius:0 8px 8px 0;font-size:13px;line-height:1.7;color:var(--ink)}
.est-panel .pick b{font:900 20px Arial,sans-serif;color:var(--ink)}
.est-panel .pick .warn{color:#b2581d;font-weight:700}
.est-panel .around{margin-top:10px;background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:10px 12px}
.est-panel .around h4{margin:0 0 6px;font-size:12px;font-weight:800;color:var(--ink2)}
.est-panel .around ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.est-panel .around li{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:baseline;font-size:12.5px;line-height:1.5}
.est-panel .around li b{font-weight:700;color:var(--ink)}
.est-panel .around li span{font-size:11px;color:var(--sub);white-space:nowrap}
.est-panel .around li em{font-style:normal;font-size:9.5px;font-weight:900;color:#fff;background:#9fb3c0;border-radius:4px;padding:2px 5px;margin-right:6px;vertical-align:1px}
.est-panel .around li.road em{background:#c98a2b}
.est-panel .around li.park em{background:#3f9c5a}
.est-panel .around li.bus em{background:#0a7a3b}
.est-panel .around li.bld em{background:#4a2f8f}
.est-panel .around li.pub em{background:#7a3c0c}
.est-panel .est-warn{margin:0 0 12px;background:#fff2d6;border-left:4px solid var(--or);padding:10px 12px;color:#7a4a1d;font-size:12.5px;font-weight:700;line-height:1.6}
.est-panel .res-h{margin:0 0 12px;font-size:19px;line-height:1.5;color:var(--ink)}
.est-panel .res-h b{color:var(--or);font-size:24px}
.est-panel .est-note{margin:0 0 8px;font-size:12px;color:var(--ink2);line-height:1.7}
.est-panel .res-send{margin-top:14px;padding-top:14px;border-top:1px dashed var(--border)}
.est-panel .res-send p{margin:0 0 8px;font-size:12.5px;color:var(--ink2);line-height:1.7}
.est-panel .res-send .id{font:900 14px Arial,sans-serif;color:var(--ink)}
.est-panel .res-send textarea{width:100%;border:1px solid var(--border);border-radius:8px;padding:10px;font:inherit;font-size:11.5px;line-height:1.6;min-height:130px;background:#fbfdff;color:var(--ink2)}
.est-panel .res-btns{display:grid;gap:8px;margin-top:8px}
.est-panel .res-btns .btn{width:100%}
.est-panel .est-attr{margin:0;font-size:10.5px;color:var(--sub);line-height:1.7}
.est-panel .map-hint{left:12px;top:10px;right:56px;background:rgba(255,255,255,.95);color:var(--ink);font-size:14px;line-height:1.45;padding:9px 12px;border-radius:10px;box-shadow:0 2px 10px rgba(30,58,50,.18)}
.est-panel .map-hint.warn{background:rgba(178,88,29,.94);color:#fff}
.est-panel .map-tools button.sec{font-size:11px;padding:6px 9px;background:rgba(255,255,255,.88);color:var(--ink2)}
.est-panel .map-tools button.sec.is-on{background:var(--ink);color:#fff}
.est-panel .mlb{pointer-events:none;font-size:12.5px;font-weight:800;line-height:1;color:#1c6d93;white-space:nowrap;
  text-shadow:0 0 2px #fff,0 0 2px #fff,0 0 3px #fff,0 0 3px #fff,0 0 4px #fff}
.est-panel .mlb-houses{font-size:11.5px}
.est-panel .mlb-xing{color:#4a2f8f;font-size:12px}
.est-panel .mlb-xing.bus{color:#0a7a3b}
.est-panel .mlb-place{font-size:13px;color:#5a5a5a;letter-spacing:.06em}
.est-panel .mlb-sta{font-size:12.5px;color:#2f5f8f}
.est-panel .mlb-poi{font-size:11px;color:#7a5a2c;font-weight:700}
.est-panel #map.z-lt16 .mlb-poi{display:none}
.est-panel #map.z-lt17 .mlb-houses{display:none}
.est-panel #map.z-lt16 .mlb-blocks,.est-panel #map.z-lt16 .mlb-xing{display:none}
.est-panel .mk-here{pointer-events:none;position:relative;width:0;height:0}
.est-panel .mk-here i{position:absolute;left:-14px;top:-14px;width:28px;height:28px;border-radius:50%;border:3px solid #9f5420;box-sizing:border-box;opacity:.9;animation:hereRing .75s ease-out 2}
.est-panel .mk-here span{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);background:#fff;color:var(--ink);font-size:14px;font-weight:800;line-height:1;padding:7px 10px;border-radius:8px;box-shadow:0 2px 8px rgba(30,58,50,.22);white-space:nowrap}
.est-panel .mk-here span::after{content:"";position:absolute;left:50%;bottom:-5px;margin-left:-5px;border:5px solid transparent;border-top-color:#fff;border-bottom:0}
.est-panel .mk-dot{width:14px;height:14px;border-radius:50%;background:#e08a44;border:3px solid #fff;box-shadow:0 0 0 1.5px #c07434;opacity:.85}
.est-panel .quick{margin-top:8px;background:#fff;border:2px solid var(--or);border-radius:12px;padding:10px 12px;display:grid;gap:8px}
.est-panel .quick.flash{animation:qflash .9s ease-out}
.est-panel .est-hint:empty,.est-panel #pick:empty,.est-panel #around:empty{display:none}
.est-panel .res-send textarea[hidden]{display:none}
.est-panel .copy-note{margin:8px 0 0;font-size:12.5px;font-weight:700;color:#0a7f4f;line-height:1.6}
.est-panel .est>*{min-width:0}
.est-panel .mlbl{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:10px 12px 12px;border-radius:16px;color:#fff;font-weight:900;line-height:1.05;letter-spacing:.04em;text-align:center;box-shadow:0 4px 14px rgba(0,0,0,.14)}
.est-panel .mlbl .t{font-size:11px;background:#fff;color:#1c3a5e;border-radius:8px;padding:2px 8px;margin-bottom:3px;letter-spacing:.06em}
.est-panel .mlbl.r .t{color:#8a3a0c}
.est-panel .mlbl .s{font-size:13px;opacity:.95}
.est-panel .mlbl .b{font-size:26px;text-shadow:0 1px 0 rgba(0,0,0,.12)}
.est-panel .mlbl.l{background:linear-gradient(160deg,#39a9ff,#1877e6)}
.est-panel .mlbl.r{background:linear-gradient(160deg,#ff9a3c,#f2621c)}

@media(min-width:900px){
.est-panel .est{grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.est-panel .est-attr{grid-column:1/-1}
.est-panel .est-map{height:440px}
.est-panel .res-btns{grid-template-columns:1fr 1fr}
}
@media(min-width:900px){.est-panel .est{grid-template-columns:minmax(0,560px);justify-content:center}.est-panel .est:has(#s2:not(.is-off)){grid-template-columns:1fr 1fr;justify-content:stretch}}
