@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ — はやみ甲ダンスカンパニー（HKDC）
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* =========================================================
   HKDC — カラー / タイポ 変数（design.md §1・§2）
   ピンク #DE0179 は「差し色5箇所」限定（見出し下線・ボタン・体験カード・バッジ・リンクhover）
   ========================================================= */
:root {
	--bg-main: #FAF9F8;
	--bg-alt: #FEF8F1;
	--text: #1A1A1A;
	--text-muted: #8A8480;
	--pink: #DE0179;
	--pink-dark: #B80165;     /* ボタンhover用の少し濃いピンク */
	--pink-light: #FCE7F1;
	--line: #E2DEDC;
	--ivory-card: #FCF3E8;    /* PRICE_V2: 体験カード背景（地より一段濃いアイボリー） */
	--pink-border: #E6AFC9;   /* PRICE_V2: 体験カード枠（淡ピンク） */
	--black: #000;
	--badge-adult-bg: #ECEAE8;

	--font-heading: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
	--font-body: "Noto Sans JP", sans-serif;
	--font-en: "Jost", "Zen Kaku Gothic New", sans-serif;

	--maxw: 1080px;
	--maxw-read: 760px;
	--sec-pad-pc: 120px;
	--sec-pad-sp: 72px;
	--radius: 8px;
	--shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}

/* =========================================================
   SWELL デフォルト上書き（トップ全幅化・h2白文字対策・タイトル非表示）
   ========================================================= */
.home {
	background: var(--bg-main);
	color: var(--text);
	font-family: var(--font-body);
	font-size: 16px;       /* TYPO: 社長指定で本文16px（18→16） */
	font-weight: 300;      /* sensess実測: weight300 */
	line-height: 1.8;
	letter-spacing: 0.05em; /* sensess実測: 0.05em */
}

/* TYPO §1: 本文p 18px/400/0.03em/1.8（.home限定）。
   hkdc-* の独自pクラス（lead/leader/price-hl等）は :not で除外し、各自のデザインを保持。
   詳細度(0,0,3,1)で SWELL親の `.post_content p`(16px) に勝つ。 */
.home .post_content p:not([class*="hkdc-"]) {
	font-size: 16px;        /* TYPO: 社長指定で本文16px（18→16） */
	font-weight: 300;       /* sensess実測: weight300 */
	letter-spacing: 0.05em; /* sensess実測: 0.05em */
	line-height: 1.8;
}

/* トップページのコンテンツ幅を全幅に */
.home .l-content,
.home .l-mainContent,
.home .l-mainContent__inner,
.home #main_content,
.home .post_content {
	max-width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-top: 0 !important;
}
.home .post_content {
	margin-top: 0 !important;
}
.home article > .post_content > *:first-child {
	margin-top: 0 !important;
}

/* 固定ページの自動タイトル・パンくず・アイキャッチを非表示（フロントページ） */
.home .c-pageTitle,
.home .p-breadcrumb,
.home .post_title,
.home .c-postThumb,
.home .l-mainContent > .l-articleBody > .article_header {
	display: none !important;
}

/* SWELL は .post_content h2 を color:#fff 強制 → 独自h2は墨色で上書き（既知の罠） */
.home .post_content h2,
.home .post_content h3 {
	background: none !important;
	border: none !important;
	padding: 0 !important;
	margin: 0;
	color: var(--text) !important;
	line-height: 1.4;
}
.home .post_content h2::before,
.home .post_content h2::after,
.home .post_content h3::before,
.home .post_content h3::after {
	display: none !important;
}

/* TYPO: SWELL親テーマの `.post_content h2{font-size:1.2em}` および
   `.post_content h2,h3,h4{font-weight:700}` に勝つため、hkdc見出しを
   .home .post_content プレフィクス（詳細度0,0,2,1）で再指定。色は上の!importantブロックを維持。 */
.home .post_content h2.hkdc-h2 {
	font-size: 32px;        /* TYPO sensess準拠: 節見出し32px（36→32） */
	font-weight: 300;       /* TYPO sensess準拠: 300（350→300） */
}
.home .post_content h3.hkdc-classes-head {
	font-size: 22px;        /* TYPO sensess準拠: 22px */
	font-weight: 300;       /* TYPO sensess準拠: 300（350→300） */
	margin-bottom: 56px;    /* 修正(2026-06-03): #classタイトル直下の余白を他セクション(.hkdc-sec-head=56px)と統一。
	                            親 .home .post_content h3{margin:0} の詳細度に勝つため .home付き詳細度0,0,2,1 で再指定 */
}
.home .post_content h3.hkdc-price__group-title {
	font-size: 22px;        /* TYPO sensess準拠: 22px */
	font-weight: 300;       /* TYPO sensess準拠: 300（350→300） */
}
.home .post_content h3.hkdc-class-card__name {
	font-size: 22px;        /* TYPO sensess準拠: 22px */
	font-weight: 400;       /* TYPO sensess準拠: カード名は可読性確保で400 */
}

/* 全幅セクション用ユーティリティ */
.hkdc-full {
	width: 100vw;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}

/* =========================================================
   修正3：ヘッダー直下〜FVの余白を0に（.home限定・詳細度で親に勝つ）
   ========================================================= */
.home #content.l-content { padding-top: 0 !important; }
.home .l-mainContent__inner > .post_content { margin-top: 0 !important; }
.home .l-mainContent__inner > .post_content > :first-child { margin-top: 0 !important; }
.home .hkdc-fv { margin-top: 0 !important; }

/* =========================================================
   修正4：FV下〜「重要なお知らせ」の余白を0に（FV直後のnewsだけ）
   ========================================================= */
.home .hkdc-fv { margin-bottom: 0 !important; }
.home .hkdc-fv + .hkdc-news { padding-top: 0 !important; }
.home .hkdc-fv + .hkdc-news .hkdc-inner { padding-top: 56px; }
@media (max-width: 959px) {
	.home .hkdc-fv + .hkdc-news .hkdc-inner { padding-top: 40px; }
}

/* =========================================================
   共通レイアウト
   ========================================================= */
.hkdc-section {
	padding-top: var(--sec-pad-pc);
	padding-bottom: var(--sec-pad-pc);
}
.hkdc-section--alt { background: var(--bg-alt); }
.hkdc-inner {
	max-width: var(--maxw);
	margin: 0 auto;
	padding: 0 32px;
}
.hkdc-inner--read { max-width: var(--maxw-read); }

/* セクション見出し（ピンクの短い下線・差し色①） */
.hkdc-sec-head { text-align: center; margin-bottom: 56px; }
.hkdc-h2 {
	font-family: var(--font-heading);
	font-weight: 300;       /* TYPO sensess準拠: 300（節見出しも軽く） */
	font-size: 32px;        /* TYPO sensess準拠: 32px（36→32） */
	letter-spacing: 0.05em; /* TYPO sensess準拠: 0.05em（0.07→0.05） */
	line-height: 1.5;       /* TYPO sensess準拠: 1.5 */
	color: var(--text);
	position: relative;
	display: inline-block;
	padding-bottom: 18px;
}
.hkdc-h2::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 48px;
	height: 3px;
	background: var(--pink);
	border-radius: 2px;
}
.hkdc-h2__en {
	display: block;
	font-family: var(--font-en);
	font-weight: 500;        /* TYPO §3: 据え置き（Jost） */
	font-size: 13px;
	letter-spacing: 0.2em;   /* TYPO §3: 0.18→0.2em */
	color: var(--text-muted);
	margin-bottom: 6px;
	text-transform: uppercase;
}
.hkdc-lead {
	font-size: 20px;         /* TYPO sensess準拠: リード20px（22→20、sensess大本文=20/300） */
	font-weight: 300;        /* TYPO sensess準拠: 300 */
	letter-spacing: 0.05em;  /* TYPO sensess準拠: 0.05em */
	line-height: 1.9;        /* TYPO sensess準拠: 1.9 */
	color: var(--text);
	margin: 22px auto 0;
	max-width: 640px;
	/* 2026-06-06 ぶら下がり1文字対策：
	   ・text-wrap: pretty（行末1単語/孤立文字の発生確率を下げる、Chrome/Edge 117+, Safari 17.4+, FF 121+）
	   ・word-break: keep-all（和文の中途半端な禁則回避＋単語単位優先）
	   ・hanging-punctuation: allow-end（行末の句読点を版面外へぶら下げ、和文タイポ改善） */
	text-wrap: pretty;
	word-break: keep-all;
	hanging-punctuation: allow-end;
}

