/*
Theme Name:   発達障害サポーターズスクール Child
Theme URI:    https://cysa.or.jp/saposuku/
Description:  発達障害サポーターズスクール 子テーマ（v3.0 最小構成版）
Author:       CoBe-Tech
Author URI:   https://cobetech.co.jp
Template:     saposuku
Version:      3.0.0
Text Domain:  saposuku-child
*/

/* ============================================================
   【v3.0 での変更点／2026-09-01】

   方針：トップページも下層ページも、親テーマのデザインをそのまま使う。
   子テーマは「必要なところだけを差し替える薄い上書き」に徹する。

   そのため、子テーマの新デザイン用に書かれていたCSS
   （見出し・リンク・ヘッダー・フッター・ボタン・余白などの指定）は
   すべて削除しました。残しているのは次の3つだけです。

   1. 色などの設定値（:root）……下のFAQ用CSSから呼び出して使う
   2. FAQアコーディオン用CSS……ショートコード [faq_item] に必要
   3. アクセシビリティ用CSS……特にスキップリンクは必須
      （消すと「メインコンテンツへスキップ」の文字が
      　全ページの左上に丸見えになります）

   ページごとの見た目の調整は、これまで通り
   「外観 → カスタマイズ → 追加CSS」で行ってください。
   ============================================================ */


/* === 色などの設定値 ===
   ここ自体は見た目を変えません。下の指定から呼び出して使う値です。
   サポスクの現行カラーに統一済み（旧 #2E86AB / #1A5276 は使用中止） */
:root {
  /* 基本の水色（サイトのメインカラー） */
  --color-primary: #29AFCE;
  --color-primary-dk: #1A8AA5;

  /* アクセントの黄色 */
  --color-accent: #E8A838;
  --color-accent-dk: #C0892A;

  /* CTA（申し込み系ボタン）の緑 */
  --color-cta: #27AE60;
  --color-cta-hover: #1E8449;

  /* 文字の色 */
  --color-text: #2C3E50;
  --color-text-sub: #5D6D7E;

  /* 背景・枠線の色 */
  --color-bg: #FAFAFA;
  --color-bg-section: #E8F7FB;
  --color-white: #FFFFFF;
  --color-border: #C8EAF3;

  /* 角の丸み */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;

  /* アニメーションの速さ */
  --transition: 0.25s ease;
}


/* ============================================================
   FAQアコーディオン（ショートコード [faq_item] 用）
   専用のクラス名でしか効かないため、既存ページには影響しません
   ============================================================ */
.faq-item {
  border: 1.5px solid var(--color-border);
  border-radius: var(--radius-md);
  margin-bottom: 12px;
  overflow: hidden;
}

.faq-question {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 24px;
  cursor: pointer;
  font-weight: 700;
  font-size: 0.95rem;
  background: var(--color-white);
  user-select: none;
  border: none;
  width: 100%;
  text-align: left;
}

.faq-question:hover {
  background: var(--color-bg-section);
}

.faq-question::before {
  content: "Q";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: var(--color-primary);
  color: var(--color-white);
  border-radius: 50%;
  font-size: 0.8rem;
  font-weight: 800;
  flex-shrink: 0;
}

.faq-question .faq-arrow {
  margin-left: auto;
  width: 20px;
  height: 20px;
  transition: transform var(--transition);
  flex-shrink: 0;
}

.faq-item.is-open .faq-arrow {
  transform: rotate(180deg);
}

.faq-answer {
  display: none;
  padding: 0 24px 20px 66px;
  font-size: 0.9rem;
  line-height: 1.8;
  color: var(--color-text-sub);
  background: var(--color-bg);
}

.faq-item.is-open .faq-answer {
  display: block;
}

/* スマートフォン向け調整（幅768px以下） */
@media (max-width: 768px) {
  .faq-question {
    padding: 16px 18px;
  }

  .faq-answer {
    padding: 0 18px 16px 18px;
  }
}


/* ============================================================
   アクセシビリティ（使いやすさへの配慮）
   見た目は変えず、操作を助けるものだけです
   ============================================================ */

/* 「メインコンテンツへスキップ」リンク
   ⚠️ 削除禁止。普段は画面の外に隠し、キーボード操作時だけ表示します。
   　 消すと全ページの左上にこの文字が丸見えになります。 */
