/* =========================================================
   p-welfare.css — 働く環境・福利厚生（子CC-C）
   型：anchor_subpages.md §3-8（stickyナビ＋4節）
   ========================================================= */

/* ---------- 節の余白（アンカー：pad-top 200 / SP 72） ---------- */
.env-main { min-width: 0; }
.env-sec { padding-top: 200px; }
.env-sec--last { padding-bottom: 160px; }
.env-sec .c-head { margin-bottom: 32px; }
.env-lead { margin: -8px 0 48px; line-height: 2; }

@media (max-width: 1024px) {
  .env-sec { padding-top: 140px; }
}
@media (max-width: 767px) {
  .env-sec { padding-top: 72px; }
  .env-sec--last { padding-bottom: 80px; }
  .env-sec .c-head { margin-bottom: 24px; }
  .env-lead { margin: 0 0 32px; line-height: 1.9; }
}

/* ---------- #numbers 数字カード（56% | 40% を反転しながら3行） ---------- */
.env-nums {
  display: grid;
  grid-template-columns: 56% 40%;
  justify-content: space-between;
  align-items: stretch;
}
.env-nums--reverse { grid-template-columns: 40% 56%; }
.env-nums + .env-nums { margin-top: 40px; }
.env-num { min-height: 399px; }
.env-num .c-num__body { padding: 36px 24px 16px; gap: 28px; }
.env-num--col .c-num__body { flex-direction: column; gap: 20px; }
.env-num--chart .c-num__body { padding: 24px 24px 8px; }
.env-num__figure { display: flex; align-items: baseline; justify-content: center; }
.env-val--xl { font-size: 96px; }
.env-num .c-num__unit { font-size: 26px; margin-left: 6px; }

/* ピクト幅（site.css の c-num__pict 120px を上書き） */
.c-num__pict.env-pict--bars { width: 200px; }
.c-num__pict.env-pict--people { width: 180px; }
.c-num__pict.env-pict--cal { width: 150px; }
.c-num__pict.env-pict--family { width: 104px; }

/* 円グラフ（インラインSVG） */
.env-pie { display: block; width: 100%; height: auto; }
.env-pie--gender { max-width: 300px; }
.env-pie--age { max-width: 420px; }
.env-pie__pct { font-family: var(--font-en); font-weight: 800; letter-spacing: -.02em; }
.env-pie__n { font-size: 40px; }
.env-pie__u { font-size: 18px; font-weight: 700; }
.env-pie__pct--s .env-pie__n { font-size: 30px; }
.env-pie__pct--s .env-pie__u { font-size: 14px; }
.env-pie__jp { font-family: var(--font-jp); font-size: 18px; font-weight: 700; letter-spacing: .05em; }
.env-pie__jp .env-pie__n--xs { font-family: var(--font-en); font-size: 22px; font-weight: 800; }
.env-pie__jp .env-pie__u { font-family: var(--font-en); font-size: 13px; }

@media (max-width: 1024px) {
  .env-nums, .env-nums--reverse { grid-template-columns: 1fr 1fr; gap: 24px; }
  .env-nums + .env-nums { margin-top: 24px; }
  .env-num { min-height: 0; }
  .env-val--xl { font-size: 76px; }
}
@media (max-width: 767px) {
  .env-nums, .env-nums--reverse { grid-template-columns: 1fr; gap: 20px; }
  .env-nums + .env-nums { margin-top: 20px; }
  .env-num .c-num__body { padding: 28px 20px 12px; gap: 20px; }
  .env-val--xl { font-size: 64px; }
  .env-num .c-num__unit { font-size: 20px; }
  .c-num__pict.env-pict--bars { width: 140px; }
  .c-num__pict.env-pict--people { width: 140px; }
  .c-num__pict.env-pict--cal { width: 110px; }
  .c-num__pict.env-pict--family { width: 84px; }
  .env-pie--gender { max-width: 260px; }
  .env-pie--age { max-width: 340px; }
}

/* ---------- #welfare 2列・破線区切り・h3 20px青（8項目） ---------- */
.env-welfare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px 6%;
}
.env-welfare__item { padding-bottom: 24px; border-bottom: 1px dashed var(--ink); }
.env-welfare__item h3 { margin-bottom: 16px; font-size: 20px; font-weight: 600; letter-spacing: .05em; line-height: 1.6; color: var(--blue); }
.env-welfare__item p { font-size: 15px; line-height: 1.9; }

