/* Shared CV palette: semantic roles derived from the corporate design system. */
:root,.tf-header{--cv-recruit:var(--tenfive-brand-recruit,#90b425);--cv-consult:var(--tenfive-brand-consult,#0d679e);--cv-partner:var(--tenfive-brand-partner,#138f8f);--cv-dark:var(--color-neutral-900,#0f172a);--cv-recruit-strong:#587a16;--cv-partner-strong:#0f7778}
.header.tf-header{position:fixed;inset:0 0 auto;z-index:1000;background:#fff;color:var(--color-text-primary,#0f172a);border-bottom:1px solid var(--color-border-primary,#e2e8f0);font-family:var(--font-primary,var(--font-family-primary,'Noto Sans JP',sans-serif));padding:0;transform:none;box-shadow:var(--shadow-sm,0 1px 3px #0f172a0d)}
.tf-header *{box-sizing:border-box}.tf-header a{text-decoration:none;color:inherit}.tf-header button,.tf-header summary{font:inherit}.tf-header__row{display:flex;align-items:center;gap:24px;max-width:1500px;height:var(--header-height,64px);min-height:0;margin:auto;padding:0 28px}.tf-header__logo{flex-shrink:0;display:flex;align-items:center}.tf-header__logo img{display:block;width:154px;height:auto;max-height:48px;object-fit:contain}.tf-header__panel{display:flex;align-items:center;flex:1;gap:24px;min-width:0}.tf-header__nav{display:flex;align-items:center;gap:20px}.tf-header__nav>a,.tf-header summary{min-height:44px;display:flex;align-items:center;gap:8px;font-size:var(--font-size-sm,14px);font-weight:var(--font-weight-medium,500);white-space:nowrap;cursor:pointer;list-style:none}.tf-header summary::-webkit-details-marker{display:none}.tf-header summary:after{content:'⌄';color:var(--color-text-secondary,#475569);font-size:12px}.tf-header details{position:relative}.tf-header details[open]>summary{color:var(--cv-consult)}.tf-header__dropdown{position:absolute;top:100%;left:-16px;min-width:210px;max-height:65vh;overflow:auto;background:white;border:1px solid var(--color-border-primary,#e2e8f0);border-radius:var(--radius-base,8px);box-shadow:var(--shadow-lg,0 10px 28px #0f172a1a);padding:8px}.tf-header__dropdown a{display:flex;align-items:center;min-height:44px;padding:10px 14px;font-size:14px;white-space:nowrap;border-radius:var(--radius-sm,4px)}.tf-header__dropdown a:hover{background:var(--color-primary-50,#eff6ff);color:var(--cv-consult)}.tf-header__actions{display:flex;gap:8px;margin-left:auto}.tf-header .tf-header__action{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:11px 16px;white-space:nowrap;border:1px solid transparent;border-radius:var(--radius-base,8px);font-size:var(--font-size-xs,12px);line-height:1.5;font-weight:var(--font-weight-bold,700)}.tf-header .tf-header__action--recruit{background:var(--cv-recruit-strong);color:#fff}.tf-header .tf-header__action--consult{background:var(--cv-consult);color:#fff}.tf-header .tf-header__action--partner{background:var(--cv-partner-strong);color:#fff}.tf-header__action:hover{filter:brightness(.94)}.tf-header :is(a,button,summary):focus-visible{outline:3px solid var(--cv-consult);outline-offset:3px}.tf-header__toggle{display:none;border:1px solid var(--color-border-secondary,#cbd5e1);border-radius:var(--radius-base,8px);background:white;color:var(--cv-dark);padding:10px 14px;min-height:44px;cursor:pointer}.tf-header-menu-open{overflow:hidden}
@media(max-width:1260px){.tf-header__row{height:var(--header-height-mobile,var(--header-height,64px));min-height:0;justify-content:space-between;padding:0 20px}.tf-header__toggle{display:block}.tf-header__panel{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - var(--header-height-mobile,var(--header-height,64px)));overflow:auto;background:white;border-bottom:1px solid var(--color-border-primary,#e2e8f0);padding:12px 20px calc(24px + env(safe-area-inset-bottom))}.tf-header__panel.is-open{display:block}.tf-header__nav{display:block}.tf-header__nav>a,.tf-header summary{padding:10px 0;border-bottom:1px solid var(--color-border-primary,#e2e8f0);justify-content:space-between}.tf-header__dropdown{position:static;box-shadow:none;max-height:none;border:0;background:var(--color-neutral-50,#f8fafc);margin:6px 0}.tf-header__dropdown a{white-space:normal}.tf-header__actions{display:grid;grid-template-columns:1fr;gap:10px;margin:20px 0 0}.tf-header .tf-header__action{font-size:14px}.tf-header__logo img{width:145px}}
@media(prefers-reduced-motion:reduce){.tf-header *{transition:none!important}}