.skip-link {
  position: absolute;
  top: -100%;
  left: 16px;
  z-index: 10000;
  padding: 12px 24px;
  background: var(--color-primary);
  color: #fff;
	
	
	

/* ============================================================
   ここから下：親テーマの「追加CSS」から移設したCSS
   （2026-09-01 移設）

   ※ 追加CSS はテーマごとに別保存になるため、子テーマに切り替えると
   　 空になってしまいます。切り替え時にデザインが崩れないよう、
   　 ここに移しています。
   ※ 今後の追加・修正は、子テーマの「外観 → カスタマイズ → 追加CSS」
   　 に書いてください。
   ============================================================ */
	/* ==================================================================
   ▼▼▼ ここから1行だけ、追加CSSの「いちばん先頭（1行目）」へ ▼▼▼
   ------------------------------------------------------------------
   UDゴシック（BIZ UDPゴシック）を読み込みます。
   display=swap ＝ 先に端末の書体で表示し、届いたら差し替える
   （文字が見えない時間をゼロにする設定）
   太さは 400（標準）と 700（太字）の2種類だけ＝通信量を最小限に
   ================================================================== */
@import url('https://fonts.googleapis.com/css2?family=BIZ+UDPGothic:wght@400;700&display=swap');
/* ▲▲▲ ここまでが「先頭に置く1行」 ▲▲▲ */


/* ===== 資格制度ページ専用CSS ===== */
.saposuku-license { font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue','Hiragino Kaku Gothic ProN',Meiryo,sans-serif !important; color:#3e3a39 !important; width:100% !important; overflow-x:hidden !important; }
.saposuku-license *,.saposuku-license *::before,.saposuku-license *::after { box-sizing:border-box !important; }
.saposuku-license p,.saposuku-license h1,.saposuku-license h2,.saposuku-license h3,.saposuku-license h4,.saposuku-license ul,.saposuku-license ol,.saposuku-license li { margin:0 !important; padding:0 !important; }
.saposuku-license ul,.saposuku-license ol { list-style:none !important; }
.saposuku-license a { text-decoration:none !important; }
.saposuku-license img { max-width:100% !important; height:auto !important; display:block !important; }

/* レイアウト */
.sl-wrap { max-width:960px !important; margin:0 auto !important; padding:0 24px !important; }
.sl-section { padding:56px 0 !important; }
.sl-section--gray { background:#f7f7f7 !important; }
.sl-section--blue { background:#29afce !important; }
.sl-section--dark { background:#3e3a39 !important; }

/* セクション見出し */
.sl-head { text-align:center !important; margin-bottom:36px !important; }
.sl-head__title { font-size:clamp(18px,3vw,24px) !important; font-weight:bold !important; color:#3e3a39 !important; line-height:1.4 !important; display:block !important; text-align:center !important; }
.sl-head__title--white { color:#fff !important; }
.sl-head__title::after { content:'' !important; display:block !important; width:40px !important; height:4px !important; background:#29afce !important; margin:10px auto 0 !important; border-radius:2px !important; }
.sl-head__title--white::after { background:#fbdb00 !important; }
.sl-head__sub { font-size:12px !important; font-weight:bold !important; letter-spacing:.1em !important; color:#29afce !important; display:block !important; text-align:center !important; margin-bottom:10px !important; }
.sl-head__sub--white { color:rgba(255,255,255,0.7) !important; }
.sl-head__lead { font-size:14px !important; color:#666 !important; text-align:center !important; margin-top:14px !important; display:block !important; }
.sl-head__lead--white { color:rgba(255,255,255,0.85) !important; }

/* ヒーロー */
.sl-hero { background:#e8f7fb !important; border-bottom:4px solid #29afce !important; padding:56px 24px 48px !important; text-align:center !important; }
.sl-hero__label { display:inline-block !important; background:#29afce !important; color:#fff !important; font-size:12px !important; font-weight:bold !important; padding:4px 20px !important; border-radius:20px !important; margin-bottom:18px !important; letter-spacing:.06em !important; }
.sl-hero__title { font-size:clamp(20px,4vw,32px) !important; font-weight:bold !important; color:#3e3a39 !important; line-height:1.45 !important; margin-bottom:14px !important; text-align:center !important; display:block !important; }
.sl-hero__title em { color:#29afce !important; font-style:normal !important; }
.sl-hero__desc { font-size:15px !important; color:#555 !important; max-width:600px !important; margin:0 auto 28px !important; line-height:1.85 !important; text-align:center !important; display:block !important; }
.sl-hero__btn { display:inline-block !important; background:#fbdb00 !important; color:#3e3a39 !important; font-weight:bold !important; font-size:15px !important; padding:14px 44px !important; border-radius:32px !important; text-decoration:none !important; }

/* 本文lede */
.sl-lede { font-size:15px !important; color:#444 !important; line-height:1.9 !important; text-align:left !important; display:block !important; margin-bottom:24px !important; }

/* 4つの特徴 */
.sl-features { display:grid !important; grid-template-columns:1fr !important; gap:16px !important; }
@media(min-width:640px){ .sl-features { grid-template-columns:repeat(3,1fr) !important; } }
.sl-feature { background:#fff !important; border:2px solid #29afce !important; border-radius:10px !important; padding:24px 16px !important; text-align:center !important; }
.sl-feature__num { font-size:28px !important; font-weight:bold !important; color:#29afce !important; display:block !important; line-height:1 !important; margin-bottom:10px !important; text-align:center !important; }
.sl-feature__title { font-size:13px !important; font-weight:bold !important; color:#3e3a39 !important; line-height:1.55 !important; display:block !important; margin-bottom:8px !important; text-align:center !important; }
.sl-feature__desc { font-size:12px !important; color:#666 !important; line-height:1.6 !important; display:block !important; text-align:center !important; }

/* 画像プレースホルダー */
.sl-img-placeholder { background:#e8f7fb !important; border:2px dashed #29afce !important; border-radius:10px !important; height:260px !important; display:flex !important; align-items:center !important; justify-content:center !important; color:#29afce !important; font-size:14px !important; font-weight:bold !important; margin-top:8px !important; text-align:center !important; }

/* ステップ */
.sl-steps { margin:0 !important; display:flex !important; flex-direction:column !important; align-items:center !important; }
.sl-step { display:flex !important; flex-direction:column !important; align-items:center !important; text-align:center !important; position:relative !important; padding-bottom:0 !important; width:100% !important; max-width:560px !important; }
.sl-step:not(:last-child)::after { content:'' !important; display:block !important; width:2px !important; height:32px !important; background:#c8eaf3 !important; margin:0 auto !important; }
.sl-step__num { width:48px !important; height:48px !important; min-width:48px !important; background:#29afce !important; color:#fff !important; border-radius:50% !important; display:flex !important; align-items:center !important; justify-content:center !important; font-size:17px !important; font-weight:bold !important; flex-shrink:0 !important; position:relative !important; z-index:1 !important; margin-bottom:10px !important; }
.sl-step__body { padding:0 0 24px !important; text-align:center !important; width:100% !important; }
.sl-step__title { font-size:16px !important; font-weight:bold !important; color:#3e3a39 !important; display:block !important; margin-bottom:6px !important; text-align:center !important; }
.sl-step__desc { font-size:13px !important; color:#555 !important; line-height:1.75 !important; display:block !important; text-align:center !important; }
.sl-step__note { font-size:12px !important; color:#29afce !important; display:block !important; margin-top:4px !important; text-align:center !important; }

/* アコーディオン */
.sl-accordion { border-top:1px solid #e0e0e0 !important; margin-top:24px !important; }
.sl-accordion-item { border-bottom:1px solid #e0e0e0 !important; }
.sl-accordion-q { display:flex !important; align-items:center !important; gap:10px !important; padding:14px 0 !important; cursor:pointer !important; font-size:14px !important; font-weight:bold !important; color:#3e3a39 !important; list-style:none !important; text-align:center !important; justify-content:center !important; }
.sl-accordion-q::-webkit-details-marker { display:none !important; }
.sl-accordion-icon { color:#29afce !important; font-weight:bold !important; font-size:16px !important; flex-shrink:0 !important; }
.sl-accordion-a { font-size:13px !important; color:#555 !important; line-height:1.85 !important; padding:0 0 16px 26px !important; display:block !important; text-align:left !important; }

/* テーブル */
.sl-table-wrap { overflow-x:auto !important; margin-top:8px !important; }
.sl-table { width:100% !important; border-collapse:collapse !important; font-size:14px !important; min-width:500px !important; }
.sl-table th { background:#29afce !important; color:#fff !important; padding:12px 14px !important; text-align:left !important; font-weight:bold !important; }
.sl-table td { padding:12px 14px !important; border-bottom:1px solid #e5e5e5 !important; vertical-align:top !important; text-align:left !important; color:#3e3a39 !important; }
.sl-table tr:last-child td { border-bottom:none !important; }
.sl-table tr:nth-child(even) td { background:#f7f7f7 !important; }
.sl-table td h3 { font-size:14px !important; font-weight:bold !important; color:#3e3a39 !important; margin-bottom:4px !important; }
.sl-table td small { font-size:12px !important; color:#888 !important; }
.sl-online { display:inline-block !important; background:#e8f7fb !important; color:#29afce !important; font-size:11px !important; font-weight:bold !important; padding:2px 8px !important; border-radius:4px !important; }

/* 資格カード */
.sl-cards { display:grid !important; grid-template-columns:1fr !important; gap:24px !important; }
@media(min-width:700px){ .sl-cards { grid-template-columns:repeat(3,1fr) !important; } }
.sl-card { background:#fff !important; border-radius:10px !important; overflow:hidden !important; border:1px solid #e0e0e0 !important; display:flex !important; flex-direction:column !important; }
.sl-card__head { padding:20px 20px 16px !important; }
.sl-card__level { font-size:11px !important; font-weight:bold !important; letter-spacing:.08em !important; display:block !important; margin-bottom:6px !important; text-align:left !important; }
.sl-card__name { font-size:15px !important; font-weight:bold !important; color:#3e3a39 !important; line-height:1.5 !important; display:block !important; margin-bottom:10px !important; text-align:left !important; }
.sl-card__badge { display:inline-block !important; font-size:11px !important; font-weight:bold !important; padding:3px 14px !important; border-radius:20px !important; }
.sl-card__body { padding:20px !important; display:flex !important; flex-direction:column !important; flex:1 !important; }
.sl-card__price { font-size:20px !important; font-weight:bold !important; display:block !important; margin-bottom:10px !important; text-align:left !important; }
.sl-card__price small { font-size:12px !important; font-weight:normal !important; color:#888 !important; }
.sl-card__desc { font-size:13px !important; color:#555 !important; line-height:1.75 !important; flex:1 !important; display:block !important; margin-bottom:16px !important; text-align:left !important; }
.sl-card__btn { display:block !important; text-align:center !important; padding:12px !important; border-radius:6px !important; font-size:14px !important; font-weight:bold !important; text-decoration:none !important; }
.sl-card--s .sl-card__head { background:#e8f7fb !important; }
.sl-card--s .sl-card__level { color:#1a8aa5 !important; }
.sl-card--s .sl-card__badge { background:#29afce !important; color:#fff !important; }
.sl-card--s .sl-card__price { color:#1a8aa5 !important; }
.sl-card--s .sl-card__btn { background:#29afce !important; color:#fff !important; }
.sl-card--m .sl-card__head { background:#fffbe6 !important; }
.sl-card--m .sl-card__level { color:#7a6200 !important; }
.sl-card--m .sl-card__badge { background:#e6c200 !important; color:#3e3a39 !important; }
.sl-card--m .sl-card__price { color:#7a6200 !important; }
.sl-card--m .sl-card__btn { background:#29afce !important; color:#fff !important; }
.sl-card--e .sl-card__head { background:#e6f5ee !important; }
.sl-card--e .sl-card__level { color:#007a55 !important; }
.sl-card--e .sl-card__badge { background:#00a774 !important; color:#fff !important; }
.sl-card--e .sl-card__price { color:#007a55 !important; }
.sl-card--e .sl-card__btn { background:#29afce !important; color:#fff !important; }

/* 特典 */
.sl-benefits { display:grid !important; grid-template-columns:1fr !important; gap:12px !important; }
@media(min-width:768px){ .sl-benefits { grid-template-columns:repeat(2,1fr) !important; } }
.sl-benefit { background:rgba(255,255,255,0.18) !important; border:1px solid rgba(255,255,255,0.4) !important; border-radius:8px !important; padding:16px 18px !important; display:flex !important; align-items:flex-start !important; gap:12px !important; }
.sl-benefit__num { background:#fbdb00 !important; color:#3e3a39 !important; border-radius:50% !important; width:26px !important; height:26px !important; min-width:26px !important; display:flex !important; align-items:center !important; justify-content:center !important; font-size:12px !important; font-weight:bold !important; flex-shrink:0 !important; }
.sl-benefit__text { color:#fff !important; font-size:14px !important; line-height:1.65 !important; text-align:left !important; }

/* 更新ボックス */
.sl-info-grid { display:grid !important; grid-template-columns:1fr !important; gap:16px !important; }
@media(min-width:640px){ .sl-info-grid { grid-template-columns:repeat(3,1fr) !important; } }
.sl-info { background:#fff !important; border-left:4px solid #29afce !important; padding:20px !important; border-radius:0 8px 8px 0 !important; }
.sl-info--y { border-left-color:#29afce !important; }
.sl-info__title { font-size:14px !important; font-weight:bold !important; color:#29afce !important; display:block !important; margin-bottom:10px !important; text-align:left !important; }
.sl-info--y .sl-info__title { color:#29afce !important; }
.sl-info__text { font-size:13px !important; color:#555 !important; line-height:1.85 !important; display:block !important; text-align:left !important; }

/* 有資格者の声 */
.sl-voices { display:grid !important; grid-template-columns:1fr !important; gap:20px !important; }
@media(min-width:640px){ .sl-voices { grid-template-columns:repeat(3,1fr) !important; } }
.sl-voice { background:#fff !important; border-radius:10px !important; padding:28px 20px 20px !important; border:1px solid #e5e5e5 !important; position:relative !important; }
.sl-voice::before { content:'"' !important; font-size:52px !important; color:#d8f0f8 !important; position:absolute !important; top:6px !important; left:14px !important; font-family:Georgia,serif !important; line-height:1 !important; }
.sl-voice__text { font-size:13px !important; color:#444 !important; line-height:1.8 !important; padding-top:22px !important; display:block !important; margin-bottom:14px !important; text-align:left !important; }
.sl-voice__author { font-size:12px !important; color:#888 !important; text-align:right !important; display:block !important; }
.sl-voice__name { display:block !important; color:#29afce !important; font-size:13px !important; font-weight:bold !important; text-align:right !important; }

/* CTAボタン */
.sl-cta-wrap { text-align:center !important; }
.sl-btn { display:inline-block !important; font-weight:bold !important; font-size:15px !important; padding:14px 44px !important; border-radius:32px !important; text-decoration:none !important; margin:6px 8px !important; }
.sl-btn--yellow { background:#fbdb00 !important; color:#3e3a39 !important; }
.sl-btn--outline { background:transparent !important; border:2px solid #fff !important; color:#fff !important; }

/* 注記 */
.sl-note { font-size:12px !important; color:#888 !important; display:block !important; margin-top:12px !important; text-align:left !important; line-height:1.7 !important; }
/* ================================
   資格制度ページ（/saposuku/license/）
   ================================ */

/* 資格制度ページ：全体像図の画像サイズ調整 */
/* 資格制度ページ：全体像図の画像サイズ調整・中央揃え */
.sl-img-wrap {
  text-align: center; /* 念のため残す */
}

.sl-img {
  display: block;    /* 画像をブロック要素として扱う（中央揃えを確実にするため） */
  width: 100%;
  height: auto;
  margin-left: auto;  /* 左右の余白を自動調整することで中央に配置 */
  margin-right: auto;
}

/* タブレット・パソコンの画面幅（768px以上）のときは3分の2サイズにする */
@media (min-width: 768px) {
  .sl-img {
    width: 67%;
  }
}

/* === 関連書籍ページ 全スタイル v2 === */

/* wpautopが挿入する余計なpタグを徹底無効化 */
.page-id-5789 .common-body > p{display:none !important;margin:0 !important;padding:0 !important;font-size:0 !important;line-height:0 !important;height:0 !important}
.page-id-5789 .sp-books-section p:not([class]){display:none !important;margin:0 !important;padding:0 !important}
.page-id-5789 .sp-books-grid > p{display:none !important}
.page-id-5789 .sp-book-card > p{display:none !important}
.page-id-5789 .sp-book-card__cover > p{display:none !important}
.page-id-5789 .sp-book-card__body > p:not(.sp-book-card__author){display:none !important}
.page-id-5789 .sp-page-hero > p:not([class]){display:none !important}
.page-id-5789 .sp-container > p:not([class]){display:none !important}
.page-id-5789 a.sp-book-card > p{display:none !important}
.page-id-5789 .section-body > p{display:none !important;height:0 !important;margin:0 !important;padding:0 !important}
.page-id-5789 .sp-books-section > div > div > p{display:none !important}

/* ページヘッダー：コーポレートカラー単色に統一 */
.page-id-5789 .sp-page-hero--blue{background:#29afce;color:#fff;padding:36px 20px;text-align:center;border-radius:8px;margin:0 0 8px 0}
.page-id-5789 .sp-page-hero__lead{font-size:1.6rem;font-weight:700;line-height:1.6;margin:0;color:#fff}

/* セクション */
.page-id-5789 .sp-books-section{padding:32px 0}
.page-id-5789 .sp-bg-light{background:#f7f8fa;padding:32px 16px;border-radius:8px;margin:8px 0}

/* セクションタイトル：コーポレートカラーに統一 */
.page-id-5789 .sp-section-title{font-size:1.5rem;font-weight:700;text-align:center;margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid #29afce;color:#333}

/* 講師ブロック（講座講師の著書セクション内） */
.page-id-5789 .sp-lecturer-block{margin-bottom:32px}
.page-id-5789 .sp-lecturer-block:last-child{margin-bottom:0}
.page-id-5789 .sp-lecturer-name{font-size:1.1rem;font-weight:700;color:#1a8aa5;margin:0 0 14px;padding-left:10px;border-left:4px solid #29afce}

/* 書籍グリッド：スマホでも2列 */
.page-id-5789 .sp-books-grid{display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:12px}

/* 書籍カード */
.page-id-5789 .sp-book-card{background:#fff;border-radius:8px;border:1px solid #e0e0e0;overflow:hidden;display:flex !important;flex-direction:column;transition:transform 0.2s ease,box-shadow 0.2s ease}
.page-id-5789 .sp-book-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,0.1)}

/* リンク付きカード */
.page-id-5789 a.sp-book-card{text-decoration:none;color:inherit;cursor:pointer;display:flex !important;flex-direction:column}
.page-id-5789 a.sp-book-card:hover .sp-book-card__title{color:#1a8aa5}

/* カバー画像 */
.page-id-5789 .sp-book-card__cover{aspect-ratio:7/10;overflow:hidden;background:#f0f4f8;flex-shrink:0;max-height:200px}
.page-id-5789 .sp-book-card__cover img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}

/* プレースホルダー（準備中カード） */
.page-id-5789 .sp-book-card__placeholder{width:100%;height:100%;display:flex !important;align-items:center;justify-content:center;background:linear-gradient(135deg,#e8f7fb,#d5e8f0)}
.page-id-5789 .sp-book-card__placeholder span{font-size:2rem;opacity:0.35}
.page-id-5789 .sp-book-card--placeholder{opacity:0.7}
.page-id-5789 .sp-book-card--placeholder .sp-book-card__title{color:#999 !important}

/* カード本文：タイトル＋著者名のみ */
.page-id-5789 .sp-book-card__body{padding:12px;flex:1;display:flex;flex-direction:column}
.page-id-5789 .sp-book-card__title{font-size:1.05rem;font-weight:700;color:#333;margin:0 0 6px !important;line-height:1.4}
.page-id-5789 p.sp-book-card__author,
.page-id-5789 .sp-book-card__author{font-size:0.85rem;color:#888;margin:0 !important;display:block !important}

/* レスポンシブ：タブレット（3列） */
@media(min-width:500px){
.page-id-5789 .sp-books-grid{grid-template-columns:repeat(3,1fr) !important;gap:14px}
.page-id-5789 .sp-book-card__cover{max-height:240px}
.page-id-5789 .sp-book-card__title{font-size:1.1rem}
.page-id-5789 .sp-book-card__author{font-size:0.9rem}
}

/* レスポンシブ：PC（4列） */
@media(min-width:900px){
.page-id-5789 .sp-books-grid{grid-template-columns:repeat(4,1fr) !important;gap:16px}
.page-id-5789 .sp-book-card__cover{max-height:260px}
.page-id-5789 .sp-page-hero__lead{font-size:1.8rem}
.page-id-5789 .sp-section-title{font-size:1.7rem}
.page-id-5789 .sp-book-card__body{padding:14px}
.page-id-5789 .sp-book-card__title{font-size:1.15rem}
.page-id-5789 .sp-book-card__author{font-size:0.95rem}
.page-id-5789 .sp-lecturer-name{font-size:1.3rem}
}

/* ============================================
   NDゼミページ専用CSS（修正版 v4）
   「外観」→「カスタマイズ」→「追加CSS」に貼り付け
   ※ 前回のNDゼミCSS（ndsemi- で始まる部分）は
     すべて削除してから、こちらを貼り付けてください
   ============================================ */

/* ============================================
   ★ 親テーマの本文エリア幅制限を解除
   ============================================ */
.page .entry-content,
.page .post-content,
.page .content-area,
.page .site-main,
.page .main-content,
.page article .entry-content,
.page .section-standard-page,
.page .page-content,
.page main,
.page #content,
.page .content,
.page .inner,
.page .wrap,
.page .container {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
  overflow: visible !important;
}

/* --- 各セクションを画面全幅に --- */
.ndsemi-intro,
.ndsemi-lecturer,
.ndsemi-about,
.ndsemi-benefits,
.ndsemi-learn,
.ndsemi-contact {
  display: block !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
  float: none !important;
  clear: both !important;
  position: relative !important;
}

/* --- 共通コンテナ --- */
.ndsemi-container {
  display: block !important;
  max-width: 1080px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
  float: none !important;
}

/* ============================================
   ★修正②: 2列横並びレイアウト（floatベース）
   gridが効かない親テーマ対策
   ============================================ */
.ndsemi-row {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin-bottom: 24px !important;
  overflow: hidden !important;
  clear: both !important;
}
.ndsemi-row::after {
  content: "" !important;
  display: table !important;
  clear: both !important;
}
.ndsemi-col {
  float: left !important;
  width: 48% !important;
  margin-right: 4% !important;
  box-sizing: border-box !important;
  display: block !important;
}
.ndsemi-col:nth-child(2) {
  margin-right: 0 !important;
}

/* ============================================
   ★修正③: 見出し下線をタイトル幅に合わせる
   ============================================ */
.ndsemi-heading {
  font-size: 28px !important;
  font-weight: 800 !important;
  color: #2C3E50 !important;
  margin: 0 0 32px !important;
  padding-bottom: 16px !important;
  line-height: 1.4 !important;
  display: inline-block !important;
  border-bottom: 4px solid #E8A838 !important;
}
/* ::afterは使わない（inline-blockのborder-bottomでタイトル幅に合わせる） */
.ndsemi-heading::after {
  content: none !important;
  display: none !important;
}
/* 中央寄せの見出し */
.ndsemi-heading--center {
  display: block !important;
  text-align: center !important;
}
.ndsemi-heading--center-wrap {
  text-align: center !important;
}

/* ============================================
   ★修正④: CTAの緑色ボタン
   ============================================ */
.ndsemi-btn--green {
  background: #27AE60 !important;
  color: #fff !important;
  box-shadow: 0 4px 16px rgba(39,174,96,0.3) !important;
}
.ndsemi-btn--green:hover {
  background: #1E8449 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(39,174,96,0.4) !important;
  color: #fff !important;
}

/* ============================================
   共通ボタン
   ============================================ */
.ndsemi-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 16px 36px !important;
  border-radius: 8px !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease !important;
  border: none !important;
  line-height: 1.4 !important;
}
.ndsemi-btn--primary {
  background: #2E86AB !important;
  color: #fff !important;
  box-shadow: 0 4px 16px rgba(46,134,171,0.25) !important;
}
.ndsemi-btn--primary:hover {
  background: #1A5276 !important;
  transform: translateY(-2px) !important;
  color: #fff !important;
}
.ndsemi-btn--outline {
  background: transparent !important;
  color: #2E86AB !important;
  border: 2px solid #2E86AB !important;
}
.ndsemi-btn--outline:hover {
  background: #2E86AB !important;
  color: #fff !important;
}
.ndsemi-btn--cta {
  background: #E74C3C !important;
  color: #fff !important;
  box-shadow: 0 4px 14px rgba(231,76,60,0.35) !important;
}
.ndsemi-btn--cta:hover {
  background: #C0392B !important;
  transform: translateY(-2px) !important;
  color: #fff !important;
}
.ndsemi-btn--lg {
  padding: 20px 52px !important;
  font-size: 20px !important;
}
.ndsemi-btn--sm {
  padding: 14px 28px !important;
  font-size: 16px !important;
}

/* ============================================
   セクション1: リード文
   ★修正①: タイトルが画像の上（独立配置）
   ============================================ */
.ndsemi-intro {
  padding: 48px 0 !important;
  background: #fff !important;
}
.ndsemi-intro__inner {
  display: flex !important;
  flex-direction: column !important;
  gap: 28px !important;
}
.ndsemi-intro__text p {
  font-size: 18px !important;
  color: #5D6D7E !important;
  line-height: 2 !important;
  margin: 0 !important;
}
.ndsemi-intro__image img {
  width: 100% !important;
  height: auto !important;
  border-radius: 16px !important;
  object-fit: cover !important;
}

/* ============================================
   セクション2: 講師紹介
   ============================================ */
.ndsemi-lecturer {
  padding: 48px 0 !important;
  background: #EAF4FB !important;
}
.ndsemi-lecturer__inner {
  display: flex !important;
  flex-direction: column !important;
  gap: 28px !important;
}
.ndsemi-lecturer__photo {
  text-align: center !important;
}
.ndsemi-lecturer__photo img {
  width: 100% !important;
  max-width: 280px !important;
  height: auto !important;
  border-radius: 16px !important;
  object-fit: cover !important;
}
.ndsemi-lecturer__role {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #2E86AB !important;
  letter-spacing: 0.1em !important;
  margin: 0 0 4px !important;
}
.ndsemi-lecturer__name {
  font-size: 32px !important;
  font-weight: 800 !important;
  color: #2C3E50 !important;
  margin: 0 0 4px !important;
  line-height: 1.3 !important;
}
.ndsemi-lecturer__title-sub {
  font-size: 17px !important;
  color: #5D6D7E !important;
  margin: 0 0 16px !important;
}
.ndsemi-lecturer__desc {
  font-size: 18px !important;
  color: #5D6D7E !important;
  line-height: 1.9 !important;
  margin: 0 0 24px !important;
}
.ndsemi-lecturer__positions {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 24px !important;
}
.ndsemi-lecturer__positions li {
  font-size: 17px !important;
  color: #2C3E50 !important;
  padding: 6px 0 6px 22px !important;
  position: relative !important;
  line-height: 1.6 !important;
}
.ndsemi-lecturer__positions li::before {
  content: "–" !important;
  position: absolute !important;
  left: 0 !important;
  color: #2E86AB !important;
  font-weight: 700 !important;
}
.ndsemi-lecturer__books {
  background: #fff !important;
  border-radius: 8px !important;
  padding: 24px 28px !important;
  border: 1px solid #D5E8F0 !important;
}
.ndsemi-lecturer__books-label {
  font-size: 16px !important;
  font-weight: 800 !important;
  color: #5D6D7E !important;
  margin: 0 0 12px !important;
}
.ndsemi-lecturer__books ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.ndsemi-lecturer__books li {
  font-size: 16px !important;
  line-height: 1.8 !important;
  padding: 5px 0 !important;
}
.ndsemi-lecturer__books a {
  color: #2E86AB !important;
  text-decoration: none !important;
}
.ndsemi-lecturer__books a:hover {
  text-decoration: underline !important;
}

/* ============================================
   セクション3: ゼミの概要
   ============================================ */
.ndsemi-about {
  padding: 48px 0 !important;
  background: #fff !important;
}
.ndsemi-about__body {
  max-width: 840px !important;
  margin: 0 auto !important;
}
.ndsemi-about__body p {
  font-size: 18px !important;
  color: #5D6D7E !important;
  line-height: 2 !important;
  text-align: center !important;
  margin: 0 !important;
}

/* ============================================
   セクション4: 特典カード
   ============================================ */
.ndsemi-benefits {
  padding: 48px 0 !important;
  background: #EAF4FB !important;
}
.ndsemi-benefit-card {
  background: #fff !important;
  border-radius: 16px !important;
  border: 1.5px solid #D5E8F0 !important;
  overflow: hidden !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
  box-sizing: border-box !important;
  height: 100% !important;
}
.ndsemi-benefit-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 40px rgba(46,134,171,0.18) !important;
}
.ndsemi-benefit-card__icon-area {
  width: 100% !important;
  height: 140px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(135deg, #EAF4FB 0%, #D5E8F0 100%) !important;
  box-sizing: border-box !important;
}
.ndsemi-benefit-card__icon {
  font-size: 56px !important;
  line-height: 1 !important;
}
.ndsemi-benefit-card__body {
  padding: 28px !important;
}
.ndsemi-benefit-card__title {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #2C3E50 !important;
  margin: 0 0 12px !important;
  line-height: 1.4 !important;
}
.ndsemi-benefit-card__desc {
  font-size: 17px !important;
  color: #5D6D7E !important;
  line-height: 1.9 !important;
  margin: 0 !important;
}

/* CTA: もっと詳しく知る */
.ndsemi-benefits__cta {
  display: block !important;
  text-align: center !important;
  margin-top: 16px !important;
  clear: both !important;
}
.ndsemi-benefits__cta-label {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #2C3E50 !important;
  display: block !important;
  margin-bottom: 16px !important;
}

/* ============================================
   セクション5: さまざまな方法で知る・学ぶ
   ============================================ */
.ndsemi-learn {
  padding: 48px 0 !important;
  background: #fff !important;
}
.ndsemi-learn-card {
  background: #fff !important;
  border-radius: 16px !important;
  border: 1.5px solid #D5E8F0 !important;
  padding: 32px 28px !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
  box-sizing: border-box !important;
  height: 100% !important;
}
.ndsemi-learn-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 40px rgba(46,134,171,0.18) !important;
}
.ndsemi-learn-card__icon {
  font-size: 40px !important;
  margin-bottom: 16px !important;
  line-height: 1 !important;
}
.ndsemi-learn-card__title {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #2C3E50 !important;
  margin: 0 0 12px !important;
  line-height: 1.4 !important;
}
.ndsemi-learn-card__desc {
  font-size: 17px !important;
  color: #5D6D7E !important;
  line-height: 1.9 !important;
  margin: 0 0 24px !important;
}

/* ============================================
   セクション6: 最後のCTA
   ============================================ */
.ndsemi-contact {
  padding: 48px 0 !important;
  background: #EAF4FB !important;
}
.ndsemi-contact__inner {
  text-align: center !important;
  max-width: 680px !important;
  margin: 0 auto !important;
}
.ndsemi-contact__title {
  font-size: 28px !important;
  font-weight: 800 !important;
  color: #2C3E50 !important;
  margin: 0 0 16px !important;
  line-height: 1.4 !important;
}
.ndsemi-contact__desc {
  font-size: 18px !important;
  color: #5D6D7E !important;
  line-height: 1.9 !important;
  margin: 0 0 32px !important;
}

/* ============================================
   レスポンシブ
   ============================================ */

/* スマホ（767px以下）: カードを1列に */
@media (max-width: 767px) {
  .ndsemi-heading {
    font-size: 24px !important;
  }
  .ndsemi-col {
    float: none !important;
    width: 100% !important;
    margin-right: 0 !important;
    margin-bottom: 16px !important;
  }
  .ndsemi-benefit-card__title {
    font-size: 20px !important;
  }
  .ndsemi-learn-card__title {
    font-size: 18px !important;
  }
  .ndsemi-benefits__cta-label {
    font-size: 18px !important;
  }
  .ndsemi-contact__title {
    font-size: 24px !important;
  }
}

/* タブレット以上（768px〜） */
@media (min-width: 768px) {
  .ndsemi-heading {
    font-size: 32px !important;
  }
  .ndsemi-intro,
  .ndsemi-lecturer,
  .ndsemi-about,
  .ndsemi-benefits,
  .ndsemi-learn,
  .ndsemi-contact {
    padding: 72px 0 !important;
  }
  .ndsemi-intro__inner {
    flex-direction: row !important;
    align-items: center !important;
    gap: 48px !important;
  }
  .ndsemi-intro__text {
    flex: 1 !important;
  }
  .ndsemi-intro__image {
    flex: 0 0 40% !important;
    max-width: 420px !important;
  }
  .ndsemi-lecturer__inner {
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 48px !important;
  }
  .ndsemi-lecturer__photo {
    flex: 0 0 280px !important;
  }
  .ndsemi-lecturer__photo img {
    max-width: 100% !important;
  }
  .ndsemi-lecturer__info {
    flex: 1 !important;
  }
}

/* PC（1024px〜） */
@media (min-width: 1024px) {
  .ndsemi-heading {
    font-size: 36px !important;
  }
  .ndsemi-intro__inner {
    gap: 64px !important;
  }
  .ndsemi-lecturer__inner {
    gap: 64px !important;
  }
  .ndsemi-lecturer__photo {
    flex: 0 0 320px !important;
  }
  .ndsemi-benefit-card__icon-area {
    height: 180px !important;
  }
  .ndsemi-benefit-card__title {
    font-size: 24px !important;
  }
  .ndsemi-intro__text p,
  .ndsemi-lecturer__desc,
  .ndsemi-about__body p {
    font-size: 20px !important;
  }
}

/* ============================================
   NDゼミ インフォメーション（ページID: 1986）
   ============================================ */

/* --- wpautop対策 --- */
.page-id-1986 .ndz-info p:empty{display:none !important;}
.page-id-1986 .ndz-info p{margin:0 !important;padding:0 !important;}

/* --- 全体の入れ物 --- */
.page-id-1986 .ndz-info{
  --ndz-brand:#2E86AB;
  --ndz-brand-hover:#1A5276;
  --ndz-brand-soft:#EAF4FB;
  --ndz-accent:#E8A838;
  --ndz-fg-1:#2C3E50;
  --ndz-fg-2:#5D6D7E;
  --ndz-fg-3:#7A8593;
  --ndz-bg-1:#FFFFFF;
  --ndz-bg-2:#FAFBFC;
  --ndz-bg-3:#ECEEF2;
  --ndz-bg-tint:#F2F6FB;
  --ndz-border:#D5E8F0;
  --ndz-warning:#C77700;
  --ndz-warning-soft:#FBF1DD;
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,Meiryo,"Noto Sans JP",sans-serif !important;
  color:var(--ndz-fg-1) !important;
  line-height:1.85 !important;
  letter-spacing:.02em !important;
  background:var(--ndz-bg-tint) !important;
  padding:40px 16px 56px !important;
  -webkit-font-smoothing:antialiased !important;
}

/* --- リセット --- */
.page-id-1986 .ndz-info *,.page-id-1986 .ndz-info *::before,.page-id-1986 .ndz-info *::after{box-sizing:border-box !important;}
.page-id-1986 .ndz-info ul,.page-id-1986 .ndz-info ol{margin:0 !important;padding:0 !important;list-style:none !important;}
.page-id-1986 .ndz-info a{color:var(--ndz-brand) !important;text-underline-offset:3px !important;transition:opacity .2s !important;}
.page-id-1986 .ndz-info a:hover{opacity:.7 !important;}
.page-id-1986 .ndz-info h1,.page-id-1986 .ndz-info h2,.page-id-1986 .ndz-info h3{
  font-family:inherit !important;color:var(--ndz-fg-1) !important;
  margin:0 !important;padding:0 !important;border:0 !important;background:none !important;
}

/* ★ テーマの section { padding:72px 0 } を上書き */
.page-id-1986 .ndz-info section.ndz-card{padding:24px 20px !important;}

/* --- Hero --- */
.page-id-1986 .ndz-hero{max-width:760px !important;margin:0 auto 40px !important;text-align:left !important;}
.page-id-1986 .ndz-eyebrow{
  font-size:11px !important;font-weight:700 !important;letter-spacing:.22em !important;
  text-transform:uppercase !important;color:var(--ndz-brand) !important;display:inline-block !important;
}
.page-id-1986 .ndz-hero h1{
  font-size:24px !important;font-weight:900 !important;letter-spacing:.04em !important;line-height:1.4 !important;
  margin:14px 0 16px !important;
}
.page-id-1986 .ndz-hero p{font-size:15px !important;line-height:1.95 !important;color:var(--ndz-fg-2) !important;}

/* --- TOC --- */
.page-id-1986 .ndz-toc{
  max-width:760px !important;margin:0 auto 36px !important;
  background:var(--ndz-bg-1) !important;border:1px solid var(--ndz-border) !important;
  border-radius:12px !important;padding:16px 18px !important;
}
.page-id-1986 .ndz-toc-label{
  font-size:10px !important;font-weight:700 !important;letter-spacing:.22em !important;
  text-transform:uppercase !important;color:var(--ndz-accent) !important;margin:0 0 12px !important;
}
.page-id-1986 .ndz-toc-grid{display:grid !important;grid-template-columns:1fr !important;gap:2px !important;}
.page-id-1986 .ndz-toc-grid a{
  display:flex !important;align-items:center !important;gap:10px !important;
  padding:6px 0 !important;font-size:14px !important;color:var(--ndz-fg-1) !important;text-decoration:none !important;
}
.page-id-1986 .ndz-toc-grid a:hover{color:var(--ndz-brand) !important;}
.page-id-1986 .ndz-toc-grid a::before{
  content:attr(data-num) !important;font-size:12px !important;font-weight:700 !important;
  color:var(--ndz-brand) !important;min-width:22px !important;
}

/* --- Card --- */
.page-id-1986 .ndz-info .ndz-card{
  max-width:760px !important;margin:0 auto 20px !important;
  background:var(--ndz-bg-1) !important;border:1px solid var(--ndz-border) !important;
  border-radius:10px !important;padding:24px 20px !important;scroll-margin-top:20px !important;
}
.page-id-1986 .ndz-card-head{
  display:flex !important;align-items:flex-start !important;gap:12px !important;
  padding-bottom:16px !important;margin-bottom:20px !important;
  border-bottom:1px solid var(--ndz-border) !important;
}
.page-id-1986 .ndz-num{
  flex:0 0 auto !important;font-size:11px !important;font-weight:700 !important;letter-spacing:.18em !important;
  color:var(--ndz-brand) !important;background:var(--ndz-brand-soft) !important;
  border-radius:999px !important;padding:4px 12px !important;margin-top:6px !important;
}
.page-id-1986 .ndz-card-titles{flex:1 1 auto !important;min-width:0 !important;}
.page-id-1986 .ndz-card-en{
  font-size:10px !important;font-weight:700 !important;letter-spacing:.22em !important;
  text-transform:uppercase !important;color:var(--ndz-accent) !important;
  display:block !important;margin-bottom:4px !important;
}
.page-id-1986 .ndz-card-title{
  font-size:18px !important;font-weight:700 !important;letter-spacing:.03em !important;line-height:1.4 !important;
}
.page-id-1986 .ndz-card-sub{
  font-size:13px !important;color:var(--ndz-fg-3) !important;margin-top:6px !important;font-weight:500 !important;
}

/* --- Body text --- */
.page-id-1986 .ndz-body{font-size:15px !important;line-height:1.95 !important;color:var(--ndz-fg-1) !important;}
.page-id-1986 .ndz-body p+p{margin-top:14px !important;}

/* --- Callout --- */
.page-id-1986 .ndz-callout{
  background:var(--ndz-brand-soft) !important;border-radius:8px !important;
  padding:16px !important;margin-top:20px !important;
}
.page-id-1986 .ndz-callout-label{
  font-size:10px !important;font-weight:700 !important;letter-spacing:.18em !important;
  text-transform:uppercase !important;color:var(--ndz-brand-hover) !important;margin-bottom:4px !important;
}
.page-id-1986 .ndz-callout-title{
  font-size:15px !important;font-weight:700 !important;color:var(--ndz-fg-1) !important;margin-bottom:12px !important;
}
.page-id-1986 .ndz-callout-item{padding:12px 0 !important;border-top:1px solid rgba(46,134,171,.18) !important;}
.page-id-1986 .ndz-callout-item:first-of-type{border-top:0 !important;padding-top:4px !important;}
.page-id-1986 .ndz-callout-item-title{font-weight:700 !important;font-size:14px !important;margin-bottom:4px !important;}
.page-id-1986 .ndz-callout-item-title .ndz-mark{color:var(--ndz-brand-hover) !important;font-weight:700 !important;margin-right:6px !important;}
.page-id-1986 .ndz-callout-item-text{font-size:13.5px !important;line-height:1.85 !important;color:var(--ndz-fg-2) !important;}

/* --- Notice --- */
.page-id-1986 .ndz-notice{
  background:var(--ndz-warning-soft) !important;border:1px solid rgba(199,119,0,.25) !important;
  border-radius:8px !important;padding:16px 20px !important;margin-top:20px !important;
}
.page-id-1986 .ndz-notice-title{
  font-size:13px !important;font-weight:700 !important;color:var(--ndz-warning) !important;
  margin-bottom:6px !important;display:flex !important;align-items:center !important;gap:8px !important;
}
.page-id-1986 .ndz-notice-title svg{flex:0 0 auto !important;}
.page-id-1986 .ndz-notice-text{font-size:13.5px !important;line-height:1.85 !important;color:var(--ndz-fg-2) !important;}

/* --- Rules --- */
.page-id-1986 .ndz-rule{padding:20px 0 !important;border-bottom:1px solid var(--ndz-border) !important;}
.page-id-1986 .ndz-rule:last-of-type{border-bottom:0 !important;padding-bottom:4px !important;}
.page-id-1986 .ndz-rule-title{
  font-size:15px !important;font-weight:700 !important;
  display:flex !important;align-items:center !important;gap:10px !important;margin-bottom:8px !important;
}
.page-id-1986 .ndz-rule-title::before{
  content:'' !important;width:6px !important;height:6px !important;border-radius:999px !important;
  background:var(--ndz-accent) !important;flex:0 0 auto !important;
}
.page-id-1986 .ndz-rule-text{font-size:14px !important;line-height:1.85 !important;color:var(--ndz-fg-2) !important;}
.page-id-1986 .ndz-rule-note{
  font-size:12.5px !important;color:var(--ndz-fg-3) !important;margin-top:8px !important;
  padding-left:12px !important;border-left:2px solid var(--ndz-border) !important;
}

/* --- Payment rows --- */
.page-id-1986 .ndz-row{padding:20px 0 !important;border-bottom:1px solid var(--ndz-border) !important;}
.page-id-1986 .ndz-row:first-of-type{padding-top:0 !important;}
.page-id-1986 .ndz-row:last-of-type{border-bottom:0 !important;padding-bottom:0 !important;}
.page-id-1986 .ndz-row-title{
  font-size:14px !important;font-weight:700 !important;color:var(--ndz-brand-hover) !important;
  margin-bottom:8px !important;display:flex !important;align-items:center !important;gap:8px !important;
}
.page-id-1986 .ndz-row-title::before{content:'●' !important;color:var(--ndz-accent) !important;}
.page-id-1986 .ndz-row-text{font-size:14px !important;line-height:1.85 !important;color:var(--ndz-fg-2) !important;}

/* --- Definition table --- */
.page-id-1986 .ndz-table{
  background:var(--ndz-bg-2) !important;border:1px solid var(--ndz-border) !important;
  border-radius:8px !important;overflow:hidden !important;
}
.page-id-1986 .ndz-table-row{
  display:grid !important;grid-template-columns:100px 1fr !important;
  border-bottom:1px solid var(--ndz-border) !important;
}
.page-id-1986 .ndz-table-row:last-child{border-bottom:0 !important;}
.page-id-1986 .ndz-table-label{
  background:var(--ndz-bg-3) !important;padding:12px !important;
  font-size:12px !important;font-weight:700 !important;color:var(--ndz-fg-2) !important;
}
.page-id-1986 .ndz-table-value{
  padding:12px !important;font-size:13.5px !important;color:var(--ndz-fg-1) !important;line-height:1.7 !important;
}

/* --- CTA --- */
.page-id-1986 .ndz-info .ndz-cta{
  display:inline-flex !important;align-items:center !important;gap:10px !important;
  padding:14px 24px !important;
  background:var(--ndz-brand) !important;color:#fff !important;
  text-decoration:none !important;border-radius:8px !important;
  font-weight:700 !important;font-size:14px !important;letter-spacing:.04em !important;
  margin-top:20px !important;transition:background .2s !important;box-shadow:none !important;
}
.page-id-1986 .ndz-info .ndz-cta:hover{background:var(--ndz-brand-hover) !important;opacity:1 !important;}
.page-id-1986 .ndz-info .ndz-cta svg{flex:0 0 auto !important;}

/* --- Meta pills --- */
.page-id-1986 .ndz-meta{display:flex !important;gap:12px !important;margin-top:20px !important;flex-wrap:wrap !important;}
.page-id-1986 .ndz-meta-pill{
  display:inline-flex !important;align-items:center !important;gap:10px !important;
  padding:8px 14px !important;background:var(--ndz-bg-tint) !important;
  border:1px solid var(--ndz-border) !important;border-radius:999px !important;font-size:12.5px !important;
}
.page-id-1986 .ndz-meta-label{color:var(--ndz-fg-3) !important;font-weight:500 !important;}
.page-id-1986 .ndz-meta-value{color:var(--ndz-fg-1) !important;font-weight:700 !important;letter-spacing:.02em !important;}

/* --- Closing block --- */
.page-id-1986 .ndz-closing{
  font-size:13.5px !important;line-height:1.85 !important;color:var(--ndz-fg-2) !important;
  background:var(--ndz-bg-2) !important;border:1px solid var(--ndz-border) !important;
  border-radius:8px !important;padding:16px !important;margin-top:24px !important;
}

/* --- Footer --- */
.page-id-1986 .ndz-footer{
  max-width:760px !important;margin:40px auto 0 !important;padding-top:24px !important;
  border-top:1px solid var(--ndz-border) !important;
  text-align:center !important;font-size:12.5px !important;color:var(--ndz-fg-3) !important;
}
.page-id-1986 .ndz-footer a{color:var(--ndz-brand) !important;font-weight:700 !important;}

/* --- PC向け拡張（641px以上） --- */
@media (min-width:641px){
  .page-id-1986 .ndz-info{padding:56px 24px 72px !important;}
  .page-id-1986 .ndz-info .ndz-card,
  .page-id-1986 .ndz-info section.ndz-card{padding:32px 36px !important;border-radius:12px !important;}
  .page-id-1986 .ndz-card-head{gap:16px !important;padding-bottom:20px !important;margin-bottom:24px !important;}
  .page-id-1986 .ndz-card-title{font-size:20px !important;}
  .page-id-1986 .ndz-hero h1{font-size:30px !important;}
  .page-id-1986 .ndz-toc{padding:20px 24px !important;}
  .page-id-1986 .ndz-toc-grid{grid-template-columns:1fr 1fr !important;gap:6px 24px !important;}
  .page-id-1986 .ndz-table-row{grid-template-columns:140px 1fr !important;}
  .page-id-1986 .ndz-table-label{padding:14px 16px !important;font-size:13px !important;}
  .page-id-1986 .ndz-table-value{padding:14px 18px !important;font-size:14px !important;}
  .page-id-1986 .ndz-callout,.page-id-1986 .ndz-closing{padding:20px 24px !important;}
  .page-id-1986 .ndz-meta-pill{font-size:13px !important;padding:10px 16px !important;}
}

/* ==================================================================
   NDゼミLP 完成版CSS  v3.2
   対象ページ：ニューロダイバーシティゼミLP（page-id-5868）
   配置場所　：外観 → カスタマイズ → 追加CSS
   デザイン　：クリーム × ティール（案B）／ UDゴシック
   ------------------------------------------------------------------
   v3.2 の変更点（v3.1からの差分）
   　1. 書体を UDゴシック（BIZ UDPゴシック）に変更
   　2. 文字サイズを世界標準に引き上げ（本文16px以上）
   　3. 太さ 800・900 を 700 に統一（UDフォントに900が無く、
   　　 疑似的に太らせると日本語が汚くなるため。設計基準にも準拠）
   　4. ヒーロー背景にアニメーションを追加（神経のドット＋光の揺らぎ）
   　5. 文字が大きくなった分、各テキストの最大幅を再調整
   ------------------------------------------------------------------
 
/* ==================================================================
   ▼▼▼ ここから下は、追加CSSの「いちばん最後」へ ▼▼▼
   ================================================================== */


/* ==================================================================
   0. ページ共通の下地
   ================================================================== */

/* --- このページだけヘッダー・フッター・タイトル帯を隠す --- */
.page-id-5868 #header,
.page-id-5868 .site-header,
.page-id-5868 header.header,
.page-id-5868 .footer-contact,
.page-id-5868 .footer-register,
.page-id-5868 .footer-links,
.page-id-5868 footer.footer,
.page-id-5868 .main-head { display: none !important; }

/* --- ヘッダー分の余白を打ち消す --- */
.page-id-5868 #content,
.page-id-5868 .site-content,
.page-id-5868 main { padding-top: 0 !important; margin-top: 0 !important; }

/* --- ページ全体の背景をクリーム色に統一（親テーマの白を上書き） --- */
.page-id-5868,
.page-id-5868 body,
.page-id-5868 #content,
.page-id-5868 .site-content,
.page-id-5868 main,
.page-id-5868 #main,
.page-id-5868 #primary,
.page-id-5868 .site-main,
.page-id-5868 .content-area,
.page-id-5868 .entry-content,
.page-id-5868 .page-content,
.page-id-5868 article,
.page-id-5868 .wrap,
.page-id-5868 .inner,
.page-id-5868 .container { background-color: #F7F3EA !important; }

/* --- ページ内リンクをなめらかにスクロール --- */
@media (prefers-reduced-motion: no-preference) {
  html:has(body.page-id-5868) { scroll-behavior: smooth; }
}


/* ==================================================================
   1. デザイントークン（色・書体）＆ ベース
   ================================================================== */
.page-id-5868 #ndlp3 {
  /* ---- 色 ---- */
  --nd-bg:        #F7F3EA;  /* 背景：クリーム */
  --nd-bg-2:      #EFE8D8;  /* 背景：一段濃いクリーム */
  --nd-bg-3:      #E4DAC4;  /* 背景：さらに濃いクリーム（グラフの溝など） */
  --nd-lime:      #157892;  /* 主役色：ティール（丸番号・グラフ） */
  --nd-lime-ink:  #0F6377;  /* 文字用ティール（少し濃く＝小さい字でも読める） */
  --nd-aqua:      #0F6377;  /* リンク色 */
  --nd-cta:       #27AE60;  /* CTAボタン：緑 */
  --nd-cta-hover: #1E8449;  /* CTAボタン：緑（マウスを乗せた時） */
  --nd-text:      #3B3226;  /* 本文の濃い文字色 */
  --nd-text-sub:  #6B5F50;  /* 補足の文字色（v3.1より少し濃く＝読みやすさ優先） */
  --nd-line:      rgba(59,50,38,0.14);  /* 区切り線 */
  --nd-accent2:   #D9C9A3;  /* ラベルの背景（ベージュ） */
  --nd-dot:       rgba(59,50,38,0.11);  /* 背景のドット（神経の点） */
  --nd-glow:      rgba(21,120,146,0.13); /* ティールのやわらかい光 */
  --nd-glow-2:    rgba(217,201,163,0.40);/* ベージュのやわらかい光 */
  --nd-shadow:    0 3px 12px rgba(59,50,38,0.08); /* カードの影 */

  /* ---- 書体：UDゴシックを最優先 ----
     ① BIZ UDPGothic  … Windows 10/11・Office に標準搭載（＝ダウンロード不要）
                          未搭載の端末には先頭の @import でWebフォント配信
     ② UD デジタル 教科書体 … Windows搭載の別のUD書体（保険）
     ③ Hiragino Sans  … iPhone / Mac の標準書体（UDに近い読みやすさ）
     ④ 以降は最終的な保険 */
  --nd-sans: "BIZ UDPGothic", "BIZ UDPゴシック",
             "UD デジタル 教科書体 NP-R", "UDデジタル教科書体 NP-R",
             "Hiragino Sans", "Hiragino Kaku Gothic ProN",
             "Yu Gothic Medium", YuGothic, "Yu Gothic", Meiryo,
             -apple-system, BlinkMacSystemFont, sans-serif;

  display: block !important;
  background: var(--nd-bg) !important;
  font-family: var(--nd-sans) !important;
  color: var(--nd-text) !important;
  font-size: 16px !important;      /* 本文の基準サイズ＝世界標準 */
  line-height: 1.9 !important;
  overflow-x: hidden !important;

  /* 日本語の読みやすさを整える（いずれも軽量なCSS機能） */
  font-feature-settings: "palt" 1 !important;  /* 文字詰めを自然に */
  word-break: normal !important;               /* 変な位置で改行しない */
  line-break: strict !important;               /* 禁則処理（句読点の位置） */
  letter-spacing: 0.02em !important;
  -webkit-font-smoothing: antialiased !important;
}

.page-id-5868 #ndlp3 *,
.page-id-5868 #ndlp3 *::before,
.page-id-5868 #ndlp3 *::after { box-sizing: border-box !important; }

/* このLP内は太字を700に統一（UDフォントは900を持たないため） */
.page-id-5868 #ndlp3 strong,
.page-id-5868 #ndlp3 b,
.page-id-5868 #ndlp3 h1,
.page-id-5868 #ndlp3 h2,
.page-id-5868 #ndlp3 h3 { font-weight: 700 !important; }

/* 画像は必ず枠内に収める＋縦横比を保つ */
.page-id-5868 #ndlp3 img {
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
}

.page-id-5868 #ndlp3 a { text-decoration: none !important; }

/* 全セクションに左右の余白を強制（親テーマの干渉対策） */
.page-id-5868 #ndlp3 > div {
  padding-left: 22px !important;
  padding-right: 22px !important;
}

/* 内側コンテナ（読みやすい最大幅） */
.page-id-5868 #ndlp3 .nd3-inner {
  width: 100% !important;
  max-width: 960px !important;
  margin: 0 auto !important;
}


/* ==================================================================
   2. 共通パーツ：セクション見出し
   ================================================================== */
.page-id-5868 #ndlp3 .nd3-head {
  margin: 0 0 30px !important;
  padding-left: 0 !important;
  border-left: none !important;
  text-align: center !important;
}

/* 英字ラベル（左右に短い線が入る） */
.page-id-5868 #ndlp3 .nd3-head__en {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 12px !important;          /* 10px→12px：判読できる下限まで引き上げ */
  font-weight: 700 !important;
  letter-spacing: 0.22em !important;
  color: var(--nd-lime-ink) !important;
  text-transform: uppercase !important;
  margin: 0 0 10px !important;
}
.page-id-5868 #ndlp3 .nd3-head__en::before,
.page-id-5868 #ndlp3 .nd3-head__en::after {
  content: "" !important;
  width: 18px !important;
  height: 1px !important;
  background: var(--nd-lime-ink) !important;
}

/* 日本語の大見出し */
.page-id-5868 #ndlp3 .nd3-head__ja {
  display: block !important;
  font-size: 24px !important;          /* 22px→24px */
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  color: var(--nd-text) !important;
  line-height: 1.45 !important;
  margin: 0 !important;
  text-wrap: balance;                  /* 改行位置を自動でバランス良く */
}


/* ==================================================================
   3. 共通パーツ：CTAボタン（緑・丸形）
   ================================================================== */
.page-id-5868 #ndlp3 .nd3-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  min-height: 54px !important;         /* 指でタップしやすい高さ */
  padding: 15px 40px !important;
  background: var(--nd-cta) !important;
  color: #fff !important;
  font-size: 16px !important;          /* 14px→16px */
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  border-radius: 999px !important;
  border: none !important;
  box-shadow: 0 4px 14px rgba(30,132,73,0.28) !important;
  /* 動かすのは transform と影だけ＝スマホでも軽い */
  transition: transform 0.18s ease, background 0.18s ease, box-shadow 0.18s ease !important;
}
.page-id-5868 #ndlp3 .nd3-btn::after {
  content: "→" !important;
  font-size: 16px !important;
  line-height: 1 !important;
}
.page-id-5868 #ndlp3 .nd3-btn:hover {
  background: var(--nd-cta-hover) !important;
  box-shadow: 0 6px 18px rgba(30,132,73,0.34) !important;
  color: #fff !important;
}
/* 押した瞬間に少し沈む（タップした実感が出る） */
.page-id-5868 #ndlp3 .nd3-btn:active { transform: translateY(1px) !important; }


/* ==================================================================
   4. セクション1：ヒーロー（背景アニメーション付き）
   ------------------------------------------------------------------
   構造：3つの層を重ねています。すべて画像ファイル不要（CSSのみ）。
   　　　層1（::before）　… 神経の点（ドット）がゆっくり漂う
   　　　層2（::after）　 … ティールの光が2つ、呼吸するように動く
   　　　層3（__inner::before）… ベージュの光が逆方向に流れる
   動かすのは transform と opacity だけなので、
   スマホでも画面の描き直しが起きず、電池消費もほぼ増えません。
   ================================================================== */
.page-id-5868 #ndlp3 .nd3-hero {
  position: relative !important;
  background: var(--nd-bg) !important;
  padding: 60px 22px 52px !important;
  text-align: center !important;
  border-bottom: none !important;
  overflow: hidden !important;
  isolation: isolate !important;   /* 光の層がこの枠から出ないようにする */
}

/* ---- 層1：神経の点（ドットの網目） ---- */
.page-id-5868 #ndlp3 .nd3-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: -10% !important;          /* 動いても端に隙間ができないよう少し大きめ */
  z-index: 0 !important;
  pointer-events: none !important;
  background-image: radial-gradient(circle, var(--nd-dot) 1.5px, transparent 1.6px) !important;
  background-size: 24px 24px !important;
  /* 中央だけ濃く、外周へ自然に消える */
  -webkit-mask-image: radial-gradient(ellipse at 50% 42%, #000 0%, transparent 72%);
  mask-image: radial-gradient(ellipse at 50% 42%, #000 0%, transparent 72%);
}

/* ---- 層2：ティールの光（2つ） ---- */
.page-id-5868 #ndlp3 .nd3-hero::after {
  content: "" !important;
  position: absolute !important;
  inset: -20% !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background-image:
    radial-gradient(circle at 30% 32%, var(--nd-glow) 0%, transparent 45%),
    radial-gradient(circle at 72% 62%, var(--nd-glow) 0%, transparent 42%) !important;
}

/* ---- 層3：ベージュの光（逆方向に流れる） ---- */
.page-id-5868 #ndlp3 .nd3-hero__inner::before {
  content: "" !important;
  position: absolute !important;
  inset: -60% !important;
  z-index: -1 !important;          /* 文字より後ろに置く */
  pointer-events: none !important;
  background: radial-gradient(circle at 50% 50%, var(--nd-glow-2) 0%, transparent 50%) !important;
}

/* ---- 文字部分 ---- */
.page-id-5868 #ndlp3 .nd3-hero__inner {
  position: relative !important;
  max-width: 680px !important;
  margin: 0 auto !important;
  z-index: 1 !important;
}

.page-id-5868 #ndlp3 .nd3-hero__label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 12px !important;          /* 10px→12px */
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  color: var(--nd-text) !important;
  background: var(--nd-accent2) !important;
  padding: 8px 18px !important;
  border-radius: 999px !important;
  text-transform: uppercase !important;
  margin: 0 0 22px !important;
}

.page-id-5868 #ndlp3 .nd3-hero__title {
  font-size: 44px !important;          /* 42px→44px */
  font-weight: 700 !important;
  letter-spacing: 0.03em !important;
  line-height: 1.05 !important;
  color: var(--nd-text) !important;
  margin: 0 0 16px !important;
  text-transform: uppercase !important;
}
/* 「ZEMI」の部分だけティールに */
.page-id-5868 #ndlp3 .nd3-hero__title .nd3-outline {
  color: var(--nd-lime-ink) !important;
  -webkit-text-stroke: 0 !important;
}

.page-id-5868 #ndlp3 .nd3-hero__jp {
  font-size: 26px !important;          /* 24px→26px */
  font-weight: 700 !important;
  color: var(--nd-text) !important;
  letter-spacing: 0.03em !important;
  margin: 0 0 18px !important;
  line-height: 1.5 !important;
  padding-left: 0 !important;
  border-left: none !important;
}

.page-id-5868 #ndlp3 .nd3-hero__sub {
  font-size: 16px !important;          /* 13px→16px */
  color: var(--nd-text-sub) !important;
  letter-spacing: 0.02em !important;
  line-height: 1.9 !important;
  margin: 0 auto !important;
  max-width: 460px !important;         /* 文字が大きくなった分だけ広げる */
}


/* ==================================================================
   5. セクション2：リード文
   ================================================================== */
.page-id-5868 #ndlp3 .nd3-lead {
  padding: 52px 22px !important;
  background: var(--nd-bg) !important;
  border-bottom: none !important;
  text-align: center !important;
}
.page-id-5868 #ndlp3 .nd3-lead__title {
  font-size: 22px !important;          /* 20px→22px */
  font-weight: 700 !important;
  color: var(--nd-text) !important;
  line-height: 1.75 !important;
  margin: 0 0 22px !important;
  letter-spacing: 0.02em !important;
  text-wrap: balance;
}
.page-id-5868 #ndlp3 .nd3-lead__title .nd3-mark { color: var(--nd-lime-ink) !important; }
.page-id-5868 #ndlp3 .nd3-lead__text {
  font-size: 16px !important;          /* 13px→16px */
  color: var(--nd-text-sub) !important;
  line-height: 2.0 !important;
  letter-spacing: 0.02em !important;
  margin: 0 auto !important;
  max-width: 620px !important;
  padding-left: 0 !important;
  border-left: none !important;
  text-align: left !important;         /* 長文は左寄せの方が読みやすい */
}


/* ==================================================================
   6. セクション3：講師メッセージ
   ================================================================== */
.page-id-5868 #ndlp3 .nd3-instructor {
  padding: 52px 22px !important;
  background: var(--nd-bg-2) !important;
  border-bottom: none !important;
}
.page-id-5868 #ndlp3 .nd3-instructor__card {
  margin-bottom: 30px !important;
  text-align: center !important;
}
.page-id-5868 #ndlp3 .nd3-instructor__photo {
  width: 150px !important;
  height: 194px !important;
  object-fit: cover !important;
  object-position: center 20% !important;
  border-radius: 22px !important;
  border: 3px solid #fff !important;
  box-shadow: 0 4px 14px rgba(59,50,38,0.14) !important;
  margin: 0 auto 22px !important;
}
.page-id-5868 #ndlp3 .nd3-instructor__message-title {
  font-size: 19px !important;          /* 17px→19px */
  font-weight: 700 !important;
  color: var(--nd-text) !important;
  margin: 0 0 16px !important;
  line-height: 1.65 !important;
  padding-left: 0 !important;
  border-left: none !important;
  text-wrap: balance;
}
.page-id-5868 #ndlp3 .nd3-instructor__message-text {
  font-size: 16px !important;          /* 13px→16px */
  color: var(--nd-text-sub) !important;
  line-height: 1.95 !important;
  letter-spacing: 0.02em !important;
  margin: 0 auto 18px !important;
  max-width: 520px !important;
  text-align: left !important;
}
.page-id-5868 #ndlp3 .nd3-instructor__name {
  font-size: 15px !important;          /* 13px→15px */
  color: var(--nd-lime-ink) !important;
  font-weight: 700 !important;
  text-align: center !important;
  line-height: 1.8 !important;
  letter-spacing: 0.04em !important;
  margin: 0 !important;
}

/* プロフィール枠・書籍枠（白いカード） */
.page-id-5868 #ndlp3 .nd3-instructor__profile,
.page-id-5868 #ndlp3 .nd3-instructor__books {
  border-top: none !important;
  background: #fff !important;
  border-radius: 14px !important;
  padding: 22px !important;
  box-shadow: var(--nd-shadow) !important;
}
.page-id-5868 #ndlp3 .nd3-instructor__profile { margin-bottom: 20px !important; }

.page-id-5868 #ndlp3 .nd3-instructor__profile-text {
  font-size: 15px !important;          /* 12px→15px */
  color: var(--nd-text-sub) !important;
  line-height: 1.95 !important;
  letter-spacing: 0.02em !important;
  margin: 0 !important;
  text-align: left !important;
}
.page-id-5868 #ndlp3 .nd3-instructor__profile-text a {
  color: var(--nd-aqua) !important;
  text-decoration: underline !important;   /* リンクは下線ありが標準 */
  text-underline-offset: 3px !important;
  word-break: break-all !important;        /* 長いURLを枠内で折り返す */
}
.page-id-5868 #ndlp3 .nd3-instructor__books-label {
  font-size: 12px !important;          /* 10px→12px */
  font-weight: 700 !important;
  color: var(--nd-lime-ink) !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  margin: 0 0 12px !important;
}
.page-id-5868 #ndlp3 .nd3-instructor__books-text {
  font-size: 15px !important;          /* 12px→15px */
  color: var(--nd-text-sub) !important;
  line-height: 1.95 !important;
  margin: 0 0 20px !important;
  text-align: left !important;
}

/* 書影は横スクロール。指で気持ちよく止まるようにする */
.page-id-5868 #ndlp3 .nd3-instructor__books-images {
  display: flex !important;
  gap: 12px !important;
  overflow-x: auto !important;
  padding-bottom: 8px !important;
  -webkit-overflow-scrolling: touch !important;
  scroll-snap-type: x proximity !important;
  scrollbar-width: thin !important;
}
.page-id-5868 #ndlp3 .nd3-book-img {
  width: 96px !important;
  flex-shrink: 0 !important;
  border-radius: 8px !important;
  border: none !important;
  box-shadow: 0 2px 8px rgba(59,50,38,0.12) !important;
  scroll-snap-align: start !important;
}


/* ==================================================================
   7. セクション4：訴求コピー
   ================================================================== */
.page-id-5868 #ndlp3 .nd3-appeal {
  position: relative !important;
  background: var(--nd-bg) !important;
  padding: 52px 22px !important;
  text-align: center !important;
  border-bottom: none !important;
  overflow: hidden !important;
}
/* やわらかいティールの光をうっすら（静止・負荷ゼロ） */
.page-id-5868 #ndlp3 .nd3-appeal::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background: radial-gradient(circle at 50% 50%, var(--nd-glow) 0%, transparent 58%) !important;
}
.page-id-5868 #ndlp3 .nd3-appeal__inner {
  position: relative !important;
  z-index: 1 !important;
}
.page-id-5868 #ndlp3 .nd3-appeal__title {
  font-size: 19px !important;          /* 16px→19px */
  font-weight: 700 !important;
  color: var(--nd-text) !important;
  line-height: 1.8 !important;
  letter-spacing: 0.02em !important;
  margin: 0 auto 30px !important;
  max-width: 540px !important;
  text-wrap: balance;
}
.page-id-5868 #ndlp3 .nd3-appeal__title em {
  font-style: normal !important;
  color: var(--nd-lime-ink) !important;
}


/* ==================================================================
   8. セクション5：ゼミの概要（4枚のカード）
   ================================================================== */
.page-id-5868 #ndlp3 .nd3-overview {
  padding: 52px 22px !important;
  background: var(--nd-bg) !important;
  border-bottom: none !important;
}
.page-id-5868 #ndlp3 .nd3-overview__intro {
  font-size: 16px !important;          /* 13px→16px */
  color: var(--nd-text-sub) !important;
  line-height: 1.95 !important;
  letter-spacing: 0.02em !important;
  margin: 0 auto 30px !important;
  max-width: 620px !important;
  padding-left: 0 !important;
  border-left: none !important;
  text-align: left !important;
}

.page-id-5868 #ndlp3 .nd3-feature-card {
  background: #fff !important;
  border: none !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  margin-bottom: 16px !important;
  box-shadow: var(--nd-shadow) !important;
}
.page-id-5868 #ndlp3 .nd3-feature-card:last-child { margin-bottom: 0 !important; }

/* カードの写真部分。
   content-visibility ＝画面に近づくまで画像を読み込まない（初回表示が軽い） */
.page-id-5868 #ndlp3 .nd3-feature-card__img {
  width: 100% !important;
  height: 170px !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-color: var(--nd-bg-2) !important;  /* 読込前の下地色 */
  content-visibility: auto !important;
  contain-intrinsic-size: auto 170px !important;
}

.page-id-5868 #ndlp3 .nd3-feature-card__body { padding: 22px !important; }
.page-id-5868 #ndlp3 .nd3-feature-card__title {
  font-size: 18px !important;          /* 15px→18px */
  font-weight: 700 !important;
  color: var(--nd-text) !important;
  margin: 0 0 12px !important;
  line-height: 1.55 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}
/* 丸い連番バッジ（01〜05） */
.page-id-5868 #ndlp3 .nd3-feature-card__num,
.page-id-5868 #ndlp3 .nd3-point__num {
  flex: 0 0 auto !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  background: var(--nd-lime) !important;
  color: #fff !important;
  font-size: 14px !important;          /* 12px→14px */
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  letter-spacing: 0 !important;
}
.page-id-5868 #ndlp3 .nd3-feature-card__text {
  font-size: 16px !important;          /* 12.5px→16px */
  color: var(--nd-text-sub) !important;
  line-height: 1.9 !important;
  margin: 0 !important;
}


/* ==================================================================
   9. セクション6：本ゼミの対象となる方
   ================================================================== */
.page-id-5868 #ndlp3 .nd3-target {
  padding: 52px 22px !important;
  background: var(--nd-bg-2) !important;
  border-bottom: none !important;
}
.page-id-5868 #ndlp3 .nd3-target__list {
  margin: 0 0 30px !important;
  background: #fff !important;
  border-radius: 16px !important;
  padding: 6px 22px !important;
  box-shadow: var(--nd-shadow) !important;
}
.page-id-5868 #ndlp3 .nd3-target__item {
  padding: 16px 0 16px 30px !important;
  border-bottom: 1px solid var(--nd-line) !important;
  position: relative !important;
}
.page-id-5868 #ndlp3 .nd3-target__item:last-child { border-bottom: none !important; }
.page-id-5868 #ndlp3 .nd3-target__item::before {
  content: "" !important;
  position: absolute !important;
  left: 2px !important;
  top: 24px !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  border: 2.5px solid var(--nd-lime) !important;  /* ○を図形で描く＝どの端末でも同じ形 */
}
.page-id-5868 #ndlp3 .nd3-target__text {
  font-size: 16px !important;          /* 13px→16px */
  color: var(--nd-text) !important;
  line-height: 1.85 !important;
  margin: 0 !important;
}
.page-id-5868 #ndlp3 .nd3-target__cta { text-align: center !important; }


/* ==================================================================
   10. 動画セクション
   ================================================================== */
.page-id-5868 #ndlp3 .nd3-videosection {
  padding: 52px 22px !important;
  background: var(--nd-bg) !important;
  border-bottom: none !important;
}
.page-id-5868 #ndlp3 .nd3-video { text-align: center !important; }
.page-id-5868 #ndlp3 .nd3-video iframe {
  width: 100% !important;
  max-width: 640px !important;
  aspect-ratio: 16 / 9 !important;     /* 縦横比を固定＝表示のガタつきを防ぐ */
  height: auto !important;
  border: none !important;
  border-radius: 16px !important;
  box-shadow: 0 3px 12px rgba(59,50,38,0.10) !important;
  background: var(--nd-bg-3) !important;
}


/* ==================================================================
   11. セクション7：どんな人が学んでいるの？（グラフ）
   ================================================================== */
.page-id-5868 #ndlp3 .nd3-survey {
  padding: 52px 22px !important;
  background: var(--nd-bg-2) !important;
  border-bottom: none !important;
}
.page-id-5868 #ndlp3 .nd3-survey__intro,
.page-id-5868 #ndlp3 .nd3-survey__note {
  font-size: 16px !important;          /* 12.5〜13px→16px */
  color: var(--nd-text-sub) !important;
  line-height: 1.9 !important;
  max-width: 560px !important;
  text-align: left !important;
}
.page-id-5868 #ndlp3 .nd3-survey__intro { margin: 0 auto 30px !important; }
.page-id-5868 #ndlp3 .nd3-survey__note  { margin: 26px auto !important; }

.page-id-5868 #ndlp3 .nd3-survey__chart-block {
  margin-bottom: 16px !important;
  padding: 26px 22px !important;
  background: #fff !important;
  border: none !important;
  border-radius: 16px !important;
  box-shadow: var(--nd-shadow) !important;
}
.page-id-5868 #ndlp3 .nd3-survey__chart-title {
  font-size: 16px !important;          /* 13px→16px */
  font-weight: 700 !important;
  color: var(--nd-text) !important;
  margin: 0 0 20px !important;
  padding-left: 0 !important;
  border-left: none !important;
  text-align: center !important;
}

/* ---- 円グラフ（CSSのconic-gradientで描画。画像不要） ---- */
.page-id-5868 #ndlp3 .nd3-pie-chart { display: block !important; text-align: center !important; }
.page-id-5868 #ndlp3 .nd3-pie-chart__visual {
  margin: 0 auto 22px !important;
  width: 180px !important;
  height: 180px !important;
}
.page-id-5868 #ndlp3 .nd3-pie {
  width: 180px !important;
  height: 180px !important;
  border-radius: 50% !important;
  margin: 0 auto !important;
  background: conic-gradient(
    var(--nd-lime) 0deg 184deg,   /* はい 51.1% */
    #7fb9c9      184deg 270deg,   /* 一部関連 23.9% */
    #d7e6ea      270deg 360deg    /* いいえ 25% */
  ) !important;
  box-shadow: 0 2px 10px rgba(59,50,38,0.10) !important;
}

/* ---- 凡例：色の丸をCSSだけで表示（HTMLの変更は不要） ---- */
.page-id-5868 #ndlp3 .nd3-pie-chart__legend {
  display: inline-block !important;
  text-align: left !important;
}
.page-id-5868 #ndlp3 .nd3-legend-item {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 10px !important;
  font-size: 15px !important;          /* 12px→15px */
  color: var(--nd-text) !important;
  line-height: 1.6 !important;
}
.page-id-5868 #ndlp3 .nd3-legend-item::before {
  content: "" !important;
  flex: 0 0 auto !important;
  width: 14px !important;
  height: 14px !important;
  border-radius: 50% !important;
}
/* 上から順に、円グラフと同じ色を割り当てる */
.page-id-5868 #ndlp3 .nd3-legend-item:nth-child(1)::before { background: var(--nd-lime) !important; }
.page-id-5868 #ndlp3 .nd3-legend-item:nth-child(2)::before { background: #7fb9c9 !important; }
.page-id-5868 #ndlp3 .nd3-legend-item:nth-child(3)::before { background: #d7e6ea !important; border: 1px solid var(--nd-line) !important; }

/* ---- 棒グラフ ---- */
.page-id-5868 #ndlp3 .nd3-bar-chart { max-width: 480px !important; margin: 0 auto !important; }
.page-id-5868 #ndlp3 .nd3-bar-item { margin-bottom: 18px !important; }
.page-id-5868 #ndlp3 .nd3-bar-item:last-child { margin-bottom: 0 !important; }
.page-id-5868 #ndlp3 .nd3-bar-item__label {
  font-size: 15px !important;          /* 12px→15px */
  color: var(--nd-text) !important;
  margin-bottom: 8px !important;
  font-weight: 700 !important;
}
.page-id-5868 #ndlp3 .nd3-bar-item__track {
  width: 100% !important;
  height: 18px !important;
  border-radius: 9px !important;
  background: var(--nd-bg-3) !important;
  overflow: hidden !important;
}
.page-id-5868 #ndlp3 .nd3-bar-item__fill {
  height: 100% !important;
  min-width: 4px !important;
  border-radius: 9px !important;
  background: var(--nd-lime) !important;
}


/* ==================================================================
   12. セクション8：ゼミ生のリアルなお声
   ================================================================== */
.page-id-5868 #ndlp3 .nd3-voices {
  padding: 52px 22px !important;
  background: var(--nd-bg) !important;
  border-bottom: none !important;
}
.page-id-5868 #ndlp3 .nd3-voice-item {
  position: relative !important;
  background: #fff !important;
  padding: 22px !important;
  margin-bottom: 14px !important;
  border: none !important;
  border-radius: 16px !important;
  box-shadow: var(--nd-shadow) !important;
  text-align: left !important;          /* 長文は左寄せで読みやすく */
}
.page-id-5868 #ndlp3 .nd3-voice-item:last-child { margin-bottom: 0 !important; }
.page-id-5868 #ndlp3 .nd3-voice-item__who {
  font-size: 14px !important;          /* 11px→14px */
  font-weight: 700 !important;
  color: var(--nd-lime-ink) !important;
  letter-spacing: 0.04em !important;
  margin: 0 0 10px !important;
}
.page-id-5868 #ndlp3 .nd3-voice-item__text {
  font-size: 16px !important;          /* 13px→16px */
  color: var(--nd-text) !important;
  line-height: 1.9 !important;
  margin: 0 !important;
}


/* ==================================================================
   13. セクション9：学びを深められる5つのポイント
   ================================================================== */
.page-id-5868 #ndlp3 .nd3-points {
  padding: 52px 22px !important;
  background: var(--nd-bg) !important;
  border-bottom: none !important;
}
.page-id-5868 #ndlp3 .nd3-point {
  display: block !important;
  border-bottom: 1px solid var(--nd-line) !important;
  padding: 24px 0 !important;
}
.page-id-5868 #ndlp3 .nd3-point:last-of-type { border-bottom: none !important; }

/* 見出し：番号バッジを左、文字を右に横並び */
.page-id-5868 #ndlp3 .nd3-point__title {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px !important;
  font-size: 17px !important;          /* 13.5px→17px */
  font-weight: 700 !important;
  color: var(--nd-text) !important;
  margin: 0 0 10px !important;
  line-height: 1.6 !important;
}
/* 本文：番号バッジの幅ぶん字下げして、視線の流れをそろえる */
.page-id-5868 #ndlp3 .nd3-point__text {
  display: block !important;
  font-size: 16px !important;          /* 12.5px→16px */
  color: var(--nd-text-sub) !important;
  line-height: 1.9 !important;
  margin: 0 !important;
  padding-left: 46px !important;
}
.page-id-5868 #ndlp3 .nd3-points__cta {
  text-align: center !important;
  padding-top: 28px !important;
}


/* ==================================================================
   14. セクション10：これまでの定例会（アコーディオン）
   ================================================================== */
.page-id-5868 #ndlp3 .nd3-seminars {
  padding: 52px 22px !important;
  background: var(--nd-bg-2) !important;
  border-bottom: none !important;
}
/* 長い一覧なので、画面外にある間は描画を省略して軽量化 */
.page-id-5868 #ndlp3 .nd3-seminars__box {
  background: #fff !important;
  border: none !important;
  border-radius: 16px !important;
  padding: 24px 22px !important;
  box-shadow: var(--nd-shadow) !important;
  content-visibility: auto !important;
  contain-intrinsic-size: auto 460px !important;
}
.page-id-5868 #ndlp3 .nd3-seminars__list {
  font-size: 15px !important;          /* 12.5px→15px */
  color: var(--nd-text-sub) !important;
  line-height: 2.0 !important;
  margin: 0 !important;
}
.page-id-5868 #ndlp3 .nd3-seminars__list strong {
  color: var(--nd-lime-ink) !important;
  font-weight: 700 !important;
}

/* details / summary（開閉パーツ）の見た目を整える */
.page-id-5868 #ndlp3 .nd3-seminar-details summary {
  list-style: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
}
.page-id-5868 #ndlp3 .nd3-seminar-details summary::-webkit-details-marker { display: none !important; }
.page-id-5868 #ndlp3 .nd3-seminar-details[open] .nd3-more-btn-wrap { display: none !important; }

.page-id-5868 #ndlp3 .nd3-more-btn-wrap {
  text-align: center !important;
  margin-top: 18px !important;
}
.page-id-5868 #ndlp3 .nd3-more-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;         /* 指でタップしやすい高さ */
  padding: 12px 30px !important;
  background: var(--nd-bg) !important;
  color: var(--nd-lime-ink) !important;
  border: 1px solid var(--nd-line) !important;
  border-radius: 999px !important;
  font-size: 15px !important;          /* 12px→15px */
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  cursor: pointer !important;
  transition: background 0.18s ease, color 0.18s ease !important;
}
.page-id-5868 #ndlp3 .nd3-more-btn:hover {
  background: var(--nd-lime) !important;
  color: #fff !important;
  border-color: var(--nd-lime) !important;
}