/* ボタン（差し色②） */
.hkdc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 16px;
	letter-spacing: 0.04em;
	line-height: 1.4;
	color: #fff;
	background: var(--pink);
	border: none;
	border-radius: var(--radius);
	padding: 16px 36px;
	text-decoration: none;
	transition: background-color 0.25s ease, transform 0.25s ease;
	cursor: pointer;
}
.hkdc-btn:hover { background: var(--pink-dark); color: #fff; transform: translateY(-1px); }
.hkdc-btn--ghost {
	color: var(--text);
	background: transparent;
	border: 1.5px solid var(--text);
}
.hkdc-btn--ghost:hover { background: var(--text); color: #fff; }
.hkdc-btn--lg { padding: 19px 48px; font-size: 17px; }

/* リンク（hoverでピンク・差し色⑤） */
.hkdc-link {
	color: var(--text);
	text-decoration: none;
	border-bottom: 1px solid var(--line);
	transition: color 0.2s ease, border-color 0.2s ease;
}
.hkdc-link:hover { color: var(--pink); border-color: var(--pink); }

/* フェードイン（控えめ・上品：ビューポートに入ったら速やかに不透明化） */
.hkdc-fade { opacity: 0; transform: translateY(10px); transition: opacity 0.5s ease, transform 0.5s ease; }
.hkdc-fade.is-visible { opacity: 1; transform: none; }
/* モーション軽減設定の利用者・JS非実行時はフェードを無効化して確実に表示 */
@media (prefers-reduced-motion: reduce) {
	.hkdc-fade { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* =========================================================
   修正1：ロゴ＋社名のロックアップ（通常ヘッダー / 追従ヘッダー）
   ロゴ画像の右に「はやみ甲ダンスカンパニー」を併記（JSでspan注入）。
   社名はピンク不可（墨色 var(--text)）。
   ========================================================= */
.c-headLogo__link {
	display: flex !important;
	align-items: center;
	gap: 12px;
}
/* 通常ヘッダー ロゴ高さ40px / 追従ヘッダー34px */
#header .c-headLogo__img { height: 40px !important; width: auto !important; }
#fix_header .c-headLogo__img { height: 34px !important; width: auto !important; }
.hkdc-logo-name {
	font-family: var(--font-heading);
	font-weight: 600;        /* TYPO §6: 700→600 */
	font-size: 18px;         /* TYPO §6: 据え置き */
	letter-spacing: 0.05em;  /* TYPO §6: 0.04→0.05em */
	line-height: 1.3;
	color: var(--text);
	white-space: nowrap;
}
/* SP（≦959）は社名を隠す（FV内に社名サブテキストで情報担保） */
@media (max-width: 959px) {
	.hkdc-logo-name { display: none; }
}

/* =========================================================
   グローバルナビの「体験申込」CTAボタン化
   Instagram DM（ig.me）へ接続。
   ========================================================= */
/* 修正2：親テーマ .c-gnav>.menu-item>a{height:100%} が帯化させるため height:auto を強制 */
.hkdc-nav-cta { display: flex; align-items: center; }
.hkdc-nav-cta > a {
	height: auto !important;
	align-self: center;
}
.hkdc-nav-cta > a {
	display: inline-flex;
	align-items: center;
	background: var(--pink);
	color: #fff !important;
	font-family: var(--font-body);
	font-weight: 700;        /* 修正(2026-06-03): CTA強調のため 600→700 */
	font-size: 17px;         /* 修正(2026-06-03): 15→17px。他ナビ項目16pxより明確に大きく */
	letter-spacing: 0.04em;  /* TYPO §6: 0.02→0.04em */
	border-radius: 999px;
	padding: 13px 30px !important; /* 修正(2026-06-03): 10px22px→13px30px。クリック面を拡大し主役CTA化 */
	line-height: 1.2;
	box-shadow: none; /* 修正(2026-06-07): ピンクのネオン状ドロップシャドウを除去（社長指示） */
	transition: background-color 0.25s ease, transform 0.25s ease;
}
.hkdc-nav-cta > a:hover {
	background: var(--pink-dark);
	color: #fff !important;
	transform: translateY(-1px);
	box-shadow: none; /* 修正(2026-06-07): hover時のピンクグローも除去 */
}
/* SWELLデフォルトの下線アニメーション（::before/::after）を打ち消す */
.hkdc-nav-cta > a::before,
.hkdc-nav-cta > a::after {
	display: none !important;
}
/* SPメニュー（ドロワー）内では幅いっぱいの帯ボタンに */
@media (max-width: 959px) {
	.hkdc-nav-cta > a {
		justify-content: center;
		border-radius: var(--radius);
		margin: 8px 16px;
		padding: 14px 22px !important;
	}
}

/* TYPO §9 第2案: グローバルナビ 通常メニュー項目 16px/400/0.05em/1.4
   実DOM=ul.c-gnav > li.menu-item > a。.home本文(18px/400)継承を上書きするため
   .home .c-gnav .menu-item > a で指定（CTA .hkdc-nav-cta は別途維持されるので除外）。 */
.home .c-gnav .menu-item > a {
	font-size: 16px;
	font-weight: 400;        /* TYPO §9 第2案: 400 */
	letter-spacing: 0.05em;  /* TYPO §9 第2案: 0.05em */
	line-height: 1.4;
}

/* TYPO §4: 汎用 h3（.home限定・hkdc-*独自h3は各自の指定を優先・color !important は別ブロックで維持） */
.home .post_content h3:not([class*="hkdc-"]) {
	font-family: var(--font-heading);
	font-weight: 350;        /* TYPO §9 第2案: 350 */
	font-size: 22px;         /* TYPO §9 第2案: 22px */
	letter-spacing: 0.05em;  /* TYPO §9 第2案: 0.05em */
	line-height: 1.5;
}

/* =========================================================
   ① FV（ファーストビュー）
   ========================================================= */
.hkdc-fv {
	position: relative;
	min-height: 88vh;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #fff;
	background: #000;
	overflow: hidden;
}
.hkdc-fv__bg {
	position: absolute;
	inset: 0;
	background-image: url("assets/img/studio-interior.jpg");
	background-size: cover;
	/* H-1: 鏡・蛍光灯・配電盤・消火器が目立たない構図へ寄せる */
	background-position: center 35%;
}
.hkdc-fv__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.5); /* H-1: 0.42→0.5 で被写体の生活感を抑える */
}
.hkdc-fv__inner {
	position: relative;
	z-index: 2;
	padding: 0 24px;
	max-width: 920px;
}
.hkdc-fv__catch {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 44px;
	letter-spacing: 0.06em;
	line-height: 1.5;
	margin: 0 0 22px;
	text-shadow: 0 2px 20px rgba(0, 0, 0, 0.4);
}
.hkdc-fv__sub {
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: 19px;
	letter-spacing: 0.06em;
	margin: 0 0 8px;
}
.hkdc-fv__note {
	font-size: 14px;
	letter-spacing: 0.04em;
	color: rgba(255, 255, 255, 0.85);
	margin: 0 0 38px;
}
.hkdc-fv__btns { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.hkdc-fv .hkdc-btn--ghost { color: #fff; border-color: rgba(255, 255, 255, 0.8); }
.hkdc-fv .hkdc-btn--ghost:hover { background: #fff; color: var(--text); }

/* =========================================================
   ② 重要なお知らせ
   ========================================================= */
.hkdc-news { background: var(--bg-alt); } /* M-1: 淡ピンク→ベージュ系。ピンク全面背景は⑩のみに */
.hkdc-news .hkdc-inner { text-align: center; }
.hkdc-news__head {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 22px;
	letter-spacing: 0.04em;
	color: var(--text);
	margin-bottom: 14px;
}
.hkdc-news__icon { display: inline-flex; align-items: center; color: var(--text); } /* M-3: 絵文字📢→線画SVG（墨色） */
.hkdc-news__body {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 28px 32px;
	max-width: 720px;
	margin: 0 auto;
	color: var(--text);
}
.hkdc-news__body p { margin: 0; }
.hkdc-news__note { font-size: 14px; color: var(--text-muted); margin-top: 16px !important; }

/* =========================================================
   ③ 理念（HKDCとは）
   ========================================================= */
.hkdc-about__grid {
	display: grid;
	grid-template-columns: 0.85fr 1fr;
	gap: 56px;
	align-items: center;
}
.hkdc-about__media img {
	width: 100%;
	height: 100%;
	max-height: 560px;
	object-fit: cover;
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	display: block;
}
.hkdc-about__lead {
	font-family: var(--font-heading);
	font-weight: 300;        /* TYPO sensess準拠: 300 */
	font-size: 28px;         /* TYPO sensess準拠: 28px（30→28、sensess小見出し=28/300） */
	letter-spacing: 0.05em;  /* TYPO sensess準拠: 0.05em（0.06→0.05） */
	line-height: 1.6;        /* TYPO sensess準拠: 1.6 */
	color: var(--text);
	margin: 0 0 24px;
	padding-bottom: 16px;
	position: relative;
}
.hkdc-about__lead::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 44px;
	height: 3px;
	background: var(--pink);
	border-radius: 2px;
}
.hkdc-about__body p { margin: 0 0 18px; }
.hkdc-about__body p:last-child { margin-bottom: 0; }

/* =========================================================
   ④ クラス紹介
   ========================================================= */
/* 主宰カード（横長・別格・880px中央で右余白を解消＝修正5b） */
.hkdc-leader {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 44px;
	align-items: center;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	padding: 36px;
	max-width: 880px;
	margin: 0 auto 56px;
}
.hkdc-leader__text { max-width: 46em; }
/* 修正5c：主宰と講師カードの間の小見出し「講師・クラス一覧」（ピンク不可） */
.hkdc-classes-head {
	font-family: var(--font-heading);
	font-weight: 350;        /* TYPO §9 第2案: 350 */
	font-size: 22px;         /* TYPO §9 第2案: 22px */
	letter-spacing: 0.05em;  /* TYPO §9 第2案: 0.05em */
	line-height: 1.5;        /* TYPO §9 第2案: 1.5 */
	color: var(--text);
	text-align: center;
	margin: 0 0 28px;
}
.hkdc-leader__photo {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: center 22%;
	border-radius: var(--radius);
	display: block;
}
.hkdc-leader__role {
	font-family: var(--font-en);
	font-size: 13px;
	letter-spacing: 0.16em;
	color: var(--pink);
	text-transform: uppercase;
	margin: 0 0 6px;
}
.hkdc-leader__name {
	font-family: var(--font-heading);
	font-weight: 350;        /* TYPO §9 第2案: 350 */
	font-size: 22px;         /* TYPO §9 第2案: 22px */
	letter-spacing: 0.05em;  /* TYPO §9 第2案: 0.05em */
	line-height: 1.5;        /* TYPO §9 第2案: 1.5 */
	margin: 0 0 4px;
	color: var(--text);
}
.hkdc-leader__sub { font-size: 14px; color: var(--text-muted); margin: 0 0 16px; }
.hkdc-leader__text { margin: 0; }

/* クラスカードグリッド（PC3列／SP1列） */
.hkdc-classes {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}
.hkdc-class-card {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	scroll-margin-top: 90px; /* スケジュール→講師カード着地時のヘッダー被り回避（PC） */
}
.hkdc-class-card__photo {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: center 25%; /* 顔寄り（上め）統一 */
	display: block;
	background: var(--bg-alt);
}
.hkdc-class-card__body { padding: 24px 26px 28px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.hkdc-class-card__name {
	font-family: var(--font-heading);
	font-weight: 350;        /* TYPO §9 第2案: 350 */
	font-size: 22px;         /* TYPO §9 第2案: 22px */
	letter-spacing: 0.05em;  /* TYPO §9 第2案: 0.05em */
	line-height: 1.5;        /* TYPO §9 第2案: 1.5 */
	color: var(--text);
	margin: 0;
}
.hkdc-class-card__teacher { font-size: 14px; color: var(--text-muted); margin: 0; }
/* TYPO §1: カード本文 16px/400/0.03em/1.85 */
.hkdc-class-card__text { font-size: 17px; font-weight: 300; letter-spacing: 0.04em; line-height: 1.85; margin: 0; flex: 1; } /* TYPO sensess準拠: 17/300/0.04em/1.85（本文と同じ300） */
.hkdc-class-card__ig {
	align-self: flex-start;
	font-family: var(--font-en);
	font-size: 13px;
	letter-spacing: 0.04em;
	color: var(--text);
	text-decoration: none;
	border-bottom: 1px solid var(--line);
	transition: color 0.2s, border-color 0.2s;
	margin-top: 4px;
}
.hkdc-class-card__ig:hover { color: var(--pink); border-color: var(--pink); }

/* 対象バッジ（差し色④：キッズ=ピンク / 大人=黒系） */
.hkdc-badge {
	display: inline-block;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	padding: 4px 12px;
	border-radius: 999px;
	width: fit-content;
}
.hkdc-badge--kids { color: var(--pink); background: var(--pink-light); }
.hkdc-badge--adult { color: var(--text); background: var(--badge-adult-bg); }

/* =========================================================
   ⑤ スケジュール（PC=曜日横並びグリッド / SP=曜日ごと縦積み）
   ========================================================= */
.hkdc-sched {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 16px;
	align-items: start;
}
.hkdc-sched__col {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
.hkdc-sched__day {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 16px;
	letter-spacing: 0.06em;
	text-align: center;
	padding: 12px 8px;
	background: var(--bg-alt);
	border-bottom: 1px solid var(--line);
	color: var(--text);
}
.hkdc-sched__slots { display: flex; flex-direction: column; gap: 0; padding: 8px; }
.hkdc-slot {
	padding: 12px 10px;
	border-bottom: 1px dashed var(--line);
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.hkdc-slot:last-child { border-bottom: none; }
.hkdc-slot__time { font-family: var(--font-en); font-size: 13px; letter-spacing: 0.02em; color: var(--text-muted); }
.hkdc-slot__class {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 15px;
	letter-spacing: 0.02em;
	color: var(--text);
	text-decoration: none;
	transition: color 0.2s;
}
.hkdc-slot__class:hover { color: var(--pink); }
.hkdc-slot__teacher { font-size: 12px; color: var(--text-muted); }
.hkdc-slot__note { font-size: 11px; color: var(--pink); }
.hkdc-sched__day-label { display: none; } /* PCでは非表示（列ヘッダで曜日を示す） */
.hkdc-sched__foot { text-align: center; font-size: 14px; color: var(--text-muted); margin-top: 32px; }

/* ---- 修正6：スケジュール・マトリクス（縦=時間帯 × 横=曜日 月〜金）---- */
.hkdc-sched-matrix-wrap {
	border-radius: var(--radius);
	overflow: hidden;
	border: 1px solid var(--line);
	max-width: 1080px;
	margin: 0 auto;
}
.hkdc-sched-matrix {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed; /* 列幅を内容依存にしない（木曜だけ広がる問題の根治） */
}
/* 列幅明示: 時間帯ヘッダー列 100px ＋ 月火水木金 5列を等分 */
.hkdc-sched-matrix thead th.hkdc-sched-matrix__corner,
.hkdc-sched-matrix tbody th.hkdc-sched-matrix__time { width: 100px; }
.hkdc-sched-matrix thead th:not(.hkdc-sched-matrix__corner),
.hkdc-sched-matrix tbody td { width: calc((100% - 100px) / 5); }
/* 長めのクラス名（コンテンポラリー／BASIC BALLET 等）の折返し制御
   ─ 社長指示「クラス名などの改行が出ないようにしてね」を最優先で担保する。
   ─ クラス名・時間・講師名・時間帯ラベル・曜日ヘッダーを nowrap 固定し、
     列幅が足りなければセル外にはみ出させず内側で隠す（overflow-wrap:anywhere を撤去）。
   ─ 改行ゼロ × 列均等の両立がCSSのみで成立しているかを実機で要検収。 */
.hkdc-sched-matrix .hkdc-cell__time,
.hkdc-sched-matrix .hkdc-cell__class,
.hkdc-sched-matrix .hkdc-cell__teacher,
.hkdc-sched-matrix .hkdc-cell__note,
.hkdc-sched-matrix thead th,
.hkdc-sched-matrix tbody th { white-space: nowrap; word-break: keep-all; overflow-wrap: normal; }
/* クラス名は和文+英記号の混在で最も折れやすい。font-size を1段詰めて余白を確保（16→15） */
.hkdc-sched-matrix .hkdc-cell__class { font-size: 15px; letter-spacing: 0.02em; }
/* セル内 padding をやや詰めて文字スペースを稼ぐ（縦は据え置き、横を10→8px） */
.hkdc-sched-matrix td { padding-left: 8px; padding-right: 8px; }
/* 念のため：万一の溢れはセル内で吸収（テーブル幅崩壊防止）。実機で発生しなければ視覚上の影響なし。 */
.hkdc-sched-matrix .hkdc-cell { min-width: 0; }
.hkdc-sched-matrix thead th {
	background: var(--bg-alt); /* ピンク不可 */
	font-family: var(--font-heading);
	font-weight: 400;        /* TYPO §9 第2案: 表セル見出し400（落としすぎ注意で400維持） */
	font-size: 16px;         /* TYPO §9 第2案: 16px */
	letter-spacing: 0.03em;  /* TYPO §9 第2案: 0.03em */
	line-height: 1.4;
	color: var(--text);
	padding: 12px 8px;
	text-align: center;
	border: 1px solid var(--line);
}
.hkdc-sched-matrix__corner { background: var(--bg-alt); }
.post_content .hkdc-sched-matrix__time,
.hkdc-sched-matrix__time {
	background: var(--bg-alt); /* ピンク不可 */
	/* width は上で table-layout:fixed と合わせて 100px に統一済み（旧 120px 削除） */
	text-align: center;
	font-family: var(--font-heading);
	font-weight: 400;        /* TYPO §9 第2案: 表セル見出し400（SWELL .post_content th{700}に勝つため.post_content併記＝バグ修正セレクタ維持） */
	font-size: 16px;         /* TYPO §9 第2案: 16px */
	letter-spacing: 0.03em;  /* TYPO §9 第2案: 0.03em */
	line-height: 1.4;
	color: var(--text);
	padding: 12px 8px;
	border: 1px solid var(--line);
	vertical-align: middle;
}
.hkdc-sched-matrix__time span {
	display: block;
	font-family: var(--font-en);
	font-size: 12px;
	color: var(--text-muted);
	font-weight: 400;
	margin-top: 4px;
}
.hkdc-sched-matrix td {
	background: #fff;
	padding: 12px 10px;
	vertical-align: top;
	border: 1px solid var(--line);
}
.hkdc-sched-matrix td.is-empty {
	background: var(--bg-main); /* 淡ピンク不可 */
	color: var(--text-muted);
	text-align: center;
	font-size: 14px;
	vertical-align: middle;
}
.hkdc-cell { display: flex; flex-direction: column; gap: 5px; padding: 4px 0; }
.hkdc-cell + .hkdc-cell { border-top: 1px dashed var(--line); margin-top: 6px; padding-top: 12px; }
.hkdc-cell__time { font-family: var(--font-en); font-size: 13px; color: var(--text-muted); }
.hkdc-cell__class {
	font-family: var(--font-heading);
	font-weight: 400;        /* TYPO §9 第2案: 表セル見出し400（落としすぎ注意で400維持） */
	font-size: 16px;         /* TYPO §9 第2案: 16px */
	letter-spacing: 0.03em;  /* TYPO §9 第2案: 0.03em */
	line-height: 1.5;
	color: var(--text);
	text-decoration: none;
	transition: color 0.2s;
}
.hkdc-cell__class:hover { color: var(--pink); } /* 差し色⑤ */
.hkdc-cell .hkdc-badge { width: fit-content; }
.hkdc-cell__teacher { font-size: 13px; color: var(--text-muted); } /* TYPO §5: 12→13px */
.hkdc-cell__note { font-size: 12px; font-weight: 500; color: var(--pink); } /* TYPO §5: 11→12px, weight500（極小文字は細くしない） */
.hkdc-sched-scroll-hint { display: none; text-align: center; font-size: 12px; color: var(--text-muted); margin: 0 0 10px; } /* 廃止：横スクロールヒント（SPカードリスト化により不要） */

/* ---- スケジュール PC/SP 表示切替（PC=マトリクス / SP=曜日別カードリスト）---- */
.hkdc-sched-pc { display: block; }
.hkdc-sched-sp { display: none; }

/* SPカードリスト（曜日別） */
.hkdc-sched-cards {} /* reserved */
.hkdc-sched-card {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	overflow: hidden;
	margin: 0 0 18px;
}
.hkdc-sched-card:last-child { margin-bottom: 0; }
.hkdc-sched-card__day {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 17px;
	letter-spacing: 0.06em;
	text-align: center;
	padding: 12px 16px;
	/* Phase 5-B: 黒すぎ印象（葬儀感）の緩和。--text(#1A1A1A)から温かみあるダークブラウングレーへ */
	/* SCHED_LIGHTER 2026-06-21: 社長依頼で少し淡く #2A2520→#453D36（白文字コントラスト10.64:1・AA余裕クリア）。PC表頭/表側と同色維持 */
	background: #453D36;
	color: #fff;
}
.hkdc-sched-card__list {
	list-style: none;
	margin: 0;
	padding: 6px 16px;
}
/* SPカード行: 左=時間 / 右=クラス名・バッジ・講師名を縦積み左揃え（頭を縦に揃える） */
/* column-gap は社長依頼で2倍化（14px → 28px）2026-06-06 */
.hkdc-sched-card__item {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 28px;
	row-gap: 4px;
	align-items: start;
	padding: 14px 0;
	border-bottom: 1px dashed var(--line);
	text-align: left;
}
.hkdc-sched-card__item:last-child { border-bottom: none; }
.hkdc-sched-card__time {
	grid-column: 1 / 2;
	grid-row: 1 / 4;
	align-self: start;
	font-family: var(--font-en);
	font-size: 14px;
	letter-spacing: 0.02em;
	color: var(--text-muted);
	white-space: nowrap;
	text-align: left;
}
.hkdc-sched-card__class {
	grid-column: 2 / 3;
	grid-row: 1 / 2;
	justify-self: start;
	font-family: var(--font-heading);
	font-weight: 400;
	font-size: 16px;
	letter-spacing: 0.03em;
	line-height: 1.4;
	color: var(--text);
	text-decoration: none;
	transition: color 0.2s;
	text-align: left;
}
.hkdc-sched-card__class:hover { color: var(--pink); }
.hkdc-sched-card__item .hkdc-badge {
	grid-column: 2 / 3;
	grid-row: 2 / 3;
	justify-self: start;
	margin: 2px 0;
}
.hkdc-sched-card__teacher {
	grid-column: 2 / 3;
	grid-row: 4 / 5;
	justify-self: start;
	font-size: 13px;
	color: var(--text-muted);
	text-align: left;
}

/* =========================================================
   ⑥ 料金
   ========================================================= */
.hkdc-price__top {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	max-width: 720px;
	margin: 0 auto 56px;
}
/* 修正7：入会金カードを単独・中央表示（体験はジュニア表の後ろへ移動） */
.hkdc-price-hl--solo {
	grid-template-columns: 1fr;
	max-width: 360px;
	margin: 0 auto 48px;
}
/* 修正7：体験¥1,000強調カードをCTA直前に配置 */
.hkdc-price-trial-wrap {
	max-width: 420px;
	margin: 0 auto 28px;
}
.hkdc-price-hl {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: #fff;
	padding: 30px 28px;
	text-align: center;
}
.hkdc-price-hl__label { font-family: var(--font-heading); font-weight: 600; font-size: 17px; letter-spacing: 0.03em; line-height: 1.4; margin: 0 0 10px; } /* TYPO §5: 700→600, ls0.03em */
.hkdc-price-hl__amount { font-family: var(--font-en); font-weight: 500; font-size: 34px; color: var(--text); margin: 0; }
.hkdc-price-hl__note { font-size: 13px; color: var(--text-muted); margin: 8px 0 0; }
/* 体験¥1,000を一番目立たせる（差し色③：淡ピンク背景＋ピンク枠） */
.hkdc-price-hl--trial { background: var(--pink-light); border: 2px solid var(--pink); }
.hkdc-price-hl--trial .hkdc-price-hl__amount { color: var(--pink); font-size: 40px; }
.hkdc-price-hl--trial .hkdc-price-hl__label { color: var(--pink); }

.hkdc-price__group { max-width: 720px; margin: 0 auto 40px; }
.hkdc-price__group:last-of-type { margin-bottom: 48px; }
.hkdc-price__group-title {
	font-family: var(--font-heading);
	font-weight: 350;        /* TYPO §9 第2案: 350 */
	font-size: 22px;         /* TYPO §9 第2案: 22px */
	letter-spacing: 0.05em;  /* TYPO §9 第2案: 0.05em */
	line-height: 1.5;        /* TYPO §9 第2案: 1.5 */
	margin: 0 0 16px;
	padding-left: 14px;
	border-left: 3px solid var(--line); /* M-1: pink→淡グレー。体験カードのピンクを引き立てる */
}
.hkdc-price-table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
/* TYPO §5: th=600/td=400, ls0.02em, lh1.6 */
.hkdc-price-table th,
.hkdc-price-table td { padding: 14px 18px; border-bottom: 1px solid var(--line); text-align: left; font-size: 16px; letter-spacing: 0.02em; line-height: 1.6; }
.hkdc-price-table td { font-weight: 400; }
.hkdc-price-table tr:last-child th,
.hkdc-price-table tr:last-child td { border-bottom: none; }
.hkdc-price-table th { font-weight: 600; width: 46%; }
.hkdc-price-table .price { font-family: var(--font-en); font-weight: 500; letter-spacing: 0.02em; white-space: nowrap; } /* TYPO §5: 金額500据え置き */
.hkdc-price-table .term { font-size: 13px; letter-spacing: 0.02em; line-height: 1.5; color: var(--text-muted); }
.hkdc-price__tax { text-align: center; font-size: 14px; color: var(--text-muted); margin: 0 0 32px; }
.hkdc-price__cta { text-align: center; margin-top: 8px; }
.hkdc-price__cta-note { font-size: 14px; color: var(--text-muted); margin: 16px 0 0; }

/* =========================================================
   TRIAL_CTA_C3 : 体験レッスンCTA エディトリアル組版（採用案C-3）
   罫線組版・カードなし・水彩にじみ＋縦書き「初回限定」・ピンク直角ボタン
   見出しは Noto Serif JP（サイト標準の明朝）で世界観統一
   ========================================================= */
.hkdc-trialC {
	position: relative;
	max-width: 780px;
	margin: 0 auto;
	padding-top: 30px;
	/* overflow:hidden を撤去：矩形クリップがにじみの四角い切れ目の原因だった。
	   代わりに各にじみレイヤーを mask-image で四辺フェードさせて背景に溶かす */
}
/* 右上の水彩にじみ・主レイヤー（FV世界観・淡ピンク/アイボリー）＝CSSのみ。
   不定形の有機にじみ＋mask-imageで四辺を背景へフェード（直線エッジ皆無） */
.hkdc-trialC::before {
	content: "";
	position: absolute;
	top: -86px; right: -30px;
	width: 340px; height: 300px;
	z-index: 0;
	pointer-events: none;
	background:
		radial-gradient(58% 50% at 60% 40%, rgba(222,1,121,.16), rgba(222,1,121,0) 68%),
		radial-gradient(46% 42% at 34% 58%, rgba(244,178,210,.30), rgba(244,178,210,0) 72%),
		radial-gradient(50% 44% at 72% 66%, rgba(255,236,212,.55), rgba(255,236,212,0) 74%),
		radial-gradient(34% 30% at 50% 30%, rgba(222,1,121,.07), rgba(222,1,121,0) 70%);
	filter: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='w' x='-40%25' y='-40%25' width='180%25' height='180%25'%3E%3CfeGaussianBlur stdDeviation='15' result='b'/%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.011' numOctaves='2' seed='7' result='n'/%3E%3CfeDisplacementMap in='b' in2='n' scale='42' xChannelSelector='R' yChannelSelector='G'/%3E%3C/filter%3E%3C/svg%3E#w");
	-webkit-mask-image: radial-gradient(72% 72% at 64% 46%, #000 38%, rgba(0,0,0,.55) 60%, transparent 80%);
	        mask-image: radial-gradient(72% 72% at 64% 46%, #000 38%, rgba(0,0,0,.55) 60%, transparent 80%);
}
/* 副レイヤー：濃淡のムラを足して「ベタな円形グラデ」を回避し水彩らしさを出す */
.hkdc-trialC::after {
	content: "";
	position: absolute;
	top: -40px; right: 30px;
	width: 200px; height: 180px;
	z-index: 0;
	pointer-events: none;
	background:
		radial-gradient(50% 50% at 45% 50%, rgba(244,178,210,.26), rgba(244,178,210,0) 70%),
		radial-gradient(40% 38% at 65% 40%, rgba(222,1,121,.08), rgba(222,1,121,0) 72%);
	filter: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='w2' x='-40%25' y='-40%25' width='180%25' height='180%25'%3E%3CfeGaussianBlur stdDeviation='11' result='b'/%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.018' numOctaves='2' seed='19' result='n'/%3E%3CfeDisplacementMap in='b' in2='n' scale='30' xChannelSelector='R' yChannelSelector='G'/%3E%3C/filter%3E%3C/svg%3E#w2");
	-webkit-mask-image: radial-gradient(70% 70% at 50% 50%, #000 30%, transparent 78%);
	        mask-image: radial-gradient(70% 70% at 50% 50%, #000 30%, transparent 78%);
}
/* 水彩の上に縦書き明朝「初回限定」。可読性のため淡い余白縁取り＋細縦罫で額装 */
.hkdc-trialC__stamp {
	position: absolute;
	top: 6px; right: 14px;
	z-index: 1;
	margin: 0;
	pointer-events: none;
	writing-mode: vertical-rl;
	text-orientation: upright;
	font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
	font-weight: 700;
	font-size: 28px;
	line-height: 1.06;
	letter-spacing: 0.06em;
	color: var(--pink);
	/* 文字を必ず読ませる：白い細縁取り＋にじみとの分離 */
	text-shadow: 0 1px 2px rgba(254,248,241,.95), 0 0 6px rgba(254,248,241,.9), 1px 0 1px rgba(254,248,241,.95);
}
.hkdc-trialC__stamp::before {
	content: "";
	position: absolute;
	left: -10px; top: 3px; bottom: 3px;
	width: 1px;
	background: var(--pink);
	opacity: .45;
}
.hkdc-trialC__inner { position: relative; z-index: 2; }
.hkdc-trialC__eyebrow {
	font-family: var(--font-en);
	font-size: 12px;
	letter-spacing: 0.3em;
	color: var(--pink);
	font-weight: 600;
	margin: 0 0 14px;
	display: flex;
	align-items: center;
	gap: 12px;
}
.hkdc-trialC__eyebrow::before {
	content: "";
	width: 36px; height: 1px;
	background: var(--pink);
	flex: 0 0 auto;
}
.hkdc-trialC__title {
	font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
	font-weight: 600;
	font-size: 27px;
	line-height: 1.45;
	letter-spacing: 0.04em;
	color: var(--text);
	margin: 0 0 24px;
	max-width: 18ch;
	text-wrap: pretty;
}
/* 価格＋導線の横並び（上下罫線で仕切る誌面の帯） */
.hkdc-trialC__band {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	border-top: 1px solid var(--pink);
	border-bottom: 1px solid var(--pink);
	padding: 24px 4px;
	flex-wrap: wrap;
}
.hkdc-trialC__pwrap {
	display: flex;
	align-items: baseline;
	gap: 16px;
	flex-wrap: wrap;
}
.hkdc-trialC__plabel { font-size: 13px; color: #5a534d; letter-spacing: 0.04em; margin: 0; }
.hkdc-trialC__price {
	font-family: var(--font-en);
	font-weight: 600;
	font-size: 56px;
	line-height: 0.92;
	color: var(--pink);
	margin: 0;
}
.hkdc-trialC__price small { font-size: 24px; font-weight: 500; }
.hkdc-trialC__tax { font-size: 12px; color: var(--text-muted); margin: 0; align-self: flex-end; }
/* ピンク塗り・直角ボタン（角丸/グラデ/影なし＝脱AI） */
.hkdc-trialC__cta.swell-block-button { margin: 0; flex: 0 0 auto; }
.hkdc-trialC__cta.swell-block-button .swell-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	white-space: nowrap;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 16px;
	letter-spacing: 0.05em;
	color: #fff;
	background: var(--pink);
	border: none;
	border-radius: 0;          /* 直角 */
	box-shadow: none;          /* 影なし */
	padding: 17px 32px;
	transition: background .3s;
}
.hkdc-trialC__cta.swell-block-button .swell-block-button__link::after {
	content: "\2794";          /* 矢印 */
	transition: transform .3s;
}
.hkdc-trialC__cta.swell-block-button .swell-block-button__link:hover { background: var(--pink-dark); }
.hkdc-trialC__cta.swell-block-button .swell-block-button__link:hover::after { transform: translateX(5px); }
/* 比較行（モック .offer__compare に一致）：band と foot の間 */
.hkdc-trialC__compare { font-size: 12.5px; color: #5a534d; letter-spacing: 0.03em; margin: 15px 0 0; }
.hkdc-trialC__foot {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	margin-top: 12px;
	flex-wrap: wrap;
}
.hkdc-trialC__sub { font-size: 12.5px; color: #5a534d; margin: 0; }
.hkdc-trialC__note { font-size: 12.5px; color: var(--text-muted); letter-spacing: 0.03em; margin: 0; }

/* SP：縦積みで水彩・初回限定が他要素と被らない/はみ出さない配置 */
@media (max-width: 600px) {
	.hkdc-trialC {
		padding-top: 96px;       /* 上部に初回限定ユニットの専有スペースを確保 */
		/* SPも overflow:hidden を撤去。mask-imageの四辺フェードで溶かす */
	}
	.hkdc-trialC::before {
		top: -64px; right: -20px;
		width: 240px; height: 210px;
	}
	.hkdc-trialC::after {
		top: -26px; right: 24px;
		width: 150px; height: 130px;
	}
	.hkdc-trialC__stamp {
		top: 14px; right: 6px;
		font-size: 22px;
		letter-spacing: 0.04em;
	}
	.hkdc-trialC__title {
		font-size: 23px;
		line-height: 1.45;
		margin: 0 0 24px;
	}
	.hkdc-trialC__band {
		flex-direction: column;
		align-items: stretch;
		gap: 18px;
		padding: 22px 2px;
	}
	.hkdc-trialC__pwrap { justify-content: flex-start; }
	.hkdc-trialC__price { font-size: 46px; }
	.hkdc-trialC__cta.swell-block-button { width: 100%; }
	.hkdc-trialC__cta.swell-block-button .swell-block-button__link {
		width: 100%;
		justify-content: center;
		padding: 15px 24px;
	}
	.hkdc-trialC__foot {
		flex-direction: column;
		gap: 8px;
		margin-top: 16px;
	}
}

/* =========================================================
   ⑦ レンタルスペース
   ========================================================= */
.hkdc-rental__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: center;
}
.hkdc-rental__media { position: relative; }
/* 支給画像を加工せずそのまま表示（トリミング・角丸・影を解除） */
.hkdc-rental__media img {
	width: 100%;
	height: auto;
	border-radius: 0;
	box-shadow: none;
	display: block;
}
.hkdc-rental__body p { margin: 0 0 28px; }

/* =========================================================
   ⑧ アクセス
   ========================================================= */
.hkdc-access__grid {
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	gap: 48px;
	align-items: stretch;
}
.hkdc-access__map {
	border-radius: var(--radius);
	overflow: hidden;
	box-shadow: var(--shadow);
	min-height: 400px;
}
.hkdc-access__map iframe { width: 100%; height: 100%; min-height: 400px; border: 0; display: block; }
.hkdc-access__info { display: flex; flex-direction: column; justify-content: center; }
.hkdc-access__row { padding: 18px 0; border-bottom: 1px solid var(--line); }
.hkdc-access__row:last-child { border-bottom: none; }
.hkdc-access__label { font-family: var(--font-heading); font-weight: 700; font-size: 15px; letter-spacing: 0.04em; color: var(--text); margin: 0 0 6px; }
.hkdc-access__value { margin: 0; font-size: 16px; }
.hkdc-access__value .muted { color: var(--text-muted); font-size: 14px; }

/* 駐車場CTAボタン（コインパーキング検索） */
.hkdc-access__parking-cta { margin-top: 12px; }
.hkdc-access__parking-cta .swell-block-button { margin: 0; }
.hkdc-access__parking-cta .swell-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 9px 18px;
	font-size: 13px;
	letter-spacing: 0.04em;
	background-color: #fff;
	color: var(--text);
	border: 1px solid var(--line);
	border-radius: 999px;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.hkdc-access__parking-cta .swell-block-button__link::after {
	content: "↗";
	font-size: 12px;
	margin-left: 2px;
	opacity: .7;
}
.hkdc-access__parking-cta .swell-block-button__link:hover {
	background-color: var(--brand-pink, #DE0179);
	color: #fff;
	border-color: var(--brand-pink, #DE0179);
}

/* 案D撤去で削除：.hkdc-access__mapcol / .hkdc-access__photo 関連スタイル一式（2026-06-07） */

/* =========================================================
   ⑨ Instagramフィード（プレースホルダ）
   ========================================================= */
.hkdc-feed__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
	margin-bottom: 40px;
}
.hkdc-feed__item {
	aspect-ratio: 1 / 1;
	background: var(--bg-alt);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--text-muted);
	font-size: 12px;
	letter-spacing: 0.04em;
	text-decoration: none;
	font-family: var(--font-en);
	transition: background-color 0.2s, color 0.2s;
}
.hkdc-feed__item:hover { background: var(--line); color: var(--text); } /* プロフィールへのリンク（仮枠） */
.hkdc-feed__cta { text-align: center; }

/* =========================================================
   ⑩ お問い合わせ
   ========================================================= */
.hkdc-contact { background: var(--pink-light); text-align: center; }
.hkdc-contact__lead {
	font-size: 17px;
	max-width: 640px;
	margin: 0 auto 12px;
	/* 2026-06-06 中央寄せ明示＋ぶら下がり1文字対策（PC/SP共通） */
	text-align: center;
	text-wrap: pretty;
	word-break: keep-all;
	hanging-punctuation: allow-end;
}
/* 2026-06-21 CONTACT_GUIDE_HARMONY（エガク）
   ガイドの「浮き」解消：体験フローのカード線に揃える。
   幅680(=.hkdc-trial-flow)／角丸2px(=カード)／枠線 #E3B9CE(=--flow-line)。
   ただしガイドは"補足メモ"なのでカードと同一にせず一段弱く＝背景なし
   (#contactの薄ピンク地を透かす)。これで#contact内が一本のトーンで繋がる。 */
.hkdc-contact__guide {
	font-size: 15px;
	color: var(--text);
	max-width: 680px;
	margin: 0 auto 36px;
	background: transparent;
	border: 1px solid #E3B9CE;
	border-radius: 2px;
	padding: 18px 26px;
}
.hkdc-contact__guide strong { color: var(--pink); }

/* =========================================================
   スマホ追従CTAバー（functions.php出力）
   ========================================================= */
.hkdc-sp-cta {
	display: none;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9000;
	padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
	background: rgba(250, 249, 248, 0.92);
	backdrop-filter: blur(8px);
	border-top: 1px solid var(--line);
}
.hkdc-sp-cta__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	background: var(--pink);
	color: #fff;
	font-family: var(--font-body);
	font-weight: 600;        /* TYPO §6: ボタン据え置き */
	font-size: 15px;         /* TYPO §6: 据え置き */
	letter-spacing: 0.04em;  /* TYPO §6: 0.02→0.04em */
	text-decoration: none;
	padding: 14px;
	border-radius: var(--radius);
}
.hkdc-sp-cta__icon { display: inline-flex; }

/* =========================================================
   レスポンシブ
   ========================================================= */
@media (max-width: 959px) {
	.home { font-size: 16px; } /* TYPO sensess準拠: SP本文 16px（PC18pxより-2px・モバイル標準。weight300・ls0.05emは.homeで共通） */
	.hkdc-section { padding-top: var(--sec-pad-sp); padding-bottom: var(--sec-pad-sp); }
	.hkdc-inner { padding: 0 20px; }
	.home .post_content h2.hkdc-h2 { font-size: 26px; } /* TYPO sensess準拠: SP h2 26px（29→26、weight300継承） */
	.hkdc-sec-head { margin-bottom: 40px; }

	/* FV */
	.hkdc-fv { min-height: 78vh; }
	.hkdc-fv__catch { font-size: 30px; }
	.hkdc-fv__sub { font-size: 17px; }

	/* ③理念：縦積み（写真→本文） */
	.hkdc-about__grid { grid-template-columns: 1fr; gap: 28px; }
	.hkdc-about__media img { max-height: 360px; }
	.hkdc-about__lead { font-size: 24px; } /* TYPO sensess準拠: SP 24px（25→24、weight300・ls0.05emは基本指定で共通） */

	/* ④主宰：縦積み、クラス1列 */
	.hkdc-leader { grid-template-columns: 1fr; gap: 24px; padding: 28px; text-align: left; }
	.hkdc-leader__photo { max-width: 240px; aspect-ratio: 4 / 5; }
	.hkdc-classes { grid-template-columns: 1fr; gap: 20px; }
	.hkdc-class-card { display: grid; grid-template-columns: 130px 1fr; scroll-margin-top: 70px; /* SP着地時のヘッダー被り回避 */ }
	.hkdc-class-card__photo { height: 100%; aspect-ratio: auto; }
	.hkdc-class-card__body { padding: 18px 20px; }

	/* 修正5c：講師小見出しのSP余白 */
	.hkdc-classes-head { margin-bottom: 20px; }

	/* ⑤旧スケジュール（未使用）：曜日ごと縦積みカード */
	.hkdc-sched { grid-template-columns: 1fr; gap: 16px; }
	.hkdc-sched__col { border-radius: var(--radius); }
	.hkdc-sched__day { display: none; }       /* 列ヘッダ非表示 */
	.hkdc-sched__day-label {                   /* 代わりに各カード見出しとして曜日を表示 */
		display: block;
		font-family: var(--font-heading);
		font-weight: 700;
		font-size: 17px;
		letter-spacing: 0.06em;
		padding: 12px 16px;
		background: var(--text);
		color: #fff;
	}
	.hkdc-sched__slots { padding: 6px 14px; }
	.hkdc-slot { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; padding: 14px 4px; }
	.hkdc-slot__time { order: 1; min-width: 96px; }
	.hkdc-slot__class { order: 2; }
	.hkdc-slot .hkdc-badge { order: 3; }
	.hkdc-slot__teacher { order: 4; }
	.hkdc-slot__note { order: 5; flex-basis: 100%; }

	/* ⑥料金 */
	.hkdc-price__top { grid-template-columns: 1fr; max-width: 420px; gap: 18px; }

	/* ⑦レンタル・⑧アクセス：縦積み */
	.hkdc-rental__grid { grid-template-columns: 1fr; gap: 28px; }
	.hkdc-access__grid { grid-template-columns: 1fr; gap: 24px; }
	.hkdc-access__map { min-height: 320px; }
	/* 案D撤去で削除：.hkdc-access__mapcol / .hkdc-access__photo SPルール一式（2026-06-07） */

	/* ⑨フィード：2列 */
	.hkdc-feed__grid { grid-template-columns: repeat(2, 1fr); }

	/* 追従CTA表示 */
	.hkdc-sp-cta { display: block; }
}

/* スケジュールSP：PCマトリクスを隠し、曜日別カードリストを表示（横スクロール廃止） */
@media (max-width: 767px) {
	.hkdc-sched-pc { display: none; }
	.hkdc-sched-sp { display: block; }
	.hkdc-sched-scroll-hint { display: none !important; }
}

@media (max-width: 600px) {
	.hkdc-inner { padding: 0 18px; }
	.hkdc-fv__catch { font-size: 26px; }
	.hkdc-fv__btns { flex-direction: column; align-items: stretch; }
	.hkdc-fv__btns .hkdc-btn-wrap,
	.hkdc-fv__btns .hkdc-btn { width: 100%; }
	.hkdc-class-card { grid-template-columns: 1fr; }
	.hkdc-class-card__photo { aspect-ratio: 4 / 3; }
	.hkdc-price-table th, .hkdc-price-table td,
	figure.hkdc-price-table th, figure.hkdc-price-table td { padding: 12px 14px; font-size: 15px; }
}

/* =========================================================
   === 真ブロック化に伴う相殺CSS（2026-05-31 カジ） ===
   各セクションをネイティブブロック（group/heading/paragraph/image/table）化したことで
   wp-block-* が付与するデフォルトmargin/figure等を相殺。見た目は再構築前を維持。
   既存値は変更せず、ここへの追記のみ。
   ========================================================= */

/* --- 最重要：SWELLのcore/groupは中身を .wp-block-group__inner-container で1段ラップする。
   そのままだと hkdc-* の grid/flex 親が「ラッパー1個」だけを子として並べてしまい
   2カラム等が全部1カラムに潰れる。inner-container を display:contents で透過し、
   本来の子（画像/テキスト/カード等）を hkdc親の直接の子として扱わせる。
   背景・枠・padding は外側の hkdc-* 要素に乗っているため display:contents でも維持される。 --- */
.home .post_content [class*="hkdc-"] > .wp-block-group__inner-container { display: contents; }

/* --- core/image 全般：figureデフォルトmargin(0 0 1em)を相殺 --- */
.home .post_content .wp-block-image { margin: 0; }

/* --- ③About / ⑦Rental：ラッパーdiv内の画像（クラスはラッパー側）--- */
.hkdc-about__media .wp-block-image,
.hkdc-rental__media .wp-block-image { margin: 0; }
.hkdc-about__media .wp-block-image img,
.hkdc-rental__media .wp-block-image img { display: block; }

/* --- ④主宰カード写真：元はimgにクラス→core/imageでfigure側に乗る --- */
figure.hkdc-leader__photo {
	width: 100%;
	aspect-ratio: 4 / 5;
	border-radius: var(--radius);
	overflow: hidden;
	margin: 0;
	display: block;
}
figure.hkdc-leader__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 22%;
	display: block;
}

/* --- ④クラスカード写真：元はimgにクラス→core/imageでfigure側に乗る --- */
figure.hkdc-class-card__photo {
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	margin: 0;
	display: block;
	background: var(--bg-alt);
}
figure.hkdc-class-card__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 25%;
	display: block;
}

/* --- バッジ：core/paragraph化に伴うmargin相殺（display:inline-block等は既存指定が活きる） --- */
.home .post_content p.hkdc-badge { margin: 0; }

/* --- IGリンク：元はa自身にクラス→core/paragraphで包みクラスは段落側に。aを起点に再指定 --- */
.home .post_content p.hkdc-class-card__ig { margin-top: 4px; margin-bottom: 0; align-self: flex-start; }
.hkdc-class-card__ig a {
	font-family: var(--font-en);
	font-size: 13px;
	letter-spacing: 0.04em;
	color: var(--text);
	text-decoration: none;
	border-bottom: 1px solid var(--line);
	transition: color 0.2s, border-color 0.2s;
}
.hkdc-class-card__ig a:hover { color: var(--pink); border-color: var(--pink); }

/* --- ボタン：core/paragraphで包んだCTA。ラッパーpのmarginを相殺し中央寄せ等を維持 --- */
.home .post_content p.hkdc-btn-wrap { margin: 0; }
.hkdc-fv__btns .hkdc-btn-wrap { margin: 0; }
.hkdc-price__cta .hkdc-btn-wrap,
.hkdc-feed__cta .hkdc-btn-wrap { margin: 0; }
.hkdc-rental__body .hkdc-btn-wrap { margin: 0 0 0; }
.hkdc-contact .hkdc-btn-wrap { margin: 0; }

/* --- ④主宰カード情報：group化したinfoの子段落margin相殺（各クラスの既存marginを活かす） --- */
.home .post_content .hkdc-leader__info p { margin-top: 0; }

/* --- ④クラスカード本体：group化したbodyのgap(10px)は既存.hkdc-class-card__body{gap}が効く。子pのデフォルトmargin相殺 --- */
.home .post_content .hkdc-class-card__body > p,
.home .post_content .hkdc-class-card__body > h3 { margin-top: 0; margin-bottom: 0; }

/* --- ⑥料金表：core/table化でfigureにクラス。tableスタイルをfigure起点に再適用 --- */
figure.hkdc-price-table {
	width: 100%;
	margin: 0;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	overflow: hidden;
	background: #fff;
}
figure.hkdc-price-table table {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
}
figure.hkdc-price-table th,
figure.hkdc-price-table td {
	padding: 14px 18px;
	border-bottom: 1px solid var(--line);
	border-right: none;
	text-align: left;
	font-size: 16px;
	letter-spacing: 0.02em;
	line-height: 1.6;
}
figure.hkdc-price-table td { font-weight: 400; }
figure.hkdc-price-table tr:last-child th,
figure.hkdc-price-table tr:last-child td { border-bottom: none; }
figure.hkdc-price-table th { font-weight: 600; width: 46%; }
figure.hkdc-price-table .price { font-family: var(--font-en); font-weight: 500; letter-spacing: 0.02em; white-space: nowrap; }
figure.hkdc-price-table .term { font-size: 13px; letter-spacing: 0.02em; line-height: 1.5; color: var(--text-muted); }

/* =========================================================
   PRICE_V2_TABLE_A : 料金表「箱組み」復活（角丸ゼロ・影ゼロ・極薄ピンクゼブラ）
   各行を枠で囲む見やすさを取り戻す。承認モック price_v2_full_ivory 準拠。
   末尾再宣言でカスケード勝ち＝ロールバックはこのブロック削除1発。
   ========================================================= */
figure.hkdc-price-table {
	background: transparent;       /* 白カードをやめ地（アイボリー）に溶かす */
	border: none;                  /* 外枠は各セル枠で表現 */
	border-radius: 0;              /* 角丸ゼロ＝脱AI */
	overflow: visible;
	box-shadow: none;              /* 影ゼロ */
}
figure.hkdc-price-table table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	margin: 0;
}
/* 各セルを四辺枠で囲む＝行が"箱"になり、項目|価格の縦仕切りも出る */
figure.hkdc-price-table th,
figure.hkdc-price-table td {
	border: 1px solid var(--line);
	border-radius: 0;
	padding: 14px 18px;
	text-align: left;
	vertical-align: middle;
	font-size: 16px;
	letter-spacing: 0.02em;
	line-height: 1.6;
}
figure.hkdc-price-table th { font-weight: 600; width: 48%; }
figure.hkdc-price-table td { font-weight: 400; }
/* last-child の border-bottom 除去（旧ルール）を打ち消し、最終行も箱を維持 */
figure.hkdc-price-table tr:last-child th,
figure.hkdc-price-table tr:last-child td { border-bottom: 1px solid var(--line); }
/* 極薄ピンクのゼブラ（交互行）で区切りを明快に */
figure.hkdc-price-table tbody tr:nth-child(even) th,
figure.hkdc-price-table tbody tr:nth-child(even) td { background: rgba(222, 1, 121, .025); }

/* 入会金注記（料金表の一部として表の直下に近接・誠実な可読サイズ）
   PRICE_FIX2: 表との距離を詰め"料金表の一部"に見せ、体験カードとは別ブロックと分かるよう下に十分な余白を確保。
   フォントは本文並みの 15px（隠す印象を払拭）。 */
.hkdc-price__note {
	max-width: 720px;
	margin: 14px auto 0;
	font-size: 15px;
	color: #5a534d;
	letter-spacing: 0.02em;
	line-height: 1.8;
}
.hkdc-price__note strong { font-weight: 600; color: var(--text); }
@media (max-width: 600px) {
	.hkdc-price__note { font-size: 14px; }
}

/* =========================================================
   PRICE_V2_CARD_IVORY : 体験お得カードを囲みカード化（地より一段濃いアイボリー＋淡ピンク枠）
   C-3 の水彩・縦書き「初回限定」・直角ピンクボタンは維持。ベタ塗り薄ピンクの"浮き"を解消。
   ========================================================= */
.hkdc-trialC {
	background: var(--ivory-card);
	border: 1px solid var(--pink-border);
	border-radius: 0;              /* 角丸ゼロ */
	box-shadow: none;              /* 影ゼロ */
	overflow: hidden;              /* カード化に伴い水彩のはみ出しをカード内に収める */
	padding: 38px 42px 34px;
}
@media (max-width: 600px) {
	.hkdc-trialC { padding: 30px 20px 26px; padding-top: 96px; }
}

/* 体験カード見出し：SWELL親の .post_content h2(1.2em) / .home .post_content h2(margin:0/color)
   を上回る詳細度で、モック .offer__title に一致させる（27px・lh1.45・mb24・色#2A2520） */
.home .post_content h2.hkdc-trialC__title {
	font-size: 27px;
	line-height: 1.45;
	margin: 0 0 24px;
	color: #2A2520 !important;  /* 親の .home .post_content h2{color:var(--text)!important} に勝つ */
	max-width: 18ch;
}
@media (max-width: 600px) {
	.home .post_content h2.hkdc-trialC__title {
		font-size: 23px;
		line-height: 1.45;
		margin: 0 0 24px;
	}
}

/* --- ⑥料金 強調カード（入会金/体験）：group化した子段落のmargin相殺（各クラスの既存marginを活かす） --- */
.home .post_content .hkdc-price-hl p { margin-top: 0; }

/* --- ⑧アクセス：row/info group化に伴う子段落のデフォルトmargin相殺 --- */
.home .post_content .hkdc-access__row p { margin-top: 0; }
.hkdc-access__info .wp-block-group.hkdc-access__row { padding: 18px 0; border-bottom: 1px solid var(--line); }
.hkdc-access__info .wp-block-group.hkdc-access__row:last-child { border-bottom: none; }

/* --- ⑩お問い合わせ：guideをdiv→paragraph化。中央寄せ・カード見た目を維持 --- */
.home .post_content p.hkdc-contact__guide { margin-left: auto; margin-right: auto; }

/* =========================================================
   === SWELL標準ブロック再構築 ブリッジCSS（サンプル検証用） ===
   loos/columns(=.swell-block-columns) を起点に、既存hkdc-*の
   見た目を維持する。loos/columns/columnはclassName非対応のため
   グループ(core/group)に hkdc-* クラスを載せて足場にする。
   ========================================================= */

/* ③About：2カラム（画像｜本文）。gap56/中央そろえを columns 変数で再現 */
.hkdc-about-cols .swell-block-columns { --swl-clmn-mrgn--x: 56px; --swl-clmn-mrgn--y: 32px; }
.hkdc-about-cols .swell-block-columns__inner { align-items: center; }
.hkdc-about__media-img { margin: 0; }
.hkdc-about__media-img img {
	width: 100%; height: auto;
	max-height: 560px; object-fit: cover;
	border-radius: var(--radius); box-shadow: var(--shadow); display: block;
}

/* ④主宰カード：figure化した写真の箱/中身を分離 */
figure.hkdc-leader__photo { margin: 0; aspect-ratio: 4 / 5; border-radius: var(--radius); overflow: hidden; }
figure.hkdc-leader__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 22%; display: block; }
.hkdc-leader__info > * { margin-top: 0; }

/* ④クラスカード：3列(PC)/2列(Tab)/1列(SP) を columns で。gap28を再現 */
.hkdc-classes-cols .swell-block-columns { --swl-clmn-mrgn--x: 28px; --swl-clmn-mrgn--y: 28px; }
/* カード枠（core/group .hkdc-class-card は既存ルールが効く。写真figureのみ補正） */
figure.hkdc-class-card__photo {
	margin: 0; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; background: var(--bg-alt);
}
figure.hkdc-class-card__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; display: block; }
/* カード本文：子のブロック既定marginを相殺（gap:10pxで間隔管理） */
.hkdc-class-card__body > * { margin: 0; }
p.hkdc-badge { margin: 0; }
/* IGリンク：アンカーから段落へクラス移設に伴い、装飾を a 起点へ */
p.hkdc-class-card__ig { margin: 0; align-self: flex-start; }
.hkdc-class-card__ig a {
	font-family: var(--font-en); font-size: 13px; letter-spacing: 0.04em;
	color: var(--text); text-decoration: none; border-bottom: 1px solid var(--line);
	transition: color 0.2s, border-color 0.2s; display: inline-block;
}
.hkdc-class-card__ig a:hover { color: var(--pink); border-color: var(--pink); }

/* =========================================================
   修正(2026-06-03)：講師ごとカード（複数クラス内包）
   ・カード見出し＝講師名（旧 __name をクラス名→講師名に転用）
   ・1講師=1カード。担当クラスを __classes 内の __class-row として縦に列挙
   ・各 row：クラス名＋曜日時間＋対象バッジ
   ========================================================= */
.hkdc-class-card__teacher-role {
	font-family: var(--font-en);
	font-size: 12px;
	letter-spacing: 0.16em;
	color: var(--text-muted);
	text-transform: uppercase;
	margin: 0;
}
/* 担当クラス一覧ブロック（近接ヒエラルキー: 1クラス内<クラス間<自己紹介との境界） */
.home .post_content .hkdc-class-card__classes { margin: 2px 0 0; }
.hkdc-class-card__classes {
	display: flex;
	flex-direction: column;
	gap: 10px; /* クラス間: 12→10 少し詰めるが境界は識別可能 */
	padding-top: 14px;
	border-top: 1px solid var(--line);
}
.hkdc-class-row {
	display: flex;
	flex-direction: column;
	gap: 2px; /* 1クラス内: 3→2 さらに近接化（ゲシュタルト近接の法則） */
}
.home .post_content .hkdc-class-row > * { margin: 0; }
.hkdc-class-row__top {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 8px;
}
.hkdc-class-row__name {
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: 16px;
	letter-spacing: 0.03em;
	line-height: 1.3; /* 1.4→1.3 クラス名行を詰めて時間行との視覚的距離を縮小 */
	color: var(--text);
}
.hkdc-class-row__time {
	font-size: 13px;
	letter-spacing: 0.02em;
	color: var(--text-muted);
	line-height: 1.45; /* 1.5→1.45 複数曜日<br>並びでも詰まりすぎず読みやすい */
}
/* 複数曜日の<br>改行を確実に有効化（インラインのbrがwpautopで意図せず潰れないよう保護） */
.hkdc-class-row__time br { display: block; content: ""; }
/* 行内バッジは小さめに */
.hkdc-class-row .hkdc-badge { font-size: 11px; padding: 3px 10px; }

@media (max-width: 600px) {
	.home .hkdc-about-cols .swell-block-columns { --swl-clmn-mrgn--x: 0; --swl-clmn-mrgn--y: 28px; }
}

/* =========================================================
   === SWELL再構築 追加ブリッジCSS②（CTAボタン loos/button & スケジュール表） ===
   loos/button(.swell-block-button)を旧 .hkdc-btn の見た目に合わせる。
   loos/buttonはclassName非対応のため、囲みgroupに .hkdc-cta を付与して足場化。
   ========================================================= */
.hkdc-cta { text-align: center; }
.hkdc-cta .swell-block-button { margin: 0; }
.hkdc-cta .swell-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	font-family: var(--font-body); font-weight: 600; font-size: 16px;
	letter-spacing: 0.04em; line-height: 1.4;
	color: #fff; background: var(--pink); border: none;
	border-radius: var(--radius); padding: 16px 36px;
	text-decoration: none;
	transition: background-color 0.25s ease, transform 0.25s ease;
}
.hkdc-cta .swell-block-button__link:hover { background: var(--pink-dark); color: #fff; transform: translateY(-1px); }
.hkdc-cta .swell-block-button__link span { font-weight: 600; }
/* ゴースト（透過背景＋枠線） */
.hkdc-cta--ghost .swell-block-button__link { color: var(--text); background: transparent; border: 1.5px solid var(--text); }
.hkdc-cta--ghost .swell-block-button__link:hover { background: var(--text); color: #fff; }
/* 大ボタン */
.hkdc-cta--lg .swell-block-button__link { padding: 19px 48px; font-size: 17px; }
/* FV内ゴースト＝白文字白枠（暗背景用） */
.hkdc-fv .hkdc-cta--ghost .swell-block-button__link { color: #fff; border-color: rgba(255, 255, 255, 0.8); }
.hkdc-fv .hkdc-cta--ghost .swell-block-button__link:hover { background: #fff; color: var(--text); border-color: #fff; }

/* ⑤スケジュール：簡素な編集できる標準表（core/table） */
figure.wp-block-table.hkdc-sched-table { margin: 0 auto; max-width: 760px; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
figure.wp-block-table.hkdc-sched-table table { width: 100%; border-collapse: collapse; background: #fff; margin: 0; }
figure.wp-block-table.hkdc-sched-table th,
figure.wp-block-table.hkdc-sched-table td { padding: 13px 14px; border-bottom: 1px solid var(--line); border-right: none; text-align: left; font-size: 15px; letter-spacing: 0.02em; line-height: 1.5; color: var(--text); vertical-align: middle; }
figure.wp-block-table.hkdc-sched-table thead th { background: var(--bg-alt); font-family: var(--font-heading); font-weight: 400; font-size: 15px; }
figure.wp-block-table.hkdc-sched-table tbody tr:last-child th,
figure.wp-block-table.hkdc-sched-table tbody tr:last-child td { border-bottom: none; }

/* FVボタンSP：縦積み＆全幅（旧 .hkdc-btn 全幅指定の loos/button 版） */
@media (max-width: 600px) {
	.hkdc-fv__btns .hkdc-cta,
	.hkdc-fv__btns .hkdc-cta .swell-block-button,
	.hkdc-fv__btns .hkdc-cta .swell-block-button__link { width: 100%; }
}

/* === FV cover 化に伴う調整 ===
   FVを core/cover 化（社長が編集画面で背景画像差し替え・暗さ調整を可能に）。
   見た目は旧 .hkdc-fv__bg / .hkdc-fv__overlay と完全一致させる。 */
.hkdc-fv .hkdc-fv__cover {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	min-height: 0 !important; /* 高さは親 .hkdc-fv(88vh/SP78vh) に従わせる */
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
/* cover の背景画像位置を旧 .hkdc-fv__bg(center 35%) と一致させる */
.hkdc-fv .hkdc-fv__cover > .wp-block-cover__image-background {
	object-position: 50% 35% !important;
}
/* cover の inner を中央寄せ・旧 .hkdc-fv__inner の最大幅/余白を踏襲 */
.hkdc-fv .hkdc-fv__cover > .wp-block-cover__inner-container {
	width: 100%;
	z-index: 2;
}
/* constrained レイアウトの auto-margin が効かないため、旧 .hkdc-fv(flex中央寄せ)と
   同じ水平中央配置を明示。max-width:920px の本文ブロックを中央に戻す。 */
.hkdc-fv .hkdc-fv__cover > .wp-block-cover__inner-container > .hkdc-fv__inner {
	margin-left: auto;
	margin-right: auto;
}

/* =========================================================
   === A案：講師カード Equal-Height（2026-06-03 エガク） ===
   ・PC/Tabの横並び段でカード高さを揃え、下端をピシッと一致させる
   ・1クラス講師（Kayeon/RICHI/キジママナカ）が3クラス講師より短くなり
     下に空白が出る問題を、「__textのflex:1で残スペース吸収」＋
     「__igを下端固定（margin-top:auto）」＋
     「__textの上に薄い区切り線」で構造的に整える
   ・SPは1カラム縦積み（高さ揃えは不要・自然な高さに戻す）
   ・既存のpost_contentブロック構造を変更せず、CSSのみで実現＝
     invalid block リスクゼロ
   ========================================================= */

/* (1) 列ラッパー：SWELL loos/columns の各カラムをstretch化 */
.hkdc-classes-cols .swell-block-columns__inner { align-items: stretch; }
.hkdc-classes-cols .swell-block-column { display: flex; }
.hkdc-classes-cols .swell-block-column > .wp-block-group.hkdc-class-card { width: 100%; }

/* (2) カード本体：高さ100%でカラムを満たす（既存 display:flex/column を活かす） */
.hkdc-class-card { height: 100%; }
/* SWELL の group は内側に .wp-block-group__inner-container を1段挟むため、
   flex連鎖を切らさないよう inner-container も縦flexで高さを引き継ぐ */
.hkdc-class-card > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	height: 100%;
	flex: 1;
}
/* __body と inner-container の縦flex連鎖 */
.hkdc-class-card__body { height: 100%; }
.hkdc-class-card__body > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	gap: 10px;
	height: 100%;
	flex: 1;
}

/* (3) 紹介文(__text)に区切り線を入れて、本文ブロックを下端側で安定させる
   ・薄いライン1本＋上余白で「担当クラス枠」と「自己紹介」の境界を明示
   ・__text は flex:1 で余白を吸収（既存）→ 1クラス講師でもスカスカに見えない
   ・PC: 上線あり / SP: 区切り線は不要（縦積みなので情報の流れで読める） */
.home .post_content .hkdc-class-card__body > .wp-block-group__inner-container > .hkdc-class-card__text {
	padding-top: 14px;
	margin-top: 6px;
	border-top: 1px solid var(--line);
	flex: 1;
}

/* (4) Instagramリンクはカード下端に固定（既存 margin-top:4px は上書き） */
.home .post_content .hkdc-class-card__body > .wp-block-group__inner-container > p.hkdc-class-card__ig {
	margin-top: auto;
	padding-top: 4px;
}

/* (5) SPは高さ揃え不要：1カラム縦積みなので height:100% を解除 */
@media (max-width: 959px) {
	.hkdc-classes-cols .swell-block-column { display: block; }
	.hkdc-class-card { height: auto; }
	.hkdc-class-card > .wp-block-group__inner-container { height: auto; flex: 0 1 auto; }
	.hkdc-class-card__body { height: auto; }
	.hkdc-class-card__body > .wp-block-group__inner-container { height: auto; flex: 0 1 auto; }
}

/* =========================================================
   ② News（重要なお知らせ）— 中央寄せ徹底
   ---------------------------------------------------------
   現状 .hkdc-news .hkdc-inner { text-align:center } は入っているが、
   SWELL の post_content スタイルやインライン状態の影響で
   タイトル(.hkdc-news__head)・本文カード内テキストが左寄りで描画されていた。
   セクションタイトル／本文／SVGアイコンを含む主要要素を確実に中央配置にする。
   社長手動編集の .hkdc-news__note の has-text-align-center は保持。
   ========================================================= */

/* 親グループの中央寄せを確実化（SWELLのinner-container越しでも貫通させる） */
.home .post_content #news .hkdc-inner,
.home .post_content #news .hkdc-inner > .wp-block-group__inner-container {
	text-align: center;
}

/* セクションタイトル「重要なお知らせ」（SVGアイコン付き）を中央配置
   .hkdc-news__head は display:inline-flex のまま、ブロック幅の親内で
   左右マージン auto では効かないので text-align:center + 自身も中央揃え化。
   親の text-align:center が効いていない経路もあるため自己責任で中央寄せ。 */
.home .post_content #news .hkdc-news__head {
	display: inline-flex;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	/* inline-flex の中央配置を確実にするため、親をブロック幅にした上で
	   左右マージン auto を効かせる。display:flex でラップしてもよいが
	   構造を変えずにすませるため、親の text-align:center に頼る形を補強。 */
}

/* 本文カード内のテキストも中央寄せ */
.home .post_content #news .hkdc-news__body,
.home .post_content #news .hkdc-news__body > .wp-block-group__inner-container,
.home .post_content #news .hkdc-news__body p {
	text-align: center;
}

/* note(社長手動編集)はそのまま中央寄せが効いているので明示的に保持 */
.home .post_content #news .hkdc-news__note {
	text-align: center;
}

/* =========================================================
   セクション間 余白拡張（2026-06-06 エガク）
   -----------------------------------------------------------
   背景: SWELL親テーマには .pc-py-120 / .sp-py-72 のCSS定義が
        存在しない（0/20/40/60/80のみ）。post_content側のクラスは
        空振りしており、実際の隣接セクション間隔は
        SWELLの .swell-block-fullWide__inner>*{margin-bottom:2em}
        由来の32pxだった。

   設計判断:
     - PC: 各セクションの上下padding 75px (隣接合計150px)
     - SP: 各セクションの上下padding 40px (隣接合計80px)
     - 片側ダブり防止: 親テーマの __inner>* last-child の
       margin-bottom:2em を 0 に殺し、padding由来の余白だけが
       純粋にセクション間として効くようにする
     - FV(#top)直下は既存ルール(margin/padding 0)で接触のまま、
       #news の padding-top 75px がFV→newsの間隔になる
     - 最終 #contact 直下はフッターとの境界。#contact自身の
       padding-bottom 75pxがそのまま効き、フッター余白と合算で
       自然な距離になる
   ========================================================= */

/* SWELL fullWide ブロックの上下paddingを実際に効かせる
   2026-06-06 更新（INNER_PAD_BG）:
     - エガク推奨案 A+C を採用：交互背景色 + セクション内padding拡大
     - 背景色はpost_content側のstyle属性で既に #F2F0EF / #FAF9F8 交互設定済み
     - セクション自体の上下padding を 75px → 120px (PC) / 40px → 64px (SP)
     - 背景色が交互で切り替わるため、隣接セクション間距離が見かけ240pxでも
       境界が明確で「過剰な空白」には見えない（むしろ「ゆとり感」が出る）
     - SP は PC の約53%（直前比率 75:40 ≒ 120:64 を踏襲） */
.home .post_content .swell-block-fullWide.pc-py-120 {
	padding-top: 120px !important;
	padding-bottom: 120px !important;
}

/* セクション内部の最終要素のぶら下がり余白を殺し、
   padding分だけが純粋にセクション間として効くようにする */
.home .post_content .swell-block-fullWide__inner > *:last-child {
	margin-bottom: 0 !important;
}

/* SP: 画面が狭いのでリズム感を保ちつつ詰める（PCの約53%） */
@media (max-width: 959px) {
	.home .post_content .swell-block-fullWide.sp-py-72 {
		padding-top: 64px !important;
		padding-bottom: 64px !important;
	}
}

/* FV→#news 余白（2026-06-07 NEWS_SLIM）
   #news を「FV直下の細い1行帯（お知らせバー）」に再設計したため、
   以前の padding-top:80px / 40px は不要（FVと帯は隣接させる）。
   帯自体の上下padding は pc-py-14 / sp-py-16（下記 NEWS_BAR セクションで指定）。
   旧 .hkdc-news 系セレクタは DOM が消滅したため自然に無効化される。 */

/* =========================================================
   2026-06-06 修正：3PT_REFINE #3
   体験¥1,000カード & CTAボタン デザイン洗練
   ---------------------------------------------------------
   設計コンセプト:
     - カード=「商品の上品なショーケース」、ボタン=「行動への招待」と
       役割分化させ、視線を「商品→行動→補足」に流す
     - HKDCトーン（清潔感・ピンク差し色・既存配色）は維持しつつ、
       角丸・微影・細罫線・タイポ階層で品を一段上げる
     - 「¥1,000」を最大の主役に。font-enで大きく、左にピンクの罫線アクセント
   ========================================================= */

/* --- カード本体：上品なショーケース化 --- */
.home .post_content .hkdc-price-trial-wrap {
	max-width: 460px;          /* 420→460 余白で品を作る */
	margin: 0 auto 24px;       /* 下マージン28→24 ボタンへ繋ぐ */
}
.home .post_content .hkdc-price-hl--trial {
	position: relative;
	background: var(--pink-light);
	border: 1px solid rgba(222, 1, 121, 0.22);  /* 2px→1pxで繊細に */
	border-radius: 14px;       /* 8→14 ふっくらした角 */
	padding: 36px 32px 32px;   /* 上をやや広めに */
	box-shadow:
		0 1px 0 rgba(255,255,255,0.6) inset,         /* 上端ハイライト */
		0 8px 24px rgba(222, 1, 121, 0.08),          /* ピンク影で空気感 */
		0 2px 6px rgba(0, 0, 0, 0.04);
	text-align: center;
	overflow: hidden;
}
/* カード上端のアクセント帯（特別オファーのサイン） */
.home .post_content .hkdc-price-hl--trial::before {
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--pink) 0%, #F25BAC 50%, var(--pink) 100%);
}
/* TRIAL LESSON 英字ラベル（カテゴリ表示） */
.home .post_content .hkdc-price-hl--trial .hkdc-price-hl__label {
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 16px;
	letter-spacing: 0.06em;
	color: var(--pink);
	margin: 0 0 4px;
	position: relative;
	display: inline-block;
}
/* ラベル上に小さなTRIAL英字を疑似要素で */
.home .post_content .hkdc-price-hl--trial .hkdc-price-hl__label::before {
	content: "TRIAL LESSON";
	display: block;
	font-family: var(--font-en);
	font-weight: 400;
	font-size: 11px;
	letter-spacing: 0.22em;
	color: rgba(222, 1, 121, 0.55);
	margin-bottom: 8px;
}
/* ¥1,000 を主役化 */
.home .post_content .hkdc-price-hl--trial .hkdc-price-hl__amount {
	font-family: var(--font-en);
	font-weight: 500;
	font-size: 56px;           /* 40→56 主役級 */
	color: var(--pink);
	line-height: 1.05;
	margin: 6px 0 14px;
	letter-spacing: 0.01em;
}
/* 注釈プレート：白背景＋細い罫線で情報の粒度を切り出す */
.home .post_content .hkdc-price-hl--trial .hkdc-price-hl__note {
	display: inline-block;
	background: #fff;
	border: 1px solid rgba(222, 1, 121, 0.18);
	border-radius: 999px;
	padding: 7px 16px;
	font-size: 13px;
	color: var(--text);
	letter-spacing: 0.02em;
	margin: 0;
}

/* --- ボタン：行動への招待として階段を一段上げる --- */
.home .post_content .hkdc-price__cta {
	margin-top: 4px;
}
.home .post_content .hkdc-price__cta .hkdc-cta--lg .swell-block-button__link {
	background: linear-gradient(180deg, var(--pink) 0%, #C50169 100%);
	padding: 20px 44px 20px 48px;
	font-size: 16px;
	letter-spacing: 0.05em;
	border-radius: 999px;       /* ピル型に */
	box-shadow: none; /* 修正(2026-06-07): ピンクのネオン状ドロップシャドウを除去（社長指示） */
	position: relative;
	overflow: hidden;
	transition: background 0.3s ease, transform 0.25s ease;
}
/* 矢印アイコン（右に押し出す招待のサイン） */
.home .post_content .hkdc-price__cta .hkdc-cta--lg .swell-block-button__link span {
	position: relative;
	padding-right: 26px;
	display: inline-block;
}
.home .post_content .hkdc-price__cta .hkdc-cta--lg .swell-block-button__link span::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	width: 16px;
	height: 1.5px;
	background: #fff;
	transform: translateY(-50%);
	transition: transform 0.25s ease, width 0.25s ease;
}
.home .post_content .hkdc-price__cta .hkdc-cta--lg .swell-block-button__link span::before {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	width: 8px;
	height: 8px;
	border-top: 1.5px solid #fff;
	border-right: 1.5px solid #fff;
	transform: translateY(-50%) rotate(45deg);
	transition: transform 0.25s ease;
}
.home .post_content .hkdc-price__cta .hkdc-cta--lg .swell-block-button__link:hover {
	background: linear-gradient(180deg, var(--pink-dark) 0%, #9E0156 100%);
	transform: translateY(-2px);
	box-shadow: none; /* 修正(2026-06-07): hover時のピンクグローも除去 */
}
.home .post_content .hkdc-price__cta .hkdc-cta--lg .swell-block-button__link:hover span::after {
	transform: translate(4px, -50%);
}
.home .post_content .hkdc-price__cta .hkdc-cta--lg .swell-block-button__link:hover span::before {
	transform: translate(4px, -50%) rotate(45deg);
}

/* 案内文：階層整理 */
.home .post_content .hkdc-price__cta-note {
	font-size: 13px;
	color: var(--text-muted);
	margin: 18px 0 0;
	letter-spacing: 0.03em;
}

/* SP最適化 */
@media (max-width: 959px) {
	.home .post_content .hkdc-price-hl--trial {
		padding: 30px 22px 26px;
		border-radius: 12px;
	}
	.home .post_content .hkdc-price-hl--trial .hkdc-price-hl__amount {
		font-size: 46px;
	}
	.home .post_content .hkdc-price__cta .hkdc-cta--lg .swell-block-button__link {
		padding: 18px 32px 18px 36px;
		font-size: 15px;
	}
}

/* ===========================================================
   Smash Balloon Instagram Feed (instagram-feed) — HKDCトーン土台
   - 連携前は空表示。連携後にタイルが流れ込む構造に対応
   - 白基調 + 淡グレー背景にうるさく主張しすぎないトーン
   - PC4列 / SP2列 の Smash Balloon デフォルト挙動に合わせ微調整
   =========================================================== */
.home .post_content .hkdc-feed__embed {
	max-width: 1200px;
	margin: 0 auto;
}

/* プラグイン出力ラッパ全体 */
.home .post_content #sb_instagram,
.home .post_content .sb_instagram_header,
.home .post_content #sbi_images {
	max-width: 100%;
}

/* ヘッダー(プロフィール表示)はデフォルト非干渉だが、上下余白だけ整える */
.home .post_content #sb_instagram .sb_instagram_header {
	margin-bottom: 20px;
}

/* タイル(投稿)コンテナ。プラグインJS制御だが見切れ防止 */
.home .post_content #sb_instagram #sbi_images {
	padding: 0;
}

/* 個別タイル：角ほんのり丸+ホバーで軽く浮かす */
.home .post_content #sb_instagram .sbi_item {
	overflow: hidden;
	border-radius: 4px;
	background: #fff;
	transition: transform .25s ease, box-shadow .25s ease;
}
.home .post_content #sb_instagram .sbi_item:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(0,0,0,.08);
}

/* "もっと読み込む" ボタンを HKDC のCTAトーンへ寄せる */
.home .post_content #sb_instagram .sbi_load .sbi_load_btn {
	background: var(--accent, #DE0179) !important;
	color: #fff !important;
	font-weight: 600;
	letter-spacing: .05em;
	border-radius: 0;
}
.home .post_content #sb_instagram .sbi_load .sbi_load_btn:hover {
	opacity: .9;
}

