/* =========================================================
   Hair's YAMAZAKI  デザイン設定
   ---------------------------------------------------------
   下の :root { … } の値を変えると、サイト全体に反映されます。
   --teal        メインのターコイズ（見出し・線）
   --teal-deep   濃いターコイズ（見出し文字・フッター背景）
   --teal-soft   薄いターコイズ（背景のアクセント）
   --orange      オレンジ（予約ボタン・アクセント）
   --orange-soft 薄いオレンジ（注意書きの背景）
   --ink / --muted  本文の文字色 / 薄い文字色
   --white / --paper  背景の白 / 生成り色
   --serif  見出しの書体（しっぽり明朝）
   --en     英字の書体（Cormorant Garamond）
   --sans   本文の書体（禅角ゴシック）
   ========================================================= */

:root{
  --teal:#0c6c88; --teal-deep:#084d61; --teal-soft:#e8f2f5;
  --orange:#e2672b; --orange-soft:#fbeee6;
  --ink:#1f2b30; --muted:#5f6d72; --line:#d9e4e8;
  --white:#ffffff; --paper:#fbfaf7;
  --serif:"Shippori Mincho",serif; --en:"Cormorant Garamond",serif; --sans:"Zen Kaku Gothic New",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--white);line-height:1.9;letter-spacing:.04em;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{width:min(1120px,90vw);margin:0 auto}

