/* ============ Global nav v2: メガメニュー + ドロワー ============ */
.gnav{display:flex;align-items:center;gap:clamp(16px,2.4vw,34px)}
.nav-svc{display:flex;align-items:center;position:relative}
.nav-svc::after{content:"";position:absolute;left:-12px;right:-12px;top:100%;height:28px}

/* SERVICE メガメニュー(PC) */
.nav-svc-btn{background:none;border:none;cursor:pointer;font-family:var(--en);font-size:11px;font-weight:600;letter-spacing:.22em;line-height:1;color:var(--ink);display:inline-flex;align-items:center;gap:7px;padding:0;position:relative}
.nav-svc-btn::after{content:"";position:absolute;left:0;bottom:-7px;width:100%;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}
.nav-svc:hover .nav-svc-btn::after{transform:scaleX(1);transform-origin:left}
.nav-svc-btn i{width:7px;height:7px;border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transform:rotate(45deg) translateY(-2px);transition:transform .3s var(--ease)}
.nav-svc:hover .nav-svc-btn i{transform:rotate(-135deg) translateY(-1px)}
.mega{position:fixed;top:82px;left:0;right:0;width:100vw;background:var(--paper);border-top:1px solid var(--rule-soft);border-bottom:1px solid var(--rule);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .35s var(--ease),transform .35s var(--ease),visibility 0s .35s;pointer-events:none;box-shadow:0 24px 60px rgba(30,42,82,.08)}
.mega::before{content:"";position:absolute;left:0;right:0;top:-24px;height:24px}
.nav-svc:hover .mega,.nav-svc:focus-within .mega{opacity:1;visibility:visible;transform:translateY(0);transition-delay:0s;pointer-events:auto}
.mega-in{max-width:1120px;margin:0 auto;padding:34px clamp(24px,4vw,52px) 34px;display:grid;grid-template-columns:minmax(170px,220px) repeat(4,minmax(130px,1fr));gap:clamp(14px,2vw,28px);align-items:stretch}
.mega-head{padding-top:4px}
.mega-head b{font-family:var(--serif);font-size:17px;font-weight:700;display:block;line-height:1.7}
.mega-head span{display:block;font-family:var(--en);font-size:10px;letter-spacing:.3em;color:var(--kin);margin-top:8px;font-weight:600}
.mega-item{display:block;min-width:0;padding:18px 18px 16px;border:1px solid var(--rule-soft);border-radius:2px;background:var(--white);transition:border-color .3s,transform .3s var(--ease)}
.mega-item:hover{border-color:var(--rule);transform:translateY(-3px)}
.mega-item i{display:block;font-family:var(--en);font-size:10px;letter-spacing:.2em;color:var(--kin);font-style:normal;margin-bottom:8px}
.mega-item b{display:block;font-size:13.5px;font-weight:700;line-height:1.6;margin-bottom:6px}
.mega-item span{display:block;font-size:11px;color:var(--gray);line-height:1.8}
.mega-item .mi-arw{display:inline-block;margin-top:10px;font-size:12px;color:var(--gunjo);transition:transform .3s var(--ease)}
.mega-item:hover .mi-arw{transform:translateX(5px)}

header.scrolled .mega{top:68px}
@media(max-width:1180px) and (min-width:961px){
  .mega-in{max-width:100%;grid-template-columns:160px repeat(4,minmax(120px,1fr));gap:14px}
  .mega-item{padding:16px 14px 14px}
}

/* ハンバーガー(SP) */
.menu-btn{display:none;background:none;border:none;cursor:pointer;width:44px;height:44px;flex-direction:column;align-items:center;justify-content:center;gap:7px;margin-left:6px}
.menu-btn span{display:block;width:24px;height:1.5px;background:var(--ink);transition:transform .35s var(--ease),opacity .3s}
body.nav-open .menu-btn span:nth-child(1){transform:translateY(4.25px) rotate(45deg)}
body.nav-open .menu-btn span:nth-child(2){transform:translateY(-4.25px) rotate(-45deg)}

/* ドロワー(SP) */
.drawer{position:fixed;inset:0;z-index:890;background:var(--paper);transform:translateX(100%);transition:transform .5s var(--ease);overflow-y:auto;padding:104px clamp(24px,7vw,44px) 48px;display:none}
body.nav-open .drawer{transform:translateX(0)}
body.nav-open{overflow:hidden}
.drawer-nav{width:100%;display:flex;flex-direction:column}
.dr-link{width:100%;display:flex;align-items:baseline;justify-content:space-between;padding:20px 4px;border-bottom:1px solid var(--rule-soft);font-family:var(--serif);font-size:17px;font-weight:700;letter-spacing:.04em}
.dr-link small{font-family:var(--en);font-size:9.5px;letter-spacing:.26em;color:var(--kin);font-weight:600}
.dr-group{width:100%;padding:20px 4px 8px;border-bottom:1px solid var(--rule-soft)}
.dr-group>p{font-family:var(--serif);font-size:17px;font-weight:700;display:flex;justify-content:space-between;align-items:baseline}
.dr-group>p small{font-family:var(--en);font-size:9.5px;letter-spacing:.26em;color:var(--kin);font-weight:600}
.dr-group ul{margin:12px 0 10px}
.dr-group li a{display:block;padding:10px 2px 10px 20px;font-size:13.5px;font-weight:500;color:var(--gray);position:relative}
.dr-group li a::before{content:"";position:absolute;left:2px;top:50%;width:10px;height:1px;background:var(--kin)}
.dr-cta{margin-top:34px;display:flex;justify-content:center}
.dr-foot{margin-top:36px;text-align:center;font-family:var(--serif);font-size:12.5px;letter-spacing:.22em;color:var(--kin)}

@media(max-width:960px){
  .gnav>a:not(.cta-btn){display:none}
  .gnav .cta-btn{display:none}
  .nav-svc{display:none}
  .menu-btn{display:flex}
  .drawer{display:block}
  .dr-cta{width:100%}
}
@media(min-width:961px){
  .drawer{display:none !important}
}
