
  :root{
    --ink:#211E1C;
    --ink-soft:#3A3532;
    --plaster:#EDE6D8;
    --plaster-deep:#E1D8C4;
    --slate:#48555A;
    --slate-deep:#333E42;
    --brass:#A9824A;
    --brass-light:#C9A876;
    --line:rgba(33,30,28,0.14);
    --line-on-ink:rgba(237,230,216,0.18);
    --ff-display:'Shippori Mincho', serif;
    --ff-body:'Zen Kaku Gothic New', sans-serif;
    --ff-en:'Cormorant Garamond', serif;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--plaster);
    color:var(--ink);
    font-family:var(--ff-body);
    font-size:16px;
    line-height:1.9;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  h1,h2,h3{font-family:var(--ff-display);font-weight:600;margin:0;letter-spacing:.02em;}
  .en{font-family:var(--ff-en);}
  .wrap{max-width:1120px;margin:0 auto;padding:0 28px;}

  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:0.01ms !important; transition-duration:0.01ms !important;}
  }

  :focus-visible{outline:2px solid var(--brass); outline-offset:3px;}

  /* ---------- Announcement bar ---------- */
  .announce{
    background:var(--ink);
    color:var(--plaster);
    font-family:var(--ff-body);
    font-size:.82rem;
    letter-spacing:.04em;
    text-align:center;
    padding:9px 16px;
  }
  /* OWNER: このdivの中の文章を書き換えるだけで、お知らせを更新できます */
  .announce span{opacity:.9;}

  /* ---------- Nav ---------- */
  header.site{
    position:sticky; top:0; z-index:50;
    background:rgba(33,30,28,0.92);
    -webkit-backdrop-filter:blur(6px);
    backdrop-filter:blur(6px);
    border-bottom:1px solid var(--line-on-ink);
  }
  .nav-inner{
    max-width:1120px;margin:0 auto;padding:14px 28px;
    display:flex;align-items:center;justify-content:space-between;
  }
  .logo-mark{display:flex;align-items:center;gap:10px;color:var(--plaster);}
  .logo-mark svg{width:26px;height:26px;flex:none;}
  .logo-mark .logotype{font-family:var(--ff-en);font-size:1.28rem;letter-spacing:.06em;}
  nav.links{display:flex;gap:28px;font-size:.86rem;letter-spacing:.03em;}
  nav.links a{color:var(--plaster);opacity:.82;padding:4px 0;border-bottom:1px solid transparent;transition:opacity .25s, border-color .25s;}
  nav.links a:hover{opacity:1;border-color:var(--brass-light);}
  .nav-cta{
    font-size:.8rem;letter-spacing:.03em;color:var(--ink);
    background:var(--brass-light);padding:9px 18px;border-radius:2px;
    transition:background .25s;white-space:nowrap;
  }
  .nav-cta:hover{background:var(--brass);}
  .nav-toggle{display:none;background:none;border:none;color:var(--plaster);font-size:1.6rem;cursor:pointer;padding:4px 8px;}

  @media (max-width:860px){
    nav.links{
      position:absolute;top:100%;left:0;right:0;
      background:var(--ink);flex-direction:column;gap:0;
      max-height:0;overflow:hidden;transition:max-height .35s ease;
      border-bottom:1px solid var(--line-on-ink);
    }
    nav.links.open{max-height:420px;}
    nav.links a{padding:14px 28px;border-bottom:1px solid var(--line-on-ink);width:100%;}
    .nav-toggle{display:block;}
    .nav-cta{display:none;}
  }

  /* ---------- Hero ---------- */
  .hero{
    position:relative;height:92svh;min-height:560px;
    display:flex;align-items:flex-end;
    overflow:hidden;color:var(--plaster);
  }
  .hero-slides{position:absolute;inset:0;}
  .hero-slides img{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
    opacity:0;transition:opacity 1.8s ease;
    animation:kenburns 18s ease-in-out infinite;
  }
  .hero-slides img.active{opacity:1;}
  @keyframes kenburns{
    0%{transform:scale(1.0);}
    100%{transform:scale(1.08);}
  }
  @media (max-width:760px){
    .hero-slides img{animation:none;}
  }

  .hero::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(20,18,16,.35) 0%, rgba(20,18,16,.20) 38%, rgba(20,18,16,.82) 100%);
  }
  .hero-mark{
    position:absolute;top:14%;right:6%;width:min(240px,30vw);opacity:.16;
    z-index:1;
  }
  .hero-content{position:relative;z-index:2;width:100%;padding-bottom:64px;}
  .hero-eyebrow{
    display:inline-flex;align-items:center;gap:14px;
    font-family:var(--ff-body);font-weight:700;
    font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;
    color:#F6F0E2;
    text-shadow:0 2px 12px rgba(0,0,0,.6), 0 1px 3px rgba(0,0,0,.5);
    margin-bottom:20px;
  }
  .hero-eyebrow::before,
  .hero-eyebrow::after{
    content:"";width:30px;height:1px;background:var(--brass-light);
    box-shadow:0 1px 4px rgba(0,0,0,.4);
  }
  .hero h1{
    font-size:clamp(2.1rem, 5vw, 3.6rem);
    line-height:1.5;
    margin-bottom:22px;
    text-shadow:0 2px 18px rgba(0,0,0,.25);
  }
  .hero-sub{
    font-size:.98rem;max-width:520px;color:rgba(237,230,216,.88);
    margin-bottom:34px;line-height:1.9;
  }
  .hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
  .btn{
    display:inline-flex;align-items:center;gap:8px;
    padding:14px 28px;font-size:.86rem;letter-spacing:.05em;
    border:1px solid var(--brass-light);border-radius:2px;
    transition:background .3s, color .3s, border-color .3s;
  }
  .btn-solid{background:var(--brass-light);color:var(--ink);}
  .btn-solid:hover{background:var(--brass);border-color:var(--brass);}
  .btn-line{color:var(--plaster);}
  .btn-line:hover{border-color:var(--plaster);background:rgba(237,230,216,.08);}

  .scroll-cue{
    position:absolute;bottom:20px;left:50%;transform:translateX(-50%);
    z-index:2;width:1px;height:52px;background:linear-gradient(180deg, rgba(237,230,216,.75), transparent);
  }

  /* ---------- Section shell ---------- */
  section{padding:108px 0;}
  .section-head{margin-bottom:56px;}
  .eyebrow{
    font-family:var(--ff-en);font-style:italic;font-size:1.05rem;
    color:var(--brass);letter-spacing:.04em;margin-bottom:10px;display:block;
  }
  .section-title{font-size:clamp(1.6rem,3vw,2.3rem);}
  .section-lede{max-width:560px;margin-top:16px;color:var(--ink-soft);font-size:.96rem;}

  .divider{
    display:flex;align-items:center;justify-content:center;gap:18px;
    padding:64px 0 0;color:var(--brass);
  }
  .divider svg{width:30px;height:30px;opacity:.7;}
  .divider .rule{height:1px;width:64px;background:var(--line);}
  .divider.on-ink .rule{background:var(--line-on-ink);}

  /* ---------- Concept ---------- */
  .concept{background:var(--plaster);}
  .concept-grid{
    display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;
  }
  .concept-copy p{margin:0 0 20px;color:var(--ink-soft);font-size:.98rem;}
  .concept-sign{
    margin-top:28px;font-family:var(--ff-en);font-style:italic;color:var(--ink);
    font-size:1rem;
  }
  .concept-photo{position:relative;}
  .concept-photo img{border-radius:2px;box-shadow:0 24px 60px -24px rgba(33,30,28,.4);}
  .concept-photo::before{
    content:"";position:absolute;top:-18px;left:-18px;right:18px;bottom:18px;
    border:1px solid var(--brass-light);z-index:-1;
  }

  .features{
    margin-top:76px;display:grid;grid-template-columns:repeat(3,1fr);
    border-top:1px solid var(--line);
  }
  .feature{padding:32px 30px 0;border-left:1px solid var(--line);}
  .feature:first-child{border-left:none;}
  .feature svg{width:30px;height:30px;color:var(--brass);margin-bottom:16px;}
  .feature h3{font-size:1.06rem;margin-bottom:10px;}
  .feature p{margin:0;font-size:.88rem;color:var(--ink-soft);}

  @media (max-width:860px){
    .concept-grid{grid-template-columns:1fr;gap:40px;}
    .concept-photo{order:-1;}
    .features{grid-template-columns:1fr;}
    .feature{border-left:none;border-top:1px solid var(--line);padding:28px 0 0;}
    .feature:first-child{border-top:none;}
  }

  /* ---------- Style Gallery ---------- */
  .gallery-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
  }
  .gallery-item{
    aspect-ratio:3/4;overflow:hidden;border-radius:2px;
    box-shadow:0 16px 40px -22px rgba(33,30,28,.4);
  }
  .gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
  .gallery-item:hover img{transform:scale(1.06);}
  .gallery-grid-3{grid-template-columns:repeat(3,1fr);}
  @media (max-width:760px){
    .gallery-grid{grid-template-columns:repeat(2,1fr);}
  }

  /* ---------- Menu ---------- */
  .menu{background:var(--ink);color:var(--plaster);}
  .menu .section-title, .menu h3{color:var(--plaster);}
  .menu .eyebrow{color:var(--brass-light);}
  .menu .section-lede{color:rgba(237,230,216,.72);}

  .menu-grid{
    display:grid;grid-template-columns:1fr 1fr;gap:0 72px;
  }
  .menu-cat{padding:36px 0;border-top:1px solid var(--line-on-ink);}
  .menu-cat:nth-child(-n+2){padding-top:0;}
  .menu-cat h3{
    font-size:1.12rem;margin-bottom:22px;display:flex;align-items:baseline;gap:12px;
  }
  .menu-cat h3 .en{color:var(--brass-light);font-size:1rem;}
  .menu-item{
    display:flex;align-items:baseline;gap:8px;
    font-size:.92rem;padding:9px 0;color:rgba(237,230,216,.9);
  }
  .menu-item .name{white-space:nowrap;}
  .menu-item .fill{flex:1;border-bottom:1px dotted rgba(237,230,216,.3);
    transform:translateY(-4px);
  }
  .menu-item .price{white-space:nowrap;font-family:var(--ff-en);font-size:1.02rem;}

  .menu-note{
    margin-top:8px;grid-column:1 / -1;border-top:1px solid var(--line-on-ink);
    padding-top:32px;
  }
  .menu-note p{font-size:.82rem;color:rgba(237,230,216,.55);margin:6px 0;}
  .menu-combo{
    background:rgba(237,230,216,.06);border:1px solid var(--line-on-ink);
    padding:20px 24px;font-size:.9rem;margin-bottom:24px;color:rgba(237,230,216,.88);
  }
  .menu-combo strong{color:var(--brass-light);font-weight:500;}

  @media (max-width:860px){
    .menu-grid{grid-template-columns:1fr;}
    .menu-cat:nth-child(-n+2){padding-top:36px;}
    .menu-cat:first-child{padding-top:0;border-top:none;}
  }

  /* ---------- Staff ---------- */
  .staff{background:var(--plaster-deep);}
  .staff-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start;}
  .staff-photo img{border-radius:2px;filter:grayscale(.15);}
  .staff-role{font-family:var(--ff-en);font-style:italic;color:var(--brass);font-size:.92rem;margin-bottom:6px;display:block;}
  .staff h3{font-size:1.7rem;margin-bottom:26px;}
  .timeline{margin-top:20px;border-left:1px solid var(--brass-light);padding-left:28px;}
  .tl-item{position:relative;padding-bottom:26px;}
  .tl-item:last-child{padding-bottom:0;}
  .tl-item::before{
    content:"";position:absolute;left:-33px;top:5px;width:9px;height:9px;
    border-radius:50%;background:var(--brass);
  }
  .tl-year{font-family:var(--ff-en);font-size:.98rem;color:var(--brass);letter-spacing:.03em;}
  .tl-body{font-size:.92rem;color:var(--ink-soft);margin-top:4px;}

  @media (max-width:860px){
    .staff-grid{grid-template-columns:1fr;gap:36px;}
    .staff-photo{max-width:280px;}
  }

  /* ---------- Bardence ---------- */
  .bardence{background:var(--slate);color:var(--plaster);}
  .bardence-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
  .bardence h2{color:var(--plaster);}
  .bardence .eyebrow{color:var(--brass-light);}
  .bardence p{color:rgba(237,230,216,.82);font-size:.95rem;}
  .chip-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;}
  .chip{
    border:1px solid var(--line-on-ink);padding:8px 16px;font-size:.82rem;
    border-radius:20px;color:rgba(237,230,216,.85);
  }
  @media (max-width:860px){.bardence-grid{grid-template-columns:1fr;gap:28px;}}

  /* ---------- Access ---------- */
  .access{background:var(--plaster);}
  .access-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;}
  .map-frame{border:1px solid var(--line);border-radius:2px;overflow:hidden;height:100%;min-height:340px;}
  .map-frame iframe{width:100%;height:100%;min-height:340px;border:0;filter:grayscale(.35) contrast(1.05);}
  .info-list{border-top:1px solid var(--line);}
  .info-row{display:flex;gap:24px;padding:18px 0;border-bottom:1px solid var(--line);}
  .info-row dt{width:104px;flex:none;font-size:.82rem;color:var(--brass);letter-spacing:.03em;padding-top:2px;}
  .info-row dd{margin:0;font-size:.94rem;color:var(--ink-soft);}
  .info-row a{border-bottom:1px solid var(--brass-light);}
  .access-actions{margin-top:32px;display:flex;gap:14px;flex-wrap:wrap;}
  .btn-dark{border-color:var(--ink);color:var(--ink);}
  .btn-dark:hover{background:var(--ink);color:var(--plaster);}
  .btn-dark-solid{background:var(--ink);color:var(--plaster);border-color:var(--ink);}
  .btn-dark-solid:hover{background:var(--slate-deep);border-color:var(--slate-deep);}

  @media (max-width:860px){.access-grid{grid-template-columns:1fr;gap:36px;}}

  /* ---------- Footer ---------- */
  footer{background:var(--ink);color:rgba(237,230,216,.7);padding:64px 0 28px;}
  .footer-top{
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:40px;
    padding-bottom:44px;border-bottom:1px solid var(--line-on-ink);
  }
  .footer-brand .logo-mark{color:var(--plaster);margin-bottom:14px;}
  .footer-brand p{max-width:280px;font-size:.86rem;line-height:1.9;}
  .footer-cols{display:flex;gap:64px;flex-wrap:wrap;}
  .footer-col h4{
    font-family:var(--ff-body);font-weight:500;color:var(--plaster);
    font-size:.82rem;letter-spacing:.06em;margin-bottom:16px;
  }
  .footer-col a, .footer-col span{
    display:block;font-size:.86rem;padding:5px 0;color:rgba(237,230,216,.68);
  }
  .footer-col a:hover{color:var(--brass-light);}
  .footer-insta{
    display:inline-flex;align-items:center;gap:8px;margin-top:4px;
  }
  .footer-bottom{
    padding-top:26px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
    font-size:.76rem;color:rgba(237,230,216,.45);
  }

  @media (max-width:600px){
    section{padding:76px 0;}
    .footer-top{flex-direction:column;}
  }

  /* ---------- scroll reveal ---------- */
  .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease, transform .8s ease;}
  .reveal.in{opacity:1;transform:none;}

  /* =====================================================
     以下は下層ページ（ご来店が初めての方へ 等）用のスタイル
     ===================================================== */

  .announce[hidden]{display:none;}

  /* ---------- トップの「初めての方へ」バナー ---------- */
  .first-banner{background:var(--plaster-deep);border-bottom:1px solid var(--line);padding:0;}
  .first-banner a{
    display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;
    padding:24px 28px;text-align:center;transition:background .3s;
  }
  .first-banner a:hover{background:rgba(169,130,74,.09);}
  .first-banner .fb-label{font-family:var(--ff-en);font-style:italic;color:var(--brass);font-size:1.02rem;}
  .first-banner .fb-title{font-family:var(--ff-display);font-weight:600;font-size:1.06rem;letter-spacing:.02em;}
  .first-banner .fb-sub{font-size:.85rem;color:var(--ink-soft);}
  .first-banner .fb-arrow{color:var(--brass);font-size:1rem;}
  @media (max-width:640px){
    .first-banner a{flex-direction:column;gap:6px;padding:22px 24px;}
  }

  /* ---------- 下層ページのヘッド ---------- */
  .page-head{
    position:relative;padding:0;min-height:330px;
    display:flex;align-items:flex-end;overflow:hidden;color:var(--plaster);
  }
  .page-head .ph-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
  .page-head::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(20,18,16,.42) 0%, rgba(20,18,16,.78) 100%);
  }
  .page-head .wrap{position:relative;z-index:2;padding-top:64px;padding-bottom:48px;}
  .page-head .eyebrow{color:var(--brass-light);}
  .page-head h1{
    font-size:clamp(1.7rem,3.6vw,2.6rem);line-height:1.5;
    text-shadow:0 2px 18px rgba(0,0,0,.3);
  }
  .page-head .page-lede{
    margin:18px 0 0;max-width:600px;font-size:.95rem;
    color:rgba(237,230,216,.86);line-height:1.9;
  }

  /* ---------- パンくず ---------- */
  .crumb{background:var(--plaster-deep);border-bottom:1px solid var(--line);}
  .crumb .wrap{padding-top:13px;padding-bottom:13px;font-size:.78rem;color:var(--ink-soft);}
  .crumb a{border-bottom:1px solid transparent;transition:border-color .25s;}
  .crumb a:hover{border-color:var(--brass-light);}
  .crumb .sep{margin:0 10px;color:var(--brass);}
  .crumb .current{color:var(--brass);}

  /* ---------- 来店の流れ（ステップ） ---------- */
  .steps{
    border-left:1px solid var(--brass-light);
    padding-left:32px;max-width:740px;
  }
  .step{position:relative;padding-bottom:40px;}
  .step:last-child{padding-bottom:0;}
  .step::before{
    content:"";position:absolute;left:-37px;top:9px;width:9px;height:9px;
    border-radius:50%;background:var(--brass);
  }
  .step-no{
    font-family:var(--ff-en);font-size:.95rem;letter-spacing:.14em;
    color:var(--brass);text-transform:uppercase;display:block;
  }
  .step h3{font-size:1.12rem;margin:2px 0 10px;}
  .step p{margin:0;font-size:.93rem;color:var(--ink-soft);}

  .flow-photos{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:60px;}
  .flow-photos img{
    width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:2px;
    box-shadow:0 16px 40px -22px rgba(33,30,28,.4);
  }
  @media (max-width:760px){.flow-photos{grid-template-columns:1fr;}}

  /* ---------- 他ページへの導線カード ---------- */
  .link-section{background:var(--plaster-deep);}
  .link-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
  .link-card{
    display:block;background:var(--plaster);border:1px solid var(--line);
    padding:36px 34px;border-radius:2px;
    transition:border-color .3s, transform .3s, box-shadow .3s;
  }
  .link-card:hover{
    border-color:var(--brass-light);transform:translateY(-3px);
    box-shadow:0 18px 44px -26px rgba(33,30,28,.45);
  }
  .link-card .eyebrow{margin-bottom:6px;}
  .link-card h3{font-size:1.14rem;margin-bottom:14px;}
  .link-card p{margin:0;font-size:.92rem;color:var(--ink-soft);}
  .link-card .more{
    display:inline-block;margin-top:20px;font-size:.85rem;color:var(--brass);
    border-bottom:1px solid var(--brass-light);padding-bottom:3px;
  }
  @media (max-width:860px){.link-cards{grid-template-columns:1fr;}}

  /* ---------- よくある質問 ---------- */
  .faq-list{border-top:1px solid var(--line);max-width:840px;}
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-item summary{
    display:block;list-style:none;cursor:pointer;
    padding:23px 46px 23px 0;position:relative;
    font-family:var(--ff-display);font-weight:600;font-size:1.02rem;
    line-height:1.7;transition:color .25s;
  }
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary:hover{color:var(--brass);}
  .faq-item summary::after{
    content:"";position:absolute;right:10px;top:50%;width:10px;height:10px;
    border-right:1px solid var(--brass);border-bottom:1px solid var(--brass);
    transform:translateY(-70%) rotate(45deg);transition:transform .3s;
  }
  .faq-item[open] summary::after{transform:translateY(-20%) rotate(-135deg);}
  .faq-answer{padding:0 0 28px;font-size:.93rem;color:var(--ink-soft);}
  .faq-answer p{margin:0 0 12px;}
  .faq-answer p:last-child{margin-bottom:0;}
  .faq-answer ul{margin:14px 0 0;padding-left:1.3em;}
  .faq-answer li{margin:6px 0;}
  .faq-answer a{border-bottom:1px solid var(--brass-light);}

  /* ---------- 予約CTA ---------- */
  .cta-band{background:var(--ink);color:var(--plaster);text-align:center;}
  .cta-band .section-title{color:var(--plaster);}
  .cta-band .eyebrow{color:var(--brass-light);}
  .cta-band .cta-lede{
    max-width:520px;margin:18px auto 0;font-size:.94rem;
    color:rgba(237,230,216,.75);
  }
  .cta-actions{margin-top:42px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
  .btn-lg{padding:17px 40px;font-size:.9rem;}

  /* ---------- トップへ戻る ---------- */
  .back-home{background:var(--plaster);padding:0 0 92px;text-align:center;}
  .back-home a{
    display:inline-flex;align-items:center;gap:10px;font-size:.88rem;
    color:var(--ink-soft);border-bottom:1px solid var(--line);padding-bottom:4px;
    transition:color .25s, border-color .25s;
  }
  .back-home a:hover{color:var(--brass);border-color:var(--brass-light);}
  @media (max-width:600px){.back-home{padding-bottom:64px;}}

  /* =====================================================
     バーデンス専用ページ用のスタイル
     ===================================================== */

  .page-head.tall{min-height:76svh;}
  .page-head.tall .wrap{padding-bottom:60px;}
  .page-head.tall h1{font-size:clamp(1.9rem,4.6vw,3.2rem);}
  .page-head .ph-bg.pos-right{object-position:60% center;}
  @media (max-width:700px){ .page-head .ph-bg.pos-right{object-position:66% center;} }

  /* ---------- 店主体験談 ---------- */
  .owner-note{display:grid;grid-template-columns:.82fr 1.18fr;gap:60px;align-items:center;}
  .owner-photo img{
    border-radius:2px;filter:grayscale(.15);
    box-shadow:0 24px 60px -26px rgba(33,30,28,.45);
  }
  .owner-copy p{margin:0 0 20px;color:var(--ink-soft);font-size:.97rem;}
  .owner-copy p:last-of-type{margin-bottom:0;}
  .owner-sign{
    margin-top:30px;font-family:var(--ff-en);font-style:italic;
    color:var(--ink);font-size:1rem;
  }
  @media (max-width:860px){
    .owner-note{grid-template-columns:1fr;gap:36px;}
    .owner-photo{max-width:280px;}
  }

  /* ---------- お客様の声 ---------- */
  .voices{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
  .voice{
    position:relative;background:var(--plaster);border:1px solid var(--line);
    padding:40px 32px 34px;border-radius:2px;
  }
  .voice::before{
    content:"\201C";position:absolute;top:8px;left:24px;
    font-family:var(--ff-en);font-size:3.6rem;line-height:1;
    color:var(--brass-light);opacity:.55;
  }
  .voice-who{
    display:block;font-family:var(--ff-en);font-size:1.02rem;
    color:var(--brass);letter-spacing:.04em;margin-bottom:14px;
  }
  .voice p{margin:0;font-size:.92rem;color:var(--ink-soft);}
  @media (max-width:860px){.voices{grid-template-columns:1fr;}}

  /* ---------- バーデンスとは（slate地） ---------- */
  .brand{background:var(--slate);color:var(--plaster);}
  .brand .section-title, .brand h3{color:var(--plaster);}
  .brand .eyebrow{color:var(--brass-light);}
  .brand .section-lede{color:rgba(237,230,216,.75);}
  .brand-copy{max-width:720px;}
  .brand-copy p{margin:0 0 20px;color:rgba(237,230,216,.85);font-size:.97rem;}
  .brand-copy p:last-child{margin-bottom:0;}
  .brand-facts{
    margin-top:44px;display:flex;gap:0;flex-wrap:wrap;
    border-top:1px solid var(--line-on-ink);
  }
  .fact{
    padding:26px 34px 0;border-left:1px solid var(--line-on-ink);flex:1 1 200px;
  }
  .fact:first-child{border-left:none;padding-left:0;}
  .fact-num{font-family:var(--ff-en);font-size:1.7rem;color:var(--brass-light);display:block;}
  .fact-label{font-size:.83rem;color:rgba(237,230,216,.7);margin-top:4px;display:block;}
  @media (max-width:700px){
    .fact{border-left:none;border-top:1px solid var(--line-on-ink);padding:22px 0 0;flex:1 1 100%;}
    .fact:first-child{border-top:none;}
  }

  /* ---------- 3つの特徴（slate地・続き） ---------- */
  .points{
    display:grid;grid-template-columns:repeat(3,1fr);
    border-top:1px solid var(--line-on-ink);
  }
  .point{padding:34px 30px 0;border-left:1px solid var(--line-on-ink);}
  .point:first-child{border-left:none;padding-left:0;}
  .point-no{
    font-family:var(--ff-en);font-size:1.05rem;letter-spacing:.14em;
    color:var(--brass-light);display:block;margin-bottom:12px;
  }
  .point h3{font-size:1.06rem;margin-bottom:12px;}
  .point p{margin:0;font-size:.89rem;color:rgba(237,230,216,.8);}
  @media (max-width:860px){
    .points{grid-template-columns:1fr;}
    .point{border-left:none;border-top:1px solid var(--line-on-ink);padding:28px 0 0;}
    .point:first-child{border-top:none;}
  }

  /* ---------- こだわりの成分 ---------- */
  .ing{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:8px;}
  .ing-item{border-top:1px solid var(--line);padding-top:28px;}
  .ing-item h3{font-size:1.06rem;margin-bottom:12px;}
  .ing-item p{margin:0;font-size:.92rem;color:var(--ink-soft);}
  .ing-close{
    margin-top:40px;font-size:.94rem;color:var(--ink-soft);
    max-width:620px;
  }
  @media (max-width:760px){.ing{grid-template-columns:1fr;gap:0;}
    .ing-item{padding-top:26px;margin-top:26px;}
    .ing-item:first-child{margin-top:0;}}

  /* ---------- 詰め替え動画 ---------- */
  .refill-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;}
  .refill-copy p{margin:0 0 18px;font-size:.95rem;color:var(--ink-soft);}
  .refill-copy p:last-child{margin-bottom:0;}
  .video-frame{
    position:relative;padding-top:56.25%;background:var(--ink);
    border:1px solid var(--line);border-radius:2px;overflow:hidden;
    box-shadow:0 20px 50px -26px rgba(33,30,28,.45);
  }
  .video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
  .video-caption{margin-top:14px;font-size:.8rem;color:var(--ink-soft);opacity:.8;}
  @media (max-width:860px){.refill-grid{grid-template-columns:1fr;gap:36px;}}

  /* ---------- 使い方のコツ ---------- */
  .tips{max-width:840px;}
  .tip{display:flex;gap:28px;padding:28px 0;border-top:1px solid var(--line);}
  .tip:first-child{border-top:none;padding-top:0;}
  .tip-label{
    flex:none;width:150px;font-family:var(--ff-display);font-weight:600;
    font-size:1.02rem;padding-top:1px;
  }
  .tip-body p{margin:0;font-size:.93rem;color:var(--ink-soft);}
  .tip-callout{
    margin-top:40px;max-width:840px;
    background:rgba(169,130,74,.10);border:1px solid var(--brass-light);
    padding:24px 28px;font-size:.93rem;color:var(--ink-soft);border-radius:2px;
  }
  .tip-callout strong{color:var(--brass);font-weight:500;}
  @media (max-width:640px){
    .tip{flex-direction:column;gap:10px;}
    .tip-label{width:auto;}
  }

  .brand-source{
    margin-top:34px;font-size:.78rem;line-height:1.8;
    color:rgba(237,230,216,.55);max-width:720px;
  }
  .brand-facts .fact-num{font-size:clamp(1.15rem,2.2vw,1.7rem);}

  /* 店主体験談：写真なし1カラム版 */
  .owner-note.solo{
    display:block;max-width:760px;
    border-left:1px solid var(--brass-light);padding-left:38px;
  }
  .owner-note.solo .owner-copy p{font-size:1rem;}
  @media (max-width:640px){
    .owner-note.solo{padding-left:24px;}
  }
  .video-caption a{color:var(--brass);border-bottom:1px solid var(--brass-light);}

  /* ---------- 料金表：ヘッドスパ2行表示・複合割の下部配置 ---------- */
  .menu-item .name small{
    display:block;white-space:normal;font-size:.76rem;line-height:1.6;
    color:rgba(237,230,216,.58);margin-top:4px;letter-spacing:.02em;
  }
  .menu-item-2line{align-items:flex-start;}
  .menu-item-2line .fill{transform:translateY(9px);}
  .menu-sub{position:relative;padding:2px 0 9px 17px;}
  .menu-sub::before{
    content:"\2514";position:absolute;left:0;top:0;
    color:var(--brass-light);opacity:.65;font-size:.8rem;
  }
  .menu-sub .name{white-space:normal;font-size:.88rem;color:rgba(237,230,216,.88);}
  .menu-sub .price{
    font-size:1.12rem;color:var(--brass-light);font-weight:500;
    letter-spacing:.01em;
  }
  .menu-sub .fill{border-bottom-color:rgba(201,168,118,.4);}
  .menu-grid > .menu-combo{grid-column:1 / -1;margin:34px 0 0;}
  .menu-combo + .menu-note{border-top:none;padding-top:26px;margin-top:0;}
  @media (max-width:600px){
    .menu-sub{flex-wrap:wrap;}
    .menu-sub .fill{display:none;}
    .menu-sub .price{margin-left:auto;}
  }

  /* ---------- スタイルギャラリー：正方形6枚 ---------- */
  .gallery-square .gallery-item{aspect-ratio:1 / 1;}
  @media (max-width:760px){
    .gallery-square{grid-template-columns:repeat(2,1fr);gap:12px;}
  }

  /* ---------- 取扱商品リスト（バーデンス欄） ---------- */
  .product-list{
    border:1px solid var(--line-on-ink);
    background:rgba(237,230,216,.05);
    padding:28px 30px;border-radius:2px;
  }
  .product-list h3{
    display:flex;align-items:center;gap:14px;
    font-family:var(--ff-display);font-weight:500;
    font-size:.78rem;letter-spacing:.16em;
    color:var(--brass-light);margin:0 0 18px;
  }
  .product-list h3::after{
    content:"";flex:1;height:1px;background:var(--line-on-ink);
  }
  .product-list ul{list-style:none;margin:0;padding:0;}
  .product-list li{
    position:relative;padding:11px 0 11px 18px;
    border-top:1px solid var(--line-on-ink);
    font-size:.86rem;line-height:1.7;color:rgba(237,230,216,.88);
  }
  .product-list li:first-child{border-top:none;padding-top:0;}
  .product-list li::before{
    content:"";position:absolute;left:0;top:1.05em;
    width:5px;height:5px;border-radius:50%;background:var(--brass-light);
  }
  .product-list li:first-child::before{top:.62em;}
  .product-list .etc{
    margin:14px 0 0;font-family:var(--ff-en);font-style:italic;
    font-size:.86rem;color:rgba(237,230,216,.48);letter-spacing:.04em;
  }
  @media (max-width:860px){
    .product-list{padding:28px 26px;}
  }

  /* 目立たせたいボタン */
  .btn-feature{
    padding:17px 34px;font-size:.92rem;font-weight:500;
    box-shadow:0 14px 34px -16px rgba(169,130,74,.75);
  }
  .btn-feature:hover{transform:translateY(-2px);}
