/* 採用「3分で分かるウララ歯科クリニック」 /recruit/about（templates/recruit/about.mjs）
   色・書体・余白は tokens.css の変数だけ。ブレークポイントは min-width 600 / 768 / 1080 の 4 段（768〜1079 は展開した折りたたみ）。
   100vh・center+overflow-x・body overflow-x:hidden・ch 単位は使わない。
   参照との照合（2026-09-18 capture/compare/recruit__about）: 〜1079 は所属学会他＋学校医が 1 枚の白カード、職種カードは 1 列（460）、
   RECRUIT INFO は見出し→カードの縦積み（max 560）。PC は 2 枚カード・3 列・5:7 の 2 段組。 */

/* ---------- ページ見出し ---------- */
.abt-head h1 { font-size: clamp(24px, 1.2rem + 1.6vw, 40px); }
@media (min-width: 600px) { .abt-br { display: none; } }
/* 目次ピル: 〜599 は 1 列（2 列だと 344 で「大切にする姿勢」が折れる）/ 768〜1079 は 2×2 を中央に（open841 の実測）/ 1080〜 は横 1 行 */
.abt-head .anchor-nav ul { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 600px) { .abt-head .anchor-nav ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 768px) and (max-width: 1079px) {
  .abt-head { padding: 48px 0 56px; }
  .abt-head .anchor-nav { margin-top: 48px; }
  .abt-head .anchor-nav ul { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 640px; margin-inline: auto; }
}
@media (min-width: 1080px) { .abt-head { padding: 100px 0 56px; } }

/* ---------- MESSAGE 理事長ご挨拶 ---------- */
.abt-message {
  --abt-photo-w: 190px;
  --abt-vt-fs: clamp(18px, 0.75rem + 1vw, 24px);
  --abt-vt-step: 40px;   /* 縦書き箱を 1 本ごとに下へずらす量 */
  --abt-vt-in: 20px;     /* 内側の箱が写真に重なる量（600〜 は箱 1 本ぶん） */
  padding-top: 80px;     /* 目次ピル→MESSAGE の間（実測 132〜135） */
}
.abt-msg-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; }
/* 写真＋縦書きの白箱: 3 列グリッド（左箱｜写真｜右箱）。内側の箱は写真に重なり、外側の箱は写真の外。container の外には出ない */
.abt-visual { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: start; justify-items: center; }
.abt-photo { width: var(--abt-photo-w); }
.abt-photo img { width: 100%; aspect-ratio: 2 / 3; object-fit: cover; border-radius: 0; }
.abt-vt { display: flex; flex-direction: row-reverse; align-items: flex-start; gap: 6px; }
.abt-vt-left { justify-self: end; margin-right: calc(-1 * var(--abt-vt-in)); padding-top: 72px; position: relative; z-index: 1; }
.abt-vt-right { justify-self: start; margin-left: calc(-1 * var(--abt-vt-in)); position: relative; z-index: 1; }
.abt-vt-line { writing-mode: vertical-rl; display: block; background: var(--c-white); color: var(--c-orange); font-family: var(--f-round); font-size: var(--abt-vt-fs); letter-spacing: var(--ls-vertical); line-height: 1; padding: 12px 8px; white-space: nowrap; margin-top: calc(var(--i, 0) * var(--abt-vt-step)); }
.abt-name { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 16px; }
.abt-position { font-size: 13px; letter-spacing: 0.06em; }
.abt-name-txt { font-family: var(--f-round); font-size: clamp(20px, 1.1rem + 0.5vw, 26px); letter-spacing: 0.1em; }
.abt-name-side { display: none; }   /* 写真の下の氏名（原本 PC だけ 2 か所目に出る）。1080〜 で表示 */
/* 経歴: 点線の上下。年 84px ＋ 本文 14px（fold344 の実測） */
.abt-career { margin: 0; border-top: var(--dash); border-bottom: var(--dash); padding: 32px 8px 32px 16px; display: grid; gap: 14px; font-size: 14px; line-height: 1.7; }
.abt-career-row { display: grid; grid-template-columns: 84px minmax(0, 1fr); column-gap: 8px; }
.abt-career-row.no-year dd { grid-column: 1 / -1; }
.abt-career-row.no-year + .abt-career-row.no-year { margin-top: 2px; }
.abt-career dt { color: var(--c-ink-deep); }
.abt-career dd { margin: 0; display: grid; }
.abt-body { font-size: 15px; line-height: var(--lh-loose); letter-spacing: 0.06em; }
.abt-body p + p { margin-top: 1.4em; }
.abt-body strong { color: var(--c-orange); }
/* 白カード（所属学会他・学校医）。〜1079 は 2 枚を 1 枚の白面に見せる（プレビューどおり）。1080〜 で 2 枚に分かれる */
.abt-cards { display: grid; gap: 0; margin-top: 48px; }
.abt-card { position: relative; padding: 32px 24px; }
.abt-cards .abt-card-aff { border-bottom-left-radius: 0; border-bottom-right-radius: 0; padding-bottom: 16px; }
.abt-cards .abt-card-school { border-top-left-radius: 0; border-top-right-radius: 0; padding-top: 32px; }
.abt-card-title { font-size: 16px; color: var(--c-orange); letter-spacing: 0.06em; margin-bottom: 16px; }
.abt-list { display: flex; flex-wrap: wrap; gap: 14px 22px; font-size: 15px; line-height: 1.7; }
.abt-list li { flex: 0 1 auto; min-width: 100%; padding-left: 1.1em; text-indent: -1.1em; }
.abt-list li::before { content: "・"; color: var(--c-ink-deep); }
.abt-card-school .abt-list li { min-width: 100%; }
.abt-card-decor { display: none; }
@media (min-width: 600px) {
  .abt-message { --abt-photo-w: 260px; --abt-vt-step: 48px; --abt-vt-in: calc(var(--abt-vt-fs) + 16px); }
  .abt-vt-left { padding-top: 88px; }
  .abt-vt-right .abt-vt-line { margin-top: calc(var(--i, 0) * var(--abt-vt-step) + 8px); }
  .abt-career { padding: 32px 24px 32px 32px; }
  .abt-card { padding: 40px 32px; }
  .abt-cards .abt-card-aff { padding-bottom: 24px; }
  .abt-cards .abt-card-school { padding-top: 40px; padding-right: 140px; }
  /* 項目は「229px 以上・自然幅」で流す。8〜10 文字なら 2 つ並び、12 文字超は 1 行（pc1280 の並びを再現） */
  .abt-list li { min-width: 229px; }
  .abt-card-decor { display: block; position: absolute; right: 28px; top: 50%; transform: translateY(-50%); width: 72px; }
  .abt-card-decor img { width: 100%; height: auto; }
}
@media (min-width: 768px) {
  .abt-message { --abt-photo-w: 400px; --abt-vt-step: 56px; }
  .abt-vt-left { padding-top: 96px; }
  .abt-msg-grid { gap: 40px; }
  .abt-body { font-size: 16px; }
  .abt-cards { margin-top: 64px; }
  .abt-card-decor { width: 91px; }
}
@media (min-width: 1080px) {
  .abt-message { --abt-photo-w: 368px; }
  .abt-msg-grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); column-gap: 80px; row-gap: 40px; grid-template-areas: "visual name" "visual body" "career body"; align-items: start; }
  .abt-visual { grid-area: visual; }
  .abt-name { grid-area: name; }
  .abt-body { grid-area: body; }
  .abt-career { grid-area: career; margin-top: 8px; }
  /* 原本 pc1440: 写真の下にも「理事長 石井 敏裕」（縦書き箱の下端 → 50 → 氏名 → 48 → 経歴の点線）。
     本文が長いので伸びる分は最後の行（1fr）に寄せ、写真・氏名・経歴は詰めて並べる */
  .abt-msg-grid { grid-template-rows: auto auto auto 1fr; grid-template-areas: "visual name" "visual body" "sname body" "career body"; }
  .abt-name-side { display: flex; grid-area: sname; margin-top: 10px; }
  .abt-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; margin-top: 80px; }
  .abt-cards .abt-card { padding: 48px 32px; border-radius: var(--r-m); }
  .abt-cards .abt-card-school { padding-right: 160px; }
}

/* ---------- 私たちが大切にする姿勢（四隅の写真＋中央の標語） ---------- */
.abt-guide-title { display: inline-block; font-size: clamp(16px, 0.9rem + 0.5vw, 20px); color: var(--c-orange); border-top: var(--dash); border-bottom: var(--dash); padding: 12px 8px; margin-bottom: 24px; letter-spacing: 0.06em; }
.abt-stmt { display: grid; justify-items: center; gap: 6px; font-family: var(--f-round); font-size: clamp(20px, 0.9rem + 1.2vw, 32px); line-height: 1.5; letter-spacing: 0.02em; color: var(--c-ink-deep); }
.abt-stmt-line.is-boxed > span { display: inline-block; background: var(--c-white); color: var(--c-orange); padding: 2px 16px; border-radius: 4px; }
.abt-collage.collage-about { text-align: center; align-items: center; }
/* 〜599: 写真は左右の端（gutter の外側＝画面端）に細く 4 枚。標語は全幅で中央（fold344 の実測。写真は文字に被せない） */
.abt-collage.collage-about .collage-center { padding: 24px 0; }
/* 写真の割り当て（content の並び: 1 集合写真・2 カウンセリング・3 タブレット・4 医師）。プレビューの配置に合わせて位置を上書き */
.abt-collage.collage-about .collage-item img { border-radius: var(--r-m); }
.abt-collage.collage-about .collage-1 { left: calc(-1 * var(--gutter)); right: auto; top: auto; bottom: 48px; width: 44px; height: 76px; }
.abt-collage.collage-about .collage-2 { left: auto; right: calc(-1 * var(--gutter)); top: 100px; bottom: auto; width: 44px; height: 100px; }
.abt-collage.collage-about .collage-3 { left: calc(-1 * var(--gutter)); right: auto; top: 80px; bottom: auto; width: 44px; height: 100px; }
.abt-collage.collage-about .collage-4 { left: auto; right: calc(-1 * var(--gutter)); top: auto; bottom: 16px; width: 44px; height: 72px; }
.abt-collage.collage-about .collage-item img { border-radius: 8px; }
@media (min-width: 600px) {
  .abt-stmt { letter-spacing: 0.06em; }
  .abt-collage.collage-about .collage-center { padding: 40px 32px; }
  .abt-collage.collage-about .collage-item img { border-radius: var(--r-m); }
  .abt-collage.collage-about .collage-1 { left: -8px; bottom: 0; width: 140px; height: 96px; }
  .abt-collage.collage-about .collage-2 { right: -8px; top: 24px; width: 130px; height: 96px; }
  .abt-collage.collage-about .collage-3 { left: 0; top: 0; width: 84px; height: 100px; }
  .abt-collage.collage-about .collage-4 { right: 0; bottom: 0; width: 84px; height: 100px; }
}
@media (min-width: 768px) {
  /* open841 の実測: 見出しの下に写真 4 枚が標語を囲む。高さは中身なり（min-height で間延びさせない） */
  .abt-collage.collage-about { min-height: 0; padding: 0; }
  .abt-collage.collage-about .collage-center { max-width: 360px; padding: 0 0 8px; }
  .abt-collage.collage-about .collage-1 { left: auto; right: 0; top: 64px; bottom: auto; width: 200px; height: 130px; }
  .abt-collage.collage-about .collage-2 { left: 0; right: auto; top: auto; bottom: 40px; width: 200px; height: 130px; }
  .abt-collage.collage-about .collage-3 { left: 56px; top: 48px; width: 118px; height: 118px; }
  .abt-collage.collage-about .collage-4 { right: 28px; bottom: 24px; width: 118px; height: 118px; }
}
@media (min-width: 1080px) {
  .abt-collage.collage-about { min-height: 560px; padding: 0; }
  .abt-collage.collage-about .collage-center { max-width: 480px; padding: 40px 0; }
  .abt-collage.collage-about .collage-1 { right: -12px; top: 40px; width: 306px; height: 196px; }
  .abt-collage.collage-about .collage-2 { left: -16px; bottom: 40px; width: 306px; height: 306px; }
  .abt-collage.collage-about .collage-3 { left: 24px; top: 0; width: 178px; height: 178px; }
  .abt-collage.collage-about .collage-4 { right: 32px; bottom: 0; width: 178px; height: 178px; }
}
/* 流れる「URALA DENTAL CLINIC」（親で clip。中央揃えではなく translateX のアニメ） */
.abt-marquee { margin-top: 40px; }
.abt-marquee-track { display: flex; width: max-content; font-family: var(--f-en); font-weight: 400; font-size: clamp(40px, 2rem + 3vw, 80px); line-height: 1.2; letter-spacing: 0.25em; color: var(--c-peach-soft); white-space: nowrap; animation: abt-marquee 60s linear infinite; }
.abt-marquee-track span { padding-right: 1em; }
@keyframes abt-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (min-width: 768px) { .abt-marquee { margin-top: 48px; } }
@media (min-width: 1080px) { .abt-marquee { margin-top: 64px; } }

