/* 固定ヘッダー、現在位置、配色の切り替え */
:root{--b-header-height:88px;--b-recruit-nav-height:52px}
html{scroll-padding-top:calc(var(--b-header-height) + 24px);scrollbar-gutter:stable}
body.design-b{padding-top:var(--b-header-height)}
body.b-dark-first{padding-top:0}
body.recruit-page{padding-top:calc(var(--b-header-height) + var(--b-recruit-nav-height))}
body.b-recruit-home{padding-top:0}
html:has(.recruit-page){scroll-padding-top:calc(var(--b-header-height) + var(--b-recruit-nav-height) + 24px)}
.b-header{--b-header-ink:#222;--b-header-surface:rgba(255,255,255,.97);--b-header-line:rgba(0,0,0,.12);--b-header-hover:rgba(0,0,0,.045);--b-logo-filter:brightness(0);position:fixed;inset:0 0 auto;z-index:100;display:flex;align-items:center;gap:32px;width:100%;height:var(--b-header-height);padding:0 clamp(24px,3.5vw,64px);color:var(--b-header-ink);isolation:isolate;transition:color .35s ease}
.b-header[data-theme=dark]{--b-header-ink:#f5f5f5;--b-header-surface:rgba(8,8,8,.94);--b-header-line:rgba(255,255,255,.18);--b-header-hover:rgba(255,255,255,.08);--b-logo-filter:brightness(0) invert(1)}
.b-header::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--b-header-surface);border-bottom:1px solid var(--b-header-line);box-shadow:0 5px 24px #00000004;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:background-color .45s cubic-bezier(.22,1,.36,1),border-color .45s ease,box-shadow .45s ease}
.b-header.is-menu-open{--b-header-ink:#222;--b-header-surface:#fff;--b-header-line:rgba(0,0,0,.12);--b-header-hover:rgba(0,0,0,.045);--b-logo-filter:brightness(0)}
.b-logo{display:flex;align-items:center;flex:0 0 auto;gap:20px;position:relative;z-index:2;min-height:44px;color:inherit}
.b-logo img{display:block;width:180px;height:auto;filter:var(--b-logo-filter);transition:filter .35s ease}
.b-brand-copy{padding-left:20px;border-left:1px solid var(--b-header-line);font:600 10px/1.6 Arial,sans-serif;letter-spacing:.12em;white-space:nowrap;color:inherit;transition:border-color .35s ease}
.b-menu{display:flex;align-items:center;gap:4px;margin-left:auto}
.b-menu>a{display:flex;align-items:center;justify-content:center;position:relative;min-height:44px;padding:12px 11px;border-radius:3px;font-size:13px;font-weight:600;line-height:1.5;letter-spacing:.025em;white-space:nowrap;color:inherit;transition:background-color .25s ease,color .35s ease}
.b-menu>a::after{content:"";position:absolute;left:11px;right:11px;bottom:4px;height:2px;background:#00a1cb;transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.22,1,.36,1)}
.b-menu>a[aria-current]::after,.b-menu>a:hover::after,.b-menu>a:focus-visible::after{transform:scaleX(1)}
.b-menu>a[aria-current]{background:var(--b-header-hover)}
.design-b .b-header a:hover{opacity:1}
.b-menu>a:hover{background:var(--b-header-hover)}
.b-menu-button,.b-mobile-recruit{display:none}
.b-recruit-nav{position:fixed;inset:var(--b-header-height) 0 auto;z-index:99;display:flex;align-items:center;justify-content:center;gap:24px;height:var(--b-recruit-nav-height);padding:0 24px;background:#fff;color:#333;border-bottom:1px solid #ddd;font-size:12px;white-space:nowrap;overflow-x:auto;scrollbar-width:none;transition:background-color .45s ease,color .35s ease,border-color .45s ease}
.b-recruit-nav::-webkit-scrollbar{display:none}
.b-recruit-nav a{display:flex;align-items:center;min-height:44px;position:relative;color:inherit}
.b-recruit-nav a[aria-current]::after{content:"";position:absolute;inset:auto 0 4px;height:2px;background:#00a1cb}
.b-header[data-theme=dark]+.b-recruit-nav{background:#111;color:#f5f5f5;border-color:#ffffff26}
@media(max-width:1280px) and (min-width:1081px){.b-header{gap:20px;padding-inline:26px}.b-logo{gap:14px}.b-logo img{width:160px}.b-brand-copy{padding-left:14px;font-size:9px}.b-menu{gap:0}.b-menu>a{font-size:12px;padding-inline:9px}.b-menu>a::after{left:9px;right:9px}}
@media(max-width:1080px){
  .b-menu-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;position:relative;z-index:2;flex:0 0 48px;width:48px;min-height:48px;padding:4px;margin-left:auto;border:0;background:transparent;color:inherit}
  .b-menu-icon{position:relative;display:block;width:24px;height:14px}
  .b-menu-icon i{position:absolute;left:0;width:24px;height:1px;background:currentColor;transition:transform .3s ease,top .3s ease}
  .b-menu-icon i:first-child{top:3px}.b-menu-icon i:last-child{top:11px}
  .b-menu-button[aria-expanded=true] .b-menu-icon i:first-child{top:7px;transform:rotate(45deg)}
  .b-menu-button[aria-expanded=true] .b-menu-icon i:last-child{top:7px;transform:rotate(-45deg)}
  .b-menu-label{font:600 8px/1 Arial,sans-serif;letter-spacing:.12em}
  .b-menu{position:fixed;inset:var(--b-header-height) 0 0;z-index:1;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;margin:0;padding:18px max(24px,calc((100vw - 640px)/2)) max(28px,env(safe-area-inset-bottom));background:#fff;color:#222;overflow-y:auto;overscroll-behavior:contain;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:opacity .25s ease,transform .35s cubic-bezier(.22,1,.36,1),visibility .35s}
  .b-menu.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .b-menu>a{justify-content:flex-start;flex-shrink:0;min-height:56px;padding:15px 14px;border-radius:0;border-bottom:1px solid #ececec;font-size:16px;color:#222}
  .b-menu>a::after{inset:16px auto 16px 0;width:2px;height:auto;transform:scaleY(0);transform-origin:top}
  .b-menu>a[aria-current]::after,.b-menu>a:hover::after,.b-menu>a:focus-visible::after{transform:scaleY(1)}
  .b-menu>a[aria-current],.b-menu>a:hover{background:#f4f6f6}
  .b-mobile-recruit{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;padding:30px 0 4px}
  .b-mobile-recruit>span{grid-column:1/-1;margin-bottom:12px;font:500 13px/1.4 Oswald,sans-serif;letter-spacing:.16em;color:#666}
  .b-mobile-recruit>a{display:flex;align-items:center;min-height:48px;font-size:12px;color:#333;border-bottom:1px solid #ececec}
  .b-mobile-recruit>a[aria-current]{color:#007f9f;font-weight:700}
  .b-recruit-nav{justify-content:flex-start;gap:24px;scroll-padding-inline:20px}
}
@media(max-width:720px){
  :root{--b-header-height:76px;--b-recruit-nav-height:46px}
  .b-header{padding-inline:20px;gap:12px}.b-logo{gap:14px}.b-logo img{width:138px}.b-brand-copy{padding-left:14px;font-size:8px;letter-spacing:.1em;line-height:1.65}
  .b-recruit-nav{padding-inline:20px;font-size:11px;gap:22px}
}
@media(max-width:359px){.b-header{padding-inline:14px;gap:8px}.b-logo{gap:10px}.b-logo img{width:118px}.b-brand-copy{padding-left:10px;font-size:7px}}
@media print{body.design-b{padding-top:0}.b-header,.b-recruit-nav{display:none}}