/* ==================================================================
   15. セクション11：ご登壇いただいた特別講師
   ================================================================== */
.page-id-5868 #ndlp3 .nd3-guests {
  padding: 52px 22px !important;
  background: var(--nd-bg) !important;
  border-bottom: none !important;
}
.page-id-5868 #ndlp3 .nd3-guests__box {
  background: #fff !important;
  border: none !important;
  border-radius: 16px !important;
  padding: 6px 22px !important;
  box-shadow: var(--nd-shadow) !important;
}
.page-id-5868 #ndlp3 .nd3-guest-item {
  font-size: 15px !important;          /* 12.5px→15px */
  color: var(--nd-text-sub) !important;
  line-height: 1.85 !important;
  padding: 18px 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--nd-line) !important;
}
.page-id-5868 #ndlp3 .nd3-guest-item:last-child { border-bottom: none !important; }
.page-id-5868 #ndlp3 .nd3-guest-item strong {
  color: var(--nd-text) !important;
  font-weight: 700 !important;
}


/* ==================================================================
   16. セクション12：ゼミ月会費
   ================================================================== */
.page-id-5868 #ndlp3 .nd3-entry {
  padding: 52px 22px !important;
  background: var(--nd-bg-2) !important;
  border-bottom: none !important;
  scroll-margin-top: 20px !important;
}
.page-id-5868 #ndlp3 .nd3-entry__price {
  background: #fff !important;
  border: none !important;
  border-radius: 18px !important;
  padding: 30px 24px !important;
  text-align: center !important;
  margin-bottom: 26px !important;
  box-shadow: var(--nd-shadow) !important;
}
.page-id-5868 #ndlp3 .nd3-entry__price-label {
  font-size: 14px !important;          /* 11px→14px */
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  color: var(--nd-lime-ink) !important;
  margin: 0 0 12px !important;
}
.page-id-5868 #ndlp3 .nd3-entry__price-value {
  font-size: 20px !important;          /* 金額の数字（スマホ）：40px の半分 */
  font-weight: 700 !important;
  color: var(--nd-text) !important;
  line-height: 1.1 !important;
  margin: 0 0 12px !important;
  font-variant-numeric: tabular-nums !important;
}
.page-id-5868 #ndlp3 .nd3-entry__price-value .nd3-entry__price-unit {
  font-size: 16px !important;          /* 13px→16px */
  font-weight: 700 !important;
  color: var(--nd-text-sub) !important;
  margin-left: 8px !important;
}
.page-id-5868 #ndlp3 .nd3-entry__price-note {
  font-size: 14px !important;          /* 11.5px→14px */
  color: var(--nd-text-sub) !important;
  line-height: 1.85 !important;
  margin: 0 !important;
}
.page-id-5868 #ndlp3 .nd3-entry__cta { text-align: center !important; }


