@charset "UTF-8";
/* ==========================================================================
   recruit.css — 採用TOP（11 recruit.html） ページ専用
   参照：CLAUDE.md §3・§4・§6、カンプ 11_recruit_pc_01〜04（PCのみ・SP無し）
   読み込み順：base.css → common.css → page/recruit.css（url は ../../images/…）
   ・下層共通：c-masthead / c-heading / c-heading--page / c-breadcrumb を流用
   ・SP無し → TOP/features/works/service/company の縮退ルール（768px境界）で展開
   ========================================================================== */

.p-recruit {
  /* 識別色（カンプ実測。IDEAL PERSONピル／FAQ Aアイコン5色巡回に使用。
     service --sv-01〜05・company の plan色と同系。他ページ確定でトークン昇格） */
  --rc-01: var(--c-blue);   /* #2673BC 青（ピル1／A01） */
  --rc-02: #8AC54B;         /* 緑（ピル2／A02） */
  --rc-03: #1DA3A2;         /* 青緑（ピル3／A03） */
  --rc-04: #15668C;         /* 濃紺（A04） */
  --rc-05: #C5B74B;         /* オリーブ（A05） */
  --rc-label-bg: #D7E7F7;   /* 募集要項テーブル ラベルセル背景（淡ブルー） */
}

/* ==========================================================================
   ヒーロー（英字マストヘッド＋和文h1＋左パンくず/右写真2枚）＝service/company と同型
   ========================================================================== */
.p-recruit-hero { padding-block: var(--sp-6) 0; }

.p-recruit-hero__lower {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--sp-6);
  margin-top: var(--sp-3);
}

.p-recruit-hero .c-breadcrumb { padding-block: var(--sp-2) 0; }

.p-recruit-hero__photos {
  display: flex;
  flex-shrink: 0;
  gap: var(--sp-4);
}

.p-recruit-hero__photo {
  display: block;
  width: min(28vw, 345px);
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 12px;
}

/* ==========================================================================
   MESSAGE（左＝赤アクセントの大キャッチ＋本文／右＝ポートレート）
   ========================================================================== */
.p-recruit-message { padding-block: var(--sp-16) var(--sp-10); } /* 写真下に80pxの空き（写真が最も高い要素＝下端がセクション下端） */

.p-recruit-message__body {
  display: grid;
  grid-template-columns: 1fr min(30vw, 384px);
  gap: var(--sp-8);
  align-items: start;
}

.p-recruit-message__catch {
  font-size: 2.875rem;  /* 46px（指定） */
  font-weight: 700;     /* bold（指定） */
  line-height: 1.78;    /* 行間82px相当（82/46。指定） */
  color: var(--c-text); /* #282728（指定） */
}

/* 「経営者の想い」＝アクセント赤（斜体にしない） */
.p-recruit-message__accent {
  font-style: normal;
  color: var(--c-accent);
}

.p-recruit-message__lead {
  margin-top: var(--sp-6);
  max-width: 760px; /* box最大幅760px（指定） */
}

.p-recruit-message__lead p {
  font-size: var(--fs-base); /* 16px */
  font-weight: 500;          /* medium（指定） */
  line-height: var(--line-body);
}

/* 段落間の余分な空き（1行分の空白）を除去＝本文を連続表示（指定：本文の余分な改行を消す） */
.p-recruit-message__lead p + p { margin-top: 0; }

.p-recruit-message__figure { margin: 0; }

.p-recruit-message__figure img {
  width: 100%;
  aspect-ratio: 10 / 13; /* 支給画像 800×1040 の実比率（トリミングなし） */
  object-fit: cover;
  border-radius: 16px;
}

/* ==========================================================================
   IDEAL PERSON（淡背景・3色ピル＋説明／右上に赤キャッチ／下に写真クラスタ）
   ========================================================================== */
.p-recruit-ideal {
  padding-block: var(--sp-16);
  background: var(--c-bg-tint);
}

.p-recruit-ideal__top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, auto);
  gap: var(--sp-8);
  align-items: start;
}

.p-recruit-ideal__lead {
  font-size: var(--fs-base);
  line-height: var(--line-body);
}

/* SP修正02/06：タブレット・SP（≤1024px）用の改行・区切り制御フック。
   __br＝PCでは無効・≤1024pxで有効な<br>（MESSAGEキャッチ／募集要項ラベル）
   __brsep＝≤1024pxのみ表示する「・」（福利厚生・社内制度の1行化用） */
