/* スマートフォン用ハンバーガーメニュー（767px以下のみ表示。PC版には影響しません） */
.sp-menu-btn,.sp-drawer{display:none}
@media (max-width:767px){
  .sp-menu-btn{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;flex:none;width:60px;padding:0;border:0;background:#1C0F3F;color:#FFFFFF;font:700 9px/1 'Barlow Condensed',sans-serif;letter-spacing:.12em;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .sp-menu-btn .bars{position:relative;display:block;width:22px;height:14px;margin-bottom:3px}
  .sp-menu-btn .bars i{position:absolute;left:0;width:100%;height:2px;border-radius:2px;background:currentColor;transition:transform .3s ease,opacity .2s ease,top .3s ease}
  .sp-menu-btn .bars i:nth-child(1){top:0}
  .sp-menu-btn .bars i:nth-child(2){top:6px}
  .sp-menu-btn .bars i:nth-child(3){top:12px}
  html.sp-nav-open .sp-menu-btn .bars i:nth-child(1){top:6px;transform:rotate(45deg)}
  html.sp-nav-open .sp-menu-btn .bars i:nth-child(2){opacity:0}
  html.sp-nav-open .sp-menu-btn .bars i:nth-child(3){top:6px;transform:rotate(-45deg)}

  .sp-drawer{display:block;position:fixed;left:0;right:0;bottom:0;top:var(--sp-hd,64px);z-index:9;visibility:hidden;pointer-events:none}
  html.sp-nav-open .sp-drawer{visibility:visible;pointer-events:auto}
  .sp-drawer-bg{position:absolute;inset:0;background:rgba(28,15,63,.45);opacity:0;transition:opacity .3s ease}
  html.sp-nav-open .sp-drawer-bg{opacity:1}
  .sp-drawer-panel{position:relative;max-height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:#FFFFFF;border-bottom:2px solid #1C0F3F;padding:8px 16px 24px;box-sizing:border-box;opacity:0;transform:translateY(-12px);transition:opacity .3s ease,transform .3s ease}
  html.sp-nav-open .sp-drawer-panel{opacity:1;transform:none}
  html.sp-nav-open,html.sp-nav-open body{overflow:hidden}

  .sp-drawer ul{list-style:none;margin:0;padding:0}
  .sp-drawer li{border-bottom:1px solid #E3DED8}
  .sp-drawer a.item{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:6px 4px;color:#1C0F3F;text-decoration:none;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;font-size:15px;line-height:1.4}
  .sp-drawer a.item .en{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:11px;letter-spacing:.12em;color:#D2380C}
  .sp-drawer a.item svg{flex:none;color:#D2380C}
  .sp-drawer .sub{display:grid;gap:2px;padding:0 0 12px 12px}
  .sp-drawer .sub a{display:flex;align-items:center;gap:10px;min-height:44px;padding:4px 10px;border-radius:8px;background:#FFF6EC;color:#1C0F3F;text-decoration:none;font-weight:700;font-size:14px}
  .sp-drawer .sub a span{flex:none;width:22px;height:22px;border-radius:50%;border:1.5px solid #1C0F3F;display:flex;align-items:center;justify-content:center;font:700 10px/1 'Barlow Condensed',sans-serif}
  .sp-drawer .cta{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;margin-top:20px;border:2px solid #1C0F3F;border-radius:999px;background:#FF4A1C;color:#1C0F3F;text-decoration:none;font-weight:700;font-size:15px;box-shadow:4px 4px 0 #1C0F3F}
  .sp-drawer .tel{display:block;margin-top:14px;text-align:center;color:#5A4E78;font-size:13px;text-decoration:none}
}
@media (prefers-reduced-motion:reduce){.sp-drawer-bg,.sp-drawer-panel,.sp-menu-btn .bars i{transition:none!important}}