/* ==================================================================
   17. セクション13：よくある質問
   ================================================================== */
.page-id-5868 #ndlp3 .nd3-faq {
  padding: 52px 22px !important;
  background: var(--nd-bg) !important;
  border-bottom: none !important;
}
.page-id-5868 #ndlp3 .nd3-faq-item {
  border: none !important;
  border-radius: 16px !important;
  margin-bottom: 12px !important;
  background: #fff !important;
  box-shadow: var(--nd-shadow) !important;
}
.page-id-5868 #ndlp3 .nd3-faq-item:last-child { margin-bottom: 0 !important; }
.page-id-5868 #ndlp3 .nd3-faq-item summary {
  list-style: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
  padding: 18px 50px 18px 56px !important;
  position: relative !important;
  font-size: 16px !important;          /* 13px→16px */
  font-weight: 700 !important;
  color: var(--nd-text) !important;
  line-height: 1.65 !important;
}
.page-id-5868 #ndlp3 .nd3-faq-item summary::-webkit-details-marker { display: none !important; }

/* 質問の「Q」バッジ */
.page-id-5868 #ndlp3 .nd3-faq-item summary::before {
  content: "Q" !important;
  position: absolute !important;
  left: 18px !important;
  top: 17px !important;
  width: 26px !important;
  height: 26px !important;
  background: var(--nd-lime) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
