@charset "utf-8";
/* ============ 下層ページ共通・各ページ固有（1600/390設計） ============ */

/* ---- 写真帯ヒーロー（焼き付き画像＋オフスクリーン見出し） ---- */
.phero{ width:min(100%,160rem); margin-inline:auto; }
.phero img{ width:100%; display:block; }
.phero__ttl{ position:absolute; left:-999.9rem; }
/* お知らせ／コラムのPCバナー（2026-09-14 支給・1572×250=旧画像から左28px・下23pxを切った版、タイトル文字と検索アイコン無し）
   → 旧画像と同じ位置に出るよう左28px・下23pxを空け、タイトルは HTML で重ねる（旧jpgの焼き込み実測: News 86,56 100.5×42／お知らせ 101,103〜272,143.5、Column 94,57.5 148×40.7／コラム 129,115〜253,151.5） */
@media (min-width:768px){
  .phero--html{ position:relative; }
  .phero--html > picture > img, .phero--html > img.pc-only{ width:calc(100% - 2.8rem); margin-left:2.8rem; margin-bottom:2.3rem; }   /* ビルドで <picture> 化されるので両方に当てる */
  .phero--html .phero__script{ position:absolute; margin:0; line-height:0; }
  .phero--html .phero__script img{ display:block; height:auto; }
  .phero--html .phero__ttl{ position:absolute; left:auto; margin:0; font-size:4.4rem; font-weight:700; line-height:1; letter-spacing:0; color:var(--mg); white-space:nowrap; }
  .page-news .phero__script{ left:8.6rem; top:5.6rem; }   .page-news .phero__script img{ width:10.05rem; }
  .page-news .phero__ttl--news{ left:10.1rem; top:10.1rem; }
  .page-column .phero__script{ left:9.4rem; top:5.75rem; } .page-column .phero__script img{ width:14.8rem; }
  .page-column .phero__ttl--column{ left:12.9rem; top:11.2rem; }
}

/* ---- 白背景ページタイトル（中央） ---- */
.ptitle{ text-align:center; padding:11rem 0 6rem; }
.ptitle .script{ display:block; font-size:4rem; }
.ptitle__h{ font-size:4.5rem; font-weight:600; color:var(--mg); letter-spacing:0; line-height:1.21; }

/* ---- 白背景ページタイトル（左・検索系） ---- */
.ptitle--l{ text-align:left; padding:10rem 0 4rem; }
.ptitle--l .script{ font-size:4.2rem; }
.ptitle--l .ptitle__h{ font-size:4.5rem; }

/* ---- セクション見出し（script＋タイトル＋下線） ---- */
.shead{ margin-bottom:3rem; }
.shead .script{ display:block; font-size:3.6rem; margin-bottom:.2rem; }
.shead__h{
  font-size:4.5rem; font-weight:600; color:var(--mg); letter-spacing:0; line-height:1.21;
  padding:0 0 1.2rem 1.6rem; border-bottom:.15rem solid #d48ec0;
}
@media (max-width:767px){
  .ptitle .script{ font-size:3.4rem; }
  .ptitle__h{ font-size:2.4rem; }
  .shead .script{ font-size:3rem; }
  .shead__h{ font-size:2.4rem; padding-left:.6rem; }
}

