/* ===== AI・パソコン教室 専用テーマ（塾・ノート風） =====
   body に class="theme-school" を付けたページだけに効く。style.css の後に読み込む。 */

body.theme-school {
  --bg-0: #f7f3ea;
  --bg-1: #fbf8f1;
  --bg-2: #ffffff;
  --bg-3: #efe9dc;
  --line: rgba(31, 43, 69, 0.10);
  --line-strong: rgba(31, 43, 69, 0.22);
  --text: #1f2b45;
  --text-2: rgba(31, 43, 69, 0.80);
  --text-3: rgba(31, 43, 69, 0.60);
  --text-4: rgba(31, 43, 69, 0.45);
  --accent-purple: #2f6f5e;   /* 黒板の深緑 */
  --accent-pink: #d9692e;     /* 赤ペン代わりのオレンジ */
  --accent-orange: #d9692e;
  --accent-cyan: #2f6f5e;
  --grad-1: linear-gradient(135deg, #2f6f5e 0%, #3f8a72 100%);
  --marker: #ffe27a;
  --round: 'Zen Maru Gothic', 'Noto Sans JP', sans-serif;
  background: var(--bg-0);
  color: var(--text);
}

/* 背景：ノートの罫線 */
.theme-school .grid-bg {
  background-image: linear-gradient(rgba(47, 111, 94, 0.07) 1px, transparent 1px);
  background-size: 100% 38px;
}
.theme-school .noise { display: none; }

/* ヘッダー */
.theme-school .site-header { background: rgba(247, 243, 234, 0.88); }

/* ヒーロー */
.theme-school .hero__orb {
  background: radial-gradient(circle at 40% 40%, rgba(255, 226, 122, 0.55) 0%, rgba(255, 226, 122, 0.18) 45%, transparent 70%);
  opacity: 1;
}
.theme-school .hero__badge { background: #fff; }
.theme-school .hero__badge-dot { background: #2f6f5e; box-shadow: none; }

/* 見出し：丸ゴシック・ベタ塗り */
.theme-school .hero__title,
.theme-school .section__title,
.theme-school .contact__title,
.theme-school .pitch-card__title,
.theme-school .price-card__title {
  font-family: var(--round);
  letter-spacing: 0;
}
.theme-school .hero__title,
.theme-school .contact__title {
  background: none;
  -webkit-text-fill-color: var(--text);
  color: var(--text);
  line-height: 1.3;
}

/* 強調：黄色い蛍光ペン */
.theme-school .hero__title em,
.theme-school .section__title em,
.theme-school .contact__title em {
  background: linear-gradient(transparent 58%, var(--marker) 58%, var(--marker) 92%, transparent 92%);
  -webkit-background-clip: border-box;
  background-clip: border-box;
  -webkit-text-fill-color: #2f6f5e;
  color: #2f6f5e;
  padding: 0 0.08em;
}

/* セクションラベル：「//」を鉛筆の印に */
.theme-school .section__label { color: #2f6f5e; font-weight: 600; }
.theme-school .section__label::before { content: '✎'; color: #d9692e; }

/* カード：白い紙 */
.theme-school .pitch-card {
  background: #fff;
  border-left: 4px solid #2f6f5e;
  border-radius: 4px 14px 14px 4px;
  box-shadow: 0 2px 0 rgba(31, 43, 69, 0.06), 0 10px 24px rgba(31, 43, 69, 0.05);
}
.theme-school .pitch-card__q { color: #d9692e; }

.theme-school .price-card {
  background: #fff;
  border: 1px solid var(--line-strong);
  box-shadow: 0 10px 24px rgba(31, 43, 69, 0.06);
  backdrop-filter: none;
}
.theme-school .price-card--highlight {
  border: 2px solid #2f6f5e;
  background: #fff;
}
.theme-school .price-card__price {
  background: none;
  -webkit-text-fill-color: #2f6f5e;
  color: #2f6f5e;
  font-family: var(--round);
}

/* ボタン類 */
.theme-school .examples__cta { background: #fff; }
.theme-school .contact__email { background: #fff; backdrop-filter: none; }
.theme-school .contact::before {
  background: radial-gradient(ellipse at top, rgba(255, 226, 122, 0.35) 0%, transparent 55%);
}
.theme-school .line-cta { box-shadow: 0 8px 22px rgba(6, 199, 85, 0.25); }

/* フッター */
.theme-school .footer { background: #efe9dc; }

/* ===== AIの家庭教師（トップページ）用の追加 2026-10-31 ===== */
.theme-school .tutor-kicker {
  font-family: var(--round);
  font-size: clamp(18px, 2.2vw, 24px);
  color: #2f6f5e;
  margin-bottom: 14px;
}
.theme-school .tutor-title {
  font-family: var(--round);
  font-size: clamp(36px, 10.5vw, 104px);
  white-space: nowrap;
  line-height: 1.15;
  letter-spacing: 0;
  color: var(--text);
  margin-bottom: 26px;
}
.theme-school .tutor-title em {
  font-style: normal;
  background: linear-gradient(transparent 60%, var(--marker) 60%, var(--marker) 92%, transparent 92%);
  color: #2f6f5e;
  padding: 0 0.06em;
}
.theme-school .tutor-brand-read { font-size: 0.72em; color: var(--text-3); margin-left: 4px; }
.tutor-places { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 34px; padding: 0; list-style: none; }
.tutor-places li {
  font-size: 14px; font-weight: 500; color: var(--text);
  background: #fff; border: 1px solid var(--line-strong); border-radius: 999px; padding: 8px 16px;
}
.tutor-places li::before { content: '✓ '; color: #2f6f5e; font-weight: 700; }

.theme-school .consult-step,
.theme-school .crosslink,
.theme-school .work-card {
  background: #fff;
  backdrop-filter: none;
  border-color: var(--line-strong);
}
.theme-school .consult-step__num,
.theme-school .crosslink__title em {
  background: none;
  -webkit-text-fill-color: #2f6f5e;
  color: #2f6f5e;
}
.theme-school .crosslink::after { display: none; }
.theme-school .work-card__tag { color: #d9692e; }

/* 料金：2枚並び・90分に「おすすめ」 */
.theme-school .tutor-price .price-card--highlight::before {
  content: 'おすすめ';
  font-family: var(--round);
  letter-spacing: 0.05em;
  font-size: 12px;
  background: #d9692e;
  color: #fff;
}
.tutor-price .price-card__per { font-size: 13px; color: var(--text-3); margin-bottom: 18px; }
.tutor-price .price-card__price { font-size: 40px; }
.tutor-terms {
  max-width: 760px; margin: 36px auto 0; padding: 26px 30px;
  background: #fff; border: 1px dashed var(--line-strong); border-radius: 14px;
  font-size: 14px; line-height: 1.9; color: var(--text-2);
}
.tutor-terms dt { font-weight: 700; color: var(--text); margin-top: 10px; }
.tutor-terms dt:first-child { margin-top: 0; }
.tutor-terms dd { margin: 0 0 0 1em; }

/* 先生のこと */
.tutor-teacher {
  max-width: 760px; margin: 0 auto; padding: 40px 40px;
  background: #fff; border-left: 4px solid #2f6f5e; border-radius: 4px 16px 16px 4px;
  box-shadow: 0 10px 24px rgba(31, 43, 69, 0.05);
  font-size: 15px; line-height: 2; color: var(--text-2);
}
.tutor-teacher p + p { margin-top: 1em; }
.tutor-teacher__name { font-family: var(--round); font-size: 22px; color: var(--text); margin-bottom: 6px; }
.tutor-teacher__role { font-size: 13px; color: var(--text-3); margin-bottom: 22px; }
@media (max-width: 600px) { .tutor-teacher, .tutor-terms { padding: 26px 22px; } }

/* フッターの小さなリンク */
.footer-links { display: flex; flex-wrap: wrap; gap: 8px 22px; justify-content: center; margin-bottom: 18px; font-size: 13px; }
.footer-links a { color: var(--text-3); text-decoration: underline; text-underline-offset: 3px; }
.footer-links a:hover { color: var(--text); }

/* 教室ページ：募集停止のお知らせ */
.school-paused {
  max-width: 760px; margin: 0 0 30px; padding: 18px 22px;
  background: #fff7e0; border: 1px solid #e8c766; border-radius: 12px;
  font-size: 14.5px; line-height: 1.8; color: var(--text);
}
.school-paused a { color: #2f6f5e; font-weight: 700; }

/* 出張エリアの地図 */
.tutor-map-wrap { max-width: 760px; margin: 22px auto 0; }
.tutor-map { height: 380px; border-radius: 14px; border: 1px solid var(--line-strong); overflow: hidden; z-index: 1; }
@media (max-width: 600px) { .tutor-map { height: 300px; } }
.tutor-map-legend { list-style: none; padding: 0; margin: 14px 0 0; font-size: 13.5px; line-height: 1.9; color: var(--text-2); }
.tutor-map-legend .dot { display: inline-block; width: 11px; height: 11px; border-radius: 50%; margin-right: 6px; vertical-align: -1px; }
.tutor-map-legend .dot--free { background: #2f6f5e; }
.tutor-map-legend .dot--500 { background: #d9692e; }
.tutor-map-legend .dot--online { background: #b9b2a3; }
.tutor-map-tip { font-family: var(--round); font-size: 12px; font-weight: 700; color: var(--text); }

.theme-school .brand__sub { white-space: nowrap; }
.theme-school .nav__cta { white-space: nowrap; }
@media (max-width: 420px) {
  .theme-school .brand__sub { font-size: 10px; letter-spacing: 0; }
  .theme-school .nav__cta { padding: 9px 14px; font-size: 12px; }
}
.tutor-map-title { font-family: var(--round); font-size: 20px; color: var(--text); margin: 0 0 6px; }
.tutor-map-sub { font-size: 13.5px; color: var(--text-2); line-height: 1.8; margin: 0 0 14px; }

/* ===== 無料の学習ページ（/learn/）を同じノート風に 2026-10-31 ===== */
.theme-school .article-hero__title {
  font-family: var(--round);
  letter-spacing: 0;
  line-height: 1.4;
}
.theme-school .article-hero__title em {
  background: linear-gradient(transparent 58%, var(--marker) 58%, var(--marker) 92%, transparent 92%);
  -webkit-background-clip: border-box;
  background-clip: border-box;
  -webkit-text-fill-color: #2f6f5e;
  color: #2f6f5e;
  padding: 0 0.06em;
}
.theme-school .article h2 { font-family: var(--round); letter-spacing: 0; border-left-color: #2f6f5e; }

.theme-school .learn-level__tag { background: #2f6f5e; color: #fff; }
.theme-school .learn-level__title { font-family: var(--round); }
.theme-school .learn-card {
  background: #fff;
  border: 1px solid var(--line-strong);
  border-left: 4px solid #2f6f5e;
  border-radius: 4px 14px 14px 4px;
  box-shadow: 0 2px 0 rgba(31, 43, 69, 0.06), 0 10px 24px rgba(31, 43, 69, 0.05);
}
.theme-school .learn-card:hover { background: #fffdf5; border-color: #2f6f5e; }
.theme-school .learn-card__meta { color: #d9692e; }
.theme-school .learn-card__go { color: #2f6f5e; }
.theme-school .learn-card--soon { background: transparent; box-shadow: none; border-left-width: 1px; }

.theme-school .learn-curriculum__col { background: #fff; border-color: var(--line-strong); }
.theme-school .learn-curriculum__col li::before { background: #2f6f5e; }

.theme-school .lesson-meta span { background: #fff; }
.theme-school .lesson-toc { background: #fff; border-color: var(--line-strong); }
.theme-school .lesson-step__num { background: #2f6f5e; color: #fff; }
.theme-school .lesson-code__copy { background: #fff; color: #1f2b45; border-color: var(--line-strong); }
.theme-school .lesson-code__copy:hover { background: #fff7e0; }
.theme-school .lesson-box--tip { background: #eef6f3; border-color: rgba(47, 111, 94, 0.35); }
.theme-school .lesson-box--warn { background: #fff3ea; border-color: rgba(217, 105, 46, 0.45); }
.theme-school .lesson-box--ok { background: #f0f8ef; border-color: rgba(6, 150, 70, 0.35); }
.theme-school .lesson-prompt { background: #fff; border-left-color: #d9692e; box-shadow: 0 6px 16px rgba(31, 43, 69, 0.05); }
.theme-school .lesson-training { background: #fff; border: 1px dashed var(--line-strong); }