/* 開閉の「＋」マーク（開くと×に回転） */
.page-id-5868 #ndlp3 .nd3-faq-item summary::after {
  content: "+" !important;
  position: absolute !important;
  right: 20px !important;
  top: 13px !important;
  font-size: 26px !important;
  font-weight: 400 !important;
  color: var(--nd-lime-ink) !important;
  transition: transform 0.18s ease !important;
}
.page-id-5868 #ndlp3 .nd3-faq-item[open] summary::after { transform: rotate(45deg) !important; }

.page-id-5868 #ndlp3 .nd3-faq-a {
  padding: 2px 22px 20px 56px !important;
  font-size: 15px !important;          /* 12.5px→15px */
  color: var(--nd-text-sub) !important;
  line-height: 1.95 !important;
  position: relative !important;
  margin: 0 !important;
}
/* 回答の「A」バッジ */
.page-id-5868 #ndlp3 .nd3-faq-a::before {
  content: "A" !important;
  position: absolute !important;
  left: 18px !important;
  top: 2px !important;
  width: 26px !important;
  height: 26px !important;
  background: var(--nd-bg-3) !important;
  color: var(--nd-text) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.page-id-5868 #ndlp3 .nd3-faq-a a {
  color: var(--nd-aqua) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  word-break: break-all !important;
}