/* フォローボタン(あれば)も同様に */
.home .post_content #sb_instagram .sb_instagram_header .sbi_follow_btn a {
	background: var(--accent, #DE0179) !important;
	color: #fff !important;
}

/* フィードが空(=連携前 or 投稿0件)のときに巨大な空白で崩れないよう最小高さ確保 */
.home .post_content #sb_instagram:empty,
.home .post_content #sb_instagram #sbi_images:empty {
	min-height: 120px;
}

/* 連携待ち案内文 */
.home .post_content .hkdc-feed__pending {
	margin: 16px 0 0;
	text-align: center;
	font-size: 13px;
	color: #888;
	letter-spacing: .04em;
}
/* 連携完了後(投稿が読み込まれた後)は案内文を消す
   - Smash Balloon は読み込み完了時に #sbi_images に sbi_item を追加するので
     :has() で兄弟検知して非表示にする（Safari17.4+/Chrome105+/FF121+対応） */
.home .post_content .hkdc-feed__embed:has(#sb_instagram .sbi_item) .hkdc-feed__pending {
	display: none;
}

/* SP: プラグインのモバイルカラム数に追従しつつ、横余白だけ最小化 */
@media (max-width: 599px) {
	.home .post_content #sb_instagram #sbi_images {
		padding: 0 !important;
	}
}

