/* =========================================================
   たばた整骨院 TOP C案「身近でやわらか」
   書体：Zen Maru Gothic（丸ゴシック）
   ========================================================= */
@font-face{font-family:"TB Maru";src:local("Zen Maru Gothic"),url("../assets/fonts/ZenMaruGothic-Regular.subset.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"TB Maru";src:local("Zen Maru Gothic Bold"),url("../assets/fonts/ZenMaruGothic-Bold.subset.woff2") format("woff2");font-weight:700;font-display:swap}

:root{
  --cream:#FFF8EE;
  --latte:#F3E3CF;
  --milk:#FFFDF8;
  --caramel:#C08E5E;
  --brown:#603719;
  --cocoa:#3D2414;
  --ink-2:#6A4E3A;
  --line:#06C755;
  --line-ink:#05361B;
  --rs:12px;
  --rl:28px;
  --gut:clamp(18px,5vw,72px);
  --max:1140px;
  --maru:"TB Maru","Zen Maru Gothic","Kosugi Maru","Hiragino Maru Gothic ProN","Noto Sans JP","Noto Sans CJK JP",sans-serif;
  --hd:84px;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hd) + 16px + env(safe-area-inset-top,0px));-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--cocoa);font-family:var(--maru);font-size:1.04rem;line-height:1.95;letter-spacing:.04em;overflow-wrap:anywhere}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,p,dl,dd,figure,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
:focus-visible{outline:3px solid var(--brown);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--brown);color:#fff;padding:10px 16px;text-decoration:none;border-radius:8px}
.skip:focus{top:12px}