/* ==================================================================
   18. セクション14：運営事業者
   ================================================================== */
.page-id-5868 #ndlp3 .nd3-operator {
  padding: 52px 22px !important;
  background: var(--nd-bg-2) !important;
}
.page-id-5868 #ndlp3 .nd3-operator__card {
  background: #fff !important;
  border: none !important;
  border-radius: 18px !important;
  padding: 30px 24px !important;
  box-shadow: var(--nd-shadow) !important;
}
.page-id-5868 #ndlp3 .nd3-operator__logo-wrap {
  text-align: center !important;
  margin-bottom: 20px !important;
}
.page-id-5868 #ndlp3 .nd3-operator__logo {
  width: 92px !important;
  height: 92px !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  margin: 0 auto !important;
  border: 3px solid var(--nd-bg-2) !important;
}
.page-id-5868 #ndlp3 .nd3-operator__name {
  font-size: 17px !important;          /* 14px→17px */
  font-weight: 700 !important;
  color: var(--nd-text) !important;
  text-align: center !important;
  margin: 0 0 16px !important;
  line-height: 1.6 !important;
}
.page-id-5868 #ndlp3 .nd3-operator__text {
  font-size: 15px !important;          /* 12px→15px */
  color: var(--nd-text-sub) !important;
  line-height: 1.95 !important;
  margin: 0 0 20px !important;
  text-align: left !important;
}
.page-id-5868 #ndlp3 .nd3-operator__contact {
  border-top: none !important;
  background: var(--nd-bg-2) !important;
  border-radius: 12px !important;
  padding: 16px 18px !important;
}
.page-id-5868 #ndlp3 .nd3-operator__contact-item {
  font-size: 15px !important;          /* 12px→15px */
  color: var(--nd-text) !important;
  line-height: 1.9 !important;
  margin: 0 0 6px !important;
  text-align: center !important;
}
.page-id-5868 #ndlp3 .nd3-operator__contact-item strong {
  color: var(--nd-lime-ink) !important;
  font-weight: 700 !important;
  margin-right: 8px !important;
}
.page-id-5868 #ndlp3 .nd3-operator__contact-item a {
  color: var(--nd-aqua) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}


/* ==================================================================
   19. パソコン・タブレット向け（768px以上）
   ================================================================== */
@media (min-width: 768px) {

  /* 共通見出し */
  .page-id-5868 #ndlp3 .nd3-head__ja { font-size: 30px !important; }

  /* ヒーロー */
  .page-id-5868 #ndlp3 .nd3-hero { padding: 100px 40px 80px !important; }
  .page-id-5868 #ndlp3 .nd3-hero__title { font-size: 68px !important; letter-spacing: 0.02em !important; }
  .page-id-5868 #ndlp3 .nd3-hero__jp { font-size: 34px !important; }
  .page-id-5868 #ndlp3 .nd3-hero__sub { font-size: 17px !important; max-width: 540px !important; }

  /* リード文 */
  .page-id-5868 #ndlp3 .nd3-lead { padding: 72px 40px !important; }
  .page-id-5868 #ndlp3 .nd3-lead__title { font-size: 28px !important; }
  .page-id-5868 #ndlp3 .nd3-lead__text { font-size: 17px !important; max-width: 680px !important; }

  /* 講師メッセージ */
  .page-id-5868 #ndlp3 .nd3-instructor { padding: 72px 40px !important; }
  .page-id-5868 #ndlp3 .nd3-instructor__card { display: block !important; text-align: center !important; }
  .page-id-5868 #ndlp3 .nd3-instructor__photo { width: 180px !important; height: 232px !important; }
  .page-id-5868 #ndlp3 .nd3-instructor__message-title { font-size: 22px !important; }
  .page-id-5868 #ndlp3 .nd3-instructor__message-text { font-size: 17px !important; }
  .page-id-5868 #ndlp3 .nd3-instructor__message-text,
  .page-id-5868 #ndlp3 .nd3-instructor__profile,
  .page-id-5868 #ndlp3 .nd3-instructor__books {
    max-width: 620px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .page-id-5868 #ndlp3 .nd3-instructor__profile-text,
  .page-id-5868 #ndlp3 .nd3-instructor__books-text { font-size: 16px !important; }
  .page-id-5868 #ndlp3 .nd3-book-img { width: 110px !important; }

  /* 訴求コピー */
  .page-id-5868 #ndlp3 .nd3-appeal { padding: 72px 40px !important; }
  .page-id-5868 #ndlp3 .nd3-appeal__title { font-size: 24px !important; max-width: 680px !important; }
  .page-id-5868 #ndlp3 .nd3-appeal__title br.nd3-brk-sp { display: none !important; }

  /* ゼミの概要：カードを写真＋本文の横並びに */
  .page-id-5868 #ndlp3 .nd3-overview { padding: 96px 40px !important; }
  .page-id-5868 #ndlp3 .nd3-overview__intro { font-size: 17px !important; max-width: 680px !important; }
  .page-id-5868 #ndlp3 .nd3-feature-card { display: flex !important; align-items: stretch !important; }
  .page-id-5868 #ndlp3 .nd3-feature-card__img {
    flex: 0 0 40% !important;
    height: auto !important;
    min-height: 200px !important;
    contain-intrinsic-size: auto 200px !important;
  }
  .page-id-5868 #ndlp3 .nd3-feature-card__body { flex: 1 !important; padding: 32px !important; }
  .page-id-5868 #ndlp3 .nd3-feature-card__title { font-size: 19px !important; }
  .page-id-5868 #ndlp3 .nd3-feature-card__text { font-size: 16.5px !important; }

  /* 対象となる方 */
  .page-id-5868 #ndlp3 .nd3-target { padding: 96px 40px !important; }
  .page-id-5868 #ndlp3 .nd3-target__text { font-size: 17px !important; }

  /* 動画・アンケート */
  .page-id-5868 #ndlp3 .nd3-videosection { padding: 96px 40px !important; }
  .page-id-5868 #ndlp3 .nd3-survey { padding: 96px 40px !important; }
  .page-id-5868 #ndlp3 .nd3-survey__intro,
  .page-id-5868 #ndlp3 .nd3-survey__note { font-size: 17px !important; max-width: 620px !important; }
  .page-id-5868 #ndlp3 .nd3-pie-chart__visual,
  .page-id-5868 #ndlp3 .nd3-pie { width: 240px !important; height: 240px !important; }

  /* ゼミ生の声 */
  .page-id-5868 #ndlp3 .nd3-voices { padding: 96px 40px !important; }
  .page-id-5868 #ndlp3 .nd3-voice-item { padding: 30px 34px !important; }
  .page-id-5868 #ndlp3 .nd3-voice-item__text { font-size: 17px !important; }

  /* 5つのポイント */
  .page-id-5868 #ndlp3 .nd3-points { padding: 96px 40px !important; }
  .page-id-5868 #ndlp3 .nd3-point__title { font-size: 19px !important; }
  .page-id-5868 #ndlp3 .nd3-point__text { font-size: 16.5px !important; }

  /* 定例会アーカイブ・特別講師 */
  .page-id-5868 #ndlp3 .nd3-seminars { padding: 96px 40px !important; }
  .page-id-5868 #ndlp3 .nd3-seminars__box { padding: 36px !important; }
  .page-id-5868 #ndlp3 .nd3-seminars__list { font-size: 16px !important; }
  .page-id-5868 #ndlp3 .nd3-guests { padding: 96px 40px !important; }
  .page-id-5868 #ndlp3 .nd3-guest-item { font-size: 16px !important; }

  /* 月会費・FAQ */
  .page-id-5868 #ndlp3 .nd3-entry { padding: 96px 40px !important; }
  .page-id-5868 #ndlp3 .nd3-entry__price-value { font-size: 30px !important; }   /* 金額の数字（パソコン）：60px の半分 */
  .page-id-5868 #ndlp3 .nd3-faq { padding: 96px 40px !important; }
  .page-id-5868 #ndlp3 .nd3-faq-item summary { font-size: 17px !important; }
  .page-id-5868 #ndlp3 .nd3-faq-a { font-size: 16px !important; }

  /* 運営事業者：ロゴと本文を横並びに */
  .page-id-5868 #ndlp3 .nd3-operator { padding: 96px 40px !important; }
  .page-id-5868 #ndlp3 .nd3-operator__card {
    display: flex !important;
    align-items: flex-start !important;
    gap: 40px !important;
    text-align: left !important;
    padding: 40px !important;
  }
  .page-id-5868 #ndlp3 .nd3-operator__logo-wrap { flex: 0 0 160px !important; margin-bottom: 0 !important; }
  .page-id-5868 #ndlp3 .nd3-operator__body { flex: 1 !important; }
  .page-id-5868 #ndlp3 .nd3-operator__name { text-align: left !important; font-size: 19px !important; }
  .page-id-5868 #ndlp3 .nd3-operator__text { font-size: 16px !important; }
  .page-id-5868 #ndlp3 .nd3-operator__contact-item { text-align: left !important; font-size: 16px !important; }
}


/* ==================================================================
   20. モーション（動き）
   ・JavaScriptは一切使いません
   ・動かすのは transform と opacity だけ
   　＝画面の描き直しが起きず、スマホでも滑らか・省電力
   ・端末の「視差効果を減らす」設定を選んでいる方には動きません
   ================================================================== */