/* =========================================================
   NEWS BAR（2026-06-07 NEWS_SLIM エガク）
   ---------------------------------------------------------
   #news を「FV直下の細い1行帯（お知らせバー）」として再設計。
   設計指針:
     - 配置: FV直下、#about手前
     - 高さ: PC 約52px（pcPadding 14 + 行高24 + 14）
            SP 約72px〜（文字が2行になっても可、spPadding 16）
     - 背景: #FFF5F9（極薄ピンク）
              ロゴ実値 #DE0179 と同色相、白との中継として違和感ゼロ
              FVの暗色から#about(#FAF9F8)への自然な移行
     - 中身: 1行横並び（📢アイコン + テキスト + Instagramリンク）
     - リンク色: HKDCブランドピンク #DE0179、下線付き
     - SPは2行折返し可（中身は中央寄せ）
   構造: .hkdc-newsbar > .hkdc-newsbar__icon + .hkdc-newsbar__text + .hkdc-newsbar__link
   ========================================================= */

/* 帯自体の余白（pc-py-14 / sp-py-16 は親テーマ未定義クラスなので
   下記で実値を明示する。.swell-block-fullWide__inner > * last-child
   margin-bottom:0 ルール(1581行)は引き続き効く） */
.home .post_content .swell-block-fullWide.pc-py-14 {
	padding-top: 14px !important;
	padding-bottom: 14px !important;
}
@media (max-width: 959px) {
	.home .post_content .swell-block-fullWide.sp-py-16 {
		padding-top: 16px !important;
		padding-bottom: 16px !important;
	}
}