@media (max-width: 767px) {
  .env-welfare { grid-template-columns: 1fr; gap: 28px; }
  .env-welfare__item { padding-bottom: 20px; }
  .env-welfare__item h3 { margin-bottom: 10px; font-size: 18px; }
  .env-welfare__item p { font-size: 14px; }
}

/* ---------- #training 研修体系（HTMLの表：スタンダード青帯／アドバンス桃帯・破線罫） ---------- */
.env-train-wrap {
  border: 1px solid var(--grey);
  border-radius: 12px;
  background: #fff;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.env-train {
  width: 100%;
  min-width: 720px;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  text-align: center;
  font-size: 15px;
}
.env-train th, .env-train td { padding: 18px 14px; vertical-align: middle; }
.env-train__corner { width: 120px; background: #f4f4f4; font-weight: 600; border-bottom: 1px dashed var(--grey2); }
.env-train__band { padding: 8px 12px; color: #fff; font-size: 20px; font-weight: 600; letter-spacing: .08em; line-height: 1.75; }
.env-train__band--std { background: var(--blue); }
.env-train__band--adv { background: var(--pink); }
.env-train__term { background: #f9f9f9; font-weight: 600; letter-spacing: .05em; border-bottom: 1px dashed var(--grey2); border-left: 1px dashed var(--grey2); padding: 10px 12px; }
.env-train tbody th { background: #f4f4f4; font-weight: 600; letter-spacing: .05em; border-bottom: 1px dashed var(--grey2); }
.env-train tbody td { border-bottom: 1px dashed var(--grey2); border-left: 1px dashed var(--grey2); }
.env-train tbody tr:last-child th, .env-train tbody tr:last-child td { border-bottom: 0; }
.env-train td strong { display: block; font-size: 17px; font-weight: 600; letter-spacing: .05em; line-height: 1.6; }
.env-train td small { display: block; margin-top: 6px; font-size: 13px; font-weight: 500; line-height: 1.7; letter-spacing: .03em; }
.env-train td.is-std strong { color: var(--blue); }
.env-train td.is-adv { background: var(--pink); color: #fff; }
.env-train td.is-adv.is-outline { background: var(--tint-p); color: var(--ink); }
.env-train td.is-adv.is-outline strong { color: var(--pink); }
.env-train td.is-blank { background: repeating-linear-gradient(-45deg, transparent 0 8px, #f4f4f4 8px 9px); }
.env-train td.is-goal { font-weight: 600; letter-spacing: .05em; line-height: 1.7; }
.env-train td.is-goal--std { color: var(--blue); background: var(--tint-b); }
.env-train td.is-goal--adv { color: var(--pink); background: var(--tint-p); }
.env-train__hint { margin-top: 10px; font-size: 12px; color: var(--grey2); letter-spacing: .03em; }

@media (max-width: 767px) {
  .env-train-wrap { border-radius: 8px; }
  .env-train { min-width: 640px; font-size: 13px; }
  .env-train th, .env-train td { padding: 12px 10px; }
  .env-train__corner { width: 88px; }
  .env-train__band { font-size: 16px; }
  .env-train td strong { font-size: 15px; }
  .env-train td small { font-size: 12px; }
}

/* ---------- #office 青帯h3＋写真グリッド（2列＋3列） ---------- */
.env-office__group + .env-office__group { margin-top: 80px; }
.env-office__title { margin-bottom: 40px; padding: 6px 20px; font-size: 24px; letter-spacing: .08em; line-height: 1.75; }
.env-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.env-gallery--3 { grid-template-columns: repeat(3, 1fr); margin-top: 24px; }
.env-gallery li { min-width: 0; }
.env-gallery img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 20px; }

@media (max-width: 767px) {
  .env-office__group + .env-office__group { margin-top: 48px; }
  .env-office__title { margin-bottom: 20px; padding: 4px 12px; font-size: 18px; }
  .env-gallery, .env-gallery--3 { grid-template-columns: 1fr; gap: 12px; }
  .env-gallery--3 { margin-top: 12px; }
  .env-gallery img { border-radius: 10px; }
}
