/* ===== page-recruit.css ｜ 採用情報（Figma 14715:56277 PC-Recruit / 1440×6044・インタビュー6枚時 6503）=====
   デザイン言語: 色/書体トークンは base.css。英大見出し＋和ラベルのペア、共通ボタン(.btn)、コンテンツ幅1200中央（--pad-side）を全ページで使い回す。
   下層FV写真あり(.lfv--photo)・ページ内ナビ(.pnav)・小見出し(.ttl) は lower.css（company と共用）。
   このページ固有: 職種カード(.job)、インタビューカード(.intv-card)、1日の流れ(.schedule)、福利厚生カード(.benefit)、Join Us 横流し(.joinus)、モーダル(.modal) */

/* --- 下層FV（Component 14 写真あり）: 「Recruit」は Figma 実測幅319px。Chrome の Lato はインク幅が広いため字間で補正 --- */
.lfv__en--recruit{letter-spacing:-1.6px}

/* --- 募集職種（14715:56279）: base3 / pt120 pb100 / 左 Title 右 885 --- */
.jobs{position:relative;width:100%;padding:120px var(--pad-side) 100px;background:var(--c-base3);overflow:hidden}
.jobs__inner{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:64px;width:100%;max-width:1200px;margin-inline:auto}
.jobs__list{display:flex;flex-direction:column;align-items:stretch;flex:none;width:885px}
/* 装飾（Rectangle 34/35: ぼかし平行四辺形。位置は absoluteRenderBounds 実測） */
.jobs__deco{position:absolute;max-width:none;pointer-events:none}
.jobs__deco--1{left:calc(50% + 601px);top:49.9px;width:86px;height:88px}
.jobs__deco--2{left:calc(50% - 673.3px);top:572.6px;width:110px;height:179px}
/* 職種カード（Component 36〜38）: 上罫線＋最後だけ下罫線 / pt30 pr10 pb30 pl20 / 左 情報623 ＋ gap24 ＋ 右 ボタン208 */
.job{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;width:100%;padding:30px 10px 30px 20px;border-top:1px solid var(--c-border2)}
.job:last-child{border-bottom:1px solid var(--c-border2)}
.job__info{display:flex;flex-direction:column;align-items:flex-start;gap:20px;flex:1 0 0;min-width:1px}
.job__head{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.job__badge{display:inline-flex;align-items:center;justify-content:center;padding:1px 16px;background:var(--c-main);border-radius:var(--r-s);font-size:var(--fs-body-m);font-weight:500;line-height:1.6;letter-spacing:.16px;color:var(--c-inverse);white-space:nowrap}
.job__title{font-size:var(--fs-h4);font-weight:500;line-height:1.6;letter-spacing:.24px}
.job__items{display:flex;align-items:center}   /* 行高は Figma の丸め（26/29px）に合わせ項目高63px */
.job__item{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:2px 20px;border-right:1px solid var(--c-border)}
.job__item:first-child{padding-left:0}
.job__item:last-child{border-right:0}
.job__label{display:flex;align-items:center;gap:8px;font-size:var(--fs-body-m);font-weight:500;line-height:26px;letter-spacing:.16px;color:var(--c-text-sub);white-space:nowrap}
.job__label img{width:20px;height:20px;flex:none}
.job__value{font-size:18px;font-weight:500;line-height:29px;letter-spacing:.18px;white-space:nowrap}
/* 「募集要項を見る」ボタン（Figma button 208×48）: 白 / 枠#c2cde0 / r5 / pl20 pr8 py6 / gap40 / 15px / プラス34 */
.btn-plus{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;flex:none;width:208px;padding:6px 8px 6px 20px;background:var(--c-base);border:1px solid var(--c-border);border-radius:var(--r-m);color:var(--c-text-sub);text-align:left}
.btn-plus__label{padding-bottom:1px;font-size:15px;font-weight:500;line-height:1.2;letter-spacing:.15px;white-space:nowrap}
/* プラス記号（Figma plus: 34×34 main r3 / 内側14×14 に 1.5×13 のバー2本） */
.plus{position:relative;display:block;flex:none;width:34px;height:34px;background:var(--c-main);border-radius:var(--r-s)}
.plus::before,.plus::after{content:"";position:absolute;left:50%;top:50%;width:13px;height:1.5px;background:var(--c-inverse);transform:translate(-50%,-50%)}
.plus::after{transform:translate(-50%,-50%) rotate(90deg)}

/* --- 社員インタビュー（14715:56432 6枚版）: 背景は Rect33/32 グラデ＋回転文字を合成した1枚（recruit_interview_bg.jpg 1440×1184） / pt100 pb100 --- */
.intv{position:relative;width:100%;padding:100px var(--pad-side);background:#fff url("../img/lower/recruit_interview_bg.jpg") center top/1440px 1184px no-repeat;overflow:hidden}
.intv__inner{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:32px;width:100%;max-width:1200px;margin-inline:auto}
.intv .ttl__en{color:var(--c-text-sub2)}
.intv .ttl__jp{color:var(--c-inverse)}
.intv__list{display:flex;flex-wrap:wrap;align-items:flex-end;gap:48px;width:100%}
/* カード（インタビュー）: 写真368×209（平行四辺形は書き出しに焼き込み）→ テキスト箱300×152 を左68・上-30 で重ねる。行の中央（3n+2）は pb80 で持ち上げる */
.intv-card{display:flex;flex-direction:column;align-items:flex-end;width:368px}
.intv-card:nth-child(3n+2){padding-bottom:80px}
.intv-card__btn{display:flex;flex-direction:column;align-items:flex-end;width:100%;text-align:left;color:inherit}
.intv-card__img{position:relative;display:block;width:100%;aspect-ratio:368/209}
.intv-card__img img{width:100%;height:100%;object-fit:contain}
/* 写真右上の青い斜めバー（Rectangle 95: 72×100 #01a0ea、写真枠の上に12pxはみ出す） */
.intv-card__slash{position:absolute;left:310px;top:-12px;width:72px;height:100px;background:var(--c-main2);clip-path:polygon(82.98% 0,100% 0,17.83% 100%,0 100%);pointer-events:none}
.intv-card__box{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:12px;width:300px;min-height:152px;margin-top:-30px;padding:12px 16px 16px 20px;background:var(--c-base3);border-radius:var(--r-m)}
.intv-card__title{display:flex;align-items:center;width:100%;min-height:64px;font-size:var(--fs-h5);font-weight:500;line-height:1.6;letter-spacing:.2px}
.intv-card__foot{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;width:100%}
.intv-card__who{display:flex;flex-direction:column;align-items:flex-start;gap:4px;flex:1 0 0;min-width:1px}
.intv-card__name{font-size:var(--fs-body-s);font-weight:500;line-height:22px;letter-spacing:.14px}
.intv-card__role{font-size:var(--fs-body-s);font-weight:400;line-height:22px;letter-spacing:.14px;color:var(--c-text-sub)}

/* --- エンジニアの1日（14715:56371）: 白 / 左 写真列608（pt80 pb120）＋ gap120 ＋ 右 632（pt80 pb120） --- */
.schedule{position:relative;width:100%;background:var(--c-base);overflow:hidden}
/* 1440 では写真列が左端ぴったり（x=0）、右列は 728〜1360（Figma は pad-right120 を右列がはみ出す設計）。1441px以上は 1440 の塊を中央に置く */
.schedule__inner{position:relative;display:flex;align-items:flex-start;gap:120px;width:min(100%,1440px);margin-inline:auto;padding-right:80px}
.schedule__photos{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:60px;flex:none;width:608px;padding:80px 0 120px}
.schedule__photo{overflow:hidden;border-radius:var(--r-m)}
.schedule__photo img{width:100%;height:100%;object-fit:cover}
.schedule__photo--1{width:360px;height:436px;border-radius:0 var(--r-m) var(--r-m) 0}
.schedule__photo--2{width:324px;height:216px;margin-left:284px}
.schedule__photo--3{width:548px;height:300px;margin-left:30px}
.schedule__deco{position:absolute;max-width:none;pointer-events:none}
.schedule__deco--1{left:336.8px;top:55.6px;width:77px;height:122px}
.schedule__deco--2{left:580px;top:530.5px;width:55px;height:89px}
.schedule__deco--3{left:-29px;top:793px;width:172px;height:104px}   /* Figma bbox x=-24（セクション左端からはみ出す）＋ぼかし余白5px */
.schedule__main{display:flex;flex-direction:column;align-items:flex-start;gap:64px;flex:1 0 0;min-width:1px;padding:80px 0 120px}
/* タイムライン（Figma「沿革」インスタンス）: 時刻バッジ75 ＋ gap32 ＋ 点線列30 ＋ gap32 ＋ 本文。行の高さはバリアント固定（60/120/60/90/120/32） */
.schedule__list{display:flex;flex-direction:column;align-items:flex-start;width:100%}
.schedule__item{display:flex;align-items:flex-start;gap:32px;width:100%;min-height:60px}
.schedule__item--l{min-height:120px}
.schedule__item--m{min-height:90px}
.schedule__item:last-child{min-height:32px}
.schedule__time{display:flex;align-items:center;justify-content:center;flex:none;width:75px;height:30px;margin-top:2px;padding:2px 8px 4px;border:1px solid var(--c-border-sub);border-radius:var(--r-s);font-family:var(--font-en);font-weight:600;font-size:22px;line-height:1;color:var(--c-text-sub);white-space:nowrap;font-feature-settings:normal}
.schedule__axis{position:relative;display:flex;flex-direction:column;align-items:center;align-self:stretch;flex:none;width:30px;padding-top:10px}
.schedule__dot{width:10px;height:10px;flex:none;border:1px solid var(--c-main);border-radius:50%}
.schedule__line{width:1px;flex:1 0 0;margin-top:8px;background:var(--c-border2)}
.schedule__item:last-child .schedule__line{display:none}
.schedule__text{flex:1 0 0;min-width:1px;font-size:var(--fs-h5);font-weight:500;line-height:1.6;letter-spacing:.2px}

/* --- 福利厚生・働き方（14715:56392）: base3 / pt120 / 下は Join Us（144）を挟んで pb108 --- */
.benefits{position:relative;width:100%;padding:120px 0 108px;background:var(--c-base3);overflow:hidden}
.benefits__inner{display:flex;flex-direction:column;align-items:flex-start;gap:64px;width:100%;padding:0 var(--pad-side)}   /* --pad-side＝(100%-1200)/2 → 内容幅1200 */
.benefits__groups{display:flex;flex-direction:column;align-items:flex-start;gap:48px;width:100%}
.benefit-group{display:flex;flex-direction:column;align-items:flex-start;gap:32px;width:100%}
.benefit-group__head{display:flex;align-items:center;width:100%;height:54px;padding-bottom:8px;border-bottom:1px solid var(--c-border);font-size:var(--fs-h4);font-weight:500;line-height:1.6;letter-spacing:.24px;color:var(--c-text-sub)}
.benefit-group__list{display:flex;align-items:center;gap:24px;width:100%}
/* カード 282×160: 白 / p24 / gap16 / 右上と左下を20pxの三角で切る（Polygon 4/5 は背景色の三角＝角カット） */
.benefit{display:flex;flex-direction:column;align-items:center;gap:16px;flex:1 1 0;min-width:1px;height:160px;padding:24px;background:var(--c-base);clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px))}
.benefit__icon{width:64px;height:64px;flex:none}
.benefit__icon img{width:64px;height:64px}
.benefit__text{width:100%;font-size:var(--fs-h5);font-weight:500;line-height:1.6;letter-spacing:.2px;text-align:center;white-space:nowrap}

