@charset "UTF-8";
/* Shared by every public template; page styles do not own navigation rules. */
:root{--lu-header-height:86px;--lu-admin-offset:0px}
.lu-global-header{position:sticky;z-index:40;top:var(--lu-admin-offset);height:var(--lu-header-height);padding:0 30px;display:flex;align-items:center;gap:22px;background:rgba(248,245,239,.97);border-bottom:1px solid #dcd7ce;box-shadow:none;color:#273149;font-family:'Avenir Next','Yu Gothic','YuGothic','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;font-size:16px;font-weight:500;line-height:1.95;letter-spacing:normal}
.lu-global-header,.lu-global-header *{box-sizing:border-box}
.lu-global-header a{color:inherit;text-decoration:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.lu-global-header a:focus-visible,.lu-global-header button:focus-visible{outline:3px solid #8e7854;outline-offset:5px}
.lu-global-header svg{display:block;width:24px;height:24px;flex-shrink:0}
.lu-global-header .brand{display:block;flex-shrink:0;padding:24px 0}
.lu-global-header .brand img{display:block;width:180px;max-width:100%;height:auto}
.lu-global-header .desktop-nav{display:flex;align-items:center;gap:24px;margin-left:auto;white-space:nowrap}
.lu-global-header .desktop-nav a{position:relative;padding:12px 0;font-size:14px;font-weight:600}
.lu-global-header .desktop-nav a::after{content:'';position:absolute;bottom:4px;left:0;width:100%;height:1px;background:#293263;transform:scaleX(0);transform-origin:left;transition:transform .3s}
.lu-global-header .desktop-nav a:hover::after,.lu-global-header .desktop-nav a[aria-current]::after{transform:scaleX(1)}
.lu-global-header .header-cta{display:flex;align-items:center;gap:22px;padding:15px 22px;min-height:46px;flex-shrink:0;background:#293263;color:#fff;font-size:14px;font-weight:600;white-space:nowrap}
.lu-global-header .header-cta svg{width:19px}
.lu-global-header .header-cta:hover{background:#3b467f}
.lu-global-header .menu-toggle,.lu-global-header .mobile-nav{display:none}
.lu-global-header .menu-toggle{border:0;font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.skip-link{position:fixed;top:-80px;left:20px;z-index:100;background:#293263;color:#fff;padding:10px 20px;font:500 15px/1.95 'Yu Gothic',sans-serif;text-decoration:none}
.skip-link:focus{top:10px}
.admin-bar{--lu-admin-offset:32px}
@media(min-width:1001px) and (max-width:1250px){.lu-global-header .header-cta{padding-inline:16px;gap:13px}}
@media(max-width:1200px){.lu-global-header{padding-inline:25px;gap:20px}.lu-global-header .brand img{width:158px}.lu-global-header .desktop-nav{gap:12px}.lu-global-header .desktop-nav a{font-size:13px}}
@media(max-width:1000px){
 :root{--lu-header-height:78px}
 .lu-global-header{padding-inline:36px;gap:20px}
 .lu-global-header .brand{padding-block:19px}
 .lu-global-header .brand img{width:175px}
 .lu-global-header .desktop-nav{display:none}
 .lu-global-header .header-cta{margin-left:auto;padding:14px 17px;gap:14px}
 .lu-global-header .menu-toggle{display:flex;width:42px;height:42px;flex-shrink:0;position:relative;align-items:center;justify-content:center;flex-direction:column;gap:7px;background:transparent;padding:9px}
 .lu-global-header .menu-toggle span{display:block;height:1px;width:24px;background:#293263;transition:transform .25s}
 .lu-global-header .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
 .lu-global-header .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
 .lu-global-header .mobile-nav{position:absolute;left:0;top:100%;width:100%;height:calc(100dvh - var(--lu-header-height) - var(--lu-admin-offset));overflow-y:auto;overscroll-behavior:contain;padding:35px 8vw 28px;background:#f8f5ef;box-shadow:0 14px 24px #29326310}
 .lu-global-header .mobile-nav.is-open{display:block}
 .lu-global-header .mobile-nav a{display:flex;align-items:center;gap:30px;border-bottom:1px solid #dcd7ce;padding:20px 0;font-size:17px}
 .lu-global-header .mobile-nav a[aria-current]{color:#293263;font-weight:600}
 .lu-global-header .mobile-nav a span{font-size:10px;letter-spacing:.1em;color:#8993aa;width:72px;flex-shrink:0}
 .lu-global-header .mobile-nav a svg{margin-left:auto;width:19px}
 body.menu-open{overflow:hidden}
}
@media(max-width:782px){.admin-bar{--lu-admin-offset:46px}}
@media(max-width:650px){
 :root{--lu-header-height:72px}
 .lu-global-header{padding-inline:20px;gap:14px}
 .lu-global-header .brand{padding-block:16px}
 .lu-global-header .brand img{width:140px}
 .lu-global-header .header-cta{font-size:11px;padding:8px 10px;min-height:38px;min-width:0}
 .lu-global-header .header-cta svg{display:none}
 .lu-global-header .menu-toggle{width:30px;height:40px;margin:0;padding:6px}
 .lu-global-header .menu-toggle span{width:22px}
 .lu-global-header .mobile-nav{padding-top:18px}
 .lu-global-header .mobile-nav a{font-size:16px;padding-block:11px;gap:20px}
}
@media(max-width:360px){.lu-global-header{gap:10px}.lu-global-header .brand img{width:115px}.lu-global-header .header-cta{font-size:10px;padding-inline:8px;letter-spacing:.03em}.lu-global-header .menu-toggle{width:25px}}
@media(prefers-reduced-motion:reduce){.lu-global-header .desktop-nav a::after,.lu-global-header .menu-toggle span{transition:none}}
