/* ============================================================
   BARBER 刈火 — _shared.css（固定ページ共通）
   トークン：夜の黒茶 × ランプ琥珀 × 真鍮
   ============================================================ */
:root{
  --night:#14110d;
  --night-2:#1c1812;
  --night-3:#0c0a07;
  --paper:#f3ead8;
  --paper-2:#ece1c9;
  --lamp:#e8b45a;
  --brass:#b08d57;
  --txt-d:#efe6d2;
  --ink:#211c14;
  --muted-d:rgba(239,230,210,.6);
  --muted-l:#80735c;
  --line-d:rgba(239,230,210,.16);
  --line-l:#ddd0b4;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Zen Kaku Gothic New',sans-serif;line-height:1.85;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;}
.mincho{font-family:'Shippori Mincho',serif;}
.mono{font-family:'Space Grotesk',monospace;letter-spacing:.04em;}
h1,h2,h3,.lead,summary{word-break:auto-phrase;text-wrap:balance;}
.tomo{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--lamp);box-shadow:0 0 12px 3px rgba(232,180,90,.45);vertical-align:middle;margin-right:10px;flex:none;}
.eyebrow{font-family:'Space Grotesk',monospace;font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:#8a5a1c;display:inline-flex;align-items:center;}

/* ===== header（index と同一・予約特化） ===== */
.l-header{position:sticky;top:0;z-index:50;background:rgba(20,17,13,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line-d);}
.l-header__in{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 28px;}
.l-header__logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--txt-d);}
.l-header__mk{width:42px;height:42px;border:1.5px solid var(--lamp);color:var(--lamp);display:flex;align-items:center;justify-content:center;font-family:'Shippori Mincho',serif;font-weight:700;font-size:20px;background:radial-gradient(circle at 50% 36%,rgba(232,180,90,.22),transparent 70%);}
.l-header__nm{font-family:'Shippori Mincho',serif;font-weight:700;font-size:19px;letter-spacing:.12em;line-height:1.25;}
.l-header__nm small{display:block;font-size:10px;color:var(--muted-d);font-family:'Zen Kaku Gothic New',sans-serif;font-weight:500;letter-spacing:.18em;}
.l-header__nav{display:flex;gap:22px;}
.l-header__nav a{color:var(--txt-d);text-decoration:none;font-size:13.5px;font-weight:700;white-space:nowrap;}
.l-header__nav a:hover{color:var(--lamp);}
.l-header__nav a[aria-current="page"]{color:var(--lamp);border-bottom:1px solid var(--lamp);padding-bottom:2px;}
.l-header__stat{display:flex;align-items:center;gap:9px;border:1px solid var(--lamp);padding:7px 15px;background:rgba(232,180,90,.08);white-space:nowrap;}
.l-header__pulse{position:relative;width:8px;height:8px;border-radius:50%;background:var(--lamp);box-shadow:0 0 10px 2px rgba(232,180,90,.5);}
.l-header__pulse::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1.5px solid var(--lamp);opacity:.6;animation:karibi-pl 2s ease-out infinite;}
@keyframes karibi-pl{to{transform:scale(2);opacity:0;}}
.l-header__stat b{font-size:12.5px;color:var(--lamp);letter-spacing:.06em;}
.l-header__stat small{font-family:'Space Grotesk',monospace;font-size:9.5px;letter-spacing:.14em;color:var(--muted-d);}
.l-header__convs{display:flex;align-items:center;gap:10px;}
.l-header__tel{display:inline-flex;flex-direction:column;align-items:center;text-decoration:none;border:1px solid var(--line-d);color:var(--txt-d);padding:7px 14px;line-height:1.3;}
.l-header__tel .num{font-family:'Space Grotesk',monospace;font-weight:700;font-size:15.5px;}
.l-header__tel small{font-size:9px;color:var(--muted-d);}
.l-header__btn{display:inline-flex;flex-direction:column;align-items:center;background:var(--lamp);color:var(--night);padding:8px 20px;text-decoration:none;line-height:1.3;}
.l-header__btn b{font-size:14px;letter-spacing:.1em;}
.l-header__btn small{font-size:9px;opacity:.8;}
.l-header__btn:hover{filter:brightness(1.06);}
.l-header__menu{display:none;width:42px;height:42px;border:1px solid var(--lamp);background:transparent;cursor:pointer;position:relative;flex:none;}
.l-header__menu i{position:absolute;left:50%;top:50%;width:17px;height:1.6px;background:var(--lamp);transform:translate(-50%,-50%);transition:transform .35s,opacity .25s;}
.l-header__menu i:nth-child(1){transform:translate(-50%,calc(-50% - 5px));}
.l-header__menu i:nth-child(3){transform:translate(-50%,calc(-50% + 5px));}
body.is-menu-open .l-header__menu i:nth-child(1){transform:translate(-50%,-50%) rotate(45deg);}
body.is-menu-open .l-header__menu i:nth-child(2){opacity:0;}
body.is-menu-open .l-header__menu i:nth-child(3){transform:translate(-50%,-50%) rotate(-45deg);}
@media(max-width:1180px){.l-header__nav{display:none;}.l-header__menu{display:block;}}
@media(max-width:680px){
  .l-header__stat small{display:none;}
  .l-header__tel{display:none;}
  .l-header__in{padding:10px 14px;flex-wrap:wrap;row-gap:8px;gap:10px;}
  .l-header__stat{order:5;flex-basis:100%;justify-content:center;padding:5px 12px;}
  .l-header__mk{width:36px;height:36px;font-size:16px;}
  .l-header__nm{font-size:14.5px;}
  .l-header__nm small{font-size:9px;}
  .l-header__btn{padding:7px 13px;}
  .l-header__btn b{font-size:12px;}
  .l-header__btn small{display:none;}
  .l-header__menu{width:38px;height:38px;}
}

