/* 2026-09: 採用パンフレットの紙面デザイン。本文・画像・PDF生成は元のHTMLを維持する。 */
:root {
  --primary:#282824; --primary-light:#35342f;
  --accent:#a64e45; --accent-light:#fff; --accent-border:#dedbd4;
  --gray-50:#f5f4f1; --gray-100:#eeeae4; --gray-200:#dedbd4;
  --gray-300:#b9b4aa; --gray-400:#817c74; --gray-500:#66645e;
  --gray-600:#56534e; --gray-700:#45433e; --gray-800:#35342f; --gray-900:#282824;
  --serif:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP",serif;
  --sans:"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",Meiryo,sans-serif;
}
html { scroll-behavior:smooth; }
body { background:#f5f4f1; font-family:var(--sans); }
.download-bar {
  min-height:66px; justify-content:space-between; gap:24px;
  padding:12px max(24px,calc((100vw - 960px)/2));
  box-shadow:none; border-bottom:1px solid var(--gray-200);
}
.download-bar p { font-size:12px; font-weight:600; letter-spacing:.07em; }
.back-link { font-size:12px; color:var(--gray-600); }
.download-btn {
  border-radius:0; padding:11px 22px; background:var(--primary);
  font:700 12px/1.4 var(--sans); letter-spacing:.04em;
}
.download-btn:hover { background:#45423c; }
.back-link:focus-visible,.download-btn:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.download-btn .material-icons-outlined,.slide .material-icons-outlined { display:none!important; }
.slides-wrapper { margin-top:91px; margin-bottom:52px; }
.slide {
  border-radius:0; background:#fff; color:var(--primary);
  box-shadow:0 14px 45px rgba(32,28,23,.08); margin-bottom:28px;
}
.slide-label {
  padding:0; border:0; border-radius:0; background:transparent;
  color:var(--accent); font-size:10px; line-height:1.5;
  font-weight:700; letter-spacing:.22em;
}
.slide-title { font-family:var(--serif); font-size:29px; font-weight:600; line-height:1.48; letter-spacing:.015em; }
.slide-subtitle { font-size:13px; line-height:1.8; }
.accent { color:var(--accent); }
.slide-footer { bottom:20px; right:37px; gap:11px; }
.slide-footer img { height:18px; filter:none; }
.slide-footer span { font-size:9px; color:var(--gray-400); }
.page-num { bottom:21px; left:40px; font-size:10px; color:var(--gray-400); }
.slide:not(.slide-cover) .page-num::after {
  content:""; position:absolute; left:22px; top:50%; width:30px; height:1px; background:var(--gray-300);
}
.slide img { filter:saturate(.8) contrast(.97); }
.slide [style*="background:var(--gray-50)"],
.slide [style*="background:var(--accent-light)"],
.slide .mini-card,.slide .voice-card,.slide .salon-chip {
  background:#fff!important; border-radius:0!important; box-shadow:none!important;
}
.slide [style*="border-radius"] { border-radius:0!important; }
.slide [style*="border:2px solid var(--accent)"],
.slide [style*="border:1px solid var(--gray-100)"],
.slide [style*="border:1px solid var(--accent-border)"] {
  border:0!important; border-top:1px solid var(--gray-200)!important;
}
.mini-card,.voice-card { border:0; border-top:1px solid var(--gray-200); padding:17px 10px 10px; text-align:left; }
.mini-card h4,.voice-card h4 { font:600 13px/1.5 var(--serif); }
.mini-card p,.voice-card p { font-size:10px; line-height:1.7; color:var(--gray-600); }
.icon-circle { display:none; }
.stat-big { font-family:Georgia,serif; font-weight:500; letter-spacing:-.04em; }
.salon-chip { border:0; border-top:1px solid var(--gray-200); padding:7px 11px; }
.salon-chip--ext { color:var(--accent); }

/* 表紙・裏表紙 */
.slide-cover,.slide-cta { background:#fff; }
.slide-cover > div:first-child,.slide-cta > div:first-child {
  align-items:flex-start!important; justify-content:flex-start!important;
  text-align:left!important; padding:41px 40px 36px 50px!important;
}
.slide-cover > div:first-child > img,.slide-cta > div:first-child > img { height:32px!important; }
.slide-cover .slide-title {
  order:2; font:700 19px/1.3 Arial,var(--sans)!important;
  letter-spacing:.16em; margin-top:16px!important;
}
.slide-cover .slide-title::after {
  content:""; display:block; width:42px; height:2px;
  margin-top:20px; background:var(--accent);
}
.slide-cover > div:first-child > p:nth-of-type(1) {
  order:1; font-family:var(--serif); font-size:28px!important; line-height:1.45;
  color:var(--gray-900)!important; margin-top:31px!important;
}
.slide-cover > div:first-child > p:nth-of-type(2) {
  order:3; color:var(--gray-500)!important; letter-spacing:.09em; margin-top:19px!important;
}
.slide-cover dl { order:4; max-width:100%!important; gap:8px 17px!important; margin-top:24px!important; }
.slide-cover dl > div { border-color:var(--gray-200)!important; }
.slide-cover dt { font-size:10px!important; }
.slide-cover dd { font:600 19px/1.2 Georgia,var(--sans)!important; }
.slide-cover > div:first-child > p:last-child { order:5; line-height:1.6; }
/* 働く条件を載せた表紙は、ページ番号とアドレスに重ならないよう縦を詰める */
.slide-cover--conditions > div:first-child { padding-top:24px!important; }
.slide-cover--conditions > div:first-child > p:nth-of-type(1) { margin-top:16px!important; }
.slide-cover--conditions .slide-title::after { margin-top:14px; }
.slide-cover--conditions > div:first-child > p:nth-of-type(2) { margin-top:12px!important; }
.slide-cover--conditions dl { margin-top:12px!important; grid-template-columns:repeat(4,auto)!important; gap:6px 16px!important; }
.slide-cover--conditions dd { font-size:16px!important; }
.slide-cover > div:nth-child(2) img,.slide-cta > div:nth-child(2) img { filter:saturate(.76) contrast(.96); }
.slide-cover > div:nth-child(2) > div:last-child,.slide-cta > div:nth-child(2) > div:last-child { display:none; }
.slide-cover .slide-footer,.slide-cta .slide-footer { z-index:2; background:rgba(255,255,255,.9); padding:4px; }
.slide-cta .slide-title { font:600 29px/1.5 var(--serif)!important; }
.slide-cta .slide-subtitle { text-align:left; }

/* 数字・理念・教育・待遇 */
.slide:nth-child(2) > div:first-child { padding-top:32px!important; }
.slide:nth-child(2) .grid-4 > div {
  background:#fff!important; border:0!important; border-top:1px solid var(--gray-200)!important;
  padding:13px 4px 10px!important; text-align:left!important;
}
.slide:nth-child(2) .grid-4 p:first-of-type { font-family:Georgia,serif; font-weight:500!important; letter-spacing:-.04em; }
.slide:nth-child(2) .grid-4 p:last-of-type { font-size:10px!important; color:var(--gray-600)!important; }
.slide:nth-child(2) > div:nth-child(3) { margin-top:19px!important; }
.slide-philosophy .grid-2 > div {
  background:#fff!important; border:0!important; border-top:1px solid var(--gray-200)!important;
  border-radius:0!important; padding:14px 8px!important;
}
.slide-philosophy .grid-2 h4 { font-family:var(--serif); font-weight:600!important; }
.slide-education .grid-4 { grid-template-columns:repeat(2,1fr); gap:16px 28px; }
.slide-education .mini-card { padding:16px 8px; }
.slide-education .mini-card h4 { margin-top:0; }
.slide:nth-child(5) [style*="background:var(--gray-900)"],
.slide:nth-child(5) [style*="background:var(--accent)"] {
  background:#fff!important; color:var(--gray-900)!important; border-top:1px solid var(--gray-200);
}
.slide:nth-child(5) .career-step-card {
  background:#fff!important; color:var(--gray-900)!important;
  border:0; border-top:1px solid var(--gray-200);
}
.slide:nth-child(5) .career-step-card h4,
.slide:nth-child(5) .career-step-card p { color:var(--gray-900)!important; }
.slide:nth-child(5) [style*="background:var(--gray-900)"] p,
.slide:nth-child(5) [style*="background:var(--accent)"] p { color:var(--gray-900)!important; }
.slide:nth-child(5) [style*="background:var(--gray-900)"] h4,
.slide:nth-child(5) [style*="background:var(--accent)"] h4 { color:var(--gray-900)!important; }
.slide:nth-child(6) .grid-3 > div {
  background:#fff!important; border:0!important; border-top:1px solid var(--gray-200)!important;
  padding:22px 12px!important; text-align:left!important;
}
.slide:nth-child(6) .grid-3 p:nth-child(2) { font-family:Georgia,serif; font-weight:500!important; }
.slide:nth-child(6) [style*="justify-content:center"] { background:#fff!important; border-top:1px solid var(--gray-200); }
.slide:nth-child(7) [style*="background:var(--gray-50)"],
.slide:nth-child(8) [style*="background:var(--gray-50)"] { border-top:1px solid var(--gray-200)!important; }
.compare-table { font-size:11px; }
.compare-table th {
  background:#fff; color:var(--gray-700); border-top:1px solid var(--gray-900);
  border-bottom:1px solid var(--gray-300); border-radius:0!important;
}
.compare-table td { border-color:var(--gray-200); }
.compare-group-title { color:var(--accent); }
.slide:nth-child(9) .slide-title { font-size:25px!important; }
.slide:nth-child(9) thead tr { background:#fff!important; }
.slide:nth-child(9) thead th {
  color:var(--gray-700)!important; border-top:1px solid var(--gray-900);
  border-bottom:1px solid var(--gray-300);
}
.slide:nth-child(10) .salon-chip { border:0; border-top:1px solid var(--gray-200); }
.slide:nth-child(11) > div:first-child img,
.slide:nth-child(12) > div:last-of-type img,
.slide:nth-child(15) > div:last-child img { filter:saturate(.76) contrast(.96); }
.slide:nth-child(11) [style*="background:var(--accent-light)"],
.slide:nth-child(13) [style*="background:var(--gray-50)"],
.slide:nth-child(14) [style*="background:var(--gray-50)"],
.slide:nth-child(14) [style*="background:var(--accent-light)"] { border-top:1px solid var(--gray-200)!important; }
.step-num { background:#fff; border:1px solid var(--accent); color:var(--accent); font-family:Georgia,serif; }
.step-row:last-child .step-num { background:var(--accent)!important; color:#fff; }

@media (max-width:1000px) {
  body:not(.pdf-rendering) .download-bar { position:static; padding:16px 24px; flex-wrap:wrap; gap:10px; }
  body:not(.pdf-rendering) .download-bar p { order:-1; flex-basis:100%; }
  body:not(.pdf-rendering) .download-btn { padding:11px 16px; }
  body:not(.pdf-rendering) .slides-wrapper { width:calc(100% - 24px); margin:14px auto 36px; }
  body:not(.pdf-rendering) .slide {
    width:100%; height:auto; min-height:0; padding:30px 26px 52px!important;
    display:flex!important; flex-direction:column!important; grid-template-columns:none!important;
    overflow:visible; margin-bottom:16px;
  }
  body:not(.pdf-rendering) .slide-title { font-size:25px!important; }
  body:not(.pdf-rendering) .slide-label { line-height:1.8; }
  body:not(.pdf-rendering) .slide-subtitle { font-size:12px; }
  body:not(.pdf-rendering) .slide-footer { right:21px; bottom:17px; }
  body:not(.pdf-rendering) .page-num { left:25px; bottom:18px; }
  body:not(.pdf-rendering) .slide .flex-grow { display:block; flex:auto; margin-top:24px; }
  body:not(.pdf-rendering) .slide .grid-2,
  body:not(.pdf-rendering) .slide .grid-3,
  body:not(.pdf-rendering) .slide .grid-4 { grid-template-columns:1fr 1fr!important; gap:15px!important; }
  body:not(.pdf-rendering) .slide .grid-3 > :last-child:nth-child(odd) { grid-column:1/-1; }
  body:not(.pdf-rendering) .slide-cover,
  body:not(.pdf-rendering) .slide-cta { padding:0 0 52px!important; }
  body:not(.pdf-rendering) .slide-cover > div:first-child,
  body:not(.pdf-rendering) .slide-cta > div:first-child { padding:29px 26px 27px!important; }
  body:not(.pdf-rendering) .slide-cover .slide-title { font-size:19px!important; }
  body:not(.pdf-rendering) .slide-cover > div:first-child > p:nth-of-type(1) { font-size:clamp(26px,7vw,34px)!important; }
  body:not(.pdf-rendering) .slide-cover > div:nth-child(2),
  body:not(.pdf-rendering) .slide-cta > div:nth-child(2) { height:300px; }
  body:not(.pdf-rendering) .slide-cover > div:nth-child(2) img,
  body:not(.pdf-rendering) .slide-cta > div:nth-child(2) img { width:100%; height:100%; object-fit:cover; }
  body:not(.pdf-rendering) .slide-cover > div:nth-child(2) img { object-position:50% 33%; }
  body:not(.pdf-rendering) .slide-cover .slide-footer,
  body:not(.pdf-rendering) .slide-cta .slide-footer { bottom:13px; }
  body:not(.pdf-rendering) .slide:nth-child(2) > div:first-child { padding:0 0 17px!important; }
  body:not(.pdf-rendering) .slide:nth-child(2) > div:nth-child(2) { padding:0!important; }
  body:not(.pdf-rendering) .slide:nth-child(2) > div:nth-child(3) {
    display:grid!important; grid-template-columns:1fr 1fr; grid-template-rows:130px 130px;
    margin:22px -26px 0!important; min-height:0; height:260px;
  }
  body:not(.pdf-rendering) .slide:nth-child(2) > div:nth-child(3) img { width:100%; height:100%; max-width:100%; }
  body:not(.pdf-rendering) .slide:nth-child(9) { padding:28px 22px 52px!important; }
  body:not(.pdf-rendering) .slide:nth-child(9) .slide-title { font-size:23px!important; }
  body:not(.pdf-rendering) .slide:nth-child(9) .compare-table { font-size:10px; }
  body:not(.pdf-rendering) .slide:nth-child(11) > div:first-child { height:270px!important; display:flex!important; }
  body:not(.pdf-rendering) .slide:nth-child(11) > div:first-child img { width:50%!important; height:100%!important; object-fit:cover; }
  body:not(.pdf-rendering) .slide:nth-child(11) > div:nth-child(2) { padding:24px 0 0!important; }
  body:not(.pdf-rendering) .slide:nth-child(12) > div:first-child { padding:0 0 20px!important; }
  body:not(.pdf-rendering) .slide:nth-child(12) > div:nth-child(2) { padding:0!important; }
  body:not(.pdf-rendering) .slide:nth-child(12) > div:nth-child(4) {
    display:grid!important; grid-template-columns:1fr 1fr; grid-template-rows:130px 130px;
    margin:24px -26px 0!important; height:260px;
  }
  body:not(.pdf-rendering) .slide:nth-child(12) > div:nth-child(4) img { width:100%; height:100%; object-fit:cover; }
  body:not(.pdf-rendering) .slide:nth-child(15) > div:first-child { padding:0!important; }
  body:not(.pdf-rendering) .slide:nth-child(15) > div:last-child { height:340px!important; margin:20px -26px -52px; }
  body:not(.pdf-rendering) .slide:nth-child(15) > div:last-child img { object-fit:cover; }
  body:not(.pdf-rendering) .slide:nth-child(15) .slide-footer { display:none; }
  body:not(.pdf-rendering) .slide:nth-child(15) .page-num { position:static; margin-top:18px; }
}
@media (max-width:600px) {
  body:not(.pdf-rendering) .slide .grid-2,
  body:not(.pdf-rendering) .slide .grid-3,
  body:not(.pdf-rendering) .slide .grid-4 { grid-template-columns:1fr!important; }
  body:not(.pdf-rendering) .slide .grid-3 > :last-child:nth-child(odd) { grid-column:auto; }
  body:not(.pdf-rendering) .slide-cover dl,
  body:not(.pdf-rendering) .slide:nth-child(2) .grid-4 { grid-template-columns:1fr 1fr!important; }
  body:not(.pdf-rendering) .slide:nth-child(5) [style*="justify-content:center"] { flex-wrap:wrap!important; }
  body:not(.pdf-rendering) .slide:nth-child(5) [style*="min-width:160px"] { min-width:110px!important; }
  body:not(.pdf-rendering) .slide:nth-child(5) .career-arrow { display:none; }
  body:not(.pdf-rendering) .slide:nth-child(6) [style*="justify-content:center"] { display:block!important; }
  body:not(.pdf-rendering) .slide:nth-child(6) [style*="justify-content:center"] > div { padding:6px 0; }
  body:not(.pdf-rendering) .slide:nth-child(8) .grid-3,
  body:not(.pdf-rendering) .slide:nth-child(12) .grid-4 { grid-template-columns:1fr 1fr!important; }
  body:not(.pdf-rendering) .slide:nth-child(8) .grid-3 > :last-child:nth-child(odd) { grid-column:auto; }
  body:not(.pdf-rendering) .slide:nth-child(9) .compare-table { font-size:9px; }
  body:not(.pdf-rendering) .slide:nth-child(9) .compare-table th,
  body:not(.pdf-rendering) .slide:nth-child(9) .compare-table td { padding:5px 4px; }
  body:not(.pdf-rendering) .slide:nth-child(10) .salon-chip { display:inline-block; margin:3px; }
  body:not(.pdf-rendering) .slide:nth-child(15) [style*="display:flex;align-items:center;gap:20px"] { flex-wrap:wrap; }
  body:not(.pdf-rendering) .slide:nth-child(15) [style*="display:flex;align-items:center;gap:20px"] > span { display:none; }
  body:not(.pdf-rendering) .slide:nth-child(5) .grid-5 { grid-template-columns:1fr!important; }
  body:not(.pdf-rendering) .slide:nth-child(12) [style*="grid-template-columns:repeat(4,1fr)"] {
    grid-template-columns:1fr!important;
  }
  body:not(.pdf-rendering) .slide:nth-child(9) table { display:block; margin-top:8px; }
  body:not(.pdf-rendering) .slide:nth-child(9) thead { display:none; }
  body:not(.pdf-rendering) .slide:nth-child(9) tbody { display:block; }
  body:not(.pdf-rendering) .slide:nth-child(9) tbody tr {
    display:grid; grid-template-columns:1fr 1fr; gap:7px 12px;
    padding:10px 0; border-bottom:1px solid var(--gray-200);
  }
  body:not(.pdf-rendering) .slide:nth-child(9) tbody td {
    display:block; padding:0!important; border:0!important;
    font-size:11px!important; line-height:1.6;
  }
  body:not(.pdf-rendering) .slide:nth-child(9) tbody td:first-child { grid-column:1/-1; font-weight:700!important; }
  body:not(.pdf-rendering) .slide:nth-child(9) tbody td:nth-child(2)::before,
  body:not(.pdf-rendering) .slide:nth-child(9) tbody td:nth-child(3)::before {
    display:block; margin-bottom:3px; color:var(--accent);
    font-size:9px; font-weight:700; letter-spacing:.04em;
  }
  body:not(.pdf-rendering) .slide:nth-child(9) tbody td:nth-child(2)::before { content:"よくある美容室"; }
  body:not(.pdf-rendering) .slide:nth-child(9) tbody td:nth-child(3)::before { content:"4cmグループ"; }
  body:not(.pdf-rendering) .slide:nth-child(16) .step-row { gap:12px; }
  body:not(.pdf-rendering) .slide:nth-child(16) .step-content h4 { font-size:14px; }
  body:not(.pdf-rendering) .slide:nth-child(16) .step-content p { font-size:11px; }
}

/* 試作の紙面設計を全ページの基準にする。元の本文は動かさない。 */
@media (min-width:1001px) {
  .slide:not(.slide-cover):not(.slide-cta) {
    padding:38px 51px 43px!important;
  }
  .slide:not(.slide-cover):not(.slide-cta) .slide-label {
    font-size:10px; letter-spacing:.23em;
  }
  .slide:not(.slide-cover):not(.slide-cta) .slide-title {
    font-size:30px; line-height:1.45; margin-top:11px;
  }
  .slide:not(.slide-cover):not(.slide-cta) .slide-subtitle {
    font-size:11px; line-height:1.85; margin-top:12px;
  }
  .slide:not(.slide-cover):not(.slide-cta) .page-num {
    left:auto; right:40px; bottom:24px; letter-spacing:.12em;
  }
  .slide:not(.slide-cover):not(.slide-cta) .page-num::after {
    left:-42px; width:28px;
  }
  .slide:not(.slide-cover):not(.slide-cta) .slide-footer { display:none; }

  /* 表紙：試作と同じ左右の比率、文字の大きさ、写真の見せ方。 */
  .slide-cover { grid-template-columns:53% 47%!important; align-items:stretch!important; }
  .slide-cover > div:first-child {
    padding:44px 43px 35px 54px!important;
    justify-content:flex-start!important; align-items:flex-start!important;
  }
  .slide-cover > div:first-child > img { width:85px!important; height:auto!important; }
  .slide-cover > div:first-child > p:nth-of-type(1) {
    margin-top:49px!important; font-size:42px!important;
    line-height:1.45!important; letter-spacing:.025em;
  }
  .slide-cover > div:first-child > p:nth-of-type(1)::before {
    content:"4CM GROUP / KANAZAWA"; display:block;
    margin-bottom:17px; color:var(--accent);
    font:700 10px/1.2 var(--sans); letter-spacing:.23em;
  }
  .slide-cover .slide-title {
    font-size:17px!important; margin-top:15px!important;
    line-height:1.2!important; letter-spacing:.19em;
  }
  .slide-cover .slide-title::after { margin-top:25px; }
  .slide-cover > div:first-child > p:nth-of-type(2) {
    margin-top:18px!important; font-size:13px!important;
    line-height:1.8; letter-spacing:0;
  }
  .slide-cover > div:nth-child(2) img {
    width:100%!important; height:100%!important;
    object-fit:cover!important; object-position:50% 35%;
  }
  .slide-cover > div:nth-child(2) { height:540px; }
  .slide-cover .slide-footer {
    left:54px; right:auto; bottom:35px; width:411px;
    padding:24px 0 0!important; border-top:1px solid var(--gray-200);
    background:none; justify-content:flex-end;
  }
  .slide-cover .slide-footer img { display:none; }
  .slide-cover .slide-footer span { color:var(--gray-500); font-size:10px; }
  .slide-cover .page-num { bottom:35px; left:54px; color:var(--gray-500); }

  /* 会社紹介：写真を主役にし、元の数字と写真を残す。 */
  .slide:nth-child(2) {
    display:grid!important; grid-template-columns:1.04fr .96fr;
    grid-template-rows:132px 1fr; gap:28px 40px;
  }
  .slide:nth-child(2) > div:first-child {
    grid-column:1/-1; grid-row:1; padding:0!important;
    display:grid; grid-template-columns:1fr 290px;
    grid-template-rows:24px auto; align-content:start;
    border-bottom:1px solid var(--gray-200);
  }
  .slide:nth-child(2) .slide-label { grid-column:1; grid-row:1; align-self:start; }
  .slide:nth-child(2) .slide-title { grid-column:1; grid-row:2; }
  .slide:nth-child(2) .slide-subtitle {
    grid-column:2; grid-row:1/3; align-self:center;
    margin:0!important; max-width:290px;
  }
  .slide:nth-child(2) > div:nth-child(2) {
    grid-column:2; grid-row:2; display:flex;
    align-items:flex-end; padding:0!important;
  }
  .slide:nth-child(2) .grid-4 {
    display:grid!important; grid-template-columns:1fr 1fr!important;
    grid-template-rows:1fr 1fr; gap:0 18px!important;
  }
  .slide:nth-child(2) .grid-4 > div {
    display:flex; flex-direction:column-reverse; align-items:flex-start;
    justify-content:center; padding:8px 0!important;
    border-top:1px solid var(--gray-200)!important;
  }
  .slide:nth-child(2) .grid-4 p:first-of-type {
    font:600 30px/1.15 Georgia,var(--serif)!important;
    color:var(--primary)!important;
  }
  .slide:nth-child(2) .grid-4 p:first-of-type span { font-size:11px!important; }
  .slide:nth-child(2) .grid-4 p:last-of-type {
    font-size:10px!important; color:var(--gray-600)!important;
    margin:0 0 7px!important;
  }
  .slide:nth-child(2) > div:nth-child(3) {
    grid-column:1; grid-row:2; min-height:0; margin:0!important;
    display:grid!important; grid-template-columns:repeat(4,1fr);
    grid-template-rows:minmax(0,1fr) 70px; gap:3px!important;
  }
  .slide:nth-child(2) > div:nth-child(3) img {
    width:100%!important; height:100%!important;
    min-width:0; object-fit:cover;
  }
  .slide:nth-child(2) > div:nth-child(3) img:first-child {
    grid-column:1/-1; object-position:50% 50%;
  }

  /* 理念・教育：試作の見出し罫線と、左に情報・右に実写真。 */
  .slide-philosophy .flex-grow { align-items:stretch; margin-top:48px; }
  .slide-philosophy::before,
  .slide-education::before {
    content:""; position:absolute; left:51px; right:51px;
    top:173px; height:1px; background:var(--gray-200);
  }
  .slide-philosophy .grid-2 { gap:0 20px!important; }
  .slide-philosophy .grid-2 > div { padding:13px 8px!important; }
  .slide-philosophy .grid-2 h4 { font-size:15px!important; line-height:1.55; }
  .slide-philosophy .grid-2 p:last-child { font-size:10px!important; line-height:1.65; }

  .slide-education .slide-title { max-width:525px; font-size:28px!important; }
  .slide-education::before { top:191px; }
  .slide-education > p:last-of-type {
    position:absolute; top:70px; right:51px; width:285px;
    margin:0!important; text-align:left!important;
    font-size:11px!important; line-height:1.85;
  }
  .slide-education .flex-grow {
    width:395px; flex:0 0 auto; margin-top:60px;
    align-items:stretch;
  }
  .slide-education .grid-4 {
    display:grid!important; grid-template-columns:1fr!important;
    gap:0!important;
  }
  .slide-education .mini-card {
    display:grid; grid-template-columns:1fr; align-content:center;
    padding:8px 0!important; border-top:1px solid var(--gray-200);
  }
  .slide-education .mini-card h4 { margin:0; font-size:12px!important; }
  .slide-education .mini-card p { font-size:10px!important; line-height:1.55; }
  .slide-education .mini-card:first-child { min-height:122px; }
  .slide-education .lesson-hours-copy { display:flex; flex-wrap:wrap; align-items:flex-end; }
  .slide-education .lesson-hours-prefix { flex-basis:100%; }
  .slide-education .lesson-hours-number {
    font:500 62px/.94 Georgia,serif; letter-spacing:-.06em;
    color:var(--primary);
  }
  .slide-education .lesson-hours-unit { font-size:16px; font-weight:600; padding:0 8px 7px 4px; }
  .slide-education .lesson-hours-suffix { flex:1; padding:0 0 5px; }
  .education-photo {
    position:absolute; top:221px; right:51px;
    width:385px; height:278px; overflow:hidden;
  }
  .education-photo img {
    width:100%; height:100%; object-fit:cover;
    object-position:47% 50%; filter:saturate(.78);
  }

  /* 情報ページも同じ見出しと罫線で読み進められるようにする。 */
  .slide:nth-child(5) .flex-grow,
  .slide:nth-child(6) .flex-grow,
  .slide:nth-child(7) .flex-grow,
  .slide:nth-child(8) .flex-grow,
  .slide:nth-child(10) .flex-grow,
  .slide:nth-child(13) .flex-grow,
  .slide:nth-child(14) .flex-grow,
  .slide:nth-child(16) .flex-grow { align-items:stretch; margin-top:46px; }
  .slide:nth-child(5)::before,
  .slide:nth-child(6)::before,
  .slide:nth-child(7)::before,
  .slide:nth-child(8)::before,
  .slide:nth-child(10)::before,
  .slide:nth-child(13)::before,
  .slide:nth-child(14)::before,
  .slide:nth-child(16)::before {
    content:""; position:absolute; left:51px; right:51px;
    top:151px; height:1px; background:var(--gray-200);
  }
  .slide:nth-child(6) .grid-3 p:nth-child(2) {
    font-size:52px!important; line-height:1.08!important;
  }
  .slide:nth-child(7) .stat-big { font-size:51px!important; }
  .slide:nth-child(8) .mini-card h4,
  .slide:nth-child(14) h4 { font-size:15px!important; }
  .slide:nth-child(8) .mini-card p,
  .slide:nth-child(14) p { font-size:11px!important; }
  .slide:nth-child(13) h4 { font-size:17px!important; }
  .slide:nth-child(16) .step-content h4 { font-size:17px!important; }

  /* 結びも表紙と同じ全面写真にする。 */
  .slide-cta { grid-template-columns:53% 47%!important; align-items:stretch!important; }
  .slide-cta > div:first-child {
    padding:44px 43px 35px 54px!important;
  }
  .slide-cta > div:first-child > img { width:85px!important; height:auto!important; }
  .slide-cta .slide-title { font-size:34px!important; margin-top:79px!important; }
  .slide-cta > div:nth-child(2) { height:540px; }
  .slide-cta > div:nth-child(2) img { width:100%!important; height:100%!important; object-fit:cover!important; }
  .slide-cta .slide-footer { display:none; }
}

@media (max-width:1000px) {
  body:not(.pdf-rendering) .slide-cover > div:first-child > img,
  body:not(.pdf-rendering) .slide-cta > div:first-child > img {
    width:71px!important; height:auto!important;
  }
  body:not(.pdf-rendering) .slide-cover > div:first-child > p:nth-of-type(1)::before {
    content:"4CM GROUP / KANAZAWA"; display:block;
    margin-bottom:17px; color:var(--accent);
    font:700 10px/1.2 var(--sans); letter-spacing:.23em;
  }
  body:not(.pdf-rendering) .slide-cover .slide-footer { display:none; }
  body:not(.pdf-rendering) .slide:nth-child(2) > div:nth-child(3) {
    grid-template-columns:repeat(4,1fr); grid-template-rows:240px 68px;
    height:311px; margin:22px -26px 0!important;
  }
  body:not(.pdf-rendering) .slide:nth-child(2) > div:nth-child(3) img:first-child { grid-column:1/-1; }
  body:not(.pdf-rendering) .education-photo { width:100%; height:290px; margin-top:25px; overflow:hidden; }
  body:not(.pdf-rendering) .education-photo img { width:100%; height:100%; object-fit:cover; }
  body:not(.pdf-rendering) .slide-education .lesson-hours-copy { display:flex; flex-wrap:wrap; align-items:flex-end; }
  body:not(.pdf-rendering) .slide-education .lesson-hours-prefix { flex-basis:100%; color:var(--accent); font-size:10px; }
  body:not(.pdf-rendering) .slide-education .lesson-hours-number {
    color:var(--primary); font:500 72px/.95 Georgia,serif;
    letter-spacing:-.06em; margin:6px 0;
  }
  body:not(.pdf-rendering) .slide-education .lesson-hours-unit { font-size:15px; font-weight:600; padding:0 0 15px 6px; }
  body:not(.pdf-rendering) .slide-education .lesson-hours-suffix { flex-basis:100%; font-size:10px; line-height:1.6; }
}
/* 2026-10: 人物の顔が切れない表示範囲と、スマホで読める文字の大きさ。本文・画像は変えない。 */
.slide .voice-card .role { font-size:10px; color:var(--gray-500); }
.slide-education .education-photo img { object-position:50% 16%; }
.slide:nth-child(11) > div:first-child { grid-template-rows:repeat(2,minmax(0,1fr))!important; }
.slide:nth-child(11) > div:first-child img { min-height:0; }
.slide:nth-child(11) > div:first-child img:nth-child(2) { object-position:50% 42%; }
.slide:nth-child(12) > div:nth-child(4) img:nth-child(2) { object-position:50% 72%; }
.slide:nth-child(15) > div:last-child img:nth-child(1) { object-position:50% 40%; }
.slide:nth-child(15) > div:last-child img:nth-child(2) { object-position:50% 30%; }
.slide:nth-child(15) > div:last-child img:nth-child(3) { object-position:50% 45%; }
@media (max-width:1000px) {
  body:not(.pdf-rendering) .slide [style*="font-size:9px"],
  body:not(.pdf-rendering) .slide [style*="font-size: 9px"],
  body:not(.pdf-rendering) .slide [style*="font-size:10px"],
  body:not(.pdf-rendering) .slide [style*="font-size: 10px"],
  body:not(.pdf-rendering) .slide .mini-card p,
  body:not(.pdf-rendering) .slide .voice-card p,
  body:not(.pdf-rendering) .slide:nth-child(2) .grid-4 p:last-of-type,
  body:not(.pdf-rendering) .slide-education .lesson-hours-prefix,
  body:not(.pdf-rendering) .slide-education .lesson-hours-suffix { font-size:12px!important; line-height:1.7; }
  body:not(.pdf-rendering) .slide .voice-card .role,
  body:not(.pdf-rendering) .slide .slide-label,
  body:not(.pdf-rendering) .slide .page-num,
  body:not(.pdf-rendering) .slide .slide-footer span { font-size:11px; }
  body:not(.pdf-rendering) .slide:nth-child(12) > div:nth-child(4) { grid-template-rows:repeat(2,minmax(0,1fr)); height:auto; aspect-ratio:2/1.5; }
  body:not(.pdf-rendering) .slide:nth-child(15) > div:first-child > div[style*="flex:1"] { margin-top:18px; }
  body:not(.pdf-rendering) .slide:nth-child(15) .page-num { position:relative; }
  body:not(.pdf-rendering) .slide:nth-child(15) > div:last-child {
    grid-template-rows:none!important; grid-template-columns:repeat(3,1fr);
    height:auto!important; aspect-ratio:4/1;
  }
}
@media (max-width:600px) {
  body:not(.pdf-rendering) .slide:nth-child(15) > div:last-child {
    grid-template-columns:1fr 1fr; grid-template-rows:1.6fr 1fr!important; aspect-ratio:1/1;
  }
  body:not(.pdf-rendering) .slide:nth-child(15) > div:last-child img:first-child { grid-column:1/-1; }
  body:not(.pdf-rendering) .slide:nth-child(15) [style*="padding:12px;flex"] { padding:12px 2px!important; }
}

/* タグの案内（Meta の規約で全ページの下に載せる1行）。画面だけに出し、PDF と印刷には入れない */
.tag-notice { max-width:960px; margin:0 auto 32px; padding:0 16px; font-size:11px; line-height:1.7; color:#666; text-align:center; }
.tag-notice a { color:inherit; text-decoration:underline; }
body.pdf-rendering .tag-notice { display:none; }

@media print {
  .tag-notice { display:none; }
  .download-bar { display:none; }
  body { background:white; }
  .slides-wrapper { margin:0; }
  .slide { box-shadow:none; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