/* barber stripe */
.stripe{height:6px;background:repeating-linear-gradient(-45deg,var(--teal) 0 10px,#fff 10px 16px,var(--orange) 16px 26px,#fff 26px 32px);background-size:45.25px 6px}
.stripe.anim{animation:slide 2.4s linear infinite}
@keyframes slide{to{background-position:45.25px 0}}

/* header */
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{width:60px;height:60px;object-fit:contain}
.brand-name{font-family:var(--en);font-size:1.35rem;font-weight:600;color:var(--teal-deep);letter-spacing:.08em;line-height:1.1}
.brand-name small{display:block;font-family:var(--sans);font-size:.62rem;letter-spacing:.3em;color:var(--muted)}
.nav ul{display:flex;gap:30px;list-style:none;font-size:.86rem}
.nav ul a{position:relative;padding:4px 0}
.nav ul a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--orange);transition:width .3s}
.nav ul a:hover::after{width:100%}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:700;border-radius:999px;transition:transform .2s,box-shadow .2s,background .2s;cursor:pointer;border:0;font-family:var(--sans);letter-spacing:.08em}
.btn-line{background:var(--orange);color:#fff;padding:12px 26px;font-size:.9rem;box-shadow:0 6px 18px -8px rgba(226,103,43,.7)}
.btn-line:hover{transform:translateY(-2px);background:#d45a1f}
.btn-ghost{border:1px solid var(--teal);color:var(--teal);padding:12px 26px;font-size:.9rem;background:#fff}
.btn-ghost:hover{background:var(--teal);color:#fff}
.btn svg{width:20px;height:20px;flex:none}

/* hero */
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,var(--paper) 100%)}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:56px;padding:88px 0 96px}
.eyebrow{font-family:var(--en);font-style:italic;color:var(--orange);font-size:1.15rem;letter-spacing:.12em;display:flex;align-items:center;gap:14px}
.eyebrow::before{content:"";width:36px;height:1px;background:var(--orange)}
.hero h1{font-family:var(--serif);font-weight:600;font-size:clamp(1.55rem,3.6vw,2.9rem);line-height:1.55;color:var(--teal-deep);margin:22px 0 26px;letter-spacing:.08em}
.hero h1 .nw{white-space:nowrap}
.hero h1 em{font-style:normal;color:var(--orange)}
.hero p.lead{color:var(--muted);font-size:1rem;max-width:30em}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
.hero-cta .btn-line{padding:16px 34px;font-size:1rem}
.hero-badges{display:flex;gap:28px;margin-top:44px;padding-top:28px;border-top:1px solid var(--line)}
.hero-badges div{font-size:.78rem;color:var(--muted);letter-spacing:.12em}
.hero-badges b{display:block;font-family:var(--serif);font-size:1.6rem;color:var(--teal);letter-spacing:.04em;line-height:1.3}
.hero-badges b span{font-size:.9rem;margin-left:2px}
.hero-visual{position:relative;justify-self:center;width:min(460px,100%)}
.hero-visual .frame{position:relative;background:#fff;padding:26px;border:1px solid var(--line);box-shadow:0 30px 60px -36px rgba(8,77,97,.45)}
.hero-visual .frame::before{content:"";position:absolute;inset:10px;border:1px solid var(--teal);opacity:.25;pointer-events:none}
.hero-visual .pole{position:absolute;top:-28px;bottom:-28px;right:-26px;width:12px;border-radius:6px;background:repeating-linear-gradient(-55deg,var(--teal) 0 12px,#fff 12px 18px,var(--orange) 18px 30px,#fff 30px 36px);background-size:12px 51.6px;animation:pole 2.6s linear infinite;box-shadow:inset 0 0 0 1px rgba(8,77,97,.25)}
@keyframes pole{to{background-position:0 51.6px}}
.hero-bg-text{position:absolute;left:-1vw;bottom:-3.2vw;font-family:var(--en);font-weight:600;font-size:13vw;line-height:1;color:var(--teal);opacity:.045;letter-spacing:.04em;pointer-events:none;white-space:nowrap}

/* section common */
section{padding:110px 0}
.sec-head{text-align:center;margin-bottom:64px}
.sec-head .en{font-family:var(--en);font-style:italic;color:var(--orange);font-size:1.1rem;letter-spacing:.2em}
.sec-head h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.6rem,3vw,2.15rem);color:var(--teal-deep);letter-spacing:.14em;margin-top:6px}
.ornament{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:18px}
.ornament i{width:56px;height:1px;background:var(--teal);opacity:.5}
.ornament s{width:8px;height:8px;background:var(--orange);transform:rotate(45deg)}

/* concept */
.concept{background:var(--paper);position:relative}
.concept .wrap{display:grid;grid-template-columns:auto 1fr;gap:72px;align-items:start}
.concept-title{writing-mode:vertical-rl;font-family:var(--serif);font-size:clamp(1.6rem,2.6vw,2.1rem);font-weight:600;color:var(--teal-deep);letter-spacing:.3em;line-height:2;height:auto;border-right:1px solid var(--orange);padding-right:22px}
.concept-title span{color:var(--orange)}
.concept-body .en{font-family:var(--en);font-style:italic;color:var(--orange);font-size:1.1rem;letter-spacing:.2em}
.concept-body h2{font-family:var(--serif);font-size:1.5rem;color:var(--teal-deep);margin:4px 0 28px;letter-spacing:.12em;font-weight:600}
.concept-body p{color:#3b4a50;margin-bottom:1.4em;font-size:1rem;line-height:2.2}
.sign{margin-top:28px;font-family:var(--serif);color:var(--teal-deep);font-size:1rem;letter-spacing:.2em}
.sign small{display:block;font-family:var(--sans);font-size:.75rem;color:var(--muted);letter-spacing:.2em}

/* features */
.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.feature{position:relative;background:#fff;border:1px solid var(--line);padding:44px 28px 36px;text-align:center;transition:transform .3s,box-shadow .3s}
.feature:hover{transform:translateY(-6px);box-shadow:0 24px 40px -30px rgba(8,77,97,.5)}
.feature::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--teal)}
.feature:nth-child(even)::before{background:var(--orange)}
.feature .num{font-family:var(--en);font-style:italic;color:var(--orange);font-size:1rem;letter-spacing:.15em}
.feature .icon{width:64px;height:64px;margin:14px auto 18px;border-radius:50%;background:var(--teal-soft);display:grid;place-items:center;color:var(--teal)}
.feature .icon svg{width:30px;height:30px}
.feature h3{font-family:var(--serif);font-size:1.18rem;color:var(--teal-deep);letter-spacing:.1em;margin-bottom:12px;font-weight:600}
.feature p{font-size:.88rem;color:var(--muted);text-align:left;line-height:1.95}
.feature .big{font-family:var(--serif);font-size:2.6rem;color:var(--teal);line-height:1;margin:18px 0 16px;letter-spacing:.02em}
.feature .big span{font-size:1rem;margin-left:4px}

/* promise strip */
.promise{background:var(--teal-deep);color:#fff;padding:80px 0;text-align:center;position:relative;overflow:hidden}
.promise::before,.promise::after{content:"";position:absolute;left:0;right:0;height:6px;background:repeating-linear-gradient(-45deg,var(--teal) 0 10px,#fff 10px 16px,var(--orange) 16px 26px,#fff 26px 32px)}
.promise::before{top:0}.promise::after{bottom:0}
.promise .q{font-family:var(--serif);font-size:clamp(1.4rem,3vw,2.2rem);letter-spacing:.16em;line-height:1.8}
.promise .q em{font-style:normal;color:#ffb48c}
.promise .s{font-family:var(--en);font-style:italic;opacity:.75;margin-top:14px;letter-spacing:.2em}

/* menu */
.menu{background:#fff}
.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 72px}
.menu-cat{font-family:var(--en);font-style:italic;font-size:1.25rem;color:var(--orange);letter-spacing:.14em;margin:0 0 10px;display:flex;align-items:baseline;gap:12px}
.menu-cat b{font-family:var(--serif);font-style:normal;font-size:1rem;color:var(--teal-deep);letter-spacing:.14em}
.menu-list{list-style:none;margin-bottom:48px}
.menu-list li{display:flex;align-items:baseline;gap:12px;padding:18px 0;border-bottom:1px dashed var(--line)}
.menu-list .name{font-weight:500}
.menu-list .name small{display:block;font-size:.76rem;color:var(--muted);font-weight:400;line-height:1.6}
.menu-list .dots{flex:1}
.menu-list .price{font-family:var(--en);font-size:1.35rem;font-weight:600;color:var(--teal-deep);letter-spacing:.04em;white-space:nowrap}
.menu-list .price span{font-family:var(--sans);font-size:.72rem;margin-left:2px;color:var(--muted)}
.note{font-size:.78rem;color:var(--muted);text-align:center;margin-top:8px}
.demo-tag{display:inline-block;font-size:.7rem;background:var(--orange-soft);color:var(--orange);padding:2px 10px;border-radius:999px;margin-left:8px;letter-spacing:.1em;vertical-align:middle}

/* reserve */
.reserve{background:linear-gradient(180deg,var(--paper),#fff)}
.reserve-box{display:grid;grid-template-columns:1.3fr 1fr;background:#fff;border:1px solid var(--line);box-shadow:0 40px 70px -50px rgba(8,77,97,.55)}
.reserve-main{padding:56px 56px}
.reserve-main h3{font-family:var(--serif);font-size:1.5rem;color:var(--teal-deep);letter-spacing:.1em;margin-bottom:10px;font-weight:600}
.reserve-main > p{color:var(--muted);font-size:.92rem}
.steps{list-style:none;margin:32px 0 36px;counter-reset:s}
.steps li{counter-increment:s;display:flex;gap:18px;padding:14px 0;align-items:flex-start}
.steps li::before{content:counter(s,decimal-leading-zero);font-family:var(--en);font-size:1.6rem;font-weight:600;color:var(--orange);line-height:1;min-width:38px;padding-top:2px}
.steps b{display:block;color:var(--teal-deep);letter-spacing:.08em}
.steps span{font-size:.86rem;color:var(--muted)}
.reserve-main .btn-line{padding:18px 40px;font-size:1.02rem}
.reserve-side{background:var(--teal);color:#fff;padding:56px 40px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative}
.reserve-side::before{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.25);pointer-events:none}
.reserve-side .en{font-family:var(--en);font-style:italic;letter-spacing:.2em;opacity:.85}
.reserve-side h4{font-family:var(--serif);font-size:1.15rem;letter-spacing:.12em;margin:4px 0 22px;font-weight:600}
.qr{background:#fff;padding:14px;border-radius:6px;width:190px}
.reserve-side p{font-size:.8rem;opacity:.85;margin-top:18px;line-height:1.8}

/* access */
.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:stretch}
.info{width:100%;border-collapse:collapse}
.info th,.info td{text-align:left;padding:20px 0;border-bottom:1px solid var(--line);vertical-align:top;font-size:.94rem}
.info th{width:7.5em;font-family:var(--serif);color:var(--teal-deep);font-weight:600;letter-spacing:.14em}
.info td small{color:var(--muted);font-size:.78rem}
.info a.mail{color:var(--teal);border-bottom:1px solid currentColor;word-break:break-all}
.map-card{position:relative;background:var(--teal-soft);border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 32px;min-height:360px;overflow:hidden}
.map-card svg.bgmap{position:absolute;inset:0;width:100%;height:100%;opacity:.55}
.map-card > *:not(.bgmap){position:relative}
.pin{width:58px;height:58px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--orange);display:grid;place-items:center;box-shadow:0 12px 20px -10px rgba(226,103,43,.8);margin-bottom:22px}
.pin::after{content:"";width:20px;height:20px;border-radius:50%;background:#fff}
.map-card h4{font-family:var(--serif);color:var(--teal-deep);font-size:1.2rem;letter-spacing:.12em;margin-bottom:6px}
.map-card p{color:var(--muted);font-size:.86rem;margin-bottom:22px}
.parking{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px 14px 4px 4px;font-size:.8rem;color:var(--teal-deep);margin-bottom:20px}
.parking i{font-style:normal;width:24px;height:24px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.8rem;font-family:var(--sans)}

/* footer */
footer{background:var(--teal-deep);color:rgba(255,255,255,.85);text-align:center;padding:64px 0 110px}
footer .flogo{width:140px;margin:0 auto 18px;background:#fff;border-radius:4px;padding:10px}
footer .flogo img{width:100%}
footer nav{display:flex;justify-content:center;gap:26px;flex-wrap:wrap;font-size:.84rem;margin:18px 0 26px}
footer small{font-family:var(--en);letter-spacing:.16em;opacity:.7}

/* mobile fixed cta */
.fixed-cta{display:none}
.demo-banner{background:var(--orange-soft);color:#a6461a;font-size:.74rem;text-align:center;padding:6px 12px;letter-spacing:.08em}

/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease}
.reveal.on{opacity:1;transform:none}

@media (max-width:960px){
  .nav ul{display:none}
  .hero .wrap{grid-template-columns:1fr;padding:56px 0 72px;gap:48px}
  .hero-visual{width:min(360px,86%);order:-1}
  .features-grid{grid-template-columns:1fr 1fr}
  .concept .wrap{grid-template-columns:1fr;gap:36px}
  .concept-title{writing-mode:horizontal-tb;border-right:0;border-bottom:1px solid var(--orange);padding:0 0 14px;letter-spacing:.14em;line-height:1.7}
  .menu-grid,.access-grid,.reserve-box{grid-template-columns:1fr}
  .reserve-main{padding:44px 28px}
}
@media (max-width:600px){
  section{padding:80px 0}
  .nav{height:62px}
  .nav .btn-line{display:none}
  .features-grid{grid-template-columns:1fr}
  .hero-badges{gap:18px}
  .hero-badges b{font-size:1.3rem}
  .hero-cta .btn{width:100%}
  .reserve-side .qr-wrap{display:none}
  .reserve-side{display:none}
  .fixed-cta{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:60}
  .fixed-cta .btn{width:100%;padding:16px;font-size:1rem;box-shadow:0 10px 24px -8px rgba(0,0,0,.35)}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

.nav ul a.active{color:var(--teal)}
.nav ul a.active::after{width:100%}
.menu-open .fixed-cta{display:none!important}
footer .flogo{display:block}
.menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:#fff;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.menu-toggle span{display:block;width:18px;height:1.5px;background:var(--teal-deep);transition:transform .3s,opacity .3s}
.menu-open .menu-toggle span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.menu-open .menu-toggle span:nth-child(2){opacity:0}
.menu-open .menu-toggle span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.drawer{display:none}
/* page hero */
.page-hero{position:relative;background:var(--paper);padding:84px 0 72px;text-align:center;overflow:hidden;border-bottom:1px solid var(--line)}
.page-hero .en{font-family:var(--en);font-style:italic;color:var(--orange);font-size:1.15rem;letter-spacing:.24em}
.page-hero h1{font-family:var(--serif);font-weight:600;font-size:clamp(1.8rem,3.4vw,2.5rem);color:var(--teal-deep);letter-spacing:.18em;margin-top:6px}
.page-hero .lead{color:var(--muted);font-size:.92rem;margin-top:14px}
.page-hero .bg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--en);font-weight:600;font-size:16vw;color:var(--teal);opacity:.04;white-space:nowrap;pointer-events:none;line-height:1}
.crumb{font-size:.76rem;color:var(--muted);padding:16px 0;letter-spacing:.1em}
.crumb a{color:var(--teal)}
.crumb span{margin:0 8px;color:var(--orange)}
/* top: intro */
.intro{text-align:center;padding:110px 0 40px}
.intro h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.4rem,2.6vw,1.9rem);color:var(--teal-deep);letter-spacing:.16em;line-height:1.9;margin:10px 0 26px}
.intro h2 span{color:var(--orange)}
.intro p{color:var(--muted);max-width:36em;margin:0 auto;line-height:2.2}
.more{display:inline-flex;align-items:center;gap:12px;margin-top:30px;font-family:var(--serif);color:var(--teal);letter-spacing:.16em;font-weight:600;border-bottom:1px solid var(--teal);padding-bottom:6px;transition:gap .3s}
.more::after{content:"→";font-family:var(--sans);color:var(--orange)}
.more:hover{gap:20px}
/* top: page cards */
.pages{padding:60px 0 110px}
.page-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pcard{position:relative;display:block;background:#fff;border:1px solid var(--line);padding:40px 32px 34px;transition:transform .3s,box-shadow .3s;overflow:hidden}
.pcard:hover{transform:translateY(-6px);box-shadow:0 26px 44px -30px rgba(8,77,97,.5)}
.pcard .no{position:absolute;right:20px;top:8px;font-family:var(--en);font-size:4.6rem;font-weight:600;color:var(--teal);opacity:.07;line-height:1}
.pcard .en{font-family:var(--en);font-style:italic;color:var(--orange);letter-spacing:.2em}
.pcard h3{font-family:var(--serif);font-size:1.35rem;color:var(--teal-deep);letter-spacing:.14em;margin:4px 0 14px;font-weight:600}
.pcard p{font-size:.88rem;color:var(--muted);line-height:1.95;min-height:3.9em}
.pcard .go{display:flex;align-items:center;justify-content:space-between;margin-top:26px;padding-top:18px;border-top:1px solid var(--line);font-size:.8rem;color:var(--teal);letter-spacing:.14em;font-weight:700}
.pcard .go i{font-style:normal;width:34px;height:34px;border-radius:50%;border:1px solid var(--teal);display:grid;place-items:center;transition:background .3s,color .3s}
.pcard:hover .go i{background:var(--orange);border-color:var(--orange);color:#fff}
.pcard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--teal)}
.pcard:nth-child(2)::before{background:var(--orange)}
/* cta band */
.cta-band{background:var(--teal-soft);padding:80px 0}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;background:#fff;border:1px solid var(--line);padding:48px 56px;position:relative}
.cta-inner::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:repeating-linear-gradient(-45deg,var(--teal) 0 10px,#fff 10px 16px,var(--orange) 16px 26px,#fff 26px 32px)}
.cta-inner .en{font-family:var(--en);font-style:italic;color:var(--orange);letter-spacing:.2em}
.cta-inner h3{font-family:var(--serif);font-size:1.5rem;color:var(--teal-deep);letter-spacing:.12em;margin:4px 0 8px;font-weight:600}
.cta-inner p{color:var(--muted);font-size:.9rem}
.cta-right{display:flex;align-items:center;gap:26px}
.cta-right .btn-line{padding:18px 36px;font-size:1rem}
.cta-qr{width:112px;border:1px solid var(--line);padding:8px;background:#fff}
.next-link{text-align:center;padding:0 0 100px}
@media (max-width:960px){
  .menu-toggle{display:flex}
  .drawer{display:block;position:fixed;inset:0;top:0;z-index:45;background:rgba(255,255,255,.98);padding:130px 8vw 40px;opacity:0;pointer-events:none;transition:opacity .3s}
  .menu-open .drawer{opacity:1;pointer-events:auto}
  .drawer a.item{display:flex;align-items:baseline;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:1.2rem;color:var(--teal-deep);letter-spacing:.14em;font-weight:600}
  .drawer a.item small{font-family:var(--en);font-style:italic;color:var(--orange);font-size:.95rem;font-weight:500}
  .drawer a.item.active{color:var(--orange)}
  .drawer .btn-line{width:100%;margin-top:32px;padding:16px}
  .page-cards{grid-template-columns:1fr}
  .cta-inner{flex-direction:column;align-items:flex-start;padding:40px 28px}
}
@media (max-width:600px){
  .cta-qr{display:none}
  .cta-right,.cta-right .btn{width:100%}
  .page-hero{padding:60px 0 52px}
  .intro{padding:80px 0 30px}
  .nav .btn-line{display:none}
}

.mchips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:56px}
.mchips a{font-family:var(--en);font-style:italic;font-size:1rem;letter-spacing:.12em;color:var(--teal);border:1px solid var(--line);border-radius:999px;padding:6px 20px;transition:all .2s}
.mchips a:hover{background:var(--teal);color:#fff;border-color:var(--teal)}
.menu-grid2{display:grid;grid-template-columns:1fr 1fr;gap:64px 72px}
.mblock{scroll-margin-top:110px}
.menu-cat{border-bottom:2px solid var(--teal);padding-bottom:12px;margin-bottom:4px}
.mlead{font-size:.82rem;color:var(--muted);margin-top:10px}
.menu-list{margin-bottom:0}
.mtag{font-style:normal;font-size:.66rem;background:var(--orange);color:#fff;border-radius:999px;padding:1px 9px;margin-left:10px;vertical-align:middle;letter-spacing:.1em}
.mnote{margin-top:18px;background:var(--orange-soft);color:#8f3f17;font-size:.82rem;padding:12px 18px;border-left:3px solid var(--orange);line-height:1.8}
.mnote b{color:var(--orange)}
.maint{scroll-margin-top:110px;margin:80px auto 0;max-width:760px;text-align:center;border:1px solid var(--line);padding:48px 40px 36px;position:relative;background:#fff}
.maint::before{content:"";position:absolute;inset:8px;border:1px solid var(--orange);opacity:.35;pointer-events:none}
.maint-head p{color:var(--muted);font-size:.9rem;margin-top:16px}
.maint-head p b{color:var(--teal-deep)}
.maint-prices{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:30px 0 18px}
.maint-prices div{background:var(--teal-soft);padding:22px 12px}
.maint-prices span{display:block;font-family:var(--serif);color:var(--teal-deep);letter-spacing:.1em;font-weight:600}
.maint-prices b{display:block;font-family:var(--en);font-size:2rem;color:var(--orange);letter-spacing:.04em}
.maint-foot{font-size:.8rem;color:var(--muted)}
.mlead .shampoo{display:inline-block;color:var(--teal-deep);font-weight:500;font-size:.86rem}
/* staff */
.staff{background:#fff;padding:0 0 110px}
.staff-card{display:grid;grid-template-columns:280px 1fr;gap:56px;align-items:center;max-width:880px;margin:0 auto;border:1px solid var(--line);padding:44px 48px;position:relative}
.staff-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:repeating-linear-gradient(-45deg,var(--teal) 0 8px,#fff 8px 12px,var(--orange) 12px 20px,#fff 20px 24px)}
.staff-photo{aspect-ratio:2/3;background:var(--teal-soft);display:grid;place-items:center;color:var(--teal);font-size:.72rem;letter-spacing:.14em;text-align:center;border:1px dashed var(--teal)}
.staff-photo{position:relative;border:0;overflow:visible}.staff-photo img{width:100%;height:100%;object-fit:contain;box-shadow:0 26px 40px -24px rgba(8,77,97,.7)}.staff-photo::before{content:"";position:absolute;inset:-12px 12px 12px -12px;border:1px solid var(--teal);pointer-events:none;z-index:-1}.staff-photo{z-index:0}.staff-photo::after{content:"";position:absolute;right:-14px;bottom:-14px;width:64px;height:64px;border-right:2px solid var(--orange);border-bottom:2px solid var(--orange);pointer-events:none}.staff-photo .star{position:absolute;right:-21px;bottom:-21px;width:16px;height:16px;color:var(--orange)}
.staff-photo svg{width:56px;height:56px;margin:0 auto 6px;display:block;opacity:.6}
.staff .role{font-family:var(--en);font-style:italic;color:var(--orange);letter-spacing:.2em}
.staff h3{font-family:var(--serif);font-size:1.7rem;color:var(--teal-deep);letter-spacing:.2em;font-weight:600;margin:2px 0 0}
.staff .gen{display:inline-block;font-size:.8rem;background:var(--orange);color:#fff;padding:2px 12px;border-radius:999px;letter-spacing:.12em;margin-right:14px;vertical-align:middle;font-family:var(--sans);font-weight:700}
.staff .roman{font-family:var(--en);color:var(--muted);letter-spacing:.24em;font-size:1rem}
.staff .msg{position:relative;margin-top:24px;padding:4px 0 2px 26px;border-left:2px solid var(--orange);font-family:var(--serif);color:var(--teal-deep);font-size:1.06rem;line-height:2.1;letter-spacing:.08em}.staff .msg p+p{margin-top:.9em}.staff .msg span{display:block}.staff .sns{margin-top:22px}
.sns{display:inline-flex;align-items:center;gap:8px;color:var(--teal);border-bottom:1px solid currentColor;font-size:.88rem;margin-top:14px}
.sns svg{width:18px;height:18px}
footer .fcontact{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 28px;font-size:.86rem;margin-bottom:20px}
footer .fcontact a{display:inline-flex;align-items:center;gap:8px;color:#fff}
footer .fcontact svg{width:18px;height:18px}
.tel-box{margin-top:28px;padding-top:24px;border-top:1px solid var(--line);font-size:.86rem;color:var(--muted)}
.tel-box a{font-family:var(--en);font-size:1.5rem;font-weight:600;color:var(--teal-deep);letter-spacing:.08em;display:inline-block;margin-top:2px}
@media (max-width:960px){
  .menu-grid2{grid-template-columns:1fr;gap:56px}
  .staff-card{grid-template-columns:1fr;text-align:center;padding:40px 24px;gap:24px}
  .staff-photo{width:min(260px,80%);margin:0 auto 10px}
}
@media (max-width:960px){.staff .msg{text-align:left;display:block;max-width:22em;margin-left:auto;margin-right:auto}}
@media (max-width:600px){.staff .msg{font-size:.95rem;padding-left:16px}.staff h3{font-size:1.4rem;letter-spacing:.12em;white-space:nowrap}.staff .gen{display:table;margin:6px auto 10px}.staff .role{font-size:.9rem;letter-spacing:.12em}.maint{padding:40px 20px 30px}.maint-prices{grid-template-columns:1fr;gap:12px}}
.hol-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.hol-links a{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--teal);border:1px solid var(--line);border-radius:999px;padding:4px 14px;transition:all .2s}.hol-links a:hover{background:var(--teal);color:#fff;border-color:var(--teal)}.hol-links svg{width:16px;height:16px}
.linepair{display:flex;align-items:center;gap:28px;background:#fff;border:1px solid var(--line);padding:22px 28px;border-radius:14px}
.lp-qr{display:flex;flex-direction:column;align-items:center;gap:8px;flex:none}
.lp-qr img{width:132px;height:132px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff}
.lp-qr span{font-size:.74rem;color:var(--muted);letter-spacing:.12em}
.lp-or{align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none}
.lp-or::before,.lp-or::after{content:"";flex:1;width:1px;background:var(--line)}
.lp-or span{font-family:var(--en);font-style:italic;color:var(--orange);padding:8px 0;letter-spacing:.1em}
.lp-btn{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:300px}
.btn-xl{min-height:76px;padding:14px 26px 14px 24px!important;border-radius:14px!important;justify-content:flex-start;gap:16px;font-size:1.08rem!important;text-align:left}
.btn-xl .lp-icon{width:34px;height:34px;background:rgba(255,255,255,.18);border-radius:50%;padding:6px;box-sizing:content-box}
.lp-label{display:flex;flex-direction:column;line-height:1.35;flex:1;white-space:nowrap}
.lp-label small{font-size:.72rem;font-weight:500;opacity:.9;letter-spacing:.1em;margin-top:3px}
.lp-arrow{font-style:normal;width:34px;height:34px;border-radius:50%;background:#fff;color:var(--orange);display:grid;place-items:center;font-weight:700;transition:transform .25s}
.btn-xl:hover .lp-arrow{transform:translateX(4px)}
.lp-note{font-size:.76rem;color:var(--muted);text-align:center;letter-spacing:.08em}
.cta-inner .linepair{border:0;padding:0;background:transparent}
/* reserve page */
.rsv{background:#fff;border:1px solid var(--line);box-shadow:0 40px 70px -50px rgba(8,77,97,.55);padding:56px;position:relative}
.rsv::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:repeating-linear-gradient(-45deg,var(--teal) 0 10px,#fff 10px 16px,var(--orange) 16px 26px,#fff 26px 32px)}
.rsv h3{font-family:var(--serif);font-size:1.5rem;color:var(--teal-deep);letter-spacing:.1em;text-align:center;font-weight:600}
.rsv > p{color:var(--muted);font-size:.92rem;text-align:center;margin-top:6px}
.rsv .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:36px 0 40px}
.rsv .steps li{background:var(--paper);padding:24px 22px;border-radius:10px;flex-direction:column;gap:10px}
.rsv .linepair{justify-content:center;max-width:620px;margin:0 auto;background:var(--teal-soft);border-color:transparent}
.rsv .tel-box{text-align:center;margin-top:34px}
@media (max-width:960px){
  .cta-inner .linepair{width:100%}
  .rsv{padding:44px 24px}
  .rsv .steps{grid-template-columns:1fr;gap:10px}
}
@media (max-width:700px){
  .lp-qr,.lp-or{display:none}
  .linepair{padding:0;border:0;background:transparent!important;width:100%}
  .lp-btn{min-width:0;width:100%}
  .btn-xl{font-size:1rem!important;gap:12px;padding:14px 18px!important}
  .rsv .steps li{flex-direction:row}
  .lp-note{font-size:.7rem;letter-spacing:.02em}
  .rsv .linepair{max-width:none}
}

/* アクセスページ：Googleマップ埋め込み */
.map-embed{padding:0;min-height:0;display:flex;flex-direction:column;align-items:stretch;text-align:left;background:#fff}
.map-embed iframe{display:block;width:100%;flex:1;min-height:340px;border:0;filter:saturate(.9)}
.map-embed .map-info{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:20px 24px;border-top:3px solid var(--teal)}
.map-embed .map-info h4{margin-bottom:2px}
.map-embed .map-info p{margin-bottom:10px}
.map-embed .parking{margin-bottom:0}
@media (max-width:600px){.map-embed iframe{min-height:300px}.map-embed .map-info{padding:18px}.map-embed .map-info .btn{width:100%}}
