
:root{
  /* 文字：濃い深緑 */
  --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公式色（ページ内でいちばん強い緑にする） */
  --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);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic UI","Yu Gothic",Meiryo,system-ui,sans-serif;
  font-size:16px;line-height:1.9;font-weight:500;-webkit-text-size-adjust:100%;overflow-x:hidden}
img,svg{max-width:100%;display:block}
svg[viewBox]{height:auto}
a{color:inherit}
.wrap{width:min(1120px,90vw);margin:0 auto;position:relative;z-index:1}
section{padding:76px 0;position:relative;overflow:hidden}
.tint{background:var(--bg2)}

/* 見出し */
.eyebrow{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.14em;
  color:var(--gr);background:var(--gr-pale);border-radius:999px;padding:5px 15px;margin:0 0 16px}
h2.h{font-size:clamp(22px,3.3vw,31px);font-weight:700;line-height:1.55;margin:0 0 16px;letter-spacing:.01em}
h2.h .u{background:linear-gradient(transparent 62%,#fbe3c8 62%)}
.lead{font-size:clamp(14.5px,2.2vw,16.5px);color:var(--ink2);margin:0 0 6px;max-width:62ch}
p{margin:0 0 14px}
.note{font-size:12.5px;line-height:1.8;color:var(--sub)}
.src{font-size:11.5px;line-height:1.75;color:#9aa8a2;margin-top:12px}
.center{text-align:center}
.center .lead{margin-left:auto;margin-right:auto}

/* 背景の淡い装飾 */
.deco{position:absolute;border-radius:50%;pointer-events:none;z-index:0;filter:blur(.5px)}
.d-or{background:var(--or-pale)} .d-gr{background:var(--gr-pale)} .d-aq{background:var(--aq-pale)}
.leaf{position:absolute;pointer-events:none;z-index:0;opacity:.5}

/* ボタン */
.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}
.btn-line{background:var(--line);color:#fff;box-shadow:0 3px 10px rgba(6,199,85,.22)}
.btn-line:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(6,199,85,.28)}
.btn-mail{background:#fff;color:var(--ink);border-color:#d9cfc0}
.btn-mail:hover{transform:translateY(-2px);box-shadow:var(--sh)}
.btn-soft{background:var(--or-pale);color:#a4622a;border-color:#f2ddc4}
.btn-soft:hover{transform:translateY(-2px)}
.cta-row{display:flex;flex-wrap:wrap;gap:12px}
.cta-note{font-size:12.5px;color:var(--sub);margin:12px 0 0}

/* ============ FV 以下（2026-09-13 立て直し・第1／第2承認済み）============
   方針：各セクションは「その内容にしかない形」。カード・均等グリッド・番号丸・全中央揃え・交互の帯は使わない。
   図はインライン SVG／CSS。写真枠（.ph-slot）は写真が届くまで hidden。
   ------------------------------------------------------------------ */
.s2{padding:64px 0;overflow:visible}
.s2 h2.h{text-align:left}
h2.h .uc{background:linear-gradient(transparent 62%,#cfe6f2 62%)}
.s2 .lead{max-width:none}
.g2{display:grid;gap:28px;align-items:start}
.ph-slot{margin:0;overflow:hidden;border-radius:14px;background:#f2ede5}
.ph-slot img{width:100%;height:100%;object-fit:cover}
.ph-slot figcaption{font-size:12px;color:var(--sub);padding:6px 2px 0}
.midlink{display:inline-flex;align-items:center;gap:8px;margin-top:22px;font-size:14.5px;font-weight:700;color:#0a7f4f;text-decoration:none;
  border-bottom:1.5px solid #0a7f4f;padding-bottom:2px}
.midlink i{width:15px;height:15px;border-radius:4px;background:var(--line)}
.midlink:hover{opacity:.8}
.closing{font-weight:700;font-size:16.5px;margin-top:6px}

/* --- 1. 悩み：行頭をずらした 4 行＋大きな数字＋切り抜き 2 枚 --- */
.worries{list-style:none;padding:0;margin:18px 0 22px}
.worries li{display:flex;gap:14px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--border);font-size:15px}
.worries li b{flex:0 0 22px;color:var(--gr);font-size:12.5px;padding-top:4px;font-variant-numeric:tabular-nums}

/* --- 2. 仕組み：左右で季節を割った家 --- */
.g363{display:grid;gap:26px;align-items:center}
.g363 p{font-size:15px}

/* --- 3. 工法と場所：屋根裏・床下の切り抜き --- */
.g2 .p3 p{font-size:15px}


/* --- 5. 会社：1 大 2 小 --- */
.co-big h3{font-size:26px;line-height:1.4;margin:6px 0 10px}
.co-big p{font-size:15.5px}
.co-small>div{padding:16px 0;border-top:1px solid var(--border)}
.co-small h3{margin:0 0 4px;font-size:16px}
.co-small p{margin:0;font-size:14.5px;color:var(--ink2)}
.co-small .ph-slot{aspect-ratio:3/2;width:200px;margin-top:16px}
.co-note{margin-top:28px}

/* --- 6. 費用：表＋セットの帯＋補助金 --- */
.price-hint{font-size:13px;color:var(--ink2);margin:-2px 0 16px}
table.price2{width:100%;border-collapse:collapse;background:#fff;font-size:14px;border:1px solid var(--border);border-radius:var(--r);overflow:hidden}
table.price2 th,table.price2 td{padding:12px 10px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}
table.price2 thead th{font-size:12.5px;font-weight:700;background:#fdfbf7}
table.price2 tbody th{white-space:nowrap;font-weight:700;width:5.5em}
table.price2 td b{display:block;font-size:17px;font-variant-numeric:tabular-nums}
table.price2 td small{display:block;font-size:11.5px;color:var(--sub)}
table.price2 td i{display:block;font-style:normal;font-size:11.5px;color:#a67c52}
table.price2 tr:last-child th,table.price2 tr:last-child td{border-bottom:0}
.setband{margin-top:14px;padding:14px 18px;border:2px solid var(--or);border-radius:var(--r);background:#fff;display:flex;justify-content:space-between;align-items:center;gap:10px 16px;flex-wrap:wrap}
.setband span{font-size:14.5px;font-weight:700}.setband b{font-size:24px;font-variant-numeric:tabular-nums}.setband small{font-size:12px;color:var(--sub)}
.subsidy2{border-left:3px solid var(--gr);padding:2px 0 2px 18px}
.subsidy2 .stitle{font-size:12.5px;font-weight:700;letter-spacing:.06em;color:#2f6a52}
.subsidy2 .num{font-size:26px;font-weight:700;line-height:1.3;margin:6px 0 8px;font-variant-numeric:tabular-nums}
.subsidy2 .num small{font-size:13px;font-weight:700;color:var(--ink2)}
.subsidy2 ul{margin:0;padding-left:18px;font-size:13.5px;color:var(--ink2);line-height:1.8}

/* --- 7. 概算：手順 3 ＋ 実画面 --- */
.steps3{list-style:none;padding:0;margin:14px 0 10px}
.steps3 li{display:flex;gap:12px;padding:9px 0;font-size:15px;align-items:flex-start}
.steps3 li b{flex:none;width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;font-size:13px;display:flex;align-items:center;justify-content:center;margin-top:3px}
.trust{font-size:13.5px;font-weight:700;color:#2f6a52;margin:4px 0 16px}
.trust span{display:inline-block;margin-right:12px}
.tool-screen{margin:0;border-radius:var(--r);overflow:hidden;border:1px solid var(--border);box-shadow:var(--sh)}
.tool-screen img{width:100%;height:auto;display:block}
.tool-screen figcaption{font-size:12px;color:var(--sub);padding:8px 12px;background:#fff}


/* --- 9. FAQ：枠なし・罫だけ --- */
.faq{margin-top:22px}
.faq details{border-bottom:1px solid var(--border)}
.faq summary{cursor:pointer;padding:18px 36px 18px 0;font-weight:700;font-size:15px;position:relative;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:26px;width:9px;height:9px;border-right:2px solid var(--gr);border-bottom:2px solid var(--gr);transform:rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(-135deg);top:30px}
.faq .a{padding:0 0 20px;font-size:14px;color:var(--ink2);line-height:1.9}

/* --- 10. 相談 --- */
.final .btn-line.big{font-size:17px;padding:18px 36px}
.final .maillink{display:inline-block;margin-top:16px;font-size:14.5px;font-weight:700;color:var(--ink);text-decoration:none;border-bottom:1.5px solid var(--ink);padding-bottom:2px}
.final .phone-note{margin-top:16px}


/* 悩み：数字と切り抜き */
.worry-side{display:grid;gap:18px}
.numbox{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:20px 22px 14px}
.numbox h4{margin:0;font-size:14.5px;font-weight:700}
.numbox .tsub{font-size:12px;color:var(--sub);margin:2px 0 12px}
.bignums{display:grid;grid-template-columns:repeat(3,auto);gap:10px 18px;margin:0 0 6px;justify-content:start}
.bignums div{display:flex;flex-direction:column-reverse}
.bignums dt{font-size:12px;color:var(--ink2);line-height:1.3}
.bignums dd{margin:0;font-size:34px;font-weight:700;line-height:1.1;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.bignums dd small{font-size:13px;font-weight:700;margin-left:2px}
.bignums .who dd{color:#2f6a52}
.numbox .note{margin:10px 0 0}
.worry-pics{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.worry-pics figure{margin:0}
.worry-pics img{width:100%;height:auto;display:block;border-radius:14px}
.worry-pics figcaption{font-size:12.5px;font-weight:700;color:var(--ink2);padding:8px 2px 0}
/* 工法：切り抜き 2 枚 */
.cut2{display:grid;gap:14px}
.cut2 figure{margin:0}
.cut2 img{width:100%;height:auto;display:block;border-radius:14px}
.cut2 figcaption{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;padding:8px 2px 0;font-size:13px;color:var(--ink2)}
.cut2 figcaption b{font-size:15px;color:var(--ink)}
.cut2 .note{margin:0}
/* 当日：3 つの時間帯（線なし） */
.day3{display:grid;gap:22px;margin-top:26px}
.day3 .st h4{margin:0 0 4px;font-size:16px}
.day3 .st h4 small{display:block;font-size:22px;color:var(--gr);font-weight:900;letter-spacing:.04em;line-height:1.1;margin-bottom:4px}
.day3 .st p{margin:0;font-size:14.5px;color:var(--ink2)}
.day3 .st .ph-slot{aspect-ratio:16/10;width:200px;margin-top:10px}
/* 流れ：「ここまで無料」の箱＋大きな番号（線なし） */
.flow4{margin-top:34px;display:grid;gap:18px}
.freebox{position:relative;background:var(--gr-pale);border-radius:var(--r);padding:26px 20px 20px;display:grid;gap:18px}
.freetag{position:absolute;top:-13px;left:18px;background:#fff;border:2px solid var(--gr);color:#2f6a52;border-radius:999px;font-size:12.5px;font-weight:700;padding:3px 12px}
.flow4 .st b{display:block;font-size:30px;font-weight:900;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums;margin-bottom:6px}
.flow4 .st h4{margin:0 0 4px;font-size:16px}
.flow4 .st p{margin:0;font-size:14.5px;color:var(--ink2)}
.flow4 .st .ph-slot{aspect-ratio:3/4;width:140px;margin-top:10px}
.flow4 .st.last{padding:0 4px}


/* 第 2 段：文字を半分に・画像を増やす（2026-09-13） */
.worries li span{font-size:16px;font-weight:700}
.numbox{margin-top:22px}
.numbox .src{margin:8px 0 0;font-size:11.5px;color:var(--sub);line-height:1.7}
.worry-pics{align-self:start}
.cut2-wide{margin-top:8px}
.joy{margin:26px 0 0}
.joy img{width:100%;height:auto;display:block;border-radius:var(--r)}
.joy figcaption{font-size:13px;font-weight:700;color:var(--ink2);padding:10px 2px 0}
.day3.has-imgs .st figure{margin:0 0 10px}
.day3.has-imgs .st figure img{width:100%;height:auto;display:block;border-radius:14px}
.co-hero{position:relative;margin-top:6px}
.co-hero img{width:100%;height:auto;display:block;border-radius:var(--r)}
.co-points{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:12px}
.co-points li{display:grid;gap:2px}
.co-points b{font-size:17px}
.co-points span{font-size:14px;color:var(--ink2)}
.co-note{margin-top:18px}
.final-photo{position:relative;overflow:hidden;padding:0}
.final-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 50%;z-index:0}
.final-photo .wrap{z-index:1;padding:44px 0}
.final-box{background:rgba(255,255,255,.9);backdrop-filter:blur(2px);border-radius:var(--r);padding:26px 22px 24px;max-width:520px}
.final-box .lead{max-width:none}
.final-box h2.h{text-align:left}



/* ============ v4：LP らしさ（参考：お家の断熱王 v12 プレビューの構成）2026-09-13 ／ v5：社長のスマホ確認による修正 2026-09-13 夜 ============ */
.v4{padding:64px 0}
.v4 .kicker{margin:0 0 10px;font-size:12px;font-weight:800;letter-spacing:.22em;color:var(--or);display:grid;gap:6px}
.v4 .kicker span{font-size:13.5px;font-weight:700;letter-spacing:.02em;color:var(--ink2)}
.v4 .kicker.center,.v4 .hx.center,.v4 .lead4.center{text-align:center}
.v4 .hx{margin:0 0 14px;font-size:clamp(26px,6vw,40px);font-weight:900;line-height:1.3;letter-spacing:.01em;color:var(--ink)}
.v4 .hx em{font-style:normal;color:var(--or)}
.v4 .lead4{margin:0 0 22px;font-size:15px;line-height:1.9;color:var(--ink2)}
.v4 .note{margin-top:14px}

/* 水色の帯（工事の日・補助金） */
.band-aq{background:linear-gradient(180deg,#cfe9f5 0%,#abd9ec 100%);color:var(--ink)}
.band-aq .kicker{color:#1c6d93}.band-aq .kicker span{color:#2d5566}
.band-aq .hx{color:var(--ink)}.band-aq .hx em{color:#1c6d93}
.band-aq .lead4{color:#2d4f5c}

/* 悩み：v12 の写真カード（女性 3 枚） */
.worries4{background:var(--bg2)}
.wcards{display:grid;gap:16px;margin-top:22px}
.wcard{position:relative;margin:0;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 6px 20px rgba(30,58,50,.08);border-top:6px solid var(--or)}
.wcard.cold{border-top-color:#3f93bd}.wcard.bill{border-top-color:#e6b422}
.wcard img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:center 30%;display:block}
.wcard figcaption{position:relative;padding:12px 18px 18px;display:grid;grid-template-columns:auto 1fr;gap:1px 14px;align-items:center}
.wcard .wi{grid-row:1/4;align-self:start;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;margin-top:-40px;background:#fff;border:4px solid #fff;box-shadow:0 6px 16px rgba(30,58,50,.16);font-style:normal;font-weight:900;font-size:24px;font-family:Arial,sans-serif}
.wcard.hot .wi{background:var(--or-pale);color:var(--or)}.wcard.cold .wi{background:var(--aq-pale);color:#3f93bd}.wcard.bill .wi{background:#fff6d6;color:#b68d00}
.wcard .wi svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.wcard small{font-size:11px;font-weight:800;letter-spacing:.2em;color:var(--sub);font-family:Arial,sans-serif}
.wcard b{font-size:20px;color:var(--ink);line-height:1.3}
.wcard span{font-size:13.5px;color:var(--ink2);line-height:1.7}
.bridge{margin:30px 0 0;text-align:center;font-size:15px;color:var(--ink2);line-height:1.9}
.bridge em{font-style:normal;font-size:18px;font-weight:800;color:var(--ink)}

/* 工事の日：写真＋1 日の流れ（図） */
.dayg{display:grid;gap:22px}
.dayph{margin:0;border-radius:var(--r);overflow:hidden;box-shadow:0 10px 30px rgba(20,60,80,.18)}
.dayph img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block}
.tl{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:10px;position:relative}
.tl::before{content:"";position:absolute;z-index:0;left:20px;top:24px;bottom:24px;width:4px;border-radius:4px;
  background:repeating-linear-gradient(180deg,#fff 0 12px,rgba(255,255,255,.28) 12px 24px);background-size:100% 24px;animation:tlFlowY 1.1s linear infinite}
.tl li{position:relative;z-index:1;display:grid;grid-template-columns:44px 1fr;align-items:center;gap:10px}
.tl li small{width:44px;height:44px;border-radius:50%;background:#fff;color:#1c6d93;display:grid;place-items:center;font:900 12px/1 Arial,sans-serif;box-shadow:0 4px 12px rgba(20,60,80,.16)}
.tl li b{font-size:15.5px;color:var(--ink);background:#fff;border-radius:12px;padding:12px 14px;box-shadow:0 6px 16px rgba(20,60,80,.12)}
.tl .tl-time{grid-template-columns:44px auto 1fr}
.tl .tl-time i{width:44px;height:44px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 4px 12px rgba(20,60,80,.16)}
.tl .tl-time i svg{width:26px;height:26px;fill:none;stroke:#e08a44;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.tl .tl-time.end i svg{stroke:#c9702a}
.tl .tl-time b{background:none;box-shadow:none;padding:0;font-size:22px;color:var(--ink)}
.tl .tl-time span{font-size:12.5px;font-weight:700;color:#2d5566}
@keyframes tlFlowY{to{background-position:0 24px}}
@keyframes tlFlowX{to{background-position:24px 0}}
.callout{margin-top:22px;background:#fff;border-left:8px solid var(--or);border-radius:8px;padding:18px 18px 16px;color:var(--ink);display:grid;gap:4px}
.callout b{font-size:22px;line-height:1.3}
.callout span{font-size:16px;font-weight:700;color:var(--or)}
.callout small{font-size:12px;color:var(--sub);margin-top:4px}

/* 工法：切り抜き 2 枚＋スタッフ写真 */
.wk{display:grid;gap:18px}
.wkfig{margin:0;position:relative}
.wkfig img{width:100%;height:auto;display:block;border-radius:14px}
.wkfig .pin{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);background:var(--ink);color:#fff;font-size:13px;font-weight:800;padding:8px 16px;border-radius:999px;box-shadow:0 4px 12px rgba(0,0,0,.25);white-space:nowrap}
.wkfig figcaption{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:center;padding:12px 2px 0}
.wkfig figcaption i{grid-row:1/3;width:40px;height:40px;border-radius:50%;background:var(--or);color:#fff;font-style:normal;font-weight:900;display:grid;place-items:center;font-size:15px}
.wkfig:nth-child(2) figcaption i{background:var(--aq)}
.wkfig figcaption b{font-size:16px;color:var(--ink)}
.wkfig figcaption span{font-size:13px;color:var(--ink2)}
.wkstaff{margin:0;position:relative;border-radius:14px;overflow:hidden}
.wkstaff img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:50% 40%;display:block}
.wkstaff figcaption{position:absolute;left:12px;right:12px;bottom:12px;background:rgba(255,255,255,.94);border-radius:12px;padding:10px 14px;display:grid;gap:2px;box-shadow:0 4px 14px rgba(0,0,0,.14)}
.wkstaff span{font-size:12.5px;font-weight:800;color:var(--or);letter-spacing:.08em}
.wkstaff b{font-size:14px;color:var(--ink);line-height:1.5}

/* 季節（仕組みの画像＋夏冬カード） */
.mech.v4{padding-top:64px}
.seasons{display:grid;gap:16px;margin-top:22px}
.seasons figure{margin:0;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 6px 20px rgba(30,58,50,.08);border-top:6px solid var(--or)}
.seasons figure.w{border-top-color:var(--aq)}
.seasons img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}
.seasons figcaption{padding:16px 18px 18px;display:grid;gap:4px}
.seasons small{font-size:12px;font-weight:800;letter-spacing:.2em;color:var(--or)}
.seasons figure.w small{color:var(--aq)}
.seasons b{font-size:20px;line-height:1.4;color:var(--ink)}
.seasons b em{font-style:normal;color:var(--or)}
.seasons figure.w b em{color:#3f93bd}
.seasons span{font-size:13.5px;color:var(--ink2)}

/* 費用 */
.price4{background:#fff9ec}
.unitband{background:#fff;border-left:8px solid var(--or);border-radius:8px;padding:16px 18px;display:grid;gap:4px;margin-bottom:18px}
.unitband small{font-size:12px;color:var(--sub)}
.unitband span{display:grid;gap:0;font-size:18px;font-weight:700;color:var(--ink)}
.unitband span small{font-size:13px;color:var(--ink2)}
.unitband span b{font-size:28px;color:var(--or);font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1.2}
.unitband span b i{font-style:normal;font-size:16px;margin-left:2px}
.ptabs{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-radius:14px;overflow:hidden;border:1px solid var(--border)}
.ptabs input{position:absolute;opacity:0;pointer-events:none}
.ptabs label{text-align:center;padding:14px 6px;font-size:13.5px;font-weight:800;background:#e3eef5;color:#5d7282;cursor:pointer}
.ptabs input:focus-visible+label{outline:2px solid var(--ink);outline-offset:-2px}
#pt1:checked~label[for=pt1],#pt2:checked~label[for=pt2],#pt3:checked~label[for=pt3]{background:var(--ink);color:#fff}
.ppanel{grid-column:1/-1;display:none;padding:20px 16px 16px}
#pt1:checked~.p1,#pt2:checked~.p2,#pt3:checked~.p3{display:block}
.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pgrid>div{display:grid;gap:4px;text-align:center;padding:14px 8px 12px;border-bottom:1px solid var(--border)}
.pgrid b{font-size:26px;color:var(--ink);font-variant-numeric:tabular-nums}
.pgrid small{font-size:11.5px;color:var(--sub)}
.pgrid strong{font-size:19px;background:var(--gr-pale);border-radius:8px;padding:10px 6px;font-variant-numeric:tabular-nums;color:var(--ink)}
.pgrid i{font-style:normal;font-size:11.5px;color:#a67c52}
.pnote{margin:12px 0 0;font-size:12.5px;color:var(--ink2)}
.pset{display:grid;gap:6px;text-align:center;padding:18px 10px}
.pset small{font-size:13.5px;font-weight:700;color:var(--ink)}
.pset strong{font-size:38px;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.1}
.pset span{font-size:12.5px;color:var(--sub)}
.addbox{margin-top:16px;border:2px solid var(--or-soft);background:#fff;border-radius:12px;padding:16px 18px;display:grid;gap:6px}
.addbox b{font-size:18px;color:#c07434}
.addbox span{font-size:13.5px;color:var(--ink2)}

/* 補助金（水色の帯） */
.sub4{text-align:center}
.coin{width:120px;height:120px;border-radius:50%;background:var(--or);color:#fff;display:grid;place-items:center;font-size:22px;font-weight:900;margin:0 auto 22px;box-shadow:0 10px 0 rgba(20,60,80,.18)}
.sub4 .lead4 b{color:var(--ink);font-size:17px}
.subbox{background:#fff;color:var(--ink);border-left:8px solid var(--or);border-radius:8px;padding:18px 16px;display:grid;gap:10px;margin:0 auto;max-width:560px;text-align:left;box-shadow:0 6px 16px rgba(20,60,80,.12)}
.subbox small{font-size:12.5px;color:var(--sub)}
.calc{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}
.calc i{font-style:normal;color:var(--sub)}
.calc strong{font-size:26px;color:var(--or)}
.subnotes{list-style:none;margin:18px auto 0;padding:0;max-width:560px;text-align:left;display:grid;gap:8px;font-size:12.5px;line-height:1.8;color:#2d4f5c}
.subnotes li{padding-left:14px;position:relative}
.subnotes li:before{content:"";position:absolute;left:0;top:.7em;width:6px;height:6px;border-radius:50%;background:#1c6d93}

/* 流れ：住所を入れるだけ（模式）＋写真つきの 3 手順 */
.steps4{background:var(--bg2)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.chips span{font-size:12.5px;font-weight:700;color:#2f6a52;background:var(--gr-pale);border:1px solid var(--gr-soft);border-radius:8px;padding:6px 12px}
.addr{margin:0 0 26px;background:#fff;border-radius:18px;padding:20px 18px 22px;box-shadow:0 6px 20px rgba(30,58,50,.08);display:grid;gap:12px;justify-items:center;text-align:center}
.addr-step{display:flex;align-items:center;gap:10px;justify-self:start}
.addr-step small{font-size:12px;font-weight:800;color:var(--or);letter-spacing:.2em;font-family:Arial,sans-serif}
.addr-step b{font-size:17px;color:var(--ink)}
.addr-box{width:100%;display:flex;align-items:center;gap:10px;border:2px solid var(--aq);border-radius:12px;padding:12px 14px;font-size:16px;font-weight:700;color:var(--ink);background:#fbfdff;box-shadow:inset 0 2px 4px rgba(0,0,0,.04);text-align:left}
.addr-pin{width:13px;height:13px;border:3px solid var(--aq);border-radius:50% 50% 50% 0;transform:rotate(-45deg);flex:none;margin:0 4px 2px 2px}
.addr-typed{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap}
.addr-caret{display:block;width:2px;height:20px;background:var(--ink);animation:addrCaret 1s steps(1) infinite}
@keyframes addrCaret{50%{opacity:0}}
.addr-arrow{width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-top:16px solid var(--or);animation:addrNudge 1.6s ease-in-out infinite}
@keyframes addrNudge{50%{transform:translateY(5px)}}
.addr-out{width:100%;display:grid;grid-template-columns:1fr 1.5fr;gap:10px}
.addr-out>div{display:grid;gap:2px;padding:12px 10px;border-radius:12px;background:var(--gr-pale);align-content:center}
.addr-out small{font-size:11.5px;color:var(--ink2)}
.addr-out b{font-size:26px;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.1}
.addr-out b i{font-style:normal;font-size:14px}
.addr-out .addr-price{background:var(--or-pale)}
.addr-out strong{font-size:28px;color:#c07434;font-variant-numeric:tabular-nums;line-height:1.1}
.addr-note{margin:0;font-size:12px;color:var(--sub);line-height:1.7}
.addr .btn{width:100%;max-width:360px}
.story{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.story li{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 6px 20px rgba(30,58,50,.08);display:grid;grid-template-columns:40% 1fr;align-items:stretch}
.story figure{margin:0;position:relative;min-height:128px}
.story img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.story li>div{padding:14px 14px 14px 14px;display:grid;gap:4px;align-content:center}
.story small{font-size:11px;font-weight:800;color:var(--or);letter-spacing:.2em;font-family:Arial,sans-serif}
.story b{font-size:16.5px;color:var(--ink);line-height:1.35}
.story b em{white-space:nowrap;display:inline-block;font-style:normal;font-size:11px;background:var(--or);color:#fff;border-radius:999px;padding:2px 8px;margin-left:6px;vertical-align:middle}
.story span{font-size:13px;color:var(--ink2);line-height:1.65}
.story .midlink{margin-top:4px;font-size:13.5px}

/* FAQ・相談 */
.faq4 .faq{max-width:760px;margin:22px auto 0}
.contact4 .final-box .kicker{margin-bottom:8px}
.contact4 .hx{font-size:clamp(22px,5vw,32px)}

@media(prefers-reduced-motion:reduce){.tl::before,.addr-caret,.addr-arrow{animation:none}}

@media(min-width:900px){
  .v4{padding:96px 0}
  .v4 .hx{font-size:clamp(34px,3.4vw,46px)}
  .v4 .lead4{font-size:16px}
  .wcards{grid-template-columns:repeat(3,1fr);gap:20px}
  .wcard img{aspect-ratio:4/3}
  .dayg{grid-template-columns:5fr 7fr;gap:44px;align-items:center}
  .dayph img{aspect-ratio:4/3}
  .tl{grid-template-columns:auto 1fr 1fr 1fr auto;gap:14px;align-items:start}
  .tl::before{left:8%;right:8%;top:22px;bottom:auto;width:auto;height:4px;background:repeating-linear-gradient(90deg,#fff 0 12px,rgba(255,255,255,.28) 12px 24px);background-size:24px 100%;animation-name:tlFlowX}
  .tl li,.tl .tl-time{grid-template-columns:1fr;justify-items:center;gap:8px;text-align:center}
  .tl li b{width:100%;font-size:14px;padding:12px 10px}
  .tl .tl-time b{font-size:20px;line-height:1.1}
  .tl .tl-time span{font-size:12px}
  .callout{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:6px 18px;padding:22px 26px}
  .callout small{grid-column:1/-1}
  .wk{grid-template-columns:7fr 5fr;grid-template-rows:auto auto;gap:22px 26px}
  .wkstaff{grid-column:2;grid-row:1/3;align-self:center;overflow:visible}
  .wkstaff img{aspect-ratio:4/3;object-position:62% 45%;border-radius:14px}
  .wkstaff figcaption{position:static;margin-top:12px;box-shadow:none;background:var(--gr-pale);padding:12px 16px}
  .seasons{grid-template-columns:1fr 1fr;gap:24px}
  .unitband{grid-template-columns:auto 1fr;align-items:center;gap:4px 18px}
  .unitband>small:last-child{grid-column:1/-1}
  .unitband span{grid-template-columns:auto auto;align-items:baseline;gap:8px;justify-content:start}
  .unitband span b{font-size:30px}
  .pgrid{grid-template-columns:repeat(4,1fr)}
  .pgrid>div{border-bottom:0;border-right:1px solid var(--border)}.pgrid>div:last-child{border-right:0}
  .addr{max-width:640px;margin:0 auto 32px;padding:26px 30px 28px}
  .story{grid-template-columns:repeat(3,1fr);gap:22px}
  .story li{grid-template-columns:1fr;align-items:start}
  .story figure{min-height:0;aspect-ratio:3/2}
  .story li>div{padding:18px 20px 22px;align-content:start}
}


/* ============ v6（2026-09-13 夜・社長決定）：中間 CTA／LINE のやりとり例／FAQ の担当スタッフ（イラスト）／固定バー ============ */
/* 中間 CTA：その場の疑問の言葉で */
.midcta{margin:24px 0 0;text-align:center;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.midcta a{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:999px;background:#fff;border:1.5px solid var(--gr-soft);color:var(--ink);font-weight:700;font-size:14px;line-height:1.3;text-decoration:none;box-shadow:0 4px 14px rgba(30,58,50,.08)}
.midcta a i{width:16px;height:16px;border-radius:4px;background:var(--line);flex:none}
.midcta a b{color:#0a7f4f;white-space:nowrap}
.midcta a.soft{border-color:var(--or-soft);background:var(--or-pale)}
.midcta a.soft b{color:#a4622a}
.midcta a:hover{transform:translateY(-1px)}

/* LINE のやりとり例（送るもの・返ってくるもの） */
.chat{margin:16px 0 26px;background:#e9f3ec;border-radius:18px;padding:18px 16px 14px;display:grid;gap:10px}
.chat-h{margin:0 0 4px;font-size:16px;font-weight:800;color:var(--ink);text-align:center}
.msg{display:flex;align-items:flex-end;gap:8px;max-width:88%}
.msg span{display:block;padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.65;color:var(--ink);background:#fff;box-shadow:0 2px 6px rgba(30,58,50,.06)}
.msg.me{margin-left:auto;flex-direction:row-reverse}
.msg.me span{background:#8de08f;border-bottom-right-radius:4px}
.msg.you span{border-bottom-left-radius:4px}
.msg.you b{color:#0a7f4f}
.msg.ph span{display:inline-flex;align-items:center;gap:8px;background:#8de08f}
.chat .av{width:34px;height:34px;border-radius:50%;flex:none;background:#fff;object-fit:cover}
.chat-note{margin:6px 0 0;font-size:12px;color:var(--ink2);text-align:center;line-height:1.7}

/* FAQ：担当スタッフ（イラスト）が答える */
.persona{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:center;max-width:760px;margin:22px auto 8px}
.persona img{width:96px;height:96px;border-radius:50%;object-fit:cover;background:#fff;box-shadow:0 6px 16px rgba(30,58,50,.12)}
.pbubble{position:relative;background:#fff;border:1.5px solid var(--gr-soft);border-radius:16px;padding:12px 16px;display:grid;gap:2px}
.pbubble::before{content:"";position:absolute;left:-9px;top:50%;width:14px;height:14px;background:#fff;border-left:1.5px solid var(--gr-soft);border-bottom:1.5px solid var(--gr-soft);transform:translateY(-50%) rotate(45deg)}
.pbubble small{font-size:11.5px;font-weight:800;color:#2f6a52;letter-spacing:.06em}
.pbubble b{font-size:15px;color:var(--ink);line-height:1.5}
.persona-faq .a{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:start}
.persona-faq .a .av{width:32px;height:32px;border-radius:50%;object-fit:cover;background:#fff;box-shadow:0 2px 6px rgba(30,58,50,.12);margin-top:2px}

/* 最終 CTA の一言 */
.send1{margin:-8px 0 0;font-size:14px;color:var(--ink2);line-height:1.8}
.send1 b{color:var(--ink)}

/* 固定バー（LINE＋メール）。FV と最終 CTA が見えている間は隠す（JS が無い環境では常時表示） */
.cbar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;gap:8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));
  background:rgba(255,255,255,.94);backdrop-filter:blur(6px);border-top:1px solid var(--border);box-shadow:0 -6px 20px rgba(30,58,50,.08);
  transform:translateY(110%);transition:transform .3s ease}
.cbar.on{transform:none}
.cbar a{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:50px;border-radius:25px;font-weight:800;font-size:15px;line-height:1;text-decoration:none}
.cbar .cb-line{flex:3 1 0;background:var(--line);color:#fff;box-shadow:0 4px 14px rgba(6,199,85,.3)}
.cbar .cb-line i{width:16px;height:16px;border-radius:4px;background:#fff}
.cbar .cb-mail{flex:2 1 0;background:#fff;color:var(--ink);border:1.5px solid var(--ink)}
footer{padding-bottom:calc(34px + 70px)}
@media(prefers-reduced-motion:reduce){.cbar{transition:none}}
@media(min-width:900px){
  .midcta a{font-size:15px;padding:13px 22px}
  .chat{max-width:640px;margin:18px auto 32px;padding:22px 24px 16px}
  .msg{max-width:78%}
  .cbar{left:auto;right:24px;bottom:24px;width:auto;border-radius:999px;border:1px solid var(--border);padding:8px;box-shadow:0 10px 30px rgba(30,58,50,.16)}
  .cbar a{padding:0 22px}
  .cbar .cb-line{flex:none}.cbar .cb-mail{flex:none}
  footer{padding-bottom:34px}
}


/* ============ v7（2026-09-13 夜・社長「1」）：横スライド（悩み・夏冬）／料金の頭に本物の概算ツール ============ */
/* 横スライド：スマホだけ。PC は今までどおり並べる */
.slider{position:relative}
.dots{display:none}
@media(max-width:899px){
  .slider>.wcards,.slider>.seasons{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;
    margin-left:calc(-1 * (100vw - 100%) / 2);margin-right:calc(-1 * (100vw - 100%) / 2);
    padding:6px calc((100vw - 100%) / 2) 12px;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
  .slider>.wcards::-webkit-scrollbar,.slider>.seasons::-webkit-scrollbar{display:none}
  .slider>.wcards{margin-top:22px}
  .slider>.seasons{margin-top:22px}
  .slider .wcard,.slider .seasons figure{flex:0 0 min(80%,320px);scroll-snap-align:center;margin:0}
  .slider .wcard .wi{margin-top:-36px}
  .slider .seasons b{font-size:18px}
  .dots{display:flex;justify-content:center;gap:8px;margin:4px 0 0}
  .dots i{width:8px;height:8px;border-radius:50%;background:var(--gr-soft);transition:transform .25s,background .25s}
  .dots i.on{background:var(--gr);transform:scale(1.25)}
}

/* 料金：概算ツール（元：モック_住所から概算 の見た目を LP の色に） */
.est{margin:6px 0 30px;display:grid;gap:12px}
.est-step{background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px;transition:opacity .3s}
.est-step.is-off{display:none}
.est-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.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-head b{font-size:16px;color:var(--ink)}
.est-head span{margin-left:auto;font-size:12px;font-weight:800;color:#0a7f4f;text-align:right;line-height:1.4}
.est-row{display:flex;gap:8px;align-items:center}
.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-row input:focus{outline:2px solid var(--ink);outline-offset:1px}
.est-row .btn{flex:none;padding:13px 16px;font-size:14px;line-height:1.3;white-space:nowrap}
.est-hint{margin:8px 0 0;font-size:12px;color:var(--sub);line-height:1.7}
.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-flow span{background:var(--aq-pale);border-radius:999px;padding:4px 10px}
.est-flow i{font-style:normal;color:var(--sub)}
.est-cands{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.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-cands button.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}
.est-map{position:relative;height:360px;border-radius:12px;overflow:hidden;background:#e9eff2}
#map{position:absolute;inset:0}
.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}
.map-hint.warn{background:rgba(178,88,29,.92)}
.map-tools{position:absolute;right:10px;bottom:10px;z-index:5;display:flex;gap:6px}
.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}
.map-tools button.is-on{background:var(--ink);color:#fff}
.map-legend{margin:8px 0 0;font-size:10.5px;line-height:1.8;color:#3a5468}
.map-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin:0 4px 0 6px;vertical-align:-1px}
.map-legend i:first-child{margin-left:0}
.est-map .maplibregl-ctrl-top-right{top:6px;right:6px}
.est-map .maplibregl-ctrl-bottom-left{bottom:0}

.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)}
.pick b{font:900 20px Arial,sans-serif;color:var(--ink)}
.pick .warn{color:#b2581d;font-weight:700}
.around{margin-top:10px;background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:10px 12px}
.around h4{margin:0 0 6px;font-size:12px;font-weight:800;color:var(--ink2)}
.around ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.around li{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:baseline;font-size:12.5px;line-height:1.5}
.around li b{font-weight:700;color:var(--ink)}
.around li span{font-size:11px;color:var(--sub);white-space:nowrap}
.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}
.around li.road em{background:#c98a2b}.around li.park em{background:#3f9c5a}.around li.bus em{background:#0a7a3b}.around li.bld em{background:#4a2f8f}.around li.pub em{background:#7a3c0c}
#goResult{margin-top:12px;width:100%}
.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}
.res-h{margin:0 0 12px;font-size:19px;line-height:1.5;color:var(--ink)}
.res-h b{color:var(--or);font-size:24px}
.prices{display:grid;gap:8px;margin:0 0 10px}
.price{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:baseline;background:var(--gr-pale);border-radius:10px;padding:10px 14px}
.price span{font-size:12.5px;font-weight:800;color:var(--ink2)}
.price b{font:900 20px Arial,sans-serif;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}
.price small{grid-column:1/3;font-size:11px;color:var(--sub);line-height:1.6}
.price.set{background:var(--or-pale)}
.price.set b{color:#c07434}
.est-note{margin:0 0 8px;font-size:12px;color:var(--ink2);line-height:1.7}
.status{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.status li{display:grid;grid-template-columns:22px 1fr;gap:8px;font-size:11.5px;line-height:1.6;color:#3a5468}
.status li i{font-style:normal;font-weight:900;text-align:center;border-radius:50%;width:20px;height:20px;line-height:20px;font-size:11px;background:#fff2d6;color:#b2581d}
.res-send{margin-top:14px;padding-top:14px;border-top:1px dashed var(--border)}
.res-send p{margin:0 0 8px;font-size:12.5px;color:var(--ink2);line-height:1.7}
.res-send .id{font:900 14px Arial,sans-serif;color:var(--ink)}
.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)}
.res-btns{display:grid;gap:8px;margin-top:8px}
.res-btns .btn{width:100%}
.est-attr{margin:0;font-size:10.5px;color:var(--sub);line-height:1.7}
.ptable-h{margin:0 0 12px;font-size:18px;color:var(--ink);display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.ptable-h small{font-size:12.5px;font-weight:700;color:var(--ink2)}
.story .midlink.soft{color:#a4622a}.story .midlink.soft i{display:none}
@media(min-width:900px){
  .est{grid-template-columns:1fr 1fr;gap:18px;align-items:start}
  #s1{grid-column:1/-1}
  #s2{grid-row:2}#s3{grid-row:2}
  .est-attr{grid-column:1/-1}
  .est-map{height:440px}
  .res-btns{grid-template-columns:1fr 1fr}
}


/* ============ v8（2026-09-13 深夜・社長のスマホ指摘）：往復モーション／工事の日のキャッチ／比較／料金の薄い赤／工法の凝縮／メールフォーム ============ */
/* 横に流れるカード：スマホでは transform でゆっくり往復し、触ったら .free（指でスクロール・スナップ） */
@media(max-width:899px){
  .slider{overflow:hidden;margin-left:calc(-1 * (100vw - 100%) / 2);margin-right:calc(-1 * (100vw - 100%) / 2)}
  .slider>.wcards,.slider>.seasons{margin-left:0;margin-right:0;overflow:visible;scroll-snap-type:none;will-change:transform}
  .slider.free>.wcards,.slider.free>.seasons{overflow-x:auto;scroll-snap-type:x mandatory;transform:none}
  .slider .dots{margin-top:4px}
}
/* 工事の日：写真の左にキャッチ */
.dayph{position:relative}
.dayph img{object-position:66% 45%}
.day-catch{position:absolute;left:14px;top:50%;transform:translateY(-50%);display:grid;gap:2px;padding:12px 16px 14px;border-radius:14px;
  background:rgba(255,255,255,.86);backdrop-filter:blur(2px);box-shadow:0 6px 18px rgba(20,60,80,.16);max-width:52%}
.day-catch small{font:900 10.5px/1 Arial,sans-serif;letter-spacing:.2em;color:#1c6d93}
.day-catch b{font-size:26px;line-height:1.15;color:var(--ink);letter-spacing:.02em}
.day-catch span{font-size:12px;line-height:1.6;font-weight:700;color:var(--ink2);margin-top:4px}
/* 比較 */
.cmp4{background:#fff}
.cmp{margin-top:6px;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:#fff}
.cmp-head{display:grid;grid-template-columns:88px 1fr 1fr;background:var(--bg2)}
.cmp-head span{padding:12px 8px;font-size:12px;line-height:1.45;font-weight:800;text-align:center;color:var(--ink2)}
.cmp-head .cmp-l{grid-column:2}
.cmp-head .cmp-r{background:var(--or);color:#fff;font-size:15px;display:grid;gap:2px}
.cmp-head .cmp-r small{font-size:10px;font-weight:700;letter-spacing:.1em;opacity:.9}
.cmp-rows{margin:0;padding:0}
.cmp-rows>div{display:grid;grid-template-columns:88px 1fr 1fr;border-top:1px solid var(--border);align-items:stretch}
.cmp-rows dt{padding:12px 10px;font-size:12.5px;font-weight:800;color:var(--ink);background:var(--bg2);display:flex;align-items:center}
.cmp-rows dd{margin:0;padding:12px 10px;font-size:13px;line-height:1.5;display:grid;align-content:center;gap:2px;text-align:center}
.cmp-rows dd.l{color:var(--sub)}
.cmp-rows dd.r{background:var(--or-pale);color:var(--ink)}
.cmp-rows dd.r b{font-size:15px;color:#c07434}
.cmp-rows dd.r small{font-size:11px;color:var(--ink2)}
/* 料金：薄い赤 */
.price4.red{background:linear-gradient(180deg,#fff1ef 0%,#fde6e2 100%)}
.price4.red .est-step,.price4.red .ptabs,.price4.red .unitband,.price4.red .addbox{background:#fff}
/* 工法（凝縮）：2 枚横並び */
.wk2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.wk2 .wkfig img{aspect-ratio:13/6;object-fit:cover}
.wk2 .wkfig .pin{font-size:11.5px;padding:6px 12px}
.wk2 .wkfig figcaption{grid-template-columns:auto 1fr;gap:2px 8px;padding:10px 0 0}
.wk2 .wkfig figcaption i{width:30px;height:30px;font-size:12px}
.wk2 .wkfig figcaption b{font-size:14px}
.wk2 .wkfig figcaption span{font-size:11.5px}
/* メールフォーム */
.mailform{margin:22px 0 0;background:rgba(255,255,255,.94);backdrop-filter:blur(2px);border-radius:var(--r);padding:22px 20px 20px;max-width:520px;display:grid;gap:12px}
.mailform .kicker{margin:0}
.mailform h3{margin:0 0 4px;font-size:20px;line-height:1.4;color:var(--ink)}
.mailform h3 em{font-style:normal;color:var(--or)}
.mailform label{display:grid;gap:4px}
.mailform label span{font-size:12.5px;font-weight:800;color:var(--ink2)}
.mailform input,.mailform textarea{width:100%;border:1.5px solid var(--gr-soft);border-radius:10px;padding:11px 12px;font:inherit;font-size:16px;line-height:1.4;color:var(--ink);background:#fff}
.mailform input:focus,.mailform textarea:focus{outline:2px solid var(--ink);outline-offset:1px}
.mailform textarea{resize:vertical;min-height:96px}
.mailform .btn{width:100%}
.mailform .note{margin:0}
.mf-note{margin:0;font-size:12.5px;font-weight:700;color:#0a7f4f}
@media(min-width:900px){
  .dayph img{object-position:70% 45%}
  .day-catch{left:18px;max-width:46%}
  .day-catch b{font-size:30px}
  .cmp-head{grid-template-columns:150px 1fr 1fr}
  .cmp-rows>div{grid-template-columns:150px 1fr 1fr}
  .cmp-rows dd{font-size:14.5px;padding:14px 16px}
  .cmp-rows dd.r b{font-size:17px}
  .wk2{gap:22px}
  .contact4 .wrap{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
  .mailform{margin:0}
}


/* ============ v9（2026-09-14・社長のスマホ指摘 第 3 回）：工事の日に「やること」／比較の色／概算ツール v2 ============ */
/* 工事の日：その日にやること（工法を合体） */
.daywork{margin-top:26px;padding-top:22px;border-top:1px dashed rgba(30,58,50,.28)}
.daywork h3{margin:6px 0 8px;font-size:21px;line-height:1.4;color:var(--ink);letter-spacing:.01em}
.daywork h3 em{font-style:normal;color:#1c6d93}
.daywork .lead4{margin:0 0 16px}
.daywork .wk2 .wkfig img{background:#fff}
.daywork .wk2 .wkfig figcaption span{color:#2d4f5c}
.day4 .midcta{margin-top:18px}
/* 比較：当社側を明るく、はっきりした橙に（くすんだ橙 → 明るい橙。ちかちかしない程度） */
.cmp-head .cmp-r{background:#f7941d}
.cmp-rows dd.r{background:#fff3e2}
.cmp-rows dd.r b{color:#d9600a}
/* 概算ツール v2：案内は白い小さなチップ、道具は「航空写真」を主に */
.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)}
.map-hint.warn{background:rgba(178,88,29,.94);color:#fff}
.map-tools button.sec{font-size:11px;padding:6px 9px;background:rgba(255,255,255,.88);color:var(--ink2)}
.map-tools button.sec.is-on{background:var(--ink);color:#fff}
/* 文字の目印（HTML の吹き出し・地図フォント不要） */
.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}
.mlb-houses{font-size:11.5px}
.mlb-xing{color:#4a2f8f;font-size:12px}
.mlb-xing.bus{color:#0a7a3b}
.mlb-place{font-size:13px;color:#5a5a5a;letter-spacing:.06em}
.mlb-sta{font-size:12.5px;color:#2f5f8f}
.mlb-poi{font-size:11px;color:#7a5a2c;font-weight:700}
#map.z-lt16 .mlb-poi{display:none}
#map.z-lt17 .mlb-houses{display:none}
#map.z-lt16 .mlb-blocks,#map.z-lt16 .mlb-xing{display:none}
/* 仮選択の建物：輪郭が最初の 1.5 秒だけ 2 回脈打ち、「ここですか？」の札 */
.mk-here{pointer-events:none;position:relative;width:0;height:0}
.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}
.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}
.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}
@keyframes hereRing{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.9);opacity:0}}
@media(prefers-reduced-motion:reduce){.mk-here i{animation:none}}
.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}
/* 速報（地図のすぐ下）：広さと 3 つの金額 */
.quick{margin-top:8px;background:#fff;border:2px solid var(--or);border-radius:12px;padding:10px 12px;display:grid;gap:8px}
.quick.flash{animation:qflash .9s ease-out}
@keyframes qflash{0%{box-shadow:0 0 0 0 rgba(224,138,68,.55)}100%{box-shadow:0 0 0 14px rgba(224,138,68,0)}}
.q-area{margin:0;font-size:14px;font-weight:800;color:var(--ink)}
.q-area b{font-size:18px;color:#c07434}
.q-prices{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.q-prices div{display:grid;gap:3px;text-align:center;background:var(--or-pale);border-radius:8px;padding:7px 4px}
.q-prices em{font-style:normal;font-size:10.5px;font-weight:800;color:var(--ink2)}
.q-prices b{font:900 15px/1.2 Arial,sans-serif;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}
.q-note{margin:0;font-size:11px;line-height:1.6;color:var(--sub)}
@media(min-width:900px){
  .daywork{margin-top:34px;padding-top:28px}
  .daywork h3{font-size:26px}
  .q-prices b{font-size:17px}
}


/* ============ v10（2026-09-14・社長のスマホ指摘 第 4 回）：核の一文／概算ツールの文字を減らす ============ */
/* 核の一文：FV の直後。「1日断熱」を赤で大きく */
.core{margin:0 0 28px;padding:18px 18px 18px 20px;border-left:6px solid #c9302a;background:#fff;border-radius:0 14px 14px 0;box-shadow:0 8px 22px rgba(20,60,80,.08);display:grid;gap:4px;color:var(--ink)}
.core span{font-size:16.5px;line-height:1.5;font-weight:800;color:var(--ink2)}
.core strong{font-size:22px;line-height:1.35;font-weight:900;letter-spacing:.01em}
.core .nb{white-space:nowrap}
.core em{font-style:normal;color:#c9302a;font-size:34px;line-height:1.1;letter-spacing:.02em;padding:0 2px}
/* 概算ツール：空の案内は場所を取らない */
.est-hint:empty,#pick:empty,#around:empty{display:none}
.res-send textarea[hidden]{display:none}
.copy-note{margin:8px 0 0;font-size:12.5px;font-weight:700;color:#0a7f4f;line-height:1.6}
@media(min-width:900px){
  .core{margin:0 0 34px;padding:22px 26px 22px 28px;max-width:720px}
  .core span{font-size:19px}
  .core strong{font-size:28px}
  .core em{font-size:44px}
}


/* ============ v11（2026-09-14・社長「核の一文の見せ方を練る」＋ 50㎡未満の単価計算）============ */
/* 核の一文 v2（Codex 相談 案4「小さな前置き、大きな回答」）：箱を外す・前半は小さく薄く・後半は大きく・赤は「1日断熱」だけ（下に薄い赤の帯） */
.core{margin:0 0 46px;padding:6px 0 0;background:none;border:0;border-radius:0;box-shadow:none;display:grid;gap:14px;color:var(--ink)}
.core .c-lead{font-size:17px;line-height:1.65;font-weight:700;color:rgba(30,58,50,.72);letter-spacing:.01em}
.core .c-ans{font-size:clamp(28px,7.6vw,34px);line-height:1.45;font-weight:900;color:var(--ink);letter-spacing:-.02em}
.core .c-ans .nb{white-space:nowrap;font-size:inherit;font-weight:inherit;color:inherit;line-height:inherit}
.core em{position:relative;z-index:0;display:inline-block;font-style:normal;color:#c9302a;font-size:1.28em;line-height:1.1;font-weight:900;white-space:nowrap;padding:0 .04em;letter-spacing:0}
.core em::after{content:"";position:absolute;z-index:-1;left:0;right:0;bottom:.06em;height:9px;background:rgba(201,48,42,.14)}
/* 案B：FV の時間軸から続く「起点」（短い赤の線と丸）を左に一つだけ */
.core.coreB{position:relative;padding-left:24px}
.core.coreB::before{content:"";position:absolute;left:7px;top:-36px;width:2px;height:60px;background:#c9302a}
.core.coreB::after{content:"";position:absolute;left:2px;top:22px;width:12px;height:12px;border:3px solid #c9302a;border-radius:50%;background:var(--bg2);box-sizing:border-box}
/* 案C：「1日断熱」を印（角印風の枠）に */
.core.coreC .c-ans{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;font-size:28px}
.core.coreC em{padding:7px 10px 5px;border:3px solid #c9302a;font-size:38px;line-height:1;letter-spacing:-.04em;transform:rotate(-1.5deg);background:#fff}
.core.coreC em::after{display:none}
/* 料金表：50㎡未満の計算の注記 */
.unitband .u-small{display:block;margin-top:4px;font-size:12px;font-weight:400;color:var(--sub);line-height:1.6}
@media(min-width:900px){
  .core{margin:0 0 58px;gap:18px;max-width:900px}
  .core .c-lead{font-size:21px}
  .core .c-ans{font-size:clamp(38px,3vw,50px);line-height:1.35}
  .core em::after{height:12px}
  .core.coreB{padding-left:30px}
  .core.coreB::before{left:9px;top:-44px;height:74px}
  .core.coreB::after{left:4px;top:30px}
  .core.coreC .c-ans{font-size:42px;gap:18px}
  .core.coreC em{font-size:54px;border-width:4px}
}
@media(prefers-reduced-motion:no-preference){
  .core em{animation:coreIn .5s ease-out 1 both}
  @keyframes coreIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
}


/* ============ v12（2026-09-14・社長「案B。赤は強すぎるので明るいオレンジに」）============ */
.core em{color:#f7941d}
.core em::after{background:rgba(247,148,29,.2)}
.core.coreB::before{background:#f7941d}
.core.coreB::after{border-color:#f7941d}


/* ============ v16（2026-09-14）：概算ツールの枠が 375px 以下で右端が切れる（入力欄と「地図を出す」の最小幅で列が広がる）→ 列が縮めるように ============ */
.est>*{min-width:0}

/* --- PC（900px 以上）：横に組む --- */
/* 仕組み：承認済み画像＋ページ側の色味・巡る光・文字（画像候補/ラフ_Codex 由来・画像構想_FV以下.md ★決定） */
.mech .lead{max-width:none;margin-bottom:18px}
.mech-fig{margin:0}
.mech-box{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:10px;container-type:inline-size}
.mech-stage{grid-column:1/-1;position:relative;aspect-ratio:1536/1024;border-radius:var(--r);overflow:hidden;background:#dfe9f0}
.mech-stage img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover}
.mech-fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.mtint{mix-blend-mode:multiply;opacity:.36}
.mh{fill:none;stroke-linecap:round;stroke-width:60;opacity:.34;filter:url(#mfHalo)}
.mc{fill:none;stroke-linecap:round;stroke-width:30;stroke-dasharray:230 770;opacity:.85;filter:url(#mfComet);animation:mechRun 4.8s linear infinite}
.mc.r{animation-direction:reverse}
@keyframes mechRun{from{stroke-dashoffset:0}to{stroke-dashoffset:-1000}}
.mp{filter:url(#mfPt)}
.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)}
.mlbl .t{font-size:11px;background:#fff;color:#1c3a5e;border-radius:8px;padding:2px 8px;margin-bottom:3px;letter-spacing:.06em}
.mlbl.r .t{color:#8a3a0c}
.mlbl .s{font-size:13px;opacity:.95}.mlbl .b{font-size:26px;text-shadow:0 1px 0 rgba(0,0,0,.12)}
.mlbl.l{background:linear-gradient(160deg,#39a9ff,#1877e6)}
.mlbl.r{background:linear-gradient(160deg,#ff9a3c,#f2621c)}
.mech-fig .note{margin-top:10px}
.mech-txt{margin-top:22px}
.mech-txt p{font-size:15px;margin:0}
@media(min-width:900px){
  .mech-box{display:block}
  .mlbl{position:absolute;top:19%;z-index:2;outline:.45cqw solid #fff;padding:1.1cqw 2.2cqw 1.3cqw;border-radius:2.6cqw;box-shadow:0 .6cqw 1.6cqw rgba(0,0,0,.18)}
  .mlbl .t{font-size:1.7cqw;border-radius:1cqw;padding:.25cqw 1cqw;margin-bottom:.35cqw}
  .mlbl .s{font-size:2.2cqw}.mlbl .b{font-size:4.6cqw}
  .mlbl.l{left:3.5%;transform:rotate(-4deg)}.mlbl.r{right:3.5%;transform:rotate(4deg)}
  .mech-txt{gap:40px}
}
@media(prefers-reduced-motion:reduce){.mc{animation:none}.mp{display:none}}

@media(min-width:900px){
  .s2{padding:104px 0}
  .s2.co{padding:120px 0}
  .g57{grid-template-columns:5fr 7fr;gap:40px}
  .g75{grid-template-columns:7fr 5fr;gap:40px}
  .g66{grid-template-columns:6fr 6fr;gap:40px}
  .g84{grid-template-columns:8fr 4fr;gap:40px}
  .g363{grid-template-columns:3fr 6fr 3fr;gap:32px}
  .worries li:nth-child(2){margin-left:18px}.worries li:nth-child(3){margin-left:36px}.worries li:nth-child(4){margin-left:54px}
  .co-big h3{font-size:34px}
  .worries li span{font-size:17px}
  .cut2-wide{grid-template-columns:1fr 1fr;gap:24px}
  .day3.has-imgs .st{display:flex;flex-direction:column}
  .day3.has-imgs .st .ph-slot{order:0;width:100%;margin:0 0 12px}
  .co-hero{margin-top:10px}
  .co-hero img{aspect-ratio:1536/1024;object-fit:cover}
  .co-points{position:absolute;left:4%;top:50%;transform:translateY(-50%);width:36%;max-width:400px;margin:0;background:rgba(255,255,255,.88);backdrop-filter:blur(2px);border-radius:16px;padding:22px 22px;gap:14px}
  .co-points b{font-size:18px}
  .final-photo .wrap{padding:96px 0}
  .final-box{padding:34px 34px 30px}
  /* 悩み・工法・当日・流れ（線なし） */
  .bignums{gap:12px 26px}.bignums dd{font-size:40px}
  .day3{grid-template-columns:repeat(3,1fr);gap:32px}
  .day3.has-photos .st .ph-slot{width:100%;margin:0 0 12px;order:-1}
  .flow4{grid-template-columns:3fr 1fr;gap:24px;align-items:start}
  .freebox{grid-template-columns:repeat(3,1fr);gap:24px;padding:30px 24px 24px}
  .flow4 .st.last{padding-top:30px}
}
@media(max-width:899px){
}

/* ============ 12. 最終CTA ============ */
.final{background:
  radial-gradient(680px 400px at 12% 10%, #fdf3e9 0%, rgba(255,255,255,0) 60%),
  radial-gradient(620px 380px at 88% 88%, #eef6f2 0%, rgba(255,255,255,0) 60%), var(--bg2)}
footer{background:#fff;border-top:1px solid var(--border);color:var(--sub);padding:34px 0;font-size:12.5px;text-align:center}

/* ============ 1. ファーストビュー（スマホ・タブレット 〜899px）============
   2026-09-11 BOSS承認済みのスマホ版FV。
   900px以上のPC版：v2 独立レイヤー（900〜1599）＋背景拡張パノラマ r2（1600〜）。CSS はスタイルの末尾の PC ブロック（2026-09-12）。
   写真：images/hero-family-sp.jpg（1536×2752）
   高さ：520px未満 clamp(524px,147vw,628px) ／ 430px以上 628px→700px へ連続
   画像位置：原則は下端合わせ。上を切りすぎる幅では「上から37%」で止める
            179.17vw ＝ 画像の高さ(2752/1536) ／ 66.29vw ＝ その37%
   ------------------------------------------------------------------ */

.fvsp{position:relative;isolation:isolate;overflow:hidden;padding:0;
  --red:#e03a30;
  --fvh:clamp(524px, 147vw, 628px);
  height:var(--fvh)}
@media(min-width:430px){ .fvsp{--fvh:clamp(628px, calc(562px + 15.32vw), 700px)} }

.fvsp>picture{display:contents}
.fvsp>picture>img{position:absolute;inset:0;width:100%;height:100%;max-width:none;display:block;
  object-fit:cover;z-index:0;
  object-position:50% clamp(calc(var(--fvh) - 179.17vw), -66.29vw, 0px)}

/* --- ヘッダー（写真の上に透明で重なる） --- */
.fvsp-hd{position:absolute;z-index:20;top:0;left:0;right:0;height:54px;
  display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad,18px)}
.fvsp-brand{display:flex;align-items:center;gap:6px;font-size:16px;font-weight:800;
  line-height:1.4;letter-spacing:.02em;text-shadow:0 1px 8px rgba(255,255,255,.85)}
.fvsp-brand i{width:15px;height:15px;border:2px solid var(--gr);border-radius:5px;transform:rotate(45deg)}
.fvsp-hdline{display:none;align-items:center;gap:6px;height:38px;padding:0 16px;border-radius:19px;
  background:var(--line);color:#fff;font-size:14px;font-weight:800;line-height:1;text-decoration:none}
.fvsp-hdline i{width:15px;height:15px;border-radius:4px;background:#fff}

/* --- 文字の器 --- */
.fvsp-in{position:relative;z-index:10;height:100%;display:flex;flex-direction:column;
  padding:calc(54px + 8px) var(--pad,18px) var(--padB,18px)}

/* 文字グループの背後だけ、左が白く右へ透明に抜けるごく薄い下地 */
.fvsp-grp{position:relative}
.fvsp-grp::before{content:"";position:absolute;z-index:-1;pointer-events:none;
  left:calc(var(--pad,18px) * -1);right:-14%;top:-10px;bottom:-10px;
  background:linear-gradient(90deg,
    rgba(255,255,255,var(--veil,.55)) 0%,
    rgba(255,255,255,calc(var(--veil,.55) * .82)) 46%,
    rgba(255,255,255,0) 100%);
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%);
          mask-image:linear-gradient(180deg,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%)}
.fvsp-g1,.fvsp-g2{text-shadow:0 1px 7px rgba(255,255,255,.75)}

/* --- 第1グループ：悩みと結論 --- */
.fvsp-g1{margin-top:var(--gTop,46px);width:var(--col,66%)}
.fvsp-g1 h1{font-size:var(--fH,26px);font-weight:800;line-height:var(--lhH,1.34);
  letter-spacing:.01em;margin:0}
.fvsp-hot{background:linear-gradient(transparent 62%, rgba(240,160,92,.55) 62%)}
.fvsp-cold{background:linear-gradient(transparent 62%, rgba(134,197,228,.6) 62%)}
.fvsp-hot .fvsp-c1{color:#d8791f} .fvsp-cold .fvsp-c1{color:#3f93bd}
.fvsp-big{margin:var(--gBig,4px) 0 0;font-weight:800;line-height:1.02;
  font-size:var(--fDay,26px);letter-spacing:-.01em;white-space:nowrap}
.fvsp-big .fvsp-sm{font-size:var(--fSai,20px);letter-spacing:.02em;margin-right:2px}
.fvsp-big .fvsp-n{font-size:var(--fNum,56px);color:var(--red);letter-spacing:-.03em}

/* --- 第2グループ：工事方法と時間（右下へずらす） --- */
.fvsp-g2{margin:var(--gG2,210px) 0 0 var(--g2x,20%);width:var(--col2,64%);
  font-size:var(--fSub,12.5px);font-weight:700;line-height:1.65;--veil:.5}
.fvsp-g2::before{left:-12px;right:-10%}

.fvsp-spacer{flex:1;min-height:var(--gSp,26px)}

/* --- 赤い時間軸（補足の小さなエフェクト） --- */
.fvsp-od{position:relative;width:var(--odW,84%);margin:0 auto var(--gOd,12px);
  padding:var(--odPy,5px) var(--odPx,10px)}
.fvsp-od::before{content:"";position:absolute;z-index:-1;inset:0;border-radius:10px;
  background:rgba(255,255,255,var(--odVeil,.48));backdrop-filter:blur(1.5px);
  -webkit-mask-image:radial-gradient(115% 135% at 50% 50%, #000 42%, transparent 100%);
          mask-image:radial-gradient(115% 135% at 50% 50%, #000 42%, transparent 100%)}
.fvsp-od-stops{display:flex;justify-content:space-between;font-size:var(--fOd2,10px);
  font-weight:700;line-height:1.35;text-align:center}
.fvsp-od-stops b{display:block;font-size:var(--fOd1,12px);color:#2f6a52}
.fvsp-od-bar{position:relative;height:9px;margin-top:3px}
.fvsp-od-bar::before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;
  transform:translateY(-50%);background:rgba(224,58,48,.18);border-radius:2px}
.fvsp-od-bar i{position:absolute;left:0;top:50%;height:2px;transform:translateY(-50%);
  background:var(--red);border-radius:2px;width:calc(100% - 6px)}
.fvsp-od-bar i::after{content:"";position:absolute;right:-6px;top:-3px;
  border-left:7px solid var(--red);border-top:4px solid transparent;border-bottom:4px solid transparent}
.fvsp-od-bar u{position:absolute;top:50%;width:7px;height:7px;margin-top:-3.5px;margin-left:-3.5px;
  border-radius:50%;background:#fff;border:2px solid var(--red)}

/* --- LINEボタン --- */
.fvsp-cta{display:flex;align-items:center;justify-content:center;gap:7px;
  height:var(--btnH,52px);border-radius:calc(var(--btnH,52px) / 2);background:var(--line);color:#fff;
  font-size:var(--fBtn,16px);font-weight:800;line-height:1;text-decoration:none;
  box-shadow:0 6px 18px rgba(6,199,85,.34)}
.fvsp-cta i{width:calc(var(--fBtn,16px) * 1.05);height:calc(var(--fBtn,16px) * 1.05);
  border-radius:5px;background:#fff}

/* --- 幅ごとの寸法 --- */
.fvsp-in{--pad:16px;--padB:14px;--gTop:34px;--col:70%;--lhH:1.34;--fH:22px;--fDay:22px;--fSai:17px;--fNum:47px;--gBig:-5px;
       --gG2:122px;--g2x:3%;--col2:70%;--fSub:11.5px;--gSp:26px;
       --odW:97%;--odPy:4px;--odPx:8px;--fOd1:11px;--fOd2:9px;--gOd:8px;
       --fBtn:15px;--btnH:46px}
@media(min-width:360px){ .fvsp-in{--pad:17px;--padB:15px;--gTop:35px;--fH:24px;--fDay:24px;--fSai:18px;--fNum:51px;--gBig:-6px;
       --gG2:105px;--fSub:12px;--fBtn:16px;--btnH:50px} }
@media(min-width:385px){ .fvsp-in{--pad:18px;--padB:18px;--gTop:36px;--col:66%;--fH:26px;--fDay:26px;--fSai:20px;--fNum:56px;--gBig:-6px;
       --gG2:106px;--g2x:3%;--col2:64%;--fSub:12.5px;
       --odW:93%;--odPy:4px;--odPx:10px;--fOd1:12px;--fOd2:10px;--gOd:9px;--fBtn:16px;--btnH:52px} }
@media(min-width:415px){ .fvsp-in{--pad:20px;--padB:18px;--gTop:38px;--col:64%;--fH:28px;--fDay:28px;--fSai:21px;--fNum:60px;--gBig:-7px;
       --gG2:124px;--g2x:4%;--col2:62%;--fSub:13.5px;
       --odW:93%;--odPy:5px;--odPx:12px;--fOd1:13px;--fOd2:11px;--gOd:10px;--fBtn:17px;--btnH:56px} }


/* --- v5〜v8（2026-09-13 夜・社長指示）：時間軸と LINE ボタンの間隔／第 2 グループと同じ幅／「断熱」の鼓動／一日の空を進む太陽（Codex 相談・案1） --- */
.fvsp-dn{display:inline-block;animation:fvsp-dn 2s ease-in-out infinite;transform-origin:50% 60%}
@keyframes fvsp-dn{0%,100%{transform:scale(1)}50%{transform:scale(1.14)}}
/* 一日の空を進む太陽（SVG の中に朝・日中・夕方の文字も入れる。線と光点はやめる） */
.fvsp-od{position:relative;padding:0;width:var(--odW,84%);margin:0 auto var(--gOd,12px)}
.fvsp-od::before{content:none}
.fvsp-od .fvsp-od-stops,.fvsp-od .fvsp-od-bar{display:none}
.fvsp-day{display:block;width:100%;height:auto;border-radius:14px;background:rgba(255,255,255,.8);box-shadow:0 4px 14px rgba(30,58,50,.12);backdrop-filter:blur(4px);border:1px solid rgba(30,58,50,.1)}
.fvsp-day text{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic UI","Yu Gothic",Meiryo,system-ui,sans-serif}
@media(max-width:519px){
  .fvsp-od{width:var(--col2);margin:0 0 12px var(--g2x)}   /* v7：第 2 グループの文字と同じ左端・同じ幅 */
  .fvsp-cta{width:96%;margin-inline:auto}
}
@media(min-width:415px) and (max-width:519px){ .fvsp-od{margin-bottom:14px} }
@media(prefers-reduced-motion:reduce){ .fvsp-dn{animation:none} .fvsp-day .sun-run{display:none} .fvsp-day .sun-still{display:inline} }
.fvsp-day .sun-still{display:none}

/* --- 520px 以上：文字を左の一列にまとめる（〜899px） --- */
@media(min-width:520px){
  .fvsp-hd{height:70px;padding:0 clamp(20px,4.4vw,64px)}
  .fvsp-hdline{display:flex}
  .fvsp-brand{font-size:19px} .fvsp-brand i{width:18px;height:18px}
  .fvsp-in{justify-content:center;padding:70px clamp(20px,4.4vw,64px) 0;width:56%;
    --col:100%;--col2:88%;--g2x:8%;--gG2:34px;--gTop:0;--odW:100%;
    --lhH:1.40;--odPy:6px;--odPx:12px}
  .fvsp-in .fvsp-spacer{display:none}
  .fvsp-g1 h1{font-size:clamp(26px,3.0vw,46px)}
  .fvsp-big{font-size:clamp(24px,2.4vw,36px);margin-top:6px}
  .fvsp-big .fvsp-sm{font-size:clamp(18px,1.7vw,26px)}
  .fvsp-big .fvsp-n{font-size:clamp(50px,5.0vw,80px)}
  .fvsp-g2{font-size:clamp(13px,1.15vw,17px)}
  .fvsp-od{margin:26px 0 24px;max-width:400px;--fOd1:13px;--fOd2:11px}
  .fvsp-cta{max-width:340px;height:58px;border-radius:29px;font-size:17px}
}

/* ============ PC 900px以上：v2 独立レイヤー（900〜1599）＋ 背景拡張パノラマ r2（1600〜）2026-09-12 ============
   写真：900〜1599 images/hero-family-pc.webp（v2 2752×1536）／1600〜 images/hero-family-pc-pano.webp（5041×1536）
   cover を使わず、.fvsp の中に独立した画像レイヤーを置く。文章区画（最大720px）とグラデーションは別々に制御する。
   ------------------------------------------------------------------ */
@media(min-width:900px){
  .fvsp{--fvh:clamp(700px, calc(562px + 15.32vw), 780px);
    --pad2:clamp(20px,4.4vw,64px);
    --colW:720px;                                        /* 文章区画（外枠）の上限 */
    --shift:max(0px, calc((56% - var(--colW)) / 2));     /* 余った左の帯を左右に等分＝家族へ寄せる */
    --shiftv:max(0px, calc((56vw - var(--colW)) / 2));   /* 同じ値。グラデーションの停止位置用 */
    background:linear-gradient(180deg,#e4d0c7 0%,#e7d4cd 45%,#e1cec6 84%,#cfb3a3 88.5%,#d9c3b8 90%,#e0cac2 93%,#e0cac2 100%);
    /* 写真の高さ。900〜1333px は「家族の左端が文章区画の右端＋10px より右」になる高さまで連続的に縮める */
    --ph:min(var(--fvh), calc(58.47vw - 13.3px))}
  .fvsp>picture{display:block;position:absolute;z-index:0;inset:auto 0 0 auto;
    width:calc(var(--ph) * 1.7917);height:var(--ph)}   /* 右下寄せの独立レイヤー。幅は 2752/1536 */
  .fvsp>picture>img{position:static;width:100%;height:100%;max-width:none;object-fit:fill;object-position:0 0;
    -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 70px),linear-gradient(90deg,transparent 0,#000 14%);
    -webkit-mask-composite:source-in;
    mask-image:linear-gradient(180deg,transparent 0,#000 70px),linear-gradient(90deg,transparent 0,#000 14%);
    mask-composite:intersect}                            /* 上端70px・左端14%を壁色へ溶かす */
  .fvsp-hd{padding-left:calc(var(--pad2) + var(--shift))}
  .fvsp-in{width:min(56%, var(--colW));margin-left:var(--shift)}
  .fvsp-grp::before{
    left:calc(-1 * (var(--pad2) + var(--shiftv)));
    background:linear-gradient(90deg,
      rgba(255,255,255,0) 0px,
      rgba(255,255,255,var(--veil,.55)) var(--shiftv),
      rgba(255,255,255,calc(var(--veil,.55) * .82)) calc(var(--shiftv) + (100% - var(--shiftv)) * .46),
      rgba(255,255,255,0) 100%)}
  .fvsp-g2::before{left:calc(-1 * (var(--pad2) + var(--shiftv)) - 8%)}
}
/* 1600px以上：パノラマを高さ780・幅2560で置く。左端＝60vw−1535px（1600 で v2 の右端＝画面右端、2560 で全体。広がる分は左:右=60:40） */
@media(min-width:1600px){
  .fvsp>picture{inset:0 auto auto calc(60vw - 1535px);width:calc(var(--fvh) * 3.2819);height:var(--fvh)}
  .fvsp>picture>img{-webkit-mask-image:none;mask-image:none}
}
/* 2561px以上：パノラマと FV の高さを 5041:1536 のまま一緒に拡大（上下を切らない） */
@media(min-width:2561px){
  .fvsp{--fvh:calc(100vw * 1536 / 5041)}
  .fvsp>picture{inset:0;width:100%;height:100%}
}

/* v17（2026-09-14）：ロゴのマーク（案 A・家のキャラクター）。FV ヘッダーの菱形の代わり／フッター／タブのアイコン */
.fvsp-brand .fvsp-mark{display:block;height:32px;width:auto;flex:none;filter:drop-shadow(0 1px 4px rgba(255,255,255,.9))}
@media(min-width:520px){.fvsp-brand .fvsp-mark{height:40px}}
.ft-brand{display:inline-flex;align-items:center;gap:8px}.ft-brand .ft-mark{display:block;height:30px;width:auto}


/* ============ HP 共通（LP の CSS の後ろに足す・変数と部品は LP と同じ）2026-09-14 ============ */
html{scroll-padding-top:70px}
/* LP では .v4 の中だけだった見出しの型を、HP では全体に効かせる */
.kicker{margin:0 0 10px;font-size:12px;font-weight:800;letter-spacing:.22em;color:var(--or);display:grid;gap:6px}
.kicker span{font-size:13.5px;font-weight:700;letter-spacing:.02em;color:var(--ink2)}
.hx{margin:0 0 14px;font-size:clamp(26px,6vw,40px);font-weight:900;line-height:1.3;letter-spacing:.01em;color:var(--ink)}
.hx em{font-style:normal;color:var(--or)}
.lead4{margin:0 0 22px;font-size:15px;line-height:1.9;color:var(--ink2)}
.note{margin-top:14px}
/* ヘッダー */
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.94);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-bottom:1px solid var(--border)}
.site-header .wrap{display:flex;align-items:center;gap:14px;height:60px}
.site-header .logo{font-weight:900;font-size:17px;color:var(--ink);text-decoration:none;letter-spacing:.02em;margin-right:auto;white-space:nowrap;display:inline-flex;align-items:center;gap:8px}
.site-header .logo .mark{display:block;flex:none}
.site-footer .fbrand{display:inline-flex;align-items:center;gap:7px}
.site-header nav{display:none}
.site-header .hd-line{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 14px;border-radius:19px;background:var(--line);color:#fff;font-weight:800;font-size:13px;text-decoration:none;white-space:nowrap}
.site-header .hd-line i{width:12px;height:12px;border-radius:3px;background:#fff}
.menu-btn{width:44px;height:44px;border:0;background:none;display:grid;place-items:center;cursor:pointer;padding:0;margin-right:-8px}
.menu-btn i{width:22px;height:2px;background:var(--ink);box-shadow:0 -7px 0 var(--ink),0 7px 0 var(--ink);display:block;border-radius:2px}
.site-nav-sp{display:none;position:fixed;left:0;right:0;top:60px;bottom:0;background:#fff;z-index:39;padding:12px 5vw 40px;flex-direction:column;overflow:auto}
.site-nav-sp.open{display:flex}
.site-nav-sp a{padding:15px 6px;border-bottom:1px solid var(--border);font-weight:800;color:var(--ink);text-decoration:none;font-size:16px}
.site-nav-sp a.cur{color:var(--or)}
@media(min-width:900px){
  .site-header nav{display:flex;gap:20px}
  .site-header nav.site-nav-sp{display:none}
  .site-header nav a{font-size:13.5px;font-weight:800;color:var(--ink2);text-decoration:none;white-space:nowrap}
  .site-header nav a.cur{color:var(--or)}
  .menu-btn{display:none}
}
/* トップの FV：LP と同じ .fvsp（画面いっぱいの写真＋左に文字）。ヘッダーは写真の上に透明で重なり、スクロールで白になる（2026-09-14 社長指示） */
.home .site-header{position:fixed;left:0;right:0;top:0;background:transparent;border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .25s,border-color .25s}
.home .site-header .logo{text-shadow:0 1px 8px rgba(255,255,255,.85)}
.home .site-header nav a{text-shadow:0 1px 6px rgba(255,255,255,.8)}
.home .site-header.scrolled{background:rgba(255,255,255,.94);border-bottom-color:var(--border);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.fvsp-area{margin:0 0 8px;font-size:11.5px;font-weight:800;letter-spacing:.14em;color:var(--or)}
.fvsp-g1 h1{font-size:clamp(26px,7.2vw,32px);line-height:1.32;color:var(--ink)}
.fvsp-g2{color:var(--ink)}
.fvsp-g2 .brsp{display:inline}
@media(min-width:520px){
  .fvsp-g2 .brsp{display:none}
  .fvsp-area{font-size:12.5px;margin-bottom:10px}
  .fvsp-g1 h1{font-size:clamp(30px,3.4vw,52px);line-height:1.34}
  .fvsp-g2{font-size:clamp(14px,1.2vw,18px);line-height:1.75}
}
/* 写真つきの段：PC は文章と写真の 2 列、スマホは文章 → 写真 */
.ph{border-radius:var(--r-lg);overflow:hidden;background:#e6e1d8;aspect-ratio:4/3}
.ph img{width:100%;height:100%;object-fit:cover;display:block}
.way .wrap,.addr-top .wrap,.subband .wrap{display:grid;gap:26px}
/* グリッドの子は中身の最小幅（入力欄＋ボタン）で広がらないようにする（320px で右端が切れるのを防ぐ。.est と同じ理由） */
.way .wrap>*,.addr-top .wrap>*,.subband .wrap>*,.pagehead .wrap>*{min-width:0}
@media(min-width:900px){
  .way .wrap,.addr-top .wrap,.subband .wrap{grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}
  .ph{aspect-ratio:3/2}
}
/* 核の一文（LP の .core.coreB を流用） */
.core-sec{padding:44px 0 6px}
.core-sec .core{margin:0}
/* 私たちの考え */
.way{padding:64px 0 56px}
.way .in{max-width:40em}
.way p.body{font-size:17px;line-height:1.9;margin:0 0 16px;color:var(--ink)}
.way .facts{display:flex;flex-wrap:wrap;gap:8px 18px;font-weight:800;color:var(--ink2);font-size:14px;margin:0 0 16px}
.way .facts span::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--or);margin-right:8px;vertical-align:1px}
.more{font-weight:800;color:var(--ink);text-decoration:underline;text-underline-offset:4px}
/* 入口 3 つ */
.entry{padding:8px 0 72px}
.entry .big{display:grid;gap:14px}
.entry .e{display:block;border:1.5px solid var(--border);border-radius:var(--r);padding:0;overflow:hidden;background:#fff;text-decoration:none;color:var(--ink);box-shadow:var(--sh);transition:transform .2s,box-shadow .2s}
.entry .e:hover{transform:translateY(-2px);box-shadow:var(--sh2)}
.entry .e .ph{border-radius:0;aspect-ratio:16/9}
.entry .e .tx{padding:20px 22px 24px}
.entry .e small{display:block;font-size:12px;color:var(--or);font-weight:800;letter-spacing:.1em}
.entry .e b{font-size:21px;display:block;margin:6px 0 8px;line-height:1.35}
.entry .e span{font-size:13.5px;color:var(--ink2);line-height:1.7;display:block}
.entry .quiet{margin:18px 0 0;display:flex;gap:18px;flex-wrap:wrap;font-size:14px}
.entry .quiet a{color:var(--ink2);font-weight:800;text-decoration:underline;text-underline-offset:4px}
@media(min-width:900px){
  .entry .big{grid-template-columns:1.4fr 1fr 1fr;gap:20px;align-items:stretch}
  .entry .e:first-child{background:var(--bg2)}
  .entry .e:first-child .tx{padding:28px 30px 32px}
  .entry .e:first-child b{font-size:28px}
  .entry .e .ph{aspect-ratio:3/2}
  .entry .e:first-child .ph{aspect-ratio:16/10}
}
/* 住所の入力欄 */
.addr-top{padding:64px 0;background:var(--aq-pale)}
.addr-top .in{max-width:40em}
.addr-top form{display:flex;gap:8px;margin:16px 0 10px}
.addr-top input{flex:1;min-width:0;border:2px solid var(--aq);border-radius:12px;padding:12px 14px;font:inherit;font-size:16px;font-weight:700;background:#fff;color:var(--ink)}
.addr-top button{flex:none;border:0;border-radius:999px;padding:12px 18px;background:var(--ink);color:#fff;font:inherit;font-weight:800;white-space:nowrap;cursor:pointer}
/* ブログ一覧 */
.postlist{list-style:none;margin:16px 0 0;padding:0}
.postlist li{display:flex;flex-wrap:wrap;gap:4px 14px;padding:14px 4px;border-bottom:1px solid var(--border);align-items:baseline}
.postlist time{font-size:12.5px;color:var(--sub);font-variant-numeric:tabular-nums}
.postlist .cat{font-size:12px;font-weight:800;color:var(--or)}
.postlist a{flex-basis:100%;color:var(--ink);font-weight:800;text-decoration:none;font-size:15.5px;line-height:1.6}
.postlist a:hover{text-decoration:underline}
.postlist .empty{color:var(--sub);font-size:14px;padding:14px 4px}
/* ブログの 3 つのテーマ（季節の悩みの写真） */
.themes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 8px}
.themes a{display:block;text-decoration:none;color:var(--ink)}
.themes .ph{aspect-ratio:1/1;border-radius:14px}
.themes b{display:block;font-size:13px;margin-top:8px;font-weight:800}
/* PC：3 枚を段の幅いっぱいに均等に並べる（2026-09-14 社長指摘：縮小して左寄りだった） */
@media(min-width:900px){.themes{gap:24px;margin-top:24px}.themes .ph{aspect-ratio:4/3;border-radius:var(--r-lg)}.themes b{font-size:16px;margin-top:12px}}
.cats{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;font-size:13px;align-items:center}
.cats span,.cats a.c{border:1px solid var(--border);border-radius:999px;padding:5px 12px;color:var(--ink2);font-weight:700;text-decoration:none;background:#fff}
@media(min-width:900px){.postlist a{flex:1;flex-basis:auto}}
/* 補助金の帯 */
.subband{padding:56px 0;background:var(--aq-pale)}
.subband .in{max-width:40em}
/* 相談段 */
.contact-sec{padding:72px 0;background:var(--bg2)}
.contact-sec .g{display:grid;gap:14px;margin-top:18px}
.cbox{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:22px 20px;display:grid;gap:10px;align-content:start}
.cbox b{font-size:17px;color:var(--ink)}
.cbox p{margin:0;font-size:14px;line-height:1.8;color:var(--ink2)}
.cbox .btn{justify-self:start}
.cbox .btn-mail{background:#fff;color:var(--ink);border:1.5px solid var(--ink)}
.contact-sec .note{margin-top:14px}
@media(min-width:900px){.contact-sec .g{grid-template-columns:1fr 1fr;gap:22px}}
/* 下層共通 */
.pagehead{padding:52px 0 34px;background:var(--bg2);border-bottom:1px solid var(--border)}
.pagehead .kicker{margin-bottom:8px}
.pagehead h1{margin:0;font-size:clamp(28px,7vw,40px);font-weight:900;line-height:1.3;color:var(--ink)}
.pagehead .lead{margin:12px 0 0;max-width:40em;font-size:16px;line-height:1.85;color:var(--ink2);font-weight:700}
.pagehead.has-ph .wrap{display:grid;gap:22px}
.pagehead .ph{aspect-ratio:16/9}
@media(min-width:900px){.pagehead.has-ph{padding:64px 0 48px}.pagehead.has-ph .wrap{grid-template-columns:1.15fr 1fr;gap:56px;align-items:center}.pagehead .ph{aspect-ratio:3/2}}
.sec{padding:64px 0}
.sec.alt{background:var(--bg2)}
.prose{max-width:40em;font-size:17px;line-height:1.9;color:var(--ink)}
.prose p{margin:0 0 1em}
.prose ul{margin:0 0 1em;padding-left:1.3em}
.prose li{margin:0 0 .4em}
.h3{margin:0 0 14px;font-size:clamp(22px,5.4vw,28px);line-height:1.4;font-weight:900;color:var(--ink)}
.h3 em{font-style:normal;color:var(--or)}
.sec .kicker{margin-bottom:8px}
/* 概算ツールの枠：入力欄と「地図を出す」の最小幅で列が広がり、375px 以下で右端が切れていた → 列が縮めるようにする */
.est>*{min-width:0}
/* 料金ページ：LP の赤い地は使わず、白と生成り */
.price4{background:#fff}
.price4 .est-step,.price4 .ptabs,.price4 .unitband,.price4 .addbox{background:var(--bg2)}
/* 会社概要の表 */
.ctable{width:100%;max-width:720px;border-collapse:collapse;font-size:15px}
.ctable th{width:112px;text-align:left;padding:14px 8px;border-bottom:1px solid var(--border);color:var(--ink2);font-size:13px;vertical-align:top;font-weight:800}
.ctable td{padding:14px 8px;border-bottom:1px solid var(--border);line-height:1.7}
.ctable td.todo{color:var(--sub)}
/* 含まれるもの */
.inc{display:grid;gap:12px;max-width:720px}
.inc div{border:1px solid var(--border);border-radius:14px;padding:16px 18px;background:#fff}
.inc b{display:block;font-size:14px;color:var(--or);margin-bottom:4px}
.inc p{margin:0;font-size:15px;line-height:1.8}
@media(min-width:900px){.inc{grid-template-columns:1fr 1fr}}
/* 記事 */
.article{max-width:40em}
.article .meta{font-size:12.5px;color:var(--sub);margin:0 0 18px;display:flex;gap:12px;flex-wrap:wrap}
.article h2{font-size:22px;margin:1.6em 0 .6em;line-height:1.45}
.article h3{font-size:18px;margin:1.4em 0 .5em}
.article .fixed{margin-top:2em;padding:14px 16px;background:var(--bg2);border-radius:12px;font-size:13.5px;color:var(--ink2)}
/* フッター */
footer.site-footer{padding:40px 0 96px;background:#fff;border-top:1px solid var(--border);font-size:13px;color:var(--ink2);line-height:1.9}
.site-footer .g{display:grid;gap:16px}
.site-footer b{color:var(--ink);font-size:15px}
.site-footer a{color:var(--ink2);text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.site-footer .links{display:flex;flex-wrap:wrap;gap:6px 16px}
.site-footer .copy{margin-top:14px;font-size:11.5px;color:var(--sub)}
@media(min-width:900px){.site-footer .g{grid-template-columns:1.3fr 1fr 1fr}footer.site-footer{padding-bottom:110px}}
/* 固定バーは LP と同じ。PC でも出す（LP と同じ挙動） */
