@charset "UTF-8";
/* ============================================
   kt-recruit.css — /recruit/ 採用ページ 専用スタイル（初稿 v1 / 2026-07-29）
   仕様書: task-theme/recruit/spec.md（承認済み v3）
   依存: kt-home.css の :root デザイントークン
   配色: 黒 #1a1a1a / 白 #fff / グレー #f4f5f6・#f8f9fa / アクセント #e65100
   ⚠️ 青系は1箇所も使わない（feedback_kanitax_no_blue_ever.md）
   ⚠️ hover で color を変えない（opacity / border / transform のみ）
   設計: スマホファースト。メディアクエリは min-width のみ。
   ============================================ */

/* ============================================
   0. フルワイド強制（creation-checklist ②）
   PHPフィルターだけでは Lightning の新クラス命名規則に負けるため CSS でも強制
   ============================================ */
.kt-recruit-fullwidth #main,
.kt-recruit-fullwidth .main-section {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

.kt-recruit-fullwidth .sub-section,
.kt-recruit-fullwidth #sub_section {
  display: none !important;
}

.kt-recruit-fullwidth .site-body-container {
  max-width: 100% !important;
  padding: 0 !important;
}

/* ============================================
   1. ページ共通の土台
   ============================================ */
.kt-recruit {
  /* ページ内で使う暖色ティント。hex直書きを散らさないためここで1回だけ定義する
     （#e65100 アクセントの極薄版。青系ではない） */
  --kt-recruit-c-tint: #fffaf5;
  font-size: var(--kt-fs-body);
  line-height: var(--kt-lh-body);
  letter-spacing: var(--kt-ls-body);
  color: var(--kt-c-text);
  background: var(--kt-c-bg);
  overflow-x: hidden;
}

/* --- 【最重要】blanket scope: 配下すべての <a> を黒固定・hover色不変 ---
   ボタン（.kt-recruit-btn-main / .kt-recruit-btn-outline）は
   個別スタイルを潰さないため :not() で除外する
   memory: feedback_kanitax_blanket_scope_button_exclude.md */
.kt-recruit a:not(.kt-recruit-btn-main):not(.kt-recruit-btn-outline),
.kt-recruit a:not(.kt-recruit-btn-main):not(.kt-recruit-btn-outline):link,
.kt-recruit a:not(.kt-recruit-btn-main):not(.kt-recruit-btn-outline):visited,
.kt-recruit a:not(.kt-recruit-btn-main):not(.kt-recruit-btn-outline):hover,
.kt-recruit a:not(.kt-recruit-btn-main):not(.kt-recruit-btn-outline):focus,
.kt-recruit a:not(.kt-recruit-btn-main):not(.kt-recruit-btn-outline):active {
  color: #1a1a1a !important;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  transition: opacity .18s ease;
}

.kt-recruit a:not(.kt-recruit-btn-main):not(.kt-recruit-btn-outline):hover,
.kt-recruit a:not(.kt-recruit-btn-main):not(.kt-recruit-btn-outline):focus-visible {
  opacity: .65;
  text-decoration: underline;
}

/* --- Lightning 罠①: h3::after の下線装飾を全滅させる --- */
.kt-recruit h3::after,
.kt-recruit h3::before,
.kt-recruit-step-title::after,
.kt-recruit-step-title::before,
.kt-recruit-tl-title::after,
.kt-recruit-tl-title::before,
.kt-recruit-card-title::after,
.kt-recruit-card-title::before,
.kt-recruit-req-title::after,
.kt-recruit-req-title::before,
.kt-recruit-faq-q::after {
  content: none !important;
  display: none !important;
  border: none !important;
  border-bottom: none !important;
  background: none !important;
  width: 0 !important;
  height: 0 !important;
}

/* --- Lightning 罠②: li a / p a のデフォルト点線下線を打ち消す --- */
.kt-recruit li a,
.kt-recruit p a {
  text-decoration: none !important;
}

.kt-recruit li a:hover,
.kt-recruit li a:focus-visible,
.kt-recruit p a:hover,
.kt-recruit p a:focus-visible {
  text-decoration: none !important;
}

/* --- フォーカスリング（キーボード操作の可視化・必須） --- */
.kt-recruit a:focus-visible,
.kt-recruit button:focus-visible {
  outline: 2px solid #1a1a1a;
  outline-offset: 3px;
}