/* ---------- グラデ面（上辺が楕円に膨らむ）: HISTORY・RECRUIT INFO ---------- */
.abt-arc { position: relative; padding: 120px 0 var(--section-y); }
.abt-arc::before { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(180deg, var(--c-hero-yellow) 0%, var(--c-hero-mid) 32%, var(--c-cream) 70%); border-radius: 50% 50% 0 0 / 80px; }
.abt-arc > .container { position: relative; z-index: 1; }
@media (min-width: 768px) { .abt-arc { padding-top: 200px; } .abt-arc::before { border-radius: 50% 50% 0 0 / 140px; } }
@media (min-width: 1080px) { .abt-arc { padding-top: 210px; } .abt-arc::before { border-radius: 50% 50% 0 0 / 200px; } }

/* ---------- HISTORY 108年の歩み（横スクロールのカード） ---------- */
.abt-hist-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; }
.abt-hist-sechead.sec-head { margin-bottom: 0; }
.abt-hist-nav { display: flex; gap: 12px; margin-left: auto; }
.abt-hist-btn { width: var(--tap); height: var(--tap); border-radius: 50%; background: var(--c-white); border: 1px solid var(--c-line); color: var(--c-orange); display: inline-flex; align-items: center; justify-content: center; transition: transform .2s, background-color .2s, color .2s; }
.abt-hist-btn .icon { width: 20px; height: 20px; }
@media (hover: hover) and (pointer: fine) { .abt-hist-btn:hover { background: var(--c-orange); color: var(--c-white); } }
.abt-hist-rule { margin: 20px 0 24px; }
/* 先頭に必ず到達できる: flex-start（center と overflow-x を併用しない）。左右は gutter ぶん外へ出して端まで流す */
.abt-hist-track { display: flex; justify-content: flex-start; gap: 16px; overflow-x: auto; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; margin-inline: calc(-1 * var(--gutter)); padding: 8px var(--gutter) 24px; scroll-padding-inline: var(--gutter); }
.abt-hist-card { flex: 0 0 min(336px, calc(100vw - 118px)); scroll-snap-align: start; display: flex; flex-direction: column; gap: 18px; background: var(--c-white); border-radius: var(--r-m); padding: 40px 32px 32px; }
.abt-hist-year { display: grid; gap: 12px; color: var(--c-orange); padding-bottom: 16px; border-bottom: var(--dash); }
.abt-hist-ad { font-family: var(--f-en); font-weight: 400; font-size: 32px; line-height: 1.1; letter-spacing: 0.12em; }
.abt-hist-era { font-size: var(--fs-xs); letter-spacing: 0.06em; }
.abt-hist-text { font-size: 14px; line-height: 1.9; letter-spacing: 0.04em; }
.abt-hist-photo { margin-top: auto; padding-top: 8px; }
.abt-hist-photo img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 0; }
@media (min-width: 768px) {
  .abt-hist-nav { gap: 24px; }
  .abt-hist-btn { width: 48px; height: 48px; }
  .abt-hist-rule { margin: 24px 0 32px; }
  .abt-hist-track { gap: 16px; }
  .abt-hist-card { padding: 48px 32px 32px; }
  .abt-hist-ad { font-size: 36px; }
}

/* ---------- POSITIONS 職種一覧（アーチ型 3 枚＋装飾） ---------- */
/* 〜1079 は 1 列（〜599 幅 280 / 600〜 幅 460。open841 の実測どおり縦積み）。1080〜 で 3 列 */
.abt-jobs { display: grid; gap: 20px; grid-template-columns: minmax(0, 1fr); max-width: 280px; margin-inline: auto; }
.abt-job { position: relative; }
.abt-job-decor { position: absolute; width: 56px; pointer-events: none; z-index: 2; }
.abt-job-decor img { width: 100%; height: auto; }
.abt-job-1 .abt-job-decor { left: -16px; top: 16%; }
.abt-job-2 .abt-job-decor { right: -20px; bottom: 4%; }
.abt-job-3 .abt-job-decor { left: -16px; bottom: 16%; }
@media (min-width: 600px) {
  .abt-jobs { max-width: 460px; gap: 60px; }
  .abt-job-decor { width: 64px; }
  .abt-job-1 .abt-job-decor { left: -8px; top: 12%; }
  .abt-job-2 .abt-job-decor { right: -20px; bottom: 6%; }
  .abt-job-3 .abt-job-decor { left: -24px; bottom: 14%; }
}
/* 600〜1079: 飾りは現行 841 どおりカードの外へ少し出して ±20° 傾ける（旧は .abt-job の overflow: clip でカードの縁で半分に切れていた＝器具・書類が欠けて見えた）。
   切るのはセクション（〜599 と同じ）。位置は .abt-job（写真がカードの上へ 60 出る分を含む）から: 歯 左 −3・上 133 / 器具 右 −21・下 38 / 書類 左 −28・下 72（現行 open841 の画素） */
@media (min-width: 600px) and (max-width: 1079px) {
  .page-recruit-about .abt-positions { overflow: clip; }
  .page-recruit-about .abt-job[data-allow-bleed] { overflow: visible; }
  .page-recruit-about .abt-job-decor { width: 70px; }
  .page-recruit-about .abt-job-1 .abt-job-decor { left: -3px; top: 133px; bottom: auto; transform: rotate(-20deg); }
  .page-recruit-about .abt-job-2 .abt-job-decor { right: -21px; bottom: 38px; transform: rotate(20deg); }
  .page-recruit-about .abt-job-3 .abt-job-decor { left: -28px; bottom: 72px; transform: rotate(-20deg); }
}
@media (min-width: 1080px) {
  .abt-jobs { max-width: none; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; }
  .abt-job-decor { width: 72px; }
  .abt-job-1 .abt-job-decor { left: -16px; top: 16%; }
  .abt-job-2 .abt-job-decor { right: -20px; bottom: 2%; }
  .abt-job-3 .abt-job-decor { left: auto; right: -8px; bottom: auto; top: 4%; }
  .abt-job .job-card { padding-inline: 20px; }
}

/* ---------- RECRUIT INFO ＋ CTA ＋ ENTRY ---------- */
/* 〜1079 は見出し→白カード 3 枚の縦積み（〜599 幅 280、600〜1079 幅 560 を中央）。1080〜 は 5:7 の 2 段組 */
.abt-rinfo-grid { display: grid; gap: 24px; max-width: 280px; margin-inline: auto; }
.abt-rinfo-head.sec-head { margin-bottom: 0; align-content: start; }
.abt-rinfo-cards { display: grid; gap: 16px; }
@media (max-width: 767px) { .abt-rinfo-cards .link-card { min-height: 110px; } }
.abt-ctas { display: grid; gap: 16px; margin-top: 64px; max-width: 280px; margin-inline: auto; }
.abt-entry { margin-top: 16px; max-width: 280px; margin-inline: auto; }
@media (min-width: 600px) {
  .abt-rinfo-grid { max-width: 560px; }
  .abt-ctas, .abt-entry { max-width: none; }
}
@media (min-width: 768px) {
  .abt-rinfo-cards { gap: 16px; }
  .abt-ctas { gap: 24px; margin-top: 120px; }
  .abt-entry { margin-top: 24px; }
}
@media (min-width: 1080px) {
  .abt-rinfo-grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 40px; max-width: 960px; }
  .abt-rinfo-cards { gap: 12px; }
  .abt-ctas { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 160px; }
}

/* ========== 〜599: SP の細部を参照に合わせる（2026-09-24。capture/sp-compare/recruit__about の 440/393/344 を画素で実測、
   値の裏は capture/recruit-preview/about/dom.html の STUDIO 〜540 の CSS）。
   MESSAGE の写真＋縦書きは参照が右へはみ出して後半の縦書きが画面外に消えているので合わせない（中央配置のまま） ========== */
