    /* ============================================================
       雨守ルーフ design system v2
       雨夜の鈍色スレート × 窓の灯（琥珀） × 雨上がりの空白
       ------------------------------------------------------------
       type   : Shippori Mincho（見出し・palt詰め）
                Zen Kaku Gothic New（本文）/ Space Grotesk（計器ラベル）
       space  : 8pxグリッド。セクション= var(--sp-sec)（120〜160px級）
       radius : 6px / 16px / 999px の3段階のみ
       shadow : 多層ソフトシャドウ（--sh-s / --sh-m / --sh-l）
       motion : cubic-bezier(.22,1,.36,1)・transform+opacityのみ
       ============================================================ */
    :root{
      --ame:#33566B;        /* main 雨雲スレート */
      --ame-deep:#24384A;   /* 深い雨雲 */
      --yoru:#18222C;       /* 夜の窓ガラス（FVと同系） */
      --yoru2:#121A22;      /* 最深 */
      --sora:#F2F4F4;       /* 雨上がりの空白（背景） */
      --sora2:#E7ECED;      /* ソフト背景 */
      --paper:#FBFCFC;      /* カード・紙面 */
      --tomori:#C98A24;     /* 灯（明地用アクセント） */
      --tomori-d:#A06E15;   /* 灯・濃（hover/明地の文字用） */
      --tomori-l:#E8B45A;   /* 灯（暗地用・FVのamberと同値） */
      --amairo:#7FA3BD;     /* 雨色（補助） */
      --fvtxt:#EEF2F4;      /* 暗地の文字 */
      --ink:#1C2B36; --body:#3E4E5A; --muted:#71818D;
      --line:rgba(28,43,54,.14); --line-soft:rgba(28,43,54,.07); --line-w:rgba(238,242,244,.15);
      /* spacing（8px基準の流体） */
      --sp-sec:clamp(96px, 7vw + 64px, 160px);
      --sp-head:clamp(48px, 3vw + 32px, 72px);
      /* radius 3段階 */
      --r-s:6px; --r-m:16px; --r-pill:999px;
      /* 多層シャドウ */
      --sh-s:0 1px 2px rgba(16,25,33,.05), 0 6px 16px -8px rgba(16,25,33,.12);
      --sh-m:0 2px 4px rgba(16,25,33,.04), 0 10px 24px -10px rgba(16,25,33,.12), 0 28px 56px -26px rgba(24,34,44,.28);
      --sh-l:0 4px 8px rgba(16,25,33,.04), 0 20px 44px -18px rgba(16,25,33,.2), 0 56px 112px -40px rgba(24,34,44,.34);
      --sh-amber:0 10px 26px -10px rgba(201,138,36,.55);
      --ease:cubic-bezier(.22,1,.36,1);
      /* 流体タイポスケール */
      --fs-h2:clamp(28px, 17px + 2.7vw, 52px);
      --fs-h2-s:clamp(24px, 16px + 2.1vw, 42px);
      --fs-h3:clamp(19px, 15px + 1.1vw, 27px);
    }
    *{box-sizing:border-box;}
    html{scroll-behavior:smooth;}
    body{margin:0; color:var(--body); font-family:"Zen Kaku Gothic New",sans-serif; line-height:2; font-size:16px;
      -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; background:var(--sora); overflow-x:hidden;}
    img{max-width:100%; display:block;}
    a{color:inherit; text-decoration:none;}
    p{margin:0;}
    ::selection{background:rgba(201,138,36,.28); color:var(--ink);}
    :focus-visible{outline:2px solid var(--tomori); outline-offset:3px; border-radius:2px;}
    .mono{font-family:"Space Grotesk",monospace; letter-spacing:.06em;}
    h1,h2,h3,h4{margin:0; color:var(--ink); font-family:"Shippori Mincho",serif; font-weight:700; line-height:1.4;
      font-feature-settings:"palt" 1; letter-spacing:.04em;}
    h1,h2,h3,.lead,.btn,summary{word-break:auto-phrase; text-wrap:balance;}
    .wrap{width:min(1120px,calc(100% - 48px)); margin:0 auto;}
    [id]{scroll-margin-top:132px;}
    .eyebrow{font-family:"Space Grotesk",monospace; font-size:11px; letter-spacing:.34em; text-transform:uppercase;
      color:var(--tomori); font-weight:700; display:inline-flex; align-items:center; gap:14px; font-feature-settings:normal;}
    .eyebrow::before{content:""; width:34px; height:2px;
      background:repeating-linear-gradient(102deg, var(--tomori) 0 4px, transparent 4px 7px);}
    /* 雨筋モチーフ（シグネチャ）：12度の細い斜線 */
    .rain-rule{height:42px; pointer-events:none; opacity:.5;
      background:repeating-linear-gradient(12deg, transparent 0 46px, var(--line) 46px 47px, transparent 47px 96px);}

    /* ===== ZOROYA:HEADER（header-04 v2：電話＋CTA＋ピルナビ／sticky縮小＋blur） ===== */
    .c-hd{position:relative; z-index:50; background:rgba(252,253,253,.9);
      -webkit-backdrop-filter:blur(14px) saturate(1.3); backdrop-filter:blur(14px) saturate(1.3);
      border-bottom:1px solid var(--line-soft);}
    .c-hd__top{max-width:1280px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:24px;
      padding:16px 32px; transition:padding .45s var(--ease);}
    .c-hd__brand{display:flex; align-items:center; gap:18px; min-width:0;}
    .c-hd__logo{display:block; transition:opacity .3s;}
    .c-hd__logo:hover{opacity:.75;}
    .c-hd__logo img{height:44px; width:auto; transition:height .45s var(--ease);}
    .c-hd__badge{color:var(--ame-deep); border-left:1px solid var(--line); padding:4px 0 4px 18px;
      font-size:11px; font-weight:700; line-height:1.7; letter-spacing:.05em; white-space:nowrap;
      max-width:320px; overflow:hidden; transition:max-width .45s var(--ease), opacity .3s, padding .45s var(--ease), border-color .3s;}
    .c-hd__badge b{font-size:12px; color:var(--tomori-d); letter-spacing:.1em;}
    .c-hd__contact{display:flex; align-items:center; gap:24px;}
    .c-hd__promo{display:flex; align-items:center; gap:12px; max-width:340px; overflow:hidden;
      transition:max-width .45s var(--ease), opacity .3s;}
    .c-hd__promo-ph{width:52px; height:52px; border-radius:50%; overflow:hidden; flex:0 0 auto;
      box-shadow:0 0 0 2px #fff, 0 0 0 3px var(--line), var(--sh-s);}
    .c-hd__promo-ph img{width:100%; height:100%; object-fit:cover; object-position:center 18%;}
    .c-hd__promo-lead{font-size:10.5px; line-height:1.7; color:var(--body); white-space:nowrap;}
    .c-hd__promo-hl{display:inline-block; background:var(--ame-deep); color:#fff; border-radius:var(--r-s);
      padding:2px 9px; font-weight:700; font-size:10.5px; margin-bottom:4px; letter-spacing:.05em;}
    .c-hd__tel{text-align:right;}
    .c-hd__tel-no{display:inline-flex; align-items:center; gap:8px; font-family:"Space Grotesk",monospace;
      font-weight:700; font-size:26px; color:var(--ink); letter-spacing:.01em; line-height:1;
      font-variant-numeric:tabular-nums; transition:font-size .45s var(--ease);}
    .c-hd__tel-no span{color:var(--tomori); font-size:17px;}
    .c-hd__tel-hours{font-size:10px; color:var(--muted); margin-top:5px; letter-spacing:.06em; white-space:nowrap;}
    .c-hd__ctas{display:flex; gap:10px;}
    .c-hd__ctas a{position:relative; display:inline-flex; align-items:center; justify-content:center; gap:6px;
      min-height:48px; padding:0 22px; border-radius:var(--r-s);
      background:linear-gradient(160deg, var(--tomori-l) -50%, var(--tomori) 55%, var(--tomori-d) 130%);
      color:#fff; font-weight:700; font-size:13.5px; letter-spacing:.04em; white-space:nowrap;
      box-shadow:var(--sh-amber);
      transition:transform .35s var(--ease), box-shadow .35s var(--ease), filter .3s, min-height .45s var(--ease);}
    .c-hd__ctas a:hover{transform:translateY(-2px); box-shadow:0 16px 34px -12px rgba(201,138,36,.65); filter:brightness(1.05);}
    .c-hd__ctas a:active{transform:translateY(0); transition-duration:.1s;}
    .c-hd__ctas a.alt{background:linear-gradient(160deg, #35566F -40%, var(--ame-deep) 60%, var(--yoru) 140%);
      box-shadow:0 10px 24px -10px rgba(36,56,74,.55);}
    .c-hd__ctas a.alt:hover{box-shadow:0 16px 34px -12px rgba(36,56,74,.6);}
    .c-hd__navwrap{background:transparent; border-top:1px solid var(--line-soft);}
    .c-hd__nav{max-width:1280px; margin:0 auto; padding:10px 32px; transition:padding .45s var(--ease);}
    .c-hd__pill{background:rgba(255,255,255,.85); border:1px solid var(--line-soft); border-radius:var(--r-pill);
      box-shadow:var(--sh-s); display:flex; align-items:center; justify-content:center; gap:2px; padding:5px; flex-wrap:wrap;}
    .c-hd__home{width:44px; height:44px; border-radius:var(--r-pill); background:var(--ame-deep); color:#fff;
      display:flex; align-items:center; justify-content:center; font-size:15px; flex:none; transition:background .3s;}
    a.c-hd__home:hover{background:var(--yoru);}
    .c-hd__pill a{display:inline-flex; align-items:center; min-height:44px; padding:0 18px; font-size:13.5px;
      font-weight:700; color:var(--ink); border-radius:var(--r-pill); letter-spacing:.02em;
      transition:background .25s, color .25s;}
    .c-hd__pill a:hover{background:var(--sora); color:var(--tomori-d);}
    .c-hd__pill a[aria-current="page"]{color:var(--tomori-d); background:rgba(201,138,36,.1);}
    @media(min-width:821px){
      .c-hd{position:sticky; top:0;}
      .is-scrolled .c-hd{box-shadow:0 1px 0 var(--line-soft), 0 18px 44px -28px rgba(16,25,33,.3);}
      .is-scrolled .c-hd__top{padding-top:7px; padding-bottom:7px;}
      .is-scrolled .c-hd__logo img{height:32px;}
      .is-scrolled .c-hd__badge{max-width:0; opacity:0; padding-left:0; border-color:transparent;}
      .is-scrolled .c-hd__promo{max-width:0; opacity:0;}
      .is-scrolled .c-hd__tel-no{font-size:21px;}
      .is-scrolled .c-hd__ctas a{min-height:41px;}
      .is-scrolled .c-hd__nav{padding-top:6px; padding-bottom:8px;}
    }
    @media(max-width:1180px){ .c-hd__badge,.c-hd__promo{display:none;} }
    @media(max-width:820px){
      [id]{scroll-margin-top:16px;}
      .c-hd__top{flex-wrap:wrap; gap:12px 16px; padding:12px 20px;}
      .c-hd__logo img{height:36px;}
      .c-hd__contact{display:contents;}
      .c-hd__tel{text-align:right;}
      .c-hd__tel-no{font-size:20px;}
      .c-hd__tel-no span{font-size:14px;}
      .c-hd__ctas{flex:1 1 100%; display:grid; grid-template-columns:1fr 1fr; gap:8px;}
      .c-hd__ctas a{min-height:46px; font-size:13px; padding:0 10px;}
      .c-hd__nav{padding:8px 12px;}
      .c-hd__pill{flex-wrap:nowrap; overflow-x:auto; justify-content:flex-start;
        scrollbar-width:none; -ms-overflow-style:none;}
      .c-hd__pill::-webkit-scrollbar{display:none;}
      .c-hd__pill a{flex:none; padding:0 14px; font-size:13px;}
      .c-hd__home{width:42px; height:42px;}
    }
    @media(max-width:480px){
      .c-hd__top{padding:10px 16px;}
      .c-hd__logo img{height:30px;}
      .c-hd__tel-no{font-size:18px;}
      .c-hd__tel-no span{font-size:13px;}
      .c-hd__tel-hours{white-space:normal; font-size:9.5px; max-width:190px; margin-left:auto;}
    }

    /* ===== FV（fv-92 RainWindow v2・data:URI温存） ===== */
    /* FV styles are inline in index.html only */

    /* ===== intro（sec-intro-12 v2：深夜の検索窓） ===== */
    .c-intro{padding:var(--sp-sec) 0; background:var(--sora); position:relative;}
    .c-intro__inner{width:min(880px,calc(100% - 48px)); margin:0 auto;}
    .c-intro__head{text-align:center; margin-bottom:var(--sp-head);}
    .c-intro__head h2{font-size:var(--fs-h2); margin-top:18px; line-height:1.4;}
    .c-intro__tm{font-family:"Space Grotesk",monospace; font-size:10.5px; letter-spacing:.28em; color:var(--muted); display:block; margin-top:16px;}
    .c-intro__browser{background:#fff; border:1px solid var(--line-soft); border-radius:var(--r-m); box-shadow:var(--sh-l); overflow:hidden;}
    .c-intro__bbar{display:flex; align-items:center; gap:6px; padding:13px 18px; border-bottom:1px solid var(--line-soft); background:#F7F9F9;}
    .c-intro__bbar i{width:10px; height:10px; border-radius:50%; background:#E2E8E9; display:inline-block;}
    .c-intro__url{margin-left:12px; flex:1; background:#EEF2F2; border-radius:var(--r-pill); font-family:"Space Grotesk",monospace; font-size:10px; letter-spacing:.14em; color:var(--muted); padding:5px 14px;}
    .c-intro__bwrap{padding:clamp(28px,5vw,56px) clamp(20px,5vw,56px) clamp(24px,4vw,44px);}
    .c-intro__sbox{display:flex; align-items:center; gap:14px; border:2px solid var(--ink); border-radius:var(--r-pill); padding:15px 24px; box-shadow:var(--sh-s);}
    .c-intro__lens{width:20px; height:20px; flex:none; position:relative;}
    .c-intro__lens::before{content:""; position:absolute; left:0; top:0; width:14px; height:14px; border:2.5px solid var(--ink); border-radius:50%;}
    .c-intro__lens::after{content:""; position:absolute; right:1px; bottom:0; width:7px; height:2.5px; background:var(--ink); transform:rotate(45deg); border-radius:2px;}
    .c-intro__q{font-size:clamp(15px,2.4vw,21px); font-weight:500; letter-spacing:.04em; white-space:nowrap; overflow:hidden; color:var(--ink);}
    .c-intro__caret{width:2px; height:1.3em; background:var(--ame); flex:none; animation:c-intro-blink 1s steps(1) infinite;}
    @keyframes c-intro-blink{50%{opacity:0;}}
    .c-intro__sug{margin-top:12px; border:1px solid var(--line-soft); border-radius:var(--r-m); overflow:hidden;}
    .c-intro__row{display:flex; align-items:center; gap:12px; padding:14px 22px; border-bottom:1px solid var(--line-soft); font-size:clamp(12.5px,1.8vw,15px); color:var(--body); transition:background .25s;}
    .c-intro__row:hover{background:var(--sora);}
    .c-intro__row:last-child{border-bottom:none;}
    .c-intro__row .ic{color:var(--muted); font-family:"Space Grotesk",monospace; font-size:12px; flex:none;}
    .c-intro__row b{font-weight:700; color:var(--ink);}
    .c-intro__row .tag{margin-left:auto; font-family:"Space Grotesk",monospace; font-size:9px; letter-spacing:.2em; color:var(--tomori); white-space:nowrap;}
    .c-intro__answer{text-align:center; margin-top:clamp(56px,7vw,80px);}
    .c-intro__answer p.q{font-family:"Shippori Mincho",serif; font-weight:700; font-size:clamp(20px,2.9vw,32px); line-height:1.95; margin:0; color:var(--ink); word-break:auto-phrase; text-wrap:balance; font-feature-settings:"palt" 1; letter-spacing:.04em;}
    .c-intro__answer p.q b{background:linear-gradient(transparent 64%,rgba(201,138,36,.34) 64%); font-weight:700;}
    .c-intro__answer .s{font-size:13.5px; color:var(--muted); margin:18px 0 0; letter-spacing:.04em;}
    .c-intro__chips{display:flex; justify-content:center; gap:10px; flex-wrap:wrap; margin-top:26px;}
    .c-intro__chips span{font-size:12px; font-weight:700; color:var(--ame-deep); border:1px solid rgba(127,163,189,.55); border-radius:var(--r-pill); padding:8px 18px; background:#fff; box-shadow:var(--sh-s);}
    @media(max-width:680px){ .c-intro__q{font-size:13px;} .c-intro__sbox{padding:13px 18px;} }

    /* ===== message（sec-message-04 v2：代表の手紙＋ポートレート） ===== */
    .c-msg{padding:var(--sp-sec) 0; background:var(--sora2); position:relative; overflow:hidden;}
    .c-msg::before{content:""; position:absolute; inset:0; z-index:0; opacity:.45; pointer-events:none;
      background:repeating-linear-gradient(12deg, transparent 0 84px, rgba(28,43,54,.05) 84px 85px, transparent 85px 180px);}
    .c-msg__head{text-align:center; position:relative; z-index:1;}
    .c-msg__head h2{font-size:var(--fs-h2-s); margin-top:18px;}
    .c-msg__grid{position:relative; z-index:1; display:grid; grid-template-columns:.74fr 1.26fr; gap:clamp(28px,4vw,64px); align-items:start; margin-top:var(--sp-head);}
    .c-msg__figure{position:sticky; top:120px; margin:0;}
    .c-msg__figure::before{content:""; position:absolute; left:16px; top:16px; right:-16px; bottom:14px; border:1px solid rgba(201,138,36,.45); pointer-events:none;}
    .c-msg__figure img{position:relative; width:100%; aspect-ratio:3/4; object-fit:cover; object-position:center top; box-shadow:var(--sh-m);}
    .c-msg__figure figcaption{font-family:"Space Grotesk",monospace; font-size:10.5px; letter-spacing:.22em; color:var(--muted); margin-top:16px; display:flex; justify-content:space-between;}
    .c-msg__paper{background:var(--paper); padding:clamp(32px,5vw,72px) clamp(26px,5vw,76px); box-shadow:var(--sh-l); position:relative;}
    .c-msg__paper::before{content:""; position:absolute; inset:14px; border:1px solid var(--line); pointer-events:none;}
    .c-msg__letter p{font-family:"Shippori Mincho",serif; font-size:clamp(14.5px,1.6vw,17px); line-height:2.5; margin:0 0 2em; color:var(--ink); word-break:auto-phrase; position:relative; letter-spacing:.03em;}
    .c-msg__letter p:last-child{margin-bottom:0;}
    .c-msg__letter p:first-child::first-letter{font-size:2.7em; float:left; line-height:1; padding:6px 12px 0 0; color:var(--tomori); font-weight:700;}
    .c-msg__letter p b{background:linear-gradient(transparent 64%,rgba(201,138,36,.24) 64%); font-weight:700;}
    .c-msg__sign{display:flex; justify-content:flex-end; align-items:flex-end; gap:22px; margin-top:40px; position:relative;}
    .c-msg__who{text-align:right;}
    .c-msg__who small{display:block; font-size:11px; letter-spacing:.22em; color:var(--muted); margin-bottom:8px;}
    .c-msg__who .nm{font-family:"Shippori Mincho",serif; font-size:22px; letter-spacing:.32em; color:var(--ink);}
    .c-msg__sigline{position:absolute; right:0; bottom:-12px; width:210px; height:30px;}
    .c-msg__sigline path{stroke:var(--ink); stroke-width:1.6; fill:none; opacity:.7;}
    .c-msg__stamp{width:48px; height:48px; background:var(--tomori); color:var(--paper); display:flex; align-items:center; justify-content:center; font-family:"Shippori Mincho",serif; font-size:23px; font-weight:700; transform:rotate(-5deg); position:relative; flex:none; box-shadow:var(--sh-s);}
    .c-msg__stamp::after{content:""; position:absolute; inset:4px; border:1px solid rgba(251,252,252,.85);}
    @media(max-width:820px){
      .c-msg__grid{grid-template-columns:1fr;}
      .c-msg__figure{position:static; max-width:340px;}
      .c-msg__letter p{line-height:2.25;}
    }

    /* ===== reasons（sec-reasons-04 v2：其の一二三） ===== */
    .c-rsn{padding:var(--sp-sec) 0; background:#fff;}
    .c-rsn__head{text-align:center; margin-bottom:var(--sp-head);}
    .c-rsn__head h2{font-size:var(--fs-h2); margin-top:16px; letter-spacing:.06em;}
    .c-rsn__list{display:grid; gap:clamp(56px,7vw,88px);}
    .c-rsn__item{display:grid; grid-template-columns:140px 1fr 1.1fr; gap:clamp(28px,3.5vw,48px); align-items:center;}
    .c-rsn__item:nth-child(even){grid-template-columns:1.1fr 1fr 140px;}
    .c-rsn__item:nth-child(even) .c-rsn__badge{order:3;}
    .c-rsn__item:nth-child(even) .c-rsn__img{order:1;}
    .c-rsn__item:nth-child(even) .c-rsn__txt{order:2; text-align:right;}
    .c-rsn__badge{justify-self:center; text-align:center;}
    .c-rsn__circle{width:108px; height:108px; border-radius:50%; border:2px solid var(--tomori); display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--tomori-d); background:#fff;
      box-shadow:0 0 0 7px #fff, 0 0 0 8px rgba(201,138,36,.28), var(--sh-s);}
    .c-rsn__circle .lbl{font-family:"Shippori Mincho",serif; font-size:12px; letter-spacing:.14em;}
    .c-rsn__circle .no{font-family:"Shippori Mincho",serif; font-weight:800; font-size:42px; line-height:1.15;}
    .c-rsn__img{aspect-ratio:5/4; overflow:hidden; background:var(--sora2); border-radius:var(--r-s); box-shadow:var(--sh-m);}
    .c-rsn__img img{width:100%; height:100%; object-fit:cover; transition:transform 1.4s var(--ease);}
    .c-rsn__item:hover .c-rsn__img img{transform:scale(1.04);}
    .c-rsn__txt h3{font-size:var(--fs-h3); margin:0 0 14px; line-height:1.5;}
    .c-rsn__txt p{color:var(--body); font-size:15px; margin:0; word-break:auto-phrase; line-height:2.1;}
    @media(max-width:820px){
      .c-rsn__item,.c-rsn__item:nth-child(even){grid-template-columns:1fr; gap:20px; text-align:left;}
      .c-rsn__item:nth-child(even) .c-rsn__badge,.c-rsn__item:nth-child(even) .c-rsn__img,.c-rsn__item:nth-child(even) .c-rsn__txt{order:0; text-align:left;}
      .c-rsn__badge{justify-self:start;}
      .c-rsn__circle{width:88px; height:88px; box-shadow:0 0 0 5px #fff, 0 0 0 6px rgba(201,138,36,.28), var(--sh-s);}
      .c-rsn__circle .no{font-size:32px;}
    }

    /* ===== features（sec-features-02 v2：横スクロール・ピン4枚） ===== */
    .c-feat{background:var(--sora); position:relative; overflow:hidden;}
    .c-feat__head{width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:var(--sp-sec) 0 0;}
    .c-feat__head h2{font-family:"Zen Kaku Gothic New",sans-serif; font-weight:700; font-size:clamp(30px,5vw,58px); line-height:1.3; margin:18px 0 0; letter-spacing:.01em; font-feature-settings:"palt" 1;}
    .c-feat__head h2 .mk{color:var(--tomori-d);}
    .c-feat__pin{height:100vh; display:flex; align-items:center; overflow:hidden;}
    .c-feat__track{display:flex; gap:32px; padding:0 6vw; will-change:transform;}
    .c-feat__card{flex:0 0 min(420px,82vw); background:#fff; border:1px solid var(--line-soft); border-radius:var(--r-m); overflow:hidden; box-shadow:var(--sh-m);
      transition:transform .5s var(--ease), box-shadow .5s var(--ease);}
    .c-feat__card:hover{transform:translateY(-6px); box-shadow:var(--sh-l);}
    .c-feat__ph{position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--sora2);}
    .c-feat__ph img{width:100%; height:100%; object-fit:cover; display:block; transition:transform 1.2s var(--ease);}
    .c-feat__card:hover .c-feat__ph img{transform:scale(1.04);}
    .c-feat__ph .n{position:absolute; left:20px; top:14px; font-family:"Shippori Mincho",serif; font-size:54px; font-weight:700; color:#fff; text-shadow:0 2px 16px rgba(0,0,0,.55);}
    .c-feat__body{padding:30px 32px 34px;}
    .c-feat__body h3{font-family:"Zen Kaku Gothic New",sans-serif; font-weight:700; font-size:22px; margin:0 0 12px; letter-spacing:.02em;}
    .c-feat__body p{color:var(--body); font-size:14.5px; margin:0; line-height:2;}
    .c-feat__tag{display:inline-block; margin-top:20px; font-family:"Space Grotesk",monospace; font-size:11px; letter-spacing:.14em; color:var(--tomori-d); border:1px solid rgba(201,138,36,.5); border-radius:var(--r-pill); padding:5px 14px;}
    .c-feat__prog{position:absolute; left:6vw; bottom:6vh; font-family:"Space Grotesk",monospace; font-size:12px; color:var(--muted); letter-spacing:.1em; z-index:5; opacity:0; pointer-events:none; transition:opacity .4s;}
    .c-feat__prog.is-on{opacity:1;}
    @media(max-width:820px){
      .c-feat__pin{height:auto; display:block; padding:32px 0 var(--sp-sec);}
      .c-feat__track{flex-direction:column; padding:0 24px;}
      .c-feat__card{flex:none;}
      .c-feat__prog{display:none;}
    }

    /* ===== numbers（sec-numbers-09 v2：計器盤カウンターウォール） ===== */
    .c-num{padding:var(--sp-sec) 0; background:linear-gradient(180deg,var(--yoru) 0%,#141d26 100%); color:var(--fvtxt); position:relative; overflow:hidden;}
    .c-num::before{content:""; position:absolute; inset:0; opacity:.12; pointer-events:none;
      background:repeating-linear-gradient(12deg, transparent 0 38px, rgba(238,242,244,.18) 38px 39px, transparent 39px 90px);}
    .c-num__inner{width:min(1180px,calc(100% - 48px)); margin:0 auto; position:relative; z-index:1;}
    .c-num__head{display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:var(--sp-head); gap:20px;}
    .c-num__head .eyebrow{color:var(--tomori-l);}
    .c-num__head .eyebrow::before{background:repeating-linear-gradient(102deg, var(--tomori-l) 0 4px, transparent 4px 7px);}
    .c-num__head h2{color:var(--fvtxt); font-size:var(--fs-h2); margin-top:18px;}
    .c-num__date{font-family:"Space Grotesk",monospace; font-size:11px; letter-spacing:.24em; color:var(--muted); white-space:nowrap;}
    .c-num__wall{border:1px solid var(--line-w); display:grid; grid-template-columns:repeat(3,1fr); background:rgba(238,242,244,.015);}
    .c-num__cell{padding:34px 30px 30px; border-right:1px solid var(--line-w); border-bottom:1px solid var(--line-w); position:relative; transition:background .4s;}
    .c-num__cell:hover{background:rgba(238,242,244,.03);}
    .c-num__cell:nth-child(3n+1){border-right:none;}
    .c-num__cell:nth-last-child(-n+3){border-bottom:none;}
    .c-num__k{font-family:"Space Grotesk",monospace; font-size:10px; letter-spacing:.26em; color:var(--muted); display:flex; justify-content:space-between;}
    .c-num__k i{font-style:normal; color:var(--tomori-l);}
    .c-num__cell b{display:flex; align-items:baseline; flex-wrap:nowrap; min-width:0; font-family:"Space Grotesk",monospace; font-weight:700; font-size:clamp(44px,4.8vw,72px); line-height:1.1; margin-top:12px; letter-spacing:-.02em; color:var(--fvtxt); font-variant-numeric:tabular-nums; white-space:nowrap;}
    .c-num__cell b>small{font-size:.38em; color:var(--amairo); font-weight:500; letter-spacing:.06em;}
    .c-num__cell .d{font-size:11.5px; color:var(--muted); letter-spacing:.06em; display:block; margin-top:6px;}
    .c-num__cell--main{grid-column:span 3; text-align:center; padding:60px 26px 54px; border-right:none !important;
      background:radial-gradient(60% 130% at 50% 0%, rgba(232,180,90,.12), transparent 75%);}
    .c-num__cell--main b{justify-content:center; font-size:clamp(68px,10vw,126px); color:var(--tomori-l); text-shadow:0 0 80px rgba(232,180,90,.35);}
    .c-num__cell--main b>small{color:var(--fvtxt); font-size:.26em;}
    .c-num__cell--main .d{font-size:12.5px; color:var(--fvtxt); opacity:.78;}
    .c-num__gline{height:2px; background:var(--line-w); position:relative; overflow:hidden; margin-top:20px;}
    .c-num__gline i{position:absolute; inset:0; right:auto; width:0; background:linear-gradient(90deg,var(--tomori),var(--tomori-l));}
    .j .c-num__gline i{width:0;}
    html:not(.j) .c-num__gline i{width:78%;}
    .c-num__note{margin-top:20px; font-size:11px; color:var(--muted); letter-spacing:.14em; text-align:right; font-family:"Space Grotesk",monospace;}
    @media(max-width:680px){
      .c-num__head{flex-direction:column; align-items:flex-start;}
      .c-num__wall{grid-template-columns:1fr 1fr;}
      .c-num__cell{padding:26px 20px 22px; border-right:1px solid var(--line-w) !important;}
      .c-num__cell:nth-child(2n+1){border-right:none !important;}
      .c-num__cell:nth-last-child(-n+3){border-bottom:1px solid var(--line-w);}
      .c-num__cell:nth-last-child(-n+2){border-bottom:none;}
      .c-num__cell--main{grid-column:span 2;}
      .c-num__cell b{font-size:clamp(34px,8vw,48px);}
      .c-num__cell--main b{font-size:clamp(58px,15vw,88px);}
    }

    /* ===== vs（sec-vs-03 v2：闇と光の分割） ===== */
    .c-vs{background:#fff; position:relative;}
    .c-vs__head{text-align:center; padding:var(--sp-sec) 24px var(--sp-head);}
    .c-vs__head h2{font-size:var(--fs-h2); margin-top:16px;}
    .c-vs__duo{position:relative; display:grid; grid-template-columns:1fr 1fr; min-height:58vh;}
    .c-vs__col{padding:clamp(56px,7vw,88px) clamp(28px,5vw,80px);}
    .c-vs__col--dark{background:linear-gradient(165deg,var(--yoru2) 0%,#18222D 100%); color:#E2E8EC;}
    .c-vs__col--light{background:linear-gradient(165deg,var(--sora) 0%,#EDF1F2 100%); border-top:1px solid var(--line-soft);}
    .c-vs__label{font-family:"Space Grotesk",monospace; font-size:12px; letter-spacing:.26em; text-transform:uppercase;}
    .c-vs__col--dark .c-vs__label{color:var(--muted);}
    .c-vs__col--light .c-vs__label{color:var(--tomori-d);}
    .c-vs__col h3{font-size:clamp(20px,2.6vw,29px); margin:12px 0 32px;}
    .c-vs__col--dark h3{color:#E2E8EC;}
    .c-vs__col ul{list-style:none; padding:0; margin:0;}
    .c-vs__col li{position:relative; padding:16px 0 16px 40px; font-size:15px; border-bottom:1px solid rgba(123,138,150,.2); line-height:1.9;}
    .c-vs__col--dark li{color:#AEB9C2;}
    .c-vs__col--light li{color:var(--body);}
    .c-vs__col li::before{position:absolute; left:0; top:16px; width:26px; height:26px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700;}
    .c-vs__col--dark li::before{content:"×"; background:rgba(180,80,70,.2); color:#D88A7C;}
    .c-vs__col--light li::before{content:"○"; background:rgba(201,138,36,.15); color:var(--tomori-d);}
    .c-vs__divide{position:absolute; top:0; bottom:0; left:50%; width:1px; background:linear-gradient(var(--muted),var(--tomori)); transform:translateX(-50%); transform-origin:top; z-index:2;}
    .j .c-vs__divide{transform:translateX(-50%) scaleY(0);}
    @media(max-width:720px){ .c-vs__duo{grid-template-columns:1fr;} .c-vs__divide{display:none;} }

    /* ===== menu（sec-services-02 v2：工事のお品書き・点線リーダー） ===== */
    .c-mnu{padding:var(--sp-sec) 0; background:var(--sora2); position:relative;}
    .c-mnu__inner{width:min(880px,calc(100% - 48px)); margin:0 auto; position:relative;}
    .c-mnu__head{text-align:center;}
    .c-mnu__head h2{font-size:var(--fs-h2); margin-top:16px; letter-spacing:.24em;}
    .c-mnu__sub{font-size:13.5px; color:var(--muted); text-align:center; margin:18px 0 0; letter-spacing:.04em;}
    .c-mnu__rule{width:64px; height:1px; background:var(--ink); margin:36px auto 0;}
    .c-mnu__menu{margin-top:var(--sp-head); border:1px solid rgba(28,43,54,.7); outline:1px solid rgba(28,43,54,.7); outline-offset:6px;
      padding:clamp(30px,5vw,64px) clamp(22px,6vw,72px); background:linear-gradient(175deg,var(--paper) 0%,#F6F8F8 100%); position:relative; box-shadow:var(--sh-m);}
    .c-mnu__grp{margin-bottom:48px;}
    .c-mnu__grp:last-of-type{margin-bottom:0;}
    .c-mnu__gt{display:flex; align-items:center; gap:16px; margin-bottom:18px;}
    .c-mnu__gt .jp{font-family:"Shippori Mincho",serif; font-weight:700; font-size:clamp(17px,2.1vw,22px); letter-spacing:.24em; color:var(--ink); font-feature-settings:normal;}
    .c-mnu__gt .en{font-family:"Space Grotesk",monospace; font-size:9.5px; letter-spacing:.28em; color:var(--tomori-d); text-transform:uppercase;}
    .c-mnu__gt::after{content:""; flex:1; height:1px; background:var(--line);}
    .c-mnu__it{display:flex; align-items:baseline; gap:14px; padding:14px 0;}
    .c-mnu__nmw{flex:none; max-width:60%;}
    .c-mnu__nm{font-family:"Shippori Mincho",serif; font-weight:600; font-size:clamp(15px,1.9vw,20px); letter-spacing:.1em; color:var(--ink); word-break:auto-phrase;}
    .c-mnu__ds{display:block; font-size:11.5px; color:var(--muted); letter-spacing:.04em; margin-top:3px; line-height:1.9;}
    .c-mnu__dots{flex:1; height:1em; background-image:radial-gradient(circle,rgba(28,43,54,.5) 1.2px,transparent 1.3px); background-size:9px 9px; background-position:left 62%; background-repeat:repeat-x; transform-origin:left center;}
    .c-mnu__pr{flex:none; font-family:"Space Grotesk",monospace; font-size:clamp(14px,1.8vw,19px); letter-spacing:.06em; white-space:nowrap; color:var(--ink); font-variant-numeric:tabular-nums;}
    .c-mnu__pr small{font-size:.62em; color:var(--muted); margin-left:3px;}
    .c-mnu__pr .yen{font-family:"Shippori Mincho",serif; font-size:.74em; margin-right:2px;}
    .c-mnu__seal{position:absolute; right:clamp(16px,4vw,48px); bottom:clamp(16px,4vw,42px); width:86px; height:86px; border:2.5px solid var(--tomori); border-radius:50%; color:var(--tomori); display:flex; align-items:center; justify-content:center; font-family:"Shippori Mincho",serif; font-weight:700; font-size:15px; letter-spacing:.2em; line-height:1.6; text-align:center; transform:rotate(-8deg); opacity:.9; mix-blend-mode:multiply;}
    .c-mnu__note{margin-top:26px; font-size:11px; color:var(--muted); text-align:center; letter-spacing:.1em; line-height:2;}
    @media(max-width:680px){
      .c-mnu__it{flex-wrap:wrap; gap:8px;}
      .c-mnu__nmw{max-width:100%;}
      .c-mnu__dots{min-width:40px;}
      .c-mnu__seal{width:64px; height:64px; font-size:12px;}
    }

    /* ===== voice（sec-voice-10 v2：全幅・右大画像） ===== */
    .c-voice{display:grid; grid-template-columns:1fr 1.05fr; min-height:88vh; background:linear-gradient(160deg,var(--ame-deep) 0%,#1E3040 100%);}
    .c-voice__left{color:var(--paper); padding:clamp(72px,10vh,110px) clamp(28px,6vw,96px); display:flex; flex-direction:column; justify-content:center; position:relative; overflow:hidden;}
    .c-voice__left::after{content:""; position:absolute; left:-40px; bottom:-40px; width:220px; height:220px; background-image:radial-gradient(rgba(232,180,90,.5) 1.6px,transparent 1.6px); background-size:18px 18px; opacity:.4;}
    .c-voice__left .eyebrow{color:var(--tomori-l);}
    .c-voice__left .eyebrow::before{background:repeating-linear-gradient(102deg, var(--tomori-l) 0 4px, transparent 4px 7px);}
    .c-voice__quote{font-family:"Shippori Mincho",serif; font-weight:700; color:#fff; font-size:clamp(31px,4vw,58px); line-height:1.42; margin:22px 0 44px; word-break:auto-phrase; font-feature-settings:"palt" 1; letter-spacing:.04em;}
    .c-voice__quote .mk{color:var(--tomori-l);}
    .c-voice__list{display:grid; gap:28px; position:relative; z-index:2;}
    .c-voice__v{border-top:1px solid var(--line-w); padding-top:22px;}
    .c-voice__v .q{font-family:"Shippori Mincho",serif; font-size:clamp(16px,1.7vw,20px); font-weight:600; line-height:1.85; margin:0 0 10px; color:#EDF1F4; word-break:auto-phrase;}
    .c-voice__v .who{font-family:"Space Grotesk",monospace; font-size:12px; color:rgba(238,242,244,.55); letter-spacing:.06em;}
    .c-voice__ph{position:relative; background:var(--sora2); overflow:hidden;}
    .c-voice__ph img{width:100%; height:100%; object-fit:cover;}
    .j .c-voice__ph{clip-path:inset(0 0 0 100%);}
    @media(prefers-reduced-motion:reduce){ .j .c-voice__ph{clip-path:none;} }
    .c-voice__tag{position:absolute; left:28px; bottom:28px; background:var(--tomori-l); color:var(--yoru2); font-family:"Space Grotesk",monospace; font-size:11px; letter-spacing:.14em; padding:8px 16px; border-radius:var(--r-pill); box-shadow:var(--sh-s);}
    @media(max-width:860px){ .c-voice{grid-template-columns:1fr;} .c-voice__ph{min-height:50vh;} .c-voice__left{padding:72px 28px;} }

    /* ===== flow（sec-process-09 v2：段取り手帳 STEP01-08） ===== */
    .c-flow{padding:var(--sp-sec) 0; background:var(--sora);}
    .c-flow__inner{width:min(1080px,calc(100% - 48px)); margin:0 auto;}
    .c-flow__head{display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:var(--sp-head);}
    .c-flow__head h2{font-size:var(--fs-h2); margin-top:18px;}
    .c-flow__head .n{font-family:"Space Grotesk",monospace; font-size:11px; letter-spacing:.24em; color:var(--muted); white-space:nowrap;}
    .c-flow__planner{background:#fff; border:1px solid var(--line-soft); border-radius:var(--r-s); box-shadow:var(--sh-l); position:relative; padding:clamp(24px,3.6vw,44px);}
    .c-flow__planner::before{content:""; position:absolute; left:50%; top:0; bottom:0; width:1px; background:var(--line-soft);}
    .c-flow__ph{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:24px; gap:14px; flex-wrap:wrap;}
    .c-flow__ph .t{font-family:"Shippori Mincho",serif; font-weight:700; font-size:clamp(16px,2vw,21px); letter-spacing:.14em; color:var(--ink);}
    .c-flow__legend{display:flex; gap:16px; font-size:10.5px; color:var(--muted); flex-wrap:wrap;}
    .c-flow__legend i{width:10px; height:10px; border-radius:2px; display:inline-block; margin-right:5px; vertical-align:-1px;}
    .c-flow__legend .lg1 i{background:var(--tomori);} .c-flow__legend .lg2 i{background:var(--amairo);}
    .c-flow__legend .lg3 i{background:var(--ame-deep);} .c-flow__legend .lg4 i{background:#4D7C5F;}
    .c-flow__weeks{display:grid; grid-template-columns:repeat(4,1fr); gap:12px; position:relative; z-index:1;}
    .c-flow__wk{position:relative; border:1px solid var(--line); border-radius:var(--r-s); min-height:156px; padding:13px 14px; overflow:hidden; background:#FDFEFE; transition:box-shadow .35s var(--ease), transform .35s var(--ease);}
    .c-flow__wk:hover{box-shadow:var(--sh-s); transform:translateY(-2px);}
    .c-flow__fill{position:absolute; inset:0; transform-origin:left;}
    .c-flow__wk.p1 .c-flow__fill{background:rgba(201,138,36,.12);}
    .c-flow__wk.p2 .c-flow__fill{background:rgba(127,163,189,.15);}
    .c-flow__wk.p3 .c-flow__fill{background:rgba(36,56,74,.09);}
    .c-flow__wk.p4 .c-flow__fill{background:rgba(77,124,95,.13);}
    .c-flow__wno{position:relative; font-family:"Space Grotesk",monospace; font-size:10px; letter-spacing:.22em; color:var(--muted); display:flex; justify-content:space-between;}
    .c-flow__ph2{position:relative; display:inline-block; margin-top:9px; font-size:9.5px; letter-spacing:.18em; font-weight:700; color:#fff; padding:2px 10px; border-radius:3px;}
    .c-flow__wk.p1 .c-flow__ph2{background:var(--tomori);} .c-flow__wk.p2 .c-flow__ph2{background:var(--amairo);}
    .c-flow__wk.p3 .c-flow__ph2{background:var(--ame-deep);} .c-flow__wk.p4 .c-flow__ph2{background:#4D7C5F;}
    .c-flow__wk ul{position:relative; list-style:none; margin:10px 0 0; padding:0; font-size:11px; color:var(--body); line-height:1.8;}
    .c-flow__wk ul li{padding-left:12px; position:relative;}
    .c-flow__wk ul li::before{content:"・"; position:absolute; left:0; color:var(--muted);}
    .c-flow__you{position:relative; display:inline-block; margin-top:8px; font-size:9.5px; color:var(--tomori-d); border:1px solid currentColor; border-radius:var(--r-pill); padding:2px 10px; letter-spacing:.1em; background:rgba(255,255,255,.6);}
    .c-flow__pf{display:flex; justify-content:space-between; align-items:center; margin-top:24px; gap:12px; flex-wrap:wrap;}
    .c-flow__pf p{margin:0; font-size:12.5px; color:var(--muted);}
    .c-flow__pf p b{color:var(--ink); font-weight:700;}
    .c-flow__note{font-size:11px; color:var(--muted); letter-spacing:.1em;}
    @media(max-width:760px){
      .c-flow__head{flex-direction:column; align-items:flex-start;}
      .c-flow__weeks{grid-template-columns:1fr 1fr;}
      .c-flow__planner::before{display:none;}
    }

    /* ===== pricing（sec-pricing-04 v2：3プラン＋建物タイプ切替） ===== */
    .c-prc{padding:var(--sp-sec) 0; background:#fff; position:relative; overflow:hidden;}
    .c-prc__blob{position:absolute; border-radius:50%; filter:blur(10px); opacity:.55; z-index:0;}
    .c-prc__blob--1{width:320px; height:320px; background:radial-gradient(circle,#DCE7EE,transparent 70%); left:-80px; top:40px;}
    .c-prc__blob--2{width:360px; height:360px; background:radial-gradient(circle,#F4E7CF,transparent 70%); right:-100px; bottom:40px;}
    .c-prc__head{text-align:center; margin-bottom:34px; position:relative; z-index:2;}
    .c-prc__head h2{font-size:var(--fs-h2); margin-top:16px;}
    .c-prc__toggle{display:inline-flex; align-items:center; background:#fff; border:1px solid var(--line); border-radius:var(--r-pill); padding:5px; margin:30px auto 0; position:relative; z-index:2; box-shadow:var(--sh-s);}
    .c-prc__toggle button{border:0; background:none; font:inherit; font-size:13px; font-weight:700; min-height:40px; padding:0 24px; border-radius:var(--r-pill); cursor:pointer; color:var(--muted); transition:background .3s var(--ease), color .3s;}
    .c-prc__toggle button.is-on{background:var(--ame-deep); color:#fff; box-shadow:0 6px 14px -6px rgba(36,56,74,.5);}
    .c-prc__plans{display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:52px; position:relative; z-index:2;}
    .c-prc__plan{background:var(--paper); border:1px solid var(--line-soft); border-radius:var(--r-m); padding:38px 32px; display:flex; flex-direction:column; box-shadow:var(--sh-m);
      transition:transform .4s var(--ease), box-shadow .4s var(--ease);}
    .c-prc__plan:hover{transform:translateY(-6px); box-shadow:var(--sh-l);}
    .c-prc__plan--reco{position:relative; border:1px solid rgba(201,138,36,.55); box-shadow:0 0 0 1px rgba(201,138,36,.55), 0 32px 64px -26px rgba(201,138,36,.4), var(--sh-m); transform:scale(1.045); z-index:3;
      background:linear-gradient(178deg,#FFFDF8 0%,var(--paper) 45%);}
    .c-prc__plan--reco:hover{transform:scale(1.045) translateY(-6px);}
    .c-prc__plan--reco::before{content:"まずはこれ"; position:absolute; top:-15px; left:50%; transform:translateX(-50%); background:linear-gradient(160deg,var(--tomori-l) -60%,var(--tomori) 70%); color:#fff; font-size:11px; font-weight:700; letter-spacing:.08em; padding:6px 20px; border-radius:var(--r-pill); white-space:nowrap; box-shadow:var(--sh-amber);}
    .c-prc__ic{width:54px; height:54px; border-radius:var(--r-m); display:flex; align-items:center; justify-content:center; margin-bottom:20px; background:var(--sora); color:var(--ame);}
    .c-prc__plan:nth-child(2) .c-prc__ic{background:#F7EEDC; color:var(--tomori-d);}
    .c-prc__plan:nth-child(3) .c-prc__ic{background:#E8EFE9; color:#4D7C5F;}
    .c-prc__ic svg{width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;}
    .c-prc__pn{font-weight:700; font-size:18px; color:var(--ink); font-family:"Zen Kaku Gothic New",sans-serif; letter-spacing:.02em;}
    .c-prc__cap{color:var(--muted); font-size:13px; margin:5px 0 20px;}
    .c-prc__price{display:flex; align-items:flex-end; gap:5px; margin-bottom:5px; min-height:48px;}
    .c-prc__price .v{font-family:"Space Grotesk",monospace; font-weight:700; font-size:42px; line-height:1; color:var(--ink); letter-spacing:-.01em; font-variant-numeric:tabular-nums;}
    .c-prc__price .v.txt{font-family:"Shippori Mincho",serif; font-size:30px;}
    .c-prc__price .u{color:var(--muted); font-size:13px; margin-bottom:5px;}
    .c-prc__note{font-size:11px; color:var(--tomori-d); margin-bottom:20px; min-height:16px; font-weight:700;}
    .c-prc__plan ul{list-style:none; margin:0 0 28px; padding:0; display:grid; gap:12px; flex:1;}
    .c-prc__plan li{font-size:14px; padding-left:26px; position:relative; color:var(--body); line-height:1.9;}
    .c-prc__plan li svg{position:absolute; left:0; top:5px; width:16px; height:16px; color:var(--tomori);}
    .c-prc__btn{display:flex; align-items:center; justify-content:center; text-align:center; border-radius:var(--r-s); min-height:52px; padding:0 14px; font-weight:700; font-size:14.5px; letter-spacing:.04em; background:var(--sora); color:var(--ame-deep);
      transition:transform .3s var(--ease), box-shadow .3s var(--ease), filter .25s;}
    .c-prc__plan--reco .c-prc__btn{background:linear-gradient(160deg,var(--tomori-l) -50%,var(--tomori) 55%,var(--tomori-d) 130%); color:#fff; box-shadow:var(--sh-amber);}
    .c-prc__btn:hover{transform:translateY(-2px); filter:brightness(1.02); box-shadow:var(--sh-s);}
    .c-prc__plan--reco .c-prc__btn:hover{box-shadow:0 16px 34px -12px rgba(201,138,36,.65);}
    .c-prc__foot{position:relative; z-index:2; text-align:center; font-size:12.5px; color:var(--muted); margin-top:36px; letter-spacing:.04em;}
    @media(max-width:860px){
      .c-prc__plans{grid-template-columns:1fr; gap:22px;}
      .c-prc__plan--reco{transform:none;}
      .c-prc__plan--reco:hover{transform:translateY(-6px);}
    }

    /* ===== faq（sec-faq-07 v2：ダーク・ワード点灯） ===== */
    .c-faq{padding:var(--sp-sec) 0; background:linear-gradient(180deg,#141D26 0%,var(--yoru) 100%); position:relative; overflow:hidden;}
    .c-faq::after{content:""; position:absolute; inset:0; pointer-events:none; opacity:.07;
      background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='150' height='150'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>"); mix-blend-mode:overlay;}
    .c-faq__inner{width:min(880px,calc(100% - 48px)); margin:0 auto; position:relative; z-index:1;}
    .c-faq__head{margin-bottom:var(--sp-head);}
    .c-faq__head .eyebrow{color:var(--tomori-l);}
    .c-faq__head .eyebrow::before{background:repeating-linear-gradient(102deg, var(--tomori-l) 0 4px, transparent 4px 7px);}
    .c-faq__head h2{color:var(--fvtxt); font-size:var(--fs-h2); margin-top:18px;}
    .c-faq__item{border-bottom:1px solid rgba(238,242,244,.12);}
    .c-faq__q{display:grid; grid-template-columns:44px 1fr 26px; align-items:center; gap:14px; padding:28px 4px; min-height:44px; cursor:pointer; width:100%; background:none; border:0; text-align:left; font:inherit; transition:padding .3s;}
    .c-faq__no{font-family:"Space Grotesk",monospace; font-size:13px; color:var(--tomori-l);}
    .c-faq__tx{font-family:"Shippori Mincho",serif; font-weight:700; font-size:clamp(16px,2.2vw,22px); color:var(--fvtxt); transition:color .6s; line-height:1.65; font-feature-settings:"palt" 1;}
    .j .c-faq__item:not(.is-lit) .c-faq__tx{color:#4A5763;}
    .c-faq__q:hover .c-faq__tx{color:var(--fvtxt);}
    .c-faq__ic{justify-self:end; color:var(--tomori-l); transition:transform .35s var(--ease); font-style:normal;}
    .c-faq__item.is-open .c-faq__ic{transform:rotate(45deg);}
    .c-faq__a{overflow:hidden;}
    .j .c-faq__a{max-height:0; transition:max-height .5s var(--ease);}
    .j .c-faq__item.is-open .c-faq__a{max-height:340px;}
    .c-faq__a p{margin:0; padding:0 4px 30px 58px; color:#93A1AC; font-size:14.5px; word-break:auto-phrase; line-height:2.1;}
    @media(max-width:680px){ .c-faq__a p{padding-left:4px;} }

    /* ===== news（sec-news-05 v2：丸バッジ＋タブ絞り込み） ===== */
    .c-news{padding:var(--sp-sec) 0; background:#fff;}
    .c-news__inner{width:min(820px,calc(100% - 48px)); margin:0 auto;}
    .c-news__ttl{text-align:center; font-family:"Space Grotesk",sans-serif; font-weight:500; letter-spacing:.3em; font-size:clamp(22px,3vw,30px); color:var(--ink);}
    .c-news__tabs{display:flex; gap:34px; justify-content:center; margin:30px 0 34px;}
    .c-news__tab{position:relative; background:none; border:0; font:inherit; font-weight:700; font-size:14px; color:var(--muted); cursor:pointer; min-height:44px; padding:0 2px; transition:color .25s;}
    .c-news__tab:hover{color:var(--ink);}
    .c-news__tab.is-on{color:var(--ink);}
    .c-news__tab.is-on::after{content:""; position:absolute; left:0; right:0; bottom:4px; height:2px; background:var(--tomori);}
    .c-news__list{display:flex; flex-direction:column;}
    .c-news__row{display:grid; grid-template-columns:64px 1fr auto; gap:18px; align-items:center; padding:22px 10px; border-bottom:1px solid var(--line-soft); border-radius:var(--r-s); transition:background .3s;}
    .c-news__row:hover{background:var(--sora);}
    .c-news__row.is-hide{display:none;}
    .c-news__badge{position:relative; width:58px; height:58px; border-radius:50%; background:var(--ame-deep); color:#fff; display:flex; align-items:center; justify-content:center; font-family:"Space Grotesk",monospace; font-size:10.5px; letter-spacing:.04em; box-shadow:var(--sh-s);}
    .c-news__badge .pin{position:absolute; right:-4px; bottom:-2px; width:22px; height:22px; border-radius:50%; background:var(--tomori); color:#fff; display:flex; align-items:center; justify-content:center; font-size:11px; border:2px solid #fff; font-style:normal;}
    .c-news__t{font-weight:700; font-size:15.5px; color:var(--ink); word-break:auto-phrase; line-height:1.8;}
    .c-news__d{font-family:"Space Grotesk",monospace; font-size:12px; color:var(--muted); margin-top:4px;}
    .c-news__ar{color:var(--ink); opacity:.35; transition:opacity .3s, transform .3s var(--ease);}
    .c-news__row:hover .c-news__ar{opacity:.9; transform:translateX(4px); color:var(--tomori-d);}
    @media(max-width:680px){ .c-news__row{grid-template-columns:58px 1fr; padding:20px 4px;} .c-news__ar{display:none;} }

    /* ===== blog（sec-blog-05 v2：メーソンリー読みもの） ===== */
    .c-blog{padding:var(--sp-sec) 0; background:var(--sora); position:relative;
      background-image:radial-gradient(rgba(51,86,107,.07) 1.4px,transparent 1.4px); background-size:26px 26px;}
    .c-blog__inner{width:min(1120px,calc(100% - 48px)); margin:0 auto;}
    .c-blog__head{text-align:center; margin-bottom:var(--sp-head);}
    .c-blog__head h2{font-size:var(--fs-h2-s); margin-top:14px;}
    .c-blog__masonry{column-count:3; column-gap:26px;}
    .c-blog__card{break-inside:avoid; margin-bottom:26px; background:#fff; border:1px solid var(--line-soft); border-radius:var(--r-m); overflow:hidden; box-shadow:var(--sh-s);
      transition:transform .45s var(--ease), box-shadow .45s var(--ease);}
    .c-blog__card:hover{transform:translateY(-5px); box-shadow:var(--sh-m);}
    .c-blog__card img{width:100%; object-fit:cover; display:block; transition:transform 1.2s var(--ease);}
    .c-blog__card:hover img{transform:scale(1.03);}
    .c-blog__card.t1 img{height:250px;} .c-blog__card.t2 img{height:180px;} .c-blog__card.t3 img{height:310px;}
    .c-blog__bd{padding:22px 24px 26px;}
    .c-blog__meta{display:flex; gap:10px; align-items:center; margin-bottom:8px;}
    .c-blog__date{font-family:"Space Grotesk",monospace; font-size:11px; color:var(--tomori-d);}
    .c-blog__cat{font-size:10px; border:1px solid var(--line); border-radius:var(--r-pill); padding:2px 10px; color:var(--muted);}
    .c-blog__card h3{font-size:16px; margin:0; line-height:1.7;}
    .c-blog__card p{font-size:12.5px; color:var(--muted); margin-top:10px; line-height:1.9;}
    .c-blog__foot{text-align:center; font-size:11px; color:var(--muted); margin-top:24px; letter-spacing:.1em;}
    @media(max-width:900px){ .c-blog__masonry{column-count:2;} }
    @media(max-width:560px){ .c-blog__masonry{column-count:1;} }

    /* ===== cta（sec-cta-06 v2：全幅・背景写真バナー＝1画面級） ===== */
    .c-cta{position:relative; width:100%; overflow:hidden; min-height:clamp(560px,92vh,860px); display:flex; align-items:center;}
    .c-cta__bg{position:absolute; inset:0;}
    .c-cta__bg img{width:100%; height:100%; object-fit:cover;}
    .c-cta__overlay{position:absolute; inset:0; background:
      linear-gradient(95deg, rgba(18,26,34,.86) 26%, rgba(18,26,34,.46) 58%, rgba(18,26,34,.08) 84%),
      linear-gradient(180deg, rgba(18,26,34,.3) 0%, transparent 26%, transparent 72%, rgba(18,26,34,.42) 100%);}
    .c-cta__inner{position:relative; z-index:2; width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:clamp(72px,10vh,120px) 0;}
    .c-cta__box{max-width:660px;}
    .c-cta__k{font-family:"Space Grotesk",monospace; font-size:13px; letter-spacing:.24em; font-weight:700; color:var(--tomori-l);}
    .c-cta__k .ja{display:block; font-family:"Zen Kaku Gothic New",sans-serif; font-size:14px; letter-spacing:.08em; margin-top:6px; color:rgba(255,255,255,.85);}
    .c-cta__box h2{color:#fff; font-size:clamp(40px,6.4vw,84px); line-height:1.35; margin:26px 0; text-shadow:0 2px 34px rgba(0,0,0,.5); letter-spacing:.06em;}
    .c-cta__sub{color:rgba(255,255,255,.92); font-size:15px; margin:0 0 40px; max-width:34em; line-height:2.2; text-shadow:0 1px 14px rgba(0,0,0,.4);}
    .c-cta__btns{display:flex; gap:18px; flex-wrap:wrap; align-items:center;}
    .c-cta__btn{display:inline-flex; align-items:center; gap:20px; background:#fff; color:var(--yoru2); font-weight:700; font-size:16px; min-height:64px; padding:8px 8px 8px 32px; border-radius:var(--r-pill);
      box-shadow:0 18px 44px -16px rgba(0,0,0,.5); transition:transform .35s var(--ease), box-shadow .35s var(--ease);}
    .c-cta__btn .c{width:48px; height:48px; border-radius:50%; background:linear-gradient(160deg,var(--tomori-l) -50%,var(--tomori) 60%); color:#fff; display:flex; align-items:center; justify-content:center; font-size:18px; transition:transform .35s var(--ease);}
    .c-cta__btn:hover{transform:translateY(-3px); box-shadow:0 26px 56px -18px rgba(0,0,0,.55);}
    .c-cta__btn:hover .c{transform:translateX(4px);}
    .c-cta__tel{color:#fff; font-family:"Space Grotesk",monospace; font-weight:700; font-size:18px; letter-spacing:.04em; border-bottom:1px solid rgba(255,255,255,.5); padding:8px 0 4px; transition:border-color .3s;}
    .c-cta__tel:hover{border-color:var(--tomori-l);}
    @media(max-width:760px){ .c-cta{min-height:88vh;} }

    /* ===== ZOROYA:FOOTER（footer-03 v2：CTA一体型＋NAP） ===== */
    .c-ft{background:var(--yoru2); color:#E6EBEE;}
    .c-ft__cta{position:relative; max-width:1200px; margin:0 auto; padding:clamp(64px,8vw,96px) 32px; display:grid; grid-template-columns:1fr auto; gap:32px; align-items:center; border-bottom:1px solid var(--line-w); overflow:hidden;}
    .c-ft__cta::after{content:""; position:absolute; inset:0; background:radial-gradient(480px 400px at calc(100% + 20px) -20px,rgba(232,180,90,.2),transparent 68%); pointer-events:none;}
    .c-ft__cta h2{position:relative; color:#fff; font-weight:700; font-size:clamp(24px,3.6vw,42px); line-height:1.5; margin:0;}
    .c-ft__cta h2 .mk{color:var(--tomori-l);}
    .c-ft__btns{position:relative; display:flex; gap:14px; flex-wrap:wrap;}
    .c-ft__btn{display:inline-flex; align-items:center; justify-content:center; min-height:56px; padding:0 32px; border-radius:var(--r-pill); font-weight:700; font-size:15px; white-space:nowrap;
      transition:transform .35s var(--ease), box-shadow .35s var(--ease), background .3s, border-color .3s;}
    .c-ft__btn--p{background:linear-gradient(160deg,var(--tomori-l) -50%,var(--tomori) 55%,var(--tomori-d) 130%); color:#fff; box-shadow:var(--sh-amber);}
    .c-ft__btn--p:hover{transform:translateY(-2px); box-shadow:0 16px 34px -12px rgba(201,138,36,.6);}
    .c-ft__btn--g{border:1.5px solid rgba(255,255,255,.45); color:#fff;}
    .c-ft__btn--g:hover{transform:translateY(-2px); border-color:var(--tomori-l); color:var(--tomori-l);}
    .c-ft__info{max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; padding:clamp(56px,6vw,72px) 32px;}
    .c-ft__nm{display:flex; align-items:center; gap:12px;}
    .c-ft__nm img{height:40px; width:auto; filter:brightness(0) invert(1); opacity:.92;}
    .c-ft__nap p{color:#8C99A4; font-size:14px; line-height:2.1; margin:16px 0 0;}
    .c-ft__tel{font-family:"Space Grotesk",monospace; color:#fff; font-weight:700; font-size:19px; letter-spacing:.04em; margin-top:12px;}
    .c-ft__col h4{font-family:"Space Grotesk",monospace; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--tomori-l); margin:0 0 16px; font-weight:700;}
    .c-ft__col a{display:block; color:#E6EBEE; font-size:14px; padding:8px 0; opacity:.82; transition:opacity .25s, color .25s, transform .3s var(--ease);}
    .c-ft__col a:hover{opacity:1; color:var(--tomori-l); transform:translateX(4px);}
    .c-ft__cp{border-top:1px solid var(--line-w);}
    .c-ft__cp .in{max-width:1200px; margin:0 auto; padding:22px 32px; font-family:"Space Grotesk",monospace; font-size:12px; color:#8C99A4; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;}
    .c-ft__cp a{transition:color .25s;}
    .c-ft__cp a:hover{color:var(--tomori-l);}
    @media(max-width:820px){ .c-ft__cta{grid-template-columns:1fr;} .c-ft__info{grid-template-columns:1fr; gap:32px;} }

    /* reveal 初期状態は JS 側 gsap.from のみで制御（CSS固定はしない） */
    @media(prefers-reduced-motion:reduce){
      html{scroll-behavior:auto;}
      *,*::before,*::after{animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important;}
    }

/* ===== 下層ページ共通 v2（page-hero ほか） ===== */
.page-hero{position:relative; background:linear-gradient(175deg, var(--yoru) 0%, #1C2938 100%); color:var(--fvtxt);
  padding:clamp(88px, 6vw + 56px, 148px) 0 clamp(72px, 5vw + 44px, 116px); overflow:hidden;}
.page-hero::before{content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(520px 340px at 86% -10%, rgba(232,180,90,.14), transparent 70%),
    repeating-linear-gradient(12deg, transparent 0 38px, rgba(238,242,244,.06) 38px 39px, transparent 39px 90px);}
.page-hero::after{content:""; position:absolute; left:0; right:0; bottom:0; height:3px;
  background:linear-gradient(90deg, var(--tomori-l), var(--ame) 60%, transparent);}
.page-hero .wrap{position:relative; z-index:1;}
.page-hero .eyebrow{color:var(--tomori-l);}
.page-hero .eyebrow::before{background:repeating-linear-gradient(102deg, var(--tomori-l) 0 4px, transparent 4px 7px);}
.page-hero h1{font-size:clamp(32px, 4.6vw, 58px); font-weight:700; color:var(--fvtxt); margin:20px 0 0; letter-spacing:.1em; line-height:1.35;}
.page-hero p{color:rgba(238,242,244,.75); font-size:14.5px; line-height:2.2; letter-spacing:.05em; margin:20px 0 0; max-width:38em;}

/* 下層・汎用セクション */
.pg-sec{padding:var(--sp-sec) 0;}
.pg-sec--soft{background:var(--sora2);}
.pg-sec--dark{background:var(--yoru); color:#D9E2E8;}
.pg-sec--dark h2,.pg-sec--dark h3{color:var(--fvtxt);}
.pg-head{margin-bottom:var(--sp-head);}
.pg-head h2{font-size:var(--fs-h2-s); margin-top:16px; line-height:1.4;}
.pg-head .sub{color:var(--muted); font-size:14px; margin-top:16px; line-height:2.1; max-width:44em;}

/* 下層・ジグザグ（写真＋本文） */
.pg-zig{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(32px,5vw,72px); align-items:center; margin-bottom:clamp(72px,8vw,120px);}
.pg-zig:last-child{margin-bottom:0;}
.pg-zig:nth-child(even) .pg-zig__ph{order:2;}
.pg-zig__ph{aspect-ratio:16/11; overflow:hidden; background:var(--sora2); border-radius:var(--r-s); box-shadow:var(--sh-m);}
.pg-zig__ph img{width:100%; height:100%; object-fit:cover; transition:transform 1.4s var(--ease);}
.pg-zig:hover .pg-zig__ph img{transform:scale(1.04);}
.pg-zig__no{font-family:"Space Grotesk",monospace; font-size:12px; letter-spacing:.32em; color:var(--tomori-d); font-weight:700;}
.pg-zig__bd h3{font-size:clamp(21px,2.6vw,30px); margin:14px 0 18px; line-height:1.5;}
.pg-zig__bd p{font-size:15px; color:var(--body); margin:0 0 14px; line-height:2.1;}
.pg-zig__list{margin:18px 0 0; padding:0; list-style:none; display:grid; gap:10px;}
.pg-zig__list li{position:relative; padding-left:22px; font-size:14px; color:var(--body); line-height:1.9;}
.pg-zig__list li::before{content:""; position:absolute; left:0; top:.66em; width:11px; height:2px; background:var(--tomori);}
@media(max-width:820px){ .pg-zig{grid-template-columns:1fr; margin-bottom:56px;} .pg-zig:nth-child(even) .pg-zig__ph{order:0;} }

/* 下層・罫線テーブル（料金・概要） */
.pg-tbl{width:100%; border-collapse:collapse;}
.pg-tbl th,.pg-tbl td{padding:20px 16px; border-bottom:1px solid var(--line-soft); text-align:left; font-size:14.5px; vertical-align:top; line-height:2;}
.pg-tbl th{width:28%; color:var(--ink); font-weight:700; white-space:nowrap; letter-spacing:.04em;}
.pg-tbl td{color:var(--body);}
.pg-tbl tr{transition:background .3s;}
.pg-tbl tbody tr:hover{background:rgba(255,255,255,.55);}
.pg-sec--soft .pg-tbl tbody tr:hover{background:rgba(255,255,255,.7);}
.pg-tbl .pr{font-family:"Space Grotesk",monospace; font-weight:700; color:var(--ink); white-space:nowrap; text-align:right; font-variant-numeric:tabular-nums;}
@media(max-width:680px){ .pg-tbl th{width:36%; white-space:normal;} .pg-tbl th,.pg-tbl td{padding:16px 10px;} }

/* 下層・FAQ（details/summary） */
.pg-faq{display:grid; gap:16px;}
.pg-faq details{background:#fff; border:1px solid var(--line-soft); border-radius:var(--r-m); overflow:hidden; box-shadow:var(--sh-s); transition:box-shadow .35s var(--ease);}
.pg-faq details:hover{box-shadow:var(--sh-m);}
.pg-faq summary{display:flex; align-items:baseline; gap:14px; padding:24px 26px; min-height:44px; cursor:pointer; list-style:none; font-weight:700; color:var(--ink); font-size:15.5px; line-height:1.8;}
.pg-faq summary::-webkit-details-marker{display:none;}
.pg-faq summary .no{font-family:"Space Grotesk",monospace; font-size:11px; letter-spacing:.18em; color:var(--tomori-d); flex:none;}
.pg-faq summary::after{content:"＋"; margin-left:auto; align-self:center; color:var(--tomori); font-weight:400; font-size:18px; flex:none; transition:transform .35s var(--ease);}
.pg-faq details[open] summary::after{transform:rotate(45deg);}
.pg-faq details[open] summary{border-bottom:1px dashed var(--line);}
.pg-faq .a{padding:20px 26px 26px 60px; font-size:14.5px; color:var(--body); line-height:2.1;}
.pg-faq .a p{margin:0 0 12px;} .pg-faq .a p:last-child{margin-bottom:0;}
@media(max-width:680px){ .pg-faq .a{padding-left:26px;} }

/* 下層・CTAバンド */
.pg-cta{background:linear-gradient(160deg, var(--ame-deep) 0%, var(--yoru) 100%); color:var(--fvtxt); text-align:center; padding:clamp(96px, 8vw + 48px, 150px) 0; position:relative; overflow:hidden;}
.pg-cta::before{content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(560px 380px at 50% -10%, rgba(232,180,90,.16), transparent 72%),
    repeating-linear-gradient(12deg, transparent 0 46px, rgba(238,242,244,.06) 46px 47px, transparent 47px 96px);}
.pg-cta .wrap{position:relative; z-index:1;}
.pg-cta h2{color:var(--fvtxt); font-size:clamp(26px,3.8vw,46px); letter-spacing:.08em;}
.pg-cta p{color:rgba(238,242,244,.78); font-size:14.5px; line-height:2.2; margin:20px auto 0; max-width:34em;}
.pg-cta__btns{display:flex; justify-content:center; align-items:center; gap:16px; flex-wrap:wrap; margin-top:40px;}
.pg-cta__btn{display:inline-flex; align-items:center; justify-content:center; min-height:60px; background:var(--tomori-l); color:#1a1610; font-weight:700; letter-spacing:.14em; padding:0 52px; border-radius:var(--r-s);
  box-shadow:0 14px 36px -12px rgba(232,180,90,.5); transition:transform .35s var(--ease), box-shadow .35s var(--ease), filter .3s;}
.pg-cta__btn:hover{transform:translateY(-3px); box-shadow:0 22px 48px -16px rgba(232,180,90,.55); filter:brightness(1.04);}
.pg-cta__tel{display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:60px; border:1px solid rgba(238,242,244,.4); border-radius:var(--r-s); padding:0 32px; font-family:"Space Grotesk",monospace; font-weight:700; font-size:17px; color:var(--fvtxt);
  transition:border-color .3s, color .3s, transform .35s var(--ease);}
.pg-cta__tel:hover{border-color:var(--tomori-l); color:var(--tomori-l); transform:translateY(-3px);}

/* 下層・スクロールリベール（inlineスクリプトが .rv を付与） */
.anim .rv{opacity:0; transform:translateY(26px); transition:opacity .9s var(--ease), transform .9s var(--ease);}
.anim .rv.in{opacity:1; transform:none;}
@media(prefers-reduced-motion:reduce){ .anim .rv{opacity:1; transform:none; transition:none;} }


/* ZOROYA:BLOG — static preview / WordPress-ready archive and single */
.p-news{padding-block:clamp(48px,7vw,96px)}.p-newsgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,36px)}
.p-card{display:block;color:inherit;text-decoration:none;background:var(--paper,#fff);border:1px solid rgba(80,80,80,.16);border-radius:18px;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}.p-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(0,0,0,.1)}
.p-card__ph{aspect-ratio:16/10;overflow:hidden;background:#eee}.p-card__ph img{width:100%;height:100%;object-fit:cover}.p-card__bd{padding:22px}.p-card__meta{display:flex;gap:12px;align-items:center;font-size:12px}.p-card__cat,.post-hero__cat{padding:4px 10px;border-radius:99px;background:var(--accent,#555);color:#fff}.p-card__ttl{font-size:clamp(19px,2vw,25px);line-height:1.55}.p-card__ex{line-height:1.8}.p-card__more{font-size:12px;letter-spacing:.12em}.p-newsnote{margin-top:28px;font-size:12px;color:#666}
.post-hero{position:relative;min-height:420px;padding:clamp(110px,13vw,170px) 24px 70px;color:#fff;display:flex;align-items:flex-end}.post-hero__bg{position:absolute;inset:0}.post-hero__bg img{width:100%;height:100%;object-fit:cover}.post-hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(0,0,0,.82),rgba(0,0,0,.38))}.post-hero .wrap{position:relative;z-index:1;width:min(100%,1100px);margin:auto}.post-hero h1{max-width:900px;font-size:clamp(28px,4vw,52px);line-height:1.45}.post-hero__meta{display:flex;gap:12px;align-items:center}.post-hero .crumb a{color:inherit}
.post-wrap{width:min(calc(100% - 40px),1160px);margin:auto;padding:clamp(50px,7vw,90px) 0;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(32px,5vw,64px)}.post-figure{margin:0 0 36px}.post-figure img{width:100%;max-height:540px;object-fit:cover;border-radius:18px}.post-body{font-size:16px;line-height:2}.post-body h2{margin:2.2em 0 .8em;font-size:clamp(24px,3vw,34px)}.post-body h3{margin:1.8em 0 .6em}.post-lead{font-size:1.1em}.post-foot__bar{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;margin-top:48px;padding-top:24px;border-top:1px solid #ddd}.post-foot a,.w-cta a{color:inherit}.post-side{position:sticky;top:100px}.widget{padding:22px 0;border-bottom:1px solid #ddd}.widget__ttl{font-size:17px}.w-recent a{display:grid;grid-template-columns:72px 1fr;gap:12px;padding:10px 0;color:inherit;text-decoration:none}.w-recent img{width:72px;height:56px;object-fit:cover}.w-recent b,.w-recent span{display:block;font-size:12px}.w-list{list-style:none;padding:0}.w-list a{display:flex;justify-content:space-between;padding:8px 0;color:inherit;text-decoration:none}.w-search{display:flex}.w-search input{min-width:0;flex:1;padding:10px}.w-search button{padding:10px}
@media(max-width:800px){.p-newsgrid{grid-template-columns:1fr}.post-wrap{grid-template-columns:1fr}.post-side{position:static}.post-hero{min-height:360px}.p-card__bd{padding:18px}}