/* --- 共通の見出し・本文パーツ --- */
.kt-recruit-h2 {
  font-size: var(--kt-fs-h2);
  font-weight: 700;
  line-height: var(--kt-lh-heading);
  letter-spacing: var(--kt-ls-heading);
  color: var(--kt-c-text-strong);
  margin: 0 0 16px;
  text-align: left;
}

.kt-recruit-lead {
  font-size: var(--kt-fs-lead);
  font-weight: 700;
  line-height: var(--kt-lh-body);
  color: var(--kt-c-text-strong);
  margin: 0 0 32px;
  padding-left: 14px;
  border-left: 4px solid #e65100;
}

.kt-recruit-p {
  font-size: var(--kt-fs-body);
  line-height: var(--kt-lh-body-loose);
  color: var(--kt-c-text);
  margin: 0 0 20px;
}

.kt-recruit-p-strong {
  font-size: var(--kt-fs-body);
  font-weight: 700;
  color: var(--kt-c-text-strong);
}

.kt-recruit-note {
  font-size: var(--kt-fs-small);
  line-height: var(--kt-lh-body);
  color: var(--kt-c-text-sub);
  margin: 28px 0 0;
}

.kt-recruit-callout {
  font-size: var(--kt-fs-small);
  line-height: var(--kt-lh-body-loose);
  color: var(--kt-c-text-strong);
  background: #fff;
  border: 1px solid var(--kt-c-border);
  border-left: 4px solid #e65100;
  border-radius: var(--kt-radius-card);
  padding: 20px 22px;
  margin: 32px 0 0;
}

/* ============================================
   2. ボタン
   ============================================ */
.kt-recruit-btn-main,
.kt-recruit-btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 14px 28px;
  border-radius: var(--kt-radius-pill);
  font-size: var(--kt-fs-btn-main);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: var(--kt-ls-mixed);
  text-align: center;
  text-decoration: none !important;
  transition: opacity .18s ease, transform .2s ease;
}

.kt-recruit-btn-main,
.kt-recruit-btn-main:link,
.kt-recruit-btn-main:visited,
.kt-recruit-btn-main:hover,
.kt-recruit-btn-main:focus,
.kt-recruit-btn-main:active {
  background: #1a1a1a;
  color: #fff !important;
  border: 2px solid #1a1a1a;
}

.kt-recruit-btn-main:hover,
.kt-recruit-btn-main:focus-visible {
  opacity: .85;
  transform: translateY(-1px);
}

.kt-recruit-btn-outline,
.kt-recruit-btn-outline:link,
.kt-recruit-btn-outline:visited,
.kt-recruit-btn-outline:hover,
.kt-recruit-btn-outline:focus,
.kt-recruit-btn-outline:active {
  background: #fff;
  color: #1a1a1a !important;
  border: 2px solid #1a1a1a;
  font-size: var(--kt-fs-btn-outline);
}

.kt-recruit-btn-outline:hover,
.kt-recruit-btn-outline:focus-visible {
  opacity: .65;
  transform: translateY(-1px);
}

/* ============================================
   3. FV
   ============================================ */
