/* 九大進学ゼミ 冬期講座 / 共通CSS
   更新: 2026-10-28 / index2.html と shogaku/index.html の両方で使用
   [共通] .winter-wrap, .winter-heading, .winter-btn, .winter-actions,
          .winter-bottom, .winter-contact, .winter-kicker
   [トップ固有] .winter-hero / .winter-price- / .winter-success- など
   [小学部固有] .winter-elementary .we-*
   注意: 共通サイトヘッダー/フッターに影響しないようページ固有の
         スタイルは .winter-page 内に限定しています。
*/
@charset "UTF-8";
:root {
  --wn-navy: #102e59;
  --wn-blue: #175b9e;
  --wn-ice: #eaf5ff;
  --wn-red: #ed573e;
  --wn-text: #23334b;
}

/* [共通] サイトヘッダー・基本スタイル
   スマートフォン用ヘッダー崩れ防止
=================================== */

@media screen and (max-width: 768px) {
  .gnavi-area {
    display: none !important;
  }
}

.winter-page,.winter-page * {
  box-sizing: border-box;
}

.winter-page {
  font-family: "Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  color: var(--wn-text);
  line-height: 1.75;
  width: 100%;
  max-width: none;
  background: #fff;
  overflow: hidden;
}

.winter-page h1,.winter-page h2,.winter-page h3,.winter-page p {
  margin-top: 0;
}

.winter-page a {
  text-decoration: none;
}

.winter-wrap {
  width: min(1160px,calc(100% - 40px));
  margin: auto;
}

/* ======================================================
   ファーストビュー：画像 → キャッチコピー → 安心学費の縦並び
   画像はHTMLの<picture>で指定し、CSSは横幅のみ制御します。
   background-size: cover や aspect-ratio は使わず、
   JPEG本来の比率で表示するため、PC・SPともに切れません。
   ====================================================== */
.winter-hero {
  width: 100%;
  background: #eef6fc;
  color: #102e59;
}

.winter-hero-visual {
  width: 100%;
  margin: 0;
  padding: 0;
  background: #e8f2fa;
}

.winter-hero-visual picture,
.winter-hero-visual img {
  display: block;
  width: 100%;
}

.winter-hero-visual img {
  height: auto;            /* 元画像の縦横比を保持 */
  max-width: none;        /* テーマ側の画像幅制限を解除 */
  object-fit: contain;    /* 万一高さが指定された際も切らない */
  margin: 0;
  padding: 0;
  border: 0;
}

.winter-hero-content {
  width: 100%;
  padding: clamp(36px, 5vw, 68px) 0 clamp(44px, 6vw, 78px);
  background: #eef6fc;
  text-align: center;
}

.winter-hero-actions {
  justify-content: center;
}

.winter-eyebrow,.winter-kicker {
  font-weight: 900;
  letter-spacing: .18em;
  font-size: 13px;
}

.winter-eyebrow {
  color: #175b9e;
}

.winter-pill {
  display: inline-block;
  border: 1px solid #175b9e;
  border-radius: 40px;
  padding: 5px 20px;
  font-weight: 800;
}

.winter-hero h1 {
  font-size: clamp(31px,3.35vw,54px);
  line-height: 1.3;
  letter-spacing: .02em;
  margin: 20px 0;
}

.winter-hero h1 em {
  font-style: normal;
  color: #b34d17;
}

.winter-hero-lead {
  font-size: clamp(16px,1.7vw,21px);
  font-weight: 700;
}

.winter-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 30px;
}

.winter-hero-actions .winter-btn {
  font-size: 14px;
  padding-right: 20px;
  padding-left: 20px;
}

.winter-btn {
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 26px;
  border-radius: 50px;
  font-weight: 900;
  transition: transform .2s,box-shadow .2s;
}

.winter-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 25px #071f4440;
}

.winter-btn-hot {
  background: linear-gradient(110deg,#ff8c3e,#e84a40);
  color: #fff!important;
  box-shadow: 0 8px 20px #092b5b44;
}

.winter-btn-white {
  background: #fff;
  color: #14518a!important;
}

.winter-offer,.winter-courses {
  padding: 80px 0;
}

.winter-offer {
  background: #f2f8fe;
}

.winter-heading {
  text-align: center;
  margin-bottom: 35px;
}

.winter-kicker {
  color: #2a82bf;
  margin-bottom: 6px;
}

.winter-heading h2,.winter-prep h2,.winter-bottom h2 {
  font-size: clamp(27px,3.6vw,42px);
  line-height: 1.4;
  color: var(--wn-navy);
  margin-bottom: 12px;
}

.winter-heading h2 span,.winter-prep h2 span {
  color: #1677bd;
}

.winter-price-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 24px;
}

.winter-price-card {
  background: white;
  border-radius: 22px;
  padding: 32px;
  box-shadow: 0 12px 35px #164e7b1a;
  border-top: 7px solid #2690ce;
}

.winter-price-card-accent {
  border-top-color: #ed714e;
}

.winter-grade {
  font-weight: 900;
  color: #27577c;
}

.winter-price-card h3 {
  font-size: clamp(20px,2.3vw,30px);
  margin-bottom: 5px;
}

.winter-price-card h3 strong {
  font-size: clamp(40px,5vw,66px);
  color: #e95238;
  letter-spacing: -.05em;
}

.winter-price-card h3 strong small {
  font-size: 24px;
}

.winter-price-detail {
  font-weight: 900;
  font-size: 19px;
  color: #13578e;
}

.winter-small,.winter-disclaimer {
  font-size: 13px;
  color: #63778a;
}

.winter-disclaimer {
  margin: 20px 0 0;
}

.winter-cta-strip {
  background: #103e71;
  color: white;
  padding: 25px 0;
}

.winter-cta-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}

.winter-cta-inner strong {
  font-size: 21px;
}

.winter-cta-inner p {
  margin: 0;
}

.winter-course-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 25px;
}

.winter-course-card {
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid #dce9f4;
  box-shadow: 0 10px 30px #164e7b13;
  background: white;
  display: flex;
  flex-direction: column;
}