/* 帯本体: 1行横並び・中央寄せ */
.home .post_content #news .hkdc-newsbar {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 10px 16px;
	max-width: var(--maxw, 1120px);
	margin: 0 auto;
	padding: 0 24px;
	font-size: 14px;
	line-height: 1.5;
	color: var(--text, #1a1a1a);
	text-align: center;
}
.home .post_content #news .hkdc-newsbar__icon {
	font-size: 16px;
	line-height: 1;
	display: inline-flex;
	align-items: center;
}

/* NEWSバッジ（📢絵文字置換）
   - ピル型・HKDCブランドピンク背景・白文字
   - 4文字短ラベル「NEWS」に最適化
   - 高さ約20px / font-size 11px / letter-spacing 0.1em */
.home .post_content #news .hkdc-newsbar__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: #DE0179;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.1em;
	padding: 5px 9px 4px;
	border-radius: 999px;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
	text-transform: none;
	white-space: nowrap;
	vertical-align: middle;
	flex-shrink: 0;
}
.home .post_content #news .hkdc-newsbar__text {
	font-weight: 500;
	letter-spacing: 0.02em;
}
/* B1 公式閲覧リンク格下げ（2026-06-20 IGLINK_DEMOTE エガク）
   旧: color #DE0179 + 太字下線 = 申込CTAピンクと色相衝突。
   新: チャコール文字 var(--text) + ピンク下線（accentは下線だけに残す）。
   "塗りCTAではない閲覧リンク" として弱める。矢印はミュートグレー。
   ※ ピンク塗りボタン群(A体験DM)の #DE0179 はそのまま維持。 */
.home .post_content #news .hkdc-newsbar__link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: var(--text, #1A1A1A);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: var(--pink, #DE0179);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	white-space: nowrap;
}
.home .post_content #news .hkdc-newsbar__link:hover {
	color: var(--pink, #DE0179);
	text-decoration-thickness: 2px;
}
.home .post_content #news .hkdc-newsbar__arrow {
	display: inline-block;
	margin-left: 2px;
	color: var(--text-muted, #8A8480);
	transition: transform .2s ease;
}
.home .post_content #news .hkdc-newsbar__link:hover .hkdc-newsbar__arrow {
	transform: translateX(2px);
}

/* SP: 文字が2行になっても破綻しない */
@media (max-width: 599px) {
	.home .post_content #news .hkdc-newsbar {
		font-size: 13px;
		gap: 6px 12px;
		padding: 0 16px;
	}
	.home .post_content #news .hkdc-newsbar__icon {
		font-size: 15px;
	}
	.home .post_content #news .hkdc-newsbar__badge {
		font-size: 10px;
		padding: 4px 8px 3px;
		letter-spacing: 0.08em;
	}
}

/* =========================================================
   === #about 案A（画像なし・センター寄せ理念セクション）2026-06-07 ===
   - 旧 .hkdc-about-cols（2カラム=画像+本文）を廃止し
     .hkdc-about-center に集約。CSSは下記のみで完結
   - 余白は #about full-wide 側で pcPadding:120 / spPadding:80 を確保
   ========================================================= */
.home .post_content .hkdc-about-center {
	max-width: 760px;
	margin: 0 auto;
	text-align: left;
}
/* リード（象徴コピー）：センター・大きめ・差し色ピンク下線 */
.home .post_content .hkdc-about-center .hkdc-about__lead {
	text-align: center;
	font-family: var(--font-heading);
	font-weight: 300;
	font-size: 32px;
	letter-spacing: 0.08em;
	line-height: 1.6;
	color: var(--text);
	margin: 0 auto 36px;
	padding-bottom: 18px;
	position: relative;
	width: fit-content;
	max-width: 100%;
	text-wrap: pretty;
	word-break: keep-all;
}
.home .post_content .hkdc-about-center .hkdc-about__lead::after {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	width: 56px;
	height: 3px;
	background: var(--pink);
	border-radius: 2px;
}
/* 本文：左揃え / 自然行長 / ぶら下がり防止 */
.home .post_content .hkdc-about-center .hkdc-about__body {
	max-width: 680px;
	margin: 0 auto;
}
.home .post_content .hkdc-about-center .hkdc-about__body p {
	margin: 0 0 18px;
	text-align: left;
	line-height: 1.95;
	text-wrap: pretty;
	hanging-punctuation: allow-end;
}
.home .post_content .hkdc-about-center .hkdc-about__body p:last-child { margin-bottom: 0; }
/* 末尾 DM 文言：本文と揃えて左寄せ・少し余白を取る・リンクはピンク＋下線 */
.home .post_content .hkdc-about-center .hkdc-about__dm {
	text-align: left;
	margin: 40px auto 0;
	max-width: 680px;
	font-size: 15px;
	line-height: 1.8;
	color: var(--text);
	text-wrap: pretty;
}
.home .post_content .hkdc-about-center .hkdc-about__dm a {
	color: var(--pink);
	text-decoration: underline;
	text-underline-offset: 4px;
	text-decoration-thickness: 1px;
	font-weight: 600;
}
.home .post_content .hkdc-about-center .hkdc-about__dm a:hover {
	text-decoration-thickness: 2px;
}

/* SP */
@media (max-width: 600px) {
	/* 2026-06-08 SP余白是正: .hkdc-inner の SP padding 18px に頼り、center 側の追加 4px 内余白を撤廃。
	   本文・DM が center 直下のフルワイドとして利用できるように max-width 縛りも外す。
	   結果として本文は左右18px対称の自然余白で配置される（旧38pxから22pxへ縮小）。 */
	.home .post_content .hkdc-about-center {
		max-width: 100%;
		padding: 0;
	}
	.home .post_content .hkdc-about-center .hkdc-about__lead {
		font-size: 24px;
		letter-spacing: 0.06em;
		margin: 0 auto 28px;
	}
	.home .post_content .hkdc-about-center .hkdc-about__body {
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
	}
	.home .post_content .hkdc-about-center .hkdc-about__body p {
		line-height: 1.9;
		/* SP右余白是正(2026-06-22): text-wrap:pretty は段落の文字数次第で行を早めに折り
		   段落ごとに右端が不揃いになる(行が短く折り返され右に余白)。SPでは通常の貪欲折返しに
		   戻し、全段落が同じ幅で右端まで均一に埋まるようにする。文言は不変・CSSのみ。 */
		text-wrap: wrap;
		hanging-punctuation: none;
	}
	.home .post_content .hkdc-about-center .hkdc-about__dm {
		text-wrap: wrap; /* 同上: DM文も右端を揃える */
	}
	.home .post_content .hkdc-about-center .hkdc-about__dm {
		margin: 32px 0 0;
		max-width: 100%;
		font-size: 14px;
	}
}

/* =========================================================
   FOOTER 白統一（2026-06-07）
   フッター本体（#fdfdfd）と body のクリーム（--bg-main:#FAF9F8）の
   段差を解消し、フッター周辺〜ページ地を白に揃える。
   #contact のピンク背景（インライン #FCE7F1）はそのまま維持。
   各セクションの背景（--bg-alt / pink-light 等）も変数経由なので影響なし。
   ========================================================= */
/* ページ地（body直下 .home）を白に。--bg-main 変数自体は触らないので、
   スケジュール表の is-empty セル等 var(--bg-main) 参照箇所は無事。 */
.home {
	background: #FFFFFF;
}
/* SWELLフッター本体（親:#fdfdfd）を白に明示 */
.home .l-footer,
.home .l-footer__inner,
.home .l-footer__foot {
	background: #FFFFFF !important;
	background-color: #FFFFFF !important;
}

/* =========================================================
   === FV Phase 2 (2026-06-07 エガク): バリエーション①+② ===
   ・既存 .hkdc-fv の暗背景前提を、明背景(クリーム色シルエット)へ転換
   ・className トグル: hkdc-fv-v1 = 左寄せ縦組み / hkdc-fv-v2 = センター集中
   ・既存 .hkdc-fv ルールは旧FV互換のため残置。新クラスで上書き
   ========================================================= */

/* --- 共通: 明背景FV (v1/v2共通の地ならし) --- */
.hkdc-fv-v1,
.hkdc-fv-v2 {
	color: #2A2A2A;
	background: #F4ECE0; /* fallback クリーム色 */
}
.hkdc-fv-v1 .hkdc-fv__cover,
.hkdc-fv-v2 .hkdc-fv__cover {
	min-height: 92vh !important;
}
/* 暗オーバーレイを完全に殺す */
.hkdc-fv-v1 .wp-block-cover__background,
.hkdc-fv-v2 .wp-block-cover__background {
	background: transparent !important;
	opacity: 0 !important;
}
/* 背景画像の構図: 右側1/3にシルエットあり */
.hkdc-fv-v1 .wp-block-cover__image-background,
.hkdc-fv-v2 .wp-block-cover__image-background {
	object-position: 50% 50% !important;
}
/* inner_container は cover の中央寄せをやめ、レイアウト固有指定に任せる */
.hkdc-fv-v1 .wp-block-cover__inner-container,
.hkdc-fv-v2 .wp-block-cover__inner-container {
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 32px;
	z-index: 2;
}

/* --- 共通: 見出し・サブ・CTAの土台 --- */
.hkdc-fv-v1 .hkdc-fv__catch,
.hkdc-fv-v2 .hkdc-fv__catch {
	font-family: "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
	font-weight: 600;
	color: #2A2A2A;
	text-shadow: 0 1px 2px rgba(255,255,255,0.4);
	margin: 0 0 28px;
}
.hkdc-fv-v1 .hkdc-fv__sub,
.hkdc-fv-v2 .hkdc-fv__sub {
	font-family: "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
	font-weight: 400;
	color: #4A4A4A;
	margin: 0 0 40px;
}
/* CTA 共通 */
.hkdc-fv-v1 .hkdc-fv__btns,
.hkdc-fv-v2 .hkdc-fv__btns {
	display: flex !important;
	gap: 16px;
	flex-wrap: wrap;
}
.hkdc-fv-v1 .hkdc-cta .swell-block-button__link,
.hkdc-fv-v2 .hkdc-cta .swell-block-button__link {
	min-width: 220px;
	padding: 18px 32px;
	font-size: 15px;
	letter-spacing: 0.08em;
	font-weight: 600;
	border-radius: 4px;
	transition: opacity 0.2s ease, transform 0.2s ease;
}
/* メインCTA: ピンク塗りつぶし */
.hkdc-fv-v1 .hkdc-cta--primary .swell-block-button__link,
.hkdc-fv-v2 .hkdc-cta--primary .swell-block-button__link {
	background: #DE0179 !important;
	color: #fff !important;
	border: none !important;
}
.hkdc-fv-v1 .hkdc-cta--primary .swell-block-button__link:hover,
.hkdc-fv-v2 .hkdc-cta--primary .swell-block-button__link:hover {
	opacity: 0.9;
	transform: translateY(-1px);
}
/* サブCTA: 白塗り＋ピンク枠線 */
.hkdc-fv-v1 .hkdc-cta--ghost .swell-block-button__link,
.hkdc-fv-v2 .hkdc-cta--ghost .swell-block-button__link {
	background: #fff !important;
	color: #DE0179 !important;
	border: 1.5px solid #DE0179 !important;
}
.hkdc-fv-v1 .hkdc-cta--ghost .swell-block-button__link:hover,
.hkdc-fv-v2 .hkdc-cta--ghost .swell-block-button__link:hover {
	background: #DE0179 !important;
	color: #fff !important;
}

/* --- バリエーション①: 左寄せ・縦組み --- */
.hkdc-fv-v1 .hkdc-fv__cover {
	display: flex !important;
	align-items: center;
	justify-content: flex-start !important;
}
.hkdc-fv-v1 .hkdc-fv__inner {
	max-width: 600px;
	margin: 0;
	padding: 0;
	text-align: left;
}
.hkdc-fv-v1 .hkdc-fv__catch {
	font-size: 72px;
	letter-spacing: 0.05em;
	line-height: 1.5;
	text-align: left;
}
.hkdc-fv-v1 .hkdc-fv__sub {
	font-size: 17px;
	letter-spacing: 0.08em;
	text-align: left;
	line-height: 1.8;
}
.hkdc-fv-v1 .hkdc-fv__btns {
	justify-content: flex-start;
}

/* --- バリエーション②: センター集中（劇場ポスター型） --- */
.hkdc-fv-v2 .hkdc-fv__cover {
	display: flex !important;
	align-items: center;
	justify-content: center !important;
}
.hkdc-fv-v2 .hkdc-fv__inner {
	max-width: 900px;
	margin: 0 auto;
	padding: 0;
	text-align: center;
}
.hkdc-fv-v2 .hkdc-fv__catch {
	font-size: 76px;
	letter-spacing: 0.08em;
	line-height: 1.5;
	text-align: center;
	margin-bottom: 36px;
	white-space: nowrap;
}
/* ピンクの装飾線 */
.hkdc-fv-v2 .hkdc-fv__sub {
	font-size: 16px;
	letter-spacing: 0.12em;
	text-align: center;
	line-height: 1.8;
	position: relative;
	padding-top: 36px;
}
.hkdc-fv-v2 .hkdc-fv__sub::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 48px;
	height: 2px;
	background: #DE0179;
}
.hkdc-fv-v2 .hkdc-fv__btns {
	justify-content: center;
}

/* --- タブレット/SP --- */
@media (max-width: 960px) {
	.hkdc-fv-v1 .hkdc-fv__catch { font-size: 48px; }
	.hkdc-fv-v2 .hkdc-fv__catch { font-size: 56px; letter-spacing: 0.1em; }
	.hkdc-fv-v1 .wp-block-cover__inner-container,
	.hkdc-fv-v2 .wp-block-cover__inner-container { padding: 0 24px; }
}
@media (max-width: 600px) {
	.hkdc-fv-v1 .hkdc-fv__cover,
	.hkdc-fv-v2 .hkdc-fv__cover { min-height: 78vh !important; }
	.hkdc-fv-v1 .hkdc-fv__catch { font-size: 36px; letter-spacing: 0.04em; }
	.hkdc-fv-v2 .hkdc-fv__catch { font-size: 40px; letter-spacing: 0.08em; margin-bottom: 28px; }
	.hkdc-fv-v1 .hkdc-fv__sub,
	.hkdc-fv-v2 .hkdc-fv__sub { font-size: 14px; margin-bottom: 32px; }
	.hkdc-fv-v2 .hkdc-fv__sub { padding-top: 28px; }
	.hkdc-fv-v1 .hkdc-fv__btns,
	.hkdc-fv-v2 .hkdc-fv__btns {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}
	.hkdc-fv-v1 .hkdc-cta,
	.hkdc-fv-v2 .hkdc-cta,
	.hkdc-fv-v1 .hkdc-cta .swell-block-button,
	.hkdc-fv-v2 .hkdc-cta .swell-block-button { width: 100%; }
	.hkdc-fv-v1 .hkdc-cta .swell-block-button__link,
	.hkdc-fv-v2 .hkdc-cta .swell-block-button__link {
		width: 100%;
		min-width: 0;
		padding: 16px 24px;
	}
	/* SP: 背景画像の構図維持。シルエットが右寄りなので少し左に寄せて文字読みやすく */
	.hkdc-fv-v1 .wp-block-cover__image-background,
	.hkdc-fv-v2 .wp-block-cover__image-background {
		object-position: 65% 50% !important;
	}
	.hkdc-fv-v1 .hkdc-fv__inner { max-width: 100%; }
}

/* ヘッダーCTAボタン「体験申込」とFVメインCTAの被り対策:
   FVのメインCTAは「体験レッスンを申し込む」（フルワード）、
   ヘッダーは短く「体験申込」のままで階層化されているので衝突なし。
   念のためFV内CTAをやや下方に配置することで視覚上の干渉を避ける。 */
.hkdc-fv-v1 .hkdc-fv__btns,
.hkdc-fv-v2 .hkdc-fv__btns {
	margin-top: 8px;
}

/* =========================================================
   === FV Phase 5A (2026-06-07 エガク) ====================
   ・FV② 指示書通り再実装（明朝化・サイズ・装飾線・中央集中強化）
   ・全セクション英字ラベル直下にピンク短線（装飾統一）
   ・サブCTA（price/rental/contact）の階層ダウンサイズ
   ・既存 FV Phase 2 ルールに被せる上書き
   ========================================================= */

/* --- ① FV② メインコピーを明朝・指示書サイズに統一 --- */
.hkdc-fv-v2 .hkdc-fv__catch {
	font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif !important;
	font-weight: 600;
	font-size: 92px;             /* 指示書: PC 80〜96px → 92pxで上品な存在感 */
	letter-spacing: 0.09em;      /* 指示書: 0.08〜0.1em → 中央値 */
	line-height: 1.5;
	color: #2A2A2A;
	margin: 0 auto 36px;         /* 中央寄せ＋下マージン */
	max-width: 100%;
	white-space: nowrap;         /* 1行死守（PC） */
	text-align: center;
	text-shadow: 0 1px 2px rgba(255,255,255,0.4);
}

/* --- ② FV② サブコピー上下にピンク短線（装飾統一） --- */
/* 既存の ::before(上線) はそのまま活かす。下に :after を追加して上下対称化 */
.hkdc-fv-v2 .hkdc-fv__sub {
	font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif !important;
	font-weight: 400;
	font-size: 17px;
	letter-spacing: 0.14em;       /* 中央集中強化のため広め（0.12→0.14） */
	line-height: 1.9;
	color: #4A4A4A;
	text-align: center;
	position: relative;
	padding-top: 36px;
	padding-bottom: 36px;
	margin: 0 auto 40px;
	max-width: max-content;       /* 文字幅分の中央寄せ＝ピンク線も自然に中央 */
}
.hkdc-fv-v2 .hkdc-fv__sub::before {
	width: 48px;                  /* 既存 ::before を維持しつつ上書き */
	height: 2px;
	background: #DE0179;
}
.hkdc-fv-v2 .hkdc-fv__sub::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 48px;
	height: 2px;
	background: #DE0179;
}

/* --- ③ FV② インナーの中央集中を強化 --- */
.hkdc-fv-v2 .hkdc-fv__inner {
	margin: 0 auto;
	text-align: center;
}

/* --- ④ レスポンシブ（指示書 SP 36〜44px） --- */
@media (max-width: 1180px) {
	.hkdc-fv-v2 .hkdc-fv__catch { font-size: 76px; }
}
@media (max-width: 960px) {
	.hkdc-fv-v2 .hkdc-fv__catch {
		font-size: 56px;
		letter-spacing: 0.08em;
		white-space: nowrap;       /* タブレットでも1行維持 */
	}
}
@media (max-width: 600px) {
	.hkdc-fv-v2 .hkdc-fv__catch {
		font-size: 40px;           /* 指示書: SP 36〜44px → 40px */
		letter-spacing: 0.08em;
		margin-bottom: 28px;
		white-space: nowrap;
	}
	.hkdc-fv-v2 .hkdc-fv__sub {
		font-size: 14px;
		padding-top: 26px;
		padding-bottom: 26px;
		margin-bottom: 32px;
	}
	.hkdc-fv-v2 .hkdc-fv__sub::before,
	.hkdc-fv-v2 .hkdc-fv__sub::after {
		width: 40px;
	}
}

/* === 見出し装飾統一: 英字ラベル下に短いピンク線 ===========
   仕様: 幅40px・高さ1px・色#DE0179・margin: 12px auto 0
   #about のリード下線は別系統（hkdc-about__lead::after）なので重複しない
   ========================================================= */