.kt-recruit-fv {
  padding: 56px 20px 40px;
  background: linear-gradient(180deg, var(--kt-recruit-c-tint) 0%, #fff 100%);
  text-align: left;
}

.kt-recruit-fv-inner {
  max-width: 1080px;
  margin: 0 auto;
}

.kt-recruit-fv-h1 {
  font-size: clamp(28px, 7vw, 36px);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: var(--kt-ls-heading);
  color: #1a1a1a;
  margin: 0 0 20px;
}

.kt-recruit-fv-sub {
  font-size: var(--kt-fs-lead);
  line-height: 1.9;
  color: var(--kt-c-text);
  margin: 0 0 24px;
  max-width: 760px;
}

.kt-recruit-fv-badges {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0;
  margin: 0 0 28px;
}

.kt-recruit-fv-badge {
  font-size: var(--kt-fs-xs);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: var(--kt-ls-mixed);
  color: #1a1a1a;
  background: #fff;
  border: 2px solid #1a1a1a;
  border-radius: var(--kt-radius-pill);
  padding: 8px 18px;
}

.kt-recruit-fv-cta-row {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* ============================================
   4. FV直下の事実バー
   ============================================ */
.kt-recruit-facts {
  padding: 32px 20px;
  background: var(--kt-c-bg-soft);
}

.kt-recruit-facts-inner {
  max-width: 1080px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}

.kt-recruit-facts-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
}

.kt-recruit-facts-num {
  font-size: var(--kt-fs-num-key);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: var(--kt-ls-heading);
  color: #1a1a1a;
}

.kt-recruit-facts-label {
  font-size: var(--kt-fs-xs);
  line-height: 1.6;
  color: var(--kt-c-text-sub);
}

/* ============================================
   5. 実務経験セクション
   ============================================ */
.kt-recruit-work {
  padding: var(--kt-sp-section-mobile) 20px;
  background: #fff;
}

.kt-recruit-work-inner {
  max-width: 880px;
  margin: 0 auto;
}

.kt-recruit-work-body {
  margin: 0 0 40px;
}

.kt-recruit-steps {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  counter-reset: none;
}

.kt-recruit-step {
  background: var(--kt-c-bg-soft-2);
  border: 1px solid var(--kt-c-border);
  border-radius: var(--kt-radius-card-lg);
  padding: 24px 22px;
}

.kt-recruit-step-num {
  display: inline-block;
  font-size: var(--kt-fs-xs);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .1em;
  color: #e65100;
  margin: 0 0 10px;
}

.kt-recruit-step-title {
  font-size: var(--kt-fs-h3);
  font-weight: 700;
  line-height: var(--kt-lh-heading-tight);
  color: var(--kt-c-text-strong);
  margin: 0 0 10px;
  position: static;
}

.kt-recruit-step-desc {
  font-size: var(--kt-fs-small);
  line-height: var(--kt-lh-body);
  color: var(--kt-c-text);
  margin: 0;
}

/* ============================================
   6. freee×AI セクション
   ============================================ */
.kt-recruit-tech {
  padding: var(--kt-sp-section-mobile) 20px;
  background: var(--kt-c-bg-soft-2);
}

.kt-recruit-tech-inner {
  max-width: 1080px;
  margin: 0 auto;
}

.kt-recruit-tech-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
  align-items: start;
}

.kt-recruit-tech-text {
  font-size: var(--kt-fs-body);
}

.kt-recruit-tech-photos {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}

.kt-recruit-figure {
  margin: 0;
}

.kt-recruit-photo {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--kt-radius-card-lg);
  border: 1px solid var(--kt-c-border);
}

.kt-recruit-figcaption {
  font-size: var(--kt-fs-xs);
  line-height: 1.7;
  color: var(--kt-c-text-sub);
  margin: 10px 0 0;
}

/* ============================================
   7. 1日の流れ
   ============================================ */
.kt-recruit-day {
  padding: var(--kt-sp-section-mobile) 20px;
  background: #fff;
}

.kt-recruit-day-inner {
  max-width: 880px;
  margin: 0 auto;
}

.kt-recruit-timeline {
  list-style: none;
  padding: 0;
  margin: 0;
  border-left: 2px solid var(--kt-c-border);
}

.kt-recruit-tl-item {
  position: relative;
  padding: 0 0 28px 24px;
}

.kt-recruit-tl-item::before {
  content: "";
  position: absolute;
  left: -7px;
  top: 8px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #1a1a1a;
}

.kt-recruit-tl-item:last-child {
  padding-bottom: 0;
}

.kt-recruit-tl-time {
  display: block;
  font-size: var(--kt-fs-xs);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .08em;
  color: #e65100;
  margin: 0 0 4px;
}

.kt-recruit-tl-body {
  font-size: var(--kt-fs-small);
}

.kt-recruit-tl-title {
  font-size: var(--kt-fs-h4);
  font-weight: 700;
  line-height: var(--kt-lh-heading-tight);
  color: var(--kt-c-text-strong);
  margin: 0 0 6px;
  position: static;
}

.kt-recruit-tl-desc {
  font-size: var(--kt-fs-small);
  line-height: var(--kt-lh-body);
  color: var(--kt-c-text);
  margin: 0;
}

/* ============================================
   8. ここを選ぶ理由（対比表）
   ============================================ */
.kt-recruit-choose {
  padding: var(--kt-sp-section-mobile) 20px;
  background: var(--kt-c-bg-soft);
}