@media (max-width: 599px) {
  /* 本文の左右 32（HISTORY だけ 20）。見出しの型は work.css の同じ帯と同じ */
  .page-recruit-about .main { --gutter: 32px; --head-gap: 40px; }
  .page-recruit-about .sec-label { font-size: 16px; letter-spacing: 0.2em; }
  .page-recruit-about .sec-head.center .sec-label { text-indent: 0.2em; }
  .page-recruit-about .sec-title:not(h1) { font-size: 24px; line-height: 1.7; letter-spacing: 0.04em; }
  .page-recruit-about .sec-head { gap: 15px; }

  /* ページ見出し: 英字の上端 y127、H1 24px/1.7 オレンジ 2 行、H1 の下端→目次 49。
     目次ピルは幅 min(300, W−80)・54 高・間 15 を中央に、文字 16px を左 26、▼ 22 を右 28 */
  .abt-head { padding: 50px 0 0; }
  .abt-head h1 { font-size: 24px; line-height: 1.7; }
  .abt-head .anchor-nav { margin-top: 39px; }
  .abt-head .anchor-nav ul { gap: 15px; justify-items: center; }
  .abt-head .anchor-nav li { width: min(300px, 100% - 16px); }
  /* 字は 15px・字間 0.06em（原本 about の目次。「理事長ご挨拶」のインク幅 95）。⌄ は共通の 18（インク 11×6 の細線） */
  .abt-head .anchor-pill { min-height: 54px; padding: 8px 29px 8px 26px; border-radius: 27px; font-size: 15px; letter-spacing: 0.06em; }

  /* MESSAGE: 目次→英字 129。本文 14px/2.2（行送り 31）・段落の間 13。経歴は 13px/1.8、年の列 84（間なし）を左 20 から */
  .abt-message { padding-top: 121px; }
  .abt-name { padding-left: 8px; }
  .abt-career { padding: 32px 8px 32px 20px; font-size: 13px; line-height: 1.8; }
  .abt-career-row { grid-template-columns: 84px minmax(0, 1fr); column-gap: 0; }
  .abt-body { font-size: 14px; }
  .abt-body p + p { margin-top: 13px; }
  /* 所属学会他＋学校医の白カード: 文字は左 32、見出し 14px、項目 13px/1.7・送り 37 */
  .abt-card { padding: 32px; }
  .abt-cards .abt-card-aff { padding-bottom: 16px; }
  .abt-card-title { font-size: 14px; }
  .abt-list { gap: 14px 22px; font-size: 13px; }

  /* 大切にする姿勢: 写真 4 枚は画面の端に切れて見える（見える幅 13.2 / 17 / 18.6 / 14.3vw、高さ 16 / 19.3vw）。
     上の 2 枚は上端、下の 2 枚は下端が標語の見出しから一定の位置（3 幅で同じ）。枠は画面いっぱいにして画面の端で切る。
     標語 20px/1.7、枠つきの 2 行は 24px・44 高（上下 4・左右 18）・間 9、枠の前後 22 */
  .abt-guide .abt-collage.collage-about { margin-inline: calc(-1 * var(--gutter)); }
  .abt-collage.collage-about .collage-center { padding: 24px var(--gutter); }
  .abt-collage.collage-about .collage-item img { border-radius: 8px; }
  .abt-collage.collage-about .collage-3 { left: -40px; right: auto; top: 121px; bottom: auto; width: calc(13.2vw + 40px); height: 16vw; }
  .abt-collage.collage-about .collage-1 { left: -40px; right: auto; top: calc(324px - 19.3vw); bottom: auto; width: calc(17vw + 40px); height: 19.3vw; }
  .abt-collage.collage-about .collage-2 { left: auto; right: -40px; top: 132px; bottom: auto; width: calc(18.6vw + 40px); height: 19.3vw; }
  .abt-collage.collage-about .collage-4 { left: auto; right: -40px; top: calc(333px - 16vw); bottom: auto; width: calc(14.3vw + 40px); height: 16vw; }
  .abt-stmt { gap: 0; font-size: 20px; line-height: 1.7; }
  .abt-stmt-line.is-boxed > span { font-size: 24px; line-height: 1.5; padding: 4px 18px; }
  .abt-stmt-line.is-boxed + .abt-stmt-line.is-boxed { margin-top: 9px; }
  .abt-stmt-line:not(.is-boxed) + .abt-stmt-line.is-boxed, .abt-stmt-line.is-boxed + .abt-stmt-line:not(.is-boxed) { margin-top: 22px; }

  /* HISTORY: 上辺は画面より少し広い楕円（幅 111%・高さ 205）の中だけ黄→クリーム。英字は楕円の上端 +126、左右は 20。
     ‹ › は職種ページの一日の流れと同じ 35 の丸（当たり判定 44）。カード幅 (W−20)×0.695・高さは中身の最大・padding 48 32 32、
     西暦 34px、和暦→点線 26、点線→本文 26、本文 14px/1.7、写真 16:9 を下 32 */
  .abt-history { padding-top: 118px; }
  .abt-history::before { left: -5.5%; right: -5.5%; bottom: auto; height: 205px; border-radius: 50%;
    background: linear-gradient(180deg, var(--c-hero-yellow) 0, color-mix(in srgb, var(--c-hero-mid) 60%, var(--c-hero-yellow)) 40%, var(--c-cream) 100%); }
  .abt-history > .container { width: calc(100% - 40px); }
  .abt-history .abt-hist-track { margin-inline: -20px; padding-inline: 20px; scroll-padding-inline: 20px; }
  .abt-hist-nav { gap: 0; margin: 0 9.5px -15px auto; }
  .abt-hist-btn { position: relative; width: 44px; height: 44px; background: none; border: 0; }
  .abt-hist-btn::before { content: ""; position: absolute; inset: 4.5px; border-radius: 50%; background: var(--c-white); border: 1px solid var(--c-line-2); }
  .abt-hist-btn .icon { position: relative; width: 16px; height: 16px; }
  .abt-hist-btn .icon path { stroke-width: 2.6; }
  .abt-hist-rule { margin: 33px 0 24px; }
  .abt-hist-card { flex-basis: calc((100vw - 20px) * 0.695); padding: 48px 32px 32px; }
  .abt-hist-ad { font-size: 34px; letter-spacing: 0.1em; }
  .abt-hist-year { padding-bottom: 21px; }
  .abt-hist-card { gap: 19px; }
  .abt-hist-text { line-height: 1.7; }

  /* POSITIONS: work と同じカード（340 幅 × 360 高の下揃え・写真 220 が上に 46 はみ出す・名前 24px＋丸 32） */
  .abt-jobs { max-width: 340px; gap: 49px; }
  .abt-jobs .job-card { display: flex; flex-direction: column; justify-content: flex-end; align-items: center; height: 360px; margin-top: 43px; padding: 0 24px 27px; }
  .abt-jobs .job-photo { margin-top: 0; }
  .abt-jobs .job-photo img { width: 220px; max-width: 100%; height: auto; aspect-ratio: 519 / 674; }
  .abt-jobs .job-body { padding-top: 24px; }
  .abt-jobs .job-title { margin-top: 0; gap: 8px; font-size: 24px; line-height: 1.7; }
  .abt-jobs .job-title .btn-ring { width: 32px; height: 32px; }
  .abt-jobs .job-title .btn-ring .icon { width: 18px; height: 18px; }
  .abt-jobs .job-en { margin-top: 8px; font-size: 12px; letter-spacing: 0.2em; }

  /* RECRUIT INFO: 職種ページの帯と同じ（画面より広い楕円・px で決まるグラデ・白カード 120 高・写真 CTA 160・ENTRY 200・左右 32） */
  .abt-rinfo { padding-top: 115px; overflow: clip; }
  .abt-rinfo::before { left: -18.2%; right: -18.2%; border-radius: 50% 50% 0 0 / 20.45vw;
    background: linear-gradient(180deg, var(--c-hero-yellow) 0, color-mix(in srgb, var(--c-hero-mid) 60%, var(--c-hero-yellow)) 90px, color-mix(in srgb, var(--c-hero-mid) 35%, var(--c-cream)) 200px, var(--c-cream) 390px); }
  .abt-rinfo-grid { max-width: none; gap: 40px; }
  .abt-rinfo-cards { gap: 8px; }
  .abt-rinfo-cards .link-card { min-height: 120px; padding: 0 30px; border: 2px solid var(--c-cream); }
  .abt-rinfo-cards .link-card .btn-ring { width: 24px; height: 24px; }
  .abt-rinfo-cards .link-card .btn-ring .icon { width: 14px; height: 14px; }
  .abt-ctas { max-width: none; gap: 8px; margin-top: 82px; }
  .abt-entry { max-width: none; margin-top: 8px; }
  .abt-ctas .cta, .abt-entry .cta { padding: 24px 32px; }
  .abt-ctas .cta { min-height: 160px; }
  .abt-ctas .cta-title { font-size: 20px; }
  .abt-entry .cta { min-height: 200px; }
  .abt-entry .cta-text { flex-direction: column; align-items: flex-start; gap: 4px; }
  .abt-entry .cta-en { font-size: 48px; line-height: 1; }
  .abt-entry .cta-title { font-size: 18px; line-height: 1.7; }
  .abt-entry .cta-smile { width: 150px; left: 58px; top: 18px; }
}
/* ========== 〜599 の 2 周目（2026-09-24。capture/sp-compare/recruit__about の 440/393/344 と recruit-preview/about/dom.html の 〜540 の CSS）。
   ページ全体が原本より 196〜212 高く、440 幅で 24px 横にはみ出していた（HISTORY の楕円 ::before が画面の外まで広い）のを直す ========== */
