:root{
  --c-main:#2B2926; --c-main2:#37342F; --c-sub:#EFE7DA; --c-accent:#B08D57;
  --c-bg:#FAF8F4; --c-ink:#1B211E; --c-muted:#6B6F66; --c-line:#DCD5C8;
  --shadow-1:0 20px 40px -24px rgba(31,42,36,.35);
  --font-mincho:'Shippori Mincho',serif; --font-gothic:'Zen Kaku Gothic New',sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--c-bg);color:var(--c-ink);font-family:var(--font-gothic);line-height:1.8;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,.lead,.btn,summary{word-break:auto-phrase;text-wrap:balance;}
.wrap{width:min(1120px,calc(100% - 48px));margin:0 auto;}
.sec{padding:156px 0;position:relative;}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13.5px;letter-spacing:.2em;color:var(--c-accent);font-weight:700;text-transform:uppercase;margin-bottom:20px;}
.eyebrow::before{content:'';width:26px;height:1px;background:var(--c-accent);}
h2{font-family:var(--font-mincho);font-size:clamp(26px,3.4vw,40px);font-weight:800;line-height:1.5;margin:0 0 18px;color:var(--c-main);}
.lead{font-size:16.5px;color:var(--c-muted);line-height:1.95;}

/* ===== 英字ファースト見出し（要所要所のタイトルは英語で表現） ===== */
.sec-head{margin-bottom:0;}
.sec-head__en{display:flex;align-items:center;font-family:var(--font-mincho);font-weight:400;font-size:clamp(38px,5vw,64px);letter-spacing:.04em;line-height:1;color:var(--c-main);margin:0 0 18px;text-transform:uppercase;}
.sec-head__title{font-family:var(--font-mincho);font-weight:500;font-size:clamp(14.5px,1.5vw,16.5px);letter-spacing:.03em;line-height:1.8;color:var(--c-muted);margin:0 0 20px;max-width:22em;}
.c-services .sec-head__en,.c-process .sec-head__en{color:#fff;}
.c-services .sec-head__title,.c-process .sec-head__title{color:#fff;}
.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 30px;border-radius:2px;font-size:15px;font-weight:700;white-space:nowrap;transition:transform .25s ease,box-shadow .25s ease;}
.btn--primary{background:var(--c-main);background-clip:padding-box;color:#fff;border:1px solid var(--c-main);box-shadow:var(--shadow-1);}
.btn--primary:hover{transform:translateY(-2px);}
.btn--line{background:transparent;color:var(--c-main);border:1px solid var(--c-main);}
.btn--line:hover{background:var(--c-main);color:#fff;}
@media(max-width:640px){
  .btn:not(.hd__cta-wrap .btn){display:flex;width:80vw;max-width:400px;margin:0 auto;justify-content:center;text-align:center;white-space:normal;}
}

/* ===== HEADER (header-02 上品・中央ロゴ／FV上は透明白文字、スクロールで白背景に) ===== */
.hd{position:fixed;top:0;left:0;right:0;z-index:50;width:100%;background:transparent;border-bottom:1px solid transparent;transition:background .35s ease,border-color .35s ease;}
.hd.is-scrolled{background:rgba(250,248,244,.92);backdrop-filter:blur(6px);border-bottom:1px solid var(--c-line);}
.hd__main{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;padding:20px 24px;}
.hd__nav-l,.hd__nav-r{display:flex;align-items:center;gap:28px;font-size:14px;}
.hd__nav-l{justify-content:flex-start;}
.hd__nav-r{justify-content:flex-end;}
.hd__nav-r-links{display:flex;gap:28px;}
.hd__logo{display:flex;align-items:center;justify-self:center;}
.hd__logo .brandtext{font-family:var(--font-mincho);font-size:24px;font-weight:700;color:#fff;letter-spacing:.06em;transition:color .35s ease;}
.hd__cta-wrap{display:flex;align-items:center;gap:20px;}
.hd__cta-wrap .btn{padding:11px 20px;font-size:13px;min-width:132px;justify-content:center;}
.hd__cta-wrap .btn--primary{background:var(--c-accent);border-color:var(--c-accent);}
.hd__burger{display:none;flex-direction:column;gap:5px;width:26px;cursor:pointer;position:relative;z-index:60;}
.hd__burger span{height:1.5px;background:#fff;transition:transform .3s ease,opacity .3s ease,background .35s ease;}
.hd__nav-l a,.hd__nav-r a{position:relative;color:#fff;transition:color .35s ease;}
.hd__nav-l a::after,.hd__nav-r a::after{content:'';position:absolute;left:0;bottom:-4px;width:0;height:1px;background:var(--c-accent);transition:width .25s ease;}
.hd__nav-l a:hover::after,.hd__nav-r a:hover::after{width:100%;}
.hd:not(.is-scrolled) .hd__cta-wrap .btn--line{border-color:rgba(255,255,255,.7);color:#fff;}
.hd.is-scrolled .hd__logo .brandtext,.hd.is-scrolled .hd__nav-l a,.hd.is-scrolled .hd__nav-r a{color:var(--c-main);}
.hd.is-scrolled .hd__burger span{background:var(--c-main);}
@media(max-width:980px){
  .hd__nav-l,.hd__nav-r-links{display:none;}
  .hd__burger{display:flex;}
  .hd__main{grid-template-columns:auto 1fr auto;}
  .hd__logo{justify-self:start;}
  .hd__cta-wrap .btn--line{display:none;}
  .hd__cta-wrap .btn--primary{padding:9px 16px;font-size:12.5px;}
}
.hd__mobilepanel{position:fixed;top:0;right:0;bottom:0;width:min(320px,84vw);background:var(--c-bg);z-index:70;transform:translateX(100%);transition:transform .35s ease;padding:100px 32px 40px;display:flex;flex-direction:column;gap:26px;box-shadow:-20px 0 40px rgba(0,0,0,.08);}
.hd__mobilepanel.is-open{transform:translateX(0);}
.hd__mobilepanel a{font-size:17px;font-family:var(--font-mincho);color:var(--c-main);}
.hd__backdrop{position:fixed;inset:0;background:rgba(27,33,30,.4);z-index:65;opacity:0;pointer-events:none;transition:opacity .3s ease;}
.hd__backdrop.is-open{opacity:1;pointer-events:auto;}
main [id]{scroll-margin-top:110px;}

/* ===== HERO / FV (fv-19 Duotone transplant) ===== */
.hero{width:100%;position:relative;min-height:800px;background:#171615;overflow:hidden;display:flex;align-items:center;}
.hero__base,.hero__color{position:absolute;inset:0;background-size:cover;background-position:center;}
.hero__base{background-image:url('src/fv.jpg');filter:grayscale(1) contrast(1.05) brightness(.85);}
.hero__color{background-image:url('src/fv.jpg');clip-path:circle(0px at 50% 50%);}
.hero__scrim{position:absolute;inset:0;background:linear-gradient(100deg,rgba(23,22,21,.72) 0%,rgba(23,22,21,.42) 42%,rgba(23,22,21,.08) 68%);z-index:1;}
.hero-inner{position:relative;z-index:2;width:min(1340px,calc(100% - 48px));margin:0 auto;padding-top:120px;}
.hero__eyebrow{display:inline-flex;align-items:center;gap:12px;color:var(--c-sub);font-size:13px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:26px;}
.hero__eyebrow::before{content:'';width:32px;height:1px;background:var(--c-accent);}
.hero__en{font-family:var(--font-mincho);font-weight:700;color:#fff;font-size:clamp(56px,9vw,128px);line-height:.96;margin:0 0 24px;letter-spacing:.01em;text-transform:uppercase;}
.hero__title{font-family:var(--font-mincho);font-weight:700;color:var(--c-sub);font-size:clamp(16px,1.7vw,19px);letter-spacing:.14em;margin:0;}
.hero__hint{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);z-index:2;color:rgba(255,255,255,.55);font-size:11.5px;letter-spacing:.1em;display:flex;flex-direction:column;align-items:center;gap:8px;}
.hero__hint span{width:1px;height:34px;background:rgba(255,255,255,.4);}
@media(max-width:980px){
  .hero{min-height:88vh;display:block;}
  .hero-inner{padding-top:140px;padding-bottom:60px;}
}
@media(max-width:768px){
  .sec{padding:104px 0;}
  .c-reasons__grid,.c-services__row,.c-about__in,.c-process__in,.c-faq__in,.c-message__in{grid-template-columns:1fr;}
}

/* ===== ② 共感リード（sec-empathy-02 特大タイポと問いの色面） ===== */
.c-empathy{background:var(--c-main);color:var(--c-sub);position:relative;overflow:hidden;}
.c-empathy__mark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--font-mincho);font-weight:800;font-size:clamp(140px,24vw,380px);color:rgba(239,231,218,.045);letter-spacing:.02em;white-space:nowrap;pointer-events:none;z-index:0;line-height:1;user-select:none;}
.c-empathy__in{width:min(980px,calc(100% - 48px));margin:0 auto;text-align:left;position:relative;z-index:1;}
.c-empathy__q{font-family:var(--font-mincho);font-size:clamp(18px,2.1vw,25px);line-height:1.95;font-weight:500;}
.c-empathy__q .hi{color:var(--c-accent);display:inline;}

/* ===== ③ 選ばれる理由（sec-reasons-06 上品サロン3点カード） ===== */
.c-reasons{background:var(--c-bg);position:relative;overflow:hidden;}
.c-reasons__deco{position:absolute;top:-60px;right:-60px;width:320px;height:320px;opacity:.4;mix-blend-mode:multiply;z-index:0;pointer-events:none;}
.c-reasons__head{width:min(1120px,calc(100% - 48px));margin:0 auto 76px;max-width:640px;position:relative;z-index:1;}
.c-reasons__grid{position:relative;z-index:1;}
.c-reasons__icon{width:30px;height:30px;margin-bottom:16px;mix-blend-mode:multiply;opacity:.85;}
.c-reasons__grid{width:min(1120px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
.c-reasons__card{grid-column:span 1;background:#fff;border:1px solid var(--c-line);padding:44px 32px;position:relative;}
.c-reasons__card:first-child{grid-column:span 2;background:var(--c-main);color:var(--c-sub);}
.c-reasons__num{font-family:var(--font-mincho);font-size:15px;color:var(--c-accent);letter-spacing:.1em;margin-bottom:18px;display:block;}
.c-reasons__card:first-child .c-reasons__num{color:var(--c-accent);}
.c-reasons__card h3{font-family:var(--font-mincho);font-size:19px;margin:0 0 12px;line-height:1.6;}
.c-reasons__card p{font-size:14.5px;color:var(--c-muted);margin:0;line-height:1.85;}
.c-reasons__card:first-child p{color:rgba(239,231,218,.82);}
@media(max-width:900px){
  .c-reasons__grid{grid-template-columns:1fr;}
  .c-reasons__card:first-child{grid-column:span 1;}
}

/* ===== ④ サービス内容（sec-services-06 全画面背景切替インデックス・ダーク） ===== */
.c-services{background:var(--c-main);color:#fff;padding:0;}
.c-services__head{width:min(1120px,calc(100% - 48px));margin:0 auto;padding:156px 0 56px;}
.c-services__head .eyebrow{color:var(--c-accent);}
.c-services__head h2{color:#fff;}
.c-services__list{border-top:1px solid rgba(239,231,218,.18);}
.c-services__item{border-bottom:1px solid rgba(239,231,218,.18);position:relative;overflow:hidden;}
.c-services__row{width:min(1120px,calc(100% - 48px));margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:34px 0;cursor:default;position:relative;z-index:2;}
.c-services__row .name{font-family:var(--font-mincho);font-size:clamp(20px,2.6vw,30px);}
.c-services__row .name small{display:block;font-family:var(--font-gothic);font-weight:400;font-size:12px;letter-spacing:.06em;color:rgba(239,231,218,.55);margin-top:6px;}
.c-services__row .desc{font-size:13.5px;color:rgba(239,231,218,.65);max-width:22em;text-align:right;}
.c-services__bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .5s ease;z-index:1;}
.c-services__item:hover .c-services__bg{opacity:.32;}
.c-services__item:hover .c-services__row{padding-left:16px;}
@media(max-width:700px){
  .c-services__row{flex-direction:column;align-items:flex-start;gap:8px;}
  .c-services__row .desc{text-align:left;}
}

/* ===== ⑤ 実績・声（sec-voice-01 横スクロールの帯） ===== */
.c-voice{background:var(--c-bg);}
.c-voice__head{width:min(1120px,calc(100% - 48px));margin:0 auto 60px;}
.c-voice__track{display:flex;gap:24px;overflow-x:auto;padding:0 24px 20px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
.c-voice__track::-webkit-scrollbar{height:4px;}
.c-voice__track::-webkit-scrollbar-thumb{background:var(--c-line);}
.c-voice__card{flex:0 0 min(340px,80vw);scroll-snap-align:start;background:#fff;border:1px solid var(--c-line);padding:30px;}
.c-voice__portrait{width:56px;height:56px;border-radius:50%;object-fit:cover;margin-bottom:18px;}
.c-voice__quote{font-family:var(--font-mincho);font-size:16px;line-height:1.85;color:var(--c-ink);margin:0 0 16px;}
.c-voice__name{font-size:12.5px;color:var(--c-muted);letter-spacing:.05em;}

/* ===== ⑥ 代表メッセージ（sec-message-03 マガジン見開き・ドロップキャップ） ===== */
.c-message{background:var(--c-sub);}
.c-message__in{width:min(1120px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:.42fr .58fr;gap:88px;align-items:center;}
.c-message__ph{position:relative;transform:translateY(-28px);}
.c-message__ph img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:0 140px 0 0;box-shadow:var(--shadow-1);}
.c-message__body{transform:translateY(28px);}
.c-message__body .eyebrow{color:var(--c-main);}
.c-message__body h2{color:var(--c-main);}
.c-message__drop{font-family:var(--font-mincho);font-size:15.5px;line-height:2.1;color:var(--c-ink);}
.c-message__drop::first-letter{font-size:52px;font-weight:800;color:var(--c-main);float:left;line-height:.8;margin:6px 10px 0 0;font-family:var(--font-mincho);}
.c-message__sign{margin-top:26px;font-size:13px;color:var(--c-muted);}
@media(max-width:900px){
  .c-message__in{grid-template-columns:1fr;gap:36px;text-align:center;}
  .c-message__ph{transform:none;}
  .c-message__ph img{max-width:220px;margin:0 auto;border-radius:0 90px 0 0;}
  .c-message__body{transform:none;}
  .c-message__drop::first-letter{float:none;margin:0;}
}

/* ===== ⑦ 料金（sec-pricing-11 お品書き料金表） ===== */
.c-pricing{background:var(--c-bg);}
.c-pricing__head{width:min(880px,calc(100% - 48px));margin:0 auto 68px;text-align:center;}
.c-pricing__head .sec-head__en{justify-content:center;}
.c-pricing__head .sec-head__title{margin-left:auto;margin-right:auto;}
.c-pricing__table{width:min(880px,calc(100% - 48px));margin:0 auto;border-top:1px solid var(--c-main);}
.c-pricing__row{display:flex;align-items:baseline;justify-content:space-between;padding:22px 4px;border-bottom:1px solid var(--c-line);gap:20px;}
.c-pricing__name{font-family:var(--font-mincho);font-size:16.5px;color:var(--c-ink);}
.c-pricing__name small{display:block;font-family:var(--font-gothic);font-size:12.5px;color:var(--c-muted);margin-top:4px;}
.c-pricing__leader{flex:1;border-bottom:1px dotted var(--c-line);height:1px;margin:0 12px;transform:translateY(-6px);}
.c-pricing__price{font-family:var(--font-mincho);font-size:15.5px;color:var(--c-accent);white-space:nowrap;}
.c-pricing__note{width:min(880px,calc(100% - 48px));margin:26px auto 0;font-size:13px;color:var(--c-muted);text-align:center;}
@media(max-width:600px){
  .c-pricing__leader{display:none;}
  .c-pricing__row{flex-direction:column;align-items:flex-start;gap:6px;}
}

/* ===== ⑧ FAQ（sec-faq-03 左sticky×番号アコーディオン） ===== */
.c-faq{background:#fff;}
.c-faq__in{width:min(1120px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:.32fr .68fr;gap:80px;}
.c-faq__side{position:sticky;top:130px;align-self:start;}
.c-faq__list{border-top:1px solid var(--c-line);}
.c-faq__item{border-bottom:1px solid var(--c-line);}
.c-faq__q{display:flex;align-items:center;gap:18px;width:100%;background:none;border:0;text-align:left;padding:24px 0;cursor:pointer;font-family:var(--font-gothic);font-size:15.5px;color:var(--c-ink);}
.c-faq__q .no{font-family:var(--font-mincho);color:var(--c-accent);font-size:14px;flex:0 0 auto;}
.c-faq__q .plus{margin-left:auto;font-size:20px;color:var(--c-muted);transition:transform .3s ease;flex:0 0 auto;}
.c-faq__item.is-open .plus{transform:rotate(45deg);}
.c-faq__a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.c-faq__a-in{padding:0 0 24px 40px;font-size:14.5px;color:var(--c-muted);line-height:1.9;}
@media(max-width:860px){
  .c-faq__in{grid-template-columns:1fr;gap:24px;}
  .c-faq__side{position:static;}
}

/* ===== ⑨ ご来店の流れ（sec-process-06 左sticky大番号・ダーク） ===== */
.c-process{background:var(--c-main);color:var(--c-sub);position:relative;overflow:hidden;}
.c-process__bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.14;filter:grayscale(.4);z-index:0;}
.c-process::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,var(--c-main) 0%,rgba(43,41,38,.72) 40%,var(--c-main) 100%);z-index:0;}
.c-process__in{position:relative;z-index:1;width:min(1120px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:.3fr .7fr;gap:68px;}
.c-process__side{position:sticky;top:130px;align-self:start;}
.c-process__side h2{color:#fff;}
.c-process__list{display:flex;flex-direction:column;}
.c-process__step{display:flex;gap:26px;padding:32px 0;border-bottom:1px solid rgba(239,231,218,.2);}
.c-process__step:first-child{padding-top:0;}
.c-process__bignum{font-family:var(--font-mincho);font-size:clamp(30px,3.6vw,44px);color:var(--c-accent);line-height:1;flex:0 0 auto;}
.c-process__step h3{margin:0 0 8px;font-family:var(--font-mincho);font-size:17px;color:#fff;}
.c-process__step p{margin:0;font-size:14px;color:rgba(239,231,218,.75);line-height:1.85;}
@media(max-width:860px){
  .c-process__in{grid-template-columns:1fr;}
  .c-process__side{position:static;}
}

/* ===== ⑩ 会社情報・アクセス（sec-about-02 罫線インデックス） ===== */
.c-about{background:var(--c-bg);}
.c-about__in{width:min(1120px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:.45fr .55fr;gap:76px;align-items:start;}
.c-about__index{border-top:1px solid var(--c-main);}
.c-about__row{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--c-line);font-size:14.5px;gap:16px;}
.c-about__row dt{color:var(--c-muted);flex:0 0 auto;}
.c-about__row dd{margin:0;text-align:right;color:var(--c-ink);}
.c-about__map{width:100%;aspect-ratio:4/3;border:0;filter:grayscale(.3);}
@media(max-width:860px){
  .c-about__in{grid-template-columns:1fr;gap:32px;}
}

/* ===== ⑪ 最終CTA（sec-cta-10 静かな受付） ===== */
.c-cta{background:#fff;border-top:1px solid var(--c-line);}
.c-cta__in{width:min(880px,calc(100% - 48px));margin:0 auto;text-align:center;}
.c-cta h2{font-size:clamp(24px,3vw,34px);}
.c-cta__lead{font-size:15.5px;color:var(--c-muted);max-width:32em;margin:0 auto 36px;}
.c-cta__ctas{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;}
.c-cta__ctas .btn{min-width:408px;justify-content:center;}
@media(max-width:768px){
  .c-cta__ctas .btn{min-width:0;}
}
.c-cta__nap{margin-top:44px;padding-top:30px;border-top:1px solid var(--c-line);font-size:13.5px;color:var(--c-muted);}

/* ===== FOOTER (footer-08 地図一体型＋NAP情報) ===== */
.ft{background:var(--c-main);color:rgba(239,231,218,.85);}
.ft__map{width:100%;height:280px;border:0;filter:grayscale(1) invert(.92) contrast(.9);}
.ft__in{width:min(1120px,calc(100% - 48px));margin:0 auto;padding:64px 0 40px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;}
.ft__brand{display:flex;align-items:center;gap:10px;margin-bottom:18px;}
.ft__brand img{height:26px;}
.ft__brand span{font-family:var(--font-mincho);font-size:17px;color:#fff;}
.ft__nap dl{margin:0;font-size:13.5px;line-height:1.9;}
.ft__nap dt{color:var(--c-accent);font-size:11px;letter-spacing:.08em;margin-top:12px;}
.ft__nap dt:first-child{margin-top:0;}
.ft__nap dd{margin:0 0 4px;}
.ft__col h4{font-size:12px;letter-spacing:.1em;color:var(--c-accent);text-transform:uppercase;margin:0 0 16px;}
.ft__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;font-size:13.5px;}
.ft__bottom{border-top:1px solid rgba(239,231,218,.18);padding:20px 0;text-align:center;font-size:12px;color:rgba(239,231,218,.55);}
@media(max-width:860px){
  .ft__in{grid-template-columns:1fr;gap:28px;}
}

/* Reveal utility — progressive enhancement: visible by default (no-JS safe),
   only hidden-then-revealed when JS has added the .j class to <html>. */
.rv{opacity:1;transform:none;}
.j .rv{opacity:0;transform:translateY(28px);transition:none;}
.j .rv.is-in{opacity:1;transform:translateY(0);transition:opacity .8s ease,transform .8s ease;}
/* ===== PAGE HERO（下層ページ共通・静的見出し帯） ===== */
.page-hero{background:var(--c-main);color:var(--c-sub);padding:200px 0 96px;position:relative;overflow:hidden;}
.page-hero::before{content:'';position:absolute;right:-80px;top:-80px;width:340px;height:340px;border:1px solid rgba(239,231,218,.18);border-radius:50%;}
.page-hero__in{width:min(880px,calc(100% - 48px));margin:0 auto;position:relative;z-index:1;}
.page-hero .eyebrow{color:var(--c-accent);}
.page-hero__en{display:flex;align-items:center;gap:20px;font-family:var(--font-mincho);font-weight:700;font-size:clamp(40px,5.6vw,72px);letter-spacing:.03em;line-height:1;color:#fff;margin:0 0 22px;text-transform:uppercase;}
.page-hero__en::before{content:'';flex:0 0 auto;width:40px;height:1px;background:var(--c-accent);}
.page-hero h1{font-family:var(--font-mincho);font-weight:800;color:#fff;font-size:clamp(22px,2.6vw,28px);line-height:1.6;margin:0 0 20px;}
.page-hero__title{font-family:var(--font-mincho);font-weight:800;color:#fff;font-size:clamp(19px,2.1vw,24px);line-height:1.6;margin:0 0 20px;}
.page-hero__sub{font-size:15.5px;color:rgba(239,231,218,.82);line-height:1.9;max-width:34em;margin:0;}
@media(max-width:640px){
  .page-hero{padding:150px 0 64px;}
}

/* ===== 下層ページ 汎用プローズ（privacy.html 等） ===== */
.pg-prose{width:min(880px,calc(100% - 48px));margin:0 auto;}
.pg-prose h2{font-size:clamp(19px,2.2vw,24px);margin:44px 0 14px;}
.pg-prose h2:first-child{margin-top:0;}
.pg-prose p{font-size:14.5px;color:var(--c-muted);line-height:1.95;margin:0 0 16px;}
.pg-prose ul{margin:0 0 16px;padding-left:1.4em;font-size:14.5px;color:var(--c-muted);line-height:1.9;}
.pg-prose .pg-updated{font-size:13px;color:var(--c-muted);margin-bottom:40px;}

/* ===== お問い合わせフォーム（contact.html） ===== */
.c-contact{background:var(--c-bg);}
.c-contact__grid{display:grid;grid-template-columns:1fr .62fr;gap:56px;align-items:start;}
.c-contact__embed{background:#fff;border:1px solid var(--c-line);padding:36px;}
.c-contact__embed h3{font-family:var(--font-mincho);font-size:19px;margin:0 0 8px;color:var(--c-ink);}
.c-contact__embed p{font-size:13.5px;color:var(--c-muted);margin:0 0 22px;line-height:1.85;}
.c-contact__embed iframe{width:100%;min-height:640px;border:1px solid var(--c-line);}
.c-contact__placeholder{border:1px dashed var(--c-line);background:var(--c-bg);padding:60px 24px;text-align:center;font-size:13.5px;color:var(--c-muted);line-height:1.9;}
.c-contact__side{display:flex;flex-direction:column;gap:22px;}
.c-contact__card{background:#fff;border:1px solid var(--c-line);padding:26px 28px;}
.c-contact__card h4{font-family:var(--font-mincho);font-size:13px;letter-spacing:.08em;color:var(--c-accent);text-transform:uppercase;margin:0 0 12px;}
.c-contact__card p{font-size:14px;color:var(--c-muted);margin:0;line-height:1.85;}
.c-contact__card .tel{display:block;font-family:var(--font-mincho);font-size:22px;color:var(--c-ink);margin-bottom:6px;}
.c-contact__map{border:1px solid var(--c-line);}
.c-contact__map iframe{width:100%;aspect-ratio:4/3;border:0;filter:grayscale(.3);display:block;}
@media(max-width:900px){
  .c-contact__grid{grid-template-columns:1fr;gap:36px;}
}
