/* KAIZO FAMILY V4 correction: navigation, mascots, responsive, no changes to source copy */
.fam-header{position:sticky!important;top:0!important;z-index:999!important;background:#142237!important;box-shadow:0 3px 20px #0b132225!important}
.fam-header-in{max-width:none!important;width:100%!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;padding:0 18px!important;gap:0!important}
.fam-wordmark{display:flex!important;flex-direction:column!important;align-self:flex-start!important;padding:11px 0!important;flex:0 0 auto!important;text-decoration:none!important}
.fam-tabs{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overscroll-behavior-x:contain!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:thin!important;max-width:100%!important;width:100%!important;gap:0!important;justify-content:flex-start!important;min-width:0!important;scroll-snap-type:x proximity!important;border-top:1px solid #c5a87555!important}
.fam-tabs>a{white-space:nowrap!important;flex:0 0 auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:56px!important;padding:13px 17px!important;text-decoration:none!important;scroll-snap-align:start!important;color:#fff!important;font-size:clamp(13px,1.45vw,16px)!important;letter-spacing:0!important}
.fam-tabs>a:last-child{margin-left:auto!important}
.fam-tabs>a.tab-active,.fam-tabs>a[aria-current=page]{border-bottom:3px solid #c2a672!important;background:#ffffff0a!important}
.fam-tabs:focus-visible{outline:2px solid #ebd091}
/* preserve local text menus, but prevent horizontal clipping */
.nav-links,.subnav,.local-nav,.page-nav,.section-nav,.header-nav{max-width:100%!important;min-width:0!important;flex-wrap:wrap!important}
/* same mascot image presentation on four team pages; no mascot removal */
.mascot-box,.mascot{display:grid!important;grid-template-columns:minmax(180px,280px) minmax(0,1fr)!important;align-items:center!important;gap:clamp(20px,4vw,54px)!important;padding:clamp(22px,3vw,40px)!important;margin-top:32px!important;border-radius:22px!important;max-width:1100px!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important}
.mascot-box .mascot-slot,.mascot>.mascot-slot,.mascot>.mascot-frame{width:100%!important;max-width:280px!important;aspect-ratio:1/1!important;display:grid!important;place-items:center!important;overflow:hidden!important;border-radius:18px!important;background:#fff!important;padding:12px!important;box-sizing:border-box!important}
.mascot-box .mascot-slot img,.mascot>.mascot-slot img,.mascot>.mascot-frame img{width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;display:block!important;border-radius:12px!important}
.mascot-box .mascot-text,.mascot>.mascot-text,.mascot>.mascot-body{min-width:0!important;max-width:unset!important;text-align:left!important}
.mascot-box h3,.mascot h3{font-family:'Noto Serif JP',serif!important;font-size:clamp(23px,2.8vw,34px)!important;line-height:1.45!important;margin:0 0 14px!important}
.mascot-box p,.mascot p{font-size:clamp(15px,1.7vw,18px)!important;line-height:1.95!important;overflow-wrap:anywhere!important}
@media(max-width:660px){.fam-header-in{padding:0 12px!important}.fam-wordmark{padding:8px 0!important}.fam-tabs>a{padding:10px 13px!important;min-height:48px!important}.fam-tabs>a:last-child{margin-left:0!important}.mascot-box,.mascot{grid-template-columns:1fr!important;gap:18px!important}.mascot-box .mascot-slot,.mascot>.mascot-slot,.mascot>.mascot-frame{max-width:220px!important;margin:0 auto!important}.mascot-box .mascot-text,.mascot>.mascot-text,.mascot>.mascot-body{text-align:left!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