/* ===== スマホドロワー（spmenu-01） ===== */
.c-drawer__shade{position:fixed;inset:0;z-index:80;background:rgba(8,6,4,.6);opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s;}
body.is-menu-open .c-drawer__shade{opacity:1;visibility:visible;}
.c-drawer{position:fixed;top:0;right:0;bottom:0;width:min(84vw,360px);z-index:90;background:var(--night-2);display:flex;flex-direction:column;
  transform:translateX(104%);transition:transform .5s cubic-bezier(.22,1,.36,1);box-shadow:-22px 0 44px -22px rgba(0,0,0,.7);border-left:1px solid var(--line-d);}
body.is-menu-open .c-drawer{transform:translateX(0);}
body.is-locked{overflow:hidden;}
.c-drawer__hd{padding:26px 22px 14px;border-bottom:1px solid var(--line-d);}
.c-drawer__hd .lb{font-family:'Space Grotesk',monospace;font-size:9px;letter-spacing:.3em;color:var(--lamp);}
.c-drawer__hd b{font-family:'Shippori Mincho',serif;font-size:18px;letter-spacing:.12em;display:block;margin-top:4px;color:var(--txt-d);}
.c-drawer__bd{flex:1;overflow-y:auto;padding:8px 0;}
.c-drawer__it a,.c-drawer__acc-h{display:flex;align-items:center;justify-content:space-between;padding:15px 22px;text-decoration:none;color:var(--txt-d);font-weight:700;font-size:14.5px;border-bottom:1px solid var(--line-d);cursor:pointer;}
.c-drawer__it .en{font-family:'Space Grotesk',monospace;font-size:9px;letter-spacing:.2em;color:var(--muted-d);}
.c-drawer__acc-h .pm{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--lamp);color:var(--lamp);display:flex;align-items:center;justify-content:center;font-size:13px;line-height:1;flex:none;transition:transform .3s,background .3s,color .3s;}
.c-drawer__acc.is-on .c-drawer__acc-h .pm{background:var(--lamp);color:var(--night);transform:rotate(45deg);}
.c-drawer__acc-b{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.22,1,.36,1);background:rgba(0,0,0,.25);}
.c-drawer__acc.is-on .c-drawer__acc-b{max-height:300px;}
.c-drawer__acc-b a{display:block;padding:12px 22px 12px 36px;font-size:13px;color:var(--txt-d);text-decoration:none;border-bottom:1px solid var(--line-d);}
.c-drawer__acc-b a::before{content:"—";color:var(--lamp);margin-right:8px;}
.c-drawer__ft{padding:16px 22px 28px;border-top:1px solid var(--line-d);display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.c-drawer__ft a{display:flex;flex-direction:column;align-items:center;text-decoration:none;padding:11px 6px;line-height:1.35;}
.c-drawer__ft .tel{border:1px solid var(--line-d);color:var(--txt-d);}
.c-drawer__ft .tel b{font-family:'Space Grotesk',monospace;font-size:12px;white-space:nowrap;}
.c-drawer__ft .web{background:var(--lamp);color:var(--night);}
.c-drawer__ft .web b{font-size:14px;letter-spacing:.08em;}
.c-drawer__ft small{font-size:9px;opacity:.8;}

/* ===== ページヒーロー（固定ページ用・軽量） ===== */
.c-pagehero{background:linear-gradient(180deg,var(--night-2),var(--night));color:var(--txt-d);padding:80px 0 64px;position:relative;overflow:hidden;}
.c-pagehero::after{content:"";position:absolute;right:-60px;top:-60px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(232,180,90,.18),transparent 70%);}
.c-pagehero__in{width:min(1080px,calc(100% - 56px));margin:0 auto;position:relative;z-index:1;}
.c-pagehero .eyebrow{color:var(--lamp);}
.c-pagehero h1{font-family:'Shippori Mincho',serif;font-weight:700;font-size:clamp(30px,4.6vw,46px);margin:14px 0 0;letter-spacing:.08em;}
.c-pagehero p{margin:14px 0 0;font-size:14px;color:var(--muted-d);max-width:40em;}
@media(max-width:680px){.c-pagehero{padding:56px 0 44px;}}

