body {
  font-family: "Segoe UI", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  margin: 0;
  padding: 1em;
  background-color: #fff8f4;
  color: #333;
}

h1 {
  font-size: 1.6em;
  color: #2c3e50;
  text-align: center;
  margin-bottom: 0.5em;
}

h2 {
  font-size: 1.2em;
  margin-top: 1em;
  color: #444;
}

ul {
  padding-left: 1.5em;
  margin-bottom: 2em;
}

.jukulist {
  display: flex;
  flex-direction: column;
  gap: 1.5em;
  max-width: 800px;
  margin: auto;
}

.juku-item {
  border: 1px solid #f2d6e0;
  border-radius: 12px;
  padding: 1.2em;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.06);
}

/* ==========================================================================
   【修正】個別カード内の塾名リンク（パターンA ＆ パターンBの融合）
   ========================================================================== */
.juku-name a {
  font-size: 1.2em;
  font-weight: bold;
  color: #b83d7c;
  text-decoration: underline;
  transition: color 0.2s ease;
  display: inline-flex;
  align-items: center; /* 塾名と記号の縦方向の「中央」をしっかり揃える */
}

/* 塾名の後ろの「›」のサイズ・位置を微調整 */
.juku-name a::after {
  content: "›";
  font-size: 1.1em; /* 【変更】0.9emから1.1emに大きくして視認性をアップ */
  font-weight: bold;
  margin-left: 0.35em; /* 【変更】文字サイズに合わせて余白もわずかに広げました */
  color: #b83d7c;
  opacity: 0.5;
  transition: opacity 0.2s ease, color 0.2s ease;
  display: inline-block;
  line-height: 1; /* 大きくした「›」の上下の余計な隙間を無くす */
}

/* マウスを乗せた（ホバー）時の演出 */
.juku-name a:hover {
  color: #e04b93;
  text-decoration: underline;
}

.juku-name a:hover::after {
  opacity: 1.0;
  color: #e04b93;
}

.juku-name span {
  font-size: 1.2em;
  font-weight: bold;
  color: #b83d7c;
  text-decoration: none;
}

.official-link {
  font-size: 0.8em;
  font-weight: bold;
  color: #b83d7c;
  text-decoration: none;
}

.anchor-link {
  font-size: 1em;
  font-weight: bold;
  color: #b83d7c;
  text-decoration: none;
}

.official-link:hover {
  text-decoration: underline;
}

.anchor-link:hover {
  text-decoration: underline;
}

.juku-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 0.5em;
  font-size: 0.95em;
}

.juku-table th, .juku-table td {
  border: 1px solid #e3cdd2;
  padding: 10px;
  vertical-align: top;
}

.juku-table th {
  background-color: #fce4ec;
  text-align: left;
  font-weight: bold;
}

.juku-table tbody tr:nth-child(even) {
  background-color: #fff7fa;
}

.google-maps a {
  color: #d63384;
  font-size: 1em;
}

.google-maps:hover {
  text-decoration: underline;
}