/* ============ 働く環境 ============ */
.kk-body{ position:relative; padding:4rem 0 0; }
.kk-grid{
  width:min(100%, 156rem); margin-inline:auto;
  display:grid; grid-template-columns:27rem 1fr; gap:2.4rem; align-items:start;
}
.kk-side{ position:sticky; top:2rem; padding-top:4rem; }
.kk-side__ttl{ font-size:2.6rem; font-weight:600; color:var(--mg); letter-spacing:.04em; margin-bottom:1.4rem; }
.kk-side li a{
  display:block; font-size:1.6rem; font-weight:500; padding:.9rem 1.2rem; color:var(--mg);
}
.kk-side li a.is-active{ background:var(--mg); color:var(--yl); }
.kk-side li a:hover{ background:#f7e7f2; }
/* 選択中の項目はホバーしても色を変えない */
.kk-side li a.is-active:hover{ background:var(--mg); }
.kk-main{ border-left:.1rem solid #ddd; padding:4rem 14rem 0 6rem; min-width:0; }   /* 右 6→14rem: 右端の固定「かんたん検索」に＋やカードが被らないように（Figma 9/15 #19/#20） */
.kk-sec{ margin-bottom:6rem; }
@media (min-width:768px){ .page-kankyo .kk-sec{ margin-right:2rem; } }   /* PCのみ（SPで中心がずれていた 2026-09-08） */
.kk-lead{ font-size:1.6rem; line-height:1.5625; margin-bottom:3.4rem; padding-left:4rem; }
.kk-lead--c{ text-align:center; }
@media (max-width:767px){ .page-kankyo .kk-lead--c{ text-align:left; } }   /* PCカンプは中央揃え・SPカンプは左揃え（2026-09-08 照合） */

/* 社風カード */
.kk-culture{ display:grid; grid-template-columns:repeat(4,1fr); gap:2.6rem; text-align:center; padding-top:3rem; }
.kk-culture img{ width:17rem; margin:0 auto 2.2rem; }
.kk-culture h3{ font-size:2.3rem; font-weight:600; color:var(--mg); line-height:1.22; }
.kk-culture p{ font-size:1.4rem; line-height:1.57; margin-top:1rem; text-align:center; }
@media (min-width:768px){ .kk-culture p{ padding-left:.4rem; padding-right:.4rem; } }   /* 2026-09-12: 先方指定の3行改行を入れたので余白を詰めて1行に収める（旧2rem） */

/* 研修2カード */
.kk-train{ display:grid; grid-template-columns:1fr 1fr; gap:2rem; margin-top:5rem; }
.kk-train > div{ border-radius:1.6rem; padding:3.4rem 4rem 3.8rem; position:relative; overflow:visible; min-height:17rem; }
.kk-train__new{ background:var(--mg); color:#fff; }
.kk-train__mid{ background:var(--yl); color:var(--mg); }
.kk-train h3{ font-size:2.3rem; font-weight:600; }
.kk-train p{ font-size:2.3rem; font-weight:600; line-height:1.21; margin-top:1.4rem; }
/* 人物写真（カンプ同様、ブロック上端からはみ出して立たせる） */
.kk-train__spimg{ position:absolute; bottom:0; width:auto; height:22rem; max-width:none; }
.kk-train__new .kk-train__spimg{ left:.4rem; }
.kk-train__new h3, .kk-train__new p{ margin-left:13rem; }
.kk-train__mid .kk-train__spimg{ right:-1rem; }
.kk-train__mid h3, .kk-train__mid p{ margin-right:16rem; }
/* 倉持さん指示 2026-09-06: 研修カードの高さ・余白（PCのみ。SPは別途 min-height/padding 指定あり） */
@media (min-width:768px){
  .kk-train > div{ padding-right:1rem; padding-left:3rem; height:19rem; top:3.6rem; }
}

/* 入社後帯 */
.kk-nyusha{
  background:#FAFAFA url(../img/sub/kk_nyusha_band.jpg?v=1789655597) no-repeat left center / cover;
  margin:6rem 0; padding:0; min-height:34.1rem;
  display:flex; align-items:center; gap:3.4rem;
}
.kk-nyusha img{ width:46%; display:none; }
.kk-nyusha > div{ margin-left:49%; padding:3rem 2rem 3rem 0; }
.kk-nyusha__ttl{ font-size:4.5rem; font-weight:600; color:var(--mg); line-height:1.21; }
.kk-nyusha__lead{ font-size:1.6rem; margin-top:1.8rem; }

/* アコーディオン */
.acc{ border:.12rem solid var(--mg); border-radius:0; overflow:hidden; background:#fff; }
/* 開いている時だけ、見出し部分にドロップシャドウ */
.acc.is-open{ box-shadow:none; }
.acc.is-open button.acc__hd{ box-shadow:0 .8rem 2.4rem rgba(0,0,0,.18); }
.acc + .acc{ margin-top:2.4rem; }
.acc__hd{
  width:100%; display:flex; align-items:center; gap:1.2rem; cursor:pointer;
  background:#fff; border:none; padding:2.9rem 3.2rem; text-align:left;
}
.acc__no{ color:var(--mg); font-size:3.4rem; font-weight:600; }
.acc__ttl{ font-size:3.4rem; font-weight:600; color:var(--mg); }
.acc__note{ font-size:1.4rem; font-weight:500; color:#666; margin-left:1rem; }
.acc__sign{ margin-left:auto; color:var(--mg); font-size:2.6rem; font-weight:700; line-height:1; }
.acc__body{ display:none; padding:4rem 5.4rem 4.6rem; }
.acc.is-open .acc__body{ display:block; }

/* 研修展開コンテンツ */
.ks-pair{ display:grid; grid-template-columns:1fr 1fr; gap:3.4rem; }
.ks-card{ border:.15rem solid var(--mg); border-radius:1rem; padding:1.6rem 2.6rem 3rem; background:#fff; }
.ks-card--yl{ border-color:var(--yl); }
.ks-card img{ width:100%; border-radius:.4rem; }
.ks-badge{
  display:inline-block; background:var(--mg); color:#fff; border-radius:99rem;
  font-size:1.5rem; font-weight:700; padding:.5rem 2.2rem; margin-top:1.8rem; letter-spacing:.04em;
}
.ks-card--yl .ks-badge{ background:var(--yl); color:#AF1E87; }
.ks-card h3{ font-size:4rem; font-weight:500; margin-top:1.2rem; }
.ks-card h3 small{ font-size:2.5rem; font-weight:700; }
.ks-card p{ font-size:2rem; line-height:1.75; margin-top:1.2rem; }
.ks-arrow{
  display:block; width:fit-content; max-width:78%; margin:3.4rem auto 0; background:var(--mg); color:var(--yl);
  font-size:2.2rem; font-weight:400; padding:1.4rem 2.6rem; line-height:1.5;
}
.ks-arrow::before{ content:"→ "; }
.ks-ojt .ks-arrow, .ks-ojt + .ks-arrow, .ks-shunin + .ks-arrow{ margin:3rem auto 0 0; }
.ks-shunin .ks-arrow{ margin:2.6rem 0 0 0; max-width:100%; font-size:1.9rem; }
.ks-ojt{ display:grid; grid-template-columns:46rem 1fr; gap:1.4rem; align-items:start; }
.ks-ojt h3{ font-size:3rem; font-weight:500; color:var(--mg); line-height:1.45; margin-top:1.2rem; }
.ks-ojt h3 small{ font-size:2rem; font-weight:700; position:relative; top:-1rem; }
.ks-ojt p{ font-size:2rem; line-height:1.4; margin-top:2.4rem; }
.ks-skill{ display:grid; grid-template-columns:1fr 29rem; gap:4rem; align-items:start; }
/* PCは左に本文2ブロック・右に評価表。SPはDOM順（本文→評価表→本文）のまま縦に流す */
.ks-skill__a{ grid-column:1; grid-row:1; }
.ks-skill__b{ grid-column:1; grid-row:2; }
.ks-skill > img, .ks-skill > picture > img{ grid-column:2; grid-row:1 / span 2; }
.ks-skill h3{
  font-size:4rem; font-weight:500; color:var(--mg); border-left:.5rem solid var(--mg);
  padding-left:1.4rem; line-height:1.5;
  display:flex; align-items:center; justify-content:space-between; gap:2rem;
}
.ks-skill h3 .ks-skill__t{ flex:1; min-width:0; }
.ks-skill h3 .ks-badge{ flex:none; margin:0; vertical-align:middle; }
.ks-skill p{ font-size:2rem; line-height:1.9; margin:1.2rem 0 3rem; }
.ks-thumbs{ margin-top:1rem; }
.ks-thumbs h5{ font-size:2.5rem; font-weight:700; text-align:center; margin-bottom:.8rem; }
.ks-thumbs h5{ width:fit-content; margin-inline:auto; }
.ks-thumbs h5::after{ content:""; display:block; height:.4rem; background:var(--yl); margin-top:.4rem; }
.ks-thumbs .row{ display:flex; gap:2.4rem; justify-content:center; flex-wrap:wrap; }
.ks-thumbs figure{ width:30%; }
.ks-thumbs img{ width:100%; }
/* 主任施術者研修：PCは左に写真2枚・右に本文と帯。SPはカンプ順（写真→本文→写真→帯） */
.ks-shunin{ display:grid; grid-template-columns:1fr 1fr; gap:1.6rem 4.4rem; align-items:start; }
.ks-shunin__ph1{ grid-column:1; grid-row:1; }
.ks-shunin__ph2{ grid-column:1; grid-row:2; }
.ks-shunin__body{ grid-column:2; grid-row:1; }
.ks-shunin .ks-arrow{ grid-column:2; grid-row:2; }
.ks-shunin__ph1, .ks-shunin__ph2{ width:100%; display:block; }

.ks-shunin h3{ margin-top:1.2rem; }
.ks-shunin p{ line-height:1.75 !important; margin-top:2rem; font-size:2rem !important; }

/* 数字で見る */
.kk-dpanel{ background:var(--yl); border-radius:1.2rem; padding:3.6rem 3.6rem 3.8rem; margin-left:4.1rem; }
.kk-dpanel + .kk-dpanel{ margin-top:4.4rem; }
.kk-dpanel__ttl{ font-size:3.1rem; font-weight:500; color:var(--mg); line-height:1.29; margin-bottom:2.4rem; }
.kk-dcards{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.9rem; }   /* 1fr だと中身の最小幅で列幅が崩れて枠からはみ出す（会社のデータ）。3列を等幅に固定（2026-09-16 倉持さん指摘） */
.kk-dcard{ min-width:0; }
.kk-dcard > div{ min-width:0; flex:1; }   /* flex子の最小幅で文字が右にはみ出していたので折り返せるように（2026-09-16 倉持さん指摘） */
.kk-dcard__num{ white-space:normal; }

.kk-dcard{
  background:#fff; border-radius:.8rem; padding:2.2rem 2rem;
  display:flex; align-items:center; gap:1.8rem; min-height:19.5rem;
}
.kk-dcard img{ width:10rem; flex:none; }
.kk-dcard img[src*="kk_d09"], .kk-dcard img[src*="kk_d14"]{ width:8.4rem; margin:0 .8rem; }   /* 有給休暇取得者率・定年年齢のアイコンは他より大きく見えるので縮小（Figma 9/17） */
.kk-dcard__cap{ font-size:1.5rem; font-weight:600; line-height:1.5; }
.kk-dcard__num{ font-size:3.1rem; font-weight:500; line-height:1.29; }   /* nowrap をやめ「47 都道府県展開」等を折り返す（2026-09-16） */
.kk-dcard__num small{ font-size:2.2rem; line-height:1.36; }
.kk-dcard__note{ font-size:1.4rem; color:#606060; line-height:1.43; }

/* アコーディオン下メッセージ */
.kk-accmsg{ margin-top:5rem; font-size:4.5rem; font-weight:600; color:var(--mg); line-height:1.21; padding-left:0; }

/* キャリア図・福利厚生 */
.kk-career img{ width:100%; max-width:115rem; margin-inline:auto; }
.kk-note{ font-size:1.2rem; font-weight:600; color:#606060; line-height:1.21; margin-bottom:2rem; }
.kk-bttl{ font-size:3.1rem; font-weight:500; color:var(--mg); line-height:1.29; margin:4.2rem 0 2rem; }
.kk-bcards{ display:grid; grid-template-columns:1fr 1fr; gap:2.4rem 3.8rem; }
.kk-bcard{
  background:#fff; border:.1rem solid #e8e8e8; border-radius:1rem; box-shadow:0 .2rem 1rem rgba(0,0,0,.05);
  padding:2.2rem 2.6rem; display:flex; gap:2.2rem; align-items:center; min-height:13.2rem;
}
.kk-bcard--wide{ grid-column:1 / -1; }
.kk-bcard img{ width:9rem; flex:none; }
.kk-bcard h3{ font-size:2.6rem; font-weight:600; line-height:1.21; }
.kk-bcard h3 small{ font-size:1.9rem; font-weight:500; }
.kk-bcard p{ font-size:1.4rem; line-height:1.43; margin-top:.5rem; color:#4D4D4D; }

@media (max-width:767px){
  .kk-grid{ display:block; width:min(100% - 3.2rem,36rem); }
  .kk-lead{ padding-left:0; }
  .kk-dpanel{ margin-left:0; }
  .kk-side{ position:static; padding-top:0; margin-bottom:3rem; }
  .kk-main{ border-left:none; padding:0; }
  .kk-sec{ margin-bottom:5.4rem; }
  .kk-culture{ grid-template-columns:1fr 1fr; gap:2rem; }
  .kk-culture img{ width:13rem; }
  .kk-train{ grid-template-columns:1fr; gap:1.8rem; }
  .kk-train > div{ padding:2.6rem 2.4rem; }
  .kk-nyusha{ flex-direction:column; gap:2.4rem; padding:3rem 1.6rem; margin:4rem 0; }
  .kk-nyusha img{ width:100%; }
  .kk-nyusha__ttl{ font-size:2.2rem; }
  .ks-pair,.ks-ojt{ grid-template-columns:1fr; gap:2.4rem; }
  .ks-shunin{ display:flex; flex-direction:column; gap:2.4rem; }
  .ks-shunin__ph1, .ks-shunin__ph2, .ks-shunin__body, .ks-shunin .ks-arrow{ grid-column:auto; grid-row:auto; }
  .ks-skill{ display:flex; flex-direction:column; gap:2.4rem; }
  .ks-skill__a, .ks-skill__b, .ks-skill > img, .ks-skill > picture > img{ grid-column:auto; grid-row:auto; }
  .kk-dcards{ grid-template-columns:1fr; }
  .kk-bcards{ grid-template-columns:1fr; }
  .kk-side__ttl{ font-size:2.2rem; font-weight:500; }
  .kk-side li a{ padding-left:4.8rem; }
  .kk-culture{ grid-template-columns:1fr; gap:3.4rem; }
  .kk-culture img{ width:15.5rem; }
  .kk-culture p{ font-size:1.2rem; font-weight:600; line-height:1.21; }
  .kk-train h3{ font-size:1.4rem; }
  .kk-train p{ font-size:1.4rem; line-height:1.57; margin-top:.6rem; }
  .kk-nyusha{ background:none; padding:0; position:relative; }
  .kk-nyusha img{ display:block; width:100%; }
  .kk-nyusha > div{ margin-left:0; padding:0; position:absolute; top:2rem; }
  .kk-nyusha__lead{ font-size:1.3rem; }
  .kk-lead{ font-size:1.3rem; line-height:1.54; }
  .kk-accmsg{ font-size:2.4rem; font-weight:600; text-align:left; line-height:1.21; margin-top:4rem; }
  .acc__hd{ flex-wrap:wrap; padding:1.9rem 1.9rem; gap:.6rem; }
  .acc__no{ font-size:1.9rem; }
  .acc__ttl{ font-size:1.9rem; }
  .acc__note{ width:100%; order:4; text-align:left; margin-left:0; font-size:1.1rem; font-weight:600; padding-left:2.5rem; }
  .acc__sign{ font-size:1.9rem; }
  .kk-dpanel{ margin-inline:calc(50% - 50vw); border-radius:0; padding:3rem 1.5rem 3.4rem; }
  .kk-dpanel__ttl{ font-size:1.9rem; font-weight:600; }
  .kk-dcard{ gap:2.4rem; border-radius:2rem; }
  .kk-dcard__num{ font-size:3.4rem; font-weight:600; line-height:1.21; }
}

/* ============ 会社について ============ */
.ab-sec{ padding:8.4rem 0 3rem; }
/* 会社についてページの各セクションは ab-sec--philosophy / --message / --vision /
   --company / --related の個別クラスでも指定できる（2026-09-06 付与） */
.page-aboutus .ab-sec .shead{ margin-bottom:9rem; }
.ab-sec--message{ padding-top:5rem; }
.ab-sec--vision{ padding-top:5rem; }
.ab-sec--company{ padding-top:5.3rem; }
.page-aboutus .ab-vision--philosophy{ margin-top:18rem; margin-bottom:22rem; }   /* 見出し→会社理念 90→180px、会社理念→経営ビジョン 110→220px（Figma 9/15 #14/#15「あと倍」） */
.page-aboutus #company.shead{ margin-bottom:12rem; }

/* ---- 会社理念／経営ビジョンのカード：筆記体とキャプションを枠線の上に重ねる ----
   カンプでは枠の上辺が途切れ、その切れ目に「Philosophy／会社理念」が入る。
   実測：PC 枠上辺の切れ目 265px（カード中央）／SP 172px。 */
.page-aboutus .ab-vision > .script,
.page-aboutus .ab-vision > .ab-vision__cap{
  position:absolute; left:50%; transform:translateX(-50%);
  width:26.5rem; margin:0; padding:0; background:#fff; z-index:2;
  text-align:center; line-height:1;
}
.page-aboutus .ab-vision > .script{ top:-3.6rem; height:3.6rem; display:flex; align-items:flex-end; justify-content:center; }
.page-aboutus .ab-vision > .ab-vision__cap{ top:2rem; height:2.5rem; padding-top:.3rem; }   /* 枠上辺→キャプションの隙間を倍（10→20px。2026-09-16 倉持さん指示） */
.page-aboutus .ab-vision{ padding-top:5.6rem; }   /* キャプションを下げたぶん本文も下げる */
/* 枠線上に重ねるので、共通の .script img の相対ずらしは打ち消す */
.page-aboutus .ab-vision > .script img{ position:static; left:auto; top:auto; }

@media (max-width:767px){
  .page-aboutus .ab-vision > .script,
  .page-aboutus .ab-vision > .ab-vision__cap{ width:17.2rem; }
  .page-aboutus .ab-vision > .script{ top:-3.5rem; height:3.5rem; }
  .page-aboutus .ab-vision > .ab-vision__cap{ top:2rem; height:2.2rem; }
  .page-aboutus .ab-vision{ padding-top:5.4rem; }
}

.page-aboutus .ab-message__body{ padding-top:2.5rem; padding-right:18rem; }
.page-aboutus .ab-message p.ab-message__sign{ padding-top:4.5rem; }
@media (max-width:767px){
  /* SPは画面幅が足りないので右余白を戻す／署名の上余白も詰める */
  .page-aboutus .ab-message__body{ padding-right:0; }
  /* 3行目（一般社団法人〜）が342pxに収まらず折り返すので、SPだけ少し小さく */
  .page-aboutus .ab-message p.ab-message__sign{ padding-top:.5rem; font-size:1.3rem; }
}
.ab-philosophy{ width:min(100%,92rem); margin:3rem auto 0; text-align:left; }
.ab-philosophy p.ab-philosophy__sub{ font-size:2.6rem; font-weight:600; color:var(--mg); line-height:1.23; margin-bottom:2.6rem; }
.ab-philosophy p{ font-size:1.6rem; line-height:1.5625; margin-bottom:2rem; }
.ab-message{ display:grid; grid-template-columns:38rem 1fr; gap:6rem; align-items:start; margin-top:1rem; }
.ab-message p{ font-size:1.6rem; line-height:1.5625; margin-bottom:1.8rem; }
.ab-message__sign{ font-size:1.4rem; color:#5A5858; margin-top:3rem; line-height:1.43; }
.ab-message p.ab-message__name{ font-size:2.5rem; font-weight:400; line-height:1.21; margin-top:.6rem; }
.ab-vision{
  position:relative; border:.15rem solid rgba(175,30,135,1); background:#fff;
  box-shadow:.8rem .8rem 0 var(--yl); padding:4.6rem 3rem 5rem; margin:3rem 0 3.2rem;
  text-align:center;
}
.ab-vision .script{ font-size:3.2rem; display:block; }
.ab-vision p.ab-vision__cap{ font-size:1.9rem; font-weight:600; color:var(--mg); line-height:1.47; margin-top:.2rem; }
.ab-vision p.ab-vision__ttl{ font-size:4.5rem; font-weight:600; color:var(--mg); line-height:1.21; margin:2.2rem 0 2.4rem; }
.ab-vision p{ font-size:1.4rem; font-weight:400; line-height:1.7; }
.ab-vision p.ab-vision__sub{ font-size:1.9rem; font-weight:600; line-height:1.47; margin-bottom:1.2rem; }
.ab-table{ width:min(100%,100rem); margin:1rem auto 0; }
.ab-table dl{
  display:grid; grid-template-columns:22rem 1fr; border-bottom:.1rem solid #d9d9d9;
  padding:2.6rem 0; position:relative;
}
.ab-table dl::before{ content:""; position:absolute; top:-.1rem; left:0; width:22rem; border-top:.15rem solid var(--mg); }
.ab-table dl:first-child{ border-top:.1rem solid #d9d9d9; }
/* 最終行の下にも、行頭と同じマゼンタの短線を引く */
.ab-table dl:last-child::after{
  content:""; position:absolute; bottom:-.1rem; left:0; width:22rem;
  border-top:.15rem solid var(--mg);
}
.ab-table dt{ font-size:1.2rem; font-weight:400; line-height:1.17; padding-left:2rem; }
.ab-table dd{ font-size:1.2rem; font-weight:400; line-height:1.6; }
.ab-table dl:nth-child(7) dd{ line-height:2.8; }   /* 関連会社: カンプは社名ごとに約33px送り（2026-09-08 照合） */
.ab-rel__cap{ font-size:1.4rem; font-weight:500; margin:3rem 0 1.4rem; }
.ab-rel__cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:2.4rem; }
.ab-relcard{
  border:.1rem solid #bbb; background:#fff; padding:3.3rem 2.8rem; display:block; transition:.2s;   /* PCカンプ: カード高128px（2026-09-08 照合） */
}
@media (hover:hover){ .ab-relcard:hover{ box-shadow:0 .6rem 1.8rem rgba(0,0,0,.1); transform:translateY(-.2rem); } }
.ab-relcard img{ height:6rem; width:auto; margin-bottom:1.4rem; }
.ab-relcard h3{ font-size:2.6rem; font-weight:600; line-height:1.23; }
.ab-relcard--p h3,.ab-relcard--o h3,.ab-relcard--g h3{ font-size:1.9rem; line-height:1.47; }
.ab-relcard span{ display:inline-block; font-size:1.25rem; color:var(--mg); font-weight:700; margin-top:1rem; }
.ab-relcard span::after{ content:" →"; }
.ab-relcard--p{ border-color:#7d6bb5; }
.ab-relcard--o{ border-color:#e8933a; }
.ab-relcard--g{ border-color:#43a047; }
@media (max-width:767px){
  .ab-philosophy,.ab-message{ grid-template-columns:1fr; gap:2.6rem; }
  .ab-message img{ width:min(100%,30rem); margin-inline:auto; }
  .ab-vision{ padding:2.8rem 1.4rem 3rem; }   /* SPカンプ: 左右14px（2026-09-08 改行照合） */
  .ab-vision__ttl{ font-size:1.9rem; }
  .ab-table dl{ grid-template-columns:1fr; gap:.4rem; padding:1.4rem 0; }
  .ab-table dt{ padding-left:0; color:#000; }
  .ab-rel__cards{ grid-template-columns:1fr; }
}

/* ============ エントリー ============ */
.en-hero{ position:relative; padding:10rem 0 4rem; overflow:hidden; }
/* ヒーローのコラージュ（支給素材・カンプ実測）。SPは1枚絵に差し替える */
.en-hero__ph--l{ position:absolute; left:9.6rem; top:5.6rem; width:30.4rem; }
.en-hero__ph--r{ position:absolute; right:10.4rem; top:5.6rem; width:28rem; }
.en-hero__ph--sp{ display:none; }
.en-hero__body{ text-align:center; width:min(100%,64rem); margin-inline:auto; }
.en-hero__body .script{ display:block; font-size:4.2rem; }
.en-hero__h{ font-size:4.5rem; font-weight:600; color:var(--mg); letter-spacing:0; line-height:1.21; }
.en-hero__lead{ font-size:2.17rem; font-weight:400; line-height:1.2; margin-top:2rem; }
.en-hero__ph{ height:auto; }
/* エントリー：ヒーローは上余白なしでヘッダー直下から */
@media (max-width:767px){ .page-entry section.en-hero{ padding-top:0; } }
@media (min-width:768px){ .page-entry section.en-hero{ padding-top:14.5rem; } }   /* PCカンプ: ヘッダー下→Entry 145px（2026-09-08 照合） */
/* ============ エントリーまでの流れ（entry / search-detail 共通）============
   PCカンプ：筆記体Stepが見出しの上に重なり中央揃え＋短い罫線
   SPカンプ：他のセクション見出しと同じく左揃え＋全幅の罫線 */
.en-flow{ background:var(--bg-gray); padding:8.3rem 0 6.4rem; margin-top:4rem; text-align:center; }
.en-flow .script{ display:block; text-align:center; margin:0 0 -1.4rem; position:relative; z-index:2; }
.en-flow__ttl{
  text-align:center; font-size:4.5rem; font-weight:600; color:var(--mg); line-height:1.2;
  position:relative; padding-bottom:1.9rem;
}
.en-flow__ttl::after{
  content:""; position:absolute; left:50%; transform:translateX(-50%); bottom:0;
  width:50.7rem; max-width:100%; height:.12rem; background:var(--mg);
}
.en-flow__lead{ text-align:center; font-size:1.6rem; margin-top:1.8rem; }
@media (max-width:767px){
  .en-flow{ padding:5.6rem 0 5rem; text-align:left; }
  .en-flow .script{ text-align:left; margin:0 0 .2rem; padding-left:1.6rem; }
  .en-flow__ttl{
    text-align:left; font-size:2.4rem; padding:0 1.6rem 1.2rem;
  }
  .en-flow__ttl::after{ left:1.6rem; transform:none; width:calc(100% - 3.2rem); }
  .en-flow__lead{ text-align:center; font-size:1.35rem; margin-top:1.6rem; }
}
/* 支給の4ステップ図（PC=横並び／SP=縦並び）*/
.en-flow__fig{ display:block; width:calc(100% - 4.8rem); max-width:73rem; height:auto; margin:7.4rem auto 8rem; }
.page-entry .en-jobs{ margin-top:0; }
@media (max-width:767px){
  .en-flow__fig{ width:min(100% - 3.2rem, 34rem); margin-top:2.6rem; }
}
.flow4{ display:flex; align-items:flex-start; justify-content:center; gap:3.2rem; margin-top:3.4rem; }
.flow4 li{ display:flex; align-items:center; gap:2rem; }
.flow4 .st{ text-align:center; width:15rem; }
.flow4 .st img{ width:13rem; margin-inline:auto; }
.flow4 .st span{ display:block; font-size:1.7rem; font-weight:800; color:var(--mg); margin-top:1rem; white-space:nowrap; }
.flow4 li + li::before{ content:"▶"; color:var(--mg); font-size:1.8rem; }
.en-how{ padding:8rem 0 0; text-align:center; }
.page-entry .en-how{ padding:21rem 0 9rem; }
.en-how .script{ display:block; font-size:3.8rem; }
.en-how__h{
  font-size:4.5rem; font-weight:600; color:var(--mg); display:inline-block; line-height:1.21;
  position:relative; padding-bottom:2.4rem;
}
/* カンプ実測：見出しの下にマゼンタの罫線（幅50.9rem） */
.en-how__h::after{
  content:""; position:absolute; left:50%; transform:translateX(-50%); bottom:0;
  width:50.9rem; height:.12rem; background:var(--mg);
}
.en-how__lead{ font-size:1.64rem; font-weight:400; line-height:1.21; margin-top:1.8rem; }
.page-entry .en-how__lead{ margin-top:3.4rem; }
.en-ctas{ display:flex; justify-content:center; gap:2.6rem; margin-top:3.6rem; }
.page-entry .en-ctas{ margin-top:4.8rem; }
.en-ctas .fcta{ min-width:24rem; min-height:10.4rem; }
.en-kengaku{
  width:min(100%,42rem); margin:4rem auto 0; border:.2rem solid var(--yl);
  text-align:center; padding:2.6rem 2.4rem 3rem;
}
.page-entry .en-kengaku{ margin-top:7rem; }
.en-kengaku h3{ font-size:3.2rem; font-weight:400; color:var(--mg); line-height:1.22; }
.en-kengaku p{ font-size:1.64rem; font-weight:400; margin:1rem 0 1.6rem; }
/* ============ 募集職種（entry）：PCカンプ実測 2026-09-07 ============
   見出し下にマゼンタ罫線（51.2rem）／カードは 62.1×23.5rem・写真は左半分 */
.en-jobs{ background:var(--yl); padding:8.4rem 0 9rem; margin-top:8rem; }
.en-jobs__head{ text-align:center; }
.en-jobs__head .script{ display:block; font-size:3.8rem; }
.en-jobs__h{
  font-size:4.5rem; font-weight:600; color:var(--mg); line-height:1.21;
  display:inline-block; position:relative; padding-bottom:2.3rem;
}
.en-jobs__h::after{
  content:""; position:absolute; left:50%; transform:translateX(-50%); bottom:0;
  width:51.2rem; max-width:100vw; height:.12rem; background:var(--mg);
}
.en-jobs__lead{ font-size:1.64rem; font-weight:400; line-height:1.21; margin-top:3.6rem; }
.en-jobs__cards{
  width:min(100% - 4.8rem,127.2rem); margin:6.6rem auto 0;
  display:grid; grid-template-columns:1fr 1fr; gap:3rem;
}
.en-jobcard{ background:#fff; display:flex; height:23.5rem; }
.en-jobcard img{ width:51%; height:100%; flex:none; object-fit:cover; }
.en-jobcard > div{ padding:4.4rem 3.4rem 0 3.4rem; display:flex; flex-direction:column; align-items:flex-start; }
.en-jobcard h3{ font-size:2.58rem; font-weight:400; line-height:1.21; }
.en-jobcard p{ font-size:1.41rem; font-weight:400; line-height:1.6; color:#666; margin:1rem 0 1.8rem; }
.en-jobcard .btn-yl{ margin-top:0; width:22.3rem; padding:1.1rem 0; font-size:1.64rem; font-weight:400; }
.en-faq{ padding:7rem 0 3rem; }
.en-faq__head{ text-align:center; margin-bottom:3rem; }
.en-faq__head .script{ display:block; font-size:3.8rem; line-height:0; margin-bottom:-.6rem; }   /* PCカンプ: 筆記体FAQは見出しの直上（2026-09-09） */
.en-faq__h{ font-size:4.5rem; font-weight:600; color:var(--mg); line-height:1.21; display:inline-block; padding-bottom:1rem; }
.en-faq__lead{ font-size:1.64rem; font-weight:400; line-height:1.21; margin-top:1.6rem; }
@media (max-width:767px){
  .en-hero{ padding:3rem 0 1rem; }
  /* SPカンプ：支給のSP用コラージュ1枚を画面幅いっぱいに（タイトルの上） */
  .en-hero{ display:flex; flex-wrap:wrap; }
  .en-hero__ph--l,.en-hero__ph--r{ display:none; }
  .en-hero__ph--sp{ display:block; position:static; width:100%; margin:0; }
  .en-hero__body{ order:3; width:100%; margin-top:-4.4rem; }
  .en-hero__h{ font-size:2.4rem; }
  .en-hero__lead{ font-size:1.9rem; font-weight:500; line-height:1.21; }
  .en-hero__h{ font-size:2.4rem; }
  .en-jobs__h,.en-faq__h{ font-size:2.4rem; }
  .flow4{ flex-direction:column; align-items:center; gap:1.2rem; }
  .flow4 li{ flex-direction:column; gap:1.2rem; }
  .flow4 li + li::before{ content:"▼"; }
  .flow4 .st{ display:flex; align-items:center; gap:2rem; width:auto; text-align:left; }
  .flow4 .st img{ width:11rem; margin:0; }
  .en-ctas{ flex-direction:column; align-items:center; gap:1.4rem; }
  .en-ctas .fcta{ width:min(100%,30rem); }
  .en-jobs__cards{ grid-template-columns:1fr; }
  .en-jobcard{ height:auto; }
  .en-jobcard{ flex-direction:column; }
  .en-jobcard img{ width:100%; height:auto; aspect-ratio:150/113; }
}

/* ============ FAQ ============ */
.faq-tabs{ padding:4rem 0 0; }
.faq-tabs__cap{ font-size:2.3rem; font-weight:600; color:var(--mg); line-height:1.22; letter-spacing:.08em; margin-bottom:1.2rem; }
.faq-tabs ul{ display:flex; gap:1.4rem; flex-wrap:wrap; }
.faq-tabs a{ font-size:1.6rem; font-weight:500; line-height:1.56;
  display:block; border:.12rem solid var(--mg); color:var(--mg); font-size:1.3rem; font-weight:700;
  padding:.6rem 2.2rem;
}
.faq-tabs a.is-active{ background:var(--mg); color:var(--yl); }
.faq-sec{ padding:6.4rem 0 2rem; }
.faq-sec .shead{ margin-bottom:2.6rem; }
.faq-group{ font-size:2.2rem; font-weight:500; line-height:1.36; margin:3rem 0 1.2rem; }
.qa{ border:.12rem solid var(--mg); background:#fff; }
.qa + .qa, .qa + .faq-group + .qa{ margin-top:1.6rem; }
.en-faq .qa + .qa{ margin-top:2.4rem; }   /* PCカンプ: 項目間 約24px（2026-09-09 倉持さん判断で隙間を戻す） */
@media (max-width:767px){ .en-faq .qa + .qa{ margin-top:4rem; } }   /* SPカンプ: 約40px */
.qa__q{
  width:100%; display:flex; align-items:center; gap:1.8rem; cursor:pointer;
  background:none; border:none; text-align:left; padding:1.6rem 2.6rem 1.6rem 1.6rem;
}
.qa__ic{
  flex:none; width:4.4rem; height:4.4rem; border-radius:50%; background:var(--mg); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:2.5rem; font-weight:400;
}
.qa__txt{ font-size:1.87rem; font-weight:500; }
@media (max-width:767px){
  .faq-tabs__cap{ font-size:2.2rem; font-weight:500; }
  .faq-tabs ul{ flex-direction:column; gap:1rem; }   /* SPカンプ: 3タブ縦積み・全幅・高さ約38px（2026-09-08 照合） */
  .faq-tabs a{ width:100%; font-size:1.4rem; padding:.9rem 2.2rem; border-width:.15rem; }
  .sw-contents1,.sw-contents2,.sw-contents3{ --sw-sp:14rem; }
  .qa__txt{ font-size:1.6rem; color:var(--mg); }
  .qa__a p{ font-size:1.3rem; line-height:1.54; }
  .ab-philosophy p.ab-philosophy__sub{ font-size:1.9rem; font-weight:500; line-height:1.21; }
  .ab-message p{ font-size:1.4rem; line-height:1.57; }
  .ab-message__sign{ font-size:1.3rem; }
  .ab-vision p.ab-vision__ttl{ font-size:2.3rem; line-height:1.21; }
  .ab-vision p.ab-vision__cap{ font-size:1.8rem; font-weight:700; line-height:1.21; }
  .ab-vision p{ font-weight:500; line-height:1.54; }
}
.qa__sign{ margin-left:auto; color:var(--mg); font-size:3.4rem; font-weight:600; line-height:1; }
.qa__a{
  display:none; background:#FDFBEA; border-top:.1rem solid #eee;
  padding:1.4rem 2rem 1.6rem 1.2rem;
}
.qa.is-open .qa__a{ display:flex; gap:1.6rem; align-items:flex-start; }
.qa__a .qa__ic{ background:var(--yl); color:var(--mg); }
.qa__a p{ font-size:1.41rem; font-weight:400; line-height:1.6; padding-top:.6rem; }
.qa__a .btn-yl{ margin-top:1.2rem; }
.faq-contact{
  width:min(100%,72rem); margin:11.4rem auto 6rem; border:.2rem solid var(--yl);   /* 下の空白 24rem→6rem（Figma 9/17「空白があるので消して」） */
  text-align:center; padding:3rem 2.4rem 3.4rem;
}
.faq-contact h3{ font-size:2rem; font-weight:800; color:var(--mg); }
.faq-contact p{ font-size:1.35rem; margin-top:.8rem; }
.faq-contact__tel{ font-size:3.4rem; font-weight:600; line-height:1.21; color:var(--mg); margin-top:1.2rem; display:block; }
.faq-contact small{ font-size:1.2rem; color:#666; }

/* ============ 募集要項検索 ============ */
.se-grid{
  width:min(100% - 4.8rem,138rem); margin-inline:auto;
  display:grid; grid-template-columns:26rem 1fr; gap:5rem; align-items:start;
  padding:10rem 0 3rem;
}
/* 倉持さん指示 2026-09-06: ページタイトルと絞り込みは左に追従（PC）
   2026-09-11 先方指示: どのPCでもFV内に収まって固定されるように。
   ・追従位置はヘッダー実高さ（--hd-h は a11y.js が設定）＋1rem
   ・絞り込み部分は「画面高さ − ヘッダー − タイトル」を上限にして内部スクロール（タイトルと上端は常に見える） */
.se-ptitle{ padding:0 0 3rem; }
.se-ptitle .ptitle__h{ position:relative; left:-.6rem; }
.se-filter__ttl{ font-size:1.9rem; font-weight:500; line-height:1.21; padding-bottom:1.2rem; border-bottom:.1rem solid #ccc; }
.se-filter__grp{ font-size:1.9rem; font-weight:500; color:var(--mg); margin:2.2rem 0 1rem; }
.se-filter label{ display:flex; align-items:center; gap:1rem; font-size:1.9rem; padding:.5rem 0; cursor:pointer; }
.se-filter input[type=checkbox]{ width:1.6rem; height:1.6rem; accent-color:var(--mg); }
.se-searchbtn{
  display:block; width:100%; margin-top:2rem; background:var(--mg); color:#fff;
  font-size:1.5rem; font-weight:700; padding:1rem 0; border:none; border-radius:99rem; cursor:pointer;
}
.se-searchbtn:hover{ opacity:.85; }
.se-filter{ position:relative; }
.se-filter__selwrap{ position:relative; }
.se-filter select{
  appearance:none; -webkit-appearance:none;
  width:100%; font-size:1.35rem; padding:.7rem 1.2rem; border:.12rem solid var(--mg);
  border-radius:99rem; color:var(--mg); font-weight:700;
  background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='7'><path d='M0 0h10L5 7z' fill='%23AF1E87'/></svg>") no-repeat right 1.4rem center;
}
.se-filter input[type=text]{
  width:100%; font-size:1.25rem; padding:.7rem 1.2rem 0.7rem 3.2rem; border:.12rem solid #bbb; border-radius:99rem;
  background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E") 1rem center/1.6rem no-repeat;
}
@media (min-width:768px){
  .se-side{ position:sticky; top:calc(var(--hd-h, 10.3rem) + .6rem); }
  /* 幅に比例する設計（rem）だとサイドバー≒99rem必要で16:9の画面（ブラウザUI込みで実質48〜50rem）に収まらないため、PCは間隔を詰める
     目安: 絞り込み部分 ≦ 50rem（1600×780・1920×950・1366×650 で収まる。2026-09-11 実測で調整） */
  .se-ptitle{ padding-bottom:1rem; }
  .se-filter__ttl{ font-size:1.7rem; padding-bottom:.6rem; }
  .se-filter__grp{ font-size:1.7rem; margin:1.1rem 0 .3rem; }
  .se-filter label{ font-size:1.7rem; line-height:1.3; padding:.1rem 0; }
  .se-filter select, .se-filter input[type=text]{ padding-top:.55rem; padding-bottom:.55rem; }
  .se-searchbtn{ margin-top:1rem; padding:.7rem 0; }
  .se-side .se-clearbtn{ margin-top:.6rem; padding:calc(.7rem - .1rem) 0; }   /* 後方の基本ルールに負けないよう詳細度を上げる */
  /* それでも収まらない低い画面は絞り込み部分だけ内部スクロール（タイトルと上端は常に見える） */
  .se-filter{ max-height:calc(100vh - var(--hd-h, 10.3rem) - 15.2rem); min-height:24rem; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; padding-right:.6rem; }
}
.se-list__ttl{ font-size:3.1rem; font-weight:500; line-height:1.29; }
.se-list__cnt{ font-size:1.4rem; color:#666; margin:.6rem 0 2rem; }
.se-card{ min-height:26.4rem;
  border:.1rem solid #e2e2e2; box-shadow:0 .2rem 1rem rgba(0,0,0,.05); background:#fff;
  display:flex; gap:2.6rem; padding:2.2rem 2.6rem; margin-bottom:2.6rem;
}
.se-card__ph{ width:31.4rem; flex:none; object-fit:cover; }
.se-tags{ display:flex; gap:1rem; flex-wrap:wrap; }
.se-tag{
  border:.1rem solid var(--mg); color:var(--mg); border-radius:99rem;
  font-size:1.1rem; font-weight:600; line-height:1.21; background:#fff; padding:.15rem 1.4rem;
}
.se-card h3{ font-size:2.6rem; font-weight:600; line-height:1.21; margin:.8rem 0 .6rem; }
.se-card dl{ font-size:1.4rem; line-height:1.8; }
.se-card dt{ display:inline; color:#000; }
.se-card dd{ display:inline; margin-right:1.6rem; }
.se-card__btns{ display:flex; gap:1.4rem; margin-top:1.4rem; }
.se-card__btns .btn-mgfill{ padding:.9rem 3rem; font-size:1.5rem; font-weight:600; border-radius:.4rem; }
.se-card__btns .btn-yl{ padding:.9rem 3rem; font-size:1.5rem; font-weight:600; color:var(--mg); border-radius:.4rem; }
.pager{ display:flex; align-items:center; justify-content:center; gap:1.4rem; margin:18.4rem 0 14rem; }
.pager a,.pager span{ font-size:1.4rem; font-weight:700; }
.pager .pg-btn{ background:var(--mg); color:#fff; padding:.6rem 1.8rem; border-radius:.4rem; font-size:1.25rem; }
.pager .is-active{
  width:3.4rem; height:3.4rem; border-radius:50%; background:var(--mg); color:var(--yl);
  display:flex; align-items:center; justify-content:center;
}
@media (max-width:767px){
  .se-grid{ display:block; width:min(100% - 3.2rem,36rem); padding-top:0; }
  /* SPは追従させない（従来どおり縦積み） */
  .se-side{ position:static; }
  .se-filter{ max-height:none; min-height:0; overflow:visible; padding-right:0; }
  .page-search .se-ptitle{ padding:0 0 2rem; }   /* SPカンプ: ヘッダー下→筆記体 約15px・見出しx26px（2026-09-08 照合） */
  .page-search .se-ptitle .ptitle__h{ left:2.1rem; top:-.5rem; }
  .page-search .se-ptitle .script img{ --sw-sp:17.5rem; left:-1.2rem; top:1rem; }
  /* カンプ準拠：フィルタは折りたたみ。検索窓＋「絞り込み検索」トグルの1行 */
  .se-filter{ margin-bottom:3rem; display:flex; flex-wrap:wrap; align-items:center; gap:1.4rem; }
  .se-filter > *, .se-filter > label{ display:none; }
  .se-filter input[type=text]{
    display:block; flex:1; min-width:0; margin:0; order:1;
    border:.15rem solid var(--mg); border-radius:3rem; padding:1.1rem 1.6rem 1.1rem 4.2rem;
    font-size:1.4rem;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23951b81' stroke-width='2.4'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5 21 21'/%3E%3C/svg%3E") no-repeat 1.5rem center/1.8rem;
  }
  .se-filter__ttl{
    display:flex; order:2; flex:none; flex-direction:column; align-items:center; gap:.5rem;
    font-size:1.35rem; font-weight:800; border:0; padding:0; cursor:pointer;
  }
  .se-filter__ttl::after{
    content:''; width:3.4rem; height:1.6rem;
    background:linear-gradient(#1A1A1A,#1A1A1A) 0 0/100% .25rem no-repeat,
               linear-gradient(#1A1A1A,#1A1A1A) 0 50%/100% .25rem no-repeat,
               linear-gradient(#1A1A1A,#1A1A1A) 0 100%/100% .25rem no-repeat;
  }
  /* 開いた状態＝ヘッダー下の全画面ポップアップ（先方カンプ build/20260911/募集要項ポップアップ.jpg・2026-09-11）
     タイトル左＋×（トグル兼用）、チェック24px・行ピッチ35px、エリアのセレクト、検索ボタン高さ55px。検索窓は閉じたバー側のみ */
  .se-filter.is-open{
    position:fixed; left:0; right:0; top:var(--hd-h, 7.2rem); bottom:0; z-index:150;
    background:#fff; overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain;
    display:block; margin:0; padding:3rem 1.6rem 4rem;
  }
  .se-filter.is-open > *{ display:block; width:100%; }
  .se-filter.is-open input[type=text], .se-filter.is-open .se-filter__grp:last-of-type, .se-filter.is-open label[for="se-kw"]{ display:none; }
  .se-filter.is-open .se-filter__ttl{
    display:flex; flex-direction:row; justify-content:space-between; align-items:center; gap:1rem;
    font-size:2rem; font-weight:500; color:#111; padding:0 0 1rem; margin:0 0 1.4rem; border-bottom:.1rem solid #333;
  }
  .se-filter.is-open .se-filter__ttl::after{   /* ハンバーガー → × */
    content:''; width:2.4rem; height:2.4rem; flex:none;
    background:linear-gradient(#111,#111) center/100% .2rem no-repeat, linear-gradient(#111,#111) center/.2rem 100% no-repeat;
    transform:rotate(45deg);
  }
  .se-filter.is-open .se-filter__grp{ font-size:1.7rem; font-weight:500; margin:2.6rem 0 1.2rem; }
  .se-filter.is-open label:not(.sr-only){ display:flex; align-items:center; gap:1.2rem; font-size:1.7rem; line-height:1.3; padding:0; height:3.5rem; }
  .se-filter.is-open input[type=checkbox]{ width:2.4rem; height:2.4rem; margin:0; flex:none; }
  .se-filter.is-open select{ width:22.5rem; height:3rem; font-size:1.7rem; padding:0 3.4rem 0 1.6rem; margin-top:.2rem; }
  .se-filter.is-open .se-searchbtn{ margin-top:4rem; height:5.5rem; padding:0; font-size:2.2rem; font-weight:500; border-radius:99rem; line-height:1; }
  .se-filter.is-open .se-clearbtn{ margin-top:1.2rem; height:5.5rem; padding:0; font-size:2.2rem; font-weight:500; line-height:1; }
  body.se-open{ overflow:hidden; }
  .se-card{ min-height:26.4rem; flex-direction:column; gap:1.6rem; padding:1.8rem; }
  .ptitle--l .ptitle__h{ font-size:2.4rem; }
  .se-list__ttl{ font-size:2.3rem; font-weight:600; line-height:1.21; }
  .se-tag{ font-size:1rem; font-weight:700; }
  .se-card h3{ font-size:1.6rem; font-weight:500; }
  .se-card dl{ font-size:1.3rem; }
  .se-card__btns .btn-mgfill,.se-card__btns .btn-yl{ font-size:1.4rem; font-weight:600; }
  /* カンプ準拠：タグ→写真→タイトルの順 */
  .se-card > div{ display:contents; }
  .se-tags{ order:-1; }
  .se-card__ph{ width:100%; }
  .se-card h3{ margin-top:0; }
  .se-card dt{ display:inline-block; min-width:6.4rem; }
  .se-card__btns{ flex-wrap:wrap; margin-top:.4rem; width:100%; }
  .se-card__btns a{ flex:1; text-align:center; }
}

/* ============ 募集要項詳細 ============ */
.sd-head{ padding:1rem 0 0; }
/* タグと店舗名はグレーの帯で囲む（カンプ準拠） */
.sd-headbar{ background:#F2F2F2; padding:2.6rem 3.6rem 3rem; margin-bottom:4rem; }
.sd-headbar h1{ margin-bottom:0 !important; }
.sd-head h1{ font-size:3.4rem; font-weight:600; margin:1rem 0 2.6rem; }
.sd-main{ display:grid; grid-template-columns:56rem 1fr; gap:4.6rem; align-items:start; }
/* 右カラムは左写真の上端より少し下から始める（カンプ準拠） */
.sd-main > div{ padding-top:4.1rem; }
.sd-main img{ width:100%; }
.sd-numbadge{
  display:inline-block; background:var(--yl); font-size:1.6rem; font-weight:500; color:var(--mg); line-height:1.5625;
  padding:.4rem 2rem; margin-bottom:1.6rem;
}
.sd-info{ font-size:1.4rem; line-height:1.57; }
.sd-sec__ttl{ font-size:2.3rem; font-weight:500; line-height:1.21; color:var(--mg); margin:2.6rem 0 1rem; }
.sd-body{ font-size:1.87rem; font-weight:400; line-height:1.23; }
.sd-appeal{ padding:4.6rem 0 0; }
.sd-appeal__ttl{ font-size:2.3rem; font-weight:600; line-height:1.22; color:var(--mg); margin-bottom:1.8rem; }
.sd-appeal__cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:2.4rem; }
.sd-apcard{ border:.1rem solid #ddd; padding:2.4rem 2.4rem 2.8rem; background:#fff; }
.sd-apcard h3{ font-size:1.9rem; font-weight:800; color:var(--mg); margin-bottom:1.2rem; }
.sd-apcard h3 span{ margin-right:.4rem; font-weight:600; font-size:2.4rem; position:relative; top:.1rem; }
.sd-apcard p{ font-size:1.4rem; line-height:1.57; }
.sd-spec{ padding:10.4rem 0 2rem; }
@media (max-width:767px){ .sd-spec{ padding:5.4rem 0 2rem; } }
.sd-spec__ttl{ text-align:center; font-size:2.3rem; font-weight:600; line-height:1.22; color:var(--mg); margin-bottom:3rem; }
.sd-spec dl{
  width:min(100%,94rem); margin-inline:auto;
  display:grid; grid-template-columns:20rem 1fr; column-gap:0; padding:2.4rem 0 0;
}
/* カンプ：行の上に線を引く（項目名側はマゼンタ、内容側はグレー） */
.sd-spec dt{
  font-size:1.4rem; font-weight:500; height:fit-content;
  border-top:.2rem solid var(--mg); padding:2rem 0 0 5.6rem; margin-top:-1.8rem;
}
.sd-spec dd{ font-size:1.4rem; line-height:2; border-top:.1rem solid #ddd; padding:1rem 0 0 4.4rem; margin-top:-1.8rem; }
/* 最終行は下にも線を引いて表を閉じる。
   他の行と同じ配色（項目名側＝マゼンタ .2rem／内容側＝グレー .1rem）を再現するため
   1本のborderではなく擬似要素2つで引く */
.sd-spec dl:last-of-type{ position:relative; padding-bottom:2.4rem; }
.sd-spec dl:last-of-type::before,
.sd-spec dl:last-of-type::after{ content:""; position:absolute; bottom:0; }
.sd-spec dl:last-of-type::before{ left:0; width:20rem; height:.2rem; background:var(--mg); }
.sd-spec dl:last-of-type::after{ left:20rem; right:0; height:.1rem; background:#ddd; }
.sd-flow{ padding:4.6rem 0 24rem; }
@media (max-width:767px){ .sd-flow{ padding:4.6rem 0 6rem; } }
@media (max-width:767px){
  .sd-main{ grid-template-columns:1fr; gap:2.4rem; }
  .sd-main > div{ padding-top:0; }
  .sd-headbar{ padding:1.8rem 1.6rem 2rem; margin-bottom:2.4rem; }
  .sd-appeal__cards{ grid-template-columns:1fr; }
  .sd-spec dl{ grid-template-columns:1fr; gap:.6rem; }
  /* SPは1カラムなので、線は項目名の上だけ（内容側の線は消す） */
  .sd-spec dt{ border-top:0.064rem solid rgba(153,153,153,1); padding-left:0; }
  .sd-spec dd{ border-top:none; padding-left:0; }   /* SPカンプは項目名・内容とも左端揃え（2026-09-08 照合） */
  /* SPは1カラムなので、閉じる線もグレー1本 */
  .sd-spec dl:last-of-type::before{ width:100%; height:0.064rem; background:rgba(153,153,153,1); }
  .sd-spec dl:last-of-type::after{ display:none; }
}

/* ============ コラム/お知らせ ============ */
.pickup{ padding:7rem 0 2.6rem; position:relative; }
.pickup__grid{ display:grid; grid-template-columns:43.5rem 1fr; gap:6rem; align-items:center; }
.pickup__thumb{ position:relative; left:-3rem; }
@media (min-width:768px){ .pickup__thumb{ top:-6rem; } }   /* PC: 写真を上へ（倉持さん指定 2026-09-16） */
/* PickUp本文側（時系列・タイトル・抜粋・ボタン） */
.pickup__body{ position:relative; }
.pickup__thumb::before{
  content:""; position:absolute; left:-3.4rem; bottom:-4rem; right:1.4rem; top:6rem;
  background:#DFA5CE; z-index:0;
}
.pickup__thumb .ph,.pickup__thumb .pickup__ph,.artcard .ph,.artcard .artcard__ph,.news-row .ph,.article .ph{ display:block; }
.ph--nophoto{ background-color:#fff !important; background-size:cover !important; background-position:center !important; }   /* 写真が無い記事は支給のロゴ画像 news_noimage.jpg（2026-09-16） */
.pickup__thumb .ph,
.pickup__thumb .pickup__ph{ position:relative; z-index:1; background:#E3E3E3; aspect-ratio:520/355; width:100%; height:auto; object-fit:cover; }
.pickup__tag{
  position:absolute; z-index:2; left:2rem; top:-1.4rem; background:#fff; border:.1rem solid var(--mg);
  color:var(--mg); font-size:1.9rem; font-weight:600; line-height:1.47; padding:.15rem 1.6rem;   /* カンプ: 一覧カードのタグと同サイズ（2026-09-08 照合） */
}
/* 倉持さん指示 2026-09-06: コラム／お知らせ一覧のPickUpタグは左上に寄せる */
.page-column .pickup .pickup__thumb .pickup__tag,
.page-news .pickup .pickup__thumb .pickup__tag{ left:0; top:0; }
.pickup .script{ font-size:4.6rem; display:block; margin-bottom:1.6rem; position:absolute; left:50rem; z-index:999; top:4rem; }
/* 倉持さん指示 2026-09-06: コラム／お知らせ一覧のPickUp筆記体の位置 */
/* PickUp 筆記体を写真の左上・外側へ（Figma 9/15 #36）: 本文を上揃え＋margin-top にして写真上端との位置関係を固定し、筆記体は本文基準で写真の上に出す */
@media (min-width:768px){
  .page-news .pickup__grid, .page-column .pickup__grid{ align-items:start; }
  .page-news .pickup__body, .page-column .pickup__body{ margin-top:5rem; }
  .page-news .pickup .script, .page-column .pickup .script{ left:-3rem; top:-14rem; }   /* 本文側の上に（倉持さん指定 2026-09-16） */
}
@media (min-width:768px){ .page-column .pickup, .page-news .pickup{ padding-top:12.1rem; } }   /* PCカンプ: ヒーロー下→PickUp 125px・画像158px（2026-09-08 照合） */
.pickup time{ font-size:1.4rem; color:#000; position:relative; left:-3rem; top:-4rem; }
.pickup h2{ font-size:2.6rem; font-weight:600; line-height:1.23; margin:.8rem 0 1.2rem; position:relative; top:-3rem; left:-3rem; }
.pickup p{ font-size:1.4rem; line-height:1.57; color:#000; position:relative; left:-3rem; top:-3rem; }
.pickup .btn-yl{ margin-top:2.2rem; color:var(--mg); position:absolute; left:-3rem; top:15rem; bottom:auto; width:22rem; height:5rem; }
.cat-tabs{ padding:3.4rem 0 0; }
/* 倉持さん指示 2026-09-06: カテゴリータブの位置（PCのみ。
   SPは画面幅390pxなので margin-left:14rem を入れるとはみ出すため適用しない） */
@media (min-width:768px){
  .cat-tabs{ padding:14.4rem 0 0; margin-left:14rem; }
  .cat-tabs li{ width:20rem; }
}
.cat-tabs ul{ display:flex; gap:0.8rem; flex-wrap:wrap; }
.cat-tabs a{
  display:block; min-width:14rem; text-align:center; border:.1rem solid var(--mg); color:var(--mg);
  font-size:1.9rem; font-weight:600; line-height:1.47; padding:.5rem 2rem;
}
.cat-tabs a.is-active{ background:var(--mg); color:var(--yl); }
.art-list{ padding:5rem 0 2rem; }
.art-list__ttl{
  font-size:1.9rem; font-weight:500; line-height:1.21; color:var(--mg); padding:0 0 1rem 1rem;
  border-bottom:.12rem solid #d48ec0; margin-bottom:3rem;
}
/* 倉持さん指示 2026-09-06: 一覧の上下余白（PCのみ・SPは既存指定を維持） */
@media (min-width:768px){
  .art-list{ padding:8rem 0 2rem; }
  .art-list__ttl{ margin-bottom:7rem; }
  section.wrap.art-list{ width:130rem; margin:0 auto; }
}
.art-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:5.2rem 3rem; }
.artcard{ display:block; position:relative; padding-top:1.4rem; }
.artcard .ph,
.artcard .artcard__ph{ background:#E3E3E3; aspect-ratio:380/260; width:100%; height:auto; object-fit:cover; }
.artcard__tag{
  position:absolute; left:0rem; top:1.5rem; background:#fff; border:.1rem solid var(--mg);
  color:var(--mg); font-size:1.9rem; font-weight:600; line-height:1.47; padding:.15rem 1.6rem; z-index:2;
}
.artcard time{ display:block; font-size:1.2rem; font-weight:600; line-height:1.21; color:#000; margin-top:1.4rem; }
.artcard h3{ font-size:2.3rem; font-weight:600; line-height:1.21; margin-top:.5rem; }
.artcard p{ font-size:1.4rem; line-height:1.6; color:#000; margin-top:.6rem; }
.artcard:hover h3{ color:var(--mg); }
/* お知らせ＝横長リスト */
.news-rows{ border:.1rem solid #C87BB0; border-bottom:none; }
.news-row{
  display:grid; grid-template-columns:25.5rem 1fr; gap:2.6rem; padding:1.2rem 1.2rem;
  border-bottom:.1rem solid #C87BB0;
}
.news-row .ph{ background:#E3E3E3; aspect-ratio:145/110; }
.news-row__meta{ display:flex; align-items:flex-end; gap:1.6rem; margin-top:2rem; }
.news-row__meta time{ font-size:1.25rem; font-weight:600; color:#000; }
.news-row h3{ font-size:2.3rem; font-weight:600; margin-top:.6rem; }
.news-row p{ font-size:1.4rem; line-height:1.6; color:#000; margin-top:.6rem; }
.news-row:hover h3{ color:var(--mg); }
@media (max-width:767px){
  .pickup__grid{ grid-template-columns:1fr; gap:3rem; position:relative; }
  .pickup__body{ position:static; }
  .pickup .script{ position:absolute; top:-6rem; right:2.4rem; z-index:43; margin:0; font-size:4.2rem; width:20rem; left:1rem; }   /* 写真の上（外）・グリッド基準（Figma 9/15 #37） */
  .page-news .pickup .script img, .page-column .pickup .script img{ position:static !important; left:auto !important; top:auto !important; width:18rem !important; }   /* img 側の絶対配置を外す（画面外に出ていた） */
  /* PCは絶対配置でボタンを下端に置くが、SPは本文の下に普通に流す */
  .pickup .btn-yl{ position:static; }
  /* 背面のピンク面。SPは画面外へ出ないよう左を浅く、下は日付に重ならない範囲に */
  .pickup__thumb::before{ left:-1.5rem; right:0; top:6rem; bottom:-2.3rem; }
  .pickup__thumb .ph,
  .pickup__thumb .pickup__ph{ aspect-ratio:341.5/226; }   /* SPカンプの比率 */
  .pickup__tag{ left:0; top:0; }
  /* PC用の位置調整（left:-3rem など）はSPには効かせない */
  .pickup__thumb{ left:0; }
  .pickup time, .pickup h2, .pickup p{ position:static; left:auto; top:auto; }
  .pickup .btn-yl{ left:auto; top:auto; width:auto; height:auto; }
  /* 倉持さん指示 2026-09-06: コラム／お知らせ一覧の「記事を読む」ボタン（SP） */
  .page-column .pickup .btn-yl,
  .page-news .pickup .btn-yl{
    position:relative; left:auto; top:2rem; width:20rem; height:auto; margin-bottom:4rem;
  }
  .art-grid{ grid-template-columns:1fr; gap:4.6rem; }
  .news-row{ grid-template-columns:1fr; gap:1.2rem; }
  .cat-tabs a{ min-width:0; }
  .art-list__ttl{ border-top:none; padding-top:1.4rem; }
  .pickup h2{ font-size:2.2rem; font-weight:500; }
  .pickup p{ font-size:1.3rem; }
  .artcard time{ font-size:1rem; font-weight:700; }
  .page-column .artcard h3{ font-size:1.9rem; line-height:1.47; font-weight:500; }
  .page-news .artcard h3{ font-size:2.2rem; line-height:1.36; font-weight:500; }
  .artcard p{ font-size:1.3rem; }
  .news-row h3{ font-size:2.2rem; font-weight:500; line-height:1.36; }
  .news-row p{ font-size:1.3rem; }
  .art-list__ttl{ font-size:1.6rem; line-height:1.56; }
  .cat-tabs a{ font-size:1.6rem; font-weight:500; }
  /* カンプ準拠：SPは紫バー型ドロップダウン（選択中のみ表示・タップで展開） */
  .cat-tabs ul{ display:block; }
  .cat-tabs li{ display:none; }
  .cat-tabs li:has(a.is-active){ display:block; }
  .cat-tabs ul.is-open{ display:flex; flex-direction:column; }
  .cat-tabs ul.is-open li{ display:block; margin-top:0; }
  /* 選択中の項目を先頭に出す（閉じたときの表示と位置を揃える） */
  .cat-tabs ul.is-open li:has(a.is-active){ order:-1; }
  .cat-tabs ul.is-open li:has(a.is-active){ margin-top:0; }
  .cat-tabs a.is-active{
    display:flex; justify-content:space-between; align-items:center;
    padding:1.35rem 2rem; font-size:1.45rem;
  }
  .cat-tabs a.is-active::after{
    content:''; width:1.1rem; height:1.1rem; flex:none;
    border-top:.3rem solid var(--yl); border-right:.3rem solid var(--yl);
    transform:rotate(45deg); transition:.2s;
  }
  .cat-tabs ul.is-open a.is-active::after{ transform:rotate(135deg); }
  .cat-tabs ul.is-open a{ display:flex; justify-content:space-between; align-items:center; padding:1.1rem 2rem; }
}

/* ============ 記事詳細 ============ */
.article{ width:min(100% - 4.8rem,96rem); margin-inline:auto; padding:9rem 0 4rem; }
.article__meta{ display:flex; align-items:flex-end; gap:1.8rem; }
.article__tag{
  border:.1rem solid var(--mg); color:var(--mg); font-size:1.9rem; font-weight:600; line-height:1.47;
  padding:.3rem 2.4rem; background:#fff;
}
.article__meta time{ font-size:1.4rem; color:#000; }
.article h1{ font-size:2.6rem; font-weight:600; color:var(--mg); margin:2rem 0 2.6rem; line-height:1.23; }
.article p{ font-size:1.4rem; line-height:1.57; margin-bottom:2.2rem; }
.article .ph{ background:#E3E3E3; aspect-ratio:960/480; margin:3.6rem 0 0; }
.article h2{ font-size:2.6rem; font-weight:600; line-height:1.23; color:var(--mg); margin:4rem 0 1.8rem; }
/* お知らせ本文（コーポレートサイトから移行した記事）2026-09-18 */
.article__content{ font-size:1.4rem; line-height:1.57; }
.article__content p{ margin-bottom:2.2rem; }
.article__content a{ color:var(--mg); text-decoration:underline; word-break:break-all; }
.article__content img{ max-width:100%; height:auto; display:block; }
.article__content figure{ margin:2.4rem 0; }
.article__content figure img{ margin-inline:auto; }
.article__content figcaption{ font-size:1.2rem; color:#666; margin-top:.6rem; text-align:center; }
.article__content ul, .article__content ol{ padding-left:2em; margin-bottom:2.2rem; }
.article__content li{ margin-bottom:.4rem; }
.article__content iframe{ max-width:100%; }
.article__content h3, .article__content h4{ font-size:1.8rem; font-weight:600; margin:3rem 0 1.2rem; }
.article__pdf{ margin:3.2rem 0 0; display:flex; align-items:center; gap:1.6rem; flex-wrap:wrap; }
.article__pdf .btn-mgfill{ width:auto; padding-inline:3.4rem; }
.article__pdf small{ font-size:1.2rem; color:#666; }
.article__box{ border:.15rem solid var(--yl); padding:3rem 3.4rem; margin:0 0 3rem; }
/* 原稿から生成するコラム記事 */
.article__person{ font-size:1.5rem; font-weight:600; margin:-1.4rem 0 2.6rem; }
.article__hero,
.article__ph{ width:100%; height:auto; display:block; margin:0 0 3rem; }
.article__hero{ margin-bottom:3.6rem; }
.artnav .pg-btn.is-off{ opacity:.35; pointer-events:none; }
/* 実記事のサムネイル（ダミーの .ph と同じ枠に収める） */

.article__box h2{ margin-top:0; }
.artnav{ display:flex; justify-content:center; align-items:center; gap:2.4rem; padding:2.6rem 0 4rem; }
/* 倉持さん指示 2026-09-05: お知らせ詳細のナビだけ余白・間隔を広く */
.page-news-detail .artnav{ gap:5.4rem; padding:9.6rem 0 18rem; }
.artnav .pg-btn{ background:var(--mg); color:#fff; padding:.8rem 2.2rem; border-radius:.4rem; font-size:1.5rem; font-weight:600; }
.artnav .btn-yl{ padding:1.4rem 3.6rem; font-size:1.6rem; color:var(--mg); }
/* 倉持さん指示 2026-09-05: PCは1行に収める（カンプ実測 188×45px） */
@media (min-width:768px){
  .artnav .btn-yl{ width:18.8rem; padding:1.05rem 3rem; white-space:nowrap; }
}
.related{ width:min(100% - 4.8rem,120rem); margin-inline:auto; padding-bottom:5rem; }
.related__ttl{
  font-size:1.9rem; font-weight:500; line-height:1.21; color:var(--mg); padding:0 0 1rem 1rem;
  border-bottom:.12rem solid #d48ec0; margin-bottom:3rem;
}

/* ============ 404 ============ */
.nf{ text-align:center; padding:22.7rem 0 18rem; }   /* PCカンプ: ヘッダー下→404 227px（2026-09-08 照合） */
.nf__code{ font-size:4.9rem; font-weight:600; line-height:1.29; letter-spacing:.06em; }
.nf__ttl{ font-size:3.1rem; font-weight:500; line-height:1.29; margin-top:2.6rem; }
.nf__lead{ font-size:1.4rem; line-height:1.57; margin-top:2rem; color:#555; }
.nf__btns{ display:flex; justify-content:center; gap:2.4rem; margin-top:3.6rem; }
.nf__btns .btn-line{ border:.12rem solid var(--mg); color:var(--mg); border-radius:99rem; padding:1.2rem 4rem; font-size:1.4rem; font-weight:700; }
/* ============ 404ページ（カンプ実測 2026-09-06） ============ */
/* 404では右側の固定UI（かんたん検索・新卒/中途タブ）を出さない */
.page-404 .quick, .page-404 .vtabs{ display:none; }
.nf__btns .btn-mgfill,
.nf__btns .btn-line{
  display:inline-flex; align-items:center; justify-content:center;
  height:5.2rem; padding:0 !important; white-space:nowrap;
}
.nf__btns{ gap:4.7rem; }
.nf__btns .btn-mgfill{ width:20.2rem; }
.nf__btns .btn-line{ width:18.3rem; }
@media (max-width:767px){
  /* SPカンプ：縦積み・幅20.4rem・高さ5rem・間隔2rem */
  .nf__btns{ flex-direction:column; align-items:center; gap:2rem; margin-top:7.5rem; }
  .nf__btns .btn-mgfill,
  .nf__btns .btn-line{ width:20.4rem; height:5rem; }
  /* カンプ実測：404は上から約180px、リード文は2行（幅32.4rem） */
  .page-404 .nf{ padding:10rem 0 22rem; }
  .page-404 .nf__ttl{ margin-top:2.9rem; }   /* SPカンプ: 404→見出し 40px / 見出し→本文 32px（2026-09-08 照合） */
  .page-404 .nf__lead{ margin-top:2.7rem; }
  .nf__lead{ width:min(100% - 1.6rem, 34rem); margin-inline:auto; }
}

/* ============ プライバシーポリシー ============ */
.policy{ width:min(100% - 4.8rem,114.3rem); margin:0 auto 0 10.9rem; padding:11rem 0 3rem; }
/* 倉持さん指示 2026-09-06: PCのみヒーロー画像を右へ寄せる */
@media (min-width:768px){
  /* .page-privacy .phero img{ padding-left:6rem; }  ← 旧jpg用の位置合わせ。2026-09-10支給の完成バナー(privacy_hero_pc.png・黄枠込み)では不要 */
}
.policy__lead{ font-size:1.6rem; color:#333; line-height:1.375; padding-bottom:2.4rem; border-bottom:.1rem solid #d48ec0; }
.policy__note{ font-size:1.4rem; color:#888; line-height:1.43; margin-top:1rem; }
.policy section{ padding:2.6rem 0; border-bottom:.1rem solid #d48ec0; }
.policy h2{ font-size:1.9rem; font-weight:500; line-height:1.21; margin-bottom:1.4rem; }
.policy p, .policy li{ font-size:1.4rem; color:#444; line-height:1.57; }
.policy p.policy__lead{ font-size:1.4rem; color:#333; }
.policy ul li{ text-indent:-1em; padding-left:1em; }
.policy ul li::before{ content:"・"; }
.policy__contact{
  background:var(--yl); border-radius:1.6rem; padding:2.6rem 3rem; margin-top:3.6rem;
}
.policy__contact h3{ font-size:1.6rem; font-weight:800; margin-bottom:1rem; }
.policy__contact p{ font-size:1.3rem; line-height:2; }

/* エントリーフォーム設置エリア（設計のグレー帯 約58rem） */

/* ============ 採用メッセージ ============ */
.msg{ padding:2rem 0 0; }
.msg__grid{ display:grid; grid-template-columns:1fr 39rem; gap:7rem; align-items:start; }
.msg__ttl{ font-size:4.5rem; font-weight:600; color:var(--mg); line-height:1.21; margin-bottom:3.4rem; }
.msg__body p{ font-size:1.6rem; line-height:2.1; margin-bottom:2.2rem; }
.msg__side img{ width:100%; display:block; }
.msg__side .ph{ display:block; width:100%; aspect-ratio:390/300; background:#E3E3E3; }
.msg__role{ font-size:1.3rem; color:#555; line-height:1.8; margin-top:2rem; }
.msg__name{ font-size:2.6rem; font-weight:600; margin-top:.6rem; }
.msg-movie{ padding:7rem 0 2rem; text-align:center; }
.msg-movie .script{ display:block; }
.msg-movie__ttl{ font-size:3.4rem; font-weight:600; color:var(--mg); }
.msg-movie__lead{ font-size:1.6rem; margin-top:1.4rem; }
.msg-movie__frame{
  position:relative; width:min(100%,96rem); aspect-ratio:16/9; background:#D9D9D9;
  margin:3.4rem auto 0;
}
/* 動画はクリックで読み込むファサード方式。ボタン全体がサムネイル＋再生ボタン */
.msg-movie__btn{
  position:absolute; inset:0; width:100%; height:100%;
  border:0; padding:0; background:#D9D9D9; cursor:pointer; display:block;
}
.msg-movie__thumb{ width:100%; height:100%; object-fit:cover; display:block; }
.msg-movie__frame iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.msg-movie__play{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:9rem; height:9rem; border-radius:50%; background:rgba(255,255,255,.85);
  transition:transform .2s, background-color .2s;
}
@media (hover:hover){ .msg-movie__btn:hover .msg-movie__play{ transform:translate(-50%,-50%) scale(1.06); background:#fff; } }
.msg-movie__btn:focus-visible{ outline:.3rem solid var(--mg); outline-offset:.3rem; }
.msg-movie__play::after{
  content:''; position:absolute; left:56%; top:50%; transform:translate(-50%,-50%);
  border-style:solid; border-width:1.7rem 0 1.7rem 2.8rem; border-color:transparent transparent transparent var(--mg);
}
.msg-catch{ text-align:center; padding:9rem 0 8rem; }
.msg-catch__ttl{ font-size:3.4rem; font-weight:600; color:var(--mg); line-height:1.6; }
.msg-catch__txt{ font-size:1.6rem; line-height:2; margin-top:2.6rem; }
.msg-catch__strong{ font-size:2rem; font-weight:600; line-height:1.9; margin-top:2.6rem; }
.msg-cta{ background:var(--mg); padding:5.4rem 0 6rem; }
.msg-cta__inner{ text-align:center; }
.msg-cta__ttl{ color:#fff; font-size:3.1rem; font-weight:600; }
.msg-cta__btns{ display:flex; gap:2.4rem; justify-content:center; margin-top:3rem; flex-wrap:wrap; }
.msg-cta__btns .btn-mg{ font-size:2.4rem; padding:1.4rem 4.6rem; }
@media (max-width:767px){
  .msg__grid{ grid-template-columns:1fr; gap:3rem; }
  .msg__ttl{ font-size:2.6rem; margin-bottom:2rem; }
  .msg__body p{ font-size:1.45rem; line-height:2; text-align:left; }   /* Figma 9/15 #29 */
  .msg-movie__ttl{ font-size:2.4rem; }
  .msg-catch{ padding:5rem 1.6rem 4.6rem; }
  .msg-catch__ttl{ font-size:2.2rem; }
  .msg-catch__txt,.msg-catch__strong{ font-size:1.4rem; }
  .msg-catch__strong{ font-size:1.6rem; }
  .msg-cta__ttl{ font-size:1.9rem; white-space:nowrap; letter-spacing:0; }   /* スマホで1行に（2026-09-16 倉持さん指示） */
  .msg-catch__txt, .msg-catch__strong{ text-align:left; }   /* スマホは本文2段落を左揃え（2026-09-16 倉持さん指示） */
  .msg-cta__btns .btn-mg{ font-size:1.7rem; padding:1.2rem 3.2rem; }
}

@media (max-width:767px){
  .ptitle{ padding:5rem 0 2.6rem; }
  .ptitle--l{ padding:4.6rem 0 2rem; }
  .se-card{ min-height:0; }
  .article{ padding:4.6rem 0 2rem; }
  .article h1{ font-size:2.2rem; font-weight:500; line-height:1.36; }
  .article p{ font-size:1.3rem; line-height:1.54; }
  .article h2{ font-size:2.2rem; font-weight:500; line-height:1.36; margin:3rem 0 1.4rem; }
  .ab-table dl{ padding:1.4rem 0; }
  .qa__q{ padding:1.3rem 1.6rem 1.3rem 1.2rem; }
  .qa__ic{ width:3.4rem; height:3.4rem; font-size:1.8rem; }
  .kk-dcard{ min-height:0; }
  .kk-bcard{ min-height:0; }
  .kk-bcard h3{ font-size:1.8rem; }
  .en-hero{ padding:5rem 0 3rem; }
  .en-hero__h{ font-size:2.6rem; }
  .en-how__h{ font-size:2.4rem; padding-bottom:1.4rem; }
  .en-how__h::after{ width:calc(100vw - 3.2rem); }
  .nf{ padding:8rem 0 9rem; }
}
@media (max-width:767px){
  .ab-sec{ padding:4.6rem 0 2rem; }
  .ab-relcard h3{ font-size:1.8rem; }
  .ab-philosophy__sub{ font-size:1.8rem; }
  .ab-philosophy p{ font-size:1.4rem; }
  .ab-vision p{ font-size:1.4rem; }
  .ab-table dt,.ab-table dd{ font-size:1.2rem; line-height:1.45; }
  .se-card__ph{ aspect-ratio:326/230; object-fit:cover; }
  .nf{ padding:10rem 0 14rem; }
}
@media (max-width:767px){
  .se-card{ padding:1.4rem; gap:1rem; }
  .se-card h3{ font-size:1.7rem; }
  .se-card dl{ font-size:1.2rem; line-height:1.7; }
  .se-card__btns{ gap:1rem; }
  .se-card__btns .btn-mgfill,.se-card__btns .btn-yl{ padding:.8rem 1.6rem; font-size:1.3rem; }
  .se-tags{ gap:.6rem; }
}
@media (max-width:767px){
  .ab-vision{ margin:2rem 0 2.6rem; }
  .ab-vision .script{ font-size:2.6rem; }
  .ab-vision__cap{ font-size:1.4rem; }
  .ab-vision__sub{ font-size:1.5rem; }
  .ab-table dl{ padding:1rem 0; }
  .ab-table dt,.ab-table dd{ font-size:1.3rem; }
  .ab-relcard{ padding:3.4rem 2rem; }   /* SPカンプ: カード高約129px（2026-09-08 照合） */
  .ab-relcard img{ height:4.6rem; margin-bottom:1rem; }
  .ab-relcard span{ font-size:1.15rem; margin-top:1rem; }
  .ab-rel__cards{ gap:1.4rem; }
  .ab-rel__cap{ margin:2.2rem 0 1rem; }
}
@media (max-width:767px){
  .nf{ padding:14rem 0 22rem; }
}

/* entry: CTAカード大型化。
   ※ 以前 .en-flow を PC で display:none にしていたが、SPカンプにある
     「エントリーまでの流れ」がPCから消えてしまうため撤去（2026-09-06） */
.en-ctas .fcta{ width:31rem; min-height:15.5rem; }
.en-ctas .fcta__lead{ font-size:1.55rem; font-weight:400; }
.en-ctas .fcta__ttl{ font-size:2.63rem; font-weight:400; line-height:1.21; }
.en-ctas .fcta--tel .fcta__ttl{ font-size:3.08rem; font-weight:700; }
.en-ctas .fcta__btn{ font-size:1.6rem; font-weight:400; padding:.3rem 2rem; }
.en-ctas .fcta--tel .fcta__lead:last-child{ font-size:1.6rem; }

/* FAQページ: カンプどおりマゼンタ枠で囲む（Qは白地、Aは薄い黄色地） */
.page-faq .qa{ border:.12rem solid var(--mg); background:#fff; }
.page-faq .qa__a{ border-top:.12rem solid var(--mg); background:#FFFCE5; }

/* 関連記事カードのタグはPCカンプ=14px */
.related .artcard__tag{ font-size:1.4rem; line-height:1.57; }
/* 404ボタン（PCカンプ=19px/500） */
.nf__btns .btn-mgfill{ font-size:1.9rem; font-weight:500; }
.nf__btns .btn-line{ font-size:1.9rem; font-weight:500; }

/* ============ 残ページSP精密化 ============ */
@media (max-width:767px){
  .nf__code{ font-size:3.4rem; line-height:1.21; }
  .nf__ttl{ font-size:1.9rem; line-height:1.21; }
  .nf__lead{ font-size:1.2rem; line-height:1.21; }
  .nf__btns .btn-mgfill,.nf__btns .btn-line{ font-size:1.6rem; font-weight:500; }
  /* PCは左寄せ（margin-left:10.9rem）だが、SPは画面幅に合わせて左余白3remに */
  .page-privacy .policy{ margin-left:3rem; }
  .policy h2{ font-size:1.6rem; }
  .policy p, .policy li{ font-size:1.4rem; }
  .policy p.policy__lead{ font-size:1.3rem; }
  .policy__note{ font-size:1.3rem; }
  .sd-head h1{ font-size:2.4rem; font-weight:600; line-height:1.21; }
  .sd-info{ font-size:1.3rem; }
  .sd-sec__ttl{ font-size:1.9rem; line-height:1.47; }
  .sd-body{ font-size:1.6rem; }
  .sd-appeal__ttl{ font-size:1.9rem; }
  .article__tag{ font-size:1.4rem; line-height:1.57; }
  .artcard__tag{ font-size:1.4rem; line-height:1.57; }
  /* 倉持さん指示 2026-09-06: SPも1行に収める */
  .artnav .btn-yl{ font-size:1.6rem; width:19rem; padding:1.05rem 2rem; white-space:nowrap; }
}

/* 残差是正（トークン照合 最終パス） */
@media (max-width:767px){
  .faq-group{ font-size:1.9rem; line-height:1.21; }
  .qa__txt small{ font-size:1.5rem; font-weight:600; color:var(--mg); }
  .ab-message__sign{ font-size:1.3rem; }
  .se-filter__ttl{ font-weight:500; }
  .se-card h3{ font-size:1.6rem; font-weight:500; line-height:1.56; }
}

/* ============ 視覚的に閲覧が難しい方へ（Figma Frame 146・1440設計） ============ */
/* ============ 視覚的に閲覧が難しい方へ（カンプ build/20260908/Accesibility 準拠・2026-09-09） ============ */
.sw-accessibility{ --sw:20.2rem; }
.a11y-title{ width:min(100% - 4.8rem,146rem); margin-inline:auto; padding:6.4rem 0 4.4rem; }
.a11y-title .script{ margin-bottom:-.6rem; }
.a11y-title .script img{ position:relative; left:1.3rem; }
.a11y-body{ padding-bottom:7rem; }
.a11y-body > .wrap{ width:min(100% - 4.8rem,146rem); }
.a11y-sec{ display:grid; grid-template-columns:37.4rem 1fr; gap:0; border-top:.1rem solid #ddd; padding:7.6rem 0 6.4rem; }
.a11y-sec__hd h2{ font-size:2.2rem; font-weight:700; color:#111; line-height:1.4; }
.a11y-txt{ font-size:1.4rem; line-height:2.3; color:#111; }
.a11y-box{ border:.1rem solid #333; padding:2.6rem 2.8rem; margin-top:3.4rem; }
.a11y-box h3{ font-size:1.5rem; font-weight:700; color:#111; }
.a11y-box p{ font-size:1.4rem; line-height:1.9; margin-top:1rem; }
.a11y-sub{ font-size:1.6rem; font-weight:700; color:#111; line-height:1.6; padding-left:1.4rem; border-left:.3rem solid var(--mg); }
.a11y-sub + .a11y-txt{ margin-top:1.4rem; }
.a11y-pills + .a11y-sub, .a11y-steps + .a11y-sub{ margin-top:3.6rem; }
.a11y-pills{ display:flex; gap:1.6rem; flex-wrap:wrap; margin:2.6rem 0 0; }
.a11y-pills a{
  display:inline-flex; align-items:center; height:4.8rem; padding:0 2.4rem; border:.1rem solid var(--mg); border-radius:99rem;
  font-size:1.4rem; font-weight:700; color:#111; transition:.2s;
}
.a11y-pills a:hover{ background:var(--mg); color:#fff; }
.a11y-steps{ list-style:decimal; padding-left:2.2rem; margin-top:2.2rem; }
.a11y-steps li{ font-size:1.4rem; line-height:2.4; }
.a11y-cards{ display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; margin-top:2.6rem; }
.a11y-card{ border:.1rem solid #ccc; padding:2.6rem 2.4rem 3rem; }
.a11y-card h3{ font-size:1.5rem; font-weight:700; color:#111; }
.a11y-card p{ font-size:1.4rem; line-height:2; margin-top:1.2rem; }
@media (max-width:767px){
  .a11y-title{ padding:4.6rem 0 2rem; }
  .a11y-title .script{ margin-bottom:.6rem; line-height:0; }
  .a11y-title .script img{ left:0; top:0; --sw-sp:14rem; }
  .a11y-sec{ grid-template-columns:1fr; gap:2rem; padding:3.4rem 0 4rem; }
  .a11y-sec__hd h2{ font-size:1.9rem; }
  .a11y-txt{ font-size:1.3rem; line-height:1.9; }
  .a11y-box{ padding:2rem 1.8rem; }
  .a11y-box h3{ font-size:1.5rem; }
  .a11y-box p{ font-size:1.3rem; }
  .a11y-sub{ font-size:1.5rem; }
  .a11y-pills a{ font-size:1.3rem; padding:1rem 2rem; }
  .a11y-steps li{ font-size:1.3rem; }
  .a11y-cards{ grid-template-columns:1fr; }
  .a11y-card p{ font-size:1.3rem; }
}

/* 働く環境SP：研修カードは写真付き画像（カンプ2x切り出し） */
@media (max-width:767px){
  .kk-train > div{ position:relative; overflow:visible; min-height:11.3rem; height:13rem; padding:1.8rem 1rem; border-radius:.8rem; }
  .kk-train h3{ font-size:1.4rem; }
  .kk-train p{ font-size:1.3rem; line-height:1.57; margin-top:.6rem; }
  .kk-train__spimg{ display:block !important; position:absolute; bottom:0; width:auto; height:14.6rem; max-width:none; }
  .kk-train__new .kk-train__spimg{ left:0; }
  .kk-train__new h3, .kk-train__new p{ margin-left:9.6rem; }
  .kk-train__mid .kk-train__spimg{ right:0; height:15rem; }
  .kk-train__mid h3, .kk-train__mid p{ margin-right:12rem; }
}

@media (max-width:767px){
  .pager, .artnav{ position:relative; }
  .pager{ margin:6.4rem 0 6rem; }
  .pager .pg-btn, .artnav .pg-btn{
    font-size:0; width:3.6rem; height:3.6rem; padding:0; border-radius:.4rem;
    display:flex; align-items:center; justify-content:center;
  }
  .pager .pg-btn::before, .artnav .pg-btn::before{ font-size:1.8rem; font-weight:700; color:#fff; }
  .pager .pg-btn:first-child, .artnav .pg-btn:first-child{ position:absolute; left:1.6rem; }
  .pager .pg-btn:last-child, .artnav .pg-btn:last-child{ position:absolute; right:1.6rem; }
  .pager .pg-btn:first-child::before, .artnav .pg-btn:first-child::before{ content:"<"; }
  .pager .pg-btn:last-child::before, .artnav .pg-btn:last-child::before{ content:">"; }
}

/* 倉持さん指示 2026-09-02: 働く環境ページの見出し・ヒーロー位置調整 */
/* img.kankyo-phero-hero-pc{ padding-left:3rem; } ← 旧png用。2026-09-16 支給バナー（余白込み）では下の .page-kankyo 指定で調整 */
@media (min-width:768px){
  .page-kankyo p.script{ position:relative; left:-2rem; top:2rem; }
  .page-kankyo .shead__h{ position:relative; left:-2rem; top:1rem; }
}
@media (max-width:767px){
  .page-kankyo p.script{ left:-1rem; top:4rem; }
  .page-kankyo .kk-body #sec04 .script{ top:1rem; }
  .page-kankyo #sec01 p.script{ width:13rem; left:-1rem; top:4rem; }
  .page-kankyo .shead__h{ left:0; top:1rem; }
  .page-kankyo .sp-only{ position:relative; }
  /* 入社後のブロックごと画面幅いっぱいに広げ、文章側にだけ余白を戻す */
  .page-kankyo .kk-nyusha{ width:100vw; margin-left:calc(50% - 50vw); align-items:stretch; }
  .page-kankyo .kk-nyusha > div{ padding-inline:1.6rem; }
  .page-kankyo .kk-nyusha img.sp-only{ padding-left:0; width:100%; margin-left:0; }
}

/* 倉持さん指示 2026-09-02: キャリアプランの注記を本文と左端を揃える */
@media (min-width:768px){
  .page-kankyo section#sec04{ margin-right:8rem; }
  .page-kankyo section#sec05{ margin-right:6rem; }
  .page-kankyo #sec04 p.kk-note{ padding-left:4rem; }
}

/* 倉持さん指示 2026-09-02: 働く環境の採用情報 Recruit 筆記体の位置 */
.page-kankyo img.kankyo-saiyo-recruit{ position:relative; top:-3rem; left:2rem; }

/* 倉持さん指示 2026-09-02: 募集要項ページの見出し位置 */
@media (min-width:768px){
  .page-search .ptitle__h{ position:relative; left:-4rem; }
  .page-search p.script{ position:relative; left:-8rem; top:1.5rem; }
}

/* 倉持さん指示 2026-09-03: 主任施術者研修の見出しを大きく（働く環境ページのみ） */
.page-kankyo .sd-sec__ttl{ font-size:3rem; }
/* 上余白は「指導的立場へ」（主任施術者研修）だけ */
.page-kankyo .ks-shunin .sd-sec__ttl{ padding-top:10rem; }

/* ---- 募集要項検索（動的） ---- */
.se-clearbtn{   /* 検索ボタン(.se-searchbtn)と同じ大きさ・文字。色だけ反転（2026-09-11 倉持さん指示） */
  display:block; width:100%; margin-top:1rem; background:#fff; color:var(--mg);
  font-size:1.5rem; font-weight:700; line-height:normal; padding:calc(1rem - .1rem) 0; border:.1rem solid var(--mg);
  border-radius:99rem; cursor:pointer; box-sizing:border-box;
}
.se-clearbtn:hover{ background:#faf0f7; }
.se-empty{ font-size:1.5rem; line-height:1.8; padding:4rem 0; text-align:center; color:#555; }
.se-card__ph{ background:#E3E3E3; }
@media (max-width:767px){
  .se-empty{ font-size:1.3rem; padding:3rem 1.6rem; }
}

/* ============ 先輩インタビュー詳細（interview.html・支給PDF準拠） ============ */
.ivd{ width:min(100% - 4.8rem, 146rem); margin-inline:auto; padding:5rem 0 2rem; }
@media (min-width:768px){
  /* 右端の固定タブ（新卒／中途）にスケジュール図などが潜らないように */
  .ivd{ padding-right:var(--vtabs-safe); }
}
.ivd__loading{ font-size:1.6rem; color:#666; padding:6rem 0; text-align:center; }

/* ---- 人物 ---- */
.ivd-hero{ display:grid; grid-template-columns:28rem 1fr; gap:0 5.6rem; align-items:start; }
.ivd-hero__face{ grid-column:1; grid-row:1 / span 2; }
.ivd-hero__tag{ grid-column:2; grid-row:1; justify-self:start; }
.ivd-hero__body{ grid-column:2; grid-row:2; }
.ivd-hero__face{ width:100%; }
.ivd-hero__face img{ width:100%; aspect-ratio:270/290; object-fit:cover; display:block; }
.ivd-hero__face--none{ aspect-ratio:270/290; background:#E3E3E3; }
.ivd-hero__tag{
  display:inline-block; background:var(--mg); color:#fff; font-size:1.5rem; font-weight:600;
  line-height:1.4; padding:.5rem 4.6rem; text-align:center;
}
.ivd-hero__catch{ font-size:2.9rem; font-weight:600; line-height:1.55; margin-top:2.6rem; }
.ivd-hero__body > :first-child{ margin-top:2.6rem; }
.ivd-hero__kana{ font-size:1.3rem; color:#000; margin-top:2.6rem; letter-spacing:.1em; }
.ivd-hero__name{ font-size:2.6rem; font-weight:600; line-height:1.3; margin-top:.2rem; }
.ivd-hero__meta{ margin-top:2.4rem; font-size:1.4rem; }
.ivd-hero__meta > div{ display:flex; gap:1.6rem; line-height:2; }
.ivd-hero__meta dt{ font-weight:700; }
.ivd-hero__meta .is-mg{ color:var(--ink); font-weight:700; }

/* ---- 設問ブロック ---- */
.ivd-sec{ margin-top:7rem; }
.ivd-sec__script{ margin-bottom:.2rem; }
.ivd-sec__script img{ width:20.5rem; height:auto; display:block; }
.ivd-sec__q{
  font-size:1.6rem; font-weight:700; color:var(--mg); line-height:1.6;
  border-bottom:.1rem solid var(--mg); padding-bottom:1rem;
}
.ivd-sec__row{ display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; margin-top:5rem; padding:0 5.1%; }
/* 写真が無いブロック（.ivd-sec--nophoto）は1カラム＋中央揃え */
.ivd-sec--nophoto .ivd-sec__row{ grid-template-columns:1fr; }
.ivd-sec--nophoto .ivd-sec__lead,
.ivd-sec--nophoto .ivd-sec__body p{ text-align:center; }
.ivd-sec__ph img{ width:100%; display:block; }
.ivd-sec__lead{ font-size:2.2rem; font-weight:600; line-height:1.6; margin-bottom:2rem; }
.ivd-sec__body p{ font-size:1.4rem; line-height:1.9; }
.ivd-sec__body p + p{ margin-top:1.8rem; }
.ivd-sec--plain .ivd-sec__body{ margin-top:2.4rem; }
.ivd-sec--plain .ivd-sec__body p{ font-size:1.5rem; }

/* ---- スケジュール ---- */
.ivd-sch{ margin-top:9rem; }
.ivd-sch__ttl{ font-size:1.6rem; font-weight:700; color:var(--mg); border-bottom:.1rem solid var(--mg); padding-bottom:1rem; }
.ivd-sch__ttl .script{ display:block; font-size:3.6rem; line-height:1.1; margin-bottom:.2rem; }
.ivd-sch__script{ display:block; margin-bottom:.2rem; }
.ivd-sch__script img{ width:17.1rem; height:auto; display:block; }
.ivd-sch__img{ margin-top:4rem; }
.ivd-sch__img img{ width:100%; display:block; }
.ivd-sch--text .ivd-sch__body{ margin-top:2.4rem; }
.ivd-sch--text .ivd-sch__body p{ font-size:1.5rem; line-height:1.9; }

/* ---- ほかの先輩 ---- */
.ivd-others{ border-top:.1rem solid #ddd; margin-top:8rem; padding-top:4rem; }
.ivd-others h2{ font-size:2rem; font-weight:600; color:var(--mg); margin-bottom:2rem; }
.ivd-others ul{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.6rem; }
.ivd-others a{ display:block; background:#F5F5F5; padding:1.8rem 2rem; height:100%; transition:.2s; }
.ivd-others a:hover{ background:#EEE; }
.ivd-others__name{ display:block; font-size:1.7rem; font-weight:600; }
.ivd-others__catch{ display:block; font-size:1.3rem; color:#555; margin-top:.6rem; line-height:1.6; }
.ivd__back{ padding:3rem 0 9rem; text-align:center; }
.ivd__back .btn-yl{ display:inline-block; color:var(--mg); width:auto; white-space:nowrap; padding-inline:3.2rem; }  /* 「◯◯の紹介へ戻る」を折り返さず1行に */

@media (max-width:767px){
  .ivd{ width:min(100% - 3.2rem, 36rem); padding:3rem 0 1rem; }
  /* SPはタグ→写真→本文の順（タグだけ本文ブロックから外に出す） */
  .ivd-hero{ display:flex; flex-direction:column; gap:2.4rem; }
  .ivd-hero__face{ order:2; grid-column:auto; grid-row:auto; }
  .ivd-hero__body{ order:3; grid-column:auto; grid-row:auto; }
  .ivd-hero__tag{ order:1; align-self:flex-start; grid-column:auto; grid-row:auto; }
  .ivd-hero__body > :first-child{ margin-top:0; }
  .ivd-hero__face img, .ivd-hero__face--none{ aspect-ratio:4/3; }
  .ivd-hero__catch{ font-size:2rem; margin-top:1.8rem; }
  .ivd-hero__name{ font-size:2.2rem; }
  .ivd-hero__kana{ margin-top:1.8rem; }
  .ivd-sec{ margin-top:4.6rem; }
  .ivd-sec__q{ font-size:1.4rem; }
  .ivd-sec__row{ grid-template-columns:1fr; gap:2.4rem; margin-top:2.6rem; }
  /* SPは写真なしブロックも左揃え（中央揃えはPCのみ） */
  .ivd-sec--nophoto .ivd-sec__lead,
  .ivd-sec--nophoto .ivd-sec__body p{ text-align:left; }
  .ivd-sec--r .ivd-sec__ph{ order:-1; }
  .ivd-sec__lead{ font-size:1.8rem; }
  .ivd-sec__body p{ font-size:1.35rem; line-height:1.85; }
  .ivd-sch{ margin-top:5rem; }
  .ivd-sch__ttl{ font-size:1.4rem; }
  .ivd-sch__ttl .script{ font-size:3rem; }
  .ivd-sec__script img{ width:15rem; }
  .ivd-sch__script img{ width:12.5rem; }
  /* SPは帯を縦に積む */
  .ivd-sch__bar{ flex-direction:column; margin-top:8rem; }
  .ivd-sch__cell{ flex:none; width:100%; min-height:5.4rem; font-size:1.3rem; }
  .ivd-sch__bubble{ width:8rem; height:8rem; bottom:calc(100% + 1.2rem); }
  .ivd-sch__cell:not(:first-child) .ivd-sch__bubble{ display:none; }
  .ivd-sch__times{ display:none; }
  .ivd-others ul{ grid-template-columns:1fr; }
  .ivd__back{ padding:2rem 0 5rem; }
}

/* 働く環境：研修アコーディオン内のカード（SP・2026-09-04 指示） */
@media (max-width:767px){
  .page-kankyo .acc__body{ padding:4rem 1.4rem 2.6rem; }
  .ks-card{ padding:.6rem .6rem 1rem; }
  .ks-card h3{ font-size:2.5rem; padding-left:.5rem; }
  .ks-card h3 small{ font-size:1.5rem; }
  .ks-card p{ font-size:1.5rem; line-height:1.2; margin-top:1.2rem; padding:0 .5rem; }
  .ks-ojt h3{ font-size:2rem; }
  .ks-ojt p{ font-size:1.5rem; line-height:1.2; }
  .ks-skill p{ font-size:1.5rem; line-height:1.2; margin:1.2rem 0 3rem; }
  .page-kankyo #sec04 p.kk-note{ padding-left:0; }
  .page-kankyo .sd-sec__ttl{ font-size:2rem; }
  .page-kankyo .ks-shunin .sd-sec__ttl{ padding-top:0; }
  .ks-shunin p{ line-height:1.2 !important; margin-top:2rem; font-size:1.5rem !important; }
  /* SPカンプ準拠：バッジを見出しの上に出し、見出しは左に縦線を付けた左寄せ */
  .ks-skill h3{
    display:flex; flex-direction:column-reverse; align-items:flex-start; gap:1.2rem;
    font-size:1.8rem; line-height:1.4; text-align:left;
    border-left:none; padding-left:0;
  }
  /* 縦線は見出しの文言だけに付ける（バッジにはかけない） */
  .ks-skill h3 .ks-skill__t{ display:block; border-left:.4rem solid var(--mg); padding-left:1rem; }
  .ks-skill h3 .ks-badge{ margin:0; }
  /* サムネイルはカンプどおり縦1列。見出しは左寄せ＋黄色の下線 */
  .ks-thumbs .row{ display:block; }
  .ks-thumbs .row + .row{ margin-top:0 !important; }
  .ks-thumbs figure{ width:100%; }
  .ks-thumbs figure + figure{ margin-top:2.6rem; }
  .ks-thumbs .row + .row figure:first-child{ margin-top:2.6rem; }
  .ks-thumbs h5{ font-size:1.6rem; text-align:left; margin-inline:0; }
  .ks-thumbs h5::after{ height:.5rem; margin-top:.6rem; }
  .ks-arrow, .ks-ojt .ks-arrow, .ks-ojt + .ks-arrow, .ks-shunin + .ks-arrow, .ks-shunin .ks-arrow{
    display:block; width:fit-content; max-width:100%; margin:3.4rem auto 0;
    background:var(--mg); color:var(--yl); font-size:1.2rem; font-weight:400;
    padding:1.4rem 2.6rem; line-height:1.2;
  }
}

/* ============================================================
   会社について（aboutus）専用レイアウト調整  2026-09-05
   カンプ実測に合わせた調整。すべて .page-aboutus スコープなので
   他ページ（同じ .ptitle / .ab-* クラスを使う箇所）には影響しない。
   ============================================================ */

/* --- 筆記体と見出しの位置（倉持さん指示 2026-09-05） --- */
.page-aboutus p.script{ position:relative; top:1rem; left:-1.8rem; }
/* 採用情報（共通CTA）は他ページと同じ位置のまま */
.page-aboutus .saiyo p.script{ top:-.4rem; left:.1rem; }
.page-aboutus h2.shead__h{ padding-bottom:.5rem; }
.page-aboutus img.aboutus-ptitle-img{ position:relative; top:.5rem; left:.5rem; }

/* --- ページタイトル左右の装飾（支給素材 aboutus01/02） --- */
.page-aboutus .ptitle{ position:relative; }
.page-aboutus .ptitle::before,
.page-aboutus .ptitle::after{
  content:""; position:absolute; bottom:6rem; height:7.4rem;
  background-repeat:no-repeat; background-position:center bottom; background-size:contain;
  pointer-events:none;
}
.page-aboutus .ptitle::before{
  left:calc(50% - 26.1rem); width:7rem; background-image:url(../img/sub/ab_deco_l2.png?v=1789655597);
}
.page-aboutus .ptitle::after{
  left:calc(50% + 19.1rem); width:6.9rem; background-image:url(../img/sub/ab_deco_r2.png?v=1789655597);
}

/* --- 社名に込めた想い：左にフレアスロゴ、右に本文 --- */
.page-aboutus .ab-philosophy{
  width:100%; max-width:none; margin:3rem 0 0;
  display:grid; grid-template-columns:51.2rem 1fr; align-items:center; gap:0;
}
.page-aboutus .ab-philosophy__logo img{ display:block; width:36.6rem; margin-left:4.8rem; }

/* --- 代表挨拶：写真カラムをカンプ位置へ --- */
.page-aboutus .ab-message{ grid-template-columns:51.2rem 1fr; gap:0; }
.page-aboutus .ab-message > img{ width:36.2rem; margin-left:5.6rem; }

/* --- 会社理念：見出しはカンプ通り2行に収める（欧文フォントが広いぶん微調整・PCのみ） --- */
@media (min-width:768px){
  .page-aboutus .ab-vision p.ab-vision__ttl{ font-size:4.35rem; }
}
/* 本文はカンプ通り中央寄せの狭い幅で流す */
.page-aboutus .ab-vision > p{ width:min(100%,70rem); margin-inline:auto; }
@media (max-width:767px){
  /* SPカンプ準拠：PC用に入れた <br> は使わず、画面幅いっぱいに自然改行させる。
     本文は左揃え（カンプ実測）。 */
  .page-aboutus .ab-vision__ttl br,
  .page-aboutus .ab-vision__txt br{ display:none; }
  .page-aboutus .ab-vision__txt{ text-align:left; }
}
.page-aboutus .ab-vision > p.ab-vision__ttl{ width:auto; }

/* --- 会社理念・経営ビジョン：黄色い影は ::after で描く（カンプは左下方向） --- */
.page-aboutus .ab-vision{
  box-shadow:none; width:min(100%,114rem); margin-inline:auto;
}
.page-aboutus .ab-vision::after{
  content:""; position:absolute; z-index:-1; left:-1.5rem; top:2.1rem;
  width:100%; height:100%; background:var(--yl);
}

/* --- 関連サイト／グループサイト --- */
.page-aboutus .ab-rel__cards{ width:min(100%,114rem); margin-inline:auto; gap:1.5rem; }
.page-aboutus .ab-rel__cap{ width:min(100%,114rem); margin-inline:auto; }
.page-aboutus .ab-relcard{ border-color:var(--mg); }
.page-aboutus .ab-relcard--p{ border-color:#7d6bb5; }
.page-aboutus .ab-relcard--o{ border-color:#e8933a; }
.page-aboutus .ab-relcard--g{ border-color:#43a047; }
/* グループサイトはロゴを中央に置き、その下に社名 */
.page-aboutus .ab-relcard img{ display:block; width:auto; margin:0 auto 1.2rem; }
.page-aboutus .ab-relcard--p img{ height:3rem; }
.page-aboutus .ab-relcard--o img{ height:4.2rem; }
.page-aboutus .ab-relcard--g img{ height:4.4rem; }

@media (max-width:767px){
  /* ページタイトルの装飾（SP実測） */
  .page-aboutus .ptitle::before,
  .page-aboutus .ptitle::after{ bottom:3.6rem; height:4.9rem; }
  .page-aboutus .ptitle::before{ left:calc(50% - 15.6rem); width:4.5rem; }
  .page-aboutus .ptitle::after{ left:calc(50% + 11.1rem); width:4.6rem; }

  /* 社名に込めた想い：ロゴを中央に、サブ見出しも中央 */
  .page-aboutus .ab-philosophy{ display:block; margin-top:2rem; }
  .page-aboutus .ab-philosophy__logo img{ width:25.2rem; margin:0 auto 2rem; }
  .page-aboutus .ab-philosophy p.ab-philosophy__sub{ text-align:center; }

  /* 代表挨拶：写真は中央（カンプ実測 298×370） */
  .page-aboutus .ab-message{ display:block; }
  .page-aboutus .ab-message > img{ width:29.8rem; margin:0 auto 2.6rem; display:block; }

  /* 黄色い影はSPだけ右下方向（カンプ実測） */
  .page-aboutus .ab-vision{ width:auto; }
  .page-aboutus .ab-vision::after{ left:1rem; top:1rem; }

  /* 会社概要はSPでも2カラム */
  /* SPカンプ実測：項目名の列は6.9rem＋gap1.2rem（内容は左から約83px）、
     行頭のマゼンタ線は短く */
  .page-aboutus .ab-table dl{ grid-template-columns:6.9rem 1fr; gap:1.2rem; }
  .page-aboutus .ab-table dt{ padding-left:0; }
  .page-aboutus .ab-table dl::before,
  .page-aboutus .ab-table dl:last-child::after{ width:6rem; }

  /* 関連サイトカード */
  .page-aboutus .ab-rel__cards{ width:auto; gap:1.6rem; }
  .page-aboutus .ab-rel__cap{ width:auto; }

  /* 筆記体のサイズ（SP既定の24remを、このページだけカンプ実測値へ戻す。
     他ページの .script img は触らない） */
  .page-aboutus img.aboutus-ptitle-img{ --sw-sp:13.2rem; }
  .page-aboutus img.aboutus-ab-sec-philosophy{ --sw-sp:16.8rem; }
  .page-aboutus img.aboutus-ab-sec-message{ --sw-sp:14.5rem; }
  .page-aboutus img.aboutus-ab-sec-philosophy-vision{ --sw-sp:28.2rem; }
  .page-aboutus img.aboutus-ab-sec-philosophy-card{ --sw-sp:16.4rem; }
  .page-aboutus img.aboutus-ab-sec-vision{ --sw-sp:11.3rem; }
  .page-aboutus img.aboutus-ab-sec-company{ --sw-sp:13.5rem; }
  .page-aboutus img.aboutus-ab-sec-related-sites{ --sw-sp:23rem; }
}

/* ============================================================
   働く環境（kankyo）研修セクションの文字サイズ調整
   倉持さん指示 2026-09-06・PCのみ／.page-kankyo スコープ
   （SPは既存の @media (max-width:767px) 指定が有効なまま）
   ============================================================ */
@media (min-width:768px){
  .page-kankyo .ks-card h3{ font-size:2.5rem; }
  .page-kankyo .ks-card h3 small{ font-size:1.6rem; }
  .page-kankyo .ks-card p{ font-size:1.6rem; }
  .page-kankyo .ks-skill h3{ font-size:2.5rem; }
  .page-kankyo .ks-skill p{ font-size:1.6rem; }
  .page-kankyo .ks-shunin p{ font-size:1.6rem !important; }
  .page-kankyo .ks-ojt h3{ font-size:2.5rem; }
  .page-kankyo .ks-ojt p{ font-size:1.6rem; }
  .page-kankyo .ks-thumbs h5{ font-size:2rem; }
}


/* ============================================================
   エントリーページ SP（カンプ実測 2026-09-07）
   ============================================================ */
@media (max-width:767px){
  /* ヒーローの筆記体はカンプ実測10.3rem（SP既定24remでは大きすぎる） */
  .page-entry .en-hero__body .script img{ --sw-sp:10.3rem; }

  /* 「応募方法（3つの動線）」は左揃え＋全幅の罫線 */
  .page-entry .en-how{ padding:1rem 0 4rem; text-align:left; }
  .page-entry .en-how .script{ display:block; text-align:left; padding-left:3.6rem; }
  .page-entry .en-how .script img{ --sw-sp:19.8rem; }
  .page-entry .en-how__h{
    display:block; text-align:left; padding:.5rem 2.6rem 1.2rem;
  }
  .page-entry .en-how__h::after{ left:1.6rem; transform:none; width:calc(100% - 3.2rem); }
  .page-entry .en-how__lead{ text-align:left; padding:0 1.6rem; margin-top:2rem; }

  /* 応募動線の3カードはカンプ実測 24.4×11.5rem。
     PC用に大きくした文字サイズ（.en-ctas .fcta__ttl 等）をSPカンプ値へ戻す */
  .page-entry .en-ctas{ margin-top:2.6rem; }
  .page-entry .en-ctas .fcta{ width:24.4rem; min-height:11.5rem; }
  .page-entry .en-ctas .fcta__lead{ font-size:1.2rem; }
  .page-entry .en-ctas .fcta__ttl{ font-size:1.9rem; }
  .page-entry .en-ctas .fcta--tel .fcta__ttl{ font-size:1.95rem; }
  .page-entry .en-ctas .fcta__btn{ font-size:1.1rem; padding:.15rem 1.2rem; }

  /* 見学希望（カンプ実測 幅36.3rem・タイトル2.9rem）。
     wrap の左右余白だと収まらないので、このページのSPだけ wrap を全幅にする */
  .page-entry .en-how > .wrap{ width:100%; }
  .page-entry .en-kengaku{ width:min(100% - 2.4rem, 36.3rem); margin-top:5rem; }
  .page-entry .en-kengaku h3{ font-size:2.9rem; }

  /* ヒーローのリード文はカンプ実測 28.1rem 幅で4行 */
  .page-entry .en-hero__lead{ width:min(100% - 3.2rem, 28.1rem); margin-inline:auto; margin-top:3.5rem; }

  /* 筆記体と見出しの位置微調整（SPカンプ合わせ） */
  .page-entry .en-hero__body p.script{ position:relative; top:0; left:1rem; }
  .page-entry .en-hero__h{ font-size:2.6rem; position:relative; top:.5rem; }

  /* 募集職種の見出しまわり（SPカンプ合わせ：筆記体と見出しを左に寄せる） */
  .page-entry .en-jobs{ margin-top:0; padding-top:0; }
  .page-entry .script img.sw-recruit-wide.entry-en-jobs-recruit-wide{ width:30rem; left:-2rem; top:3rem; }
  .page-entry .en-jobs h2.en-jobs__h{ text-align:left; top:0; left:-12rem; }
  .page-entry .en-jobs__h::after{ left:17rem; max-width:36rem; top:3rem; }
  .page-entry p.en-jobs__lead{ font-size:1.4rem; margin-top:1rem; }

  /* 求人カードの余白とボタン（SPカンプ合わせ：ボタンは中央） */
  .en-jobcard > div{ padding-top:2rem; padding-bottom:3rem; }
  .en-jobcard .btn-yl{ margin:1.5rem auto 0; }
}

/* ============ 2026-09-08 カンプ照合（SP） ============ */
@media (max-width:767px){
  /* エントリー: 職種カードの左右余白はカンプ40px */
  .page-entry .en-jobs__cards{ width:min(100% - 8rem, 127.2rem); }
  /* エントリー: FAQ見出しはカンプ左揃え（他セクションと同じ） */
  .page-entry .en-faq__head{ text-align:left; }
  .page-aboutus .ab-table dl:nth-child(7) dd{ line-height:2.15; }   /* SPカンプ: 関連会社 約28px送り */
  /* プライバシー: 前文はカンプで2段落 */
  .policy__lead .policy__p2{ display:block; margin-top:1.6rem; }
}
@media (min-width:768px){
  /* エントリー: 募集職種の筆記体→見出しの間はカンプ約10px（2026-09-08 照合） */
  .page-entry .en-jobs__head .script{ margin-bottom:-2.7rem; }
}

/* 働く環境SP: 研修制度アコーディオン内の文字はSPカンプ（kenshu_sp）に合わせて小さく（倉持さん指示 2026-09-08） */
@media (max-width:767px){
  .page-kankyo .ks-badge{ font-size:1.2rem; line-height:1.6; }
  .page-kankyo .ks-card h3{ font-size:1.8rem; line-height:1.4; }
  .page-kankyo .ks-card h3 small{ font-size:1.3rem; }
  .page-kankyo .ks-card p{ font-size:1.3rem; line-height:1.6; }
  .page-kankyo .ks-arrow{ font-size:1.3rem; font-weight:700; line-height:1.5; }
  .page-kankyo .ks-ojt h3{ font-size:1.8rem; line-height:1.45; }
  .page-kankyo .ks-ojt h3 small{ font-size:1.3rem; }
  .page-kankyo .ks-ojt p{ font-size:1.3rem; line-height:1.6; }
  .page-kankyo .ks-skill h3 .ks-skill__t{ font-size:1.7rem; line-height:1.4; }
  .page-kankyo .ks-skill p{ font-size:1.3rem; line-height:1.6; }
  .page-kankyo .ks-thumbs h5{ font-size:1.4rem; }
  .page-kankyo .acc__body h3.sd-sec__ttl{ font-size:1.8rem; line-height:1.4; }
  .page-kankyo .acc__body p{ font-size:1.3rem; line-height:1.6; }
}
@media (max-width:767px){
  .page-kankyo .acc__body .ks-shunin p{ font-size:1.3rem !important; line-height:1.6 !important; }   /* 主任研修の本文も同サイズ（既存の!importantを上書き） */
}

/* ============ 2026-09-08 改行照合 ============ */
@media (max-width:767px){
  .qa__txt{ font-size:1.4rem; }   /* FAQ SPカンプ: 質問文は1行/2行に収まる大きさ */
  .faq-contact h3{ font-size:1.5rem; font-weight:700; }   /* 「気になることは、何でも聞いてください。」を1行に */
  .faq-contact p{ font-size:1.15rem; }
}
@media (min-width:768px){
  .kk-dcard__cap{ white-space:nowrap; }   /* 数字で見る: 「障がい者雇用比率（全体）」がカッコ途中で折れないように */
  .kk-bcard p{ font-size:1.3rem; }   /* 福利厚生: カンプの行数（傷病による長期療養=2行）に合わせる */
}
@media (max-width:767px){
  .page-entry .en-faq__head .script{ line-height:0; margin-bottom:.4rem; }   /* SP: FAQ筆記体を見出しの直上に（重なり解消 2026-09-09） */
  .page-entry .en-faq__head .script img{ top:0; left:0; }
}

/* ============ エントリーSP: 先方カンプ（build/20260908/Entry）照合 2026-09-09 ============ */
@media (max-width:767px){
  .page-entry .en-hero__lead{ width:min(100% - 3.2rem, 29.2rem); }                 /* 「面談で」で改行 */
  .page-entry .en-how__lead{ text-align:left; }
  /* 見学希望ボックス: 黄色3px枠・見出し30px・ボタン220×44 */
  .page-entry .en-kengaku{ border:.3rem solid var(--yl); padding:3rem 1.6rem 2.4rem; }
  .page-entry .en-kengaku h3{ font-size:3rem; }
  .page-entry .en-kengaku p{ font-size:1.55rem; margin:1.2rem 0 2.6rem; }
  .page-entry .en-kengaku .btn-yl{ width:22rem; height:4.4rem; padding:0; display:inline-flex; align-items:center; justify-content:center; font-size:1.5rem; }
  /* 応募の流れ: 筆記体Stepを小さく見出し直上に、下余白 */
  .page-entry .en-flow .script img.sw-step{ --sw-sp:6.2rem; top:0; left:-1rem; }
  .page-entry .en-flow .script{ margin-bottom:1.3rem; line-height:0; }
  .page-entry .en-flow{ padding-bottom:6rem; }
  .page-entry .en-flow .en-flow__fig{ margin-top:5.8rem; }   /* SPカンプ: 見出し上端→1つ目のアイコン 245px */
  .page-entry .en-flow__lead{ margin-top:2.8rem; }
  /* 職種カード: 内側余白20px（説明文が270px幅） */
  .page-entry .en-jobcard > div{ padding:2rem 2rem 3rem; }
  /* FAQ見出し: 下に全幅の薄ピンク線、リードは中央14px */
  .page-entry .en-faq__h{ display:block; border-bottom:.1rem solid #F3BBE8; padding-bottom:.9rem; }
  .page-entry .en-faq__lead{ text-align:center; font-size:1.4rem; font-weight:500; margin-top:1.6rem; }
  /* FAQ 質問: 枠は薄紫1px・Qアイコン42px・質問文18px黒 */
  .page-entry .en-faq .qa{ border:.1rem solid #D7B5D0; }
  .page-entry .en-faq .qa__q{ padding:.65rem 1.4rem; gap:1.6rem; }
  .page-entry .en-faq .qa__ic{ width:4.2rem; height:4.2rem; font-size:2.2rem; }
  .page-entry .en-faq .qa__txt{ font-size:1.6rem; color:#000; font-weight:500; }
  .page-entry .en-faq .qa__q{ padding-right:1rem; }
  .page-entry .en-faq .qa__sign{ font-size:2.6rem; flex:none; }   /* 質問文が1行に収まるように（カンプにトグル記号は無い） */
  .page-entry .en-faq .qa__a{ border-top:.1rem solid #D7B5D0; background:#FBFBF1; }
}
@media (min-width:768px){
  /* エントリーPC: 先方カンプ（build/20260908/Entry）照合 2026-09-09 */
  .page-entry .en-kengaku .btn-yl{ width:22.4rem; height:4.2rem; padding:0; display:inline-flex; align-items:center; justify-content:center; }   /* ボタン224×42 */
  .page-entry .en-ctas{ gap:1.7rem; }
  .page-entry .en-ctas .fcta{ width:33.3rem; }   /* 3ボックス幅333px */
}
/* 応募の流れの見出し: PCカンプは「エントリーまでの流れ」で筆記体なし（2026-09-09 倉持さん判断）。SPカンプ(エントリー)はStepあり */
@media (min-width:768px){ .sd-flow > .script{ display:none; } }   /* エントリーの Step 筆記体は PC でも表示（2026-09-10 倉持さん指示）。募集要項詳細は筆記体なしのまま */
@media (max-width:767px){ .sd-flow > .script{ display:none; } }   /* 募集要項詳細のSPカンプも筆記体なし */

/* プライバシーポリシー: fureasu.jp「個人情報の取り扱いについて」準拠の本文用（2026-09-09） */
.policy__tbl{ width:100%; border-collapse:collapse; margin:1.6rem 0 2.4rem; font-size:1.4rem; }
.policy__tbl th,.policy__tbl td{ border:.1rem solid #d48ec0; padding:1.2rem 1.6rem; text-align:left; vertical-align:top; color:#444; line-height:1.6; }
.policy__tbl thead th{ background:#fbeaf5; color:#333; font-weight:700; }
.policy__tbl tbody th{ width:22rem; font-weight:500; background:#fff; }
.policy__tbl ul li{ text-indent:-1em; padding-left:1em; }
.policy__sub{ font-size:1.5rem; font-weight:700; color:#333; margin:2.2rem 0 .8rem; padding-left:1.2rem; border-left:.3rem solid var(--mg); }
.policy__ol{ list-style:decimal; padding-left:2.2rem; }
.policy__ol li{ font-size:1.4rem; color:#444; line-height:1.7; margin:.3rem 0; }
.policy__japhic{ border-bottom:none; }
.policy p + p{ margin-top:.8rem; }
.policy a{ color:var(--mg); text-decoration:underline; }
@media (max-width:767px){
  .policy__tbl, .policy__tbl thead, .policy__tbl tbody, .policy__tbl tr, .policy__tbl th, .policy__tbl td{ display:block; width:100%; }
  .policy__tbl thead{ display:none; }
  .policy__tbl tbody th{ width:100%; border-bottom:none; background:#fbeaf5; }
  .policy__tbl td{ border-top:none; margin-bottom:.8rem; }
}

/* 採用メッセージ: 代表の肩書（2026-09-10 先方指示12） */
.msg__title{ font-size:1.4rem; font-weight:500; color:#333; margin-top:1.4rem; }
@media (max-width:767px){ .msg__title{ font-size:1.3rem; } }
/* インタビュー詳細: コラム記事へのリンク（2026-09-10 先方指示13） */
.ivd__col{ text-align:center; margin-top:5rem; }
.ivd__col .btn-mgfill{ display:inline-block; width:auto; padding:1.3rem 3.6rem; font-size:1.6rem; }

/* 2026-09-12 先方指示（修正内容.pdf） */
@media (min-width:768px){
  .cat-tabs li{ width:auto; min-width:20rem; }                /* B15: 「社会福祉活動（CSR）」を1行に */
  .cat-tabs a{ white-space:nowrap; padding-left:1.6rem; padding-right:1.6rem; }
}
.page-aboutus .ab-vision > .ab-vision__cap{ top:2rem; }      /* B21: 会社理念／経営ビジョンの文字を上の線から離す */
.artcard .ph{ background-position:center 25% !important; }   /* B8: コラム一覧サムネイル（inline styleの center/cover を上寄りに）頭が切れないように */
.artcard .artcard__ph{ object-position:center 25%; }

/* 2026-09-13 先方指示: 採用メッセージは代表写真なし・本文をセンター配置、動画は2本縦並び */
.msg__grid{ display:block; max-width:100rem; margin-inline:auto; }
@media (max-width:767px){ .msg__ttl{ text-align:left; } }   /* 2026-09-24 Figma「すみません、左揃えでお願いします」→ PCも左揃えに戻す */   /* 修正内容_260916 は左揃えだったが、Figma 9/17「中心揃えに」（林さん: Figma優先）でPCは見出しをセンターに戻す。SPは左のまま */
@media (min-width:768px){ .msg__ttl{ text-align:left; } }
.msg-movie__frame + .msg-movie__frame{ margin-top:2.4rem; }
/* 2026-09-13 先方指示（修正内容.pdf p4）: 該当記事だけ画像の見せる位置を個別指定（人物が中央で切れるため左寄せ） */
.pickup[data-post="21376"] .ph, .news-row[data-post="21376"] .ph{ background-position:left center !important; }   /* YouTube配信「さらば青春の光」 */
/* 共通OG画像（fureasu 時間の価値の最大化）は左側にロゴと文字があるので左寄せ（archive-list.php が ph--left を付与） */
.ph.ph--left{ background-position:left center !important; }
/* コラム冒頭の「フレアスGROUPの現場」ロゴ（2026-09-13 先方指示: 最初の文章の前に配置） */
.article__logo{ width:min(100%, 52rem); margin:0 0 3.2rem; }
/* コラム末尾の取材・文クレジット（2026-09-14 先方指示 B6） */
.article__credit{ border-top:.1rem solid #ddd; margin-top:4.8rem; padding-top:2.4rem; font-size:1.4rem; line-height:1.8; color:#444; }
.article__credit p{ margin:0; }
.article__credit .article__credit-name{ font-weight:700; color:#111; margin-bottom:.6rem; }
@media (max-width:767px){ .article__credit{ font-size:1.3rem; margin-top:3.6rem; } }

/* 2026-09-16 Figma指示（#30）: SPの「About us」筆記体が大きく黄色い四角に被るので縮小 */
@media (max-width:767px){
  .page-aboutus img.aboutus-main-img{ --sw-sp:12rem; }   /* SPカンプ実測 118px */
}

/* FAQ（2026-09-16 Figma #25）: SPバナーをPCと同じ写真に作り直し（タイトル無し）→ SPだけ筆記体＋h1をHTMLで重ねる。PCは焼き込みのまま */
@media (min-width:768px){
  .page-faq .phero__script, .page-faq .phero__ttl{ display:none; }
  .page-faq.page-faq .phero--html > picture > img, .page-faq .phero--html > img.pc-only{ width:100%; margin:0; }   /* PC画像は従来どおり全幅 */
}
@media (max-width:767px){
  .phero--html-sp{ position:relative; }
  .phero--html-sp .phero__script{ position:absolute; margin:0; line-height:0; }
  .phero--html-sp .phero__script img{ display:block; height:auto; }
  .phero--html-sp .phero__ttl{ position:absolute; left:auto; margin:0; font-weight:700; line-height:1; letter-spacing:0; color:var(--mg); white-space:nowrap; }
  .page-faq p.script.phero__script{ position:absolute; left:3.65rem; top:1.65rem; margin:0; padding:0; } .page-faq p.script.phero__script img{ position:static; width:9.1rem; }
  .page-faq .phero__ttl--faq{ left:7.85rem; top:5.7rem; font-size:2.4rem; }
}

/* 働く環境 数字で見る（PC）: カード幅298pxに収めるためアイコン・余白・文字を詰める。
   素の .kk-dcard 系より後ろに置かないと負けるのでファイル末尾（2026-09-16 倉持さん指摘） */
@media (min-width:768px){
  .kk-dcard{ padding:1.8rem 1.2rem; gap:1rem; }
  .kk-dcard img{ width:8rem; }
  .kk-dcard__num{ font-size:2.8rem; white-space:nowrap; }
  .kk-dcard__num small{ font-size:2rem; }
  .kk-dcard__cap{ font-size:1.3rem; white-space:normal; }
  .kk-dcard__note{ font-size:1.25rem; }
}

/* 働く環境（2026-09-16 支給バナー PC/SP・タイトル無し）: 筆記体＋h1＋リード文を HTML で重ねる。
   位置は旧焼き込みの実測（PC: script 61.5,26.5 w404／働く環境 96.5,114 4.6rem／リード 348,112 2.1rem 2行。
   SP: script 36.5,31 w18rem／働く環境 76.5,66 2.45rem／リード 183.5,97 1.35rem 2行）。PC画像は左に1.5rem寄せて黄枠を旧と同じ x30px に */
@media (min-width:768px){
  .page-kankyo .phero--html > picture > img, .page-kankyo .phero--html > img.pc-only{ width:calc(100% - 1.5rem); margin:0 0 0 1.5rem; }
  .page-kankyo p.script.phero__script{ position:absolute; left:9.15rem; top:2.65rem; margin:0; padding:0; line-height:0; }
  .page-kankyo p.script.phero__script img{ position:static; width:40.4rem; height:auto; }
  .page-kankyo .phero__ttl--kankyo{ left:12.65rem; top:11.1rem; font-size:4.6rem; }
  .page-kankyo .phero__lead{ position:absolute; left:37.8rem; top:10.6rem; margin:0; font-size:2.1rem; font-weight:700; line-height:1.35; color:#111; white-space:nowrap; }
}
@media (max-width:767px){
  .page-kankyo p.script.phero__script{ position:absolute; left:3.65rem; top:3.1rem; margin:0; padding:0; line-height:0; }
  .page-kankyo p.script.phero__script img{ position:static; width:18rem; height:auto; }
  .page-kankyo .phero__ttl--kankyo{ left:7.65rem; top:6.6rem; font-size:2.45rem; }
  /* 2026-10-02 先方指摘「携帯で文字が被っている」: 9/16支給のSPバナーは右側が手とタオルの写真で、旧位置（右下）だとリード文が写真に重なって読めない。
     筆記体・見出しを少し上げ、リード文は見出しの下・左寄せにして行ごとの白帯を敷く（TOPのリード文と同じ表現） */
  .page-kankyo p.script.phero__script{ top:2.2rem; }
  .page-kankyo .phero__ttl--kankyo{ top:5.7rem; }
  .page-kankyo .phero__lead{ position:absolute; left:2.6rem; top:9.6rem; margin:0; font-size:1.25rem; font-weight:700; line-height:1.5; color:#111; white-space:nowrap; }
  .page-kankyo .phero__lead span{ width:max-content; background:#fff; padding:0 .6rem; }
  .page-kankyo .phero__lead span + span{ margin-top:.3rem; }
}
.phero__lead span{ display:block; }

/* ===== 修正内容_260916.pdf ===== */
/* インタビューカードの顔写真の位置調整は job.css（職種ページは sub.css を読まない） */
/* コラム一覧サムネイル（横塚）: 頭が切れないよう上寄せ */
.artcard[data-post="21308"] .ph{ background-position:center top !important; }
/* 研修カード: 指定の位置（<br>）でだけ改行 */
@media (min-width:768px){
  .kk-train p{ white-space:nowrap; font-size:2rem; }
  .kk-train__new h3, .kk-train__new p{ margin-left:12rem; }
  .kk-train__mid h3, .kk-train__mid p{ margin-right:15rem; }
}
/* 研修動画サムネイル: 大きさ・トリミングを統一 */
.ks-thumbs figure img{ width:100%; aspect-ratio:800/512; object-fit:cover; display:block; }
/* エントリー: 見学を申し込む ボタンの文字を枠の中心に */
.page-entry a.btn-yl{ display:inline-flex; align-items:center; justify-content:center; line-height:1; }
/* コラム詳細（横塚）: ヘッダー写真の頭が切れないよう上寄せ（2026-09-16 倉持さん指摘） */
.postid-21308 .article .ph{ background-position:center top !important; }
/* コラム詳細: 冒頭のアイキャッチ写真は本文1枚目と同じ写真が続くため非表示（2026-09-16 倉持さん指示・全コラム共通） */
.page-column-detail .article .ph{ display:none; }
.page-news-detail .article .ph, .single-recruit-news .article .ph{ display:none; }   /* お知らせ詳細も冒頭サムネイル非表示（本文の画像と重複するため・新武さんメール 9/24） */

/* お知らせ（2026-09-21 支給バナー PC/SP・タイトル無し）: SPも筆記体＋h1をHTMLで重ねる。位置は旧SP焼き込みの実測（script x61,y11 w78／お知らせ x89,y45 2.2rem） */
@media (max-width:767px){
  /* 支給SP写真は左上にロゴが写っているので、タイトルは左下の白壁の上に置く（ロゴと重ならない位置） */
  .page-news p.script.phero__script{ position:absolute; left:5.2rem; top:6.6rem; margin:0; padding:0; line-height:0; }
  .page-news p.script.phero__script img{ position:static; width:7.8rem; height:auto; }
  .page-news .phero__ttl--news{ left:8rem; top:10.2rem; font-size:2.2rem; }
}

/* プライバシーポリシー（コーポレートサイトと同内容・2026-09-21） */
.policy--corp .policy__lead{ font-size:1.5rem; line-height:1.8; border-bottom:none; padding-bottom:0; }
.policy__ol{ list-style:decimal; padding-left:2em; margin:3rem 0 0; }
.policy__ol li{ font-size:1.5rem; color:#444; line-height:1.8; margin-top:1.2rem; }
.policy__sign{ text-align:right; font-size:1.5rem; line-height:1.8; margin-top:4rem; color:#333; }
.policy__sign b{ font-weight:700; color:#000; }
.policy--corp .policy__contact{ margin-top:5rem; }
.policy--corp .policy__contact h3{ font-size:1.8rem; font-weight:700; color:#000; margin-bottom:1.2rem; }
.policy__contact-lead{ font-weight:700; }
.policy__dl{ margin-top:1.6rem; display:grid; gap:.8rem; }
.policy__dl > div{ display:grid; grid-template-columns:8rem 1fr; gap:1rem; font-size:1.4rem; line-height:1.8; }
.policy__dl dt{ font-weight:700; color:#000; }
.policy__dl dd{ margin:0; color:#444; }
.policy__dl a{ color:var(--mg); text-decoration:underline; }
@media (max-width:767px){ .policy__dl > div{ grid-template-columns:6rem 1fr; } }

/* 視覚的に閲覧が難しい方へ: 右端の固定ボタン（かんたん検索・新卒/中途）に本文が被らないよう右に余白（2026-09-21 倉持さん指示・Figma 9/17「文字が被る」） */
@media (min-width:768px){ .a11y-body > .wrap{ padding-right:var(--vtabs-safe, 10rem); box-sizing:border-box; } }

/* インタビュー詳細 人物ブロック（PC）: Figma 9/17「カンプとサイズ感が違う」→ カンプ実測に合わせる（2026-09-21）
   comp_interview-*_pc.jpg 実測@1600: 写真 x105-670 (565×456)／タグ 185×45・右に灰色の線／キャッチ 34px 行送り45／かな 16px／氏名 31px／雇用形態 17px 行送り35 */
@media (min-width:768px){
  .ivd-hero{ grid-template-columns:56.5rem 1fr; gap:0 4.5rem; width:139rem; max-width:100%; margin-left:3.5rem; position:relative; }
  .ivd-hero__face img, .ivd-hero__face--none{ aspect-ratio:565/456; }
  .ivd-hero__tag{ width:18.5rem; height:4.5rem; padding:0 1rem; display:flex; align-items:center; justify-content:center; font-size:1.6rem; font-weight:700; line-height:1; }
  .ivd-hero::after{ content:""; grid-column:2; grid-row:1; align-self:center; height:.1rem; background:#c8c8c8; margin-left:21.1rem; }   /* タグの右に伸びる線 */
  .ivd-hero__body > :first-child{ margin-top:6rem; }
  .ivd-hero__catch{ font-size:3.4rem; font-weight:700; line-height:1.32; }
  .ivd-hero__kana{ font-size:1.6rem; font-weight:700; margin-top:6rem; letter-spacing:.08em; }
  .ivd-hero__name{ font-size:3.1rem; font-weight:700; margin-top:.8rem; }
  .ivd-hero__meta{ margin-top:3rem; font-size:1.7rem; font-weight:700; }
  .ivd-hero__meta > div{ gap:2.2rem; line-height:2.06; }
}

/* コラム（2026-09-27 支給バナー PC/SP・タイトル無し）: SPも筆記体＋h1をHTMLで重ねる。お知らせSPと同じ位置（写真左上のロゴを避けて左下） */
@media (max-width:767px){
  .page-column p.script.phero__script{ position:absolute; left:3.6rem; top:1.4rem; margin:0; padding:0; line-height:0; }   /* 写真の左上（白い壁）に置く */
  .page-column p.script.phero__script img{ position:static; width:9.6rem; height:auto; }
  .page-column .phero__ttl--column{ left:6.4rem; top:5.2rem; font-size:2.2rem; }
}