@media (max-width: 599px) {
  .page-recruit-about .sec-title:not(h1) { letter-spacing: 0.06em; }   /* 原本の H2 は 24px・字間 0.06em（「募集している職種一覧」の幅 252） */

  /* MESSAGE の中身の指定は .page-recruit-about ではなく .abt-message で絞る（2026-09-28。採用情報ページ /recruit/info も about.mjs の messageSection を使うため。
     詳細度は同じ 0,2,0 に保ってある）。section の padding（ページの前後との間）だけは .page-recruit-about のまま */
  /* MESSAGE: 英字→H2 は間 0（字の間 17）・H2→写真 36。セクションの下は 0（原本は白カードの下端→「大切にする姿勢」の点線まで 120） */
  .page-recruit-about .abt-message { padding-bottom: 0; }
  .section.abt-message .sec-head { gap: 0; margin-bottom: 36px; }
  /* 写真は本文幅の 70%（440→263×394 / 344→196×294）。縦書きは 18px・字間 0.2em・行の高さ 1.1・padding 10 10 0（箱 40 幅）、
     2 本の間 8、内側の箱と間の 48 が写真に重なる。左の組は 72 下げて 2 本目をさらに 25、右の組は 2 本目を 32 下げる（原本の値）。
     原本は写真が右へはみ出して右の 2 本が画面外に切れるので、左右対称に置いて 4 本とも読める位置にする */
  .section.abt-message { --abt-photo-w: calc((100vw - 64px) * 0.7); --abt-vt-fs: 18px; --abt-vt-in: 48px; }
  .abt-message .abt-vt { gap: 8px; }
  .abt-message .abt-vt-line { line-height: 1.1; letter-spacing: 0.2em; padding: 10px 10px 0; }
  .abt-message .abt-vt-left { padding-top: 72px; --abt-vt-step: 25px; }
  .abt-message .abt-vt-right { --abt-vt-step: 32px; }
  /* 縦書きの下端→名前の字頭 41、名前の字頭→点線 64（どちらも間 32）。名前 24px/1.7・字間 0、役職 14px、間 20 を左 8 から */
  .abt-message .abt-msg-grid { gap: 32px; }
  .abt-message .abt-name { align-items: center; gap: 20px; }
  .abt-message .abt-position { font-size: 14px; letter-spacing: 0; line-height: 1.7; }
  .abt-message .abt-name-txt { font-size: 24px; letter-spacing: 0; line-height: 1.7; }
  /* 経歴: 点線→字 30（padding 24）、行の間 8（送り 31〜32）。年の無い 2 項目も 8 空ける。点線→本文の字頭 66 */
  .abt-message .abt-career { padding: 24px 8px 24px 20px; gap: 8px; }
  .abt-message .abt-career-row.no-year dd { row-gap: 8px; }
  .abt-message .abt-body { margin-top: 24px; }
  /* 経歴・本文・白カードの項目は #574D45（原本の画素。旧 #271200） */
  .abt-message .abt-career, .abt-message .abt-career dt, .abt-message .abt-body, .abt-message .abt-list { color: var(--c-ink-soft); }
  /* 白カード: 本文→カード 65、カードは 641 高（所属学会他 padding 40 32 28、学校医 0 32 40）。見出し・項目とも 13px/2.2、
     見出し→項目 8、項目の間 8（送り 36.6）。点は 3×3 の四角を左 7、字は左 20 */
  .abt-message .abt-cards { margin-top: 56px; }
  .abt-message .abt-card { padding: 40px 32px 28px; }
  .abt-message .abt-cards .abt-card-aff { padding-bottom: 28px; }
  .abt-message .abt-cards .abt-card-school { padding: 0 32px 40px; }
  .abt-message .abt-card-title { font-size: 13px; line-height: 2.2; margin-bottom: 8px; }
  .abt-message .abt-list { gap: 8px; font-size: 13px; line-height: 2.2; letter-spacing: 0.06em; }
  .abt-message .abt-list li { position: relative; padding-left: 20px; text-indent: 0; }
  .abt-message .abt-list li::before { content: ""; position: absolute; left: 7px; top: 17px; width: 3px; height: 3px; background: var(--c-ink-soft); }

  /* 大切にする姿勢: セクションの上端→見出しの点線 120、「を目指す。」の下端→セクションの下端 160（枠の padding 24＋24 を引いた値）。
     見出しは 16px/1.7・padding 8 16（点線の間 44）。帯文字は画像（960 幅・48 高）を下から 83・70 高の帯の中央に */
  .page-recruit-about .abt-guide { position: relative; padding: 72px 0 112px; overflow: clip; }
  .page-recruit-about .abt-guide-title { font-size: 16px; line-height: 1.7; padding: 8px 16px; }
  .page-recruit-about .abt-marquee { position: absolute; left: 0; right: 0; bottom: 83px; height: 70px; margin: 0; display: flex; align-items: center; }
  .page-recruit-about .abt-marquee-track { display: none; }
  .page-recruit-about .abt-marquee-img { display: flex; flex-wrap: nowrap; gap: 80px; width: max-content; animation: abt-marquee-img 35s linear infinite; }
  .page-recruit-about .abt-marquee-img img { width: 960px; height: auto; flex: none; }

  /* HISTORY: 楕円は画面の外まで広いのでセクションで切る（横スクロールの原因）。下は 0（カードの下端→POSITIONS の英字 128）。
     英字 14px/0.25em・英字→H2 は間 0。カードは幅 (W−20)×0.7・高さ 489（写真は下に寄せる）・padding 40 32 32・間 20、
     西暦 32px/1.7・字間 0.15em、和暦 14px/1.7、点線の上 20、本文 14px/1.7・字間 0（1 行 16 字） */
  .page-recruit-about .abt-history { padding-top: 120px; padding-bottom: 0; overflow: clip; }   /* 英字 14px で字頭が上がるぶん 118→120 */
  .page-recruit-about .abt-history .sec-head { gap: 0; }
  .page-recruit-about .abt-history .sec-label { font-size: 14px; letter-spacing: 0.25em; }
  .page-recruit-about .abt-hist-card { flex-basis: calc((100vw - 20px) * 0.7); min-height: 489px; padding: 40px 32px 32px; gap: 20px; }
  .page-recruit-about .abt-hist-year { gap: 0; padding-bottom: 20px; }
  .page-recruit-about .abt-hist-ad { font-size: 32px; line-height: 1.7; letter-spacing: 0.15em; }
  .page-recruit-about .abt-hist-era { font-size: 14px; line-height: 1.7; letter-spacing: 0; }
  .page-recruit-about .abt-hist-text { letter-spacing: 0; }
  .page-recruit-about .abt-hist-photo { padding-top: 0; }

  /* POSITIONS: 上下 120。英字→H2 間 16、H2→カード上端 96（カードの margin 57 を引いて 39）、カードの送り 440（間 80 −57）。
     装飾は 70 幅を ±20° 傾けて、カードの外へ出す（歯型 左 −19・上 52 / 器具 右 −29・下 27 / 書類 左 −28・下 84）。切るのはセクション */
  .page-recruit-about .abt-positions { padding: 120px 0; overflow: clip; }
  .page-recruit-about .abt-positions .sec-head { gap: 16px; margin-bottom: 39px; }
  .page-recruit-about .abt-jobs { gap: 23px; }
  /* カードの中身: 英字の字頭→カード下端 50（旧 37）。写真の位置は変えずにカードを 14 下へ（margin 57・padding-bottom 41） */
  .page-recruit-about .abt-jobs .job-card { margin-top: 57px; padding-bottom: 41px; }
  .page-recruit-about .abt-job[data-allow-bleed] { overflow: visible; }
  .page-recruit-about .abt-job-decor { width: 70px; }
  .page-recruit-about .abt-job-1 .abt-job-decor { left: -19px; top: 109px; bottom: auto; transform: rotate(-20deg); }
  .page-recruit-about .abt-job-2 .abt-job-decor { right: -29px; bottom: 27px; transform: rotate(20deg); }
  .page-recruit-about .abt-job-3 .abt-job-decor { left: -28px; bottom: 84px; transform: rotate(-20deg); }

  /* RECRUIT INFO: 英字は左 6 ずらす（原本 margin-left 6）。ENTRY の下端→フッターの上端 78（旧 110） */
  .page-recruit-about .abt-rinfo-head .sec-label { margin-left: 6px; }
  .page-recruit-about .abt-rinfo { padding-bottom: 48px; }
}
/* ========== 〜599 の 3 周目（2026-09-26。原本プレビューを 344/390/440 で開き、文字の塊の位置と computed style を新サイトと突き合わせた差）。
   英字ラベルは 9/25 に Inter → Roboto へ替えたので、Inter の字幅に寄せていた 0.2em を原本どおり 0.25em に戻す。
   Roboto の英字（職種の英字・ENTRY）は原本どおり Regular 400（旧は親の 500 を継いで太かった） ========== */
@media (max-width: 599px) {
  .page-recruit-about .sec-label { letter-spacing: 0.25em; }
  .page-recruit-about .sec-head.center .sec-label { text-indent: 0.25em; }
  /* 経歴: 年は 14px/1.7（原本。旧 13px）、項目は 13px。字間は原本どおり 0（旧は本文の 0.07em を継いでいた） */
  .abt-message .abt-career { letter-spacing: 0; padding-right: 20px; }   /* 項目の列は右 20 まで（原本 344/390/440 で幅 156/202/252。旧は右 8 で 12 広く、字間 0 だと原本より早く行が収まった） */
  .abt-message .abt-career dt { font-size: 14px; line-height: 1.7; }
  /* 大切にする姿勢: 標語の字間 0.06em。白箱は 24px/1.7・上下 2 左右 16（44.8 高・原本 45）、箱の間 8、箱の前後 24（旧 22） */
  .page-recruit-about .abt-stmt { letter-spacing: 0.06em; }
  .page-recruit-about .abt-stmt-line.is-boxed > span { line-height: 1.7; padding: 2px 16px; letter-spacing: 0.06em; }   /* em は親の 20px で解決されて継がれるので 24px の箱で指定し直す */
  .page-recruit-about .abt-stmt-line.is-boxed + .abt-stmt-line.is-boxed { margin-top: 8px; }
  .page-recruit-about .abt-stmt-line:not(.is-boxed) + .abt-stmt-line.is-boxed, .page-recruit-about .abt-stmt-line.is-boxed + .abt-stmt-line:not(.is-boxed) { margin-top: 24px; }
  /* HISTORY のカード下端 → POSITIONS の英字の字枠 121（原本 3 幅。旧は横スクロール箱の下 24 ＋ 120 で 144） */
  .page-recruit-about .abt-positions { padding-top: 97px; }
  /* RECRUIT INFO の帯の色: 原本は頂から 0.3W でいちばん濃いピーチ、0.52W で半分、0.9W でクリーム（344/393/440 の画素。旧は 90px で頂点・早く薄れていた） */
  .page-recruit-about .abt-rinfo::before { background: linear-gradient(180deg, var(--c-hero-yellow) 0, color-mix(in srgb, var(--c-hero-mid) 80%, var(--c-hero-yellow)) 30vw, color-mix(in srgb, var(--c-hero-mid) 50%, var(--c-cream)) 52vw, var(--c-cream) 90vw); }
  /* HISTORY の楕円の色: 原本は頂から 50 でピーチ、125 でクリームに戻る（旧は 205 かけて薄れ、黄色い面が広く残っていた） */
  .page-recruit-about .abt-history::before { background: linear-gradient(180deg, var(--c-hero-yellow) 0, color-mix(in srgb, var(--c-hero-mid) 75%, var(--c-hero-yellow)) 50px, var(--c-cream) 125px); }
  /* 職種カードの英字: Roboto 400・字間 0.25em（原本 12px/3px） */
  .page-recruit-about .abt-jobs .job-en { font-weight: 400; letter-spacing: 0.25em; }
  /* 写真 CTA・ENTRY: 題は字間 0.06em、ENTRY は Roboto 400・字間 0.06em、「エントリー」は 0.06em（原本の computed） */
  .page-recruit-about .abt-ctas .cta-title { letter-spacing: 0.06em; }
  .page-recruit-about .abt-entry .cta-en { font-weight: 400; letter-spacing: 0.06em; font-size: 47px; white-space: nowrap; }   /* 48px だと 344 で「ENTR / Y」に折れる（data と同じ 47px） */
  .page-recruit-about .abt-entry .cta-title { letter-spacing: 0.06em; }
  /* ENTRY の白スマイル: 160 幅を帯の左 40・上 19（原本 390 の画素。data と同じ値。旧 150 幅・左 58 で小さく右に寄っていた） */
  .page-recruit-about .abt-entry .smile.cta-smile { width: 160px; left: 40px; top: 19px; }
}
/* 帯文字の画像を流す（〜599 は 960 幅・間 80、600〜1079 も同じ、1080〜 は 1600 幅・間 80）。1 周の長さ＝画像 1 枚＋間 */
@keyframes abt-marquee-img { from { transform: translateX(0); } to { transform: translateX(-1040px); } }
@keyframes abt-marquee-img-pc { from { transform: translateX(0); } to { transform: translateX(-1680px); } }
.abt-marquee-img { display: none; }
@media (prefers-reduced-motion: reduce) { .page-recruit-about .abt-marquee-img { animation: none; } }
@media (max-width: 599px) and (hover: hover) and (pointer: fine) {
  .page-recruit-about .abt-hist-btn:hover { background: none; color: var(--c-orange); border-color: transparent; }
  .page-recruit-about .abt-hist-btn:hover::before { background: var(--c-peach-soft); }
}

/* ======================================================================
   全幅共通（2026-09-29。ユーザー指示「『3分でわかる』のところだけ、現状とちょっと違うから調整して」→ 現行 STUDIO プレビューを正にした）
   ・縦書きキャッチ: 写真の左右に 2 本ずつ。現行はどの幅も「組ごとの箱」: 左の組（後半 2 本）は写真に重なる量だけ右へ寄せ、
     右の組（前半 2 本）は幅 110 の箱に右詰め（2 本の幅が 110 より細い幅では、写真に重なるのは箱の端より少ない）。
     写真＋2 組を 1 つの塊として中央（1080〜 は左の列の左端）に置く（旧: 写真を中央に置いて左右対称）。
     1 本目の箱は内側 10、2 本目は下だけ 0（現行の値。旧は全部 下 0 で、1 本目が 10 短かった）。
   ・経歴・本文・白カードの項目の字は #574D45（現行はどの幅もこの色。旧は 600〜 だけ #271200）。
   ・沿革の写真・職種の人物写真は元の縦横比のまま（現行: 1964 年の写真は 3:2、歯科総合職は少し横長。旧は 16:9・519:674 に揃えて切っていた）
   ====================================================================== */
