/* ============================================================
   智翔館 県中対策 夏期講習会 LP  —  SP (375px) 専用
   ============================================================ */

:root{
  --blue:#0571d5;       /* primary */
  --navy:#0d4c81;       /* dark heading */
  --navy2:#1a3a8e;      /* card label */
  --orange:#ff630f;     /* CTA */
  --teal:#0fa8a1;       /* LINE / 作文 */
  --yellow:#feee65;     /* highlight */
  --red:#cf3f30;
  --cyan:#06b6cc;
  --purple:#6a4fb5;
  --purple2:#9d5d9f;
  --gray:#555;
  --gray2:#666;
  --ink:#333;
  --bg-blue:#f5fbff;
  --bg-cream:#fbf5e3;
  --bg-ice:#eff7fd;
}

*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
#form{scroll-margin-top:8px}
body{
  font-family:"Noto Sans JP",sans-serif;
  color:var(--ink);
  background:#e8eef4;
  line-height:1.6;
  letter-spacing:.02em;
}
img{display:block;max-width:100%;height:auto}   /* 基本：width=指定 / height auto でアスペクト比維持 */
a{text-decoration:none;color:inherit}
ul{list-style:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}

/* SP デザインを中央に配置 */
.page{
  width:375px;
  max-width:100%;
  margin:0 auto;
  background:#fff;
  overflow-x:clip;                /* 横はみ出し防止。clipはスクロールコンテナを作らずsticky(タブ固定)を阻害しない */
  position:relative;
}