@media (prefers-reduced-motion: no-preference) {

  /* ---- ヒーロー背景アニメーション（3つの層がゆっくり流れる）---- */

  /* 層1：神経の点が、ななめにゆっくり漂う（32秒で往復） */
  .page-id-5868 #ndlp3 .nd3-hero::before {
    animation: nd3-drift-dots 32s ease-in-out infinite alternate;
  }
  /* 層2：ティールの光が、呼吸するように膨らむ（22秒で往復） */
  .page-id-5868 #ndlp3 .nd3-hero::after {
    animation: nd3-breathe-glow 22s ease-in-out infinite alternate;
  }
  /* 層3：ベージュの光が、層2とは逆方向に流れる（38秒で往復） */
  .page-id-5868 #ndlp3 .nd3-hero__inner::before {
    animation: nd3-drift-warm 38s ease-in-out infinite alternate;
  }

  /* ---- ページを開いた瞬間、ヒーローの文字がふわっと立ち上がる ---- */
  .page-id-5868 #ndlp3 .nd3-hero__label,
  .page-id-5868 #ndlp3 .nd3-hero__title,
  .page-id-5868 #ndlp3 .nd3-hero__jp,
  .page-id-5868 #ndlp3 .nd3-hero__sub {
    animation: nd3-hero-in 0.85s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  /* 上から順番に、少しずつ遅れて登場させる */
  .page-id-5868 #ndlp3 .nd3-hero__label { animation-delay: 0.05s !important; }
  .page-id-5868 #ndlp3 .nd3-hero__title { animation-delay: 0.18s !important; }
  .page-id-5868 #ndlp3 .nd3-hero__jp    { animation-delay: 0.31s !important; }
  .page-id-5868 #ndlp3 .nd3-hero__sub   { animation-delay: 0.44s !important; }

  /* ---- ここから下はスクロール連動。対応ブラウザだけで有効 ---- */
  @supports (animation-timeline: view()) {

    /* 画面に入ってきたら、ふわっと浮かび上がる要素 */
    .page-id-5868 #ndlp3 .nd3-head,
    .page-id-5868 #ndlp3 .nd3-feature-card,
    .page-id-5868 #ndlp3 .nd3-target__item,
    .page-id-5868 #ndlp3 .nd3-voice-item,
    .page-id-5868 #ndlp3 .nd3-point,
    .page-id-5868 #ndlp3 .nd3-guest-item,
    .page-id-5868 #ndlp3 .nd3-faq-item,
    .page-id-5868 #ndlp3 .nd3-entry__price,
    .page-id-5868 #ndlp3 .nd3-operator__card {
      animation: nd3-reveal linear both;
      animation-timeline: view();            /* 自分が見えた割合で進行 */
      animation-range: entry 0% entry 45%;   /* 画面に45%入るまでに完了 */
    }

    /* 写真・書影・ロゴは、少し拡大しながら現れる */
    .page-id-5868 #ndlp3 .nd3-instructor__photo,
    .page-id-5868 #ndlp3 .nd3-book-img,
    .page-id-5868 #ndlp3 .nd3-operator__logo {
      animation: nd3-zoom linear both;
      animation-timeline: view();
      animation-range: entry 0% entry 50%;
    }

    /* 円グラフがくるりと現れる */
    .page-id-5868 #ndlp3 .nd3-pie {
      animation: nd3-pie-in linear both;
      animation-timeline: view();
      animation-range: entry 0% entry 60%;
    }

    /* 棒グラフが左からスーッと伸びる */
    .page-id-5868 #ndlp3 .nd3-bar-item__fill {
      transform-origin: left center !important;
      animation: nd3-bar linear both;
      animation-timeline: view();
      animation-range: entry 0% entry 70%;
    }
  }

  /* ---- マウス操作の環境だけ、カードにホバー効果（スマホには影響なし）---- */
  @media (hover: hover) and (pointer: fine) {
    .page-id-5868 #ndlp3 .nd3-feature-card,
    .page-id-5868 #ndlp3 .nd3-voice-item,
    .page-id-5868 #ndlp3 .nd3-faq-item {
      transition: transform 0.22s ease, box-shadow 0.22s ease !important;
    }
    .page-id-5868 #ndlp3 .nd3-feature-card:hover,
    .page-id-5868 #ndlp3 .nd3-voice-item:hover,
    .page-id-5868 #ndlp3 .nd3-faq-item:hover {
      transform: translateY(-4px) !important;
      box-shadow: 0 10px 24px rgba(59,50,38,0.13) !important;
    }
  }
}

/* ---- 動きの中身（キーフレーム）---- */

/* 神経の点が、ななめにゆっくり漂う */
@keyframes nd3-drift-dots {
  from { transform: translate3d(0, 0, 0) scale(1); }
  to   { transform: translate3d(-3%, -2%, 0) scale(1.06); }
}

/* ティールの光が、呼吸するように膨らむ */
@keyframes nd3-breathe-glow {
  from { transform: translate3d(0, 0, 0) scale(1);    opacity: 0.85; }
  to   { transform: translate3d(4%, 3%, 0) scale(1.18); opacity: 1; }
}

/* ベージュの光が、逆方向に流れる */
@keyframes nd3-drift-warm {
  from { transform: translate3d(-6%, 3%, 0) scale(1); }
  to   { transform: translate3d(6%, -3%, 0) scale(1.12); }
}

/* ふわっと浮かび上がる（スクロール連動用） */
@keyframes nd3-reveal {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: none; }
}

/* 少し拡大しながら現れる */
@keyframes nd3-zoom {
  from { opacity: 0; transform: scale(0.94); }
  to   { opacity: 1; transform: none; }
}

/* 円グラフが少し回りながら現れる */
@keyframes nd3-pie-in {
  from { opacity: 0; transform: scale(0.9) rotate(-12deg); }
  to   { opacity: 1; transform: none; }
}

/* 棒グラフが左から伸びる */
@keyframes nd3-bar {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}

/* ヒーローの文字の登場 */
@keyframes nd3-hero-in {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: none; }
}


/* ==================================================================
   21. アクセシビリティ（誰にとっても使いやすくするための配慮）
   ================================================================== */

/* キーボードのTabキーで操作している時、いまどこにいるかを明示する */
.page-id-5868 #ndlp3 .nd3-btn:focus-visible,
.page-id-5868 #ndlp3 .nd3-more-btn:focus-visible,
.page-id-5868 #ndlp3 .nd3-faq-item summary:focus-visible,
.page-id-5868 #ndlp3 .nd3-seminar-details summary:focus-visible,
.page-id-5868 #ndlp3 a:focus-visible {
  outline: 3px solid var(--nd-lime-ink) !important;
  outline-offset: 3px !important;
  border-radius: 6px !important;
}

/* 文字を選択した時の色をデザインに合わせる */
.page-id-5868 #ndlp3 ::selection {
  background: rgba(21,120,146,0.20);
  color: var(--nd-text);
}

/* 端末がダークモードでも、このLPはクリーム色のまま維持する */
@media (prefers-color-scheme: dark) {
  .page-id-5868 #ndlp3 { color-scheme: light; }
}

/* ここでファイル終わり */
/* ============================================
   資格制度ページ：CTA・カード色・有資格者の声（まとめ・復元版2）
   ============================================ */

/* --- CTAボタンをすべて緑色に統一 --- */
.saposuku-license .sl-hero__btn,
.saposuku-license .sl-card--s .sl-card__btn,
.saposuku-license .sl-card--m .sl-card__btn,
.saposuku-license .sl-card--e .sl-card__btn,
.saposuku-license .sl-btn--yellow {
  background: #27AE60 !important;
  color: #fff !important;
}
.saposuku-license .sl-hero__btn:hover,
.saposuku-license .sl-card--s .sl-card__btn:hover,
.saposuku-license .sl-card--m .sl-card__btn:hover,
.saposuku-license .sl-card--e .sl-card__btn:hover,
.saposuku-license .sl-btn--yellow:hover {
  background: #1E8449 !important;
  color: #fff !important;
}

/* --- 資格養成講座カード：シニア・エキスパートを水色に統一 --- */
.saposuku-license .sl-card--m .sl-card__head,
.saposuku-license .sl-card--e .sl-card__head {
  background: #e8f7fb !important;
}
.saposuku-license .sl-card--m .sl-card__level,
.saposuku-license .sl-card--e .sl-card__level {
  color: #1a8aa5 !important;
}
.saposuku-license .sl-card--m .sl-card__badge,
.saposuku-license .sl-card--e .sl-card__badge {
  background: #29afce !important;
  color: #fff !important;
}
.saposuku-license .sl-card--m .sl-card__price,
.saposuku-license .sl-card--e .sl-card__price {
  color: #1a8aa5 !important;
}

/* --- 有資格者の声カード：高さを揃えて整列（flex方式） --- */
.saposuku-license .sl-voices > p,
.saposuku-license .sl-voices br {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
}
.saposuku-license .sl-voices {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 20px !important;
}
.saposuku-license .sl-voices a.sl-voice {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  margin: 0 !important;
  background: #fff !important;
  border-radius: 10px !important;
  padding: 28px 20px 20px !important;
  border: 1px solid #e5e5e5 !important;
  position: relative !important;
  box-sizing: border-box !important;
  text-align: left !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.saposuku-license .sl-voices a.sl-voice:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 20px rgba(0,0,0,0.1) !important;
}
.saposuku-license .sl-voices a.sl-voice::before {
  content: '"' !important;
  font-size: 52px !important;
  color: #d8f0f8 !important;
  position: absolute !important;
  top: 6px !important;
  left: 14px !important;
  font-family: Georgia, serif !important;
  line-height: 1 !important;
}
.saposuku-license .sl-voices .sl-voice__text {
  flex: 1 !important;
}
@media (min-width: 640px) {
  .saposuku-license .sl-voices a.sl-voice {
    flex: 1 1 calc(33.333% - 14px) !important;
    max-width: calc(33.333% - 14px) !important;
  }
}

/* --- 基礎講座一覧：講座名のリンク色 --- */
.saposuku-license .sl-table-title-link {
  color: #3e3a39 !important;
  text-decoration: none !important;
}
.saposuku-license .sl-table-title-link:hover {
  color: #29afce !important;
  text-decoration: underline !important;
}
/* ==========================================================
   資格制度ページ ヒーロー（背景写真）2026-08 v2
   ※横幅いっぱいの指定は親テーマと相性が悪いため取り下げ
   ========================================================== */

/* --- ヒーローの箱（スマホ基準） --- */
.saposuku-license .sl-hero--photo {
  /* 幅は親の入れ物にぴったり合わせる（はみ出させない） */
  width: auto !important;
  max-width: 100% !important;
  margin: 0 0 32px 0 !important;

  /* 万が一はみ出しても切れずに済むよう保険をかける */
  overflow: hidden !important;
  box-sizing: border-box !important;
  display: block !important;
  position: relative !important;

  /* 背景：白い膜（文字を読みやすくする）＋ 写真 の2枚重ね */
  background-image:
    linear-gradient(to right,
      rgba(255,255,255,0.92) 0%,
      rgba(255,255,255,0.82) 45%,
      rgba(255,255,255,0.10) 100%),
    url("https://cysa.or.jp/saposuku/wp-content/themes/saposuku/assets/img/license-slide01.jpg") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-color: #e8f7fb !important;

  /* 高さと内側の余白（スマホ用） */
  min-height: 220px !important;
  padding: 32px 20px !important;
  border-radius: 0 !important;
  border: none !important;
}

/* --- 中の説明文（スマホ基準／左寄せ・大きめ） --- */
.saposuku-license .sl-hero--photo .sl-hero__desc {
  display: block !important;
  /* 中央寄せを打ち消して、必ず左端から始める */
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;

  color: #2b2b2b !important;
  font-size: clamp(17px, 4.6vw, 21px) !important; /* 画面幅に応じて自動で拡大 */
  line-height: 1.85 !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;

  /* 長い単語で横に飛び出さないようにする */
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

/* --- ここから下はタブレット・パソコン向けの上書き --- */
@media (min-width: 768px) {
  .saposuku-license .sl-hero--photo {
    min-height: 380px !important;
    padding: 70px 48px !important;
    background-position: right center !important; /* 右のペンを見せ、左に文字スペースを作る */
  }
  .saposuku-license .sl-hero--photo .sl-hero__desc {
    max-width: 560px !important;   /* 明るい机の部分に文字を収める */
    font-size: 24px !important;
    line-height: 2.0 !important;
  }
}

/* --- WordPressが勝手に入れる余分な改行・空段落を消す --- */
.saposuku-license .sl-hero--photo > p:empty,
.saposuku-license .sl-hero--photo > br {
  display: none !important;
}
/* === 資格制度ページ ヒーロー ここまで === */
/* 中央揃え用（資格制度の全体像セクションで使用） */
.saposuku-license .sl-lede--center,
.saposuku-license .sl-note--center {
  text-align: center !important;
}

/* === NDゼミLP ヒーロー 日本語タイトル：サイズ調整 === */
/* 長い日本語名称でもスマホで自然に収まるようサイズ調整 */
.page-id-5868 #ndlp3 .nd3-hero__title--jp {
  font-size: 7vw !important;          /* スマホ：画面幅に応じて可変 */
  line-height: 1.4 !important;        /* 行間を確保して読みやすく */
  letter-spacing: 0.02em !important;
  text-transform: none !important;    /* 日本語なので大文字化を無効に */
}
/* タブレット以上（768px〜）で固定サイズに */
@media (min-width: 768px) {
  .page-id-5868 #ndlp3 .nd3-hero__title--jp {
    font-size: 40px !important;        /* 大画面では安定した固定サイズ */
  }
}

/* === NDゼミLP ヒーロー 日本語タイトル：一部グラデ装飾 === */
/* 「ダイバーシティ」だけをブルー系グラデで塗る（既存ティール --nd-lime-ink を基調に） */
.page-id-5868 #ndlp3 .nd3-hero__title--jp .nd3-grad {
  background: linear-gradient(90deg, var(--nd-lime-ink) 0%, #29afce 55%, #E8A838 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  font-weight: 700 !important;
}
/* ============================================
   NDゼミLP v3.0 ／ 追加分
   新セクション「ニューロダイバシティゼミ概要」用のデザイン
   ※ このコードが効くのは 固定ページID 5868（NDゼミLP）の中だけです
   ※ 既存の追加CSSは消さず、いちばん下に「追記」してください
   ============================================ */

/* --- セクション全体の上下の余白（まずスマホ基準） --- */
.page-id-5868 #ndlp3 .nd3-about{
  padding: 52px 0 !important;   /* スマホでの上下の余白 */
}

/* --- 本文のかたまり（白い箱をなくして、文章だけの表示にする） --- */
.page-id-5868 #ndlp3 .nd3-about__box{
  background: none !important;   /* 白い背景をなくす */
  border: none !important;       /* 枠線と左の水色ラインをなくす */
  border-radius: 0 !important;   /* 角の丸みをなくす */
  padding: 0 !important;         /* 箱の内側の余白をなくす */
}
/* --- 本文の文字 --- */
.page-id-5868 #ndlp3 .nd3-about__text{
  font-size: 15px !important;      /* スマホで読みやすい文字サイズ */
  line-height: 1.9 !important;     /* 行と行のすき間 */
  color: #2B3A45 !important;       /* 文字色（ネイビー） */
  margin: 0 0 16px !important;     /* 段落どうしのすき間 */
  word-break: auto-phrase !important; /* 日本語を「文節」で自動改行（読みやすくなる新機能） */
}

/* --- 最後の段落だけ、下のすき間をなくす --- */
.page-id-5868 #ndlp3 .nd3-about__text:last-child{
  margin-bottom: 0 !important;
}

/* --- WordPressが勝手に入れる「空っぽの段落」を消す --- */
.page-id-5868 #ndlp3 .nd3-about p:empty,
.page-id-5868 #ndlp3 .nd3-about br:only-child{
  display: none !important;
}

/* ============================================
   ここから下は「画面の横幅が768px以上」のとき（タブレット・パソコン）
   スマホの見た目を土台にして、大きい画面用に広げています
   ============================================ */
@media (min-width: 768px){

  .page-id-5868 #ndlp3 .nd3-about{
    padding: 72px 0 !important;   /* パソコンでは上下の余白を広く */
  }

  .page-id-5868 #ndlp3 .nd3-about__box{
    padding: 0 !important;         /* 箱がなくなったので余白は不要 */
  }

  .page-id-5868 #ndlp3 .nd3-about__text{
    font-size: 16px !important;   /* パソコンでは少し大きい文字に */
    line-height: 2.0 !important;
  }
}
/* ===== NDゼミLP 概要セクション用 ここまで ===== */
/* === NDゼミLP 参加費エリア：項目名・説明文を少し大きく === */
/* 項目名（ゼミ月会費／お支払方法／ゼミ生募集時期について） */
.page-id-5868 #ndlp3 .nd3-entry__price-label {
  font-size: 16px !important;   /* 14px→16px */
}
/* 説明文 */
.page-id-5868 #ndlp3 .nd3-entry__price-note {
  font-size: 15px !important;   /* 14px→15px */
  line-height: 1.9 !important;  /* 少し行間も広げて読みやすく */
}

/* タブレット・パソコン（768px以上）ではさらに少し大きく */
@media (min-width: 768px) {
  .page-id-5868 #ndlp3 .nd3-entry__price-label {
    font-size: 17px !important;
  }
  .page-id-5868 #ndlp3 .nd3-entry__price-note {
    font-size: 16px !important;
  }
}
/* ===============================================
   NDゼミLP：ゼミ生のお声「もっと見る」アコーディオン
   このページ（page-id-5868）だけに効きます
   =============================================== */

