/* =========================================================
   recruit 共通パーツ (新採用サイト: 下層ページ用)
   ヘッダー / ドロワー / CTA / フッター / トップへ戻る / reveal
   ※本番CSS(common.css等)と共存する前提。ヘッダーは<div>で
     common.cssの header{position:fixed} を回避する。
   ========================================================= */
:root {
  --lab-blue:        #1c3faa;
  --lab-blue-deep:   #16337e;
  --lab-grad-violet: #6d28d9;
  --lab-grad-blue:   #2563eb;
  --lab-ink:         #1a2333;
  --lab-gothic: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  --lab-mincho: "Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
}
.lab-header, .lab-header *, .lab-menu, .lab-menu *,
.lab-cta, .lab-cta *, .lab-footer, .lab-footer *, .lab-totop {
  box-sizing: border-box; margin: 0; padding: 0;
}
.lab-header a, .lab-menu a, .lab-cta a, .lab-footer a { text-decoration: none; }
.lab-menu ul, .lab-footer ul { list-style: none; }

/* 下層ページ: 固定ヘッダー(92px)分のクリアランス(旧10rem指定を置換) */
body.recruit01a-page, body.recruit01b-page, body.recruit01c-page,
body.recruit02a-page, body.recruit02b-page, body.recruit02c-page,
body.recruit02d-page, body.recruit03-page { padding-top: 92px; background: #fff; }

/* ページ間クロスフェード(View Transitions API: 遅延ゼロ・非対応ブラウザは通常遷移) */
@media (prefers-reduced-motion: no-preference) {
  @view-transition { navigation: auto; }
}

/* ============ header ============ */
.lab-header {
  display: flex; align-items: flex-start; height: 92px;
  font-family: var(--lab-gothic); line-height: 1.8;
}
.lab-header--flow {
  position: fixed; top: 0; left: 0; right: 0; z-index: 95;
  background: rgba(255, 255, 255, .72);
  -webkit-backdrop-filter: blur(12px) saturate(1.5);
  backdrop-filter: blur(12px) saturate(1.5);
  box-shadow: 0 2px 18px rgba(18, 23, 30, .08);
}
.lab-header-logo { padding: 30px 0 0 46px; }
.lab-header-logo img { display: block; width: 227px; height: auto; max-width: none; }
.lab-header-right { margin-left: auto; display: flex; align-items: stretch; height: 92px; }
.lab-header-jobs {
  display: flex; align-items: center; padding: 0 34px;
  font-weight: 900; font-size: 16.8px; color: var(--lab-ink);
}
.lab-header-entry {
  display: flex; align-items: center; gap: 14px; padding: 0 52px;
  background: linear-gradient(100deg, var(--lab-grad-violet) 0%, var(--lab-grad-blue) 82%);
  color: #fff; font-family: var(--lab-gothic); font-weight: 700; font-size: 27.2px;
}
.lab-header-entry svg { width: 30px; height: 30px; fill: #fff; }
.lab-header-menu {
  width: 128px; background: #0c0c0c; color: #fff; border: 0; cursor: pointer;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
  font-family: var(--lab-gothic); font-size: 18.4px;
}
.lab-header-menu .bars { display: block; width: 52px; }
.lab-header-menu .bars span { display: block; height: 4px; background: #fff; margin: 7px 0; }
.lab-header-tag {
  align-self: flex-start; padding: 34px 0 0 22px;
  font-weight: 700; font-size: 16.8px; letter-spacing: .1em; color: var(--lab-ink);
  white-space: nowrap;
}

/* ============ drawer ============ */
.lab-menu {
  position: fixed; inset: 0; z-index: 100;
  background: rgba(16, 26, 43, .35);
  opacity: 0; visibility: hidden; transition: opacity .45s ease, visibility .45s;
  overflow-y: auto;
  font-family: var(--lab-gothic); line-height: 1.8;
}
.lab-menu.is-open { opacity: 1; visibility: visible; }
.lab-menu-panel {
  background: rgba(228, 238, 247, .98);
  backdrop-filter: blur(6px);
  box-shadow: 0 24px 48px -20px rgba(16, 26, 43, .4);
}
.lab-menu-cols .col, .lab-menu-bottom {
  opacity: 0; transform: translateY(20px);
  transition: opacity .55s ease, transform .55s cubic-bezier(.22, .61, .36, 1);
}
.lab-menu.is-open .lab-menu-cols .col:nth-child(1) { opacity: 1; transform: none; transition-delay: .1s; }
.lab-menu.is-open .lab-menu-cols .col:nth-child(2) { opacity: 1; transform: none; transition-delay: .19s; }
.lab-menu.is-open .lab-menu-cols .col:nth-child(3) { opacity: 1; transform: none; transition-delay: .28s; }
.lab-menu.is-open .lab-menu-bottom { opacity: 1; transform: none; transition-delay: .37s; }
.lab-menu-top { display: flex; align-items: flex-start; height: 92px; }
.lab-menu-toplink {
  display: flex; align-items: center; gap: 12px; padding: 31px 0 0 44px;
  font-weight: 900; font-size: 18.4px; color: var(--lab-ink);
}
.lab-menu-toplink .chev { width: .62em; height: .78em; fill: var(--lab-blue); }
.lab-menu-close {
  width: 128px; height: 92px; background: #0c0c0c; color: #fff; border: 0; cursor: pointer;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
  font-family: var(--lab-gothic); font-size: 18.4px;
}
.lab-menu-close .x { position: relative; width: 52px; height: 22px; display: block; }
.lab-menu-close .x::before, .lab-menu-close .x::after {
  content: ""; position: absolute; left: 0; top: 50%; width: 100%; height: 4px; background: #fff;
}
.lab-menu-close .x::before { transform: rotate(14deg); }
.lab-menu-close .x::after { transform: rotate(-14deg); }
.lab-menu-cols {
  display: grid; grid-template-columns: repeat(3, auto); gap: 40px 110px;
  justify-content: center; padding: 48px 40px 20px;
}
/* common.cssの nav ul{display:flex} / nav li a{display:table-cell} を打ち消す */
.lab-menu-cols ul { display: block; height: auto; text-align: left; }
.lab-menu-cols li { height: auto; }
.lab-menu-cols .head a, .lab-menu-cols li a {
  display: flex; align-items: center; gap: 26px; justify-content: space-between;
  color: var(--lab-blue-deep); font-weight: 900; padding: 13px 0;
  line-height: 1.8; /* 本番CSSのline-height上書き対策(トップと同一化) */
}
.lab-menu-cols .head a { font-family: var(--lab-gothic); font-size: 24px; font-weight: 700; }
.lab-menu-cols li a { font-size: 20px; font-weight: 700; }
.lab-menu-cols .chev { width: .7em; height: .85em; fill: var(--lab-blue); flex-shrink: 0; }
.lab-menu-bottom { display: flex; align-items: center; gap: 24px; justify-content: center; padding: 12px 24px 44px; }
.lab-menu-ig svg { width: 42px; height: 42px; display: block; }
.lab-menu-corp {
  display: inline-block; color: #fff; font-weight: 900; font-size: 16.8px; letter-spacing: .22em; text-indent: .22em;
  background: linear-gradient(100deg, var(--lab-grad-violet) 0%, var(--lab-grad-blue) 85%);
  padding: 14px 58px; border-radius: 999px; transition: opacity .25s;
}
.lab-menu-corp:hover { opacity: .85; }

/* ============ SP改行 / reveal / totop ============ */
.sp-br { display: none; }
.js-reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s ease, transform .8s cubic-bezier(.22, .61, .36, 1); }
.js-reveal.is-in { opacity: 1; transform: none; }
.lab-totop {
  position: fixed; right: 22px; bottom: 22px; z-index: 90;
  width: 52px; height: 52px; border-radius: 50%;
  background: linear-gradient(135deg, var(--lab-grad-violet), var(--lab-grad-blue));
  border: 0; cursor: pointer; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 10px 24px -8px rgba(37, 99, 235, .55);
  opacity: 0; visibility: hidden; transform: translateY(12px);
  transition: opacity .35s, transform .35s, visibility .35s;
}
.lab-totop.is-show { opacity: 1; visibility: visible; transform: none; }
.lab-totop:hover { opacity: .85; }
.lab-totop svg { width: 15px; height: 19px; fill: #fff; transform: rotate(-90deg); }

/* ============ CTA ============ */
.lab-cta {
  background: linear-gradient(100deg, var(--lab-grad-violet) 0%, var(--lab-grad-blue) 85%);
  padding: 120px 24px; text-align: center; color: #fff;
  font-family: var(--lab-gothic); line-height: 1.8;
}
.lab-cta .lead { font-family: var(--lab-mincho); font-weight: 700; font-size: clamp(20.8px, 2.4vw, 32px); letter-spacing: .08em; }
.lab-cta-btns { margin-top: 44px; display: flex; gap: 26px; justify-content: center; flex-wrap: wrap; }
.lab-cta-btns a {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  min-width: 330px;
  font-weight: 700; font-size: 17.6px; letter-spacing: .06em;
  padding: 18px 40px; border-radius: 999px; transition: opacity .25s;
}
.lab-cta-btns .entry { background: #fff; color: var(--lab-grad-blue); font-family: var(--lab-gothic); font-size: 21.6px; }
.lab-cta-btns .entry:hover { opacity: .85; }
.lab-cta-btns .entry svg { width: 24px; height: 24px; fill: var(--lab-grad-blue); }
.lab-cta-btns .yoko {
  border: 2px solid rgba(255, 255, 255, .8); color: #fff;
  transition: background .3s ease, color .3s ease, border-color .3s ease;
}
.lab-cta-btns .yoko:hover, .lab-cta-btns .yoko:focus-visible { background: #fff; color: var(--lab-grad-blue); border-color: #fff; }

/* ============ footer ============ */
.lab-footer { padding: 56px 24px 40px; text-align: center; background: #333132; font-family: var(--lab-gothic); line-height: 1.8; }
/* recruit.cssの body.recruitXX-page footer{padding:0;border-top:...}(詳細度0-1-2)に勝つ上書き(0-2-2) */
body[class] footer.lab-footer { padding: 56px 24px 40px; border-top: 0; margin-top: 0; background: #333132; }
.lab-footer > img { width: 227px; height: auto; margin: 0 auto 18px; display: block; }
.lab-footer-links { display: flex; gap: 36px; justify-content: center; flex-wrap: wrap; margin-bottom: 20px; }
.lab-footer-links a {
  display: inline-flex; align-items: center; gap: 8px;
  color: #fff; font-weight: 700; font-size: 14.4px; transition: opacity .25s;
}
.lab-footer-links a:hover { opacity: .7; }
.lab-footer-links .chev { width: .6em; height: .75em; fill: #fff; }
.lab-footer small { color: #fff; font-size: 12.5px; letter-spacing: .08em; }

/* グレインテクスチャ(グラデ背景=CTA限定) */
.lab-cta { position: relative; z-index: 0; }
.lab-cta::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: -1;
  background-image: url("data:image/png;base64,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");
  opacity: .5;
}


/* リンクホバー: 色は変えず、ふわっと浮かす */
.lab-header-jobs, .lab-menu-toplink, .lab-menu-cols .head a, .lab-menu-cols li a, .lab-footer-links a {
  transition: transform .3s cubic-bezier(.22, .61, .36, 1);
}
.lab-header-jobs:hover { color: var(--lab-ink); transform: translateY(-3px); }
.lab-menu-toplink:hover { color: var(--lab-ink); transform: translateY(-3px); }
.lab-menu-cols .head a:hover, .lab-menu-cols li a:hover { color: var(--lab-blue-deep); transform: translateY(-3px); }
.lab-footer-links a:hover { opacity: 1; color: #fff; transform: translateY(-3px); }
.lab-menu-corp:hover { opacity: 1; transform: translateY(-3px); }
.lab-menu-corp { transition: transform .3s cubic-bezier(.22, .61, .36, 1); }
@media (prefers-reduced-motion: reduce) {
  .lab-header-jobs:hover, .lab-menu-toplink:hover, .lab-menu-cols .head a:hover,
  .lab-menu-cols li a:hover, .lab-footer-links a:hover, .lab-menu-corp:hover { transform: none; }
}

/* アイコンホバー: 飛行機/インスタ/ハンバーガー2本線もふわっと浮かす */
.lab-header-entry svg, .lab-cta-btns .entry svg, .lab-menu-ig svg, .lab-header-menu .bars {
  transition: transform .3s cubic-bezier(.22, .61, .36, 1);
}
.lab-header-entry:hover svg, .lab-cta-btns .entry:hover svg,
.lab-menu-ig:hover svg, .lab-header-menu:hover .bars { transform: translateY(-3px); }
@media (prefers-reduced-motion: reduce) {
  .lab-header-entry:hover svg, .lab-cta-btns .entry:hover svg,
  .lab-menu-ig:hover svg, .lab-header-menu:hover .bars { transform: none; }
}

/* ============ 下層コンテンツ共通調整 (recruit02aの共有部分を全下層へ) ============ */
/* 英文見出し(Cormorant明朝系)をゴシックへ */
body[class] .recruit01_c-kv-en, body[class] .recruit01_c-kv-role,
body[class] .recruit02_c-careerstep-year,
body[class] .recruit02_c-event-card-no,
body[class] .recruit01_c-qa-q::before,
body[class] .recruit01_c-timeline-time,
body[class] .recruit03_c-flow-no,
body[class] .recruit01_c-chapter-title {
  font-family: var(--lab-gothic);
  font-weight: 700;
}
/* 採用トップへ戻る: 金下線削除+ふわっと浮上ホバー */
body[class] .recruit01_c-related-head a {
  border-bottom: 0; padding-bottom: 0;
  transition: transform .3s cubic-bezier(.22, .61, .36, 1);
}
body[class] .recruit01_c-related-head a:hover { color: #1a3a6e; transform: translateY(-3px); }
/* 関連ナビのホバー枠をゴールド→ブルーへ */
body[class] .recruit01_c-related-list li a:hover { border-color: #1c3faa; }
/* KV下V字帯(旧ストライプ塗り)を白へ */
body[class] .subVisual::before, body[class] .subVisual::after { background: #fff; }

/* ゴールド(#c79a3a)アクセントをブルー系へ統一 */
body[class] .recruit01_c-chapter-no,
body[class] .recruit01_c-profile-info h4 i,
body[class] .recruit01_c-qa-q::before,
body[class] .recruit01_c-qa-q i,
body[class] .recruit01_c-timeline-time i,
body[class] .recruit02_c-careerstep-year,
body[class] .recruit02_c-event-card-no,
body[class] .recruit03_c-defs-desc a.link_text,
body[class] .recruit03_c-flow-step::after,
body[class] .recruit03_c-flow-no,
body[class] .recruit03_c-entry-link { color: #1c3faa; }
body[class] .recruit01_c-profile-career,
body[class] .recruit01_c-qa--note,
body[class] .recruit02_c-model-title,
body[class] .recruit02_c-subtitle { border-left-color: #1c3faa; }
body[class] .recruit01_c-timeline-item::before { border-color: #1c3faa; }
body[class] .recruit02_c-benefit-card:hover { border-color: #1c3faa; }

/* ============ 下層 文字サイズ最適化 (本文16px/補足15px、トップと統一) ============ */
body[class] .recruit01_c-qa-a,
body[class] .recruit01_c-message-body,
body[class] .recruit01_c-timeline-text,
body[class] .recruit02_c-intro,
body[class] .recruit02_c-careerstep-lead,
body[class] .recruit02_c-careerstep-text,
body[class] .recruit02_c-event-card-text,
body[class] .recruit03_c-defs-desc,
body[class] .recruit03_c-lead { font-size: 16px; line-height: 1.9; }
body[class] .recruit01_c-profile-career,
body[class] .recruit01_c-profile-info,
body[class] .recruit02_c-stat-card-label,
body[class] .recruit03_c-defs-term,
body[class] .recruit01_c-related-head a,
body[class] .recruit01_c-related-list li a { font-size: 15px; line-height: 1.8; }
body[class] .recruit01_c-profile-info h4,
body[class] .recruit01_c-message-title,
body[class] .recruit02_c-benefit-card-title,
body[class] .recruit02_c-subtitle,
body[class] .recruit03_c-flow-title { font-size: 16px; }

/* ============ SP ============ */
@media (max-width: 860px) {
  body.recruit01a-page, body.recruit01b-page, body.recruit01c-page,
  body.recruit02a-page, body.recruit02b-page, body.recruit02c-page,
  body.recruit02d-page, body.recruit03-page { padding-top: 72px; }
  .lab-header-logo { padding: 20px 0 0 12px; }
  .lab-header-logo img { width: 150px; }
  .lab-header, .lab-header-right { height: 72px; }
  .lab-header-jobs { display: none; }
  .lab-header-tag { display: none; }
  .lab-header-entry { padding: 0 16px; font-size: 16.8px; gap: 7px; }
  .lab-header-entry svg { width: 20px; height: 20px; }
  .lab-header-menu { width: 68px; font-size: 12.5px; }
  .lab-header-menu .bars { width: 34px; }
  .lab-header-menu .bars span { height: 3px; margin: 5px 0; }
  .lab-menu-top { height: 72px; }
  .lab-menu-toplink { display: none; }
  .lab-menu-close { width: 68px; height: 72px; font-size: 12.5px; }
  .lab-menu-close .x { width: 34px; height: 15px; }
  .lab-menu-close .x::before, .lab-menu-close .x::after { height: 3px; }
  .lab-menu-cols { grid-template-columns: 1fr; gap: 8px; padding: 40px 34px 10px; }
  .lab-menu-cols .head a { font-size: 20px; }
  .lab-menu-cols li a { font-size: 16.8px; padding: 10px 0; }
  .lab-menu-bottom { flex-direction: column; gap: 16px; padding: 8px 24px 32px; }
  .lab-menu-corp { padding: 12px 46px; font-size: 15.2px; }
  .lab-cta-btns a { min-width: min(330px, 86vw); }
  .lab-totop { right: 14px; bottom: 14px; width: 46px; height: 46px; }
  .sp-br { display: inline; }
}
@media (prefers-reduced-motion: reduce) {
  .lab-menu, .lab-menu-cols .col, .lab-menu-bottom { transition-duration: 0s; transition-delay: 0s; transform: none; }
  .js-reveal { transition: none; opacity: 1; transform: none; }
}