/* ===== 汎用ブロック ===== */
.c-block{padding:90px 0;}
.c-block--paper2{background:var(--paper-2);}
.c-block--night{background:var(--night-2);color:var(--txt-d);}
.c-block__in{width:min(1080px,calc(100% - 56px));margin:0 auto;}
.c-block__in--narrow{width:min(800px,calc(100% - 56px));}
.c-block h2{font-family:'Shippori Mincho',serif;font-weight:700;font-size:clamp(24px,3.6vw,38px);margin:12px 0 0;}
.c-block .lead{margin:18px 0 0;font-size:14.5px;color:var(--muted-l);max-width:42em;}
.c-block--night .lead{color:var(--muted-d);}
@media(max-width:680px){.c-block{padding:64px 0;}}

/* ===== ジグザグ（画像×テキスト交互） ===== */
.c-zig{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin-top:56px;}
.c-zig:nth-of-type(even) .c-zig__img{order:2;}
.c-zig__img{aspect-ratio:4/3;overflow:hidden;box-shadow:0 30px 60px -30px rgba(20,17,13,.5);}
.c-zig__img img{width:100%;height:100%;object-fit:cover;}
.c-zig__no{font-family:'Space Grotesk',monospace;font-size:11px;letter-spacing:.28em;color:#8a5a1c;}
.c-zig h3{font-family:'Shippori Mincho',serif;font-weight:700;font-size:clamp(20px,2.6vw,28px);margin:10px 0 12px;}
.c-zig p{margin:0;font-size:14.5px;color:var(--muted-l);}
.c-zig .pr{margin-top:14px;font-family:'Space Grotesk',monospace;font-weight:700;font-size:18px;color:var(--ink);}
.c-zig .pr small{font-size:11px;color:var(--muted-l);font-weight:400;margin-left:6px;}
@media(max-width:760px){.c-zig{grid-template-columns:1fr;gap:22px;}.c-zig:nth-of-type(even) .c-zig__img{order:0;}}

/* ===== 罫線インデックス（料金・概要 dl） ===== */
.c-index{margin-top:40px;border-top:2px solid var(--ink);}
.c-index__row{display:grid;grid-template-columns:200px 1fr auto;gap:18px;align-items:baseline;padding:20px 6px;border-bottom:1px solid var(--line-l);}
.c-index__row dt{font-family:'Shippori Mincho',serif;font-weight:700;font-size:16px;}
.c-index__row dd{margin:0;font-size:13.5px;color:var(--muted-l);}
.c-index__row .pr{font-family:'Space Grotesk',monospace;font-weight:700;font-size:17px;white-space:nowrap;}
@media(max-width:680px){.c-index__row{grid-template-columns:1fr auto;}.c-index__row dd{grid-column:1/-1;}}

/* ===== FAQ（チャット風・index と同型） ===== */
.c-faq__chat{display:flex;flex-direction:column;gap:26px;padding:0 50px;margin-top:48px;}
.c-faq__pair{display:flex;flex-direction:column;gap:12px;}
.c-faq__bbl{max-width:78%;padding:16px 22px;font-size:14.5px;position:relative;line-height:1.9;}
.c-faq__q{align-self:flex-start;background:#fff;border:1px solid var(--line-l);border-radius:6px 20px 20px 20px;box-shadow:0 14px 30px -22px rgba(33,28,20,.5);font-weight:700;}
.c-faq__q::before{content:"Q";position:absolute;left:-44px;top:0;width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk',monospace;font-weight:700;font-size:14px;}
.c-faq__a{align-self:flex-end;background:#6e5330;color:#fff;border-radius:20px 6px 20px 20px;box-shadow:0 16px 32px -20px rgba(110,83,48,.7);}
.c-faq__a::before{content:"A";position:absolute;right:-44px;top:0;width:34px;height:34px;border-radius:50%;background:#fbf5e8;color:#6e5330;display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk',monospace;font-weight:700;font-size:14px;}
@media(max-width:680px){.c-faq__chat{padding:0 38px;}.c-faq__bbl{max-width:100%;}}

/* ===== ミニCTA（固定ページ末尾） ===== */
.c-minicta{background:var(--night-3);color:var(--txt-d);padding:80px 0;}
.c-minicta__in{width:min(900px,calc(100% - 56px));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;}
.c-minicta h2{font-family:'Shippori Mincho',serif;font-weight:700;font-size:clamp(22px,3.2vw,32px);margin:0;}
.c-minicta p{margin:10px 0 0;font-size:13px;color:var(--muted-d);}
.c-minicta__acts{display:flex;gap:12px;flex-wrap:wrap;}
.c-minicta__acts a{display:inline-block;padding:14px 34px;text-decoration:none;font-weight:700;letter-spacing:.1em;white-space:nowrap;}
.c-minicta__acts .pr{background:var(--lamp);color:var(--night);}
.c-minicta__acts .sc{border:1px solid var(--lamp);color:var(--lamp);}
.c-minicta__acts a:hover{filter:brightness(1.07);}

/* ===== footer（index と同一・地図一体型＋NAP） ===== */
.l-footer{background:var(--night-2);border-top:1px solid var(--line-d);color:var(--txt-d);}
.l-footer__grid{display:grid;grid-template-columns:1.1fr 1fr;min-height:430px;}
.l-footer__map{position:relative;background:#191510;overflow:hidden;}
.l-footer__map .rd{position:absolute;background:#241e14;}
.l-footer__map .rd.h1{left:0;right:0;top:34%;height:26px;}
.l-footer__map .rd.h2{left:0;right:0;top:68%;height:14px;transform:rotate(-3deg);}
.l-footer__map .rd.v1{top:0;bottom:0;left:28%;width:18px;transform:rotate(2deg);}
.l-footer__map .rd.v2{top:0;bottom:0;left:64%;width:30px;}
.l-footer__map .blk{position:absolute;background:#1f1a11;border-radius:4px;}
.l-footer__map .blk.b1{left:6%;top:8%;width:16%;height:20%;}
.l-footer__map .blk.b2{left:36%;top:10%;width:22%;height:17%;}
.l-footer__map .blk.b3{left:8%;top:46%;width:14%;height:16%;}
.l-footer__map .blk.b4{left:38%;top:44%;width:20%;height:18%;}
.l-footer__map .blk.b5{left:74%;top:46%;width:18%;height:34%;}
.l-footer__map .blk.b6{left:74%;top:8%;width:18%;height:22%;}
.l-footer__pin{position:absolute;left:50%;top:38%;transform:translate(-50%,-100%);text-align:center;}
.l-footer__pin .pd{width:34px;height:34px;margin:0 auto;background:var(--lamp);border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;box-shadow:0 0 26px 4px rgba(232,180,90,.35);animation:karibi-bob 2.6s ease-in-out infinite;}
.l-footer__pin .pd::after{content:"";width:11px;height:11px;border-radius:50%;background:var(--night);}
.l-footer__pin .tag{margin-top:10px;background:var(--lamp);color:var(--night);font-size:11.5px;font-weight:700;letter-spacing:.06em;padding:6px 13px;border-radius:999px;white-space:nowrap;display:inline-block;}
@keyframes karibi-bob{0%,100%{transform:rotate(-45deg) translate(0,0);}50%{transform:rotate(-45deg) translate(-4px,4px);}}
.l-footer__openmap{position:absolute;right:16px;bottom:16px;background:var(--night);border:1px solid var(--line-d);border-radius:999px;padding:10px 18px;font-family:'Space Grotesk',monospace;font-size:10px;letter-spacing:.18em;color:var(--txt-d);text-decoration:none;}
.l-footer__openmap:hover{background:var(--lamp);color:var(--night);border-color:var(--lamp);}
.l-footer__nap{padding:52px 56px 44px;display:flex;flex-direction:column;}
.l-footer__lb{font-family:'Space Grotesk',monospace;font-size:10px;letter-spacing:.3em;color:var(--lamp);}
.l-footer__nap h2{font-family:'Shippori Mincho',serif;font-size:30px;letter-spacing:.1em;margin:10px 0 4px;color:var(--txt-d);}
.l-footer__yomi{font-family:'Space Grotesk',monospace;font-size:9.5px;letter-spacing:.26em;color:var(--muted-d);}
.l-footer__nap dl{margin:26px 0 0;display:grid;grid-template-columns:auto 1fr;gap:0 22px;}
.l-footer__nap dt{font-family:'Space Grotesk',monospace;font-size:9.5px;letter-spacing:.2em;color:var(--brass);padding:13px 0;border-bottom:1px solid var(--line-d);font-weight:700;align-content:center;}
.l-footer__nap dd{margin:0;font-size:14px;padding:13px 0;border-bottom:1px solid var(--line-d);line-height:1.8;}
.l-footer__nap dd .tel{font-family:'Space Grotesk',monospace;font-size:21px;font-weight:700;color:var(--txt-d);text-decoration:none;letter-spacing:.02em;}
.l-footer__nap dd small{color:var(--muted-d);font-size:11.5px;display:block;}
.l-footer__nap dd .off{color:var(--muted-d);}
.l-footer__acts{display:flex;gap:12px;margin-top:30px;}
.l-footer__acts a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:15px 10px;text-decoration:none;font-weight:900;font-size:14px;letter-spacing:.06em;}
.l-footer__acts .rt{background:var(--lamp);color:var(--night);}
.l-footer__acts .ln{border:1px solid var(--line-d);color:var(--txt-d);}
.l-footer__acts a:hover{filter:brightness(1.06);}
.l-footer__low{border-top:1px solid var(--line-d);}
.l-footer__lowin{max-width:1240px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 28px;flex-wrap:wrap;}
.l-footer__low nav{display:flex;gap:20px;flex-wrap:wrap;}
.l-footer__low a{color:var(--muted-d);text-decoration:none;font-size:12px;}
.l-footer__low a:hover{color:var(--txt-d);}
.l-footer__cp{font-family:'Space Grotesk',monospace;font-size:10px;letter-spacing:.14em;color:var(--muted-d);}
@media(max-width:980px){.l-footer__grid{grid-template-columns:1fr;}.l-footer__map{min-height:300px;}.l-footer__nap{padding:40px 28px;}}
@media(prefers-reduced-motion:reduce){
  .l-footer__pin .pd{animation:none;}
  .l-header__pulse::after{animation:none;}
}
