	/******************************************************
	 * 小学生向け（page-id-1200）＆中高生向け（page-id-1297）
	 * Lightning装飾無効化 + デザインCSS + KV修正
	 ******************************************************/

	/* === 共通対象化 === */

	.sl-elementary-page .siteContent,
	.sl-junior-page .siteContent,
	.sl-elementary-page .siteContent .mainSection,
	.sl-junior-page .siteContent .mainSection,
	.sl-elementary-page .siteContent .mainSection .container,
	.sl-junior-page .siteContent .mainSection .container,
	.sl-elementary-page .siteContent .mainSection .container > .row,
	.sl-junior-page .siteContent .mainSection .container > .row,
	.sl-elementary-page main,
	.sl-junior-page main,
	.sl-elementary-page .entry-body,
	.sl-junior-page .entry-body {
	  background:#fff !important;
	  margin:0 !important;
	  padding:0 !important;
	  border:0 !important;
	  box-shadow:none !important;
	}
	.sl-elementary-page .mainSection::before,
	.sl-junior-page .mainSection::before,
	.sl-elementary-page .mainSection::after,
	.sl-junior-page .mainSection::after,
	.sl-elementary-page .siteContent .mainSection .container::before,
	.sl-junior-page .siteContent .mainSection .container::before,
	.sl-elementary-page .siteContent .mainSection .container::after,
	.sl-junior-page .siteContent .mainSection .container::after {
	  content:none !important;
	}

	/* 1) コンテンツ幅 */
	.sl-elementary-page .entry-body > *:not(.alignfull),
	.sl-junior-page .entry-body > *:not(.alignfull){
	  max-width:1080px !important;
	  margin-inline:auto !important;
	  padding-inline:24px !important;
	  box-sizing:border-box !important;
	}

	.sl-elementary-page .entry-body > :first-child,
	.sl-junior-page .entry-body > :first-child{
	  margin-top:0 !important;
	}


	/* 1-2) セクション系グリッド共通：幅制御レイヤ */
	.sl-elementary-page .skillsGrid,
	.sl-elementary-page .columnsGrid,
	.sl-junior-page .skillsGrid,
	.sl-junior-page .columnsGrid {
	  max-width: 1080px;
	  margin-inline: auto;
	  padding-inline: 24px;
	  box-sizing: border-box;
	}

	/* 1-3) 学びの3本柱：フル幅ブロックを強制的に通常幅へ */
	.sl-elementary-page .g002 #about-skills.alignfull,
	.sl-junior-page .g002 #about-skills.alignfull,
	.sl-elementary-page .g002 #about-skills.parent-alignfull,
	.sl-junior-page .g002 #about-skills.parent-alignfull {
	  width: auto !important;
	  max-width: 1080px !important;
	  margin-left: auto !important;
	  margin-right: auto !important;
	}

	/* もし親が wp-block-group.alignfull の場合 */
	.sl-elementary-page .wp-block-group.alignfull #about-skills,
	.sl-junior-page .wp-block-group.alignfull #about-skills {
	  max-width: 1080px !important;
	  margin-inline: auto !important;
	  padding-inline: 24px;
	  box-sizing: border-box;
	}

	/* 2) 見出し装飾OFF */
	.sl-elementary-page h1,
	.sl-junior-page h1,
	.sl-elementary-page h2,
	.sl-junior-page h2,
	.sl-elementary-page h3,
	.sl-junior-page h3,
	.sl-elementary-page .vk-heading,
	.sl-junior-page .vk-heading,
	.sl-elementary-page .vk-heading__title,
	.sl-junior-page .vk-heading__title,
	.sl-elementary-page .section-title,
	.sl-junior-page .section-title,
	.sl-elementary-page .page-header .entry-title,
	.sl-junior-page .page-header .entry-title {
	  border-left:none !important;
	  border-bottom:none !important;
	  padding-left:0 !important;
	  box-shadow:none !important;
	}

	/* 3-1) KV（ヒーロー） */
	.g002 .kv__caption{ font-size:17px; opacity:.9; }
	.sl-elementary-page .g002.kv,
	.sl-junior-page .g002.kv {
	  position:relative !important;
	  isolation:isolate;
	  min-height:58vh !important;
	  margin:0 !important;
	  padding:56px 0 48px !important;
	  background-position:center center !important;
	  background-size:cover !important;
	  background-repeat:no-repeat !important;
	  background-color:transparent !important;
	  color:#fff;
	  overflow:hidden;
	}
	.sl-elementary-page .g002.kv::before,
	.sl-junior-page .g002.kv::before,
	.sl-elementary-page .kv::after,
	.sl-junior-page .g002.kv::after {
	  content:none !important;
	  background:transparent !important;
	  display:none !important;
	}
	.sl-elementary-page .g002 .kv__inner,
	.sl-junior-page .g002 .kv__inner {
	  position:relative; z-index:1;
	  display:grid; gap:18px;
	  place-items:center;
	  text-align:center;
	  max-width:960px;
	  margin:0 auto;
	}
	@media (min-width:1025px){
	  .sl-elementary-page .g002 .kv__inner,
	  .sl-junior-page .g002 .kv__inner {
	    place-items:end;
	    text-align:right;
	    margin-right:5%;
	    padding-right:8%;
	    padding-bottom:4%;
	  }
	}
	@media (max-width:768px){
	  .sl-elementary-page .g002 .kv__inner,
	  .sl-junior-page .g002 .kv__inner {
	    place-items:center;
	    text-align:center;
	    padding:0 12px 24px;
	    background:rgba(0,0,0,0.35);
	    border-radius:12px;
	  }
	}

	/* KVタイトルとボタン */
	.sl-elementary-page .g002 .kv__title,
	.sl-junior-page .g002 .kv__title {
	  display:inline-block;
	  font-weight:800;
	  font-size:clamp(28px,3.8vw,44px);
	  line-height:1.3;
	  background:rgba(255,255,255,.9); color:#111;
	  box-shadow:0 8px 32px rgba(0,0,0,.28);
	}
	.sl-elementary-page .g002 .ctaRow,
	.sl-junior-page .g002 .ctaRow {
	  display:flex; gap:16px; flex-wrap:wrap;
	  margin-top:12px; justify-content:center;
	}
	@media (min-width:1025px){
	  .sl-elementary-page .g002 .ctaRow,
	  .sl-junior-page .g002 .ctaRow { justify-content:flex-end; }
	}
	.sl-elementary-page .g002 .btn,
	.sl-junior-page .g002 .btn {
	  display:inline-flex; align-items:center; gap:.6em;
	  padding:14px 22px; border-radius:999px;
	  font-weight:700; line-height:1;
	  border:2px solid transparent;
	  background:#e53935; color:#fff;
	  box-shadow:0 6px 16px rgba(229,57,53,.35);
	  white-space:nowrap;
	}
	.sl-elementary-page .g002 .btn--ghost,
	.sl-junior-page .g002 .btn--ghost {
	  background:#fff; color:#e53935;
	  border-color:#e53935; box-shadow:none;
	}

	/* 3-2) KV（ヒーロー_宇宙ラボ） */
	.g002 .kv_sp__caption{ font-size:17px; opacity:.9; }
	.sl-elementary-page .g002.kv,
	.sl-junior-page .g002.kv {
	  position:relative !important;
	  isolation:isolate;
	  min-height:58vh !important;
	  margin:0 !important;
	  padding:0 !important;
	  display: flex; 
	  justify-content: center; /* 横中央 */
	  align-items: center;        /*縦中央 */

	  background-position:center center !important;
	  background-size:cover !important;
	  background-repeat:no-repeat !important;
	  background-color:transparent !important;
	  color:#fff;
	  overflow:hidden;
	}
	.sl-elementary-page .g002.kv::before,
	.sl-junior-page .g002.kv::before,
	.sl-elementary-page .kv::after,
	.sl-junior-page .g002.kv::after {
	  content:none !important;
	  background:transparent !important;
	  display:none !important;
	}
	.sl-elementary-page .g002 .kv_sp__inner,
	.sl-junior-page .g002 .kv_sp__inner {
	  position:relative; z-index:1;
	  display:grid; gap:12px;
	  place-items:center;
	  text-align:center;
	  max-width:960px;
	  margin:0 auto;
	}
	@media (min-width:1025px){
	  .sl-elementary-page .g002 .kv_sp__inner,
	  .sl-junior-page .g002 .kv_sp__inner {
	    place-items:center;
	    text-align:center;
	    margin-right:0%;
	    padding-right:0%;
	    padding-bottom:0%;
	  }
	}
	@media (max-width:768px){
	  .sl-elementary-page .g002 .kv_sp__inner,
	  .sl-junior-page .g002 .kv_sp__inner {
	    place-items:center;
	    text-align:center;
	    padding:0 12px 24px;
	　  background-color:transparent;
	    border-radius:12px;
	  }
	}


	/* KVタイトルとボタン */
	.sl-elementary-page .g002 .kv_sp__title,
	.sl-junior-page .g002 .kv_sp__title {
	  display:inline-block;
	  font-weight:800;
	  font-size:clamp(28px,3.8vw,44px);
	  color:#fff;
	  line-height:1.3;
	  background:none;
	  box-shadow:none;
	  text-shadow: 0 2px 8px rgba(0,0,0,.35);
	}
	.sl-elementary-page .g002 .ctaRow,
	.sl-junior-page .g002 .ctaRow {
	  display:flex; gap:16px; flex-wrap:wrap;
	  margin-top:12px; justify-content:center;
	}
	@media (min-width:1025px){
	  .sl-elementary-page .g002 .ctaRow,
	  .sl-junior-page .g002 .ctaRow { justify-content:flex-end; }
	}
	.sl-elementary-page .g002 .btn,
	.sl-junior-page .g002 .btn {
	  display:inline-flex; align-items:center; gap:.6em;
	  padding:14px 22px; border-radius:999px;
	  font-weight:700; line-height:1;
	  border:2px solid transparent;
	  background:#e53935; color:#fff;
	  box-shadow:0 6px 16px rgba(229,57,53,.35);
	  white-space:nowrap;
	}
	.sl-elementary-page .g002 .btn--ghost,
	.sl-junior-page .g002 .btn--ghost {
	  background:#fff; color:#e53935;
	  border-color:#e53935; box-shadow:none;
	}

	/* 4) セクション共通 */
	.sl-elementary-page .g002 .section,
	.sl-junior-page .g002 .section { padding:clamp(36px,6vw,72px) 0; background:#fff; color:#222; }
	.sl-elementary-page .g002 .sec__head,
	.sl-junior-page .g002 .sec__head { text-align:center; margin-bottom:28px; margin-top:80px; }
	@media (max-width:768px){
	  .sl-elementary-page .g002 .sec__head,
	  .sl-junior-page .g002 .sec__head { margin-top:40px; }
	}
	.sl-elementary-page .g002 .sec__eyebrow,
	.sl-junior-page .g002 .sec__eyebrow { color:#e53935; font-weight:800; letter-spacing:.1em; font-size:12px; }
	.sl-elementary-page .g002 .sec__title,
	.sl-junior-page .g002 .sec__title { font-size:clamp(22px,3vw,32px); font-weight:800; margin-top:8px; }
	.sl-elementary-page .g002 .lead,
	.sl-junior-page .g002 .lead { text-align:center; color:#404040; margin:12px auto 0; max-width:820px; }

	/* 4-2) セクション共通_宇宙ラボ_カラーブロック */
	.sl-elementary-page .g002.section_sp_c,
	.sl-junior-page .g002.section_sp_c { padding:clamp(36px,6vw,72px) 0; background:#e6f6ff; color:#222; }
	.sl-elementary-page .g002.section_sp_c .sec__head,
	.sl-junior-page .g002.section_sp_c .sec__head { text-align:center; margin-bottom:28px; margin-top:80px; }
	@media (max-width:768px){
	  .sl-elementary-page .g002.section_sp_c .sec__head,
	  .sl-junior-page .g002.section_sp_c .sec__head { margin-top:40px; }
	}
	.sl-elementary-page .g002.section_sp_c .sec__eyebrow,
	.sl-junior-page .g002.section_sp_c .sec__eyebrow { color:#e53935; font-weight:800; letter-spacing:.1em; font-size:12px; }
	.sl-elementary-page .g002.section_sp_c .sec__title,
	.sl-junior-page .g002.section_sp_c .sec__title { font-size:clamp(22px,3vw,32px); font-weight:800; margin-top:8px; }
	.sl-elementary-page .g002.section_sp_c .lead,
	.sl-junior-page .g002.section_sp_c .lead { text-align:center; color:#404040; margin:12px auto 0; max-width:820px; }
	.sl-elementary-page .g002.section_sp_c .circle-bg,
	.sl-junior-page .g002.section_sp_c .circle-bg { background:#c2e9ff; }

	/* 4-3) 無料体験セクション_宇宙ラボ */
	.sl-elementary-page .g002.flow_sp,
	.sl-junior-page .g002.flow_sp { padding:clamp(36px,6vw,72px) 0; background:#e6f6ff; color:#222; }
	.sl-elementary-page .g002.flow_sp .sec__head,
	.sl-junior-page .g002.flow_sp .sec__head { text-align:center; margin-bottom:28px; margin-top:80px; }
	@media (max-width:768px){
	  .sl-elementary-page .g002.flow_sp .sec__head,
	  .sl-junior-page .g002.flow_sp .sec__head { margin-top:40px; }
	}
	.sl-elementary-page .g002.flow_sp .sec__eyebrow,
	.sl-junior-page .g002.flow_sp .sec__eyebrow { color:#e53935; font-weight:800; letter-spacing:.1em; font-size:12px; }
	.sl-elementary-page .g002.flow_sp .sec__title,
	.sl-junior-page .g002.flow_sp .sec__title { font-size:clamp(22px,3vw,32px); font-weight:800; margin-top:8px; }
	.sl-elementary-page .g002.flow_sp .lead,
	.sl-junior-page .g002.flow_sp .lead { text-align:center; color:#404040; margin:12px auto 0; max-width:820px; }

	.sl-elementary-page .g002.flow_sp::before,
	.sl-junior-page .g002.flow_sp::before {
	  content: "";
	  position: absolute;
	  width: 360px;
	  height: 360px;
	  border-radius: 50%;
	  background: rgba(162, 216, 246, 0.6); /* 少し濃い水色 */
	  top: -30px;
	  left: -30px;
	  z-index: 0;
	}/* 装飾用の円（左上） */

	.sl-elementary-page .g002.flow_sp::after,
	.sl-junior-page .g002.flow_sp::after {
	  content: "";
	  position: absolute;
	  width: 220px;
	  height: 220px;
	  border-radius: 50%;
	  background: rgba(162, 216, 246, 0.45);
	  bottom: -30px;
	  right: -30px;
	  z-index: 0;
	}/* 装飾用の円（右下・小さめ） */

	.sl-elementary-page .g002.flow_sp,
	.sl-junior-page .g002.flow_sp {
	  position: relative;     /* 疑似要素の基準 */
	  isolation: isolate;     /* ★ 描画コンテキストを分離（重要） */
	  overflow: hidden;       /* 円をセクション内に閉じ込める */
	}/* ===== 無料体験セクション：基準をセクションに固定 ===== */

	.sl-elementary-page .g002.flow_sp > *,
	.sl-junior-page .g002.flow_sp > * {
	  position: relative;
	  z-index: 1;
	}/* 念のため：中身は前面 */

	/* 5) 8つの力（カード） */
	.sl-elementary-page .g002 .skills,
	.sl-junior-page .g002 .skills { display:grid !important; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)) !important; gap:16px !important; margin-top:22px !important; }
	.sl-elementary-page .g002 .card,
	.sl-junior-page .g002 .card { background:#fff; border:1px solid #ececec; border-radius:14px; padding:18px; box-shadow:0 4px 18px rgba(16,24,40,.04); }
	.sl-elementary-page .g002 .card h3,
	.sl-junior-page .g002 .card h3 { font-size:18px; margin:0 0 8px; color:#0f172a; }
	.sl-elementary-page .g002 .card p,
	.sl-junior-page .g002 .card p { font-size:14px; color:#475569; margin:0; }

	/* 6) Features */
	.sl-elementary-page .g002 .features,
	.sl-junior-page .g002 .features { display:grid; grid-template-columns:1.2fr .8fr; gap:28px; align-items:start; }
	@media (max-width:768px){
	  .sl-elementary-page .g002 .features,
	  .sl-junior-page .g002 .features { grid-template-columns:1fr !important; gap:20px !important; }
	}

	/* 7) ラボ（2カラム） */
	.sl-elementary-page .g002 .labs,
	.sl-junior-page .g002 .labs { display:grid !important; grid-template-columns:repeat(2,1fr); gap:24px; }
	@media (max-width:960px){
	  .sl-elementary-page .g002 .labs,
	  .sl-junior-page .g002 .labs { grid-template-columns:1fr; }
	}

	/* 8) 料金 */
	.sl-elementary-page #pricing .pricing,
	.sl-junior-page #pricing .pricing {
	  display:grid !important;
	  grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) !important;
	  gap:16px !important;
	  max-width:900px; margin:0 auto;
	}
	.sl-elementary-page #pricing .priceBox,
	.sl-junior-page #pricing .priceBox {
	  border:2px solid #f1f5f9; border-radius:14px;
	  padding:20px; text-align:center; background:#fff;
	}
	.sl-elementary-page #pricing .priceBox b,
	.sl-junior-page #pricing .priceBox b { font-size:24px; color:#e53935; }

	/* 割引強調 */
	.sl-elementary-page #pricing .discount,
	.sl-junior-page #pricing .discount { margin-top:12px; font-weight:700; color:#e53935; text-align:center; }

	/* 9) Chip を横書き */
	.sl-elementary-page .g002 .chip,
	.sl-junior-page .g002 .chip {
	  writing-mode:horizontal-tb !important;
	  text-orientation:mixed !important;
	  display:inline-flex; align-items:center; justify-content:center;
	  line-height:1; white-space:nowrap; vertical-align:middle;
	  padding:4px 10px;
	}

	/******************************************************
	 * 1200（小学生）/1297（中高生） だけに適用する軽量パッチ
	 ******************************************************/

	/* ========== 1) KV上の空白だけをゼロ（見出し間隔は維持） ========== */
	/* テーマのページヘッダー（タイトル帯）→ 余白と罫線を削除 */
	.sl-elementary-page .mainSection header,
	.sl-junior-page .mainSection header {
	  margin: 0 !important;
	  padding: 0 !important;
	  border: none !important;
	}

	/* 本文開始の上側の余白もゼロ（KV直上のみを詰める） */
	.sl-elementary-page .entry-body,
	.sl-junior-page .entry-body {
	  margin-top: 0 !important;
	}

	/* ただし通常セクションの見出し（.sec__head）は今の余白のまま触らない */


	/* ========== 2) 「ラボのご案内」レイアウト安定化 ========== */
	.sl-elementary-page .g002 .labs,
	.sl-junior-page .g002 .labs {
	  display: grid !important;
	  grid-template-columns: repeat(2, 1fr);
	  gap: 24px;
	}

	@media (max-width: 960px) {
	  .sl-elementary-page .g002 .labs,
	  .sl-junior-page .g002 .labs {
	    grid-template-columns: 1fr;
	  }
	}

	/* カード風の体裁（パネル） */
	.sl-elementary-page .g002 .panel,
	.sl-junior-page .g002 .panel {
	  border: 1px solid #ececec;
	  border-radius: 16px;
	  overflow: hidden;
	  background: #fff;
	}

	.sl-elementary-page .g002 .panel__media,
	.sl-junior-page .g002 .panel__media {
	  aspect-ratio: 16/9;
	  background: #ddd center / cover no-repeat;
	}

	.sl-elementary-page .g002 .panel__body,
	.sl-junior-page .g002 .panel__body {
	  padding: 16px 18px;
	}


	/* ========== 3) FEATURES の「動画／体験…」行の整列（スマホ左寄りも補正） ========== */
	/* リストのはみ出し・段落余白をリセットして中央に */
	.sl-elementary-page .g002 .features ul.check,
	.sl-junior-page .g002 .features ul.check {
	  margin: 0;
	  padding: 0;
	  display: grid;
	  gap: 12px;
	}

	@media (max-width: 768px) {
	  .sl-elementary-page .g002 .features ul.check,
	  .sl-junior-page .g002 .features ul.check {
	    margin-left: auto;
	    margin-right: auto;
	    width: 100%;
	    max-width: 100%;
	  }
	}

	/* 各行：チップとテキストを縦中央で並べ、枠線と角丸で視認性UP */
	.sl-elementary-page .g002 .features ul.check li,
	.sl-junior-page .g002 .features ul.check li {
	  list-style: none;
	  display: flex;
	  align-items: center;             /* ← 縦中央 */
	  gap: 10px;
	  padding: 12px 14px;
	  border: 1px dashed #e5e7eb;
	  border-radius: 10px;
	  background: #fff;
	}

	/* チップを完全に横書き・中央寄せ＆ベースラインの余白をなくす */
	.sl-elementary-page .g002 .chip,
	.sl-junior-page .g002 .chip {
	  writing-mode: horizontal-tb !important;
	  text-orientation: mixed !important;
	  display: inline-flex;            /* ← ベースラインの段差回避 */
	  align-items: center;             /* ← 縦中央 */
	  justify-content: center;         /* ← 横中央 */
	  line-height: 1;                  /* ← 下の空白を消す */
	  white-space: nowrap;
	  vertical-align: middle;
	  padding: 4px 10px;
	  background: #eef2ff;
	  color: #3730a3;
	  border-radius: 999px;
	  font-size: 12px;
	  font-weight: 700;
	}

	/******************************************************
	 * sec__eyebrow の上に余白を復活（1200/1297 ページのみ）
	 ******************************************************/
	.sl-elementary-page .g002 .sec__eyebrow,
	.sl-junior-page .g002 .sec__eyebrow {
	  margin-top: 60px;   /* PC */
	}

	@media (max-width: 768px) {
	  .sl-elementary-page .g002 .sec__eyebrow,
	  .sl-junior-page .g002 .sec__eyebrow {
	    margin-top: 32px; /* SP */
	  }
	}

	/**********************************************
	 * 1297 専用 仕上げパッチ
	 * - 見出し上余白（ABOUTなど）を復活
	 * - FEATURESの箇条書き整形（chip横並び/中央揃え）
	 * - 画像の見た目の統一（角丸/はみ出し防止）
	 * - ラボ（2カラム）の余白・並び微調整
	 **********************************************/

	/* 1) ABOUT/FEATURES/PROGRAMS などの見出し上余白を復活 */
	/* KV直下はゼロのまま、以降のセクション見出しだけに効かせます */
	.sl-junior-page .g002.kv + section .sec__head { margin-top: 80px; }
	@media (max-width: 768px){
	  .sl-junior-page .g002.kv + section .sec__head { margin-top: 40px; }
	}
	/* 念のため他セクションの見出しも一定に */
	.sl-junior-page .g002 section:not(.kv) .sec__head { margin-top: 80px; }
	@media (max-width: 768px){
	  .sl-junior-page .g002 section:not(.kv) .sec__head { margin-top: 40px; }
	}

	/* 2) FEATURES：箇条書きを左に寄りすぎない＆chipを完全横書き＋中央揃え */
	.sl-junior-page .g002 .features {
	  display: grid;
	  grid-template-columns: 1.2fr .8fr;
	  gap: 28px;
	  align-items: start;
	}
	@media (max-width: 768px){
	  .sl-junior-page .g002 .features {
	    grid-template-columns: 1fr !important;
	    gap: 20px !important;
	  }
	}
	.sl-junior-page .g002 .check { display: grid; gap: 12px; margin: 0; padding: 0; }
	.sl-junior-page .g002 .check li{
	  list-style: none;
	  padding: 12px 14px;
	  border: 1px dashed #e5e7eb;
	  border-radius: 10px;
	  background: #fff;
	  display: flex;
	  align-items: center;   /* ← 縦中央で読みやすく */
	  column-gap: 10px;
	}
	.sl-junior-page .g002 .chip{
	  writing-mode: horizontal-tb !important;
	  text-orientation: mixed !important;
	  display: inline-flex;
	  align-items: center;
	  justify-content: center;
	  line-height: 1;
	  white-space: nowrap;
	  vertical-align: middle;
	  padding: 4px 10px;
	}

	/* 3) 画像の見た目（角丸＆はみ出し防止） */
	.sl-junior-page .g002 img{
	  max-width: 100% !important;
	  height: auto !important;
	  display: block !important;
	  border-radius: 14px;
	}
	.sl-junior-page .g002 figure{ margin: 0; }

	/* 4) ラボ（2カラム）の並び・余白微調整 */
	.sl-junior-page .g002 .labs{
	  display: grid !important;
	  grid-template-columns: repeat(2, 1fr);
	  gap: 24px;
	}
	@media (max-width: 960px){
	  .sl-junior-page .g002 .labs{ grid-template-columns: 1fr; }
	}
	.sl-junior-page .g002 .panel{
	  border: 1px solid #ececec;
	  border-radius: 16px;
	  overflow: hidden;
	  background: #fff;
	}
	.sl-junior-page .g002 .panel__media{ aspect-ratio: 16/9; background: #ddd center/cover no-repeat; }
	.sl-junior-page .g002 .panel__body{ padding: 16px 18px; }

	/* 5) Flow（入会までの流れ）読みやすさの間隔だけ微調整（任意） */
	.sl-junior-page .g002 .flow li { margin: 10px 0; line-height: 1.75; }
	/* =====================
	 入会までの流れ（Flow）
	 ===================== */
	.sl-elementary-page .g002 .steps,
	.sl-junior-page .g002 .steps {
	  display: grid;
	  grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
	  gap: 24px;
	  margin-top: 28px;
	}

	.sl-elementary-page .g002 .step,
	.sl-junior-page .g002 .step {
	  background:#fff;
	  border:1px solid #ececec;
	  border-radius:14px;
	  padding:20px;
	  text-align:center;
	  box-shadow:0 4px 12px rgba(0,0,0,.05);
	}

	.sl-elementary-page .g002 .step__num,
	.sl-junior-page .g002 .step__num {
	  width:48px; height:48px;
	  margin:0 auto 12px;
	  border-radius:50%;
	  background:#e53935; color:#fff;
	  font-weight:700; font-size:20px;
	  display:flex; align-items:center; justify-content:center;
	}

	.sl-elementary-page .g002 .step__title,
	.sl-junior-page .g002 .step__title {
	  font-size:18px;
	  font-weight:700;
	  margin-bottom:8px;
	}

	.sl-elementary-page .g002 .step__desc,
	.sl-junior-page .g002 .step__desc {
	  font-size:14px;
	  color:#475569;
	  margin:0;
	}

	/* ===== ABOUT 2カラム ===== */
	.g002 #about + #about-cycle .aboutGrid,
	.g002 #about + #about-cycle + #about-skills .aboutGrid,
	.g002 #about-cycle .aboutGrid,
	.g002 #about-skills .aboutGrid{
	  display:grid;
	  grid-template-columns: 1.05fr .95fr;
	  gap:28px;
	  align-items:start;
	}
	@media (max-width: 960px){
	  .g002 #about-cycle .aboutGrid,
	  .g002 #about-skills .aboutGrid{ grid-template-columns: 1fr; }
	}

	/* パネル（白カード） */
	.g002 .panel{
	  background:#fff;
	  border:1px solid #ececec;
	  border-radius:16px;
	  padding:18px;
	  box-shadow:0 4px 18px rgba(16,24,40,.04);
	}
	.g002 .panel__title{
	  font-size:18px;
	  font-weight:800;
	  margin:0 0 12px;
	  color:#0f172a;
	}

	/* ステップリスト */
	.g002 .steps{ list-style:none; padding:0; margin:0; display:grid; gap:12px; }
	.g002 .step{
	  display:grid;
	  grid-template-columns: 44px 1fr;
	  gap:12px;
	  padding:12px;
	  border:1px dashed #e5e7eb;
	  border-radius:12px;
	  background:#fff;
	  position:relative;
	}
	.g002 .step__icon{
	  width:44px; height:44px; border-radius:50%;
	  display:grid; place-items:center;
	  background:#eef2ff; color:#3730a3; font-size:20px; font-weight:700;
	}
	.g002 .step__body h4{ font-size:16px; margin:2px 0 6px; }
	.g002 .step__body p{ font-size:14px; color:#475569; margin:0; }
	.g002 .cycle .note{ margin-top:10px; font-size:12px; color:#64748b; }

	/* スキルカード */
	.g002 .skillCards{
	  display:grid;
	  grid-template-columns: repeat(auto-fit, minmax(220px,1fr));
	  gap:14px;
	}
	.g002 .skillCards .card{
	  background:#fff;
	  border:1px solid #ececec;
	  border-radius:14px;
	  padding:16px;
	  box-shadow:0 2px 10px rgba(16,24,40,.04);
	}
	.g002 .skillCards .card h4{ font-size:16px; margin:0 0 6px; color:#0f172a; }
	.g002 .skillCards .card p{ font-size:14px; margin:0; color:#475569; }

	.g002 .skills .microcopy{
	  margin-top:10px; font-size:12px; color:#64748b; text-align:right;
	}
	.g002 .skills .microcopy .soft{ background:linear-gradient(transparent 60%, #fff2f2 60%); }

	/* 見出しまわりの余白（既存ルールと整合） */
	.g002 #about .sec__head{ margin-top:0; } /* ヘッダー直下の余白は0のまま */
	.g002 #about-cycle .sec__head,
	.g002 #about-skills .sec__head{ margin-top:80px; }
	@media (max-width:768px){
	  .g002 #about-cycle .sec__head,
	  .g002 #about-skills .sec__head{ margin-top:40px; }
	}
	/* === ABOUT / 探究学習とは：サイクル（6ステップ） === */
	.g002 .cycle { margin: 32px auto 10px; max-width: 960px; }
	.g002 .flow--compact {
	  display: grid;
	  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	  gap: 14px;
	  list-style: none;
	  margin: 0;
	  padding: 0;
	}
	.g002 .flow--compact li {
	  background: #fff;
	  border: 1px solid #ececec;
	  border-radius: 12px;
	  padding: 14px;
	  box-shadow: 0 2px 8px rgba(0,0,0,.05);
	}
	.g002 .flow--compact .flow__head {
	  display: grid;
	  grid-template-columns: auto 1fr;
	  gap: 10px;
	  align-items: center;
	  margin-bottom: 6px;
	}
	.g002 .flow--compact .num {
	  display: inline-flex;
	  width: 28px; height: 28px;
	  border-radius: 999px;
	  align-items: center; justify-content: center;
	  background: #e53935; color: #fff;
	  font-weight: 700; font-size: 13px;
	}
	.g002 .flow--compact b { font-size: 15px; }

	/* NOTE: 補足文 */
	.g002 .cycle .note {
	  margin: 10px 0 0;
	  font-size: 12px;
	  color: #64748b;
	  text-align: right;
	}

	/* === ABOUT / 身につく力（同セクション内） === */
	.g002 .skillsGrid { margin-top: 28px; }
	.g002 .skills {
	  display: grid;
	  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	  gap: 16px;
	}
	.g002 .skills .card {
	  background: #fff;
	  border: 1px solid #ececec;
	  border-radius: 14px;
	  padding: 18px;
	  box-shadow: 0 4px 18px rgba(16,24,40,.04);
	  transition: transform .2s ease, box-shadow .2s ease;
	}
	.g002 .skills .card:hover {
	  transform: translateY(-2px);
	  box-shadow: 0 8px 22px rgba(16,24,40,.10);
	}
	.g002 .skills .card h3 {
	  margin: 0 0 6px;
	  font-size: 16px; font-weight: 700;
	  color: #0f172a;
	}
	.g002 .skills .card p {
	  margin: 0; font-size: 14px; line-height: 1.65; color: #475569;
	}

	/* === ABOUT / 学びの3本柱（同セクション内） === */
	.g002 .columnsGrid { margin-top: 28px; }
	.g002 .columns {
	  display: grid;
	  grid-template-columns: 1fr;
	  gap: 16px;
	}
	.g002 .columns .card {
	  background: #fff;
	  border: 1px solid #ececec;
	  border-radius: 14px;
	  padding: 18px;
	  box-shadow: 0 4px 18px rgba(16,24,40,.04);
	  transition: transform .2s ease, box-shadow .2s ease;
	}
	.g002 .columns .card:hover {
	  transform: translateY(-2px);
	  box-shadow: 0 8px 22px rgba(16,24,40,.10);
	}
	.g002 .columns .card h3 {
	  margin: 0 0 6px;
	  font-size: 16px; font-weight: 700;
	  color: #0f172a;
	}
	.g002 .columns .card p {
	  margin: 0; font-size: 14px; line-height: 1.65; color: #475569;
	}

	/* === 入会までの流れ（文字崩れ防止版） === */
	.g002 .flowList {
	  display: grid;
	  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	  gap: 16px;
	  margin: 10px 0 0;
	  padding: 0; list-style: none;
	}
	.g002 .flowItem {
	  background: #fff;
	  border: 1px solid #f1f5f9;
	  border-radius: 14px;
	  padding: 16px 16px 14px;
	  box-shadow: 0 2px 12px rgba(0,0,0,.05);
	}
	.g002 .flowItem__head {
	  display: grid;
	  grid-template-columns: auto 1fr;
	  gap: 10px;
	  align-items: center;
	  margin-bottom: 6px;
	}
	.g002 .flowItem .num {
	  display: inline-flex;
	  width: 32px; height: 32px;
	  border-radius: 999px;
	  align-items: center; justify-content: center;
	  background: #e53935; color: #fff;
	  font-weight: 800; font-size: 14px;
	}
	.g002 .flowItem b { font-size: 16px; }
	.g002 .flowItem p { margin: 0; font-size: 14px; color: #334155; line-height: 1.7; }

	/* ミニ見出し（セクション内の導入） */
	.g002 .miniTitle{
	  margin: 28px 0 8px;
	  font-size: 12px;
	  letter-spacing: .08em;
	  font-weight: 800;
	  color: #e53935;
	  text-transform: uppercase;
	}

	/* 説明の強調ボックス */
	.g002 .callout{
	  background: #fff;
	  border: 1px solid #f1f5f9;
	  border-left: 4px solid #e53935;
	  border-radius: 10px;
	  padding: 14px 16px;
	  color: #334155;
	  box-shadow: 0 2px 8px rgba(0,0,0,.04);
	}
	.g002 .callout p{ margin: 0; line-height: 1.8; }

	/* 小見出し・補足説明 */
	.g002 .miniTitle{
	  margin: 24px 0 10px;
	  font-size: 13px;
	  font-weight: 800;
	  letter-spacing: .06em;
	  color: #e53935;
	}
	.g002 .sublead{
	  margin: 4px 0 18px;
	  color: #334155;
	  line-height: 1.8;
	}

	/* “専門家紹介” */
	.g002 .proCycle{
	  margin-top: 12px;
	}
	.g002 .proList{
	  list-style: none;
	  margin: 10px 0 0;
	  padding: 0;
	  display: grid;
	  grid-template-columns: repeat(auto-fit,minmax(260px,1fr));
	  gap: 12px;
	}
	.g002 .proList li{
	  background:#fff;
	  border:1px solid #f1f5f9;
	  border-radius:12px;
	  padding:12px 14px;
	  box-shadow:0 2px 10px rgba(0,0,0,.04);
	  line-height:1.7;
	}
	.g002 .proList b{ color:#0f172a; }
	.g002 .proList u{ text-underline-offset:2px; }

	/* “なぜこのサイクルが重要？” */
	.g002 .whyCycle{
	  margin-top: 12px;
	}
	.g002 .whyList{
	  list-style: none;
	  margin: 10px 0 0;
	  padding: 0;
	  display: grid;
	  grid-template-columns: repeat(auto-fit,minmax(260px,1fr));
	  gap: 12px;
	}
	.g002 .whyList li{
	  background:#fff;
	  border:1px solid #f1f5f9;
	  border-radius:12px;
	  padding:12px 14px;
	  box-shadow:0 2px 10px rgba(0,0,0,.04);
	  line-height:1.7;
	}
	.g002 .whyList b{ color:#0f172a; }
	.g002 .whyList u{ text-underline-offset:2px; }

	/* ============================
	   強調小見出し（サイクル / 身につく力）
	   ============================ */
	.g002 .highlightTitle {
	  margin: 40px 0 16px;
	  font-size: 20px;
	  font-weight: 800;
	  line-height: 1.4;
	  color: #111;
	  position: relative;
	  text-align: center;
	}

	.g002 .highlightTitle::after {
	  content: "";
	  display: block;
	  width: 60px;
	  height: 3px;
	  margin: 8px auto 0;
	  background: #e53935;   /* 赤の下線で強調 */
	  border-radius: 2px;
	}

	/* 補足説明文 */
	.g002 .sublead {
	  margin: 8px auto 24px;
	  font-size: 15px;
	  line-height: 1.8;
	  color: #334155;
	  text-align: center;
	  a: 780px;
	}

	/* ============================
	   強調セクション見出し
	   ============================ */
	.g002 .sectionTitleStrong {
	  margin: 60px 0 20px;
	  font-size: clamp(24px, 3.2vw, 30px);
	  font-weight: 800;
	  color: #111;
	  text-align: center;
	  line-height: 1.4;
	  position: relative;
	}

	.g002 .sectionTitleStrong::before {
	  content: "◆";
	  display: inline-block;
	  color: #e53935;
	  font-size: 20px;
	  margin-right: 8px;
	  vertical-align: middle;
	}

	.g002 .sectionTitleStrong::after {
	  content: "";
	  display: block;
	  width: 80px;
	  height: 3px;
	  background: #e53935;
	  margin: 10px auto 0;
	  border-radius: 2px;
	}

	/* サブリード */
	.g002 .sublead {
	  margin: 10px auto 32px;
	  font-size: 15px;
	  line-height: 1.8;
	  color: #334155;
	  text-align: center;
	  max-width: 780px;
	}
	/**************************************
	 * 入会までの流れ（#flow）— .steps / .step 版
	 **************************************/

	/* 1) 文字が縦書き化・1文字折りするのを抑止 */
	.sl-elementary-page #flow, .sl-elementary-page #flow * ,
	.sl-junior-page #flow, .sl-junior-page #flow * {
	  writing-mode: horizontal-tb !important;
	  text-orientation: mixed !important;
	  white-space: normal !important;
	  word-break: normal !important;
	}

	/* 2) カードのグリッド（4→2→1列） */
	.sl-elementary-page #flow .steps,
	.sl-junior-page #flow .steps{
	  display:grid !important;
	  grid-template-columns: repeat(4, minmax(240px,1fr));
	  gap:24px;
	  align-items:stretch;
	  margin-top:20px;
	}
	@media (max-width:1080px){
	  .sl-elementary-page #flow .steps,
	  .sl-junior-page #flow .steps{
	    grid-template-columns: repeat(2, minmax(240px,1fr));
	  }
	}
	@media (max-width:640px){
	  .sl-elementary-page #flow .steps,
	  .sl-junior-page #flow .steps{
	    grid-template-columns: 1fr;
	  }
	}

	/* 3) 各カードの体裁 */
	.sl-elementary-page #flow .step,
	.sl-junior-page #flow .step{
	  background:#fff;
	  border:1px solid #eef2f7;
	  border-radius:16px;
	  padding:24px 20px 28px;
	  box-shadow:0 6px 16px rgba(16,24,40,.06);
	  display:flex;
	  flex-direction:column;
	}

	/* 番号丸 */
	.sl-elementary-page #flow .step__num,
	.sl-junior-page #flow .step__num{
	  width:44px; height:44px; border-radius:999px;
	  background:#e53935; color:#fff; font-weight:800;
	  display:grid; place-items:center; margin-bottom:10px;
	}

	/* タイトルに下線（視認性UP） */
	.sl-elementary-page #flow .step__title,
	.sl-junior-page #flow .step__title{
	  font-weight:800;
	  border-top:2px solid #e5e9f2;
	  padding-top:8px;
	  line-height:1.35;
	  margin:0 0 6px;
	}

	/* 本文の行間と余白 */
	.sl-elementary-page #flow .step__desc,
	.sl-junior-page #flow .step__desc{
	  margin:0;
	  line-height:1.9;
	}

	/* セクション上余白（PC80 / SP40） */
	.sl-elementary-page #flow .sec__head,
	.sl-junior-page #flow .sec__head{ margin-top:80px; }
	@media (max-width:768px){
	  .sl-elementary-page #flow .sec__head,
	  .sl-junior-page #flow .sec__head{ margin-top:40px; }
	}

	.strikethrough {
	        text-decoration: line-through; /* 取り消し線 */
	    }
	/* ===========================
	   VOICE（体験談）共通スタイル
	   — page-id 1200 / 1297 の両方に適用
	   =========================== */
	.sl-elementary-page .g002.voice,
	.sl-junior-page .g002.voice{
	  padding:clamp(40px,6vw,80px) 0;
	}

	.sl-elementary-page .g002.voice .wrap,
	.sl-junior-page .g002.voice .wrap{
	  max-width:1080px;
	  margin-inline:auto;
	  padding-inline:24px;
	  box-sizing:border-box;
	}

	.sl-elementary-page .g002.voice .voices,
	.sl-junior-page .g002.voice .voices{
	  display:grid;
	  grid-template-columns:repeat(12,1fr);
	  gap:24px;
	  margin-top:32px;
	}

	/* カード：PCで 6/12 幅（2列）、タブレットは2列、SPは1列 */
	.sl-elementary-page .g002.voice .voiceCard,
	.sl-junior-page .g002.voice .voiceCard{
	  grid-column:span 6;
	  background:#fff;
	  border-radius:14px;
	  box-shadow:0 4px 18px rgba(16,24,40,.08);
	  padding:20px 22px;
	  display:flex;
	  flex-direction:column;
	  justify-content:space-between;
	  transition:transform .25s ease, box-shadow .25s ease;
	}
	@media (max-width: 980px){
	  .sl-elementary-page .g002.voice .voiceCard,
	  .sl-junior-page .g002.voice .voiceCard{ grid-column:span 6; }
	}
	@media (max-width: 640px){
	  .sl-elementary-page .g002.voice .voiceCard,
	  .sl-junior-page .g002.voice .voiceCard{ grid-column:span 12; }
	}

	.sl-elementary-page .g002.voice .voiceCard:hover,
	.sl-junior-page .g002.voice .voiceCard:hover{
	  transform:translateY(-4px);
	  box-shadow:0 6px 24px rgba(16,24,40,.12);
	}

	.sl-elementary-page .g002.voice .voiceCard__text,
	.sl-junior-page .g002.voice .voiceCard__text{
	  font-size:15px;
	  line-height:1.7;
	  color:#374151;
	  margin-bottom:12px;
	}

	.sl-elementary-page .g002.voice .voiceCard__author,
	.sl-junior-page .g002.voice .voiceCard__author{
	  font-size:13px;
	  color:#6b7280;
	  font-style:italic;
	  text-align:right;
	}

	/* === 専門家紹介 Fancy Cards === */
	.proList.fancy {
	  display: grid;
	  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	  gap: 24px;
	  margin-top: 20px;
	}

	.proList.fancy .proCard {
	  background: linear-gradient(135deg, #fff, #f9fafb);
	  border: 1px solid #e5e7eb;
	  border-radius: 14px;
	  padding: 24px 20px;
	  text-align: center;
	  box-shadow: 0 6px 16px rgba(0,0,0,0.06);
	  transition: transform 0.3s ease, box-shadow 0.3s ease;
	}
	.proList.fancy .proCard:hover {
	  transform: translateY(-4px);
	  box-shadow: 0 12px 24px rgba(0,0,0,0.12);
	}

	.proList.fancy .proIcon {
	  font-size: 2rem;
	  margin-bottom: 12px;
	}

	.proList.fancy h4 {
	  font-size: 18px;
	  font-weight: 700;
	  color: #111827;
	  margin-bottom: 8px;
	}

	.proList.fancy p {
	  font-size: 14px;
	  color: #374151;
	  line-height: 1.6;
	}

	.proList.fancy p b {
	  color: #e53935;
	}
	/* === 専門家紹介 Fancy Cards アイコン中央揃え修正 === */
	.proList.fancy .proCard {
	  text-align: center;          /* コンテンツ全体を中央寄せ */
	}

	.proList.fancy .proIcon {
	  display: flex;               /* フレックスボックスで中央寄せ */
	  justify-content: center;
	  align-items: center;
	  font-size: 18px;
	  margin: 0 auto 12px;         /* 自動マージンで中央に */
	}


	/* SVが現時点で1名なので：横に広がりすぎない */
	.g002 .svList {
	  max-width: 450px;      /* ← 専門家カード1枚分の幅 */
	  margin: 0 auto;        /* 中央寄せ */
	}


	/* === なぜこのサイクルが重要？ Fancy Cards === */
	.whyList.fancy {
	  display: grid;
	  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	  gap: 24px;
	  margin-top: 20px;
	}

	.whyList.fancy .whyCard {
	  background: linear-gradient(135deg, #fff, #f9fafb);
	  border: 1px solid #e5e7eb;
	  border-radius: 14px;
	  padding: 24px 20px;
	  text-align: center;
	  box-shadow: 0 6px 16px rgba(0,0,0,0.06);
	  transition: transform 0.3s ease, box-shadow 0.3s ease;
	}
	.whyList.fancy .whyCard:hover {
	  transform: translateY(-4px);
	  box-shadow: 0 12px 24px rgba(0,0,0,0.12);
	}

	.whyList.fancy .whyIcon {
	  font-size: 2rem;
	  margin-bottom: 12px;
	}

	.whyList.fancy h4 {
	  font-size: 18px;
	  font-weight: 700;
	  color: #111827;
	  margin-bottom: 8px;
	}

	.whyList.fancy p {
	  font-size: 14px;
	  color: #374151;
	  line-height: 1.6;
	}

	.whyList.fancy p b {
	  color: #e53935;
	}
	/* === なぜこのサイクルが重要？ Fancy Cards アイコン中央揃え修正 === */
	.whyList.fancy .whyCard {
	  text-align: center;          /* コンテンツ全体を中央寄せ */
	}

	.whyList.fancy .whyIcon {
	  display: flex;               /* フレックスボックスで中央寄せ */
	  justify-content: center;
	  align-items: center;
	  font-size: 2rem;
	  margin: 0 auto 12px;         /* 自動マージンで中央に */
	}

	/* 問い合わせフォームのラッパー */
	.wpcf7 {
	  max-width: 800px;  /* 最大幅を800pxに設定 */
	  width: 100%;
	  margin: 0 auto;    /* 中央寄せ */
	  padding: 20px;
	  box-sizing: border-box;
	}

	/* フォームの入力エリア */
	.wpcf7 input,
	.wpcf7 select,
	.wpcf7 textarea {
	  width: 100%;  /* 入力エリアの幅を100%に */
	  padding: 12px;
	  margin-bottom: 12px;
	  border: 1px solid #ccc;
	  border-radius: 8px;
	  box-sizing: border-box;
	}

	/* スマートフォン表示時 */
	@media (max-width: 768px) {
	  .wpcf7 {
	    max-width: 100%;  /* スマホではフォームの最大幅100% */
	    padding: 10px;
	  }
	  .wpcf7 input,
	  .wpcf7 select,
	  .wpcf7 textarea {
	    width: 100%;  /* スマホでも入力フィールドが画面に合うように */
	  }
	}

	/* =============================
	   Home v2 Scoped Styles
	   ============================= */
	.homeV2 { --c-accent:#e53935; --c-ink:#101828; --c-muted:#475569; --c-line:#eef2f7; }
	.homeV2 .wrap{max-width:1080px;margin-inline:auto;padding-inline:24px;box-sizing:border-box}

	/* KV */
	.homeV2 .kv{position:relative;isolation:isolate;min-height:56vh;background:#000;overflow:hidden}
	.homeV2 .kv__bg{position:absolute;inset:0;object-fit:cover;width:100%;height:100%;filter:brightness(.8)}
	.homeV2 .kv__inner{position:relative;z-index:1;display:grid;gap:14px;place-items:end;text-align:right;
	  padding:56px 24px 48px; color:#fff}
	@media (max-width:768px){
	  .homeV2 .kv__inner{place-items:center;text-align:center;padding:36px 16px}
	}
	.homeV2 .kv_sp__inner{position:relative;z-index:1;display:grid;gap:14px;place-items:end;text-align:right;
	  padding:56px 24px 48px; color:#fff}
	@media (max-width:768px){
	  .homeV2 .kv_sp__inner{place-items:center;text-align:center;padding:36px 16px}
	}
	.homeV2 .kv__title{display:inline-block;background:rgba(255,255,255,.9);color:#111;
	  font-weight:800;border-radius:14px;padding:16px 20px;line-height:1.35;
	  font-size:clamp(22px,3.8vw,30px);box-shadow:0 10px 30px rgba(0,0,0,.28)}
	.homeV2 .kv_sp__title{display:inline-block;background:rgba(255,255,255,.9);color:#111;
	  font-weight:800;border-radius:14px;padding:16px 20px;line-height:1.35;
	  font-size:clamp(22px,3.8vw,30px);box-shadow:0 10px 30px rgba(0,0,0,.28)}
	.homeV2 .ctaRow{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
	@media (max-width:768px){.homeV2 .ctaRow{justify-content:center}}
	.homeV2 .btn{display:inline-flex;align-items:center;gap:.55em;padding:14px 20px;border-radius:999px;
	  font-weight:700;line-height:1;border:2px solid transparent;background:var(--c-accent);color:#fff;
	  box-shadow:0 6px 16px rgba(229,57,53,.35);text-decoration:none}
	.homeV2 .btn--ghost{background:#fff;color:var(--c-accent);border-color:var(--c-accent);box-shadow:none}
	.homeV2 .btn--unavailable{background:#b4b4b4;color:var(--c-accent);border-color:var(--c-accent);box-shadow:none}
	.homeV2 .btn:focus-visible{outline:3px solid #fff;outline-offset:2px}

	/* Section heads */
	.homeV2 .sec__head{text-align:center;margin:64px 0 24px}
	.homeV2 .sec__eyebrow{color:var(--c-accent);font-weight:800;letter-spacing:.12em;font-size:12px}
	.homeV2 .sec__title{font-size:clamp(22px,3vw,32px);font-weight:800;margin-top:8px;color:var(--c-ink)}
	.homeV2 .lead{color:var(--c-muted);margin:8px auto 0;max-width:820px;text-align:center}

	/* サイクル：横スクロール対応 */
	.homeV2 .flowStrip{background:#fff;border:1px solid var(--c-line);border-radius:14px;padding:16px}
	.homeV2 .flowStrip__list{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(180px,1fr);gap:12px;overflow:auto;padding-bottom:6px}
	.homeV2 .stepCard{background:#fff;border:1px solid var(--c-line);border-radius:12px;padding:10px 12px;min-height:92px}
	.homeV2 .stepCard .num{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;background:#fef0ef;color:var(--c-accent);font-weight:800}

	/* Why cycle */
	.homeV2 .why{display:grid;gap:12px;margin-top:14px}
	@media(min-width:900px){.homeV2 .why{grid-template-columns:repeat(3,1fr)}}
	.homeV2 .whyItem{position:relative;border:1px solid var(--c-line);border-radius:16px;background:#fff;
	  padding:18px 16px;box-shadow:0 6px 18px rgba(16,24,40,.06)}
	.homeV2 .whyItem::before{content:"";position:absolute;inset:auto auto -1px 16px;height:4px;width:56px;border-radius:4px;background:var(--c-accent)}
	.homeV2 .whyItem b{font-weight:800;color:var(--c-ink)}
	.homeV2 .whyItem p{margin:.4em 0 0;color:var(--c-muted)}

	/* 身につく力（チップ） */
	.homeV2 .skillsChips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;justify-content:center}
	.homeV2 .chip{background:#eef2ff;color:#3730a3;border-radius:999px;padding:6px 12px;font-weight:700;}

	/* 2コラム「ラボのご案内」 */
	.homeV2 .labs{display:grid;gap:24px}
	@media(min-width:960px){.homeV2 .labs{grid-template-columns:1fr 1fr}}
	.homeV2 .panel{border:1px solid var(--c-line);border-radius:16px;overflow:hidden;background:#fff}
	.homeV2 .panel__media{aspect-ratio:16/9;background:#ddd center/cover no-repeat}
	.homeV2 .panel__body{padding:16px 18px}
	.homeV2 .bullets{margin:10px 0 0;padding-left:1.2em}
	.homeV2 .bullets li{margin:.3em 0}

	/* 下部CTA */
	.homeV2 .ctaBand{background:#fff;border:1px solid var(--c-line);border-radius:14px;
	  padding:18px;display:grid;gap:12px;place-items:center}

	/* 投稿カード（既存WP側のグリッドを活かす想定。ここでは微調整のみ） */
	.homeV2 .postCard{border:1px solid var(--c-line);border-radius:12px;background:#fff}
	.homeV2 .postCard .meta{color:var(--c-muted);font-size:13px}

	/* 微アニメーション */
	.homeV2 .btn:hover{transform:translateY(-1px)}
	.homeV2 .panel:hover{transform:translateY(-2px);transition:.3s}

	/* ===== 基本レイアウト・共通 ===== */
	.wrap { max-width: 1080px; margin: 0 auto; padding: 0 24px; }

	.btn {
	  display: inline-flex; align-items: center; justify-content: center;
	  gap: .5em; padding: 14px 22px; border-radius: 999px; font-weight: 700;
	  text-decoration: none; line-height: 1; transition: .2s ease; white-space: nowrap;
	}
	.btn--primary { background:#e53935; color:#fff; box-shadow:0 6px 16px rgba(229,57,53,.35); }
	.btn--secondary { background:#fff; color:#e53935; border:2px solid #e53935; }
	.btn--cta { background:linear-gradient(135deg, #e60012, #ff5a36); color:#fff; box-shadow:0 8px 22px rgba(229,57,53,.35); }
	.btn:hover { transform: translateY(-1px); opacity:.95; }

	/* ===== KV ===== */
	.top-kv { position: relative; text-align: center; color: #fff; }
	.kv__img { width: 100%; height: 80vh; object-fit: cover; display:block; }
	.kv__overlay {
	  position: absolute; inset: 0; background: rgba(0,0,0,0.45);
	  display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 0 16px;
	}
	.kv__catch { font-size: clamp(22px, 3.4vw, 38px); line-height: 1.5; margin-bottom: 18px; }
	.kv__btns .btn { margin: 0 8px; }

	/* ===== Campaign ===== */
	.campaign { background: #fff7e5; padding: 48px 0; }
	.campaign__inner { display: flex; align-items: center; gap: 24px; }
	.campaign__img { width: 40%; border-radius: 8px; display:block; }
	.campaign__text h2 { font-size: clamp(20px, 2.6vw, 30px); margin-bottom: 8px; }
	.campaign__text p { font-size: clamp(15px, 2vw, 18px); margin: 6px 0 16px; }
	.highlight { color: #e60012; font-weight: 800; font-size: 1.25em; }
	.campaign .btn { background: #e53935; color: #fff; padding: 14px 32px; border-radius: 999px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; text-decoration: none;}


	/* ===== 宇宙ラボ、誕生 ===== */
	.birth { background: url('https://steeringlab.jp/wp-content/uploads/2026/04/宇宙7.png') center/cover no-repeat; padding: 72px 0; }
	.birth__head { color:#fff; text-align: center; }
	.birth__title { color:#fff; font-size: clamp(32px, 3vw, 32px); font-weight: 800; }
	.birth__lead { color:#fff; font-size: 16px; margin-top: 6px; }
	.birth .btn { background: #e53935; color: #fff; padding: 14px 32px; border-radius: 999px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; text-decoration: none;}

	/* ===== Courses ===== */
	.course { background: #f9fafc; padding: 72px 0; }
	.sec__head { text-align: center; }
	.sec__title { font-size: clamp(22px, 3vw, 32px); font-weight: 800; }
	.sec__lead { color:#475569; margin-top: 6px; }
	.course__list {
	  display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; margin-top: 28px;
	}
	.course__item {
	  background: #fff; padding: 24px; border-radius: 14px;
	  box-shadow: 0 4px 12px rgba(0,0,0,0.08); text-align: center; transition: transform .25s ease, box-shadow .25s ease;
	}
	.course__item:hover { transform: translateY(-4px); box-shadow: 0 8px 20px rgba(0,0,0,0.12); }
	.course__item .icon { font-size: 40px; margin-bottom: 8px; }
	.course__item h3 { font-size: 18px; margin: 6px 0 8px; }
	.course__item p { color:#475569; }
	.course__item .panel__media { aspect-ratio: 16/9; background: #ddd center / cover no-repeat; }

	@media (max-width: 768px) {#labs .course__list {display: grid; grid-template-columns: 1fr !important;
					}
				}

	/* ===== Merits ===== */
	.merits { background: #f9fafc; padding: 72px 0; }
	.sec__head { text-align: center; }
	.sec__title { text-align: center; font-size: clamp(22px, 3vw, 32px); font-weight: 800; }
	.sec__lead { color:#475569; margin-top: 6px; }
	.merit__list {
	  display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 28px;
	}
	.merit__item {
	  background: #fff; padding: 24px; border-radius: 14px;
	  box-shadow: 0 4px 12px rgba(0,0,0,0.08); text-align: center; transition: transform .25s ease, box-shadow .25s ease;
	}
	.merit__item:hover { transform: translateY(-4px); box-shadow: 0 8px 20px rgba(0,0,0,0.12); }
	.merit__item .icon { font-size: 40px; margin-bottom: 8px; }
	.merit__item h3 { font-size: 18px; margin: 6px 0 8px; }
	.merit__item p { color:#475569; }

	/* ===== CTA ===== */
	.cta {
	  background: linear-gradient(135deg, #e60012, #ff5a36); color: #fff; text-align: center;
	  padding: 64px 24px;
	}
	.cta h2 { font-size: clamp(22px, 3vw, 30px); margin-bottom: 8px; }
	.cta p { margin-bottom: 18px; font-size: clamp(14px, 2vw, 17px); }

	/* ===== Responsive ===== */
	@media (max-width: 960px) {
	  .campaign__inner { flex-direction: column; text-align: center; }
	  .campaign__img { width: 80%; }
	  .merit__list { grid-template-columns: 1fr; }
	  .kv__img { height: 64vh; }
	}

	/* ====== 開校キャンペーン ====== */
	.campaign-block { background: linear-gradient(135deg, #fff8f8, #ffeaea); padding: 80px 0; position: relative;  overflow: hidden;}
	.campaign-inner { display: flex; align-items: center; justify-content: space-between; gap: 48px; flex-wrap: wrap}
	.campaign-text { flex: 1 1 520px;}
	.campaign-label { display: inline-block; background: #e53935; color: #fff; font-weight: 700; padding: 6px 14px; border-radius: 999px; font-size: 14px; margin-bottom: 14px;}
	.campaign-title { font-size: clamp(26px, 3.2vw, 38px); font-weight: 800; margin-bottom: 14px;}
	.campaign-title .zero { color: #e60012; font-size: 1.3em; }
	.campaign-desc { font-size: 17px; line-height: 1.7; margin-bottom: 20px;}
	.campaign-desc .line { text-decoration: line-through; color: #666;}
	.campaign-desc .highlight { color: #e60012; font-weight: 700;}
	.campaign-benefits { list-style: none; margin: 0 0 24px; padding: 0; font-size: 16px; line-height: 1.8;}
	.campaign-benefits li { margin-bottom: 6px;}
	.campaign-deadline { font-size: 14px; color: #666; margin-top: 16px;}
	.campaign-visual { flex: 1 1 380px; position: relative; display: flex; align-items: center; justify-content: center;}
	.campaign-img { width: 100%; max-width: 420px; border-radius: 16px; box-shadow: 0 8px 32px rgba(0,0,0,.15); z-index: 2; position: relative;}
	.circle-bg { position: absolute; width: 360px; height: 360px; border-radius: 50%; background: rgba(229, 57, 53, 0.08); top: -40px; left: -40px; z-index: 1;}
	.price-tag { position: absolute; top: -20px; right: -20px; background: #e60012; color: #fff; border-radius: 50%; width: 120px; height: 120px; display: flex; flex-direction: column; align-items: center; justify-content: center; font-weight: 800; box-shadow: 0 6px 20px rgba(229,0,0,0.35); z-index: 3;}
	.price-label { font-size: 16px; margin-bottom: 4px;}
	.price-zero { font-size: 32px; line-height: 1;}

	@media (max-width: 900px) {
	  .campaign-inner {
	    flex-direction: column;
	    text-align: center;
	  }
	  .campaign-visual {
	    order: -1;
	    margin-bottom: 32px;
	  }
	  .price-tag {
	    top: -10px;
	    right: auto;
	    left: 50%;
	    transform: translateX(-50%);
	  }
	  .campaign-benefits { text-align: left; display: inline-block; }
	}
	.campaign .btn { background: #e53935; color: #fff; padding: 14px 32px; border-radius: 999px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; text-decoration: none;}


	/* =========================================
	   満足度バッジ
	   ========================================= */
	.card-visual {
	  position: relative;   /* バッジ配置の基準 */
	  margin-top: 16px;
	}


	.badge-rating {
	  position: absolute;
	  z-index: 10;   /* ★ 最前面に出す */
	  top: 72px;
	  right: -12px;

	  width: 64px;
	  height: 64px;                 /* ← 幅と高さを完全一致 */
	  border-radius: 50%;           /* ← 正円 */

	  background: #1e40af;          /* 濃い青（おすすめ） */
	  color: #fff;

	  display: flex;                /* 中央寄せ */
	  flex-direction: column;
	  align-items: center;
	  justify-content: center;

	  text-align: center;
	  line-height: 1.1;

	  box-shadow: 0 6px 18px rgba(30,64,175,.35);
	}

	/* ラベル（満足度） */
	.badge-rating__label {
	  font-size: 11px;
	  font-weight: 700;
	  opacity: .9;
	}

	/* 数値 */
	.badge-rating__value {
	  font-size: 18px;
	  font-weight: 800;
	}


	@media (min-width: 1025px) {
	  .badge-rating {
	    width: 96px;
	    height: 96px;          /* ← ここを拡張 */
	    top: 210px;
	    right: 12px;
	  }

	  .badge-rating__label {
	    font-size: 12px;
	  }

	  .badge-rating__value {
	    font-size: 22px;       /* 数値も少し強調 */
	  }
	}

	.card-visual img {
	  width: 100%;
	  max-width: 420px;
	  border-radius: 14px;
	  display: block;
	  margin: 0 auto;
	}

	/* =========================================
	   お客様の声
	   ========================================= */
	.card-visual {
	  position: relative;   /* バッジ配置の基準 */
	  margin-top: 16px;
	}


	.questionnaire {
	  position: absolute;
	  top: 128px;
	  right: -12px;

	  width: 96px;
	  height: 96px;                 /* ← 幅と高さを完全一致 */
	  border-radius: 50%;           /* ← 正円 */

	  background: rgba(162, 216, 246, 0.9);
	  color: #111;

	  display: flex;                /* 中央寄せ */
	  flex-direction: column;
	  align-items: center;
	  justify-content: center;

	  text-align: center;
	  line-height: 1.1;

	  box-shadow: 0 6px 18px rgba(30,64,175,.35);
	}

	.questionnaire__inner {
	padding-inline: 6px;   /* ← 左右の余白 */
	width: 100%;
	box-sizing: border-box;
	}

	/* お客様の声 */
	.questionnaire__label {
	  font-size: 11px;
	  opacity: .9;
	}

	/* 属性 */
	.questionnaire__personality {
	  font-size: 9px;
	}


	@media (min-width: 1025px) {
	  .questionnaire {
	    width: 180px;
	    height: 180px;          /* ← ここを拡張 */
	    top: 260px;
	    right: 24px;
	  }

	 .questionnaire__inner {
	 padding-inline: 16px; /* ← PCでは少し余裕を持たせる */
	 }

	  .questionnaire__label {
	    font-size: 12px;
	  }

	  .questionnaire__personality {
	    font-size: 9px;       /* 小さめ */
	  }
	}

	.card-visual img {
	  width: 100%;
	  max-width: 420px;
	  border-radius: 14px;
	  display: block;
	  margin: 0 auto;
	}


	/* =========================================
	   TOPだけに適用（page-id-1080）
	   ========================================= */
	.page-id-1080 {

	  /* ヘッダー直下の余白をゼロ（KV上の隙間を削除） */
	  /* LightningのmainSectionヘッダー装飾を無効化 */
	  /* ※他ページは触らない */
	}
	.page-id-1080 .mainSection header{
	  margin:0 !important; padding:0 !important; border:none !important;
	}
	.page-id-1080 .entry-body > *:first-child{
	  margin-top:0 !important;
	}

	/* 既存の見出しの左青バーを撤去（上部赤eyebrowに統一） */
	.page-id-1080 h1, .page-id-1080 h2, .page-id-1080 h3,
	.page-id-1080 .vk-heading, .page-id-1080 .vk-heading__title,
	.page-id-1080 .section-title, .page-id-1080 .page-header .entry-title{
	  border-left:none !important; padding-left:0 !important; box-shadow:none !important;
	}

	/* ===== KV（ヒーロー） ===== */
	.page-id-1080 .topKV{
	  position:relative; isolation:isolate;
	  margin:0; padding:0; color:#fff;
	}
	.page-id-1080 .topKV .kv__media{ margin:0; }
	.page-id-1080 .topKV .kv__media img{
	  width:100%; height:auto; display:block; object-fit:cover;
	  aspect-ratio: 16/9;
	}
	.page-id-1080 .topKV .kv__inner{
	  position:absolute; inset:0; display:grid; place-content:center;
	  gap:18px; text-align:center; padding:24px;
	  background: linear-gradient(0deg, rgba(0,0,0,.25), rgba(0,0,0,.25));
	}
	@media (min-width:1025px){
	  .page-id-1080 .topKV .kv__inner{
	    place-content:center end;
	    text-align:right; padding-right:6%;
	  }
	}
	.page-id-1080 .topKV .kv_sp__inner{
	  position:absolute; inset:0; display:grid; place-content:center;
	  gap:18px; text-align:center; padding:24px;
	  background: linear-gradient(0deg, rgba(0,0,0,.25), rgba(0,0,0,.25));
	}
	@media (min-width:1025px){
	  .page-id-1080 .topKV .kv_sp__inner{
	    place-content:center end;
	    text-align:right; padding-right:6%;
	  }
	}
	.page-id-1080 .topKV .kv__eyebrow{
	  font-size:12px; letter-spacing:.12em; font-weight:800; color:#ff4b4b;
	}
	.page-id-1080 .topKV .kv__title{
	  font-size:clamp(28px,3.6vw,44px); line-height:1.28; font-weight:800; margin:0;
	}
	.page-id-1080 .topKV .kv__title span{ background:rgba(255,255,255,.9); color:#111; padding:.08em .35em; border-radius:.35em; }
	.page-id-1080 .topKV .kv_sp__title{
	  font-size:clamp(28px,3.6vw,44px); line-height:1.28; font-weight:800; margin:0;
	}
	.page-id-1080 .topKV .kv_sp__title span{ background:rgba(255,255,255,.9); color:#111; padding:.08em .35em; border-radius:.35em; }
	.page-id-1080 .topKV .kv__sub{ opacity:.95; margin-top:2px; }

	.page-id-1080 .topKV .kv__benefits{
	  display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:8px 0 6px; padding:0; list-style:none;
	}
	.page-id-1080 .topKV .kv__benefits li{
	  display:grid; grid-template-columns:auto 1fr; gap:8px; align-items:center;
	  background:rgba(255,255,255,.1); backdrop-filter:blur(4px);
	  border:1px solid rgba(255,255,255,.25);
	  border-radius:12px; padding:10px 12px; text-align:left;
	}
	.page-id-1080 .topKV .kv__benefits .icon{ font-size:20px; line-height:1; }
	.page-id-1080 .topKV .kv__benefits b{ display:block; font-weight:800; }
	.page-id-1080 .topKV .kv__benefits small{ opacity:.92; }

	@media (max-width:768px){
	  .page-id-1080 .topKV .kv__benefits{ grid-template-columns:1fr; }
	}

	/* CTAボタン */
	.page-id-1080 .g002 .ctaRow{ display:flex; gap:12px; flex-wrap:wrap; justify-content:center; }
	@media (min-width:1025px){
	  .page-id-1080 .topKV .ctaRow{ justify-content:flex-end; }
	}
	.page-id-1080 .g002 .btn{
	  display:inline-flex; align-items:center; gap:.5em;
	  padding:14px 22px; border-radius:999px; font-weight:700; line-height:1;
	  border:2px solid transparent; background:#e53935; color:#fff;
	  box-shadow:0 8px 22px rgba(229,57,53,.25); white-space:nowrap;
	}
	.page-id-1080 .g002 .btn--ghost{ background:#fff; color:#e53935; border-color:#e53935; box-shadow:none; }

	.page-id-1080 .birth .ctaRow{ display:flex; gap:12px; flex-wrap:wrap; justify-content:center; }
	@media (min-width:1025px){
	  .page-id-1080 .topKV .ctaRow{ justify-content:flex-end; }
	}
	.page-id-1080 .birth .btn{
	  display:inline-flex; align-items:center; gap:.5em;
	  padding:14px 22px; border-radius:999px; font-weight:700; line-height:1;
	  border:2px solid transparent; background:#e53935; color:#fff;
	  box-shadow:0 8px 22px rgba(229,57,53,.25); white-space:nowrap;
	}
	.page-id-1080 .birth .btn--ghost{ background:#fff; color:#e53935; border-color:#e53935; box-shadow:none; }

	.page-id-1080 .campaign-block .ctaRow{ display:flex; gap:12px; flex-wrap:wrap; justify-content:center; }
	@media (min-width:1025px){
	  .page-id-1080 .topKV .ctaRow{ justify-content:flex-end; }
	}
	.page-id-1080 .campaign-block .btn{
	  display:inline-flex; align-items:center; gap:.5em;
	  padding:14px 22px; border-radius:999px; font-weight:700; line-height:1;
	  border:2px solid transparent; background:#e53935; color:#fff;
	  box-shadow:0 8px 22px rgba(229,57,53,.25); white-space:nowrap;
	}
	.page-id-1080 .campaign-block .btn--ghost{ background:#fff; color:#e53935; border-color:#e53935; box-shadow:none; }

	/* ===== CTA BAND（スマホで圧縮＆説明つき） ===== */
	.page-id-1080 .ctaBand{ padding:clamp(36px,6vw,72px) 0; background:#fff; }
	.page-id-1080 .ctaBand .sec__head{ text-align:center; margin-bottom:18px; }
	.page-id-1080 .sec__eyebrow{ color:#e53935; font-weight:800; letter-spacing:.1em; font-size:12px; }
	.page-id-1080 .sec__title{ font-size:clamp(22px,3vw,32px); font-weight:800; margin:6px 0 0; }
	.page-id-1080 .ctaBand .lead{  color:#404040; margin:8px auto 16px; max-width:820px; }

	.page-id-1080 .ctaBand__cards{
	  display:grid; gap:14px; grid-template-columns:repeat(2,1fr); margin:8px auto 14px; max-width:960px;
	}
	@media (max-width:768px){ .page-id-1080 .ctaBand__cards{ grid-template-columns:1fr; } }

	.page-id-1080 .ctaCard{
	  display:grid; place-content:center; gap:4px; padding:22px 18px; border-radius:14px;
	  text-align:center; text-decoration:none; color:#111; min-height:120px;
	  box-shadow:0 8px 24px rgba(16,24,40,.06);
	  transition:transform .2s ease, box-shadow .2s ease;
	}
	.page-id-1080 .ctaCard:hover{ transform:translateY(-2px); box-shadow:0 12px 28px rgba(16,24,40,.1); }
	.page-id-1080 .ctaCard--yellow{ background:#ffe97a; }
	.page-id-1080 .ctaCard--pink  { background:#ffc3cf; }
	.page-id-1080 .ctaCard__eyebrow{ font-size:11px; letter-spacing:.12em; opacity:.8; }
	.page-id-1080 .ctaCard__title{ font-size:18px; font-weight:800; }
	.page-id-1080 .ctaCard__hint{ font-size:13px; opacity:.85; }

	.page-id-1080 .ctaBand__row{ margin-top:6px; }

	/***** TOP KV 読みやすさ & メリット3カード整形 *****/
	.page-id-1080 .topKV .kv__inner{
	  /* オーバーレイを少し濃くして情報の可読性UP */
	  background: linear-gradient(
	    0deg,
	    rgba(0,0,0,.55) 0%,
	    rgba(0,0,0,.40) 40%,
	    rgba(0,0,0,.35) 100%
	  );
	  padding-top: clamp(16px, 5vw, 48px);
	  padding-bottom: clamp(16px, 5vw, 40px);
	}

	.page-id-1080 .topKV .kv_sp__inner{
	  /* オーバーレイを少し濃くして情報の可読性UP */
	  background: linear-gradient(
	    0deg,
	    rgba(0,0,0,.55) 0%,
	    rgba(0,0,0,.40) 40%,
	    rgba(0,0,0,.35) 100%
	  );
	  padding-top: clamp(16px, 5vw, 48px);
	  padding-bottom: clamp(16px, 5vw, 40px);
	}

	/* タイトル文字にわずかなシャドウで背景と分離 */
	.page-id-1080 .topKV .kv__title,
	.page-id-1080 .topKV .kv__sub{
	  text-shadow: 0 2px 8px rgba(0,0,0,.28);
	}
	.page-id-1080 .topKV .kv_sp__title,
	.page-id-1080 .topKV .kv__sub{
	  text-shadow: 0 2px 8px rgba(0,0,0,.28);
	}

	/* ---------------- メリット3カード ---------------- */
	.page-id-1080 .topKV .kv__benefits{
	  /* 横幅を絞って中央寄せ、均等幅で崩れを防止 */
	  max-width: min(1080px, 92vw);
	  margin-inline: auto;
	  grid-template-columns: repeat(3, minmax(220px, 1fr));
	  gap: 14px;
	}

	/* カードの見やすさ・高さ揃え・内部レイアウト */
	.page-id-1080 .topKV .kv__benefits li{
	  display: grid;
	  grid-template-columns: 42px 1fr;  /* アイコン + テキスト */
	  align-items: center;
	  gap: 10px;

	  min-height: 96px;               /* 高さ揃え */
	  padding: 12px 14px;
	  border-radius: 14px;

	  /* ガラスカード風でコントラストUP */
	  background: rgba(255,255,255,.12);
	  border: 1px solid rgba(255,255,255,.28);
	  box-shadow: 0 6px 22px rgba(0,0,0,.16);
	  backdrop-filter: blur(6px);
	}

	/* アイコンを正円＋中央揃えで固定幅 */
	.page-id-1080 .topKV .kv__benefits .icon{
	  width: 42px; height: 42px;
	  display: grid; place-items: center;
	  border-radius: 999px;
	  background: rgba(255,255,255,.22);
	  font-size: 20px; line-height: 1;
	}

	/* 見出しと補足のメリハリ */
	.page-id-1080 .topKV .kv__benefits b{
	  display: block;
	  font-size: 16px;
	  font-weight: 800;
	  letter-spacing: .01em;
	}
	.page-id-1080 .topKV .kv__benefits small{
	  display: block;
	  font-size: 12.5px;
	  opacity: .95;
	  margin-top: 2px;
	}

	/* ボタン群の詰まりを緩和（画像にかぶりすぎ防止） */
	.page-id-1080 .topKV .ctaRow{
	  margin-top: clamp(6px, 2vw, 12px);
	}

	/* --------- 中〜小画面のブレイクポイント調整 --------- */
	@media (max-width: 1100px){
	  .page-id-1080 .topKV .kv__benefits{
	    grid-template-columns: repeat(2, minmax(220px, 1fr));
	    gap: 12px;
	  }
	}
	@media (max-width: 640px){
	  .page-id-1080 .topKV .kv__benefits{
	    grid-template-columns: 1fr;
	    gap: 10px;
	  }
	  .page-id-1080 .topKV .kv__benefits li{
	    min-height: 86px;
	    padding: 10px 12px;
	    grid-template-columns: 38px 1fr;
	  }
	  .page-id-1080 .topKV .kv__benefits .icon{
	    width: 38px; height: 38px; font-size: 18px;
	  }
	  .page-id-1080 .topKV .kv__benefits b{ font-size: 15px; }
	  .page-id-1080 .topKV .kv__benefits small{ font-size: 12px; }
	}

	/***** KV メリット3カード 完全リセット & レイアウト強化（TOPのみ） *****/
	.page-id-1080 .topKV .kv__benefits,
	.page-id-1080 .topKV .kv__benefits *{
	  writing-mode: horizontal-tb !important;   /* 万一の縦書き干渉を完全無効化 */
	  text-orientation: mixed !important;
	  white-space: normal !important;
	  word-break: normal !important;
	  overflow-wrap: anywhere;                  /* 長い語でもこぼさない */
	}

	/* コンテナ（3列→2列→1列の順で崩れない） */
	.page-id-1080 .topKV .kv__benefits{
	  max-width: min(1120px, 92vw);
	  margin: clamp(12px, 2vw, 16px) auto 0;
	  display: grid;
	  grid-template-columns: repeat(3, 1fr);
	  gap: clamp(10px, 1.6vw, 16px);
	  align-items: stretch;
	}

	/* 各カード：フレックスでアイコンとテキストを横並び固定幅＋可変幅 */
	.page-id-1080 .topKV .kv__benefits li{
	  display: flex;
	  align-items: center;
	  gap: 12px;

	  min-height: 98px;
	  padding: 12px 14px;
	  border-radius: 14px;

	  background: rgba(255,255,255,.12);
	  border: 1px solid rgba(255,255,255,.28);
	  box-shadow: 0 6px 22px rgba(0,0,0,.16);
	  backdrop-filter: blur(6px);

	  color:#fff;
	  line-height: 1.55;
	}

	/* アイコンは正円＋中央。幅は固定してテキスト領域を圧迫しない */
	.page-id-1080 .topKV .kv__benefits .icon{
	  flex: 0 0 44px;
	  width: 44px; height: 44px;
	  display: grid; place-items: center;
	  border-radius: 50%;
	  background: rgba(255,255,255,.22);
	  font-size: 20px; line-height: 1;
	}

	/* テキスト領域は可変幅で自然に折り返し */
	.page-id-1080 .topKV .kv__benefits .txt{ flex: 1 1 auto; }

	/* 見出し＆補足のメリハリ */
	.page-id-1080 .topKV .kv__benefits b{
	  display: block;
	  font-size: 16px;
	  font-weight: 800;
	  letter-spacing: .01em;
	}
	.page-id-1080 .topKV .kv__benefits small{
	  display: block;
	  font-size: 12.5px;
	  opacity: .95;
	  margin-top: 2px;
	}

	/* タイトルの可読性（背景に負けないよう軽いシャドウ） */
	.page-id-1080 .topKV .kv__title,
	.page-id-1080 .topKV .kv__sub{
	  text-shadow: 0 2px 8px rgba(0,0,0,.28);
	}

	.page-id-1080 .topKV .kv_sp__title,
	.page-id-1080 .topKV .kv__sub{
	  text-shadow: 0 2px 8px rgba(0,0,0,.28);
	}

	/* CTAの上下詰まりを少し緩和 */
	.page-id-1080 .topKV .ctaRow{ margin-top: clamp(6px, 2vw, 12px); }

	/* 1100px以下：2列に */
	@media (max-width:1100px){
	  .page-id-1080 .topKV .kv__benefits{
	    grid-template-columns: repeat(2, 1fr);
	  }
	}

	/* 640px以下：1列。アイコンや内側余白を少しタイトに */
	@media (max-width:640px){
	  .page-id-1080 .topKV .kv__benefits{
	    grid-template-columns: 1fr;
	    gap: 10px;
	  }
	  .page-id-1080 .topKV .kv__benefits li{
	    min-height: 90px;
	    padding: 10px 12px;
	    gap: 10px;
	  }
	  .page-id-1080 .topKV .kv__benefits .icon{
	    flex-basis: 38px; width: 38px; height: 38px; font-size: 18px;
	  }
	  .page-id-1080 .topKV .kv__benefits b{ font-size: 15px; }
	  .page-id-1080 .topKV .kv__benefits small{ font-size: 12px; }
	}

	/************ TOP（page-id-1080）KV オーバーレイ & はみ出し修正 ************/
	.page-id-1080 .topKV{
	  position: relative;
	  overflow: hidden;                 /* 画像より外にはみ出さない */
	}

	/* 背景画像は常に全面カバー */
	.page-id-1080 .topKV .kv__bg img{
	  width: 100%;
	  height: clamp(420px, 68vh, 760px);
	  object-fit: cover;
	  display: block;
	}

	/* 黒オーバーレイを KV 全体にピタッと固定（ずれ防止） */
	.page-id-1080 .topKV::after{
	  content:"";
	  position: absolute;
	  inset: 0;                         /* ←上下左右0で全面 */
	  background: rgba(0,0,0,.28);      /* お好みで濃さ調整（.24〜.40目安） */
	  pointer-events: none;
	  z-index: 0;
	}

	/* 文字やカードはオーバーレイより前面に */
	.page-id-1080 .topKV .kv__inner,
	.page-id-1080 .topKV .kv_sp__inner,
	.page-id-1080 .topKV .kv__title,
	.page-id-1080 .topKV .kv_sp__title,
	.page-id-1080 .topKV .kv__sub,
	.page-id-1080 .topKV .kv__benefits,
	.page-id-1080 .topKV .ctaRow{
	  position: relative;
	  z-index: 1;
	}

	/* カードの横はみ出し防止（PCでも余白基準を明示） */
	.page-id-1080 .topKV .kv__benefits{
	  max-width: min(1100px, 92vw);
	  margin: clamp(12px, 2vw, 16px) auto 0;
	  padding: 0 2px;                   /* サイドに微小バッファ */
	  box-sizing: border-box;
	}

	/* --------- スマホ最適化（はみ出し/詰まり/文字サイズ） --------- */
	@media (max-width: 640px){
	  .page-id-1080 .topKV .kv__inner{
	    padding: 14px 14px 22px;        /* 画面端に食い込まない */
	  }
	  .page-id-1080 .topKV .kv_sp__inner{
	    padding: 14px 14px 22px;        /* 画面端に食い込まない */
	  }
	  .page-id-1080 .topKV .kv__title{
	    font-size: clamp(20px, 6.2vw, 28px);
	    line-height: 1.35;
	    text-wrap: balance;
	    margin-bottom: 8px;
	    text-shadow: 0 2px 8px rgba(0,0,0,.28);
	  }
	  .page-id-1080 .topKV .kv_sp__title{
	    font-size: clamp(20px, 6.2vw, 28px);
	    line-height: 1.35;
	    text-wrap: balance;
	    margin-bottom: 8px;
	    text-shadow: 0 2px 8px rgba(0,0,0,.28);
	  }
	  .page-id-1080 .topKV .kv__sub{
	    font-size: clamp(12px, 3.6vw, 14px);
	    line-height: 1.6;
	    margin-bottom: 10px;
	    text-shadow: 0 2px 8px rgba(0,0,0,.28);
	  }

	  /* メリットカード：1列・余白タイト・100%幅 */
	  .page-id-1080 .topKV .kv__benefits{
	    grid-template-columns: 1fr !important;
	    gap: 10px;
	    max-width: 100%;
	    width: 100%;
	    padding: 0;                     /* 余白をカード側でとる */
	  }
	  .page-id-1080 .topKV .kv__benefits li{
	    margin: 0 10px;                 /* 画面端から 10px バッファ */
	    min-height: 84px;
	    padding: 10px 12px;
	    border-radius: 12px;
	  }
	  .page-id-1080 .topKV .kv__benefits .icon{
	    flex-basis: 36px; width: 36px; height: 36px;
	    font-size: 18px;
	  }
	  .page-id-1080 .topKV .kv__benefits b{ font-size: 15px; }
	  .page-id-1080 .topKV .kv__benefits small{ font-size: 12px; }

	  /* CTAは縦並び・はみ出し防止 */
	  .page-id-1080 .topKV .ctaRow{
	    margin-top: 12px;
	    padding: 0 10px;
	    display: grid;
	    grid-template-columns: 1fr;
	    gap: 10px;
	  }
	  .page-id-1080 .topKV .ctaRow .btn{
	    width: 100%;
	    justify-content: center;
	  }
	}

	/* iOS等での“拡大表示時の謎のはみ出し”を最終ガード */
	.page-id-1080 .topKV,
	.page-id-1080 .topKV .kv__inner,
	.page-id-1080 .topKV .kv_sp__inner,
	.page-id-1080 .topKV .kv__benefits,
	.page-id-1080 .topKV .ctaRow{
	  max-width: 100%;
	  overflow-x: hidden;
	}

	.about-page {
	  background: #fff;
	  padding: 60px 0;
	  font-family: 'Noto Sans JP', sans-serif;
	}

	.wrap {
	  width: 90%;
	  max-width: 880px;
	  margin: 0 auto;
	}

	.about-section {
	  margin-bottom: 60px;
	}

	.sec__title {
	  font-size: 1.8rem;
	  border-left: 4px solid #e60033;
	  padding-left: 10px;
	  margin-bottom: 20px;
	}

	.lead {
	  font-size: 1.2rem;
	  font-weight: 500;
	  margin-bottom: 20px;
	}

	.value-list li {
	  margin-bottom: 8px;
	  font-size: 1rem;
	}

	.message-container {
	  display: flex;
	  align-items: flex-start;
	  gap: 40px;
	}

	.message-photo img {
	  border-radius: 8px;
	  width: 180px;
	}

	.company-table {
	  width: 100%;
	  border-collapse: collapse;
	}

	.company-table th {
	  width: 30%;
	  background: #f9f9f9;
	  text-align: left;
	  padding: 10px;
	}

	.company-table td {
	  padding: 10px;
	}

	.brand-story {
	  text-align: center;
	}

	.brand-story img {
	  width: 180px;
	  margin-bottom: 20px;
	}

	/* ===== About プロ化スキン（テキスト変更なし用） ===== */
	.aboutPro { background:#fff; padding:56px 0 80px; font-family:"Noto Sans JP", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif; }
	.aboutPro .wrap { width:min(100%, 980px); margin:0 auto; padding:0 20px; }

	.aboutPro .aboutSec { background:#fff; border:1px solid #eef2f7; border-radius:14px; padding:24px; margin:0 0 28px; box-shadow:0 6px 22px rgba(17,24,39,.04); }
	.aboutPro .aboutSec:last-child { margin-bottom:0; }

	.aboutPro .secTitle { 
	  font-weight:800; 
	  font-size: clamp(18px, 2.4vw, 22px);
	  margin:0 0 18px; 
	  position:relative; 
	  padding-left:14px;
	  letter-spacing:.02em;
	}
	.aboutPro .secTitle::before{
	  content:""; position:absolute; inset:auto auto 0 calc(-14px); 
	  width:4px; height:1.15em; background:#e53935; border-radius:2px;
	}

	.aboutPro .secBody p { line-height:1.9; color:#374151; margin:.6em 0; }
	.aboutPro .secBody ul { padding-left:1.2em; margin:.6em 0; }
	.aboutPro .secBody li { margin:.35em 0; color:#374151; }

	/* 代表メッセージ */
	.aboutPro .message .messageGrid{
	  display:grid; grid-template-columns: 1.2fr .9fr; gap:22px; align-items:start;
	}
	@media (max-width: 840px){
	  .aboutPro .message .messageGrid{ grid-template-columns:1fr; }
	}
	.aboutPro .messageText{
	  background:linear-gradient(180deg,#fff, #fafbff);
	  border:1px solid #eef2f7; border-radius:12px; padding:18px 16px;
	}
	.aboutPro .messagePhoto{ text-align:center; }
	.aboutPro .messagePhoto img{ width:100%; max-width:360px; height:auto; border-radius:12px; box-shadow:0 12px 32px rgba(17,24,39,.12);}
	.aboutPro .messagePhoto figcaption{ margin-top:10px; color:#6b7280; font-size:.95rem; }

	/* 会社概要テーブル */
	.aboutPro .infoTable{ width:100%; border-collapse:separate; border-spacing:0; border:1px solid #eef2f7; border-radius:12px; overflow:hidden; }
	.aboutPro .infoTable th, 
	.aboutPro .infoTable td{ padding:14px 16px; border-bottom:1px solid #eef2f7; vertical-align:top; }
	.aboutPro .infoTable tr:last-child th,
	.aboutPro .infoTable tr:last-child td{ border-bottom:none; }
	.aboutPro .infoTable th{ width:30%; background:#f9fbff; color:#374151; font-weight:700; }
	.aboutPro .infoTable td{ color:#374151; }

	/* ロゴストーリー */
	.aboutPro .brand .brandBox{ text-align:center; padding:8px 10px 16px; }
	.aboutPro .brand .brandBox p{ margin-bottom:12px; }
	.aboutPro .brand img{ width:min(100%, 560px); height:auto; border-radius:12px; border:1px solid #eef2f7; box-shadow:0 10px 28px rgba(17,24,39,.08); }

	/* 細かなタイポ調整 */
	.aboutPro p, .aboutPro li { font-size: clamp(14px, 1.7vw, 16px); }

	/* セクションの見出し直前に適度な余白 */
	.aboutPro .aboutSec + .aboutSec { margin-top: 26px; }

	/* 余白の均し */
	@media (max-width: 480px){
	  .aboutPro { padding:40px 0 60px; }
	  .aboutPro .aboutSec { padding:18px; border-radius:12px; }
	}

	/* ヘッダー全体の背景色変更 */
	.site-header,
	.header-inner,
	.container.header-inner,
	#header,
	div#gMenu_outer.gMenu_outer {
	  background-color: #73B8E2 !important;
	}

	/* ナビゲーション背景色も統一 */
	.site-nav,
	.main-menu,
	ul.main-menu li,
	ul.main-menu li a {
	  background-color: #73B8E2 !important;
	}

	/* CTAボタン（無料体験）は独立して色を保つ場合 */
	.site-nav .main-menu .cta a {
	  background: #E60012 !important; /* 元の赤色維持 */
	}

	/***** Fix: Jetpack Slideshow が消える（高さ0問題・figure干渉） *****/
	.wp-block-jetpack-slideshow,
	.wp-block-jetpack-slideshow .swiper,
	.wp-block-jetpack-slideshow .swiper-container,
	.wp-block-jetpack-slideshow .swiper-wrapper {
	  width: 100% !important;
	  height: auto !important;
	}

	/* スライドの器に “高さの基準” を作る（必要なら比率変更OK） */
	.wp-block-jetpack-slideshow .swiper {
	  aspect-ratio: 16 / 9;
	  max-height: 70vh;
	  overflow: hidden;
	}

	/* figure のグローバル指定の影響を遮断 */
	.wp-block-jetpack-slideshow .wp-block-jetpack-slideshow_slide figure {
	  display: flex !important;
	  align-items: center !important;
	  justify-content: center !important;
	  margin: 0 !important;
	  height: 100% !important;
	  width: 100% !important;
	}

	/* 画像の表示を安定化 */
	.wp-block-jetpack-slideshow img {
	  display: block !important;
	  width: 100% !important;
	  height: auto !important;
	}

	/* 旧名称のクラスにも保険をかける（環境差異対策） */
	.wp-block-jetpack-slideshow .swiper-slide,
	.wp-block-jetpack-slideshow .wp-block-jetpack-slideshow_slide {
	  width: 100% !important;
	  height: auto !important;
	  overflow: hidden;
	}

	.hero {
	  position: relative;
	  background: url('https://steeringlab.jp/wp-content/uploads/2025/09/24884061_m.jpg') center/cover no-repeat;
	  min-height: 85vh;
	  display: flex;
	  align-items: center;
	  justify-content: center;
	  text-align: center;
	  color: #fff;
	}

	.hero::before {
	  content: "";
	  position: absolute;
	  inset: 0;
	  background: rgba(0, 0, 0, 0.35); /* 明るさを保ちつつ可読性を確保 */
	}

	.hero__inner {
	  position: relative;
	  z-index: 2;
	  max-width: 800px;
	  padding: 0 20px;
	}

	.hero__catch {
	  font-size: clamp(24px, 4vw, 45px);
	  font-weight: 800;
	  margin-bottom: 16px;
	}

	.hero__usp {
	  font-size: clamp(16px, 2vw, 22px);
	  font-weight: 500;
	  margin-bottom: 32px;
	}

	.hero__cta {
	  display: flex;
	  flex-wrap: wrap;
	  justify-content: center;
	  gap: 16px;
	}

	.hero__cta .btn {
	  padding: 14px 28px;
	  font-size: 18px;
	  border-radius: 999px;
	  font-weight: 700;
	  text-decoration: none;
	  transition: 0.3s;
	}

	.hero__cta .btn--primary {
	  background: #e53935;
	  color: #fff;
	}

	.hero__cta .btn--primary:hover {
	  background: #c62828;
	}

	.hero__cta .btn--ghost {
	  background: #fff;
	  color: #e53935;
	  border: 2px solid #e53935;
	}

	/*ヒーローパートに特出しニュース*/

	.hero__circle {
	  position: absolute;
	  right: 20px;
	  bottom: 50px;
	  width: 260px;
  	  height: 260px;
  	  border-radius: 50% !important;
 	  background: url('https://steeringlab.jp/wp-content/uploads/2026/04/宇宙7.png') center/cover no-repeat;
  	  z-index: 3;
	}

	.hero__circle__inner {
 	 width: 100%;
	  height: 100%;
	  padding: 24px;
	  box-sizing: border-box;
	  display: flex;
	  flex-direction: column;
 	 align-items: center;
	  justify-content: center;
	  text-align: center;
	}

	.hero__circle__date {
	  font-size: 12px;
	  font-weight: 700;
	  color: #e6f6ff;
	  margin-bottom: 6px;
	}

	.hero__circle__title {
	  font-size: 12px;
	  font-weight: 800;
	  line-height: 1.3;
	  margin-bottom: 8px;
	}

	@media (min-width: 1025px) {
	  .hero__circle {
 	   width: 320px;
  	   height: 320px;
	   aspect-ratio: 1 / 1;
  	   border-radius: 50%;
	   right: -160px;
	   bottom: -216px;
  	}
	}

	@media (max-width: 768px) {
	  .hero__circle {
	    position: relative;
	    margin: 24px auto 0;
	    width: 270px;
	    height: 270px;
            aspect-ratio: 1 / 1;
  	    border-radius: 50%;
	    right: auto;
	    bottom: auto;
	  }
	}

  	.hero__circle__title {
   	 font-size: 20px;
  	}
	}

	.kv__caption {
	  background-color: #fff;      /* 背景を白に */
	  color: #111111;     /* 背景を白に */	
	  display: inline-block;       /* テキストサイズに合わせる */
	  padding: 0.4em 0.8em;        /* 上下・左右の余白 */
	  line-height: 1.5;            /* 読みやすさ確保 */
	}

	.kv__caption {
	  background-color: #fff;      /* 背景を白に */
	  color: #111111;     /* 背景を白に */	
	  display: inline-block;       /* テキストサイズに合わせる */
	  padding: 0.4em 0.8em;        /* 上下・左右の余白 */
	  line-height: 1.5;            /* 読みやすさ確保 */
	}

	.kv_sp__caption {
	  text-align: center;     /* テキストセンター */
	  color: #fff;     /* 文字色白 */
	}

	/* SPで本文幅を広げる（対象区間だけ） */
	@media (max-width: 767px) {
	  .section--wide .wrap,
	  .section--wide .inner,
	  .section--wide .container {
	    max-width: none;
	    width: 100%;
	    padding-left: 16px;
	    padding-right: 16px;
	  }
	}
	/* テキスト背面に半透明パネル or 背景ぼかし */
	.kv__copy{
	  display:inline-block;
	  padding: .6em .8em;
	  background: color-mix(in srgb, #000 55%, transparent); /* 互換なければ rgba(0,0,0,.55) */
	  border-radius: .5rem;
	  -webkit-backdrop-filter: blur(4px);
	  backdrop-filter: blur(4px);
	  line-height: 1.25;
	}

	@media (max-width:767px){
	  .kv__headline{ font-size: clamp(18px, 5.5vw, 24px); }
	  .kv__lead{ font-size: clamp(13px, 4vw, 16px); }
	  .kv__cta .btn{ min-height:44px; padding:.75em 1em; }
	}

	/* ===== Steering Lab 共通ヘッダー（page-headerに差し込む版） ===== */
	.sl-glbHeader{
	  position: sticky; top: 0; z-index: 9999;
	  background: #73B8E2; color: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.06);
	}
	.sl-glbHeader__in{
	  max-width: 1140px; margin: 0 auto; padding: 10px 16px;
	  display: grid; grid-template-columns: auto 1fr auto auto; gap: 14px; align-items: center;
	}
	.sl-logo img{ height: 38px; width: auto; display:block; }

	/* PCナビ */
	.sl-nav{ display:none; }
	@media (min-width:1025px){ .sl-nav{ display:block; } }
	.sl-nav__list{ display:flex; gap:20px; list-style:none; margin:0; padding:0; }
	.sl-nav__list > li{ position:relative; }
	.sl-nav__list > li > a{
	  display:inline-block; padding:10px 6px; color:#fff; text-decoration:none; font-weight:800;
	}
	/* ホバーで子メニュー */
	.sl-nav__list > li .sub{ position:absolute; left:0; top:calc(100% + 6px);
	  min-width:220px; background:#fff; color:#111; border-radius:10px; padding:8px 6px;
	  list-style:none; margin:0; display:none; box-shadow:0 10px 24px rgba(0,0,0,.12);
	}
	.sl-nav__list > li:hover .sub{ display:block; }
	.sl-nav__list > li .sub a{ display:block; padding:10px 12px; border-radius:8px; color:#111; text-decoration:none; font-weight:700; }
	.sl-nav__list > li .sub a:hover{ background: rgba(115,184,226,.12); }

	/* 右端CTA（無料体験） */
	.sl-cta{ display:inline-flex; align-items:center; justify-content:center;
	  padding:12px 18px; border-radius:999px; font-weight:800; line-height:1; text-decoration:none;
	  background:#E60012; color:#fff; box-shadow:0 6px 16px rgba(230,0,18,.32);
	}
	.sl-cta--block{ width:100%; margin-top:12px; }

	/* ハンバーガー（SPのみ） */
	.sl-burger{ width:42px; height:42px; border:0; background:transparent; display:grid; place-items:center; cursor:pointer; }
	.sl-burger__bar{ display:block; width:22px; height:2px; background:#fff; }
	.sl-burger__bar + .sl-burger__bar{ margin-top:5px; }
	@media (min-width:1025px){ .sl-burger{ display:none; } }

	/* ドロワー（SP） */
	.sl-drawer{ position:fixed; inset:0 auto 0 0; width:min(82vw,360px); background:#fff; color:#111;
	  transform:translateX(-100%); transition:transform .25s ease; z-index:10000; box-shadow:6px 0 24px rgba(0,0,0,.18);
	}
	.sl-drawer.is-open{ transform:translateX(0); }
	.sl-drawer__in{ padding:18px 16px; }
	.sl-drawer__list{ list-style:none; margin:0; padding:0; }
	.sl-drawer__list > li > a{ display:block; padding:12px 10px; text-decoration:none; color:#111; font-weight:800; border-radius:8px; }
	.sl-drawer__list .sub{ list-style:none; margin:0; padding:6px 0 8px 12px; }
	.sl-drawer__list .sub a{ display:block; padding:10px 8px; border-radius:8px; text-decoration:none; color:#111; }

	/* オーバーレイ */
	.sl-overlay{ position:fixed; inset:0; background:rgba(0,0,0,.35); z-index:9999; opacity:0; visibility:hidden; transition:.2s; }
	.sl-overlay.is-open{ opacity:1; visibility:visible; }

	/* 親テーマのタブ風装飾を無効化（干渉回避） */
	.sl-glbHeader .sl-nav__list > li > a,
	.sl-glbHeader .sl-nav__list .sub a{ background:transparent !important; border:0 !important; box-shadow:none !important; }

	/* 既存ヘッダー帯を隠したい場合（必要に応じてON） */
	.site-header, #gMenu_outer, .global-nav { display:none !important; }

	/* --- 親テーマの旧ヘッダー・ナビゲーションを完全に非表示 --- */
	.siteHeader,
	.navbar-header,
	.siteHeaderContainer,
	#gMenu_outer,
	.global-nav,
	header.site-header,
	div.navbar-header,
	div.siteHeader,
	div#siteHeader,
	div#menu_outer {
	  display: none !important;
	  visibility: hidden !important;
	  height: 0 !important;
	  margin: 0 !important;
	  padding: 0 !important;
	  overflow: hidden !important;
	}

	/* --- body 上部の余白を削除 --- */
	.sl-elementary-page,
	.sl-junior-page {
	  margin-top: 0 !important;
	  padding-top: 0 !important;
	}

	/* --- 新しい共通ヘッダーを最前面に出す（念のため） --- */
	.sl-glbHeader {
	  position: sticky;
	  top: 0;
	  z-index: 9999;
	}
	/* 1) 旧ヘッダーだけをピンポイントで隠す（最小限定） */
	header.siteHeader,
	#gMenu_outer { 
	  display: none !important;
	}

	/* 2) 新ヘッダーは必ず表示＆最前面に */
	.sl-glbHeader{
	  display: block !important;
	  position: sticky;
	  top: 0;
	  z-index: 100000; /* 大きめに */
	  background: #73B8E2;
	}

	/* 3) ドロワーの中身が“空白”に見える対策（親テーマの色/装飾を打ち消す） */
	.sl-drawer,
	.sl-drawer a { 
	  color: #111 !important;
	  background: transparent !important;
	  text-decoration: none !important;
	  box-shadow: none !important;
	  border: 0 !important;
	}
	.sl-drawer__list { list-style: none; margin: 0; padding: 0; }
	.sl-drawer__list > li > a { display: block; padding: 12px 10px; font-weight: 800; }

	/* 4) PCナビにも親テーマの“タブ風”装飾が乗らないように */
	.sl-glbHeader .sl-nav__list > li > a,
	.sl-glbHeader .sl-nav__list .sub a{
	  background: transparent !important;
	  border: 0 !important;
	  box-shadow: none !important;
	  color: #fff !important;        /* PCナビは白文字で固定 */
	}

	/* 5) 管理バーがある時の押し下げを吸収 */
	.admin-bar .sl-glbHeader{ top: 32px; }
	@media (max-width:782px){ .admin-bar .sl-glbHeader{ top: 46px; } }
	/*****************************
	 * 0) ベース（背景色を白に／文字色調整）
	 *****************************/
	.sl-glbHeader{ background:#fff !important; color:#1a1a1a; }
	.sl-glbHeader .sl-nav__list > li > a{ color:#1a1a1a !important; }
	.sl-glbHeader .sl-logo img{ filter:none; } /* 色付きロゴ想定。必要なら削除 */

	/*****************************
	 * 1) コースのサブメニュー：見えない/消える問題を修正
	 *   - gapを無くす
	 *   - 文字色を濃色に
	 *   - ドロップダウンを最前面に
	 *****************************/
	.sl-nav__list > li{ position:relative; }
	.sl-nav__list > li .sub{
	  position:absolute; left:0; top:100%; /* ← gap無しに */
	  min-width:220px; z-index:100000;    /* ヒーロー画像より上に */
	  background:#fff; color:#111; border-radius:10px; padding:8px 6px;
	  list-style:none; margin:8px 0 0; box-shadow:0 10px 24px rgba(0,0,0,.12);
	  display:none;
	}
	.sl-nav__list > li:hover .sub,
	.sl-nav__list > li:focus-within .sub{ display:block; }
	.sl-nav__list > li .sub a{
	  display:block; padding:10px 12px; border-radius:8px; color:#111 !important; 
	  text-decoration:none; font-weight:700;
	}
	.sl-nav__list > li .sub a:hover{ background:rgba(17,17,17,.06); }

	/*****************************
	 * 2) 「無料体験」が2つ → ナビ内のテキストは非表示（右端CTAのみ残す）
	 *****************************/
	@media (min-width:1025px){
	  /* ナビの4番目=無料体験を消す（順序：コース/運営主体/採用情報/無料体験） */
	  .sl-nav__list > li:nth-child(4){ display:none !important; }
	}

	/*****************************
	 * 3) ヘッダー上の不要な隙間を詰める
	 *****************************/
	.sl-elementary-page,
	.sl-junior-page{
	 margin-top:0 !important; padding-top:0 !important; }
	header.siteHeader{ display:none !important; } /* 旧ヘッダー帯を確実に消す */
	.sl-glbHeader{ margin-top:0 !important; }
	.siteHeaderContainer{ padding-top:0 !important; } /* Lightning側の余白対策 */

	/*****************************
	 * 4) SPの重複ハンバーガー削除（vk-mobile-nav-menu-btn）
	 *****************************/
	.vk-mobile-nav-menu-btn,
	#vk-mobile-nav, .vk-mobile-nav{ display:none !important; }

	/*****************************
	 * 5) SPでは赤い「無料体験」ボタンを非表示（ヘッダー右端のCTA）
	 *****************************/
	@media (max-width:1024px){
	  .sl-cta{ display:none !important; }
	}

	/*****************************
	 * 6) SPドロワーの“空白に見える”問題の後処理（色/装飾を打ち消す）
	 *****************************/
	.sl-drawer, .sl-drawer a{
	  color:#111 !important; background:transparent !important;
	  border:0 !important; box-shadow:none !important; text-decoration:none !important;
	}
	.sl-drawer__list{ list-style:none; margin:0; padding:0; }
	.sl-drawer__list > li > a{ display:block; padding:12px 10px; font-weight:800; }

	/************** 1) PC「コース」ドロップダウン修正 **************/
	.sl-glbHeader{ position: sticky; top:0; z-index: 100000; overflow: visible; }
	.sl-glbHeader__in{ position: relative; z-index: 100001; }

	/* 親LIの下に“橋”を作ってホバー切れを防ぐ */
	.sl-nav__list > li{ position: relative; }
	.sl-nav__list > li::after{
	  content:""; position:absolute; left:0; right:0; top:100%; height:10px; /* ←隙間を埋める */
	}

	/* パネル自体 */
	.sl-nav__list > li .sub{
	  position:absolute; left:0; top:100%; margin-top:8px;   /* ←隙間ゼロ＋少し下げる */
	  min-width:240px; background:#fff; color:#111 !important;
	  border-radius:10px; padding:8px 6px; list-style:none; display:none;
	  box-shadow:0 10px 24px rgba(0,0,0,.12);
	  z-index: 100002; /* ヒーローより上 */
	}
	.sl-nav__list > li:hover .sub,
	.sl-nav__list > li:focus-within .sub{ display:block; }
	.sl-nav__list > li .sub a{
	  display:block; padding:10px 12px; border-radius:8px;
	  color:#111 !important; text-decoration:none; font-weight:700;
	}
	.sl-nav__list > li .sub a:hover{ background:rgba(17,17,17,.06); }

	/************** 2) PC ナビをCTAの右側へ寄せる **************/
	/* ヘッダー内レイアウトをflexで単純化：ロゴ →（右側）ナビ＋CTA */
	.sl-glbHeader__in{
	  display:flex; align-items:center; gap:16px;
	}
	.sl-nav{ margin-left:auto; }          /* ロゴの次から右側へ寄せる */
	.sl-header__right{ display:flex; gap:16px; align-items:center; } /* 使わない場合でもOK */
	.sl-glbHeader .sl-cta{ margin-left:12px; } /* CTAとナビの間隔 */

	/* ナビの文字色（背景を白に変えたので黒に固定） */
	.sl-glbHeader{ background:#fff !important; color:#1a1a1a; }
	.sl-glbHeader .sl-nav__list > li > a{ color:#1a1a1a !important; }

	/************** 3) SP ドロワー背景＆ハンバーガー修正 **************/
	.sl-drawer{
	  background:#fff !important; color:#111 !important;
	  box-shadow:6px 0 24px rgba(0,0,0,.18); border-radius:0 8px 8px 0;
	}
	.sl-drawer__in{ padding:18px 16px; }
	.sl-drawer__list > li > a{ color:#111 !important; }

	/* ハンバーガーのバーを濃色に（白背景でも見えるように） */
	.sl-burger__bar{ background:#1a1a1a !important; }

	/* 念のためオーバーレイも不透明に */
	.sl-overlay{ background:rgba(0,0,0,.35) !important; }

	/* SPでは右端の赤CTAは非表示のまま */
	@media (max-width:1024px){
	  .sl-cta{ display:none !important; }
	}
	/******** PC：メニューとCTAの“高さズレ”を揃える ********/
	.sl-glbHeader{ background:#fff; }
	.sl-glbHeader__in{
	  display:flex; align-items:center; gap:16px;
	  min-height:64px; padding:8px 16px;
	}
	.sl-nav{ margin-left:auto; }
	.sl-nav__list{ display:flex; gap:20px; list-style:none; margin:0; padding:0; }
	.sl-nav__list > li > a{
	  display:flex; align-items:center;            /* 垂直中央 */
	  height:40px;                                 /* CTAと同じ高さに統一 */
	  padding:0 10px;                              /* 横だけ余白 */
	  font-weight:800; line-height:1; color:#1a1a1a !important;
	}
	.sl-cta{
	  display:flex; align-items:center; height:40px; /* ナビと同じ高さ */
	  padding:0 16px; border-radius:999px; margin-left:12px;
	}

	/******** PC：「コース」→白パネルの文字が白い問題（強制上書き） ********/
	.sl-glbHeader .sl-nav__list > li .sub{ color:#111 !important; }
	.sl-glbHeader .sl-nav__list > li .sub a{ color:#111 !important; }

	/******** SP：ハンバーガーを右端へ（中央寄り対策） ********/
	@media (max-width:1024px){
	  .sl-nav{ display:none; }
	  .sl-cta{ display:none !important; }          /* 要件：SPは赤CTA非表示 */
	  .sl-burger{ margin-left:auto; }              /* 右端へ押し出す */
	  .sl-burger__bar{ background:#1a1a1a !important; } /* 黒で視認性UP */
	}

	/******** SP：ドロワー背景と文字装飾を統一 ********/
	.sl-drawer{
	  background:#ffffff !important;
	  box-shadow:6px 0 24px rgba(0,0,0,.18);
	}
	.sl-drawer__in{ padding:20px 16px; }
	.sl-drawer__list{ list-style:none; margin:0; padding:0; }
	.sl-drawer__list > li > a{
	  display:block; padding:14px 12px;
	  font-size:16px; font-weight:800; line-height:1.2;
	  color:#111 !important; text-decoration:none !important;
	}
	.sl-drawer__list > li + li > a{ border-top:1px solid #eee; } /* 区切り線 */

	/******** PC：ドロップダウンのホバー切れ/重なり保険（前回の続き） ********/
	.sl-nav__list > li{ position:relative; }
	.sl-nav__list > li::after{ content:""; position:absolute; left:0; right:0; top:100%; height:10px; }
	.sl-nav__list > li .sub{
	  position:absolute; left:0; top:100%; margin-top:8px; min-width:240px;
	  background:#fff; border-radius:10px; padding:8px 6px;
	  box-shadow:0 10px 24px rgba(0,0,0,.12); z-index:100002; display:none;
	}
	.sl-nav__list > li:hover .sub,
	.sl-nav__list > li:focus-within .sub{ display:block; }
	.sl-nav__list > li .sub a:hover{ background:rgba(17,17,17,.06); }
	``
	/******** PC：ロゴ・ナビ・CTAを同じ高さで一直線 ********/
	.sl-glbHeader__in{
	  display:flex; align-items:center; gap:16px;
	  min-height:64px; padding:8px 16px;
	}
	.sl-logo{ display:flex; align-items:center; }
	.sl-logo img{ height:40px; width:auto; display:block; } /* 目安値 */
	.sl-nav{ margin-left:auto; }                                /* 右側へ寄せる */
	.sl-nav__list{ display:flex; gap:24px; margin:0; padding:0; list-style:none; }
	.sl-nav__list > li > a{
	  display:flex; align-items:center; height:40px; padding:0 10px;
	  font-weight:800; line-height:1; color:#1a1a1a !important;
	}
	.sl-cta{
	  display:flex; align-items:center; height:40px; padding:0 16px;
	  border-radius:999px; margin-left:12px;
	}

	/******** PC：ヘッダー上の空白を削除（旧ヘッダー帯・上余白を除去） ********/
	header.siteHeader, #gMenu_outer, .navbar-header{ display:none !important; }
	body, .siteHeaderContainer, .siteContent{ margin-top:0 !important; padding-top:0 !important; }

	/******** PC：「コース」パネルの体裁（中央寄せ・少し下に） ********/
	.sl-nav__list > li{ position:relative; }
	.sl-nav__list > li::after{ content:""; position:absolute; left:0; right:0; top:100%; height:10px; } /* ホバー切れ防止 */
	.sl-nav__list > li .sub{
	  position:absolute; left:0; top:100%; margin-top:10px; min-width:260px;
	  background:#fff; border-radius:12px; padding:10px 8px;
	  box-shadow:0 10px 24px rgba(0,0,0,.12); z-index:100002; display:none;
	}
	.sl-nav__list > li:hover .sub,
	.sl-nav__list > li:focus-within .sub{ display:block; }
	.sl-nav__list > li .sub a{
	  display:flex; align-items:center; justify-content:center;   /* 中央配置 */
	  min-height:44px; padding:8px 14px; border-radius:10px;
	  color:#111 !important; font-weight:800; text-decoration:none;
	}
	.sl-nav__list > li .sub a:hover{ background:rgba(0,0,0,.06); }

	/******** SP：ドロワーが開いたらロゴを隠す / ドロワー最前面 ********/
	.sl-drawer{ z-index:100010 !important; background:#fff !important;
	  box-shadow:6px 0 24px rgba(0,0,0,.18); }
	.sl-overlay{ z-index:100009 !important; background:rgba(0,0,0,.35) !important; }
	.sl-glbHeader.is-menu-open .sl-logo{ opacity:0; pointer-events:none; }  /* ←JSで .is-menu-open を付与 */

	/******** SP：ハンバーガー右端・見やすい色 / ドロワー内の体裁統一 ********/
	@media (max-width:1024px){
	  .sl-burger{ margin-left:auto; }
	  .sl-burger__bar{ background:#1a1a1a !important; }
	  .sl-cta{ display:none !important; } /* 要件：SPは赤CTA非表示 */
	  .sl-drawer__in{ padding:20px 16px; }
	  .sl-drawer__list{ list-style:none; margin:0; padding:0; }
	  .sl-drawer__list > li > a{
	    display:block; padding:16px 12px; font-size:16px; font-weight:800; line-height:1.2;
	    color:#111 !important; text-decoration:none !important;
	  }
	  .sl-drawer__list > li + li > a{ border-top:1px solid #eee; }
	}
	/***** 1) ヘッダー上の隙間を削除（旧ヘッダー帯/余白を完全無効化） *****/
	html, body{ margin:0 !important; padding:0 !important; }
	header.siteHeader, #gMenu_outer, .navbar-header, .siteHeaderContainer{
	  display:none !important; height:0 !important; margin:0 !important; padding:0 !important; overflow:hidden !important;
	}
	.sl-glbHeader{ margin-top:0 !important; position:sticky; top:0; z-index:100000; }

	/***** 2) PC：コース／運営主体／採用情報 と 無料体験 を“同じ高さ・一直線”に *****/
	.sl-glbHeader__in{ display:flex; align-items:center; gap:20px; height:72px; padding:0 16px; }
	.sl-logo{ display:flex; align-items:center; }
	.sl-logo img{ height:44px; width:auto; display:block; }

	/* ナビは右側へ寄せ、アイテムを中央揃え＆同一高さ */
	.sl-nav{ margin-left:auto; }
	.sl-nav__list{ display:flex; align-items:center; gap:28px; list-style:none; margin:0; padding:0; }
	.sl-nav__list > li > a{
	  display:flex; align-items:center; height:44px; padding:0 8px;
	  font-weight:800; line-height:1; color:#1a1a1a !important; text-decoration:none;
	}
	/* CTAも同じ高さに */
	.sl-cta{
	  display:flex; align-items:center; height:44px; padding:0 16px;
	  border-radius:999px; margin-left:12px;
	}

	/* ドロップダウンの配置を少し下げ、中央配置＆可読性を担保 */
	.sl-nav__list > li{ position:relative; }
	.sl-nav__list > li::after{ content:""; position:absolute; left:0; right:0; top:100%; height:10px; } /* ホバー切れ防止 */
	.sl-nav__list > li .sub{
	  position:absolute; left:0; top:100%; margin-top:12px; min-width:260px;
	  background:#fff; border-radius:12px; padding:10px 8px;
	  box-shadow:0 10px 24px rgba(0,0,0,.12); z-index:100002; display:none;
	}
	.sl-nav__list > li:hover .sub, .sl-nav__list > li:focus-within .sub{ display:block; }
	.sl-nav__list > li .sub a{
	  display:flex; align-items:center; justify-content:center;
	  min-height:44px; padding:8px 14px; border-radius:10px;
	  color:#111 !important; font-weight:800; text-decoration:none;
	}
	.sl-nav__list > li .sub a:hover{ background:rgba(0,0,0,.06); }

	/***** 3) h1（ページタイトル）を “TOP・小学生・中高生” 以外で非表示 *****/
	/* 置換メモ：下の 123, 456 を「小学生」「中高生」ページの page-id に置き換えてください */
	body:not(.home):not(.page-id-00000):not(.page-id-00000) .section.page-header,
	body:not(.home):not(.page-id-00000):not(.page-id-00000) .page-header_pageTitle,
	body:not(.home):not(.page-id-00000):not(.page-id-00000) article > header > h1,
	body:not(.home):not(.page-id-00000):not(.page-id-00000) .entry-title{
	  display:none !important;
	}
	/* --- ヘッダー行の中央揃えを強制 --- */
	.sl-glbHeader__in{
	  display:flex !important;
	  align-items:center !important;
	  gap:16px;
	  height:72px !important; /* 行の基準高さ */
	  padding:0 16px !important;
	}

	/* ロゴ */
	.sl-logo{ display:flex !important; align-items:center !important; }
	.sl-logo img{ height:44px !important; width:auto; display:block; }

	/* ナビを右側へ寄せ */
	.sl-nav{ margin-left:auto !important; }

	/* ナビ項目：高さ/行高/余白を完全固定 */
	.sl-nav__list{
	  display:flex !important;
	  align-items:center !important;
	  gap:24px !important;
	  margin:0 !important; padding:0 !important; list-style:none;
	}
	.sl-nav__list > li{ display:flex !important; align-items:center !important; }
	.sl-nav__list > li > a{
	  display:flex !important;
	  align-items:center !important;
	  height:44px !important;
	  line-height:44px !important;
	  padding:0 10px !important;
	  margin:0 !important;
	  color:#1a1a1a !important;
	  text-decoration:none !important;
	  box-sizing:border-box !important;
	}

	/* CTAボタン：ナビと完全同じ高さに */
	.sl-cta{
	  display:flex !important;
	  align-items:center !important;
	  height:44px !important;
	  line-height:44px !important;
	  padding:0 16px !important;
	  margin-left:12px !important;
	  border-radius:999px !important;
	}
	/************** SPドロワーを“きれいに・統一” **************/
	/* コンテナを全高にして、コンテンツとCTAを上下でレイアウト */
	.sl-drawer{
	  width:min(88vw, 380px) !important;
	  background:#fff !important;
	  box-shadow:6px 0 24px rgba(0,0,0,.18) !important;
	  height:100% !important;           /* 画面いっぱい */
	}
	.sl-drawer__in{
	  display:flex !important;
	  flex-direction:column !important;
	  height:100% !important;
	  padding:20px 18px !important;
	  box-sizing:border-box !important;
	}

	/* リスト全体：等間隔＆最後のCTAを下へ押し下げる */
	.sl-drawer__list{
	  display:flex !important;
	  flex-direction:column !important;
	  gap:0 !important;
	  margin:0 !important;
	  padding:0 !important;
	  list-style:none !important;
	  flex:1 1 auto !important;
	}
	.sl-drawer__list > li{ margin:0 !important; }
	.sl-drawer__list > li + li{ border-top:1px solid #F1F1F1 !important; }

	/* 見出し「コース」 */
	.sl-drawer__list > li:first-child > a{
	  display:block !important;
	  padding:16px 6px 10px !important;
	  font-size:18px !important;
	  font-weight:800 !important;
	  line-height:1.25 !important;
	  color:#111 !important;
	  border:none !important;
	}

	/* サブリンク（小学生／中高生）を均一に、左インデント＋ガイド */
	.sl-drawer__list > li:first-child .sub{
	  margin:0 0 6px 0 !important;
	  padding:6px 0 10px 12px !important;
	  list-style:none !important;
	  border-left:3px solid #F2F2F2 !important;
	}
	.sl-drawer__list > li:first-child .sub li + li a{ border-top:1px dashed #eee !important; }
	.sl-drawer__list > li:first-child .sub a{
	  display:block !important;
	  padding:12px 8px !important;
	  font-size:16px !important;
	  font-weight:700 !important;
	  color:#111 !important;
	  text-decoration:none !important;
	}

	/* 上位メニュー（運営主体／採用情報）も統一 */
	.sl-drawer__list > li:nth-child(n+2):not(:last-child) > a{
	  display:block !important;
	  padding:16px 6px !important;
	  font-size:16px !important;
	  font-weight:800 !important;
	  line-height:1.25 !important;
	  color:#111 !important;
	  text-decoration:none !important;
	}

	/* CTA「無料体験」を“目立つ・固定感”で最下部に */
	.sl-drawer__list > li:last-child{ margin-top:auto !important; border-top:0 !important; }
	.sl-cta.sl-cta--block{
	  display:block !important;
	  width:100% !important;
	  text-align:center !important;
	  margin-top:16px !important;
	  padding:14px 18px !important;
	  font-size:17px !important;
	  font-weight:800 !important;
	  line-height:1 !important;
	  border-radius:999px !important;
	  background:#E60012 !important;
	  color:#fff !important;
	  box-shadow:0 10px 24px rgba(230,0,18,.25) !important;
	  text-decoration:none !important;
	}

	/* 文字色・装飾の上書き（親テーマの干渉を無効化） */
	.sl-drawer, .sl-drawer a{
	  background:transparent !important;
	  border:0 !important; box-shadow:none !important; text-decoration:none !important;
	  color:#111 !important;
	}

	/* ハンバーガーは黒で視認性アップ（白背景前提） */
	.sl-burger__bar{ background:#111 !important; }
	/************ SPドロワー：背景を白で固定＆前面に ************/
	.sl-drawer{
	  background:#ffffff !important;        /* 完全な白 */
	  backdrop-filter:none !important;      /* ぼかし無効 */
	  -webkit-backdrop-filter:none !important;
	  z-index:100010 !important;
	}
	.sl-overlay{ z-index:100009 !important; }

	/************ SPドロワー：全メニューを統一（左揃え・同サイズ・同余白） ************/
	@media (max-width:1024px){
	  /* 上の「コース」見出しはそのまま。配下の2リンクを下2リンクと同じスタイルに */
	  .sl-drawer__list > li:first-child .sub{
	    margin:0 !important;
	    padding:0 !important;
	    border:0 !important;                 /* 左のガイド線や段差を撤去 */
	  }
	  .sl-drawer__list > li:first-child .sub li + li a{
	    border-top:1px solid #F1F1F1 !important;  /* 区切り線だけ共通 */
	  }

	  /* すべてのリンクを共通化（小学生/中高生/運営主体/採用情報/無料体験ボタン以外） */
	  .sl-drawer__list > li > a,
	  .sl-drawer__list > li:first-child .sub a{
	    display:block !important;
	    padding:16px 6px !important;         /* 余白を統一 */
	    font-size:16px !important;
	    font-weight:800 !important;
	    line-height:1.25 !important;
	    color:#111 !important;
	    text-align:left !important;
	    text-decoration:none !important;
	    background:transparent !important;
	    box-shadow:none !important;
	    border-radius:0 !important;
	  }

	  /* 最下部のCTAは従来どおり目立たせる（フル幅赤ボタン） */
	  .sl-cta.sl-cta--block{
	    display:block !important;
	    width:100% !important;
	    margin:18px 0 0 !important;
	    padding:14px 18px !important;
	    font-size:17px !important;
	    font-weight:800 !important;
	    text-align:center !important;
	    color:#fff !important;
	    background:#E60012 !important;
	    border-radius:999px !important;
	    box-shadow:0 10px 24px rgba(230,0,18,.25) !important;
	  }
	}

	/* 宇宙ラボKV専用 */
	.kv_sp {
	  position: relative;
	  min-height: 58vh;
	  display: flex;
	  align-items: center;      /* 縦中央 */
	  justify-content: center;  /* 横中央 */
	  background-size: cover;
	  background-position: center;
	  overflow: hidden;
	}

	/* 宇宙ラボKV内だけ wrap を中立化 */
	.kv_sp .wrap {
	  max-width: none !important;
	  padding: 0 !important;
	  margin: 0 auto !important;
	  display: contents;
	}

