/* Scoped mobile navigation. The existing contact/LINE markup and controls are unchanged. */
.kn-mobile-menu{--kn-nav-ink:#102e4a;--kn-nav-line:#365169;box-sizing:border-box;color:#fff;text-align:left;font:16px/1.65 system-ui,-apple-system,"Noto Sans JP",sans-serif;letter-spacing:normal}
.kn-mobile-menu *,.kn-mobile-menu *::before,.kn-mobile-menu *::after{box-sizing:border-box}
.kn-mobile-menu.kn-mobile-ready{display:none}
.kn-mobile-menu[hidden],.kn-mobile-menu [hidden]{display:none!important}
@media(max-width:768px){
 .burger-menu.kn-mobile-menu{position:fixed;inset:0;width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:20px 24px max(28px,env(safe-area-inset-bottom));background:#102e4a;color:#fff;border:0;border-top:4px solid #32b9d2;border-radius:0;box-shadow:none;z-index:10020;overflow-y:auto;overscroll-behavior:contain;animation:none;transition:none;-webkit-overflow-scrolling:touch}
 .burger-menu.kn-mobile-menu.is-open{display:block;right:0;top:0;padding:20px 24px max(28px,env(safe-area-inset-bottom));background:#102e4a;animation:none}
 .kn-mobile-menu:not(.kn-mobile-ready){display:block;position:relative;height:auto;inset:auto}
 .kn-mobile-menu .kn-nav-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
 .kn-mobile-menu .kn-nav-home{display:block;flex:0 1 230px;min-width:0;max-width:calc(100% - 58px);padding:10px;border-radius:6px;background:#fff;color:#102e4a;text-decoration:none;line-height:1.4}
 .kn-mobile-menu .kn-nav-home img{display:block;width:210px;max-width:100%;height:auto;object-fit:contain;margin:0}
 .kn-mobile-menu .kn-nav-logo-fallback{display:block;color:#102e4a;font-size:22px;font-weight:700;line-height:1.2}
 .kn-mobile-menu .kn-nav-logo-fallback small{display:block;margin-top:3px;font-size:10px;font-weight:400}
 .kn-mobile-menu .kn-nav-close{display:flex;align-items:center;justify-content:center;flex:none;width:46px;height:46px;border:1px solid #65839b;border-radius:8px;background:#1d405c;color:#fff;font-size:32px;line-height:1;cursor:pointer;box-shadow:none}
 .kn-mobile-menu .kn-nav-title{margin:0 0 16px;padding:0;border:0;background:none;color:#c4d6e5;font-size:14px;font-weight:400}
 .kn-mobile-menu .kn-nav-primary{display:grid;gap:10px;margin-bottom:24px}
 .kn-mobile-menu .kn-nav-primary a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:14px 18px;border:1px solid #4babca;border-radius:8px;background:linear-gradient(120deg,#087b9c,#1164a4);color:#fff;font-size:17px;font-weight:700;text-decoration:none;box-shadow:0 3px 9px #061d3040,inset 0 1px 0 #ffffff24}
 .kn-mobile-menu .kn-nav-primary a+a{background:#1e466a;border-color:#6084a3;font-size:16px}
 .kn-mobile-menu .kn-nav-sections{display:block;margin:0;padding:0}
 .kn-mobile-menu .kn-nav-group{margin:0;padding:0;border:0;border-bottom:1px solid #365169;background:none;border-radius:0;box-shadow:none}
 .kn-mobile-menu .kn-nav-heading{margin:0;padding:0;border:0;background:none;color:#fff;font-size:16px;line-height:1.65;font-weight:700}
 .kn-mobile-menu .kn-nav-heading::before,.kn-mobile-menu .kn-nav-heading::after{display:none}
 .kn-mobile-menu .kn-nav-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:62px;padding:17px 0;margin:0;border:0;border-radius:0;background:none;color:#fff;text-align:left;font:inherit;font-weight:700;cursor:pointer;box-shadow:none}
 .kn-mobile-menu.kn-mobile-ready .kn-nav-fallback{display:none}
 .kn-mobile-menu .kn-nav-plus{position:relative;flex:none;width:16px;height:16px}
 .kn-mobile-menu .kn-nav-plus::before,.kn-mobile-menu .kn-nav-plus::after{content:"";position:absolute;left:0;top:7px;width:16px;height:2px;background:#8fe5f4}
 .kn-mobile-menu .kn-nav-plus::after{transform:rotate(90deg)}
 .kn-mobile-menu .kn-nav-toggle[aria-expanded="true"] .kn-nav-plus::after{display:none}
 .kn-mobile-menu .kn-nav-links,.kn-mobile-menu .kn-nav-account{display:block;list-style:none;margin:0;padding:0 0 14px}
 .kn-mobile-menu .kn-nav-links li,.kn-mobile-menu .kn-nav-account li{display:block;margin:0;padding:0;list-style:none;border:0;background:none}
 .kn-mobile-menu .kn-nav-links a,.kn-mobile-menu .kn-nav-account a{display:flex;align-items:center;min-height:46px;padding:10px 12px;color:#e4edf5;font-size:15px;font-weight:400;line-height:1.65;text-decoration:none;border-radius:5px;overflow-wrap:anywhere}
 .kn-mobile-menu .kn-nav-links .kn-nav-all{margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #365169}
 .kn-mobile-menu .kn-nav-all a{color:#9be7f4;font-weight:700;background:#1b3d58}
 .kn-mobile-menu .kn-nav-account{padding:12px 0;border-bottom:1px solid #365169}
 .kn-mobile-menu .kn-nav-register{display:grid;gap:10px;margin-top:24px}
 .kn-mobile-menu .kn-nav-register p{margin:0 0 2px;padding:0;border:0;background:none;color:#c4d6e5;font-size:12px;letter-spacing:.08em}
 .kn-mobile-menu .kn-nav-register a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:12px 16px;border:1px solid #6486b7;border-radius:7px;background:#245799;color:#fff;text-decoration:none;font-size:15px;font-weight:700}
 .kn-mobile-menu .kn-nav-register .kn-nav-student{background:#087b9c;border-color:#4babca}
 .kn-mobile-menu .kn-nav-links a:hover,.kn-mobile-menu .kn-nav-account a:hover{background:#244b68;color:#fff}
 .kn-mobile-menu .kn-nav-primary a:hover,.kn-mobile-menu .kn-nav-register a:hover,.kn-mobile-menu .kn-nav-close:hover{filter:brightness(1.08)}
 .kn-mobile-menu a:focus-visible,.kn-mobile-menu button:focus-visible{outline:3px solid #8fe5f4;outline-offset:3px}
 .kn-mobile-menu .kn-nav-primary a:active,.kn-mobile-menu .kn-nav-register a:active{transform:translateY(1px)}
 body.kn-footer-blog #vk-mobile-nav{display:none}
}
@media(min-width:769px){.kn-mobile-menu{display:none!important}}
@media(prefers-reduced-motion:reduce){.kn-mobile-menu *{animation:none;transition:none;scroll-behavior:auto}}

/* Keep the no-script navigation, but reserve no space for the closed JS menu. */
@media (max-width:768px) and (scripting:enabled){
 .kn-mobile-menu:not(.kn-mobile-ready){display:none}
}