/* --- Join Us 横流し（Frame 80: 1440×144 の窓に 150px 高の帯。TOPの hojokin マーキーと同じ作法＝グループ複製を translateX(-100% - gap)） ---
   1組 = 「Join Us」392×150（Lato SemiBold 125px ls-1.25 右寄せ。色は #01a0ea / #1549a0 交互）＋ gap8 ＋ 写真220×126。組の間 40、2組ごとに 16。
   帯の左端は Figma 実測 x=-567.8（1440幅）＝ 50%-1288px。動きは animation.css */
.joinus{position:relative;width:100%;height:144px;margin-top:108px;overflow:hidden}
.joinus__track{position:absolute;left:calc(50% - 1288px);top:-3px;display:flex;align-items:center;gap:16px;height:150px}
.joinus__run{position:relative;display:flex;align-items:center;gap:16px;flex:none}
.joinus__group{display:flex;align-items:center;gap:16px;flex:none}
.joinus__group--clone{position:absolute;left:calc(100% + 16px);top:0}
.joinus__pair{display:flex;align-items:center;gap:40px;flex:none}
.joinus__unit{display:flex;align-items:center;gap:8px;flex:none;width:620px;height:150px}
.joinus__text{flex:none;width:392px;font-family:var(--font-en);font-weight:600;font-size:125px;line-height:1.2;letter-spacing:-1.25px;color:var(--c-main2);text-align:right;white-space:nowrap;font-feature-settings:normal}
.joinus__unit:nth-child(even) .joinus__text{color:var(--c-main)}
.joinus__photo{flex:none;width:220px;height:126px}
.joinus__photo img{width:100%;height:100%;object-fit:contain}