/* 開閉の箱そのもの。余分な線や余白をリセット */
.page-id-5868 #ndlp3 .nd3-voice-more {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
}

/* ▼【変更点3】開いている時だけ、ボタンを一番下に移動する指定 */
.page-id-5868 #ndlp3 .nd3-voice-more[open] {
  display: flex !important;
  flex-direction: column !important;
}
/* ボタンを最後（＝Kさんの下）に並べ替える */
.page-id-5868 #ndlp3 .nd3-voice-more[open] > .nd3-voice-more__btn {
  order: 2 !important;
}

/* WordPressが自動で入れてしまう空の段落・改行を消す */
.page-id-5868 #ndlp3 .nd3-voice-more > p:empty,
.page-id-5868 #ndlp3 .nd3-voice-more > br,
.page-id-5868 #ndlp3 .nd3-voices .nd3-inner > p:empty {
  display: none !important;
}

/* ▼ ボタン本体（スマホで押しやすいサイズを基準に設計） */
.page-id-5868 #ndlp3 .nd3-voice-more__btn {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 24px 0 0 !important;
  padding: 8px 18px !important;   /* ▼【変更点1】16px → 8px（高さを約半分に） */
  text-align: center !important;
  font-size: 15px !important;
  font-weight: bold !important;
  line-height: 1.5 !important;
  color: #157892 !important;        /* 濃い水色（文字） */
  background: #ffffff !important;
  border: 2px solid #29afce !important;  /* コーポレートカラー */
  border-radius: 999px !important;
  cursor: pointer !important;
  list-style: none !important;      /* 標準の三角マークを消す */
  transition: background .2s ease !important;
  -webkit-tap-highlight-color: transparent;
}

/* Safari など一部ブラウザの三角マークを消す */
.page-id-5868 #ndlp3 .nd3-voice-more__btn::-webkit-details-marker {
  display: none !important;
}
.page-id-5868 #ndlp3 .nd3-voice-more__btn::marker {
  content: "" !important;
}

/* ボタンの右に付く矢印（閉じている時は下向き） */
.page-id-5868 #ndlp3 .nd3-voice-more__btn::after {
  content: "▼";
  display: inline-block;
  margin-left: 8px;
  font-size: 11px;
  transition: transform .3s ease;
}
/* 開いている時は矢印を上向きに回転 */
.page-id-5868 #ndlp3 .nd3-voice-more[open] .nd3-voice-more__btn::after {
  transform: rotate(180deg);
}

/* マウスを乗せた／押した時の色 */
.page-id-5868 #ndlp3 .nd3-voice-more__btn:hover {
  background: #e8f7fb !important;
}

/* ▼ ボタンの文字の出し分け（閉じている時／開いている時） */
.page-id-5868 #ndlp3 .nd3-voice-more .nd3-more__close {
  display: none !important;
}
.page-id-5868 #ndlp3 .nd3-voice-more[open] .nd3-more__open {
  display: none !important;
}
.page-id-5868 #ndlp3 .nd3-voice-more[open] .nd3-more__close {
  display: inline !important;
}

/* ▼ なめらかに開くアニメーション
   （対応していないブラウザではパッと開くだけで、動作に問題はありません） */
@supports (interpolate-size: allow-keywords) {
  .page-id-5868 #ndlp3 .nd3-voice-more {
    interpolate-size: allow-keywords;
  }
  .page-id-5868 #ndlp3 .nd3-voice-more::details-content {
    height: 0;
    overflow: clip;
    transition: height .4s ease, content-visibility .4s ease allow-discrete;
  }
  .page-id-5868 #ndlp3 .nd3-voice-more[open]::details-content {
    height: auto;
  }
}

/* 動きが苦手な方の端末設定に配慮し、アニメーションを止める */
@media (prefers-reduced-motion: reduce) {
  .page-id-5868 #ndlp3 .nd3-voice-more::details-content,
  .page-id-5868 #ndlp3 .nd3-voice-more__btn::after {
    transition: none !important;
  }
}

/* ▼ パソコン表示（768px以上）：ボタン幅を抑えて中央に配置 */
@media (min-width: 768px) {
  .page-id-5868 #ndlp3 .nd3-voice-more__btn {
    max-width: 420px !important;
    margin: 32px auto 0 !important;
    font-size: 16px !important;
  }
}
/* ===============================================
   NDゼミLP：定例会・特別会の概要セクション
   このページ（page-id-5868）だけに効きます
   ※スマホの見た目を基準に作り、
     768px以上（パソコン）で余白と文字を大きくしています
   =============================================== */

/* セクション全体（背景色と上下の余白） */
.page-id-5868 #ndlp3 .nd3-meetings {
  padding: 52px 0 !important;
  background: #E3E1DA !important;
}

/* WordPressが自動で入れる空の段落・改行を消す */
.page-id-5868 #ndlp3 .nd3-meetings p:empty,
.page-id-5868 #ndlp3 .nd3-meeting-card > br {
  display: none !important;
}

/* ▼ 白いカード本体 */
.page-id-5868 #ndlp3 .nd3-meeting-card {
  background: #ffffff !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 10px !important;
  padding: 20px !important;
  margin: 0 0 16px !important;
}
.page-id-5868 #ndlp3 .nd3-meeting-card:last-of-type {
  margin-bottom: 0 !important;
}

/* ▼ 「定例会」「特別会」のラベル（丸いバッジ） */
.page-id-5868 #ndlp3 .nd3-meeting-card__label {
  display: inline-block !important;
  margin: 0 0 14px !important;
  padding: 5px 20px !important;
  font-size: 15px !important;
  font-weight: bold !important;
  line-height: 1.5 !important;
  color: #ffffff !important;
  background: #29afce !important;      /* コーポレートカラー（定例会） */
  border-radius: 999px !important;
  letter-spacing: .05em !important;
}
/* 特別会だけラベルを黄色にして区別する */
.page-id-5868 #ndlp3 .nd3-meeting-card--special .nd3-meeting-card__label {
  background: #E8A838 !important;
}

/* ▼ カード内の説明文 */
.page-id-5868 #ndlp3 .nd3-meeting-card__text {
  margin: 0 0 20px !important;
  font-size: 14px !important;
  line-height: 1.9 !important;
  color: #2B3A45 !important;
}

/* ▼ 開催日・開催時間などの情報ボックス */
.page-id-5868 #ndlp3 .nd3-meeting-spec {
  margin: 0 0 10px !important;
  padding: 12px 14px !important;
  background: #f6f6f4 !important;
  border-left: 4px solid #29afce !important;
  border-radius: 0 6px 6px 0 !important;
}
.page-id-5868 #ndlp3 .nd3-meeting-card--special .nd3-meeting-spec {
  border-left-color: #E8A838 !important;
}
.page-id-5868 #ndlp3 .nd3-meeting-spec:last-child {
  margin-bottom: 0 !important;
}

/* 項目名（開催日 など） */
.page-id-5868 #ndlp3 .nd3-meeting-spec__term {
  margin: 0 0 4px !important;
  font-size: 13px !important;
  font-weight: bold !important;
  line-height: 1.5 !important;
  color: #157892 !important;
}
.page-id-5868 #ndlp3 .nd3-meeting-card--special .nd3-meeting-spec__term {
  color: #9c6a14 !important;
}

/* 項目の内容 */
.page-id-5868 #ndlp3 .nd3-meeting-spec__desc {
  margin: 0 !important;
  font-size: 15px !important;
  font-weight: bold !important;
  line-height: 1.7 !important;
  color: #2B3A45 !important;
}

/* カッコ書きの補足（小さいグレー文字で改行して表示） */
.page-id-5868 #ndlp3 .nd3-meeting-spec__note {
  display: block !important;
  margin-top: 3px !important;
  font-size: 12px !important;
  font-weight: normal !important;
  line-height: 1.7 !important;
  color: #6b7780 !important;
}

/* ▼ 過去のトークゲスト一覧 */
.page-id-5868 #ndlp3 .nd3-meeting-guest {
  margin: 22px 0 0 !important;
  padding-top: 18px !important;
  border-top: 1px dashed #d8d5cc !important;
}
.page-id-5868 #ndlp3 .nd3-meeting-guest__title {
  margin: 0 0 6px !important;
  padding-left: 12px !important;
  border-left: 4px solid #29afce !important;  /* 左の縦棒を水色（コーポレートカラー）に */
  font-size: 14px !important;
  font-weight: bold !important;
  line-height: 1.55 !important;
  color: #2B3A45 !important;
}

/* 特別会カードの中だけは、縦棒をオレンジのまま残す
   （特別会はラベルも情報ボックスもオレンジで統一しているため） */
.page-id-5868 #ndlp3 .nd3-meeting-card--special .nd3-meeting-guest__title {
  border-left-color: #E8A838 !important;
}
.page-id-5868 #ndlp3 .nd3-meeting-guest__lead {
  margin: 0 0 14px !important;
  font-size: 13px !important;
  line-height: 1.8 !important;
  color: #6b7780 !important;
}
.page-id-5868 #ndlp3 .nd3-meeting-guest__list {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.page-id-5868 #ndlp3 .nd3-meeting-guest__list li {
  margin: 0 0 8px !important;
  padding: 10px 14px !important;
  background: #f6f6f4 !important;
  border-radius: 6px !important;
  list-style: none !important;
}
.page-id-5868 #ndlp3 .nd3-meeting-guest__list li:last-child {
  margin-bottom: 0 !important;
}
/* 肩書きは小さめグレー、お名前は太字で改行して表示 */
.page-id-5868 #ndlp3 .nd3-guest-role {
  display: block !important;
  margin-bottom: 2px !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  color: #6b7780 !important;
}
.page-id-5868 #ndlp3 .nd3-guest-name {
  display: block !important;
  font-size: 15px !important;
  font-weight: bold !important;
  line-height: 1.5 !important;
  color: #2B3A45 !important;
}

/* ▼ パソコン表示（768px以上）：余白と文字を大きくし、ゲストは2列に */
@media (min-width: 768px) {
  .page-id-5868 #ndlp3 .nd3-meetings {
    padding: 72px 0 !important;
  }
  .page-id-5868 #ndlp3 .nd3-meeting-card {
    padding: 28px !important;
    margin-bottom: 24px !important;
  }
  .page-id-5868 #ndlp3 .nd3-meeting-card__label {
    font-size: 16px !important;
  }
  .page-id-5868 #ndlp3 .nd3-meeting-card__text {
    font-size: 15px !important;
  }
  .page-id-5868 #ndlp3 .nd3-meeting-spec {
    padding: 14px 18px !important;
  }
  .page-id-5868 #ndlp3 .nd3-meeting-spec__desc {
    font-size: 16px !important;
  }
  .page-id-5868 #ndlp3 .nd3-meeting-spec__note {
    font-size: 13px !important;
  }
  .page-id-5868 #ndlp3 .nd3-meeting-guest__title {
    font-size: 15px !important;
  }
  /* ゲスト一覧を横2列に並べる */
  .page-id-5868 #ndlp3 .nd3-meeting-guest__list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
  }
  .page-id-5868 #ndlp3 .nd3-meeting-guest__list li {
    flex: 0 1 calc(50% - 5px) !important;
    box-sizing: border-box !important;
    margin: 0 !important;
  }
}
/* ===== ゼミページ：CTAと「知る・学ぶ」の幅を広げる 2026-08 ===== */

/* ①「ゼミ特設ページ」ボタンの入れ物：560px制限をやめて960pxまで広げる */
body .ndsemi-benefits__cta {
    max-width: 960px !important;   /* 元は560px */
    width: 100% !important;
    margin: 40px auto !important;  /* 上下40px・左右は自動で中央寄せ */
    padding: 0 16px !important;    /* スマホで端にくっつかないための余白 */
    box-sizing: border-box !important;
}

/* ② 緑のボタン本体：スマホでは横いっぱい、最大420pxの横長ボタンに */
body .ndsemi-btn--lg {
    display: block !important;     /* 文字幅ではなく指定幅で表示させる */
    width: 100% !important;
    max-width: 420px !important;
    margin: 0 auto !important;     /* 中央寄せ */
    padding: 18px 24px !important; /* タップしやすい高さを確保 */
    text-align: center !important;
    box-sizing: border-box !important;
}

/* ③「さまざまな方法で知る・学ぶ」のカード列を960pxまで広げる */
body .ndsemi-learn-row {
    width: 100% !important;
    max-width: 960px !important;
    margin-left: auto !important;  /* 中央寄せ */
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* ④ 画面600px以上（タブレット・PC）：ボタンをもう少しだけ大きく */
@media (min-width: 600px) {
    body .ndsemi-btn--lg {
        max-width: 480px !important;
    }
}
/* ===== ここまで ===== */
/* ===============================================
   NDゼミLP：定例会カード内「特別講師」一覧の追加分
   ※デザインは既存のゲスト一覧をそのまま使っているため、
     ここでは「講演テーマの1行」だけを新しく指定しています
   ※このページ（page-id-5868）だけに効きます
   =============================================== */

/* ▼ 講演テーマ（お名前の下に小さいグレー文字で表示） */
.page-id-5868 #ndlp3 .nd3-guest-theme {
  display: block !important;          /* お名前の下に改行して表示 */
  margin-top: 4px !important;         /* お名前とのすき間 */
  font-size: 12px !important;         /* スマホでの文字サイズ */
  line-height: 1.6 !important;        /* 行と行のすき間 */
  color: #6b7780 !important;          /* 補足らしいグレー */
  word-break: auto-phrase !important; /* 日本語を文節で自然に改行 */
}

/* ▼ パソコン表示（768px以上） */
@media (min-width: 768px) {
  /* 講演テーマが長いため、特別講師の一覧だけは
     パソコンでも横2列にせず、1列で表示します */
  .page-id-5868 #ndlp3 .nd3-meeting-guest__list--lecturer li {
    flex: 0 1 100% !important;
  }
  .page-id-5868 #ndlp3 .nd3-guest-theme {
    font-size: 13px !important;
  }
}
/* ===============================================
   NDゼミLP：ゼミ参加について
   3つの項目を1つの白い箱にまとめ、中で箇条書きにする
   ※このページ（page-id-5868）だけに効きます
   ※スマホの見た目を基準に作り、768px以上で余白を広げています
   =============================================== */

/* ▼ 白い箱（3項目をまとめて包む外側） */
.page-id-5868 #ndlp3 .nd3-entry__box {
  background: #ffffff !important;
  border-radius: 18px !important;
  padding: 6px 22px !important;
  margin: 0 0 26px !important;
  box-shadow: var(--nd-shadow) !important;   /* 既存のカードと同じ影 */
  text-align: left !important;               /* 箇条書きなので左そろえ */
}

/* ▼ 箱の中の1項目ぶん（点線で区切る） */
.page-id-5868 #ndlp3 .nd3-entry__item {
  position: relative !important;
  padding: 20px 0 20px 18px !important;      /* 左は丸印のぶんだけ空ける */
  border-bottom: 1px dashed var(--nd-line) !important;
}
/* いちばん下の項目だけ、点線を消す */
.page-id-5868 #ndlp3 .nd3-entry__item:last-child {
  border-bottom: none !important;
}

/* ▼ 箇条書きの丸印（左端の水色の点） */
.page-id-5868 #ndlp3 .nd3-entry__item::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 30px !important;                      /* 項目名の高さに合わせる */
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: var(--nd-lime) !important;      /* コーポレートカラー */
}

/* ▼ 箱の中の文字は、すべて左そろえにする */
.page-id-5868 #ndlp3 .nd3-entry__item .nd3-entry__price-label,
.page-id-5868 #ndlp3 .nd3-entry__item .nd3-entry__price-value,
.page-id-5868 #ndlp3 .nd3-entry__item .nd3-entry__price-note {
  text-align: left !important;
}

/* 項目名と金額の下のすき間を、箱の中用に調整 */
.page-id-5868 #ndlp3 .nd3-entry__item .nd3-entry__price-label {
  margin: 0 0 6px !important;
}
.page-id-5868 #ndlp3 .nd3-entry__item .nd3-entry__price-value {
  margin: 0 0 6px !important;
}

/* ▼ WordPressが勝手に入れる空の段落・改行を消す */
.page-id-5868 #ndlp3 .nd3-entry__box p:empty,
.page-id-5868 #ndlp3 .nd3-entry__box > br,
.page-id-5868 #ndlp3 .nd3-entry__item > br {
  display: none !important;
}

/* ▼ パソコン表示（768px以上）：余白を広げ、横幅を読みやすい範囲に収める */
@media (min-width: 768px) {
  .page-id-5868 #ndlp3 .nd3-entry__box {
    max-width: 720px !important;
    margin: 0 auto 32px !important;
    padding: 10px 36px !important;
  }
  .page-id-5868 #ndlp3 .nd3-entry__item {
    padding: 24px 0 24px 20px !important;
  }
  .page-id-5868 #ndlp3 .nd3-entry__item::before {
    top: 34px !important;
  }
}
/* ===== NDゼミLP ゼミ参加について ここまで ===== */

