/* =====================================================
   IFU：海外大学進学（入口ページ）用 追加CSS【最終版】
   ・H2 / H3 見出し：水色ライン＋薄いグレー背景
   ・「このページで分かること」：控えめな要約ボックス
   ===================================================== */


/* =========================
   1) 本文見出し（H2）
   ========================= */

.page .entry-content h2,
.single .entry-content h2 {
  background: #f3f4f6;            /* 薄いグレー */
  border-left: 6px solid #39b8d6; /* 水色ライン */
  padding: 14px 16px;
  margin: 30px 0 14px;
  font-weight: 700;
  line-height: 1.45;
}


/* =========================
   2) 本文見出し（H3）
   ========================= */

.page .entry-content h3,
.single .entry-content h3 {
  background: #f7f7f7;            /* H2より少し薄い */
  border-left: 5px solid #39b8d6;
  padding: 12px 14px;
  margin: 22px 0 12px;
  font-weight: 700;
  line-height: 1.5;
}


/* 見出し直後の段落：詰めて読みやすく */
.page .entry-content h2 + p,
.page .entry-content h3 + p,
.single .entry-content h2 + p,
.single .entry-content h3 + p {
  margin-top: 10px;
}


/* =========================
   3) 要約ボックス
      「このページで分かること」（控えめ版）
   ========================= */

.page .entry-content .ifu-summary,
.single .entry-content .ifu-summary {
  background: #ffffff;              /* 白背景 */
  border: 1px solid #e5e7eb;        /* とても薄い枠 */
  border-left: 4px solid #39b8d6;   /* 左だけ水色ライン（細め） */
  padding: 14px 16px;
  margin: 18px 0 26px;
  border-radius: 8px;
}

/* 要約ボックス内の見出し文字 */
.page .entry-content .ifu-summary p,
.single .entry-content .ifu-summary p {
  margin: 0 0 8px;
  font-weight: 600;                 /* 少し控えめ */
}

/* 要約ボックス内のリスト */
.page .entry-content .ifu-summary ul,
.single .entry-content .ifu-summary ul {
  margin: 0 0 0 1.2em;
}

.page .entry-content .ifu-summary li,
.single .entry-content .ifu-summary li {
  margin: 6px 0;
}


/* =========================
   4) 全体の箇条書き微調整
   ========================= */

.page .entry-content ul,
.single .entry-content ul {
  margin: 10px 0 18px 1.2em;
}

.page .entry-content li,
.single .entry-content li {
  margin: 6px 0;
}


/* IFU FCA/FCB 比較表 */
.ifu-compare { margin: 18px 0 28px; }
.ifu-compare-intro { margin: 0 0 12px; line-height: 1.7; }
.ifu-compare-note { display: inline-block; margin-left: 6px; font-size: .95em; opacity: .9; }

.ifu-compare-table table { width: 100%; border-collapse: collapse; }
.ifu-compare-table th, .ifu-compare-table td {
  border: 1px solid rgba(0,0,0,0.12);
  padding: 12px 12px;
  vertical-align: top;
  line-height: 1.6;
}
.ifu-compare-table thead th { font-weight: 700; }
.ifu-compare-table tbody th { text-align: left; width: 28%; font-weight: 700; }


/* ===== IFU：比較表まわりの余白最適化（追加） ===== */
.ifu-compare { margin: 12px 0 6px; }
.ifu-compare-intro { margin: 0 0 10px; line-height: 1.7; }
.ifu-compare-note { margin-left: 6px; font-size: .95em; opacity: .9; }

/* 表の直後に見出しが来る時の“空きすぎ”対策 */
.ifu-compare-table { margin-bottom: 0; }

/* hr の上下余白が大きいテーマ対策（ページ全体で効きすぎないよう軽め） */
hr { margin: 18px 0; }

/* 見出しの余白を少し締める（必要なら） */
h2 { margin-top: 28px; margin-bottom: 14px; }
h3 { margin-top: 18px; margin-bottom: 10px; }


.ifu-compare-table tbody th{
  width: 26%;
  min-width: 170px;
  white-space: nowrap;
}




  /* 左列（比較の視点）の強調を弱める */
  .ifu-compare-table tbody th {
    font-weight: 600;        /* 太すぎを防ぐ（bold → semibold） */
    white-space: normal;     /* スマホでは自然改行を許可 */
    width: auto;
    min-width: unset;
  }

  /* 表全体の文字サイズバランス */
  .ifu-compare-table th,
  .ifu-compare-table td {
    font-size: 0.95em;
    line-height: 1.6;
  }
}




  /* 表全体：文字サイズを少しだけ落ち着かせる */
  .ifu-compare-table th,
  .ifu-compare-table td {
    font-size: 0.92em;
    line-height: 1.55;
  }

  /* 左列（比較の視点）：控えめに・2行OK */
  .ifu-compare-table tbody th {
    width: 26%;              /* スペースを取りすぎない */
    min-width: unset;
    font-weight: 500;        /* 強調しすぎない */
    white-space: normal;     /* 2行以上OK */
    color: #555;             /* トーンダウン */
  }

  /* FCA / FCB 列：主役として横幅を確保 */
  .ifu-compare-table tbody td {
    width: 37%;              /* 右2列を広く */
    font-weight: 400;
  }

  /* 見出し行（FCA / FCB）のバランス調整 */
  .ifu-compare-table thead th {
    font-size: 0.95em;
    line-height: 1.4;
    padding: 10px 8px;
  }

  /* セルの余白をスマホ用に最適化 */
  .ifu-compare-table tbody th,
  .ifu-compare-table tbody td {
    padding: 10px 8px;
  }
}