.p-recruit-message__br,
.p-recruit-details__br { display: none; }
.p-recruit-details__brsep { display: none; }

@media (min-width: 1025px) {
  .p-recruit-details__br { display: inline; }
}

@media (max-width: 1024px) {
  .p-recruit-message__br { display: inline; }
  .p-recruit-details__brsep { display: inline; }
}

.p-recruit-ideal__list { margin-top: var(--sp-8); }

.p-recruit-ideal__item { --rc: var(--rc-01); }
.p-recruit-ideal__item + .p-recruit-ideal__item { margin-top: var(--sp-6); }
.p-recruit-ideal__item--01 { --rc: var(--rc-01); }
.p-recruit-ideal__item--02 { --rc: var(--rc-02); }
.p-recruit-ideal__item--03 { --rc: var(--rc-03); }

/* 色付きピル */
.p-recruit-ideal__pill {
  display: block;
  padding: 16px 30px; /* 天地16px・左右30px（指定） */
  border-radius: 999px;
  background: var(--rc);
  color: var(--c-white);
  font-size: 1.5rem;  /* 24px（指定） */
  font-weight: 900;   /* black（指定） */
  line-height: 1.4;
}

.p-recruit-ideal__desc {
  margin-top: var(--sp-3);
  padding-inline: var(--sp-1);
  font-size: var(--fs-base); /* 16px */
  font-weight: 500;          /* medium（指定） */
  line-height: var(--line-body);
}

/* 赤キャッチの枠（grid右列アイテム）。JSが幅/高さを実測固定し、キャッチが固定化しても枠が残る＝レイアウトずれ防止 */
.p-recruit-ideal__catch-slot { align-self: start; }

/* 右上のキャッチ（#282728 ベース・右寄せ。キーフレーズのみアクセント赤） */
.p-recruit-ideal__catch {
  margin: 0;
  text-align: right;
  font-size: 2.25rem;   /* 36px（指定） */
  font-weight: 900;     /* black（指定） */
  line-height: 1.9;
  color: var(--c-text); /* #282728（指定） */
  white-space: nowrap;
}

/* フェード制御：PCでJSが下部固定を管理する間だけ付与（初期は透明→出現時にフェードイン）。
   SP／JS無効時は付与されず通常表示（不透明）。 */
.p-recruit-ideal__catch.is-fadeable {
  opacity: 0;
  transition: opacity .5s var(--ease);
}

/* 出現後：画面右下へ固定（right/bottom はJSが指定。ENTRY接近時は bottom を持ち上げて退避）。装飾のためクリック透過。
   opacity は is-fadeable の 0 から .5s でフェードイン（is-pinned が後勝ちで 1） */
.p-recruit-ideal__catch.is-pinned {
  position: fixed;
  bottom: var(--sp-3);
  z-index: 1; /* 静的セクション（IDEAL/FAQ淡色背景）より前面／RECRUITMENT DETAILS(z-2 白背景)の背後 */
  pointer-events: none;
  opacity: 1;
}

/* モーション配慮：フェードのトランジションのみ無効化（即時表示） */
@media (prefers-reduced-motion: reduce) {
  .p-recruit-ideal__catch.is-fadeable { transition: none; }
}

/* キーフレーズ「経営者の人生に寄り添う」＝アクセント赤（サイズはベースと同一＝36px） */
.p-recruit-ideal__catch strong {
  color: var(--c-accent);
  font-weight: 900;
}

/* 写真クラスタ（スタッガード配置。装飾＝aria-hidden） */
/* 写真クラスタ（RECRUITMENT DETAILS 上部・スタッガード配置・装飾）。
   DETAILS が position:relative; z-index:2（白背景）なので、写真はその子として固定キャッチ(z-1)の前面
   ＝キャッチはこのセクション＝写真の背後を通る（別途 z-index 指定は不要）。 */
.p-recruit-details__photos {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: start;
  gap: var(--sp-6);
  margin-bottom: var(--sp-12); /* 見出しとの間隔 */
}

.p-recruit-details__photo img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: 12px;
}

/* 縦オフセットでスタッガード感（カンプ：中央が下がり、左右が上下にずれる） */
.p-recruit-details__photo--1 { margin-top: 0; }
.p-recruit-details__photo--2 { margin-top: var(--sp-12); }
.p-recruit-details__photo--3 { margin-top: var(--sp-5); }

