/*
Theme Name: Lightning Child (Success Okazaki)
Theme URI: https://www.success-okazaki.jp/
Description: 個別サクセス岡崎 移設用 Lightning 子テーマ
Author: migration
Template: lightning
Version: 1.0.0
Text Domain: lightning-child
*/

/* ここに独自スタイルを追記していく */

/* ===== フロントページ(元トップ再現) ===== */
.front-hero img { max-width: 100%; height: auto; }

/* 入口バナー: 横並びグリッド */
#banner_fixed1 {
	list-style: none;
	margin: 0 0 8px;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
}
#banner_fixed1 li { margin: 0; }
#banner_fixed1 img {
	display: block;
	max-width: 100%;
	height: auto;
	border-radius: 4px;
	transition: opacity .2s;
}
#banner_fixed1 a:hover img { opacity: .8; }

/* 最新の記事 */
.front_heading {
	font-size: 1.35em;
	font-weight: bold;
	border-left: 6px solid #c30d23;
	padding: 4px 0 4px 12px;
	margin: 28px 0 18px;
}
#front-main-bottom .post {
	border: 1px solid #e5e5e5;
	border-radius: 6px;
	padding: 18px 20px;
	margin-bottom: 22px;
	background: #fff;
}
#front-main-bottom .post h2.title {
	font-size: 1.2em;
	margin: 0 0 10px;
	line-height: 1.4;
}
#front-main-bottom .post .attention { color: #c30d23; font-weight: bold; }
#front-main-bottom .post .info_1 { margin-bottom: 12px; }
#front-main-bottom .post .date { color: #888; font-size: .85em; }
#front-main-bottom .post img { max-width: 100%; height: auto; }
#front-main-bottom .fst_category_children ul { list-style: none; display: inline-flex; gap: 6px; padding: 0; margin: 0; }
#front-main-bottom .fst_category_children a {
	font-size: .8em;
	background: #eee;
	padding: 2px 8px;
	border-radius: 3px;
	text-decoration: none;
}
/* 固定ページ内の空コメント枠を隠す */
#front-main-bottom #comments { display: none; }
/* ===== TOPDESIGN START ===== */
:root{--sx-primary:#16324f;--sx-primary-2:#24507a;--sx-accent:#c4472e;--sx-accent-on-dark:#e8a795;--sx-ink:#1c2631;--sx-sub:#56636f;--sx-paper:#f4f5f3;--sx-line:#dfe3e1;}

/* ===================================================================
   トップページ デザイン（中身は固定ページ「トップ」のブロックで編集）
   罫線と余白で組むエディトリアル構成。見出しはしっぽり明朝。
   =================================================================== */
.home { overflow-x: clip; }
.home .sx-top { font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif; color: var(--sx-ink); }
.home .sx-top a { text-decoration: none; }
.home .sx-band { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); padding: clamp(44px, 7vw, 92px) max(16px, calc(50vw - 560px)); }
.home .sx-band > * { max-width: 1120px; margin-left: auto; margin-right: auto; }

/* 小見出し（日本語・短い罫線付き） */
.home .sx-eyebrow { display: flex; align-items: center; gap: 10px; font-size: .82rem; font-weight: 500; letter-spacing: .08em; color: var(--sx-sub); margin: 0 0 1.1em; }
.home .sx-eyebrow::before { content: ""; width: 26px; height: 1px; background: var(--sx-accent); }
.home .sx-title { font-family: "Shippori Mincho", "Yu Mincho", serif; font-size: clamp(1.45rem, 2.8vw, 1.95rem); font-weight: 600; line-height: 1.45; margin: 0 0 .7em; text-wrap: balance; border: 0; padding: 0; letter-spacing: .02em; }
.home .sx-title::before, .home .sx-title::after { display: none; }
.home .sx-lead { color: var(--sx-sub); max-width: 40em; }