/* ===== スマホ最終版：左列を小さく、FCA/FCBに幅を渡す（統一） ===== */
@media (max-width: 768px) {

  /* テーブル全体の基本 */
  .ifu-compare-table table { width: 100%; table-layout: fixed; }
  .ifu-compare-table th,
  .ifu-compare-table td {
    padding: 10px 8px !important;
    font-size: 0.92em !important;
    line-height: 1.55 !important;
    vertical-align: top;
  }

  /* 見出し行（比較の視点 / FCA / FCB） */
  .ifu-compare-table thead th {
    font-size: 0.93em !important;
    line-height: 1.35 !important;
    padding: 10px 8px !important;
  }

/* 左列（比較の視点）：必ず太字にする */
.page .entry-content .ifu-compare-table tbody th,
.single .entry-content .ifu-compare-table tbody th {
  width: 22% !important;
  font-weight: 700 !important;   /* ← ここが重要 */
  color: #555 !important;
  white-space: normal !important;
  min-width: 0 !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}


  /* FCA/FCB列：主役として幅を確保 */
  .ifu-compare-table tbody td {
    width: 39% !important;           /* 右2列を広く */
    font-weight: 400 !important;
    overflow-wrap: anywhere !important;
  }
}


/* =====================================================
   FCA/FCB 比較表：左列（比較の視点）を必ず太字に見せる（最終）
   ・テーマの !important 上書きに勝つ
   ・フォントが太字を持たない場合は疑似太字で補強
   ===================================================== */

/* FCA/FCB比較表：左列（比較の視点）をフロントで強制的に太字にする */
.page .entry-content .ifu-compare .ifu-compare-table table tbody th,
.single .entry-content .ifu-compare .ifu-compare-table table tbody th {
  font-weight: 700 !important;
}


/* 注記（※）の統一スタイル */
.entry-content p.note,
.entry-content .ifu-note {
  font-size: 0.9em;
  color: #666;
  line-height: 1.6;
}


/* IFU共通：※注記用スタイル */
.entry-content .ifu-note {
  font-size: 0.9em;      /* 本文より少し小さく */
  color: #666666;        /* 文字を少し薄く */
  line-height: 1.6;      /* 詰まりすぎない行間 */
  margin-top: 0.5em;
}



/* ===== 学生の声｜一覧カード（確定版：余白ゆったり） ===== */

.ifu-voice-card{
  max-width: 980px;
  margin: 0 auto 16px;
  display: flex;
  gap: 22px;                 /* 写真とテキストの距離 */
  align-items: center;
  border: 1px solid #e6e6e6;
  border-radius: 12px;
  background: #fff;
  padding: 18px 14px 16px;   /* 上18 / 左右14 / 下16：上の詰まり解消 */
  box-sizing: border-box;
}

/* 画像 */
.ifu-voice-card__thumb{
  width: 140px;
  height: 140px;
  background: #f3f3f3;
  border-radius: 10px;
  overflow: hidden;
  flex: 0 0 auto;
  margin-top: 0;             /* ここでは動かさない（カード側paddingで調整） */
}
.ifu-voice-card__img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* 右側情報 */
.ifu-voice-card__body{
  min-width: 0;
  padding-top: 0;            /* テキストは下げない（カード側で余白を作る） */
}
.ifu-voice-card__top{
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 8px;        /* 名前ブロック下：少しゆったり */
}
.ifu-voice-card__name{
  font-weight: 700;
  font-size: 16px;
  line-height: 1.35;
}

/* 行間（大学名・学部・卒業年） */
.ifu-voice-card__uni,
.ifu-voice-card__major,
.ifu-voice-card__grad{
  font-size: 13px;
  line-height: 1.6;
  margin-top: 5px;
}

.ifu-voice-card__major{ margin-bottom: 2px; }
.ifu-voice-card__grad{ margin-bottom: 0; }

