/* guidance配下の講座ページ（program / design / web）共通の追加スタイル
   php.html で確定した内容。バッジ・CTA・セットコース導線・給付金枠・余白など。 */
  /* ▼ 講座CTAボタン（D案）：左に丸アイコン。ピンク主役＋青の淡色脇役。 ▼ */
  .bl_contactContent_box .bl_bgBtn__lg .bl_bgBtn_inner.get-course { justify-content: flex-start; min-height: 68px; padding: 10px 52px 10px 14px; border-radius: 14px; text-align: left; box-shadow: none; }
  .bl_contactContent_box .bl_bgBtn__lg .bl_bgBtn_inner.get-course::after { content: ""; order: -1; flex: none; position: relative; z-index: 100; width: 40px; height: 40px; margin-right: 12px; border-radius: 50%; background-repeat: no-repeat; background-position: center; background-size: 20px; }
  .bl_contactContent_box .bl_bgBtn__lg .bl_bgBtn_inner.get-course span { display: block; line-height: 1.35; white-space: nowrap; }
  .bl_contactContent_box .bl_bgBtn__lg .bl_bgBtn_inner.get-course span small { display: block; font-size: .7em; font-weight: 500; letter-spacing: .04em; }
  .bl_contactContent_box .bl_bgBtn.is_pink .bl_bgBtn_inner.get-course { box-shadow: none; }
  .bl_contactContent_box .bl_bgBtn.is_pink .bl_bgBtn_inner.get-course::after { background-color: rgba(255, 255, 255, .22); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M4 4h16a2 2 0 012 2v9a2 2 0 01-2 2H9l-5 4v-4a2 2 0 01-2-2V6a2 2 0 012-2z'/%3E%3C/svg%3E"); }
  .bl_contactContent_box .bl_bgBtn.is_pink .bl_bgBtn_inner.get-course span small { color: rgba(255, 255, 255, .88); }
  .bl_contactContent_box .bl_bgBtn.is_blue .bl_bgBtn_inner.get-course { background-color: #F2F7FA; color: #1E2A44; border: 1.5px solid #BDE7EE; }
  .bl_contactContent_box .bl_bgBtn.is_blue .bl_bgBtn_inner.get-course::after { background-color: #00BCD2; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M6 2h9l5 5v15H6zM14 3.5V8h4.5zM8.5 12h8v1.6h-8zm0 3.5h8v1.6h-8z'/%3E%3C/svg%3E"); background-size: 18px; }
  .bl_contactContent_box .bl_bgBtn.is_blue .bl_bgBtn_inner.get-course .icon_arrow { background-color: transparent; }
  .bl_contactContent_box .bl_bgBtn.is_blue .bl_bgBtn_inner.get-course .icon_arrow * { fill: #00BCD2; }
  .bl_contactContent_box .bl_bgBtn.is_blue:hover .bl_bgBtn_inner.get-course { background-color: #E1F4F7; border-color: #00BCD2; color: #1E2A44; }
  @media screen and (max-width: 767px) {
    .bl_contactContent_box .bl_bgBtn__lg .bl_bgBtn_inner.get-course { min-height: 60px; padding: 8px 14px 8px 12px; font-size: clamp(12px, 3.8vw, 16px); }
    .bl_contactContent_box .bl_bgBtn__lg .bl_bgBtn_inner.get-course span { white-space: nowrap; }
    .bl_contactContent_box .bl_bgBtn__lg .bl_bgBtn_inner.get-course .icon_arrow { display: none; }
    .bl_contactContent_box .bl_bgBtn__lg .bl_bgBtn_inner.get-course::after { width: 36px; height: 36px; margin-right: 10px; }
  }
  .bl_contactContent_box .bl_bgBtn.is_pink:hover .bl_bgBtn_inner.get-course { background-color: #C9185A; color: #fff; }
  .bl_contactContent_box .bl_bgBtn.is_pink:hover .bl_bgBtn_inner.get-course .icon_arrow * { fill: #fff; }
  @media screen and (max-width: 420px) {
    .bl_contactContent_box .bl_bgBtn__lg .bl_bgBtn_inner.get-course { padding: 8px 12px 8px 10px; }
    .bl_contactContent_box .bl_bgBtn__lg .bl_bgBtn_inner.get-course::after { width: 32px; height: 32px; margin-right: 8px; background-size: 16px; }
  }
  @media screen and (max-width: 340px) {
    .bl_contactContent_box .bl_bgBtn__lg .bl_bgBtn_inner.get-course { padding: 8px 8px; font-size: 11.5px; }
    .bl_contactContent_box .bl_bgBtn__lg .bl_bgBtn_inner.get-course::after { width: 26px; height: 26px; margin-right: 6px; background-size: 14px; }
  }
  /* ▲ 講座CTAボタン ▲ */
  /* ▼ できるようになること：スマホで2つ目のリストの上にも行間をあける ▼ */
  @media screen and (max-width: 767px) {
    .bl_2colContBox_item_w100 .bl_ContBoxList + .bl_ContBoxList,
    .bl_ContBoxList_wrap .bl_ContBoxList + .bl_ContBoxList,
    .bl_2colContBox_item + .bl_2colContBox_item { margin-top: 7px; }
  }
  /* ▲ できるようになること ▲ */
  /* ▼ こんな方におすすめ：スマホで見出しを箇条書きの左端にそろえる（飾りの四角は見出しの上に逃がす） ▼ */
  @media screen and (max-width: 767px) {
    .pg_static .bl_courseDetail .bl_fixedHalfUnit .bl_courseDetail_headHdg .hdg { padding-left: 0; }
    .pg_static .bl_courseDetail .bl_fixedHalfUnit .bl_courseDetail_headHdg::before { left: 56px; top: -24px; }
  }
  /* ▲ こんな方におすすめ ▲ */
  /* ▼ セットコース導線ボタン：講座ボタンと形をそろえ、ピンクの枠線の脇役にする ▼ */
  .bl_btnUnit .bl_bgBtn.is_pink a.bl_bgBtn_inner[href="#setCourse"] { min-height: 68px; padding: 10px 56px; border-radius: 14px; border: 2px solid #E62A6D; background-color: #fff; color: #E62A6D; box-shadow: none; }
  .bl_btnUnit .bl_bgBtn.is_pink a.bl_bgBtn_inner[href="#setCourse"] .icon_arrow { background-color: transparent; }
  .bl_btnUnit .bl_bgBtn.is_pink a.bl_bgBtn_inner[href="#setCourse"] .icon_arrow * { fill: #E62A6D; }
  .bl_btnUnit .bl_bgBtn.is_pink:hover a.bl_bgBtn_inner[href="#setCourse"] { background-color: #FDEBF2; color: #E62A6D; }
  @media screen and (max-width: 767px) {
    .bl_btnUnit .bl_bgBtn.is_pink a.bl_bgBtn_inner[href="#setCourse"] { min-height: 60px; padding: 8px 44px; }
  }
  /* ▲ セットコース導線ボタン ▲ */
  /* ▼ ページ下部CTA（無料カウンセリング／講座案内DL）：角丸・影なし。予約＝主、DL＝ピンク枠の脇役 ▼ */
  .bl_contactContent_box .bl_bgBtn__lg.is_pink a.bl_bgBtn_inner:not(.get-course) { box-sizing: border-box; height: 68px; min-height: 0; padding-top: 0; padding-bottom: 0; border-radius: 14px; box-shadow: none; }
  .bl_contactContent_box .bl_bgBtn__lg.is_pink a.bl_bgBtn_inner:not(.get-course) span { line-height: 1.35; }
  .bl_contactContent_box .bl_bgBtn.is_pink:hover a.bl_bgBtn_inner[href="/trial_lesson/"] { background-color: #C9185A; color: #fff; }
  .bl_contactContent_box .bl_bgBtn.is_pink:hover a.bl_bgBtn_inner[href="/trial_lesson/"] .icon_board * { fill: #fff; }
  .bl_contactContent_box .bl_bgBtn.is_pink a.bl_bgBtn_inner[href="/catalog/"] { border: 2px solid #E62A6D; background-color: #fff; color: #E62A6D; }
  .bl_contactContent_box .bl_bgBtn.is_pink a.bl_bgBtn_inner[href="/catalog/"] span { white-space: nowrap; }
  .bl_contactContent_box .bl_bgBtn.is_pink a.bl_bgBtn_inner[href="/catalog/"] .icon_book,
  .bl_contactContent_box .bl_bgBtn.is_pink a.bl_bgBtn_inner[href="/catalog/"] .icon_book * { fill: #E62A6D; }
  .bl_contactContent_box .bl_bgBtn.is_pink:hover a.bl_bgBtn_inner[href="/catalog/"] { background-color: #FDEBF2; color: #E62A6D; }
  @media screen and (max-width: 767px) {
    .bl_contactContent_box .bl_bgBtn__lg.is_pink a.bl_bgBtn_inner:not(.get-course) { height: 60px; padding-left: 16px; padding-right: 16px; font-size: clamp(12px, 3.7vw, 16px); }
    .bl_contactContent_box .bl_bgBtn__lg.is_pink a.bl_bgBtn_inner:not(.get-course) svg { flex: none; width: 26px; height: auto; margin-left: 8px; }
  }
  .bl_contactContent_box .bl_bgBtn__lg.is_pink a.bl_bgBtn_inner:not(.get-course) span small { display: block; font-size: .7em; font-weight: 500; letter-spacing: .04em; }
  .bl_contactContent_box .bl_bgBtn.is_pink a.bl_bgBtn_inner[href="/trial_lesson/"] span { white-space: nowrap; }
  @media screen and (max-width: 380px) { .bl_contactContent_title .el_hdg .hdg { font-size: 4.8vw; } }
  /* フッター直前の「無料カウンセリング・受講相談」バナーはこのページでは非表示（共通フッターは変更しない） */
  .ly_sectionWrapper:has(+ footer.ly_footer) { display: none; }
  /* ▲ ページ下部CTA ▲ */
  /* 給付金・助成金のご案内：上の余白を詰め、「お得に学べる」を＼ ／付きの小見出しに */
  .bl_format_wrap#subsidy { margin-top: 0; }
  #subsidy .el_format_hdg small { display: block; margin-bottom: 4px; font-size: .62em; font-weight: 500; letter-spacing: .04em; color: #0097AB; }
  @media screen and (max-width: 1099px) {
    #subsidy .el_format_hdg__primary { padding-left: 0; text-align: center; }
    #subsidy .el_format_hdg__primary::before { display: none; }
  }
  /* 給付金：対象講座の案内枠（費用の内訳とは分けて表示） */
  .bl_kyufuNote { margin-top: 14px; padding: 12px 14px; border: 1.5px solid #BDE7EE; border-radius: 12px; background: #F2F7FA; }
  .bl_kyufuNote_label { margin: 0 0 6px; font-size: 13px; font-weight: 700; letter-spacing: .04em; color: #0097AB; }
  .bl_kyufuNote_txt { margin: 0; font-size: 15px; line-height: 1.6; color: #1E2A44; }
  .bl_kyufuNote_amt { font-size: 1.25em; font-weight: 900; color: #E62A6D; }
  .bl_kyufuNote_cap { margin: 6px 0 0; font-size: 12px; line-height: 1.6; color: #666; }
  @media screen and (max-width: 767px) { .bl_kyufuNote_txt { font-size: 14px; } }
  /* 講座詳細：各項目の内容の上下余白をそろえる（スマホ。元は上5px・下2px） */
  @media screen and (max-width: 767px) { .bl_courseDlLists .bl_courseDlList .bl_courseDlList_dd { padding: 6px 0; } }
  /* 講座詳細：「講座内容」の講座名リンクを、周りの文字に合わせて少し小さく（スマホ） */
  @media screen and (max-width: 767px) { .bl_courseDlList_dd .bl_gradationFrame_Inner_iconBtn .bl_textIconBtn { font-size: 14px; } .bl_courseDlList_dd .bl_gradationFrame_Inner_iconBtn .bl_textIconBtn .icon_arrow { width: 20px; height: 20px; } }
  /* ▼ タイトル下のCTA：下固定バーが出ない幅（PC・1100px以上）だけ表示 ▼ */
  .ly_wrapper .bl_hdgUnit .el_cta .btn a { min-width: 300px; min-height: 68px; padding: 10px 56px !important; font-size: 1.8rem; }
  .ly_wrapper .bl_hdgUnit .el_cta .btn a .icon_arrow { right: 26px; }
  .ly_wrapper .bl_hdgUnit .el_cta { bottom: 112px; }
  .bl_hdgUnit .el_cta .btn a span { display: block; white-space: nowrap; }
  .bl_hdgUnit .el_cta .btn a span small { display: block; font-size: .75em; font-weight: 500; }
  .ly_wrapper .bl_hdgUnit .el_cta .btn a:hover::after { background: linear-gradient(-90deg, #E0336F 0%, #B3124D 100%); }
  @media screen and (max-width: 1099px) {
    .bl_hdgUnit .el_cta { display: none; }
  }
  /* ▲ タイトル下のCTA ▲ */
  /* ▼ 狭い画面（SEなど）：オンラインコースのバッジは「オンライン」だけにして2行折り返しを防ぐ ▼ */
  @media screen and (max-width: 420px) { .bl_bgBtn .el_badgeSuffix { display: none; } }
  /* ▲ バッジ短縮 ▲ */
  /* ▼ スマホ：受講費用（受講料・入学金・教材費）を1行に収める ▼ */
  @media screen and (max-width: 767px) { .bl_gradationFrame_Inner_orderLists_wrapper .bl_orderLists li { white-space: nowrap; font-size: clamp(11px, 3.6vw, 15px); } }
  /* ▲ 受講費用 ▲ */
  /* ▼ 講座詳細：画像だけのとき（「こんな方におすすめ」を外したページ）は画像を中央に置く ▼ */
  .bl_fixedHalfUnit.is_half > .bl_fixedHalfUnit_block:only-child { margin-left: auto; margin-right: auto; }
  /* ▲ 画像のみ ▲ */
  /* ▼ 画像だけのとき：画像上の余白を詰める（旧「おすすめ」用の上余白47pxを無効にし、スマホは全体も短く） ▼ */
  .pg_static .bl_courseDetail .bl_fixedHalfUnit .bl_fixedHalfUnit_block:only-child { margin-top: 0; }
  @media screen and (max-width: 767px) { .pg_static .bl_courseDetail .bl_fixedHalfUnit:has(> .bl_fixedHalfUnit_block:only-child) { margin-top: 24px; } }
  /* ▲ 画像のみ余白 ▲ */
  /* ▼ 見出し・本文の語のまとまりを途中で折り返さない（「める」だけ次の行、を防ぐ） ▼ */
  .el_nowrap { display: inline-block; }
  /* ▲ 折り返し防止 ▲ */

  /* ▼ スマホ：「通学コース／オンラインコース」カード。写真を狭くして、文字を折り返さない ▼ */
  @media screen and (max-width: 767px) {
    .school .img { width: 36% !important; }
    .school .body { width: 64% !important; padding: 10px 34px 10px 14px !important; }
    .school .txt { font-size: clamp(13px, 4.1vw, 18px) !important; white-space: nowrap; }
    .school .sub { font-size: clamp(12px, 3.5vw, 14px) !important; white-space: nowrap; }
  }
  /* ▲ 通学・オンラインカード ▲ */

  /* ▼ スマホ：通学・オンラインカードの下の余白を詰める ▼ */
  @media screen and (max-width: 767px) { main .ly_sectionWrapper:has(.school):not(:has(.ly_sectionWrapper)) { padding-bottom: 10px; } }
  /* ▲ カード下の余白 ▲ */

  /* ▼ スマホ：受講生の声の上の余白を約半分に ▼ */
  @media screen and (max-width: 767px) { main .bl_graduateVoice { margin-top: 25px !important; padding-top: 40px !important; } }
  /* ▲ 受講生の声の上の余白 ▲ */

/* PC: 講座内容リストの行間・受講費用の余白を詰める */
@media screen and (min-width: 768px) {
  .ly_gradationFrame .bl_gradationFrame_Inner_iconBtn .bl_rowLists { gap: 6px 20px; }
  .bl_courseDlList_dd .ly_areaWrapper + .ly_areaWrapper { margin-top: 12px; }
}
/* PC: セットコース最後のカードと下部の相談枠のあいだの余白を半分に */
@media screen and (min-width: 768px) {
  #setCourse .ly_sectionWrapper { padding-bottom: 55px; }
  .ly_contentWrapper:has(> .ly_contentWidth > .ly_mqWrapper > .bl_contactContent) { margin-top: 55px; }
}

/* アンカー移動時にセクション見出しが上端に張り付かないよう余白を確保 */
#setCourse, #subsidy, #detail { scroll-margin-top: 48px; }
