/* Shared corporate recruitment invitation. rem uses the corporate 10px root. */
.ks-recruit-promo{position:relative;isolation:isolate;overflow:hidden;background:#fff;color:#008e43;padding:0 0 clamp(5rem,8vw,14rem)}
.ks-recruit-photo{position:relative;width:100%}
.ks-recruit-photo>img{display:block;width:100%;height:auto;margin:0}
.ks-recruit-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 38%,rgba(255,255,255,.12) 49%,rgba(255,255,255,.7) 71%,#fff 94%)}
.ks-recruit-title{position:absolute;top:5.5vw;left:5%;right:5%;z-index:1}
.ks-recruit-title h2{margin:0;width:74%;line-height:1}
.ks-recruit-title h2 img{display:block;width:100%;height:auto;filter:brightness(0) invert(1)}
.ks-recruit-script{position:absolute;right:0;top:12%;width:47%;height:auto;filter:drop-shadow(1px 0 #fff) drop-shadow(-1px 0 #fff) drop-shadow(0 1px #fff) drop-shadow(0 -1px #fff)}
.ks-recruit-bottom{position:relative;z-index:2;width:90%;margin:-18% auto 0;display:grid;grid-template-columns:minmax(0,1fr) 33%;gap:4%;align-items:start}
.ks-recruit-copy{padding-top:8vw;min-width:0}
.ks-recruit-en{font-family:var(--font-en,sans-serif);font-size:clamp(2.4rem,2.7vw,5rem);font-weight:600;letter-spacing:.07em;line-height:1.65;margin:0 0 2.4rem;color:#008e43}
.ks-recruit-ja{font-size:clamp(2rem,1.6vw,2.8rem);font-weight:700;line-height:1.9;margin:0;color:#008e43}
.ks-recruit-description{font-size:2rem;font-weight:500;line-height:2;margin:3.2rem 0 0;color:#606060}
.ks-recruit-round{position:relative;display:grid;place-items:center;aspect-ratio:1;width:100%;border-radius:50%;color:#008e43;text-decoration:none;transition:transform .3s ease}
.ks-recruit-round>img{display:block;width:100%;height:auto}
.ks-recruit-round>span{position:absolute;inset:16%;border-radius:50%;background:rgba(255,255,255,.83);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1.6rem;font-size:clamp(1.6rem,1.85vw,3.2rem);font-weight:700;white-space:nowrap}
.ks-recruit-round i{width:0;height:0;border-top:1.2rem solid transparent;border-bottom:1.2rem solid transparent;border-left:2rem solid #008e43;margin-left:.4rem}
.ks-recruit-round:hover{transform:scale(1.025)}
.ks-recruit-round:focus-visible{outline:.3rem solid #008e43;outline-offset:.6rem}
@media(max-width:47.9375em){.ks-recruit-bottom{margin-top:-12%;grid-template-columns:1fr;gap:3.2rem}.ks-recruit-copy{padding-top:0}.ks-recruit-title{top:6vw}.ks-recruit-en{font-size:clamp(2rem,4.2vw,3rem);letter-spacing:.025em}.ks-recruit-ja{font-size:2rem}.ks-recruit-description{font-size:2rem;margin-top:2.4rem}.ks-recruit-round{width:min(68%,30rem);justify-self:center}.ks-recruit-round>span{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){.ks-recruit-round{transition:none}}

/* Only the outer lettering rotates; portraits and label stay upright. */
.ks-recruit-round>.ks-recruit-portraits{animation:none}
.ks-recruit-round>.ks-recruit-letter-ring{position:absolute;inset:-10%;width:120%;height:120%;max-width:none;object-fit:contain;pointer-events:none;animation:ks-recruit-ring-turn 30s linear infinite}
@keyframes ks-recruit-ring-turn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.ks-recruit-round>.ks-recruit-letter-ring{animation:none}}