/* ==========================================================================
   RECRUITMENT DETAILS（募集要項テーブル：左＝淡ブルーラベル／右＝・箇条書き値）
   ========================================================================== */
/* 白背景を固定キャッチ（is-pinned＝z-index:1）の前面に置く。
   ＝キャッチはこのセクションを通過するとき白背景の“後ろ”を通る（IDEAL/FAQの淡色背景は静的なのでキャッチが前面のまま） */
.p-recruit-details {
  position: relative;
  z-index: 2;
  padding-block: var(--sp-16) 0;
  background: var(--c-white);
}

.p-recruit-details__table {
  width: 850px;          /* 表幅850px */
  max-width: 100%;
  margin-right: auto;    /* 左寄せ（コンテンツ左端基準） */
  margin-bottom: 90px;   /* 表の下に90px（指定） */
  table-layout: auto;    /* 左列は内容幅、余り幅は右列が吸収 */
  border-collapse: collapse;
}

/* 横罫線のみ #707070 1px（左右＝縦の罫線なし。border-collapse で行間は1本に集約） */
.p-recruit-details__table th,
.p-recruit-details__table td {
  border-top: 1px solid var(--c-line);    /* #707070 */
  border-bottom: 1px solid var(--c-line); /* #707070 */
  vertical-align: middle;
}

/* 左列：#D7E7F7・16px bold・パディング30px。右側（列間）にも縦罫線（内側のみ＝表の外周は無し） */
.p-recruit-details__table th {
  width: 1%;                             /* 内容＋左右pad(30px)で最小化。余り幅は右列が吸収 */
  white-space: nowrap;                   /* ラベルは<br>位置のみで改行（内容幅を維持） */
  padding: 30px;                         /* 左右padding30px（天地も30px） */
  border-right: 1px solid var(--c-line); /* 左列の右側ボーダー #707070 */
  background: var(--rc-label-bg);        /* #D7E7F7 */
  color: var(--c-text);
  font-size: 1rem;                       /* 16px */
  font-weight: 700;                      /* bold */
  line-height: 1.5;
  text-align: center;
}

/* 右列：16px regular・行36px。左列との間は詰める（小さめの左padding） */
.p-recruit-details__table td {
  padding: 20px 0 20px 20px;
}

.p-recruit-details__values > li {
  position: relative;
  padding-left: 1.1em;
  font-size: 1rem;      /* 16px */
  font-weight: 400;     /* regular */
  line-height: 36px;    /* 行36px */
}

.p-recruit-details__values > li::before {
  content: "・";
  position: absolute;
  left: 0;
}

.p-recruit-details__values > li + li { margin-top: 0; } /* 行36pxで十分な間隔 */

/* 値内の補足行（※・住所2行目など。行頭「・」の位置に合わせ左を揃える） */
.p-recruit-details__sub {
  display: block;
  margin-top: 4px;
}

/* ==========================================================================
   FAQ（淡背景・Q&Aアコーディオン。白角丸カード）
   ========================================================================== */
.p-recruit-faq {
  padding-block: var(--sp-16);
  background: var(--c-bg-tint);
}

/* セクションタイトルとカードの間 90px（指定） */
.p-recruit-faq .c-heading { margin-bottom: 90px; }

.p-recruit-faq__list { margin-top: 0; }

.p-recruit-faq__item {
  max-width: 795px;      /* カード最大横幅795px・左揃え（ブロック既定で左寄せ） */
  background: var(--c-white);
  border-radius: 16px;
  box-shadow: 0 2px 14px -8px rgba(7, 52, 89, .25);
}

.p-recruit-faq__item + .p-recruit-faq__item { margin-top: var(--sp-5); }

.p-recruit-faq__q { font-size: inherit; font-weight: inherit; }

/* Q行（トリガーボタン：Qバッジ｜質問｜開閉トグル）。バッジ列58px。
   下padding40px＝Q丸下端〜A丸上端の間隔40px（10px空き＋20pxコネクタ＋10px空き） */
.p-recruit-faq__trigger {
  display: grid;
  grid-template-columns: 58px 1fr auto;
  align-items: center;
  gap: var(--sp-3);
  width: 100%;
  padding: 30px 40px 40px;
  text-align: left;
}

/* 丸バッジ（Q＝黒丸／A＝色巡回）。58px・白文字・欧文Bold */
.p-recruit-faq__badge {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  font-family: var(--font-en-bold); /* Bold英字＝差し替えフック */
  font-size: 1.75rem; /* 28px */
  font-weight: 700;
  line-height: 1;
  color: var(--c-white);
}