.kt-recruit-choose-inner {
  max-width: 1000px;
  margin: 0 auto;
}

.kt-recruit-table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.kt-recruit-table {
  width: 100%;
  min-width: 560px;
  border-collapse: collapse;
  background: #fff;
  font-size: var(--kt-fs-small);
}

.kt-recruit-th {
  font-size: var(--kt-fs-xs);
  font-weight: 700;
  line-height: 1.6;
  color: #fff;
  background: #1a1a1a;
  text-align: left;
  padding: 14px 16px;
  border: 1px solid #1a1a1a;
  vertical-align: middle;
}

.kt-recruit-th-own {
  font-size: var(--kt-fs-xs);
  background: #e65100;
  border-color: #e65100;
}

.kt-recruit-th-row {
  font-size: var(--kt-fs-xs);
  font-weight: 700;
  line-height: 1.6;
  color: var(--kt-c-text-strong);
  background: var(--kt-c-bg-soft);
  text-align: left;
  padding: 14px 16px;
  border: 1px solid var(--kt-c-border);
  vertical-align: top;
  white-space: nowrap;
}

.kt-recruit-td {
  font-size: var(--kt-fs-xs);
  line-height: var(--kt-lh-body);
  color: var(--kt-c-text);
  padding: 14px 16px;
  border: 1px solid var(--kt-c-border);
  vertical-align: top;
}

.kt-recruit-td-own {
  font-size: var(--kt-fs-xs);
  font-weight: 700;
  color: var(--kt-c-text-strong);
  background: var(--kt-recruit-c-tint);
}

/* ============================================
   9. 代表からのメッセージ
   ============================================ */
.kt-recruit-message {
  padding: var(--kt-sp-section-mobile) 20px;
  background: #fff;
}

.kt-recruit-message-inner {
  max-width: 1000px;
  margin: 0 auto;
}

.kt-recruit-message-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  align-items: start;
}

.kt-recruit-message-photo {
  font-size: var(--kt-fs-xs);
}

.kt-recruit-message-text {
  font-size: var(--kt-fs-body);
}

.kt-recruit-profile {
  margin: 28px 0 0;
  padding: 20px 22px;
  background: var(--kt-c-bg-soft);
  border-radius: var(--kt-radius-card);
}

.kt-recruit-profile-name {
  font-size: var(--kt-fs-h4);
  font-weight: 700;
  line-height: 1.5;
  color: var(--kt-c-text-strong);
  margin: 0 0 6px;
}

.kt-recruit-profile-role {
  font-size: var(--kt-fs-xs);
  line-height: 1.7;
  color: var(--kt-c-text-sub);
  margin: 0;
}

/* ============================================
   10. 税理士試験との両立
   ============================================ */
.kt-recruit-exam {
  padding: var(--kt-sp-section-mobile) 20px;
  background: var(--kt-c-bg-soft-2);
}

.kt-recruit-exam-inner {
  max-width: 1080px;
  margin: 0 auto;
}

.kt-recruit-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.kt-recruit-card {
  background: #fff;
  border: 1px solid var(--kt-c-border);
  border-top: 4px solid #e65100;
  border-radius: var(--kt-radius-card-lg);
  padding: 24px 22px;
}

.kt-recruit-card-title {
  font-size: var(--kt-fs-h4);
  font-weight: 700;
  line-height: var(--kt-lh-heading-tight);
  color: var(--kt-c-text-strong);
  margin: 0 0 10px;
  position: static;
}

.kt-recruit-card-desc {
  font-size: var(--kt-fs-small);
  line-height: var(--kt-lh-body);
  color: var(--kt-c-text);
  margin: 0;
}

/* ============================================
   11. 募集要項
   ============================================ */
.kt-recruit-req {
  padding: var(--kt-sp-section-mobile) 20px;
  background: #fff;
}

.kt-recruit-req-inner {
  max-width: 880px;
  margin: 0 auto;
}

.kt-recruit-req-title {
  font-size: var(--kt-fs-h3);
  font-weight: 700;
  line-height: var(--kt-lh-heading-tight);
  color: var(--kt-c-text-strong);
  margin: 40px 0 16px;
  padding: 0 0 8px;
  border-bottom: 2px solid #1a1a1a;
  position: static;
}

