/* =========================================================
   キャリ鉄 記事装飾パーツ v2.5（2026-10-04）
   テーマの css/kt-parts.css（管理画面の追加CSSから移した。色はキャリ鉄の黄色・黒に統一）
   記事の本文（.ct-content）の中だけに効く。クラス名は kt- で始まる専用のもの
   ========================================================= */

/* ---------- 既存の不具合の修正 ---------- */
/* テーマ全体の li { list-style:none } で、本文の箇条書きの点・番号が消えていたのを戻す */
.ct-content li { list-style: inherit; }
.ct-content li + li { margin-top: .35em; }

/* 表：スマホで横にはみ出したら横スクロール。見出し行を黄色系に */
.ct-content .wp-block-table { overflow-x: auto; margin: 0 0 1.6em; }
.ct-content .wp-block-table table { margin-bottom: 0; }
.ct-content th { background: #fff6d6; }

/* 引用ブロック＝「例文」ボックス */
.ct-content .wp-block-quote {
  position: relative;
  margin: 1.4em 0 1.8em;
  padding: 22px 20px 6px;
  background: #fffaf0;
  border: 1px solid #f3dfa6;
  border-left: 6px solid var(--ct-key, #FABE00);
  border-radius: 8px;
  font-size: 15px;
}
.ct-content .wp-block-quote::before {
  content: "例文";
  position: absolute; top: -11px; left: 14px;
  padding: 2px 12px;
  background: var(--ct-key, #FABE00); color: #000;
  font-size: 12px; font-weight: 700; border-radius: 999px;
}
.ct-content .wp-block-quote p { margin-bottom: .9em; }
/* NG例（赤）と改善例（緑）。記事ファイルで「> 【NG】」「> 【改善例】」と書くと付く */
.ct-content .wp-block-quote.kt-ex-ng { background: #FFF3F2; border-color: #F5C2BE; border-left-color: #D7261E; }
.ct-content .wp-block-quote.kt-ex-ng::before { content: "NG例"; background: #D7261E; color: #fff; }
.ct-content .wp-block-quote.kt-ex-ok { background: #F1FAF4; border-color: #BFE5CC; border-left-color: #1a9c5b; }
.ct-content .wp-block-quote.kt-ex-ok::before { content: "改善例"; background: #1a9c5b; color: #fff; }

/* ---------- 囲みボックス（まとめ・ポイント・注意） ---------- */
.ct-content .kt-box {
  margin: 0 0 1.8em;
  padding: 0 20px 4px;
  background: #fff;
  border: 2px solid var(--ct-key, #FABE00);
  border-radius: 10px;
  overflow: hidden;
}
.ct-content .kt-box__title {
  margin: 0 -20px 14px !important;
  padding: 10px 20px;
  background: var(--ct-key, #FABE00); color: #000;
  font-weight: 700;
}
/* 「ここがポイント」：文頭に「POINT!」のバッジ（絵は下の SVG）、本文は太字。大事なところだと一目で分かるように */
.ct-content .kt-box--point {
  position: relative; padding: 16px 20px 6px 108px; overflow: visible;
  background: #FFF6D6; border-color: var(--ct-key, #FABE00); border-radius: 12px;
}
.ct-content .kt-box--point::before {
  content: ""; position: absolute; left: 14px; top: 12px; width: 80px; height: 80px;
  background: no-repeat center / contain;
}
.ct-content .kt-box--point .kt-box__title {
  display: block; margin: 0 0 6px !important; padding: 0; background: none;
  color: #121212; font-size: 17px; font-weight: 800;
}
.ct-content .kt-box--point p:not(.kt-box__title), .ct-content .kt-box--point li { font-weight: 700; color: #121212; }
.ct-content .kt-box--point .wp-block-group__inner-container { min-height: 80px; }
.ct-content .kt-box--caution { border-color: #D7261E; }
.ct-content .kt-box--caution .kt-box__title { background: #D7261E; color: #fff; }

/* チェックリスト */
.ct-content ul.kt-check { list-style: none; margin-left: 0; }
.ct-content ul.kt-check > li { position: relative; padding-left: 28px; }
.ct-content ul.kt-check > li::before {
  content: "✓"; position: absolute; left: 4px; top: 0;
  color: #1a9c5b; font-weight: 800;
}

/* 注意の囲みの中は、✓ではなく × にする（NGなことに✓が付かないように） */
.ct-content .kt-box--caution ul.kt-check > li::before { content: "×"; color: #D7261E; }

/* ---------- 会話（キャラクター＋吹き出し） ---------- */
/* :::talk student-m / student-f は左、editor は右。アイコンの絵は下の「SVG（自動生成）」 */
.ct-content .kt-talk { margin: 0 0 1.8em; }
.ct-content .kt-talk > .wp-block-group__inner-container,
.ct-content .kt-talk:not(:has(> .wp-block-group__inner-container)) { display: flex; align-items: flex-start; gap: 14px; }
.ct-content .kt-talk--editor > .wp-block-group__inner-container,
.ct-content .kt-talk--editor:not(:has(> .wp-block-group__inner-container)) { flex-direction: row-reverse; }
.ct-content .kt-talk__name {
  flex: 0 0 72px; margin: 0 !important; padding-top: 70px;
  background: no-repeat center top / 64px 64px;
  font-size: 11px; font-weight: 700; line-height: 1.3; text-align: center; color: #555;
}
.ct-content .kt-talk__bubble {
  position: relative; flex: 1; min-width: 0;
  padding: 14px 18px 2px; background: #f2f2f2; border-radius: 14px; font-size: 15px;
}
.ct-content .kt-talk__bubble::before {
  content: ""; position: absolute; left: -10px; top: 24px;
  border: 7px solid transparent; border-right: 11px solid #f2f2f2; border-left: 0;
}
.ct-content .kt-talk--editor .kt-talk__bubble { background: #FFF6D6; }
.ct-content .kt-talk--editor .kt-talk__bubble::before { left: auto; right: -10px; border-right: 0; border-left: 11px solid #FFF6D6; }
.ct-content .kt-talk__bubble p { margin-bottom: .9em; }

/* ---------- 目次（見出しから自動で作る。開け閉めできる） ---------- */
html { scroll-behavior: smooth; }
.ct-content h2, .ct-content h3 { scroll-margin-top: 90px; }  /* 固定ヘッダー（72px）に隠れないように */
.ct-content .kt-toc { margin: 0 0 2em; border: 2px solid #121212; border-radius: 12px; background: #fff; overflow: hidden; }
.ct-content .kt-toc > summary {
  display: flex; justify-content: space-between; align-items: center; cursor: pointer; list-style: none;
  padding: 12px 18px; background: #121212; color: #FABE00; font-weight: 800; font-size: 16px;
}
.ct-content .kt-toc > summary::-webkit-details-marker { display: none; }
.ct-content .kt-toc > summary::after { content: "閉じる ▲"; font-size: 12px; font-weight: 700; color: #fff; }
.ct-content .kt-toc:not([open]) > summary::after { content: "開く ▼"; }
.ct-content ol.kt-toc__list { list-style: none; margin: 14px 18px !important; counter-reset: kt-toc; }
.ct-content ol.kt-toc__list > li { counter-increment: kt-toc; position: relative; padding-left: 2.1em; font-weight: 700; }
.ct-content ol.kt-toc__list > li + li { margin-top: .6em; }
.ct-content ol.kt-toc__list > li::before {
  content: counter(kt-toc); position: absolute; left: 0; top: .15em;
  width: 1.55em; height: 1.55em; line-height: 1.55em; border-radius: 50%;
  background: #FABE00; color: #121212; font-size: 12px; font-weight: 800; text-align: center;
}
.ct-content .kt-toc a { color: #121212 !important; text-decoration: none !important; }
.ct-content .kt-toc a:hover { text-decoration: underline !important; }
.ct-content ol.kt-toc__list ul { list-style: none; margin: .35em 0 0 !important; font-size: 13.5px; font-weight: 400; }
.ct-content ol.kt-toc__list ul li { position: relative; padding-left: 1em; }
.ct-content ol.kt-toc__list ul li + li { margin-top: .15em; }
.ct-content ol.kt-toc__list ul li::before { content: "–"; position: absolute; left: 0; color: #aaa; }
.ct-content ol.kt-toc__list ul a { color: #555 !important; }

/* ---------- 図解（番号＋アイコンのタイル） ---------- */
.ct-content .kt-figure { margin: 2em 0; padding: 22px 16px 18px; background: #FFF4CC; border-radius: 14px; }
.ct-content .kt-figure__title { margin: 0 0 16px !important; font-size: 20px; font-weight: 900; line-height: 1.5; text-align: center; }
.ct-content ul.kt-fig-items {
  list-style: none; margin: 0; counter-reset: kt-fig;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px;
}
.ct-content ul.kt-fig-items > li {
  counter-increment: kt-fig; position: relative; margin: 0; padding: 20px 14px 14px;
  background-color: #fff; border-radius: 12px; box-shadow: 0 2px 6px rgba(0, 0, 0, .06);
  font-size: 13.5px; line-height: 1.6; text-align: center;
}
.ct-content ul.kt-fig-items > li::before {
  content: counter(kt-fig, decimal-leading-zero); position: absolute; top: 8px; left: 11px;
  font-size: 13px; font-weight: 900; color: #121212;
}
.ct-content ul.kt-fig-items strong { display: block; margin: 2px 0 4px; font-size: 16px; color: #121212; }
.ct-content ul.kt-fig-items > li.kt-ic {
  padding-top: 80px; background-repeat: no-repeat, no-repeat;
  background-position: 50% 24px, 50% 13px; background-size: 30px 30px, 52px 52px;
}

/* ---------- あわせて読みたい（本文中の関連記事枠）: 囲みボックス（.kt-box）と同じ黄色の枠 ---------- */
.ct-content .kt-linkbox {
  position: relative;
  margin: 1.8em 0 2em;
  padding: 22px 20px 6px;
  background: #fff;
  border: 2px solid var(--ct-key, #FABE00);
  border-radius: 10px;
}
.ct-content .kt-linkbox__title {
  position: absolute; top: -13px; left: 14px;
  margin: 0 !important; padding: 2px 14px;
  background: var(--ct-key, #FABE00); color: #000;
  border-radius: 999px;
  font-size: 13px; font-weight: 800;
}
.ct-content .kt-linkbox ul { list-style: none; margin-left: 0; }
.ct-content .kt-linkbox li { position: relative; padding-left: 20px; }
.ct-content .kt-linkbox li::before { content: "→"; position: absolute; left: 0; color: #121212; font-weight: 800; }
.ct-content .kt-linkbox a { color: #121212; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--ct-key, #FABE00); text-decoration-thickness: 2px; }
.ct-content .kt-linkbox a:hover { background: var(--ct-key, #FABE00); }

/* ---------- 申し込み・誘導ボックス（CTA） ---------- */
.ct-content .kt-cta {
  margin: 2em 0;
  padding: 22px 20px 10px;
  background: #fff8e1;
  border: 2px solid var(--ct-key, #FABE00);
  border-radius: 12px;
  text-align: center;
}
.ct-content .kt-cta__title { margin-bottom: .6em !important; font-size: 18px; font-weight: 700; }
.ct-content .kt-cta .wp-block-buttons { display: flex; justify-content: center; margin: 4px 0 10px; }
.ct-content .kt-cta .wp-block-button__link {
  display: inline-block; min-width: 260px;
  padding: 14px 32px;
  background: var(--ct-key, #FABE00); color: #000 !important;
  border: 2px solid #121212; border-radius: 999px; box-shadow: 0 4px 0 #121212;
  font-weight: 700; text-decoration: none !important;
}
.ct-content .kt-cta .wp-block-button__link:hover { opacity: 1; background: #fff; }
.ct-content .kt-cta__note { font-size: 12px; color: #666; }
/* ボタンが枠からはみ出さないように（スマホで幅100%にしたとき、左右の余白ぶん広がるのを防ぐ） */
.ct-content .kt-cta .wp-block-button__link { box-sizing: border-box; max-width: 100%; }

/* ---------- 図解：ステップ（流れ図） ---------- */
.ct-content ol.kt-steps { list-style: none; margin: 0 0 1.8em; counter-reset: kt-step; }
.ct-content ol.kt-steps > li {
  counter-increment: kt-step;
  position: relative;
  margin: 0 0 22px; padding: 14px 16px 14px 72px;
  background: #fff; border: 1px solid #e3e3e3; border-radius: 10px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .06);
}
.ct-content ol.kt-steps > li::before {
  content: "STEP\A" counter(kt-step);
  position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
  width: 46px; height: 46px;
  display: flex; align-items: center; justify-content: center;
  white-space: pre; text-align: center; line-height: 1.1;
  background: var(--ct-key, #FABE00); color: #000;
  border-radius: 50%; font-size: 11px; font-weight: 800;
}
.ct-content ol.kt-steps > li:not(:last-child)::after {
  content: ""; position: absolute; left: 50%; bottom: -19px; transform: translateX(-50%);
  border: 9px solid transparent; border-top: 10px solid var(--ct-key, #FABE00); border-bottom: 0;
}

/* ---------- 図解：カード（理由・ポイントを横に並べる） ---------- */
.ct-content ul.kt-cards {
  list-style: none; margin: 0 0 1.8em;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px;
  counter-reset: kt-card;
}
.ct-content ul.kt-cards > li {
  counter-increment: kt-card;
  margin: 0; padding: 16px;
  background: var(--ct-black, #121212); color: #fff;
  border-radius: 10px; font-size: 14px;
}
.ct-content ul.kt-cards > li::before {
  content: counter(kt-card, decimal-leading-zero);
  display: block; color: var(--ct-key, #FABE00);
  font-size: 26px; font-weight: 800; line-height: 1;
}
.ct-content ul.kt-cards strong { display: block; margin: 6px 0 4px; color: var(--ct-key, #FABE00); font-size: 16px; }

/* ---------- 図解・カードの並べ方：項目の数に合わせる（「3つ＋1つ」のような取り残しを防ぐ） ---------- */
.ct-content ul.kt-fig-items, .ct-content ul.kt-cards { grid-template-columns: repeat(3, 1fr); }
.ct-content ul.kt-fig-items:has(> li:last-child:nth-child(1)), .ct-content ul.kt-cards:has(> li:last-child:nth-child(1)) { grid-template-columns: 1fr; }
.ct-content ul.kt-fig-items:has(> li:last-child:nth-child(2)), .ct-content ul.kt-cards:has(> li:last-child:nth-child(2)),
.ct-content ul.kt-fig-items:has(> li:last-child:nth-child(4)), .ct-content ul.kt-cards:has(> li:last-child:nth-child(4)) { grid-template-columns: repeat(2, 1fr); }

/* ---------- 文中の強調（4段階） ---------- */
/* **太字**＝黒の太字（テーマのまま）／__〜__＝黒の太い下線／==〜==＝黄色マーカー／!!〜!!＝赤の太字＋赤の太い下線 */
.ct-content strong { font-weight: 700; }
.ct-content strong.kt-ul {
  text-decoration: underline; text-decoration-color: #121212;
  text-decoration-thickness: 2.5px; text-underline-offset: 5px;
}
.ct-content mark.kt-mk {
  padding: 0 2px; color: inherit; font-weight: 700;
  background: linear-gradient(transparent 55%, #FFE066 55%);
}
.ct-content strong.kt-red {
  color: #D7261E; font-weight: 800;
  text-decoration: underline; text-decoration-color: #D7261E;
  text-decoration-thickness: 2.5px; text-underline-offset: 5px;
}

/* ---------- よくある質問（Q と A の印） ---------- */
.ct-content h3.kt-faq-q {
  position: relative; margin: 26px 0 10px; padding: 12px 14px 12px 54px;
  background: #FFF6D6; border-radius: 10px; font-size: 16.5px; line-height: 1.55;
}
.ct-content h3.kt-faq-q::before {
  content: "Q"; position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
  width: 30px; height: 30px; line-height: 30px; border-radius: 50%;
  background: #121212; color: #FABE00; font-size: 16px; font-weight: 900; text-align: center;
}
.ct-content p.kt-faq-a { position: relative; min-height: 30px; padding-left: 54px; }
.ct-content p.kt-faq-a::before {
  content: "A"; position: absolute; left: 12px; top: -2px;
  width: 30px; height: 30px; line-height: 30px; border-radius: 50%;
  background: var(--ct-key, #FABE00); color: #121212; font-size: 16px; font-weight: 900; text-align: center;
}

/* ---------- スマホ ---------- */
@media screen and (max-width: 767px) {
  .ct-content .kt-talk__name { flex-basis: 58px; padding-top: 56px; background-size: 52px 52px; font-size: 10px; }
  .ct-content .kt-talk > .wp-block-group__inner-container { gap: 10px; }
  .ct-content .kt-cta .wp-block-button__link { min-width: 0; width: 100%; }
  /* 「ここがポイント」のバッジはスマホでは少し小さく */
  .ct-content .kt-box--point { padding-left: 84px; }
  .ct-content .kt-box--point::before { left: 10px; width: 64px; height: 64px; }
  .ct-content .kt-box--point .wp-block-group__inner-container { min-height: 64px; }
  /* 図解はスマホでは縦1列（アイコンを左、文字を右） */
  .ct-content ul.kt-fig-items { grid-template-columns: 1fr !important; }  /* パソコン用の「4つなら2×2」より優先 */
  .ct-content ul.kt-fig-items > li { padding: 14px 16px; text-align: left; }
  .ct-content ul.kt-fig-items > li.kt-ic { padding: 14px 16px 14px 82px; background-position: 31px 50%, 16px 50%; }
  .ct-content ul.kt-fig-items > li::before { position: static; display: block; }
  /* カードはスマホでは2列。数が奇数なら1列にして取り残しを防ぐ */
  .ct-content ul.kt-cards { grid-template-columns: repeat(2, 1fr) !important; }
  .ct-content ul.kt-cards:has(> li:last-child:nth-child(odd)) { grid-template-columns: 1fr !important; }
}

/* ==== SVG（自動生成：tools/build_css.py で作る。手で直さない） ==== */
.ct-content .kt-talk--student-m .kt-talk__name { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22%3E%3Ccircle cx=%2250%22 cy=%2250%22 r=%2250%22 fill=%22%23DCEEFB%22/%3E%3Cpath d=%22M14 100C16 80 30 72 50 72s34 8 36 28z%22 fill=%22%2324314D%22/%3E%3Cpath d=%22M41 72l9 15 9-15z%22 fill=%22%23fff%22/%3E%3Cpath d=%22M48.2 75h3.6l1.6 13-3.4 5-3.4-5z%22 fill=%22%23FABE00%22/%3E%3Crect x=%2244%22 y=%2260%22 width=%2212%22 height=%2214%22 rx=%224%22 fill=%22%23EDB98F%22/%3E%3Cellipse cx=%2233.5%22 cy=%2249%22 rx=%223%22 ry=%224.5%22 fill=%22%23EDB98F%22/%3E%3Cellipse cx=%2266.5%22 cy=%2249%22 rx=%223%22 ry=%224.5%22 fill=%22%23EDB98F%22/%3E%3Cellipse cx=%2250%22 cy=%2246%22 rx=%2217%22 ry=%2219%22 fill=%22%23F6CFAE%22/%3E%3Cpath d=%22M32.5 47c-2-17 8-26 18.5-26S70 29 67.5 47c-1.5-7-4-11-7-13-6 3-15 4-22 1-3 3-5 7-6 12z%22 fill=%22%232B2B2B%22/%3E%3Ccircle cx=%2243.5%22 cy=%2248%22 r=%222.2%22 fill=%22%232B2B2B%22/%3E%3Ccircle cx=%2256.5%22 cy=%2248%22 r=%222.2%22 fill=%22%232B2B2B%22/%3E%3Cpath d=%22M45 56q5 4 10 0%22 stroke=%22%23B5653B%22 stroke-width=%222.2%22 fill=%22none%22 stroke-linecap=%22round%22/%3E%3C/svg%3E"); }
.ct-content .kt-talk--student-f .kt-talk__name { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22%3E%3Ccircle cx=%2250%22 cy=%2250%22 r=%2250%22 fill=%22%23FDE2EA%22/%3E%3Cpath d=%22M29 52C27 30 38 20 50 20s23 10 21 32l1 18c-5 4-11 2-14-2H42c-3 4-9 6-14 2z%22 fill=%22%233B2A22%22/%3E%3Cpath d=%22M16 100C18 81 31 73 50 73s32 8 34 27z%22 fill=%22%2324314D%22/%3E%3Cpath d=%22M40 73l10 13 10-13z%22 fill=%22%23fff%22/%3E%3Crect x=%2244%22 y=%2260%22 width=%2212%22 height=%2214%22 rx=%224%22 fill=%22%23EDB98F%22/%3E%3Cellipse cx=%2250%22 cy=%2246%22 rx=%2216.5%22 ry=%2218.5%22 fill=%22%23F6CFAE%22/%3E%3Cpath d=%22M33.5 44c1-14 9-21 17-21 10 0 16.5 8 16 21-4-6-9-10-16-11-4 5-10 9-17 11z%22 fill=%22%233B2A22%22/%3E%3Ccircle cx=%2243.5%22 cy=%2248.5%22 r=%222.2%22 fill=%22%232B2B2B%22/%3E%3Ccircle cx=%2256.5%22 cy=%2248.5%22 r=%222.2%22 fill=%22%232B2B2B%22/%3E%3Ccircle cx=%2240.5%22 cy=%2254%22 r=%222.8%22 fill=%22%23F7A9B8%22 opacity=%22.7%22/%3E%3Ccircle cx=%2259.5%22 cy=%2254%22 r=%222.8%22 fill=%22%23F7A9B8%22 opacity=%22.7%22/%3E%3Cpath d=%22M45.5 56.5q4.5 3.5 9 0%22 stroke=%22%23B5653B%22 stroke-width=%222.2%22 fill=%22none%22 stroke-linecap=%22round%22/%3E%3C/svg%3E"); }
.ct-content .kt-talk--editor .kt-talk__name { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22%3E%3Ccircle cx=%2250%22 cy=%2250%22 r=%2250%22 fill=%22%23FABE00%22/%3E%3Cpath d=%22M14 100C16 80 30 72 50 72s34 8 36 28z%22 fill=%22%23121212%22/%3E%3Cpath d=%22M41 72l9 15 9-15z%22 fill=%22%23fff%22/%3E%3Cpath d=%22M48.2 75h3.6l1.6 13-3.4 5-3.4-5z%22 fill=%22%23FABE00%22/%3E%3Crect x=%2244%22 y=%2260%22 width=%2212%22 height=%2214%22 rx=%224%22 fill=%22%23EDB98F%22/%3E%3Cellipse cx=%2233.5%22 cy=%2249%22 rx=%223%22 ry=%224.5%22 fill=%22%23EDB98F%22/%3E%3Cellipse cx=%2266.5%22 cy=%2249%22 rx=%223%22 ry=%224.5%22 fill=%22%23EDB98F%22/%3E%3Cellipse cx=%2250%22 cy=%2246%22 rx=%2217%22 ry=%2219%22 fill=%22%23F6CFAE%22/%3E%3Cpath d=%22M33 45c-1-15 8-23 18-23 11 0 18 8 16 23-2-6-5-10-9-12-7 2-16 2-22-1-2 3-3 8-3 13z%22 fill=%22%232B2B2B%22/%3E%3Cg fill=%22none%22 stroke=%22%23121212%22 stroke-width=%222%22%3E%3Ccircle cx=%2243%22 cy=%2248%22 r=%225%22/%3E%3Ccircle cx=%2257%22 cy=%2248%22 r=%225%22/%3E%3Cpath d=%22M48 48h4%22/%3E%3C/g%3E%3Ccircle cx=%2243%22 cy=%2248%22 r=%221.6%22 fill=%22%232B2B2B%22/%3E%3Ccircle cx=%2257%22 cy=%2248%22 r=%221.6%22 fill=%22%232B2B2B%22/%3E%3Cpath d=%22M45 57q5 4 10 0%22 stroke=%22%23B5653B%22 stroke-width=%222.2%22 fill=%22none%22 stroke-linecap=%22round%22/%3E%3C/svg%3E"); }
.ct-content .kt-box--point::before { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 80 80%22%3E%3Cpolygon points=%2240.0,1.0 46.7,6.2 54.9,4.0 59.2,11.3 67.6,12.4 68.7,20.8 76.0,25.1 73.8,33.3 79.0,40.0 73.8,46.7 76.0,54.9 68.7,59.2 67.6,67.6 59.2,68.7 54.9,76.0 46.7,73.8 40.0,79.0 33.3,73.8 25.1,76.0 20.8,68.7 12.4,67.6 11.3,59.2 4.0,54.9 6.2,46.7 1.0,40.0 6.2,33.3 4.0,25.1 11.3,20.8 12.4,12.4 20.8,11.3 25.1,4.0 33.3,6.2%22 fill=%22%23FABE00%22/%3E%3Ccircle cx=%2240%22 cy=%2240%22 r=%2230%22 fill=%22%23fff%22/%3E%3Cg transform=%22translate(26 12) scale(0.7)%22%3E%3Cg stroke=%22%23FABE00%22 stroke-width=%222.6%22 stroke-linecap=%22round%22%3E%3Cpath d=%22M20 3v3.4M8 8.6l2.4 2.4M32 8.6l-2.4 2.4M4.5 19.5h3.4M32.1 19.5h3.4%22/%3E%3C/g%3E%3Cpath d=%22M20 11.2a7.6 7.6 0 0 0-4.7 13.6c.9.7 1.4 1.6 1.4 2.6v.6h6.6v-.6c0-1 .5-1.9 1.4-2.6A7.6 7.6 0 0 0 20 11.2z%22 fill=%22%23FABE00%22 stroke=%22%23121212%22 stroke-width=%221.8%22/%3E%3Cpath d=%22M17 30.8h6M17.9 33.4h4.2%22 stroke=%22%23121212%22 stroke-width=%222%22 stroke-linecap=%22round%22/%3E%3C/g%3E%3Ctext x=%2240%22 y=%2258%22 text-anchor=%22middle%22 font-family=%22Arial Black, Arial, Helvetica, sans-serif%22 font-weight=%22900%22 font-size=%2215%22 fill=%22%23121212%22 letter-spacing=%22.5%22%3EPOINT%21%3C/text%3E%3C/svg%3E"); }
.ct-content li.kt-ic { --kt-ic-bg: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 52 52%22%3E%3Ccircle cx=%2226%22 cy=%2226%22 r=%2226%22 fill=%22%23FFE08A%22/%3E%3C/svg%3E"); }
.ct-content li.kt-ic-clock { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23121212%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%229%22/%3E%3Cpath d=%22M12 7v5l3 2%22/%3E%3C/svg%3E"), var(--kt-ic-bg); }
.ct-content li.kt-ic-doc { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23121212%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M7 3h7l4 4v14H7z%22/%3E%3Cpath d=%22M14 3v4h4M9.5 12h6M9.5 15.5h6M9.5 9h3%22/%3E%3C/svg%3E"), var(--kt-ic-bg); }
.ct-content li.kt-ic-user { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23121212%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%228%22 r=%224%22/%3E%3Cpath d=%22M4.5 21c1-4 4-6 7.5-6s6.5 2 7.5 6%22/%3E%3C/svg%3E"), var(--kt-ic-bg); }
.ct-content li.kt-ic-users { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23121212%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%229%22 cy=%228.5%22 r=%223.5%22/%3E%3Cpath d=%22M2.5 20c.8-3.5 3.3-5.5 6.5-5.5s5.7 2 6.5 5.5%22/%3E%3Ccircle cx=%2217%22 cy=%229%22 r=%222.8%22/%3E%3Cpath d=%22M16.5 14.6c2.7.2 4.4 2 5 5%22/%3E%3C/svg%3E"), var(--kt-ic-bg); }
.ct-content li.kt-ic-building { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23121212%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 21V4h10v17M15 9h4v12M3 21h18%22/%3E%3Cpath d=%22M8 7.5h1M11 7.5h1M8 11h1M11 11h1M8 14.5h1M11 14.5h1%22/%3E%3C/svg%3E"), var(--kt-ic-bg); }
.ct-content li.kt-ic-check { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23121212%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%229%22/%3E%3Cpath d=%22M8 12.5l2.7 2.7L16 9.8%22/%3E%3C/svg%3E"), var(--kt-ic-bg); }
.ct-content li.kt-ic-calendar { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23121212%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223.5%22 y=%225%22 width=%2217%22 height=%2215.5%22 rx=%222%22/%3E%3Cpath d=%22M3.5 10h17M8 3v4M16 3v4%22/%3E%3C/svg%3E"), var(--kt-ic-bg); }
.ct-content li.kt-ic-chat { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23121212%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 5h16v11H10l-4 3.5V16H4z%22/%3E%3Cpath d=%22M8 9.5h8M8 12.5h5%22/%3E%3C/svg%3E"), var(--kt-ic-bg); }
.ct-content li.kt-ic-search { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23121212%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2210.5%22 cy=%2210.5%22 r=%226.5%22/%3E%3Cpath d=%22M15.5 15.5L21 21%22/%3E%3C/svg%3E"), var(--kt-ic-bg); }
.ct-content li.kt-ic-star { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23121212%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 3.5l2.6 5.4 5.9.8-4.3 4.1 1 5.8L12 16.9l-5.2 2.7 1-5.8-4.3-4.1 5.9-.8z%22/%3E%3C/svg%3E"), var(--kt-ic-bg); }
.ct-content li.kt-ic-pen { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23121212%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 20l1-4.5L15.5 5a2.1 2.1 0 013 3L8 18.5z%22/%3E%3Cpath d=%22M13.5 7l3 3%22/%3E%3C/svg%3E"), var(--kt-ic-bg); }
.ct-content li.kt-ic-phone { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23121212%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%226.5%22 y=%222.5%22 width=%2211%22 height=%2219%22 rx=%222.2%22/%3E%3Cpath d=%22M10.5 18.5h3%22/%3E%3C/svg%3E"), var(--kt-ic-bg); }
.ct-content li.kt-ic-mail { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23121212%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%225.5%22 width=%2218%22 height=%2213%22 rx=%221.5%22/%3E%3Cpath d=%22M3.5 6.5l8.5 6.5 8.5-6.5%22/%3E%3C/svg%3E"), var(--kt-ic-bg); }
.ct-content li.kt-ic-train { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23121212%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%225%22 y=%223%22 width=%2214%22 height=%2214%22 rx=%223%22/%3E%3Cpath d=%22M5 10.5h14M8.5 14h.01M15.5 14h.01M8 21l1.5-4M16 21l-1.5-4%22/%3E%3C/svg%3E"), var(--kt-ic-bg); }
.ct-content li.kt-ic-bag { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23121212%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%227%22 width=%2218%22 height=%2213%22 rx=%222%22/%3E%3Cpath d=%22M9 7V5h6v2M3 12.5h18%22/%3E%3C/svg%3E"), var(--kt-ic-bg); }
.ct-content li.kt-ic-laptop { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23121212%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%225%22 y=%225%22 width=%2214%22 height=%2210%22 rx=%221.2%22/%3E%3Cpath d=%22M2.5 19h19%22/%3E%3C/svg%3E"), var(--kt-ic-bg); }
.ct-content li.kt-ic-bulb { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23121212%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M9 18h6M10 21h4M8.5 14.5a6 6 0 117 0c-.8.7-1 1.4-1 2.5h-5c0-1.1-.2-1.8-1-2.5z%22/%3E%3C/svg%3E"), var(--kt-ic-bg); }
.ct-content li.kt-ic-target { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23121212%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%229%22/%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%225%22/%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%221.2%22/%3E%3C/svg%3E"), var(--kt-ic-bg); }
.ct-content li.kt-ic-heart { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23121212%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 20s-7.5-4.6-7.5-10A4.3 4.3 0 0112 7.3 4.3 4.3 0 0119.5 10c0 5.4-7.5 10-7.5 10z%22/%3E%3C/svg%3E"), var(--kt-ic-bg); }
.ct-content li.kt-ic-flag { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23121212%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 21V4M5 4h11l-2 4 2 4H5%22/%3E%3C/svg%3E"), var(--kt-ic-bg); }
.ct-content li.kt-ic-smile { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23121212%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%229%22/%3E%3Cpath d=%22M8.5 14c1.9 2 5.1 2 7 0M9 9.5h.01M15 9.5h.01%22/%3E%3C/svg%3E"), var(--kt-ic-bg); }
/* ==== /SVG ==== */
/* ==== スマホのファーストビュー（2026-10-05）：1画面目に「H1＋本文の冒頭」を入れる。大きい画像と空白を減らす ==== */
@media screen and (max-width: 767px) {
  /* 記事：ヘッダー下の空白を詰め、パンくずを1行に（構造化データのパンくずはそのまま） */
  .single-post .ct-main { padding-top: 8px; }
  .single-post .ct-breadcrumb { padding: 8px 0 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  /* 記事：公開日とお気に入りボタンを1行に */
  .single-post .ct-article__head { display: flex; flex-wrap: wrap; align-items: center; column-gap: 12px; padding-top: 10px; }
  .single-post .ct-article__head .ct-article__title { flex-basis: 100%; }
  .single-post .ct-article__dates, .single-post .ct-article__fav { margin-top: 6px; }
  /* 記事：アイキャッチ（動画の記事は動画プレーヤー）は、スマホでも出す（2026-10-13 指示） */
}
@media screen and (max-width: 639px) {
  /* トップ：ヒーロー上の空白を詰める（人物写真は表示する） */
  .home .ct-hero { padding-top: 12px; }
  .home .ct-hero__inner { padding-top: 16px; padding-bottom: 20px; }
}

/* ホワイト企業一覧: 企業研究ページがない会社は、リンクにしない（クリック・ホバーの反応もなし） */
.kt-wc li a.no-page,
.kt-wc li a:not([href]) { cursor: default; pointer-events: none; }
.kt-wc li a.no-page:hover,
.kt-wc li a:not([href]):hover { border-color: #e2e2dc; }

/* ホワイト企業一覧: 「企業研究ありだけ表示」のチェック */
.kt-wc__only { grid-column: 1 / -1; display: inline-flex; align-items: center; gap: 8px; width: fit-content; padding: 6px 12px; border: 2px solid #121212; border-radius: 999px; background: #fff; font-size: 14px; font-weight: 800; cursor: pointer; }
.kt-wc__only input { width: 18px; height: 18px; margin: 0; accent-color: #121212; cursor: pointer; }
.kt-wc__only:has(input:checked) { background: #FABE00; }

/* ホワイト企業一覧: 業界・地域・企業研究を、TOPの企業情報検索と同じトグル（開閉）にまとめる */
.kt-wc .kt-wc__tools { position: static; padding: 0; margin: 0 0 14px; }
.kt-wc .kt-wc__filters { display: block; margin-top: 0; }
.kt-wc .kt-wc__more { margin-top: 12px; border-radius: 10px; background: #fff; box-shadow: 0 3px 6px rgba(0, 0, 0, .16); }
.kt-wc .kt-wc__summary { position: relative; display: flex; align-items: center; gap: 10px; padding: 16px 52px 16px 18px; font-size: 15px; font-weight: 900; list-style: none; cursor: pointer; }
.kt-wc .kt-wc__summary::-webkit-details-marker { display: none; }
.kt-wc .kt-wc__summary::after { content: ""; position: absolute; top: 50%; right: 22px; width: 9px; height: 9px; border: solid #121212; border-width: 0 3px 3px 0; transform: translateY(-70%) rotate(45deg); transition: transform .2s; }
.kt-wc .kt-wc__more[open] .kt-wc__summary::after { transform: translateY(-30%) rotate(-135deg); }
.kt-wc .kt-wc__badge { min-width: 22px; padding: 1px 7px; border-radius: 999px; background: #FABE00; font-size: 12px; font-weight: 900; line-height: 1.5; text-align: center; }
.kt-wc .kt-wc__badge[hidden] { display: none; }
.kt-wc .kt-wc__body { display: grid; gap: 20px; padding: 4px 18px 22px; }
.kt-wc .kt-wc__label { margin: 0 0 10px; font-size: 14px; font-weight: 900; line-height: 1.5; }
.kt-wc .kt-wc__label::before { content: ""; display: inline-block; width: 6px; height: 14px; margin-right: 8px; background: #FABE00; vertical-align: -2px; }
.kt-wc .kt-wc__tabs { flex-wrap: wrap; overflow: visible; gap: 8px; padding-bottom: 0; }
.kt-wc .kt-wc__tab { border-radius: 4px; padding: 8px 14px; }
.kt-wc .kt-wc__tab.is-on { background: #FABE00; color: #121212; border-color: #FABE00; }
.kt-wc .kt-wc__tab.is-on small { color: #121212; }
.kt-wc .kt-wc__area { width: 100%; max-width: 360px; }
.kt-wc .kt-wc__only { border-radius: 4px; padding: 8px 14px; }
.kt-wc .kt-wc__only:has(input:checked) { background: #FABE00; border-color: #FABE00; }

/* ホワイト企業一覧: 一覧が長いので、表示する高さに上限を決めて、箱の中でスクロールさせる（箱は js/white-wc.js が作る）。
   黒枠は使わず、うすい枠にする（スマホで黒枠が見づらいという声があったため）。本文側の「.ct-content .kt-wc .kt-wc__scroll{max-height:none…}」より強くする */
.ct-content .kt-wc div.kt-wc__scroll { max-height: min(70vh, 640px); overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding: 0 10px 12px; border: 1px solid #e2e2dc; border-radius: 10px; background: #fff; }
.ct-content .kt-wc div.kt-wc__scroll .kt-wc__panel:first-child { margin-top: 12px; }
.ct-content .kt-wc div.kt-wc__scroll:focus-visible { outline: 2px solid #121212; outline-offset: 2px; }
@media (max-width: 639px) {
    /* スマホは、枠の端まで来たら、ページのスクロールに続くようにする（枠に閉じ込めない） */
    .ct-content .kt-wc div.kt-wc__scroll { max-height: min(65vh, 560px); overscroll-behavior: auto; padding: 0 8px 10px; }
}

/* ホワイト企業一覧: 「業界・地域で絞り込む」の中の業界ボタンは、スマホでも横スクロールにせず折り返して表示する（ページ側のスマホ用の指定より強くする） */
@media (max-width: 639px) {
    .ct-content .kt-wc .kt-wc__more .kt-wc__tabs { flex-wrap: wrap; overflow: visible; padding-bottom: 0; }
}