.p-recruit-faq__badge--q { background: var(--c-text); }

.p-recruit-faq__badge--a { align-self: start; position: relative; }

/* Q⇔A のコネクタ（縦線）。#282728・2px・長さ20px。円との間は上下それぞれ10px空ける
   （bottom: 100%+10px でA丸上端から10px上に配置。Q丸下端との間も10px＝トリガー下pad40px） */
.p-recruit-faq__badge--a::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: calc(100% + 10px);
  width: 2px;
  height: 20px;
  background: var(--c-text); /* #282728 */
  transform: translateX(-50%);
}

.p-recruit-faq__badge--a01 { background: var(--rc-01); }
.p-recruit-faq__badge--a02 { background: var(--rc-02); }
.p-recruit-faq__badge--a03 { background: var(--rc-03); }
.p-recruit-faq__badge--a04 { background: var(--rc-04); }
.p-recruit-faq__badge--a05 { background: var(--rc-05); }

.p-recruit-faq__question {
  font-size: 1.125rem; /* 18px（指定：26px→18pxへ変更） */
  font-weight: 700;    /* Bold */
  line-height: 1.5;
  color: var(--rc-01); /* #2673BC */
}

/* 開閉トグル（＋＝閉／−＝開）。2本線を疑似要素で描画し、開時は縦線を消す */
.p-recruit-faq__toggle {
  position: relative;
  flex-shrink: 0;
  width: 22px;
  height: 22px;
}

.p-recruit-faq__toggle::before,
.p-recruit-faq__toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: var(--c-text);
  border-radius: 1px;
}

.p-recruit-faq__toggle::before { /* 横線（常時） */
  width: 22px;
  height: 2px;
  transform: translate(-50%, -50%);
}

.p-recruit-faq__toggle::after { /* 縦線（閉時のみ＝＋） */
  width: 2px;
  height: 22px;
  transform: translate(-50%, -50%);
  transition: opacity var(--dur) var(--ease);
}

.p-recruit-faq__item.is-open .p-recruit-faq__toggle::after { opacity: 0; }

/* A行（Aバッジ｜回答）。閉時は hidden 属性で非表示（display 指定が [hidden] を上書きするため明示） */
.p-recruit-faq__a[hidden] { display: none; }

.p-recruit-faq__a {
  display: grid;
  grid-template-columns: 58px 1fr;      /* バッジ列58px（Q行と揃える） */
  gap: var(--sp-3);
  padding: 0 67px var(--sp-5) 40px;     /* 右67px＝本文ボックス右端〜カード右端／左40px */
}

/* Aタイトル：16px bold #000000（指定） */
.p-recruit-faq__answer-lead {
  font-size: var(--fs-base); /* 16px */
  font-weight: 700;          /* bold */
  line-height: 1.8;
  color: #000000;            /* 指定（※CLAUDE.md §3の純黒非推奨よりユーザー指定を優先） */
}

/* A本文：16px・行32px・#282728（指定） */
.p-recruit-faq__answer p:not(.p-recruit-faq__answer-lead) {
  margin-top: var(--sp-2);
  font-size: var(--fs-base); /* 16px */
  font-weight: 400;          /* regular */
  line-height: 32px;         /* 行32px */
  color: var(--c-text);      /* #282728 */
}

/* ==========================================================================
   ENTRY バナー（青→青緑の斜めグラデ帯＋細枠フレーム。c-contact の代替）
   ========================================================================== */
.p-recruit-entry { padding-block: var(--sp-16) 0; }

.p-recruit-entry__frame {
  padding: var(--sp-1);
  border: 1px solid var(--c-text);
}

.p-recruit-entry__inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-6);
  min-height: 280px;
  padding: var(--sp-8) clamp(32px, 5vw, 72px);
  /* 支給CSS参照のグラデ。角度は14度（水平から14°傾いた下向き右＝CSS 104deg。
     参考の standard 133.53deg＝43.53°傾きを14°に変更） */
  background: linear-gradient(76deg,
    rgba(29, 163, 162, 1) 0%,
    rgba(38, 115, 188, 1) 18.7%,
    rgba(29, 163, 162, 1) 43.8%,
    rgba(67, 177, 181, 0.86) 54.2%,
    rgba(165, 182, 196, 1) 100%);
  color: var(--c-white);
  overflow: hidden;
}