.kt-recruit-table-req {
  min-width: 480px;
}

.kt-recruit-table-req .kt-recruit-th-row {
  width: 30%;
  white-space: normal;
}

/* ============================================
   12. FAQ
   ============================================ */
.kt-recruit-faq {
  padding: var(--kt-sp-section-mobile) 20px;
  background: var(--kt-c-bg-soft);
}

.kt-recruit-faq-inner {
  max-width: 880px;
  margin: 0 auto;
}

.kt-recruit-faq-item {
  background: #fff;
  border: 1px solid var(--kt-c-border);
  border-radius: var(--kt-radius-card-lg);
  padding: 24px 22px;
  margin: 0 0 14px;
}

.kt-recruit-faq-q {
  font-size: var(--kt-fs-h4);
  font-weight: 700;
  line-height: var(--kt-lh-heading-tight);
  color: var(--kt-c-text-strong);
  margin: 0 0 12px;
  padding: 0 0 0 34px;
  position: relative;
}

/* Q ラベル。Lightning の h3::after 打ち消しルール（.kt-recruit h3::before = 0,1,1）に
   確実に勝たせるため、セレクタ specificity を 0,3,0 まで上げて !important を併用する */
.kt-recruit .kt-recruit-faq-item .kt-recruit-faq-q::before {
  content: "Q." !important;
  display: block !important;
  position: absolute;
  left: 0;
  top: 0;
  width: auto !important;
  height: auto !important;
  font-size: var(--kt-fs-h4);
  font-weight: 700;
  line-height: inherit;
  color: #e65100;
}

.kt-recruit-faq-a {
  font-size: var(--kt-fs-small);
  line-height: var(--kt-lh-body-loose);
  color: var(--kt-c-text);
  margin: 0;
  padding: 0 0 0 34px;
  position: relative;
}

.kt-recruit-faq-a::before {
  content: "A.";
  position: absolute;
  left: 0;
  top: 0;
  font-size: var(--kt-fs-small);
  font-weight: 700;
  line-height: inherit;
  color: var(--kt-c-text-muted);
}

/* ============================================
   13. 応募CTA
   ============================================ */
.kt-recruit-cta {
  padding: var(--kt-sp-section-mobile) 20px;
  background: #1a1a1a;
  text-align: center;
}

.kt-recruit-cta-inner {
  max-width: 880px;
  margin: 0 auto;
}

.kt-recruit-cta-title {
  font-size: var(--kt-fs-h2);
  font-weight: 700;
  line-height: var(--kt-lh-heading);
  letter-spacing: var(--kt-ls-heading);
  color: #fff;
  margin: 0 0 16px;
}

.kt-recruit-cta-lead {
  font-size: var(--kt-fs-small);
  line-height: var(--kt-lh-cta);
  color: #fff;
  margin: 0 0 32px;
}

.kt-recruit-flow {
  list-style: none;
  padding: 0;
  margin: 0 0 32px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.kt-recruit-flow-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  background: #fff;
  border-radius: var(--kt-radius-card);
  padding: 16px 18px;
}

.kt-recruit-flow-num {
  font-size: var(--kt-fs-xs);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .1em;
  color: #e65100;
}

.kt-recruit-flow-text {
  font-size: var(--kt-fs-xs);
  font-weight: 700;
  line-height: 1.6;
  color: #1a1a1a;
}

.kt-recruit-cta-row {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0 0 24px;
}

/* --- 応募書類ブロック（黒背景CTA内の白カード） --- */
.kt-recruit-docs {
  background: #fff;
  border-radius: var(--kt-radius-card);
  padding: 22px 24px;
  margin: 0 0 28px;
  text-align: left;
}

.kt-recruit-docs-title {
  font-size: var(--kt-fs-h4);
  font-weight: 700;
  line-height: 1.5;
  color: #1a1a1a;
  margin: 0 0 10px;
}

.kt-recruit-docs-text {
  font-size: var(--kt-fs-small);
  line-height: var(--kt-lh-body);
  color: #1a1a1a;
  margin: 0 0 8px;
}

.kt-recruit-docs-text:last-child {
  margin-bottom: 0;
}