/* 大学名＋国旗 */
.ifu-voice-card__uni{
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.ifu-voice-card__flag{ margin-left: 0; }

/* ステータスラベル */
.ifu-voice-status{
  display: inline-flex;
  align-items: center;
  padding: 2px 10px;
  border-radius: 999px;
  font-size: 12px;
  line-height: 1.8;
  border: 1px solid transparent;
  white-space: nowrap;
}
.ifu-voice-status.is-current{ background:#edf7ef; border-color:#cfe8d4; color:#1f6b3a; }
.ifu-voice-status.is-alumni{ background:#eef4ff; border-color:#d4e2ff; color:#1f4aa8; }
.ifu-voice-status.is-employed{ background:#f3efff; border-color:#e0d6ff; color:#4a2aa8; }

.ifu-voice-card:hover{
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
}



.ifu-voice-card__top{
  margin-top: 2px;
}


/* ===== スマホ表示調整（学生の声カード） ===== */
@media (max-width: 768px){
  .ifu-voice-card{
    align-items: flex-start; /* 中央揃え → 上揃え */
  }

  .ifu-voice-card__thumb{
    margin-top: 0; /* 写真のズレ防止 */
  }

  .ifu-voice-card__body{
    padding-top: 0; /* テキスト側もリセット */
  }
}


/* 上に詰まる対策：カード上側の余白を確保（最優先） */
.ifu-voice-card{
  padding-top: 18px !important;
  padding-bottom: 16px !important;
}


/* 写真だけを少し下げる（必要なときだけ） */
.ifu-voice-card__thumb{
  margin-top: 4px !important;
}


/* 上に詰まって見える最終対策：名前ブロックを下げる */
.ifu-voice-card__top{
  margin-top: 6px !important;
}


/* ===== 下半分を締めてカード高さを揃える ===== */

/* ① 写真ブロックの下側を詰める */
.ifu-voice-card__thumb{
  margin-bottom: 0 !important;
}

/* ② 卒業年の上余白を詰める */
.ifu-voice-card__grad{
  margin-top: 2px !important;
}

/* ③ カード下側の余白を縮める */
.ifu-voice-card{
  padding-bottom: 2px !important;
}


.ifu-voice-card__grad{
  margin-top: 1px;
}


/* ===== 学生の声：Q&Aブロック ===== */
.ifu-qa{
  margin: 14px 0 18px;
}

.ifu-qa__q{
  background: #eef7ff;          /* 水色 */
  border: 1px solid #cfe7ff;
  border-radius: 10px;
  padding: 10px 12px;
  line-height: 1.7;
  font-weight: 600;
}

.ifu-qa__a{
  margin-top: 10px;
  padding-left: 2px;            /* 少しだけ整える */
  line-height: 1.9;
}

.ifu-qa__label{
  font-weight: 700;
  margin-right: 6px;
}

.ifu-qa__text{
  word-break: break-word;
}


/* ===== 学生の声｜注意書き ===== */
.ifu-voice-note{
  font-size: 12.5px;        /* 本文より少し小さめ */
  color: #777;              /* 薄めのグレー */
  line-height: 1.6;
  margin: 8px 0 16px;
}


/* Q と A の間の余白を詰める（A の上の余白を小さくする） */
.ifu-qa__a {
  margin-top: 6px;
}

/* Q/A ラベルの後を詰めて読みやすくする（任意） */
.ifu-qa__label {
  display: inline-block;
  margin-right: 6px;
}



/* Qの頭を強調するための左ライン */
.ifu-qa__q {
  border-left: 4px solid #bfe3f8;
  padding-left: 12px;
}


.ifu-voice-card__career{
  font-size: 13px;
  color: #555;
  margin-top: 6px;
  line-height: 1.6;
}



/* 卒業行とキャリア行の間を詰める */
.ifu-voice-card__grad{ margin-bottom: 2px !important; }
.ifu-voice-card__career{ margin-top: 2px !important; }

/* カード内 最後の要素の下余白を消す（念押し） */
.ifu-voice-card__body > *:last-child{ margin-bottom: 0 !important; }


/* 卒業行・キャリア行：余白を強制的にゼロに近づける */
.ifu-voice-card .ifu-voice-card__grad{
  margin: 4px 0 0 !important;     /* 上だけ少し、下は0 */
  padding: 0 !important;
}

.ifu-voice-card .ifu-voice-card__career{
  margin: 2px 0 0 !important;     /* 卒業との間を詰める */
  padding: 0 !important;
}


/* カード内の文字色を統一（テーマの色指定に負けないように） */
.ifu-voice-card .ifu-voice-card__body,
.ifu-voice-card .ifu-voice-card__body *{
  color: #333 !important;
}



/* Aの中で段落を使う場合の余白調整 */
.ifu-qa__a .ifu-qa__text p{ margin: 0 0 10px; }
.ifu-qa__a .ifu-qa__text p:last-child{ margin-bottom: 0; }

