/* 2026-09-12: responsive navigation independent of server-side device detection. */
body#nts-style .tkyb-menu-toggle{display:none}
body#nts-style .tkyb-menu-panel{display:none}
body#nts-style #navtoggle{display:none!important}
/* JIN breadcrumb width omitted its horizontal padding at tablet sizes. */
body#nts-style #breadcrumb > ul{box-sizing:border-box!important;max-width:100%!important}
body#nts-style #breadcrumb .page-top-footer{right:0!important}
/* Course-detail navigation: a visible shape, underlined label and arrow. */
body#nts-style .p-original a.hp26-course-detail{display:flex!important;width:fit-content;align-items:center;justify-content:center;gap:12px;box-sizing:border-box;max-width:100%;min-height:48px;margin:12px auto 4px;padding:12px 18px!important;border:2px solid #282e5c;border-radius:8px;background:#282e5c!important;color:#fff!important;font-size:16px!important;font-weight:700;line-height:1.6;text-align:left;text-decoration:none!important;opacity:1!important;vertical-align:middle}
body#nts-style .p-original a.hp26-course-detail::before,body#nts-style .p-original a.hp26-course-detail::after{content:none!important}
body#nts-style .p-original .hp26-course-detail__label{min-width:0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
body#nts-style .p-original .hp26-course-detail__arrow{flex:none;font-size:22px;line-height:1;transition:transform .15s ease}
body#nts-style .p-original a.hp26-course-detail:hover{background:#414b7b!important;border-color:#414b7b;color:#fff!important;opacity:1!important}
body#nts-style .p-original a.hp26-course-detail:hover .hp26-course-detail__arrow{transform:translateX(3px)}
body#nts-style .p-original a.hp26-course-detail:focus-visible{outline:3px solid #282e5c;outline-offset:4px;background:#414b7b!important;color:#fff!important;opacity:1!important}
@media(max-width:600px){body#nts-style .p-original a.hp26-course-detail{gap:10px;padding:12px 14px!important;font-size:14px!important}}
body#nts-style .tkyb-menu-toggle:focus-visible,
body#nts-style .tkyb-menu-panel a:focus-visible,
body#nts-style .tkyb-menu-close:focus-visible{outline:3px solid #282e5c!important;outline-offset:3px}
@media(max-width:1100px){
 body#nts-style{padding-top:56px!important}
 body#nts-style #header-box,body#nts-style #header{height:56px!important;min-height:56px!important}
 body#nts-style #header{display:flex!important;align-items:center!important;justify-content:center!important}
 body#nts-style #site-info{width:auto!important;padding:0!important;margin:0!important}
 body#nts-style #header #site-info img{width:111px!important;max-width:111px!important;height:auto!important}
 body#nts-style #drawernav3,body#nts-style #headmenu,body#nts-style .headsearch.jin-sp-design{display:none!important}
 body#nts-style .tkyb-menu-toggle{display:flex!important;position:fixed!important;top:6px!important;right:12px!important;left:auto!important;z-index:10001!important;align-items:center;justify-content:center;gap:7px;width:94px!important;height:44px!important;padding:6px!important;margin:0!important;border:1px solid #d7dce6!important;border-radius:6px;background:#fff!important;color:#282e5c!important;font:600 12px/1.2 sans-serif;cursor:pointer}
 body#nts-style .tkyb-menu-toggle .tkyb-menu-symbol{font-size:22px;line-height:1}
 body#nts-style .tkyb-menu-panel{display:block!important;position:fixed!important;top:56px!important;left:0!important;right:0!important;width:100%!important;height:calc(var(--tkyb-menu-vh,100dvh) - 56px)!important;max-height:calc(var(--tkyb-menu-vh,100dvh) - 56px)!important;box-sizing:border-box!important;padding:20px 24px calc(120px + env(safe-area-inset-bottom,0px))!important;margin:0!important;background:#fff!important;z-index:10000!important;overflow-y:auto!important;overscroll-behavior:contain;visibility:hidden!important;opacity:0!important;pointer-events:none!important;transform:none!important;transition:none!important}
 body#nts-style #navtoggle:checked ~ .tkyb-menu-panel{visibility:visible!important;opacity:1!important;pointer-events:auto!important}
 body#nts-style .tkyb-menu-panel .sp-menu-title{display:block!important;text-align:left!important;font-size:20px!important;font-weight:700!important;margin:0 0 20px!important;padding:0!important;color:#282e5c!important}
 body#nts-style .tkyb-menu-close{float:right;min-height:44px;padding:8px 16px;border:1px solid #d7dce6;border-radius:6px;color:#282e5c;background:#fff;font:600 14px/1.4 sans-serif}
 body#nts-style .tkyb-menu-panel nav{position:static!important;transform:none!important;padding:0!important;margin:0 auto!important;max-width:720px!important;opacity:1!important}
 body#nts-style .tkyb-menu-panel ul.menu-box{display:block!important;position:static!important;width:100%!important;height:auto!important;padding:0!important;margin:0!important}
 body#nts-style .tkyb-menu-panel ul.menu-box li{display:block!important;position:static!important;float:none!important;width:auto!important;height:auto!important;max-width:none!important;padding:0!important;margin:0!important;background:none!important;text-align:left!important;transform:none!important}
 body#nts-style .tkyb-menu-panel ul.menu-box li a{display:block!important;position:static!important;min-height:44px!important;height:auto!important;padding:12px 10px!important;margin:0!important;opacity:1!important;background:none!important;color:#282e5c!important;text-indent:0!important;font-size:16px!important;line-height:1.5!important;border:0!important;border-bottom:1px solid #e5e8ef!important;border-radius:0!important;transform:none!important;text-decoration:none!important}
 body#nts-style .tkyb-menu-panel ul.menu-box li a:before,body#nts-style .tkyb-menu-panel ul.menu-box li a:after{display:none!important}
 body#nts-style .tkyb-menu-panel ul.sub-menu{display:block!important;position:static!important;width:auto!important;visibility:visible!important;opacity:1!important;transform:none!important;padding:0 0 12px 16px!important;margin:0!important;background:#f4f6fa!important;box-shadow:none!important}
 body#nts-style .tkyb-menu-panel ul.sub-menu a{font-size:14px!important;font-weight:400!important}
 body#nts-style .tkyb-menu-panel .is-lineBtn a{color:#fff!important;background:#06c755!important;border-radius:6px!important;text-align:center!important;margin-top:12px!important}
 body#nts-style .tkyb-menu-panel .is-courseBtn a,body#nts-style .tkyb-menu-panel .is-documentBtn a{border:1px solid #282e5c!important;border-radius:6px!important;text-align:center!important;margin-top:12px!important}
 body#nts-style .tkyb-menu-panel .sp-sns-menu{margin-top:24px}
 html.tkyb-menu-locked,html.tkyb-menu-locked body#nts-style{overflow:hidden!important}
 body#nts-style #navtoggle:checked ~ #scroll-content{position:relative!important;top:auto!important;left:auto!important}
}
@media(max-width:359px){
 body#nts-style #header{justify-content:flex-start!important;padding-left:16px!important}
}
/* Keep the existing purchase-page sticky bar and its enrollment rules intact. */
body#nts-style.home .p-original .c-fixed-cta{padding:10px 24px calc(10px + env(safe-area-inset-bottom,0px))!important;max-width:1184px!important;border-radius:12px 12px 0 0!important}
body#nts-style.home .p-original .c-fixed-cta__badge,body#nts-style.home .p-original .c-fixed-cta__btn-sub{display:none!important}
body#nts-style.home .p-original .c-fixed-cta__inner{gap:0!important}
body#nts-style.home .p-original .c-fixed-cta__btn-area{gap:16px!important;max-width:760px!important;margin:0 auto!important}
body#nts-style.home .p-original .c-fixed-cta__btn{height:48px!important;min-height:48px!important;padding:8px 16px!important;gap:8px!important;box-shadow:none!important}
body#nts-style.home .p-original .c-fixed-cta__btn-main{font-size:17px!important;line-height:1.4!important}
body#nts-style.home .p-original .c-fixed-cta__btn-icon{width:26px!important;height:26px!important}
body#nts-style.home .p-original .c-fixed-cta__btn-arrow{font-size:20px!important}
body#nts-style.home .p-original .c-fixed-cta.tkyb-cta-context-hidden{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
body#nts-style.home footer{margin-bottom:76px!important}
@media(max-width:600px){
 body#nts-style.home .p-original .c-fixed-cta{padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px))!important}
 body#nts-style.home .p-original .c-fixed-cta__btn-area{gap:8px!important}
 body#nts-style.home .p-original .c-fixed-cta__btn{padding:8px!important}
 body#nts-style.home .p-original .c-fixed-cta__btn-main{font-size:14px!important}
 body#nts-style.home .p-original .c-fixed-cta__btn-icon{width:22px!important;height:22px!important}
}

/* The existing button reset removes the browser's keyboard focus outline. */
body#nts-style .js-tab .c-tab__nav-item:focus-visible,
body#nts-style .js-tab .c-tab__contents:focus-visible {
  outline: 3px solid #005fcc;
  outline-offset: 4px;
}

body#nts-style footer .widget_block a:focus-visible {
  outline: 3px solid #005fcc;
  outline-offset: 4px;
}

/* 2026-09-13: Keep the existing labels on one line at narrow mobile widths. */
@media (max-width:359px) {
  body#nts-style.home .p-original #tab2 a.hp26-course-detail {
    padding-left:10px!important;
    padding-right:10px!important;
  }
  body#nts-style.home .p-original .c-fixed-cta__btn--apply {
    gap:4px!important;
  }
  body#nts-style.home .p-original .c-fixed-cta__btn--line {
    gap:6px!important;
  }
}

/* 2026-09-13: Keep scrolled text behind the mobile-navigation header. */
@media (max-width: 1100px) {
  body#nts-style #header-box { background-color: #fff; }
}
/* Remove the parent theme's mobile offsets so the logo shares the 28px center. */
@media (max-width: 767px) {
  body#nts-style #header-box { padding-top: 0; }
  body#nts-style #header #site-info img { margin-bottom: 0; }
}
