/* ============================================================
   お役立ち記事の本文（公開ページの .entry-body と、エディターで共通）
   エディター用 editor.css は build_theme.py がこのファイルから作る
   ============================================================ */
.entry-body{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo",sans-serif;font-size:16px;line-height:2;letter-spacing:.03em;color:var(--ink,#1b2438);}
.entry-body > * + *{margin-top:1.6em;}
.entry-body p{margin:0;}
.entry-body > p + p{margin-top:1.4em;}
/* 表・箇条書き・枠のすぐ後の段落にも、段落どうしと同じ余白を（見出しの直後は見出し側の余白のまま） */
.entry-body > :not(h2):not(h3):not(h4) + p{margin-top:1.4em;}

/* 見出し: 見出し2は紺の線、見出し3は金の線（AOI と同じく左の線＋淡い背景） */
.entry-body h2{
  margin:2.6em 0 1.2em;padding:14px 18px 12px 20px;border-left:5px solid #193765;background:#F1F4F9;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo",sans-serif;font-weight:700;font-size:22px;line-height:1.6;letter-spacing:.04em;color:#0F1C3F;
}
.entry-body h3{
  margin:2.2em 0 1em;padding:10px 14px 9px 16px;border-left:4px solid #CB9A36;background:#FAF8F2;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo",sans-serif;font-weight:700;font-size:18.5px;line-height:1.6;letter-spacing:.03em;color:#0F1C3F;
}
.entry-body h4{
  margin:2em 0 .8em;padding-bottom:6px;border-bottom:2px solid #dfe3ea;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo",sans-serif;font-weight:700;font-size:17px;line-height:1.6;color:#0F1C3F;
}
.entry-body a{color:#2a4a80;text-decoration:underline;text-underline-offset:3px;}
.entry-body a:hover{text-decoration:none;}
.entry-body strong{font-weight:700;color:#0F1C3F;}
/* 黄色の蛍光ペン（エディターの「ハイライト」） */
.entry-body mark{background:linear-gradient(transparent 58%,#F6E2A8 58%);color:inherit;padding:0 .1em;}

/* 箇条書き */
.entry-body ul,.entry-body ol{margin:1.4em 0 0;padding-left:1.6em;}
.entry-body ul{list-style:disc;}
.entry-body ol{list-style:decimal;}
.entry-body .fita-toc ol{list-style:none;}
.entry-body li + li{margin-top:.35em;}
.entry-body ul li::marker{color:#CB9A36;}
.entry-body ol li::marker{color:#AD7C1C;font-weight:700;}

/* 画像・表・引用 */
.entry-body img{max-width:100%;height:auto;border-radius:4px;}
.entry-body figure{margin:1.8em 0 0;}
.entry-body figcaption{margin-top:6px;font-size:13px;color:#566076;text-align:center;}
.entry-body .wp-block-table{overflow-x:auto;}
.entry-body table{width:100%;border-collapse:collapse;font-size:14.5px;line-height:1.7;}
.entry-body th,.entry-body td{padding:10px 12px;border:1px solid #dfe3ea;vertical-align:top;text-align:left;}
.entry-body thead th,.entry-body tr > th:first-child{background:#F1F4F9;color:#0F1C3F;font-weight:700;}
.entry-body blockquote{margin:1.8em 0 0;padding:16px 20px;border-left:3px solid #c9d1de;background:#F7F8FA;color:#566076;}
.entry-body blockquote p{margin:0;}
.entry-body .wp-block-separator{margin:2.4em auto;border:0;border-top:1px solid #dfe3ea;}
.entry-body .wp-block-buttons{justify-content:center;}
.entry-body .wp-block-button__link{background:#CB9A36;color:#fff;text-decoration:none;font-weight:700;border-radius:999px;padding:12px 32px;}

/* ---------- FITA の部品（エディターの「パターン > FITA の部品」） ---------- */
.entry-body .fita-box{position:relative;margin-top:2.2em;padding:26px 24px 20px;border-radius:6px;}
.entry-body .fita-box > * + *{margin-top:.8em;}
.entry-body .fita-box ul,.entry-body .fita-box ol{margin-top:.6em;}
.entry-body .fita-box-label{
  position:absolute;left:18px;top:-13px;margin:0;padding:2px 14px;border-radius:2px;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo",sans-serif;font-weight:700;font-size:13px;line-height:1.7;letter-spacing:.1em;color:#fff;
}
.entry-body .fita-box-point{background:#FAF8F2;border:2px solid #CB9A36;}
.entry-body .fita-box-point .fita-box-label{background:#CB9A36;}
.entry-body .fita-box-caution{background:#FDF4F2;border:2px solid #D46A55;}
.entry-body .fita-box-caution .fita-box-label{background:#D46A55;}
.entry-body .fita-box-summary{background:#F1F4F9;border:2px solid #193765;}
.entry-body .fita-box-summary .fita-box-label{background:#193765;}

/* この記事でわかること（冒頭に置く） */
.entry-body .fita-learn{margin-top:2em;border:2px solid #2B4C82;border-radius:6px;overflow:hidden;background:#fff;}
.entry-body .fita-learn > *{margin:0;}
.entry-body .fita-learn-title{padding:10px 18px;background:#2B4C82;color:#fff;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo",sans-serif;font-weight:700;font-size:15px;letter-spacing:.1em;}
.entry-body .fita-learn ul{margin:0;padding:14px 20px 16px;list-style:none;}
.entry-body .fita-learn li{position:relative;padding-left:28px;font-weight:700;color:#0F1C3F;}
.entry-body .fita-learn li + li{margin-top:.5em;}
.entry-body .fita-learn li::before{content:"";position:absolute;left:4px;top:.55em;width:12px;height:7px;border-left:2.5px solid #CB9A36;border-bottom:2.5px solid #CB9A36;transform:rotate(-45deg);}

/* ステップ（手順）。STEP の番号は自動 */
.entry-body .fita-steps{margin-top:2em;counter-reset:fita-step;}
.entry-body .fita-step{position:relative;margin:0;padding:0 0 26px 72px;counter-increment:fita-step;}
.entry-body .fita-step:last-child{padding-bottom:0;}
.entry-body .fita-step > *{margin:0;}
.entry-body .fita-step > * + *{margin-top:.4em;}
.entry-body .fita-step::before{
  content:"STEP\A" counter(fita-step);white-space:pre;position:absolute;left:0;top:0;display:flex;align-items:center;justify-content:center;
  width:52px;height:52px;border-radius:50%;background:#2B4C82;color:#fff;text-align:center;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo",sans-serif;font-weight:700;font-size:10px;line-height:1.25;letter-spacing:.06em;
}
.entry-body .fita-step:not(:last-child)::after{content:"";position:absolute;left:25px;top:58px;bottom:6px;border-left:2px dashed #c9d1de;}
.entry-body .fita-step-title{padding-top:12px;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo",sans-serif;font-weight:700;font-size:17px;line-height:1.6;color:#0F1C3F;}

/* Q&A */
.entry-body .fita-qa{margin-top:1.8em;border:1px solid #dfe3ea;border-radius:6px;overflow:hidden;}
.entry-body .fita-qa > *{margin:0;}
.entry-body .fita-q,.entry-body .fita-a{position:relative;padding:14px 18px 14px 56px;}
.entry-body .fita-q{background:#F1F4F9;font-weight:700;color:#0F1C3F;}
.entry-body .fita-q::before,.entry-body .fita-a::before{
  position:absolute;left:16px;top:13px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo",sans-serif;font-weight:700;font-size:14px;line-height:1;color:#fff;
}
.entry-body .fita-q::before{content:"Q";background:#193765;}
.entry-body .fita-a::before{content:"A";background:#CB9A36;}

/* 講師のひとこと（吹き出し） */
.entry-body .fita-voice{position:relative;margin-top:2em;margin-left:72px;padding:16px 20px;background:#F7F8FA;border:1px solid #dfe3ea;border-radius:10px;}
.entry-body .fita-voice > *{margin:0;}
.entry-body .fita-voice > * + *{margin-top:.5em;}
.entry-body .fita-voice::before{
  content:"";position:absolute;left:-72px;top:0;width:56px;height:56px;border-radius:50%;
  background:#F1F4F9 url("../img/principal.webp") center/cover no-repeat;border:2px solid #fff;box-shadow:0 0 0 1px #dfe3ea;
}
.entry-body .fita-voice::after{content:"";position:absolute;left:-9px;top:20px;width:16px;height:16px;background:#F7F8FA;border-left:1px solid #dfe3ea;border-bottom:1px solid #dfe3ea;transform:rotate(45deg);}
.entry-body .fita-voice-name{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo",sans-serif;font-weight:700;font-size:13px;color:#AD7C1C;}

/* 記事カード（ほかの記事へのリンクだけの段落から作る） */
.entry-body .fita-linkcard{position:relative;display:grid;grid-template-columns:200px minmax(0,1fr);gap:18px;align-items:center;margin-top:2em;padding:22px 20px 18px;border:1px solid #dfe3ea;border-radius:8px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 2px 10px rgba(15,28,63,.06);transition:box-shadow .2s,transform .2s,border-color .2s;}
.entry-body .fita-linkcard:hover{border-color:#2B4C82;box-shadow:0 6px 18px rgba(15,28,63,.12);transform:translateY(-2px);text-decoration:none;}
.entry-body .fita-linkcard-label{position:absolute;left:16px;top:-12px;padding:1px 12px;border-radius:2px;background:#193765;color:#fff;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo",sans-serif;font-weight:700;font-size:12px;line-height:1.8;letter-spacing:.1em;}
.entry-body .fita-linkcard.is-draft{border-style:dashed;}
.entry-body .fita-linkcard-draft{position:absolute;right:14px;top:-12px;padding:1px 10px;border-radius:2px;background:#D46A55;color:#fff;font-size:11.5px;font-weight:700;line-height:1.8;}
.entry-body .fita-linkcard-thumb{display:block;width:100%;aspect-ratio:1200/630;object-fit:cover;border-radius:4px;background:#F1F4F9;}
.entry-body .fita-linkcard-thumb.thumb-empty::after{content:"FITA";display:flex;height:100%;align-items:center;justify-content:center;font-size:18px;letter-spacing:.3em;color:rgba(25,55,101,.35);}
.entry-body .fita-linkcard-body{display:flex;flex-direction:column;gap:4px;min-width:0;}
.entry-body .fita-linkcard-cat{font-size:12px;font-weight:700;line-height:1.6;color:#AD7C1C;}
.entry-body .fita-linkcard-title{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo",sans-serif;font-weight:700;font-size:16.5px;line-height:1.6;color:#0F1C3F;}
.entry-body .fita-linkcard-excerpt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13.5px;line-height:1.75;color:#566076;}
.entry-body .fita-linkcard-more{align-self:flex-end;margin-top:2px;font-size:13px;font-weight:700;line-height:1.6;color:#2a4a80;}
.entry-body .fita-linkcard-more::after{content:"";display:inline-block;width:7px;height:7px;margin-left:8px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:translateY(-1px) rotate(45deg);}
/* エディターでは普通の段落のまま。カードになる段落だと分かるように（公開ページではカードにするか、この class を外す） */
.entry-body .fita-linkcard-src{padding:12px 16px;border:1px dashed #9aa7bd;border-radius:6px;}

/* 大学別記事の入試概要（項目・A方式・B方式の表）。年度の切り替えはこの枠ごと差し替える想定 */
.entry-body .fita-capture{margin-top:1.6em;}
.entry-body .fita-capture .fita-exam-overview{margin-top:0;}
.entry-body .fita-capture .fita-exam-overview .wp-block-table{margin-top:0;}
/* 両方式（両学部）で同じ内容は、セルを結合して中央揃え */
.entry-body .fita-exam-overview td[colspan]{text-align:center;}
.entry-body .fita-capture-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding:8px 8px 8px 14px;border:1px solid #E8D9B5;border-radius:8px;background:#FAF8F2;}
.entry-body .fita-capture-hint{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 10px;margin:0;font-size:12.5px;line-height:1.6;color:#566076;}
.entry-body .fita-capture-hint strong{font-size:13.5px;color:#0F1C3F;}
.entry-body .fita-capture-btn{flex:none;display:inline-flex;align-items:center;gap:6px;padding:7px 16px 7px 13px;border:0;border-radius:999px;background:#193765;color:#fff;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo",sans-serif;font-size:13px;font-weight:700;line-height:1.5;cursor:pointer;box-shadow:0 2px 6px rgba(25,55,101,.25);transition:background .2s,transform .2s;}
.entry-body .fita-capture-btn:hover{background:#0F1C3F;transform:translateY(-1px);}

.entry-body .fita-exam-overview table{table-layout:fixed;}
.entry-body .fita-exam-overview th:first-child,.entry-body .fita-exam-overview td:first-child{width:9.5em;}
/* 項目名と内容の高さをそろえ、文は読みやすい位置で折り返す */
.entry-body .fita-exam-overview td{vertical-align:middle;text-wrap:pretty;}
.entry-body .fita-exam-overview td[colspan]{text-wrap:balance;}
.entry-body .fita-exam-overview tbody td:first-child{background:#F1F4F9;color:#0F1C3F;font-weight:700;}

/* 入試スケジュールの図（blog.php が箇条書きから作る）。PC は日付の位置に点と帯を置いた横のタイムライン、スマホは一覧 */
.entry-body .fita-schedule{margin-top:2em;border:1px solid #DFE3EA;border-radius:8px;background:#fff;overflow:hidden;}
.entry-body .fita-schedule__title{margin:0;padding:14px 20px 0;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo",sans-serif;font-weight:700;font-size:16.5px;line-height:1.55;color:#0F1C3F;}
.entry-body .fita-schedule__title::before{content:"入試スケジュール";display:block;margin-bottom:2px;font-size:11px;letter-spacing:.16em;color:#AD7C1C;}
.entry-body .fita-schedule__chart{padding:10px 20px 14px;}
.entry-body .fita-schedule__months,.entry-body .fita-schedule__row{display:flex;gap:12px;}
.entry-body .fita-schedule__months > div,.entry-body .fita-schedule__track{position:relative;flex:1;min-width:0;}
.entry-body .fita-schedule__corner,.entry-body .fita-schedule__label{flex:none;width:64px;}
.entry-body .fita-schedule__months > div{height:24px;border-bottom:1px solid #C9D1DE;}
.entry-body .fita-schedule__months span:not(.fita-schedule__corner){position:absolute;top:0;padding-left:6px;border-left:1px solid #C9D1DE;font-size:12px;font-weight:700;line-height:24px;color:#566076;}
.entry-body .fita-schedule__months span:not(.fita-schedule__corner):first-child{border-left:0;padding-left:0;}
.entry-body .fita-schedule__row + .fita-schedule__row{border-top:1px dashed #E1E5EC;}
.entry-body .fita-schedule__label{margin:0;padding-top:9px;font-size:12.5px;font-weight:700;line-height:1.4;color:#0F1C3F;}
/* 軸: 上に点と帯、その下にラベルを段（--lane）ごとに置く */
.entry-body .fita-schedule__track{height:calc(26px + var(--lanes) * 36px);}
.entry-body .fita-schedule__track > i{position:absolute;top:0;bottom:0;border-left:1px solid #EEF1F5;}
.entry-body .fita-schedule__line{position:absolute;left:0;right:0;top:15px;border-top:2px solid #E1E5EC;}
.entry-body .fita-schedule__dot{position:absolute;top:10px;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:#193765;box-shadow:0 0 0 3px #fff;}
.entry-body .fita-schedule__bar{position:absolute;top:11px;height:10px;border-radius:5px;background:#9AA7BD;}
.entry-body .fita-schedule__dot.is-key{width:14px;height:14px;margin-left:-7px;top:9px;background:#CB9A36;}
.entry-body .fita-schedule__bar.is-key{background:#CB9A36;}
.entry-body .fita-schedule__tag{position:absolute;top:calc(28px + var(--lane) * 36px);white-space:nowrap;font-size:12px;line-height:1.35;color:#1B2438;}
.entry-body .fita-schedule__tag.is-center{transform:translateX(-50%);text-align:center;}
.entry-body .fita-schedule__tag.is-end{transform:translateX(-100%);text-align:right;}
.entry-body .fita-schedule__tag b{display:block;font-size:11px;color:#193765;}
.entry-body .fita-schedule__tag.is-key b{color:#AD7C1C;}
.entry-body .fita-schedule__tag.is-key{font-weight:700;color:#0F1C3F;}
.entry-body .fita-schedule__mobile{display:none;}
.entry-body .fita-schedule__note{margin:0;padding:8px 20px;background:#F7F8FA;border-top:1px solid #E6E9EF;font-size:12px;line-height:1.7;color:#566076;}
/* エディターでは普通の箇条書き。図になる枠だと分かるように */
.entry-body .wp-block-group.fita-schedule{padding:12px 16px;border-style:dashed;}

@media (max-width:599px){
  .entry-body{font-size:15px;line-height:1.95;}
  .entry-body h2{margin-top:2.2em;padding:11px 12px 10px 14px;font-size:18.5px;}
  .entry-body h3{padding:9px 12px 8px 12px;font-size:16.5px;}
  .entry-body h4{font-size:15.5px;}
  .entry-body table{font-size:13px;}
  .entry-body .fita-box{padding:24px 16px 16px;}
  .entry-body .fita-learn ul{padding:12px 14px 14px;}
  .entry-body .fita-step{padding-left:60px;}
  .entry-body .fita-step::before{width:44px;height:44px;font-size:9px;}
  .entry-body .fita-step:not(:last-child)::after{left:21px;top:50px;}
  .entry-body .fita-step-title{padding-top:9px;font-size:15.5px;}
  .entry-body .fita-voice{margin-left:58px;padding:14px 16px;}
  .entry-body .fita-voice::before{left:-58px;width:46px;height:46px;}
  .entry-body .fita-capture-bar{padding:7px 7px 7px 12px;gap:10px;}
  .entry-body .fita-capture-hint{font-size:11.5px;line-height:1.5;}
  .entry-body .fita-capture-hint strong{font-size:12.5px;}
  .entry-body .fita-capture-btn{padding:7px 13px 7px 11px;font-size:12.5px;}
  /* 入試スケジュール: 図の代わりに、点付きの短い一覧にする */
  .entry-body .fita-schedule__title{padding:12px 16px 0;font-size:15.5px;}
  .entry-body .fita-schedule__chart{display:none;}
  .entry-body .fita-schedule__mobile{display:block;padding:4px 16px 12px;}
  .entry-body .fita-schedule__mrow + .fita-schedule__mrow{margin-top:6px;padding-top:10px;border-top:1px dashed #D5DBE5;}
  .entry-body .fita-schedule__mlabel{display:inline-block;margin:6px 0 0;padding:1px 10px;border-radius:3px;background:#F1F4F9;font-size:12px;font-weight:700;line-height:1.7;color:#193765;}
  .entry-body .fita-schedule__list{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:7px 12px;position:relative;margin:8px 0 0;padding:0;list-style:none;}
  .entry-body .fita-schedule__list::before{content:"";position:absolute;left:4px;top:8px;bottom:8px;border-left:2px solid #E1E5EC;}
  .entry-body .fita-schedule__list li{display:contents;font-size:13px;line-height:1.55;}
  .entry-body .fita-schedule__list b{position:relative;padding-left:20px;font-size:12px;line-height:1.65;white-space:nowrap;color:#193765;}
  .entry-body .fita-schedule__list b::before{content:"";position:absolute;left:0;top:5px;width:10px;height:10px;border-radius:50%;background:#193765;box-shadow:0 0 0 2px #fff;}
  .entry-body .fita-schedule__list li.is-range b::before{background:#9AA7BD;}
  .entry-body .fita-schedule__list li.is-key b::before{background:#CB9A36;}
  .entry-body .fita-schedule__list li.is-key b{color:#AD7C1C;}
  .entry-body .fita-schedule__list li.is-key span{font-weight:700;}
  .entry-body .fita-schedule__list span{font-size:13px;line-height:1.55;}
  .entry-body .fita-schedule__note{padding:8px 16px;}
  /* 入試概要: 項目名を上の帯に、A方式・B方式を横に並べる */
  .entry-body .fita-exam-overview table,.entry-body .fita-exam-overview thead,.entry-body .fita-exam-overview tbody{display:block;}
  .entry-body .fita-exam-overview tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
  .entry-body .fita-exam-overview th,.entry-body .fita-exam-overview td{width:auto!important;margin:-1px 0 0 -1px;}
  /* Keep the outer left border inside the scroll container; overlap only interior borders. */
  .entry-body .fita-exam-overview tr > :nth-child(-n+2){margin-left:0;}
  .entry-body .fita-exam-overview thead th:first-child{display:none;}
  .entry-body .fita-exam-overview tbody td:first-child{grid-column:1 / -1;padding:6px 10px;font-size:12.5px;}
  .entry-body .fita-exam-overview tbody td[colspan]{grid-column:1 / -1;}
  /* 項目・内容の 2 列だけの表は、内容を全幅に */
  .entry-body .fita-exam-overview tbody td:nth-child(2):last-child{grid-column:1 / -1;}
  .entry-body .fita-exam-overview thead th:nth-child(2):last-child{display:none;}
  /* 項目名はスマホでは 1 行に（PC 用の改行を消す） */
  .entry-body .fita-exam-overview tbody td:first-child br{display:none;}
  .entry-body .fita-exam-overview td{padding:8px 9px;font-size:12.5px;line-height:1.65;}
  .entry-body .fita-linkcard{grid-template-columns:112px minmax(0,1fr);gap:12px;padding:20px 12px 12px;}
  .entry-body .fita-linkcard-title{font-size:14.5px;line-height:1.55;}
  .entry-body .fita-linkcard-excerpt{display:none;}
  .entry-body .fita-linkcard-more{font-size:12px;}
}
