.recruit-page { --rc-navy:#244b96; --rc-teal:#20aeb5; --rc-pink:#ed7f96; --rc-yellow:#f3c75c; --rc-ink:#33455a; color:var(--rc-ink); font-size:clamp(16px,1.05vw,17px); line-height:1.95; overflow:hidden; }
.recruit-container { width:min(1120px,calc(100% - 48px)); margin-inline:auto; }
.recruit-eyebrow,.recruit-heading>p { margin:0 0 8px; color:var(--rc-teal); font-size:14px; font-weight:700; letter-spacing:.19em; }
.recruit-page h2,.recruit-page h3 { color:var(--rc-navy); line-height:1.5; letter-spacing:.05em; }
.recruit-heading { max-width:760px; margin:0 auto clamp(34px,5vw,54px); text-align:center; }
.recruit-heading h2 { margin:0; font-size:clamp(27px,3vw,37px); }
.recruit-heading>span { display:block; margin-top:12px; }
.recruit-hero,.recruit-role-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); min-height:620px; align-items:stretch; background:linear-gradient(135deg,#f1fbfc,#fff 60%,#fff7f2); }
.recruit-hero__copy,.recruit-role-hero>div { align-self:center; width:min(560px,calc(100% - 80px)); min-width:0; margin-inline:auto; padding:70px 0; }
.recruit-hero h2,.recruit-role-hero h2 { max-width:100%; margin:0 0 24px; font-size:clamp(32px,3.25vw,48px); line-break:strict; overflow-wrap:normal; text-wrap:balance; word-break:normal; }
.recruit-hero__copy>p:last-child,.recruit-role-hero>div>p:last-child { max-width:35em; margin:0; line-break:strict; text-wrap:pretty; overflow-wrap:break-word; }
.recruit-hero__visual,.recruit-role-hero>img { min-width:0; height:100%; min-height:620px; }
.recruit-hero__visual img,.recruit-role-hero>img { display:block; width:100%; height:100%; object-fit:cover; }
.recruit-role-hero>img { object-position:center; }
.recruit-message,.recruit-copy { padding:clamp(80px,10vw,130px) 0; }
.recruit-split,.recruit-copy__inner { display:grid; grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr); gap:clamp(50px,8vw,100px); }
.recruit-split h2,.recruit-copy h2 { margin:0; font-size:clamp(28px,3vw,38px); line-break:strict; text-wrap:balance; word-break:normal; }
.recruit-split p,.recruit-copy p { margin:0 0 1.2em; }
.recruit-benefits { padding:clamp(76px,9vw,115px) 0; background:#f3fbfb; }
.recruit-benefits__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:#dce9eb; }
.recruit-benefits article { min-height:280px; padding:34px 28px; background:#fff; }
.recruit-benefits article>strong { color:rgba(32,174,181,.3); font-family:Georgia,serif; font-size:48px; }
.recruit-benefits h3 { margin:20px 0 12px; font-size:21px; }
.recruit-benefits p { margin:0; font-size:15px; }
.recruit-jobs { padding:clamp(80px,10vw,130px) 0; }
.recruit-heading>.recruit-jobs__status { width:max-content; max-width:100%; margin:18px auto 0; padding:7px 16px; border:1px solid rgba(237,127,150,.36); border-radius:999px; background:#fff4f6; color:#8c4050; font-size:14px; font-weight:700; line-height:1.5; }
.recruit-jobs__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:26px; }
.recruit-jobs__grid>a { overflow:hidden; border:1px solid #dce7e9; color:inherit; text-decoration:none; transition:transform .25s ease,box-shadow .25s ease; }
.recruit-jobs__grid>a:hover { transform:translateY(-5px); box-shadow:0 18px 40px rgba(36,75,150,.12); }
.recruit-jobs img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.recruit-jobs__grid>a>div { padding:28px 30px; }
.recruit-jobs small { color:var(--rc-teal); font-weight:700; letter-spacing:.14em; }
.recruit-jobs h3 { margin:5px 0 12px; font-size:26px; }
.recruit-jobs p { margin:0 0 18px; }
.recruit-jobs span { color:var(--rc-pink); font-weight:700; }
.recruit-status { width:min(1120px,calc(100% - 48px)); margin:46px auto 40px; padding:18px 24px; border-left:4px solid var(--rc-pink); background:#fff4f6; color:#8c4050; font-weight:700; }
.recruit-feature,.recruit-dh-work { padding:clamp(80px,10vw,130px) 0; background:#f4fbfc; }
.recruit-feature__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(45px,7vw,90px); align-items:center; }
.recruit-feature__grid>img { display:block; width:100%; aspect-ratio:4/3; border-radius:10px; object-fit:cover; box-shadow:0 16px 40px rgba(36,75,150,.12); }
.recruit-feature h2 { margin:0 0 22px; font-size:clamp(28px,3vw,38px); }
.recruit-feature h3,.recruit-dh-work h3 { margin:0 0 18px; font-size:28px; }
.recruit-person,.recruit-requirements,.recruit-learning,.recruit-day { padding:clamp(80px,10vw,130px) 0; }
.recruit-person__columns { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.recruit-person__columns>div { padding:34px; border:1px solid #dce7e9; }
.recruit-person__columns h3 { margin:0 0 20px; font-size:23px; }
.recruit-person__columns ul { display:grid; gap:9px; margin:0; padding-left:1.3em; }
.recruit-person .is-positive { border-top:4px solid var(--rc-teal); background:#f7fdfd; }
.recruit-person .is-caution { border-top:4px solid var(--rc-pink); background:#fffafb; }
.recruit-requirements { background:#f7fafb; }
.recruit-requirements dl { margin:0; border-top:2px solid var(--rc-navy); }
.recruit-requirements dl>div { display:grid; grid-template-columns:190px 1fr; border-bottom:1px solid #dce7e9; }
.recruit-requirements dt,.recruit-requirements dd { margin:0; padding:20px 24px; }
.recruit-requirements dt { background:#edf4f8; color:var(--rc-navy); font-weight:700; }
.recruit-requirements__note { display:grid; gap:5px; margin:24px 0 0; padding:18px 22px; border-left:4px solid var(--rc-pink); background:#fff4f6; color:#75414d; font-size:14px; }
.recruit-requirements__note strong { color:#8c4050; font-size:17px; line-height:1.6; }
.recruit-requirements__note span { line-height:1.8; }
.recruit-worries { padding:clamp(76px,9vw,112px) 0; background:#fff8f5; }
.recruit-worries ul { display:grid; grid-template-columns:repeat(2,1fr); gap:12px 20px; margin:0 0 28px; padding:0; list-style:none; }
.recruit-worries li { position:relative; padding:16px 20px 16px 46px; background:#fff; }
.recruit-worries li::before { position:absolute; left:18px; color:var(--rc-pink); content:"✓"; font-weight:700; }
.recruit-worries>div>p:last-child { margin:0; text-align:center; font-weight:700; }
.recruit-learning { background:#f4fbfc; }
.recruit-learning__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:26px; }
.recruit-learning article { overflow:hidden; background:#fff; box-shadow:0 12px 32px rgba(36,75,150,.07); }
.recruit-learning img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.recruit-learning h3 { margin:24px 26px 10px; font-size:23px; }
.recruit-learning article p { margin:0; padding:0 26px 28px; }
.recruit-voice { padding:clamp(80px,10vw,130px) 0; }
.recruit-voice__inner { display:grid; grid-template-columns:260px 1fr; gap:clamp(40px,7vw,86px); align-items:center; max-width:900px; }
.recruit-voice img { display:block; width:220px; height:270px; margin:auto; border-radius:110px 110px 16px 16px; object-fit:cover; object-position:top; }
.recruit-voice h2 { margin:0 0 20px; font-size:clamp(27px,3vw,37px); }
.recruit-voice blockquote { margin:0 0 20px; padding:0; font-size:18px; line-height:2; }
.recruit-day { background:#fff8f5; }
.recruit-day ol { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin:0; padding:0; background:#eadfde; list-style:none; }
.recruit-day li { min-height:130px; padding:25px; background:#fff; }
.recruit-day time { display:block; color:var(--rc-pink); font-size:21px; font-weight:700; }
.recruit-day span { display:block; margin-top:7px; }
.recruit-form { padding:clamp(82px,10vw,130px) 0; background:linear-gradient(135deg,#eefafb,#fff8f5); }
.recruit-form__sample { max-width:840px; margin:0 auto 28px; padding:12px 18px; border-left:4px solid var(--rc-yellow); background:#fff; font-size:14px; font-weight:700; }
.recruit-form form { max-width:840px; margin:auto; padding:clamp(24px,5vw,48px); background:#fff; box-shadow:0 18px 45px rgba(36,75,150,.1); }
.recruit-form__grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.recruit-form label { display:grid; gap:8px; }
.recruit-form label>span { color:var(--rc-navy); font-weight:700; }
.recruit-form label b { padding:2px 6px; background:var(--rc-pink); color:#fff; font-size:12px; }
.recruit-form input,.recruit-form select,.recruit-form textarea { width:100%; box-sizing:border-box; padding:13px 14px; border:1px solid #ccdadd; border-radius:0; background:#fff; color:inherit; font:inherit; }
.recruit-form__message { margin-top:22px; }
.recruit-form button { display:block; min-width:280px; margin:30px auto 0; padding:16px 26px; border:0; background:#9ca9b1; color:#fff; font:inherit; font-weight:700; cursor:not-allowed; }
.recruit-form__replace { margin:18px 0 0; color:#71808f; font-size:14px; text-align:center; }
@media(max-width:960px){.recruit-hero,.recruit-role-hero{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.recruit-hero__copy,.recruit-role-hero>div{width:calc(100% - 48px)}.recruit-hero h2,.recruit-role-hero h2{font-size:clamp(30px,4.4vw,42px)}.recruit-break-wide{display:none}}
@media(max-width:800px){.recruit-container{width:min(100% - 32px,660px)}.recruit-hero,.recruit-role-hero{grid-template-columns:1fr;min-height:0}.recruit-hero__copy,.recruit-role-hero>div{width:calc(100% - 32px);margin:auto;padding:56px 0}.recruit-hero h2,.recruit-role-hero h2{font-size:28px;letter-spacing:.035em;line-height:1.65;text-wrap:wrap;word-break:keep-all;overflow-wrap:anywhere}.recruit-hero__copy>p:last-child,.recruit-role-hero>div>p:last-child{font-size:16px;line-height:1.9;word-break:normal;overflow-wrap:normal}.recruit-hero__visual,.recruit-role-hero>img{min-height:0;height:360px}.recruit-split,.recruit-copy__inner,.recruit-feature__grid,.recruit-person__columns,.recruit-learning__grid,.recruit-jobs__grid{grid-template-columns:1fr}.recruit-benefits__grid{grid-template-columns:1fr 1fr}.recruit-benefits article{min-height:0}.recruit-requirements dl>div{grid-template-columns:1fr}.recruit-requirements dt,.recruit-requirements dd{padding:15px 18px}.recruit-worries ul{grid-template-columns:1fr}.recruit-voice__inner{grid-template-columns:1fr}.recruit-day ol{grid-template-columns:1fr 1fr}.recruit-form__grid{grid-template-columns:1fr}.recruit-form button{min-width:0;width:100%}}
.recruit-page--role .recruit-copy h2{font-size:clamp(28px,2.35vw,34px)}
.recruit-page--role .recruit-copy h2 span,.recruit-page--role .recruit-feature h2 span{display:block;white-space:nowrap}
.recruit-page--role .recruit-feature h2{font-size:clamp(28px,2.6vw,36px);line-height:1.5}
@media(max-width:767px){.recruit-page--role .recruit-copy h2{font-size:26px}.recruit-page--role .recruit-feature h2{font-size:28px}}
@media(max-width:480px){.recruit-benefits__grid,.recruit-day ol{grid-template-columns:1fr}.recruit-hero__visual,.recruit-role-hero>img{height:280px}.recruit-person__columns>div{padding:26px 20px}}
@media(prefers-reduced-motion:reduce){.recruit-jobs__grid>a{transition:none}}
