/* Shared public-site header and footer. Admin pages intentionally use admin-v2.css. */
.navbar{position:sticky!important;top:0;z-index:50;background:rgba(255,255,255,.96)!important;border-bottom:1px solid #e4eaf3;box-shadow:none!important;backdrop-filter:blur(14px)}.nav-container{max-width:1240px!important;min-height:68px;padding:0 22px!important;margin:0 auto;display:flex!important;justify-content:flex-start!important;align-items:center;gap:28px}.navbar .nav-logo{display:flex!important;align-items:center;color:#071a38!important;font-size:21px!important;font-weight:900!important;letter-spacing:-.04em;white-space:nowrap}.navbar .nav-logo .logo{display:none!important}.navbar .nav-logo .logo-text{display:inline!important;visibility:visible!important;opacity:1!important;color:#071a38!important;font:inherit!important;text-shadow:none!important}.navbar .nav-logo:before{content:'Ｓ';display:inline-grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border-radius:8px;background:#0758d9;color:#fff;font-size:15px;margin-right:6px}.nav-menu{display:flex!important;flex:1;align-items:center;gap:4px;margin:0!important;padding:0!important;list-style:none}.nav-menu li{margin:0!important}.nav-link{display:block;padding:9px 10px!important;border-radius:7px;color:#42536d!important;font-size:14px!important;font-weight:700!important;text-decoration:none!important;transition:background .18s,color .18s}.nav-link:hover,.nav-link.active{background:#eaf1ff!important;color:#0758d9!important}.hamburger{display:none!important;margin-left:auto}.footer{margin-top:48px!important;background:#fff!important;border-top:1px solid #e4eaf3!important;color:#687892!important;padding:28px 0 20px!important}.footer .container{max-width:1240px!important;padding:0 22px!important;margin:0 auto}.footer-content{display:grid!important;grid-template-columns:1.2fr 1fr 1fr;gap:24px!important}.footer h3,.footer h4{color:#10233f!important;margin:0 0 9px!important}.footer p{margin:3px 0!important;font-size:13px!important}.footer ul{padding:0!important;margin:0!important;list-style:none!important}.footer li{margin:4px 0!important}.footer a{color:#687892!important;text-decoration:none!important}.footer a:hover{color:#0758d9!important}.footer-bottom{border-top:1px solid #e4eaf3!important;margin-top:20px!important;padding-top:15px!important;text-align:left!important}.footer-bottom p{font-size:12px!important}@media(max-width:760px){.nav-container{min-height:58px;padding:0 15px!important;gap:12px}.navbar .nav-logo{font-size:17px!important}.nav-menu{overflow-x:auto;gap:2px}.nav-link{white-space:nowrap;padding:8px!important;font-size:13px!important}.nav-menu li:nth-child(n+5){display:none}.footer{margin-top:30px!important}.footer .container{padding:0 15px!important}.footer-content{grid-template-columns:1fr!important;gap:14px!important}.footer-section:not(:first-child){display:none}.footer-bottom{margin-top:14px!important}}
.navbar .nav-logo:before{display:none!important}.navbar .nav-logo .site-logo{display:block!important;width:48px!important;height:44px!important;max-width:none!important;object-fit:contain!important}.navbar .nav-logo .site-brand-mark{display:inline-grid!important;place-items:center!important;width:40px!important;height:40px!important;border-radius:10px!important;background:#0758d9!important;color:#fff!important;font:900 22px/1 Arial,sans-serif!important;letter-spacing:0!important;margin-right:10px!important}.navbar .nav-logo .site-brand-name{display:inline!important;color:#071a38!important;font:900 30px/1 "Noto Sans SC",Arial,sans-serif!important;letter-spacing:-.05em!important}
.navbar a.nav-logo[style]::before{display:none!important}

/* A single, full navigation menu on phones.  The previous rules hid part (or all)
   of the menu, which made several public sections impossible to reach on mobile. */
.nav-toggle{display:none;border:0;background:transparent;color:#10233f;cursor:pointer;padding:8px;margin-left:auto;border-radius:8px;line-height:0}.nav-toggle:focus-visible{outline:3px solid #75a8ff;outline-offset:2px}.nav-toggle span{display:block;width:21px;height:2px;background:currentColor;margin:4px 0;border-radius:2px;transition:transform .18s,opacity .18s}.nav-toggle[aria-expanded="true"] span:first-child{transform:translateY(6px) rotate(45deg)}.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded="true"] span:last-child{transform:translateY(-6px) rotate(-45deg)}
@media(max-width:760px){
  .site-header .topbar,.navbar .nav-container{position:relative!important;min-height:58px!important}
  .site-header .nav,.navbar .nav-menu{display:none!important;position:absolute!important;top:calc(100% + 1px);left:0;right:0;z-index:60;max-height:calc(100vh - 59px);overflow-y:auto!important;padding:10px 15px 16px!important;margin:0!important;background:rgba(255,255,255,.99)!important;border-bottom:1px solid #e4eaf3;box-shadow:0 12px 24px rgba(16,35,63,.12)}
  .site-header .nav.is-open,.navbar .nav-menu.is-open,.navbar .nav-menu.active{display:grid!important;grid-template-columns:1fr 1fr!important;gap:4px!important}
  .site-header .nav a,.navbar .nav-menu .nav-link{white-space:normal!important;padding:10px!important}
  .navbar .nav-menu li:nth-child(n+5){display:block!important}
  .nav-toggle,.navbar .hamburger{display:block!important;flex:0 0 auto!important;margin-left:auto!important;padding:8px!important;border:0!important;background:transparent!important;color:#10233f!important;cursor:pointer!important}
  .navbar .hamburger{font-size:0!important;line-height:0!important;border-radius:8px!important}
  .navbar .hamburger .bar{display:block!important;width:21px!important;height:2px!important;background:#10233f!important;margin:4px 0!important;border-radius:2px!important}
  .navbar .hamburger.active .bar:first-child{transform:translateY(6px) rotate(45deg)}.navbar .hamburger.active .bar:nth-child(2){opacity:0}.navbar .hamburger.active .bar:last-child{transform:translateY(-6px) rotate(-45deg)}
  .site-header .account,.navbar .account{font-size:13px!important}
}
.navbar:has(.legacy-nav-toggle) .hamburger,.navbar .legacy-nav-toggle~.hamburger{display:none!important}