.abt-message .abt-visual { display: flex; justify-content: center; align-items: flex-start; }
.abt-message .abt-photo { flex: none; }
.abt-message .abt-vt { flex: none; }
.abt-message .abt-vt-left { justify-self: auto; margin: var(--abt-vt-top, 72px) calc(-1 * var(--abt-vt-in-l, 48px)) 0 0; padding-top: 0; }
.abt-message .abt-vt-right { justify-self: auto; width: 110px; margin: 0 0 0 calc(-1 * var(--abt-vt-in-r, 48px)); justify-content: flex-start; }
.abt-message .abt-vt-line { padding: 10px; line-height: 1.1; letter-spacing: 0.2em; }
.abt-message .abt-vt-line + .abt-vt-line { padding-bottom: 0; }
.abt-message .abt-vt-left .abt-vt-line { margin-top: calc(var(--i, 0) * var(--abt-vt-step-l, 25px)); }
.abt-message .abt-vt-right .abt-vt-line { margin-top: calc(var(--i, 0) * var(--abt-vt-step-r, 32px)); }
.abt-message .abt-career, .abt-message .abt-career dt, .abt-message .abt-body, .abt-message .abt-list { color: var(--c-ink-soft); }
.page-recruit-about .abt-hist-photo img { aspect-ratio: auto; height: auto; }
.page-recruit-about .abt-jobs .job-photo img { aspect-ratio: auto; height: auto; }

/* HISTORY の地（600〜）: 現行の楕円（739534a2 の SVG・1549×774。中身は 2MB の PNG なので使わず、CSS で同じ形・同じ色にする。医院 /about の HISTORY と同じ作り）。
   幅は「画面の幅（1317 まで）」の 117%（1440 で 1541・1080 で 1263・841 で 984）、高さはその半分。節の上端から中央に置く。
   色は頂点の黄 #FFF6CB → 21.6% でピーチ #FFE2CA → 53.6% で地色、83.7〜93.5% で地に溶ける。粒は ab-grain.png を overlay で重ねる（現行の SVG の粒と同じ）。
   旧: 節いっぱいの角丸の面（上辺だけ楕円）に 黄→ピーチ 32%→地色 70% で、カードの後ろまでピーチが濃く残っていた */
