/* Local candidate: homepage header matches the approved recruitment/company header.
   Intentionally header-only; do not load the entire recruitment layout on home. */
header.site-header.header-aligned{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:30;width:100%;max-width:none;margin:0;height:auto;min-height:106px;padding:0 max(40px,calc((100% - 1240px)/2));gap:30px;background:#fff;border-bottom:1px solid #dbe5e4;color:#102f35;font-family:'Zen Kaku Gothic New','Noto Sans CJK JP',-apple-system,BlinkMacSystemFont,sans-serif}
header.header-aligned *{box-sizing:border-box}
header.header-aligned .brand{display:flex;align-items:center;flex-shrink:0;gap:12px;min-height:44px;line-height:1.1;color:#102f35;text-decoration:none}
header.header-aligned .brand img{display:block;width:42px;height:42px;object-fit:contain;mix-blend-mode:normal}
header.header-aligned .brand .brand-name{display:block;font:900 28px/1.05 Arial,sans-serif;letter-spacing:2px;color:#102f35}
header.header-aligned .brand-name small{display:block;font-family:'Zen Kaku Gothic New','Noto Sans CJK JP',sans-serif;font-weight:500;font-size:9px;letter-spacing:.12em;margin-top:8px}
header.header-aligned .desktop-nav{display:flex;align-items:center;justify-content:flex-end;gap:25px;flex-wrap:nowrap}
header.header-aligned .desktop-nav>a{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;min-height:44px;font-size:12px;line-height:1.5;font-weight:700;text-decoration:none;white-space:nowrap;color:#102f35}
header.header-aligned .desktop-nav>a>small{font:700 8px/1.4 Arial,sans-serif;letter-spacing:1.3px;color:#436169;margin:0;text-transform:uppercase}
header.header-aligned .desktop-nav>a:hover{color:#007e80}
header.header-aligned .desktop-nav>a.nav-contact{display:flex;flex-direction:row;align-items:center;gap:12px;min-height:44px;padding:13px 20px;border:0;border-radius:3px;background:#102f35;color:white;box-shadow:none}
header.header-aligned .nav-contact .action-label{font-size:11px;line-height:1.5;font-weight:700}
header.header-aligned .nav-contact .action-icon{width:14px;height:14px}
header.header-aligned .nav-contact:hover{background:#007e80;color:white}
header.header-aligned .mobile-menu{display:none}
header.header-aligned a:focus-visible,header.header-aligned summary:focus-visible{outline:3px solid #a94a00;outline-offset:4px}
.audience-links.header-utility{width:min(1240px,calc(100% - 80px));margin-inline:auto;padding:4px 0 0;display:flex;justify-content:flex-end;gap:24px;flex-wrap:wrap}
.audience-links.header-utility a{min-height:36px;font-size:10px;line-height:1.6}
@media(max-width:1180px){header.header-aligned .desktop-nav{gap:17px}header.header-aligned .desktop-nav>a{font-size:11px}header.header-aligned .desktop-nav>a.nav-contact{padding:12px 15px}header.site-header.header-aligned{gap:23px}header.header-aligned .brand .brand-name{font-size:25px}}
@media(max-width:1000px){
header.site-header.header-aligned{min-height:89px}
header.header-aligned .desktop-nav{display:none}
header.header-aligned .mobile-menu{display:block;position:static}
header.header-aligned .mobile-menu>summary{display:flex;align-items:center;gap:22px;font-size:12px;font-weight:700;min-height:44px;padding:10px 14px;border:1px solid #dbe5e4;border-radius:3px;list-style:none;cursor:pointer}
header.header-aligned .mobile-menu>summary::-webkit-details-marker{display:none}
header.header-aligned .mobile-menu>nav{position:absolute;top:calc(100% - 1px);left:40px;right:40px;width:auto;background:white;border:1px solid #dbe5e4;padding:10px 22px 20px;max-height:75vh;overflow:auto;flex-direction:column;gap:0;box-shadow:0 14px 25px #102f3510}
header.header-aligned .mobile-menu[open]>nav{display:flex}
header.header-aligned .mobile-menu:not([open])>nav{display:none}
header.header-aligned .mobile-menu>nav>a{display:flex;justify-content:space-between;align-items:center;min-height:49px;padding:12px 0;border-bottom:1px solid #dbe5e4;text-decoration:none;font-size:13px;font-weight:700;color:#102f35}
header.header-aligned .mobile-menu>nav>a>small{font:9px Arial,sans-serif;letter-spacing:1px;color:#436169}
header.header-aligned .mobile-menu>nav>a.nav-contact{background:#102f35;color:white;margin-top:14px;padding:14px 17px;border-radius:3px;border:0;justify-content:center;gap:12px}
/* トップ既存の corporate-home の指定（背景・角丸・2列・縦積み・大きな記号）を打ち消し、採用ページのメニューと同じ形にする */
header.header-aligned .mobile-menu>summary,header.header-aligned .mobile-menu[open]>summary{background:transparent;color:#102f35}
header.header-aligned .mobile-menu>summary>span{font-size:inherit}
header.header-aligned .mobile-menu[open]>summary>span{transform:rotate(45deg)}
header.header-aligned .mobile-menu>nav{border-radius:0;grid-template-columns:none;align-items:stretch}
header.header-aligned .mobile-menu>nav>a:not(.nav-contact){flex-direction:row}
header.header-aligned .mobile-menu>nav>a>small{margin:0;text-transform:uppercase}
}
@media(max-width:760px){
header.site-header.header-aligned{min-height:85px;padding-inline:20px;gap:15px}
header.header-aligned .brand img{width:36px;height:36px}
header.header-aligned .brand .brand-name{font-size:24px}
header.header-aligned .brand-name small{font-size:8px;margin-top:7px}
header.header-aligned .mobile-menu>nav{left:20px;right:20px}
.audience-links.header-utility{width:calc(100% - 40px);gap:8px 20px}
}