.jukulist .juku-item:nth-child(odd) { background: #fdf6ec; }
.jukulist .juku-item:nth-child(even) { background: #f4ead5;}

.area-list {
  max-width: 800px;
  margin: 0 auto 2em auto;
  padding-left: 1.5em;
}

/* === 掲載塾一覧（目次） === */
.all-juku-list {
  max-width: 800px;
  margin: 0 auto 2em auto;
  padding: 1em 1.5em;
  background: #fff;
  border: 1px solid #f2d6e0;
  border-radius: 12px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.04);
}

.all-juku-list h2 {
  font-size: 1.1em;
  margin: 0 0 0.6em 0;
  padding-bottom: 0.4em;
  border-bottom: 2px solid #fce4ec;
  color: #b83d7c;
}

.all-juku-list ul {
  list-style: none;
  padding: 0;
  margin: 0;
  columns: 2;
  column-gap: 1.5em;
}

.all-juku-list li {
  padding: 0.35em 0;
  font-size: 0.95em;
  break-inside: avoid;
  line-height: 1.4;
}

/* ==========================================================================
   【修正】上部の「掲載塾一覧（目次）」のリンク強化
   ========================================================================== */
/* もともとli::beforeで「▶」が入っていたため、リンク全体を下線付きにしてホバー時に色変化を適用 */
.all-juku-list li::before {
  content: "▶";
  color: #b83d7c;
  font-size: 0.75em;
  margin-right: 0.4em;
}

.all-juku-list a {
  color: #b83d7c;
  text-decoration: underline; /* 【パターンA】目次のテキストにも最初から下線を付与 */
  font-weight: 500;
  transition: color 0.2s ease;
}

.all-juku-list a:hover {
  color: #e04b93; /* ホバー時に少し明るいピンクに */
  text-decoration: underline;
}

.all-juku-list .no-link {
  color: #666;
}

/* === インフィード広告枠（3塾ごと） === */
.inline-ad {
  background-color: #fffdf6;
  border: 1px dashed #e3cdd2;
  border-radius: 12px;
  padding: 1em;
  text-align: center;
  position: relative;
}

.inline-ad::before {
  content: "広告";
  display: block;
  font-size: 0.75em;
  color: #999;
  text-align: left;
  margin-bottom: 0.4em;
}

/* === ページネーション === */
.juku-item.hidden { display: none !important; }
.inline-ad.hidden { display: none !important; }

.pagination {
  max-width: 800px;
  margin: 1.5em auto 1em auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.4em;
  flex-wrap: wrap;
  padding: 0 1em;
}

/* === Multiplex広告ブロック（ページネーションの下に表示） === */
.multiplex-ad {
  clear: both;
  display: block;
  width: 100%;
  max-width: 800px;
  min-height: 280px;
  margin: 1em auto 2em auto;
  padding: 0 1em;
  box-sizing: border-box;
}

.multiplex-ad ins.adsbygoogle {
  min-height: 280px !important;
  display: block !important;
}

.pagination button {
  background: #fff;
  border: 1px solid #e3cdd2;
  color: #b83d7c;
  padding: 8px 14px;
  border-radius: 8px;
  font-size: 0.95em;
  font-weight: bold;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  font-family: inherit;
  min-width: 40px;
}

.pagination button:hover:not(:disabled):not(.current) {
  background: #fce4ec;
}

.pagination button:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.pagination button.page-num.current {
  background: #b83d7c;
  color: #fff;
  border-color: #b83d7c;
  cursor: default;
}

.pagination .page-ellipsis {
  color: #999;
  font-weight: bold;
  padding: 0 0.3em;
  user-select: none;
}

/* ==========================================================================
   フッター：中学校別リンクナビゲーション（茶系サイト用）
   ========================================================================== */
.footer-juku-nav {
  max-width: 1000px;
  margin: 40px auto 20px auto;
  padding: 20px 15px;
  background-color: #fcfaf7;
  border-top: 3px solid #a07855;
  font-family: sans-serif;
}

.footer-juku-nav-title {
  margin: 0 0 15px 0;
  font-size: 1.1rem;
  font-weight: bold;
  color: #4a3b32;
  text-align: center;
}

.footer-juku-nav-container {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.footer-juku-nav-group {
  display: flex;
  flex-direction: column;
  border-bottom: 1px dashed #d9cfc1;
  padding-bottom: 10px;
}
.footer-juku-nav-group:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.footer-juku-nav-area {
  font-weight: bold;
  color: #6e5d53;
  font-size: 0.9rem;
  margin-bottom: 5px;
  min-width: 100px;
}

.footer-juku-nav-links {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 15px;
}

.footer-juku-nav-links a {
  font-size: 0.85rem;
  color: #8c6239;
  text-decoration: none;
  background: #fff;
  padding: 4px 8px;
  border: 1px solid #e6dfd5;
  border-radius: 4px;
  transition: all 0.2s ease;
}

.footer-juku-nav-links a:hover {
  background-color: #8c6239;
  color: #fff;
  border-color: #8c6239;
  text-decoration: underline;
}

/* ==========================================================================
   追加：フッター内の「塾選びのヒント」誘導リンク
   ========================================================================== */
.footer-hint-block {
  margin: 0 auto 45px auto;
  padding: 15px;
  background-color: #fff;
  border: 1px solid #e6dfd5;
  border-left: 4px solid #a07855;
  border-radius: 4px;
  max-width: 1000px;
  box-sizing: border-box;
}

.footer-hint-title {
  font-size: 0.9rem;
  font-weight: bold;
  color: #6e5d53;
  margin-bottom: 6px;
}

.footer-hint-body a {
  font-size: 0.95rem;
  font-weight: bold;
  color: #8c6239;
  text-decoration: underline;
  transition: color 0.2s ease;
}

.footer-hint-body a:hover {
  color: #4a3b32;
  text-decoration: none;
}

/* ==========================================================================
   PCサイズ（画面幅768px以上）の時のレイアウト
   ========================================================================== */
@media (min-width: 768px) {
  .footer-juku-nav-group {
    flex-direction: row;
    align-items: flex-start;
  }
  .footer-juku-nav-area {
    margin-bottom: 0;
    padding-top: 4px;
  }
}

@media (max-width: 600px) {
  .all-juku-list ul {
    columns: 1;
  }

  .juku-table th, .juku-table td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

  .juku-table thead {
    display: none;
  }

  .juku-table tr {
    margin-bottom: 1em;
    border-bottom: 2px solid #eee;
    display: block;
  }

  .juku-table td::before {
    content: attr(data-label);
    font-weight: bold;
    display: block;
    margin-bottom: 4px;
  }

  .inline-ad {
    padding: 0.8em;
  }

  .pagination {
    gap: 0.3em;
  }

  .pagination button {
    padding: 6px 10px;
    font-size: 0.85em;
    min-width: 34px;
  }
}