html:has(.wbco-ja-header) { scrollbar-gutter: stable; }
.wbco-ja-header{z-index:40;position:fixed;inset:0 0 auto;height:98px;padding:0 clamp(22px,4vw,78px);display:flex;align-items:center;justify-content:space-between;color:#fff;gap:34px;transition:height .35s,background .35s,box-shadow .35s;background:linear-gradient(180deg,rgba(4,21,32,.62),rgba(4,21,32,0))}
.wbco-ja-header.wbco-ja-scrolled{background:rgba(4,24,36,.96);height:76px;box-shadow:0 8px 25px rgba(0,0,0,.12);backdrop-filter:blur(16px)}
.wbco-ja-brand{display:flex;align-items:center;gap:10px;white-space:nowrap;flex-shrink:0}
.wbco-ja-brand-mark{width:48px}
.wbco-ja-brand-words{display:flex;flex-direction:column;gap:2px}
.wbco-ja-brand-words strong{font-weight:650;letter-spacing:-.045em;font-size:22px;line-height:1}
.wbco-ja-brand-words .amp{font-weight:400}
.wbco-ja-brand-words small{letter-spacing:.47em;font-size:8.5px;margin-left:2px;font-weight:700}
.wbco-ja-desktop-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(13px,2vw,36px);margin-left:auto}
.wbco-ja-desktop-nav a{font-size:10px;font-weight:750;letter-spacing:.12em;position:relative;padding:15px 0}
.wbco-ja-desktop-nav a:after{content:"";position:absolute;bottom:8px;left:0;right:100%;height:1px;background:white;transition:right .3s}
.wbco-ja-desktop-nav a:hover:after,.wbco-ja-desktop-nav a:focus-visible:after{right:0}
.wbco-ja-header-actions{display:flex;gap:18px;align-items:center}
.wbco-ja-header-contact{border:1px solid rgba(255,255,255,.72);border-radius:2px;padding:12px 18px;font-size:10px;font-weight:750;letter-spacing:.13em;white-space:nowrap}
.wbco-ja-header-contact span{margin-left:10px;font-size:16px}
.wbco-ja-header-contact:hover{background:#fff;color:var(--deep)}
.wbco-ja-menu-toggle{display:none;background:none;border:0;padding:12px;color:#fff;width:45px;height:42px}
.wbco-ja-menu-toggle span{display:block;height:2px;background:currentColor;margin:6px 0;transition:transform .3s}
.wbco-ja-mobile-nav{display:none}
@media(max-width:1240px){
.wbco-ja-desktop-nav{gap:15px}
.wbco-ja-desktop-nav a{font-size:9px}
.wbco-ja-brand-words strong{font-size:19px}
.wbco-ja-header-contact{padding:10px 12px}
}
@media(max-width:1020px){
.wbco-ja-desktop-nav{display:none}
.wbco-ja-menu-toggle{display:block}
.wbco-ja-mobile-nav{display:flex;flex-direction:column;position:fixed;z-index:39;inset:0;overflow:auto;background:#061e2d;justify-content:center;padding:105px 8vw 65px;opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .3s,transform .3s,visibility .3s}
.wbco-ja-mobile-nav.is-open{opacity:1;visibility:visible;transform:none}
.wbco-ja-mobile-nav a{font-size:clamp(24px,5vw,46px);letter-spacing:-.04em;font-weight:650;color:#fff;padding:15px 0;border-bottom:1px solid #294453;display:flex;justify-content:space-between;align-items:center}
.wbco-ja-mobile-nav a span{font-size:11px;letter-spacing:0;color:#91b3c2}
.wbco-ja-menu-toggle.is-open span:first-child{transform:translateY(4px) rotate(45deg)}
.wbco-ja-menu-toggle.is-open span:last-child{transform:translateY(-4px) rotate(-45deg)}
}
@media(max-width:750px){
.wbco-ja-header{height:74px;padding:0 19px}
.wbco-ja-header.wbco-ja-scrolled{height:68px}
.wbco-ja-brand-mark{width:42px}
.wbco-ja-brand-words strong{font-size:18px}
.wbco-ja-brand-words small{font-size:7px}
.wbco-ja-header-contact{display:none}
.wbco-ja-header-actions{gap:0}
}

.wbco-ja-header, .wbco-ja-mobile-nav {
  --deep: #061a28;
  font: 400 16px/1.5 Inter, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased;
}
.wbco-ja-header *, .wbco-ja-mobile-nav * { box-sizing: border-box; }
.wbco-ja-header a, .wbco-ja-mobile-nav a { text-decoration: none; }
.wbco-ja-header a { color: inherit; }
.wbco-ja-header .wbco-ja-header-contact:hover { color: var(--deep); }
.wbco-ja-header-space { height: 98px; background: #041c2a; }
.admin-bar .wbco-ja-header { top: 32px; }
@media (max-width: 782px) {
  .admin-bar .wbco-ja-header { top: 46px; }
}
@media (max-width: 750px) {
  .wbco-ja-header { gap: 8px; }
  .wbco-ja-header-space { height: 74px; }
}
@media (max-width: 365px) {
  .wbco-ja-header { padding-inline: 10px; gap: 5px; }
  .wbco-ja-brand { gap: 7px; }
  .wbco-ja-brand-mark { width: 36px; }
  .wbco-ja-brand-words strong { font-size: 16px; }
  .wbco-ja-menu-toggle { width: 40px; }
  body .wbco-ja-header .wbco-language > * { min-width: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .wbco-ja-header, .wbco-ja-mobile-nav { transition: none; }
}
