/* ひかり眼科 共有CSS（index.html の <style> から書き出し） */

    :root{
      --night:#101820; --night-2:#1a2733; --night-deep:#0a1016;
      --aqua:#69c6c2; --aqua-deep:#2e8f8a; --aqua-ink:#1d6561; --aqua-soft:#e4f3f2;
      --gold:#e8c376;
      --bg:#ffffff; --soft:#f2f7f7; --paper:#fbfdfd;
      --ink:#142028; --body:#3c4a53; --muted:#71808a;
      --line:rgba(20,32,40,.13); --line-soft:rgba(20,32,40,.07); --line-aqua:rgba(105,198,194,.45); --line-white:rgba(238,243,246,.16);
      --txt-night:#eef3f6; --muted-night:rgba(238,243,246,.62);
    }
    *{box-sizing:border-box;}
    html{scroll-behavior:smooth;}
    body{margin:0; color:var(--body); background:var(--bg); font-family:"Zen Kaku Gothic New",sans-serif; font-size:16px; line-height:1.9; -webkit-font-smoothing:antialiased; overflow-x:hidden;}
    img{max-width:100%; display:block;}
    a{color:inherit; text-decoration:none;}
    .mono{font-family:"Space Grotesk",monospace; letter-spacing:.05em;}
    .mincho{font-family:"Shippori Mincho",serif;}
    h1,h2,h3{margin:0; color:var(--ink); font-family:"Shippori Mincho",serif; font-weight:700; line-height:1.55;}
    h1,h2,h3,.lead,.btn,summary{word-break:auto-phrase; text-wrap:balance;}
    .l-sec{padding:104px 0; position:relative;}
    .l-in{width:min(1120px,calc(100% - 48px)); margin:0 auto; position:relative; z-index:1;}
    .l-eyebrow{display:inline-flex; align-items:center; gap:10px; font-family:"Space Grotesk",monospace; font-size:11.5px; letter-spacing:.3em; text-transform:uppercase; color:var(--aqua-deep);}
    .l-eyebrow::before{content:""; width:13px; height:13px; border:3px solid currentColor; border-radius:50%; -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite:exclude; clip-path:polygon(0 0,100% 0,100% 38%,62% 38%,62% 62%,100% 62%,100% 100%,0 100%);}
    .l-h2{font-size:clamp(26px,4vw,42px); margin:12px 0 0;}
    .l-note{font-size:12px; color:var(--muted); letter-spacing:.04em;}
    body.is-locked{overflow:hidden;}

    /* ===== header（header-12 翻案：予約特化・本日の予約状況バッジ／アクア×夜青） ===== */
    .c-hd{position:sticky; top:0; z-index:80; background:rgba(255,255,255,.96); backdrop-filter:blur(8px); border-bottom:1px solid var(--line-soft); box-shadow:0 2px 20px -14px rgba(16,24,32,.5);}
    .c-hd__in{max-width:1280px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:11px 26px;}
    .c-hd__logo{display:flex; align-items:center; gap:11px;}
    .c-hd__mark{position:relative; width:40px; height:40px; border-radius:50%; background:var(--night); flex:none;}
    .c-hd__mark::before{content:""; position:absolute; inset:9px; border:5px solid var(--aqua); border-radius:50%;}
    .c-hd__mark::after{content:""; position:absolute; right:5px; top:50%; transform:translateY(-50%); width:9px; height:7px; background:var(--night);}
    .c-hd__name{font-family:"Shippori Mincho",serif; font-weight:700; font-size:20px; letter-spacing:.08em; color:var(--ink); line-height:1.25;}
    .c-hd__name small{display:block; font-family:"Zen Kaku Gothic New",sans-serif; font-weight:500; font-size:10px; letter-spacing:.16em; color:var(--muted);}
    .c-hd__nav{display:flex; gap:20px;}
    .c-hd__nav a{font-size:13.5px; font-weight:700; color:var(--ink); white-space:nowrap; padding:4px 0; border-bottom:2px solid transparent;}
    .c-hd__nav a:hover{color:var(--aqua-deep); border-bottom-color:var(--aqua);}
    .c-hd__stat{display:flex; align-items:center; gap:8px; border:1.5px solid var(--aqua-deep); border-radius:999px; padding:6px 14px; background:var(--aqua-soft); white-space:nowrap;}
    .c-hd__pulse{position:relative; width:8px; height:8px; border-radius:50%; background:var(--aqua-deep); flex:none;}
    .c-hd__pulse::after{content:""; position:absolute; inset:-4px; border-radius:50%; border:2px solid var(--aqua-deep); opacity:.55; animation:hdPulse 1.9s ease-out infinite;}
    @keyframes hdPulse{to{transform:scale(2.1); opacity:0;}}
    .c-hd__stat b{font-size:12.5px; color:var(--aqua-ink); letter-spacing:.02em;}
    .c-hd__stat small{font-family:"Space Grotesk",monospace; font-size:9.5px; letter-spacing:.14em; color:var(--muted);}
    .c-hd__convs{display:flex; align-items:center; gap:10px;}
    .c-hd__tel{display:inline-flex; flex-direction:column; align-items:center; border:1.5px solid var(--night); color:var(--ink); padding:7px 14px; line-height:1.3;}
    .c-hd__tel .num{font-family:"Space Grotesk",monospace; font-weight:700; font-size:16px;}
    .c-hd__tel small{font-size:9px; letter-spacing:.08em; color:var(--muted);}
    .c-hd__btn{display:inline-flex; flex-direction:column; align-items:center; background:var(--night); color:var(--aqua); padding:8px 20px; line-height:1.35; box-shadow:0 10px 18px -10px rgba(16,24,32,.6); transition:background .3s;}
    .c-hd__btn b{font-size:14px; letter-spacing:.1em;}
    .c-hd__btn small{font-size:9px; letter-spacing:.12em; color:rgba(238,243,246,.75);}
    .c-hd__btn:hover{background:var(--aqua-ink);}
    .c-hd__menu{display:none; width:42px; height:42px; border:none; border-radius:50%; background:var(--night); cursor:pointer; position:relative; flex:none;}
    .c-hd__menu i{position:absolute; left:50%; top:50%; width:16px; height:2px; background:var(--aqua); transform:translate(-50%,-50%); transition:transform .35s,opacity .25s;}
    .c-hd__menu i:nth-child(1){transform:translate(-50%,calc(-50% - 5px));}
    .c-hd__menu i:nth-child(3){transform:translate(-50%,calc(-50% + 5px));}
    body.is-menu-open .c-hd__menu i:nth-child(1){transform:translate(-50%,-50%) rotate(45deg);}
    body.is-menu-open .c-hd__menu i:nth-child(2){opacity:0;}
    body.is-menu-open .c-hd__menu i:nth-child(3){transform:translate(-50%,-50%) rotate(-45deg);}
    @media(max-width:1180px){ .c-hd__nav{display:none;} .c-hd__menu{display:block;} }
    @media(max-width:760px){ .c-hd__stat small{display:none;} .c-hd__tel{display:none;} .c-hd__btn{display:none;} }

    /* ===== spmenu（spmenu-03：フルスクリーン＋下部固定 電話/予約バー） ===== */
    .c-sp{position:fixed; inset:0; z-index:75; background:
        radial-gradient(70% 50% at 80% 0%, rgba(105,198,194,.16) 0%, transparent 60%),
        linear-gradient(165deg,#101820 0%,#0a1016 100%);
      opacity:0; visibility:hidden; transition:opacity .45s,visibility .45s;}
    body.is-menu-open .c-sp{opacity:1; visibility:visible;}
    .c-sp__in{height:100%; display:flex; flex-direction:column; justify-content:center; padding:0 9vw 110px; max-width:560px; margin:0 auto;}
    .c-sp__lb{font-family:"Space Grotesk",monospace; font-size:9.5px; letter-spacing:.32em; color:var(--aqua); margin-bottom:12px; opacity:0; transition:opacity .4s ease .08s;}
    body.is-menu-open .c-sp__lb{opacity:1;}
    .c-sp__item{display:flex; align-items:baseline; gap:14px; color:var(--txt-night); padding:13px 0; border-bottom:1px solid var(--line-white);
      opacity:0; transform:translateY(14px); transition:opacity .45s ease,transform .45s cubic-bezier(.22,1,.36,1);}
    body.is-menu-open .c-sp__item{opacity:1; transform:none;}
    body.is-menu-open .c-sp__item:nth-child(2){transition-delay:.1s;} body.is-menu-open .c-sp__item:nth-child(3){transition-delay:.16s;}
    body.is-menu-open .c-sp__item:nth-child(4){transition-delay:.22s;} body.is-menu-open .c-sp__item:nth-child(5){transition-delay:.28s;}
    body.is-menu-open .c-sp__item:nth-child(6){transition-delay:.34s;} body.is-menu-open .c-sp__item:nth-child(7){transition-delay:.4s;}
    .c-sp__no{font-family:"Space Grotesk",monospace; font-size:9.5px; letter-spacing:.2em; color:var(--aqua); width:2.4em; flex:none;}
    .c-sp__tx{font-family:"Shippori Mincho",serif; font-size:20px; letter-spacing:.1em; font-weight:600;}
    .c-sp__sns{display:flex; gap:18px; margin-top:22px; font-family:"Space Grotesk",monospace; font-size:9.5px; letter-spacing:.22em; opacity:0; transition:opacity .5s ease .46s;}
    body.is-menu-open .c-sp__sns{opacity:1;}
    .c-sp__sns a{color:var(--muted-night);}
    .c-spbar{position:fixed; left:0; right:0; bottom:0; z-index:78; display:none; grid-template-columns:1fr 1.3fr; background:#fff; border-top:1px solid var(--line); box-shadow:0 -14px 30px -18px rgba(10,16,22,.45);}
    .c-spbar a{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; padding:11px 6px 14px; line-height:1.3;}
    .c-spbar__tel{color:var(--ink);}
    .c-spbar__tel b{font-family:"Space Grotesk",monospace; font-size:15px;}
    .c-spbar__tel small{font-size:9px; color:var(--muted);}
    .c-spbar__rsv{background:var(--aqua-ink); color:#fff;}
    .c-spbar__rsv b{font-size:14px; letter-spacing:.1em;}
    .c-spbar__rsv small{font-size:9px; opacity:.85;}
    @media(max-width:880px){ .c-spbar{display:grid;} body{padding-bottom:62px;} }

    /* ===== FV（fv-77 FocusPull 移植：blur→focus・夜景実写data:URI温存） ===== */
    .c-fv{position:relative; width:100%; height:100vh; min-height:620px; overflow:hidden; background:var(--night); color:var(--txt-night);}
    .c-fv__world{position:absolute; inset:-4%; filter:blur(26px) saturate(.7); transform:scale(1.06);
      animation:fvFocus 3.0s cubic-bezier(.3,.1,.2,1) .4s forwards;
      background:
        radial-gradient(34% 50% at 78% 64%, rgba(105,198,194,.20) 0%, transparent 60%),
        linear-gradient(168deg, rgba(26,39,51,.66) 0%, rgba(16,24,32,.6) 56%, rgba(10,16,22,.78) 100%),
        linear-gradient(168deg,#1a2733,#0a1016);}
    @keyframes fvFocus{to{filter:blur(0) saturate(1); transform:scale(1);}}
    .c-fv__lights span{position:absolute; border-radius:50%; background:radial-gradient(circle at 38% 32%, #fff, var(--c,#e8c376) 55%, transparent 72%); opacity:.85;}
    .c-fv__city{position:absolute; left:0; bottom:0; width:100%; height:26vh; background:linear-gradient(0deg,#070b10 0 38%, transparent 100%);}
    .c-fv__city::before{content:""; position:absolute; inset:0; background:repeating-linear-gradient(90deg, rgba(238,243,246,.06) 0 2px, transparent 2px 64px);}
    .c-fv__ring{position:absolute; right:11vw; top:16vh; width:90px; height:90px; border:14px solid rgba(238,243,246,.16); border-radius:50%;}
    .c-fv__ring::after{content:""; position:absolute; right:-16px; top:50%; transform:translateY(-50%); width:22px; height:16px; background:var(--night);}
    .c-fv__copy{position:absolute; left:8vw; bottom:15vh; z-index:5; display:flex; flex-direction:column; align-items:flex-start;}
    .c-fv__kicker{font-family:"Space Grotesk",monospace; font-size:11px; letter-spacing:.46em; color:var(--aqua); margin:0 0 18px; opacity:0; animation:fvRise 1.2s ease 2.3s forwards;}
    .c-fv__copy h1{font-size:clamp(32px,5.2vw,68px); font-weight:600; line-height:1.65; letter-spacing:.1em; margin:0; color:var(--txt-night); opacity:0; animation:fvRise 1.4s ease 2.5s forwards;}
    .c-fv__lead{font-size:clamp(12.5px,1.45vw,15px); line-height:2.1; letter-spacing:.12em; color:rgba(238,243,246,.78); margin:20px 0 0; max-width:30em; opacity:0; animation:fvRise 1.4s ease 2.8s forwards;}
    .c-fv__cta{align-self:flex-start; display:inline-block; margin-top:28px; padding:15px 44px; border:1px solid var(--aqua); color:var(--aqua);
      font-weight:700; letter-spacing:.24em; white-space:nowrap; opacity:0; animation:fvRise 1.2s ease 3.1s forwards; transition:background .3s,color .3s;}
    .c-fv__cta:hover{background:var(--aqua); color:var(--night);}
    .c-fv__meta{position:absolute; right:6vw; bottom:6vh; z-index:5; text-align:right; font-size:10.5px; letter-spacing:.3em; color:rgba(238,243,246,.5); line-height:2.1; opacity:0; animation:fvRise 1.2s ease 3.3s forwards;}
    @keyframes fvRise{from{opacity:0; transform:translateY(18px);} to{opacity:1; transform:translateY(0);}}
    @media(max-width:768px){ .c-fv{height:92svh;} .c-fv__copy{left:7vw; right:7vw; bottom:13vh;} .c-fv__meta,.c-fv__ring{display:none;} }
    @media(prefers-reduced-motion: reduce){
      .c-fv__world{animation:none; filter:none; transform:none;}
      .c-fv__kicker,.c-fv__copy h1,.c-fv__lead,.c-fv__cta,.c-fv__meta{animation:none; opacity:1;}
    }

    /* ===== intro（sec-intro-01：フルブリード写真＋夜青オーバーレイ＋方眼＋コーナーティック） ===== */
    .c-intro{position:relative; min-height:74vh; display:flex; align-items:flex-end; overflow:hidden; background:var(--night-2);}
    .c-intro__bg{position:absolute; inset:0;}
    .c-intro__bg img{width:100%; height:100%; object-fit:cover;}
    .c-intro__ov{position:absolute; inset:0; background:
      linear-gradient(180deg, rgba(10,16,22,.28) 0%, rgba(10,16,22,.62) 55%, rgba(10,16,22,.88) 100%),
      linear-gradient(115deg, rgba(16,40,56,.55), rgba(105,198,194,.22) 85%);}
    .c-intro__grid{position:absolute; inset:0; pointer-events:none; opacity:.14;
      background-image:linear-gradient(rgba(238,243,246,.6) 1px,transparent 1px),linear-gradient(90deg,rgba(238,243,246,.6) 1px,transparent 1px);
      background-size:64px 64px; -webkit-mask-image:linear-gradient(180deg,transparent,#000 45%); mask-image:linear-gradient(180deg,transparent,#000 45%);}
    .c-intro__ticks{position:absolute; top:26px; left:26px; right:26px; bottom:26px; pointer-events:none;}
    .c-intro__ticks i{position:absolute; width:16px; height:16px; border:2px solid var(--aqua);}
    .c-intro__ticks .tl{top:0; left:0; border-right:0; border-bottom:0;} .c-intro__ticks .tr{top:0; right:0; border-left:0; border-bottom:0;}
    .c-intro__ticks .bl{bottom:0; left:0; border-right:0; border-top:0;} .c-intro__ticks .br{bottom:0; right:0; border-left:0; border-top:0;}
    .c-intro__body{position:relative; z-index:3; padding:120px 7vw 10vh; max-width:1180px;}
    .c-intro__body .l-eyebrow{color:var(--aqua);}
    .c-intro__body h2{font-size:clamp(28px,4.8vw,56px); line-height:1.5; color:var(--txt-night); margin:18px 0 0; text-shadow:0 2px 30px rgba(0,0,0,.45);}
    .c-intro__lead{margin:22px 0 0; max-width:33em; color:rgba(238,243,246,.84); font-size:15.5px;}
    .c-intro__pains{display:flex; gap:10px; flex-wrap:wrap; margin-top:26px; padding:0; list-style:none;}
    .c-intro__pains li{border:1px solid rgba(238,243,246,.4); color:rgba(238,243,246,.85); border-radius:999px; padding:7px 18px; font-size:12.5px; letter-spacing:.04em;}
    @media(max-width:768px){ .c-intro{min-height:78vh;} .c-intro__body{padding:90px 26px 9vh;} }

    /* ===== message（sec-message-07：院長の診療メモ・手書きノート風） ===== */
    .c-msg{background:var(--soft);}
    .c-msg__head{text-align:center;}
    .c-msg__memo{width:min(660px,100%); margin:52px auto 0; position:relative; transform:rotate(-.6deg);
      background:repeating-linear-gradient(180deg, transparent 0 35px, rgba(105,198,194,.32) 35px 36px), #fdfefe;
      padding:56px 44px 44px; box-shadow:0 26px 60px -28px rgba(20,32,40,.35); border:1px solid var(--line-soft);}
    .c-msg__tape{position:absolute; top:-14px; left:50%; width:150px; height:30px; transform:translateX(-50%) rotate(1.6deg);
      background:rgba(105,198,194,.35); box-shadow:0 2px 6px rgba(0,0,0,.08);}
    .c-msg__date{font-size:14px; color:var(--muted); margin:0 0 8px;}
    .c-msg__memo h3{font-size:clamp(21px,2.8vw,27px); margin:0 0 22px; display:inline-block; border-bottom:3px double var(--aqua-deep); padding-bottom:4px;}
    .c-msg__memo p{font-size:clamp(15.5px,1.9vw,18px); line-height:36px; margin:0 0 36px; color:var(--ink); word-break:auto-phrase;}
    .c-msg__memo p.sub{color:var(--body);}
    .c-msg__maru{position:relative; white-space:nowrap;}
    .c-msg__maru svg{position:absolute; left:-6%; top:-22%; width:112%; height:150%; pointer-events:none;}
    .c-msg__maru svg ellipse{fill:none; stroke:var(--aqua-deep); stroke-width:2.4; opacity:.85;}
    .c-msg__fusen{position:absolute; right:-14px; bottom:46px; width:150px; padding:13px 13px 16px; background:#fff3cd; transform:rotate(3.4deg);
      font-size:12.5px; line-height:1.7; color:#5a4a14; box-shadow:0 8px 18px rgba(0,0,0,.12);}
    .c-msg__sign{text-align:right; font-family:"Shippori Mincho",serif; font-size:17px; margin:0;}
    .c-msg__ps{text-align:center; margin-top:34px; font-family:"Space Grotesk",monospace; font-size:10.5px; letter-spacing:.3em; color:var(--muted);}
    @media(max-width:680px){ .c-msg__memo{padding:48px 24px 38px;} .c-msg__fusen{right:-6px; width:120px;} }

    /* ===== reasons（sec-reasons-05：POINTグラデ帯×大判写真・左右交互） ===== */
    .c-rsn{background:var(--bg);}
    .c-rsn__head{text-align:center; margin-bottom:56px;}
    .c-rsn__item{display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:center; margin-bottom:64px;}
    .c-rsn__item:last-child{margin-bottom:0;}
    .c-rsn__item:nth-child(odd) .c-rsn__pic{order:2;}
    .c-rsn__pic{position:relative; z-index:1;}
    .c-rsn__pic img{width:100%; height:320px; object-fit:cover;}
    .c-rsn__bd{position:relative; z-index:2;}
    .c-rsn__band{display:inline-flex; align-items:center; gap:14px; position:relative; z-index:3; margin-left:-90px;
      background:linear-gradient(90deg,var(--aqua-ink),rgba(29,101,97,0)); color:#fff; padding:11px 76px 11px 20px; box-shadow:0 14px 28px -14px rgba(29,101,97,.55);}
    .c-rsn__item:nth-child(odd) .c-rsn__band{margin-left:0;}
    .c-rsn__band .lab{font-family:"Space Grotesk",monospace; font-size:12.5px; letter-spacing:.18em;}
    .c-rsn__band .bn{position:absolute; right:8px; top:-14px; font-family:"Shippori Mincho",serif; font-weight:700; font-size:52px; line-height:1;
      color:transparent; -webkit-text-stroke:1.5px rgba(255,255,255,.6);}
    .c-rsn__bd h3{font-size:clamp(20px,2.5vw,27px); margin:20px 0 10px;}
    .c-rsn__bd h3 .ac{color:var(--aqua-ink);}
    .c-rsn__bd p{color:var(--body); font-size:14.5px; margin:0; max-width:28em;}
    @media(max-width:780px){ .c-rsn__item{grid-template-columns:1fr; gap:22px;} .c-rsn__item:nth-child(odd) .c-rsn__pic{order:0;} .c-rsn__band{margin-left:0;} .c-rsn__pic img{height:220px;} }

    /* ===== features（sec-features-02：横スクロール・ピン4カード） ===== */
    .c-feat{background:var(--soft); padding-bottom:0;}
    .c-feat__head{width:min(1180px,calc(100% - 48px)); margin:0 auto; padding-top:0;}
    .c-feat__h2{font-family:"Zen Kaku Gothic New",sans-serif; font-weight:700; font-size:clamp(28px,4.6vw,54px); line-height:1.25; margin:14px 0 0; color:var(--ink);}
    .c-feat__h2 .mk{color:var(--aqua-deep);}
    .c-feat__pin{height:100vh; display:flex; align-items:center; overflow:hidden;}
    .c-feat__track{display:flex; gap:28px; padding:0 6vw; will-change:transform;}
    .c-feat__card{flex:0 0 min(410px,82vw); background:#fff; border:1px solid var(--line-soft); overflow:hidden; box-shadow:0 24px 48px -34px rgba(16,24,32,.4);}
    .c-feat__ph{position:relative; aspect-ratio:16/10; overflow:hidden; background:#dde6e8;}
    .c-feat__ph img{width:100%; height:100%; object-fit:cover;}
    .c-feat__ph .n{position:absolute; left:18px; top:12px; font-family:"Shippori Mincho",serif; font-size:48px; font-weight:700; color:#fff; text-shadow:0 2px 14px rgba(0,0,0,.55);}
    .c-feat__bd{padding:28px 28px 32px;}
    .c-feat__bd h3{font-family:"Zen Kaku Gothic New",sans-serif; font-weight:700; font-size:22px; margin:0 0 10px;}
    .c-feat__bd p{color:var(--body); font-size:14px; margin:0;}
    .c-feat__tag{display:inline-block; margin-top:16px; font-family:"Space Grotesk",monospace; font-size:10.5px; letter-spacing:.14em; color:var(--aqua-ink); border:1px solid var(--aqua-deep); border-radius:99px; padding:4px 12px;}
    @media(max-width:880px){ .c-feat__pin{height:auto; display:block; padding:24px 0 80px;} .c-feat__track{flex-direction:column; padding:0 24px;} .c-feat__card{flex:none;} }

    /* ===== numbers（sec-numbers-12：写真マスク特大数字・夜青地） ===== */
    .c-num{background:var(--night); color:var(--txt-night); padding:120px 0;}
    .c-num .l-eyebrow{color:var(--aqua);}
    .c-num__h2{color:var(--txt-night); font-size:clamp(26px,4vw,42px); margin:12px 0 0;}
    .c-num__head{display:flex; justify-content:space-between; align-items:flex-end; gap:24px;}
    .c-num__head .n{font-family:"Space Grotesk",monospace; font-size:10.5px; letter-spacing:.24em; color:var(--muted-night); white-space:nowrap;}
    .c-num__feature{text-align:center; margin-top:26px;}
    .c-num__big{display:inline-block; font-family:"Space Grotesk",monospace; font-weight:700; line-height:.94; letter-spacing:-.04em;
      font-size:clamp(130px,27vw,330px);
      background-image:linear-gradient(rgba(105,198,194,.28),rgba(105,198,194,.28)),url('src/surgery.jpg');
      background-size:cover; background-position:50% 35%;
      -webkit-background-clip:text; background-clip:text; color:transparent;
      -webkit-text-stroke:1px rgba(238,243,246,.22);}
    .c-num__big .un{font-size:.34em; letter-spacing:0;}
    .c-num__sub{font-family:"Shippori Mincho",serif; font-weight:700; font-size:clamp(18px,2.5vw,28px); margin:10px 0 0; letter-spacing:.14em; color:var(--txt-night);}
    .c-num__ds{font-size:13px; color:var(--muted-night); max-width:34em; margin:14px auto 0;}
    .c-num__sides{display:grid; grid-template-columns:repeat(3,1fr); margin-top:72px; border-top:1px solid var(--line-white);}
    .c-num__side{padding:28px 18px 6px; text-align:center; border-right:1px solid var(--line-white);}
    .c-num__side:last-child{border-right:none;}
    .c-num__side .v{font-family:"Space Grotesk",monospace; font-weight:700; font-size:clamp(26px,3.4vw,40px); color:var(--txt-night);}
    .c-num__side .v small{font-family:"Shippori Mincho",serif; font-size:.5em; color:var(--aqua); margin-left:3px;}
    .c-num__side .k{font-size:11.5px; color:var(--muted-night); display:block; margin-top:4px; letter-spacing:.12em;}
    .c-num__note{margin-top:24px; font-size:10.5px; color:var(--muted-night); text-align:right; letter-spacing:.1em;}
    @media(max-width:680px){ .c-num{padding:90px 0;} .c-num__head{flex-direction:column; align-items:flex-start;} .c-num__sides{grid-template-columns:1fr;} .c-num__side{border-right:none; border-bottom:1px solid var(--line-white); padding:20px 10px;} .c-num__side:last-child{border-bottom:none;} }

    /* ===== services（sec-services-05：俯瞰写真ホットスポット＝院内マップ） ===== */
    .c-map{background:var(--bg); overflow:hidden;}
    .c-map__head{display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:36px;}
    .c-map__head .n{font-family:"Space Grotesk",monospace; font-size:10.5px; letter-spacing:.22em; color:var(--muted); white-space:nowrap;}
    .c-map__scene{position:relative; border:1px solid var(--line); outline:1px solid var(--line); outline-offset:5px;}
    .c-map__frame{position:relative; overflow:hidden; height:min(62vh,540px);}
    .c-map__frame img{width:100%; height:100%; object-fit:cover; filter:saturate(.96);}
    .c-map__shade{position:absolute; inset:0; background:linear-gradient(180deg,rgba(10,16,22,.06),rgba(10,16,22,.22));}
    .c-map__tag{position:absolute; left:14px; top:12px; background:rgba(16,24,32,.82); color:var(--aqua); font-family:"Space Grotesk",monospace; font-size:9.5px; letter-spacing:.24em; padding:5px 12px; z-index:6;}
    .c-map__hs{position:absolute; z-index:7; width:34px; height:34px; margin:-17px 0 0 -17px; cursor:pointer;}
    .c-map__hs .btn{position:absolute; inset:0; border-radius:50%; background:var(--aqua-ink); color:#fff; display:flex; align-items:center; justify-content:center;
      font-family:"Space Grotesk",monospace; font-size:18px; box-shadow:0 6px 16px -4px rgba(10,16,22,.5); transition:transform .3s,background .3s;}
    .c-map__hs:hover .btn{transform:scale(1.14);}
    .c-map__hs.is-on .btn{background:var(--night); transform:rotate(45deg);}
    .c-map__hs .pulse{position:absolute; inset:0; border-radius:50%; border:2px solid rgba(105,198,194,.7); animation:mapPls 2.2s ease-out infinite;}
    @keyframes mapPls{0%{transform:scale(1); opacity:.9;} 100%{transform:scale(2.4); opacity:0;}}
    .c-map__tip{position:absolute; left:50%; bottom:calc(100% + 14px); transform:translateX(-50%); width:17em; background:#fff; border:1px solid var(--line);
      box-shadow:0 22px 44px -20px rgba(10,16,22,.5); padding:15px 17px; opacity:0; pointer-events:none; transition:opacity .35s,transform .35s; z-index:9;}
    .c-map__hs.is-on .c-map__tip{opacity:1; pointer-events:auto; transform:translateX(-50%) translateY(-4px);}
    .c-map__tip::after{content:''; position:absolute; left:50%; top:100%; transform:translateX(-50%); border:7px solid transparent; border-top-color:#fff;}
    .c-map__tip.is-flip{bottom:auto; top:calc(100% + 14px);}
    .c-map__tip.is-flip::after{top:auto; bottom:100%; border-top-color:transparent; border-bottom-color:#fff;}
    .c-map__tip .no{font-family:"Space Grotesk",monospace; font-size:9px; letter-spacing:.24em; color:var(--aqua-ink); display:block; margin-bottom:5px;}
    .c-map__tip h3{font-size:16px; margin:0 0 6px; letter-spacing:.06em;}
    .c-map__tip p{font-size:11.5px; color:var(--body); margin:0; line-height:1.8;}
    .c-map__index{display:flex; gap:10px; margin-top:24px; flex-wrap:wrap;}
    .c-map__ix{display:flex; align-items:center; gap:9px; border:1px solid var(--line); background:var(--paper); padding:9px 16px; font-size:12px; cursor:pointer; transition:background .3s,color .3s;}
    .c-map__ix i{font-family:"Space Grotesk",monospace; font-style:normal; font-size:10px; color:var(--aqua-ink); letter-spacing:.14em;}
    .c-map__ix:hover,.c-map__ix.is-on{background:var(--night); color:var(--txt-night);}
    .c-map__ix:hover i,.c-map__ix.is-on i{color:var(--aqua);}
    @media(max-width:680px){ .c-map__head{flex-direction:column; align-items:flex-start;} .c-map__frame{height:44vh;} .c-map__tip{width:13em;} }

    /* ===== staff（sec-staff-05：チームオービット） ===== */
    .c-staff{background:var(--soft); padding-bottom:84px; overflow:hidden;}
    .c-staff__head{text-align:center; margin-bottom:8px;}
    .c-staff__head p{font-size:13.5px; color:var(--muted); max-width:32em; margin:12px auto 0;}
    .c-staff__space{position:relative; width:min(600px,92vw); height:min(600px,92vw); margin:0 auto;}
    .c-staff__ring{position:absolute; left:50%; top:50%; border:1px dashed rgba(20,32,40,.26); border-radius:50%; transform:translate(-50%,-50%);}
    .c-staff__ring.r1{width:46%; height:46%;}
    .c-staff__ring.r2{width:82%; height:82%;}
    .c-staff__orbit{position:absolute; inset:0; animation:stSpin 56s linear infinite;}
    .c-staff__orbit.o2{animation:stSpinRev 88s linear infinite;}
    .c-staff__pos{position:absolute; left:50%; top:50%; width:84px; height:84px; margin:-42px 0 0 -42px;}
    .c-staff__item{width:100%; height:100%; position:relative; animation:stSpinRev 56s linear infinite;}
    .c-staff__orbit.o2 .c-staff__item{animation:stSpin 88s linear infinite;}
    .c-staff__space:hover .c-staff__orbit,.c-staff__space:hover .c-staff__item{animation-play-state:paused;}
    @keyframes stSpin{to{transform:rotate(360deg);}}
    @keyframes stSpinRev{to{transform:rotate(-360deg);}}
    .c-staff__av{width:100%; height:100%; border-radius:50%; overflow:hidden; border:3px solid #fff; box-shadow:0 10px 26px -10px rgba(16,24,32,.4); cursor:pointer; background:#dde6e8;}
    .c-staff__av img{width:100%; height:100%; object-fit:cover; object-position:center top; transition:transform .35s;}
    .c-staff__item:hover .c-staff__av img{transform:scale(1.12);}
    .c-staff__cmark{width:58%; height:58%; margin:21%; border:8px solid rgba(105,198,194,.55); border-radius:50%; position:relative;}
    .c-staff__cmark::after{content:""; position:absolute; right:-10px; top:50%; transform:translateY(-50%); width:14px; height:10px; background:var(--soft);}
    .c-staff__nm{position:absolute; left:50%; top:calc(100% + 8px); transform:translateX(-50%); white-space:nowrap; background:var(--night); color:var(--txt-night);
      font-size:11px; letter-spacing:.12em; padding:4px 12px; opacity:0; transition:opacity .3s; pointer-events:none; z-index:5;}
    .c-staff__nm small{color:var(--aqua); font-family:"Space Grotesk",monospace; font-size:9px; letter-spacing:.18em; margin-right:8px;}
    .c-staff__item:hover .c-staff__nm{opacity:1;}
    .c-staff__core{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:28%; aspect-ratio:1; border-radius:50%; background:var(--night); color:var(--txt-night);
      display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:4px; z-index:3;}
    .c-staff__core .t1{font-family:"Space Grotesk",monospace; font-size:9.5px; letter-spacing:.3em; color:var(--aqua);}
    .c-staff__core .t2{font-family:"Shippori Mincho",serif; font-weight:700; font-size:clamp(17px,2.4vw,26px); letter-spacing:.1em; line-height:1.5;}
    .c-staff__core .t3{font-family:"Space Grotesk",monospace; font-size:9.5px; letter-spacing:.2em; color:var(--muted-night);}
    .c-staff__hint{text-align:center; font-size:11px; color:var(--muted); letter-spacing:.2em; margin-top:8px;}
    @media(max-width:680px){ .c-staff__pos{width:62px; height:62px; margin:-31px 0 0 -31px;} }
    @media(prefers-reduced-motion:reduce){ .c-staff__orbit,.c-staff__item{animation:none;} }

    /* ===== voice（sec-voice-13：インタビュー＋アーカイブ索引） ===== */
    .c-vc{background:var(--bg);}
    .c-vc__top{display:grid; grid-template-columns:.82fr 1.18fr; gap:48px; align-items:stretch;}
    .c-vc__pic{position:relative; background:#dde6e8; overflow:hidden; min-height:400px;}
    .c-vc__pic img{width:100%; height:100%; object-fit:cover;}
    .c-vc__frame{position:absolute; left:-12px; top:-12px; width:92px; height:92px; border-left:3px solid var(--aqua-deep); border-top:3px solid var(--aqua-deep); z-index:2;}
    .c-vc__credit{position:absolute; left:16px; bottom:14px; color:#fff; font-family:"Space Grotesk",monospace; font-size:10.5px; letter-spacing:.1em; text-shadow:0 1px 6px rgba(0,0,0,.5);}
    .c-vc__txt{display:flex; flex-direction:column; justify-content:center;}
    .c-vc__title{font-size:clamp(24px,3.1vw,38px); line-height:1.35; margin:12px 0 16px;}
    .c-vc__meta{font-family:"Space Grotesk",monospace; font-size:11.5px; color:var(--muted); letter-spacing:.08em; border-top:1px solid var(--line); padding-top:14px; margin-bottom:22px;}
    .c-vc__meta b{color:var(--aqua-ink); font-size:14px;}
    .c-vc__quote{font-family:"Shippori Mincho",serif; font-weight:600; font-size:clamp(19px,2.3vw,28px); line-height:1.6; margin:0; max-width:21em; color:var(--ink);}
    .c-vc__quote .qm{color:var(--aqua-deep);}
    .c-vc__cap{font-size:12px; color:var(--muted); margin-top:16px; letter-spacing:.04em;}
    .c-vc__index{list-style:none; margin:56px 0 0; padding:0; border-top:1px solid var(--ink);}
    .c-vc__row{display:grid; grid-template-columns:56px 1fr 170px 110px; gap:18px; align-items:baseline; padding:20px 8px 20px 4px; border-bottom:1px solid var(--line); transition:background .25s,padding .25s;}
    .c-vc__row:hover{background:rgba(105,198,194,.08); padding-left:14px;}
    .c-vc__row .no{font-family:"Space Grotesk",monospace; font-size:12.5px; color:var(--aqua-ink); letter-spacing:.06em;}
    .c-vc__row .q{font-family:"Shippori Mincho",serif; font-size:clamp(15px,1.7vw,19px); font-weight:500; margin:0; color:var(--ink);}
    .c-vc__row .nm{font-size:12.5px; color:var(--body);}
    .c-vc__row .tr{font-family:"Space Grotesk",monospace; font-size:10.5px; color:var(--muted); letter-spacing:.08em; text-align:right; text-transform:uppercase;}
    .c-vc__note{margin-top:20px; text-align:right;}
    @media(max-width:880px){ .c-vc__top{grid-template-columns:1fr; gap:26px;} .c-vc__pic{min-height:300px;} .c-vc__row{grid-template-columns:42px 1fr; gap:6px 14px;} .c-vc__row .nm{grid-column:2;} .c-vc__row .tr{display:none;} }

    /* ===== process（sec-process-05：其の一〜四＋ランドルト環シール） ===== */
    .c-flow{background:var(--aqua-soft);}
    .c-flow__head{text-align:center; margin-bottom:52px;}
    .c-flow__steps{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
    .c-flow__step{position:relative; background:#fff; border:1px solid var(--line-soft); padding:32px 22px 56px; display:flex; gap:16px; box-shadow:0 16px 36px -28px rgba(16,24,32,.4);}
    .c-flow__vh{writing-mode:vertical-rl; font-family:"Shippori Mincho",serif; font-weight:800; font-size:21px; letter-spacing:.18em; border-right:2px solid var(--aqua-deep); padding-right:11px; color:var(--ink); flex:none;}
    .c-flow__bd h3{font-size:18px; margin:0 0 8px;}
    .c-flow__bd p{color:var(--body); font-size:13px; margin:0; line-height:1.85;}
    .c-flow__seal{position:absolute; right:12px; bottom:12px; width:46px; height:46px; border-radius:50%; border:7px solid rgba(46,143,138,.5); transform:rotate(-10deg);}
    .c-flow__seal::after{content:""; position:absolute; right:-9px; top:50%; transform:translateY(-50%); width:12px; height:9px; background:#fff;}
    @media(max-width:980px){ .c-flow__steps{grid-template-columns:repeat(2,1fr);} }
    @media(max-width:640px){ .c-flow__steps{grid-template-columns:1fr;} }

    /* ===== pricing（sec-pricing-07：料金表＋医療費控除スライダー） ===== */
    .c-price{background:var(--bg);}
    .c-price__head{text-align:center; margin-bottom:40px;}
    .c-price__head p{font-size:13.5px; color:var(--muted); max-width:34em; margin:14px auto 0;}
    .c-price__table{list-style:none; margin:0 0 56px; padding:0; border-top:1px solid var(--ink);}
    .c-price__tr{display:grid; grid-template-columns:1fr auto; gap:14px; align-items:baseline; padding:18px 6px; border-bottom:1px solid var(--line);}
    .c-price__tr .nm{font-family:"Shippori Mincho",serif; font-weight:600; font-size:clamp(15px,1.8vw,18px); color:var(--ink);}
    .c-price__tr .nm small{display:block; font-family:"Zen Kaku Gothic New",sans-serif; font-weight:400; font-size:11.5px; color:var(--muted); margin-top:2px;}
    .c-price__tr .pv{font-family:"Space Grotesk",monospace; font-weight:700; font-size:clamp(17px,2.2vw,22px); color:var(--ink); white-space:nowrap;}
    .c-price__tr .pv small{font-family:"Zen Kaku Gothic New",sans-serif; font-weight:400; font-size:11px; color:var(--muted); margin-left:4px;}
    .c-price__sim{background:var(--paper); border:1px solid var(--line); box-shadow:0 30px 56px -38px rgba(16,24,32,.45); padding:clamp(24px,4.2vw,46px);}
    .c-price__row1{display:flex; justify-content:space-between; align-items:baseline; gap:14px; flex-wrap:wrap; margin-bottom:6px;}
    .c-price__row1 .q{font-family:"Shippori Mincho",serif; font-weight:700; font-size:clamp(16px,2.1vw,21px); letter-spacing:.08em; color:var(--ink);}
    .c-price__row1 .vw{font-family:"Space Grotesk",monospace; font-size:13px; letter-spacing:.08em; color:var(--aqua-ink);}
    .c-price__row1 .vw b{font-size:clamp(22px,2.7vw,29px);}
    .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(--aqua-deep) 0 var(--p,38%),#dbe7e6 var(--p,38%) 100%);}
    .c-price__sld input[type=range]::-webkit-slider-thumb{-webkit-appearance:none; appearance:none; width:32px; height:32px; border-radius:50%; background:#fff;
      border:4px solid var(--aqua-deep); box-shadow:0 6px 16px -4px rgba(16,24,32,.45); cursor:grab;}
    .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:20px;}
    .c-price__presets{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:28px;}
    .c-price__pre{border:1px solid var(--line); background:#fff; border-radius:999px; padding:7px 18px; font-size:12px; cursor:pointer; transition:background .25s,color .25s,border-color .25s;}
    .c-price__pre:hover,.c-price__pre.is-on{background:var(--night); color:var(--txt-night); border-color:var(--night);}
    .c-price__result{display:grid; grid-template-columns:1fr 1fr; gap:clamp(18px,3.2vw,40px); align-items:center; border-top:1px solid var(--line); padding-top:26px;}
    .c-price__big .k{font-family:"Space Grotesk",monospace; font-size:10px; letter-spacing:.26em; color:var(--aqua-ink); text-transform:uppercase; display:block; margin-bottom:6px;}
    .c-price__big .v{font-family:"Space Grotesk",monospace; font-weight:700; font-size:clamp(38px,6vw,60px); line-height:1; letter-spacing:-.02em; color:var(--ink);}
    .c-price__big .v small{font-family:"Shippori Mincho",serif; font-size:.36em; margin-left:4px;}
    .c-price__big .s{font-size:11.5px; color:var(--muted); display:block; margin-top:8px;}
    .c-price__brk{font-size:12px;}
    .c-price__brk .b{display:flex; justify-content:space-between; gap:10px; padding:7px 2px; border-bottom:1px dashed var(--line);}
    .c-price__brk .b:last-child{border-bottom:none;}
    .c-price__brk .b span:last-child{font-family:"Space Grotesk",monospace;}
    .c-price__foot{display:flex; justify-content:space-between; align-items:center; margin-top:22px; 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);}
    @media(max-width:680px){ .c-price__result{grid-template-columns:1fr;} }

    /* ===== faq（sec-faq-08：ブロブカード・アコーディオン） ===== */
    .c-faq{background:var(--aqua-ink); color:#fff;}
    .c-faq__layout{display:grid; grid-template-columns:.7fr 1.3fr; gap:40px; align-items:start;}
    .c-faq__side h2{font-size:clamp(32px,4.6vw,52px); margin:0; color:#fff; line-height:1.3; letter-spacing:.04em;}
    .c-faq__side .eb{font-family:"Space Grotesk",monospace; font-size:12px; letter-spacing:.3em; color:rgba(255,255,255,.7); margin-top:10px;}
    .c-faq__side p{font-size:13px; color:rgba(255,255,255,.78); margin-top:18px; max-width:17em;}
    .c-faq__item{background:#fff; color:var(--ink); border-radius:30px 38px 28px 42px; margin-bottom:16px; overflow:hidden; box-shadow:0 18px 40px -20px rgba(0,0,0,.3);}
    .c-faq__q{display:flex; align-items:center; gap:15px; padding:19px 24px; cursor:pointer; width:100%; border:0; background:none; text-align:left; font:inherit; color:inherit;}
    .c-faq__qi{flex:0 0 auto; width:42px; height:42px; border-radius:13px 15px 11px 17px; background:var(--night); color:var(--aqua); display:flex; align-items:center; justify-content:center; font-family:"Shippori Mincho",serif; font-weight:800; font-style:italic; font-size:19px;}
    .c-faq__tx{flex:1; font-weight:700; font-size:15.5px; color:var(--ink);}
    .c-faq__pl{font-size:24px; color:var(--aqua-ink); transition:transform .3s; font-weight:300;}
    .c-faq__item.is-open .c-faq__pl{transform:rotate(45deg);}
    .c-faq__a{max-height:0; overflow:hidden; transition:max-height .5s ease;}
    .c-faq__item.is-open .c-faq__a{max-height:360px;}
    .c-faq__ain{margin:0 22px 22px; background:var(--aqua-soft); border-radius:22px 28px 20px 30px; padding:17px 21px; display:flex; gap:14px;}
    .c-faq__ai{flex:0 0 auto; width:38px; height:38px; border-radius:12px; background:var(--aqua-deep); color:#fff; display:flex; align-items:center; justify-content:center; font-family:"Shippori Mincho",serif; font-weight:800; font-size:17px;}
    .c-faq__ain p{margin:0; color:var(--body); font-size:14px; word-break:auto-phrase;}
    @media(max-width:760px){ .c-faq__layout{grid-template-columns:1fr; gap:22px;} }

    /* ===== news（sec-news-06：ひかり眼科新聞・号外スピンイン） ===== */
    .c-news{background:var(--night-2); overflow:hidden;}
    .c-news__head{text-align:center; margin-bottom:38px;}
    .c-news__head .l-eyebrow{color:var(--gold);}
    .c-news__h2{color:var(--txt-night); font-size:clamp(26px,4vw,42px); margin:12px 0 0;}
    .c-news__paper{background:#f6f4ec; color:#262a2e; box-shadow:0 50px 90px -40px rgba(0,0,0,.7); padding:clamp(22px,4vw,44px); position:relative;}
    .c-news__gogai{position:absolute; right:clamp(14px,3vw,32px); top:clamp(14px,3vw,28px); border:3px solid var(--aqua-ink); color:var(--aqua-ink);
      font-family:"Shippori Mincho",serif; font-weight:700; font-size:clamp(15px,2vw,22px); 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 #262a2e; padding-bottom:12px; flex-wrap:wrap;}
    .c-news__mast .nm{font-family:"Shippori Mincho",serif; font-weight:700; font-size:clamp(20px,3vw,32px); letter-spacing:.3em; color:#1a2228;}
    .c-news__mast .dt{font-family:"Space Grotesk",monospace; font-size:10px; letter-spacing:.18em; color:#7d8388;}
    .c-news__hl{font-family:"Shippori Mincho",serif; font-weight:700; font-size:clamp(28px,5.2vw,56px); line-height:1.45; margin:20px 0 6px; letter-spacing:.05em; color:#1a2228;}
    .c-news__hl b{background:linear-gradient(transparent 64%,rgba(105,198,194,.45) 64%); font-weight:700;}
    .c-news__sub{font-size:clamp(12.5px,1.5vw,14px); color:#7d8388; margin:0 0 20px; letter-spacing:.05em;}
    .c-news__grid{display:grid; grid-template-columns:1.25fr .9fr; gap:clamp(16px,3vw,30px); border-top:1px solid #262a2e; padding-top:18px;}
    .c-news__lede{font-size:13px; line-height:2; column-count:2; column-gap:22px; column-rule:1px solid #ddd8ca; 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:var(--aqua-ink);}
    .c-news__ph{border:1px solid #262a2e; padding:5px; background:#fff;}
    .c-news__ph img{width:100%; filter:grayscale(.35) contrast(1.05);}
    .c-news__ph .cap{display:block; font-size:10px; color:#7d8388; padding:6px 2px 2px; letter-spacing:.06em;}
    .c-news__others{border-top:2px solid #262a2e; margin-top:22px; padding-top:13px;}
    .c-news__ot{font-family:"Shippori Mincho",serif; font-weight:700; font-size:12.5px; letter-spacing:.26em; color:var(--aqua-ink); 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:7px 0; border-bottom:1px dotted #ddd8ca;}
    .c-news__others li .d{font-family:"Space Grotesk",monospace; font-size:9.5px; letter-spacing:.1em; color:#7d8388; white-space:nowrap;}
    .c-news__note{margin-top:16px; text-align:center; font-size:10.5px; color:rgba(238,243,246,.5); letter-spacing:.1em;}
    @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;} }

    /* ===== blog（sec-blog-03：記事カードマーキー） ===== */
    .c-blog{background:var(--soft);}
    .c-blog__head{width:min(1120px,calc(100% - 48px)); margin:0 auto 36px; display:flex; justify-content:space-between; align-items:flex-end; position:relative;}
    .c-blog__head::before{content:""; position:absolute; left:0; top:-16px; width:18px; height:18px; border-left:2px solid var(--aqua-deep); border-top:2px solid var(--aqua-deep);}
    .c-blog__more{font-family:"Space Grotesk",monospace; font-size:12px; color:var(--muted);}
    .c-blog__mq{overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);}
    .c-blog__track{display:flex; gap:24px; width:max-content; padding:6px 0 22px; will-change:transform;}
    .c-blog__card{flex:0 0 320px; background:#fff; border:1px solid var(--line-soft); overflow:hidden; color:inherit; box-shadow:0 18px 40px -30px rgba(16,24,32,.5);}
    .c-blog__card img{width:100%; height:190px; object-fit:cover;}
    .c-blog__bd{padding:18px 22px 22px;}
    .c-blog__meta{display:flex; gap:12px; align-items:center; margin-bottom:8px;}
    .c-blog__d{font-family:"Space Grotesk",monospace; font-size:11px; color:var(--aqua-ink);}
    .c-blog__cat{font-size:10px; border:1px solid var(--line); border-radius:20px; padding:3px 10px; color:var(--muted);}
    .c-blog__card h3{font-size:16.5px; margin:0; line-height:1.55;}
    @media(max-width:680px){ .c-blog__card{flex-basis:255px;} }

    /* ===== footer（footer-03：CTA一体型＋NAP） ===== */
    .c-ft{background:var(--night-deep); color:var(--txt-night);}
    .c-ft__cta{position:relative; max-width:1200px; margin:0 auto; padding:68px 30px; display:grid; grid-template-columns:1fr auto; gap:30px; align-items:center; border-bottom:1px solid var(--line-white); overflow:hidden;}
    .c-ft__cta::after{content:""; position:absolute; inset:0; background:radial-gradient(440px 380px at calc(100% + 20px) -20px,rgba(105,198,194,.28),transparent 68%); pointer-events:none;}
    .c-ft__cta h2{position:relative; font-weight:800; font-size:clamp(25px,3.6vw,44px); line-height:1.4; margin:0; color:var(--txt-night);}
    .c-ft__cta h2 .mk{color:var(--aqua);}
    .c-ft__cta p{position:relative; margin:12px 0 0; font-size:13.5px; color:var(--muted-night); max-width:30em;}
    .c-ft__btns{position:relative; display:flex; gap:14px; flex-wrap:wrap;}
    .c-ft__btn{padding:15px 30px; font-weight:700; font-size:14.5px; white-space:nowrap; letter-spacing:.06em;}
    .c-ft__btn.p{background:var(--aqua); color:var(--night);}
    .c-ft__btn.p:hover{background:#8ad6d2;}
    .c-ft__btn.g{border:1.5px solid rgba(238,243,246,.5); color:var(--txt-night);}
    .c-ft__info{max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; padding:52px 30px;}
    .c-ft__nap .nm{font-family:"Shippori Mincho",serif; font-weight:700; font-size:23px; display:flex; align-items:center; gap:10px;}
    .c-ft__nap .nm::before{content:""; width:20px; height:20px; border:5px solid var(--aqua); border-radius:50%; clip-path:polygon(0 0,100% 0,100% 38%,60% 38%,60% 62%,100% 62%,100% 100%,0 100%); flex:none;}
    .c-ft__nap p{color:var(--muted-night); font-size:13.5px; line-height:2; margin:14px 0 0;}
    .c-ft__nap .tel{font-family:"Space Grotesk",monospace; color:var(--txt-night); font-weight:700; font-size:18px; letter-spacing:.04em; margin-top:10px;}
    .c-ft__col h4{font-family:"Space Grotesk",monospace; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--aqua); margin:0 0 14px;}
    .c-ft__col a{display:block; color:var(--txt-night); font-size:13.5px; padding:6px 0; opacity:.85;}
    .c-ft__col a:hover{opacity:1; color:var(--aqua);}
    .c-ft__cp{border-top:1px solid var(--line-white);}
    .c-ft__cp .in{max-width:1200px; margin:0 auto; padding:18px 30px; font-family:"Space Grotesk",monospace; font-size:11px; color:var(--muted-night); display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;}
    @media(max-width:820px){ .c-ft__cta{grid-template-columns:1fr;} .c-ft__info{grid-template-columns:1fr; gap:28px;} }

    /* ===== popup（sec-cta-03：ポップアップCTA・スクロールで1回） ===== */
    .c-pop__bg{position:fixed; inset:0; z-index:90; background:rgba(10,16,22,.6); backdrop-filter:blur(3px); opacity:0; pointer-events:none; transition:opacity .35s;}
    .c-pop__bg.is-open{opacity:1; pointer-events:auto;}
    .c-pop{position:fixed; z-index:91; left:50%; bottom:50%; transform:translate(-50%,50%) scale(.9); opacity:0; pointer-events:none;
      transition:transform .45s cubic-bezier(.2,.9,.3,1),opacity .35s; width:min(440px,calc(100% - 40px)); background:#fff; overflow:hidden; box-shadow:0 40px 90px -30px rgba(0,0,0,.55);}
    .c-pop.is-open{opacity:1; pointer-events:auto; transform:translate(-50%,50%) scale(1);}
    .c-pop__img{position:relative; aspect-ratio:16/8; overflow:hidden;}
    .c-pop__img img{width:100%; height:100%; object-fit:cover;}
    .c-pop__tag{position:absolute; left:16px; top:14px; background:var(--aqua-ink); color:#fff; font-family:"Space Grotesk",monospace; font-size:10.5px; letter-spacing:.1em; padding:5px 12px;}
    .c-pop__body{padding:26px 28px 30px; text-align:center;}
    .c-pop__body h3{font-size:22px; margin:0 0 10px;}
    .c-pop__body p{color:var(--body); font-size:13.5px; margin:0 0 20px;}
    .c-pop__btn{display:block; background:var(--night); color:var(--aqua); font-weight:700; padding:14px; letter-spacing:.08em;}
    .c-pop__btn:hover{background:var(--aqua-ink); color:#fff;}
    .c-pop__sub{display:block; margin-top:12px; font-size:12px; color:var(--muted); cursor:pointer; background:none; border:0; font-family:inherit; width:100%;}
    .c-pop__close{position:absolute; top:12px; right:12px; width:34px; height:34px; border-radius:50%; border:0; background:rgba(10,16,22,.5); color:#fff; font-size:17px; cursor:pointer; z-index:3;}
  
/* ===== 固定ページ共通（page-hero ほか） ===== */
.p-hero{background:var(--night); color:var(--txt-night); padding:78px 0 60px; position:relative; overflow:hidden;}
.p-hero::after{content:""; position:absolute; right:-40px; top:-60px; width:220px; height:220px; border:30px solid rgba(105,198,194,.14); border-radius:50%;
  clip-path:polygon(0 0,100% 0,100% 40%,58% 40%,58% 60%,100% 60%,100% 100%,0 100%);}
.p-hero .l-eyebrow{color:var(--aqua);}
.p-hero h1{font-size:clamp(28px,4.4vw,44px); color:var(--txt-night); margin:12px 0 0;}
.p-hero p{margin:14px 0 0; color:var(--muted-night); font-size:14px; max-width:36em;}
.p-body{padding:72px 0 96px;}
.p-sec{margin-bottom:72px;}
.p-sec:last-child{margin-bottom:0;}
.p-h2{font-size:clamp(22px,3vw,32px); margin:0 0 18px; padding-left:16px; border-left:4px solid var(--aqua);}
.p-h3{font-size:clamp(17px,2.2vw,21px); margin:26px 0 10px; color:var(--ink);}
.p-lead{font-size:15px; color:var(--body); max-width:42em;}
.p-2col{display:grid; grid-template-columns:.9fr 1.1fr; gap:40px; align-items:start;}
.p-2col img{width:100%; height:auto; object-fit:cover;}
.p-tbl{width:100%; border-collapse:collapse; font-size:14px;}
.p-tbl th,.p-tbl td{border:1px solid var(--line); padding:12px 14px; text-align:left; vertical-align:top;}
.p-tbl th{background:var(--soft); font-weight:700; color:var(--ink); white-space:nowrap; width:9em;}
.p-hours{width:100%; border-collapse:collapse; font-size:13.5px; text-align:center;}
.p-hours th,.p-hours td{border:1px solid var(--line); padding:10px 6px;}
.p-hours th{background:var(--night); color:var(--txt-night); font-weight:500;}
.p-hours .on{color:var(--aqua-ink); font-weight:700;}
.p-hours .off{color:var(--muted);}
.p-list{margin:0; padding:0 0 0 1.3em; font-size:14.5px;}
.p-list li{margin-bottom:8px;}
.p-formbox{border:2px dashed var(--line-aqua); background:var(--aqua-soft); padding:40px 28px; text-align:center; color:var(--body); font-size:14px;}
.p-formbox b{display:block; font-size:16px; color:var(--ink); margin-bottom:8px;}
.p-mapbox{border:1px solid var(--line); background:var(--soft); height:320px; display:flex; align-items:center; justify-content:center; color:var(--muted); font-size:13px; letter-spacing:.1em;}
.p-cta{margin-top:56px; background:var(--night); color:var(--txt-night); padding:36px 32px; display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap;}
.p-cta b{font-family:"Shippori Mincho",serif; font-size:clamp(18px,2.4vw,24px); font-weight:700;}
.p-cta .c-ft__btn.p{flex:none;}
@media(max-width:780px){ .p-2col{grid-template-columns:1fr;} }

/* ===== 追加下層ページ（料金・お知らせ・投稿） ===== */
.p-muted{color:var(--muted);}
.p-cardgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.p-card{background:#fff; border:1px solid var(--line-soft); box-shadow:0 18px 40px -32px rgba(16,24,32,.35); padding:26px;}
.p-card .tag{display:inline-block; font-family:"Space Grotesk",monospace; font-size:10px; letter-spacing:.18em; color:var(--aqua-ink); border:1px solid var(--line-aqua); border-radius:999px; padding:4px 10px; margin-bottom:12px;}
.p-card h3{font-size:20px; margin:0 0 8px;}
.p-price{display:flex; align-items:baseline; gap:6px; margin:12px 0 10px; color:var(--ink);}
.p-price b{font-family:"Space Grotesk",monospace; font-size:clamp(28px,4vw,42px); line-height:1;}
.p-price small{font-size:12px; color:var(--muted);}
.p-panel{background:var(--soft); border:1px solid var(--line-soft); padding:clamp(24px,4vw,42px);}
.p-kv{display:grid; grid-template-columns:repeat(4,1fr); gap:12px;}
.p-kv div{background:#fff; border:1px solid var(--line-soft); padding:18px;}
.p-kv b{display:block; font-family:"Shippori Mincho",serif; color:var(--ink); font-size:18px;}
.p-kv span{font-size:12px; color:var(--muted);}
.n-list{border-top:1px solid var(--ink);}
.n-row{display:grid; grid-template-columns:110px 120px 1fr auto; gap:18px; align-items:center; padding:20px 4px; border-bottom:1px solid var(--line); transition:background .25s,padding .25s;}
.n-row:hover{background:rgba(105,198,194,.08); padding-left:14px;}
.n-date{font-family:"Space Grotesk",monospace; color:var(--aqua-ink); font-size:12px; letter-spacing:.08em;}
.n-cat{display:inline-flex; justify-content:center; border:1px solid var(--line); border-radius:999px; padding:4px 12px; font-size:11px; color:var(--muted);}
.n-title{font-family:"Shippori Mincho",serif; color:var(--ink); font-size:18px; font-weight:700;}
.n-arr{font-family:"Space Grotesk",monospace; color:var(--muted);}
.post-wrap{width:min(860px,calc(100% - 48px)); margin:0 auto;}
.post-hero{padding:70px 0 46px; background:var(--night); color:var(--txt-night);}
.post-hero .post-meta{display:flex; gap:12px; align-items:center; flex-wrap:wrap; font-family:"Space Grotesk",monospace; color:var(--aqua); font-size:11px; letter-spacing:.12em;}
.post-hero h1{color:var(--txt-night); font-size:clamp(28px,4.5vw,46px); line-height:1.45; margin:14px 0;}
.post-hero p{color:var(--muted-night); margin:0; max-width:44em;}
.post-thumb{width:min(980px,calc(100% - 48px)); margin:38px auto 0; overflow:hidden; border:1px solid var(--line-white); box-shadow:0 28px 60px -42px rgba(0,0,0,.8);}
.post-thumb img{width:100%; height:360px; object-fit:cover;}
.post-body{padding:72px 0 92px;}
.post-body article{font-size:16px; line-height:2.05;}
.post-body h2{font-size:clamp(22px,3vw,30px); margin:48px 0 16px; padding-left:16px; border-left:4px solid var(--aqua);}
.post-body h3{font-size:20px; margin:30px 0 10px;}
.post-body p{margin:0 0 20px;}
.post-body ol,.post-body ul{padding-left:1.4em;}
.post-body li{margin-bottom:10px;}
.post-note{background:var(--soft); border:1px solid var(--line-soft); padding:18px 20px; font-size:13px; color:var(--muted);}
.post-nav{display:flex; justify-content:space-between; gap:14px; border-top:1px solid var(--line); padding-top:28px; margin-top:52px;}
.post-nav a{border:1px solid var(--line); padding:12px 18px; font-weight:700; color:var(--ink);}
.c-ft--wide .c-ft__cta{max-width:none; margin:0; padding:0; display:block; border-bottom:1px solid var(--line-white);}
.c-ft--wide .c-ft__cta-inner{position:relative; z-index:1; max-width:1200px; margin:0 auto; padding:68px 30px; display:grid; grid-template-columns:1fr auto; gap:30px; align-items:center;}
@media(max-width:900px){ .p-cardgrid{grid-template-columns:1fr;} .p-kv{grid-template-columns:1fr 1fr;} .n-row{grid-template-columns:1fr; gap:6px;} .n-arr{display:none;} .post-thumb img{height:240px;} .c-ft--wide .c-ft__cta-inner{grid-template-columns:1fr;} }
@media(max-width:560px){ .p-kv{grid-template-columns:1fr;} .post-nav{flex-direction:column;} }
