/* =====================================================================
   recruit.css — 09-recruit（採用情報）ページ固有
   共通(tokens/common)を土台に、本ページ固有のレイアウトのみ定義。
   固定青背景の対象外ページ：body は has-site-bg を付けない。
   FVはFigma bg-image（明色人物写真・900px直切り）＝ .fv-photo--cut ＋透過subfv。
   ===================================================================== */

/* ===== 下層FV（写真背景・白文字）：採用ページはイントロ文を追加 =====
   Figma座標：パンくずy120 / タイトルy253 / イントロy567（900px直切りFV内） ===== */
body[data-page="recruit"] .fv-photo{ background-image:url("../pages/recruit/images/fv-bg.webp") }
.recruit-fv{ min-height:900px; padding-bottom:96px; }
/* Figma 2414:11251: Hero Text下端(426.5)→Section(506.5)=80 / 見出し(40px trim h29)→txt gap48 */
.recruit-fv__intro{ display:flex; flex-direction:column; gap:48px; margin-top:80px; }
.recruit-fv__lead{ font-size:40px; font-weight:700; line-height:1.3; letter-spacing:.4px;
  text-box-trim:trim-both; text-box-edge:cap alphabetic; }
.recruit-fv__text{ font-size:var(--fz-body); line-height:var(--lh-body); color:#e7ecf6; }
.recruit-fv__photo{ display:none } /* PC/tabletは共有 .fv-photo が全面背景を担当。SPのみ帯として表示 */
@media (max-width:1023px){
  .recruit-fv{ min-height:700px; }
  .recruit-fv__intro{ margin-top:48px; }
  .recruit-fv__lead{ font-size:30px; }
}
@media (max-width:767px){
  /* Figma 2540:7713: SPは写真を帯(307px)として上に配置、テキストは濃紺#10203b上へ（全面オーバーレイをやめる） */
  .recruit-fv{ min-height:auto; padding-bottom:64px; background:var(--c-main); }
  body[data-page="recruit"] .fv-photo{ display:none; }  /* 全面背景写真を帯画像に置換 */
  .recruit-fv__photo{ display:block; height:307px; margin-inline:calc(-1 * var(--pad-x-sp));
    background-image:url("../pages/recruit/images/fv-bg.webp"); background-size:cover; background-position:center bottom; }
  .recruit-fv .subfv__inner{ gap:24px; }   /* Figma hero gap24（帯↔テキスト） */
  .recruit-fv__lead{ font-size:24px; }
  .recruit-fv__intro{ gap:20px; margin-top:8px; }  /* head↔intro=24+8=32（Figma text-block gap32） */
}

/* =====================================================================
   求める人物像 / 人材育成・環境（文＋写真の交互行）。薄グレー地。
   ===================================================================== */
.feature{ position:relative; background:var(--c-grad-end); padding:144px 0; overflow:hidden; }
/* Figma 2414:11258 second-bg-image（淡くフェード済みの工場写真を書き出し使用。近似gradientから是正 2026-07-13） */
.feature__bg{ position:absolute; inset:0; pointer-events:none;
  background-image:url("../pages/recruit/images/feature-bg.webp");
  background-size:cover; background-position:center; background-repeat:no-repeat; }
.feature .container{ position:relative; z-index:1; display:flex; flex-direction:column; gap:144px; }
/* Figma 2414:11260/11269: Content Block はrow上端に top揃え（center ではない） */
/* 1024-1439px: 両列比例縮小のfr比（1440時 580+580 は従来と同一。全ページ統一方式 2026-07-29） */
.feature__row{ display:grid; grid-template-columns:580fr 580fr;
  gap:48px; justify-content:space-between; align-items:start; }
.feature__text{ display:flex; flex-direction:column; }
/* Figma titleインスタンス(h140)＝section-headと同一：trim＋gap24＋下64。enは color-main */
.feature__head{ display:flex; flex-direction:column; gap:24px; padding-bottom:64px; }
.feature__title{ font-size:var(--fz-h1); font-weight:700; line-height:var(--lh-h1); letter-spacing:.48px;
  text-box-trim:trim-both; text-box-edge:cap alphabetic; }
.feature__en{ font-family:var(--ff-en); font-size:var(--fz-h4); font-weight:500; color:var(--c-main); letter-spacing:.24px; overflow-wrap:anywhere;
  text-box-trim:trim-both; text-box-edge:cap alphabetic; }
.feature__body{ display:flex; flex-direction:column; gap:32px; }
.feature__body p{ font-size:var(--fz-body); line-height:var(--lh-body); }
/* .feature__body p (0,1,1) に負けないよう後置＋同等以上の詳細度で32pxを担保（Figma h68/h23=32px trim） */
.feature__body .feature__sub{ font-size:var(--fz-h3); font-weight:700; line-height:var(--lh-h3); letter-spacing:.32px;
  text-box-trim:trim-both; text-box-edge:cap alphabetic; }
.feature__media{ overflow:hidden; }
.feature__media img{ width:100%; height:auto; aspect-ratio:580/387; object-fit:cover; } /* 固定387px→比率追従（women__media と同方式・organization基準 2026-07-29） */
@media (max-width:1023px){
  .feature{ padding:96px 0; }
  .feature .container{ gap:96px; }
  .feature__row{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; }
  .feature__head{ padding-bottom:32px; gap:12px; }
  .feature__media img{ height:300px; }
}
@media (max-width:767px){
  .feature{ padding:64px 0; }
  .feature .container{ gap:64px; }
  .feature__row,
  .feature__row--rev{ grid-template-columns:1fr; gap:28px; }
  /* SPは常に「写真→文」ではなくカンプ準拠で文→写真。逆順行は順序を戻す */
  .feature__row--rev .feature__media{ order:2; }
  .feature__row--rev .feature__text{ order:1; }
  .feature__title{ font-size:24px; }
  .feature__en{ font-size:18px; }
  .feature__body .feature__sub{ font-size:var(--fz-h4); }
  .feature__media img{ height:230px; }
}

/* =====================================================================
   Women Careers（白い角丸カード＋装飾写真）。淡いブルーグラデ地。
   ===================================================================== */
/* Figma 2414:11277 突合(2026-07-03): 地=#eef0f6+水色ブロブ(Ellipse近似)/見出し左寄せ/
   デコ写真はカードの上(z2)・Figma絶対座標(1440基準フレーム内 right35/138/251, top207/653/804) */
.women{ position:relative; overflow:hidden;
  background:
    radial-gradient(circle 640px at 27% 69%, rgba(113,199,250,.60) 0%, rgba(113,199,250,0) 68%),
    radial-gradient(circle 640px at 89% 27%, rgba(113,199,250,.50) 0%, rgba(113,199,250,0) 68%),
    var(--c-grad-end); padding:144px 0; }
.women__deco{ position:absolute; inset:0; margin-inline:auto; max-width:1440px; pointer-events:none; z-index:2; }
.women__deco-img{ position:absolute; border-radius:24px; object-fit:cover; box-shadow:0 18px 48px rgba(16,32,59,.18); }
.women__deco-img--1{ right:35px; top:207px; width:173px; height:249px; }
.women__deco-img--2{ right:138px; top:653px; width:160px; height:220px; }
/* --3（women_f3.webp 顕微鏡写真）: HP-v2 row52指示により画像ごと削除 */
.women .container{ position:relative; z-index:1; }
.women__card{ background:var(--c-white); border:1px solid var(--c-line); border-radius:88px;
  padding:96px 72px 64px; display:flex; flex-direction:column; }
/* Figma 2414:11283 titleブロック: trim＋gap24＋pb64、色は title/en とも color-main */
.women__head{ display:flex; flex-direction:column; gap:24px; padding-bottom:64px; }
.women__title{ font-size:var(--fz-h1); font-weight:700; line-height:var(--lh-h1); letter-spacing:.48px;
  text-box-trim:trim-both; text-box-edge:cap alphabetic; }
.women__en{ font-family:var(--ff-en); font-size:var(--fz-h4); font-weight:500; color:var(--c-main); letter-spacing:.24px; overflow-wrap:anywhere;
  text-box-trim:trim-both; text-box-edge:cap alphabetic; }
/* Figma Content Row(2414:11284): pb80（row下端→ロゴ列の間隔） */
/* 1024-1439px: 画像列も比例縮小するfr比（1440時 カード内幅1062−gap64＝418+580 は従来と同一。
   旧: 1380/1180px の段階switch → 全ページ統一のfr連続縮小へ置換 2026-07-29） */
.women__row{ display:grid; grid-template-columns:418fr 580fr; gap:64px;
  align-items:start; width:100%; padding-bottom:80px; }
.women__text{ display:flex; flex-direction:column; gap:0; } /* Figma: 段落間隔なしの連続行 */
.women__name{ font-size:24px; line-height:1.5; font-weight:700; letter-spacing:.01em;
  text-box-trim:trim-both; text-box-edge:cap alphabetic; margin-bottom:24px; }
.women__text p{ font-size:var(--fz-body); line-height:var(--lh-body); }
/* Figma Button Primary(2414:11287): h73=py22＋text29 / 角丸8 / テキスト中央＋右端シェブロン */
.women__btn{ align-self:stretch; margin-top:32px; /* Figma: txt末461→btn493 */
  position:relative; min-height:0; border-radius:8px; padding:22px 28px 22px 32px; line-height:var(--lh-body);
  background:linear-gradient(180deg,#2b5eb4 0%,#0851a2 100%); }
.women__btn .btn__arrow{ position:absolute; right:28px; top:50%; transform:translateY(-50%);
  width:7px; height:14px; flex:0 0 7px; } /* Figmaは長矢印でなく7×14シェブロン */
.women__btn:hover{ background:var(--c-main); }
.women__media{ overflow:hidden; }
.women__media img{ width:100%; height:auto; aspect-ratio:580/387; object-fit:cover; }
/* Figma 2527:1687/1684: ロゴ上のセンター見出し（H3=Bold 32px・lh1.4・trim・pb48でロゴと間隔） */
.women__logos-title{ width:100%; text-align:center; font-size:var(--fz-h3); font-weight:700;
  line-height:var(--lh-h3); letter-spacing:1px; color:var(--c-main); padding-bottom:48px;
  text-box-trim:trim-both; text-box-edge:cap alphabetic; }
.women__logos{ display:flex; gap:4px; align-items:flex-start; }
.women__logos img{ height:80px; width:auto; }
.women__logo-item{ display:flex; flex-direction:column; align-items:flex-start; gap:16px; flex:1 1 0; min-width:0; }
.women__logo-group{ display:flex; align-items:center; gap:24px; }
.women__logo-text{ font-size:14px; line-height:1.7; letter-spacing:.02em; color:var(--c-main); text-align:left; width:100%; }
@media (max-width:1023px){
  .women{ padding:96px 0; }
  .women__deco{ display:none; }
  .women__card{ border-radius:56px; padding:72px 48px 56px; }
  .women__head{ padding-bottom:48px; gap:12px; }
  .women__row{ grid-template-columns:1fr; gap:40px; padding-bottom:56px; }
  .women__media img{ height:340px; }
}
@media (max-width:767px){
  .women{ padding:64px 0; }
  .women__card{ border-radius:32px; padding:48px 24px 40px; }
  .women__title{ font-size:24px; }
  .women__name{ font-size:20px; }
  .women__media img{ height:240px; }
  .women__logos-title{ font-size:24px; padding-bottom:32px; }
  .women__logos{ gap:32px; flex-direction:column; align-items:stretch; }
  .women__logo-item{ align-items:flex-start; }
  .women__logo-text{ text-align:left; font-size:12px; }
  .women__logos img{ height:auto; max-height:64px; }
  .women__logo-group{ gap:16px; }
}

/* =====================================================================
   外部応募/媒体導線バンド（indeed / COURSE / こうチャレ）。薄グレー地。
   ===================================================================== */
.links{ background:var(--c-grad-end); padding:88px 0; }
/* Figma 2423:5974/2414:11319: Agreement枠は実コンテンツ+64の余白を持つ→container pb64 で再現 */
.links .container{ display:flex; flex-direction:column; gap:64px; padding-bottom:64px; }
.links__group{ display:flex; flex-direction:column; gap:48px; }
/* Figma title帯(2423:5976)= py32＋32px/1.4 trim ＝帯高87 */
.links__title{ background:var(--c-main); color:var(--c-white); font-size:var(--fz-h3);
  font-weight:700; line-height:var(--lh-h3); letter-spacing:.32px; padding:32px 24px;
  text-box-trim:trim-both; text-box-edge:cap alphabetic; }
.links__items{ display:flex; gap:48px; align-items:center; flex-wrap:wrap; }
.links__logo{ display:inline-flex; align-items:center; transition:transform .2s ease, opacity .2s ease; }
.links__logo:hover{ transform:translateY(-2px); opacity:.85; }
.links__logo img{ height:88px; width:auto; }   /* Figma COURSE/こうチャレ=88 */
.links__logo--indeed img{ height:72px; }        /* Figma indeed 270×72 */
@media (max-width:767px){
  .links{ padding:56px 0; }
  .links .container{ gap:48px; }
  .links__group{ gap:32px; }
  .links__title{ font-size:24px; padding:24px 20px; }
  .links__items{ gap:28px; }
  .links__logo img{ height:56px; }
  .links__logo--indeed img{ height:48px; }
}

/* =====================================================================
   先輩の声・インタビュー（濃紺見出し帯 + Article群）
   ===================================================================== */
.voices{ background:var(--c-main); }
/* Figma 2414:11296: py48・titleインスタンス h76（trim, gap24, pbなし） */
.voices__head{ display:flex; flex-direction:column; gap:24px; padding:48px 0; color:var(--c-white); }
.voices__title{ font-size:var(--fz-h1); font-weight:700; line-height:var(--lh-h1); letter-spacing:.48px;
  text-box-trim:trim-both; text-box-edge:cap alphabetic; }
.voices__en{ font-family:var(--ff-en); font-size:var(--fz-h4); font-weight:500; opacity:.92; letter-spacing:.24px; overflow-wrap:anywhere;
  text-box-trim:trim-both; text-box-edge:cap alphabetic; }
@media (max-width:767px){
  .voices__head{ padding:40px 0; gap:10px; }
  .voices__title{ font-size:24px; }
  .voices__en{ font-size:18px; }
}

/* Article：フル幅写真バナー＋ガラスカード → Q&A本文（薄グレー地） */
.article{ background:var(--c-grad-end); }
/* バナー写真はFigma帯(1440×558/603/626)と同一クロップ書き出し＝アスペクト固定で1:1マッピング。
   カードはFigmaのx=40（PC時はcontainer余白を無効化）。追いグラデはFigmaに無いため撤去。 */
.article__banner{ position:relative; background-image:var(--hero-img); background-size:cover; background-position:center;
  display:flex; align-items:flex-start; padding:40px; min-height:558px; } /* Figma 2423:5778 items-start */
.article__banner .container{ position:relative; z-index:1; }
@media (min-width:1024px){
  .article__banner .container{ padding-inline:0; max-width:none }
  .voices .article:nth-of-type(1) .article__banner{ aspect-ratio:1440/558; min-height:auto }
  .voices .article:nth-of-type(2) .article__banner{ aspect-ratio:1440/603; min-height:auto }
  .voices .article:nth-of-type(3) .article__banner{ aspect-ratio:1440/626; min-height:auto }
}
/* Figma 2423:5779: 幅580・px40 py96・gap32・タイトル40px/1.3（trim） */
.article__lead{ background:rgba(255,255,255,.88); border-radius:24px; padding:96px 40px;
  width:580px; max-width:100%; display:flex; flex-direction:column; gap:32px; color:#000; }
.article__lead-title{ font-size:40px; font-weight:700; line-height:1.3; letter-spacing:.4px;
  text-box-trim:trim-both; text-box-edge:cap alphabetic; }
.article__role{ font-size:var(--fz-h4); font-weight:700; line-height:var(--lh-h4); letter-spacing:.24px;
  text-box-trim:trim-both; text-box-edge:cap alphabetic; }
.article__intro{ font-size:var(--fz-body); line-height:var(--lh-body); }
/* Figma: ブロック間64（各Content pb64）＋末尾は pb64＋Article pb114＝178。Article3のみ pb114無し＝64 */
.article__body{ padding:88px 0 178px; }
.voices .article:nth-of-type(3) .article__body{ padding-bottom:64px; }
.article__body .container{ display:flex; flex-direction:column; gap:64px; }
.qa{ display:flex; flex-direction:column; gap:32px; color:#000; }
/* Figma Content(2423:5786等): 見出し40px/1.3 trim・見出し→Q=48・Q→A=32・A→次Q=48 */
.qa__heading{ font-size:40px; font-weight:700; line-height:1.3; letter-spacing:.4px; margin-bottom:16px;
  text-box-trim:trim-both; text-box-edge:cap alphabetic; }
.qa__q{ font-size:var(--fz-h4); font-weight:700; line-height:var(--lh-h4); letter-spacing:.24px; color:inherit; /* Figma=黒（青ではない） */
  text-box-trim:trim-both; text-box-edge:cap alphabetic; }
.qa__a + .qa__q{ margin-top:16px; } /* Figma 2423:5874: QnAブロック間=48 */
.qa__a{ display:flex; flex-direction:column; gap:0; } /* Figma: 段落間隔なしの連続行 */
.qa__a p{ font-size:var(--fz-body); line-height:var(--lh-body); }
/* 画像を横に並べる Q&A（Article3・Figma 2423:5898: gap48／内部TextBlockはgap32） */
.qa__split{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:start; }
.qa__split-text{ display:flex; flex-direction:column; gap:32px; }
.qa__split-text .qa__a + .qa__q{ margin-top:0; } /* こちらはFigmaでも32 */
.qa__split-media{ overflow:hidden; }
.qa__split-media img{ width:100%; height:auto; aspect-ratio:4096/2732; object-fit:cover; } /* Figma 012170579 */
@media (max-width:1023px){
  .article__banner{ min-height:440px; }
  .article__lead{ padding:64px 32px; gap:24px; }
  .article__lead-title{ font-size:28px; }
  .article__body{ padding:72px 0 88px; }
  .article__body .container{ gap:56px; }
  .qa__heading{ font-size:28px; }
}
@media (max-width:767px){
  /* 対応3: バナー背景をアイキャッチ(::before)として上に、カードあしらい削除で通常フロー
     （タイトル→名前→リード→QA）。human-development と同一処理。 */
  .article__banner{ display:block; min-height:0; padding:40px var(--pad-x-sp) 8px;
    background:var(--c-grad-end); background-image:none; aspect-ratio:auto; }
  .article__banner::before{ content:""; display:block; background-image:var(--hero-img);
    background-size:cover; background-position:74% center; aspect-ratio:3/2; margin-bottom:24px; }
  .article__banner .container{ display:block; padding-inline:0; max-width:none; }
  .article__lead{ width:100%; background:none; border-radius:0; padding:0; gap:12px; color:var(--c-main); } /* カードあしらい削除 */
  .article__lead-title{ font-size:22px; margin-bottom:24px; }
  .article__role{ font-size:18px; }
  .article__body{ padding:48px 0 56px; }
  .article__body .container{ gap:48px; }
  .voices .article:nth-of-type(3) .article__body{ padding-bottom:0; }
  .qa{ gap:24px; }
  .qa__heading{ font-size:24px; }
  .qa__q{ font-size:18px; text-indent:-20px; padding-left:20px; }
  .qa__split{ grid-template-columns:1fr; gap:28px; }
  .qa__split-media img{ min-height:220px; }
}