@media (min-width: 600px) {
  .page-recruit-about .abt-history::before { left: 50%; right: auto; top: 0; bottom: auto; width: calc(1.17 * min(100vw, 1317px)); height: auto; aspect-ratio: 2 / 1; transform: translateX(-50%); border-radius: 50%;
    background: linear-gradient(180deg, rgba(249, 246, 244, 0) 83.7%, var(--c-cream) 93.5%), url("/assets/img/ab-grain.32e4c43c3e.png") 0 0 / 102.4px 102.4px, linear-gradient(180deg, #FFF6CB 0, #FFE2CA 21.6%, var(--c-cream) 53.6%);
    background-blend-mode: normal, overlay, normal; }
  /* RECRUIT INFO の地（600〜）: 現行は 高さ 0.913W のグラデの画像（76012300）＋上辺の楕円のふた（aa833a42。両端で 0.08W 下がる）。
     形は 1080〜 で使っていた Figma の楕円（幅 147.8vw・縦半径 26.1vw・上 1.11vw＝両端で 8vw 下がる）が現行と同じなので 600〜 に広げ、
     色は現行の画素（841・1440 で同じ vw の位置）: 頂点 #FFF1C1 → 34vw でいちばん濃いピーチ #FFDDC0 → 58vw #FCE8D8 → 71vw #F9EDE4 → 90vw で地色。
     旧は節の高さの 32% でピーチ・70% で地色（節が長い 600〜1079 では写真 CTA の後ろまでピーチが残っていた） */
  .page-recruit-about .abt-rinfo { overflow: clip; }
  .page-recruit-about .abt-rinfo.abt-arc::before { top: 1.11vw; bottom: 0; left: calc(50% - 73.9vw); right: auto; width: 147.8vw; border-radius: 50% 50% 0 0 / 26.1vw 26.1vw 0 0;
    background: linear-gradient(180deg, #FFF1C1 0, #FFE8C0 16.6vw, #FFDDC0 33.6vw, #FEE2CB 45.6vw, #FCE8D8 57.6vw, #F9EDE4 70.6vw, #F8F4F0 84.6vw, var(--c-cream) 89.6vw); }
}

/* ======================================================================
   600〜1079 を現行（STUDIO プレビューの 541〜910 の組み。841・673 で実測）に合わせる（2026-09-29）。
   現行は 911〜1120 で PC 寄りの 2 段組に変わるが、医院の about と同じく帯の中で組みを混ぜないよう 1079 まで この組み。
   ・左右の余白 40（現行の節の外側 40）。英字ラベル 16px・字間 0.25em、H2 32px/1.7・字間 0.06em。
   ・見出し: 英字の字頭 y200（ヘッダー 90 ＋ 110）→ 16 → H1 32px/1.7 → 80 → 目次ピル 300×55（間 16・折り返して中央。673 は 1 列・841 は 2×2）
     H1 は 704 未満で「3分で分かる／ウララ歯科クリニック」の 2 行（現行 673 は「…クリニッ／ク」で折れるので、〜599 と同じ所で折る）
   ・MESSAGE: 目次の下 120 → 英字＋H2 → 72 → 写真 400×600 と縦書き 20px（箱 42 幅・間 8。左の組は 88 下げて写真に 48 重ねる、右の組は 56 重ねる。
     2 本目は右 56・左 50 下げる）→ 32 → 理事長（14px）＋氏名 24px（左 32）→ 32 → 経歴（全幅・点線・内 24/32。年 14px の列 64＋間 20、項目 13px）
     → 64 → 本文 16px/2.2（段落の間 16）→ 64 → 白カード（所属学会他と学校医で 1 枚の白面。見出し・項目 16px/2.2、項目は 240 幅から・間 8、飾りは右 32・上 83）
   ・大切にする姿勢: 節の上 120・下 200。柱 見出し 16px（点線・内 8/16）→ 40 → 標語 24px/1.7 → 24 → 白箱 32px/1.7（間 8）→ 24 → 24px。
     写真 4 枚は節の端から: タブレット 左 84・上 166（14vw 角）／集合写真 右 25・上 180（24vw×15.5vw）／カウンセリング 左 27・下端が上から 453／医師 右 67・下端 464（14vw 角）。
     帯文字は画像 960×48（間 80）を節の下から 83 の 100 高の帯の中央に
   ・HISTORY: 節の上 200。見出し→点線 32、点線→カード 30。カード 幅 min(345, 48%×左端から画面の右端まで)×503・内 40/32/32・間 16、
     西暦 40px/1.7 Roboto、和暦・本文 14px/1.7。‹ › は 45 の白丸（間 24）。カードの列は画面の右端まで流れる
   ・POSITIONS: 節の上下 200。見出し→カード 120。カード 460×500（内 40/24）を縦に間 120。写真 300 幅が上にはみ出す。職種名 24px＋丸 40、英字 12px。飾り 100（±20°）
   ・RECRUIT INFO: 節の上 120。見出し→40→白カード 560×120（間 16。題 16px）→160→ 写真 CTA 全幅×224（内 32/64・題 32px）→24→ ENTRY 全幅×320（ENTRY 80px）→ 80 → フッター
   ====================================================================== */
@media (min-width: 600px) and (max-width: 1079px) {
  .page-recruit-about .main { --gutter: 40px; }
  .page-recruit-about .sec-head { gap: 0; }
  .page-recruit-about .sec-label { font-size: 16px; line-height: 1.7; letter-spacing: 0.25em; }
  .page-recruit-about .sec-head.center .sec-label { text-indent: 0.25em; }
  .page-recruit-about .sec-title:not(h1) { font-size: 32px; line-height: 1.7; letter-spacing: 0.06em; }

  /* 見出し */
  .page-recruit-about .page-head.abt-head { padding: 110px 0 0; }
  .page-recruit-about .abt-head .sec-head { gap: 16px; }
  .page-recruit-about .abt-head h1 { font-size: 32px; line-height: 1.7; letter-spacing: 0.06em; }
  .page-recruit-about .abt-head .anchor-nav { margin-top: 80px; }
  .page-recruit-about .abt-head .anchor-nav ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; max-width: calc(100vw - 160px); margin-inline: auto; }
  .page-recruit-about .abt-head .anchor-nav li { flex: 0 1 300px; width: auto; min-width: 0; }
  .page-recruit-about .abt-head .anchor-pill { min-height: 55px; padding: 12px 24px; gap: 8px; border: 2px solid var(--c-white); border-radius: 32px; font-size: 16px; line-height: 1.7; letter-spacing: 0.06em; }
  .page-recruit-about .abt-head .anchor-pill .icon { width: 20px; height: 20px; }

  /* MESSAGE（中身は /recruit/info の理事長ご挨拶と共通なので .abt-message で絞る。節の上下と見出しの下だけこのページ） */
  .page-recruit-about .abt-message { padding: 120px 0 0; }
  .page-recruit-about .abt-message .sec-head { margin-bottom: 72px; }
  .section.abt-message { --abt-photo-w: 400px; --abt-vt-fs: 20px; --abt-vt-top: 88px; --abt-vt-in-l: 48px; --abt-vt-in-r: 56px; --abt-vt-step-l: 50px; --abt-vt-step-r: 56px; }
  .abt-message .abt-msg-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .abt-message .abt-vt { gap: 8px; }
  .abt-message .abt-vt-line { font-size: var(--abt-vt-fs); }
  .abt-message .abt-name { flex-wrap: nowrap; align-items: center; gap: 20px; padding: 0 32px; }
  .abt-message .abt-position { font-size: 14px; line-height: 1.7; letter-spacing: 0; color: var(--c-ink-deep); }
  .abt-message .abt-name-txt { font-size: 24px; line-height: 1.7; letter-spacing: 0; }
  .abt-message .abt-career { margin: 0; padding: 24px 32px; gap: 8px; font-size: 13px; line-height: 1.8; letter-spacing: 0; }
  .abt-message .abt-career-row { grid-template-columns: 64px minmax(0, 1fr); column-gap: 20px; }
  .abt-message .abt-career dt { font-size: 14px; line-height: 1.7; }
  .abt-message .abt-career-row.no-year dd { row-gap: 8px; }
  .abt-message .abt-body { margin-top: 32px; font-size: 16px; line-height: 2.2; letter-spacing: 0.06em; }
  .abt-message .abt-body p + p { margin-top: 16px; }
  .abt-message .abt-cards { grid-template-columns: minmax(0, 1fr); gap: 0; margin-top: 64px; }
  .abt-message .abt-cards .abt-card { border-radius: 16px; }
  .abt-message .abt-cards .abt-card-aff { padding: 40px 0 40px 32px; border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
  .abt-message .abt-cards .abt-card-school { min-height: 302px; padding: 40px 131px 40px 32px; border-top-left-radius: 0; border-top-right-radius: 0; }
  .abt-message .abt-card-title { margin-bottom: 8px; font-size: 16px; line-height: 2.2; letter-spacing: 0.06em; }
  .abt-message .abt-list { gap: 8px; font-size: 16px; line-height: 2.2; letter-spacing: 0.06em; }
  .abt-message .abt-list li { position: relative; min-width: 240px; padding-left: 18px; text-indent: 0; }
  .abt-message .abt-list li.is-long { min-width: 290px; }   /* 13 字以上の項目は現行どおり 290 幅（2 つ並ぶかどうかが現行と同じになる） */
  .abt-message .abt-list li::before { content: ""; position: absolute; left: 7px; top: calc(1.1em - 1.5px); width: 3px; height: 3px; background: var(--c-ink-soft); }
  .abt-message .abt-card-school .abt-list { flex-direction: column; }
  .abt-message .abt-card-decor { right: 32px; top: 83px; width: 91px; transform: none; }

  /* 大切にする姿勢（写真は節の端から置くので、写真の包みを節まで素通しにする） */
  .page-recruit-about .abt-guide { position: relative; padding: 120px 0 200px; overflow: clip; }
  .page-recruit-about .abt-collage.collage-about { position: static; display: block; min-height: 0; margin: 0; padding: 0; }
  .page-recruit-about .abt-collage.collage-about .collage-center { position: relative; z-index: 1; width: max-content; max-width: 100%; margin-inline: auto; padding: 0; }
  .page-recruit-about .abt-guide-title { margin-bottom: 40px; padding: 8px 16px; font-size: 16px; line-height: 1.7; letter-spacing: 0.06em; }
  .page-recruit-about .abt-stmt { gap: 0; font-size: 24px; line-height: 1.7; letter-spacing: 0.06em; }
  .page-recruit-about .abt-stmt-line.is-boxed > span { padding: 2px 16px; border-radius: 4px; font-size: 32px; line-height: 1.7; letter-spacing: 0.06em; }
  .page-recruit-about .abt-stmt-line.is-boxed + .abt-stmt-line.is-boxed { margin-top: 8px; }
  .page-recruit-about .abt-stmt-line:not(.is-boxed) + .abt-stmt-line.is-boxed,
  .page-recruit-about .abt-stmt-line.is-boxed + .abt-stmt-line:not(.is-boxed) { margin-top: 24px; }
  .page-recruit-about .abt-collage.collage-about .collage-item { position: absolute; bottom: auto; }
  .page-recruit-about .abt-collage.collage-about .collage-item img { width: 100%; height: 100%; object-fit: cover; border-radius: 16px; }
  /* 写真の大きさは現行のこの組みの最大幅 910 の値（218×141・127 角）で止める（911〜1079 で右の 2 枚が重なる・柱に近づくのを防ぐ） */
  .page-recruit-about .abt-collage.collage-about .collage-3 { left: 84px; right: auto; top: 166px; width: min(14vw, 127px); height: min(14vw, 127px); }
  .page-recruit-about .abt-collage.collage-about .collage-1 { left: auto; right: 25px; top: 180px; width: min(24vw, 218px); height: min(15.5vw, 141px); }
  .page-recruit-about .abt-collage.collage-about .collage-2 { left: 27px; right: auto; top: calc(453px - min(15.5vw, 141px)); width: min(24vw, 218px); height: min(15.5vw, 141px); }
  .page-recruit-about .abt-collage.collage-about .collage-4 { left: auto; right: 67px; top: calc(464px - min(14vw, 127px)); width: min(14vw, 127px); height: min(14vw, 127px); }
  .page-recruit-about .abt-marquee { position: absolute; left: 0; right: 0; bottom: 83px; height: 100px; margin: 0; display: flex; align-items: center; }
  .page-recruit-about .abt-marquee-track { display: none; }
  .page-recruit-about .abt-marquee-img { display: flex; flex-wrap: nowrap; gap: 80px; width: max-content; animation: abt-marquee-img 35s linear infinite; }
  .page-recruit-about .abt-marquee-img img { flex: none; width: 960px; height: auto; }

  /* HISTORY（左端は本文と同じ 40、カードの列は画面の右端まで） */
  .page-recruit-about .abt-history { padding: 200px 0 0; overflow: clip; }
  .page-recruit-about .abt-hist-head { flex-wrap: nowrap; align-items: flex-end; }
  .page-recruit-about .abt-hist-sechead.sec-head { gap: 0; }
  .page-recruit-about .abt-hist-nav { gap: 24px; margin: 0 0 -4px auto; }
  .page-recruit-about .abt-hist-btn { width: 45px; height: 45px; background: var(--c-white); border: 1px solid var(--c-line-2); }
  .page-recruit-about .abt-hist-btn .icon { width: 24px; height: 24px; }
  .page-recruit-about .abt-hist-rule { margin: 32px 0 30px; }
  /* 1 枚目の左の空き: 現行はカード（最大 345）を幅 48% のコマの中央に置くので、コマが広い 841 などでは 20 空く（この組みの最大幅 910 の 26 で止める）。スナップの基準（scroll-padding）も同じ値にする */
  .page-recruit-about .abt-hist-track { --abt-hist-pad: clamp(0px, (0.48 * (100vw - 40px) - 345px) / 2, 26px); gap: 16px; margin: 0 calc(-1 * var(--gutter)) 0 0; padding: 0 var(--gutter) 0 var(--abt-hist-pad); scroll-padding-inline: var(--abt-hist-pad) var(--gutter); }
  .page-recruit-about .abt-hist-card { flex: 0 0 min(345px, 0.48 * (100vw - 40px)); min-height: 503px; padding: 40px 32px 32px; gap: 20px; }
  .page-recruit-about .abt-hist-year { gap: 0; padding-bottom: 20px; }
  .page-recruit-about .abt-hist-ad { font-size: 40px; line-height: 1.7; letter-spacing: 0.15em; }
  .page-recruit-about .abt-hist-era { font-size: 14px; line-height: 1.7; letter-spacing: 0; }
  .page-recruit-about .abt-hist-text { font-size: 14px; line-height: 1.7; letter-spacing: 0; }
  .page-recruit-about .abt-hist-photo { padding-top: 0; }

  /* POSITIONS */
  .page-recruit-about .abt-positions { padding: 200px 0; overflow: clip; }
  .page-recruit-about .abt-positions .sec-head { gap: 16px; margin-bottom: 120px; }
  .page-recruit-about .abt-jobs { grid-template-columns: minmax(0, 460px); justify-content: center; max-width: none; gap: 120px; }
  .page-recruit-about .abt-jobs .job-card { display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 16px; height: 500px; margin-top: 0; padding: 40px 24px; border-radius: 200px 200px 16px 16px; }
  .page-recruit-about .abt-jobs .job-photo { margin-top: 0; }
  .page-recruit-about .abt-jobs .job-photo img { width: min(300px, 100%); max-width: none; }
  .page-recruit-about .abt-jobs .job-body { display: grid; justify-items: center; gap: 16px; padding-top: 0; }
  .page-recruit-about .abt-jobs .job-title { margin-top: 0; gap: 16px; font-size: 24px; line-height: 1.7; letter-spacing: 0.06em; }
  .page-recruit-about .abt-jobs .job-title .btn-ring { width: 40px; height: 40px; }
  .page-recruit-about .abt-jobs .job-title .btn-ring .icon { width: 26px; height: 26px; }
  .page-recruit-about .abt-jobs .job-en { margin-top: 0; font-size: 12px; font-weight: 400; line-height: 1.7; letter-spacing: 0.25em; }
  .page-recruit-about .abt-job-decor { width: 100px; }
  .page-recruit-about .abt-job-1 .abt-job-decor { left: -20px; top: 52px; right: auto; bottom: auto; transform: rotate(-20deg); }
  .page-recruit-about .abt-job-2 .abt-job-decor { left: auto; right: -36px; top: auto; bottom: 24px; transform: rotate(20deg); }
  .page-recruit-about .abt-job-3 .abt-job-decor { left: -42px; right: auto; top: auto; bottom: 61px; transform: rotate(-20deg); }

  /* RECRUIT INFO */
  .page-recruit-about .abt-rinfo { padding: 120px 0 56px; }   /* ENTRY の下端 → フッターの上端 80（現行。フッター側の 24 と足す） */
  .page-recruit-about .abt-rinfo-head .sec-label { margin-left: 6px; }   /* 現行は英字だけ 6 右へずれている（〜599 と同じ） */
  .page-recruit-about .abt-rinfo-grid { grid-template-columns: minmax(0, 1fr); max-width: 560px; gap: 40px; }
  .page-recruit-about .abt-rinfo-head.sec-head { gap: 16px; }
  .page-recruit-about .abt-rinfo-cards { gap: 16px; }
  .page-recruit-about .abt-rinfo-cards .link-card { min-height: 120px; padding: 0 32px; border: 2px solid var(--c-cream); }
  .page-recruit-about .abt-rinfo-cards .link-card { gap: 12px; }
  .page-recruit-about .abt-rinfo-cards .link-card-label { font-size: 16px; line-height: 1.7; letter-spacing: 0.06em; }
  .page-recruit-about .abt-rinfo-cards .link-card .btn-ring { width: 24px; height: 24px; }   /* 現行 600〜1079 の丸は 24（1080〜 は 40） */
  .page-recruit-about .abt-rinfo-cards .link-card .btn-ring .icon { width: 18px; height: 18px; }
  .page-recruit-about .abt-ctas { gap: 24px; margin-top: 160px; }
  .page-recruit-about .abt-entry { margin-top: 24px; }
  .page-recruit-about .abt-ctas .cta { min-height: 224px; padding: 32px 64px; border-radius: 40px; }
  .page-recruit-about .abt-ctas .cta-title { font-size: 32px; line-height: 1.7; letter-spacing: 0.06em; }
  .page-recruit-about :is(.abt-ctas, .abt-entry) .cta-ring .icon { width: 40px; height: 40px; }   /* 丸 64 の中の矢印は 1080〜 と同じ大きさ（現行） */
  .page-recruit-about .abt-entry .cta { min-height: 320px; padding: 32px 64px; border-radius: 40px; }
  .page-recruit-about .abt-entry .cta-text { flex-direction: row; align-items: center; gap: 12px; }
  .page-recruit-about .abt-entry .cta-en { font-size: 80px; font-weight: 400; line-height: 1.7; letter-spacing: 0.06em; white-space: nowrap; }
  .page-recruit-about .abt-entry .cta-title { font-size: 24px; line-height: 1.7; letter-spacing: 0.06em; }
  .page-recruit-about .abt-entry .smile.cta-smile { left: 120px; top: 36px; width: 273px; opacity: 0.1; }
}
/* 704 未満の 600〜: H1 を「3分で分かる／ウララ歯科クリニック」で折る（32px の 1 行 543 が見出しの幅 W−160 に入らない） */
@media (min-width: 600px) and (max-width: 703px) { .page-recruit-about .abt-br { display: inline; } }

/* ======================================================================
   1080〜 を現行（STUDIO プレビューの 1121〜 の組み。1440・1280 で実測）に合わせる（2026-09-29）。旧: Figma 72:690（2026-09-25）の組み。
   現行と Figma が違う所は、ユーザー指示「現状と違うから調整して」に従って現行にした（見出しの位置・目次ピルの大きさ・職種カードの形・「もっと見る」なし など）。
   1080〜1120 は現行の 911〜1120 の組み（1080 で実測）を下の @media で上書きする（Galaxy Z Fold を開いた横 1104 がここに入る）。
   ・見出し: 英字の字頭 y200（ヘッダー 108 ＋ 92）→ 16 → H1 40px/1.7 → 80 → 目次ピル 300×55 ×4（間 16・1 行。狭い幅では縮める＝現行は右端で切れる）
   ・MESSAGE: 目次の下 120 → 英字＋H2 → 72 → 2 段組（容器は左右 80・最大 1190。左 14・右 65 を空けて 左の列 518｜48｜右の列）。
     左の列: 写真 368×552 と縦書き 26px（箱 49 幅。左の組は 88 下げ間 20・写真に 40 重ねる、右の組は幅 110・間 13・37 重ねる）→ 48 → 理事長 16px＋氏名 24px → 48 → 経歴（左 8・内 24/32・年 16px の列 64＋間 20・項目 13px）
     右の列: 理事長＋氏名（写真の上端にそろう）→ 48 → 本文 16px/2.2
     → 64 → 白カード 2 枚（間 32・内 40/32・角丸 16。見出し・項目 16px/2.2、項目は 240 幅から・間 8、学校医の飾り 91×179 は右 32・上 123）
   ・大切にする姿勢: 節の上 200・下 240。柱 見出し 20px → 40 → 標語 32px → 24 → 白箱 40px（内 2/16・間 8）→ 24 → 32px。
     写真は節の端から: タブレット 左 101・上 168（14.03vw 角）／集合写真 右 67・上 211（24.03vw×15.49vw）／カウンセリング 左 43・下端が上から 609／医師 右 112・下端 649。
     帯文字は画像 1600×80（間 80）を節の下から 103 の 100 高の帯の中央に
   ・HISTORY: 節の上 200。見出しと点線は左右 115（最大 1136）。見出し→点線 32、点線→カード 29。カード min(345, 26.25vw)×503、西暦 40px、和暦・本文 16px/1.7
   ・POSITIONS: 節の上下 200、左右 120（最大 1200）。見出し→カード 160。アーチ型カード 最大 355×500（間 24・均等配置・内 56/24・写真 最大 300 幅・写真→職種名 40）、職種名 24px＋丸 40、英字 12px（間 4）。
     飾り 100（±20°）: 1 枚目 左 −31・上 60 / 2 枚目 右 −23・下 0 / 3 枚目 右 −24・上 10。「もっと見る」は現行に無いので出さない（about.json の positions.more.hidden）
   ・RECRUIT INFO: 節の上 200。見出しの列 320｜80｜白カード 560×120（間 8・題 20px）→ 160 → 写真 CTA 2 枚（628×224・間 24）→ 24 → ENTRY（1280×320）→ 80 → フッター
   ====================================================================== */
@media (min-width: 1080px) {
  body.page-recruit-about { background-size: 100% 600px; }

  /* 見出し */
  .page-recruit-about .page-head.abt-head { padding: 92px 0 0; }
  .page-recruit-about .abt-head > .container { width: min(100% - 160px, 1248px); }   /* 現行: 左右 80・ピル 4 つで 1248 */
  .page-recruit-about .abt-head .sec-head { gap: 16px; }
  .page-recruit-about .abt-head h1 { font-size: 40px; line-height: 1.7; letter-spacing: 0.06em; }
  .page-recruit-about .abt-head .anchor-nav { margin-top: 80px; }
  .page-recruit-about .abt-head .anchor-nav ul { display: flex; flex-wrap: nowrap; justify-content: flex-start; justify-content: safe center; gap: 16px; }
  .page-recruit-about .abt-head .anchor-nav li { flex: 0 1 300px; min-width: 0; }
  .page-recruit-about .abt-head .anchor-pill { min-height: 55px; padding: 12px 24px; gap: 8px; border: 2px solid var(--c-white); border-radius: 32px; font-size: 16px; line-height: 1.7; letter-spacing: 0.06em; }
  .page-recruit-about .abt-head .anchor-pill .icon { width: 20px; height: 20px; }

  /* MESSAGE */
  .page-recruit-about .abt-message { padding: 120px 0 0; }
  .page-recruit-about .abt-message > .container { width: min(100% - 160px, 1190px); }
  .page-recruit-about .abt-message .sec-head { margin-bottom: 72px; }
  .section.abt-message { --abt-photo-w: 368px; --abt-vt-fs: 26px; --abt-vt-top: 88px; --abt-vt-in-l: 40px; --abt-vt-in-r: 37px; --abt-vt-step-l: 50px; --abt-vt-step-r: 56px; }
  .abt-message .abt-msg-grid { grid-template-columns: 518px minmax(0, 1fr); grid-template-rows: auto auto auto 1fr; grid-template-areas: "visual name" "visual body" "sname body" "career body"; gap: 48px; margin: 0 65px 0 14px; align-items: start; }
  .abt-message .abt-visual { justify-content: flex-start; }
  .abt-message .abt-vt-left { gap: 20px; }
  .abt-message .abt-vt-right { gap: 13px; }
  .abt-message .abt-vt-line { font-size: var(--abt-vt-fs); }
  .abt-message .abt-name { flex-wrap: nowrap; align-items: center; gap: 20px; margin-top: 0; padding: 0; }
  .abt-message .abt-name-side { margin-top: 0; }
  .abt-message .abt-position { font-size: 16px; line-height: 1.7; letter-spacing: 0; color: var(--c-ink-deep); }
  .abt-message .abt-name-txt { font-size: 24px; line-height: 1.7; letter-spacing: 0; }
  .abt-message .abt-career { justify-self: start; width: max-content; max-width: calc(100% - 8px); margin: 0 0 0 8px; padding: 24px 32px; gap: 8px; font-size: 13px; line-height: 1.8; letter-spacing: 0; }
  .abt-message .abt-career-row { grid-template-columns: 64px minmax(0, 1fr); column-gap: 20px; }
  .abt-message .abt-career dt { font-size: 16px; line-height: 1.7; }
  .abt-message .abt-career-row.no-year dd { row-gap: 8px; }
  .abt-message .abt-body { margin-top: 0; font-size: 16px; line-height: 2.2; letter-spacing: 0.06em; }
  .abt-message .abt-body p + p { margin-top: 16px; }
  .abt-message .abt-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; margin-top: 64px; }
  .abt-message .abt-cards .abt-card { border-radius: 16px; }
  .abt-message .abt-cards .abt-card-aff { padding: 40px 0 40px 32px; }
  .abt-message .abt-cards .abt-card-school { min-height: 342px; padding: 40px 131px 40px 32px; }
  .abt-message .abt-card-title { margin-bottom: 8px; font-size: 16px; line-height: 2.2; letter-spacing: 0.06em; }
  .abt-message .abt-list { gap: 8px; font-size: 16px; line-height: 2.2; letter-spacing: 0.06em; }
  .abt-message .abt-list li { position: relative; min-width: 240px; padding-left: 18px; text-indent: 0; }
  .abt-message .abt-list li.is-long { min-width: 290px; }   /* 13 字以上の項目は現行どおり 290 幅（2 つ並ぶかどうかが現行と同じになる） */
  .abt-message .abt-list li::before { content: ""; position: absolute; left: 7px; top: calc(1.1em - 1.5px); width: 3px; height: 3px; background: var(--c-ink-soft); }
  .abt-message .abt-card-school .abt-list { flex-direction: column; }
  .abt-message .abt-card-decor { right: 32px; top: 123px; width: 91px; transform: none; }

  /* 大切にする姿勢 */
  .page-recruit-about .abt-guide { position: relative; padding: 200px 0 240px; overflow: clip; }
  .page-recruit-about .abt-collage.collage-about { position: static; display: block; min-height: 0; margin: 0; padding: 0; }
  .page-recruit-about .abt-collage.collage-about .collage-center { position: relative; z-index: 1; width: max-content; max-width: 100%; margin-inline: auto; padding: 0; }
  .page-recruit-about .abt-guide-title { margin-bottom: 40px; padding: 8px 16px; font-size: 20px; line-height: 1.7; letter-spacing: 0.06em; }
  .page-recruit-about .abt-stmt { gap: 0; font-size: 32px; line-height: 1.7; letter-spacing: 0.06em; }
  .page-recruit-about .abt-stmt-line.is-boxed { margin-top: 0; font-size: inherit; }
  .page-recruit-about .abt-stmt-line.is-boxed > span { padding: 2px 16px; border-radius: 4px; font-size: 40px; line-height: 1.7; letter-spacing: 0.06em; }
  .page-recruit-about .abt-stmt-line.is-boxed + .abt-stmt-line.is-boxed { margin-top: 8px; }
  .page-recruit-about .abt-stmt-line:not(.is-boxed) + .abt-stmt-line.is-boxed,
  .page-recruit-about .abt-stmt-line.is-boxed + .abt-stmt-line:not(.is-boxed) { margin-top: 24px; }
  .page-recruit-about .abt-collage.collage-about .collage-item { position: absolute; bottom: auto; }
  .page-recruit-about .abt-collage.collage-about .collage-item img { width: 100%; height: 100%; object-fit: cover; border-radius: 16px; }
  .page-recruit-about .abt-collage.collage-about .collage-3 { left: 101px; right: auto; top: 168px; width: 14.03vw; height: 14.03vw; aspect-ratio: auto; }
  .page-recruit-about .abt-collage.collage-about .collage-1 { left: auto; right: 67px; top: 211px; width: 24.03vw; height: 15.49vw; aspect-ratio: auto; }
  .page-recruit-about .abt-collage.collage-about .collage-2 { left: 43px; right: auto; top: calc(609px - 15.49vw); width: 24.03vw; height: 15.49vw; aspect-ratio: auto; }
  .page-recruit-about .abt-collage.collage-about .collage-4 { left: auto; right: 112px; top: calc(649px - 14.03vw); width: 14.03vw; height: 14.03vw; aspect-ratio: auto; }
  .page-recruit-about .abt-marquee { position: absolute; left: 0; right: 0; bottom: 103px; height: 100px; margin: 0; display: flex; align-items: center; }
  .page-recruit-about .abt-marquee-track { display: none; }
  .page-recruit-about .abt-marquee-img { display: flex; flex-wrap: nowrap; gap: 80px; width: max-content; animation: abt-marquee-img-pc 56s linear infinite; }
  .page-recruit-about .abt-marquee-img img { flex: none; width: 1600px; height: auto; }

  /* HISTORY */
  .page-recruit-about .abt-history { padding: 200px 0 0; overflow: clip; }
  .page-recruit-about .abt-history > .container { width: min(100% - 230px, 1136px); }
  .page-recruit-about .abt-hist-head { flex-wrap: nowrap; align-items: flex-end; }
  .page-recruit-about .abt-hist-sechead.sec-head { gap: 0; }
  .page-recruit-about .abt-hist-nav { gap: 24px; margin: 0 0 -4px auto; }
  .page-recruit-about .abt-hist-btn { width: 45px; height: 45px; background: var(--c-white); border: 1px solid var(--c-line-2); }
  .page-recruit-about .abt-hist-btn .icon { width: 24px; height: 24px; }
  .page-recruit-about .abt-hist-rule { margin: 32px 0 29px; }
  /* 現行: カードは「本文の左端から 1366 の枠の右端まで」の 28.8% のコマ（最大 345 のカードをコマの中央に）。1440 で 1 枚目が 8 右、1280 で 0 */
  .page-recruit-about .abt-hist-track { --abt-hist-slot: calc(0.288 * (min(100vw, 1366px) - 115px)); --abt-hist-pad: max(0px, (var(--abt-hist-slot) - 345px) / 2); gap: 16px; margin: 0 calc((100% - 100vw) / 2) 0 0; padding: 0 40px 0 var(--abt-hist-pad); scroll-padding-inline: var(--abt-hist-pad) 40px; }
  .page-recruit-about .abt-hist-card { flex: 0 0 min(345px, var(--abt-hist-slot)); min-height: 503px; padding: 40px 32px 32px; gap: 20px; }
  .page-recruit-about .abt-hist-year { gap: 0; padding-bottom: 20px; }
  .page-recruit-about .abt-hist-ad { font-size: 40px; line-height: 1.7; letter-spacing: 0.15em; }
  .page-recruit-about .abt-hist-era { font-size: 16px; line-height: 1.7; letter-spacing: 0; }
  .page-recruit-about .abt-hist-text { font-size: 16px; line-height: 1.7; letter-spacing: 0; }
  .page-recruit-about .abt-hist-photo { padding-top: 0; }

  /* POSITIONS（アーチ型カード。〜1079 と同じ jobCard の形を 3 列に） */
  .page-recruit-about .abt-positions { padding: 200px 0; overflow: clip; }
  .page-recruit-about .abt-positions > .container { width: min(100% - 160px, 1200px); }
  .page-recruit-about .abt-positions .sec-head { gap: 16px; margin-bottom: 160px; }
  .page-recruit-about .abt-jobs { display: flex; justify-content: space-around; align-items: flex-start; gap: 24px; max-width: none; }
  .page-recruit-about .abt-job { flex: 0 1 29.58%; min-width: 0; padding-top: 0; }   /* 1200 の列で 355。狭い幅では比例で細く（1280 で 331） */
  .page-recruit-about .abt-job[data-allow-bleed] { overflow: visible; }
  .page-recruit-about .abt-jobs .job-card { display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 40px; height: 500px; margin-top: 0; padding: 56px 24px; border-radius: 200px 200px 16px 16px; background: var(--c-white); text-align: center; overflow: visible; }
  .page-recruit-about .abt-jobs .job-photo { height: auto; margin-top: 0; background: none; }
  .page-recruit-about .abt-jobs .job-photo img { width: min(300px, 100%); max-width: none; padding-top: 0; object-fit: contain; }
  .page-recruit-about .abt-jobs .job-body { display: grid; justify-items: center; gap: 4px; padding: 0; }
  .page-recruit-about .abt-jobs .job-title { display: inline-flex; justify-content: center; gap: 16px; margin-top: 0; font-size: 24px; line-height: 1.7; letter-spacing: 0.06em; }
  .page-recruit-about .abt-jobs .job-title .btn-ring { width: 40px; height: 40px; flex: none; }
  .page-recruit-about .abt-jobs .job-title .btn-ring .icon { width: 26px; height: 26px; }
  .page-recruit-about .abt-jobs .job-en { display: block; margin-top: 0; font-size: 12px; font-weight: 400; line-height: 1.7; letter-spacing: 0.25em; }
  .page-recruit-about .abt-job-decor { display: block; width: 100px; }
  .page-recruit-about .abt-job-1 .abt-job-decor { left: -31px; right: auto; top: 60px; bottom: auto; transform: rotate(-20deg); }
  .page-recruit-about .abt-job-2 .abt-job-decor { left: auto; right: -23px; top: auto; bottom: 0; transform: rotate(20deg); }
  .page-recruit-about .abt-job-3 .abt-job-decor { left: auto; right: -24px; top: 10px; bottom: auto; transform: rotate(20deg); }

  /* RECRUIT INFO */
  .page-recruit-about .abt-rinfo { padding: 200px 0 16px; }
  .page-recruit-about .abt-rinfo > .container { width: min(100% - 80px, 1280px); }
  .page-recruit-about .abt-rinfo-grid { grid-template-columns: minmax(0, 320px) minmax(0, 560px); justify-content: center; column-gap: 80px; max-width: none; }
  .page-recruit-about .abt-rinfo-head.sec-head { gap: 16px; }
  .page-recruit-about .abt-rinfo-head .sec-label { margin-left: 6px; }
  .page-recruit-about .abt-rinfo-cards { gap: 8px; }
  .page-recruit-about .abt-ctas { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 160px; }
  .page-recruit-about .abt-entry { margin-top: 24px; }
  .page-recruit-about .abt-entry .cta-smile { left: 120px; top: 36px; width: 273px; opacity: 0.1; }   /* ENTRY の白スマイル 273×247（帯の左 120・上 36・不透明度 10%） */
  .page-recruit-about .abt-entry .cta-text { flex-wrap: nowrap; align-items: center; gap: 24px; }
  .page-recruit-about .abt-entry .cta-en { font-size: 80px; font-weight: 400; line-height: 1.7; letter-spacing: 0.06em; }   /* 現行 80px・字間 0.06em（旧 0.15em で 36 広かった） */
  .page-recruit-about .abt-entry .cta-title { font-size: 24px; line-height: 1.7; letter-spacing: 0.06em; }
}
/* 1080〜1120: 現行の 911〜1120 の組み（1080 で実測）。容器の左右 56、写真 300×450・縦書き 20px（箱 42・組の中の間 4、左の組は写真に 80・右の組は 72 重ねる）、
   左の列 368｜32｜右の列（左の列の中の間 32。右の列は 理事長＋氏名 → 48 → 本文）。経歴は左の列の幅（360）で折り返す。
   大切にする姿勢の写真は 左 76・上 246 ／ 右 29・上 224 ／ 左 31・下端 612 ／ 右 76・下端 586。沿革のカード 27.3vw×480（左右 56）。
   職種カード 274×400（間 16・中央寄せ・内 40/24・写真 226 幅・写真→職種名 16・職種名→英字 16）、見出し→カード 120、飾り 70（1 枚目 左 −9・上 59 / 2 枚目 右 −23・下 0 / 3 枚目 右 8・上 30） */
@media (min-width: 1080px) and (max-width: 1120px) {
  .page-recruit-about .abt-message > .container { width: calc(100% - 112px); }
  .section.abt-message { --abt-photo-w: 300px; --abt-vt-fs: 20px; --abt-vt-in-l: 80px; --abt-vt-in-r: 72px; }
  .abt-message .abt-msg-grid { grid-template-columns: 368px minmax(0, 1fr); gap: 32px; margin: 0; }
  .abt-message .abt-vt-left, .abt-message .abt-vt-right { gap: 4px; }
  .abt-message .abt-body { margin-top: 16px; }
  .page-recruit-about .abt-collage.collage-about .collage-3 { left: 76px; top: 246px; }
  .page-recruit-about .abt-collage.collage-about .collage-1 { right: 29px; top: 224px; }
  .page-recruit-about .abt-collage.collage-about .collage-2 { left: 31px; top: calc(612px - 15.49vw); }
  .page-recruit-about .abt-collage.collage-about .collage-4 { right: 76px; top: calc(586px - 14.03vw); }
  .page-recruit-about .abt-history > .container { width: calc(100% - 112px); }
  .page-recruit-about .abt-hist-rule { margin-bottom: 55px; }
  .page-recruit-about .abt-hist-track { --abt-hist-pad: 0px; }
  .page-recruit-about .abt-hist-card { flex-basis: 27.3vw; min-height: 480px; padding-bottom: 18px; }   /* 現行は高さ 480 固定で、いちばん長い 1918 年のカードは下の余白が 18 に詰まる */
  .page-recruit-about .abt-positions .sec-head { margin-bottom: 120px; }
  .page-recruit-about .abt-jobs { justify-content: center; gap: 16px; }
  .page-recruit-about .abt-job { flex: 0 1 29.8%; }   /* 920 の列で 274 */
  .page-recruit-about .abt-rinfo-cards { gap: 16px; }
  .page-recruit-about .abt-jobs .job-card { gap: 16px; height: 400px; padding: 40px 24px; }
  .page-recruit-about .abt-jobs .job-body { gap: 16px; }
  .page-recruit-about .abt-job-decor { width: 70px; }
  .page-recruit-about .abt-job-1 .abt-job-decor { left: -9px; top: 59px; }
  .page-recruit-about .abt-job-2 .abt-job-decor { right: -23px; bottom: 0; }
  .page-recruit-about .abt-job-3 .abt-job-decor { right: 8px; top: 30px; }
}
/* 職種一覧の下の「もっと見る」（Figma 72:1770）。現行サイトに無いので出さない（about.json の positions.more.hidden。戻すときは hidden を外すと 1080〜 だけ出る） */
.abt-more { display: flex; justify-content: center; margin-top: 40px; }
.abt-more.is-pc-only { display: none; }
@media (min-width: 1080px) { .abt-more.is-pc-only { display: flex; } .page-recruit-about .abt-more .btn-circle { padding: 10px 14px 10px 22px; } }

/* ======================================================================
   演出（docs/MOTION.md・2026-09-26）。効果の出し入れは about.mjs の data-mo 属性、ここは時間と曲線の上書きだけ。
   すべて html.mo の下（JS なし・prefers-reduced-motion・検査の Playwright では最初から静止した完成形）
   ====================================================================== */
/* 縦書きキャッチ（見せ場）: 白箱ごと上から下へ書かれる。長さは字数 × 62ms（about.mjs の VT_MS_PER_CHAR と同じ）で、筆の速さを 4 本でそろえる。
   曲線はほぼ一定の速さ（--mo-ease の急発進だと「書く」ように見えない） */
html.mo .abt-vt .abt-vt-line[data-mo].is-in { animation-duration: calc(var(--abt-vt-len, 8) * 62ms + 160ms); animation-timing-function: cubic-bezier(.4, .15, .35, 1); }
/* 行動指針の白箱 2 行: 蛍光ペンを引くように左から（少し速く・終わりで止まる） */
html.mo .abt-stmt-line.is-boxed > [data-mo].is-in { animation-duration: .75s; animation-timing-function: cubic-bezier(.6, .05, .3, 1); }
/* 経歴の点線は少しゆっくり描く（行の up と重ねる） */
html.mo .abt-career[data-mo].is-in { animation-duration: calc(var(--mo-dur) * 1.5); }

/* フッターの口の上の間隔を現行に合わせる（2026-09-26 統合時。最後の中身の下端→口の上端を現行と同じ方法で実測: tools なし・scratchpad の gap.mjs）。
   〜599 は現行 390、768〜1079 は現行 841 の値 */
/* 600〜1079 は上の「600〜1079」の節（.abt-rinfo の padding-bottom 56）、1080〜 は「1080〜」の節（16）で、ENTRY の下端 → フッター 80 にしてある（2026-09-29 に現行 673・841・1080・1440 で確認） */
