/* Nikkou Shibata global header — replaces yStandard header markup. */
.ns-header.site-header {
  --ns-navy: #162b38; --ns-orange: #e79b36;
  position: sticky; top: 0; z-index: 1000;
  width: 100%; padding: 0; margin: 0;
  background: #fff; color: var(--ns-navy);
  border-top: 4px solid var(--ns-orange);
  box-shadow: 0 2px 16px rgba(9,32,45,.09);
}
.admin-bar .ns-header.site-header { top: 32px; }
.ns-header *, .ns-header *::before, .ns-header *::after { box-sizing: border-box; }
.ns-header__inner {max-width: 1320px; min-height: 82px; margin: auto; padding: 0 32px; display: flex; justify-content: space-between; align-items: center; gap: 26px;}
.ns-header__brand {flex: 0 0 auto; min-width: 0;}
.ns-header__brand-link {display: flex; flex-direction: column; gap: 3px; text-decoration: none !important; color: var(--ns-navy) !important;}
.ns-header__brand-name {display:block; font-size: 27px; font-weight: 900; line-height: 1.15; letter-spacing: .04em; white-space: nowrap;}
.ns-header__brand-name span {color: #bd7024;}
.ns-header__brand-caption {color: #677987; font-size: 10px; font-weight: 700; letter-spacing: .09em; line-height: 1.4;}
.ns-header__logo {display:block; max-width:230px;}
.ns-header__logo-image {display:block; width:auto; max-width:100%; height:auto; max-height:48px; object-fit:contain;}
.ns-header__nav {display:flex; align-items:center; justify-content:flex-end; gap: clamp(14px,2vw,30px); margin:0;}
.ns-header__nav > a:not(.ns-header__cta) {color:var(--ns-navy); font-size:14px; font-weight:750; line-height:1.5; text-decoration:none; white-space:nowrap; transition:color .2s;}
.ns-header__nav > a:not(.ns-header__cta):hover, .ns-header__nav > a:not(.ns-header__cta):focus-visible {color:#be7024;}
.ns-header__cta {display:inline-flex; gap:14px; align-items:center; justify-content:center; padding:16px 20px; min-height:49px; color:#fff !important; background:#d88225; font-size:13px; font-weight:800; white-space:nowrap; text-decoration:none !important; border-radius:3px; transition:background .2s;}
.ns-header__cta:hover, .ns-header__cta:focus-visible {background:#af6419;color:#fff !important;}
.ns-header__toggle {display:none;}
@media(max-width:1060px) {
  .ns-header__inner {padding:0 22px;}
  .ns-header__nav {gap:14px;}
  .ns-header__brand-name {font-size:23px;}
  .ns-header__nav > a:not(.ns-header__cta) {font-size:12px;}
  .ns-header__cta {padding:14px 13px;font-size:12px;}
}
@media(max-width:850px) {
  .ns-header__inner {min-height:70px;padding:0 18px;}
  .ns-header__brand-name {font-size:23px;}
  .ns-header__toggle {display:flex; width:49px; height:49px; flex:0 0 49px; padding:7px 3px; border:0; border-radius:2px; background:transparent; color:var(--ns-navy); align-items:center; justify-content:center; flex-direction:column; gap:4px; cursor:pointer;}
  .ns-header__toggle-bars {display:flex; width:26px; height:20px; align-items:center; flex-direction:column; justify-content:space-between;}
  .ns-header__toggle-bars i {display:block; width:100%; height:2px; border-radius:2px; background:var(--ns-navy); transition:transform .2s,opacity .2s;}
  .ns-header__toggle-label {font-size:9px; letter-spacing:.13em; font-weight:800;}
  .ns-header__toggle[aria-expanded="true"] .ns-header__toggle-bars i:nth-child(1) {transform:translateY(9px) rotate(45deg);}
  .ns-header__toggle[aria-expanded="true"] .ns-header__toggle-bars i:nth-child(2) {opacity:0;}
  .ns-header__toggle[aria-expanded="true"] .ns-header__toggle-bars i:nth-child(3) {transform:translateY(-9px) rotate(-45deg);}
  .ns-header__nav {display:none; position:absolute; left:0; right:0; top:100%; flex-direction:column; align-items:stretch; gap:0; padding:10px 18px 22px; margin:0; background:#fff; border-top:1px solid #e6eaec; box-shadow:0 14px 22px rgba(12,30,39,.12); max-height:calc(100dvh - 80px); overflow-y:auto;}
  .ns-header__nav.is-open {display:flex;}
  .ns-header__nav > a:not(.ns-header__cta) {display:block;padding:17px 6px;border-bottom:1px solid #e7ecef;font-size:15px;}
  .ns-header__cta {margin-top:18px;padding:18px 16px;justify-content:space-between;font-size:15px;}
}
@media(max-width:782px) {.admin-bar .ns-header.site-header {top:46px;}}
@media(max-width:600px) {.admin-bar .ns-header.site-header {top:0;}}
@media(prefers-reduced-motion: reduce) {.ns-header * {transition:none !important;}}
