:root{--bg:#292e32;--panel:#424a55;--ink:#fff;--muted:#aeb6bd;--accent:#d4ad5f;--light:#e8eef5;--deep:#161a1d;--line:rgba(255,255,255,.18);--sans:Inter,"Noto Sans JP",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--bg);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;width:100%}.career-header{position:absolute;z-index:30;top:0;left:0;right:0;display:flex;align-items:center;padding:25px clamp(24px,4vw,64px);border-bottom:1px solid rgba(255,255,255,.18)}.career-brand{display:flex;align-items:center;gap:18px}.career-brand img{width:180px}.career-brand span{padding-left:18px;border-left:1px solid rgba(255,255,255,.45);font-size:11px}.career-nav{display:flex;gap:28px;margin-left:auto;font-size:11px;font-weight:700}.career-nav a{transition:color .25s}.career-nav a:hover{color:var(--accent)}.career-menu{display:none}.career-hero{position:relative;height:760px;min-height:92svh;overflow:hidden}.career-hero>img{height:100%;object-fit:cover;object-position:center 42%}.career-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,20,23,.72),rgba(15,20,23,.18) 65%),linear-gradient(0deg,rgba(15,20,23,.52),transparent 45%)}.career-hero h1{position:absolute;left:clamp(28px,9vw,150px);top:50%;margin:0;transform:translateY(-46%);font-size:clamp(66px,7.6vw,124px);line-height:.88;letter-spacing:-.075em}.career-hero p{position:absolute;left:clamp(30px,9vw,154px);bottom:70px;margin:0;color:var(--accent);font-size:13px;font-weight:700;letter-spacing:.08em}.job-search{position:relative;z-index:3;margin-top:-1px;padding:28px 5vw;background:#202529}.job-search-inner{width:min(1260px,100%);margin:auto}.job-search h2{margin:0 0 18px;font-size:18px}.job-search-row{display:grid;grid-template-columns:1fr 1fr 1.7fr 90px;gap:14px}.job-search-row>a,.job-search label{min-height:55px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border:1px solid var(--line);font-size:12px;font-weight:700}.job-search-row>a:first-child,.job-search-row>a:nth-child(2),.job-search-row .search-submit{color:#202529;background:var(--accent);border-color:var(--accent)}.job-search label{gap:14px}.job-search label span{white-space:nowrap}.job-search select{width:100%;color:#fff;background:transparent;border:0;font:inherit}.career-section{padding:120px max(28px,9vw)}.section-title h2{margin:0;font-size:clamp(48px,5.8vw,88px);line-height:1;letter-spacing:-.055em}.section-title p{margin:13px 0 0;color:var(--accent);font-size:11px;font-weight:700}.about-lead{display:flex;justify-content:space-between;align-items:end;gap:60px;margin:80px 0}.about-lead h3{margin:0 0 25px;font-size:clamp(30px,3.4vw,54px);line-height:1.45}.about-lead p{max-width:720px;color:#d1d7da;font-size:14px;line-height:2}.outline-button{display:inline-flex;justify-content:space-between;align-items:center;gap:50px;min-width:220px;padding:16px 22px;border:1px solid var(--line);border-radius:99px;font-size:11px;font-weight:700}.outline-button span{color:var(--accent)}.about-visual{display:grid;grid-template-columns:1.25fr .75fr;min-height:530px}.about-visual>img{height:100%;object-fit:cover}.about-links{display:grid;grid-template-columns:1fr 1fr;background:#202529}.about-links a{display:flex;flex-direction:column;justify-content:space-between;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:16px;font-weight:700}.about-links i{color:var(--accent);font-size:10px;font-style:normal}.about-links span{align-self:end}.company-deck{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:70px;width:min(960px,100%);margin:90px auto 0;padding:55px;background:#333a41}.company-deck small{color:var(--accent);letter-spacing:.16em}.company-deck h3{font-size:28px;line-height:1.55}.company-deck p{color:var(--muted);line-height:1.8}.deck-card{display:grid;place-items:center;min-height:270px;color:#1b2525;background:#fff}.deck-card img{width:220px}.deck-card span{font-size:10px}.work-section{padding-bottom:160px}.work-layout{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;margin-top:70px}.work-layout>img{height:550px;object-fit:cover;border-radius:0 28px 28px 0}.work-layout>div{margin-left:-25px;padding:36px 50px;color:#182126;background:var(--light);border-radius:28px}.work-layout a{position:relative;display:block;padding:26px 45px 26px 0;border-bottom:1px solid #b8c0c8}.work-layout a:last-child{border-bottom:0}.work-layout h3{margin:0 0 9px;font-size:19px}.work-layout p{margin:0;color:#5f6870;font-size:12px}.work-layout span{position:absolute;right:0;top:43%;color:#c67d4a}.interview-section{background:#30363c}.interview-intro{display:flex;justify-content:space-between;gap:70px;margin:60px 0}.interview-intro>p{max-width:720px;color:#d4d9dc;line-height:2}.interview-intro>div{display:grid;gap:12px}.story-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(320px,36vw);gap:18px;overflow-x:auto;padding-bottom:22px;scroll-snap-type:x mandatory}.story-rail article{scroll-snap-align:start}.story-rail img{height:330px;object-fit:cover;border-radius:12px}.story-rail span{display:block;margin-top:18px;color:var(--accent);font-size:10px}.story-rail h3{margin:9px 0;font-size:20px;line-height:1.5}.media-section{padding-top:90px}.media-card{padding:70px;border-radius:28px;background:var(--panel)}.media-card>.outline-button{float:right;margin-top:-55px}.media-grid{clear:both;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:70px;border-top:1px solid var(--line)}.media-grid article{min-height:220px;padding:30px 25px;border-right:1px solid var(--line)}.media-grid time{color:var(--muted);font-size:10px}.media-grid h3{margin-top:55px;font-size:15px;line-height:1.8}.faq-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:10vw}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{position:relative;padding:23px 45px 23px 0;cursor:pointer;font-size:13px;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary i,.faq-list summary i::after{position:absolute;right:10px;top:50%;width:14px;height:1px;background:#fff;content:""}.faq-list summary i::after{right:0;top:0;transform:rotate(90deg);transition:.2s}.faq-list details[open] i::after{transform:none}.faq-list details p{margin:0;padding:0 45px 24px 0;color:var(--muted);font-size:12px;line-height:1.9}.positions-section{padding:100px max(28px,9vw);background:#202529}.positions-inner{width:min(1160px,100%);margin:auto}.positions-inner>h2{margin:0;font-size:clamp(56px,7vw,96px)}.positions-inner>p{color:var(--accent)}.position-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:45px}.position-cards article{padding:45px;background:#2b3136}.position-cards span{color:var(--accent);font-size:10px}.position-cards h3{font-size:27px}.position-cards p{min-height:65px;color:#cbd1d5;line-height:1.8}.position-cards dl{border-top:1px solid var(--line)}.position-cards dl div{display:grid;grid-template-columns:100px 1fr;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.position-cards dt{color:var(--muted)}.position-cards dd{margin:0}.position-cards article>a{display:flex;justify-content:space-between;margin-top:30px;padding:17px 20px;color:#202529;background:var(--accent);font-size:12px;font-weight:700}.entry-section{padding:130px 28px;text-align:center;background:#35404a}.entry-inner p{color:var(--accent);letter-spacing:.2em}.entry-inner h2{font-size:clamp(36px,5vw,72px);line-height:1.35}.entry-inner a{display:inline-flex;gap:80px;margin-top:30px;padding:20px 28px;color:#202529;background:var(--accent);font-weight:700}.career-footer{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:70px max(28px,6vw) 30px;background:var(--deep)}.career-footer nav{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;font-size:11px}.career-footer small{grid-column:1/-1;color:#70787e}.reveal{opacity:0;transform:translateY(35px);transition:opacity .8s ease,transform .8s cubic-bezier(.22,1,.36,1)}.reveal.is-visible{opacity:1;transform:none}@media(max-width:900px){.career-header{padding:18px 20px}.career-brand img{width:150px}.career-nav{position:fixed;inset:0;z-index:-1;display:grid;align-content:center;gap:0;padding:90px 30px;background:#202529;opacity:0;pointer-events:none;transition:.3s}.career-nav.is-open{z-index:20;opacity:1;pointer-events:auto}.career-nav a{padding:20px;border-bottom:1px solid var(--line);font-size:16px}.career-menu{position:relative;z-index:21;display:grid;place-content:center;gap:7px;width:48px;height:48px;margin-left:auto;border:0;border-radius:50%;background:#fff}.career-menu i{display:block;width:20px;height:1px;background:#111}.career-hero{height:700px}.career-hero h1{font-size:clamp(52px,14vw,78px)}.job-search-row{grid-template-columns:1fr 1fr}.job-search label{grid-column:1/-1}.career-section{padding:90px 24px}.about-lead{align-items:start;flex-direction:column}.about-visual,.company-deck,.work-layout,.faq-section{grid-template-columns:1fr}.about-visual>img{height:420px}.company-deck{gap:35px}.work-layout>img{height:420px;border-radius:20px}.work-layout>div{margin:-30px 18px 0;padding:25px 28px}.media-card{padding:45px 24px}.media-grid{grid-template-columns:1fr}.media-grid article{min-height:160px;border-right:0;border-bottom:1px solid var(--line)}.position-cards{grid-template-columns:1fr}.career-footer{grid-template-columns:1fr}}@media(max-width:560px){.career-brand span{display:none}.career-hero{min-height:680px;height:100svh}.career-hero>img{object-position:56% center}.career-hero h1{left:22px;top:54%;font-size:clamp(48px,15vw,65px)}.career-hero p{left:24px;bottom:80px}.job-search{padding:26px 18px}.job-search-row{grid-template-columns:1fr}.job-search label{grid-column:auto;align-items:flex-start;flex-direction:column}.job-search-row .search-submit{justify-content:center}.section-title h2{font-size:45px}.about-visual>img{height:300px}.about-links a{min-height:145px;padding:20px}.deck-card{min-height:210px}.interview-intro{flex-direction:column}.story-rail{grid-auto-columns:82vw}.story-rail img{height:260px}.media-card>.outline-button{float:none;margin:30px 0 0}.media-grid{margin-top:40px}.faq-section{gap:45px}.position-cards article{padding:30px 22px}.career-footer nav{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