/* LINE mark */
.lm{display:inline-block;flex:none;width:22px;height:22px;border-radius:7px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2306C755' d='M12 4.6c-4.4 0-8 2.9-8 6.4 0 3.2 2.8 5.8 6.6 6.3.3.1.6.2.7.4.1.2 0 .5 0 .7l-.1.7c0 .2-.2.8.7.4s4.6-2.7 6.3-4.7c1.2-1.3 1.8-2.6 1.8-3.9 0-3.5-3.6-6.3-8-6.3z'/%3E%3C/svg%3E") center/80% no-repeat}
.lm--lg{width:40px;height:40px;border-radius:12px}

/* Pills */
.pill{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:999px;text-decoration:none;font-weight:700;letter-spacing:.04em;line-height:1.3;transition:transform .2s,box-shadow .2s,background .2s}
.pill small{font-size:.72rem;font-weight:700;opacity:.9}
.pill:hover{transform:translateY(-1px)}
.pill--brown{background:var(--brown);color:#fff}
.pill--brown:hover{box-shadow:0 10px 22px -12px rgba(96,55,25,.8)}
.pill--line{background:var(--line);color:var(--line-ink)}
.pill--line:hover{box-shadow:0 10px 22px -12px rgba(5,54,27,.7)}
.pill--ghost{background:var(--milk);color:var(--brown);box-shadow:inset 0 0 0 2px var(--brown);margin-top:24px}
.pill--ivory{background:var(--milk);color:var(--brown)}
.pill--lg{min-height:72px;padding:0 28px 0 18px;justify-content:flex-start;border-radius:24px}
.pill__col{display:flex;flex-direction:column;align-items:flex-start;font-size:1.25rem;line-height:1.3}

/* ---------- Header ---------- */
.hd{position:fixed;left:0;right:0;top:0;z-index:50;padding:12px var(--gut) 0;padding-top:calc(12px + env(safe-area-inset-top,0px))}
.hd__bar{max-width:var(--max);margin:0 auto;display:flex;align-items:center;gap:10px;height:60px;padding:0 10px 0 22px;background:rgba(255,253,248,.95);border-radius:20px;box-shadow:0 8px 30px -18px rgba(96,55,25,.55),0 0 0 1px rgba(96,55,25,.08);position:relative;z-index:2}
.hd__logo{width:78px;margin-right:auto}
.hd__logo img{mix-blend-mode:multiply}
.hd__rsv{display:flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;background:var(--latte);color:var(--brown);font-weight:700;text-decoration:none}
.hd__rsv:hover{background:#ECD6BC}
.hd__menu{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:0;border-radius:999px;background:var(--brown);color:#fff;font:inherit;font-weight:700;cursor:pointer}
.hd__dots{display:grid;gap:4px;width:16px}
.hd__dots i{height:2px;border-radius:2px;background:currentColor}
.hd__menu[aria-expanded="true"] .hd__dots i:first-child{transform:translateY(3px) rotate(45deg)}
.hd__menu[aria-expanded="true"] .hd__dots i:last-child{transform:translateY(-3px) rotate(-45deg)}
.hd__dots i{transition:transform .25s}
.sheet{max-width:var(--max);margin:-20px auto 0;padding:40px clamp(20px,3vw,36px) 28px;background:var(--milk);border-radius:0 0 var(--rl) var(--rl);box-shadow:0 30px 60px -30px rgba(96,55,25,.6);max-height:calc(100svh - 90px);overflow:auto;transform-origin:top;animation:drop .3s cubic-bezier(.3,.7,.2,1)}
@keyframes drop{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
.sheet__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:4px 16px}
.sheet__list a{display:flex;align-items:center;gap:10px;min-height:50px;padding:0 6px;border-bottom:1px dashed rgba(96,55,25,.25);text-decoration:none;font-weight:700}
.sheet__list a::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--caramel)}
.sheet__cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.scrim{position:fixed;inset:0;z-index:40;background:rgba(61,36,20,.3)}
@media (max-width:480px){.hd__bar{padding-left:14px}.hd__rsv{padding:0 14px}.hd__logo{width:64px}}

/* ---------- Section base ---------- */
.sec{max-width:calc(var(--max) + var(--gut)*2);margin:0 auto;padding:clamp(72px,9vw,128px) var(--gut);position:relative}
.kicker{display:inline-flex;align-items:center;gap:10px;padding:4px 14px;border-radius:999px;background:var(--latte);color:var(--brown);font-weight:700;font-size:.86rem;margin-bottom:16px}
.kicker--inv{background:rgba(255,253,248,.16);color:#fff}
.sec__title{font-weight:700;font-size:clamp(1.45rem,1.1rem + 1.6vw,2.35rem);line-height:1.55;letter-spacing:.04em;color:var(--brown)}
.sec__title--md{font-size:clamp(1.3rem,1.05rem + 1vw,1.8rem)}

/* ---------- FV ---------- */
.fv{position:relative;background:radial-gradient(120% 90% at 100% 0%,#B98A62 0%,#D9B38E 28%,#F1DCC3 55%,#FFF8EE 82%);padding-top:calc(var(--hd) + 28px + env(safe-area-inset-top,0px))}
.fv__inner{max-width:calc(var(--max) + var(--gut)*2);margin:0 auto;padding:clamp(24px,4vw,56px) var(--gut) clamp(72px,9vw,120px);display:grid;gap:36px;align-items:center}
@media (min-width:900px){.fv__inner{grid-template-columns:1.15fr .85fr;gap:48px}}
.fv__hello{display:inline-block;padding:6px 16px;border-radius:999px;background:var(--milk);color:var(--brown);font-weight:700;font-size:.9rem;box-shadow:0 6px 18px -12px rgba(96,55,25,.6)}
.fv__title{margin-top:20px;font-weight:700;font-size:clamp(1.55rem,.95rem + 3vw,3.1rem);line-height:1.5;letter-spacing:.05em;color:var(--cocoa);word-break:auto-phrase}
.fv__lead{margin-top:18px;max-width:30em;color:var(--ink-2)}
.fv__two{margin-top:26px;display:flex;flex-wrap:wrap;gap:10px}
.fv__two a{display:flex;align-items:center;gap:10px;min-height:56px;padding:0 22px 0 8px;border-radius:999px;background:var(--milk);text-decoration:none;font-weight:700;font-size:1.05rem;color:var(--brown);box-shadow:0 0 0 1.5px rgba(96,55,25,.18);transition:box-shadow .2s}
.fv__two a:hover{box-shadow:0 0 0 2px var(--brown)}
.fv__two-ico{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(140deg,#8A5E3B,#603719);color:#fff}
.fv__two-ico svg{width:24px;height:24px}
.fv__rsv{margin-top:14px;display:flex;flex-wrap:wrap;gap:10px}
.fv__rsv .pill{min-height:56px}
.fv__arch{justify-self:center;width:min(440px,82vw);aspect-ratio:4/5;border-radius:999px 999px var(--rl) var(--rl);overflow:hidden;background:var(--cream);box-shadow:0 30px 60px -36px rgba(61,36,20,.7),0 0 0 10px rgba(255,253,248,.55);animation:archIn 1.2s cubic-bezier(.2,.7,.2,1) both}
.fv__arch img{width:100%;height:100%;object-fit:cover;object-position:68% 60%}
@keyframes archIn{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
@media (max-width:899px){.fv__arch{order:-1;width:min(300px,70vw)}}
.wave{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:clamp(36px,6vw,90px);display:block}

/* ---------- 初めての方へ ---------- */
.first__grid{display:grid;gap:36px;align-items:center}
@media (min-width:900px){.first__grid{grid-template-columns:.9fr 1.1fr;gap:64px}}
.first__art{border-radius:var(--rl);overflow:hidden;background:var(--latte)}
.first__art img{width:100%;aspect-ratio:5/4;object-fit:cover;object-position:72% 70%}
.ease{margin-top:28px;display:grid;gap:4px;position:relative}
.ease::before{content:"";position:absolute;left:11px;top:16px;bottom:16px;width:2px;background:repeating-linear-gradient(180deg,var(--caramel) 0 6px,transparent 6px 12px);opacity:.6}
.ease li{display:flex;gap:18px;padding:12px 0;position:relative}
.ease__dot{flex:none;width:24px;height:24px;margin-top:.25em;border-radius:50%;background:var(--cream);box-shadow:inset 0 0 0 6px var(--caramel)}
.ease b{display:block;font-size:1.12rem;color:var(--cocoa)}
.ease p{color:var(--ink-2);font-size:.96rem}

/* ---------- 二本柱 ---------- */
.pillars{position:relative;overflow:hidden;background:var(--latte)}
.pillars__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 70%}
.pillars__inner{position:relative;max-width:calc(var(--max) + var(--gut)*2);margin:0 auto;padding:clamp(72px,9vw,128px) var(--gut)}
.pillars__title{font-weight:700;font-size:clamp(1.5rem,1.1rem + 1.6vw,2.35rem);line-height:1.5;color:var(--cocoa)}
.pillars__pair{margin-top:36px;display:grid;gap:18px;max-width:880px}
@media (min-width:760px){.pillars__pair{grid-template-columns:1fr 1fr}.pillar--b{margin-top:56px}}
.pillar{display:flex;flex-direction:column;gap:10px;padding:28px 28px 26px;border-radius:var(--rl);background:rgba(255,253,248,.94);text-decoration:none;box-shadow:0 24px 50px -32px rgba(61,36,20,.7);transition:transform .25s}
.pillar:hover{transform:translateY(-3px)}
.pillar__name{font-weight:700;font-size:clamp(1.25rem,1.05rem + .8vw,1.6rem);color:var(--brown)}
.pillar__txt{color:var(--ink-2);font-size:.95rem}
.pillar__go{align-self:flex-start;margin-top:6px;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border-radius:999px;background:var(--latte);color:var(--brown);font-weight:700;font-size:.88rem}

/* ---------- メニュー ---------- */
.menu__leaf{position:absolute;right:-4%;top:-2%;width:clamp(200px,34vw,460px);mix-blend-mode:multiply;opacity:.85;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse 60% 60% at 70% 35%,#000 40%,transparent 80%);mask-image:radial-gradient(ellipse 60% 60% at 70% 35%,#000 40%,transparent 80%)}
.menu>*:not(.menu__leaf){position:relative}
.menu__feature{margin-top:36px;padding:clamp(24px,3.4vw,44px);border-radius:var(--rl);background:linear-gradient(135deg,#5A3317 0%,#704A2C 55%,#7F5636 100%);color:#fff;max-width:760px}
.menu__feature h3{font-size:clamp(1.4rem,1.1rem + 1.2vw,2rem);margin-bottom:12px}
.menu__feature p{opacity:.95}
.menu__more{margin-top:18px;display:grid;gap:12px;max-width:760px}
.menu__more li{padding:18px 22px;border-radius:18px;background:var(--milk);box-shadow:0 0 0 1px rgba(96,55,25,.12);color:var(--ink-2);font-size:.95rem}
.menu__more b{display:block;color:var(--cocoa);font-size:1.08rem}
.menu__price{margin-top:18px;max-width:760px;display:flex;align-items:center;gap:12px;padding:14px 20px;border-radius:999px;background:var(--latte);font-weight:700;color:var(--brown)}
.menu__price::before{content:"";flex:none;width:10px;height:10px;border-radius:50%;background:var(--caramel)}
@media (min-width:1000px){.menu__more{grid-template-columns:1fr 1fr 1fr;max-width:none}.menu__feature{margin-right:24%}}

/* ---------- 巻き爪 ---------- */
.nail{background:linear-gradient(180deg,var(--cream),var(--latte) 70%,var(--cream))}
.nail__inner{max-width:calc(var(--max) + var(--gut)*2);margin:0 auto;padding:clamp(72px,9vw,128px) var(--gut);display:grid;gap:36px;align-items:center}
@media (min-width:900px){.nail__inner{grid-template-columns:1fr 1fr;gap:64px}.nail__arch{order:2}}
.nail__arch{width:min(480px,100%);justify-self:center;aspect-ratio:1/1;border-radius:var(--rl) var(--rl) 999px 999px;overflow:hidden;box-shadow:0 30px 60px -36px rgba(61,36,20,.6)}
.nail__arch img{width:100%;height:100%;object-fit:cover;object-position:68% 45%}
.nail__text>p:not(.kicker){margin-top:18px;color:var(--ink-2)}

/* ---------- 院長 ---------- */
.director__wrap{display:grid;gap:36px;align-items:center}
@media (min-width:900px){.director__wrap{grid-template-columns:auto 1fr;gap:64px}}
.director__photo{width:min(300px,100%);justify-self:center;position:relative}
.director__photo::before{content:"";position:absolute;inset:-14px -14px 40px -14px;border-radius:var(--rl);background:var(--latte);z-index:-1}
.director__photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:44% 50%;border-radius:22px}
.director__photo figcaption{margin-top:14px;text-align:center;font-weight:700;color:var(--brown)}
.director__photo figcaption span{display:block;font-size:.78rem;color:var(--ink-2);font-weight:400}
.director{z-index:0}
.director__text p:not(.kicker){margin-top:16px;color:var(--ink-2);max-width:34em}

/* ---------- 交通事故 ---------- */
.traffic{padding-top:0}
.traffic__box{display:grid;gap:24px;align-items:center;padding:clamp(24px,3.4vw,44px);border-radius:var(--rl);background:var(--milk);box-shadow:0 0 0 1px rgba(96,55,25,.12)}
@media (min-width:860px){.traffic__box{grid-template-columns:minmax(220px,380px) 1fr;gap:44px}}
.traffic__art{border-radius:20px;mix-blend-mode:multiply}
.traffic__text>p:not(.kicker){margin-top:14px;color:var(--ink-2)}

/* ---------- FAQ ---------- */
.faq__head{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.faq__art{width:clamp(150px,20vw,240px);border-radius:20px;mix-blend-mode:multiply}
.faq__list{margin-top:32px;display:grid;gap:12px}
@media (min-width:900px){.faq__list{grid-template-columns:1fr 1fr;align-items:start}}
.faq details{border-radius:22px;background:var(--milk);box-shadow:0 0 0 1px rgba(96,55,25,.12)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;min-height:64px;padding:12px 56px 12px 18px;font-weight:700;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q";flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50% 50% 50% 8px;background:var(--brown);color:#fff;font-size:.9rem}
.faq summary::after{content:"";position:absolute;right:18px;top:50%;width:26px;height:26px;margin-top:-13px;border-radius:50%;background:var(--latte) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%23603719' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/14px no-repeat;transition:transform .25s}
.faq details[open] summary::after{transform:rotate(180deg)}
.faq details p{margin:0 18px 18px 62px;padding:14px 18px;border-radius:8px 18px 18px 18px;background:var(--latte);color:var(--cocoa);font-size:.95rem}

/* ---------- 予約（LINEバナー） ---------- */
.reserve{position:relative;background:linear-gradient(160deg,#4A2B15 0%,#603719 40%,#86603F 100%);color:#fff;overflow:hidden}
.wave--top{top:-1px;bottom:auto}
.reserve__inner{max-width:calc(var(--max) + var(--gut)*2);margin:0 auto;padding:clamp(110px,12vw,170px) var(--gut) clamp(72px,9vw,120px);display:grid;gap:40px;align-items:center}
@media (min-width:900px){.reserve__inner{grid-template-columns:1.1fr .9fr;gap:56px}}
.reserve__title{font-weight:700;font-size:clamp(1.6rem,1.2rem + 1.8vw,2.6rem);line-height:1.5}
.reserve__lead{margin-top:14px;opacity:.95}
.reserve__btns{margin-top:28px;display:grid;gap:12px;max-width:440px}
.reserve__btns .pill--line{box-shadow:0 0 0 4px rgba(6,199,85,.25)}
.reserve__mail{margin-top:18px;font-size:.95rem}
.reserve__mail a{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
.reserve__visual{position:relative;border-radius:var(--rl);overflow:hidden;background:var(--cream);box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.reserve__visual img{width:100%}
/* イラストのスマートフォン画面（約 x69–89%, y23–77%）に合わせて重ねる */
.reserve__screen{position:absolute;left:69.5%;top:24%;width:19%;height:52%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8%;text-align:center;color:var(--brown);font-weight:700;font-size:clamp(.62rem,.4rem + .6vw,.95rem);line-height:1.4}
.reserve__screen .lm{width:44%;height:auto;aspect-ratio:1;background-color:var(--line);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M12 4.6c-4.4 0-8 2.9-8 6.4 0 3.2 2.8 5.8 6.6 6.3.3.1.6.2.7.4.1.2 0 .5 0 .7l-.1.7c0 .2-.2.8.7.4s4.6-2.7 6.3-4.7c1.2-1.3 1.8-2.6 1.8-3.9 0-3.5-3.6-6.3-8-6.3z'/%3E%3C/svg%3E")}
@media (max-width:899px){.reserve__visual{order:-1;max-width:520px}}

/* ---------- アクセス ---------- */
.access__grid{margin-top:36px;display:grid;gap:24px}
@media (min-width:900px){.access__grid{grid-template-columns:1fr 1fr;gap:32px}}
.access__card,.access__hours{padding:clamp(22px,3vw,36px);border-radius:var(--rl);background:var(--milk);box-shadow:0 0 0 1px rgba(96,55,25,.12)}
.access__pics{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.access__ext{width:clamp(120px,30%,180px);flex:none;text-align:center}
.access__ext img{border-radius:50%;aspect-ratio:1;object-fit:cover}
.access__ext figcaption{margin-top:6px;font-size:.75rem;color:var(--ink-2)}
.access__ill{width:min(240px,60%);mix-blend-mode:multiply;border-radius:20px}
.addr{display:grid;gap:10px}
.addr>div{display:grid;grid-template-columns:4em 1fr;gap:12px}
.addr dt{display:inline-flex;align-self:start;justify-content:center;padding:2px 0;border-radius:999px;background:var(--latte);color:var(--brown);font-weight:700;font-size:.82rem}
.access__h{font-size:1.2rem;color:var(--brown);margin-bottom:12px}
.days{display:grid;gap:8px}
.days li{display:grid;grid-template-columns:6.4em 1fr;gap:4px 12px;align-items:center;padding:12px 16px;border-radius:16px;background:var(--cream)}
.days b{color:var(--brown)}
.days span{font-weight:700;font-variant-numeric:tabular-nums}
.days em{grid-column:2;font-style:normal;font-size:.85rem;color:var(--ink-2)}
.days__off{opacity:.85}
.days__key{margin-top:14px;padding:10px 14px;border-radius:14px;background:var(--latte);font-weight:700;font-size:.92rem}
.days__note{margin-top:8px;font-size:.85rem;color:var(--ink-2)}

/* ---------- 院だより ---------- */
.news__grid{margin-top:32px;display:grid;gap:16px}
@media (min-width:760px){.news__grid{grid-template-columns:1fr 1fr}}
.note-card{padding:26px 26px 30px;border-radius:var(--rl);background:var(--milk) url("../assets/img/ai01-paper-960.webp") center/cover;box-shadow:0 0 0 1px rgba(96,55,25,.12);position:relative}
.note-card h3{display:flex;align-items:center;gap:10px;font-size:1.1rem;color:var(--brown)}
.note-card h3::before{content:"";width:28px;height:28px;border-radius:50%;background:var(--latte) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 5h12v14H6z M9 9h6 M9 12h6 M9 15h4' fill='none' stroke='%23603719' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") center/16px no-repeat}
.note-card p{margin-top:14px;color:var(--ink-2);font-size:.95rem}
.insta{margin-top:40px}
.insta__h{font-size:1.15rem;color:var(--brown)}
.insta__row{margin-top:12px;display:flex;flex-wrap:wrap;gap:12px}
.ig{flex:1 1 260px;display:flex;align-items:center;gap:14px;min-height:72px;padding:10px 22px 10px 10px;border-radius:999px;background:var(--milk);box-shadow:0 0 0 1px rgba(96,55,25,.14);text-decoration:none;transition:box-shadow .2s}
.ig:hover{box-shadow:0 0 0 2px var(--brown)}
.ig__ring{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:linear-gradient(140deg,#C08E5E,#603719);color:#fff;flex:none}
.ig__ring svg{width:26px;height:26px}
.ig b{display:block;font-size:1rem}
.ig small{color:var(--ink-2);font-size:.82rem}

/* ---------- Footer ---------- */
.ft{position:relative;margin-top:40px}
.wave--ft{position:relative;bottom:auto;height:50px}
.ft__body{background:var(--latte);padding:24px var(--gut) calc(28px + env(safe-area-inset-bottom,0px))}
.ft__inner{max-width:var(--max);margin:0 auto;display:grid;gap:36px}
@media (min-width:900px){.ft__inner{grid-template-columns:1fr 1fr}}
.ft__logo{width:120px;mix-blend-mode:multiply;margin-bottom:14px}
.ft address{font-style:normal;font-size:.92rem}
.ft address a{font-weight:700}
.ft__hours{margin-top:10px;font-size:.85rem;color:var(--ink-2)}
.ft__h{font-size:1rem;color:var(--brown);margin-bottom:8px}
.ft__map ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.ft__map a{display:flex;align-items:center;min-height:44px;font-size:.9rem;text-decoration:none;border-bottom:1px dashed rgba(96,55,25,.25)}
.ft__bottom{max-width:var(--max);margin:28px auto 0;display:grid;gap:6px;font-size:.84rem;color:var(--ink-2)}
.ft__bottom b{color:var(--cocoa);margin-right:10px}

/* ---------- Reveal ---------- */
.js .rv{opacity:0;transform:translateY(20px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.js .rv.is-in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .rv{opacity:1;transform:none}
}

/* ---------- 料金（C：やわらかな札） ---------- */
.price{margin-top:18px;max-width:760px;padding:clamp(20px,3vw,32px);border-radius:var(--rl);background:var(--milk);box-shadow:0 0 0 1px rgba(96,55,25,.12)}
@media (min-width:1000px){.menu .price{max-width:none}.menu .price__list{grid-template-columns:1fr 1fr;column-gap:28px}}
.price--nail{margin-top:22px}
.price__h{font-size:1.1rem;color:var(--brown);margin-bottom:8px}
.price__list{display:grid}
.price__list>div{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:11px 0;border-bottom:1px dashed rgba(96,55,25,.25)}
.price__list dd{flex:none;font-weight:700;color:var(--brown);font-size:1.08rem}
.price__trial{margin-top:14px;padding:12px 16px;border-radius:16px;background:var(--latte);font-size:.88rem;color:var(--cocoa)}
.price__tag{display:inline-block;margin-right:8px;padding:0 12px;border-radius:999px;background:var(--brown);color:#fff;font-size:.76rem;font-weight:700}
.price__note{margin-top:10px;font-size:.85rem;color:var(--ink-2)}
/* v2 fixes */
.menu{overflow:clip}
.hd__logo{display:flex;align-items:center;min-height:44px}
.access__pics{flex-wrap:wrap}
.access__grid>*{min-width:0}
@media (max-width:480px){.addr>div{grid-template-columns:1fr;gap:4px}.addr dt{justify-self:start;padding:2px 12px}.days li{grid-template-columns:1fr}.days em{grid-column:1}}

/* Final QA: keep narrow-screen header actions readable. */
@media(max-width:480px){.hd__bar{gap:6px;padding:8px 10px;height:auto;min-height:60px;flex-wrap:wrap}.hd__logo{width:52px;flex:0 0 52px}.hd__rsv,.hd__menu{font-size:.875rem;white-space:nowrap;padding-left:10px;padding-right:10px;flex-shrink:0}.hd__menu{gap:6px}.hd__dots{width:14px;flex-shrink:0}}

/* Local review: faithful hearing-sheet hours in prose. */
.hours-prose{margin-top:14px;line-height:1.9;overflow-wrap:anywhere}

/* Hours table: review version; pending slots are not inferred. */
.hours-grid-wrap{width:100%;min-width:0;font-family:system-ui,-apple-system,"Noto Sans JP",sans-serif}
.hours-grid{width:100%;border-collapse:collapse;table-layout:fixed;font-size:clamp(11px,1.1vw,14px);line-height:1.55;color:inherit}
.hours-grid caption{text-align:left;font-weight:700;margin:0 0 12px;font-size:1.1em}
.hours-grid th,.hours-grid td{border:1px solid #d7c8b7;padding:12px 5px;text-align:center;vertical-align:middle;overflow-wrap:anywhere}
.hours-grid thead th{background:#eee4d7;color:#4a301e;font-weight:700}
.hours-grid tbody th{background:#f8f3eb;color:#4a301e;font-weight:700}
.hours-grid .hours-pending{background:#fff2d8;color:#704b12;font-weight:700}
.hours-note{font-size:12px;line-height:1.8;margin:12px 0 0;overflow-wrap:anywhere}
.ft__hours-table{margin-top:18px;max-width:620px}
@media(max-width:480px){.hours-grid th,.hours-grid td{padding:9px 3px}.hours-grid{font-size:11px}.hours-note{font-size:11px}}

/* Match the confirmed HubSpot flyer hours matrix. */
.hours-grid{font-size:clamp(11px,1.05vw,14px)}
.hours-grid th:first-child{width:25%;white-space:nowrap}
.hours-grid th:not(:first-child),.hours-grid td{padding-left:2px;padding-right:2px}
@media(max-width:480px){.hours-grid{font-size:10px}.hours-grid th,.hours-grid td{padding:9px 1px}.hours-grid th:first-child{width:27%}}