/* 共通：見出し */
.sec-head{display:flex;flex-direction:column;align-items:center;margin-bottom:20px}
.sec-head__badge{background:var(--navy);color:#fff;font-weight:700;font-size:20px;letter-spacing:.05em;padding:2px 10px;line-height:1.5}
.sec-head__badge--blue{background:var(--blue)}
.sec-head h2{color:var(--navy);font-size:28px;font-weight:700;letter-spacing:.05em;line-height:1.5}

/* 共通：タグ */
.tag{display:inline-block;color:#fff;font-weight:700;font-size:14px;letter-spacing:.05em;padding:2px 10px;border-radius:5px;line-height:1.4}
.tag--blue{background:var(--blue)}
.tag--orange{background:var(--orange)}
.tag--red{background:var(--red)}
.tag--cyan{background:var(--cyan)}
.tag--teal{background:var(--teal)}
.tag--purple{background:var(--purple)}
.tag--purple2{background:var(--purple2)}

/* 共通：チェックボックスアイコン（SVG） */
.cb{flex-shrink:0;width:24px;height:24px;display:block}
.cb--sm{width:18px;height:18px}

.ico{width:1em;height:1em;fill:#fff;vertical-align:middle}

/* 黄色マーカー（下線強調） */
.marker{background:linear-gradient(transparent 58%, var(--yellow) 58%);font-weight:700;padding:0 1px}

/* ===================== 1. HERO ===================== */
.hero__img{width:100%}

/* ===================== 2. 対象 ===================== */
.target{padding:24px 21px;background:#fff;display:flex;flex-direction:column;gap:16px}
.badge-title{text-align:center}
.badge-title span{display:inline-block;background:var(--navy);color:#fff;font-weight:700;font-size:16px;padding:2px 18px}
.target__card{border:1px solid var(--blue);border-radius:10px;padding:16px 24px}
.target__grade{color:var(--navy);font-size:20px;font-weight:700}
.target__small{color:var(--navy);font-size:14px;margin-top:4px}

/* ===================== 3. intro ===================== */
.intro{background:var(--bg-blue);padding:48px 21px;display:flex;flex-direction:column;align-items:center;gap:22px}
.intro__lead{text-align:center;width:264px;position:relative}
.intro__lead-top{color:var(--blue);font-size:20px;font-weight:600;line-height:1.4}
.intro__lead-main{position:relative;color:var(--blue);font-weight:800;font-size:28px;line-height:1.2}
.intro__lead-main .hl{position:relative;display:inline-block;z-index:1}
.intro__lead-main .hl::after{content:"";position:absolute;left:-2px;right:-2px;bottom:2px;height:10px;background:var(--yellow);z-index:-1}
.intro__lead-main .big{color:var(--navy);font-size:40px}
.intro__lead-main .mid{color:var(--navy);font-size:28px}
.intro__lead-main .mid.blue{color:var(--blue)}

.checklist{display:flex;flex-direction:column;gap:8px;width:333px}
.checklist li{display:flex;align-items:center;background:#fff;border:1px solid var(--blue);border-radius:10px;padding:14px 19px;color:var(--navy);font-size:18px;font-weight:700;line-height:1.4}
/* 中身を包む行：アイコンはテキスト1行目に揃える（liは上で中央寄せ＝テキスト上下中央） */
.checklist .cl-row{display:flex;gap:8px;align-items:flex-start}

.intro__arrow{width:0;height:0;border-left:24px solid transparent;border-right:24px solid transparent;border-top:18px solid var(--blue)}
.intro__nara{display:flex;align-items:flex-end;gap:8px}
.intro__nara span{color:var(--blue);font-size:20px;font-weight:600}
.intro__logo{width:128px}

.intro__catch{text-align:center}
.intro__catch p{color:var(--navy);font-size:24px;font-weight:700;line-height:1.5;display:inline-block}
.intro__catch .kw{background:var(--navy);color:#fff;padding:0 9px;margin:7px 4px 0 0}
/* 「夏期講習の受講が可能です。」下の黄色いブラシ線（SVG） */
.intro__catch-u{position:relative;display:inline-block}
.brush-line{position:absolute;left:50%;transform:translateX(-50%);bottom:-5px;width:102%;height:auto;pointer-events:none}

.intro__photo{width:317px}
.intro__photo img{width:100%;border-radius:4px}

.intro__desc{color:var(--navy);font-size:16px;font-weight:500;line-height:1.8;letter-spacing:.05em;width:100%}

/* 4つの力 */
.forces{display:flex;flex-direction:column;align-items:center;gap:22px;width:333px}
.forces__title-img{width:auto;max-width:100%;height:48px}
.forces__grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:330px}
.force-card{background:#fff;border-radius:12px;box-shadow:0 3px 12px rgba(26,51,128,.1);padding:18px 12px;display:flex;flex-direction:column;align-items:center;gap:12px}
.force-card__chip{background:var(--navy2);color:#fff;font-weight:700;font-size:16px;padding:4px 14px;border-radius:15px}
.force-card__icon{width:64px;height:62px;object-fit:contain}
.force-card__txt{color:var(--navy2);font-size:12px;font-weight:500;text-align:center;line-height:1.4}

/* 4領域 適性/作文/面接/知識 */
.domains{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start}
.domain{display:flex;flex-direction:column}
.domain__tab{align-self:flex-start;margin-left:8px;background:var(--navy);color:#fff;font-weight:700;font-size:15px;letter-spacing:.1em;padding:2px 12px 2px 8px;border-radius:10px 10px 0 0;display:flex;align-items:center;gap:2px}
.domain__tab .ico{width:18px;height:18px}
.domain__body{flex:1;background:#fff;border:1.5px solid var(--navy);border-radius:8px;padding:15px;color:var(--gray);font-size:14px;line-height:1.5;letter-spacing:.05em}
.domain__body b{color:var(--blue);font-weight:600}

/* ===================== 4. 合格実績 ===================== */
.results{background:#fff}
.results__bar{background:var(--navy);height:70px;display:flex;align-items:center;justify-content:center;gap:6px}
.results__bar h2{color:#fff;font-size:24px;font-weight:700;letter-spacing:.05em}
.results__laurel{height:44px}
.results__laurel--r{transform:scaleX(-1)}
.results__sub{text-align:center;color:var(--navy);font-size:18px;font-weight:600;padding:13px 0}
.results__cards{display:flex;flex-direction:column;gap:16px;padding:0 18px 32px}
.result-card{display:flex;gap:10px;background:var(--bg-blue);border-radius:12px;padding:11px}
.result-card__left{width:102px;flex-shrink:0;display:flex;flex-direction:column;align-items:center}
.ribbon{background:var(--navy);color:#fff;font-size:13px;font-weight:700;padding:3px 10px;border-radius:3px}
.num{color:var(--blue);font-size:56px;font-weight:800;font-family:"Open Sans",sans-serif;line-height:1.1;display:flex;align-items:flex-end}
.num small{font-size:18px;font-weight:700;margin-bottom:8px}
.result-card__schools{flex:1;display:flex;flex-direction:column;justify-content:center;gap:6px}
.result-card__schools li{display:flex;align-items:baseline;border-bottom:1px dashed #b9c8d8;padding-bottom:6px}
.result-card__schools span{color:var(--navy);font-size:15px;font-weight:600}
.result-card__schools b{margin-left:auto;color:var(--blue);font-size:22px;font-weight:800;font-family:"Open Sans",sans-serif}
.result-card__schools small{font-size:13px;color:var(--navy)}

/* ===================== 5. コース + カレンダー ===================== */
.course{background:#fff;padding:40px 18px}
.course__title{text-align:center;color:var(--blue);font-size:26px;font-weight:700;letter-spacing:.05em;margin-bottom:18px}

.tabs{display:flex;gap:8px;margin-bottom:14px}        /* ← タブの下に余白 */
.tab{flex:1;background:#eaf4fc;border:1px solid #b8dcf5;border-radius:10px;color:var(--navy);font-size:14px;font-weight:700;text-align:center;padding:10px 4px 6px;line-height:1.3}
.tab .chev{width:20px;height:20px;display:block;margin:3px auto 0;fill:none;stroke:var(--navy);stroke-width:2.5}
.tab.is-active{background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:0 3px 8px rgba(5,113,213,.25)}
.tab.is-active .chev{stroke:#fff}

.course-card{display:none;border:1.5px solid var(--blue);border-radius:16px;overflow:hidden;background:#fff}
.course-card.is-active{display:block}
.course-card__head{background:var(--navy);color:#fff;display:flex;align-items:center;gap:10px;padding:14px 20px;font-size:20px;font-weight:700}
.course-card__grade{background:#fff;color:var(--navy);font-size:14px;font-weight:700;padding:3px 12px;border-radius:14px;white-space:nowrap;text-align:center;line-height:1.25}
.course-card__body{padding:22px 24px}
.course-card__body dl dt{color:var(--navy);font-size:17px;font-weight:700;margin-bottom:4px}
.course-card__body dl dd{color:var(--navy);font-size:15px;margin-bottom:16px;line-height:1.6}
.course-tags{display:flex;flex-wrap:wrap;gap:6px}
.tag-out{display:inline-block;border:1px solid var(--navy);color:var(--navy);font-size:12px;font-weight:600;padding:1px 8px;border-radius:4px;margin-bottom:6px}

.price{border-top:1px solid #d9e6f2;padding-top:16px;margin-top:4px}
.price__label{color:var(--navy);font-size:16px;font-weight:700;margin-bottom:8px}
.price__row{display:flex;align-items:center;gap:14px;margin-bottom:6px}
.price__tag{font-size:14px;font-weight:700;padding:2px 10px;border-radius:3px}
.price__tag--out{border:1px solid var(--navy);color:var(--navy)}
.price__tag--in{background:var(--navy);color:#fff}
.price__row b{color:var(--navy);font-size:28px;font-weight:800;font-family:"Open Sans",sans-serif}
.price__row small{font-size:16px}

/* ピル型ボタン */
.btn-pill{display:flex;align-items:center;justify-content:center;gap:14px;background:var(--blue);color:#fff;font-size:14px;font-weight:600;border-radius:32px;padding:8px 10px 8px 32px;margin:20px auto 0;width:fit-content;position:relative}
.btn-pill--orange{background:var(--orange)}
.btn-pill--blue{background:var(--blue)}
.btn-pill--lg{font-size:16px;padding:12px 14px 12px 32px}
.btn-pill__arrow,.btn-pill__plus{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.85);color:var(--orange);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;line-height:1}
.btn-pill--blue .btn-pill__arrow,.btn-pill--blue .btn-pill__plus{color:var(--blue);background:#d8effd}

/* カレンダー */
.cal__title{text-align:center;color:var(--blue);font-size:26px;font-weight:700;letter-spacing:.05em;margin:48px 0 0;padding-bottom:10px;border-bottom:2px solid var(--blue)}
.cal__sub{text-align:center;color:var(--navy);font-size:16px;font-weight:600;margin:18px 0 22px;line-height:1.5}
.cal{border:1px solid #e3e3e3;border-radius:12px;overflow:hidden;margin-bottom:22px}
.cal__head{color:#fff;font-size:18px;font-weight:700;text-align:center;padding:10px 0;letter-spacing:.05em}
.cal[data-month="7"] .cal__head{background:#e0590f}
.cal[data-month="8"] .cal__head{background:var(--blue)}
.cal__grid{display:grid;grid-template-columns:repeat(7,1fr)}
.cal__dow{font-size:11px;color:#999;text-align:center;padding:6px 0;background:#fafafa}
.cal__dow--sun{color:#d0606a;background:#fdf3f1}
.cal__dow--sat{color:#5b86c4;background:#eef4fc}
.cal__cell{min-height:50px;border-top:1px solid #eee;border-left:1px solid #eee;padding:4px 3px;font-size:12px;color:#444;position:relative;display:flex;flex-direction:column}
.cal__cell:nth-child(7n+1){border-left:none}
.cal__d{font-weight:600;line-height:1}
.cal__cell--empty{background:#f3f3f3}
.cal__mark{display:block;margin-top:auto;font-size:10px;font-weight:700;text-align:center;border-radius:4px;padding:1px 0;line-height:1.35}
/* 県中＝薄青セル＋青バッジ */
.cal__cell--ken{background:#eaf4fc}
.cal__mark--ken{background:var(--blue);color:#fff}
/* 特訓＝薄クリームセル＋オレンジバッジ */
.cal__cell--tok{background:#fdf0db}
.cal__mark--tok{background:#e58a1f;color:#fff}
/* 合宿＝オレンジ塗り */
.cal__cell--cmp{background:#f0590f}
.cal__cell--cmp .cal__d{color:#fff}
.cal__mark--cmp{background:rgba(255,255,255,.25);color:#fff}
/* 実力判定＝赤塗り */
.cal__cell--test{background:#b3231a}
.cal__cell--test .cal__d{color:#fff}
.cal__mark--test{background:rgba(255,255,255,.25);color:#fff}

.cal-legend{display:flex;flex-direction:column;gap:10px}
.cal-legend li{display:flex;align-items:flex-start;gap:8px;font-size:13px;font-weight:600;color:var(--navy);line-height:1.4}
.cal-legend small{font-weight:400;font-size:12px;color:var(--gray)}
.sw{flex-shrink:0;width:16px;height:16px;margin-top:2px}
.sw--ken{background:var(--blue)}
.sw--tok{background:#fdf0db;border:1px solid #e58a1f}
.sw--cmp{background:#f0590f}
.sw--test{background:#b3231a}

/* ===================== 6. プログラム ===================== */
.program{background:var(--bg-cream);padding:48px 21px;display:flex;flex-direction:column;gap:20px}
.prog-card{background:#fff;border-radius:20px;box-shadow:0 0 3px rgba(0,0,0,.05);padding:24px 20px;display:flex;flex-direction:column;align-items:center;gap:14px}
.prog-card__title{color:var(--navy);font-size:28px;font-weight:600;letter-spacing:.05em;border-bottom:1.5px solid var(--blue);padding-bottom:10px}
.prog-card__tags{display:flex;gap:11px}
.prog-card__photo{width:100%;border-radius:8px;overflow:hidden}
.prog-card__photo img{width:100%;height:auto}
.ghost-tag{align-self:flex-start;border:1px solid var(--blue);color:var(--blue);font-size:14px;padding:2px 10px}
/* 合宿カードのghost-tagはblockコンテナ内のinline要素のためmargin-topが効かない→inline-block化 */
.g6-card>.ghost-tag{display:inline-block}
.prog-card__txt{color:var(--navy);font-size:14px;line-height:1.8;letter-spacing:.05em;align-self:stretch}
.mini-checks{align-self:stretch;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 16px}
.mini-checks li{display:flex;align-items:center;gap:4px;color:var(--navy);font-size:12px;font-weight:500;padding:3px 0}
.pricebox{align-self:stretch;background:var(--bg-blue);border:1px solid var(--blue);border-radius:10px;padding:10px;text-align:center}
.pricebox>p:first-child{color:var(--navy);font-size:14px;font-weight:500}
.pricebox__num{color:var(--blue);font-size:28px;font-weight:700;font-family:"Open Sans",sans-serif}
.pricebox__num small{font-size:18px}
.pricebox__num--sm{font-size:16px;color:var(--navy);font-family:"Noto Sans JP"}
.pricebox__inline{display:flex;align-items:baseline;justify-content:center;gap:10px}
.pricebox__inline span{font-size:12px;color:var(--navy);font-weight:500}
.pricebox__small{color:var(--gray2);font-size:12px;margin-top:2px}
/* 模試料金（通常／塾生からの紹介の2段・添付デザイン準拠） */
.moshi-price{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:8px}
.moshi-price__row{display:flex;align-items:center;justify-content:center;gap:12px}
.moshi-price__tag{flex-shrink:0;width:128px;text-align:center;font-size:14px;font-weight:700;padding:5px 0;border-radius:4px;line-height:1.3}
.moshi-price__tag--out{border:1px solid var(--blue);color:var(--navy);background:#fff}
.moshi-price__tag--in{background:var(--blue);color:#fff}
.moshi-price .pricebox__num{font-size:26px}

.prog-card--combo .combo__title{color:var(--navy);font-size:18px;font-weight:600;text-align:center}
.combo__plus{color:#d8effd;background:var(--blue);border-radius:50%;font-size:13px;padding:1px 5px;margin:0 3px}
.combo__title small{font-size:15px}
.combo__title2{color:var(--navy);font-size:18px;font-weight:600}
.combo__note{position:relative;background:var(--bg-blue);border:1px solid var(--navy);border-radius:10px;padding:14px 10px;text-align:center;color:var(--navy);font-size:14px;font-weight:600;line-height:1.6;align-self:stretch;margin-top:8px}
.combo__note-badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;font-size:14px;font-weight:500;padding:2px 12px;border-radius:32px}

/* ===================== 7. 6年生限定 ===================== */
.grade6{background:var(--bg-ice);padding:48px 21px;display:flex;flex-direction:column;gap:32px}
/* 合宿セクションは表示するが、価格(受講料)のみ非表示 */
/* 合宿の確定料金ブロック（添付デザイン準拠） */
.camp-fee{align-self:stretch;background:var(--bg-blue);border:1px solid var(--blue);border-radius:10px;padding:20px 16px;text-align:center;margin-top:16px;display:flex;flex-direction:column;gap:0}
.camp-fee__label{color:var(--navy);font-size:15px;font-weight:700;margin-bottom:8px}
.camp-fee__row{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:6px}
.camp-fee__row span{font-size:13px;color:var(--navy);font-weight:600}
.camp-fee__num{color:var(--blue);font-size:30px;font-weight:700;font-family:"Open Sans",sans-serif;line-height:1.2}
.camp-fee__num small{font-size:18px}
.camp-fee__note{color:var(--gray2);font-size:12px;margin-top:6px}
.camp-fee__hr{border:none;border-top:1px dashed var(--blue);margin:16px 0;opacity:.6}
.camp-fee__sub{color:var(--navy);font-size:14px;font-weight:700;line-height:1.5;margin-bottom:8px}
.camp-fee__discount{display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1.5px solid var(--orange);color:var(--orange);font-size:14px;font-weight:700;border-radius:6px;padding:4px 12px;margin-left:6px;white-space:nowrap}
.camp-fee .g6-coupon{margin-top:16px}
.g6-card{background:#fff;border-radius:20px;box-shadow:0 0 3px rgba(0,0,0,.05);padding:24px 18px;display:flex;flex-direction:column;align-items:center;gap:14px}
.g6-card__title{color:var(--blue);font-size:28px;font-weight:700;letter-spacing:.05em;text-align:center}
.g6-card__title--lg{font-size:28px}
.g6-card__pre{color:var(--navy);font-size:17px;font-weight:600}
.limit-badge{background:var(--navy);color:#fff;font-size:15px;font-weight:600;padding:1px 14px}
.g6-card__tags{display:flex;flex-wrap:wrap;gap:8px;align-self:stretch}
.g6-card__lead{align-self:stretch;text-align:center;color:var(--navy);font-size:20px;font-weight:700;line-height:1.7;border-bottom:1px solid var(--blue);padding-bottom:8px}
.g6-card__txt{color:var(--navy);font-size:14px;line-height:1.8;align-self:stretch}
.g6-sub{color:var(--navy);font-size:18px;font-weight:700;border-bottom:1px solid var(--blue);padding-bottom:6px;margin-top:8px;align-self:stretch;text-align:center}

/* スライダー（汎用） */
.slider{width:100%;position:relative}
.slider__viewport{width:100%;overflow:hidden;border-radius:8px}
.slider__track{display:flex;transition:transform .35s ease}
.slider__track>img{flex:0 0 100%;width:100%;height:auto}
.slider__dots{display:flex;gap:8px;justify-content:center;margin-top:10px}
.slider__dots span{width:8px;height:8px;border-radius:50%;background:#c5d4e2;cursor:pointer;transition:.2s}
.slider__dots span.is-active{background:var(--blue);width:20px;border-radius:4px}
/* プログラム概要スライダー（1枚表示・余白あり・はみ出さない） */
.day-slider{padding:0 2px}
.day-slider .slider__viewport{border-radius:10px;overflow:hidden;padding:3px}
.day-slider .slider__track>.day-card{flex:0 0 100%;width:100%}

/* 1日目テーブル */
.day-card{border:1.5px solid var(--navy2);border-radius:10px;overflow:hidden;background:#fff}
.day-card__head{background:var(--navy2);color:#fff;font-size:17px;font-weight:900;text-align:center;padding:12px}
.day-card__body{padding:5px 24px}
.day-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #e5e5e5}
.day-row:last-child{border-bottom:none}
.day-chip{flex-shrink:0;width:44px;text-align:center;background:#ebf0fa;color:var(--navy2);font-size:12px;font-weight:700;padding:4px 0;border-radius:10px}
.day-row i{width:1px;height:22px;background:#e5e5e5;flex-shrink:0}
.day-row p{color:var(--navy2);font-size:14px}

/* 合宿参加者の声 */
.voices{align-self:stretch;display:flex;flex-direction:column;gap:18px}
.voice{border:1px solid var(--orange);border-radius:10px;overflow:hidden}
.voice img{width:100%;height:auto}
.voice figcaption{background:var(--bg-cream);padding:16px 18px;color:var(--ink);font-size:12px;font-weight:500;line-height:1.8;letter-spacing:.05em}

/* 集中特訓 詳細ボックス */
.detail-box{align-self:stretch;border:1.5px solid var(--navy);border-radius:8px;overflow:hidden}
.detail-box__head{background:var(--navy);color:#fff;font-size:15px;font-weight:700;letter-spacing:.1em;padding:4px 12px}
.detail-box p{color:var(--gray);font-size:14px;line-height:1.5;padding:10px 12px 14px}

/* グラフ */
.chart{align-self:stretch;background:#f8f8f8;border-radius:12px;padding:24px 18px;display:flex;flex-direction:column;align-items:center;gap:14px}
.chart__title{color:var(--navy);font-size:16px;font-weight:700}
.chart__judge{background:#06aebd;color:#fff;font-size:13px;font-weight:700;padding:5px 13px;border-radius:14px}
.chart__area{display:flex;align-items:flex-end;justify-content:center;gap:6px;height:200px;width:100%;position:relative;padding-top:30px}
.bar{width:80px;border-radius:7px 7px 0 0;position:relative;display:flex;flex-direction:column;align-items:center}
.bar--1{height:120px;background:#d8effd}
.bar--2{height:160px;background:#06aebd}
.bar__val{position:absolute;top:14px;font-family:"Open Sans";font-weight:700;font-size:24px;color:var(--blue)}
.bar--2 .bar__val{color:#fff}
.bar__lbl{position:absolute;bottom:-24px;font-size:14px;font-weight:500;color:#4a3a24}
.bar__lbl--2{color:#3da6b0;font-weight:700}
.chart__up{display:flex;flex-direction:column;align-items:center;color:#3da6b0;font-weight:700;align-self:center;margin-bottom:30px}
.chart__up b{font-family:"Open Sans";font-size:24px;display:flex;align-items:baseline;gap:2px}
.chart__up b small{font-size:13px;font-family:"Noto Sans JP"}
.chart__up em{font-style:normal;font-size:14px}
.chart__arrow{font-size:34px;line-height:.8}

/* ===================== 8/12. CTA ===================== */
/* 背景は画像（見出し＋生徒＋空）。ボタンカード／無料体験を画像の上に重ねる */
.cta{position:relative;width:100%}
.cta__bg{width:100%;display:block}
.cta__card{position:absolute;top:37.5%;left:3.2%;width:93.6%;background:#fff;border:1px solid var(--navy);border-radius:10px;padding:24px 12px 18px;display:flex;flex-direction:column;align-items:center;gap:16px;z-index:2}
.cta__trial{position:absolute;top:83.4%;left:50%;transform:translateX(-50%);z-index:2;margin:0;max-width:300px}
.cta__tel{text-align:center}
.cta__tel-num{display:flex;align-items:center;justify-content:center;gap:3px;color:var(--navy2);font-family:"Open Sans";font-weight:700;font-size:21px}
.cta__tel-time{color:var(--ink);font-size:12px;margin-top:2px}
.ico-phone{width:22px;height:22px;fill:var(--navy2)}

/* 丸型ボタン（CTA共通） */
.btn-round{display:flex;align-items:center;justify-content:center;gap:12px;border-radius:64px;font-size:14px;font-weight:600;padding:15px 36px;width:280px;max-width:100%;position:relative;text-align:center;line-height:1.4}
.btn-round--orange{background:var(--orange);color:#fff}
.btn-round--line{background:var(--teal);color:#fff}
.btn-round--outline{background:#fff;border:1px solid var(--navy);color:var(--navy2);padding:12px 10px}
.btn-round--2line{padding:12px 24px}
.btn-round__arrow{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:0;color:var(--orange)}
.btn-round__arrow::before{content:"";display:block;width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:translateX(-1px) rotate(45deg)}
.btn-round--line .btn-round__arrow{color:var(--teal)}
.btn-round--outline .btn-round__arrow{color:var(--navy2);background:#eaf1f8}

/* ===================== 9. AAR ===================== */
.aar{background:#fff;padding:40px 21px;display:flex;flex-direction:column;align-items:center;gap:20px}
.aar__head{display:flex;flex-direction:column;align-items:center}
.aar__point{background:var(--navy);color:#fff;font-size:16px;letter-spacing:.1em;padding:0 10px;border-radius:32px;font-style:italic}
.aar__logo{display:flex;align-items:flex-end;gap:6px;margin-top:4px}
.aar__logo img{width:128px}
.aar__logo span{color:var(--blue);font-size:20px;font-weight:600;padding-bottom:6px}
.aar__title{color:var(--navy);font-size:28px;font-weight:700;letter-spacing:.05em;border-bottom:1.5px solid var(--blue);padding-bottom:14px}
.aar__intro{color:var(--navy);font-size:16px;line-height:1.8;letter-spacing:.05em;align-self:stretch}
.aar__intro b{font-weight:700}
.aar__venn{width:100%;max-width:333px}
.aar__steps{align-self:stretch;display:flex;flex-direction:column;gap:10px}
.aar-step{position:relative;border:1px solid var(--blue);border-radius:10px;padding:14px 11px;display:flex;gap:14px;align-items:flex-start}
.aar-step:not(:last-child)::after{content:"";position:absolute;bottom:-12px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-top:12px solid var(--blue);z-index:2}
.aar-step img{width:112px;height:96px;object-fit:cover;border-radius:4px;flex-shrink:0;margin-top:5px}
.aar-step__en{display:block;color:var(--blue);font-size:14px;font-weight:700;opacity:.75}
.aar-step b{display:block;color:var(--navy);font-size:18px;font-weight:600;margin:2px 0}
.aar-step p{color:var(--navy);font-size:14px;font-weight:500;opacity:.75;line-height:1.6}
.aar__outro{text-align:center;color:var(--navy);font-size:16px;font-weight:500;line-height:1.8}
.aar__outro b{font-size:22px;font-weight:700}

/* ===================== 10. 受講料 ===================== */
.fees{background:var(--bg-blue);padding:40px 21px;display:flex;flex-direction:column;gap:20px}
.fees__title{text-align:center;color:var(--navy);font-size:28px;font-weight:700;letter-spacing:.05em;padding-bottom:10px;border-bottom:1.5px solid var(--navy);width:fit-content;align-self:center}
.fee-card{background:#fff;border-radius:16px;box-shadow:0 0 4px rgba(0,0,0,.06);overflow:hidden}
.fee-card__head{background:var(--navy);color:#fff;font-size:18px;font-weight:700;padding:12px 20px}
.fee-card__body{padding:20px}
.fee-grade{color:var(--navy);font-size:18px;font-weight:700;border-left:4px solid var(--blue);padding-left:8px;margin-bottom:8px}
.fee-spec{color:var(--gray);font-size:14px;line-height:1.6;margin-bottom:10px}
.fee-card__body .tag{margin-bottom:8px}
.fee-price{display:flex;gap:20px;justify-content:center;align-items:flex-end;margin:12px 0}
.fee-price span{display:flex;flex-direction:column;align-items:center;gap:6px}
.fee-tag{font-size:14px;font-weight:700;padding:2px 12px;border-radius:3px;font-style:normal}
.fee-tag--out{border:1px solid var(--navy);color:var(--navy)}
.fee-tag--in{background:var(--navy);color:#fff}
.fee-price b{color:var(--navy);font-size:28px;font-weight:800;font-family:"Open Sans"}
.fee-price small{font-size:16px}
.fee-price--single{display:flex;flex-direction:row;align-items:baseline;justify-content:center;gap:10px}
.fee-both{font-size:13px;color:var(--navy);font-weight:600}
.fee-card__body hr{border:none;border-top:1px solid #e3e3e3;margin:16px 0}

/* ===================== 11. 申し込み方法 ===================== */
.apply-method{background:#fff;padding:40px 21px;display:flex;flex-direction:column;gap:16px}
.apply__title{text-align:center;color:var(--navy);font-size:28px;font-weight:700;letter-spacing:.05em;padding-bottom:10px;border-bottom:1.5px solid var(--navy);width:fit-content;align-self:center;margin-bottom:8px}
.apply-cards{display:flex;flex-direction:column;gap:16px}  /* SP：塾生/一般カードの間に余白（PCはmediaで2列grid） */
.apply-card{border:1px solid var(--blue);border-radius:12px;padding:24px 20px;display:flex;flex-direction:column;align-items:center;gap:14px}
.apply-card .btn-round{white-space:nowrap}
/* GROWアプリ：公式ストアバッジ（App Store / Google Play）。高さを揃える */
.app-badges{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
.app-badges img{height:44px;width:auto;display:block}  /* SP：2枚を横並びで横幅いっぱいに（狭幅は36px／PCは50px） */
.apply-card__head{color:var(--navy);font-size:18px;font-weight:700;border-bottom:1px solid var(--blue);padding-bottom:6px;align-self:stretch;text-align:center}
.apply-card__txt{color:var(--ink);font-size:15px;text-align:left;line-height:1.6;align-self:stretch}
.apply-tel{background:var(--bg-blue);border:1px solid var(--blue);border-radius:12px;padding:18px;text-align:center}
.apply-tel>p:first-child{color:var(--navy);font-size:14px;line-height:1.6}
.apply-tel__num{display:flex;align-items:center;justify-content:center;gap:4px;color:var(--navy2);font-family:"Open Sans";font-weight:700;font-size:36px;margin:4px 0}
.apply-tel__num .ico-phone{width:26px;height:26px}
.apply-tel__time{color:var(--ink);font-size:13px}

.notes__title{text-align:center;color:var(--navy);font-size:28px;font-weight:700;letter-spacing:.05em;padding-bottom:10px;border-bottom:1.5px solid var(--navy);width:fit-content;align-self:center;margin:16px 0 4px}
.notes__line{color:var(--navy);font-size:15px;font-weight:600;line-height:1.7}
/* [5][6] 3・4行目は上の余白（親flexのgap16px）を詰める */
.notes__line:nth-of-type(3),.notes__line:nth-of-type(4){margin-top:-16px}
.notes-card{border:1px solid var(--blue);border-radius:12px;padding:18px 20px;margin-top:8px}
.notes-card__head{text-align:center;color:var(--navy);font-size:18px;font-weight:700;border-bottom:1px solid var(--blue);padding-bottom:6px;margin-bottom:10px}
.notes-card ul{display:flex;flex-direction:column;gap:4px}
.notes-card li{color:var(--navy);font-size:14px;line-height:1.6;padding-left:1em;text-indent:-1em}
.notes-card li::before{content:"・"}

/* ===================== 14. フッター ===================== */
.footer{background:#fff;text-align:center;padding:18px 0 24px}
.footer__logo{width:86px;margin:0 auto 12px}
.footer__copy{color:var(--ink);font-size:12px}

/* ===================== 15. 固定追従ボタン ===================== */
.sticky-cta{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:375px;max-width:100%;background:rgba(255,255,255,.82);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);padding:10px 12px 12px;z-index:100;transition:transform .3s ease;pointer-events:none}
.sticky-cta.is-hidden{transform:translateX(-50%) translateY(140%)}
.sticky-cta__lead,.sticky-cta__btns{pointer-events:auto}
.sticky-cta__lead{display:flex;align-items:center;justify-content:center;gap:8px;color:#0571D5;font-size:14px;font-weight:800;margin-bottom:7px;text-shadow:0 1px 3px #fff,0 0 6px #fff,0 0 6px #fff}
.sticky-cta__lead small{color:var(--navy);font-size:11px;font-weight:600}
/* [5][6] フラリッシュ装飾: 7×12px */
.flourish{width:7px;height:12px;flex-shrink:0}
.sticky-cta__btns{display:flex;gap:8px}
/* [3][4] 固定追従ボタン: gap11・radius5・16px bold */
.sticky-cta__btn{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:4px;border-radius:12px;font-size:12px;font-weight:700;padding:12px 3px;color:#fff;white-space:nowrap;box-shadow:0 4px 10px rgba(0,0,0,.2)}
.sticky-cta__btn--apply{background:linear-gradient(180deg,#FF630F 0%,#B84304 100%)}
.sticky-cta__btn--line{background:linear-gradient(180deg,#04D364 0%,#1A7745 100%)}
/* [1] mail 20×16 / [2] LINE 22px（小学生と統一：.line-mark） */
.ico-mail{width:20px;height:16px;display:block}
.line-mark{width:22px;height:auto;display:inline-block;vertical-align:middle}

/* ===================== モーダル ===================== */
.modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}
.modal[hidden]{display:none}
.modal__overlay{position:absolute;inset:0;background:rgba(136,136,136,.74)}
.modal__window{position:relative;z-index:1;background:#fff;border-radius:16px;padding:28px 22px;width:100%;max-width:335px;max-height:88vh;overflow-y:auto;box-shadow:0 10px 40px rgba(0,0,0,.3)}
.modal__title{text-align:center;color:var(--blue);font-size:22px;font-weight:700;border-bottom:2px solid var(--blue);padding-bottom:10px;margin-bottom:16px}
.modal__video{position:relative;width:100%;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:#000;margin-bottom:14px}
.modal__video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:1}
.modal__video-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;text-align:center;background:#222;padding:10px}
.modal__txt{color:var(--navy);font-size:14px;line-height:1.85;letter-spacing:.03em}
.modal__close{display:flex;align-items:center;justify-content:center;gap:12px;background:var(--blue);color:#fff;font-size:15px;font-weight:600;border-radius:32px;padding:10px 18px 10px 30px;margin:18px auto 0}
.modal__close-icon{width:28px;height:28px;border-radius:50%;background:#d8effd;color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;line-height:1}

/* ===================== 中学生版：画像スタック ===================== */
.sec-img{display:block;width:100%;height:auto}
.cta-stack{position:relative;line-height:0}
.hotspot{position:absolute;display:block;z-index:3}

/* ===================== 中学生版 追加 ===================== */
.sec-img{display:block;width:100%;height:auto}
.cta-stack{position:relative;line-height:0}
.hotspot{position:absolute;display:block;z-index:3}

/* intro 悩み */
.intro__nayami-title{font-size:28px;font-weight:800;color:var(--blue);text-align:center;line-height:1.4}
.intro__nayami-badge{background:var(--navy)}
.kw--navy{background:var(--navy)}
.kw--blue{background:var(--blue)}
.kw--lg{font-size:32px;display:inline-block;padding:2px 10px}
.intro__catch--jhs p{font-size:24px}
.intro__photo--tall{width:317px;height:322px}
.intro__photo--tall img{width:100%;height:100%;object-fit:cover}
.intro__nara span{color:var(--blue);font-size:20px;font-weight:600}

/* Point カード */
.points{display:flex;flex-direction:column;gap:36px;width:100%;margin-top:14px}
.point-card{position:relative;background:#fff;border:1px solid var(--blue);border-radius:10px;padding:24px 16px 18px}
.point-card__chip{position:absolute;top:-22px;left:8px;color:#fff;font-weight:700;font-size:16px;padding:5px 14px;border-radius:15px}
.point-card__chip--navy{background:var(--navy2)}
.point-card__chip--teal{background:var(--teal)}
.point-card__chip--orange{background:var(--orange)}
.point-card__chip--blue{background:var(--blue)}
.point-card__badge{position:absolute;top:19px;right:17px;border:1px solid var(--navy2);color:var(--navy2);font-size:13px;font-weight:600;padding:2px 9px}
.point-card__en{display:block;color:var(--blue);font-size:14px;font-weight:700;opacity:.75;margin-bottom:6px}
.point-card__title{color:var(--navy);font-size:20px;font-weight:800;letter-spacing:.05em;margin-bottom:6px}
.point-card__desc{color:var(--navy);font-size:14px;font-weight:500;opacity:.85;line-height:1.6}

/* 両立 */
.toritsu{background:var(--bg-cream);padding:40px 21px 32px;display:flex;flex-direction:column;gap:16px;align-items:center}
.toritsu__head{display:flex;flex-direction:column;align-items:center;gap:5px}
.toritsu__head .sec-head__badge{font-size:20px}
.toritsu__title{color:var(--navy);font-size:28px;font-weight:700;letter-spacing:.05em}
.toritsu__card{background:#fff;border-radius:10px;padding:10px;display:flex;gap:10px;align-items:center;width:340px;max-width:100%}
.toritsu__card img{width:100px;height:148px;object-fit:cover;border-radius:8px;flex-shrink:0}
.toritsu__lead{color:var(--navy);font-size:14px;font-weight:600;line-height:1.6}
.toritsu__sub{color:#444;font-size:12px;line-height:1.6;margin-top:4px}

/* course 追加 */
.course__desc{color:var(--navy);font-size:15px;line-height:1.8;margin-bottom:18px}
.course-slider .slider__viewport{overflow:hidden;padding:2px}
.course-slider .cslide{flex:0 0 100%;width:100%;padding:2px}
.cslide__name{color:var(--navy);font-size:18px;font-weight:700;border-bottom:1.5px solid var(--blue);padding-bottom:8px;margin-bottom:12px}
.cslide dl dt{color:var(--navy);font-size:15px;font-weight:700;margin-bottom:4px}
.cslide dl dd{color:var(--navy);font-size:14px;margin-bottom:12px;line-height:1.6}
.cslide__time{color:#666;font-size:12px;margin-top:10px;text-align:center}
.price__tier{font-size:12px;color:#666;margin-left:6px}
.prog-card--mt{margin-top:36px}
.ghost-tag--inline{font-size:14px}

/* 変化 */
.change-box{background:var(--bg-blue);border:1px solid var(--blue);border-radius:12px;padding:20px;margin-top:28px;text-align:center}
.change-box__head{background:var(--navy);color:#fff;font-size:16px;font-weight:700;display:inline-block;padding:3px 16px;border-radius:4px;margin-bottom:10px}
.change-box__lead{color:var(--navy);font-size:16px;font-weight:700;line-height:1.5}
.change-box__txt{color:var(--navy);font-size:14px;line-height:1.7;margin-top:6px}

/* calendar 後期 */
.cal__cell--go{background:#e3f5ec}
.cal__mark--go{background:#19a86b;color:#fff}
.sw--go{background:#19a86b}

/* 合宿（中学生） */
.camp .tabs{margin-top:0}
.donut-box{align-self:stretch;background:var(--bg-ice);border-radius:10px;padding:24px;display:flex;flex-direction:column;align-items:center;gap:18px}
.donut-box__head{color:#444;font-size:22px;font-weight:700;text-align:center;line-height:1.5}
.donut{width:200px;height:200px;border-radius:50%;background:conic-gradient(var(--navy2) 0 100%, #d8e2ef 0);display:flex;align-items:center;justify-content:center;position:relative}
.donut::before{content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:var(--bg-ice)}
.donut__center{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center}
.donut__center span{color:var(--navy2);font-size:16px;font-weight:500}
.donut__center b{color:var(--orange);font-family:"Open Sans";font-size:54px;font-weight:700;line-height:1}
.donut__center b small{font-size:26px}
.mechanism{align-self:stretch;background:var(--bg-ice);border-radius:10px;padding:24px;text-align:center}
.mechanism__head{color:var(--navy2);font-size:18px;font-weight:700;line-height:1.5}
.mechanism__head b{font-size:22px}
.mechanism__imgs{display:flex;gap:10px;justify-content:center;margin:25px 0 14px}
.mechanism__imgs figure{width:127px;position:relative}
.mechanism__imgs img{width:127px;height:125px;object-fit:cover;display:block}
.mechanism__imgs figcaption{position:absolute;left:50%;top:0;transform:translate(-50%,-50%);margin:0;font-size:12px;white-space:nowrap;z-index:1}
.mechanism__lead{color:#555;font-size:16px;font-weight:700;line-height:1.5;border-left:4px solid var(--blue);padding-left:10px;text-align:left;display:block;margin:6px 0 12px}
.mechanism__txt{color:#555;font-size:14px;line-height:1.8;text-align:left}
.voices--text{gap:12px}
.voice--text{border:1px solid var(--orange);border-radius:10px;background:var(--bg-cream);display:flex;align-items:center;justify-content:center}
.voice--text figcaption{padding:16px 18px;color:var(--ink);font-size:12px;line-height:1.8}

/* 受講料一覧（料金表） */
.price-table{width:340px;max-width:100%;display:flex;flex-direction:column;gap:16px}
.price-table__title{background:var(--blue);color:#fff;font-size:18px;font-weight:700;padding:14px 20px;border-radius:4px}
.ptabs{margin-bottom:0}
.fee-row-card{border:1px solid var(--navy2);border-radius:10px;overflow:hidden;background:#fff}
.fee-row-card__head{background:var(--navy2);color:#fff;font-size:16px;font-weight:700;padding:14px 20px}
.fee-row-card__prices{display:flex}
.fee-row-card__prices>span{flex:1;display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px}
.fee-tag{font-size:13px;padding:2px 10px;border-radius:0;font-style:normal;width:64px;text-align:center}
.fee-tag--out{border:1px solid var(--navy2);color:var(--navy2)}
.fee-tag--in{background:var(--navy2);color:#fff;border:1px solid var(--navy2)}
.fee-row-card__prices b{color:var(--navy2);font-family:"Open Sans";font-size:24px;font-weight:700}
.fee-row-card__prices small{font-size:14px;font-family:"Noto Sans JP"}
.fee-row-card__prices--tier{align-items:stretch}
.fee-col{flex:1;display:flex;flex-direction:column;gap:8px;padding:14px 20px}
.fee-col--center{align-items:center;justify-content:center}
.fee-big{color:var(--navy2);font-family:"Open Sans";font-size:24px;font-weight:700}
.fee-big small{font-size:14px;font-family:"Noto Sans JP"}
.tier{display:flex;flex-direction:column;gap:4px}
.tier li{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;justify-content:space-between}
.tier li span{background:#ebf0fa;color:var(--navy2);font-size:11px;font-weight:700;padding:1px 6px;border-radius:3px}
.tier li b{color:var(--navy2);font-family:"Open Sans";font-size:17px;font-weight:700}
.tier li em{font-style:normal;color:#888;font-size:10px;width:100%}
.fee-row-card__disc{display:flex;flex-direction:column;align-items:center;background:#f2f7fd;text-align:center;padding:12px 16px;font-size:13px;color:var(--navy2);font-weight:600;border-top:1px solid var(--navy2);line-height:1.6;white-space:nowrap}
.disc-label{display:inline-block;background:var(--navy2);color:#fff;font-size:11px;font-weight:700;padding:3px 10px;border-radius:10px;margin-bottom:6px}
.fee-row-card__date{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 16px;border-top:1px solid var(--navy2)}
.fee-row-card__date span{color:#888;font-size:12px;font-weight:700}
.fee-row-card__date b{color:var(--navy2);font-size:14px;font-weight:700}
.hl-mark{background:#ffed00;padding:0 6px}
.fee-notes{display:flex;flex-direction:column;gap:4px;font-size:11px;color:#000;line-height:1.6}

/* サブタブ（前期/後期/フルコース） */
.subtabs{display:flex;gap:9px;margin-bottom:22px}
.subtab{flex:1;background:#eaf4fc;border:1px solid #b8dcf5;border-radius:5px;color:var(--navy);font-size:16px;font-weight:700;padding:10px 5px;line-height:1.3}
.subtab.is-active{background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:0 3px 8px rgba(5,113,213,.22)}
.subpanel{display:none}
.subpanel.is-active{display:block}
/* CTA 背景画像（ボタンは上に重ねる） */
.cta__bg-img{width:100%;display:block}

/* CTA（中学生：画像クリップ＋実HTMLボタン） */
.cta--jhs{position:relative;background:linear-gradient(180deg,#cfeaff 0%,#e8f5ff 45%,#fff 100%);padding:0 12px 36px}
.cta--jhs .cta__hero{height:206px;overflow:hidden;margin:0 -12px}
.cta--jhs .cta__hero img{width:100%;display:block}
.cta--jhs .cta__card{position:static;top:auto;left:auto;width:auto;margin:-22px 0 0;z-index:1}
.cta--jhs .cta__trial{position:relative;transform:none;margin:18px auto 0;max-width:300px}

/* ===================== 中学1・2年 後期定着コース ===================== */
.kouki-section{margin-bottom:16px}
.kouki-section:last-child{margin-bottom:0}
.kouki-label{color:var(--navy2);font-size:16px;font-weight:700;margin-bottom:5px}
.kouki-text{color:var(--navy2);font-size:15px;line-height:1.5;margin-bottom:4px}
.kouki-note{color:#444;font-size:13px;line-height:1.5;margin-top:4px}

/* こんな生徒に チェックリスト */
.kouki-checks{display:flex;flex-direction:column}
.kouki-checks li{display:flex;align-items:center;gap:4px;color:var(--navy);font-size:12px;font-weight:500;line-height:1.8;letter-spacing:.05em}
.kouki-checks .cb--sm{flex-shrink:0;fill:none;stroke:var(--navy2)}

/* 受講料ブロック */
.kouki-price-block{border-top:1px solid #e5e5e5;padding-top:12px;margin-top:4px;display:flex;flex-direction:column;gap:12px}
/* 上段：超早割・早割カード（水色背景・2列） */
.kouki-price-top{background:#d8effd;display:flex;align-items:stretch;width:100%;border-radius:4px;overflow:hidden}
.kouki-price-cell{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:12px 8px}
.kouki-price-vdiv{width:1px;background:#fff;flex-shrink:0;align-self:stretch;margin:10px 0}
.kouki-price-badge{background:#fff;border:1px solid var(--navy2);color:var(--navy2);font-size:12px;font-weight:400;padding:2px 6px;text-align:center;letter-spacing:.05em;white-space:nowrap}
.kouki-price-num{display:flex;align-items:baseline;gap:1px;color:var(--navy2)}
.kouki-price-num b{font-family:"Open Sans",sans-serif;font-size:26px;font-weight:700}
.kouki-price-num span{font-size:16px;font-weight:700}
/* 下段：一般・塾生（行形式） */
.kouki-price-bottom{display:flex;flex-direction:column;gap:8px}
.kouki-price-row{display:flex;align-items:center;gap:14px}
.kouki-price-row .kouki-price-num b{font-size:26px}

/* クーポン表示 */
.kouki-coupon{display:flex;align-items:center;gap:8px;border:1px solid var(--navy2);border-radius:8px;padding:12px 16px;margin-top:4px;background:#f5fbff}
.kouki-coupon__logo{height:28px;width:auto;object-fit:contain;flex-shrink:0}
.kouki-coupon__text{color:var(--navy);font-size:17px;font-weight:800;letter-spacing:.05em}

/* ===================== コースカード（中学生・実カード準拠） ===================== */
.tab-panel{display:none}
.tab-panel.is-active{display:block}
.ccard{background:#fff;border:1px solid var(--navy2);border-radius:16px;overflow:hidden;box-shadow:0 4px 10px rgba(26,51,128,.05)}
.ccard__head{background:var(--navy2);color:#fff;font-size:18px;font-weight:700;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:16px 14px;white-space:normal}
.ccard__chip{background:#fff;color:var(--navy2);border:1.5px solid var(--navy2);font-size:13px;font-weight:700;padding:4px 10px;border-radius:20px;white-space:nowrap;flex-shrink:0}
/* フルコースなど長い見出しは少し縮めてカード内に収める（改行しない） */
.subpanel[data-subpanel="full"] .ccard__head{font-size:16px;gap:6px}
.ccard__body{padding:24px}
.crow{margin-bottom:16px}
.crow__label{color:var(--navy2);font-size:16px;font-weight:700;margin-bottom:5px}
.crow__val{color:var(--navy2);font-size:15px;line-height:1.5}
.crow__note{display:block;color:#444;font-size:13px;margin-top:8px;line-height:1.5}
.subjects{display:flex;flex-wrap:wrap;gap:5px}
.subj{color:#fff;font-size:13px;font-weight:700;padding:2px 10px;border-radius:5px}
.subj--koku{background:#7a6000}
.subj--suu{background:#06b6cc}
.subj--ei{background:#cf3f30}
.subj--sha{background:#9d5d9f}
.subj--ri{background:#0fa8a1}
.ccard__div{border:none;border-top:1px solid #e5e5e5;margin:16px 0}
.cchecks{display:flex;flex-direction:column;gap:2px}
.cchecks li{display:flex;align-items:center;gap:4px;color:var(--navy);font-size:12px;font-weight:500}
.cprice__label{color:var(--navy2);font-size:16px;font-weight:600;margin-bottom:10px}
.cprice__top{background:#d8effd;display:flex;align-items:stretch;border-radius:4px;margin-bottom:14px}
.cprice__cell{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px;padding:12px 4px}
.cprice__badge{background:#fff;border:1px solid var(--navy2);color:var(--navy2);font-size:12px;letter-spacing:-.02em;padding:2px 6px;white-space:nowrap}
.cprice__top>i{width:1px;background:#fff;align-self:center;height:56px}
.cprice__num{color:var(--navy2);font-weight:700;font-size:16px;display:inline-flex;align-items:baseline}
.cprice__num b{font-family:"Open Sans";font-size:28px;font-weight:700}
.cprice__row{display:flex;align-items:center;gap:20px;margin-bottom:10px}
.cprice__row .price__tag{font-size:14px;padding:2px 10px;width:64px;text-align:center;flex-shrink:0}
.ccoupon{display:flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:8px;padding:14px 10px;margin-top:16px;background:url(../images/coupon-blue.png) center center/100% 100% no-repeat}
.ccoupon img{width:70px;height:auto}
.ccoupon span{color:#0D4C81;font-family:"Noto Sans JP",sans-serif;font-size:20px;font-weight:800;line-height:1}
.ccard__btn{display:flex;align-items:center;justify-content:center;gap:14px;background:var(--orange);color:#fff;font-size:16px;font-weight:600;padding:12px;margin:0 24px 24px;border-radius:32px;position:relative}
.ccard__btn .btn-pill__arrow{position:static;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.85);color:var(--orange);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700}

/* ===================== フィードバック対応（中学生） ===================== */
/* [3] 変化ボックスの画像（角丸12px・2枚目の上余白18px） */
.change-box__img{width:100%;height:auto;display:block;border-radius:12px}
/* <picture>化した1枚目：内側imgがボックスを埋める（PC/SP出し分け） */
.change-box__img>img{width:100%;height:auto;display:block;border-radius:12px}
.change-box__img--mt{margin-top:18px}

/* [4] 8月カレンダー 空白セルを白っぽく */
.cal--aug .cal__cell--empty{background:#fafafa}

/* [5] 合宿クーポン画像 */
.g6-coupon{align-self:stretch;width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 10px;border-radius:8px;background:url(../images/coupon-orange.png) center center/100% 100% no-repeat}
.g6-coupon img{width:70px;height:auto}
.g6-coupon span{color:#0D4C81;font-family:"Noto Sans JP",sans-serif;font-size:17px;font-weight:800}

/* [9] 料金表カード間の余白16px */
.price-table .tab-panel.is-active{display:flex;flex-direction:column;gap:16px}

/* ===================== フィードバック対応 第2弾（中学生・コース/合宿） ===================== */
/* [1] course__desc は tabs の下に配置（HTMLで移動）。余白だけ調整 */
.course__desc{margin-top:14px;margin-bottom:18px}

/* [2] ccard 内・最初の区切り線の罫線を消す（余白は維持） */
.ccard__body hr.ccard__div:first-of-type,.ccard__main hr.ccard__div:first-of-type{border-top:none}
.ccard__side hr.ccard__div{border-top:1px solid #e5e5e5}

/* [3] 一般生/塾生タグを改行させない */
.cprice__row .price__tag{white-space:nowrap}

/* [4] ccard ボタンの矢印を丸の中央に */
.ccard__btn .btn-pill__arrow{line-height:1;padding-bottom:2px}

/* [5] コース切替の矢印ナビ */
.subnav{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding:0 36px}
.subnav__btn{width:44px;height:44px;border-radius:22px;background:#1A3A8E;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.subnav__btn svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.subnav__dots{display:flex;gap:8px;align-items:center}
.subnav__dots span{width:10px;height:10px;border-radius:50%;background:#c5d4e2;cursor:pointer;transition:.2s}
.subnav__dots span.is-active{background:#1A3A8E}

/* [6][8] カード上部の＋丸 ／ [7][9] カード枠線 */
.course .prog-card{position:relative;border:1px solid #0D4C81}
.card-plus{position:absolute;top:-20.5px;left:50%;transform:translateX(-50%);width:41px;height:41px;border-radius:20.5px;background:#D8EFFD;z-index:1}
.card-plus::before,.card-plus::after{content:"";position:absolute;top:50%;left:50%;background:#0571D5}
.card-plus::before{width:24px;height:1px;transform:translate(-50%,-50%)}
.card-plus::after{width:1px;height:24px;transform:translate(-50%,-50%)}

/* [10] mini-checks 先頭を改行させない */
.mini-checks li:first-child{white-space:nowrap}

/* [12] change-box 画像の上余白18px（1枚目・2枚目とも） */
.change-box__img{margin-top:18px}

/* [13] 8月カレンダー 空白セルを通常セルと同じ背景（透明）に */
.cal--aug .cal__cell--empty{background:transparent}

/* [14] 合宿カードの見出しを中央 */
.g6-card .prog-card__title{text-align:center;white-space:nowrap}

/* [15] 合宿カードのタグを中央 */
.camp .g6-card[data-panel="camp1"]>.tag--blue{align-self:center}

/* [17] 写真スライダーのドットは常に丸 */
.slider__dots span.is-active{width:8px;border-radius:50%}

/* [24][26] クーポンを価格ボックス内に */
.pricebox .g6-coupon{margin-top:10px}

/* 合宿カード（camp1）は gap をやめ個別余白で制御 */
.camp .g6-card[data-panel="camp1"]{gap:0}

/* [28] g6-sub の下線は文字幅に */
.g6-card .g6-sub{align-self:center;width:fit-content}

/* [29] day-slider を縦積み表示に（スワイプ無効） */
.day-slider--stacked .slider__viewport{overflow:visible;padding:0;border-radius:0}
.day-slider--stacked .slider__track{display:flex;flex-direction:column;gap:16px;transform:none!important}
.day-slider--stacked .slider__track>.day-card{flex:0 0 auto;width:100%}
.day-slider--stacked .slider__dots{display:none}

/* [34] 合宿CTA：画像は原寸表示・カードを画像の上に重ねる */
.camp-cta{position:relative;background:none;padding:0}
.camp-cta .cta__hero{position:relative;height:auto;overflow:visible;margin:0}
.camp-cta .cta__hero img{width:100%;height:auto;display:block}
/* ヘッダー(テキスト・人物)は背景の上に重ねる。SPはテキスト(sp01)＋写真(sp02)を縦積み */
.camp-cta .cta__head{position:absolute;top:-2%;left:0;width:100%;z-index:1;display:flex;flex-direction:column;align-items:center;gap:6px}
.camp-cta .cta__hero .cta__head--pc{display:none}
.camp-cta .cta__hero .cta__head--sp{display:block;width:100%}
/* テキスト(sp01)のみ位置微調整（写真sp02は動かさない）。translate(x, y)で左右/上下 */
.camp-cta .cta__head--sp1{transform:translate(14px, 35px)}
/* SP：カードは幅92%（相対）で配置。※三角関数scaleは実機(アプリ内ブラウザ)で反転崩れを起こすため不使用（小学生SPと同じ方針） */
.camp-cta .cta__card{position:absolute;top:44%;left:4%;width:92%;margin:0;z-index:2}
/* SP：PC用ラッパー(cta__btns/cta__contact)を透過してカード内に縦積み（ボタン＋電話） */
.camp-cta .cta__btns,.camp-cta .cta__contact{display:contents}
/* 無料体験ボタンは小学生に合わせてカードの外（下）に配置（top:100%＝カード下端＋26px・中央・幅267px） */
.camp-cta .cta__trial{position:absolute;top:100%;left:50%;right:auto;bottom:auto;transform:translateX(-50%);margin:20px 0 0;z-index:2;width:267px;max-width:90%}

/* [5][6] オンライン受講の※行は行頭の「・」を出さない */
.notes-card li.is-note{padding-left:0;text-indent:0}
.notes-card li.is-note::before{content:""}

/* ===================== フィードバック対応 第3弾（料金表 割引欄／固定ボタン） ===================== */
/* [2][3][4][5] お得な割引を「ラベル｜内容」の2列にして内容は折り返し ／ [6] 右側に余白 */
.fee-row-card__disc{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:12px 10px;white-space:nowrap}
.fee-row-card__disc .disc-label{flex-shrink:0;margin-bottom:0}

/* ===================== フィードバック対応 第N弾（料金表/凡例/lead） ===================== */
/* [11] 前期(nth2)の割引: ラベル以外を左揃え */
.price-table [data-panel="p12"] .fee-row-card:nth-of-type(2) .fee-row-card__disc{align-items:flex-start;text-align:left}
.price-table [data-panel="p12"] .fee-row-card:nth-of-type(2) .fee-row-card__disc .disc-label{align-self:center}
/* [13] おはよう勉強会(nth5)の割引のみ横並び */
.price-table .tab-panel .fee-row-card:nth-of-type(5) .fee-row-card__disc{flex-direction:row;align-items:center;justify-content:center;gap:8px}
/* [7] 中3受験対策の見出しは改行させない */
.cal-legend__ttl{white-space:nowrap}
/* [4] 変化ボックスのリードは表示崩れ防止（はみ出さず自然改行） */
/* [1] change-box リード文は改行させない（収まるよう縮小可） */
.change-box__lead{white-space:nowrap;font-size:14px}
/* [2] 本文もリードと同じフォント・見た目（長文のため折り返しは許可） */
.change-box__txt{font-size:14px;font-weight:700;line-height:1.5;color:var(--navy)}

/* [7] 固定追従ボタンを左右中央に */
.sticky-cta__btns{justify-content:center}

/* ===================== フィードバック対応 第4弾（intro/両立 PC調整） ===================== */
/* [12] 両立セクションのバッジを改行させない */
.toritsu__head .sec-head__badge{white-space:nowrap}

/* [2] intro は gap をやめ margin-top で余白を統一（従来の22px相当） */
.intro{gap:0}
.intro>*{margin-top:22px}
.intro>*:first-child{margin-top:0}

/* [3] intro の下向き矢印を arrow-blue.svg に置き換え */
.intro__arrow{width:auto;height:auto;border:0}
.intro__arrow img{display:block;width:48px;height:auto;margin:0 auto}

/* カレンダーを画像表示に置換 */
.cal-img{display:block;width:100%;height:auto;margin-bottom:22px;border-radius:12px}

/* donut-box を画像表示に置換 */
.donut-img{display:block;width:100%;height:auto;align-self:stretch;border-radius:10px}

/* hidden属性を確実に効かせる（.prog-card等の display 指定が打ち消すのを防ぐ） */
[hidden]{display:none!important}

/* ===================== 高校合格実績（Figma実測値そのまま） ===================== */
/* root: section #e0e0e0地・radius10・枠なし。overflowで角丸クリップ */
.koukou{background:#e0e0e0;border-radius:10px;overflow:hidden;margin-top:28px}
/* TitleBar: #1A3A8E / Noto Sans JP Black(900) 26px #fff / 字間2px / padding 18 20 22 */
.koukou__head{background:#1A3A8E;color:#fff;font-family:"Noto Sans JP",sans-serif;font-weight:900;font-size:26px;letter-spacing:2px;text-align:center;padding:18px 20px 22px;display:flex;align-items:center;justify-content:center;gap:10px}
.koukou__deco{width:22px;height:44px;flex-shrink:0}
/* body(Subtitle+Cards): #F5F5F5地 / 左右padding20・下20 */
.koukou__body{background:#F5F5F5;padding:16px 20px 20px}
/* サブ: Noto Sans JP Bold 15 #1A3A8E 中央・字間1px */
.koukou__sub{color:#1A3A8E;font-family:"Noto Sans JP",sans-serif;font-size:15px;font-weight:700;letter-spacing:1px;text-align:center;margin:0}
/* バッジ: #1A3A8E / Noto Sans JP Bold 13 #fff / radius4 / padding 3 12 */
.koukou__badge{display:inline-block;background:#1A3A8E;color:#fff;font-family:"Noto Sans JP",sans-serif;font-size:13px;font-weight:700;line-height:1;padding:5px 12px;border-radius:4px;margin:16px 0 0}
/* List: 白カード・枠#EBF0FA 1px・radius4。各行は内側で区切り線 */
.koukou__list{margin-top:8px;background:#fff;border:1px solid #EBF0FA;border-radius:4px;padding:0 16px;display:flex;flex-direction:column}
.koukou__list li{display:flex;align-items:center;justify-content:space-between;padding:9px 0}
.koukou__list li:not(:last-child){border-bottom:1px solid #EBF0FA}
/* 学校名: Noto Sans JP Bold(700) 14 #1A3A8E 字間0.5px */
.koukou__name{color:#1A3A8E;font-family:"Noto Sans JP",sans-serif;font-size:14px;font-weight:700;letter-spacing:.5px}
/* 数値: Noto Sans JP Black(900) 22 #0571D5 */
.koukou__num{color:#0571D5;font-family:"Noto Sans JP",sans-serif;font-size:22px;font-weight:900;display:inline-flex;align-items:baseline;gap:1px;line-height:1}
/* 名: Noto Sans JP Bold(700) 12 #0571D5 */
.koukou__num small{color:#0571D5;font-family:"Noto Sans JP",sans-serif;font-size:12px;font-weight:700}
/* Summary: 白カード radius8・個別。名前 Bold13 字間1px / 数値 Black30 / 名 Bold14 */
.koukou__summary{display:flex;align-items:center;justify-content:space-between;background:#fff;border-radius:8px;padding:12px 16px;margin-top:8px}
.koukou__name--total{font-size:13px;font-weight:700;letter-spacing:1px}
.koukou__num--lg{font-size:30px}
.koukou__num--lg small{font-size:14px;font-weight:700}

/* ===================== フィードバック対応（intro/course PC調整 第2弾） ===================== */
/* [1] セクション画像の余白 */
.sec-img{padding:24px 14px}
/* [12] hero画像は余白不要 */
.hero .sec-img{padding:0}
/* [12] 「の夏期講習」line-height:1・ロゴと下揃え */
.intro__nara span{line-height:1}
/* [2] intro 矢印画像サイズ */
.intro__arrow img{width:63px;height:23px}
/* [3] kw--blue 背景を 0571D5 に */
.intro__catch .kw--blue{background:#0571D5}
/* [4]→[1] points の上余白 36px */
.intro>.points{margin-top:36px}
/* [5] 両立ロゴ横テキストを5pxずらす */
.toritsu__head .intro__nara span{position:relative;top:5px}
/* [6][7] 両立 見出し・タイトルの上余白5px */
.toritsu__head{gap:0}
.toritsu__head .sec-head__badge{margin-top:16px}
.toritsu .toritsu__title{margin-top:5px}
/* [10] コースタイトル 32px */
.course .course__title{font-size:29px;white-space:nowrap}
/* [11][14] コースタブ（白/水色・青ボーダー・0D4C81 16px）。料金表タブ(ptabs)も同一に */
.course .tabs .tab,.price-table .ptabs .tab,.camp .tabs .tab{background:#fff;border-color:#0571D5;color:#0D4C81;font-size:16px}
.course .tabs .tab.is-active,.price-table .ptabs .tab.is-active,.camp .tabs .tab.is-active{background:#D8EFFD;border-color:#0571D5;color:#0D4C81;box-shadow:none}
/* [12][13] コースタブ矢印（0571D5・線細め） */
.course .tabs .tab .chev,.price-table .ptabs .tab .chev,.camp .tabs .tab .chev{stroke:#0571D5;stroke-width:2}
.course .tabs .tab.is-active .chev,.price-table .ptabs .tab.is-active .chev,.camp .tabs .tab.is-active .chev{stroke:#0571D5}
/* [15] course__desc　※[4]上余白20px */
.course .course__desc{margin-top:20px;margin-bottom:18px;background:#F5F5F5;border:1px solid #0D4C81;border-radius:8px;padding:18px 20px;color:#0D4C81;font-size:14px}
/* [17] サブタブ（白背景・青ボーダー） */
.subtab{background:#fff;border-color:#0571D5}
/* [18] ccard ボタン矢印を3px上に */
.ccard__btn .btn-pill__arrow{position:relative;top:0}
/* [19][20] card-plus を浮かさずカード間に表示（カード上13px） */
.card-plus{position:relative;top:auto;left:auto;transform:none;display:block;width:41px;height:41px;border-radius:20.5px;background:#D8EFFD;margin:26px auto}
.card-plus::before,.card-plus::after{content:"";position:absolute;top:50%;left:50%;background:#0571D5}
.card-plus::before{width:24px;height:1px;transform:translate(-50%,-50%)}
.card-plus::after{width:1px;height:24px;transform:translate(-50%,-50%)}
.prog-card--mt{margin-top:0}

/* ===== 見出し＋タブを、切替コンテンツを抜けるまで上部固定（sticky） ===== */
/* 「見出し＋タブ」を .sticky-head でまとめて固定。セクションを抜けると自然に解除される */
.sticky-head{
  position:sticky;
  top:0;
  z-index:30;            /* 追従CTA(z:100)より下、本文より上 */
  padding-top:14px;
  padding-bottom:14px;
}
/* 固定中に背景が透けないようセクション色を敷く（セクションpaddingぶん左右に広げる） */
.course>.sticky-head{background:#fff;margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px}
.camp>.sticky-head{background:var(--bg-ice);margin-left:-21px;margin-right:-21px;padding-left:21px;padding-right:21px}
.price-table .sticky-head--price{background:var(--bg-blue)}
/* [1] 料金表タブの上に余白（16px） */
.price-table .ptabs{margin-top:16px}
/* 固定見出し内のタブは下マージンを詰める（見出しと一体で固定されるため） */
.sticky-head .tabs{margin-bottom:0}
.sticky-head .course__title,
.sticky-head .sec-head{margin-bottom:12px}

/* ===================== お問い合わせフォーム ===================== */
.form-sec{background:var(--bg-blue);padding:40px 21px}
.form-sec__title{text-align:center;color:var(--navy);font-size:28px;font-weight:700;letter-spacing:.05em;padding-bottom:12px;border-bottom:2px solid var(--navy);width:fit-content;margin:0 auto 24px}
.form-sec__lead{color:var(--navy);font-size:15px;line-height:1.8;letter-spacing:.03em;margin:0 0 24px}
.field{margin-bottom:18px}
.field label{display:flex;align-items:center;gap:8px;color:var(--navy);font-size:15px;font-weight:700;border-left:4px solid #F5B921;padding-left:8px;margin-bottom:8px}
.req{background:var(--navy);color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px}
.field input,.field textarea,.field select{width:100%;border:1px solid #c9d6e3;border-radius:8px;padding:14px;font-size:15px;font-family:inherit;background:#fff;color:var(--ink);box-sizing:border-box}
.field input::placeholder,.field textarea::placeholder{color:#aab4c0}
.field textarea{resize:vertical}
.field__note{color:var(--gray2);font-size:12px;margin:-4px 0 8px}
.select-wrap{position:relative}
.select-wrap select{appearance:none;-webkit-appearance:none}
.select-wrap .chev{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:16px;height:16px;fill:none;stroke:var(--navy);stroke-width:2;pointer-events:none}
.checks{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.checks__row{display:flex;gap:12px}
.field .checks .check{display:inline-flex;align-items:center;gap:8px;font-weight:400;border:1px solid #E5E5E5;border-radius:8px;background:#fff;padding:10px 16px;margin-bottom:0;cursor:pointer}
.field .checks .check input{appearance:none;-webkit-appearance:none;width:16px;height:16px;flex-shrink:0;border:1px solid #E5E5E5;border-radius:3px;background:#fff;padding:0;position:relative;cursor:pointer;margin:0}
.field .checks .check input:checked{background:var(--navy);border-color:var(--navy)}
.field .checks .check input:checked::after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.check span{color:var(--navy2);font-size:14px}
.form__submit{display:block;width:100%;background:var(--navy);color:#fff;font-size:18px;font-weight:700;letter-spacing:.1em;padding:16px;border-radius:8px;margin-top:8px}
/* バリデーション：エラー表示 */
.field.is-error input,.field.is-error textarea,.field.is-error select{border-color:#d83b3b;background:#fff7f7}
.field__error{color:#d83b3b;font-size:13px;font-weight:700;line-height:1.5;margin:6px 0 0}
.form__submit:disabled{opacity:.6;cursor:not-allowed}

/* ============================================================
   PC対応（768px以上）  ※Figma PC版(1440px)準拠
   SPデザインを土台に、PC幅でレイアウトを切り替える
   ============================================================ */
/* PC用ヒーローCTA（SP時は隠す） */
.hero__pc-cta{display:none}
/* PC専用の改行（SPでは無効） */
.pc-br{display:none}

/* ===== 小型スマホ（≤374px）：固定375px設計が収まらない箇所の調整 ===== */
@media screen and (max-width:374px){
  /* [追従] テキストの兼ね合いでアイコンを隠して文字を優先（375px以上は通常表示） */
  .sticky-cta__btn .ico-mail,.sticky-cta__btn .line-mark{display:none}
  /* [point-card] バッジを絶対配置→フローにして英字ラベルと上下に分ける（重なり防止） */
  .point-card__badge{position:static;display:inline-block;margin:0 0 6px}
  /* [CTA] 320px等：頭部とカードを上に寄せてボタン領域の崩れ（頭部との重なり）を防止 */
  .camp-cta .cta__head{top:-4%}
  .camp-cta .cta__card{top:45%}
  /* アプリバッジ：狭幅では2枚が折り返さないよう縮小 */
  .app-badges img{height:36px}
}

@media screen and (min-width:768px){
  /* ===== 土台：ページ幅をPCデザイン基準(1440px)まで広げる ===== */
  /* PCではページをフル幅にして、セクション背景色を画面いっぱいに表示（中身は各セクションのmax-width＋中央寄せで1440px相当に収まる） */
  body{background:#fff}
  .page{width:100%;max-width:none}

  /* 見出し＋タブ（コース/合宿/料金表）はPCでも追従（baseの position:sticky;top:0 をそのまま使う） */

  /* ===== 1. HERO（PCはデザイン画像に差し替え＋CTAを透明リンクで重ねる） ===== */
  /* MV（ヒーロー）は画面いっぱい（フル幅）で表示 */
  .hero{position:relative}
  /* PC/SP画像の出し分けは<picture>で実施（WebP優先）。content:urlは廃止 */
  /* CTAボタンを画像上に透明配置（Figma:1440×706基準の％） */
  .hero__pc-cta{display:block;position:absolute;border-radius:999px}
  .hero__pc-cta--mail{left:6.8%;top:79.6%;width:20.7%;height:9.1%}
  .hero__pc-cta--line{left:29.1%;top:79.6%;width:21.2%;height:9.1%}

  /* ===== 2. 早期申込（PCデザイン画像に差し替え） ===== */
  /* 早期申込バナー：最大幅1440・中央（端は白なので左右の白とも馴染む） */
  .earlybird{max-width:1440px;margin-left:auto;margin-right:auto}
  .earlybird__img{content:url(../images/earlybird-pc.jpg)}

  /* ===== 3. intro（悩み3列／Point2列） ===== */
  .intro{padding:64px 20px 48px}
  .intro__nayami-title{font-size:32px}
  /* [1] 悩みチェックリスト：max-width960・幅100%・3列・中央寄せ・チェックは1行目に */
  .checklist{width:100%;max-width:960px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-left:auto;margin-right:auto}
  .checklist li{font-size:16px}
  /* [2] 授業写真：PC用画像に差し替え・780×342・中央寄せ／ここから下はインナー幅760px */
  .intro__photo--tall{width:100%;max-width:780px;height:auto;margin-left:auto;margin-right:auto}
  .intro__photo--tall img{content:url(../images/intro-photo-pc.jpg);width:100%;height:342px;object-fit:cover}
  /* [3] 紹介文は左寄せ・「学習サイクルを通じて、」で改行 */
  .intro__desc{max-width:760px;text-align:left;margin-left:auto;margin-right:auto}
  .pc-br{display:inline}
  /* キャッチコピーは「を、」で改行（pを縦積みに） */
  .intro__catch--jhs p{display:block}
  /* [4] Pointカード：2列・各371.5px・gap20・中央／チップが上段に被らないよう行間を確保（チップ上に10px） */
  .points{display:grid;grid-template-columns:repeat(2,371.5px);gap:32px 20px;justify-content:center;max-width:100%;margin-top:24px}
  .points .point-card{margin:0}

  /* ===== 4. toritsu（バッジとタイトル横並び／カード2列・幅100%） ===== */
  .toritsu{padding:40px 20px 32px}
  /* [4] バッジと「両立しやすい」を横並び・下揃え／「の夏期講習は」は中央 */
  .toritsu__head{flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:flex-end;column-gap:16px;row-gap:6px}
  .toritsu__head .intro__nara{flex-basis:100%;justify-content:center;text-align:center}
  .toritsu__head .sec-head__badge{margin-top:0}
  /* [5] カード2列・max-width960・width100%・gap16・中央 */
  .toritsu__cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;width:100%;max-width:960px;margin-left:auto;margin-right:auto}
  .toritsu__cards .toritsu__card{width:100%}

  /* ===== 5. course（コース） ===== */
  .course{padding:48px 20px 64px}
  .course .course__title{font-size:36px}
  /* タブ群・コース説明・各パネルを中央寄せ最大幅に */
  .course>.sticky-head,
  .course>.course__desc,
  .course>.tab-panel,
  .course>.card-plus,
  .course>.prog-card,
  .course>.change-box,
  .course>.koukou,
  .course>.cal-set{max-width:920px;margin-left:auto;margin-right:auto}
  .course>.tab-panel{width:100%}
  /* [5] コース説明は3行・中央寄せ（SP用の途中改行は非表示） */
  .course .course__desc{text-align:center}
  .course__desc .sp-br{display:none}
  /* サブパネルは横幅いっぱい／カードは内部2カラム＋ボタンは下に全幅 */
  .subpanel{width:100%}
  .ccard{max-width:960px;margin:0 auto;width:100%}
  /* [3] body余白24/40・左右カラム約428px・gap24 */
  .ccard__body{display:flex;flex-wrap:wrap;gap:0 24px;align-items:flex-start;padding:24px 40px}
  .ccard__main,.ccard__side{flex:1 1 0;min-width:0}
  /* [5] カード見出しのテキストを中央 */
  .ccard__head{justify-content:center;text-align:center}
  /* [2] 右カラムの「こんな生徒に」下にE5E5E5の区切り（重複hrは隠す） */
  .ccard__side>.crow{border-bottom:1px solid #E5E5E5;padding-bottom:16px;margin-bottom:16px}
  .ccard__side hr.ccard__div{display:none}
  /* [7] 右カラムのクーポン幅297px・左揃え */
  .ccard__side .ccoupon{width:297px;max-width:100%;margin-left:0;margin-right:auto}
  /* [4] 申し込みボタン幅254px・中央 */
  .ccard>.ccard__btn{width:254px;margin-left:auto;margin-right:auto}
  /* サブナビ（前後ボタン）の間隔60px・中央 */
  .subnav{justify-content:center;gap:60px;padding:0}
  /* [6][7] おはよう勉強会・実力判定模試は前期カードと同じ幅960 */
  /* [4] prog-cardのpadding40px */
  .course>.prog-card{max-width:920px;padding:40px}
  /* [8] 写真508×375・[9] 画像下は要素540px・中央・[10] 本文の上下padding40px */
  .course .prog-card>*{max-width:540px;width:100%;margin-left:auto;margin-right:auto}
  .course .prog-card__photo{max-width:508px;width:100%;margin-left:auto;margin-right:auto}
  .course .prog-card__photo img{width:100%;height:375px;object-fit:cover}
  /* [9][11] 本文：上下の余白を削除・行間1.8 */
  .course .prog-card__txt{align-self:center;padding-top:0;padding-bottom:0;line-height:1.8}
  /* タイトル：中央・下線はテキスト幅のみ */
  .course .prog-card p.prog-card__title{width:fit-content;max-width:100%;margin-left:auto;margin-right:auto;text-align:center}
  /* [10] タグ：余白なし・左揃え */
  /* [10] タグ行：左揃え・余白0・gap10（おはよう「夏期期間中」も prog-card__tags で包んで同じ仕組みに） */
  .course .prog-card__tags{justify-content:flex-start;margin:0;gap:10px}
  /* ghost-tag：内容幅・左揃え・font16（模試の日付／おはよう共通。左はコンテナのflex-startが担当） */
  .course .prog-card span.ghost-tag{width:auto;max-width:100%;align-self:flex-start;margin:0;font-size:16px}
  /* モーダルボタン幅160px */
  /* [3] モーダルボタン幅160・上余白16px */
  .course .prog-card .btn-pill--blue{width:160px;margin-top:16px}
  /* [2] おはよう勉強会のpriceboxのpadding24px */
  .course .prog-card .pricebox{padding:24px}
  /* [A1][A3] change-box：幅960・padding32/10・中央 */
  .change-box{max-width:960px;margin-left:auto;margin-right:auto;padding:32px 10px}
  /* [A2] change-box01/02を横並び（行は940・gap18・中央） */
  .change-box__imgs{display:flex;gap:18px;max-width:940px;margin:18px auto 0;justify-content:center}
  .change-box__imgs .change-box__img{display:block;width:calc(50% - 9px);margin:0;vertical-align:top}
  .change-box__img--mt{margin-top:0;margin-left:0}
  /* 変化見出しの背景色0571D5・28px・bold・行間1.5 */
  .change-box__head{background:#0571D5;font-size:28px;font-weight:700;line-height:1.5}
  /* [13] カレンダー見出しの下線をテキスト幅に */
  .cal__title{width:fit-content;max-width:100%;margin-left:auto;margin-right:auto}
  /* [A4] カレンダー：cal-set幅864・gap24（7月・8月画像を2列／凡例は下に全幅） */
  .cal-set{max-width:864px;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
  .cal-set .cal-img{width:100%}
  .cal-set .cal-legend{grid-column:1 / -1}
  /* [8] 凡例を左右50%ずつの2列（前期・合宿が左／後期・実力判定が右）※flex-direction:rowを明示 */
  .cal-legend{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px 0;width:100%;margin-left:auto;margin-right:auto}
  .cal-legend li{font-size:16px;width:50%}
  .cal-legend small{font-size:16px}

  /* ===== 6. 合宿 grade6 ===== */
  .grade6{padding:64px 20px}
  /* [A6][A7] 全体・見出しを960 */
  .grade6>*{max-width:960px;margin-left:auto;margin-right:auto}
  /* [2] 負マージン(.camp>.sticky-head)を打ち消し・width100%でmax960を確定・中央 */
  .grade6>.sticky-head{width:100%;max-width:960px;margin-left:auto;margin-right:auto;padding-left:0;padding-right:0;display:flex;flex-direction:column;align-items:center}
  /* 合宿カード：幅960・padding40 */
  .g6-card{max-width:960px;padding:40px}
  /* [G2-12/13] 見出し（バッジ・h2）を左右中央 */
  .grade6 .sec-head{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%}
  /* [3][4] 合宿見出しh2・バッジを中央 */
  .grade6 .sec-head h2{text-align:center;width:100%}
  .grade6 .sec-head__badge{align-self:center}
  /* [G2-11] タブを横幅いっぱい・均等・gap5px */
  /* [3][4] 合宿タブ：max-width960・中央・gap5px・各タブはcalc(50% - 2.5px) */
  .grade6 .sticky-head .tabs{display:flex;width:100%;max-width:960px;margin-left:auto;margin-right:auto;gap:5px}
  .grade6 .sticky-head .tabs .tab{flex:0 0 calc(50% - 2.5px);width:calc(50% - 2.5px);line-height:1.6}
  /* 矢印(chev)の上余白を0に */
  .grade6 .sticky-head .tabs .tab .chev{margin-top:0}
  /* 参加可バッジを中央配置 */
  .g6-card>.tag{display:block;width:fit-content;margin-left:auto;margin-right:auto}
  /* [A9] 合宿写真スライダー：880×394・中央 */
  .g6-card>.slider{max-width:880px;margin-left:auto;margin-right:auto}
  .g6-card>.slider .slider__track>img{height:394px;object-fit:cover}
  /* PCでは課題完成合宿スライダーをPC用画像に差し替え */
  .g6-card[data-panel="camp1"] .slider__track>img:nth-of-type(1){content:url(../images/gasshuku-photo-pc01.jpg)}
  .g6-card[data-panel="camp1"] .slider__track>img:nth-of-type(2){content:url(../images/gasshuku-photo-pc02.jpg)}
  .g6-card[data-panel="camp1"] .slider__track>img:nth-of-type(3){content:url(../images/gasshuku-photo-pc03.jpg)}
  .g6-card[data-panel="camp1"] .slider__track>img:nth-of-type(4){content:url(../images/gasshuku-photo-pc04.jpg)}
  .g6-card[data-panel="camp1"] .slider__track>img:nth-of-type(5){content:url(../images/gasshuku-photo-pc05.jpg)}
  /* [A10] リード左寄せ／[A11] 本文16px */
  .g6-card>.g6-card__lead{text-align:left}
  .g6-card .g6-card__txt{font-size:16px}
  /* [A12] ドーナツ：PC用画像に差し替え・540×364・受講料ボックスも540・中央 */
  .donut-img{content:url(../images/donut-box-pc.jpg);width:540px;max-width:100%;height:364px;object-fit:cover;align-self:center;margin-left:auto;margin-right:auto}
  .g6-card .camp-fee{max-width:540px;margin-left:auto;margin-right:auto}
  /* [2] クーポン259×59・中央 */
  .camp-fee .g6-coupon{width:259px;height:59px;max-width:100%;padding:0 12px;margin-left:auto;margin-right:auto}
  /* [A13] 割引：文字色B10F0F・8800は24px・円割引は16px・文字は下揃え */
  /* [6] 割引：8800も「円割引」も同色 #B10F0F（.camp-fee__row span に勝つよう詳細度を上げる） */
  .camp-fee__row .camp-fee__discount,.camp-fee__row .camp-fee__discount *{color:#B10F0F}
  .camp-fee__discount{border-color:#B10F0F;font-size:16px;align-items:flex-end}
  .camp-fee__discount-num{font-size:24px;font-weight:700;line-height:1;color:#B10F0F}
  /* [A14] 2つ目の※注記の上に点線ボーダー */
  /* [7] 2つ目の※注記：上下に点線ボーダー（camp-fee__hrと同様） */
  .camp-fee__note:nth-of-type(2){border-top:1px dashed var(--blue);border-bottom:1px dashed var(--blue);padding-top:8px;padding-bottom:8px;margin-top:8px;margin-bottom:8px;opacity:.8}
  /* [A15] 仕組み画像：行457・各219・gap18／上余白5px */
  .mechanism__imgs{max-width:457px;gap:18px;margin:35px auto 14px}
  .mechanism__imgs figure{width:219px}
  .mechanism__imgs img{width:219px;height:auto}
  /* 仕組みリード：上余白5px */
  .mechanism__lead{margin-top:5px}
  /* [A16] 仕組み見出し：本文19px・強調24px・中央 */
  .mechanism__head{font-size:19px;text-align:center}
  .mechanism__head b{font-size:24px}
  /* [3][4] 仕組み画像のラベル（タグ）22px */
  .mechanism__imgs figcaption{font-size:22px}
  /* [A17] mechanismのpadding24/80 */
  .mechanism{padding:24px 80px}
  /* [A18] 「合宿参加者の声」見出し24px・中央 */
  .g6-card .g6-sub{align-self:center;margin-left:auto;margin-right:auto;text-align:center;font-size:24px}
  /* [A19][A20][A21] 声：2列gap20・figcaption14px・padding16/18 */
  .voices--text{display:grid;grid-template-columns:1fr 1fr;gap:20px}
  /* [8] 声：figcaptionをflex中央寄せ（短い声も中央に） */
  .voices--text figcaption{font-size:14px;padding:16px 18px}

  /* ===== 7/9. CTA（Figma実寸：カード923×242を画像下部に重ね2段構成） ===== */
  .cta.camp-cta{max-width:none;margin:0;padding-bottom:0;background:none;position:relative}
  /* ヒーロー画像：アスペクト比(2880:1014)を維持して見切れ防止（幅で高さが変わる・1440pxで507px） */
  /* CTA画像：最大幅1440で中央。左右はCTAセクションのグラデ背景(空色)が埋める */
  /* 背景(空)は全幅でcover、ヘッダー(テキスト・人物)はカードと同じ幅(923px)で中央に重ねる（カードと同率で縮小） */
  .camp-cta .cta__hero{position:relative;width:100%;aspect-ratio:2880/1014;height:auto;max-height:507px;overflow:hidden;max-width:none;margin:0}
  .camp-cta .cta__bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}
  .camp-cta .cta__head{position:absolute;top:9%;left:52%;transform:translateX(-50%);width:calc(100vw*923/1440);max-width:923px;z-index:1}
  .camp-cta .cta__hero .cta__head--sp{display:none}
  .camp-cta .cta__hero .cta__head--pc{display:block}
  .camp-cta .cta__head-img{width:100%;height:auto;display:block}
  /* 白カードを画像の上に重ねて中央下部（下から39px）・923×242 */
  /* カードを画像と同じ比率(画面幅/1440)で最後まで比例縮小。左右中央(left50%+translateX)・下端基準でスケールしテキストに被らない */
  .camp-cta .cta__card{position:absolute;left:50%;right:auto;bottom:2.7vw;top:auto;margin:0;width:923px;max-width:none;transform:translateX(-50%) scale(min(1, tan(atan2(100vw, 1440px))));transform-origin:bottom center;z-index:2;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:center;gap:32px;padding:40px}
  /* 1段目：メール(271)・LINE(294)を横並び・gap18・高さ58 */
  .camp-cta .cta__btns{display:flex;flex-direction:row;justify-content:center;gap:18px;flex:0 0 auto}
  .camp-cta .cta__btns>.btn-round{margin:0;height:58px;font-size:16px;padding:15px 55px 15px 32px}
  .camp-cta .cta__btns>.btn-round--orange{width:271px}
  .camp-cta .cta__btns>.btn-round--line{width:294px}
  /* 2段目：電話 ｜ 区切り線(E0E0E0) ｜ 無料体験 を横並び */
  .camp-cta .cta__contact{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:51px}
  /* 電話：288px幅で内容中央・右余白50px・高さ72／[5]番号36px [6]受付16px中央 */
  .camp-cta .cta__tel{box-sizing:border-box;width:338px;height:72px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding-right:50px;border-right:1px solid #E0E0E0}
  .camp-cta .cta__tel-num{justify-content:center;font-size:36px}
  /* [9] 電話アイコン37px */
  .camp-cta .cta__tel-num svg{width:37px;height:37px}
  .camp-cta .cta__tel-time{font-size:16px;text-align:center}
  /* [1] 無料体験：メール/LINEと同じ＝テキスト中央・矢印は右の丸。position:relativeで矢印の基準をボタン内に */
  .camp-cta .cta__trial{position:relative;top:auto;left:auto;transform:none;margin:0;width:267px;max-width:267px;flex:0 0 auto;text-align:center;padding:12px 55px 12px 32px}
  .camp-cta .cta__trial .btn-round__arrow{position:absolute;right:10px;top:50%;transform:translateY(-50%)}

  /* ===== 8. fees（料金カード2列・各セクション高さ指定で行を揃える） ===== */
  .fees{padding:64px 20px}
  .price-table{width:100%;max-width:1000px;margin:0 auto}
  .price-table .tab-panel.is-active{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;align-items:start}
  /* 1枚目（夏休みの課題完成合宿）と2枚目（前期【定着コース】）だけ等高に。他は内容高のまま */
  .price-table .tab-panel.is-active .fee-row-card:nth-of-type(1),
  .price-table .tab-panel.is-active .fee-row-card:nth-of-type(2){align-self:stretch}
  .price-table .tab-panel.is-active .fee-notes{grid-column:1 / -1}
  .price-table .tab-panel.is-active .fee-row-card{display:flex;flex-direction:column}
  /* [B4/9/20] 通常価格部93px・[B6/11] 段階価格部177px */
  .price-table .tab-panel.is-active .fee-row-card__prices{min-height:93px}
  .price-table .tab-panel.is-active .fee-row-card__prices--tier,
  .price-table .tab-panel.is-active .fee-row-card__prices--tier .fee-col{height:177px}
  /* [7] 段階価格の金額を左寄せ・余白15px */
  .price-table .tab-panel.is-active .fee-col .tier li{justify-content:flex-start;column-gap:15px;row-gap:2px}
  /* [B13-19,22] 日付行43px */
  .price-table .tab-panel.is-active .fee-row-card__date{min-height:43px}
  /* [B5/7/8/10/12/21] disc高さ（中1・2料金表のカード別） */
  .price-table .tab-panel.is-active .fee-row-card__disc{justify-content:center}
  .price-table [data-panel="p12"] .fee-row-card:nth-of-type(1) .fee-row-card__disc{min-height:179px}
  .price-table [data-panel="p12"] .fee-row-card:nth-of-type(2) .fee-row-card__disc{min-height:93px;padding:13px 80px}
  .price-table [data-panel="p12"] .fee-row-card:nth-of-type(3) .fee-row-card__disc{min-height:76px}
  .price-table [data-panel="p12"] .fee-row-card:nth-of-type(4) .fee-row-card__disc{min-height:155px}
  .price-table [data-panel="p12"] .fee-row-card:nth-of-type(5) .fee-row-card__disc{min-height:43px}

  /* ===== 10. 申し込み方法（カード2列） ===== */
  .apply-method{padding:64px 20px}
  .apply-method>*{max-width:1000px;margin-left:auto;margin-right:auto;width:100%}
  .apply-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
  .apply-tel{max-width:1000px}
  /* 申込カードの説明文を中央配置 */
  .apply-card .apply-card__txt{text-align:center}
  /* [8] GROWアプリボタンの上余白45px */
  .apply-card .btn-round--2line{margin-top:45px}
  /* CTAボタンと同じ記述方法：矢印分を相殺する非対称padding（2行ボタンは除外） */
  .apply-card .btn-round:not(.btn-round--2line){padding:15px 55px 15px 32px}
  /* PCはカード幅に余裕があるためバッジを50pxに */
  .app-badges img{height:50px}
  /* [B25][3] 注意事項見出しの下線0571D5・テキスト幅のみ（apply-method>*のwidth:100%を打ち消す） */
  .notes__title{border-bottom:1.5px solid #0571D5}
  .apply-method .notes__title{width:fit-content;max-width:100%;margin-left:auto;margin-right:auto}
  /* [2] お電話の受話器アイコン28px */
  .apply-tel .apply-tel__num svg{width:28px;height:28px}
  /* [B26] 注意事項下の要素：max-width560・左揃え */
  .apply-method .notes__line{max-width:560px;margin-left:auto;margin-right:auto;text-align:left}
  .apply-method .notes-card{max-width:560px;margin-left:auto;margin-right:auto}

  /* ===== 11. お問い合わせフォーム（中央寄せ・チェック横並び） ===== */
  .form-sec{padding:64px 20px}
  .form-sec__title,.form-sec__lead,.form-sec .form{max-width:660px;margin-left:auto;margin-right:auto}
  .form-sec .form{width:100%}
  .checks{flex-direction:row;flex-wrap:wrap}
  .checks__row{display:contents}

  /* ===== 12. フッター ===== */
  .footer{padding:32px 20px}

  /* ===== 追従CTA（PCは横幅いっぱい・ボタン475px） ===== */
  /* [10] 背景を横幅いっぱい・リード高さ89px */
  .sticky-cta{left:0;transform:none;width:100%;max-width:none;padding:0 12px 12px}
  .sticky-cta.is-hidden{transform:translateY(140%)}
  .sticky-cta__lead{font-size:16px}
  .sticky-cta__lead small{font-size:13px}
  /* [11][12][13] ボタン幅475px・中央 */
  .sticky-cta__btns{justify-content:center;gap:16px}
  .sticky-cta__btn{flex:0 1 475px;width:475px;max-width:calc(50% - 8px)}
}