/* ヒーロー：単色。飾りなし */
.home .sx-hero { background: var(--sx-primary); color: #fff; border-bottom: 3px solid var(--sx-accent); }
.home .sx-hero .wp-block-columns { align-items: center; gap: clamp(24px, 4vw, 56px); margin: 0 auto; }
.home .sx-hero .sx-eyebrow { color: rgba(255,255,255,.78); }
.home .sx-hero .sx-eyebrow::before { background: var(--sx-accent-on-dark); }
.home .sx-hero-title { font-family: "Shippori Mincho", "Yu Mincho", serif; font-size: clamp(1.7rem, 4vw, 2.7rem); font-weight: 600; line-height: 1.4; color: #fff; margin: 0 0 .55em; border: 0; padding: 0; text-wrap: balance; letter-spacing: .03em; }
.home .sx-hero-title::before, .home .sx-hero-title::after { display: none; }
.home .sx-hero p { color: rgba(255,255,255,.86); font-size: 1rem; }
.home .sx-hero figure { margin: 0; }
.home .sx-hero img { border-radius: 2px; width: 100%; height: auto; }

/* ボタン：角をほぼ立てる。浮かせない */
.home .sx-top .wp-block-buttons { gap: 12px; margin-top: 1.6em; }
.home .sx-top .wp-block-button__link { background: var(--sx-accent); color: #fff; border-radius: 3px; padding: .8em 2em; font-weight: 700; border: 1px solid var(--sx-accent); transition: background .15s, color .15s; }
.home .sx-top .wp-block-button__link:hover { background: var(--sx-ink); border-color: var(--sx-ink); color: #fff; }
.home .sx-top .is-style-outline .wp-block-button__link { background: transparent; color: #fff; border-color: rgba(255,255,255,.6); }
.home .sx-top .is-style-outline .wp-block-button__link:hover { background: rgba(255,255,255,.12); }
.home .sx-band:not(.sx-hero):not(.sx-cta) .is-style-outline .wp-block-button__link { color: var(--sx-ink); border-color: var(--sx-ink); }
.home .sx-band:not(.sx-hero):not(.sx-cta) .is-style-outline .wp-block-button__link:hover { background: var(--sx-ink); color: #fff; }

/* 実績：カードにせず縦罫で区切る */
.home .sx-stats { background: #fff; padding-top: 34px; padding-bottom: 34px; border-bottom: 1px solid var(--sx-line); }
.home .sx-stats .wp-block-columns { gap: 0; margin: 0 auto; }
.home .sx-stats .wp-block-column { text-align: center; padding: 4px 12px; border-left: 1px solid var(--sx-line); }
.home .sx-stats .wp-block-column:first-child { border-left: 0; }
.home .sx-stat-num { font-family: "Shippori Mincho", "Yu Mincho", serif; font-size: clamp(1.5rem, 3vw, 2.1rem); font-weight: 600; color: var(--sx-primary); margin: 0; line-height: 1.2; font-variant-numeric: tabular-nums; }
.home .sx-stat-label { font-size: .82rem; color: var(--sx-sub); margin: .35em 0 0; }
@media (max-width: 560px) { .home .sx-stats .wp-block-columns { flex-wrap: wrap !important; } .home .sx-stats .wp-block-column { flex-basis: 50% !important; border-left: 0; padding: 10px 8px; } }

/* コース：実画像バナー。装飾は控えめに */
.home .sx-courses { background: #fff; }
.home .sx-course-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 1.8em; }
.home .sx-course-grid.sx-3col { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home .sx-course-grid .wp-block-image { margin: 0; }
.home .sx-course-grid img { width: 100%; height: auto; border-radius: 2px; display: block; border: 1px solid var(--sx-line); transition: opacity .15s; }
.home .sx-course-grid a:hover img { opacity: .82; }
@media (max-width: 900px) { .home .sx-course-grid, .home .sx-course-grid.sx-3col { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 420px) { .home .sx-course-grid, .home .sx-course-grid.sx-3col { grid-template-columns: 1fr; } }

/* 理由：カード廃止。上罫＋数字 */
.home .sx-reasons { background: var(--sx-paper); }
.home .sx-reasons .wp-block-columns { gap: clamp(20px, 3vw, 40px); margin-top: 1.8em; }
.home .sx-reason { background: transparent; border: 0; border-top: 1px solid var(--sx-ink); border-radius: 0; padding: 20px 0 0; box-shadow: none; height: auto; }
.home .sx-reason-no { font-family: "Shippori Mincho", "Yu Mincho", serif; font-size: 1rem; font-weight: 600; color: var(--sx-accent); margin: 0; letter-spacing: .1em; }
.home .sx-reason h3 { font-family: "Shippori Mincho", "Yu Mincho", serif; font-size: 1.12rem; font-weight: 600; margin: .5em 0 .7em; line-height: 1.6; border: 0; padding: 0; }
.home .sx-reason h3::before, .home .sx-reason h3::after { display: none; }
.home .sx-reason p { color: var(--sx-sub); font-size: .93rem; margin: 0; line-height: 1.9; }

/* お知らせ */
.home .sx-news { background: #fff; }
.home .sx-news .wp-block-latest-posts { list-style: none; padding: 0; margin: 1.4em 0 0; border-top: 1px solid var(--sx-line); }
.home .sx-news .wp-block-latest-posts li { display: flex; flex-wrap: wrap; gap: 4px 24px; align-items: baseline; padding: 15px 4px; border-bottom: 1px solid var(--sx-line); margin: 0; }
.home .sx-news .wp-block-latest-posts__post-date { order: -1; min-width: 7.5em; color: var(--sx-sub); font-size: .85rem; font-variant-numeric: tabular-nums; }
.home .sx-news .wp-block-latest-posts__post-title { color: var(--sx-ink); font-weight: 500; flex: 1; min-width: 14em; }
.home .sx-news .wp-block-latest-posts__post-title:hover { color: var(--sx-accent); text-decoration: underline; }

/* 校舎：左罫のみ */
.home .sx-access { background: var(--sx-paper); }
.home .sx-access .wp-block-columns { gap: clamp(20px, 3vw, 48px); margin-top: 1.6em; }
.home .sx-campus { background: transparent; border: 0; border-left: 2px solid var(--sx-primary); border-radius: 0; padding: 2px 0 2px 20px; height: auto; }
.home .sx-campus h3 { font-family: "Shippori Mincho", "Yu Mincho", serif; font-size: 1.15rem; font-weight: 600; margin: 0 0 .5em; border: 0; padding: 0; color: var(--sx-ink); }
.home .sx-campus h3::before, .home .sx-campus h3::after { display: none; }
.home .sx-campus p { margin: 0; line-height: 2; font-size: .95rem; }

/* 締め */
.home .sx-cta { background: var(--sx-primary); color: #fff; text-align: center; border-top: 3px solid var(--sx-accent); }
.home .sx-cta .sx-title { color: #fff; }
.home .sx-cta p { color: rgba(255,255,255,.84); }
.home .sx-cta .wp-block-buttons { justify-content: center; }
.home .sx-cta .sx-eyebrow { display: none; }

/* 既定のアーカイブ類はトップでは出さない */
.home .widget_archive, .home .widget_categories, .home .wp-block-archives, .home .wp-block-categories { display: none; }
@media (prefers-reduced-motion: reduce) { .home .sx-top * { transition: none !important; } }
/* ===== TOPDESIGN END ===== */

/* ===== HEADERLOGO START ===== */
/* ヘッダーロゴ（元サイトのロゴ画像）の表示サイズ */
.site-header-logo img { height: 48px; width: auto; max-height: none; }
@media (max-width: 991.98px) { .site-header-logo img { height: 36px; } }
/* ===== HEADERLOGO END ===== */

/* ===== SITEWIDE START ===== */
/* -------------------------------------------------------------------
   サイト全体の整え（下層ページ・一覧・サイドバー・フッター・フォーム）
   色は上の :root トークン（--sx-*）を使用。内容は管理画面から通常どおり編集可。
   ------------------------------------------------------------------- */
body { font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif; color: var(--sx-ink); letter-spacing: .01em; -webkit-font-smoothing: antialiased; }
a { color: var(--sx-primary-2); }
a:hover { color: var(--sx-accent); }

/* ページヘッダー（下層） */
.page-header { min-height: 13rem; }
.page-header-title { font-family: "Shippori Mincho", "Yu Mincho", serif; font-weight: 600; font-size: clamp(1.45rem, 3vw, 2rem); letter-spacing: .06em; line-height: 1.5; text-shadow: 0 1px 2px rgba(0,0,0,.25); }
.page-header-subtext { margin-top: .6em; font-size: .85rem; letter-spacing: .04em; opacity: .92; }
.entry-meta-item-author { display: none !important; }

/* パンくず */
.breadcrumb { font-size: .78rem; padding: .7em 0; }
.breadcrumb, .breadcrumb a { color: var(--sx-sub); }
.breadcrumb a:hover { color: var(--sx-accent); }

/* 本文の読みやすさ */
.entry-body { line-height: 2; }
.entry-body > p, .entry-body > ul, .entry-body > ol, .entry-body > table { margin-bottom: 1.6em; }
.entry-body h2, .entry-body h3, .entry-body h4 { font-family: "Shippori Mincho", "Yu Mincho", serif; font-weight: 600; letter-spacing: .03em; line-height: 1.5; color: var(--sx-ink); background: none; box-shadow: none; }
.entry-body h2 { font-size: 1.5rem; margin: 2.2em 0 .9em; padding: 0 0 .45em; border: 0; border-bottom: 1px solid var(--sx-ink); position: relative; }
.entry-body h2::after { content: ""; position: absolute; left: 0; bottom: -1px; width: 56px; height: 1px; background: var(--sx-accent); }
.entry-body h3 { font-size: 1.2rem; margin: 1.8em 0 .7em; padding: 0; border: 0; }
.entry-body h3::before { content: ""; display: inline-block; width: 16px; height: 1px; background: var(--sx-accent); vertical-align: middle; margin: 0 .5em 0 0; position: static; }
.entry-body h4 { font-size: 1.05rem; margin: 1.5em 0 .6em; padding: 0; border: 0; }
.entry-body h2::before, .entry-body h4::before, .entry-body h3::after, .entry-body h4::after { display: none; }
.entry-body > :first-child { margin-top: 0; }
.entry-body img { max-width: 100%; height: auto; border-radius: 2px; }
.entry-body iframe { max-width: 100%; }
.entry-body table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.entry-body th, .entry-body td { border: 1px solid var(--sx-line); padding: .7em .9em; vertical-align: top; }
.entry-body th { background: var(--sx-paper); font-weight: 600; text-align: left; white-space: nowrap; }
.entry-body a { text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 1px; }
.entry-body a:hover { text-decoration-thickness: 2px; }
.entry-footer { margin-top: 2.5em; }
.entry-meta-data-list dt { background: var(--sx-paper); color: var(--sx-sub); border-radius: 2px; font-weight: 500; }

/* ボタン（ブロック） */
.wp-block-button .wp-block-button__link, .entry-body .wp-block-button .wp-block-button__link { background: var(--sx-accent); color: #fff; border-radius: 3px; padding: .75em 1.8em; font-weight: 700; border: 1px solid var(--sx-accent); text-decoration: none; transition: background .15s, color .15s; }
.wp-block-button .wp-block-button__link:hover, .entry-body .wp-block-button .wp-block-button__link:hover { background: var(--sx-ink); border-color: var(--sx-ink); color: #fff; }
.is-style-outline .wp-block-button__link, .entry-body .is-style-outline .wp-block-button__link { background: transparent; color: var(--sx-ink); border-color: var(--sx-ink); }
.is-style-outline .wp-block-button__link:hover, .entry-body .is-style-outline .wp-block-button__link:hover { background: var(--sx-ink); color: #fff; }

/* 前後の記事ナビ：画像なしの文字リンクに */
.vk_posts.next-prev .vk_post_imgOuter { display: none; }
.vk_posts.next-prev .vk_post.card { border: 1px solid var(--sx-line); border-radius: 2px; box-shadow: none; padding: 0; }
.vk_posts.next-prev .card-intext-inner { padding: 1em 1.1em; display: block; }
.vk_posts.next-prev .card-intext .card-body { position: static !important; background: none !important; padding: 0 !important; margin: 0; height: auto; color: var(--sx-ink); }
.vk_posts.next-prev .card-intext .card-title { font-size: .95rem; font-weight: 600; color: var(--sx-ink) !important; margin: 0 0 .3em; text-shadow: none; line-height: 1.6; }
.vk_posts.next-prev .card-intext .card-date { color: var(--sx-sub) !important; font-size: .78rem; }
.vk_posts.next-prev .vk_post:hover .card-title { color: var(--sx-accent) !important; }

/* SNSシェアボタン：線だけの軽い見た目に */
.veu_socialSet ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.veu_socialSet ul li { flex: 0 0 auto; width: auto !important; margin: 0 !important; }
.veu_socialSet li a.sb_icon_inner { background: #fff !important; border: 1px solid var(--sx-line) !important; box-shadow: none !important; color: var(--sx-ink) !important; border-radius: 3px; padding: .45em .9em; font-size: .82rem; line-height: 1.4; }
.veu_socialSet li a.sb_icon_inner:hover { border-color: var(--sx-ink) !important; }
.veu_socialSet li a .icon_sns, .veu_socialSet li a .sb_text { color: var(--sx-ink) !important; }
.veu_socialSet li button { background: #fff !important; border: 1px solid var(--sx-line) !important; box-shadow: none !important; color: var(--sx-ink) !important; border-radius: 3px; padding: .45em .9em; font-size: .82rem; line-height: 1.4; }
.veu_socialSet li button * { color: var(--sx-ink) !important; }
.vk_posts.next-prev .next-prev-prev .vk_post_title::before { content: "← "; color: var(--sx-accent); }
.vk_posts.next-prev .next-prev-next .vk_post_title::after { content: " →"; color: var(--sx-accent); }

/* 投稿一覧（ブログ・カテゴリー） */
.vk_posts .vk_post { border: 0; border-bottom: 1px solid var(--sx-line); border-radius: 0; box-shadow: none; padding-top: 1.5em; padding-bottom: 1.5em; margin-bottom: 0; }
.vk_posts .vk_post:first-child { border-top: 1px solid var(--sx-line); }
.vk_post .vk_post_imgOuter { border-radius: 2px; overflow: hidden; }
.vk_post .vk_post_imgOuter:not(:has(img)) { display: none; }
.vk_post .vk_post_title { font-size: 1.1rem; font-weight: 700; line-height: 1.6; margin: 0 0 .3em; }
.vk_post .vk_post_title a { color: var(--sx-ink); text-decoration: none; }
.vk_post .vk_post_title a:hover { color: var(--sx-accent); }
.vk_post .vk_post_date { color: var(--sx-sub); font-size: .82rem; font-variant-numeric: tabular-nums; }
.vk_post .vk_post_excerpt { color: var(--sx-sub); font-size: .93rem; line-height: 1.9; }
.vk_post .vk_post_btnOuter { text-align: left; margin-top: .4em; }
.vk_post .btn.vk_post_btn { background: none; border: 0; color: var(--sx-primary); padding: 0; font-size: .88rem; font-weight: 600; box-shadow: none; border-radius: 0; }
.vk_post .btn.vk_post_btn::after { content: " →"; }
.vk_post .btn.vk_post_btn:hover { color: var(--sx-accent); background: none; }
.vk_post_imgOuter_singleTermLabel span { border-radius: 2px; font-size: .72rem; }
.pagination .page-numbers { border-radius: 2px; }

/* SNS・フォロー・コメント */
.veu_followSet { display: none; }
.veu_socialSet { margin-top: 2.5em; }
#comments, .comments-area { display: none; }

/* サイドバー */
.widget { margin-bottom: 2.6em; }
.widget .sub-section-title { font-family: "Shippori Mincho", "Yu Mincho", serif; font-size: 1.02rem; font-weight: 600; letter-spacing: .06em; padding: 0 0 .55em; margin: 0 0 .9em; border: 0; border-bottom: 1px solid var(--sx-ink); background: none; position: relative; color: var(--sx-ink); }
.widget .sub-section-title a { color: var(--sx-ink); text-decoration: none; }
.widget .sub-section-title::after { content: ""; position: absolute; left: 0; bottom: -1px; width: 40px; height: 1px; background: var(--sx-accent); }
.widget .sub-section-title::before { display: none; }
/* 子ページ一覧・カテゴリー一覧 */
.widget_link_list ul, .widget_categories ul { list-style: none; padding: 0; margin: 0; }
.widget_link_list li, .widget_categories li { border-bottom: 1px solid var(--sx-line); padding: .55em .1em; margin: 0; line-height: 1.6; }
.widget_link_list li a, .widget_categories li a { color: var(--sx-ink); text-decoration: none; font-size: .93rem; }
.widget_link_list li a:hover, .widget_categories li a:hover { color: var(--sx-accent); }
.widget.widget_categories ul ul.children { margin: .3em 0 0 0; padding: 0; }
.widget.widget_categories ul ul.children > li, .widget.widget_categories ul ul.children > li > a { border: 0 !important; }
.widget.widget_categories ul ul.children > li { padding: .15em 0 .15em 1em !important; font-size: .88rem; }
.widget.widget_categories ul ul.children > li > a { color: var(--sx-sub); }
.widget.widget_categories ul ul.children ul.children { display: none; } /* 3階層目は出さない */
.widget_recent_entries ul { list-style: none; padding: 0; margin: 0; }
.widget_recent_entries li { border-bottom: 1px solid var(--sx-line); padding: .65em .1em; margin: 0; line-height: 1.6; }
.widget_recent_entries li a { color: var(--sx-ink); text-decoration: none; font-size: .93rem; }
.widget_recent_entries li a:hover { color: var(--sx-accent); }
.widget_recent_entries .post-date { display: block; color: var(--sx-sub); font-size: .76rem; margin-top: .15em; font-variant-numeric: tabular-nums; }
.widget .custom-html-widget img { border-radius: 2px; }
.widget_search .search-submit, .widget_search .btn { background: var(--sx-primary); border-color: var(--sx-primary); }

/* サイドバー CTA（カスタムHTML .sx-side-cta） */
.sx-side-cta { display: grid; gap: 10px; }
.sx-side-cta__main { display: block; background: var(--sx-accent); color: #fff !important; text-decoration: none !important; border-radius: 3px; padding: 16px 18px; font-weight: 700; font-size: 1.02rem; line-height: 1.4; transition: background .15s; }
.sx-side-cta__main span { display: block; font-size: .78rem; font-weight: 400; opacity: .92; margin-top: .3em; }
.sx-side-cta__main:hover { background: var(--sx-ink); }
.sx-side-cta__sub { display: block; text-align: center; border: 1px solid var(--sx-ink); color: var(--sx-ink) !important; text-decoration: none !important; border-radius: 3px; padding: 12px 16px; font-weight: 600; font-size: .95rem; transition: background .15s, color .15s; }
.sx-side-cta__sub:hover { background: var(--sx-ink); color: #fff !important; }
.sx-side-cta__tel { margin: .4em 0 0; text-align: center; line-height: 1.5; }
.sx-side-cta__tel a { font-family: "Shippori Mincho", "Yu Mincho", serif; font-size: 1.5rem; font-weight: 600; color: var(--sx-primary); text-decoration: none; letter-spacing: .04em; font-variant-numeric: tabular-nums; }
.sx-side-cta__tel small { display: block; color: var(--sx-sub); font-size: .76rem; }

/* サイドバー リンク一覧（カスタムHTML .sx-side-nav） */
.sx-side-nav { list-style: none; margin: 0; padding: 0; }
.sx-side-nav li { border-bottom: 1px solid var(--sx-line); margin: 0; padding: 0; }
.sx-side-nav a { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: .7em .2em; color: var(--sx-ink); text-decoration: none; font-size: .95rem; line-height: 1.5; transition: padding .15s, color .15s; }
.sx-side-nav a::after { content: "→"; color: var(--sx-accent); font-size: .85em; flex: none; }
.sx-side-nav a:hover { color: var(--sx-accent); padding-left: .5em; }
.sx-side-nav small { display: block; color: var(--sx-sub); font-size: .74rem; font-weight: 400; }

/* フッター */
.site-footer { background: var(--sx-primary); color: rgba(255,255,255,.86); border-top: 3px solid var(--sx-accent); padding-top: 2.6em; }
.site-footer a { color: rgba(255,255,255,.86); text-decoration: none; }
.site-footer a:hover { color: #fff; text-decoration: underline; }
.site-footer .widget { margin-bottom: 2em; }
.site-footer .custom-html-widget > p:first-child { font-family: "Shippori Mincho", "Yu Mincho", serif; font-size: 1rem; letter-spacing: .08em; padding-bottom: .5em !important; margin-bottom: .9em !important; border-bottom: 1px solid rgba(255,255,255,.28) !important; }
.site-footer .custom-html-widget ul { list-style: none; padding: 0; margin: 0; }
.site-footer .custom-html-widget li { padding: .3em 0; }
.site-footer .custom-html-widget p { line-height: 1.9; }
.site-footer-copyright { border-top: 1px solid rgba(255,255,255,.16); margin-top: 1.4em; padding: 1.2em 0; font-size: .78rem; color: rgba(255,255,255,.62); letter-spacing: .04em; text-align: center; }
.site-footer-copyright p { margin: 0; }

/* Contact Form 7 */
.wpcf7 label { font-weight: 600; font-size: .95rem; display: block; }
.wpcf7 input[type="text"], .wpcf7 input[type="tel"], .wpcf7 input[type="email"], .wpcf7 select, .wpcf7 textarea { width: 100%; border: 1px solid var(--sx-line); border-radius: 3px; padding: .7em .9em; background: #fff; font-size: 1rem; font-family: inherit; margin-top: .35em; box-shadow: none; }
.wpcf7 input:focus, .wpcf7 select:focus, .wpcf7 textarea:focus { outline: 2px solid var(--sx-primary-2); outline-offset: 1px; border-color: var(--sx-primary-2); }
.wpcf7 select { width: auto; min-width: 12em; }
.wpcf7 input[type="submit"] { background: var(--sx-accent); color: #fff; border: 1px solid var(--sx-accent); border-radius: 3px; padding: .85em 2.6em; font-weight: 700; font-size: 1rem; cursor: pointer; margin-top: .5em; transition: background .15s; }
.wpcf7 input[type="submit"]:hover { background: var(--sx-ink); border-color: var(--sx-ink); }
.wpcf7 form .wpcf7-response-output { border-radius: 3px; padding: .9em 1.1em; margin: 1.5em 0 0; }
.wpcf7 .wpcf7-not-valid-tip { font-size: .82rem; }
/* ===== SITEWIDE END ===== */



/* ===== VOICEPAGE START ===== */
/* 塾生・保護者様の声：VK Blocks 吹き出しの調整 */
.sx-voice .sx-lead { color: var(--sx-sub); margin-bottom: 2.4em; }
.sx-voice .sx-voice-title { font-family: "Shippori Mincho", "Yu Mincho", serif; font-size: 1.25rem; margin: 1.2em 0 1em; padding: 0 0 .5em; border: 0; border-bottom: 1px solid var(--sx-ink); position: relative; }
.sx-voice .sx-voice-title::before { display: none; }
.sx-voice .sx-voice-title::after { content: ""; position: absolute; left: 0; bottom: -1px; width: 48px; height: 1px; background: var(--sx-accent); display: block; }
.sx-voice .sx-voice-title small { display: block; font-family: "Zen Kaku Gothic New", sans-serif; font-size: .8rem; font-weight: 500; color: var(--sx-sub); letter-spacing: .04em; margin-top: .35em; }
.sx-voice .vk_balloon { margin-bottom: 1.6em; }
.sx-voice .vk_balloon_icon { flex-basis: 84px; }
.sx-voice .vk_balloon_icon_image { width: 72px; height: 72px; border: 0; box-shadow: 0 0 0 1px var(--sx-line); }
.sx-voice .vk_balloon_icon_name { font-size: .74rem; color: var(--sx-sub); letter-spacing: .04em; margin-top: .3em; }
.sx-voice .vk_balloon_content { background: var(--sx-paper); border-radius: 6px; padding: 1.1em 1.3em; line-height: 1.95; font-size: .97rem; }
.sx-voice .vk_balloon_content p { margin: 0 0 .9em; }
.sx-voice .vk_balloon_content p:last-child { margin-bottom: 0; }
.sx-voice .vk_balloon-position-left .vk_balloon_content_before { border-right-color: var(--sx-paper); }
.sx-voice .vk_balloon-position-right .vk_balloon_content { background: #e9eef3; }
.sx-voice .vk_balloon-position-right .vk_balloon_content_before { border-left-color: #e9eef3; }
.sx-voice .vk_balloon_content_after { display: none; }
.sx-voice .wp-block-spacer { height: 20px !important; }
/* ===== VOICEPAGE END ===== */

/* ===== RADIOPAGE START ===== */
/* 志ラジオ記事（ブロック構成）：番組案内＋放送アーカイブ。動画は中央揃え・レスポンシブ */
.sx-radio-page .sx-radio-hero { background: var(--sx-paper); border: 1px solid var(--sx-line); border-radius: 2px; padding: 26px 28px 26px; margin: 0 0 2.6em; text-align: center; }
.sx-radio-page .sx-radio-thumb { margin: 0 auto 1.4em; max-width: 680px; }
.sx-radio-page .sx-radio-thumb img { width: 100%; height: auto; border-radius: 3px; display: block; box-shadow: 0 1px 0 var(--sx-line); }
.sx-radio-page .sx-radio-thumb figcaption { color: var(--sx-sub); font-size: .82rem; margin-top: .6em; text-align: center; }
.sx-radio-page .sx-radio-lead { font-size: 1.02rem; line-height: 2; margin: 0 auto 1.2em; max-width: 38em; }
.sx-radio-page .sx-radio-info { gap: 0 24px; margin: 0 auto 1.2em; max-width: 640px; }
.sx-radio-page .sx-radio-info .wp-block-column { text-align: center; flex-basis: 0; }
.sx-radio-page .sx-radio-info-label { font-size: .76rem; letter-spacing: .1em; color: var(--sx-sub); margin: 0 0 .15em; font-weight: 500; }
.sx-radio-page .sx-radio-info-value { font-family: "Shippori Mincho", "Yu Mincho", serif; font-size: 1.12rem; font-weight: 600; margin: 0; color: var(--sx-ink); }
.sx-radio-page .sx-radio-hero .wp-block-buttons { margin: 0; }
.sx-radio-page .sx-episode { padding: 28px 0 32px; border-top: 1px solid var(--sx-line); margin: 0; }
.sx-radio-page .sx-episode-note { font-family: "Shippori Mincho", "Yu Mincho", serif; color: var(--sx-accent); font-size: 1.05rem; margin: 0 0 .4em; }
.sx-radio-page .sx-episode-date { font-family: "Shippori Mincho", "Yu Mincho", serif; color: var(--sx-accent); letter-spacing: .06em; font-size: .95rem; margin: 0 0 .35em; font-variant-numeric: tabular-nums; }
.sx-radio-page .sx-episode-title { font-size: 1.15rem; margin: 0 0 .6em; line-height: 1.6; }
.sx-radio-page .sx-episode-title::before { display: none; }
.sx-radio-page .sx-episode p:not(.sx-episode-date):not(.sx-episode-note) { margin: 0 0 .7em; color: var(--sx-sub); }
.sx-radio-page .sx-episode .wp-block-embed { max-width: 720px; margin: 1.1em auto 0; }
.sx-radio-page .sx-episode .wp-block-embed__wrapper { border-radius: 2px; overflow: hidden; background: #000; }
.sx-radio-page .sx-episode-photo { margin: 1.1em auto 0; max-width: 560px; }
.sx-radio-page .sx-episode-photo img { width: 100%; height: auto; border-radius: 2px; border: 1px solid var(--sx-line); }
/* 他記事のYouTube埋め込みも中央揃え・レスポンシブに */
.entry-body .fg_youtube { position: relative; width: 100%; max-width: 720px; aspect-ratio: 16 / 9; margin: 1.2em auto; background: #000; border-radius: 2px; overflow: hidden; }
.entry-body .fg_youtube iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.entry-body .wp-block-embed.is-provider-youtube { max-width: 720px; margin-left: auto; margin-right: auto; }
/* ===== RADIOPAGE END ===== */


/* ===== TOPPICKUP START ===== */
/* トップ「注目の記事」：先頭固定表示の投稿をアイキャッチ大きめのカードで（Query Loop .sx-pickup） */
.home .sx-pickup .wp-block-post-template { gap: 28px; margin-top: 1.6em; }
.home .sx-pickup .wp-block-post-template:has(> li:only-child) { grid-template-columns: minmax(0, 640px); justify-content: center; }
.home .sx-pickup .wp-block-post { border: 1px solid var(--sx-line); border-radius: 2px; background: #fff; transition: border-color .15s; }
.home .sx-pickup .wp-block-post:hover { border-color: var(--sx-ink); }
.home .sx-pickup .wp-block-post-featured-image { margin: 0; }
.home .sx-pickup .wp-block-post-featured-image img { width: 100%; height: auto; display: block; border-radius: 2px 2px 0 0; }
.home .sx-pickup .sx-pickup-title { font-family: "Shippori Mincho", "Yu Mincho", serif; font-size: 1.2rem; font-weight: 600; line-height: 1.6; margin: 16px 20px 4px; border: 0; padding: 0; }
.home .sx-pickup .sx-pickup-title::before, .home .sx-pickup .sx-pickup-title::after { display: none; }
.home .sx-pickup .sx-pickup-title a { color: var(--sx-ink); text-decoration: none; }
.home .sx-pickup .sx-pickup-title a:hover { color: var(--sx-accent); }
.home .sx-pickup .sx-pickup-date { color: var(--sx-sub); font-size: .82rem; margin: 0 20px 18px; font-variant-numeric: tabular-nums; }
.home .sx-pickup .wp-block-query-no-results p { color: var(--sx-sub); font-size: .9rem; }

/* トップ「ゆき先生の志ラジオ」専用枠 */
.home .sx-radio { background: var(--sx-paper); border-top: 1px solid var(--sx-line); border-bottom: 1px solid var(--sx-line); padding-top: clamp(32px, 5vw, 56px); padding-bottom: clamp(32px, 5vw, 56px); }
.home .sx-radio .wp-block-columns { gap: clamp(20px, 4vw, 48px); margin: 0 auto; }
.home .sx-radio figure { margin: 0; }
.home .sx-radio img { width: 100%; max-width: 360px; height: auto; border: 1px solid var(--sx-line); border-radius: 2px; display: block; }
.home .sx-radio .sx-title { margin-bottom: .5em; }
.home .sx-radio p:not(.sx-eyebrow) { color: var(--sx-sub); max-width: 36em; }
.home .sx-radio .wp-block-buttons { margin-top: 1.2em; }
@media (max-width: 781px) { .home .sx-radio img { margin: 0 auto 8px; } }
/* 注目の記事＋お知らせ：2カラム（スマホでは縦積み） */
.home .sx-newsarea { background: #fff; }
.home .sx-newsarea .sx-newsarea-cols { gap: clamp(28px, 5vw, 64px); margin: 0 auto; }
.home .sx-newsarea .sx-pickup .wp-block-post-template { gap: 20px; margin-top: 1.2em; }
.home .sx-newsarea .sx-pickup .sx-pickup-title { font-size: 1.05rem; margin: 12px 16px 2px; }
.home .sx-newsarea .sx-pickup .sx-pickup-date { margin: 0 16px 14px; }
.home .sx-newsarea .sx-news .wp-block-latest-posts { margin-top: 1.2em; }
.home .sx-newsarea .sx-news .wp-block-latest-posts li { padding: 12px 2px; gap: 2px 14px; }
.home .sx-newsarea .sx-news .wp-block-latest-posts__post-date { min-width: 6.5em; font-size: .8rem; }
.home .sx-newsarea .sx-news .wp-block-latest-posts__post-title { font-size: .95rem; min-width: 10em; }
.home .sx-newsarea .sx-news .wp-block-buttons { margin-top: 1.4em; }
@media (max-width: 781px) { .home .sx-newsarea .sx-news { margin-top: 2.2em; } }
/* ===== TOPPICKUP END ===== */

/* ===== SCROLLHEADER START ===== */
/* スクロール時の固定ヘッダー：ロゴ（紺文字）が読めるよう白地にし、ナビ文字を濃色に */
.header_scrolled .site-header { background-color: #fff !important; box-shadow: 0 1px 0 var(--sx-line), 0 2px 10px rgba(0,0,0,.06) !important; }
.header_scrolled .site-header .global-nav { background-color: transparent !important; --vk-color-border-hr: var(--sx-line); }
.header_scrolled .global-nav-list > li > a { color: var(--sx-ink) !important; }
.header_scrolled .global-nav-list > li > a:hover, .header_scrolled .global-nav-list > li.current-menu-item > a, .header_scrolled .global-nav-list > li.current_page_item > a { color: var(--sx-accent) !important; }
.header_scrolled .global-nav-list.vk-menu-acc > li > .acc-btn-open { background-image: url(/wp-content/themes/lightning/_g3/inc/vk-mobile-nav/package/images/vk-menu-acc-icon-open-black.svg) !important; }
.header_scrolled .site-header-logo img { height: 40px; }
/* ===== SCROLLHEADER END ===== */

/* ===== SITEMAP START ===== */
/* サイトマップ／子ページ一覧（ページリスト・カテゴリーブロック） */
.entry-body .sx-sitemap, .entry-body .sx-child-pages { list-style: none; padding: 0; margin: 0 0 2em; }
.entry-body .sx-sitemap li, .entry-body .sx-child-pages li { border-bottom: 1px solid var(--sx-line); margin: 0; padding: 0; }
.entry-body .sx-sitemap li a, .entry-body .sx-child-pages li a { display: block; padding: .65em .3em; color: var(--sx-ink); text-decoration: none; }
.entry-body .sx-sitemap li a:hover, .entry-body .sx-child-pages li a:hover { color: var(--sx-accent); padding-left: .7em; transition: padding .15s, color .15s; }
.entry-body .sx-sitemap ul, .entry-body .sx-child-pages ul { list-style: none; padding: 0 0 0 1.2em; margin: 0; }
.entry-body .sx-sitemap ul li { border-bottom: 0; border-top: 1px dashed var(--sx-line); }
.entry-body .sx-sitemap ul li a { font-size: .93rem; color: var(--sx-sub); }
.entry-body .sx-child-pages li a::after { content: "→"; float: right; color: var(--sx-accent); font-size: .85em; }
/* ===== SITEMAP END ===== */


/* ===== FLOW START ===== */
/* VK Blocks フロー（Step表示）の調整：番号バッジ＋明朝見出し */
.entry-body { counter-reset: sxstep; }
.entry-body .vk_flow { margin-bottom: 0; counter-increment: sxstep; }
.entry-body .vk_flow .vk_flow_frame { border: 1px solid var(--sx-line); border-radius: 2px; background: #fff; padding: 24px 28px 24px 24px; position: relative; }
.entry-body .vk_flow .vk_flow_frame_text_title { display: flex; align-items: center; gap: 14px; font-family: "Shippori Mincho", "Yu Mincho", serif; font-size: 1.22rem; font-weight: 600; color: var(--sx-ink); letter-spacing: .03em; border: 0; margin: 0 0 .55em; padding: 0; }
.entry-body .vk_flow .vk_flow_frame_text_title::before { content: "STEP " counter(sxstep); flex: none; font-family: "Zen Kaku Gothic New", sans-serif; font-size: .72rem; font-weight: 700; letter-spacing: .1em; color: #fff; background: var(--sx-accent); border-radius: 2px; padding: .35em .7em; line-height: 1; }
.entry-body .vk_flow .vk_flow_frame_text_content { color: var(--sx-sub); line-height: 1.95; font-size: .97rem; padding-left: 0; }
.entry-body .vk_flow .vk_flow_frame_text_content small { font-size: .85rem; }
.entry-body .vk_flow.vk_flow-arrow-on::after { height: 40px; background-size: 36px 36px; opacity: .6; }
/* ===== FLOW END ===== */

/* ===== COURSEPAGE START ===== */
/* コース案内ページ共通の部品（囲み・特長見出し・スケジュール表・ページ末CTA） */
.entry-body .sx-lead { font-family: "Shippori Mincho", "Yu Mincho", serif; font-size: 1.15rem; font-weight: 600; line-height: 1.8; color: var(--sx-ink); margin-bottom: 1.2em; }
.entry-body .sx-note { color: var(--sx-sub); font-size: .88rem; }
.entry-body .sx-callout { background: var(--sx-paper); border: 1px solid var(--sx-line); border-left: 3px solid var(--sx-accent); border-radius: 2px; padding: 22px 24px; margin: 2em 0 2.4em; }
.entry-body .sx-callout h3 { margin-top: 0; font-size: 1.15rem; }
.entry-body .sx-callout h3::before { display: none; }
.entry-body .sx-callout .wp-block-buttons { margin-top: .6em; }
.entry-body .sx-callout .wp-block-image img { border: 1px solid var(--sx-line); border-radius: 2px; }
.entry-body .sx-feature-title { font-size: 1.08rem; margin: 1.6em 0 .5em; }
.entry-body .wp-block-columns .sx-feature-title:first-child { margin-top: 0; }
.entry-body .wp-block-columns .wp-block-image { margin: 0; }
.entry-body .wp-block-columns .wp-block-image img { border-radius: 2px; }
.entry-body .sx-schedule table { font-size: .95rem; }
.entry-body .sx-schedule th { background: var(--sx-paper); }
.entry-body .sx-schedule td:first-child { white-space: nowrap; font-family: "Shippori Mincho", "Yu Mincho", serif; font-weight: 600; color: var(--sx-primary); width: 9em; }
.entry-body .wp-block-quote { border-left: 2px solid var(--sx-accent); background: var(--sx-paper); padding: 1.2em 1.4em; margin: 1.4em 0; border-radius: 2px; }
.entry-body .wp-block-quote p { margin-bottom: .8em; font-size: .95rem; }
.entry-body .wp-block-quote cite { display: block; text-align: right; color: var(--sx-sub); font-style: normal; font-size: .85rem; }
.entry-body .sx-page-cta { background: var(--sx-primary); color: #fff; text-align: center; padding: 36px 24px; margin: 3em 0 0; border-radius: 2px; }
.entry-body .sx-page-cta h3 { color: #fff; margin: 0 0 .5em; font-size: 1.3rem; }
.entry-body .sx-page-cta h3::before { display: none; }
.entry-body .sx-page-cta p { color: rgba(255,255,255,.85); }
.entry-body .sx-page-cta .is-style-outline .wp-block-button__link { color: #fff; border-color: rgba(255,255,255,.7); }
.entry-body .sx-page-cta .is-style-outline .wp-block-button__link:hover { background: rgba(255,255,255,.12); border-color: #fff; }
.entry-body .sx-model-image { max-width: 560px; margin: .4em auto 1em; }
.entry-body .sx-model-image img { border: 1px solid var(--sx-line); border-radius: 2px; }
.entry-body .wp-lightbox-container button { border-radius: 2px; }
/* ===== COURSEPAGE END ===== */
