/* Recruit root is 16px. Keep existing type sizes; allocate enough room. */
body.recruit-site > .header .desktop-nav a{white-space:nowrap}
body.recruit-site > .header .header-actions a{width:8rem;min-width:8rem;white-space:nowrap;line-height:1.4;padding-inline:.75rem}
body.recruit-site > .header .desktop-nav .recruit-menu-action{display:none}
@media(max-width:74.9375em){
 body.recruit-site > header.header{grid-template-columns:minmax(0,1fr) auto;height:4.875rem;padding-left:1rem;gap:0}
 body.recruit-site > .header .brand{grid-column:1;width:100%;max-width:20.3125rem;margin:0;padding-right:1rem}
 body.recruit-site > .header .header-actions{display:none}
 body.recruit-site > .header .menu-toggle{display:grid;place-items:center;grid-column:2;grid-row:1;width:4.875rem;height:100%;padding:0;align-self:stretch;background:transparent;border:0;color:var(--green)}
 body.recruit-site > .header .desktop-nav{display:none}
 body.recruit-site > .header .desktop-nav.is-open{display:flex;position:absolute;top:100%;left:0;right:0;grid-column:auto;grid-row:auto;padding:1.25rem 1.5rem 1.5rem;margin:0;gap:0;flex-direction:column;align-items:stretch;max-height:calc(100dvh - 4.875rem - var(--header-admin-offset,0px));overflow-y:auto;background:#fff;box-shadow:0 .75rem 1.5rem #00281018}
 body.recruit-site > .header .desktop-nav.is-open > a{white-space:normal;flex-shrink:0;padding:1rem .5rem;border-bottom:1px solid var(--line)}
 body.recruit-site > .header .desktop-nav.is-open .recruit-menu-action{display:flex;justify-content:center;align-items:center;gap:.625rem;margin-top:.75rem;border:0;border-radius:.375rem;padding:1rem;color:#fff;background:#008f43}
 body.recruit-site > .header .desktop-nav.is-open .recruit-menu-entry{background:#d52f3e}
}
@media(max-width:33.75em){body.recruit-site > header.header{height:4.5rem}body.recruit-site > .header .menu-toggle{width:4.5rem}}
.recruit-corporate-banner{box-sizing:border-box;position:fixed;right:1rem;top:50%;transform:translateY(-50%);z-index:80;width:7.5rem;height:15rem;padding:1rem .75rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;background:#fff;color:#008f43;border:1px solid #008f431a;border-radius:1.5rem;text-align:center;box-shadow:0 .5rem 1.75rem #0028101a;transition:box-shadow .2s,background-color .2s}
.rcb-kicker{font-family:var(--font-en,sans-serif);font-size:.625rem;letter-spacing:.15em;font-weight:600}
.rcb-copy{font-size:1rem;font-weight:600;line-height:1.6;letter-spacing:0;white-space:nowrap}
.rcb-rule{height:1px;width:1.5rem;background:#008f4366}
.rcb-label{font-size:.75rem;font-weight:500;line-height:1.5;letter-spacing:0}
.recruit-corporate-banner .rcb-arrow{font-size:1.5rem}
.recruit-corporate-banner:hover{background:#eff8f2;box-shadow:0 .625rem 2rem #00281030}
.recruit-corporate-banner:focus-visible{outline:3px solid #008f43;outline-offset:3px}
@media(max-width:63.9375em){.recruit-corporate-banner{display:none}}
@media(prefers-reduced-motion:reduce){.recruit-corporate-banner{transition:none}}

/* Compact desktop: preserve type size and retain text navigation down to 1200px. */
@media(min-width:75em) and (max-width:89.9375em){
 body.recruit-site > header.header{grid-template-columns:15.5rem minmax(0,1fr) auto;height:5.5rem;padding-left:1rem;gap:.75rem}
 body.recruit-site > .header .brand{grid-column:1;grid-row:1;width:15.5rem;max-width:100%;margin:0;padding:0}
 body.recruit-site > .header .desktop-nav{display:flex;position:static;grid-column:2;grid-row:1;justify-content:center;align-items:center;flex-direction:row;gap:.75rem;padding:0;margin:0;width:auto;max-height:none;overflow:visible;background:transparent;box-shadow:none}
 body.recruit-site > .header .header-actions{display:flex;grid-column:3;grid-row:1;height:100%}
 body.recruit-site > .header .header-actions a{width:7rem;min-width:7rem}
 body.recruit-site > .header .menu-toggle{display:none}
}

/* Related pages are available by hover, keyboard, or an explicit touch toggle. */
.recruit-nav-group{position:relative;display:flex;align-items:center;gap:.125rem}
.recruit-submenu-toggle{display:grid;place-items:center;padding:.25rem 0;border:0;background:transparent;color:var(--green);cursor:pointer}
.recruit-submenu-toggle span{font-size:1.25rem;transition:transform .2s}
.recruit-submenu-toggle[aria-expanded="true"] span{transform:rotate(180deg)}
body.recruit-site>.header .desktop-nav .recruit-submenu{display:none;position:absolute;top:100%;left:0;min-width:15rem;padding:.75rem;background:#fff;border:1px solid #d8eade;border-radius:.625rem;box-shadow:0 .75rem 1.75rem #003b171a;z-index:10}
body.recruit-site>.header .desktop-nav .is-submenu-open>.recruit-submenu{display:flex;flex-direction:column;gap:.25rem}
body.recruit-site>.header .desktop-nav .recruit-submenu a{display:block;padding:.75rem;white-space:nowrap;font-size:1rem;line-height:1.5;border-radius:.375rem}
body.recruit-site>.header .desktop-nav .recruit-submenu a:hover,body.recruit-site>.header .desktop-nav .recruit-submenu a:focus-visible{background:#edf7f1;color:var(--green)}
@media(min-width:75em){.recruit-nav-group:last-of-type .recruit-submenu{left:auto!important;right:0}}
@media(max-width:74.9375em){
 .recruit-nav-group{display:grid;grid-template-columns:minmax(0,1fr) 2.75rem;gap:0;border-bottom:1px solid var(--line)}
 body.recruit-site>.header .desktop-nav .recruit-nav-parent{padding:1rem .5rem;white-space:normal}
 .recruit-submenu-toggle{width:2.75rem;min-height:2.75rem}
 body.recruit-site>.header .desktop-nav .recruit-submenu{position:static;grid-column:1/-1;min-width:0;border:0;box-shadow:none;background:#f1f8f3;padding:.375rem .5rem;margin-bottom:.75rem}
 body.recruit-site>.header .desktop-nav .recruit-submenu a{white-space:normal}
}

/* Interview headline: 48px on desktop, translucent white glass behind each line. */
body.recruit-site .iv-hero .iv-hero-copy h2{font-size:3rem;line-height:1.8;letter-spacing:.05em}
.iv-title-glass{padding:.08em .3em;border:1px solid var(--green);background:rgb(255 255 255 / 50%);backdrop-filter:blur(.5rem);-webkit-backdrop-filter:blur(.5rem);-webkit-box-decoration-break:clone;box-decoration-break:clone}
body.recruit-site .people-grid-four .person-name{left:7%;bottom:6%;gap:.375rem;max-width:58%}
body.recruit-site .people-grid-four .person-name strong{font-family:var(--font-ja),sans-serif;font-size:11.2cqw;font-weight:700;line-height:1.15;letter-spacing:.04em}
body.recruit-site .people-grid-four .person-name .person-role{margin:0}
@media(max-width:47.9375em){body.recruit-site .iv-hero .iv-hero-copy h2{font-size:clamp(1.625rem,5.2vw,2.25rem);line-height:1.9;letter-spacing:.03em}}

/* Keep each authored title line intact; size it to the actual copy column. */
body.recruit-site .iv-hero .iv-hero-copy{width:100%;min-width:0;container-type:inline-size}
body.recruit-site .iv-hero .iv-hero-copy h2{width:100%;max-width:none;font-size:min(3rem,5cqw);letter-spacing:.03em;line-height:1.85}
body.recruit-site .iv-title-glass{display:inline-block;white-space:nowrap;max-width:100%;padding:.08em .3em;vertical-align:middle;line-height:1.5}

/* Keep the opening headline unobstructed; reveal after the hero/page heading. */
.recruit-corporate-banner{opacity:0;visibility:hidden;pointer-events:none;transform:translate(.75rem,-50%);transition:opacity .25s ease,transform .25s ease,visibility .25s,background-color .2s,box-shadow .2s}
.recruit-corporate-banner.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translate(0,-50%)}
@media(prefers-reduced-motion:reduce){.recruit-corporate-banner{transition:none}}