.winter-course-top {
  padding: 22px 28px;
  color: white;
  min-height: 130px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.winter-course-top span {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  opacity: .8;
}

.winter-course-top b {
  font-size: 34px;
}

.winter-c1 {
  background: linear-gradient(115deg,#197cb9,#4aaecb);
}

.winter-c2 {
  background: linear-gradient(115deg,#183d84,#437cbd);
}

.winter-c3 {
  background: linear-gradient(115deg,#53438b,#8c79c2);
}

.winter-c4 {
  background: linear-gradient(115deg,#168077,#52b2a3);
}

.winter-course-content {
  padding: 26px 28px 30px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.winter-tag {
  font-size: 13px;
  color: #2777a5;
  font-weight: 900;
}

.winter-course-content h3 {
  font-size: 22px;
  color: #153c6b;
  line-height: 1.45;
}

.winter-course-content p:not(.winter-tag) {
  flex: 1;
}

.winter-course-content a {
  font-weight: 900;
  color: #1267aa;
  border-top: 1px solid #e2edf5;
  padding-top: 15px;
}

.winter-prep {
  padding: 80px 0;
  background: linear-gradient(120deg,#e7f4ff,#f7fbff);
}

.winter-prep-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: center;
}

.winter-prep-note {
  font-size: 14px;
  color: #3b6686;
}

.winter-steps {
  display: grid;
  gap: 14px;
}

.winter-steps>div {
  display: grid;
  grid-template-columns: 70px 1fr;
  column-gap: 15px;
  align-items: center;
  background: white;
  border-radius: 16px;
  padding: 17px 20px;
  box-shadow: 0 6px 20px #164e7b14;
}

.winter-steps b {
  grid-row: span 2;
  background: #d8efff;
  border-radius: 12px;
  text-align: center;
  padding: 14px 5px;
  color: #125f9e;
}

.winter-steps strong {
  font-size: 20px;
  color: #153f6c;
}

.winter-steps span {
  font-size: 14px;
}

.winter-bottom {
  background: linear-gradient(135deg,#102e59,#1668a7);
  color: white;
  text-align: center;
  padding: 80px 0;
}

.winter-bottom h2 {
  color: white;
}

.winter-bottom .winter-kicker {
  color: #a5dcff;
}

.winter-bottom-actions {
  justify-content: center;
}

/* ============================================================
   冬期講座トップページ：電話番号表示の統一（共通CSSとの競合を防止）
   HTML側は必ず class="winter-contact" を使用してください。
   ============================================================ */
.winter-page .winter-bottom .winter-contact {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px 14px;
  margin: 35px auto 0;
  color: #ffffff;
  font-size: 15px;
  line-height: 1.65;
  text-align: center;
}
.winter-page .winter-bottom .winter-contact > .winter-contact-label {
  color: #ffffff;
  font-size: 15px;
  line-height: 1.5;
}
.winter-page .winter-bottom .winter-contact > a[href^="tel:"] {
  display: inline-block !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #ffffff !important;
  background: transparent !important;
  font-family: inherit !important;
  font-size: clamp(24px, 3vw, 30px) !important;
  font-weight: 900 !important;
  line-height: 1.3 !important;
  letter-spacing: .015em;
  text-decoration: none !important;
  white-space: nowrap;
}
.winter-page .winter-bottom .winter-contact > a[href^="tel:"]:hover,
.winter-page .winter-bottom .winter-contact > a[href^="tel:"]:focus-visible {
  color: #d5eafa !important;
  text-decoration: underline !important;
}
.winter-page .winter-bottom .winter-contact > small {
  display: block !important;
  flex: 0 0 100%;
  margin: 0 !important;
  padding: 0 !important;
  color: #d5eafa !important;
  font-size: 13px !important;
  font-weight: 500;
  line-height: 1.55;
  text-align: center;
}
@media screen and (max-width: 600px) {
  .winter-page .winter-bottom .winter-contact {
    flex-direction: column;
    gap: 6px;
    margin-top: 30px;
  }
  .winter-page .winter-bottom .winter-contact > a[href^="tel:"] {
    display: block !important;
    font-size: clamp(24px, 7vw, 29px) !important;
  }
  .winter-page .winter-bottom .winter-contact > small {
    flex: 0 0 auto;
    font-size: 12px !important;
  }
}


/* 4:3モニター：画像の高さを固定しないため特別な比率設定は不要 */

/* タブレット以下はコース案内も1列で表示 */
@media screen and (max-width: 850px) {
  .winter-prep-grid,
  .winter-course-grid {
    grid-template-columns: 1fr;
  }

  .winter-cta-inner {
    flex-direction: column;
    text-align: center;
  }
}

/* スマホ向け余白・文字サイズ・ボタンの調整 */
@media screen and (max-width: 600px) {
  .winter-wrap {
    width: calc(100% - 28px);
  }

  .winter-hero-visual,
  .winter-hero-visual picture,
  .winter-hero-visual img {
    width: 100%;
  }

  .winter-hero-content {
    padding: 34px 0 42px;
    text-align: left;
  }

  .winter-hero-actions {
    justify-content: flex-start;
  }

  .winter-hero h1 {
    font-size: clamp(30px, 8vw, 37px);
  }

  .winter-hero-actions,
  .winter-bottom-actions {
    flex-direction: column;
  }

  .winter-btn {
    width: 100%;
  }

  .winter-price-grid {
    grid-template-columns: 1fr;
  }

  .winter-offer,
  .winter-courses,
  .winter-prep,
  .winter-bottom {
    padding: 55px 0;
  }

  .winter-price-card {
    padding: 24px;
  }

  .winter-course-top {
    min-height: 110px;
  }

  .winter-course-content {
    padding: 23px;
  }

  .winter-steps > div {
    padding: 13px;
  }
}

/* ======================================================
   メイン画像：上部の余白調整（PC・スマホ）
   画像のサイズ・比率は維持し、上に少し空間を設けます。
   ※ JPEG画像に元から含まれない部分は復元できません。
   ====================================================== */
.winter-page .winter-hero-visual {
  padding-top: 20px;
  background-color: #e8f2fa;
  overflow: visible;
}

.winter-page .winter-hero-visual picture,
.winter-page .winter-hero-visual img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  object-position: center top;
}

@media screen and (max-width: 767px) {
  .winter-page .winter-hero-visual {
    padding-top: 12px;
  }
}

/* ======================================================
   雪の結晶背景 + ゆっくり舞う雪の結晶
   画像はキャッチコピー領域だけに適用します。
   メインビジュアルJPEGには一切重ねません。
   SVGの代わりにPNGを使う場合は、次のURLを
   snowflake-pattern.png に書き換えてください。
   ====================================================== */
.winter-page .winter-hero-content {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background-color: #eaf6ff;
  background-image:
    url("../snowflake-pattern.svg"),
    linear-gradient(140deg, #fafdff 0%, #edf8ff 52%, #e0f1fd 100%);
  background-size: 600px 420px, cover;
  background-position: center top, center;
  background-repeat: repeat, no-repeat;
}

.winter-page .winter-hero-content > .winter-wrap {
  position: relative;
  z-index: 2;
}

.winter-page .winter-snowflakes {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
}

.winter-page .winter-snowflake {
  position: absolute;
  top: -65px;
  left: var(--snow-left);
  width: var(--snow-size);
  height: var(--snow-size);
  opacity: 0;
  background-image: url("../snowflake-single.svg");
  background-size: contain;
  background-repeat: no-repeat;
  animation: winter-snow-fall var(--snow-duration) linear infinite;
  animation-delay: var(--snow-delay);
  will-change: transform, opacity;
}

.winter-page .winter-snowflake--01 {
  --snow-left: 4%;
  --snow-size: 25px;
  --snow-duration: 16s;
  --snow-delay: -10s;
}

.winter-page .winter-snowflake--02 {
  --snow-left: 15%;
  --snow-size: 33px;
  --snow-duration: 19s;
  --snow-delay: -4s;
}

.winter-page .winter-snowflake--03 {
  --snow-left: 28%;
  --snow-size: 19px;
  --snow-duration: 14s;
  --snow-delay: -12s;
}

.winter-page .winter-snowflake--04 {
  --snow-left: 39%;
  --snow-size: 27px;
  --snow-duration: 22s;
  --snow-delay: -8s;
}

.winter-page .winter-snowflake--05 {
  --snow-left: 51%;
  --snow-size: 21px;
  --snow-duration: 18s;
  --snow-delay: -2s;
}

.winter-page .winter-snowflake--06 {
  --snow-left: 62%;
  --snow-size: 35px;
  --snow-duration: 24s;
  --snow-delay: -16s;
}

.winter-page .winter-snowflake--07 {
  --snow-left: 71%;
  --snow-size: 22px;
  --snow-duration: 17s;
  --snow-delay: -5s;
}

.winter-page .winter-snowflake--08 {
  --snow-left: 82%;
  --snow-size: 28px;
  --snow-duration: 21s;
  --snow-delay: -15s;
}

.winter-page .winter-snowflake--09 {
  --snow-left: 91%;
  --snow-size: 19px;
  --snow-duration: 15s;
  --snow-delay: -7s;
}

.winter-page .winter-snowflake--10 {
  --snow-left: 96%;
  --snow-size: 31px;
  --snow-duration: 25s;
  --snow-delay: -18s;
}

@keyframes winter-snow-fall {
  0% {
    transform: translate3d(-10px, -40px, 0) rotate(0deg);
    opacity: 0;
  }

  12% {
    opacity: 0.5;
  }

  70% {
    opacity: 0.4;
  }

  100% {
    transform: translate3d(24px, calc(100vh + 220px), 0) rotate(240deg);
    opacity: 0;
  }
}

@media screen and (max-width: 767px) {
  .winter-page .winter-hero-content {
    background-size: 420px 294px, cover;
  }

  /* 小さい画面では雪片を減らして読みやすさを保つ */
  .winter-page .winter-snowflake--03,
  .winter-page .winter-snowflake--05,
  .winter-page .winter-snowflake--07,
  .winter-page .winter-snowflake--09 {
    display: none;
  }
}

/* 動きを減らす設定のユーザーには静止画のみ表示 */
@media (prefers-reduced-motion: reduce) {
  .winter-page .winter-snowflake {
    animation: none;
    display: none;
  }
}


/* コースカードの画像 */
.winter-page .winter-course-image {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;

  display: flex;
  align-items: center;
  justify-content: center;

  background-color: #f2f8fe;
}

/* 画像本体 */
.winter-page .winter-course-image img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: contain;
  object-position: center;
}

/* =========================================================
   成績アップが、次の自信につながる。／逆転勝利の実例
   winter-course-renew.css の末尾へ追加する専用スタイル。
   既存の .winter-page / .winter-wrap / .winter-heading と共存。
   ========================================================= */
.winter-page .winter-success {
  --success-navy: #102e59;
  --success-blue: #175b9e;
  --success-border: #d9e7f3;
  position: relative;
  padding: clamp(62px, 7.5vw, 100px) 0;
  background: linear-gradient(180deg, #f5faff 0%, #edf6ff 45%, #f7fbff 100%);
  isolation: isolate;
}
.winter-page .winter-success::before,
.winter-page .winter-success::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  border-radius: 50%;
  border: 1px solid rgba(63, 143, 197, .09);
}
.winter-page .winter-success::before {
  width: 430px;
  height: 430px;
  top: 70px;
  right: -220px;
  box-shadow: 0 0 0 75px rgba(66, 158, 210, .035);
}
.winter-page .winter-success::after {
  width: 340px;
  height: 340px;
  bottom: 90px;
  left: -240px;
  box-shadow: 0 0 0 65px rgba(66, 158, 210, .035);
}
.winter-page .winter-success-heading {
  margin-bottom: clamp(30px, 4.2vw, 52px);
}
.winter-page .winter-success-heading .winter-kicker {
  letter-spacing: .19em;
}
.winter-page .winter-success-heading h2 {
  margin-bottom: 15px;
}
.winter-page .winter-success-intro {
  font-size: clamp(14px, 1.5vw, 17px);
  line-height: 1.9;
  color: #50667e;
}
.winter-page .winter-success-list {
  display: grid;
  gap: 26px;
}
.winter-page .winter-success-card {
  --case-accent: #1979b8;
  --case-light: #e8f5ff;
  display: grid;
  grid-template-columns: minmax(0, 43%) minmax(0, 57%);
  border-radius: 26px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--success-border);
  box-shadow: 0 16px 45px rgba(16, 57, 101, .085);
}
.winter-page .winter-success-card--jusanbu {
  --case-accent: #287f9f;
  --case-light: #e6f6f8;
}
.winter-page .winter-success-card--kamo {
  --case-accent: #456db2;
  --case-light: #ecf1ff;
}
.winter-page .winter-success-data {
  position: relative;
  padding: clamp(25px, 3.2vw, 42px);
  background: linear-gradient(145deg, #fff 0%, var(--case-light) 100%);
  border-right: 1px solid #e0ebf4;
  min-width: 0;
}
.winter-page .winter-success-data::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 6px;
  background: var(--case-accent);
}
.winter-page .winter-success-labels {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: clamp(24px, 2.8vw, 37px);
}
.winter-page .winter-success-case {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  color: var(--case-accent);
  font: 900 11px/1.4 Arial, sans-serif;
  letter-spacing: .12em;
}
.winter-page .winter-success-case b {
  font-size: 31px;
  line-height: 1;
  letter-spacing: -.045em;
}
.winter-page .winter-success-school {
  color: #1a426b;
  font-size: 13px;
  font-weight: 800;
}
.winter-page .winter-success-school span {
  color: #607b92;
  font-weight: 600;
}
.winter-page .winter-success-result-label {
  margin: 0 0 2px;
  color: var(--case-accent);
  font-size: 13px;
  font-weight: 900;
}
.winter-page .winter-success-data h3 {
  margin: 0 0 25px;
  color: var(--success-navy);
  font-size: clamp(25px, 2.8vw, 34px);
  font-weight: 900;
  letter-spacing: .015em;
  line-height: 1.4;
}
.winter-page .winter-success-data h3 span {
  display: inline-block;
  margin-left: 7px;
  font-size: .52em;
  color: #fff;
  background: var(--case-accent);
  vertical-align: .18em;
  padding: 3px 11px;
  border-radius: 100px;
  letter-spacing: .05em;
}
.winter-page .winter-success-metric-title {
  margin: 0 0 10px;
  color: #3d6588;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .045em;
}
.winter-page .winter-success-compare {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 27px minmax(0, 1fr);
  align-items: end;
  gap: 8px;
}
.winter-page .winter-success-number-block {
  min-width: 0;
}
.winter-page .winter-success-number-label {
  display: block;
  min-height: 2.2em;
  color: #59718a;
  font-size: clamp(10px, 1.06vw, 12px);
  font-weight: 800;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.winter-page .winter-success-number-block strong {
  display: block;
  margin-top: 5px;
  color: #65809d;
  font-size: clamp(31px, 3.55vw, 47px);
  line-height: 1.2;
  font-family: Arial, "Yu Gothic", sans-serif;
  font-variant-numeric: tabular-nums;
  font-weight: 900;
  letter-spacing: -.055em;
}
.winter-page .winter-success-number-block--after strong {
  color: var(--case-accent);
}
.winter-page .winter-success-arrow {
  display: block;
  padding-bottom: 7px;
  color: var(--case-accent);
  font-size: 24px;
  font-weight: 900;
  text-align: center;
  line-height: 1.2;
}
.winter-page .winter-success-story {
  padding: clamp(28px, 3.45vw, 45px);
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.winter-page .winter-success-story-eyebrow {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  color: var(--case-accent);
  font-weight: 900;
  font-size: 12px;
  letter-spacing: .04em;
  padding: 4px 0;
  margin-bottom: 11px;
  border-bottom: 2px solid var(--case-accent);
}
.winter-page .winter-success-story h4 {
  color: #163c69;
  font-size: clamp(20px, 2.15vw, 27px);
  font-weight: 900;
  line-height: 1.47;
  margin: 0 0 17px;
}
.winter-page .winter-success-story > p {
  margin: 0;
  font-size: 14px;
  line-height: 1.95;
  color: #435b70;
}
.winter-page .winter-success-extra {
  margin-top: 20px;
  padding: 14px 17px;
  background: #f4f9fd;
  border: 1px solid #e4eef6;
  border-radius: 12px;
}
.winter-page .winter-success-extra > span {
  display: block;
  margin-bottom: 4px;
  color: #2d769d;
  font-size: 11px;
  font-weight: 900;
}
.winter-page .winter-success-extra p {
  color: #28445f;
  font-size: 12.5px;
  font-weight: 650;
  line-height: 1.65;
  margin: 0;
}
.winter-page .winter-success-extra b {
  color: var(--case-accent);
  font-size: 15px;
  font-weight: 900;
  white-space: nowrap;
}
.winter-page .winter-success-extra i {
  margin: 0 3px;
  color: #5894b5;
  font-style: normal;
}
.winter-page .winter-success-extra small {
  display: inline-block;
  font-weight: 500;
  font-size: 11px;
  color: #718296;
  margin-left: 5px;
}
.winter-page .winter-success-note {
  margin: 20px 0 0;
  color: #688099;
  font-size: 11px;
  line-height: 1.75;
}
@media screen and (max-width: 850px) {
  .winter-page .winter-success-card {
    grid-template-columns: minmax(0, 1fr);
  }
  .winter-page .winter-success-data {
    border-right: 0;
    border-bottom: 1px solid #e0ebf4;
    padding: 26px 30px;
  }
  .winter-page .winter-success-labels { margin-bottom: 19px; }
  .winter-page .winter-success-data h3 { margin-bottom: 17px; }
  .winter-page .winter-success-compare { max-width: 420px; }
  .winter-page .winter-success-number-block strong { font-size: clamp(34px, 6vw, 47px); }
  .winter-page .winter-success-story { padding: 26px 30px 30px; }
}
@media screen and (max-width: 600px) {
  .winter-page .winter-success { padding: 55px 0; }
  .winter-page .winter-success-intro { font-size: 14px; text-align: left; }
  .winter-page .winter-success-pc-only { display: none; }
  .winter-page .winter-success-list { gap: 20px; }
  .winter-page .winter-success-card { border-radius: 18px; }
  .winter-page .winter-success-data { padding: 24px 20px 27px; }
  .winter-page .winter-success-story { padding: 24px 20px 27px; }
  .winter-page .winter-success-data h3 { font-size: clamp(24px, 7vw, 31px); }
  .winter-page .winter-success-number-block strong { font-size: clamp(33px, 10vw, 45px); }
  .winter-page .winter-success-number-label { font-size: 10px; }
  .winter-page .winter-success-compare { gap: 4px; grid-template-columns: minmax(0, 1fr) 21px minmax(0, 1fr); }
  .winter-page .winter-success-arrow { font-size: 19px; }
  .winter-page .winter-success-story h4 { font-size: 21px; }
  .winter-page .winter-success-story > p { font-size: 13px; }
  .winter-page .winter-success-extra { padding: 12px; }
  .winter-page .winter-success-break { display: none; }
}


/* ============================================================
   [小学部専用] 学年ナビ・カリキュラム・小学6年生の中学準備
   .winter-elementary 内に閉じて、サイト共通のヘッダーを保護。
   共通の見出し・ボタン・電話番号は上の .winter-* を使用。
   ============================================================ */
.winter-elementary .we-breadcrumb {display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding-top:15px;padding-bottom:15px;font-size:12px;color:#71859a;}
.winter-elementary .we-breadcrumb a {color:#466b91;}
.winter-elementary .we-breadcrumb a:hover {text-decoration:underline;}
.winter-elementary .we-hero {position:relative;overflow:hidden;padding:clamp(45px,5.3vw,82px) 0 clamp(42px,5.5vw,80px);background:linear-gradient(120deg,#f0f9ff 0%,#e7f4ff 52%,#f4faff 100%);}
.winter-elementary .we-hero:before {content:"";position:absolute;inset:0;background:url('../snowflake-pattern.svg') center top/520px auto repeat;opacity:.28;pointer-events:none;}
.winter-elementary .we-hero-grid {position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr);align-items:center;gap:clamp(28px,4vw,58px);}
.winter-elementary .we-hero-copy {min-width:0;}
.winter-elementary .we-hero-copy .winter-eyebrow {color:#316a9c;letter-spacing:.17em;margin:0 0 14px;font-size:12px;}
.winter-elementary .we-hero-label {display:inline-flex;align-items:center;border:1px solid #abcfe7;color:#12548c;border-radius:999px;padding:5px 18px;font-size:13px;font-weight:800;background:rgba(255,255,255,.78);margin-bottom:20px;}
.winter-elementary .we-hero h1 {font-size:clamp(34px,3.65vw,55px);line-height:1.34;letter-spacing:.015em;color:var(--wn-navy);margin:0 0 22px;font-weight:900;}
.winter-elementary .we-hero h1 em {font-style:normal;color:#1475ae;}
.winter-elementary .we-hero-lead {color:#435c74;font-size:clamp(15px,1.5vw,18px);font-weight:600;line-height:1.95;margin:0 0 24px;}
.winter-elementary .we-hero-offer {display:flex;flex-direction:column;gap:3px;border:1px solid #cce2ef;border-left:5px solid #f4783c;border-radius:15px;background:#fff;box-shadow:0 15px 33px rgba(19,70,117,.07);padding:16px 22px;margin-bottom:23px;}
.winter-elementary .we-hero-offer-kicker {font-size:12px;letter-spacing:.05em;font-weight:800;color:#476b89;}
.winter-elementary .we-hero-offer-value {font-size:19px;font-weight:900;color:#153858;line-height:1.4;}
.winter-elementary .we-hero-offer-value strong {font-size:clamp(35px,4.4vw,50px);letter-spacing:.03em;color:#dd531d;margin-left:9px;}
.winter-elementary .we-hero-offer-detail {font-size:12px;color:#5d6d7e;line-height:1.7;}
.winter-elementary .we-actions {gap:10px;margin-top:0;}
.winter-elementary .we-actions .winter-btn {font-size:14px;min-height:56px;text-align:center;line-height:1.5;}
.winter-elementary .we-actions--start .we-action-primary {flex:1 1 235px;}
.winter-elementary .we-actions--start .we-action-secondary {flex:1 1 220px;}
.winter-elementary .we-hero-footnote {font-size:11px;line-height:1.75;color:#667d90;margin:14px 0 0;}
.winter-elementary .we-hero-photo {position:relative;min-width:0;border-radius:24px;overflow:hidden;box-shadow:0 25px 56px rgba(16,46,89,.16);background:#dcebf4;}
.winter-elementary .we-hero-photo img,.winter-elementary .we-six-photo img {display:block;width:100%;height:auto;object-fit:contain;}
.winter-elementary .we-photo-caption {position:absolute;left:14px;bottom:14px;max-width:calc(100% - 28px);display:inline-block;padding:9px 17px;color:var(--wn-navy);font-weight:900;font-size:13px;line-height:1.5;background:rgba(255,255,255,.95);border-radius:99px;box-shadow:0 4px 16px #102e5926;}
.winter-elementary .we-hero-bottom {height:5px;position:absolute;bottom:0;width:100%;background:linear-gradient(90deg,#3ab6d3,#206da9 60%,#123961);}
.winter-elementary .we-grade-nav {background:#fff;padding:30px 0 36px;box-shadow:0 10px 30px rgba(25,79,122,.045);}
.winter-elementary .we-grade-nav-caption {margin:0 0 14px;color:#1e6b9b;font-size:11px;font-weight:900;letter-spacing:.17em;}
.winter-elementary .we-grade-nav-caption span {color:#455f76;letter-spacing:0;font-size:14px;margin-left:13px;}
.winter-elementary .we-grade-nav-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.winter-elementary .we-grade-nav-grid>a {display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 8px;min-width:0;padding:15px 18px 14px;border-radius:14px;background:#f3faff;border:1px solid #cce3f2;color:#173e69;transition:background .2s,transform .2s,border-color .2s;}
.winter-elementary .we-grade-nav-grid>a:hover {background:#e8f4fe;transform:translateY(-3px);border-color:#94c4e4;}
.winter-elementary .we-grade-nav-grid>a small {font-size:11px;font-weight:700;}
.winter-elementary .we-grade-nav-grid>a strong {font-size:23px;font-weight:900;}
.winter-elementary .we-grade-nav-grid>a>span {display:flex;align-items:center;justify-content:space-between;width:100%;font-size:12px;color:#607891;}
.winter-elementary .we-grade-nav-grid>a>span b {font-size:17px;line-height:1;color:#2571a3;}
.winter-elementary .we-grade-nav-grid>a.we-grade-nav-six {background:#eaf3ff;border-color:#b2d3ed;}
.winter-elementary .we-heading>p:last-child {color:#536b82;}
.winter-elementary .we-overview {padding:clamp(60px,7vw,94px) 0;background:#f8fcff;}
.winter-elementary .we-path-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
.winter-elementary .we-path-card {display:flex;flex-direction:column;min-height:268px;padding:32px 35px;border:1px solid #d4e5ef;border-radius:22px;background:linear-gradient(135deg,#fff 56%,#edf8fd);color:var(--wn-navy);box-shadow:0 15px 28px rgba(28,69,111,.05);transition:transform .2s,box-shadow .2s;}
.winter-elementary .we-path-card:hover {transform:translateY(-4px);box-shadow:0 20px 40px rgba(28,69,111,.1);}
.winter-elementary .we-path-card--six {background:linear-gradient(135deg,#fff 52%,#dceffe);}
.winter-elementary .we-path-kicker {font-size:13px;font-weight:800;color:#2374ac;letter-spacing:.08em;}
.winter-elementary .we-path-title {font-size:clamp(23px,2.3vw,31px);font-weight:900;line-height:1.45;margin:14px 0 9px;}
.winter-elementary .we-path-desc {font-size:14px;line-height:1.85;color:#5b6e7e;}
.winter-elementary .we-path-link {margin-top:auto;padding-top:19px;font-weight:900;color:#1f6da4;font-size:14px;}
.winter-elementary .we-path-link b {margin-left:7px;}
.winter-elementary .we-facts {display:grid;grid-template-columns:.82fr 1fr 1.28fr;gap:0;border:1px solid #d4e3ef;border-radius:17px;background:#fff;margin-top:25px;overflow:hidden;}
.winter-elementary .we-facts>div {display:flex;flex-direction:column;gap:5px;padding:19px 23px;min-width:0;}
.winter-elementary .we-facts>div+div {border-left:1px solid #dbe7f0;}
.winter-elementary .we-facts span {font-size:12px;font-weight:800;color:#7290a9;}
.winter-elementary .we-facts strong {font-size:19px;color:#143c68;font-weight:900;}
.winter-elementary .we-facts strong.we-free {font-size:26px;color:#db5f2b;}
.winter-elementary .we-facts small {font-size:11px;line-height:1.65;color:#718092;}
.winter-elementary .we-grades {padding:clamp(64px,7.5vw,105px) 0;background:#fff;}
.winter-elementary .we-grade-card-list {display:grid;gap:22px;}
.winter-elementary .we-grade-card {display:grid;grid-template-columns:minmax(0,30%) minmax(0,70%);border:1px solid #d5e5ef;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 12px 30px rgba(29,74,120,.055);}
.winter-elementary .we-grade-card-side {padding:31px 32px;background:linear-gradient(145deg,#123e71,#1b6c9e);color:#fff;}
.winter-elementary .we-grade-card:nth-child(2) .we-grade-card-side {background:linear-gradient(145deg,#154c7a,#207f9f);}
.winter-elementary .we-grade-card:nth-child(3) .we-grade-card-side {background:linear-gradient(145deg,#103c73,#305baf);}
.winter-elementary .we-grade-card-side>span {display:block;color:#cae9ff;font-size:12px;letter-spacing:.18em;font-weight:800;margin-bottom:10px;}
.winter-elementary .we-grade-card-side h3 {font-size:clamp(25px,2.6vw,34px);line-height:1.4;margin:0 0 14px;color:#fff;}
.winter-elementary .we-grade-card-side p {font-size:14px;line-height:1.9;color:#dfedff;font-weight:600;margin:0;}
.winter-elementary .we-grade-card-content {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;padding:29px 32px;}
.winter-elementary .we-subject {min-width:0;}
.winter-elementary .we-subject h4 {display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 18px;color:#244566;font-size:14px;font-weight:700;}
.winter-elementary .we-subject-label {display:inline-flex;align-items:center;justify-content:center;padding:6px 13px;background:#eaf3ff;color:#13558c;border-radius:8px;font-size:15px;font-weight:900;}
.winter-elementary .we-subject-label--math {background:#e6f8f5;color:#08736c;}
.winter-elementary .we-subject ul, .winter-elementary .we-six-subject ul {list-style:none;padding:0;margin:0;}
.winter-elementary .we-subject li {position:relative;padding:0 0 9px 17px;font-size:13px;line-height:1.65;color:#4e657a;}
.winter-elementary .we-subject li:before {content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:100%;background:#46a3c6;}
.winter-elementary .we-curriculum-note {font-size:12px;line-height:1.75;color:#708298;margin:19px 0 0;}
.winter-elementary .we-section-cta {margin-top:35px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 32px;background:#eef7ff;border-radius:17px;border:1px solid #cfe3f3;}
.winter-elementary .we-section-cta strong {font-size:18px;color:#143d6a;}
.winter-elementary .we-section-cta p {font-size:13px;color:#60788e;margin:5px 0 0;}
.winter-elementary .we-section-cta .winter-btn {font-size:13px;min-height:55px;text-align:center;}
.winter-elementary .we-six {padding:clamp(65px,7.5vw,104px) 0;background:linear-gradient(180deg,#eaf6ff 0%,#f5fbff 68%,#f0f8fe 100%);}
.winter-elementary .we-six-feature {display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:35px;}
.winter-elementary .we-six-copy .winter-kicker {margin:0 0 10px;color:#2078ab;}
.winter-elementary .we-six-pill {display:inline-block;padding:6px 17px;background:#fff;border:1px solid #bed8ec;border-radius:99px;color:#1d6296;font-size:13px;font-weight:900;}
.winter-elementary .we-six-copy h2 {margin:16px 0 20px;color:#10335e;font-weight:900;font-size:clamp(31px,3.4vw,48px);line-height:1.42;}
.winter-elementary .we-six-copy h2 span {color:#1681b8;}
.winter-elementary .we-six-copy>p:not(.winter-kicker) {color:#4b657c;line-height:2;font-size:15px;margin:0 0 25px;}
.winter-elementary .we-six-copy .winter-btn {font-size:14px;text-align:center;}
.winter-elementary .we-six-photo {border-radius:23px;overflow:hidden;box-shadow:0 22px 40px rgba(20,70,115,.14);}
.winter-elementary .we-six-subhead {text-align:center;margin:65px 0 25px;}
.winter-elementary .we-six-subhead h3 {font-size:clamp(22px,2.6vw,31px);color:#163d69;margin:0 0 8px;}
.winter-elementary .we-six-subhead p {font-size:14px;color:#657b90;margin:0;}
.winter-elementary .we-six-subjects {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.winter-elementary .we-six-subject {border:1px solid #d3e3ef;background:#fff;border-radius:17px;padding:23px 20px 28px;min-width:0;}
.winter-elementary .we-six-subject-icon {display:grid;place-items:center;background:#e3f2fd;border-radius:11px;color:#136a9e;font-weight:900;width:43px;height:43px;margin-bottom:12px;font-size:19px;}
.winter-elementary .we-six-subject h4 {font-size:20px;margin:0 0 11px;color:#183f69;}
.winter-elementary .we-six-subject li {font-size:13px;color:#567083;line-height:1.75;margin-bottom:9px;padding-left:14px;position:relative;}
.winter-elementary .we-six-subject li:before {content:"";position:absolute;left:0;top:10px;width:6px;height:6px;border-radius:50%;background:#3aa1c4;}
.winter-elementary .we-six-roadmap {display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,2fr);gap:27px;align-items:center;margin-top:35px;padding:33px 31px;border-radius:19px;background:#10365e;color:#fff;}
.winter-elementary .we-roadmap-title .winter-kicker {color:#a3d4f4;}
.winter-elementary .we-roadmap-title h3 {font-size:clamp(20px,2vw,26px);color:#fff;line-height:1.5;margin:5px 0 0;}
.winter-elementary .we-six-roadmap ol {list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.winter-elementary .we-six-roadmap li {display:flex;flex-direction:column;position:relative;padding:17px 15px;border:1px solid #6487a8;border-radius:12px;min-width:0;background:#234e77;}
.winter-elementary .we-six-roadmap li.we-roadmap-current {background:#f1faff;color:#173d66;border-color:#f1faff;}
.winter-elementary .we-six-roadmap li span {font-size:12px;font-weight:800;opacity:.85;}
.winter-elementary .we-six-roadmap li strong {font-size:18px;line-height:1.4;margin:5px 0;}
.winter-elementary .we-six-roadmap li small {font-size:11px;line-height:1.65;opacity:.85;}
.winter-elementary .we-six-roadmap li b {display:inline-block;margin-top:8px;font-size:10px;line-height:1.5;color:#dd572d;}
.winter-elementary .we-guide {padding:clamp(60px,7vw,90px) 0;background:#fff;}
.winter-elementary .we-guide-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;}
.winter-elementary .we-guide-item {padding:27px 25px;border:1px solid #d6e5ef;border-radius:18px;background:#fff;display:flex;flex-direction:column;}
.winter-elementary .we-guide-item>span {font-size:13px;font-weight:900;color:#3183b5;letter-spacing:.18em;}
.winter-elementary .we-guide-item h3 {font-size:18px;color:#143d67;margin:10px 0;line-height:1.5;}
.winter-elementary .we-guide-item p {font-size:13px;color:#5d7488;line-height:1.8;flex:1;}
.winter-elementary .we-guide-item a {display:inline-block;color:#126ba5;font-size:13px;font-weight:900;margin-top:9px;}
.winter-elementary .we-final {padding:clamp(65px,7.5vw,110px) 0;background:#102e59;position:relative;overflow:hidden;}
.winter-elementary .we-final:before {content:"";position:absolute;inset:0;background:url('../snowflake-pattern.svg') center top/500px auto repeat;opacity:.12;pointer-events:none;}
.winter-elementary .we-final-content {position:relative;}
.winter-elementary .we-final h2 {font-size:clamp(30px,3.5vw,47px);font-weight:900;line-height:1.45;margin:16px 0;}
.winter-elementary .we-final h2 span {color:#8fd5f7;}
.winter-elementary .we-final-content>p:not(.winter-kicker):not(.winter-contact) {color:#e2effb;line-height:1.9;}
.winter-elementary .we-actions--final {justify-content:center;margin:28px 0 23px;}
.winter-elementary .we-actions--final .winter-btn {min-width:240px;}
.winter-elementary .we-other {background:#f7fbff;padding:clamp(60px,7vw,95px) 0 40px;}
.winter-elementary .we-other-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;}
.winter-elementary .we-other-grid>a {display:flex;flex-direction:column;align-items:flex-start;min-height:211px;padding:27px 26px;color:#15375c;background:#fff;border:1px solid #d7e7f1;border-radius:17px;box-shadow:0 12px 25px rgba(36,79,116,.04);transition:transform .2s,box-shadow .2s;}
.winter-elementary .we-other-grid>a:hover {transform:translateY(-3px);box-shadow:0 20px 35px rgba(36,79,116,.1);}
.winter-elementary .we-other-num {color:#3285b4;font-size:11px;font-weight:900;letter-spacing:.1em;}
.winter-elementary .we-other-grid strong {font-size:26px;font-weight:900;margin:12px 0 3px;}
.winter-elementary .we-other-grid small {font-size:13px;color:#5c7891;}
.winter-elementary .we-other-link {color:#166ea6;font-size:13px;font-weight:900;margin-top:auto;padding-top:16px;}
.winter-elementary .we-other-link b {margin-left:7px;}
.winter-elementary .we-back-links {display:flex;flex-wrap:wrap;gap:18px;justify-content:center;margin:35px 0 0;font-size:13px;font-weight:800;}
.winter-elementary .we-back-links a {color:#386c96;}
.winter-elementary #grades-3to5,.winter-elementary #grade-3,.winter-elementary #grade-4,.winter-elementary #grade-5,.winter-elementary #grade-6 {scroll-margin-top:24px;}
.winter-elementary a:focus-visible {outline:3px solid #f7a34b;outline-offset:4px;}
@media screen and (max-width:950px) {
 .winter-elementary .we-hero-grid {grid-template-columns:1fr;gap:29px;}
 .winter-elementary .we-hero-photo {max-width:650px;margin:auto;width:100%;}
 .winter-elementary .we-six-feature {grid-template-columns:1fr;gap:30px;}
 .winter-elementary .we-six-photo {max-width:680px;margin:auto;width:100%;}
 .winter-elementary .we-six-subjects {grid-template-columns:repeat(2,minmax(0,1fr));}
 .winter-elementary .we-six-roadmap {grid-template-columns:1fr;}
 .winter-elementary .we-guide-grid {grid-template-columns:1fr;}
}
@media screen and (max-width:767px) {
 .winter-elementary .we-hero {padding:38px 0 43px;}
 .winter-elementary .we-hero-copy .winter-eyebrow {font-size:10px;}
 .winter-elementary .we-hero h1 {font-size:clamp(32px,7.8vw,45px);}
 .winter-elementary .we-hero-lead {font-size:14px;}
 .winter-elementary .we-hero-photo {border-radius:16px;}
 .winter-elementary .we-grade-nav {padding:25px 0 27px;}
 .winter-elementary .we-grade-nav-caption span {display:block;margin:4px 0 0;font-size:13px;}
 .winter-elementary .we-grade-nav-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
 .winter-elementary .we-grade-nav-grid>a {padding:12px;}
 .winter-elementary .we-grade-nav-grid>a strong {font-size:21px;}
 .winter-elementary .we-grade-nav-grid>a>span {font-size:11px;}
 .winter-elementary .we-path-grid {grid-template-columns:1fr;gap:14px;}
 .winter-elementary .we-path-card {min-height:0;padding:24px 22px;}
 .winter-elementary .we-path-title {font-size:25px;}
 .winter-elementary .we-facts {grid-template-columns:1fr;}
 .winter-elementary .we-facts>div+div {border-left:0;border-top:1px solid #dbe7f0;}
 .winter-elementary .we-facts>div {padding:15px 21px;}
 .winter-elementary .we-grade-card {grid-template-columns:1fr;}
 .winter-elementary .we-grade-card-side {padding:22px;}
 .winter-elementary .we-grade-card-side h3 {font-size:27px;margin:0 0 5px;}
 .winter-elementary .we-grade-card-side p {font-size:12px;}
 .winter-elementary .we-grade-card-side p br {display:none;}
 .winter-elementary .we-grade-card-content {grid-template-columns:1fr;gap:18px;padding:23px;}
 .winter-elementary .we-subject h4 {margin-bottom:9px;}
 .winter-elementary .we-section-cta {flex-direction:column;align-items:stretch;padding:24px 22px;}
 .winter-elementary .we-section-cta .winter-btn {width:100%;}
 .winter-elementary .we-six-subhead {margin:45px 0 22px;}
 .winter-elementary .we-six-roadmap {padding:25px 19px;}
 .winter-elementary .we-six-roadmap ol {grid-template-columns:1fr;}
 .winter-elementary .we-six-roadmap li {min-height:0;}
 .winter-elementary .we-other-grid {grid-template-columns:1fr;gap:12px;}
 .winter-elementary .we-other-grid>a {min-height:0;padding:22px;}
 .winter-elementary .we-actions .winter-btn,.winter-elementary .we-actions--final .winter-btn {width:100%;min-width:0;}
 .winter-elementary .we-pc {display:none;}
}
@media screen and (max-width:480px) {
 .winter-elementary .we-six-subjects {grid-template-columns:1fr;}
 .winter-elementary .we-six-subject {padding:19px 20px;}
 .winter-elementary .we-grade-nav-grid>a strong {font-size:20px;}
 .winter-elementary .we-hero-offer {padding:14px 17px;}
}
@media (prefers-reduced-motion:reduce) {
 .winter-elementary .we-grade-nav-grid>a,.winter-elementary .we-path-card,.winter-elementary .we-other-grid>a {transition:none;}
}
/* 中学部ページにのみ必要な追加CSS。
 * 既存共通CSS（トップ・小学部で使用）の末尾に追記してください。
 * 既存の下層ページ用 .winter-elementary .we-* を共有します。
 */
.winter-page.winter-junior .we-hero-offer-value strong small {font-size:.47em;letter-spacing:0}
.winter-page.winter-junior .wj-tax {font-size:12px;font-weight:700;color:#546c80}
.winter-page.winter-junior .we-grade-nav-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
.winter-page.winter-junior .we-grade-card-content {grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.winter-page.winter-junior .wj-subject-label--english {background:#fff0e5;color:#9c5422}
.winter-page.winter-junior .wj-subject-note {font-size:11px;line-height:1.5;color:#788899;margin:5px 0 0}
.winter-page.winter-junior .we-facts strong.we-free {font-size:clamp(21px,2.4vw,29px)}
.winter-page.winter-junior .wj-warning {display:flex;align-items:flex-start;gap:13px;background:#fff7ed;border:1px solid #edbf94;border-left:5px solid #df7e34;border-radius:13px;padding:16px 21px;color:#714423;margin-bottom:38px;line-height:1.75}
.winter-page.winter-junior .wj-warning strong {flex:0 0 auto;font-size:14px}
.winter-page.winter-junior .wj-warning span {font-size:13px}
.winter-page.winter-junior .wj-third-facts {display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 22px}
.winter-page.winter-junior .wj-third-facts p {display:flex;flex-direction:column;padding:14px 16px;margin:0!important;background:#fff;border:1px solid #cddfeb;border-radius:12px;line-height:1.55}
.winter-page.winter-junior .wj-third-facts span {color:#647e92;font-size:11px;font-weight:800}
.winter-page.winter-junior .wj-third-facts strong {color:#113e69;font-size:clamp(19px,2vw,26px);font-weight:900;line-height:1.45}
.winter-page.winter-junior .wj-third-facts small {color:#667b8c;font-size:10px;line-height:1.6;margin-top:3px}
.winter-page.winter-junior .we-six-subjects {grid-template-columns:repeat(5,minmax(0,1fr))}
.winter-page.winter-junior .we-six-subject {padding:21px 16px 23px}
.winter-page.winter-junior #grade-j1,.winter-page.winter-junior #grade-j2,.winter-page.winter-junior #grade-j3,.winter-page.winter-junior #grades-j1j2 {scroll-margin-top:24px}
@media(max-width:1050px){
 .winter-page.winter-junior .we-grade-card-content {grid-template-columns:repeat(2,minmax(0,1fr))}
 .winter-page.winter-junior .we-six-subjects {grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:767px){
 .winter-page.winter-junior .we-grade-card-content {grid-template-columns:1fr;gap:18px}
 .winter-page.winter-junior .we-grade-nav-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 .winter-page.winter-junior .wj-warning {display:block;padding:14px 16px;margin-bottom:27px}
 .winter-page.winter-junior .wj-warning strong {display:block;margin-bottom:5px}
 .winter-page.winter-junior .wj-third-facts {grid-template-columns:1fr 1fr}
 .winter-page.winter-junior .we-six-subjects {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){
 .winter-page.winter-junior .we-grade-nav-grid {grid-template-columns:1fr}
 .winter-page.winter-junior .we-grade-nav-grid>a {padding:11px 16px}
 .winter-page.winter-junior .wj-third-facts {grid-template-columns:1fr}
 .winter-page.winter-junior .we-six-subjects {grid-template-columns:1fr}
}

/* =========================================================
   高等部専用CSS 2026冬期講習会
   共通の .we-* / .winter-* は既存CSSを再利用
   ========================================================= */
.winter-page.winter-highschool .wh-hero-offer {border-left-color:#f07d3f}
.winter-page.winter-highschool .wh-hero-offer .we-hero-offer-value strong small {font-size:.48em;letter-spacing:0}
.winter-page.winter-highschool .wh-hero-offer .we-hero-offer-detail b {font-weight:700}
.winter-page.winter-highschool .wh-hero-photo img {aspect-ratio:16/9;object-fit:cover}
.winter-page.winter-highschool .wh-anchor-nav .we-grade-nav-grid {grid-template-columns:repeat(5,minmax(0,1fr))}
.winter-page.winter-highschool .wh-anchor-nav .we-grade-nav-grid>a {display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.winter-page.winter-highschool .wh-anchor-nav .we-grade-nav-grid>a strong {font-size:clamp(14px,1.5vw,19px);line-height:1.55}
.winter-page.winter-highschool .wh-plan-grid .we-path-card {min-height:360px}
.winter-page.winter-highschool .wh-plan-duration {font-size:18px;font-weight:900;color:#175b9e}
.winter-page.winter-highschool .wh-plan-before {margin-top:11px;font-size:14px;color:#637b91;text-decoration:line-through}
.winter-page.winter-highschool .wh-plan-price {display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;color:#16395c;margin:5px 0 14px}
.winter-page.winter-highschool .wh-plan-price small {font-size:12px;font-weight:800}
.winter-page.winter-highschool .wh-plan-price strong {color:#e44f2b;font-size:clamp(32px,3.5vw,45px);font-weight:900;line-height:1.3}
.winter-page.winter-highschool .wh-plan-price strong span {font-size:.48em}
.winter-page.winter-highschool .wh-plan-note {margin-top:21px}
.winter-page.winter-highschool .wh-benefits-grid .we-guide-item {background:linear-gradient(150deg,#fff 70%,#eaf6ff)}
.winter-page.winter-highschool .wh-benefit-strong {font-size:17px;color:#db572f;line-height:1.6}
.winter-page.winter-highschool .wh-courses {background:#f7fbff}
.winter-page.winter-highschool .wh-course-list {display:grid;gap:26px}
.winter-page.winter-highschool .wh-course-block {background:#fff;border:1px solid #d8e7f3;border-radius:19px;overflow:hidden;box-shadow:0 12px 30px #123b6510}
.winter-page.winter-highschool .wh-course-block-heading {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;background:linear-gradient(105deg,#143f73,#297eb5);color:#fff;padding:22px 27px}
.winter-page.winter-highschool .wh-course-block:nth-child(2) .wh-course-block-heading {background:linear-gradient(105deg,#14567b,#2a938f)}
.winter-page.winter-highschool .wh-course-block:nth-child(3) .wh-course-block-heading {background:linear-gradient(105deg,#80529a,#b56baa)}
.winter-page.winter-highschool .wh-course-block:nth-child(4) .wh-course-block-heading {background:linear-gradient(105deg,#a33d88,#c85a9f)}
.winter-page.winter-highschool .wh-course-eyebrow {font-size:10px;letter-spacing:.12em;font-weight:900;color:#cbe9ff;margin:0 0 5px}
.winter-page.winter-highschool .wh-course-block-heading h3 {font-size:clamp(20px,2.5vw,28px);color:#fff;margin:0}
.winter-page.winter-highschool .wh-course-length {font-size:12px;font-weight:900;border:1px solid #ffffff80;border-radius:100px;padding:7px 13px;white-space:nowrap}
.winter-page.winter-highschool .wh-table-wrap {padding:0 15px}
.winter-page.winter-highschool .wh-course-table {width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px;color:#24435f}
.winter-page.winter-highschool .wh-course-table caption {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.winter-page.winter-highschool .wh-course-table th,.winter-page.winter-highschool .wh-course-table td {border-bottom:1px solid #e3ebf1;padding:15px 12px;text-align:right;vertical-align:middle;line-height:1.55;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.winter-page.winter-highschool .wh-course-table thead th {background:#edf5fb;color:#245c85;font-size:12px;font-weight:900}
.winter-page.winter-highschool .wh-course-table th:first-child {width:42%;text-align:left}
.winter-page.winter-highschool .wh-course-table tbody th {font-size:13px;font-weight:800;color:#173e65}
.winter-page.winter-highschool .wh-course-table tbody td:nth-child(2) {font-weight:900;color:#cb512c}
.winter-page.winter-highschool .wh-course-table tbody tr:nth-child(even) {background:#f9fcff}
.winter-page.winter-highschool .wh-table-note {font-size:12px;color:#687f91;padding:0 22px;margin:12px 0 17px}
.winter-page.winter-highschool .wh-support {margin-top:30px;padding:27px 31px;border:1px solid #c6deed;background:#fff;border-radius:18px}
.winter-page.winter-highschool .wh-support-title {font-size:19px;font-weight:900;color:#163b64;margin:0 0 12px}
.winter-page.winter-highschool .wh-support-tags {display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.winter-page.winter-highschool .wh-support-tags span {border-radius:50px;background:#eaf4fc;color:#1b679d;font-size:12px;font-weight:800;padding:7px 14px}
.winter-page.winter-highschool .wh-support>p:not(.wh-support-title) {font-size:13px;color:#536b82;line-height:1.85;margin:8px 0 0}
.winter-page.winter-highschool .wh-schedule-facts {grid-template-columns:.8fr 1.65fr .8fr}
.winter-page.winter-highschool .wh-schedule-facts strong {font-size:clamp(16px,1.8vw,22px)}
.winter-page.winter-highschool .wh-slots {margin-top:28px;padding:26px 29px;background:#f3faff;border-radius:17px}
.winter-page.winter-highschool .wh-slots h3 {font-size:21px;color:#173e68;margin:0 0 18px}
.winter-page.winter-highschool .wh-slot-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.winter-page.winter-highschool .wh-slot-grid>div {display:flex;flex-direction:column;overflow:hidden;border-radius:10px;background:#fff;text-align:center;border:1px solid #d1e6f4}
.winter-page.winter-highschool .wh-slot-grid b {padding:7px;color:#fff;background:#187bb1;font-size:12px}
.winter-page.winter-highschool .wh-slot-grid span {padding:15px 5px;font-size:clamp(13px,1.5vw,17px);font-weight:900;color:#19466f}
.winter-page.winter-highschool #plans,.winter-page.winter-highschool #grade-h1,.winter-page.winter-highschool #grade-h2,.winter-page.winter-highschool #grade-eiken,.winter-page.winter-highschool #grade-short,.winter-page.winter-highschool #schedule,.winter-page.winter-highschool #features {scroll-margin-top:100px}
@media(max-width:900px) {
 .winter-page.winter-highschool .wh-anchor-nav .we-grade-nav-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
 .winter-page.winter-highschool .wh-schedule-facts {grid-template-columns:1fr}
 .winter-page.winter-highschool .wh-schedule-facts>div+div {border-left:0;border-top:1px solid #dbe7f0}
 .winter-page.winter-highschool .wh-slot-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px) {
 .winter-page.winter-highschool .wh-anchor-nav .we-grade-nav-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 .winter-page.winter-highschool .wh-plan-grid .we-path-card {min-height:0}
 .winter-page.winter-highschool .wh-course-block-heading {padding:19px}
 .winter-page.winter-highschool .wh-course-length {white-space:normal}
 .winter-page.winter-highschool .wh-table-wrap {padding:0}
 .winter-page.winter-highschool .wh-course-table,.winter-page.winter-highschool .wh-course-table tbody,.winter-page.winter-highschool .wh-course-table tr,.winter-page.winter-highschool .wh-course-table td,.winter-page.winter-highschool .wh-course-table tbody th {display:block;width:100%}
 .winter-page.winter-highschool .wh-course-table thead {position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
 .winter-page.winter-highschool .wh-course-table tbody tr {padding:10px 17px 12px;border-bottom:1px solid #e1eaf2}
 .winter-page.winter-highschool .wh-course-table tbody th {padding:8px 0;font-size:14px;border:0}
 .winter-page.winter-highschool .wh-course-table tbody th:first-child {width:100%;text-align:left}
 .winter-page.winter-highschool .wh-course-table tbody td {display:flex;justify-content:space-between;align-items:baseline;gap:15px;padding:5px 0;border:0;text-align:right;font-size:12px}
 .winter-page.winter-highschool .wh-course-table tbody td:before {content:attr(data-label);font-size:11px;font-weight:700;color:#667d8f;text-align:left;flex:0 0 auto}
 .winter-page.winter-highschool .wh-support {padding:21px}
 .winter-page.winter-highschool .wh-slots {padding:20px 16px}
 .winter-page.winter-highschool .wh-slot-grid span {font-size:13px}
}
@media(max-width:360px) {
 .winter-page.winter-highschool .wh-anchor-nav .we-grade-nav-grid {grid-template-columns:1fr}
}

/* =============================================================
   個別指導「冬特訓」 2026-27 / 追加CSSのみ
   既存の winter-course-renew.css 末尾に一度だけ追記
   共通部品 (.we-*, .winter-*) は再定義せず流用
   ============================================================= */
.winter-page.winter-kobetsu { --wk-red:#c9334f; --wk-red-dark:#a6203d; }
.winter-page.winter-kobetsu [id] { scroll-margin-top: 26px; }
.winter-kobetsu .wk-hero .we-hero-label { border-color:#edbfd0; color:#a62349; }
.winter-kobetsu .wk-hero .we-hero h1 em,.winter-kobetsu .wk-hero h1 em { color:#c12f5c; }
.winter-kobetsu .wk-hero-offer { border-left-color:#dd4c6b; }
.winter-kobetsu .wk-hero-offer .we-hero-offer-value strong {color:#d04456;letter-spacing:-.025em;display:inline-block;white-space:nowrap;}
.winter-kobetsu .wk-hero-offer .we-hero-offer-value small {font-size:.46em;}
.winter-kobetsu .wk-hero-photo {align-self:center;aspect-ratio:16/10;display:block;}
.winter-kobetsu .wk-hero-photo > img {width:100%;height:100%;display:block;object-fit:cover;object-position:right center;}
.winter-kobetsu .wk-photo-brand {position:absolute;right:10px;bottom:10px;width:min(30%,120px);padding:5px 7px;background:rgba(255,255,255,.94);border-radius:12px;box-shadow:0 7px 21px #123c6c25;}
.winter-kobetsu .wk-photo-brand img {width:100%;height:auto;}
.winter-kobetsu .wk-photo-caption {font-weight:900;}
.winter-kobetsu .wk-grade-nav-grid {grid-template-columns:repeat(4,minmax(0,1fr));}
.winter-kobetsu .wk-badges {display:flex;flex-wrap:wrap;gap:9px;margin:17px 0 0;}
.winter-kobetsu .wk-badges span {display:inline-block;padding:6px 13px;background:#fff;border:1px solid #d1e2ef;border-radius:99px;color:#225679;font-size:12px;font-weight:800;}
.winter-kobetsu .wk-intro-grid {display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch;}
.winter-kobetsu .wk-intro-box {padding:29px 30px;border-radius:20px;background:#fff;border:1px solid #d6e7f3;box-shadow:0 10px 24px #0c416210;}
.winter-kobetsu .wk-intro-box h3 {color:#133d69;font-size:clamp(21px,2vw,26px);line-height:1.4;margin:0 0 10px;}
.winter-kobetsu .wk-intro-box p {font-size:14px;color:#516b84;margin:0;line-height:1.9;}
.winter-kobetsu .wk-intro-key {color:#b62547;font-size:12px;font-weight:900;letter-spacing:.09em;display:block;margin-bottom:8px;}
.winter-kobetsu .wk-intro-photo {width:100%;max-width:140px;height:auto;margin-top:12px;}
.winter-kobetsu .wk-subject-line {margin-top:15px!important;padding-top:12px;border-top:1px solid #e2edf5;font-size:13px!important;}
.winter-kobetsu .wk-path-grid {margin-top:25px;}
.winter-kobetsu .wk-schedule-subheading {color:#173d69;font-size:22px;margin:0 0 16px;}
.winter-kobetsu .wk-footer-hakata {color:#dbeaf5;}
.winter-kobetsu .wk-footer-hakata a {color:#fff;text-decoration:underline;}
.winter-kobetsu .wk-price-note {color:#516d86;font-size:13px;line-height:1.85;margin:12px 0 0;}
.winter-kobetsu .wk-table-scroller {overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid #d4e5f2;border-radius:17px;background:white;box-shadow:0 11px 34px #143d6810;}
.winter-kobetsu .wk-table {border-collapse:separate;border-spacing:0;width:100%;min-width:740px;font-variant-numeric:tabular-nums;}
.winter-kobetsu .wk-table caption {position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.winter-kobetsu .wk-table th,.winter-kobetsu .wk-table td {padding:17px 15px;text-align:center;border-right:1px solid #e2edf5;border-bottom:1px solid #e2edf5;font-size:14px;vertical-align:middle;line-height:1.6;}
.winter-kobetsu .wk-table thead th {background:#123d6c;color:#fff;font-size:13px;font-weight:900;}
.winter-kobetsu .wk-table thead th:first-child {background:#225c8f;}
.winter-kobetsu .wk-table tbody th {font-size:14px;text-align:left;font-weight:900;color:#143f6b;background:#f0f8ff;white-space:nowrap;}
.winter-kobetsu .wk-table tbody tr:nth-child(even) td {background:#f9fcff;}
.winter-kobetsu .wk-table tbody td {font-size:clamp(15px,1.5vw,18px);font-weight:900;color:#1b476c;white-space:nowrap;}
.winter-kobetsu .wk-table thead th:last-child,.winter-kobetsu .wk-table td:last-child {border-right:0;}
.winter-kobetsu .wk-table tbody tr:last-child th,.winter-kobetsu .wk-table tbody tr:last-child td {border-bottom:0;}
.winter-kobetsu .wk-price-scroll-hint {display:none;}
.winter-kobetsu .wk-price-intro {display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;justify-content:space-between;margin:0 0 15px;}
.winter-kobetsu .wk-price-intro strong {color:#103e70;font-size:18px;}
.winter-kobetsu .wk-price-intro small {color:#65829b;font-size:12px;}
.winter-kobetsu .wk-tags {display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 16px;}
.winter-kobetsu .wk-tags span {border-radius:99px;padding:5px 11px;background:#eaf5ff;color:#205985;font-size:12px;font-weight:800;}
.winter-kobetsu .wk-entry-cards {display:grid;grid-template-columns:1fr;gap:25px;}
.winter-kobetsu .wk-entry {background:#fff;border:1px solid #dae7f2;border-radius:22px;overflow:hidden;box-shadow:0 13px 34px #113e6612;}
.winter-kobetsu .wk-entry-head {padding:27px 32px;background:linear-gradient(110deg,#123b6c,#2675a7);color:#fff;display:flex;gap:20px;align-items:flex-end;justify-content:space-between;}
.winter-kobetsu .wk-entry--english .wk-entry-head {background:linear-gradient(110deg,#1f557c,#23809b);}
.winter-kobetsu .wk-entry--private .wk-entry-head {background:linear-gradient(110deg,#69376e,#a75a88);}
.winter-kobetsu .wk-entry-head p {margin:0 0 4px;color:#c8e6fc;font-size:11px;letter-spacing:.11em;font-weight:900;}
.winter-kobetsu .wk-entry-head h3 {margin:0;color:#fff;font-size:clamp(22px,2.5vw,30px);line-height:1.4;}
.winter-kobetsu .wk-entry-head span {flex:none;border:1px solid #cfe9ff9c;border-radius:99px;padding:7px 15px;font-weight:900;font-size:13px;}
.winter-kobetsu .wk-entry-body {padding:27px 32px 30px;}
.winter-kobetsu .wk-entry-body>p {font-size:14px;color:#42627b;margin:0 0 14px;line-height:1.9;}
.winter-kobetsu .wk-entry-meta {display:flex;flex-wrap:wrap;gap:9px;margin:15px 0 22px;}
.winter-kobetsu .wk-entry-meta span {color:#135587;background:#eff8ff;border:1px solid #d6eaf6;border-radius:9px;padding:8px 13px;font-weight:700;font-size:12px;}
.winter-kobetsu .wk-entry .wk-table-scroller {border-radius:12px;box-shadow:none;}
.winter-kobetsu .wk-entry .wk-table {min-width:600px;}
.winter-kobetsu .wk-entry .wk-table th,.winter-kobetsu .wk-entry .wk-table td {padding:13px 12px;}
.winter-kobetsu .wk-entry .wk-table thead th {background:#1d5c91;}
.winter-kobetsu .wk-entry .wk-table tbody td {font-size:17px;}
.winter-kobetsu .wk-entry-note {font-size:12px!important;color:#667d90!important;margin:14px 0 0!important;}
.winter-kobetsu .wk-oneonone {display:flex;flex-wrap:wrap;align-items:center;gap:12px;background:#fdf4f8;border:1px solid #f0d4e0;border-radius:13px;padding:21px 23px;}
.winter-kobetsu .wk-oneonone strong {font-size:17px;color:#6b3155;}
.winter-kobetsu .wk-oneonone b {font-size:29px;color:#c02e5c;font-weight:900;}
.winter-kobetsu .wk-oneonone span {color:#5a6479;font-size:13px;}
.winter-kobetsu .wk-timetable {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.winter-kobetsu .wk-timebox {display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #d6e7f3;border-radius:13px;padding:16px 18px;}
.winter-kobetsu .wk-timebox b {display:grid;place-items:center;flex:0 0 35px;height:35px;background:#dff2ff;color:#1f6092;border-radius:9px;font-size:16px;}
.winter-kobetsu .wk-timebox strong {display:block;font-size:17px;font-variant-numeric:tabular-nums;color:#153f68;}
.winter-kobetsu .wk-timebox span {display:block;color:#657f98;font-size:11px;}
.winter-kobetsu .wk-schedule-band {display:flex;gap:16px;align-items:center;padding:23px 27px;background:#fff;border:1px solid #d4e6f3;border-radius:17px;margin:25px 0;}
.winter-kobetsu .wk-schedule-band strong {font-weight:900;font-size:clamp(19px,2.4vw,29px);color:#17476d;white-space:nowrap;}
.winter-kobetsu .wk-schedule-band p {margin:0;font-size:13px;color:#58748b;line-height:1.7;}
.winter-kobetsu .wk-schedule-band b {color:#dd4b62;}
.winter-kobetsu .wk-steps {list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;}
.winter-kobetsu .wk-steps li {background:#fff;border:1px solid #d7e5f2;padding:23px;border-radius:16px;}
.winter-kobetsu .wk-steps li b {display:inline-block;font-size:12px;color:#2d83b7;margin-bottom:9px;}
.winter-kobetsu .wk-steps li strong {display:block;color:#153d67;font-size:18px;margin-bottom:9px;}
.winter-kobetsu .wk-steps li p {font-size:13px;margin:0;color:#5c7288;line-height:1.75;}
.winter-kobetsu .wk-emphasis {color:#c12f59;font-weight:900;}
.winter-kobetsu .we-other-grid>a {min-width:0;}
@media screen and (max-width:900px){
 .winter-kobetsu .wk-intro-grid {grid-template-columns:1fr;}
 .winter-kobetsu .wk-timetable {grid-template-columns:repeat(2,minmax(0,1fr));}
 .winter-kobetsu .wk-steps {grid-template-columns:1fr;}
}
@media screen and (max-width:600px){
 .winter-kobetsu .wk-grade-nav-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 .winter-kobetsu .wk-badges span {font-size:11px;}
 .winter-kobetsu .wk-hero-photo {border-radius:15px;aspect-ratio:16/10;}
 .winter-kobetsu .wk-hero-offer .we-hero-offer-value strong {display:block;margin-left:0;font-size:38px;}
 .winter-kobetsu .we-heading h2 {font-size:clamp(23px,6vw,35px);}
 .winter-kobetsu .wk-photo-brand {width:26%;right:7px;bottom:7px;border-radius:7px;padding:3px;}
 .winter-kobetsu .wk-intro-box {padding:24px 21px;}
 .winter-kobetsu .wk-price-intro {display:block;}
 .winter-kobetsu .wk-price-scroll-hint {display:block;text-align:center;font-size:11px;margin:0 0 8px;color:#477594;font-weight:800;}
 .winter-kobetsu .wk-price-intro small {display:block;margin-top:3px;}
 .winter-kobetsu .wk-table th,.winter-kobetsu .wk-table td {padding:13px 12px;}
 .winter-kobetsu .wk-entry-head {padding:23px 20px;display:block;}
 .winter-kobetsu .wk-entry-head span {display:inline-block;margin-top:11px;}
 .winter-kobetsu .wk-entry-body {padding:23px 18px;}
 .winter-kobetsu .wk-oneonone {gap:5px;flex-direction:column;align-items:flex-start;}
 .winter-kobetsu .wk-timetable {grid-template-columns:1fr 1fr;gap:9px;}
 .winter-kobetsu .wk-timebox {padding:12px 10px;gap:8px;}
 .winter-kobetsu .wk-timebox b {flex-basis:27px;height:29px;font-size:13px;}
 .winter-kobetsu .wk-timebox strong {font-size:clamp(11px,3.5vw,15px);letter-spacing:-.035em;white-space:nowrap;}
 .winter-kobetsu .wk-schedule-band {display:block;padding:21px;}
 .winter-kobetsu .wk-schedule-band strong {display:block;font-size:22px;margin-bottom:10px;white-space:normal;}
 .winter-kobetsu .wk-steps li {padding:20px 21px;}
}
@media (prefers-reduced-motion:reduce){.winter-kobetsu .wk-table-scroller {scroll-behavior:auto;}}

/* ==========================================
   冬期講座 全5ページ共通パンくずリスト
   ========================================== */

.winter-page > .we-breadcrumb {
  display: block !important;
  position: relative;
  z-index: 10;
  clear: both;

  width: 100%;
  height: auto;
  margin: 0;
  padding: 14px 0;

  background-color: #f4f8fc;
  border-bottom: 1px solid #dce7f2;

  visibility: visible !important;
  opacity: 1 !important;
}

.winter-page > .we-breadcrumb .winter-wrap {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;

  width: calc(100% - 40px);
  max-width: 1120px;
  margin: 0 auto;
}

.winter-page > .we-breadcrumb a {
  color: #1765a8;
  font-size: 13px;
  text-decoration: none;
}

.winter-page > .we-breadcrumb a:hover {
  text-decoration: underline;
}

.winter-page > .we-breadcrumb span {
  color: #94a3b8;
  font-size: 13px;
}

.winter-page > .we-breadcrumb [aria-current="page"] {
  color: #334155;
  font-weight: 700;
}

/* スマートフォン */
@media screen and (max-width: 767px) {

  .winter-page > .we-breadcrumb {
    padding: 10px 0;
  }

  .winter-page > .we-breadcrumb .winter-wrap {
    width: calc(100% - 28px);
    gap: 7px;
  }

  .winter-page > .we-breadcrumb a,
  .winter-page > .we-breadcrumb span {
    font-size: 11px;
  }

}

/* =============================================================
   冬期講座LP 5ページ共通: パンくずリスト（既存サイトnav干渉回避）
   HTML: <div class="winter-breadcrumb-bar" role="navigation" ...>
   旧 .we-breadcrumb はこの新しいバーでは使用しない。
   ============================================================= */
.winter-page > .winter-breadcrumb-bar {
  display: block !important;
  position: relative;
  z-index: 20;
  box-sizing: border-box;
  clear: both;
  float: none;
  width: 100%;
  min-height: 48px;
  height: auto;
  margin: 90px 0 0;
  padding: 13px 0;
  overflow: visible;
  visibility: visible !important;
  opacity: 1 !important;
  background: #f3f8fc;
  border-bottom: 1px solid #d9e7f2;
  color: #334155;
}

.winter-page > .winter-breadcrumb-bar > .winter-wrap {
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 11px;
  width: min(1160px, calc(100% - 40px));
  max-width: 1160px;
  margin: 0 auto;
  padding: 0;
  visibility: visible !important;
  opacity: 1 !important;
  line-height: 1.6;
}

.winter-page > .winter-breadcrumb-bar a,
.winter-page > .winter-breadcrumb-bar span {
  display: inline !important;
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  font-size: 13px;
  line-height: 1.6;
  visibility: visible !important;
  opacity: 1 !important;
  white-space: normal;
}

.winter-page > .winter-breadcrumb-bar a {
  color: #1765a8 !important;
  text-decoration: none;
}

.winter-page > .winter-breadcrumb-bar a:hover,
.winter-page > .winter-breadcrumb-bar a:focus-visible {
  text-decoration: underline;
}

.winter-page > .winter-breadcrumb-bar span[aria-hidden="true"] {
  color: #8ca5bd !important;
}

.winter-page > .winter-breadcrumb-bar [aria-current="page"] {
  color: #334155 !important;
  font-weight: 800;
}

@media screen and (max-width: 767px) {
  .winter-page > .winter-breadcrumb-bar {
    min-height: 38px;
    padding: 9px 0;
  }
  .winter-page > .winter-breadcrumb-bar > .winter-wrap {
    width: calc(100% - 28px);
    gap: 5px 7px;
  }
  .winter-page > .winter-breadcrumb-bar a,
  .winter-page > .winter-breadcrumb-bar span {
    font-size: 11px;
  }
}
