:root{--red:#e5252a;--ink:#151515;--paper:#f4f3ef;--line:#deddd7;--muted:#686763;--font:'Noto Sans JP',sans-serif;--latin:'Barlow Condensed',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:#fff;font-family:var(--font);font-size:14px;line-height:1.85}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #2457ce;outline-offset:4px}h1,h2,h3,p{margin:0}button{border:0}img{max-width:100%}[hidden]{display:none!important}.skip{position:fixed;top:-100px;z-index:30;background:white;padding:16px}.skip:focus{top:0}.work-header{height:98px;border-bottom:1px solid var(--line);padding:14px 4.5%;display:flex;align-items:center;justify-content:space-between;background:#fff;position:relative;z-index:10}.work-brand{display:flex;align-items:center;gap:20px}.work-brand img{width:58px;height:64px;object-fit:contain}.work-brand>span{font:800 27px/.95 var(--latin);border-left:1px solid #bbb;padding-left:20px;letter-spacing:.045em}.work-brand small{display:block;font:600 9px/1.7 var(--font);margin-top:8px;letter-spacing:.06em}.work-header nav{display:flex;align-items:center;gap:32px;font-size:12px;font-weight:700}.header-cta{padding:14px 22px;border:1px solid var(--ink)}.header-cta:hover{background:var(--ink);color:#fff}.eyebrow{font:700 13px/1.4 var(--latin);letter-spacing:.13em;color:var(--red);margin-bottom:16px}.primary,.secondary{display:inline-flex;justify-content:space-between;align-items:center;gap:24px;padding:18px 24px;min-height:55px;font-size:13px;font-weight:800;line-height:1.5}.primary{background:var(--red);color:white;border:1px solid var(--red);box-shadow:3px 3px 0 var(--ink)}.primary:hover{background:#bd1118;border-color:#bd1118}.secondary{background:#fff;color:var(--ink);border:1px solid var(--ink);box-shadow:none}.text-link{font-size:12px;font-weight:700;border-bottom:1px solid var(--ink);padding:5px 0;display:inline-block}.jobs-hero{background:var(--paper);display:grid;grid-template-columns:1.1fr 1fr;min-height:475px;overflow:hidden;position:relative;padding:60px 6% 48px}.jobs-hero h1{font-size:clamp(40px,4.5vw,68px);font-weight:900;letter-spacing:-.075em;line-height:1.32;margin-bottom:23px}em{font-style:normal;color:var(--red)}.jobs-hero>div>p:not(.eyebrow){font-size:14px;line-height:2}.hero-textlink{display:inline-flex;gap:40px;margin-top:28px;font-size:12px;font-weight:700;border-bottom:1px solid #aaa;padding-bottom:8px}.jobs-hero-art{position:relative;min-width:0}.jobs-hero-art img{position:absolute;left:-34%;top:-22%;width:150%;height:143%;max-width:none;object-fit:contain;object-position:center;filter:grayscale(1);mix-blend-mode:multiply}.hero-ring{position:absolute;inset:3% -5% 0 5%;border:1px solid #d4d0c8;border-radius:50%;background:radial-gradient(#bab7ae .65px,transparent .8px);background-size:6px 6px}.jobs-hero-art b{position:absolute;left:2%;top:10%;writing-mode:vertical-rl;font-size:22px;font-weight:900;line-height:1.9;letter-spacing:.08em;transform:rotate(4deg)}.hero-index{position:absolute;right:0;bottom:-25px;font:700 12px var(--latin);letter-spacing:.16em}.work-ribbon{display:flex;align-items:center;justify-content:center;gap:30px;background:var(--ink);color:#fff;padding:16px 5%;font-size:12px;font-weight:700}.work-ribbon i{font-style:normal;color:#e95050}.work-ribbon a{margin-left:auto;font-size:10px}.search-section{padding:66px 5% 75px;max-width:1500px;margin:auto}.section-intro{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:34px}.section-intro h2{font-size:32px;font-weight:900;letter-spacing:-.035em}.section-intro h2 span{font-size:12px;font-weight:500;margin-left:15px;letter-spacing:0}.section-intro>p{font-size:12px;color:var(--muted)}.section-intro .eyebrow{margin-bottom:7px}.search-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:34px}.filter-panel{align-self:start;background:var(--paper);border-top:3px solid var(--ink)}.filter-panel form{padding:23px 21px}.filter-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.filter-title h3{font-size:14px}.filter-title button{font-size:10px;border:0;background:none;text-decoration:underline;color:var(--muted)}label{display:block;font-size:12px;font-weight:700;margin-bottom:20px}label input:not([type=checkbox]),label select,label textarea{display:block;width:100%;margin-top:8px;border:1px solid #c6c4bd;background:#fff;padding:12px;font-size:13px;border-radius:0;min-width:0}label textarea{resize:vertical;min-height:108px}label input:focus,label select:focus,label textarea:focus{border-color:var(--ink)}label b{font-size:9px;color:var(--red);font-weight:500;margin-left:10px}.filter-panel .primary{width:100%;padding:16px 15px;font-size:12px}.filter-consult{background:#eae8e1;border-top:1px solid #d7d4ca;padding:23px 21px;font-size:12px}.filter-consult a{font-weight:800;color:var(--red);display:block;margin-top:8px}.results-heading{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:18px;border-bottom:1px solid var(--ink);margin-bottom:22px}.results-heading strong{font:700 38px/1 var(--latin);margin-right:9px}.results-heading p{font-size:12px}.results-heading small{font-size:10px;color:var(--muted)}#result-range{font-size:10px;color:var(--muted);margin-left:15px}.active-filters{display:flex;flex-wrap:wrap;gap:6px}.active-filters span{background:#f0efeb;font-size:10px;padding:5px 10px;margin-bottom:15px}.job-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.job-card{border:1px solid var(--line);padding:25px 23px;background:#fff;display:flex;flex-direction:column;transition:border-color .2s,box-shadow .2s;min-height:345px}.job-card:hover{border-color:var(--ink);box-shadow:3px 3px 0 #ddd}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:10px}.job-code{font:600 11px var(--latin);color:var(--muted);letter-spacing:.07em}.chips{display:flex;flex-wrap:wrap;gap:5px}.chip{font-size:10px;line-height:1.5;padding:4px 8px;background:#f1f0ec;font-weight:600}.chip.red{color:var(--red);background:#fdf0ef}.job-card h3{font-size:19px;font-weight:800;line-height:1.65;letter-spacing:-.025em;margin:13px 0 12px}.job-card .summary{font-size:11px;color:var(--muted);line-height:1.9;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-facts{margin:20px 0 16px;border-top:1px solid #eee;padding-top:16px;display:grid;gap:6px}.card-facts>div{display:flex;gap:14px;align-items:baseline}.card-facts dt{font-size:10px;color:var(--muted);min-width:29px}.card-facts dd{margin:0;font-size:12px;font-weight:600}.card-facts strong{font:700 24px var(--latin);color:var(--red);letter-spacing:.01em}.tags{display:flex;flex-wrap:wrap;gap:5px}.tags span{padding:3px 7px;background:#f7f6f2;font-size:9px;color:#686763;border:1px solid #ebe9e2}.card-bottom{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:800;border-top:1px solid #e5e3dd;padding-top:15px;margin-top:auto}.card-bottom a{display:flex;justify-content:space-between;width:100%;align-items:center}.card-bottom span{color:var(--red);font-size:22px}.card-tags{margin-bottom:20px}.pagination{display:flex;justify-content:center;gap:8px;margin:28px 0}.pagination button,.pagination a{padding:9px 14px;border:1px solid #ddd;background:white;font-size:12px}.pagination .current{background:var(--ink);color:white}.skeleton{background:linear-gradient(110deg,#f1f0ec,#fff,#f1f0ec);min-height:340px;border:1px solid #eee}.empty{grid-column:1/-1;padding:65px 20px;text-align:center;border:1px solid var(--line);background:var(--paper)}.empty h2{font-size:21px;margin-bottom:13px}.empty p{color:var(--muted);font-size:12px;margin:12px 0 24px}.standalone{max-width:900px;margin:80px auto}.consult-banner{background:var(--paper);padding:64px 5%;text-align:center;border-top:1px solid #deddd8;background-image:radial-gradient(#bdbbb0 .5px,transparent .7px);background-size:6px 6px}.consult-banner h2{font-size:32px;line-height:1.7;font-weight:900}.consult-banner>p:not(.eyebrow){font-size:13px;margin:15px 0 25px}.consult-banner .primary{margin-right:20px;min-width:255px}.work-footer{background:#171717;color:#fff;padding:42px 5% 30px;display:flex;justify-content:space-between;align-items:center;gap:25px;flex-wrap:wrap}.footer-wordmark{font-size:24px;letter-spacing:.07em}.footer-wordmark span{font:600 17px var(--latin);margin-left:15px}.work-footer>div{display:flex;gap:25px;font-size:10px}.work-footer small{width:100%;font-size:9px;color:#aaa;border-top:1px solid #444;padding-top:22px}.notice{font-size:12px;padding:16px 20px;background:#fff4d7;border:1px solid #e6d5a7;line-height:1.9}.error-message{padding:16px 20px;border:1px solid #dd9898;background:#fff1f1;color:#951b1b;font-size:13px;margin:15px 0}.detail-main{max-width:1200px;padding:28px 5% 60px;margin:auto}.breadcrumb{font-size:11px;color:var(--muted);display:flex;gap:15px;margin-bottom:40px}.detail-top{display:grid;grid-template-columns:1fr 280px;gap:55px;border-bottom:2px solid var(--ink);padding-bottom:38px}.detail-top h1{font-size:32px;font-weight:900;line-height:1.7;margin:20px 0}.detail-summary{font-size:14px;white-space:pre-line}.detail-top .tags{margin-top:24px}.updated{color:var(--muted);font-size:10px;margin-top:22px}.apply-card{padding:25px;background:var(--paper);border-top:4px solid var(--red);align-self:start}.apply-card small{font-size:12px}.apply-card strong{display:block;font:700 40px var(--latin);margin-bottom:18px;white-space:nowrap}.apply-card strong em{font:700 16px var(--font);color:var(--ink);margin-left:5px}.apply-card p{font-size:12px;margin-bottom:22px}.apply-card .primary{width:100%;padding:16px;font-size:12px}.apply-card .text-link{display:block;font-size:10px;text-align:center;margin-top:20px}.detail-columns{display:grid;grid-template-columns:1fr 280px;gap:55px}.detail-section{padding:40px 0;border-bottom:1px solid var(--line)}.detail-section h2{font-size:25px;margin-bottom:22px;font-weight:900}.detail-section .eyebrow{margin-bottom:12px}.multiline{white-space:pre-line;overflow-wrap:anywhere}.detail-note{margin-top:40px;background:var(--paper);padding:28px;align-self:start}.detail-note h3{font-size:20px;line-height:1.8}.detail-note p{font-size:12px;margin:17px 0}.detail-note a{display:block;font-size:11px;font-weight:700;padding:16px 0;border-top:1px solid #ccc}.big-arrow{font:600 66px var(--latin);color:var(--red);display:block;line-height:1}.conditions{margin:0;font-size:12px}.conditions>div{display:grid;grid-template-columns:170px 1fr;border-top:1px solid var(--line)}.conditions dt{background:var(--paper);padding:19px;font-weight:700}.conditions dd{margin:0;padding:19px}.bottom-apply{display:flex;justify-content:space-between;align-items:center;background:var(--paper);padding:30px;margin-top:40px;gap:20px}.bottom-apply small{font:700 12px var(--latin);color:var(--red);letter-spacing:.1em}.bottom-apply h2{font-size:21px;margin-top:8px}.entry-shell{background:var(--paper);padding:60px 6% 80px;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.entry-intro h1{font-size:50px;letter-spacing:-.06em;font-weight:900;line-height:1.5;margin:18px 0 25px}.entry-intro>p:not(.eyebrow){font-size:13px;line-height:2.1}.entry-steps{list-style:none;padding:0;margin:44px 0;max-width:270px}.entry-steps li{padding:14px 0;border-bottom:1px solid #d5d2c9;color:#78756e;font:600 22px var(--latin)}.entry-steps span{font:600 12px var(--font);margin-left:20px}.entry-steps .current{color:var(--red)}.entry-card{padding:34px;background:white;border:1px solid #dedcd5;box-shadow:6px 6px 0 #e0ddd4;min-width:0}.entry-context{font-size:17px;line-height:1.7;font-weight:800;border-bottom:2px solid var(--ink);padding-bottom:22px;margin-bottom:24px}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-columns.three{grid-template-columns:1fr 1fr 1fr}.form-columns>label{min-width:0}.consent{display:flex;align-items:center;gap:12px;font-weight:500;line-height:1.7}.consent input{width:18px;height:18px;flex-shrink:0;accent-color:var(--red)}.consent a{text-decoration:underline}.entry-card .primary{width:100%;margin-top:20px}.form-help{font-size:10px;color:var(--muted);margin:17px 0}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(100%)}.application-success{text-align:center;padding:20px 0}.application-success>span{border:2px solid var(--red);color:var(--red);border-radius:50%;display:inline-grid;place-items:center;width:64px;height:64px;font-size:30px;margin-bottom:30px}.application-success h2{font-size:22px;margin-bottom:20px}.application-success p{font-size:12px;margin:14px 0;overflow-wrap:anywhere}.policy{max-width:820px;margin:0 auto;padding:60px 25px}.policy h1{font-size:30px;line-height:1.7;margin-bottom:30px}.policy h2{font-size:19px;border-top:1px solid #ddd;padding-top:25px;margin:30px 0 14px}.policy a{text-decoration:underline}.policy p{font-size:13px;line-height:2}
@media(max-width:1100px){.job-grid{grid-template-columns:1fr}.job-card{min-height:300px}.work-header nav{gap:20px}.search-layout{grid-template-columns:225px minmax(0,1fr);gap:25px}.entry-shell{gap:35px}.detail-top,.detail-columns{gap:30px}.detail-top h1{font-size:27px}}
@media(max-width:700px){html{scroll-padding-top:20px}.work-header{height:80px;padding:10px 5%}.work-brand{gap:10px}.work-brand img{width:43px;height:49px}.work-brand>span{font-size:22px;padding-left:12px}.work-brand small{font-size:7px;margin-top:6px}.work-header nav{gap:14px;font-size:10px}.work-header nav>a:nth-child(2){display:none}.header-cta{padding:9px 10px;font-size:9px}.jobs-hero{min-height:460px;padding:40px 6% 30px;display:block}.jobs-hero>div:first-child{position:relative;z-index:2}.jobs-hero h1{font-size:42px;margin-bottom:23px}.jobs-hero>div>p:not(.eyebrow){font-size:12px}.jobs-hero-art{position:absolute;inset:155px 0 0 36%;opacity:.4;pointer-events:none}.jobs-hero-art img{top:-5%;left:-37%;height:112%;width:150%}.jobs-hero-art b{display:none}.hero-index{bottom:16px;right:10px;font-size:10px}.hero-ring{inset:10% -45% 0 -10%}.hero-textlink{font-size:11px;margin-top:32px}.work-ribbon{gap:12px;font-size:10px;padding:14px 4%}.work-ribbon a{display:none}.search-section{padding:38px 5% 45px}.section-intro{margin-bottom:25px}.section-intro h2{font-size:27px}.section-intro h2 span{font-size:10px;display:block;margin:5px 0 0}.section-intro>p{font-size:10px}.search-layout{display:block}.filter-panel{margin-bottom:30px}.filter-panel form{display:grid;grid-template-columns:1fr 1fr;gap:10px 13px;padding:18px}.filter-title{grid-column:1/-1;margin-bottom:8px}.filter-panel label{margin-bottom:0;font-size:11px}.filter-panel label:first-of-type{grid-column:1/-1}.filter-panel input,.filter-panel select{font-size:12px;padding:11px 8px}.filter-panel .primary{grid-column:1/-1;margin-top:8px}.filter-consult{display:none}.job-card{padding:23px;min-height:340px}.job-card h3{font-size:20px}.job-grid{gap:15px}.consult-banner{padding:42px 6%}.consult-banner h2{font-size:24px}.consult-banner .primary{margin:0 0 22px}.consult-banner .text-link{display:block;width:max-content;margin:auto}.work-footer{padding:35px 6%}.work-footer>div{gap:15px;flex-wrap:wrap;font-size:9px}.detail-main{padding:20px 5% 45px}.breadcrumb{margin-bottom:28px;font-size:10px}.detail-top,.detail-columns{display:block}.detail-top h1{font-size:26px}.apply-card{margin-top:28px}.detail-note{display:none}.detail-section h2{font-size:23px}.conditions>div{grid-template-columns:110px 1fr}.conditions dt,.conditions dd{padding:15px 10px;font-size:11px}.bottom-apply{display:block;padding:25px}.bottom-apply h2{font-size:19px}.bottom-apply .primary{width:100%;margin-top:20px}.entry-shell{display:block;padding:36px 5% 50px}.entry-intro h1{font-size:38px;margin:14px 0 18px}.entry-intro>p:not(.eyebrow){font-size:12px}.entry-steps{display:flex;gap:14px;max-width:none;margin:25px 0}.entry-steps li{font-size:18px;border:0}.entry-steps span{display:block;font-size:9px;margin:5px 0}.entry-card{padding:24px 18px}.form-columns{grid-template-columns:1fr;gap:0}.form-columns.three{grid-template-columns:1fr}.policy h1{font-size:24px}.policy{padding-top:40px}.notice{font-size:11px;padding:12px 15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
