/* Recruitment-only warm palette. Layout and portrait pixels are retained. */
.recruit-theme{--ink:#452b28;--cream:#fff4ea;--blue:#ad4431;background:var(--cream);color:var(--ink)}
.recruit-theme .header.is-fixed{background:rgba(255,244,234,.95);border-bottom-color:#452b2820}
.recruit-theme .footer{background:#6a3934;color:var(--cream)}
.recruit-theme .menu{background:var(--cream);color:var(--ink)}
.recruit-theme .menu nav a{border-color:#452b2830}
.recruit-theme .menu-contact{border-color:#452b2840}
.recruit-cover-photo img{filter:sepia(.82) saturate(.8) hue-rotate(-18deg)}
.recruit-page{background:var(--cream);color:var(--ink)}
.recruit-page h1,.recruit-page h2,.recruit-page h3{font-family:var(--serif);font-weight:500}
.recruit-cover{position:relative;height:min(1100px,100svh);min-height:760px;overflow:hidden;color:white;background:#dca68d}
.recruit-cover-photo{position:absolute;inset:0}
.recruit-cover-photo img{width:100%;height:100%;object-fit:cover;object-position:center 45%}
.recruit-cover-photo:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(9,28,42,.8))}
.recruit-masthead{position:absolute;top:80px;left:3.3%;font:clamp(150px,19vw,320px)/.85 'Bodoni MT','Didot','Times New Roman',serif;letter-spacing:-.08em;margin:0;color:white}
.recruit-edition{position:absolute;top:105px;right:4%;font-size:10px;letter-spacing:.17em;line-height:1.8;color:var(--ink);margin:0}
.recruit-cover-copy{position:absolute;bottom:65px;left:6.5%;right:6.5%;z-index:1;text-shadow:0 2px 15px #4e282360}
.recruit-cover-label{font-size:10px;letter-spacing:.23em;margin:0 0 20px}
.recruit-cover h1{font-size:clamp(40px,5.6vw,84px);line-height:1.5;letter-spacing:.06em;margin:0 0 15px}
.recruit-concept{font:500 clamp(18px,2vw,30px)/1.8 var(--serif);letter-spacing:.05em;margin:0}
.recruit-cover-scroll{position:absolute;right:0;bottom:10px;display:flex;gap:35px;align-items:center;font-size:10px;letter-spacing:.13em;min-height:44px}
.recruit-cover-scroll span{font-size:28px}
.recruit-image-note{position:absolute;bottom:18px;right:3.3%;font-size:9px;letter-spacing:.02em;z-index:1;margin:0}
.recruit-story-spread{display:grid;grid-template-columns:1.1fr 1fr;gap:12%;padding:65px 0 10px}
.recruit-story-en{font:clamp(48px,5.7vw,88px)/1.05 Georgia,serif;letter-spacing:-.055em;margin:0 0 40px}
.recruit-story-en em{color:var(--blue);font-weight:400}
.recruit-story h2{font-size:clamp(29px,3.3vw,48px);line-height:1.8;letter-spacing:.03em;margin:0}
.recruit-story-body p{font-size:13px;line-height:2.5;margin:0 0 26px}
.recruit-story-body .recruit-lead{font:500 24px/1.9 var(--serif);margin-bottom:34px}
.recruit-fields{background:#9c4936;color:var(--cream)}
.recruit-fields .section-top,.recruit-next .section-top{border-color:#fff4ea60}
.recruit-section-intro{display:flex;justify-content:space-between;gap:60px;align-items:end;margin:55px 0 45px}
.recruit-section-intro h2{font-size:clamp(30px,3.3vw,48px);line-height:1.8;margin:0}
.recruit-section-intro>p{font-size:12px;line-height:2.3;margin:0 0 10px}
.recruit-field{display:grid;grid-template-columns:65px minmax(0,1fr) 30px;gap:35px;padding:28px 0;border-top:1px solid #fff4ea40;align-items:center}
.recruit-field>span{font:36px Georgia,serif;color:#ffd9c4}
.recruit-field>div{display:grid;grid-template-columns:1fr 1fr;gap:8px 8%;align-items:center}
.recruit-field p:first-child{font-size:9px;letter-spacing:.1em;margin:0}
.recruit-field h3{font-size:23px;line-height:1.6;margin:0;grid-column:1}
.recruit-field p:last-child{font-size:12px;line-height:2.2;margin:0;grid-column:2;grid-row:1/3}
.recruit-field i{font:28px var(--sans);font-style:normal}
.recruit-fields-note{font-size:10px;line-height:2.2;margin:25px 0 0;color:#ffe8dc}
.recruit-people{background:#f2c5b4}
.recruit-people-en{font:clamp(55px,6.5vw,100px) Georgia,serif;letter-spacing:-.05em;margin:0 0 15px}
.recruit-pending-note{display:block;font-size:10px;margin-top:10px}
.staff-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.staff-photo-pending{aspect-ratio:3/4;display:flex;flex-direction:column;justify-content:space-between;padding:23px;background:#e8b39e;border-top:1px solid #452b2840;color:#ad4431}
.staff-photo-pending>span{font:80px Georgia,serif;letter-spacing:-.05em}
.staff-photo-pending>p{font-size:8px;line-height:1.9;letter-spacing:.1em;margin:0}
.staff-slot-copy{padding:23px 0;border-bottom:1px solid #452b2840}
.staff-slot-copy .eyebrow{font-size:8px;letter-spacing:.09em}
.staff-slot h3{font-size:23px;line-height:1.8;margin:16px 0}
.staff-slot-copy>p:last-child{font-size:11px;line-height:2.2;margin:0}
.recruit-next{background:#6a3934;color:var(--cream)}
.recruit-next-spread{display:grid;grid-template-columns:1.1fr 1fr;gap:12%;margin:55px 0 0}
.recruit-next-en{font:clamp(55px,6vw,90px)/1.05 Georgia,serif;letter-spacing:-.05em;margin:0 0 35px}
.recruit-next-en em{font-weight:400;color:#ffd9c4}
.recruit-next h2{font-size:clamp(30px,3.5vw,52px);line-height:1.8;margin:0}
.recruit-next-spread>div:last-child p{font-size:12px;line-height:2.3;margin:0 0 24px}
.recruit-next-spread>div:last-child .recruit-next-lead{font:500 23px/1.8 var(--serif);margin-bottom:30px}
.recruit-phone{display:flex;justify-content:space-between;align-items:center;gap:20px;font:clamp(28px,3vw,45px)/1.6 Georgia,serif;border-bottom:1px solid #fff4ea70;margin:30px 0 25px;padding-bottom:15px;white-space:nowrap}
.recruit-phone span{font:26px var(--sans)}
@media(max-width:1000px){.staff-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.recruit-field>div{column-gap:4%}.recruit-field h3{font-size:20px}}
@media(max-width:700px){
 .recruit-cover{height:auto;min-height:0;padding-top:65px;background:var(--cream);color:var(--ink)}
 .recruit-cover-photo{position:relative;aspect-ratio:3/2}
 .recruit-cover-photo img{object-fit:contain}
 .recruit-cover-photo:after{display:none}
 .recruit-masthead{top:13px;left:5%;font-size:29vw}
 .recruit-edition{top:22px;right:5%;font-size:6px;letter-spacing:.08em}
 .recruit-cover-copy{position:relative;left:auto;right:auto;bottom:auto;padding:32px 7% 28px;text-shadow:none}
 .recruit-cover-label{font-size:8px;color:var(--blue);margin-bottom:18px}
 .recruit-cover h1{font-size:clamp(28px,7.6vw,46px);letter-spacing:.03em;line-height:1.8;margin-bottom:15px;white-space:nowrap}
 .recruit-concept{font-size:17px;line-height:2;letter-spacing:.025em}
 .recruit-cover-scroll{position:static;justify-content:space-between;border-bottom:1px solid #452b2850;padding:10px 0;margin-top:22px;font-size:9px}
 .recruit-image-note{position:static;padding:0 7% 25px;font-size:8px;color:#76524a}
 .recruit-story-spread{display:block;padding-top:38px}
 .recruit-story-en{font-size:57px;margin-bottom:28px}
 .recruit-story h2{font-size:29px;line-height:1.8}
 .recruit-story-body{margin-top:32px}
 .recruit-story-body p{font-size:12px;line-height:2.4;margin-bottom:23px}
 .recruit-story-body .recruit-lead{font-size:21px;margin-bottom:26px}
 .recruit-page .section{padding-top:38px;padding-bottom:45px}
 .recruit-page .section-top{gap:25px}
 .recruit-page .issue-label{max-width:120px;text-align:right;font-size:8px}
 .recruit-section-intro{display:block;margin:34px 0 30px}
 .recruit-section-intro h2{font-size:28px}
 .recruit-section-intro>p{font-size:11px;margin:22px 0 0}
 .recruit-field{grid-template-columns:26px minmax(0,1fr) 22px;gap:15px;padding:24px 0}
 .recruit-field>span{font-size:27px;align-self:start;margin-top:2px}
 .recruit-field>div{display:block}
 .recruit-field p:first-child{font-size:8px;margin-bottom:10px}
 .recruit-field h3{font-size:19px;line-height:1.8}
 .recruit-field p:last-child{font-size:11px;line-height:2;margin-top:14px}
 .recruit-field i{font-size:22px}
 .recruit-fields-note{font-size:10px}
 .recruit-people-en{font-size:57px;margin-bottom:17px}
 .staff-grid{gap:28px 18px}
 .staff-photo-pending{padding:13px}
 .staff-photo-pending>span{font-size:52px}
 .staff-photo-pending>p{font-size:6px;letter-spacing:0}
 .staff-slot-copy{padding:18px 0}
 .staff-slot-copy .eyebrow{font-size:6px;letter-spacing:.03em}
 .staff-slot h3{font-size:18px;line-height:1.8;margin:12px 0}
 .staff-slot-copy>p:last-child{font-size:10px;line-height:2}
 .staff-slot-copy>p:last-child br{display:none}
 .recruit-next-spread{display:block;margin:35px 0 0}
 .recruit-next-en{font-size:57px;margin-bottom:28px}
 .recruit-next h2{font-size:30px;margin-bottom:35px}
 .recruit-next-spread>div:last-child p{font-size:12px}
 .recruit-next-spread>div:last-child .recruit-next-lead{font-size:21px;margin-bottom:22px}
 .recruit-phone{font-size:32px}
}
@media(max-width:360px){.recruit-concept{font-size:15px}.staff-grid{gap:25px 14px}.staff-slot h3{font-size:16px}.recruit-people-en{font-size:49px}.recruit-story-en,.recruit-next-en{font-size:49px}.recruit-phone{font-size:28px}}
/* Real staff photos retain original pixels; only their viewport is composed. */
.staff-card-link{display:block;height:100%}
.staff-portrait{aspect-ratio:3/4;position:relative;overflow:hidden;background:#e8b39e}
.staff-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;display:block}
.portrait-saito-masumi img{transform:scale(2.5);transform-origin:18% 0%}
.portrait-imai-hiroyuki img{object-position:50% 35%}
.portrait-sekiguchi-chie img{transform:scale(1.45);transform-origin:50% 15%}
.portrait-ebana-rena img{object-position:50% 25%}
.staff-card-no{position:absolute;bottom:14px;left:14px;color:white;font:36px Georgia,serif;text-shadow:0 1px 8px #452b2890}
.staff-slot .staff-role{font-size:10px;line-height:1.8;margin:16px 0 9px;min-height:36px}
.staff-slot .staff-name{font:500 25px/1.6 var(--serif);margin:0 0 17px}
.staff-name>span,.interview-name>span{display:block;font:10px/1.8 var(--sans);margin-top:5px}
.staff-slot-copy>.staff-card-headline{font:500 17px/1.9 var(--serif);margin:0 0 22px;min-height:65px}
.staff-read{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;min-height:44px}
.staff-read i{font-style:normal;font-size:22px;transition:transform .3s}
.staff-card-link:hover .staff-read i{transform:translateY(4px)}
.staff-caption{font-size:10px;line-height:2;margin:25px 0 0}
.staff-stories{background:var(--cream)}
.staff-interview{padding:65px 0 75px;border-top:1px solid #452b2840;scroll-margin-top:20px}
.staff-interview:first-child{padding-top:30px}
.staff-interview:last-child{padding-bottom:0}
.interview-heading h3{font:500 clamp(28px,3.3vw,50px)/1.8 var(--serif);letter-spacing:.025em;margin:27px 0 43px;max-width:1000px}
.interview-spread{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:10%;align-items:start}
.interview-profile{position:sticky;top:100px}
.interview-profile .staff-portrait{max-width:420px}
.interview-profile .staff-role{font-size:12px;line-height:1.9;margin:23px 0 10px}
.interview-name{font:500 29px/1.8 var(--serif);margin:0}
.interview-body{min-width:0;max-width:750px}
.interview-lead{font:500 23px/1.9 var(--serif);margin:0 0 35px;color:var(--blue)}
.interview-chapter{margin:0 0 35px}
.interview-chapter h4{font:500 20px/1.9 var(--serif);margin:0 0 18px;padding-top:23px;border-top:1px solid #452b2825}
.interview-chapter p{font:14px/2.35 var(--sans);letter-spacing:.02em;margin:0 0 18px}
.interview-back{font-size:11px;min-height:44px;display:inline-flex;align-items:center;border-bottom:1px solid #452b2860;margin-top:8px}
@media(max-width:1000px){.interview-spread{gap:7%;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}}
@media(max-width:700px){
 .staff-slot .staff-role{font-size:10px;margin-top:14px;min-height:54px}
 .staff-slot .staff-name{font-size:21px;margin:0 0 13px}
 .staff-slot-copy>.staff-card-headline{font-size:15px;line-height:1.9;min-height:85px;margin-bottom:15px}
 .staff-read{font-size:9px}
 .staff-card-no{font-size:28px;bottom:10px;left:10px}
 .staff-caption{font-size:10px}
 .staff-interview{padding:37px 0 45px;scroll-margin-top:15px}
 .staff-interview:first-child{padding-top:0}
 .interview-heading h3{font-size:27px;line-height:1.85;margin:20px 0 28px}
 .interview-spread{display:block}
 .interview-profile{position:static;margin-bottom:32px}
 .interview-profile .staff-portrait{width:100%;max-width:360px;margin:0 auto}
 .interview-profile .staff-role{font-size:11px;margin:20px 0 7px}
 .interview-name{font-size:25px}
 .interview-lead{font-size:20px;line-height:1.9;margin-bottom:28px}
 .interview-chapter{margin-bottom:28px}
 .interview-chapter h4{font-size:18px;line-height:1.9;padding-top:20px;margin-bottom:16px}
 .interview-chapter p{font-size:14px;line-height:2.25;letter-spacing:0;margin-bottom:18px}
 .interview-back{font-size:10px}
}
@media(max-width:360px){.staff-slot .staff-name{font-size:19px}.staff-slot-copy>.staff-card-headline{font-size:14px}.staff-read{font-size:8px}.interview-heading h3{font-size:24px}}
.recruit-requirements{background:#f2c5b4}
.job-status{font-size:12px;line-height:2.2;margin:0 0 28px}
.job-table{margin:0;max-width:1000px}
.job-table>div{display:grid;grid-template-columns:220px minmax(0,1fr);gap:30px;border-top:1px solid #452b2840;padding:23px 0;font-size:13px;line-height:2}
.job-table>div:last-child{border-bottom:1px solid #452b2840}
.job-table dt{font-weight:500}
.job-table dd{margin:0;overflow-wrap:anywhere;white-space:pre-line}
.job-note{font-size:11px;line-height:2.2;margin:25px 0 0}
@media(max-width:700px){.job-status{font-size:11px;margin-bottom:24px}.job-table>div{grid-template-columns:92px minmax(0,1fr);gap:20px;padding:20px 0;font-size:12px}.job-note{font-size:10px}}
.recruit-application{background:#fff4ea}
.apply-status{padding:22px 25px;background:#f2c5b4;font-size:13px;line-height:2;margin-bottom:40px}
.recruit-application form,.recruit-application #recruit-apply-review{max-width:1000px}
.recruit-application [hidden]{display:none!important}
.apply-field{display:grid;grid-template-columns:220px minmax(0,1fr);gap:30px;padding:22px 0;border-top:1px solid #452b2840}
.apply-field label{font-size:13px;line-height:2}
.apply-field label span{display:inline-block;font-size:10px;margin-left:10px;color:#ad4431}
.apply-field label .optional{color:#6a5049}
.apply-field input,.apply-field select,.apply-field textarea{width:100%;min-width:0;border:1px solid #452b2859;border-radius:0;background:#fffaf5;color:#452b28;padding:15px;font:inherit;font-size:16px;line-height:1.7}
.apply-field textarea{resize:vertical}
.apply-field input:focus,.apply-field select:focus,.apply-field textarea:focus{outline:2px solid #ad4431;outline-offset:3px}
.apply-privacy-note{font-size:12px;line-height:2.2;margin:25px 0}
.apply-consent{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:2;margin:25px 0 35px;cursor:pointer}
.apply-consent input{width:20px;height:20px;margin-top:3px;flex-shrink:0;accent-color:#ad4431}
.apply-consent small{color:#ad4431}
.apply-button{display:inline-flex;justify-content:space-between;gap:35px;align-items:center;min-height:56px;padding:16px 24px;border:1px solid #452b28;background:#452b28;color:#fff4ea;font:inherit;font-size:13px;cursor:pointer}
.apply-button:disabled{opacity:.5;cursor:not-allowed}
.apply-button:focus-visible{outline:2px solid #ad4431;outline-offset:4px}
.apply-actions{display:flex;flex-wrap:wrap;gap:18px;margin-top:30px}
.apply-edit{background:transparent;color:#452b28}
#recruit-apply-review h3{font-family:serif;font-size:30px;margin-bottom:20px}
#recruit-apply-review>p{font-size:13px;line-height:2;margin-bottom:25px}
@media(max-width:700px){.apply-field{grid-template-columns:1fr;gap:10px;padding:20px 0}.apply-status{padding:18px;font-size:12px}.apply-button{width:100%}.apply-actions{gap:12px}.apply-consent{font-size:12px}}