/* ホバー：グラデーションを差し替え（支給CSS .st0 参照。青始まり→青緑→青→青灰）。
   グラデ同士は transition 不可のため ::after に重ねて opacity でクロスフェード。
   角度はデフォルト面と同じ104deg（参考の133.53degを14°傾きへ変更したルールを踏襲） */
.p-recruit-entry__inner::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(76deg,
    rgba(38, 115, 188, 1) 0%,
    rgba(29, 163, 162, 1) 18.7%,
    rgba(38, 115, 188, 1) 43.8%,
    rgba(38, 115, 188, 1) 54.2%,
    rgba(165, 182, 196, 1) 100%);
  opacity: 0;
  transition: opacity var(--dur) var(--ease);
  pointer-events: none;
}

.p-recruit-entry__inner:hover::after,
.p-recruit-entry__inner:focus-visible::after { opacity: 1; }

.p-recruit-entry__body { position: relative; z-index: 1; }

.p-recruit-entry__title {
  font-family: var(--font-en-bold); /* Bold英字＝差し替えフック */
  font-size: clamp(3rem, 1.9rem + 4.5vw, 4.6875rem); /* 48→75px（指定：ENTRY 75px） */
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}

.p-recruit-entry__text {
  margin-top: var(--sp-4);
  font-size: .9375rem; /* 15px（PC。旧18px。ユーザー指示 2026-08-28。SPは39bで15px確定済み） */
  font-weight: 700;
  line-height: 1.8;
}

.p-recruit-entry__action {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  align-self: flex-end;
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--fs-base); /* 16px（指定） */
  font-weight: 500;          /* Medium（指定） */
  letter-spacing: 0;
}

.p-recruit-entry__arrow { transition: transform var(--dur) var(--ease); }

.p-recruit-entry__inner:hover .p-recruit-entry__arrow,
.p-recruit-entry__inner:focus-visible .p-recruit-entry__arrow {
  transform: translateX(8px);
}

@media (prefers-reduced-motion: reduce) {
  .p-recruit-entry__inner::after,
  .p-recruit-entry__arrow,
  .p-recruit-faq__toggle::after { transition: none; }
}

/* ==========================================================================
   レスポンシブ（SPカンプ未支給＝TOP/features/service/company のSP縮退で展開）
   ========================================================================== */
@media (max-width: 900px) {
  .p-recruit-message__body { grid-template-columns: 1fr; gap: var(--sp-6); }
  .p-recruit-message__figure { max-width: 384px; }

  .p-recruit-ideal__top { grid-template-columns: 1fr; gap: var(--sp-6); }
  .p-recruit-ideal__catch-slot { order: -1; } /* SP系：赤キャッチを先頭へ（≤900px は固定を無効化＝通常フロー） */
  .p-recruit-ideal__catch {
    text-align: left;
    white-space: normal;
  }
}

