/* =========================================================
   面接対策 購入者専用教材（kgm-）
   共通A：冒頭・提出方法
   色はNoteleafの変数を参照（後ろの値はNoteleaf 1.9.25の初期値）
========================================================= */
[class*="kgm-"]{
  --kgm-ink:var(--nl-ink,#232626);
  --kgm-soft:var(--nl-soft,#f7f8f7);
  --kgm-line:var(--nl-line,#e7e9e8);
  --kgm-accent:var(--nl-accent,#25866b);
  box-sizing:border-box;
}
.kgm-small{font-size:13px;opacity:.75;}

/* このページの内容 */
.kgm-nav{margin:24px 0 8px;padding:18px 20px;border:1px solid var(--kgm-line);border-radius:10px;}
.kgm-nav .kgm-nav-title{margin:0 0 10px;font-size:14px;font-weight:700;}
.kgm-nav ol{margin:0;padding:0;list-style:none;counter-reset:kgmnav;}
.kgm-nav li{display:flex;align-items:center;gap:10px;margin:6px 0;counter-increment:kgmnav;}
.kgm-nav li::before{content:counter(kgmnav);display:inline-flex;flex:0 0 24px;height:24px;align-items:center;justify-content:center;border-radius:50%;background:var(--kgm-accent);color:#fff;font-size:12px;font-weight:700;}
.kgm-nav a{color:var(--kgm-ink);text-decoration:none;}
.kgm-nav a:hover{color:var(--kgm-accent);}

/* 4つのルール */
.kgm-rules{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0 8px;}
.kgm-rule{padding:14px 12px;border:1px solid var(--kgm-line);border-radius:10px;background:#fff;text-align:center;}
.kgm-rule p{margin:0;}
.kgm-rule .kgm-rule-label{font-size:13px;opacity:.75;}
.kgm-rule .kgm-rule-value{margin-top:2px;color:var(--kgm-accent);font-size:18px;font-weight:700;line-height:1.4;}

/* ＊注釈ボックス */
.kgm-annot{margin:12px 0 12px;padding:16px 18px;border:1px dashed var(--kgm-accent);border-radius:10px;font-size:14px;}
.kgm-annot p{margin:0 0 8px;}
.kgm-annot .kgm-annot-title{color:var(--kgm-accent);font-weight:700;}
.kgm-annot .kgm-annot-sub{margin-top:12px;font-weight:700;}
.kgm-annot .kgm-annot-link{margin:10px 0 0;font-size:13px;}
.kgm-annot{scroll-margin-top:90px;}
ul.kgm-annot-list{margin:0 0 8px;padding-left:1.2em;}
ul.kgm-annot-list li{margin:4px 0;}
.kgm-sum-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0;}
.kgm-sum-row p{margin:0;}
.kgm-sum-row .kgm-sum-tag{padding:2px 10px;border-radius:4px;background:var(--kgm-accent);color:#fff;font-size:12px;font-weight:700;}
ul.kgm-sum{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;list-style:none;}
ul.kgm-sum li{display:flex;align-items:center;margin:0;padding:4px 12px;border-radius:999px;background:var(--kgm-soft);font-size:14px;white-space:nowrap;}
ul.kgm-sum li:not(:last-child)::after{content:"＋";margin-left:14px;margin-right:-6px;color:var(--kgm-accent);font-weight:700;}
.kgm-sum-row .kgm-sum-total{color:var(--kgm-accent);font-size:15px;font-weight:700;}

/* 2列ボックス */
.kgm-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 28px;}
.kgm-box{padding:16px 18px;border:1px solid var(--kgm-line);border-radius:10px;}
.kgm-box p{margin:0 0 8px;}
.kgm-box ul{margin:0;padding:0;list-style:none;}
.kgm-box li{position:relative;margin:6px 0;padding-left:1.4em;font-size:15px;}
.kgm-box li::before{content:"・";position:absolute;left:0;}
.kgm-box .kgm-box-title{font-weight:700;}
.kgm-box .kgm-box-label{display:inline-block;padding:2px 12px;border-radius:999px;background:var(--kgm-accent);color:#fff;font-size:13px;font-weight:700;}
.kgm-ok{border-color:var(--kgm-accent);}
.kgm-ok .kgm-box-title{color:var(--kgm-accent);}
.kgm-ok li::before{content:"○";color:var(--kgm-accent);font-weight:700;}
.kgm-ng{background:var(--kgm-soft);}
.kgm-ng li::before{content:"×";font-weight:700;}

/* 送り方の例（3パターンの折りたたみ＋コピー） */
.kgm-tpl{margin:0 0 8px;border:1px solid var(--kgm-line);border-radius:10px;overflow:hidden;}
.kgm-tpl:last-of-type{margin-bottom:28px;}
.kgm-tpl summary{position:relative;padding:12px 44px 12px 18px;background:var(--kgm-soft);cursor:pointer;list-style:none;font-weight:700;}
.kgm-tpl summary::-webkit-details-marker{display:none;}
.kgm-tpl summary::after{content:"＋";position:absolute;top:50%;right:18px;transform:translateY(-50%);color:var(--kgm-accent);}
.kgm-tpl[open] summary::after{content:"−";}
.kgm-tpl[open] summary{border-bottom:1px solid var(--kgm-line);}
.kgm-tpl > p,.kgm-tpl > pre,.kgm-tpl > .kgm-copy-wrap{margin:0 18px;}
.kgm-tpl .kgm-tpl-label{margin-top:14px;margin-bottom:6px;font-size:13px;font-weight:700;opacity:.75;}
.kgm-tpl pre.kgm-copy{margin:0;padding:12px 14px;border:1px solid var(--kgm-accent);border-radius:8px;background:#fff;font-family:inherit;font-size:15px;line-height:1.9;white-space:pre-wrap;}
.kgm-tpl .kgm-tpl-example{margin-bottom:16px;padding:12px 14px;border-radius:8px;background:var(--kgm-soft);font-size:14px;line-height:1.8;}
.kgm-copy-wrap{position:relative;}
.kgm-copy-btn{position:absolute;top:8px;right:8px;min-height:36px;padding:4px 14px;border:0;border-radius:6px;background:var(--kgm-accent);color:#fff;font-size:13px;font-weight:700;cursor:pointer;}
.kgm-copy-btn.is-done{opacity:.8;}

/* 提出の流れ（4ステップ） */
.kgm-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:16px 0 28px;}
.kgm-step{position:relative;padding:16px 10px;border-radius:10px;background:var(--kgm-soft);text-align:center;}
.kgm-step:not(:last-child)::after{content:"";position:absolute;top:50%;right:-15px;width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:9px solid var(--kgm-accent);transform:translateY(-50%);}
.kgm-step p{margin:0;}
.kgm-step-option{background:#fff;border:1px dashed var(--kgm-accent);}
.kgm-step .kgm-step-num{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:50%;background:var(--kgm-accent);color:#fff;font-size:13px;font-weight:700;}
.kgm-step .kgm-step-title{margin:8px 0 2px;font-size:15px;font-weight:700;}
.kgm-step .kgm-step-text{font-size:13px;opacity:.8;}
.kgm-step-option .kgm-step-text{opacity:1;}

/* 再提出のしくみ（図） */
.kgm-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:4px 0 12px;}
.kgm-slot{padding:12px 14px;border:2px solid var(--kgm-accent);border-radius:10px;background:#fff;}
.kgm-slot p{margin:0;}
.kgm-slot .kgm-slot-name{margin-bottom:8px;color:var(--kgm-accent);font-weight:700;}
.kgm-slot-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;}
.kgm-slot-row .kgm-slot-chip{padding:4px 10px;border-radius:999px;background:var(--kgm-accent);color:#fff;font-size:13px;font-weight:700;white-space:nowrap;}
.kgm-slot-row .kgm-slot-arrow{color:var(--kgm-accent);font-weight:700;}
.kgm-slot .kgm-slot-rest{margin-top:8px;font-size:13px;opacity:.75;}
.kgm-slot-next{border-style:dashed;}
.kgm-slot-next .kgm-slot-chip{background:#fff;border:1px solid var(--kgm-accent);color:var(--kgm-accent);}

/* LINE導線 */
.kgm-cta{margin:32px 0 8px;padding:24px 20px;border-radius:12px;background:var(--kgm-soft);text-align:center;}
.kgm-cta p{margin:0;}
.kgm-cta .kgm-cta-title{margin-bottom:14px;font-weight:700;}
.kgm-cta .kgm-cta-button a{display:inline-flex;min-width:280px;min-height:54px;align-items:center;justify-content:center;padding:12px 28px;border-radius:10px;background:var(--kgm-accent);color:#fff !important;text-decoration:none !important;font-weight:700;}
.kgm-cta .kgm-cta-button a:hover{opacity:.9;}

/* スマホ */
@media(max-width:680px){
  .kgm-rules{grid-template-columns:repeat(2,minmax(0,1fr));}
  .kgm-two,.kgm-slots{grid-template-columns:1fr;}
  .kgm-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .kgm-step::after{display:none;}
  .kgm-cta .kgm-cta-button a{width:100%;min-width:0;}
}

/* =========================================================
   共通B：面接対策のTips
========================================================= */

/* 質問と型の対応表 */
.kgm-map{margin:12px 0 28px;overflow-x:auto;}
.kgm-map table{width:100%;border-collapse:collapse;font-size:15px;}
.kgm-map th,.kgm-map td{padding:10px 14px;border:1px solid var(--kgm-line);text-align:left;}
.kgm-map th{background:var(--kgm-soft);font-size:13px;font-weight:700;}
.kgm-map a{color:var(--kgm-accent);}

/* 型のカード */
.kgm-type{margin:12px 0 12px;padding:18px 20px;border:1px solid var(--kgm-line);border-radius:12px;}
.kgm-type > p{margin:0;}
.kgm-type .kgm-type-label{margin:0 0 6px;font-size:13px;font-weight:700;opacity:.75;}
.kgm-type .kgm-type-label:not(:first-child){margin-top:14px;}
ul.kgm-chain{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;list-style:none;counter-reset:kgmchain;}
ul.kgm-chain li{display:flex;align-items:center;margin:0;counter-increment:kgmchain;font-size:14px;font-weight:700;}
ul.kgm-chain li::before{content:counter(kgmchain);display:inline-flex;width:22px;height:22px;margin-right:6px;align-items:center;justify-content:center;border-radius:50%;background:var(--kgm-accent);color:#fff;font-size:12px;}
ul.kgm-chain li:not(:last-child)::after{content:"→";margin-left:8px;color:var(--kgm-accent);}
ul.kgm-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;}
ul.kgm-tags li{margin:0;padding:4px 12px;border-radius:999px;background:var(--kgm-soft);font-size:13px;}
.kgm-point{margin-top:16px;padding:14px 16px;border-radius:10px;background:var(--kgm-soft);}
.kgm-point p{margin:0 0 4px;}
.kgm-point .kgm-point-title{color:var(--kgm-accent);font-size:14px;font-weight:700;}
.kgm-point ul{margin:0;padding-left:1.2em;}
.kgm-point li{margin:4px 0;font-size:15px;}
.kgm-type .kgm-two{margin:0 0 6px;}
.kgm-type .kgm-map{margin:0 0 6px;}
.kgm-type .kgm-small{margin:0;}

/* 回答例とポイント（開閉） */
.kgm-ex{margin:0 0 32px;border:1px solid var(--kgm-line);border-radius:10px;overflow:hidden;}
.kgm-ex summary{position:relative;padding:12px 44px 12px 18px;cursor:pointer;list-style:none;color:var(--kgm-accent);font-weight:700;}
.kgm-ex summary::-webkit-details-marker{display:none;}
.kgm-ex summary::after{content:"＋";position:absolute;top:50%;right:18px;transform:translateY(-50%);}
.kgm-ex[open] summary::after{content:"−";}
.kgm-ex[open] summary{border-bottom:1px solid var(--kgm-line);}
.kgm-ex > p,.kgm-ex > ul{margin:0;padding:0 18px;font-size:15px;}
.kgm-ex > ul{padding-left:38px;}
.kgm-ex > ul li{margin:4px 0;}
.kgm-ex > :last-child{padding-bottom:18px;}
.kgm-ex .kgm-ex-label{margin-top:16px;margin-bottom:6px;color:var(--kgm-accent);font-size:13px;font-weight:700;}
.kgm-ex .kgm-ex-answer{margin:0 18px 8px;padding:10px 14px;border-left:3px solid var(--kgm-accent);background:var(--kgm-soft);}

/* 型の選び方カード */
.kgm-pick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 32px;}
.kgm-pick-card{padding:16px 18px;border:1px solid var(--kgm-line);border-radius:10px;}
.kgm-pick-card p{margin:0;}
.kgm-pick-card .kgm-pick-name{font-size:17px;font-weight:700;}
.kgm-pick-card .kgm-pick-name a{color:var(--kgm-accent);text-decoration:none;}
.kgm-pick-card .kgm-pick-name a::after{content:" ↓";font-size:13px;}
.kgm-pick-card .kgm-pick-when{margin-top:4px;font-size:14px;}
.kgm-pick-card .kgm-pick-flow{margin-top:8px;padding-top:8px;border-top:1px solid var(--kgm-line);font-size:12px;opacity:.75;}

@media(max-width:680px){
  .kgm-pick{grid-template-columns:1fr;}
}

/* 番号付きの解説カード（面接カードのコツ・深掘り） */
.kgm-tip{margin:12px 0 16px;padding:18px 20px;border:1px solid var(--kgm-line);border-radius:12px;}
.kgm-tip > p{margin:0 0 12px;font-size:15px;}
.kgm-tip-head{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.kgm-tip-head p{margin:0;}
.kgm-tip-head .kgm-tip-num{display:inline-flex;flex:0 0 28px;height:28px;align-items:center;justify-content:center;border-radius:50%;background:var(--kgm-accent);color:#fff;font-size:13px;font-weight:700;}
.kgm-tip-head .kgm-tip-title{font-size:17px;font-weight:700;}
.kgm-tip .kgm-two{margin:0;}

/* =========================================================
   自治体別：面接の過去問
========================================================= */
.kgm-q{margin:0;border-top:1px solid var(--kgm-line);}
.kgm-q:last-of-type{border-bottom:1px solid var(--kgm-line);}
.kgm-q summary{position:relative;padding:14px 44px 14px 4px;cursor:pointer;list-style:none;font-weight:700;}
.kgm-q summary::-webkit-details-marker{display:none;}
.kgm-q summary::after{content:"＋";position:absolute;top:50%;right:8px;transform:translateY(-50%);color:var(--kgm-accent);font-size:20px;}
.kgm-q[open] summary::after{content:"−";}
.kgm-q .kgm-q-type{display:inline-block;margin:0 0 10px 4px;padding:2px 12px;border-radius:999px;background:var(--kgm-soft);font-size:13px;font-weight:700;}
.kgm-q .kgm-q-type a{color:var(--kgm-accent);}
ol.kgm-q-list{margin:0 0 18px;padding-left:2em;}
ol.kgm-q-list li{margin:6px 0;font-size:15px;}

/* =========================================================
   共通C：締めのCTA
========================================================= */
.kgm-cta-end{margin-top:48px;padding:32px 20px;}
.kgm-cta-end .kgm-cta-title{font-size:18px;}
.kgm-cta .kgm-cta-text{margin:0 0 18px;font-size:14px;}
.kgm-cta .kgm-cta-back{margin-top:16px;font-size:14px;}
.kgm-cta .kgm-cta-back a{color:var(--kgm-accent);}
.kgm-cta .kgm-cta-hint{max-width:480px;margin:0 auto 20px;padding:14px 16px;border:1px dashed var(--kgm-accent);border-radius:10px;background:#fff;text-align:left;font-size:14px;}
.kgm-cta .kgm-cta-hint p{margin:0;}
.kgm-cta .kgm-cta-hint .kgm-cta-hint-title{margin-bottom:4px;color:var(--kgm-accent);font-weight:700;}

/* =========================================================
   Noteleafとの調整（1.9.25）
   ・グループブロックの自動余白（blockGap）が、横並びの中で段ずれしないようにする
   ・本文の表・figure・preの標準スタイルを、教材の部品では上書きする
   ※クラスを2回重ねて、テーマ側より優先させています
========================================================= */
.kgm-rules.kgm-rules > *,
.kgm-two.kgm-two > *,
.kgm-flow.kgm-flow > *,
.kgm-pick.kgm-pick > *,
.kgm-slots.kgm-slots > *,
.kgm-sum-row.kgm-sum-row > *,
.kgm-slot-row.kgm-slot-row > *,
.kgm-tip-head.kgm-tip-head > *{margin:0;}
.kgm-annot.kgm-annot > .kgm-sum-row{margin:6px 0;}
.kgm-type.kgm-type > .kgm-point{margin-top:16px;}
.kgm-tip.kgm-tip > .kgm-two{margin:0;}
figure.kgm-map.kgm-map{margin:12px 0 28px;}
.kgm-type figure.kgm-map.kgm-map{margin:0 0 6px;}
.kgm-map.kgm-map table{min-width:0;margin:0;}
.kgm-tpl.kgm-tpl pre.kgm-copy{margin:0;padding:12px 14px;background:#fff;line-height:1.9;overflow:visible;}
.kgm-q .kgm-q-sub{margin:14px 0 4px 4px;color:var(--kgm-accent);font-size:14px;font-weight:700;}
