/* 育成就労の日本語講習（100時間）の説明。/supervisory-support/・/education/・/fees/ で共通に使う。
   文言と数字の正本：docs/changes/2026-11-13-ikusei-koushu-unify.md */
.ik {
  --ik-navy: #08265a;
  --ik-ink: #10283f;
  --ik-teal: #087c82;
  --ik-line: #c9d4da;
  --ik-muted: #4c5e69;
  color: var(--ik-ink);
  font-family: "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif;
  font-size: 16px;
  line-height: 1.8;
  text-align: left;
}
.ik *, .ik *::before, .ik *::after { box-sizing: border-box; }
/* 固有名詞・数字のまとまりを、途中で折らない */
.ik-nb { display: inline-block; }
.ik-kicker { display: block; margin: 0; color: var(--ik-teal); font-size: 13px; font-weight: 800; letter-spacing: .08em; }
.ik-h1, .ik-h2 { margin: 8px 0 16px; color: var(--ik-navy); font-weight: 800; line-height: 1.4; }
.ik-h1 { font-size: clamp(26px, 3.6vw, 42px); }
.ik-h2 { font-size: clamp(23px, 2.8vw, 32px); }
.ik-h3 { margin: 0 0 4px; color: var(--ik-navy); font-size: 20px; font-weight: 800; line-height: 1.5; }
.ik p { margin: 0 0 12px; }
.ik-lead { max-width: 880px; }
/* 見出しのすぐ下に置く2つの印（丸い札）。それぞれ1行で出す */
.ik-badges { display: flex; flex-wrap: wrap; gap: 10px 12px; margin: 0 0 18px; padding: 0; list-style: none; }
.ik-badges li { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 8px 18px 8px 12px; border-radius: 999px; background: var(--ik-teal); color: #fff; font-size: 16px; font-weight: 800; line-height: 1.5; white-space: nowrap; word-break: keep-all; }
.ik-badges li::before { content: ""; flex: none; width: 20px; height: 20px; border-radius: 50%; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.2 10.4l3.1 3.1 6.5-6.9' fill='none' stroke='%23087c82' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px 20px no-repeat; }
.ik-status { display: inline-block; margin: 0 0 16px; padding: 6px 14px; border: 1px solid var(--ik-teal); background: #fff; color: var(--ik-teal); font-size: 15px; font-weight: 700; line-height: 1.6; }
.ik-list { margin: 16px 0 0; padding: 0 0 0 1.3em; max-width: 880px; }
.ik-list li { margin: 8px 0; }
.ik-block { margin-top: 40px; }
.ik-block:first-child { margin-top: 0; }
.ik-cap { color: var(--ik-muted); font-size: 15px; }
.ik-plans { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 18px 0 0; align-items: start; }
.ik-plan { border: 1px solid var(--ik-line); border-top: 3px solid var(--ik-navy); background: #fff; padding: 22px 24px; }
.ik-plan p:last-child { margin-bottom: 0; }
.ik-sub { color: var(--ik-muted); font-size: 14px; }
.ik-price { margin: 10px 0 12px; color: var(--ik-navy); font-size: 24px; font-weight: 800; line-height: 1.5; font-variant-numeric: tabular-nums; }
.ik-table { width: 100%; margin: 4px 0 14px; border-collapse: collapse; table-layout: fixed; background: #fff; font-size: 15px; }
.ik-table th, .ik-table td { border: 1px solid var(--ik-line); padding: 9px 12px; text-align: left; vertical-align: middle; font-weight: 500; }
.ik-table thead th { background: #eef3f4; color: var(--ik-navy); font-weight: 700; }
.ik-table td { text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ik-notes { margin: 20px 0 0; padding: 0 0 0 1.3em; }
.ik-notes li { margin: 6px 0; }
.ik-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 26px 0 0; }
.ik-button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; border: 1px solid var(--ik-navy); background: var(--ik-navy); color: #fff; padding: 10px 22px; font-weight: 700; line-height: 1.5; text-align: center; text-decoration: none; }
.ik-button.secondary { background: #fff; color: var(--ik-navy); }
.ik-button:focus-visible { outline: 3px solid #ff9d24; outline-offset: 2px; }
/* 画像の並び（/education/ のパネル、/fees/ の枠）の中に置くときの余白 */
.ik-panel { padding: 44px 5.5% 48px; background: #fff; border-top: 1px solid var(--ik-line); }
.ik-hero { padding: 56px 0 48px; border-bottom: 1px solid var(--ik-line); background: #fff; }
/* 完成画像（2026-11-14）。画像の中の文字は、同じ内容を .ik-sr（読み上げ・検索用）に置く */
.ik-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.ik-figure { display: block; margin: 0; }
.ik-figure img { display: block; width: 100%; height: auto; }
.ik-hero--image { padding: 28px 0 44px; }
.ik-hero--image .ik-actions { justify-content: center; }
.ik-after-figure { margin-top: 28px !important; }

@media (max-width: 820px) {
  .ik-plans { grid-template-columns: minmax(0, 1fr); }
  .ik-hero { padding: 36px 0 32px; }
  .ik-hero--image { padding: 16px 0 32px; }
}
@media (max-width: 700px) {
  .ik { font-size: 15px; }
  .ik-panel { padding: 30px 16px 34px; }
  .ik-plan { padding: 18px 16px; }
  .ik-price { font-size: 21px; }
  .ik-table { font-size: 14px; }
  .ik-table th, .ik-table td { padding: 8px 9px; }
  .ik-block { margin-top: 32px; }
  .ik-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  .ik-badges { gap: 8px; }
  .ik-badges li { font-size: 15px; padding: 7px 16px 7px 10px; }
}