.hkdc-sec-head .hkdc-h2__en {
	position: relative;
	padding-bottom: 12px;
	margin-bottom: 18px;          /* ::after 線分のオフセット分・既存6pxからアジャスト */
}
.hkdc-sec-head .hkdc-h2__en::after {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 40px;
	height: 1px;
	background: #DE0179;
}

/* === サブCTA 階層整理: price / rental / contact をダウンサイズ ===
   - FV内CTAは最大サイズ維持（変更なし）
   - ヘッダー「体験申込」と同等の中サイズに揃える
   ========================================================= */

/* price「まずは体験する →」: 既存ピル＋矢印デザインのままサイズだけダウン */
.home .post_content .hkdc-price__cta .hkdc-cta--lg .swell-block-button__link {
	padding: 16px 36px !important;
	font-size: 16px !important;
	max-width: 360px;
	width: fit-content;
}
.home .post_content .hkdc-price__cta {
	display: flex;
	justify-content: center;
}

/* rental「予約・空き状況を見る」: ダウンサイズ */
.home .post_content .hkdc-rental__body .hkdc-cta .swell-block-button__link {
	padding: 16px 36px;
	font-size: 16px;
	max-width: 360px;
	width: fit-content;
}
.home .post_content .hkdc-rental__body .hkdc-cta {
	display: flex;
	justify-content: flex-start;
}

/* contact「Instagramでお問い合わせ」: ダウンサイズ */
.home .post_content .hkdc-contact .hkdc-cta--lg .swell-block-button__link {
	padding: 16px 36px !important;
	font-size: 16px !important;
	max-width: 360px;
	width: fit-content;
}
.home .post_content .hkdc-contact .hkdc-cta--lg {
	display: flex;
	justify-content: center;
}

/* SP: サブCTAは横幅100% （旧運用維持） */
@media (max-width: 600px) {
	.home .post_content .hkdc-price__cta .hkdc-cta--lg .swell-block-button__link,
	.home .post_content .hkdc-rental__body .hkdc-cta .swell-block-button__link,
	.home .post_content .hkdc-contact .hkdc-cta--lg .swell-block-button__link {
		width: 100% !important;
		max-width: 100%;
		padding: 16px 24px !important;
	}
}

/* =========================================================
   === Phase 5-C 細部仕上げ (2026-06-07 エガク) ============
   ① #price 料金表の密度緩和（padding 22px / line-height 1.7）
   ② #price 体験CTAカードのトーンダウン（白背景＋ピンク細枠）
   ④ FV→#news 余韻オーバーラップ（薄ピンクグラデ）
   ⑤ #feed 背景の温感UP（極薄ピンクレイヤー）
   ========================================================= */

/* --- ① 料金表の密度緩和 --- */
.home .post_content figure.hkdc-price-table th,
.home .post_content figure.hkdc-price-table td,
.hkdc-price-table th,
.hkdc-price-table td {
	padding: 22px !important;
	line-height: 1.7 !important;
}
/* 表全体の上下余白を +24px（旧 max-width:720px / margin:0 auto 40px → 64px） */
.home .post_content .hkdc-price__group { margin: 24px auto 64px; }
/* PRICE_FIX2: ジュニア表→入会金注記 を近接させ"料金表の一部"に見せる（旧64px→16px）。
   入会金注記→体験カード は十分な余白(64px)で別ブロックと分かるように。
   注記直前のグループ(=ジュニア表)を :has で狙う。:last-of-type はtag基準で不一致だった。 */
.home .post_content .hkdc-price__group:has(+ .hkdc-price__note) { margin-bottom: 16px; }
.home .post_content .hkdc-trialC { margin-top: 64px; }
@media (max-width: 600px) {
	.home .post_content .hkdc-price__group:has(+ .hkdc-price__note) { margin-bottom: 14px; }
	.home .post_content .hkdc-trialC { margin-top: 48px; }
}
/* SP: 過密回避のためPCより詰める（旧 SP 12px 14px → 16px 14px） */
@media (max-width: 600px) {
	.home .post_content figure.hkdc-price-table th,
	.home .post_content figure.hkdc-price-table td,
	.hkdc-price-table th,
	.hkdc-price-table td {
		padding: 16px 14px !important;
		line-height: 1.65 !important;
	}
}

/* --- ② 体験CTAカードのトーンダウン --- */
/* 旧: pink-light背景＋pinkテキスト＋¥40px → 白背景＋ピンク細枠＋¥36px */
.home .post_content .hkdc-price-hl--trial {
	background: #fff !important;
	border: 1px solid #DE0179 !important;
}
.home .post_content .hkdc-price-hl--trial .hkdc-price-hl__amount {
	color: var(--text);
	font-size: 36px;
}
.home .post_content .hkdc-price-hl--trial .hkdc-price-hl__label {
	color: var(--pink);
}
@media (max-width: 600px) {
	.home .post_content .hkdc-price-hl--trial .hkdc-price-hl__amount {
		font-size: 32px;
	}
}

/* --- ④ FV→#news 余韻オーバーラップ --- */
/* FV底に薄ピンクの滲み（::after で 36px のグラデ） */
.home .hkdc-fv { position: relative; }
.home .hkdc-fv::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 36px;
	background: linear-gradient(to bottom, transparent 0%, rgba(252, 231, 241, 0.0) 30%, rgba(252, 231, 241, 0.3) 100%);
	pointer-events: none;
	z-index: 3;
}
/* SP は少し控えめに */
@media (max-width: 600px) {
	.home .hkdc-fv::after { height: 28px; }
}

/* --- ⑤ #feed 背景の温感UP（2026-06-07 撤去 / 白統一） ---
   bgColor を #FFFFFF に統一しフッターと一体化させたため、
   旧 #feed::before の極薄ピンクオーバーレイは削除。
   IVORY_LIGHT_FEED_WHITE 改訂。
*/


/* ===========================================================
   Phase 5 Adjust4 (2026-06-07) — 微調整4点
   ① #class 講師写真3名(Kayeon/ASAKO/RICHI)の顔切れを object-position 個別調整
   ② FV② サブコピー上下ピンク細線「2本→いい感じ」: 上線を消し、下線のみ・控えめサイズに
   ③ #price 「まずは体験する→」ボタン下のレイアウト崩れ修正: 縦並びをflexで明示
   ④ #feed 「Instagramを見る」ボタンの上余白を増やす
   - 既存実装(Phase 5-A/B/C-①②④⑤)は維持。post_content非接触
   =========================================================== */

/* ─── ① 講師写真 顔切れ調整 ──────────────────────────── */
/* lazyload中も noscript内も両方カバーするため src/data-src両方指定 */
/* Kayeon: 動きあるポーズで頭が上ぎみ → top 寄せ */
figure.hkdc-class-card__photo img[src*="instructor-kayeon"],
figure.hkdc-class-card__photo img[data-src*="instructor-kayeon"] {
	object-position: center top;
}
/* ASAKO: 顔を上に向けたポーズ → top 寄せ */
figure.hkdc-class-card__photo img[src*="instructor-asako"],
figure.hkdc-class-card__photo img[data-src*="instructor-asako"] {
	object-position: center top;
}
/* RICHI(貝本茄誉子): 2人写真 → 顔が上部に並ぶので少し上寄せ（10%） */
figure.hkdc-class-card__photo img[src*="instructor-richi"],
figure.hkdc-class-card__photo img[data-src*="instructor-richi"] {
	object-position: center 10%;
}

/* ─── ② FV② ピンク細線 控えめ化 ───────────────────────── */
/* 上線(::before)を非表示にして「下1本だけ」に。下線も少し細く短く */
.hkdc-fv-v2 .hkdc-fv__sub::before {
	display: none !important;
}
.hkdc-fv-v2 .hkdc-fv__sub {
	padding-top: 0 !important;   /* 上線分のpadding解消 */
	padding-bottom: 28px;        /* 下線まで少し余白を保つ */
}
.hkdc-fv-v2 .hkdc-fv__sub::after {
	width: 36px;                 /* 48px → 36px（控えめ） */
	height: 1px;                 /* 2px → 1px（細く） */
	opacity: 0.85;               /* ほんの少し透過させて主張を抑える */
}
@media (max-width: 600px) {
	.hkdc-fv-v2 .hkdc-fv__sub {
		padding-top: 0 !important;
		padding-bottom: 22px;
	}
	.hkdc-fv-v2 .hkdc-fv__sub::after {
		width: 30px;
	}
}

/* ─── ③ #price 体験CTAレイアウト 縦並び明示 ─────────── */
/* ボタン群(.hkdc-cta--lg)と説明文(.hkdc-price__cta-note)を縦並び・中央寄せに */
.home .post_content .hkdc-price__cta > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
}
.home .post_content .hkdc-price__cta-note {
	margin-top: 0;               /* 上のmargin: 18px 0 0 を相殺し、gapで間隔管理 */
	text-align: center;
}
@media (max-width: 600px) {
	.home .post_content .hkdc-price__cta > .wp-block-group__inner-container {
		gap: 12px;
	}
}

/* ─── ④ #feed 「Instagramを見る」ボタン上余白 ──────── */
/* グリッド画像と CTA ボタンの間を 48px に広げる */
.home .post_content .hkdc-feed__cta {
	margin-top: 48px;
}
@media (max-width: 600px) {
	.home .post_content .hkdc-feed__cta {
		margin-top: 40px;
	}
}

/* ════════════════════════════════════════════════════════
   FV余韻のゴールド粒子（案D+A 折衷）— 3箇所にだけ極薄で点在
   方針: アニメなし / opacity 0.25〜0.35 / 4〜10px / 少数
   実装: SVG dataURI を background-image で疑似要素にレイヤー
   ════════════════════════════════════════════════════════ */

/* ─── ① #about セクションの粒子 → 社長判断で削除（2026-06-21） */
/* ABOUT_DOTS_REMOVE: #about背景のゴールド粒子(#C9A961)を全削除。背景は通常のアイボリーに戻る。
   他セクションの水彩(C-3体験CTA・FV)は別系統のため一切影響なし。 */

/* ─── ② #price 体験CTAカード周辺の粒子 → 社長判断で削除（2026-06-07） */
/* ─── ③ #contact Instagram CTA周辺の粒子 → 社長判断で削除（2026-06-07） */
/* ════════════════════════════════════════════════════════ */

/* =========================================================
   === SP_ADJUST3 (2026-06-07 エガク) =====================
   SP版3点調整: ①FVコピー文字切れ＋シルエット見せ
                ②#news帯の余白確保
                ③#rentalボタン中央寄せ
   PC表示には一切影響しない（@media (max-width:600px) のみ）
   ========================================================= */

/* --- ① SP版 FV メインコピーの文字切れ解消＋シルエット見せ --- */
/* 既存 SP ルール（line 2391, 2280）の font-size:40px / letter-spacing:0.08em は
   360px幅で「夢を踊り、魂を魅せる。」が画面端を超える。
   font-size を 34px へ落とし、letter-spacing を 0.04em に詰めて1行死守。
   サブコピーは現状改行位置のままで字幅をやや詰める。 */
@media (max-width: 600px) {
	/* inner padding を詰めて使える横幅を確保（既存 0 32px → 0 20px） */
	.hkdc-fv-v1 .wp-block-cover__inner-container,
	.hkdc-fv-v2 .wp-block-cover__inner-container {
		padding: 0 20px !important;
	}
	.hkdc-fv-v2 .hkdc-fv__catch {
		font-size: 30px !important;
		letter-spacing: 0.03em !important;
		line-height: 1.45 !important;
		margin-bottom: 24px !important;
		white-space: nowrap;
	}
	.hkdc-fv-v2 .hkdc-fv__sub {
		font-size: 13px !important;
		letter-spacing: 0.10em !important;
		line-height: 1.85 !important;
		padding-top: 22px !important;
		padding-bottom: 22px !important;
		margin-bottom: 28px !important;
	}
	/* 背景画像をシルエット側（右）に寄せて、SP画面でもシルエットが見えるように。
	   既存 line 2304 の object-position:65% 50% を 72% 50% へ更新。 */
	.hkdc-fv-v1 .wp-block-cover__image-background,
	.hkdc-fv-v2 .wp-block-cover__image-background {
		object-position: 72% 50% !important;
	}
}
/* さらに狭い 380px 以下では font-size をもう一段下げる保険 */
@media (max-width: 380px) {
	.hkdc-fv-v2 .hkdc-fv__catch {
		font-size: 27px !important;
		letter-spacing: 0.02em !important;
	}
}

/* --- ② #news 帯の窮屈感解消（SP のみ） --- */
/* 帯背景色 #fce7f1 は社長手動編集の保護対象 → 触らない。
   余白だけ上下 padding を +10px、内側 gap を増やす。 */
@media (max-width: 599px) {
	.home .post_content .swell-block-fullWide.sp-py-16 {
		padding-top: 26px !important;
		padding-bottom: 26px !important;
	}
	.home .post_content #news .hkdc-newsbar {
		gap: 10px 14px;
		line-height: 1.65;
	}
	.home .post_content #news .hkdc-newsbar__badge {
		margin-right: 2px;
	}
	.home .post_content #news .hkdc-newsbar__link {
		margin-top: 4px;
	}
}

/* --- ③ #rental「予約・空き状況を見る」ボタン SP センター揃え --- */
/* 既存 line 2456 の justify-content:flex-start を SP のみセンターへ。
   PCは flex-start のまま維持（指示通り）。文言・デザインは触らない。 */
@media (max-width: 600px) {
	.home .post_content .hkdc-rental__body .hkdc-cta {
		justify-content: center !important;
	}
	.home .post_content .hkdc-rental__body .hkdc-cta .swell-block-button {
		margin-left: auto !important;
		margin-right: auto !important;
	}
}
/* ════════════════════════════════════════════════════════ */

/* =========================================================
   2026-06-07 SP追加調整4（社長指示）
   ① SP FVメインコピー拡大（PC比較で小さい印象→34→36pxへ）
   ② #news 帯の文字+1px・改行位置自然化
   ※ ③ #contact 調整は 2026-06-07 にロールバック（社長判断）
   PC表示には一切影響しない（@media (max-width:600px) のみ）
   ========================================================= */

/* --- ① SP FV メインコピー拡大（既存 line 2695 の 30px を上書き） --- */
/* 「夢を踊り、魂を魅せる。」9文字。
   34px × ls 0.02em では 360px幅で 1行死守できる計算。
   既存 30px → 36px は letter-spacing を 0.01em まで詰めることで
   362px相当幅でギリ収まる。実機（500px幅以上）では余裕あり。
   380px以下の保険（line 2718）の 27px はそのまま維持。 */
@media (max-width: 600px) {
	.hkdc-fv-v2 .hkdc-fv__catch {
		font-size: 36px !important;
		letter-spacing: 0.01em !important;
		line-height: 1.4 !important;
		margin-bottom: 26px !important;
	}
}
/* 420px以下では 34px へ一段下げ（白い余白を残しつつ1行死守） */
@media (max-width: 420px) {
	.hkdc-fv-v2 .hkdc-fv__catch {
		font-size: 32px !important;
		letter-spacing: 0.01em !important;
	}
}

/* --- ① SP FV時の固定ボタン非表示（IntersectionObserverトグル） --- */
/* functions.php 側で FV を監視し、画面に入っている間は
   .hkdc-sp-cta に .is-hidden を付与する。
   フォールバック（CSS-only）：スクロール位置が 200px 未満（≒FV内）の間も
   非表示にしておく初期状態クラスを @starting-style ではなく
   class ベースで制御（JSで is-ready が付くまでは初期表示） */
.hkdc-sp-cta.is-hidden {
	opacity: 0;
	pointer-events: none;
	transform: translateY(8px);
}
.hkdc-sp-cta {
	transition: opacity .25s ease, transform .25s ease;
}

/* --- ② #news 帯：文字を+1px・改行位置を自然化（SPのみ） --- */
/* 既存 line 1984 の font-size:13px → 14px に引き上げ。
   「最新のお知らせは Instagram で随時更新中」が
   「Instagram」前後で不自然に折れる対策として
   word-break:keep-all + overflow-wrap:anywhere を当て、
   さらに長い英単語（Instagram）の前で折り返しが入るよう
   text-wrap:pretty を併用。 */
@media (max-width: 599px) {
	.home .post_content #news .hkdc-newsbar {
		font-size: 14px !important;
		line-height: 1.7 !important;
		word-break: keep-all;
		overflow-wrap: anywhere;
		text-wrap: pretty;
	}
	.home .post_content #news .hkdc-newsbar__text {
		display: inline-block;
		max-width: 100%;
	}
}

/* ③ #contact 調整は 2026-06-07 にロールバック（SP_ADJUST4 - CONTACT_ROLLBACK） */

/* --- ⑥ リード文 SPフォントサイズ統一（2026-06-08 LEAD_SP_16PX） ---
   PC（>600px）の .hkdc-lead 基本指定（20px）は無触。
   SP（≤600px）は全 .hkdc-lead を 20→16px に統一（#class / #price / #feed / 他）。
   旧 FEED_LINEBREAK（#feed のみ 16px）を統合し、全リード文に拡張。
   #feed 固有の max-width / padding は #feed スコープで維持。 */
@media (max-width: 600px) {
	.hkdc-lead,
	.hkdc-lead.wp-block-paragraph {
		font-size: 16px;
		letter-spacing: 0.03em;
		line-height: 1.8;
	}
	/* #feed 固有：max-width開放と左右padding（旧 FEED_LINEBREAK の維持事項） */
	.home .post_content #feed .hkdc-lead {
		max-width: 100%;
		padding-left: 8px;
		padding-right: 8px;
	}
}
/* 超狭幅（iPhone SE 等 ≤375px）の #feed 保険（旧 FEED_LINEBREAK 維持）。
   「雰囲気を Instagram」が1行に収まらないケース向けに1段下げ。 */
@media (max-width: 375px) {
	.home .post_content #feed .hkdc-lead {
		font-size: 15px;
		letter-spacing: 0.02em;
	}
}
/* ════════════════════════════════════════════════════════ */

/* =========================================================
   2026-06-07 SP_FV_IMAGE（SP専用FV背景画像 fv-hero-sp.webp 切替）
   ・PC（>600px）は fv-hero-v2.webp を維持（無触）
   ・SP（≤600px）のみ fv-hero-sp.webp（縦長・ダンサー画面下中央・上半分余白）に差替
   ・SP時は既存 <img class="wp-block-cover__image-background"> を display:none、
     .hkdc-fv__cover の background-image で新画像を当てる
   ・上半分余白構図を活かし、コピー＋CTA を画面上1/4〜1/3 に上寄せ配置
   ・直前 SP_ADJUST4 の メインコピー font-size:36px、固定ボタンFV時非表示 等は維持
   ========================================================= */
@media (max-width: 600px) {
	/* ① 既存 cover の <img> を非表示。background-image で SP専用画像を当てる */
	.hkdc-fv-v2 .hkdc-fv__cover > img.wp-block-cover__image-background {
		display: none !important;
	}
	.hkdc-fv-v2 .hkdc-fv__cover {
		background-image: url("assets/img/fv-hero-sp.webp") !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		/* 縦長画像をそのまま見せる。中央寄せでダンサーが画面下中央に来る */
		background-position: center center !important;
		background-color: #fff8f1; /* 画像ロード前のチラつき防止（クリーム） */
	}

	/* ② コピー＋CTA を画面上半分（おおむね 1/4〜1/2）に上寄せ。
	   下半分はダンサーが見える状態を確保。
	   親 .wp-block-cover は flex 中央寄せが既定なので、
	   inner-container を flex-start に切替＋padding-top で頭出し位置を制御。 */
	.hkdc-fv-v2 .hkdc-fv__cover {
		align-items: flex-start !important;
		justify-content: flex-start !important;
	}
	.hkdc-fv-v2 .hkdc-fv__cover > .wp-block-cover__inner-container {
		align-self: flex-start !important;
		/* 画面上 約1/4 から始める。78vh 設定環境では 約20vh で 1/4 相当 */
		padding-top: 18vh !important;
		padding-bottom: 0 !important;
	}
	.hkdc-fv-v2 .hkdc-fv__inner {
		/* 縦並び：コピー → サブ → CTA2つ */
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		gap: 0 !important;
	}
	/* サブコピーの上下擬似要素（横線）と整合する縦間隔は既存値を尊重 */

	/* ③ object-position はもう SP では使わない（縦長画像のため自然表示）
	   既存 SP_ADJUST① の object-position:72% 50% は <img> 非表示で実質無効化 */
}

/* 380px以下では、上余白を少し詰めてコピーが画面内に確実に収まるよう保険 */
@media (max-width: 380px) {
	.hkdc-fv-v2 .hkdc-fv__cover > .wp-block-cover__inner-container {
		padding-top: 14vh !important;
	}
}

/* FV→#news 余韻 ::after が SP の新画像と干渉しないよう確認
   既存 .hkdc-fv::after があれば SP でも維持（薄ピンクグラデは画像下端と相性◎） */
/* ════════════════════════════════════════════════════════ */

/* =========================================================
   2026-06-07 SP_MV_FIT（SP MV 3点調整・社長指示）
   ① メインコピー右端切れ対策（font-size下げ＋letter-spacing詰め＋左右padding詰め）
   ② ダンサーシルエットがCTAボタンと重ならない（CTA上寄せ＋画像下寄せ）
   ③ MV高さ画面いっぱい（100dvh ＋ 100vh フォールバック）
   ・PC（>600px）は完全無触
   ・直前 SP_FV_IMAGE / SP_ADJUST4 の維持項目（fv-hero-sp.webp 切替・固定ボタンFV時非表示・
     #news 帯文字+1px・#feed リード文改行調整・#rentalボタンSPセンター揃え）は全て温存
   ========================================================= */

/* --- ③ MV高さを画面いっぱい（dvh＋vhフォールバック） --- */
/* 既存 .hkdc-fv { min-height: 78vh; }（line 1091）を SP のみ 100vh/100dvh に上書き。
   .hkdc-fv__cover も親に追随させて、cover 内 background-image が画面いっぱい埋まるように。 */
