@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600&family=Noto+Sans+JP:wght@400;500;600;700&display=swap');
:root{--ink:#292e34;--muted:#626972;--red:#ad353b;--paper:#f3f4f5;--line:#d9dde0;--font:'Noto Sans JP',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:#fff;font:16px/1.85 var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}small{font-size:.875rem}.wrap{max-width:1200px;margin:auto;padding-inline:44px}.eyebrow{font:500 1rem 'Barlow Condensed',sans-serif;letter-spacing:.16em;text-transform:uppercase;display:block;color:var(--muted);margin-bottom:20px}.eyebrow:before{content:'';display:inline-block;background:var(--red);width:24px;height:1px;vertical-align:middle;margin-right:12px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:13px 28px;border:1px solid var(--ink);border-radius:5px;font-size:.9375rem;font-weight:500;background:var(--ink);color:#fff;transition:background .2s,transform .2s}.btn:hover{background:#41484f;transform:translateY(-2px)}.btn.light{color:var(--ink);background:#fff;border-color:var(--line)}.btn.light:hover{background:var(--paper)}.btn.red{background:var(--red);border-color:var(--red)}.btn.red:hover{background:#91282e}.actions{display:flex;gap:12px;flex-wrap:wrap}.header{height:88px;position:sticky;top:0;z-index:30;background:#ffffffed;border-bottom:1px solid var(--line);backdrop-filter:blur(15px)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{width:265px;height:auto}.brand{display:flex;align-items:center;gap:22px}.brand span{border-left:1px solid var(--line);padding-left:18px;font:500 .875rem 'Barlow Condensed',sans-serif;letter-spacing:.13em}.nav{display:flex;align-items:center;gap:30px;font-size:.875rem}.nav a:not(.btn):hover{color:var(--red)}.nav .btn{min-height:43px;padding:8px 22px}.hero{background:var(--paper);padding-top:62px;overflow:hidden}.hero-layout{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:60px;padding-bottom:55px}.hero h1{font-size:clamp(32px,3.8vw,53px);font-weight:500;letter-spacing:.055em;line-height:1.6;margin:25px 0}.hero h1 em{font-style:normal;position:relative}.hero h1 em:after{content:'';position:absolute;bottom:-7px;left:0;width:100%;height:2px;background:var(--red)}.hero-copy>p{font-size:1rem;line-height:2.1;color:var(--muted);margin:30px 0}.hero .eyebrow{margin-bottom:14px}.hero-kicker{display:inline-block;padding:5px 13px;border:1px solid #c5cbd0;border-radius:3px;font-size:.875rem}.hero-note{font-size:.875rem;color:var(--muted);margin-top:12px}.hero-art{position:relative;min-height:440px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:260px 160px;gap:12px;transform:rotate(-2deg)}.hero-art figure{margin:0;overflow:hidden;position:relative;border-radius:4px}.hero-art figure:first-child{grid-column:1/3}.hero-art img{width:100%;height:100%;object-fit:cover}.hero-art figcaption{position:absolute;bottom:15px;left:20px;color:white;font-size:.875rem;z-index:2}.hero-art figure:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0008)}.hero-art .photo-num{position:absolute;top:14px;left:18px;font:1.5rem 'Barlow Condensed';color:white;z-index:2}.hero-ribbon{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);padding:25px 0}.hero-ribbon>div{padding:0 28px;border-right:1px solid var(--line);display:flex;align-items:center;gap:17px}.hero-ribbon>div:first-child{padding-left:0}.hero-ribbon>div:last-child{border:0}.hero-ribbon b{font:500 2.5rem 'Barlow Condensed';white-space:nowrap}.hero-ribbon span{font-size:.875rem;line-height:1.7}.section{padding:100px 0}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:38px}.section-head h2,.intro-copy h2{font-size:clamp(26px,2.5vw,36px);font-weight:500;line-height:1.65;letter-spacing:.04em}.section-head p{color:var(--muted);font-size:.9375rem}.section-head .eyebrow{margin-bottom:12px}.intro-grid{display:grid;grid-template-columns:.95fr 1.25fr;gap:70px}.intro-copy>p{color:var(--muted);margin-top:25px}.reasons{display:grid;grid-template-columns:1fr 1fr;gap:28px}.reason{border-top:1px solid var(--line);padding-top:21px}.reason .number{font:1.25rem 'Barlow Condensed';color:var(--red)}.reason h3{font-size:1.125rem;font-weight:500;margin:11px 0}.reason p{font-size:.9375rem;color:var(--muted);line-height:1.9}.jobs-section{background:var(--paper)}.filter{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}.filter button{border:1px solid #cdd1d5;border-radius:30px;background:#fff;color:var(--ink);padding:10px 22px;font-size:.9375rem;min-height:45px}.filter button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.job-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.job{background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden;display:flex;flex-direction:column}.job[hidden]{display:none}.job-top{display:grid;grid-template-columns:1fr 150px;gap:18px;padding:28px 28px 0}.job-top img{height:115px;width:150px;object-fit:cover;border-radius:4px}.job-category{font-size:.875rem;color:var(--muted);display:flex;align-items:center;gap:8px;margin-bottom:11px}.badge{font-size:.8125rem;border:1px solid var(--line);padding:1px 9px;border-radius:3px;color:var(--ink)}.job h3{font-weight:500;font-size:1.3125rem;line-height:1.65;letter-spacing:.025em}.job .sub{font-size:.875rem;color:var(--muted)}.job-content{padding:18px 28px 28px;display:flex;flex-direction:column;flex:1}.pay{font-size:.875rem;color:var(--muted);margin:5px 0 15px}.pay strong{font:500 2.7rem 'Barlow Condensed';color:var(--ink);letter-spacing:.025em;margin:0 7px}.pay b{font-size:1rem;font-weight:500;color:var(--ink)}.job-desc{font-size:.9375rem;color:var(--muted);min-height:58px;margin-bottom:20px}.quick-facts{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--line);padding:14px 0;gap:10px;font-size:.875rem;margin-bottom:20px}.quick-facts label{display:block;color:var(--muted);font-size:.8125rem}.quick-facts span{display:block}.job details{margin-bottom:22px}.job summary{cursor:pointer;font-size:.875rem;display:flex;justify-content:space-between;padding:9px 0}.job summary:after{content:'＋';font-size:1.125rem}.job details[open] summary:after{content:'−'}.job dl{margin:0}.job dl>div{display:grid;grid-template-columns:92px 1fr;border-top:1px solid #e6e8ea;padding:11px 0;font-size:.875rem;gap:12px}.job dt{color:var(--muted)}.job dd{margin:0}.job dd small{display:block;font-size:.8125rem}.job .actions{margin-top:auto}.job .btn{flex:1;font-size:.875rem;padding:10px 14px;min-height:48px}.conditions-note{color:var(--muted);font-size:.875rem;margin-top:25px}.count{font-size:.875rem;margin-left:auto;align-self:center;color:var(--muted)}.soft-banner{margin-top:36px;background:#e6e9ec;border-radius:5px;padding:27px 32px;display:flex;justify-content:space-between;align-items:center;gap:28px}.soft-banner h3{font-weight:500;font-size:1.25rem}.soft-banner p{font-size:.9375rem;color:var(--muted);margin-top:6px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.step{padding-top:22px;border-top:1px solid var(--line)}.step>span{font:2.5rem 'Barlow Condensed';color:#a1a8ae}.step h3{font-weight:500;font-size:1.1875rem;margin:16px 0 10px}.step p{color:var(--muted);font-size:.9375rem}.faq-wrap{margin-top:80px;display:grid;grid-template-columns:.55fr 1fr;gap:50px}.faq-title h2{font-size:1.625rem;font-weight:500}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:25px;padding:22px 0;font-size:1rem}.faq summary:after{content:'＋';color:var(--red)}.faq details[open] summary:after{content:'−'}.faq p{color:var(--muted);padding:0 22px 25px 0;font-size:.9375rem}.entry{background:#e9ebed}.entry-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.entry-intro h2{font-weight:500;font-size:clamp(28px,3vw,38px);letter-spacing:.04em;line-height:1.7}.entry-intro>p{color:var(--muted);margin:25px 0}.contact-phone{margin-top:38px;border-top:1px solid #c7cdd2;padding-top:28px}.contact-phone>span{display:block;font-size:.875rem;color:var(--muted)}.contact-phone>a{font:500 2.5rem 'Barlow Condensed';letter-spacing:.05em}.email-link{font-size:.9375rem;display:block;margin-top:18px;text-decoration:underline;text-underline-offset:5px}.form{background:#fff;padding:38px;border-radius:8px;border:1px solid var(--line)}.form-top{font-size:1.25rem;font-weight:500;margin-bottom:6px}.form>p{font-size:.875rem;color:var(--muted);margin-bottom:25px}.field{margin-bottom:21px}.field label{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:.9375rem}.required{font-size:.75rem;color:var(--red)}.field input,.field select,.field textarea{width:100%;background:#f7f8f9;border:1px solid #d6dce0;border-radius:4px;padding:12px 14px;color:var(--ink);font-size:1rem;min-height:49px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #aeb8c2;outline-offset:2px}.field textarea{resize:vertical;min-height:125px;line-height:1.8}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.consent{font-size:.875rem;display:flex;gap:10px;align-items:flex-start;margin:20px 0}.consent input{width:19px;height:19px;flex-shrink:0;margin-top:4px;accent-color:var(--ink)}.consent a{text-decoration:underline}.form .btn{width:100%;border:0}.form-foot{font-size:.8125rem;color:var(--muted);margin-top:12px;line-height:1.8}.trap{position:absolute;left:-9999px}.footer{padding:50px 0 105px;background:#30363c;color:#e2e5e8}.footer-grid{display:flex;justify-content:space-between;gap:35px}.footer img{width:265px;filter:invert(1) hue-rotate(180deg);mix-blend-mode:screen;margin-bottom:22px}.footer address{font-style:normal;font-size:.875rem;line-height:1.9;color:#c1c7cd}.footer-links{display:flex;gap:30px;align-items:flex-start;font-size:.875rem}.copyright{font-size:.75rem;color:#b2bac2;margin-top:35px}.sticky{position:fixed;bottom:20px;right:30px;z-index:35;display:flex;align-items:center;gap:18px;background:#fff;padding:10px 11px 10px 20px;box-shadow:0 5px 30px #26344326;border:1px solid var(--line);border-radius:7px}.sticky span{font-size:.875rem}.sticky .btn{min-height:44px;padding:9px 25px}.opening{position:fixed;inset:0;z-index:100;background:#a5a9ad;display:grid;place-items:center;overflow:hidden;animation:none}.opening-emblem{width:min(280px,58vw);position:relative}.logo-construction{width:100%;height:auto;display:block;overflow:visible;filter:invert(1) hue-rotate(180deg);mix-blend-mode:screen}.logo-red-layer{filter:none;mix-blend-mode:normal;pointer-events:none;position:absolute;inset:0}.logo-draw{stroke-dasharray:1;stroke-dashoffset:1;animation:logo-trace 1.15s cubic-bezier(.4,0,.25,1) .1s forwards}.logo-draw-a{animation-duration:.85s;animation-delay:.65s}.logo-draw-g{animation-duration:.72s;animation-delay:1.13s}.logo-draw-accent{animation-duration:.4s;animation-delay:1.7s}.logo-wordmark{clip-path:inset(0 100% 0 0);animation:logo-uncover .55s cubic-bezier(.3,0,.2,1) 1.95s forwards}.logo-rule{clip-path:inset(0 50%);animation:logo-uncover .5s 2.15s forwards}.logo-complete{opacity:0;animation:logo-finish .45s ease-out 2.35s forwards}.opening-skip{position:absolute;right:30px;bottom:30px;background:none;border:0;color:#fff;letter-spacing:.08em;font-size:.875rem;padding:12px}.opening[data-phase=leaving]{pointer-events:none;animation:opening-fade .65s cubic-bezier(.2,.65,.3,1) both}@keyframes logo-trace{to{stroke-dashoffset:0}}@keyframes logo-uncover{to{clip-path:inset(0)}}@keyframes logo-finish{to{opacity:1}}@keyframes opening-fade{to{opacity:0}}.reveal{opacity:1;transform:none}.js-motion .reveal{opacity:0;transform:translateY(22px);transition:opacity .65s,transform .65s}.js-motion .reveal.visible{opacity:1;transform:none}
@media(min-width:1500px){.hero-art{min-height:485px;grid-template-rows:290px 180px}.hero-layout{padding-bottom:68px}.hero{padding-top:80px}}
@media(max-width:1000px){.wrap{padding-inline:28px}.brand img{width:220px}.brand span{display:none}.nav{gap:18px}.hero-layout{gap:30px}.hero-art{grid-template-rows:230px 150px;min-height:390px}.hero h1{font-size:36px}.intro-grid{gap:40px}.entry-layout{gap:35px}.job-top{grid-template-columns:1fr 110px;padding:22px 22px 0}.job-top img{width:110px;height:110px}.job-content{padding:15px 22px 24px}.job h3{font-size:1.125rem}.form{padding:28px}}
@media(max-width:740px){html{scroll-padding-top:78px}.wrap{padding-inline:22px}.header{height:70px}.brand img{width:205px}.nav>a:not(.btn){display:none}.nav .btn{padding:8px 13px;min-height:40px;font-size:.8125rem}.header-inner{gap:12px}.hero{padding-top:37px}.hero-layout{display:flex;flex-direction:column;gap:30px;padding-bottom:30px}.hero-copy{width:100%}.hero h1{font-size:clamp(29px,7.7vw,42px);margin:20px 0;line-height:1.65;letter-spacing:.035em}.hero-copy>p{margin:23px 0;line-height:2;font-size:.9375rem}.hero-kicker{font-size:.8125rem}.hero-art{width:100%;min-height:320px;grid-template-rows:190px 120px;gap:9px;transform:rotate(-1deg)}.hero .actions .btn{flex:1;padding:12px 8px}.hero-art figcaption{left:14px;bottom:10px}.hero-ribbon{padding:18px 0}.hero-ribbon>div{padding:0 10px;display:block;line-height:1.5}.hero-ribbon b{font-size:1.75rem;display:block}.hero-ribbon span{font-size:.75rem;display:block;margin-top:6px}.section{padding:65px 0}.section-head{display:block;margin-bottom:28px}.section-head h2,.intro-copy h2{font-size:27px}.section-head p{margin-top:18px;font-size:.9375rem}.intro-grid{grid-template-columns:1fr;gap:32px}.intro-copy>p{font-size:.9375rem;margin-top:20px}.reasons{gap:24px 18px}.reason h3{font-size:1rem}.reason p{font-size:.875rem}.filter{gap:8px}.filter button{padding:9px 16px;font-size:.875rem;min-height:42px}.count{font-size:.8125rem}.job-grid{grid-template-columns:1fr;gap:20px}.job-top{grid-template-columns:1fr 108px;gap:13px}.job h3{font-size:1.125rem}.pay strong{font-size:2.65rem}.job-desc{min-height:0}.job dl>div{grid-template-columns:85px 1fr}.soft-banner{display:block;padding:25px 22px}.soft-banner h3{font-size:1.125rem}.soft-banner .btn{margin-top:20px;width:100%}.steps{grid-template-columns:1fr;gap:28px}.step{display:grid;grid-template-columns:40px 1fr;gap:0 15px}.step>span{grid-row:1/3;font-size:2rem}.step h3{margin:2px 0 8px}.faq-wrap{margin-top:50px;grid-template-columns:1fr;gap:25px}.faq summary{font-size:.9375rem}.entry-layout{grid-template-columns:1fr;gap:35px}.entry-intro h2{font-size:29px}.entry-intro>p{font-size:.9375rem}.contact-phone{margin-top:25px;padding-top:20px}.form{padding:26px 20px}.two-fields{grid-template-columns:1fr;gap:0}.footer-grid{display:block}.footer-links{margin-top:25px;gap:18px;flex-wrap:wrap}.footer{padding-bottom:115px}.sticky{bottom:0;left:0;right:0;border-radius:0;padding:11px 18px max(11px,env(safe-area-inset-bottom));gap:12px}.sticky span{font-size:.8125rem;flex:1}.sticky .btn{flex:1;padding:10px 15px;font-size:.875rem;min-height:46px}.opening-skip{right:18px;bottom:max(24px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.opening{display:none}.js-motion .reveal{opacity:1;transform:none}}

/* Revised photography, typography and brand proportions. */
.footer img{width:265px;max-width:100%;height:auto;aspect-ratio:1562/262;object-fit:contain;object-position:left center}
.hero-v2{position:relative;padding-top:0;background:#1d2931;isolation:isolate;overflow:hidden}
.hero-visual{position:absolute;inset:0 0 104px;z-index:-2;background:#1d2931}
.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#1b2730f5 0%,#1b2730e6 24%,#1b2730b8 43%,#1b27302b 70%),linear-gradient(0deg,#18272d9e,transparent 40%)}
.hero-slide{width:100%;height:100%;object-fit:cover;object-position:center 57%;display:block;animation:photo-appear .5s ease both}
.hero-slide[hidden]{display:none}
.hero-main{min-height:600px;padding-top:80px;padding-bottom:72px;position:relative;display:flex;align-items:center;color:white}
.hero-v2 .hero-copy{max-width:650px;width:65%}
.hero-v2 .eyebrow{color:#d0d6db;letter-spacing:.19em;font-size:.9375rem;margin-bottom:29px}
.hero-v2 .eyebrow:before{background:#d67176}
.hero-v2 h1{font-family:'Noto Serif JP','Yu Mincho','Hiragino Mincho ProN',serif;font-size:clamp(36px,4.15vw,59px);line-height:1.6;letter-spacing:.07em;font-weight:400;margin:0 0 28px;text-shadow:0 2px 15px #12202a15}
.hero-v2 h1 span{border-bottom:1px solid #dc979b;padding-bottom:5px}
.hero-v2 .hero-copy>p{color:#e1e6ea;font-size:1rem;line-height:2.15;margin:28px 0 33px;letter-spacing:.035em}
.hero-v2 .actions{align-items:center;gap:26px}
.hero-v2 .btn{background:white;border-color:white;color:#28343d;border-radius:2px;padding:16px 25px;font-size:.9375rem}
.hero-v2 .btn:hover{background:#e8edef}
.hero-consult{font-size:.9375rem;border-bottom:1px solid #ffffff65;padding:7px 0}
.hero-consult:hover{border-color:#fff}
.hero-v2 .hero-note{color:#d8dee3;font-size:.8125rem;margin-top:22px;letter-spacing:.055em}
.hero-photo-control{position:absolute;right:44px;bottom:54px;max-width:390px}
.photo-caption{display:flex;gap:17px;align-items:center;margin-bottom:24px;color:#fff}
.photo-caption b{font:400 3rem 'Barlow Condensed',sans-serif;opacity:.8;line-height:1}
.photo-caption>span{font-family:'Noto Serif JP','Yu Mincho',serif;font-size:1.125rem;letter-spacing:.06em;line-height:1.7}
.photo-caption small{display:block;font:400 .75rem var(--font);letter-spacing:.08em;margin-top:8px;color:#e0e7ec}
.photo-tabs{display:flex;gap:0;background:#1a273250;border:1px solid #ffffff70;backdrop-filter:blur(12px)}
.photo-tabs button{background:none;border:0;color:#fff;padding:11px 21px;font-size:.875rem;border-right:1px solid #ffffff50;min-height:45px}
.photo-tabs button:last-child{border-right:0}
.photo-tabs button[aria-pressed=true]{background:#fff;color:#29343d}
.hero-overview{background:#f2f4f5;border-bottom:1px solid var(--line)}
.overview-inner{min-height:104px;display:grid;grid-template-columns:1fr 1fr 1.25fr 1.4fr;align-items:center}
.overview-inner>div{border-right:1px solid #d5dade;padding-left:26px}
.overview-inner>div:first-child{padding-left:0}
.overview-inner>div>span{font-size:.8125rem;color:var(--muted);display:block;margin-bottom:4px}
.overview-inner b{font:500 2rem 'Barlow Condensed',sans-serif;letter-spacing:.03em;line-height:1.3}
.overview-inner b small{font:400 .875rem var(--font);margin-left:7px}
.overview-inner b.overview-jp{font:500 1.125rem var(--font)}
.overview-inner>a{text-align:right;font-size:.875rem;text-decoration:underline;text-underline-offset:6px}
.section-head h2,.intro-copy h2,.entry-intro h2{font-family:'Noto Serif JP','Yu Mincho','Hiragino Mincho ProN',serif;font-weight:400;letter-spacing:.045em}
@keyframes photo-appear{from{opacity:.7;transform:scale(1.015)}to{opacity:1;transform:scale(1)}}
@media(max-width:1000px){.hero-v2 h1{font-size:42px}.hero-v2 .hero-copy{width:72%}.hero-main{min-height:585px;padding-top:60px;padding-bottom:135px}.hero-photo-control{right:28px;bottom:30px}.photo-caption{display:none}.overview-inner>div{padding-left:18px}.overview-inner>a{font-size:.8125rem}}
@media(max-width:740px){.hero-main{min-height:665px;padding-top:43px;padding-bottom:195px;align-items:flex-start}.hero-v2 .hero-copy{width:100%;max-width:none}.hero-v2 .eyebrow{margin-bottom:26px;font-size:.8125rem}.hero-v2 h1{font-size:clamp(32px,8.4vw,43px);line-height:1.65;letter-spacing:.055em;margin-bottom:22px}.hero-v2 .hero-copy>p{font-size:.9375rem;line-height:2.05;margin:24px 0 28px}.hero-v2 .actions{gap:19px;flex-wrap:wrap;align-items:flex-start}.hero-v2 .actions .btn{flex:none;padding:14px 19px;font-size:.875rem}.hero-consult{font-size:.875rem}.hero-v2 .hero-note{font-size:.75rem;margin-top:17px}.hero-visual{inset:0 0 153px}.hero-slide{object-position:63% center}.hero-visual:after{background:linear-gradient(90deg,#1b2730e6 0%,#1b2730b0 63%,#1b273062),linear-gradient(0deg,#15232e82,transparent 40%)}.hero-photo-control{bottom:29px;left:22px;right:22px;max-width:none;display:flex;justify-content:space-between;align-items:flex-end;gap:15px}.photo-caption{display:flex;margin:0;gap:12px}.photo-caption b{font-size:2rem}.photo-caption>span{font-size:.9375rem}.photo-caption small{font-size:.6875rem;letter-spacing:.01em;margin-top:6px;max-width:190px;line-height:1.6}.photo-tabs button{font-size:.8125rem;padding:8px 10px;min-height:42px}.overview-inner{min-height:153px;grid-template-columns:.75fr 1fr 1.2fr;gap:0;padding-block:20px 16px}.overview-inner>div{padding-left:13px}.overview-inner>div>span{font-size:.75rem}.overview-inner b{font-size:1.7rem}.overview-inner b small{font-size:.75rem;margin-left:3px}.overview-inner b.overview-jp{font-size:.8125rem;line-height:1.6;display:block}.overview-inner>div:last-of-type{border-right:0}.overview-inner>a{grid-column:1/-1;text-align:center;margin-top:15px;font-size:.8125rem}.footer img{width:245px;height:auto}}
@media(max-width:400px){.hero-photo-control{display:block}.photo-caption{margin-bottom:15px}.photo-tabs{width:max-content}.hero-main{min-height:720px}.hero-v2 .actions{display:block}.hero-consult{display:inline-block;margin-top:17px}}

/* Align the visible mark, excluding the original logo file's inner whitespace. */
.footer img{--footer-logo-width:265px;width:var(--footer-logo-width);margin-left:calc(var(--footer-logo-width) * -87 / 1562);height:auto}
.hero-slide{position:absolute;inset:0;opacity:0;transform:scale(1.025);animation:none;transition:opacity 1.1s ease,transform 6s ease;pointer-events:none}
.hero-slide.active{opacity:1;transform:scale(1)}
.photo-tabs .photo-pause{border-left:1px solid #ffffff50;background:#13212b75;color:white;font-size:.75rem;padding-inline:12px}
.film-section{background:#fff;padding:0 0 90px}
.film-wrap{max-width:1088px}
.film-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:30px}
.film-heading .eyebrow{margin-bottom:13px}
.film-heading h2{font:400 clamp(27px,2.6vw,36px)/1.7 'Noto Serif JP','Yu Mincho',serif;letter-spacing:.04em}
.film-heading p{font-size:.9375rem;line-height:1.95;color:var(--muted)}
.film-heading p span{display:block;font-size:.8125rem;margin-top:12px;letter-spacing:.04em}
.recruit-film{width:100%;height:auto;aspect-ratio:910/512;display:block;background:#24323d;object-fit:contain;border-radius:4px;box-shadow:0 14px 38px #26374616}
@media(max-width:740px){.footer img{--footer-logo-width:245px}.film-section{padding-bottom:60px}.film-heading{display:block;margin-bottom:24px}.film-heading h2{font-size:27px}.film-heading p{margin-top:17px;font-size:.875rem}.film-heading p span{margin-top:6px}.photo-tabs button{padding-inline:9px}.photo-tabs .photo-pause{padding-inline:9px;font-size:.6875rem}.hero-photo-control{display:block}.photo-caption{margin-bottom:16px}.photo-tabs{width:max-content}.hero-main{min-height:705px}.recruit-film{border-radius:2px}}
@media(max-width:400px){.hero-main{min-height:745px}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none;transform:none}}

/* Keep recruitment information calm, legible, and free of orphaned headings. */
.section-head h2,.intro-copy h2,.entry-intro h2,.film-heading h2{font-family:var(--font);font-weight:500;letter-spacing:.025em;text-wrap:balance}
.reason h3{font-size:1.0625rem;font-weight:500;letter-spacing:.015em;text-wrap:balance}
.reason p{line-height:1.95}
.job h3,.faq-title h2,.soft-banner h3,.step h3{letter-spacing:.015em;text-wrap:balance}
.pay{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px;white-space:normal}
.pay strong{margin:0 5px;white-space:nowrap}
.hero-overview .overview-inner>div:first-child{white-space:nowrap}
@media(max-width:740px){
 .intro-copy,.section-head,.film-heading,.entry-intro,.faq-title{text-align:center}
 .intro-copy h2,.section-head h2,.film-heading h2,.entry-intro h2{font-size:clamp(24px,6.25vw,28px);line-height:1.7;letter-spacing:.025em}
 .intro-copy>p{font-size:1rem;line-height:2;max-width:33rem;margin:22px auto 0;text-wrap:pretty}
 .intro-grid{gap:28px}
 .reasons{grid-template-columns:1fr;gap:0;max-width:36rem;margin-inline:auto;width:100%}
 .reason{text-align:center;border-top:0;border-bottom:1px solid #e2e5e8;padding:25px 0}
 .reason:last-child{border-bottom:0;padding-bottom:0}
 .reason h3{font-size:1.125rem;margin:0 0 10px;line-height:1.7;text-wrap:balance}
 .reason p{font-size:1rem;line-height:1.95;text-wrap:pretty}
 .section-head p{font-size:1rem;line-height:1.95}
 .filter{justify-content:center;gap:8px;margin-bottom:25px}
 .filter button{padding:9px 14px}
 .count{flex-basis:100%;text-align:center;margin:3px 0 0;font-size:.875rem}
 .job-top{grid-template-columns:1fr;padding:27px 22px 0;text-align:center}
 .job-top img{display:none}
 .job-category{justify-content:center;margin-bottom:12px}
 .job h3{font-size:1.25rem;line-height:1.65}
 .job .sub{margin-top:5px;text-wrap:balance}
 .job-content{padding-top:14px}
 .pay{justify-content:center;margin-bottom:17px;font-size:.9375rem}
 .pay strong{font-size:clamp(32px,8.5vw,38px)}
 .job-desc{text-align:center;font-size:1rem;line-height:1.95;text-wrap:pretty}
 .quick-facts{text-align:center;padding:16px 0;gap:14px;font-size:.9375rem}
 .quick-facts label{font-size:.875rem;margin-bottom:3px}
 .job summary{font-size:.9375rem}
 .job dl>div{font-size:.9375rem;grid-template-columns:85px 1fr}
 .conditions-note{text-align:center;line-height:1.95;text-wrap:pretty}
 .soft-banner{text-align:center}
 .soft-banner p{font-size:1rem;line-height:1.95;text-wrap:pretty}
 .steps{gap:27px}
 .step{display:block;text-align:center;border-top:0;padding-top:0;max-width:34rem;margin:auto}
 .step>span{font-size:1.375rem;color:#8a9299}
 .step h3{font-size:1.125rem;margin:6px 0 10px}
 .step p{font-size:1rem;line-height:1.95;text-wrap:pretty}
 .faq summary{font-size:1rem;text-wrap:pretty;padding-block:21px}
 .faq p{font-size:1rem;line-height:1.95}
 .film-heading p{font-size:1rem;text-wrap:pretty}
 .entry-intro>p{font-size:1rem;line-height:2;text-wrap:pretty}
 .contact-phone{max-width:27rem;margin-inline:auto}
 .email-link{margin-top:17px}
 .form-top,.form>p{text-align:center}
 .footer-grid>div{text-align:center}
 .footer img{margin-left:auto;margin-right:auto;transform:translateX(calc(var(--footer-logo-width) * 5 / 1562))}
 .footer-links{justify-content:center}
 .copyright{text-align:center}
 .hero-photo-control{display:block}.photo-tabs{width:max-content;max-width:100%}
 .sticky{justify-content:center;padding-inline:20px}
 .sticky>span{display:none}.sticky .btn{flex:none;width:100%;max-width:26rem;font-size:.9375rem}
}

/* Keep the three essentials on the same row. */
.quick-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.quick-facts>div{min-width:0}
@media(max-width:740px){
 .intro-copy .eyebrow,.section-head .eyebrow,.film-heading .eyebrow,.entry-intro .eyebrow,.faq-title .eyebrow{display:flex;align-items:center;justify-content:center;gap:12px;letter-spacing:.14em}
 .intro-copy .eyebrow:before,.section-head .eyebrow:before,.film-heading .eyebrow:before,.entry-intro .eyebrow:before,.faq-title .eyebrow:before{margin:0;flex:0 0 24px}
 .intro-copy .eyebrow:after,.section-head .eyebrow:after,.film-heading .eyebrow:after,.entry-intro .eyebrow:after,.faq-title .eyebrow:after{content:'';display:block;width:24px;height:1px;background:var(--red);flex:0 0 24px}
 .job-grid{gap:16px}
 .job-top{padding:19px 18px 0;gap:0}
 .job-category{margin-bottom:7px;font-size:.875rem}
 .badge{padding:0 8px;font-size:.8125rem}
 .job h3{font-size:1.1875rem;line-height:1.55;text-wrap:balance}
 .job .sub{font-size:.875rem;line-height:1.6;margin-top:3px}
 .job-content{padding:10px 18px 19px}
 .pay{margin:1px 0 10px;line-height:1.3;font-size:.875rem}
 .pay strong{font-size:clamp(29px,8vw,35px);line-height:1.2}
 #job-delivery-assistant .pay strong{font-size:clamp(28px,7.8vw,34px)}
 .job-desc{font-size:.9375rem;line-height:1.8;margin-bottom:13px;text-wrap:pretty}
 .quick-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:12px 0;margin-bottom:8px;align-items:start}
 .quick-facts label{font-size:.875rem;line-height:1.5;margin-bottom:5px;letter-spacing:0}
 .quick-facts span{font-size:.9375rem;line-height:1.6;letter-spacing:0;overflow-wrap:anywhere}
 .quick-facts>div+div{border-left:1px solid #e6e8ea;padding-left:5px}
 .job details{margin-bottom:12px}
 .job summary{font-size:.9375rem;padding:7px 0;line-height:1.7;align-items:center}
 .job summary:after{font-size:1.125rem}
 .job .actions{gap:8px}
 .job .btn{font-size:.875rem;padding:9px 8px;min-height:43px;line-height:1.5}
}

/* A shorter mobile page without shrinking the readable body text. */
@media(max-width:740px){
 html{scroll-padding-top:74px}
 .header{height:64px}
 .brand img{width:195px}
 .hero-main{min-height:0;height:auto;display:block;padding-top:25px;padding-bottom:22px}
 .hero-v2 .eyebrow{font-size:.8125rem;letter-spacing:.12em;margin-bottom:17px}
 .hero-v2 h1{font-size:clamp(28px,7.5vw,34px);line-height:1.5;letter-spacing:.025em;margin:0 0 17px}
 .hero-v2 h1 span{padding-bottom:3px}
 .hero-v2 .hero-copy>p{font-size:.9375rem;line-height:1.85;margin:17px 0 20px;letter-spacing:.015em}
 .hero-v2 .actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
 .hero-v2 .actions .btn{flex:none;min-height:44px;padding:10px 17px;font-size:.875rem}
 .hero-consult{margin-top:0;font-size:.875rem;padding:6px 0;white-space:nowrap}
 .hero-v2 .hero-note{margin-top:11px;font-size:.75rem;letter-spacing:.01em}
 .hero-photo-control{position:static;display:block;margin-top:21px;max-width:none}
 .photo-caption{display:none}
 .photo-tabs button{min-height:34px;padding:6px 16px;font-size:.8125rem}
 .hero-visual{inset:0 0 80px}
 .overview-inner{min-height:80px;padding-block:12px;grid-template-columns:.7fr 1fr 1.25fr}
 .overview-inner>div{padding-left:11px}
 .overview-inner>div>span{font-size:.75rem;margin-bottom:3px;line-height:1.5}
 .overview-inner b{font-size:1.6rem;line-height:1.2}
 .overview-inner b.overview-jp{font-size:.8125rem;line-height:1.5}
 .overview-inner>a{display:none}
 .section{padding:43px 0}
 .section-head{margin-bottom:23px}
 .section-head .eyebrow,.intro-copy .eyebrow,.entry-intro .eyebrow,.faq-title .eyebrow,.film-heading .eyebrow{margin-bottom:11px}
 .intro-copy h2,.section-head h2,.film-heading h2,.entry-intro h2{font-size:25px;line-height:1.55}
 .intro-copy>p{margin-top:17px;line-height:1.85}
 .intro-grid{gap:19px}
 .reasons .reason{padding-block:17px}
 .reasons .reason:last-child{padding-bottom:0}
 .reason h3{margin-bottom:7px}
 .reason p{line-height:1.8}
 .section-head p{margin-top:12px;line-height:1.8}
 .film-section{padding-bottom:42px}
 .film-heading{margin-bottom:19px}
 .film-heading p{margin-top:12px;line-height:1.8}
 .filter{margin-bottom:20px}
 .filter button{min-height:39px;padding:7px 13px}
 .job-grid{gap:14px}
 .conditions-note{margin-top:18px;line-height:1.8}
 .soft-banner{margin-top:24px;padding:21px 18px}
 .soft-banner p{line-height:1.8}
 .soft-banner .btn{margin-top:16px;min-height:45px}
 .steps{gap:20px}
 .step h3{margin-bottom:7px}
 .step p{line-height:1.8}
 .faq-wrap{margin-top:35px;gap:18px}
 .faq summary{padding-block:16px}
 .faq p{padding-bottom:19px;line-height:1.8}
 .entry-layout{gap:25px}
 .entry-intro>p{margin:17px 0;line-height:1.85}
 .contact-phone{margin-top:18px;padding-top:17px}
 .contact-phone>a{font-size:2.125rem}
 .form{padding:22px 19px}
 .form>p{margin-bottom:19px}
 .field{margin-bottom:17px}
 .field label{margin-bottom:6px}
 .field textarea{min-height:105px}
 .consent{margin:16px 0}
 .footer{padding-top:34px;padding-bottom:94px}
 .footer img{margin-bottom:17px}
 .footer-links{margin-top:20px}
 .copyright{margin-top:24px}
 .sticky{padding-top:8px;padding-bottom:max(8px,env(safe-area-inset-bottom))}
 .sticky .btn{min-height:43px;padding:9px 15px}
}
@media(max-width:350px){.hero-v2 h1{font-size:27px}.hero-v2 .actions{gap:13px}.hero-v2 .actions .btn{padding-inline:12px}.hero-consult{font-size:.8125rem}}
@media(max-width:740px) and (max-height:680px){.hero-main{padding-top:19px;padding-bottom:18px}.hero-v2 .eyebrow{margin-bottom:12px}.hero-v2 h1{font-size:28px}.hero-v2 .hero-copy>p{margin-block:13px 17px;line-height:1.75}.hero-v2 .hero-note{display:none}.hero-photo-control{margin-top:16px}.overview-inner{min-height:72px;padding-block:10px}.hero-visual{bottom:72px}}

.hero-v2 h1{font-family:var(--font);font-weight:500;letter-spacing:.025em}

.completion{min-height:65svh;background:var(--paper);display:grid;place-items:center;padding:75px 24px 85px}
.completion-card{text-align:center;background:white;border:1px solid var(--line);border-radius:6px;width:100%;max-width:650px;padding:48px 30px}
.completion-card .eyebrow{display:flex;justify-content:center;align-items:center;gap:12px;margin-bottom:25px}
.completion-card .eyebrow:before{margin:0}
.completion-card .eyebrow:after{content:'';display:block;width:24px;height:1px;background:var(--red)}
.completion-mark{width:52px;height:52px;border:1px solid #bdc6ce;border-radius:50%;display:grid;place-items:center;margin:0 auto 20px;font-size:25px;color:#53606b}
.completion-label{font-size:.875rem;color:var(--muted);margin-bottom:10px}
.completion-card h1{font:500 clamp(22px,4vw,28px)/1.6 var(--font);letter-spacing:.025em;text-wrap:balance}
.completion-break{display:none}
.completion-message{margin-top:24px;font-size:1rem;line-height:1.95;color:var(--muted)}
.completion-note{margin:22px 0 27px;font-size:.875rem;line-height:1.9;color:var(--muted)}
.completion-note a{display:inline-block;margin-top:6px;font:500 1.625rem 'Barlow Condensed',sans-serif;letter-spacing:.04em;color:var(--ink)}
.completion-card .btn{min-width:220px}
@media(max-width:740px){.completion{padding:36px 22px 43px;min-height:60svh}.completion-card{padding:30px 18px}.completion-break{display:block}.completion-card .eyebrow{margin-bottom:20px}.completion-message{font-size:.9375rem;margin-top:20px}.completion-card .btn{min-height:46px}.completion-note{margin-top:18px}}
