/* 両ページ共通の開閉メニュー */
:root{--topbar-height:59px;}
[id]{scroll-margin-top:calc(var(--topbar-height) + 16px);}
.btn{white-space:nowrap;}
/* 公式LINEを開くボタンと、その直下の案内 */
.btn-line{background:#06C755;color:#fff;font-weight:800;box-shadow:0 6px 18px rgba(6,199,85,.18);}
.btn-line:hover{background:#05b04b;box-shadow:0 8px 22px rgba(6,199,85,.24);}
.btn-line .line-mark{height:1.3em;width:auto;flex:none;}
/* スマホ固定CTA：LINEマークの横に2行で表示 */
.sticky-cta .sticky-line-text{display:flex;flex-direction:column;align-items:center;line-height:1.25;}
.sticky-cta .sticky-line-caption{font-size:11px;font-weight:500;white-space:nowrap;}
.sticky-cta .sticky-line-title{font-size:15px;font-weight:800;white-space:nowrap;}
.line-open-note{max-width:340px;align-self:center;}
#line-guide{scroll-margin-top:80px;}
#line-guide .btn-line{white-space:nowrap;padding-left:12px;padding-right:12px;}
#line-guide .line-open-note{font-size:11.5px;color:var(--sub);}
/* メニューは明るい背景なので、注記はグレー文字に。 */
.menu-consult .line-open-note{color:#5b6b7d;}
@media(max-width:380px){
  .consult-cta .btn-line{font-size:14px;padding-left:10px;padding-right:10px;gap:6px;}
}
@media(max-width:340px){
  #line-guide .btn-line{font-size:12.5px;}
}
.topbar{z-index:70;}
.topbar .wrap{gap:12px;}
.topbar-actions{display:flex;align-items:center;gap:12px;flex:none;}
.menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:7px 14px;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:transparent;color:#fff;font:inherit;font-size:13px;font-weight:800;line-height:1.5;white-space:nowrap;cursor:pointer;}
.menu-toggle[aria-expanded="true"]{background:var(--gold);border-color:var(--gold);color:var(--navy);}
.topbar .menu-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;flex:none;}
.menu-close-icon,.menu-toggle[aria-expanded="true"] .menu-open-icon{display:none;}
.menu-toggle[aria-expanded="true"] .menu-close-icon{display:block;}
.menu-backdrop{position:absolute;top:100%;left:0;right:0;height:calc(100vh - var(--topbar-height));height:calc(100dvh - var(--topbar-height));background:rgba(8,18,40,.35);touch-action:none;}
.page-menu{position:absolute;top:100%;right:max(22px,calc((100% - var(--wrap))/2 + 22px));width:360px;max-width:100%;max-height:calc(100vh - var(--topbar-height));max-height:calc(100dvh - var(--topbar-height));overflow-y:auto;overscroll-behavior:contain;padding:18px 16px calc(20px + env(safe-area-inset-bottom));background:#F4F6FA;border-radius:0 0 18px 18px;box-shadow:0 16px 32px rgba(8,18,40,.18);color:var(--navy);}
.menu-backdrop[hidden],.page-menu[hidden]{display:none;}
.menu-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;list-style:none;}
.menu-tile{display:flex;align-items:center;gap:8px;min-width:0;min-height:64px;height:100%;padding:12px 10px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--navy);font-size:13px;font-weight:800;text-decoration:none;white-space:nowrap;}
.menu-tile-price{border:2px solid var(--gold);padding:11px 9px;}
.menu-tiles .menu-wide{grid-column:1 / -1;}
.menu-tile small{margin-left:auto;color:var(--sub);font-size:10px;}
.topbar .menu-tile svg{width:23px;height:23px;flex:none;fill:none;stroke:var(--gold-d);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.menu-consult{margin-top:18px;}
.menu-consult .btn{width:100%;padding:16px 12px;font-size:15px;}
.menu-phone{display:block;width:fit-content;margin:12px auto 0;font-size:12px;font-weight:700;text-decoration:none;}
.menu-tile:hover{background:#fffdf5;}
.menu-toggle:focus-visible,.page-menu a:focus-visible{outline:3px solid var(--gold);outline-offset:3px;}
@media(max-width:600px){
  .page-menu{left:0;right:0;width:100%;border-radius:0 0 16px 16px;}
  .topbar-actions{gap:0;}
}
@media(max-width:380px){
  .page-menu{padding-left:12px;padding-right:12px;}
  .menu-tiles{gap:8px;}
  .menu-tile{gap:6px;padding-left:8px;padding-right:8px;font-size:12px;}
  .menu-tile-price{padding-left:7px;padding-right:7px;}
  .menu-consult .btn{font-size:14px;}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