@media (max-width: 600px) {
	.home .hkdc-fv {
		min-height: 100vh !important;   /* フォールバック */
		min-height: 100dvh !important;  /* iPhone Safari アドレスバー対応 */
	}
	.hkdc-fv-v2 .hkdc-fv__cover {
		min-height: 100vh !important;
		min-height: 100dvh !important;
	}
}

/* --- ① メインコピー「夢を踊り、魂を魅せる。」右端切れ防止 --- */
/* 直前 SP_ADJUST4（line 2774）の font-size:36px / letter-spacing:0.01em では、
   360px幅で「。」が画面右端ギリ／切れる事象あり。
   font-size:32px + letter-spacing:0em + 左右padding 20→16px の三段重ねで
   全SP幅で「。」まで完全表示を確保。 */
@media (max-width: 600px) {
	/* inner-container の左右 padding を 20→16px に詰め、横幅を稼ぐ */
	.hkdc-fv-v1 .wp-block-cover__inner-container,
	.hkdc-fv-v2 .wp-block-cover__inner-container {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
	.hkdc-fv-v2 .hkdc-fv__catch {
		font-size: 28px !important;
		letter-spacing: 0em !important;
		line-height: 1.4 !important;
		margin-bottom: 26px !important;
		/* nowrap維持で1行死守しつつ、画面内に確実に収める */
		white-space: nowrap !important;
		max-width: 100% !important;
		overflow: visible !important;
	}
}
/* 狭幅機（≤420px：iPhone 12/13 mini, SE3 など） */
@media (max-width: 420px) {
	.hkdc-fv-v2 .hkdc-fv__catch {
		font-size: 26px !important;
		letter-spacing: 0em !important;
	}
}
/* 極狭幅機（≤380px：iPhone SE 第2世代 375px 含む） */
@media (max-width: 380px) {
	.hkdc-fv-v2 .hkdc-fv__catch {
		font-size: 24px !important;
		letter-spacing: 0em !important;
	}
}

/* ① 補助：サブコピー「演出家・はやみ甲が主宰する、芸術ダンスカンパニー」も
   メインコピーと一緒に左右paddingを詰めた結果まだ折れずに切れる事象あり。
   原因＝line 2355 `.hkdc-fv-v2 .hkdc-fv__sub { max-width: max-content }` が
   親幅を無視して内容幅で広がりオーバーフロー。SPでは max-width:100% に上書き、
   さらに font-size と letter-spacing を詰めて 1行収まりを担保。
   プロ判断として指示書には無いがメインと セットで完成度を上げる。本文内容・色は無触。 */
@media (max-width: 600px) {
	.hkdc-fv-v2 .hkdc-fv__sub {
		max-width: 100% !important;
		font-size: 13px !important;
		letter-spacing: 0.04em !important;
		padding-left: 4px !important;
		padding-right: 4px !important;
		box-sizing: border-box !important;
	}
}
@media (max-width: 420px) {
	.hkdc-fv-v2 .hkdc-fv__sub {
		font-size: 12px !important;
		letter-spacing: 0.03em !important;
	}
}

/* --- ② ダンサーシルエットがCTAボタンと重ならない --- */
/* (A) CTA を上に詰める：直前 SP_FV_IMAGE の padding-top:18vh → 12vh
   (B) 背景画像を下寄せ：背景画像（fv-hero-sp.webp）の表示位置を center 70% に。
       ダンサーが画面下端寄りに来て、CTAボタンの下にシルエット全体がはっきり見える。
   ※直前 line 2906 の 380px 用 padding-top:14vh も合わせて 10vh へ詰める */
@media (max-width: 600px) {
	.hkdc-fv-v2 .hkdc-fv__cover > .wp-block-cover__inner-container {
		padding-top: 12vh !important;
		padding-bottom: 0 !important;
	}
	/* SP用FV画像（fv-hero-sp.webp）の縦位置を下寄せにしてダンサーをCTA下方に */
	.hkdc-fv-v2 .hkdc-fv__cover {
		background-position: center 70% !important;
	}
}
@media (max-width: 380px) {
	.hkdc-fv-v2 .hkdc-fv__cover > .wp-block-cover__inner-container {
		padding-top: 10vh !important;
	}
}
/* ════════════════════════════════════════════════════════ */

/* =========================================================
   #contact → フッター間 余白詰め（2026-06-07 CONTACT_FOOTER_GAP）
   ---------------------------------------------------------
   原因:
     - #contact 自身が .pc-py-120 / .sp-py-72 を持ち、padding-bottom が
       PC=120px / SP=64px 入る
     - 親SWELLの .l-footer__foot にも padding-top:1em(=16px) が入る
     - 合算で #contact ピンク帯終わり ↔ コピーライト行の間に
       PC≒136px / SP≒80px の白余白が発生
   対策:
     - #contact の padding-bottom のみ詰める（top は他セクションとの
       リズム維持のため触らない）
     - .l-footer__foot の padding-top/bottom もタイトに（白統一は維持）
   保護対象:
     - #contact ピンク帯背景色 #fce7f1（インライン）はノータッチ
     - フッター白統一（直上ルール）維持
     - コピーライト文言ノータッチ
   ========================================================= */
/* 2026-06-08 修正: #contact の上下paddingを均等化（社長指示）
   - PC: 上下 80px に統一（旧 上120 / 下40 が非対称だった）
   - SP: 上下 56px に統一（旧 上64 / 下24）
   - margin-top -32px を 0 にクリア（出所が何であれ確実に消す）
   フッター詰めルールは維持。 */
.home .post_content .swell-block-fullWide#contact.pc-py-120 {
	margin-top: 0 !important;
	padding-top: 80px !important;
	padding-bottom: 80px !important;
}
.home .l-footer__foot {
	padding-top: 8px !important;
	padding-bottom: 16px !important;
}
@media (max-width: 959px) {
	.home .post_content .swell-block-fullWide#contact.sp-py-72 {
		margin-top: 0 !important;
		padding-top: 56px !important;
		padding-bottom: 56px !important;
	}
	.home .l-footer__foot {
		padding-top: 6px !important;
		padding-bottom: 14px !important;
	}
}
/* ─── 追加: #content の margin-bottom:96px(=6em) が #contact↔フッター間に
       残る原因。.home に限って完全に殺す（白統一済みで段差リスクなし） */
.home #content,
.home .l-content {
	margin-bottom: 0 !important;
}
/* ════════════════════════════════════════════════════════ */

/* =========================================================
   === PC FV メインコピー 完全センター揃え (2026-06-07 エガク)
   原因: .hkdc-fv-v2 .hkdc-fv__catch は
   font-size:92px × 9文字 + letter-spacing:0.09em(8.28px) × 9
   ≒ 902px。一方 .hkdc-fv__inner は max-width:900px で
   ほぼピッタリ＝行末文字の letter-spacing 余白が右側にはみ出し、
   text-align:center の中央計算が約40px右寄りになる現象が発生。
   実測: 画面中央 720px に対し文字中央 760px（+40px右）。

   対策(PC 601px以上のみ):
   1) h1 を width:fit-content で「文字幅分のブロック」化
   2) margin:0 auto で文字ブロック自体を中央配置
   3) letter-spacing の末尾余白を margin-right の負値で相殺
      → 文字列の見た目中央 = box中央 が一致
   4) inner / inner-container の max-width も少し広げて余裕確保
   ※ SP（max-width:600px）は v4 実装維持。一切触れない。
   ========================================================= */
@media (min-width: 601px) {
	/* inner / inner-container を 1000px まで余裕確保（PCのみ） */
	.hkdc-fv-v2 .wp-block-cover__inner-container {
		max-width: 1200px;
	}
	.hkdc-fv-v2 .hkdc-fv__inner {
		max-width: 1000px;
	}
	/* h1 自体を文字幅分のブロック化 → 中央配置で確実にセンター */
	.hkdc-fv-v2 .hkdc-fv__catch {
		display: block;
		width: -moz-fit-content;
		width: fit-content;
		max-width: 100%;
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center;
	}
	/* 親の inner も中央寄せを再保証 */
	.hkdc-fv-v2 .hkdc-fv__inner,
	.hkdc-fv-v2 .hkdc-fv__inner > .wp-block-group__inner-container {
		text-align: center;
		margin-left: auto;
		margin-right: auto;
	}
}
/* ════════════════════════════════════════════════════════ */

/* ════════════════════════════════════════════════════════
   BALLET 対象年齢・推奨レベル注記（2026-06-08 追加）
   - PCマトリクスの SHOGO Jr.BALLET / BASIC BALLET セル
   - SPカードの 火・水 BALLET 項目
   注記は薄いグレー・小さめ・1行折返し可
   ════════════════════════════════════════════════════════ */
/* PCマトリクス：講師名の下に注記。flex 縦並びの末尾要素として自然に積まれる。
   既存 .hkdc-cell__note のピンク指定（差し色用に確保されていた）を、年齢注記用にグレー寄せで上書き。
   .hkdc-sched-matrix 限定なので他用途への副作用なし。 */
.hkdc-sched-matrix .hkdc-cell__note {
	font-size: 12px;
	font-weight: 400;
	color: var(--text-muted);
	letter-spacing: 0.02em;
	line-height: 1.35;
	margin-top: 1px;
}
/* SPカード：grid 4行目に注記を追加（time は 1/-1 で天井揃え＝行追加にも追従） */
.hkdc-sched-card__item { grid-template-rows: auto auto auto auto; }
.hkdc-sched-card__time { grid-row: 1 / -1; }
.hkdc-sched-card__note {
	grid-column: 2 / 3;
	grid-row: 3 / 4;
	justify-self: start;
	font-size: 11px;
	font-weight: 400;
	color: var(--text-muted);
	letter-spacing: 0.02em;
	line-height: 1.4;
	margin-top: 2px;
	text-align: left;
}
/* ════════════════════════════════════════════════════════ */

/* ════════════════════════════════════════════════════════
   SHOGO 講師カード内クラス表記の余白統一（2026-06-08 追加→改訂）
   問題：バッジ文言が長い（「大人（10歳以上・経験者推奨）」「キッズ（8〜15歳・初心者推奨）」）
   と __top 内で flex-wrap し、クラス名⇄バッジ・バッジ⇄時間の余白が崩壊
   解決：__top の row-gap=0（共通：折返し時のバッジ密着）。
   SHOGOカードのみ DevTools 検証値で個別調整：
     クラス名 .wp-block-paragraph margin-bottom: 0     → クラス名⇄バッジ密着
     バッジ              margin-bottom: 16px           → バッジ⇄時間 16px
     .hkdc-class-row gap: 0 / __time margin-top: 0     → 16px が正確に出るよう競合排除
   対象は SHOGO 講師カード内のクラス行（BASIC BALLET / Jr.BALLET）のみ。
   :has(img[alt="SHOGO"]) で他講師カード・スケジュール表は無影響。
   ════════════════════════════════════════════════════════ */
.hkdc-class-row__top {
	/* row-gap=0（折返し時バッジ密着）, column-gap=8px（横並び時バッジ離し） */
	gap: 0 8px;
	row-gap: 0;
}
.home .post_content .hkdc-class-row__time {
	margin-top: 6px;
}
/* --- SHOGOカードだけ余白を「クラス名⇄バッジ密着 / バッジ⇄時間 16px」へ（2026-06-08 再改訂） ---
   社長指示：クラス名（BASIC BALLET / Jr.BALLET）と対象バッジは密着（余白0）、
              対象バッジと日時の間は明確な余白（16px）。
   実装：
     __top の row-gap を 0 に（クラス名⇄バッジ密着）。
     __time margin-top を 16px !important に（バッジ⇄時間に16px）。
   過去の margin-bottom 効かず事案を踏まえ、確実に効く __time の margin-top で確保。 */
.home .post_content .hkdc-class-card:has(img[alt="SHOGO"]) .hkdc-class-row__top {
	row-gap: 0;
}
.home .post_content .hkdc-class-card:has(img[alt="SHOGO"]) .hkdc-class-row__time {
	margin-top: 16px !important;
}
/* ════════════════════════════════════════════════════════ */

/* ════════════════════════════════════════════════════════
   PCスケジュール表 ダークブラウングレー曜日帯（2026-06-08 社長指示）
   ヘッダ曜日行 / 左カラム午前/午後/夜 / コーナー の3箇所を
   #2A2520（SPの曜日帯と同色）+ 文字色 #FFFFFF に統一
   セル本体 #FFF 維持。SPの曜日帯 #2A2520 / セル本体 #FFF は無触
   料金表のアイボリー背景・各セクションのアイボリー背景は維持
   SCHED_LIGHTER 2026-06-21: 社長依頼で少し淡く #2A2520→#453D36（白文字コントラスト10.64:1・AA余裕クリア）。SP曜日帯と同色で統一維持
   ════════════════════════════════════════════════════════ */
.hkdc-sched-matrix thead th:not(.hkdc-sched-matrix__corner) {
	background: #453D36;
	color: #FFFFFF;
}
/* コーナー（左上空セル）も同色で統一 */
.hkdc-sched-matrix thead th.hkdc-sched-matrix__corner,
.hkdc-sched-matrix__corner {
	background: #453D36;
}
.post_content .hkdc-sched-matrix tbody th.hkdc-sched-matrix__time,
.hkdc-sched-matrix tbody th.hkdc-sched-matrix__time {
	background: #453D36;
	color: #FFFFFF;
}
/* 左カラムの時刻併記サブテキスト（spanがあれば白系で可読性確保） */
.hkdc-sched-matrix tbody th.hkdc-sched-matrix__time span {
	color: rgba(255,255,255,0.75);
}
/* ════════════════════════════════════════════════════════ */

/* =========================================================
   フッター プライバシーポリシーリンク (2026-06-08 エガク)
   ---------------------------------------------------------
   コピーライト「© HKDC｜はやみ甲ダンスカンパニー」直下に
   小さくさりげなく配置。フッター白統一・コピーライト文言は無触。
   - PC: 12px / SP: 11px / 薄グレー → hover で墨
   - margin-top で4pxほど離してコピーライトとは別行として認識させる
   ========================================================= */
.l-footer__foot .hkdc-footer-legal {
	margin: 4px 0 0;
	padding: 0;
	text-align: center;
	font-size: 12px;
	line-height: 1.4;
	letter-spacing: 0.04em;
}
.l-footer__foot .hkdc-footer-legal a {
	color: #999999;
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: color .2s ease, border-color .2s ease;
}
.l-footer__foot .hkdc-footer-legal a:hover,
.l-footer__foot .hkdc-footer-legal a:focus-visible {
	color: #2A2A2A;
	border-bottom-color: #2A2A2A;
}
@media (max-width: 599px) {
	.l-footer__foot .hkdc-footer-legal {
		font-size: 11px;
		margin-top: 3px;
	}
}
/* ════════════════════════════════════════════════════════ */

/* ════════════════════════════════════════════════════════
   プライバシーポリシー（page-id-3）専用スタイル
   SWELL標準の濃青見出し帯を撤廃し、HKDCトーンに統一
   2026-06-08 PRIVACY_HEADING_STYLE
   ════════════════════════════════════════════════════════ */

/* 本文の読みやすい幅 */
.page-id-3 .post_content {
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}

/* H2 見出し：濃青帯を撤廃し、明朝＋ピンク下線アクセント */
.page-id-3 .post_content h2,
.page-id-3 .post_content h2.wp-block-heading {
	background: none !important;
	background-color: transparent !important;
	background-image: none !important;
	color: #2A2A2A !important;
	font-family: "Noto Serif JP", "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif !important;
	font-weight: 700;
	font-size: 22px;
	line-height: 1.6;
	letter-spacing: 0.04em;
	text-align: left;
	padding: 0 0 12px 0 !important;
	margin: 56px 0 20px !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	position: relative;
}

/* H2 擬似要素の装飾（リボン・三角・斜線など）を全て無効化 */
.page-id-3 .post_content h2::before {
	display: none !important;
	content: none !important;
	background: none !important;
}
.page-id-3 .post_content h2::after {
	display: block !important;
	content: "" !important;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 48px;
	height: 2px;
	background: #DE0179 !important;
	border: none !important;
	transform: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 0 !important;
}

/* 最初のH2は上余白を抑える */
.page-id-3 .post_content > h2:first-of-type,
.page-id-3 .post_content > *:first-child + h2 {
	margin-top: 32px !important;
}

/* 本文段落 */
.page-id-3 .post_content p {
	font-size: 15px;
	line-height: 1.95;
	color: #2A2A2A;
	margin: 0 0 1.2em;
}

/* リスト */
.page-id-3 .post_content ul.wp-block-list,
.page-id-3 .post_content ol.wp-block-list {
	font-size: 15px;
	line-height: 1.9;
	color: #2A2A2A;
	padding-left: 1.4em;
	margin: 0 0 1.4em;
}
.page-id-3 .post_content ul.wp-block-list li,
.page-id-3 .post_content ol.wp-block-list li {
	margin-bottom: 0.6em;
}

/* 事業者情報テーブル（hkdc-pp-table）：白＋薄グレーのシンプル構成 */
.page-id-3 .wp-block-table.hkdc-pp-table {
	margin: 0 0 1.6em;
}
.page-id-3 .wp-block-table.hkdc-pp-table table {
	border-collapse: collapse;
	width: 100%;
	background: #FFFFFF;
	border: 1px solid #E5E5E5;
}
.page-id-3 .wp-block-table.hkdc-pp-table thead,
.page-id-3 .wp-block-table.hkdc-pp-table thead tr,
.page-id-3 .wp-block-table.hkdc-pp-table thead th {
	background: #F5F5F5 !important;
	color: #2A2A2A !important;
	font-weight: 700;
	border-bottom: 1px solid #E5E5E5;
}
.page-id-3 .wp-block-table.hkdc-pp-table tbody tr {
	background: #FFFFFF !important;
}
.page-id-3 .wp-block-table.hkdc-pp-table tbody tr:nth-child(even) {
	background: #F8F8F8 !important;
}
.page-id-3 .wp-block-table.hkdc-pp-table th,
.page-id-3 .wp-block-table.hkdc-pp-table td {
	padding: 10px 14px;
	border: 1px solid #E5E5E5;
	color: #2A2A2A;
	font-size: 14px;
	line-height: 1.7;
	text-align: left;
	vertical-align: top;
}
.page-id-3 .wp-block-table.hkdc-pp-table th:first-child,
.page-id-3 .wp-block-table.hkdc-pp-table td:first-child {
	width: 28%;
	white-space: nowrap;
}

/* 区切り線 */
.page-id-3 .post_content hr.wp-block-separator {
	border: none;
	border-top: 1px solid #E8DFD3;
	margin: 40px 0 24px;
}

/* リンク */
.page-id-3 .post_content a {
	color: #DE0179;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.page-id-3 .post_content a:hover {
	opacity: 0.75;
}

/* レスポンシブ */
@media (max-width: 599px) {
	.page-id-3 .post_content {
		max-width: 100%;
	}
	.page-id-3 .post_content h2,
	.page-id-3 .post_content h2.wp-block-heading {
		font-size: 19px;
		margin: 40px 0 16px !important;
	}
	.page-id-3 .post_content p,
	.page-id-3 .post_content ul.wp-block-list,
	.page-id-3 .post_content ol.wp-block-list {
		font-size: 14.5px;
	}
	.page-id-3 .wp-block-table.hkdc-pp-table th,
	.page-id-3 .wp-block-table.hkdc-pp-table td {
		padding: 8px 10px;
		font-size: 13.5px;
	}
	.page-id-3 .wp-block-table.hkdc-pp-table th:first-child,
	.page-id-3 .wp-block-table.hkdc-pp-table td:first-child {
		width: 32%;
	}
}

/* =========================================================
   デザインレビュー指摘対応（2026-06-10 エガク）
   中-1: SPメニュー帯・ページトップのブランド色化
   中-4: SP料金表の単語途中折返し修正
   ========================================================= */

/* --- 【中-1a】SPメニューの「MENU」帯：SWELL紺(--color_main:#04384c)→チャコール #2A2520
       （スケジュール表ヘッダーと同色）。SWELLのインラインcustomizer CSSに勝つため!important --- */
.p-spMenu .c-widget__title.-spmenu {
	background: #2A2520 !important;
	color: #fff !important;
}

/* --- 【中-1b】ページトップボタン：枠線・アイコン・hover背景の紺をチャコールに --- */
#pagetop.c-fixBtn {
	border-color: #2A2520;
	color: #2A2520;
}
#pagetop.c-fixBtn:hover {
	background-color: #2A2520 !important;
	color: #fff !important;
}

/* --- 【中-4】SP料金表：単語途中折返しを止める。
       根本原因は WP本体の .wp-block-table .has-fixed-layout td,th { word-break:break-word }
       （詳細度0,0,2,1）と SWELL親の td,th{word-break:break-all}。同等以上の詳細度で上書きする。
       SPのみ table-layout:auto に戻し、項目列(th)は nowrap で1行確定（フォント14pxで列幅を節約）、
       金額列(td)は word-break:normal で「¥6,500 ／」など自然な位置でのみ折返す --- */
@media (max-width: 600px) {
	figure.hkdc-price-table > table.has-fixed-layout { table-layout: auto; }
	.home .post_content figure.hkdc-price-table th,
	figure.hkdc-price-table .has-fixed-layout th,
	figure.hkdc-price-table th {
		width: auto;
		white-space: nowrap;
		word-break: keep-all;
		overflow-wrap: normal;
		font-size: 14px;              /* 項目列の専有幅を抑え金額列にスペースを譲る */
		padding-left: 12px !important;
		padding-right: 10px !important;
	}
	.home .post_content figure.hkdc-price-table td,
	figure.hkdc-price-table .has-fixed-layout td,
	figure.hkdc-price-table td {
		word-break: keep-all;      /* break-word/break-all解除：「／」「・」など語の境界でのみ折る */
		overflow-wrap: anywhere;   /* 列幅を超える長い語だけ保険で折る（min-content計算にも効きはみ出し防止） */
		padding-left: 12px !important;
		padding-right: 12px !important;
	}
}