/* --- Entry（Contact-footer 14715:56431 のインスタンス: pt140 ＋ フッター上に罫線 pt48。company と同じ差分） --- */
.contact-footer--lower{padding-top:140px}
.contact-footer--lower .footer__top{padding-top:48px;border-top:1px solid var(--c-gray)}
.contact__en--entry{letter-spacing:-.5px}   /* Figma 実測 264px（Lato 700 110px）。Chrome 側のインク幅差を字間で補正 */

/* --- モーダル（<dialog>）: 募集要項 1120幅 / 社員インタビュー 960幅。背景は #1549a0 15% ＋ ぼかし。開閉は js/page-recruit.js --- */
.modal{width:min(1120px,calc(100% - 16px));max-width:none;max-height:calc(100dvh - 16px);margin:auto;padding:0;border:0;background:transparent;color:var(--c-text);overflow:visible}
.modal--intv{width:min(960px,calc(100% - 16px))}
.modal::backdrop{background:rgba(21,73,160,.15);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.modal__panel{position:relative;max-height:calc(100dvh - 16px);padding:40px 80px 56px;background:var(--c-base);border-radius:10px;overflow:auto;overscroll-behavior:contain}
.modal--intv .modal__panel{padding:48px 80px}
.modal__body{display:flex;flex-direction:column;align-items:center;gap:64px;width:100%}
.modal--intv .modal__body{gap:48px}
.modal__close{position:absolute;right:20px;top:24px;z-index:2;display:flex;align-items:center;justify-content:center;width:50px;height:50px;padding:10px;background:var(--c-main);border-radius:var(--r-s)}
.modal__close svg{width:26px;height:18px}
/* 募集要項 */
.job-detail{display:flex;flex-direction:column;align-items:flex-start;gap:24px;width:100%}
.job-detail__title{width:100%;padding-right:70px;font-size:var(--fs-h3);font-weight:500;line-height:1.6;letter-spacing:.28px}
.job-detail__blocks{display:flex;flex-direction:column;align-items:flex-start;gap:24px;width:100%}
.job-detail__row{display:flex;align-items:flex-start;gap:48px;width:100%}
.job-detail__photo{flex:none;width:440px;padding-top:8px}
.job-detail__photo img{width:100%;height:auto;border-radius:var(--r-m)}
.job-detail__col{display:flex;flex-direction:column;align-items:flex-start;gap:24px;flex:1 0 0;min-width:1px}
.job-detail__sub{display:flex;flex-direction:column;align-items:flex-start;gap:12px;width:100%}
.job-detail__h{width:100%;padding-bottom:8px;border-bottom:1px solid var(--c-border);font-size:var(--fs-h5);font-weight:500;line-height:1.6;letter-spacing:.2px;color:var(--c-text-sub)}
.job-detail__h--plain{border-bottom:0;padding-bottom:0}
.job-detail__p{width:100%;font-size:var(--fs-body-m);font-weight:400;line-height:26px;letter-spacing:.16px}
.job-detail__ul{width:100%;padding-left:1.2em;list-style:disc;font-size:var(--fs-body-m);font-weight:400;line-height:26px;letter-spacing:.16px}
.job-detail__req{display:flex;flex-direction:column;align-items:flex-start;gap:16px;width:100%}
/* 募集要項の表（Figma Frame 1321318246〜。本文の行高は Figma の丸め 26px に合わせる）: 行 py20 / th200 中央 500 / gap60 / td 400 / 偶数行 base2 / 下罫線 #cdcdcd（先頭は上罫線も） */
.req{display:flex;flex-direction:column;width:100%;border-top:1px solid var(--c-border2)}
.req__row{display:flex;align-items:center;gap:60px;width:100%;padding:20px 0;border-bottom:1px solid var(--c-border2);background:var(--c-base)}
.req__row:nth-child(even){background:var(--c-base2)}
.req__th{flex:none;width:200px;padding:0 20px;font-size:var(--fs-body-m);font-weight:500;line-height:26px;letter-spacing:.16px;text-align:center}
.req__td{flex:1 0 0;min-width:1px;padding:0 20px;font-size:var(--fs-body-m);font-weight:400;line-height:26px;letter-spacing:.16px}
/* ボタン列: 294×60 ×2（橙＝応募 / 紺＝カジュアル面談）。橙ボタンのアイコン枠は紺（Figma Frame 109 fill #1549a0） */
.modal__btns{display:flex;align-items:center;justify-content:center;gap:32px;flex-wrap:wrap}
.modal__btns .btn{width:294px;justify-content:space-between}
.modal__btns .btn--accent .btn__icon{background:var(--c-main)}
.modal__btns .btn--accent .btn__arrow .ic-bar{fill:#b4e7ff}
.modal__btns .btn--accent .btn__arrow .ic-chev{stroke:#fff}
/* 社員インタビュー */
.intv-detail{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:40px;width:100%}
.intv-detail__bg{position:absolute;right:-80px;top:-56px;z-index:0;font-family:var(--font-en);font-weight:600;font-size:85px;line-height:1.2;letter-spacing:-1.7px;color:var(--c-text-sub2);white-space:nowrap;pointer-events:none;font-feature-settings:normal}
.intv-detail__head{position:relative;z-index:1;display:flex;align-items:center;gap:48px;width:100%}
.intv-detail__photo{flex:none;width:320px}
.intv-detail__photo img{width:100%;height:auto;border-radius:var(--r-m)}
.intv-detail__who{display:flex;flex-direction:column;align-items:flex-start;gap:24px;flex:1 0 0;min-width:1px}
.intv-detail__title{width:100%;font-size:var(--fs-h3);font-weight:500;line-height:1.6;letter-spacing:.28px}
.intv-detail__name{font-size:var(--fs-h5);font-weight:500;line-height:1.6;letter-spacing:.2px}
.intv-detail__role{margin-top:4px;font-size:var(--fs-body-m);font-weight:400;line-height:1.6;letter-spacing:.16px;color:var(--c-text-sub)}
.qa{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:16px;width:100%}
.qa__item{display:flex;flex-direction:column;align-items:flex-start;gap:16px;width:100%;padding-bottom:16px;border-bottom:1px solid var(--c-border2)}
.qa__q,.qa__a{display:flex;align-items:flex-start;gap:8px;width:100%}
.qa__q{align-items:center}
/* Q/A バッジ（Rectangle 106: 46×29 の平行四辺形。Q は base3 地に main 文字、A は main2 地に白文字） */
.qa__badge{display:flex;align-items:center;justify-content:center;flex:none;width:46px;height:29px;padding-left:2px;background:var(--c-base3);clip-path:polygon(31.16% 0,100% 0,68.84% 100%,0 100%);font-family:var(--font-en);font-weight:600;font-size:18px;line-height:1;color:var(--c-text-sub);font-feature-settings:normal}
.qa__a .qa__badge{background:var(--c-main2);color:var(--c-inverse)}
.qa__text{flex:1 0 0;min-width:1px;font-size:var(--fs-body-m);line-height:1.6;letter-spacing:.16px}
.qa__q .qa__text{font-weight:500}
.qa__a .qa__text{padding-top:2px;font-weight:400}

/* ===== タブレット（769〜1200px）: カンプ未支給。PCの構造のまま横を詰めて収める ===== */
@media (min-width:769px) and (max-width:1200px){
  .jobs__inner{flex-direction:column;gap:40px}
  .jobs__list{width:100%}
  .job{flex-wrap:wrap}
  .job__items{flex-wrap:wrap;row-gap:12px}
  .job__value{white-space:normal}
  .jobs__deco--1{left:auto;right:0}
  .jobs__deco--2{left:-40px}
  .intv{background-size:auto 100%}
  .intv__list{gap:32px}
  .intv-card{width:calc((100% - 32px) / 2)}
  .intv-card:nth-child(3n+2){padding-bottom:0}
  .intv-card__slash{left:auto;right:-14px}
  .intv-card__box{width:calc(100% - 40px)}
  .schedule__inner{gap:48px;padding-left:0}
  .schedule__photos{width:40%;padding-top:80px}
  .schedule__photo--1{width:60%;height:auto;aspect-ratio:360/436}
  .schedule__photo--2{width:54%;height:auto;aspect-ratio:324/216;margin-left:46%}
  .schedule__photo--3{width:90%;height:auto;aspect-ratio:548/300;margin-left:5%}
  .schedule__deco--1{left:auto;right:0}
  .schedule__deco--2{left:calc(40% - 30px)}
  .schedule__main{padding-top:80px}
  .benefit-group__list{flex-wrap:wrap}
  .benefit{flex:1 1 calc(50% - 12px)}
  .benefit__text{white-space:normal}
  .job-detail__row{flex-direction:column;gap:24px}
  .job-detail__photo{width:100%;max-width:440px}
  .req__th{width:140px}
  .intv-detail__head{flex-direction:column;align-items:flex-start;gap:24px}
  .modal__panel{padding:40px 40px 48px}
  .modal--intv .modal__panel{padding:48px 40px}
  .intv-detail__bg{right:-40px}
}

/* ===== SP（768px以下）: SPカンプ無し → TOP-SP（375）のルール（左右24px・SPトークン・1カラム）と company / firerobo のSP実装から導出 ===== */
@media (max-width:768px){
  /* --- 募集職種: 見出し→カード縦積み。項目は2列、ボタンは全幅 --- */
  .jobs{padding:var(--sp-section-gap) var(--sp-side-m) 64px}
  .jobs__inner{flex-direction:column;gap:32px}
  .jobs__list{width:100%}
  .jobs__deco--1{left:auto;right:-20px;top:16px;width:56px;height:auto}
  .jobs__deco--2{display:none}
  .job{flex-direction:column;align-items:stretch;gap:20px;padding:24px 0}
  .job__title{font-size:var(--fs-h4);line-height:1.5}
  .job__items{display:grid;grid-template-columns:1fr 1fr;gap:12px 0}
  .job__item{padding:2px 12px;border-right:0}
  .job__item:nth-child(odd){padding-left:0;border-right:1px solid var(--c-border)}
  .job__item:first-child{padding-left:0}
  .job__label{font-size:14px;letter-spacing:.14px}
  .job__label img{width:18px;height:18px}
  .job__value{font-size:16px;letter-spacing:.16px;white-space:normal}
  .btn-plus{width:100%;gap:16px}
  /* --- 社員インタビュー: 1列。写真は全幅（比率368:209）、テキスト箱は右寄せ幅80% --- */
  .intv{padding:var(--sp-section-gap) var(--sp-side-m);background-size:auto 100%;background-position:center top}
  .intv__inner{gap:24px}
  .intv__list{gap:32px}
  .intv-card{width:100%}
  .intv-card:nth-child(3n+2){padding-bottom:0}
  .intv-card__slash{left:auto;right:-8px;top:-8px;width:44px;height:60px}
  .intv-card__box{width:calc(100% - 48px);min-height:0;margin-top:-24px;padding:12px 16px 16px}
  .intv-card__title{min-height:0;font-size:18px;letter-spacing:.18px}
  /* --- エンジニアの1日: 見出し→タイムライン→写真3枚の縦積み --- */
  .schedule__inner{flex-direction:column;gap:40px;padding:0 var(--sp-side-m)}
  .schedule__main{order:1;width:100%;padding:var(--sp-section-gap) 0 0;gap:32px}
  .schedule__photos{order:2;width:100%;gap:24px;padding:0 0 var(--sp-section-gap)}
  .schedule__photo--1{width:100%;height:auto;aspect-ratio:360/300;border-radius:var(--r-m)}
  .schedule__photo--2{width:70%;height:auto;aspect-ratio:324/216;margin-left:30%}
  .schedule__photo--3{width:100%;height:auto;aspect-ratio:548/300;margin-left:0}
  .schedule__deco{display:none}
  .schedule__item{gap:16px;min-height:0;padding-bottom:20px}
  .schedule__item--l,.schedule__item--m{min-height:0}
  .schedule__item:last-child{padding-bottom:0}
  .schedule__time{width:64px;height:28px;font-size:18px}
  .schedule__axis{width:20px}
  .schedule__text{font-size:16px;letter-spacing:.16px;padding-top:3px}
  /* --- 福利厚生: 2列。Join Us は文字を縮小 --- */
  .benefits{padding:var(--sp-section-gap) 0 48px}
  .benefits__inner{gap:32px;padding:0 var(--sp-side-m)}
  .benefits__groups{gap:32px}
  .benefit-group{gap:20px}
  .benefit-group__head{height:44px;padding-bottom:8px;font-size:var(--fs-h4)}
  .benefit-group__list{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .benefit{height:auto;min-height:120px;gap:10px;padding:16px 8px;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px))}
  .benefit__icon,.benefit__icon img{width:48px;height:48px}
  .benefit__text{font-size:14px;letter-spacing:.14px;white-space:normal}
  .joinus{height:80px;margin-top:48px}
  .joinus__track{left:calc(50% - 720px);top:0;height:80px}
  .joinus__unit{width:330px;height:80px}
  .joinus__text{width:210px;font-size:64px;letter-spacing:-.64px}
  .joinus__photo{width:112px;height:64px}
  .joinus__pair{gap:24px}
  /* --- モーダル: 端8px。写真→本文の縦積み、表は th/td 縦積み --- */
  .modal{width:calc(100% - 16px)}
  .modal__panel{padding:56px 20px 32px}
  .modal--intv .modal__panel{padding:56px 20px 32px}
  .modal__body{gap:32px}
  .modal__close{right:12px;top:12px;width:40px;height:40px;padding:8px}
  .modal__close svg{width:20px;height:14px}
  .job-detail__title{padding-right:0;font-size:22px;letter-spacing:.22px}
  .job-detail__row{flex-direction:column;gap:20px}
  .job-detail__photo{width:100%;padding-top:0}
  .req__row{flex-direction:column;align-items:flex-start;gap:6px;padding:12px 0}
  .req__th{width:100%;padding:0 12px;font-size:14px;text-align:left}
  .req__td{width:100%;padding:0 12px;font-size:14px;letter-spacing:.14px}
  .modal__btns{flex-direction:column;gap:12px;width:100%}
  .modal__btns .btn{width:100%;max-width:294px}
  .intv-detail{gap:24px}
  .intv-detail__bg{right:-20px;top:-48px;font-size:44px;letter-spacing:-.9px}
  .intv-detail__head{flex-direction:column;align-items:flex-start;gap:16px}
  .intv-detail__photo{width:100%}
  .intv-detail__title{font-size:22px;letter-spacing:.22px}
  .qa__badge{width:40px;height:26px;font-size:16px}
  .qa__text{font-size:14px;letter-spacing:.14px}
}