/* メールリンクは黒背景セクション内でも白カード上なので黒文字・下線固定 */
.kt-recruit .kt-recruit-docs-mail,
.kt-recruit .kt-recruit-docs-mail:link,
.kt-recruit .kt-recruit-docs-mail:visited,
.kt-recruit .kt-recruit-docs-mail:hover,
.kt-recruit .kt-recruit-docs-mail:focus,
.kt-recruit .kt-recruit-docs-mail:active {
  font-size: var(--kt-fs-small);
  font-weight: 700;
  color: #1a1a1a !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

/* CTA内ボタンは黒背景の上に乗るため、outline を白枠・白文字で反転 */
.kt-recruit-cta .kt-recruit-btn-main,
.kt-recruit-cta .kt-recruit-btn-main:link,
.kt-recruit-cta .kt-recruit-btn-main:visited,
.kt-recruit-cta .kt-recruit-btn-main:hover,
.kt-recruit-cta .kt-recruit-btn-main:focus,
.kt-recruit-cta .kt-recruit-btn-main:active {
  background: #fff;
  color: #1a1a1a !important;
  border: 2px solid #fff;
}

.kt-recruit-cta .kt-recruit-btn-outline,
.kt-recruit-cta .kt-recruit-btn-outline:link,
.kt-recruit-cta .kt-recruit-btn-outline:visited,
.kt-recruit-cta .kt-recruit-btn-outline:hover,
.kt-recruit-cta .kt-recruit-btn-outline:focus,
.kt-recruit-cta .kt-recruit-btn-outline:active {
  background: transparent;
  color: #fff !important;
  border: 2px solid #fff;
}

.kt-recruit-cta a:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

.kt-recruit-cta-note {
  font-size: var(--kt-fs-xs);
  line-height: var(--kt-lh-body);
  color: #fff;
  margin: 0;
  opacity: .9;
}

/* ============================================
   14. タブレット以上（min-width: 768px）
   ============================================ */
@media (min-width: 768px) {
  .kt-recruit-fv {
    padding: 80px 32px 56px;
  }

  .kt-recruit-fv-cta-row {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 16px;
  }

  .kt-recruit-facts {
    padding: 40px 32px;
  }

  .kt-recruit-facts-inner {
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }

  .kt-recruit-work,
  .kt-recruit-tech,
  .kt-recruit-day,
  .kt-recruit-choose,
  .kt-recruit-message,
  .kt-recruit-exam,
  .kt-recruit-req,
  .kt-recruit-faq,
  .kt-recruit-cta {
    padding-left: 32px;
    padding-right: 32px;
  }

  .kt-recruit-steps {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }

  .kt-recruit-cards {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }

  .kt-recruit-flow {
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
  }

  .kt-recruit-cta-row {
    flex-direction: row;
    justify-content: center;
    gap: 16px;
  }

  .kt-recruit-tech-photos {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ============================================
   15. デスクトップ（min-width: 1024px）
   ============================================ */
@media (min-width: 1024px) {
  .kt-recruit-fv {
    padding: 104px 40px 72px;
  }

  .kt-recruit-fv-h1 {
    font-size: clamp(36px, 3.4vw, 46px);
  }

  .kt-recruit-work,
  .kt-recruit-tech,
  .kt-recruit-day,
  .kt-recruit-choose,
  .kt-recruit-message,
  .kt-recruit-exam,
  .kt-recruit-req,
  .kt-recruit-faq,
  .kt-recruit-cta {
    padding-top: var(--kt-sp-section-pc);
    padding-bottom: var(--kt-sp-section-pc);
    padding-left: 40px;
    padding-right: 40px;
  }

  .kt-recruit-tech-grid {
    grid-template-columns: 1.1fr 1fr;
    gap: 48px;
  }

  .kt-recruit-tech-photos {
    grid-template-columns: 1fr;
  }

  .kt-recruit-message-grid {
    grid-template-columns: 380px 1fr;
    gap: 48px;
  }

  .kt-recruit-table,
  .kt-recruit-table-req {
    min-width: 0;
  }

  .kt-recruit-faq-item {
    padding: 28px 32px;
  }
}

/* ============================================
   16. 採用ページでは顧客向けフローティングCTAを非表示
   （経営者向け「無料で問い合わせる」は求職者には無関係のため）
   ============================================ */
.kt-recruit-fullwidth .kt-floating-cta,
.kt-recruit-fullwidth #ktFloatingCta {
  display: none !important;
}