/* =========================================================
   2026-06-10 ツナグ提案 中2・中4（社長承認）
   ① #contact「体験レッスンの流れ」3ステップ
   ② #class 末尾レベル相談ノート（JAZZ中級の受け皿）
   ========================================================= */

/* --- ② #class 末尾：レベル相談ノート --- */
.home .post_content p.hkdc-class-level-note {
	margin: 36px auto 0;
	max-width: 640px;
	text-align: center;
	font-size: 14px;
	font-weight: 300;
	letter-spacing: 0.05em;
	line-height: 1.8;
	color: var(--text);
	text-wrap: pretty;
	word-break: keep-all;
}
.hkdc-class-level-note a {
	color: var(--pink);
	text-decoration: underline;
	text-underline-offset: 4px;
	text-decoration-thickness: 1px;
	font-weight: 600;
}
.hkdc-class-level-note a:hover { color: var(--pink-dark); }

/* =========================================================
   2026-06-21 CONTACT_CARD_B（エガク）B案：縦カード＋背骨コネクタ
   社長採用モック: _review/contact_card_B.html
   左に番号レール(明朝ピンクの小丸 01/02/03 を縦の細線=背骨で連結)、
   右に直角カード(影なし・細罫・左揃え)を縦3枚。各カードは
   STEP 0X eyebrow ＋ 明朝ラベル ＋ 説明文。脱AI四点(角丸/影/全中央/巨大数字)を排除。
   旧「罫線組版版」は style.css.20260621_120601_PRE_CONTACT_CARD_B.bak に退避。
   ロールバックはこのブロック差し替えで完了。
   ========================================================= */
.hkdc-trial-flow {
	max-width: 680px;
	margin: 44px auto 40px;
	/* モックB専用ライン色：背景#FCE7F1になじむピンク寄りの細罫 */
	--flow-line: #E3B9CE;
	--flow-warmgray: #8A7F78;
	--flow-card-bg: #fff;            /* B-2採用：白（#contact薄ピンク地に映える脱AIカード） */
}
/* SWELL親 .home .post_content h3 { margin:0 } 対策：同詳細度(.home付き)で再指定 */
.home .post_content h3.hkdc-trial-flow__title {
	font-family: var(--font-heading);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-align: center;
	margin: 0;
}
/* 番号レール＋背骨：steps を relative にして縦線を疑似要素で敷く */
.hkdc-trial-flow__steps {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 22px;
	padding-left: 74px;        /* 番号レール分の左余白 */
	margin-top: 28px;
}
/* 流れの背骨（縦の連結ライン） */
.hkdc-trial-flow__steps::before {
	content: "";
	position: absolute;
	left: 27px;
	top: 28px;
	bottom: 28px;
	width: 1px;
	background: linear-gradient(to bottom, transparent, var(--flow-line) 8%, var(--flow-line) 92%, transparent);
}
/* 各ステップ：番号(rail)を絶対配置、カードは通常フロー */
.hkdc-trial-flow__step {
	position: relative;
	display: block;
	background: none;
	border: none;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
}
/* 番号：明朝アウトライン小丸。背骨ライン上に座り、背景色で線を切る */
.home .post_content p.hkdc-trial-flow__num {
	position: absolute;
	left: -74px;
	top: 50%;
	transform: translateY(-50%);
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--pink-light);    /* #FCE7F1 = #contact 背景。背骨を切る */
	border: 1px solid var(--pink);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-en);
	font-size: 22px;
	font-weight: 500;
	letter-spacing: 0.02em;
	color: var(--pink);
	line-height: 1;
	margin: 0;
}
/* カード本体：直角・影なし・細罫・左揃え */
.hkdc-trial-flow__card {
	background: var(--flow-card-bg);
	border: 1px solid var(--flow-line);
	border-radius: 2px;
	padding: 22px 26px;
	text-align: left;
}
/* STEP 0X eyebrow：小さくウォームグレー */
.home .post_content p.hkdc-trial-flow__tag {
	font-family: var(--font-en);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.2em;
	color: var(--flow-warmgray);
	margin: 0 0 8px;
	text-align: left;
}
/* ラベル：明朝(C-3体験CTAとトーン統一) */
.home .post_content p.hkdc-trial-flow__label {
	font-family: var(--font-heading);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.03em;
	color: var(--text);
	margin: 0 0 6px;
	text-align: left;
}
.home .post_content p.hkdc-trial-flow__label .hkdc-trial-flow__price {
	font-family: var(--font-en);
	font-size: 21px;
	font-weight: 500;
	color: var(--pink);
	letter-spacing: 0.02em;
}
.home .post_content p.hkdc-trial-flow__desc {
	font-size: 13px;
	font-weight: 300;
	line-height: 1.8;
	letter-spacing: 0.04em;
	color: var(--text-muted);
	margin: 0;
	text-align: left;
	text-wrap: pretty;
	/* keep-all は読点なし純和文を分割不能にして崩すため不使用 */
}
/* SP：レール幅を詰めて背骨＋カードを縦に綺麗に並べる（モックB_SP準拠） */
@media (max-width: 767px) {
	.hkdc-trial-flow { margin: 36px auto 34px; max-width: 100%; }
	.hkdc-trial-flow__steps {
		padding-left: 58px;
		gap: 18px;
	}
	.hkdc-trial-flow__steps::before { left: 21px; }
	.home .post_content p.hkdc-trial-flow__num {
		left: -58px;
		width: 44px;
		height: 44px;
		font-size: 18px;
	}
	.hkdc-trial-flow__card { padding: 18px 20px; }
}

/* =========================================================
   2026-06-10 FV_PLACE_TAGLINE（エガク）
   ・FVに「大阪・北加賀屋｜子どもから大人まで」を追加（最下層階層）
   ・サブコピー下のピンク短線をタグライン側へ移設し、
     「上線 — サブ — タグライン — 下線」の1ユニットに再構成
     （FVの要素数を増やさず3秒理解とSP縦予算を両立）
   ========================================================= */
.hkdc-fv-v2 .hkdc-fv__sub::after { content: none; }
.hkdc-fv-v2 .hkdc-fv__sub {
	padding-bottom: 0;
	margin-bottom: 14px;
}
.hkdc-fv-v2 .hkdc-fv__place {
	font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
	font-weight: 400;
	font-size: 13px;
	letter-spacing: 0.2em;
	line-height: 1.7;
	color: #6F6A66;
	text-align: center;
	position: relative;
	max-width: max-content;
	margin: 0 auto 40px;
	padding-bottom: 30px;
	white-space: nowrap;
}
.hkdc-fv-v2 .hkdc-fv__place::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 48px;
	height: 2px;
	background: #DE0179;
}
@media (max-width: 600px) {
	.hkdc-fv-v2 .hkdc-fv__sub {
		padding-bottom: 0 !important;
		margin-bottom: 10px;
	}
	.hkdc-fv-v2 .hkdc-fv__place {
		font-size: 11px;
		letter-spacing: 0.14em;
		padding-bottom: 22px;
		margin-bottom: 30px;
		max-width: 100%;
	}
	.hkdc-fv-v2 .hkdc-fv__place::after { width: 40px; }
}

/* ════════════════════════════════════════════════════════
   BTN_SQUARE 2026-06-21（レビューv2 高-2：全CTAボタン直角統一）
   方針: C-3体験CTA（border-radius:0）を新基準に昇格させる。
   ピル/8px角丸だったCTAボタンを全て直角(0)へ。
   色#DE0179・白文字・サイズ・ホバー挙動は不変、形(角丸)だけ統一。
   対象外: バッジ(.hkdc-badge 大人/キッズ・NEWSバッジ)＝次段階。カード/表/画像/地図枠も無触。
   ════════════════════════════════════════════════════════ */
/* FV2ボタン・#feed「Instagramを見る」・基本CTA（var(--radius)8px由来） */
.hkdc-btn { border-radius: 0; }
.hkdc-cta .swell-block-button__link { border-radius: 0; }
/* FV-v2の既存ルール(.hkdc-fv-v2 .hkdc-cta ...=4px・詳細度0,0,3,0)を上書きして直角化 */
.hkdc-fv-v1 .hkdc-cta .swell-block-button__link,
.hkdc-fv-v2 .hkdc-cta .swell-block-button__link { border-radius: 0; }
/* ヘッダー「体験申込」（旧999pxピル） */
.hkdc-nav-cta > a { border-radius: 0; }
/* #price 体験CTA大ボタン（旧999pxピル） */
.home .post_content .hkdc-price__cta .hkdc-cta--lg .swell-block-button__link { border-radius: 0; }
/* #rental・#contact CTA（基本CTA継承だが詳細度の高い既存ルールに合わせ明示直角化） */
.home .post_content .hkdc-rental__body .hkdc-cta .swell-block-button__link,
.home .post_content .hkdc-contact .hkdc-cta--lg .swell-block-button__link { border-radius: 0; }
/* #access 駐車場CTA（旧999pxピル・白地アウトライン） */
.hkdc-access__parking-cta .swell-block-button__link { border-radius: 0; }
/* SP固定追従CTAバーのボタン（旧var(--radius)8px） */
.hkdc-sp-cta__btn { border-radius: 0; }

/* ════════════════════════════════════════════════════════
   RENTAL_OUTLINE 2026-06-21（社長方針：ピンク塗り＝体験申込/DM専用）
   #rental「予約・空き状況を見る」を #feed「Instagramを見る」と
   同じアウトライン配色(.hkdc-cta--ghost相当)に揃える。
   ピンク塗り(白文字/bg:var(--pink))→ 透過背景＋枠線＋濃文字。
   ※形(border-radius:0)・サイズ・文言・リンク先・配置は不変、配色のみ変更。
   #feed基準値: color=var(--text)#1A1A1A / bg=transparent / border=1.5px solid var(--text)
   ロールバックはこのブロック削除1発で完了。
   ════════════════════════════════════════════════════════ */
.home .post_content .hkdc-rental__body .hkdc-cta .swell-block-button__link {
	color: var(--text);
	background: transparent;
	border: 1.5px solid var(--text);
}
.home .post_content .hkdc-rental__body .hkdc-cta .swell-block-button__link:hover {
	background: var(--text);
	color: #fff;
	transform: translateY(-1px);
}

/* =========================================================
   PRICE_FIX3 : 入会金注記を「一般・ジュニア共通条件」として料金表の冒頭へ移設
   旧: ジュニア表の直下 → "ジュニアにだけ入会金がかかる"誤認の原因だった。
   新: 税込注記の直後・一般表の前に置き、両表に等しくかかる共通条件と明示。
   体験カード見出し新文言（まずは気になるクラスを体験）はPC1行で収める。
   ========================================================= */
/* 注記＝両表の上の共通条件。税込行から少し離し、最初の表(一般)へ自然につなぐ */
.home .post_content .hkdc-price__note {
	max-width: 720px;
	margin: 0 auto 28px;   /* 上は税込行直後、下は一般表まで適度に */
	text-align: center;     /* 表の上の共通条件として中央に座らせる */
	text-wrap: pretty;      /* 行末の不自然な分割を抑止（経験則） */
	word-break: keep-all;   /* 「かかりません」等を語の途中で割らない */
	hanging-punctuation: allow-end;
}
@media (max-width: 600px) {
	.home .post_content .hkdc-price__note { margin: 0 auto 24px; }
}
/* 体験カード見出し：新文言はPCで1行に収める（折返し抑止）。SPは自然に折返す */
.home .post_content h2.hkdc-trialC__title { max-width: none; white-space: nowrap; }
@media (max-width: 600px) {
	.home .post_content h2.hkdc-trialC__title { white-space: normal; }
}

/* ════════════════════════════════════════════════════════
   NONAPPLY_BTN_WHITE 2026-06-22（社長方針：非申込ボタン＝白ボタンで統一）
   背景透過(アウトライン)だと「セクション地に溶けてボタンと分からない」問題を解消。
   対象: #rental「予約・空き状況を見る」/ #feed「Instagramを見る」の2つ。
   見た目: 背景=白#fff ＋ 1.5px枠 ＋ 濃文字 → 地(アイボリー)から浮いてボタンと一目で分かる。
   ピンク塗り=体験申込/DM専用ルールは維持(=白ボタンが正解)。形(直角0)・文言・リンク先・配置は不変。
   末尾再宣言でカスケード勝ち＝ロールバックはこのブロック削除1発。
   ════════════════════════════════════════════════════════ */
.home .post_content .hkdc-feed__cta .hkdc-cta--ghost .swell-block-button__link,
.home .post_content .hkdc-rental__body .hkdc-cta .swell-block-button__link {
	color: var(--text);
	background: #fff;
	border: 1.5px solid var(--text);
}
.home .post_content .hkdc-feed__cta .hkdc-cta--ghost .swell-block-button__link:hover,
.home .post_content .hkdc-rental__body .hkdc-cta .swell-block-button__link:hover {
	background: var(--text);
	color: #fff;
	border-color: var(--text);
	transform: translateY(-1px);
}

/* ════════════════════════════════════════════════════════
   PRICE_TABLE_RIGHTCOL_WHITE 2026-06-22（社長方針：金額列を白背景で締める）
   表がセクション地(アイボリー)と同化して見づらい問題を解消。
   ・右列(金額列=td): 背景=白#fff で確定（ゼブラ無効化して常時白に統一）
   ・左列(項目列=th): 背景=アイボリー#FCF3E8 で確定（2026-06-22 社長承認・推奨案採用）。
     左=項目(アイボリー)／右=金額(白)＋1px罫線で「項目/金額」の縦仕切りを明示。
   罫線(1px var(--line))は維持＝白td×罫線で行が追いやすく締まる。
   末尾再宣言でカスケード勝ち。ロールバックはこのブロック削除1発。
   ════════════════════════════════════════════════════════ */
/* 右列(金額)=白。ゼブラのeven行tdも白で上書きし、金額列は常時白に統一 */
.home .post_content figure.hkdc-price-table td,
.home .post_content figure.hkdc-price-table tbody tr:nth-child(even) td {
	background: #fff;
}
/* 左列(項目)=アイボリー#FCF3E8 で確定。ゼブラのeven行thも同色で上書きし、
   項目列は常時アイボリーに統一（白td列との対比で項目/金額が一目で分かれる）。 */
.home .post_content figure.hkdc-price-table th,
.home .post_content figure.hkdc-price-table tbody tr:nth-child(even) th {
	background: #FCF3E8;
}

/* ════════════════════════════════════════════════════════
   CTA_TO_CONTACT 2026-06-22（社長方針：体験申込CTAを #contact アンカーに統一）
   FV/#about/#price体験カード/グローバルメニュー/SP固定バーの体験申込CTAを
   サイト内 #contact へ飛ばす変更に伴い、アンカー着地時に固定ヘッダー(SWELL)で
   見出しが隠れないよう scroll-margin-top でオフセットを確保する。
   スムーススクロールは hkdc-animations.js の JS制御（duration/イージング可変）に移行。
   CSSの scroll-behavior:smooth はブラウザ依存で遅く速度調整不可のため auto に戻す。
   末尾再宣言でカスケード勝ち。ロールバックはこのブロック削除1発。
   ════════════════════════════════════════════════════════ */
html { scroll-behavior: auto; } /* JS側(window.scrollTo)でスムーススクロール制御。CSS smoothは無効化 */
#contact {
	scroll-margin-top: 90px; /* SWELL追従ヘッダー高さ分のオフセット（見出しの被り防止） */
}
@media (max-width: 959px) {
	#contact { scroll-margin-top: 70px; } /* SPは追従ヘッダーが低いので控えめに */
}

/* ════════════════════════════════════════════════════════
   SP_PRICE_COLWIDTH 2026-06-22（社長要望：SP料金表 左狭め・右広げ）
   現象：SPの「一般」表で「プロフェッショナル（4回）」を nowrap で1行固定して
   いたため左列が203pxまで膨張→右列119pxに圧迫され「¥6,500／無期限・プロ活動の
   証明要」が4行に折返していた。
   対策：① post_content に SP専用 <br class="hkdc-sp-only"> を「（4回）（1回）」前に挿入
   （PCは display:none で改行されない＝PC無変更）。② SPは table-layout:fixed に戻し
   左列(th)を42%に固定＋折返し許可。これで左列を狭め・右列を58%に広げ、長い注記の
   折返し行数を削減する。一般/ジュニア両表に適用（thが短いジュニアは影響軽微）。
   末尾再宣言でカスケード勝ち。PCには一切作用しない（@media max-width:600px内）。
   ロールバックはこのブロック削除＋post_contentの br 撤去。
   ════════════════════════════════════════════════════════ */
.hkdc-sp-only { display: none; } /* PCでは改行用brを無効化＝PC無変更 */
@media (max-width: 600px) {
	.home .post_content figure.hkdc-price-table .hkdc-sp-only,
	figure.hkdc-price-table .hkdc-sp-only { display: inline; } /* SPのみ改行を出す */

	/* SPは固定レイアウトに戻し列幅を明示（th側は下で表別に上書き） */
	figure.hkdc-price-table > table,
	figure.hkdc-price-table > table.has-fixed-layout { table-layout: fixed; }

	/* th 共通：nowrap解除＋語境界折返し（幅は表別に下で指定） */
	.home .post_content figure.hkdc-price-table th,
	figure.hkdc-price-table .has-fixed-layout th,
	figure.hkdc-price-table th {
		white-space: normal;         /* nowrap解除：brと自然折返しで2行化を許可 */
		word-break: keep-all;        /* 語の途中では折らない（読点等の境界のみ） */
		overflow-wrap: normal;
		font-size: 14px;
		letter-spacing: 0.01em;
		padding-left: 12px !important;
		padding-right: 8px !important;
	}
	.home .post_content figure.hkdc-price-table td,
	figure.hkdc-price-table .has-fixed-layout td,
	figure.hkdc-price-table td {
		word-break: keep-all;        /* 「／」「・」など語の境界でのみ折る */
		overflow-wrap: anywhere;     /* 列幅超の長語のみ保険で折る */
		padding-left: 12px !important;
		padding-right: 12px !important;
	}
	/* 既定（＝「一般」表。項目名が長い"プロフェッショナル"を1行に収める）：左46% */
	.home .post_content figure.hkdc-price-table th,
	figure.hkdc-price-table th { width: 46%; }
	.home .post_content figure.hkdc-price-table td,
	figure.hkdc-price-table td { width: 54%; }
	/* 「ジュニア」表＝2番目の .hkdc-price__group（先行する同クラスを持つ方）。
	   項目名が短いので左を38%に絞り、右を62%に広げて「¥10,000 ／ 2ヶ月有効」を1行に保つ。
	   一般表は先行兄弟が無いのでこのルールに当たらず46%のまま。 */
	.home .post_content .hkdc-price__group ~ .hkdc-price__group figure.hkdc-price-table th,
	.hkdc-price__group ~ .hkdc-price__group figure.hkdc-price-table th { width: 38%; }
	.home .post_content .hkdc-price__group ~ .hkdc-price__group figure.hkdc-price-table td,
	.hkdc-price__group ~ .hkdc-price__group figure.hkdc-price-table td { width: 62%; }
}

/* ════════════════════════════════════════════════════════
   RICHI_CARD_ALIGN（2026-06-22 エガク）
   貝本茄誉子/RICHI カード（Latinペア）だけ個人IGアカウントが無く、__ig リンク
   「クラス紹介を見る」を持たない（社長確定＝アカウント無し。ダミー/「準備中」は入れない）。
   さらに RICHI だけ自己紹介が2段落（貝本茄誉子／RICHI の2名分）で __text が2つあり、
   equal-height ルール（line 1808）が両方に border-top + flex:1 を当てるため、
   ①区切り線が二重に出る ②2段落が別々に引き伸ばされ段間が間延びする、という RICHI 固有の崩れが起きる。
   他4枚は __text が1つ＋ __ig リンクで下端が締まるので、見比べると RICHI の下端処理だけ不揃いに見える。
   対策（CSSのみ・RICHI 1枚にスコープ限定・post_content非接触＝invalid block 0）：
     ・2つ目の __text の重複 border-top / 余白を解除し、区切り線は「自己紹介の始まり」を示す1本に統一。
     ・2段落をひとつの自己紹介ブロックとして自然な段落間隔(1.05em)で連結し、flex は1つ目だけが
       余白を吸収するよう2つ目を flex:0 に。これで本文が空白の上に浮かず、最終段落の下端が
       他カードのリンク下端と同じ余白リズム（約29px＝__body padding-bottom）で揃う。
   スコープは alt="貝本茄誉子（RICHI）" の :has() で限定（他カード・スケジュール表へ副作用ゼロ）。
   PC/Tab（横並びで高さ揃えが効く領域）のみ。SP は1カラム縦積みで高さ揃え無効のため除外。
   ════════════════════════════════════════════════════════ */
@media (min-width: 960px) {
	/* RICHI の2つ目の __text（RICHI本人の紹介）：重複区切り線と上余白を解除し、
	   1つ目（貝本茄誉子）の続きとして段落間隔だけ空ける。flex は1つ目に任せる。 */
	.home .post_content .hkdc-class-card:has(img[alt="貝本茄誉子（RICHI）"]) .hkdc-class-card__text + .hkdc-class-card__text {
		border-top: none;
		padding-top: 0;
		margin-top: 1.05em; /* 段落間の自然な間隔 */
		flex: 0 1 auto;     /* 余白吸収は1段落目に集約し、2段落目は内容なりの高さ */
	}
}

/* HKDC-SP-TITLE-BREAK: 体験カード見出しの改行「まずは／気になるクラスを体験」。
   PCは改行を隠して1行維持、SP(600px以下)のみ改行を表示。2026-07-02 */
.home .post_content h2.hkdc-trialC__title br { display: none; }
@media (max-width: 600px) {
	.home .post_content h2.hkdc-trialC__title br { display: inline; }
	.home .post_content h2.hkdc-trialC__title { white-space: normal; word-break: keep-all; }
}