@media (max-width: 767px) {
  .p-recruit-hero { padding-block: var(--sp-4) 0; }
  .p-recruit-hero__lower { flex-direction: column; gap: var(--sp-5); }
  .p-recruit-hero__photos { width: 100%; }
  .p-recruit-hero__photo { flex: 1 1 0; min-width: 0; width: auto; }

  .p-recruit-message { padding-block: var(--sp-10) 0; }
  .p-recruit-message__catch { font-size: 1.5rem; } /* SP:24px（SPカンプの縮退比率に合わせ46px→24px） */

  .p-recruit-ideal { padding-block: var(--sp-10); }
  .p-recruit-ideal__pill { font-size: 1.125rem; padding: 16px 20px; }
  .p-recruit-ideal__catch { font-size: 1.5rem; } /* SP：36px→24pxへ縮退（SPカンプの縮退比率に合わせる） */

  /* SP修正04：本文→最初のピル48px／ピル→説明文24px（基底値のまま）／説明文→次のピル36px（指定34〜40px） */
  .p-recruit-ideal__list { margin-top: var(--sp-6); }
  .p-recruit-ideal__item + .p-recruit-ideal__item { margin-top: 36px; }

  /* 写真クラスタ：縦積み・オフセット解除 */
  .p-recruit-details__photos { grid-template-columns: 1fr; gap: var(--sp-4); margin-bottom: var(--sp-8); }
  .p-recruit-details__photo { margin-top: 0 !important; }

  .p-recruit-details { padding-block: var(--sp-10) 0; }
  /* テーブル：ラベルを上・値を下の縦積み（横並びだと値が窮屈なため） */
  .p-recruit-details__table { width: 100%; }
  .p-recruit-details__table,
  .p-recruit-details__table tbody,
  .p-recruit-details__table tr { display: block; }
  .p-recruit-details__table th {
    display: block;
    width: 100%;
    padding: 8px var(--sp-3); /* SP修正06：帯の高さ40px（8px＋行高24px＋8px） */
    border: none;              /* SP：ラベルは背景バーのみ（縦積みの二重罫線回避） */
    text-align: center;        /* ラベルバーは全幅センター（company の縦積みパターンと統一） */
  }
  .p-recruit-details__table td {
    display: block;
    padding: 20px var(--sp-1) var(--sp-4); /* SP修正06：帯→内容のパディング20px */
    border-top: none;
    border-bottom: 1px solid var(--c-line); /* 行区切り #707070 */
  }

  .p-recruit-faq { padding-block: var(--sp-10); }
  .p-recruit-faq .c-heading { margin-bottom: var(--sp-6); } /* SP：タイトル間隔は縮退 */
  .p-recruit-faq__item { max-width: none; }
  .p-recruit-faq__item + .p-recruit-faq__item { margin-top: 30px; } /* SP修正08：カード間隔30px */
  .p-recruit-faq__trigger { grid-template-columns: 40px 1fr auto; padding: var(--sp-2); gap: var(--sp-1); } /* 目視追補8/31：pad 32→16px・gap 24→8px・バッジ列44→40px＝Q文を2行以内に */
  .p-recruit-faq__badge { width: 40px; height: 40px; font-size: 1.25rem; } /* 目視追補8/31：44→40px */
  .p-recruit-faq__question { font-size: .875rem; } /* SP：14px（目視追補8/31＝パディング詰めでもQ4/Q5が3行のため15px→14px。38時点は15px） */
  /* A（リード・本文）も16px→15px（38 §3。行間は従来のまま） */
  .p-recruit-faq__answer-lead,
  .p-recruit-faq__answer p:not(.p-recruit-faq__answer-lead) { font-size: .9375rem; }
  /* 募集要項の行間 36px→29px（38 §6-1・FN 8/27） */
  .p-recruit-details__values > li { line-height: 29px; }
  .p-recruit-faq__a { grid-template-columns: 44px 1fr; padding: 0 var(--sp-4) var(--sp-4); gap: var(--sp-3); }

  .p-recruit-entry { padding-block: var(--sp-10) 0; }

  /* ENTRY下の空き（フッターまで）をENTRY上と同値に（80px。Hiroshi指示）。
     下の空きは共通 .l-main の padding-block-end（128px）なので、このページのときだけ上書きする。
     :has 非対応ブラウザでは従来どおり128px＝表示は成立する（グレースフルデグラデーション）。
     ※PCは上下とも128pxで既に同値のため、SPのみの調整 */
  .l-main:has(> .p-recruit) { padding-block-end: var(--sp-10); }
  /* 39a→39b（FN 8/27）：カンプ（comps/sp/Web 1920 – 1.png 左上ENTRYタイル）の画素実測値をそのまま適用。
     実測（枠線除く本体）：W343×H170・角丸8px（多点フィット）・pad 上24/左20/右18/下20・
     ENTRYキャップ高28px（Montserrat ExtraBold 比0.70→40px）・本文ink13px→15px/行送り28px・
     見出しink下端→本文ink上端25px・本文ink下端→CTA ink上端24px・CTA ink11px→14px */
  .p-recruit-entry__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 9px;                         /* 本文→CTAのink間24pxの再現値（実測照合で調整） */
    min-height: 170px;                /* カンプ実測H */
    padding: 18px 16px 12px 18px;     /* ink位置がカンプ実測（上24/左21/右17/下20）に一致する行ボックス補正後の値 */
    border-radius: 8px;               /* カンプ実測 */
  }
  .p-recruit-entry__title { font-size: 40px; } /* キャップ高28px÷0.70（39a=30pxを実測で更新） */
  .p-recruit-entry__text {
    margin-top: 11px;                 /* 見出しink→本文ink 25pxの再現値（実測照合で調整） */
    font-size: .9375rem;              /* 15px（ink実測13px） */
    line-height: 28px;                /* 行送り実測28px */
  }
  .p-recruit-entry__action { align-self: flex-end; gap: 4px; font-size: .875rem; } /* 右寄せ・矢印密着・14px（ink実測11px） */
}
