/* _shared.css - 家見ホームインスペクション（sample41）固定ページ共通CSS
   index.html のインラインstyleから抽出。トークン・ヘッダー・フッター・各セクションを含む
   2026-07 デザイン全面ブラッシュアップ版：
   - 流体タイポグラフィ（clamp）／見出し palt／等幅数字 tnum
   - 8pxグリッド余白システム（--sec / --sec-head）
   - 角丸3段階（--r-s / --r-m / --r-l）＋多層シャドウ（--sh-s / --sh-m / --sh-l）
   - スクロール連動ヘッダー（.is-scrolled：縮小＋backdrop blur）
   - 固定ページ用リビール（.rv-init / .rv-in）・フォーカスリング・reduced-motion 対応 */
    :root{
      --bp:#143A63; --bp-deep:#0F2C4E; --bp-ink:#0B2240; --bp-night:#07182E;
      --wall:#F2ECDE; --wall2:#E9E0CB; --paper:#FBF8F0;
      --amber:#D97818; --amber-deep:#B86109; --amber-soft:#F2B26B;
      --bpline:#CFE2F4;
      --ink:#262219; --body:#46413A; --muted:#7C7466;
      --line:rgba(38,34,25,.16); --line-soft:rgba(38,34,25,.08); --line-w:rgba(244,247,251,.16);
      --ok:#2E7D5B;
      /* 角丸3段階：精密（ボタン・チップ）／カード／大パネル */
      --r-s:2px; --r-m:16px; --r-l:28px;
      /* 多層シャドウ */
      --sh-s:0 1px 2px rgba(11,34,64,.05), 0 6px 16px -8px rgba(11,34,64,.10);
      --sh-m:0 2px 4px rgba(11,34,64,.04), 0 14px 32px -16px rgba(11,34,64,.16), 0 32px 64px -32px rgba(11,34,64,.22);
      --sh-l:0 4px 8px rgba(11,34,64,.05), 0 24px 48px -20px rgba(11,34,64,.20), 0 56px 112px -48px rgba(11,34,64,.32);
      /* イージング・余白システム（8px基準） */
      --ease:cubic-bezier(.22,1,.36,1);
      --sec:clamp(104px, 6vw + 72px, 160px);
      --sec-head:clamp(48px, 4vw + 24px, 72px);
    }
    *{box-sizing:border-box;}
    html{scroll-behavior:smooth; -webkit-text-size-adjust:100%;}
    body{margin:0; color:var(--body); font-family:"Zen Kaku Gothic New",sans-serif; line-height:2; font-size:16px; letter-spacing:.015em; -webkit-font-smoothing:antialiased; overflow-x:hidden;
      background-color:var(--wall);
      background-image:linear-gradient(rgba(20,58,99,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(20,58,99,.04) 1px, transparent 1px);
      background-size:56px 56px;}
    img{max-width:100%; display:block;}
    a{color:inherit; text-decoration:none;}
    p{margin:0;}
    ::selection{background:var(--bp); color:#fff;}
    :focus-visible{outline:3px solid var(--amber); outline-offset:3px; border-radius:var(--r-s);}
    section[id],div[id]{scroll-margin-top:110px;}
    .mono{font-family:"Space Grotesk",monospace; letter-spacing:.06em; font-variant-numeric:tabular-nums;}
    h1,h2,h3,h4{margin:0; color:var(--ink); font-family:"Shippori Mincho",serif; font-weight:700; line-height:1.4; letter-spacing:.03em; font-feature-settings:"palt";}
    h1,h2,h3,.lead,.btn,summary{word-break:auto-phrase; text-wrap:balance;}
    .wrap{width:min(1120px,calc(100% - 48px)); margin:0 auto;}
    .eyebrow{font-family:"Space Grotesk",monospace; font-size:11.5px; letter-spacing:.34em; text-transform:uppercase; color:var(--amber); font-weight:700; display:inline-flex; gap:14px; align-items:center; font-variant-numeric:tabular-nums;}
    .eyebrow::before{content:""; width:36px; height:1px; background:var(--amber);}
    .mk{color:var(--bp);}
    h2.big{font-size:clamp(30px,2vw + 22px,54px); margin:18px 0 0; line-height:1.34;}
    .sec-n{font-family:"Space Grotesk",monospace; font-size:11px; letter-spacing:.24em; color:var(--muted); white-space:nowrap; font-variant-numeric:tabular-nums;}
    .btn{display:inline-flex; align-items:center; justify-content:center; gap:.5em; font-weight:700; font-size:15px; letter-spacing:.06em; min-height:56px; padding:16px 42px; border:1.5px solid transparent; border-radius:var(--r-s); transition:transform .25s var(--ease), background .25s ease, color .25s ease, box-shadow .3s var(--ease); cursor:pointer;}
    .btn--bp{background:var(--bp); color:#fff; box-shadow:0 12px 28px -14px rgba(20,58,99,.55);}
    .btn--bp:hover{transform:translateY(-2px); background:var(--bp-deep); box-shadow:0 20px 40px -16px rgba(20,58,99,.6);}
    .btn--ghost{border-color:var(--bp); color:var(--bp);}
    .btn--ghost:hover{background:var(--bp); color:#fff; transform:translateY(-2px);}
    /* 署名モチーフ：寸法線（青図の measure line） */
    .dim{position:relative; width:min(1120px,calc(100% - 48px)); margin:0 auto; height:24px; border-left:1px solid rgba(20,58,99,.4); border-right:1px solid rgba(20,58,99,.4); display:flex; align-items:center;}
    .dim::before{content:""; position:absolute; left:0; right:0; top:50%; height:1px; background:rgba(20,58,99,.22);}
    .dim span{position:relative; z-index:1; margin:0 auto; background:var(--wall); padding:0 16px; font-family:"Space Grotesk",monospace; font-size:9.5px; letter-spacing:.32em; color:rgba(20,58,99,.55);}
    /* 固定ページ用リビール（JSがクラス付与。JSオフ時は影響ゼロ） */
    .rv-init{opacity:0; transform:translateY(26px); transition:opacity 1s var(--ease), transform 1s var(--ease);}
    .rv-in{opacity:1; transform:translateY(0);}
    @media(prefers-reduced-motion:reduce){ .rv-init{opacity:1; transform:none; transition:none;} }

    /* ===== ZOROYA:HEADER（header-08 再実装：スプリット2段＝ユーティリティ＋ナビ。スクロールで縮小＋blur） ===== */
    .site-header{position:sticky; top:0; z-index:90; background:rgba(255,255,255,.9);
      -webkit-backdrop-filter:blur(16px) saturate(1.6); backdrop-filter:blur(16px) saturate(1.6);
      border-bottom:1px solid var(--line-soft);
      transition:background .4s var(--ease), box-shadow .4s var(--ease);}
    .site-header.is-scrolled{background:rgba(255,255,255,.82); box-shadow:0 1px 0 rgba(38,34,25,.05), 0 18px 44px -26px rgba(11,34,64,.28);}
    .hd-util{border-bottom:1px solid var(--line-soft); background:transparent; max-height:48px; overflow:hidden;
      transition:max-height .45s var(--ease), opacity .3s ease, visibility .45s;}
    .site-header.is-scrolled .hd-util{max-height:0; opacity:0; visibility:hidden; border-bottom-color:transparent;}
    .hd-util__in{max-width:1280px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; padding:8px 28px; gap:16px;}
    .hd-util__l{display:flex; gap:18px; align-items:center; font-size:12px; color:var(--muted);}
    .hd-util__l a{padding:4px 0;}
    .hd-util__l a:hover{color:var(--bp);}
    .hd-util__area{font-size:11.5px; letter-spacing:.02em;}
    .hd-util__r{display:flex; gap:16px; align-items:center; font-size:12px; color:var(--muted);}
    .hd-util__tel{font-family:"Space Grotesk",monospace; font-weight:700; font-size:14px; color:var(--bp); letter-spacing:.04em; font-variant-numeric:tabular-nums;}
    .hd-main{max-width:1280px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; padding:18px 28px; gap:22px; transition:padding .4s var(--ease);}
    .site-header.is-scrolled .hd-main{padding:10px 28px;}
    .hd-logo{display:flex; align-items:center; flex:none;}
    .hd-logo img{height:42px; width:auto; transition:height .4s var(--ease);}
    .site-header.is-scrolled .hd-logo img{height:34px;}
    .hd-nav{display:flex; gap:28px; align-items:center;}
    .hd-nav a{color:var(--ink); font-size:14px; font-weight:700; position:relative; white-space:nowrap; padding:10px 2px; letter-spacing:.04em;}
    .hd-nav a::after{content:""; position:absolute; left:0; bottom:2px; height:2px; width:0; background:var(--amber); transition:width .3s var(--ease);}
    .hd-nav a:hover::after,.hd-nav a[aria-current]::after{width:100%;}
    .hd-cta{display:inline-flex; align-items:center; gap:8px; background:var(--bp); border:1.5px solid var(--bp); color:#fff; font-weight:700; font-size:13.5px; padding:13px 24px; border-radius:var(--r-s); box-shadow:0 10px 24px -12px rgba(20,58,99,.5); transition:transform .25s var(--ease), background .25s, box-shadow .3s; white-space:nowrap;}
    .hd-cta:hover{background:var(--bp-deep); transform:translateY(-1px); box-shadow:0 14px 30px -12px rgba(20,58,99,.55);}
    .hd-spnav{display:none;}
    @media(max-width:980px){
      .hd-util__l{display:none;}
      .hd-nav{display:none;}
      .hd-cta{display:none;}
      .hd-main{padding:12px 18px;}
      .site-header.is-scrolled .hd-main{padding:9px 18px;}
      .hd-logo img{height:32px;}
      .site-header.is-scrolled .hd-logo img{height:28px;}
      .hd-spnav{display:flex; gap:6px; overflow-x:auto; padding:2px 12px; border-top:1px solid var(--line-soft); -webkit-overflow-scrolling:touch; scrollbar-width:none;}
      .hd-spnav::-webkit-scrollbar{display:none;}
      .hd-spnav a{font-size:12.5px; font-weight:700; color:var(--ink); white-space:nowrap; padding:12px 10px; min-height:44px; display:inline-flex; align-items:center;}
    }

    /* ===== FV（fv-87 XRayLens 再実装：実写の壁＋青図レンズ） ===== */
    .hero{position:relative; width:100%; height:max(600px,min(94svh,960px)); overflow:hidden; background:#ECE4D4;}
    .hero__room{position:absolute; inset:0;
      background:
        url('../../src/fv-room.jpg') center/cover,
        linear-gradient(180deg,#f0e9da 0%,#e7dec9 72%,#cdbfa4 72.5%,#c0b193 100%);}
    .hero__room::after{content:""; position:absolute; inset:0;
      background:linear-gradient(100deg, rgba(236,228,212,.78) 0%, rgba(236,228,212,.38) 45%, transparent 70%);}
    .hero::after{content:""; position:absolute; left:0; right:0; bottom:0; height:130px; z-index:4; pointer-events:none;
      background:linear-gradient(180deg, rgba(242,236,222,0), rgba(242,236,222,.82));}
    .hero__xray{position:absolute; inset:0; z-index:3; opacity:0; transition:opacity .5s;
      background:
        linear-gradient(rgba(207,226,244,.12) 1px, transparent 1px) 0 0/100% 6vh,
        linear-gradient(90deg, rgba(207,226,244,.12) 1px, transparent 1px) 0 0/6vh 100%,
        linear-gradient(180deg,#163e6a 0%,#0f2c4e 100%);
      -webkit-mask:radial-gradient(circle var(--r,0px) at var(--x,50%) var(--y,50%), #000 0 calc(var(--r,0px) - 36px), transparent var(--r,0px));
      mask:radial-gradient(circle var(--r,0px) at var(--x,50%) var(--y,50%), #000 0 calc(var(--r,0px) - 36px), transparent var(--r,0px));}
    .hero__xray.is-on{opacity:1;}
    .hero__xray svg{position:absolute; inset:0; width:100%; height:100%;}
    .hero__xray line,.hero__xray path,.hero__xray rect,.hero__xray circle{stroke:#E4F0FB; fill:none;}
    .hero__xray text{fill:#E4F0FB; font-family:"Space Grotesk",monospace; font-size:11px; letter-spacing:2px;}
    .hero__lens{position:absolute; z-index:4; width:0; height:0; border-radius:50%; pointer-events:none;
      border:2px solid rgba(207,226,244,.9); box-shadow:0 0 0 6px rgba(20,58,99,.25), 0 24px 60px -20px rgba(11,34,64,.5), inset 0 0 30px rgba(20,58,99,.35);
      transform:translate(-50%,-50%); opacity:0; transition:opacity .5s;}
    .hero__lens.is-on{opacity:1;}
    .hero__lens .tag{position:absolute; left:50%; top:calc(100% + 10px); transform:translateX(-50%); white-space:nowrap;
      font-family:"Space Grotesk",monospace; font-size:9px; letter-spacing:.26em; color:var(--bp); background:rgba(236,228,212,.92); padding:4px 12px;}
    .hero__copy{position:absolute; left:7vw; bottom:10vh; z-index:5; display:flex; flex-direction:column; align-items:flex-start; max-height:74vh;}
    .hero__kicker{font-size:11px; letter-spacing:.44em; color:var(--bp); margin:0 0 18px; font-weight:700;}
    .hero h1{font-size:clamp(38px,5.4vw,74px); font-weight:600; line-height:1.42; letter-spacing:.06em; color:#2B2620;}
    .hero h1 span{display:block; white-space:nowrap;}
    .hero h1 em{font-style:normal; color:var(--bp);}
    .hero__lead{font-size:clamp(13px,1.3vw,15.5px); line-height:2.05; letter-spacing:.08em; color:rgba(43,38,32,.78); margin:20px 0 0; max-width:31em;}
    .hero__cta{align-self:flex-start; display:inline-block; margin-top:32px; padding:18px 54px; background:var(--bp); border:1px solid var(--bp); border-radius:var(--r-s); color:#ECF3FA;
      font-weight:700; letter-spacing:.22em; text-decoration:none; white-space:nowrap; box-shadow:0 20px 44px -18px rgba(20,58,99,.55);
      transition:background .3s, color .3s, transform .25s var(--ease), box-shadow .3s var(--ease); font-size:14px;}
    .hero__cta:hover{background:var(--bp-deep); transform:translateY(-2px); box-shadow:0 26px 52px -20px rgba(20,58,99,.6);}
    .hero__hint{position:absolute; right:5vw; bottom:6vh; z-index:5; font-size:10px; letter-spacing:.34em; color:rgba(43,38,32,.55); text-align:right; line-height:2;}
    .fv-rise{opacity:0; animation:fvRise 1.2s cubic-bezier(.22,1,.36,1) forwards;}
    .fv-r1{animation-delay:.25s;} .fv-r2{animation-delay:.5s;} .fv-r3{animation-delay:.75s;}
    @keyframes fvRise{from{opacity:0; transform:translateY(24px);} to{opacity:1; transform:translateY(0);}}
    @media(max-width:768px){
      .hero{height:max(560px,88svh);}
      .hero__hint{display:none;}
      .hero__copy{left:24px; right:24px; bottom:8vh;}
      .hero h1{font-size:clamp(32px,9.6vw,44px);}
      .hero__cta{align-self:stretch; text-align:center; padding:18px 24px;}
    }
    @media(prefers-reduced-motion:reduce){ .fv-rise{animation:none; opacity:1;} }

    /* ===== intro（intro-13 再実装：暗転の不安→円形マスクで答え） ===== */
    .c-intro{position:relative;}
    .c-intro__head{padding:var(--sec) 0 32px;}
    .c-intro__headrow{display:flex; justify-content:space-between; align-items:flex-end; gap:24px;}
    .c-intro__pin{position:relative; height:100vh; overflow:hidden;}
    .c-intro__world{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; text-align:center;}
    .c-intro__world .c-intro__wr{width:min(940px,calc(100% - 48px)); position:relative; z-index:2;}
    .c-intro__dark{background:radial-gradient(circle at 50% 30%, #10294A 0%, var(--bp-ink) 55%, var(--bp-night) 100%); color:#E8EFF8; z-index:1;}
    .c-intro__dark .c-intro__t1{font-family:"Shippori Mincho",serif; font-weight:700; font-size:clamp(24px,3.6vw,44px); line-height:1.95; margin:0; color:#E8EFF8; font-feature-settings:"palt"; letter-spacing:.04em;}
    .c-intro__bub{position:absolute; z-index:1; font-size:clamp(11px,1.3vw,13.5px); letter-spacing:.08em; color:rgba(232,239,248,.8); background:rgba(207,226,244,.08); border:1px solid rgba(207,226,244,.2);
      padding:10px 18px; border-radius:999px; white-space:nowrap; animation:bubFloat var(--dur,7s) ease-in-out var(--dly,0s) infinite alternate;
      -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);}
    .c-intro__bub::after{content:""; position:absolute; left:24px; bottom:-7px; width:12px; height:12px; background:inherit; border-right:1px solid rgba(207,226,244,.2); border-bottom:1px solid rgba(207,226,244,.2); transform:rotate(45deg); border-radius:0 0 3px 0;}
    @keyframes bubFloat{from{transform:translateY(-7px);} to{transform:translateY(7px);}}
    .c-intro__scrollhint{position:absolute; left:50%; bottom:26px; transform:translateX(-50%); font-family:"Space Grotesk",monospace; font-size:10px; letter-spacing:.3em; color:rgba(232,239,248,.5); z-index:2;}
    .c-intro__light{background:radial-gradient(circle at 50% 42%,#FBF8F0,var(--wall) 70%); z-index:2;}
    html.j .c-intro__light{clip-path:circle(0% at 50% 50%); -webkit-clip-path:circle(0% at 50% 50%);}
    .c-intro__quote{font-family:"Shippori Mincho",serif; font-weight:700; font-size:clamp(32px,5.2vw,62px); line-height:1.7; margin:0; color:var(--ink); font-feature-settings:"palt";}
    .c-intro__quote b{background:linear-gradient(transparent 62%,rgba(217,120,24,.32) 62%); font-weight:700;}
    .c-intro__sub{font-size:clamp(13px,1.7vw,15.5px); color:var(--muted); margin:26px auto 0; max-width:34em; line-height:2.1;}
    .c-intro__col{position:absolute; inset:0; z-index:1; pointer-events:none;}
    .c-intro__ph{position:absolute; width:clamp(120px,15vw,200px); background:#fff; padding:7px 7px 22px; border-radius:var(--r-s); box-shadow:0 4px 10px -6px rgba(11,34,64,.25), 0 24px 48px -24px rgba(11,34,64,.45); transform:rotate(var(--rot,0deg));}
    .c-intro__ph img{width:100%; aspect-ratio:4/3; object-fit:cover;}
    @media(max-width:680px){
      .c-intro__head{padding:clamp(88px,20vw,104px) 0 24px;}
      .c-intro__headrow{flex-direction:column; align-items:flex-start;}
      .c-intro__bub--sub{display:none;}
      .c-intro__ph{width:96px; padding:5px 5px 14px;}
      .c-intro__ph--sp-hide{display:none;}
    }
    html:not(.j) .c-intro__pin{height:auto; overflow:visible;}
    html:not(.j) .c-intro__world{position:relative; min-height:78vh; padding:60px 0;}
    @media(prefers-reduced-motion:reduce){ .c-intro__bub{animation:none;} }

    /* ===== vs（vs-04 再実装：hairline比較表→紙面カード） ===== */
    .c-vs{padding:var(--sec) 0;}
    .c-vs__head{margin-bottom:var(--sec-head); display:flex; justify-content:space-between; align-items:flex-end; gap:24px;}
    .c-vs__tbl{background:#FDFBF4; border:1px solid var(--line-soft); border-radius:var(--r-m); overflow:hidden; box-shadow:var(--sh-m);}
    .c-vs__row{display:grid; grid-template-columns:56px 1fr 1fr 1.1fr; align-items:center; border-bottom:1px solid var(--line-soft); transition:background .25s;}
    .c-vs__row:last-child{border-bottom:none;}
    .c-vs__row:hover{background:rgba(20,58,99,.045);}
    .c-vs__row--h{border-bottom:1px solid var(--ink); background:rgba(20,58,99,.03);}
    .c-vs__cell{padding:20px 18px; font-size:14.5px;}
    .c-vs__row--h .c-vs__cell{font-family:"Space Grotesk",monospace; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); padding:16px 18px;}
    .c-vs__no{font-family:"Space Grotesk",monospace; font-size:12px; color:var(--amber); font-variant-numeric:tabular-nums;}
    .c-vs__item{font-weight:700; color:var(--ink);}
    .c-vs__ours{font-weight:700; color:var(--ink);}
    .c-vs__ours::before{content:"○"; color:var(--ok); margin-right:8px; font-weight:700;}
    .c-vs__theirs{color:var(--muted);}
    .c-vs__theirs::before{content:"△"; color:var(--muted); opacity:.6; margin-right:8px;}
    .c-vs__oh{color:var(--bp)!important; font-weight:700!important;}
    .c-vs__note{margin-top:16px; font-size:11.5px; color:var(--muted); text-align:right; letter-spacing:.06em;}
    @media(max-width:680px){
      .c-vs__head{flex-direction:column; align-items:flex-start;}
      .c-vs__row{grid-template-columns:40px 1fr;}
      .c-vs__cell{padding:16px 14px;}
      .c-vs__cell--theirs,.c-vs__row--h .c-vs__cell:nth-child(3){display:none;}
    }

    /* ===== services（services-03 再実装：横開きアコーディオン） ===== */
    .c-svc{padding:var(--sec) 0; background:linear-gradient(180deg,var(--bp-deep),#0D2846);
      background-image:linear-gradient(rgba(207,226,244,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(207,226,244,.05) 1px, transparent 1px), linear-gradient(180deg,var(--bp-deep),#0D2846);
      background-size:56px 56px, 56px 56px, 100% 100%;}
    .c-svc .wrap{width:min(1180px,calc(100% - 48px));}
    .c-svc__head{display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:var(--sec-head);}
    .c-svc__head h2{color:#F4F7FB;}
    .c-svc__head .eyebrow{color:var(--amber-soft);}
    .c-svc__head .eyebrow::before{background:var(--amber-soft);}
    .c-svc__head .sec-n{color:rgba(207,226,244,.6);}
    .c-svc__acc{display:flex; gap:12px; height:min(64vh,560px);}
    .c-svc__slat{position:relative; flex:1; overflow:hidden; cursor:pointer; border-radius:var(--r-m); transition:flex 1s cubic-bezier(.65,0,.35,1); background:var(--bp-ink); box-shadow:0 24px 48px -28px rgba(0,0,0,.55);}
    .c-svc__slat.is-open{flex:4.2; cursor:default;}
    .c-svc__bg{position:absolute; inset:0; background-size:cover; background-position:center; transition:transform 1.2s cubic-bezier(.22,1,.36,1),opacity .8s; opacity:.82;}
    .c-svc__slat.is-open .c-svc__bg{opacity:1;}
    .c-svc__slat:hover .c-svc__bg{transform:scale(1.05);}
    .c-svc__slat::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(11,34,64,.18) 0%,rgba(11,34,64,.78) 100%);}
    .c-svc__vt{position:absolute; left:50%; top:24px; transform:translateX(-50%); writing-mode:vertical-rl; color:#fff; font-family:"Shippori Mincho",serif; font-weight:700;
      font-size:clamp(14px,1.7vw,19px); letter-spacing:.3em; z-index:3; white-space:nowrap; transition:opacity .45s; text-shadow:0 1px 14px rgba(11,34,64,.6);}
    .c-svc__idx{position:absolute; left:50%; bottom:16px; transform:translateX(-50%); color:rgba(255,255,255,.85); font-family:"Space Grotesk",monospace; font-size:10px; letter-spacing:.2em; z-index:3; transition:opacity .45s;}
    .c-svc__slat.is-open .c-svc__vt,.c-svc__slat.is-open .c-svc__idx{opacity:0;}
    .c-svc__info{position:absolute; left:0; bottom:0; width:100%; padding:clamp(20px,3.2vw,40px); z-index:4; color:#fff; opacity:0; transform:translateY(16px); transition:opacity .5s .35s,transform .5s .35s;}
    .c-svc__slat.is-open .c-svc__info{opacity:1; transform:none;}
    .c-svc__no{font-family:"Space Grotesk",monospace; font-size:10px; letter-spacing:.28em; color:var(--amber-soft); display:block; margin-bottom:10px;}
    .c-svc__info h3{font-family:"Shippori Mincho",serif; font-weight:700; font-size:clamp(20px,2.7vw,32px); margin:0 0 10px; letter-spacing:.08em; color:#fff; white-space:nowrap;}
    .c-svc__info p{font-size:13px; color:rgba(255,255,255,.9); margin:0; max-width:36em; line-height:1.95;}
    .c-svc__pr{display:inline-block; margin-top:14px; font-family:"Space Grotesk",monospace; font-size:12.5px; letter-spacing:.14em; color:#fff; border-bottom:1px solid var(--amber-soft); padding-bottom:3px; font-variant-numeric:tabular-nums;}
    .c-svc__hint{margin-top:16px; font-size:11px; color:rgba(207,226,244,.55); letter-spacing:.18em; text-align:right;}
    .c-svc__more{text-align:center; margin-top:40px;}
    .c-svc__more .btn--ghost{border-color:rgba(207,226,244,.7); color:#E4F0FB;}
    .c-svc__more .btn--ghost:hover{background:#E4F0FB; color:var(--bp-deep);}
    @media(max-width:680px){
      .c-svc__head{flex-direction:column; align-items:flex-start;}
      .c-svc__acc{flex-direction:column; height:auto; gap:10px;}
      .c-svc__slat{height:64px; flex:none; transition:height 1s cubic-bezier(.65,0,.35,1);}
      .c-svc__slat.is-open{height:340px; flex:none;}
      .c-svc__vt{writing-mode:horizontal-tb; left:18px; top:50%; transform:translateY(-50%); letter-spacing:.18em;}
      .c-svc__idx{left:auto; right:16px; bottom:auto; top:50%; transform:translateY(-50%);}
    }

    /* ===== message（message-05 再実装：代表のボイスメモ＋点灯引用） ===== */
    .c-msg{padding:var(--sec) 0;}
    .c-msg .wrap{width:min(820px,calc(100% - 48px));}
    .c-msg__player{margin-top:var(--sec-head); background:#fff; border:1px solid var(--line-soft); border-radius:var(--r-m); padding:22px 28px;
      display:flex; align-items:center; gap:16px; box-shadow:var(--sh-m);}
    .c-msg__play{width:46px; height:46px; border-radius:50%; background:var(--bp); flex:none; position:relative;
      box-shadow:0 0 0 0 rgba(20,58,99,.35); animation:msgPulse 2.4s ease-out infinite;}
    .c-msg__play::after{content:""; position:absolute; left:55%; top:50%; transform:translate(-50%,-50%);
      border-left:13px solid #fff; border-top:8px solid transparent; border-bottom:8px solid transparent;}
    @keyframes msgPulse{0%{box-shadow:0 0 0 0 rgba(20,58,99,.35);}100%{box-shadow:0 0 0 18px rgba(20,58,99,0);}}
    .c-msg__avatar{width:54px; height:54px; border-radius:50%; overflow:hidden; flex:none; box-shadow:var(--sh-s);}
    .c-msg__avatar img{width:100%; height:100%; object-fit:cover; object-position:center top;}
    .c-msg__meta{flex:none;}
    .c-msg__meta b{display:block; font-size:13.5px; color:var(--ink);}
    .c-msg__meta span{font-size:10.5px; letter-spacing:.14em; color:var(--muted); font-family:"Space Grotesk",monospace;}
    .c-msg__eq{display:flex; align-items:center; gap:3px; height:34px; flex:1; min-width:0; overflow:hidden;}
    .c-msg__eq i{width:3px; border-radius:2px; background:var(--amber); opacity:.75; height:30%; animation:msgBeat 1.1s ease-in-out infinite;}
    @keyframes msgBeat{0%,100%{height:22%;}50%{height:96%;}}
    .c-msg__dur{font-family:"Space Grotesk",monospace; font-size:12px; letter-spacing:.12em; color:var(--muted); flex:none; font-variant-numeric:tabular-nums;}
    .c-msg__script{margin-top:56px; border-left:2px solid var(--line); padding-left:clamp(20px,3vw,32px);}
    .c-msg__script p{font-family:"Shippori Mincho",serif; font-size:clamp(17px,2vw,22px); line-height:2.35; margin:0 0 1.7em; word-break:auto-phrase; font-feature-settings:"palt";}
    .c-msg__ph{color:rgba(38,34,25,.22); transition:color .5s ease;}
    .c-msg__ph.is-lit{color:var(--ink);}
    .c-msg__ph--key.is-lit{color:var(--bp);}
    .c-msg__end{margin-top:10px; font-family:"Space Grotesk",monospace; font-size:11px; letter-spacing:.26em; color:var(--muted);}
    html:not(.j) .c-msg__ph{color:var(--ink);}
    html:not(.j) .c-msg__ph--key{color:var(--bp);}
    @media(max-width:680px){
      .c-msg__player{flex-wrap:wrap;}
      .c-msg__eq{order:5; flex-basis:100%;}
    }
    @media(prefers-reduced-motion:reduce){ .c-msg__play,.c-msg__eq i{animation:none;} }

    /* ===== reasons（reasons-05 再実装：POINTグラデ帯×大判写真・左右交互） ===== */
    .c-why{padding:var(--sec) 0; background:var(--paper); border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft);}
    .c-why__head{text-align:center; margin-bottom:var(--sec-head);}
    .c-why__row{display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,5vw,72px); align-items:center; margin-bottom:clamp(72px,9vw,112px);}
    .c-why__row:last-child{margin-bottom:0;}
    .c-why__pic{position:relative; z-index:1; margin:0; transition:transform .8s var(--ease);}
    .c-why__row:hover .c-why__pic{transform:translateY(-6px);}
    .c-why__pic img{width:100%; height:clamp(300px,32vw,420px); object-fit:cover; border-radius:var(--r-m); box-shadow:var(--sh-m); transition:box-shadow .6s var(--ease);}
    .c-why__row:hover .c-why__pic img{box-shadow:var(--sh-l);}
    .c-why__pic figcaption{margin-top:12px; font-family:"Space Grotesk",monospace; font-size:10px; letter-spacing:.2em; color:var(--muted);}
    .c-why__row--rev .c-why__pic{order:2;}
    .c-why__row--rev .c-why__bd{order:1;}
    .c-why__bd{position:relative; z-index:2;}
    .c-why__band{display:inline-flex; align-items:center; gap:14px; position:relative; z-index:3; margin-left:-90px; background:linear-gradient(90deg,var(--bp),rgba(20,58,99,0)); color:#fff; padding:12px 78px 12px 24px; border-radius:var(--r-s); box-shadow:0 16px 32px -16px rgba(20,58,99,.55);}
    .c-why__row--rev .c-why__band{margin-left:0;}
    .c-why__band .lab{font-family:"Space Grotesk",monospace; font-size:13px; letter-spacing:.16em;}
    .c-why__band .bn{position:absolute; right:8px; top:-14px; font-family:"Shippori Mincho",serif; font-weight:700; font-size:56px; color:transparent; -webkit-text-stroke:1.5px rgba(255,255,255,.6); line-height:1; font-variant-numeric:tabular-nums;}
    .c-why__bd h3{font-size:clamp(22px,2.6vw,31px); margin:26px 0 16px; line-height:1.5;}
    .c-why__bd h3 .ac{color:var(--bp);}
    .c-why__bd p{color:var(--body); font-size:14.5px; margin:0; line-height:2.05;}
    @media(max-width:780px){
      .c-why__row{grid-template-columns:1fr; gap:24px; margin-bottom:64px;}
      .c-why__row--rev .c-why__pic{order:1;}
      .c-why__row--rev .c-why__bd{order:2;}
      .c-why__band{margin-left:0;}
      .c-why__pic img{height:240px;}
    }

    /* ===== kit（features-03 再実装：機材タブ切替） ===== */
    .c-kit{padding:var(--sec) 0;}
    .c-kit .wrap{width:min(1180px,calc(100% - 48px));}
    .c-kit__head{margin-bottom:var(--sec-head);}
    .c-kit__grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(32px,4vw,56px); align-items:stretch;}
    .c-kit__tabs{display:grid; align-content:start; border-top:1px solid var(--line);}
    .c-kit__tab{display:grid; grid-template-columns:54px 1fr auto; gap:16px; align-items:center; padding:26px 8px; border-bottom:1px solid var(--line); cursor:pointer; transition:.3s var(--ease); background:none; border-left:0; border-right:0; text-align:left; font:inherit; color:inherit; min-height:44px;}
    .c-kit__tab .no{font-family:"Space Grotesk",monospace; font-size:14px; color:var(--muted); font-variant-numeric:tabular-nums;}
    .c-kit__tab h3{font-size:clamp(17px,2vw,22px); margin:0; transition:.25s;}
    .c-kit__tab .arr{opacity:0; transform:translateX(-6px); transition:.25s; color:var(--amber);}
    .c-kit__tab:hover{padding-left:16px;}
    .c-kit__tab.is-on{background:rgba(20,58,99,.06); padding-left:20px; box-shadow:inset 3px 0 0 var(--amber);}
    .c-kit__tab.is-on .no{color:var(--amber);} .c-kit__tab.is-on h3{color:var(--bp);}
    .c-kit__tab.is-on .arr{opacity:1; transform:translateX(0);}
    .c-kit__panel{position:relative; overflow:hidden; background:var(--wall2); min-height:440px; display:flex; flex-direction:column; border-radius:var(--r-m); box-shadow:var(--sh-m);}
    .c-kit__pimg{position:relative; flex:1; overflow:hidden; background:var(--wall2);}
    .c-kit__pimg img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .5s;}
    .c-kit__pimg img.is-on{opacity:1;}
    .c-kit__pdesc{padding:28px 34px 32px; background:#fff; border-top:1px solid var(--line-soft);}
    .c-kit__pt{display:none;}
    .c-kit__pt.is-on{display:block;}
    .c-kit__pt h4{font-family:"Shippori Mincho",serif; font-size:20px; margin:0 0 10px; color:var(--ink);}
    .c-kit__pt p{color:var(--muted); font-size:14px; margin:0; word-break:auto-phrase; line-height:2;}
    html:not(.j) .c-kit__pimg img:first-child{opacity:1;}
    html:not(.j) .c-kit__pt{display:block; border-bottom:1px dashed var(--line); padding:10px 0;}
    @media(max-width:860px){
      .c-kit__grid{grid-template-columns:1fr; gap:28px;}
      .c-kit__panel{min-height:340px;}
    }

    /* ===== numbers（numbers-10 再実装：オドメーター・ロール） ===== */
    .c-num{padding:var(--sec) 0; background:var(--wall2);
      background-image:linear-gradient(rgba(20,58,99,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(20,58,99,.05) 1px, transparent 1px);
      background-size:56px 56px;}
    .c-num__head{display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:var(--sec-head);}
    .c-num__meter{text-align:center;}
    .c-num__lb{font-family:"Space Grotesk",monospace; font-size:11px; letter-spacing:.32em; color:var(--muted); text-transform:uppercase; display:block; margin-bottom:20px;}
    .c-num__odo{display:inline-flex; align-items:stretch; gap:8px; padding:20px 24px; background:linear-gradient(180deg,#0B2240,#143A63); border-radius:var(--r-m);
      box-shadow:inset 0 2px 8px rgba(0,0,0,.55), var(--sh-l); border:1px solid #2B527E;}
    .c-num__digit{position:relative; width:clamp(56px,8vw,94px); height:clamp(86px,11.5vw,136px); background:#0E2A4D; border-radius:6px; overflow:hidden;
      box-shadow:inset 0 6px 10px rgba(0,0,0,.5), inset 0 -6px 10px rgba(0,0,0,.5);}
    .c-num__digit::after{content:""; position:absolute; left:0; top:50%; width:100%; height:1px; background:rgba(0,0,0,.45);}
    .c-num__digit .strip{position:absolute; left:0; top:0; width:100%;}
    .c-num__digit .strip>span{display:flex; align-items:center; justify-content:center; height:clamp(86px,11.5vw,136px);
      font-family:"Space Grotesk",monospace; font-weight:700; font-size:clamp(52px,6.8vw,84px); color:#EAF2FB; font-variant-numeric:tabular-nums;}
    .c-num__digit .fb{position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
      font-family:"Space Grotesk",monospace; font-weight:700; font-size:clamp(52px,6.8vw,84px); color:#EAF2FB;}
    .c-num__odo .unit{display:flex; align-items:flex-end; padding-bottom:10px; font-family:"Shippori Mincho",serif; font-weight:700; font-size:clamp(20px,2.8vw,32px); color:var(--amber-soft); margin-left:6px;}
    .c-num__cap{font-size:13px; color:var(--muted); margin:22px 0 0;}
    .c-num__subs{display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:64px;}
    .c-num__sub{border:1px solid var(--line-soft); background:var(--paper); border-radius:var(--r-m); box-shadow:var(--sh-s); padding:28px 26px; display:flex; align-items:center; justify-content:space-between; gap:14px;}
    .c-num__sub .k{font-family:"Space Grotesk",monospace; font-size:10.5px; letter-spacing:.26em; color:var(--amber); text-transform:uppercase; display:block; margin-bottom:6px;}
    .c-num__sub .t{font-family:"Shippori Mincho",serif; font-weight:700; font-size:clamp(15px,1.8vw,19px); color:var(--ink);}
    .c-num__sodo{display:inline-flex; gap:4px; padding:8px 10px; background:#0B2240; border-radius:8px;}
    .c-num__sodo .c-num__digit{width:clamp(32px,3.6vw,46px); height:clamp(46px,5.4vw,66px); border-radius:4px;}
    .c-num__sodo .c-num__digit .strip>span,.c-num__sodo .c-num__digit .fb{height:clamp(46px,5.4vw,66px); font-size:clamp(26px,3vw,40px);}
    .c-num__sodo .unit{display:flex; align-items:flex-end; padding-bottom:4px; font-family:"Shippori Mincho",serif; font-weight:700; font-size:clamp(13px,1.6vw,17px); color:var(--amber-soft); margin-left:4px;}
    .c-num__note{margin-top:20px; font-size:11px; color:var(--muted); text-align:right; letter-spacing:.12em;}
    @media(max-width:680px){
      .c-num__head{flex-direction:column; align-items:flex-start;}
      .c-num__subs{grid-template-columns:1fr;}
    }
    @media(max-width:420px){
      .c-num__odo{gap:6px; padding:14px 16px;}
      .c-num__odo .c-num__digit{width:46px; height:72px;}
      .c-num__odo .c-num__digit .strip>span,.c-num__odo .c-num__digit .fb{height:72px; font-size:44px;}
      .c-num__odo .unit{font-size:18px; padding-bottom:8px;}
    }

    /* ===== voice（voice-11 再実装：カードめくりスタック） ===== */
    .c-voice{position:relative; padding-top:var(--sec);}
    .c-voice__head{padding:0; width:min(1000px,calc(100% - 48px)); margin:0 auto;}
    .c-voice__pin{height:92vh; position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center;}
    .c-voice__deck{position:relative; width:min(600px,86vw); height:330px;}
    .c-voice__card{position:absolute; inset:0; background:#fff; border:1px solid var(--line-soft); border-radius:var(--r-m); padding:40px 42px; box-shadow:var(--sh-l); transform-origin:top center;}
    .c-voice__q{font-family:"Shippori Mincho",serif; font-size:clamp(19px,2.5vw,27px); font-weight:600; line-height:1.75; margin:0 0 24px; color:var(--ink); word-break:auto-phrase; font-feature-settings:"palt";}
    .c-voice__q::before{content:"\201C"; color:var(--amber);}
    .c-voice__who{display:flex; align-items:center; gap:12px; font-size:13px; color:var(--muted);}
    .c-voice__av{width:54px; height:44px; border-radius:8px; object-fit:cover;}
    .c-voice__who b{color:var(--ink); font-family:"Shippori Mincho",serif; font-size:15px;}
    .c-voice__ctrl{display:flex; align-items:center; gap:24px; margin-top:42px;}
    .c-voice__dots{display:flex; gap:9px;}
    .c-voice__dots .d{width:9px; height:9px; border-radius:50%; background:var(--line); transition:all .3s;}
    .c-voice__dots .d.is-on{background:var(--bp); transform:scale(1.35);}
    .c-voice__counter{font-family:"Space Grotesk",monospace; font-size:13px; color:var(--muted); letter-spacing:.1em; font-variant-numeric:tabular-nums;}
    .c-voice__counter b{color:var(--bp); font-size:18px;}
    .c-voice__swipe{display:flex; align-items:center; gap:8px; font-family:"Space Grotesk",monospace; font-size:11px; letter-spacing:.14em; color:var(--amber); text-transform:uppercase;}
    .c-voice__swipe .ico{width:22px; height:22px; display:inline-flex; animation:vNudge 1.4s ease-in-out infinite;}
    @keyframes vNudge{0%,100%{transform:translateY(-3px);}50%{transform:translateY(3px);}}
    .c-voice__note{text-align:center; font-size:11px; color:var(--muted); letter-spacing:.1em; padding-bottom:32px;}
    @media(max-width:820px){
      .c-voice__pin{height:auto; display:block; padding:32px 24px 40px;}
      .c-voice__deck{height:auto; width:auto;}
      .c-voice__card{position:static; margin-bottom:18px; box-shadow:var(--sh-m); transform:none!important; padding:30px 26px;}
      .c-voice__ctrl{display:none;}
    }
    html:not(.j) .c-voice__pin{height:auto; display:block; padding:32px 24px 40px;}
    html:not(.j) .c-voice__deck{height:auto; width:min(600px,86vw); margin:0 auto;}
    html:not(.j) .c-voice__card{position:static; margin-bottom:18px;}
    html:not(.j) .c-voice__ctrl{display:none;}
    @media(prefers-reduced-motion:reduce){ .c-voice__swipe .ico{animation:none;} }

    /* ===== bridge（独自：全幅ブリッジ写真） ===== */
    .c-bridge{position:relative; height:min(68vh,600px); overflow:hidden; margin:0;}
    .c-bridge img{width:100%; height:120%; object-fit:cover; position:absolute; left:0; top:-10%;}
    .c-bridge::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(11,34,64,.2),rgba(11,34,64,.46));}
    .c-bridge figcaption{position:absolute; left:7vw; bottom:44px; z-index:2; color:#F4F7FB; font-family:"Shippori Mincho",serif; font-size:clamp(15px,2vw,21px); letter-spacing:.1em; text-shadow:0 2px 18px rgba(11,34,64,.7); font-feature-settings:"palt";}
    .c-bridge figcaption .mono{display:block; font-size:10px; letter-spacing:.3em; color:var(--amber-soft); margin-bottom:10px;}

    /* ===== flow（process-04 再実装：円環ステップ） ===== */
    .c-flow{padding:var(--sec) 0;}
    .c-flow .wrap{width:min(1040px,calc(100% - 48px));}
    .c-flow__head{text-align:center; margin-bottom:var(--sec-head);}
    .c-flow__cols{display:grid; grid-template-columns:420px 1fr; gap:clamp(40px,5vw,64px); align-items:center;}
    .c-flow__ring{position:relative; width:380px; height:380px; margin:0 auto;}
    .c-flow__ring svg{width:100%; height:100%; transform:rotate(-90deg);}
    .c-flow__track{fill:none; stroke:var(--line); stroke-width:2;}
    .c-flow__arc{fill:none; stroke:var(--bp); stroke-width:3; stroke-linecap:round;}
    .c-flow__ctr{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center;}
    .c-flow__ctr b{font-family:"Shippori Mincho",serif; font-size:23px; color:var(--ink);}
    .c-flow__ctr span{font-family:"Space Grotesk",monospace; font-size:11px; letter-spacing:.2em; color:var(--muted);}
    .c-flow__node{position:absolute; width:54px; height:54px; border-radius:50%; background:#fff; border:2px solid var(--line); display:flex; align-items:center; justify-content:center; font-family:"Shippori Mincho",serif; font-weight:700; font-size:20px; color:var(--muted); transition:.4s; transform:translate(-50%,-50%); font-variant-numeric:tabular-nums;}
    .c-flow__node.is-on{background:var(--bp); border-color:var(--bp); color:#fff; box-shadow:0 8px 20px -8px rgba(20,58,99,.7);}
    html:not(.j) .c-flow__node{background:var(--bp); border-color:var(--bp); color:#fff;}
    .c-flow__n1{left:50%; top:0;} .c-flow__n2{left:100%; top:50%;} .c-flow__n3{left:50%; top:100%;} .c-flow__n4{left:0; top:50%;}
    .c-flow__legend{display:flex; flex-direction:column; gap:22px;}
    .c-flow__lg{display:grid; grid-template-columns:44px 1fr; gap:16px; align-items:start;}
    .c-flow__lg .b{font-family:"Shippori Mincho",serif; font-weight:700; font-size:20px; color:var(--bp); font-variant-numeric:tabular-nums;}
    .c-flow__lg h3{margin:0 0 6px; font-size:17px; font-weight:700;}
    .c-flow__lg p{margin:0; color:var(--muted); font-size:13.5px; word-break:auto-phrase; line-height:1.95;}
    @media(max-width:820px){
      .c-flow__cols{grid-template-columns:1fr; gap:40px;}
      .c-flow__ring{width:300px; height:300px;}
    }

    /* ===== price（pricing-07 再実装：概算スライダー） ===== */
    .c-price{padding:var(--sec) 0; background:var(--paper); border-top:1px solid var(--line-soft);}
    .c-price .wrap{width:min(920px,calc(100% - 48px));}
    .c-price__head{text-align:center; margin-bottom:var(--sec-head);}
    .c-price__head p{font-size:13.5px; color:var(--muted); max-width:33em; margin:16px auto 0;}
    .c-price__sim{background:#fff; border:1px solid var(--line-soft); border-radius:var(--r-m); box-shadow:var(--sh-l); padding:clamp(26px,4.6vw,52px);}
    .c-price__row1{display:flex; justify-content:space-between; align-items:baseline; gap:14px; flex-wrap:wrap; margin-bottom:8px;}
    .c-price__q{font-family:"Shippori Mincho",serif; font-weight:700; font-size:clamp(17px,2.2vw,22px); letter-spacing:.08em; color:var(--ink);}
    .c-price__vw{font-family:"Space Grotesk",monospace; font-size:13px; letter-spacing:.1em; color:var(--bp); font-variant-numeric:tabular-nums;}
    .c-price__vw b{font-size:clamp(22px,2.8vw,30px); font-weight:700;}
    .c-price__sld{margin:10px 0 6px;}
    .c-price__sld input[type=range]{-webkit-appearance:none; appearance:none; width:100%; height:10px; border-radius:999px; outline:none;
      background:linear-gradient(90deg,var(--bp) 0 var(--p,25%),var(--wall2) var(--p,25%) 100%);}
    .c-price__sld input[type=range]::-webkit-slider-thumb{-webkit-appearance:none; appearance:none; width:34px; height:34px; border-radius:50%; background:#fff;
      border:4px solid var(--bp); box-shadow:0 6px 16px -4px rgba(11,34,64,.45); cursor:grab;}
    .c-price__sld input[type=range]:active::-webkit-slider-thumb{cursor:grabbing;}
    .c-price__sld input[type=range]:focus-visible{outline:3px solid var(--amber); outline-offset:4px;}
    .c-price__scale{display:flex; justify-content:space-between; font-family:"Space Grotesk",monospace; font-size:10px; letter-spacing:.14em; color:var(--muted); margin-bottom:24px;}
    .c-price__presets{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:32px;}
    .c-price__pre{border:1px solid var(--line); background:var(--paper); border-radius:999px; padding:10px 20px; font-size:12.5px; min-height:44px; display:inline-flex; align-items:center; cursor:pointer; transition:background .25s,color .25s,border-color .25s,transform .25s var(--ease);}
    .c-price__pre:hover{transform:translateY(-1px);}
    .c-price__pre:hover,.c-price__pre.is-on{background:var(--bp); color:#EAF2FB; border-color:var(--bp);}
    .c-price__result{display:grid; grid-template-columns:1fr 1fr; gap:clamp(18px,3.4vw,40px); align-items:center; border-top:1px solid var(--line); padding-top:30px;}
    .c-price__k{font-family:"Space Grotesk",monospace; font-size:10.5px; letter-spacing:.28em; color:var(--amber); text-transform:uppercase; display:block; margin-bottom:8px;}
    .c-price__v{font-family:"Space Grotesk",monospace; font-weight:700; font-size:clamp(46px,6.8vw,70px); line-height:1; letter-spacing:-.02em; color:var(--ink); font-variant-numeric:tabular-nums;}
    .c-price__v small{font-family:"Shippori Mincho",serif; font-size:.34em; font-weight:700; margin-left:6px;}
    .c-price__s{font-size:11.5px; color:var(--muted); display:block; margin-top:10px;}
    .c-price__brk{font-size:12px;}
    .c-price__b{display:flex; justify-content:space-between; gap:10px; padding:8px 2px; border-bottom:1px dashed var(--line);}
    .c-price__b:last-child{border-bottom:none;}
    .c-price__b span:last-child{font-family:"Space Grotesk",monospace; font-variant-numeric:tabular-nums;}
    .c-price__foot{display:flex; justify-content:space-between; align-items:center; margin-top:26px; gap:12px; flex-wrap:wrap;}
    .c-price__foot p{margin:0; font-size:12.5px; color:var(--muted);}
    .c-price__foot p b{color:var(--ink); font-weight:700;}
    .c-price__note{font-size:11px; color:var(--muted); letter-spacing:.1em;}
    .c-price__opt{margin-top:40px; border-top:2px solid var(--ink); background:rgba(251,248,240,.7);}
    .c-price__optrow{display:grid; grid-template-columns:1fr auto; gap:14px; padding:15px 16px; border-bottom:1px solid var(--line); font-size:13.5px; align-items:baseline;}
    .c-price__optrow b{color:var(--ink);}
    .c-price__optrow span:last-child{font-family:"Space Grotesk",monospace; color:var(--bp); font-weight:700; white-space:nowrap; font-variant-numeric:tabular-nums;}
    @media(max-width:680px){
      .c-price__result{grid-template-columns:1fr;}
    }

    /* ===== faq（faq-08 再実装：ブロブカード→青図トーンに再設計） ===== */
    .c-faq{padding:var(--sec) 0; background:linear-gradient(180deg,var(--bp),#123255);
      background-image:linear-gradient(rgba(207,226,244,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(207,226,244,.06) 1px, transparent 1px), linear-gradient(180deg,var(--bp),#123255);
      background-size:56px 56px, 56px 56px, 100% 100%;}
    .c-faq .wrap{width:min(1040px,calc(100% - 48px));}
    .c-faq__layout{display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(32px,4vw,56px); align-items:start;}
    .c-faq__side h2{font-weight:800; font-size:clamp(36px,5vw,58px); margin:0; color:#F4F7FB; line-height:1.35; letter-spacing:.04em;}
    .c-faq__side .eb{font-family:"Space Grotesk",monospace; font-size:13px; letter-spacing:.3em; color:rgba(207,226,244,.7); margin-top:12px;}
    .c-faq__side .more{display:inline-block; margin-top:28px; color:var(--amber-soft); font-size:13px; font-weight:700; border-bottom:1px solid rgba(242,178,107,.6); padding-bottom:3px; transition:color .25s;}
    .c-faq__side .more:hover{color:#fff;}
    .c-faq__item{background:#FBF8F0; color:var(--ink); border-radius:var(--r-m); margin-bottom:14px; overflow:hidden; box-shadow:0 6px 14px -8px rgba(0,0,0,.2), 0 24px 48px -24px rgba(0,0,0,.35);}
    .c-faq__q{display:flex; align-items:center; gap:16px; padding:20px 26px; cursor:pointer; min-height:44px;}
    .c-faq__q .qi{flex:0 0 auto; width:42px; height:42px; border-radius:var(--r-s); background:var(--bp-deep); color:#fff; display:flex; align-items:center; justify-content:center; font-family:"Shippori Mincho",serif; font-weight:800; font-size:18px;}
    .c-faq__q .tx{flex:1; font-weight:700; font-size:15.5px; color:var(--ink);}
    .c-faq__q .pl{font-size:24px; color:var(--bp-deep); transition:transform .3s; font-weight:300;}
    .c-faq__item.is-open .pl{transform:rotate(45deg);}
    .c-faq__a{overflow:hidden; transition:max-height .5s ease;}
    html.j .c-faq__a{max-height:0;}
    html.j .c-faq__item.is-open .c-faq__a{max-height:380px;}
    .c-faq__a .in{margin:0 20px 20px; background:rgba(20,58,99,.07); border-radius:var(--r-s); padding:18px 22px; display:flex; gap:14px;}
    .c-faq__a .ai{flex:0 0 auto; width:38px; height:38px; border-radius:var(--r-s); background:var(--amber); color:#fff; display:flex; align-items:center; justify-content:center; font-family:"Shippori Mincho",serif; font-weight:800; font-size:17px;}
    .c-faq__a p{margin:0; color:var(--body); font-size:14px; word-break:auto-phrase; line-height:1.95;}
    @media(max-width:760px){
      .c-faq__layout{grid-template-columns:1fr; gap:28px;}
    }

    /* ===== news（news-06 再実装：号外・新聞一面スピンイン） ===== */
    .c-news{padding:var(--sec) 0; position:relative; overflow:hidden; background:radial-gradient(circle at 50% 0%, #0E2A4D 0%, var(--bp-ink) 60%, var(--bp-night) 100%);}
    .c-news .wrap{width:min(980px,calc(100% - 48px));}
    .c-news__head{text-align:center; margin-bottom:var(--sec-head);}
    .c-news__head h2{color:#EAF2FB;}
    .c-news__head .eyebrow{color:var(--amber-soft);}
    .c-news__head .eyebrow::before{background:var(--amber-soft);}
    .c-news__paper{background:#F4EFE2; box-shadow:0 10px 24px -12px rgba(0,0,0,.4), 0 60px 110px -44px rgba(0,0,0,.75); padding:clamp(24px,4.2vw,52px); position:relative; color:#262219;}
    .c-news__gogai{position:absolute; right:clamp(14px,3vw,34px); top:clamp(14px,3vw,30px); border:3px solid #A8322C; color:#A8322C;
      font-family:"Shippori Mincho",serif; font-weight:700; font-size:clamp(16px,2.2vw,24px); letter-spacing:.3em; padding:6px 14px; transform:rotate(-7deg);
      mix-blend-mode:multiply; opacity:.92; z-index:3;}
    .c-news__mast{display:flex; justify-content:space-between; align-items:baseline; gap:14px; border-bottom:3px double var(--ink); padding-bottom:12px; flex-wrap:wrap;}
    .c-news__mast .nm{font-family:"Shippori Mincho",serif; font-weight:700; font-size:clamp(22px,3.2vw,34px); letter-spacing:.34em; color:var(--ink);}
    .c-news__mast .dt{font-family:"Space Grotesk",monospace; font-size:10px; letter-spacing:.2em; color:var(--muted); font-variant-numeric:tabular-nums;}
    .c-news__hl{font-family:"Shippori Mincho",serif; font-weight:700; font-size:clamp(30px,5.4vw,62px); line-height:1.42; margin:26px 0 8px; letter-spacing:.05em; color:var(--ink); word-break:auto-phrase; text-wrap:balance; font-feature-settings:"palt";}
    .c-news__hl b{background:linear-gradient(transparent 64%,rgba(217,120,24,.32) 64%); font-weight:700;}
    .c-news__sub{font-size:clamp(12.5px,1.6vw,14.5px); color:var(--muted); margin:0 0 24px; letter-spacing:.06em;}
    .c-news__grid{display:grid; grid-template-columns:1.25fr .9fr; gap:clamp(16px,3vw,32px); border-top:1px solid var(--ink); padding-top:22px;}
    .c-news__lede{font-size:13px; line-height:2.05; column-count:2; column-gap:24px; column-rule:1px solid #D9D2C0; margin:0;}
    .c-news__lede::first-letter{font-family:"Shippori Mincho",serif; font-size:2.1em; font-weight:700; float:left; line-height:1; margin:3px 7px 0 0; color:#A8322C;}
    .c-news__ph{border:1px solid var(--ink); padding:5px; background:#fff; align-self:start;}
    .c-news__ph img{width:100%; display:block; aspect-ratio:16/10; object-fit:cover; filter:grayscale(.35) contrast(1.05);}
    .c-news__ph .cap{font-size:10px; color:var(--muted); padding:6px 2px 2px; letter-spacing:.08em; display:block;}
    .c-news__others{border-top:2px solid var(--ink); margin-top:26px; padding-top:16px;}
    .c-news__ot{font-family:"Shippori Mincho",serif; font-weight:700; font-size:13px; letter-spacing:.26em; color:#A8322C; margin-bottom:8px; display:block;}
    .c-news__others ul{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:0 22px;}
    .c-news__others li{display:flex; gap:10px; align-items:baseline; font-size:12px; padding:8px 0; border-bottom:1px dotted #D9D2C0;}
    .c-news__others li .d{font-family:"Space Grotesk",monospace; font-size:9.5px; letter-spacing:.12em; color:var(--muted); white-space:nowrap; font-variant-numeric:tabular-nums;}
    .c-news__note{margin-top:20px; text-align:center; font-size:11px; color:rgba(207,226,244,.5); letter-spacing:.12em;}
    @media(max-width:760px){
      .c-news__grid{grid-template-columns:1fr;}
      .c-news__lede{column-count:1;}
      .c-news__others ul{grid-template-columns:1fr;}
    }

    /* ===== area（about-05 再実装：対応エリア路線図＋会社概要） ===== */
    .c-area{padding:var(--sec) 0;}
    .c-area__head{display:flex; justify-content:space-between; align-items:flex-end; gap:24px;}
    .c-area__board{position:relative; margin-top:var(--sec-head); border:1px solid var(--line-soft); background:#FDFBF4; border-radius:var(--r-m); box-shadow:var(--sh-s); padding:clamp(22px,4vw,52px);}
    .c-area__bn{position:absolute; right:18px; top:14px; font-family:"Space Grotesk",monospace; font-size:10px; letter-spacing:.26em; color:var(--muted);}
    .c-area__dgm{position:relative; width:100%;}
    .c-area__dgm svg{display:block; width:100%; height:auto;}
    .c-area__rail{fill:none; stroke:var(--bp); stroke-width:7; stroke-linecap:round;}
    .c-area__rail--sub{stroke:var(--amber); stroke-width:5; stroke-dasharray:1 14; stroke-linecap:round;}
    .c-area__stn circle.o{fill:var(--paper); stroke:var(--bp); stroke-width:5;}
    .c-area__stn--hq circle.o{stroke:var(--amber); stroke-width:6;}
    .c-area__stn circle.i{fill:var(--bp);}
    .c-area__stn--hq circle.i{fill:var(--amber);}
    .c-area__lab{position:absolute; width:13.5em; transform:translateX(-50%); text-align:center;}
    .c-area__lab .nm{font-family:"Shippori Mincho",serif; font-weight:700; font-size:clamp(15px,1.9vw,20px); letter-spacing:.06em; color:var(--ink); word-break:auto-phrase;}
    .c-area__lab .en{font-family:"Space Grotesk",monospace; font-size:10px; letter-spacing:.22em; color:var(--muted); display:block; margin-top:2px; text-transform:uppercase;}
    .c-area__lab .ds{font-size:11.5px; color:var(--muted); line-height:1.7; display:block; margin-top:6px;}
    .c-area__lab .chip{display:inline-block; margin-top:8px; font-family:"Space Grotesk",monospace; font-size:9.5px; letter-spacing:.2em; border:1px solid var(--line); border-radius:999px; padding:4px 12px; color:var(--ink); background:#fff; font-variant-numeric:tabular-nums;}
    .c-area__lab--hq .chip{border-color:var(--amber); color:var(--amber-deep);}
    .c-area__legend{display:flex; gap:26px; align-items:center; margin-top:32px; padding-top:20px; border-top:1px solid var(--line); font-size:11.5px; color:var(--muted); flex-wrap:wrap;}
    .c-area__li{display:flex; align-items:center; gap:9px;}
    .c-area__sw{width:30px; height:0; border-top:5px solid var(--bp); border-radius:3px;}
    .c-area__sw--t{border-top:4px dotted var(--amber);}
    .c-area__tbl{margin-top:48px; border-top:2px solid var(--ink); width:100%; border-collapse:collapse;}
    .c-area__tbl th{width:11em; text-align:left; font-weight:700; color:var(--ink); padding:16px 12px; border-bottom:1px solid var(--line); font-size:14px; vertical-align:top;}
    .c-area__tbl td{padding:16px 12px; border-bottom:1px solid var(--line); font-size:14px;}
    @media(max-width:680px){
      .c-area__head{flex-direction:column; align-items:flex-start;}
      .c-area__lab{width:9em;} .c-area__lab .ds{display:none;}
      .c-area__tbl th{width:7.5em;}
    }

    /* ===== blog（blog-06 再実装：特大日付ジャーナル） ===== */
    .c-blog{padding:var(--sec) 0; background:var(--wall2);
      background-image:linear-gradient(rgba(20,58,99,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(20,58,99,.05) 1px, transparent 1px);
      background-size:56px 56px;}
    .c-blog__head{margin-bottom:var(--sec-head); display:flex; justify-content:space-between; align-items:flex-end; gap:24px;}
    .c-blog__post{position:relative; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:clamp(20px,3vw,36px); padding:36px 0; border-bottom:1px solid var(--line); text-decoration:none; color:inherit;}
    .c-blog__post:first-of-type{border-top:1px solid var(--line);}
    .c-blog__date{font-family:"Shippori Mincho",serif; font-weight:800; font-size:clamp(52px,8.5vw,100px); line-height:.8; color:transparent; -webkit-text-stroke:1.5px rgba(20,58,99,.45); transition:.3s; font-variant-numeric:tabular-nums;}
    .c-blog__date .y{display:block; font-family:"Space Grotesk",monospace; font-size:13px; -webkit-text-stroke:0; color:var(--muted); letter-spacing:.16em; margin-top:10px;}
    .c-blog__cat{font-family:"Space Grotesk",monospace; font-size:11px; letter-spacing:.14em; color:var(--amber);}
    .c-blog__post h3{font-size:clamp(18px,2.4vw,25px); margin:8px 0 10px; word-break:auto-phrase; transition:color .3s;}
    .c-blog__post:hover h3{color:var(--bp);}
    .c-blog__post p{color:var(--muted); font-size:14px; margin:0; word-break:auto-phrase;}
    .c-blog__thumb{width:150px; height:104px; object-fit:cover; border-radius:var(--r-s); box-shadow:var(--sh-s); transition:transform .8s var(--ease), box-shadow .5s;}
    .c-blog__post:hover .c-blog__thumb{transform:scale(1.03); box-shadow:var(--sh-m);}
    .c-blog__post:hover .c-blog__date{-webkit-text-stroke-color:var(--bp); color:rgba(20,58,99,.1);}
    .c-blog__note{margin-top:18px; font-size:11.5px; color:var(--muted); text-align:right;}
    @media(max-width:680px){
      .c-blog__head{flex-direction:column; align-items:flex-start;}
      .c-blog__post{grid-template-columns:1fr; gap:10px; padding:28px 0;}
      .c-blog__thumb{display:none;}
    }

    /* ===== cta（cta-05 再実装：青図グラデーションパネル・1画面級） ===== */
    .c-cta{padding:var(--sec) 0;}
    .c-cta__panel{position:relative; border-radius:var(--r-l); overflow:hidden; padding:clamp(88px,11vw,150px) clamp(28px,6vw,72px); text-align:center; color:#fff;
      display:flex; align-items:center; justify-content:center; min-height:min(78vh,720px);
      background:
        radial-gradient(circle at 82% 110%, rgba(217,120,24,.28), transparent 46%),
        radial-gradient(circle at 12% -10%, rgba(207,226,244,.14), transparent 42%),
        linear-gradient(125deg,#143A63,#0F2C4E 55%,#0B2240);
      box-shadow:var(--sh-l);}
    .c-cta__grid{position:absolute; inset:0; opacity:.18; background-image:linear-gradient(rgba(207,226,244,.7) 1px,transparent 1px),linear-gradient(90deg,rgba(207,226,244,.7) 1px,transparent 1px); background-size:40px 40px; -webkit-mask-image:radial-gradient(circle at 50% 40%,#000,transparent 75%); mask-image:radial-gradient(circle at 50% 40%,#000,transparent 75%);}
    .c-cta__dot{position:absolute; border-radius:50%; background:rgba(207,226,244,.14);}
    .c-cta__d1{width:120px; height:120px; left:6%; top:18%;}
    .c-cta__d2{width:60px; height:60px; right:10%; top:24%;}
    .c-cta__d3{width:200px; height:200px; right:-40px; bottom:-60px; background:rgba(217,120,24,.18);}
    .c-cta__inner{position:relative; z-index:2; max-width:880px;}
    .c-cta__badge{display:inline-block; background:rgba(207,226,244,.14); border:1px solid rgba(207,226,244,.32); color:#fff; font-family:"Space Grotesk",monospace; font-size:11px; letter-spacing:.16em; padding:8px 18px; border-radius:999px;}
    .c-cta__panel h2{font-family:"Shippori Mincho",serif; font-weight:700; font-size:clamp(32px,4.8vw,60px); line-height:1.5; margin:26px 0 18px; color:#fff; font-feature-settings:"palt";}
    .c-cta__lead{margin:0 auto; max-width:32em; color:rgba(234,242,251,.92); font-size:clamp(14px,1.4vw,16px); line-height:2.1;}
    .c-cta__btns{display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-top:44px;}
    .c-cta__btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; font-weight:700; font-size:15.5px; min-height:60px; padding:18px 46px; border-radius:var(--r-s); text-decoration:none; letter-spacing:.06em; transition:transform .25s var(--ease), box-shadow .3s var(--ease), background .25s;}
    .c-cta__btn--p{background:#fff; color:var(--bp); box-shadow:0 8px 18px -8px rgba(0,0,0,.35), 0 24px 48px -18px rgba(0,0,0,.5);}
    .c-cta__btn--p:hover{transform:translateY(-3px); box-shadow:0 12px 24px -10px rgba(0,0,0,.4), 0 32px 60px -20px rgba(0,0,0,.55);}
    .c-cta__btn--g{border:1.5px solid rgba(207,226,244,.6); color:#fff;}
    .c-cta__btn--g:hover{background:rgba(207,226,244,.14); transform:translateY(-2px);}
    .c-cta__trust{display:flex; gap:26px; justify-content:center; flex-wrap:wrap; margin-top:34px; font-size:13px; color:rgba(234,242,251,.9);}
    .c-cta__trust span{display:inline-flex; align-items:center; gap:8px;}
    .c-cta__trust svg{width:16px; height:16px; color:var(--amber-soft);}
    @media(max-width:720px){
      .c-cta__panel{padding:72px 24px; min-height:0;}
      .c-cta__btns{flex-direction:column; align-items:stretch;}
    }

    /* ===== ZOROYA:FOOTER（footer-04 再実装：メガフッター） ===== */
    .site-footer{background:linear-gradient(180deg,var(--bp-ink),var(--bp-night)); color:#EAF2FB;}
    .ft-in{max-width:1240px; margin:0 auto; padding:0 28px;}
    .ft-nl{display:flex; align-items:center; justify-content:space-between; gap:30px; padding:48px 0; border-bottom:1px solid var(--line-w); flex-wrap:wrap;}
    .ft-nl .lb{font-family:"Space Grotesk",monospace; font-size:10px; letter-spacing:.3em; color:var(--amber-soft);}
    .ft-nl h2{font-family:"Shippori Mincho",serif; font-size:22px; letter-spacing:.08em; margin:10px 0 6px; color:#F4F7FB;}
    .ft-nl p{margin:0; font-size:12.5px; color:rgba(207,226,244,.65);}
    .ft-nl form{display:flex; gap:0; min-width:380px;}
    .ft-nl input{flex:1; border:1px solid var(--line-w); background:rgba(207,226,244,.06); color:#EAF2FB; padding:15px 20px; font-size:13.5px; border-radius:var(--r-s) 0 0 var(--r-s); outline:none; font-family:inherit; transition:border-color .25s, background .25s;}
    .ft-nl input::placeholder{color:rgba(207,226,244,.45);}
    .ft-nl input:focus{border-color:rgba(242,178,107,.7); background:rgba(207,226,244,.1);}
    .ft-nl button{border:none; background:var(--amber); color:#fff; font-weight:700; font-size:13.5px; letter-spacing:.08em; padding:0 28px; min-height:48px; border-radius:0 var(--r-s) var(--r-s) 0; cursor:pointer; font-family:inherit; transition:filter .25s;}
    .ft-nl button:hover{filter:brightness(1.08);}
    .ft-cols{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:44px; padding:56px 0 60px;}
    .ft-brand .lg{display:inline-flex; align-items:center; background:#FBF8F0; border-radius:var(--r-s); padding:10px 16px; margin-bottom:18px;}
    .ft-brand .lg img{height:30px; width:auto;}
    .ft-brand p{font-size:12.5px; line-height:2.1; color:rgba(207,226,244,.65); margin:0 0 14px;}
    .ft-brand .smp{font-size:11px; color:rgba(207,226,244,.45);}
    .ft-col h3{font-family:"Space Grotesk",monospace; font-size:10px; letter-spacing:.28em; color:var(--amber-soft); margin:6px 0 18px; font-weight:700;}
    .ft-col a{display:block; color:#EAF2FB; text-decoration:none; font-size:13px; padding:8px 0; opacity:.85; transition:opacity .25s, color .25s;}
    .ft-col a:hover{opacity:1; color:var(--amber-soft);}
    .ft-col a small{color:rgba(207,226,244,.5); font-size:10.5px; margin-left:6px;}
    .ft-legal{display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 0 30px; border-top:1px solid var(--line-w); flex-wrap:wrap;}
    .ft-legal .links{display:flex; gap:20px; flex-wrap:wrap;}
    .ft-legal a{color:rgba(207,226,244,.6); text-decoration:none; font-size:11.5px; padding:6px 0;}
    .ft-legal a:hover{color:#fff;}
    .ft-legal .cp{font-family:"Space Grotesk",monospace; font-size:10px; letter-spacing:.14em; color:rgba(207,226,244,.5);}
    @media(max-width:1000px){ .ft-cols{grid-template-columns:1fr 1fr;} .ft-nl form{min-width:0; width:100%;} }
    @media(max-width:560px){ .ft-cols{grid-template-columns:1fr;} }

/* ===== 以下、固定ページ専用（page-hero / prose / faq / form / cta帯） ===== */
.page-hero{position:relative; background:radial-gradient(circle at 78% -20%, rgba(207,226,244,.16), transparent 44%), linear-gradient(180deg,var(--bp-ink),var(--bp)); color:#EAF2FB; padding:clamp(88px,10vw,150px) 0 clamp(72px,8vw,112px); overflow:hidden;}
.page-hero::before{content:""; position:absolute; inset:0; pointer-events:none; opacity:.5;
  background:linear-gradient(rgba(207,226,244,.10) 1px, transparent 1px) 0 0/100% 52px,
             linear-gradient(90deg, rgba(207,226,244,.10) 1px, transparent 1px) 0 0/52px 100%;}
.page-hero::after{content:""; position:absolute; left:0; right:0; bottom:0; height:4px; background:linear-gradient(90deg,var(--amber),var(--amber-soft));}
.page-hero .wrap{position:relative; z-index:1;}
.page-hero .eyebrow{color:var(--amber-soft);} .page-hero .eyebrow::before{background:var(--amber-soft);}
.page-hero h1{color:#fff; font-size:clamp(32px,3.4vw + 18px,58px); margin:18px 0 0; font-weight:600; letter-spacing:.04em; line-height:1.34;}
.page-hero .pl{color:rgba(234,242,251,.8); font-size:clamp(13.5px,1.3vw,15px); margin-top:22px; max-width:38em; line-height:2.1;}
.page-hero .bc{position:relative; z-index:1; display:flex; gap:10px; font-family:"Space Grotesk",monospace; font-size:10.5px; letter-spacing:.18em; color:rgba(234,242,251,.55); margin-bottom:32px;}
.page-hero .bc a{color:rgba(234,242,251,.8); padding:4px 0;} .page-hero .bc a:hover{color:var(--amber-soft);}

.page-sec{padding:var(--sec) 0;}
.page-sec--tint{background:var(--paper); border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft);}
.page-sec .sec-head{margin-bottom:var(--sec-head);}
.page-sec .sec-head h2{font-size:clamp(26px,1.6vw + 18px,40px); margin-top:16px; line-height:1.38;}
.page-sec .sec-head .sub{font-size:14.5px; color:var(--body); margin-top:16px; max-width:42em;}

.prose{max-width:760px;}
.prose h2{font-size:clamp(20px,2.6vw,27px); margin:56px 0 20px; padding-left:16px; border-left:4px solid var(--bp); line-height:1.5;}
.prose h2:first-child{margin-top:0;}
.prose p{margin:0 0 1.3em; font-size:15px; line-height:2.1;}
.prose ul{margin:0 0 1.5em; padding-left:1.4em;}
.prose li{margin-bottom:.55em; font-size:15px;}
.prose .upd{font-size:12.5px; color:var(--muted);}

/* メニュー詳細（service） */
.p-menu{display:grid; grid-template-columns:repeat(2,1fr); gap:0; border:1px solid var(--line-soft); border-radius:var(--r-m); overflow:hidden; box-shadow:var(--sh-m); margin-top:10px; background:var(--line-soft);}
.p-menu__cell{border-right:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft); background:#fff; padding:clamp(28px,3.4vw,40px) clamp(24px,3vw,38px); display:flex; flex-direction:column; gap:14px; position:relative; transition:background .3s;}
.p-menu__cell:hover{background:#FDFBF4;}
.p-menu__cell.is-wide{grid-column:1 / -1;}
.p-menu__no{font-family:"Space Grotesk",monospace; font-size:10.5px; letter-spacing:.26em; color:var(--amber); font-weight:700;}
.p-menu__cell h3{font-size:clamp(19px,2.2vw,24px); line-height:1.5;}
.p-menu__cell .ds{font-size:14.5px; flex:1; line-height:2;}
.p-menu__meta{display:flex; flex-wrap:wrap; gap:8px;}
.p-menu__meta span{font-size:11.5px; color:var(--bp); border:1px solid var(--bpline); background:#F4F9FE; padding:5px 14px; border-radius:999px;}
.p-menu__pr{font-family:"Shippori Mincho",serif; font-weight:700; color:var(--bp); font-size:22px; border-top:1px dashed var(--line); padding-top:16px; font-variant-numeric:tabular-nums;}
.p-menu__pr small{font-size:12px; color:var(--muted); font-family:"Zen Kaku Gothic New",sans-serif; font-weight:400; margin-left:8px;}
@media(max-width:820px){ .p-menu{grid-template-columns:1fr;} .p-menu__cell{padding:26px 22px;} }

/* 診る範囲チェック表（service） */
.p-scope{border-top:1px solid var(--line); margin-top:10px;}
.p-scope__row{display:grid; grid-template-columns:200px 1fr; gap:24px; padding:26px 4px; border-bottom:1px solid var(--line);}
.p-scope__part{display:flex; gap:12px; align-items:baseline;}
.p-scope__part .n{font-family:"Space Grotesk",monospace; font-size:11px; color:var(--amber); font-weight:700;}
.p-scope__part h3{font-size:17px;}
.p-scope__items{display:flex; flex-wrap:wrap; gap:8px 18px; font-size:13.5px; color:var(--body);}
.p-scope__items span{position:relative; padding-left:18px;}
.p-scope__items span::before{content:""; position:absolute; left:0; top:.52em; width:10px; height:6px; border-left:2px solid var(--ok); border-bottom:2px solid var(--ok); transform:rotate(-45deg);}
@media(max-width:680px){ .p-scope__row{grid-template-columns:1fr; gap:12px; padding:22px 2px;} }

/* 注意書きパネル */
.p-note{background:#FFF; border:1px solid var(--line-soft); border-left:4px solid var(--amber); border-radius:var(--r-s); box-shadow:var(--sh-s); padding:26px 30px; margin-top:40px; font-size:14px; color:var(--body); line-height:2;}
.p-note b{color:var(--ink);}

/* about：プルクオート・プロフィール・沿革 */
.p-quote{font-family:"Shippori Mincho",serif; font-weight:600; color:var(--ink); font-size:clamp(26px,2.4vw + 14px,44px); line-height:1.75; letter-spacing:.06em; max-width:24em; font-feature-settings:"palt";}
.p-quote b{color:var(--bp); font-weight:700;}
.p-profile{display:grid; grid-template-columns:380px 1fr; gap:clamp(32px,4.4vw,56px); align-items:start; margin-top:10px;}
.p-profile figure{margin:0; position:relative;}
.p-profile img{width:100%; aspect-ratio:4/3; object-fit:cover; object-position:center top; border-radius:var(--r-m); box-shadow:var(--sh-m);}
.p-profile figcaption{font-family:"Space Grotesk",monospace; font-size:10px; letter-spacing:.2em; color:var(--muted); margin-top:12px;}
.p-profile .nm{font-size:clamp(22px,2.6vw,30px);}
.p-profile .rl{font-size:12.5px; color:var(--amber); font-weight:700; letter-spacing:.12em; margin-top:8px;}
.p-profile .bio{font-size:14.5px; margin-top:20px; line-height:2.1;}
.p-profile .lic{margin:26px 0 0; padding:0; list-style:none; display:grid; gap:10px;}
.p-profile .lic li{font-size:13px; color:var(--body); border:1px solid var(--line-soft); background:#fff; border-radius:var(--r-s); box-shadow:var(--sh-s); padding:12px 18px; display:flex; gap:12px; align-items:center;}
.p-profile .lic .t{font-family:"Space Grotesk",monospace; font-size:9.5px; letter-spacing:.2em; color:var(--bp); font-weight:700; flex:none;}
@media(max-width:860px){ .p-profile{grid-template-columns:1fr; gap:28px;} }
.p-history{border-top:1px solid var(--line); margin-top:10px;}
.p-history__row{display:grid; grid-template-columns:120px 1fr; gap:24px; padding:20px 4px; border-bottom:1px solid var(--line); font-size:14.5px;}
.p-history__row .y{font-family:"Space Grotesk",monospace; font-weight:700; color:var(--bp); font-variant-numeric:tabular-nums;}
.p-tbl{width:100%; border-collapse:separate; border-spacing:0; background:#fff; border:1px solid var(--line-soft); border-radius:var(--r-m); overflow:hidden; box-shadow:var(--sh-s); margin-top:10px;}
.p-tbl th{width:180px; text-align:left; font-size:13px; color:var(--muted); font-weight:700; padding:18px 22px; border-bottom:1px solid var(--line-soft); vertical-align:top; background:var(--paper);}
.p-tbl td{font-size:14.5px; color:var(--body); padding:18px 22px; border-bottom:1px solid var(--line-soft);}
.p-tbl tr:last-child th,.p-tbl tr:last-child td{border-bottom:none;}
@media(max-width:680px){ .p-tbl th{width:110px; padding:14px 14px;} .p-tbl td{padding:14px 14px;} }

/* FAQ（固定ページ：details/summary・JS不要） */
.faq-cat{font-family:"Space Grotesk",monospace; font-size:11px; letter-spacing:.3em; color:var(--amber); font-weight:700; margin:64px 0 8px;}
.faq-cat:first-child{margin-top:0;}
.faq-list{border-top:1px solid var(--line);}
.faq-list details{border-bottom:1px solid var(--line); background:transparent; transition:background .3s;}
.faq-list details[open]{background:rgba(251,248,240,.7);}
.faq-list summary{list-style:none; cursor:pointer; display:flex; align-items:center; gap:16px; padding:24px 8px; min-height:44px;}
.faq-list summary::-webkit-details-marker{display:none;}
.faq-list .qn{font-family:"Space Grotesk",monospace; font-size:12.5px; color:var(--amber); letter-spacing:.1em; font-weight:700; flex:0 0 auto; font-variant-numeric:tabular-nums;}
.faq-list .qt{font-family:"Shippori Mincho",serif; font-size:clamp(16px,2vw,19px); font-weight:600; color:var(--ink); flex:1; font-feature-settings:"palt";}
.faq-list .ico{flex:0 0 auto; width:18px; height:18px; position:relative;}
.faq-list .ico::before,.faq-list .ico::after{content:""; position:absolute; background:var(--bp); border-radius:2px;}
.faq-list .ico::before{top:8px; left:0; width:18px; height:2px;}
.faq-list .ico::after{top:0; left:8px; width:2px; height:18px; transition:opacity .3s, transform .3s;}
.faq-list details[open] .ico::after{opacity:0; transform:rotate(90deg);}
.faq-list .ans{padding:0 8px 28px 46px; color:var(--body); font-size:14.5px; max-width:46em; line-height:2.05;}
@media(max-width:680px){ .faq-list .ans{padding-left:8px;} }

/* お問い合わせ（contact） */
.p-contact{display:grid; grid-template-columns:1fr 380px; gap:clamp(36px,5vw,64px); align-items:start;}
@media(max-width:920px){ .p-contact{grid-template-columns:1fr; gap:36px;} }
.p-side{display:grid; gap:20px;}
.p-side__card{background:#fff; border:1px solid var(--line-soft); border-radius:var(--r-m); box-shadow:var(--sh-s); padding:28px 30px;}
.p-side__card .k{font-family:"Space Grotesk",monospace; font-size:10px; letter-spacing:.26em; color:var(--amber); font-weight:700; display:block; margin-bottom:12px;}
.p-side__tel{font-family:"Space Grotesk",monospace; font-weight:700; font-size:28px; color:var(--bp); letter-spacing:.02em; font-variant-numeric:tabular-nums;}
.p-side__card p{font-size:13px; color:var(--body); margin-top:10px; line-height:1.95;}
.form-grid{display:grid; gap:24px; margin-top:8px;}
.form-grid label{display:block;}
.form-grid .lb{display:flex; align-items:center; gap:10px; font-weight:700; color:var(--ink); font-size:14px; margin-bottom:10px;}
.form-grid .req{font-size:10px; color:#fff; background:var(--amber); border-radius:3px; padding:2px 8px; letter-spacing:.08em;}
.form-grid .opt{font-size:10px; color:var(--muted); border:1px solid var(--line); border-radius:3px; padding:2px 8px; letter-spacing:.08em;}
.form-grid input[type="text"],.form-grid input[type="email"],.form-grid input[type="tel"],.form-grid input[type="date"],.form-grid select,.form-grid textarea{
  width:100%; font:inherit; font-size:15px; color:var(--ink); background:#fff; border:1px solid var(--line); padding:14px 16px; min-height:48px; border-radius:var(--r-s); transition:border-color .25s, box-shadow .25s;}
.form-grid input:hover,.form-grid select:hover,.form-grid textarea:hover{border-color:rgba(20,58,99,.4);}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:none; border-color:var(--bp); box-shadow:0 0 0 3px rgba(20,58,99,.14);}
.form-grid textarea{min-height:150px; resize:vertical;}
.form-grid .agree{display:flex; gap:10px; align-items:flex-start; font-size:13.5px; color:var(--body);}
.form-grid .agree input{margin-top:4px; width:18px; height:18px; accent-color:var(--bp);}
.form-grid .agree a{color:var(--bp); text-decoration:underline; text-underline-offset:3px;}
.form-send{margin-top:10px;}
.form-note{font-size:12.5px; color:var(--muted); margin-top:16px;}

/* 固定ページ末尾CTA帯 */
.page-cta{background:
    radial-gradient(circle at 84% 118%, rgba(217,120,24,.26), transparent 44%),
    radial-gradient(circle at 10% -20%, rgba(207,226,244,.12), transparent 40%),
    linear-gradient(135deg,var(--bp-ink),var(--bp)); color:#EAF2FB; text-align:center; padding:clamp(96px,11vw,150px) 0; position:relative; overflow:hidden;}
.page-cta::before{content:""; position:absolute; inset:0; pointer-events:none; opacity:.45;
  background:linear-gradient(rgba(207,226,244,.10) 1px, transparent 1px) 0 0/100% 52px,
             linear-gradient(90deg, rgba(207,226,244,.10) 1px, transparent 1px) 0 0/52px 100%;}
.page-cta .wrap{position:relative; z-index:1;}
.page-cta h2{color:#fff; font-size:clamp(26px,2.4vw + 14px,44px); font-weight:600; line-height:1.5;}
.page-cta p{color:rgba(234,242,251,.78); font-size:14.5px; margin:18px auto 0; max-width:34em; line-height:2.1;}
.page-cta .btns{display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-top:40px;}
.page-cta .btn--w{background:#fff; color:var(--bp); box-shadow:0 8px 18px -8px rgba(0,0,0,.35), 0 24px 48px -18px rgba(0,0,0,.5);}
.page-cta .btn--w:hover{transform:translateY(-3px); background:var(--amber-soft); color:var(--bp-ink);}
.page-cta .btn--gw{border-color:rgba(234,242,251,.5); color:#EAF2FB;}
.page-cta .btn--gw:hover{background:rgba(234,242,251,.14);}
@media(max-width:680px){
  .page-cta .btns{flex-direction:column; align-items:stretch;}
}


/* 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}}

/* sample41 blog hero: keep long Japanese titles readable on every photo */
.post-hero__bg::after{
  background:linear-gradient(90deg,rgba(9,18,27,.96) 0%,rgba(9,18,27,.9) 62%,rgba(9,18,27,.7) 100%);
}
.post-hero .wrap{max-width:1160px}
.post-hero h1{
  width:min(100%,820px);
  margin:18px 0 0;
  padding:18px 22px 20px;
  border-left:5px solid var(--accent,#ff4d21);
  background:rgba(9,18,27,.76);
  color:#fff;
  font-size:clamp(30px,4vw,50px);
  font-weight:800;
  line-height:1.38;
  letter-spacing:.015em;
  text-shadow:0 2px 12px rgba(0,0,0,.8);
  box-shadow:0 18px 48px rgba(0,0,0,.22);
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
}
.post-hero__meta,.post-hero .crumb{
  width:max-content;
  max-width:100%;
  padding:6px 10px;
  background:rgba(9,18,27,.72);
  text-shadow:0 1px 6px rgba(0,0,0,.9);
}
@media(max-width:600px){
  .post-hero{min-height:440px;padding:120px 18px 48px;align-items:flex-end}
  .post-hero h1{padding:15px 16px 17px;font-size:clamp(27px,8vw,36px);line-height:1.42}
  .post-hero .crumb{font-size:11px;line-height:1.7}
}

/* ===== Fixed-page chrome refresh: inspection dossier header ===== */
.site-header{
  --signal:#ff4d21;
  background:rgba(9,18,27,.96);
  border-bottom:1px solid rgba(255,255,255,.16);
  box-shadow:none;
  color:#fff;
}
.site-header.is-scrolled{
  background:rgba(9,18,27,.9);
  box-shadow:0 18px 44px -28px rgba(0,0,0,.72);
}
.hd-util{
  position:relative;
  height:36px;
  max-height:36px;
  border-bottom:0;
  background:var(--signal);
  color:var(--bp-night);
}
.hd-util::before{
  content:"STATUS / INSPECTION DESK OPEN";
  position:absolute;
  left:28px;
  top:50%;
  transform:translateY(-50%);
  font-family:"Space Grotesk",monospace;
  font-size:9px;
  font-weight:700;
  letter-spacing:.17em;
  opacity:.78;
}
.hd-util__in{padding-block:7px}
.hd-util__in{height:36px;padding-block:0;line-height:1.2}
.site-header.is-scrolled .hd-util{height:0}
.hd-util__l{margin-left:230px}
.hd-util__l,.hd-util__r,.hd-util__tel{color:var(--bp-night)}
.hd-util__l a:hover{color:#fff}
.hd-main{position:relative;min-height:80px;padding-block:12px}
.site-header.is-scrolled .hd-main{min-height:64px;padding-block:8px}
.hd-main::after{
  content:"";
  position:absolute;
  left:28px;
  right:28px;
  bottom:-1px;
  height:1px;
  background:linear-gradient(90deg,var(--signal) 0 8%,rgba(255,255,255,.18) 8% 100%);
}
.hd-logo img{filter:brightness(0) invert(1);height:38px}
.hd-nav{align-self:stretch;gap:5px}
.hd-nav a{
  display:flex;
  align-items:center;
  color:rgba(255,255,255,.72);
  padding:9px 14px;
  font-size:13px;
  transition:color .25s,background .25s;
}
.hd-nav a::after{display:none}
.hd-nav a:hover{color:#fff;background:rgba(255,255,255,.07)}
.hd-nav a[aria-current]{
  color:var(--bp-night);
  background:var(--signal);
  clip-path:polygon(8px 0,100% 0,100% 100%,0 100%,0 8px);
}
.hd-cta{
  background:var(--signal);
  border-color:var(--signal);
  color:var(--bp-night);
  box-shadow:none;
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
}
.hd-cta:hover{background:#fff;color:var(--bp-night);box-shadow:none}

.page-hero{
  min-height:clamp(430px,48vw,620px);
  display:flex;
  align-items:flex-end;
  padding:clamp(92px,10vw,140px) 0 clamp(76px,8vw,105px);
  background:
    linear-gradient(90deg,rgba(9,18,27,.98) 0%,rgba(9,18,27,.92) 53%,rgba(9,18,27,.58) 100%),
    url('../../src/inspector-zumen.jpg') center 48%/cover;
}
.page-hero::before{
  opacity:.34;
  background:
    linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px) 0 0/100% 48px,
    linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px) 0 0/48px 100%;
  -webkit-mask-image:linear-gradient(90deg,#000,transparent 80%);
  mask-image:linear-gradient(90deg,#000,transparent 80%);
}
.page-hero::after{
  content:"CASE FILE";
  left:auto;
  right:-.03em;
  top:50%;
  bottom:auto;
  width:auto;
  height:auto;
  transform:translateY(-50%);
  background:none;
  color:transparent;
  -webkit-text-stroke:1px rgba(255,255,255,.16);
  font-family:"Space Grotesk",sans-serif;
  font-size:clamp(90px,15vw,220px);
  font-weight:700;
  letter-spacing:-.07em;
  line-height:.8;
  white-space:nowrap;
}
.page-hero .wrap{width:min(1180px,calc(100% - 56px))}
.page-hero .wrap::before{
  content:"";
  position:absolute;
  left:-28px;
  top:0;
  bottom:0;
  width:1px;
  background:var(--amber);
  box-shadow:0 0 24px 3px rgba(217,120,24,.28);
}
.page-hero .wrap::after{
  content:"SCAN / VERIFIED";
  position:absolute;
  left:-21px;
  top:50%;
  transform:translateY(-50%) rotate(90deg);
  transform-origin:left top;
  color:var(--amber-soft);
  font-family:"Space Grotesk",monospace;
  font-size:8px;
  letter-spacing:.22em;
  white-space:nowrap;
}
.page-hero .bc{margin-bottom:46px;color:rgba(255,255,255,.48)}
.page-hero .eyebrow{color:var(--amber);letter-spacing:.28em}
.page-hero h1{
  max-width:12em;
  font-size:clamp(42px,5.2vw,74px);
  font-weight:700;
  line-height:1.28;
  letter-spacing:-.015em;
  margin-top:20px;
}
.page-hero .pl{max-width:42em;margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.26)}

@media(max-width:980px){
  .hd-util::before{display:none}
  .hd-util__l{margin-left:0}
  .hd-spnav{border-top-color:rgba(255,255,255,.14);background:rgba(9,18,27,.96)}
  .hd-spnav a{color:rgba(255,255,255,.8)}
  .hd-spnav a[aria-current]{color:var(--amber)}
}
@media(max-width:680px){
  .hd-util{display:none}
  .hd-main{padding:13px 18px}
  .hd-main::after{left:18px;right:18px}
  .hd-logo img{height:29px}
  .page-hero{min-height:480px;padding:88px 0 64px;background-position:62% center}
  .page-hero::after{font-size:94px;right:-.12em;top:36%}
  .page-hero .wrap{width:calc(100% - 48px)}
  .page-hero .wrap::before,.page-hero .wrap::after{display:none}
  .page-hero .bc{margin-bottom:36px}
  .page-hero h1{font-size:clamp(38px,11vw,48px);line-height:1.4;word-break:auto-phrase}
  .page-hero .pl{font-size:13px;line-height:2}
}

