/* ============================================================================
   NINEJP LP 専用スタイル（このページ以外には影響しない）
   - スコープ: 本文セクションは .wp-block-post-content 配下（ninejp-* クラス自体が LP 専用
     なので他ページに漏れない。エディタの後付けクラスに依存しない）。テンプレートパーツは
     .ninejp-lp-header / .ninejp-cb（コーナーバナー）/ .ninejp-foot / .ninejp-totop。
   - 命名: セクション = .ninejp-<section>、要素 = .ninejp-<section>__<element>（BEM）。
     ページ共通のカスタムスタイル: 見出し .ninejp-heading-{en,ja,sm}、
     ラベル|内容の定義リスト .ninejp-def__{row,label-en,label-ja,p}。
   - 単位: 絶対値（フォント・余白・字間・角丸）は px（本番の computed px を再現する
     ため。rem はルート font-size 依存でずれ得る）。レスポンシブ縮尺は vw/%、
     親フォント比例が意図の箇所のみ em。ピル型の角丸は 999px。
   - ブレークポイント: 991.98px（prod col-lg 相当）と 767.98px（prod SP）の2つのみ。
   - 色: LP 固有の配色（#000 / #222 / #a1a1a1 等）は本番の実測値を生値で保持する。
     テーマ共通パレット（theme.json）には載せない（サイト本体と共有しない LP 専用色のため）。
   ========================================================================= */

/* NINEJP LP header — scoped (front + editor). 内箱は 1140px/16px ガター。
   本文セクションの .ninejp-container と同一ジオメトリで、全幅で左右位置が揃う。 */
.ninejp-lp-header {
	position: sticky;
	top: 0;
	z-index: 1020;
	background: #f5f5f5;
	padding: 16px 0;
}
.ninejp-lp-header__inner {
	width: 100%;
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 16px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

/* brand = classic .d-flex.flex-column.flex-lg-row.align-lg-items-center */
.ninejp-lp-header__brand { display: flex; flex-direction: column; }
.ninejp-lp-header .wp-block-image { margin-block: 0; } /* kill default figure mb, keep horizontal */
.ninejp-lp-header .wp-block-image :is(a, img) { display: block; } /* inline の line box が図の下に隙間を作るのを防ぐ */
.ninejp-lp-header__logo img { max-width: 100%; height: auto; }              /* img-fluid: natural 235.7x64.8 */
.ninejp-lp-header__tagline { padding-top: 8px; padding-left: 4px; }    /* pt-2 ps-1 */
.ninejp-lp-header__tagline img { max-width: 300px; height: auto; }          /* img-fluid + custom max-width:300 */
.ninejp-lp-header__dailysun img { width: 208px; max-width: 100%; height: auto; } /* classic の width:197px 時のロゴ表示高さに SVG を換算 */

@media (min-width: 992px) {
	.ninejp-lp-header__brand { flex-direction: row; align-items: center; }
	.ninejp-lp-header__tagline { margin-left: 16px; padding-top: 16px; padding-left: 0; } /* ms-lg-3 pt-lg-3 ps-lg-0 */
}
@media (max-width: 991.98px) {
	.ninejp-lp-header__logo img { max-width: 260px; }        /* 本番LP: .logo-ninejp */
	.ninejp-lp-header__tagline img { max-width: 257px; }     /* 本番LP: タグライン画像 */
}
@media (max-width: 767.98px) {
	.ninejp-lp-header__logo img,
	.ninejp-lp-header__tagline img { max-width: 40vw; }      /* 本番LP: ロゴ/タグライン */
	.ninejp-lp-header__dailysun img { max-width: 29.5vw; }   /* 本番LP: .logo-dailysun（旧 28vw を表示高さで換算） */
}
/* コーナー固定スタック: ↑ボタン（上）＋ NINEJP バナー（下）を1つの fixed コンテナで縦積み。
   バナーが × で閉じられる（display:none）と ↑ボタンが flex の流れで自然に下へ詰まり、
   自身の margin（右=下）だけでコーナーに等間隔で収まる。body クラスでの位置調整は不要。 */
.ninejp-corner-stack {
	position: fixed;
	right: 0;
	bottom: 0;
	z-index: 999;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	pointer-events: none; /* 透明部分（↑の左側等）で下のコンテンツを塞がない */
}
.ninejp-corner-stack > * { pointer-events: auto; }
/* NINEJP corner banner (core blocks) — スタック最下段。バナー自体は画面下端に密着。
   position:relative は × ボタン（absolute）の基準をバナー自身に保つため必須。 */
.ninejp-cb {
	position: relative;
	width: 435px;
	max-width: calc(100vw - 40px);
	background: #e9e9e9;
	overflow: hidden;
	box-shadow: 0 8px 16px rgba(0, 0, 0, .15);
}
.ninejp-cb__body { padding: 16px 24px; }
.ninejp-cb__logo { margin: 0; }
.ninejp-cb__logo img { display: block; width: 100%; max-width: 223px; height: auto; } /* w-100 h-auto, max 223 */
/* Visit us = core/button styled like .btn.btn-outline-dark.btn-sm.rounded-pill.px-3 + arrow */
.ninejp-cb__btn .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	white-space: nowrap;
	background: transparent;
	color: #212529;
	border: 1px solid #212529;
	border-radius: 999px;
	padding: 4px 16px;
	font-size: 14px;
	line-height: 1.5;
	transition: color .2s ease, background-color .2s ease;
}
.ninejp-cb__btn .wp-block-button__link::after {
	content: "";
	width: 14px;
	height: 14px;
	background: url(../../ninejp/images/icon-arrow-right-sm.svg) no-repeat center / contain;
	transition: filter .2s ease;
}
.ninejp-cb__btn .wp-block-button__link:hover { background: #212529; color: #fff; }
.ninejp-cb__btn .wp-block-button__link:hover::after { filter: brightness(0) invert(1); }
.ninejp-cb__title .wp-block-buttons { margin-left: 16px; margin-bottom: 0; } /* me-3 between logo and button */
.ninejp-cb__text { font-weight: 500; font-size: 16px; line-height: 1.4; color: #000; margin-left: -8px; } /* 本番LPと同値 */
.ninejp-cb__close { position: absolute; top: 16px; right: 24px; z-index: 1; margin: 0; }
.ninejp-cb__close .wp-block-button__link {
	background: transparent;
	color: #000;
	border: 0;
	padding: 0;
	min-width: 0;
	font-size: 38px;
	line-height: 1;
	opacity: .5;
	transition: opacity .2s ease;
}
.ninejp-cb__close .wp-block-button__link:hover { opacity: 1; background: transparent; color: #000; }

.ninejp-foot {
	background: linear-gradient(90deg, #cfcfcf, #fff);
	color: #000;
	padding: 32px 0 40px;
	font-size: 13.6px;
	text-align: center;
}
.ninejp-foot__logo { display: inline-block; margin-bottom: 16px; line-height: 0; }
.ninejp-foot__logo img { width: 197px; max-width: 100%; height: auto; }
/* SNS = core/social-links (logos only); icons are 1em — size to production's 35px.
   logo->SNS gap = 32px (margin-top); SNS->legal = 16px (footer blockGap). */
.ninejp-foot .ninejp-foot__sns,
.ninejp-foot .ninejp-foot__sns .wp-block-social-link { font-size: 35px; }
.ninejp-foot__sns { gap: 12px; justify-content: center; margin-top: 32px; }
.ninejp-foot__sns .wp-block-social-link { padding: 0; width: 35px; height: 35px; }
/* the core icons carry a width="24" attribute — override it (CSS beats the attr) */
.ninejp-foot__sns .wp-block-social-link svg { width: 35px; height: 35px; }
.ninejp-foot__legal { font-size: .875em; line-height: 1.5; }
.ninejp-foot__legal a { color: #000; text-decoration: none; }
.ninejp-foot__copy { margin-top: 16px; }

/* トップへ戻る: スタック内の上段。margin（右＝下 24px）でコーナーからの等間隔を作る
   （core の :where(figure){margin:0 0 1em} を打ち消す意味でも margin は明示する）。
   表示/非表示は ninejp-lp.js がスクロール量で display を切り替える。 */
.ninejp-totop {
	margin: 0 24px 24px 0;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	border: 3px solid rgba(255, 255, 255, .65);
	background: #474747;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	opacity: .5;
	transition: opacity .3s ease;
}
.ninejp-totop:hover { opacity: 1; }
.ninejp-totop img { width: 24px; height: auto; }

@media (max-width: 767.98px) {
	/* sp: 常時オーバーレイ（fixed）ではなく sticky にする。パーツのラッパー
	   （.ninejp-cb-region = ページ最終要素）を粘着させ、スクロール中は画面下に
	   張り付き、ページ末尾では footer の下（自然位置）に収まる。 */
	.ninejp-cb-region { position: sticky; bottom: 0; z-index: 999; }
	/* ↑ボタンは流れに含めない: 含めると sticky 領域の高さに入り、ページ末尾で
	   footer とバナーの間にその分の白帯が出る。バナー上端の 16px 上へ絶対配置。 */
	.ninejp-corner-stack { position: relative; }
	.ninejp-totop { position: absolute; right: 16px; bottom: calc(100% + 16px); margin: 0; }
	/* バナーが × で閉じられたら（hidden）右下 16px へ */
	.ninejp-corner-stack:has(.ninejp-cb[hidden]) .ninejp-totop { bottom: 16px; }
	.ninejp-cb { width: 100%; max-width: 100%; }
	/* centre the content with flex (no text-align) */
	.ninejp-cb__body { display: flex; flex-direction: column; align-items: center; }
	.ninejp-cb__close { top: 8px; right: 12px; }
}
@media (max-width: 991.98px) {
	.ninejp-totop { margin: 0 16px 16px 0; }
}

/* Each LP region closes its own top edge (WordPress's root/flow block-gap would
   otherwise add 24px). Scoped per component — no page-wide override. */
.ninejp-lp-region { margin-block-start: 0; }                 /* header / main / footer wrappers */
.ninejp-lp-header { margin-block-start: 0; }                 /* header inside its part */
.wp-block-post-content.lp-ninejp,
.wp-block-post-content:has(.ninejp-hero) { margin-block-start: 0; } /* content + its sections */
.ninejp-foot { margin-block-start: 0; }                      /* footer inside its part */

/* ===== NINEJP LP 本文セクション（.wp-block-post-content スコープ・本番 LP の実測値を再現） ===== */
/* 本文フォントは prod と同じ Open Sans → Noto Sans JP（英文の字形が別物にならないよう）。
   見出し・ラベルは各所で Lato を明示しているのでこの指定に上書きされない。 */
.lp-ninejp,
.wp-block-post-content:has(.ninejp-hero),
.ninejp-lp-header,
.ninejp-foot,
.ninejp-cb { font-family: "Open Sans", "Noto Sans JP", sans-serif; line-height: 1.5; }
/* ↑ 行間の基準は Bootstrap 既定の 1.5（テーマ既定 1.75 の漏れを防ぐ）。
   例外は個別指定: 見出し 1.2 / nw タイトル 1 / intro・MR 本文 1.95 / カード番号系 1.41 */
/* 全セクション共通: 縦 padding 100px（SP 40px）、横は最小ガター 20px。 */
.wp-block-post-content .ninejp-intro,
.wp-block-post-content .ninejp-nw,
.wp-block-post-content .ninejp-guest,
.wp-block-post-content .ninejp-prev,
.wp-block-post-content .ninejp-archive { margin: 0; padding: 100px 0; scroll-margin-top: 100px; } /* #archive アンカー着地時に sticky ヘッダーへ潜らないように */
/* 各セクションの内容は「margin(中央寄せ) → padding(16px) → 内容」の内箱で持つ。
   ヘッダー（.ninejp-lp-header__inner: 1140px/16px）と同一ジオメトリなので、
   すべての画面幅で本文とヘッダーの左右位置が揃う。 */
.wp-block-post-content .ninejp-container { max-width: 1140px; margin: 0 auto; padding: 0 16px; }

/* hero: 全幅レスポンシブ画像＋スクリーンリーダー用テキスト（core の .screen-reader-text）。
   WP の block-gap（24px）が picture に付いてヘッダーとの間に隙間を作るため殺す。 */
.wp-block-post-content .ninejp-hero { margin: 0; }
.wp-block-post-content .ninejp-hero > * { margin-block: 0; }

/* 見出し EN（INTRODUCTION / NEXT WEBINAR / ARCHIVE）: 82px gray uppercase Lato */
.wp-block-post-content .ninejp-heading-en {
	margin: 0;
	font-family: var(--wp--preset--font-family--lato, "Lato", sans-serif);
	font-size: 82px !important; /* content.css の h2 26px !important に対抗 */
	font-weight: 700;
	letter-spacing: 4.8px;
	line-height: 1.2;
	text-transform: uppercase;
	color: #a1a1a1;
}
/* 見出し JA（はじめに／次回ウェビナーのご案内 等）: 22px bold letter-spacing 16px */
.wp-block-post-content .ninejp-heading-ja { margin: 6.4px 0 0; font-size: 22px; font-weight: 700; letter-spacing: 16px; }

/* INTRODUCTION / NEXT WEBINAR = prod では1つの .section--intro（黒）。ブロックとしては
   別セクションだが、prod の縦リズムに合わせ intro の下 padding と nw の上余白を 0 にして
   「Watch Video → 白ボーダー」の間隔を .next-webinar-block の margin-top 95px だけにする。 */
.wp-block-post-content .ninejp-intro,
.wp-block-post-content .ninejp-nw {
	position: relative;
	background: #000;
	color: #fff;
}
.wp-block-post-content .ninejp-intro { margin-top: -32px; padding-top: 0; padding-bottom: 0; }
/* nw 上端の 95px は margin だと親から collapse して白帯が出るため padding で確保 */
.wp-block-post-content .ninejp-nw { margin-top: 0; padding-top: 95px; }
/* 三角形は NEXT WEBINAR 節の下端のみ（黒→明の境界）。INTRODUCTION 節下端は
   次節ブロックの白ボーダー上線が境界になるため付けない。 */
.wp-block-post-content .ninejp-nw::after {
	content: "";
	position: absolute;
	left: calc((100% - 74px) / 2);
	bottom: -19px;
	width: 74px;
	height: 19px;
	background: url(../../ninejp/images/shape-triangle-btm.svg) no-repeat top center;
	z-index: 1;
}
.wp-block-post-content .ninejp-intro__p { margin: 22.4px 0 0; font-size: 20px; line-height: 1.95; }
.wp-block-post-content .ninejp-intro .is-bold { font-weight: 700; }

/* MOST RECENT WEBINAR（INTRODUCTION 内・白ボーダー上線 = prod .next-webinar-block） */
.wp-block-post-content .ninejp-mr { border-top: 1px solid #fff; padding-top: 90px; margin-top: 95px; }
/* 演題（太字）は本番の .section--intro p に該当: 20px / 1.95 */
.wp-block-post-content .ninejp-mr__theme { margin: 0 0 16px; font-size: 20px; font-weight: 700; line-height: 1.95; }
/* 本文は本番では p ではなく生テキスト（<br><br> 区切り）: 21px / 1.5、段落間は空行1行分 */
.wp-block-post-content .ninejp-mr__p { margin: 0 0 32px; font-size: 21px; line-height: 1.5; }
/* Watch Video = prod .btn-lg.btn-light.rounded-pill（白地・大・中央） */
.wp-block-post-content .ninejp-mr .ninejp-webinar__actions { margin: 40px 0 0; text-align: center; }
.wp-block-post-content .ninejp-mr .ninejp-webinar__btn {
	background: #f8f9fa;
	color: #000;
	border: 0;
	border-radius: 999px;
	padding: 12px 48px;
	font-size: 20px;
	cursor: pointer;
}
.wp-block-post-content .ninejp-mr .ninejp-webinar__btn:hover { background: #fff; }

/* NEXT WEBINAR: 白ボーダー上線は見出しの上（.next-webinar-block が見出しごと包む） */
.wp-block-post-content .ninejp-nw__block { border-top: 1px solid #fff; padding-top: 90px; margin-top: 0; }
.wp-block-post-content .ninejp-nw__title { margin: 24px 0 40px; font-size: 89px; font-weight: 700; letter-spacing: 3.52px; line-height: 1; }
.wp-block-post-content .ninejp-nw__title span { display: block; font-size: 37px; font-weight: 700; letter-spacing: normal; line-height: 1.2; }
.wp-block-post-content .ninejp-nw__pubdate-en {
	margin: 0;
	font-family: var(--wp--preset--font-family--lato, "Lato", sans-serif);
	font-size: 50px; font-weight: 700; letter-spacing: 2.4px; color: #a1a1a1; line-height: 1.5;
}
.wp-block-post-content .ninejp-nw__date { margin: 8px 0 0; font-size: 26px; font-weight: 700; letter-spacing: 8.8px; }

/* 定義リスト行（ラベル | 内容）共通 */
.wp-block-post-content .ninejp-def__row { margin-bottom: 0; padding: 48px 0; }
.wp-block-post-content .ninejp-def__row--border { border-bottom: 1px solid rgba(0, 0, 0, 0.25); }
.wp-block-post-content .ninejp-def__label-en {
	margin: 0;
	font-family: var(--wp--preset--font-family--lato, "Lato", sans-serif);
	font-size: 82px; font-weight: 700; letter-spacing: 3.2px; line-height: 1.5;
}
.wp-block-post-content .ninejp-def__label-ja { margin: 0 0 16px; font-weight: 500; font-size: 22px; letter-spacing: 15.2px; }
/* 本文 p は Bootstrap 既定と同じ行間 1.5（1.9 だと prod より間延びする） */
.wp-block-post-content .ninejp-def__p { margin: 0 0 16px; font-size: 20px; line-height: 1.5; }

/* GUEST / THEME: 明るいグラデ背景・黒文字（PROGRAM/ENTRY は prod 非表示）
   prod: GUEST 行 = py-5 + mb-5 + border-bottom ／ THEME 行 = pt-5 のみ */
.wp-block-post-content .ninejp-guest { background: linear-gradient(90deg, #cfcfcf, #fff); color: #000; }
.wp-block-post-content .ninejp-guest .ninejp-def__row--border { margin-bottom: 48px; }
.wp-block-post-content .ninejp-guest .ninejp-def__row:last-child { padding-bottom: 0; }
/* ゲスト写真＋氏名/肩書の横並び（prod .d-flex.align-items-center.gap-3） */
.wp-block-post-content .ninejp-guest__media { gap: 16px; }
.wp-block-post-content .ninejp-guest__photo { margin: 0; flex-shrink: 0; }
.wp-block-post-content .ninejp-guest__photo img { max-width: 335px; height: auto; }
.wp-block-post-content .ninejp-guest__name { margin: 0; font-size: 21px; font-weight: 700; }
.wp-block-post-content .ninejp-guest__title { margin: 2px 0 0; font-size: 20px; font-weight: 700; }
.wp-block-post-content .ninejp-guest__theme { margin: 0 0 16px; font-size: 21px; font-weight: 700; }
/* EN 演題（2つ目の theme）は prod .mt-5 相当の上余白 */
.wp-block-post-content .ninejp-guest__theme:not(:first-child) { margin-top: 48px; }
/* ENTRY（申込・既定は dsHidden で非表示のデザイン資産）: リード文 21px 太字＋白カード */
.wp-block-post-content .ninejp-entry__lead { margin: 0 0 24px; font-size: 21px; font-weight: 700; line-height: 1.5; }
.wp-block-post-content .ninejp-entry__card {
	background: #fff;
	color: #000;
	padding: 32px 24px;
	border-radius: 16px;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.18);
}

/* Previous Webinars: 濃灰・登壇者プロフィール（写真 float-left） */
.wp-block-post-content .ninejp-prev { background: #222; color: #fff; }
.wp-block-post-content .ninejp-heading-sm {
	margin: 72px 0 8px; /* prod: 見出し行 pt-5(48) + h3 mt-4(24) */
	font-family: var(--wp--preset--font-family--lato, "Lato", sans-serif);
	font-size: 46px !important; font-weight: 700; /* 同上 */
	letter-spacing: 2.56px; line-height: 1.2;
	text-transform: uppercase; color: #a1a1a1;
}
/* 各登壇者 = 上 48px。画像左＋テキスト列右の flex（回り込みなし。
   エディタは段落をブロック単位で描画するため float だと front と食い違う） */
.wp-block-post-content .ninejp-prev__item { margin: 48px 0 0; gap: 24px; }
.wp-block-post-content .ninejp-prev__img { margin: 0; flex-shrink: 0; }
.wp-block-post-content .ninejp-prev__img img { max-width: 206px; height: auto; }
.wp-block-post-content .ninejp-prev__body { flex: 1; min-width: 0; }
.wp-block-post-content .ninejp-prev__p { margin: 0; font-size: 16px; line-height: 1.5; }
/* バイオ内のインラインリンク（ERA 等）: prod は白＋下線 */
.wp-block-post-content .ninejp-prev__p a { color: #fff; text-decoration: underline; }
/* Watch Archived Video: outline pill（下矢印付き）・右寄せは core buttons の layout で */
.wp-block-post-content .ninejp-prev__btn { margin: 16px 0 0; }
.wp-block-post-content .ninejp-prev__btn .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: transparent;
	color: #fff;
	border: 1px solid #fff;
	border-radius: 999px;
	padding: 6px 24px;
	font-size: 16px;
	transition: color 0.2s ease, background-color 0.2s ease;
}
.wp-block-post-content .ninejp-prev__btn .wp-block-button__link::after {
	content: "";
	width: 14px;
	height: 14px;
	background: url(../../ninejp/images/icon_up_arrow.svg) no-repeat center / contain;
	transform: rotate(180deg);
	transition: filter 0.2s ease;
}
.wp-block-post-content .ninejp-prev__btn .wp-block-button__link:hover { background: #fff; color: #000; }
.wp-block-post-content .ninejp-prev__btn .wp-block-button__link:hover::after { filter: brightness(0); }

/* PreWebinars と ARCHIVE の間の帯: #222 の帯に白25% の罫線（位置は内箱が決める） */
.wp-block-post-content .ninejp-sep { margin: 0; padding: 0; background: #222; }
.wp-block-post-content .ninejp-sep .ninejp-sep__line {
	margin: 0;
	border: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.25);
	height: 0;
	opacity: 1;
}

/* ARCHIVE section: 見出し(col42)｜説明(col58) ＋ 2カラムのカードグリッド */
.wp-block-post-content .ninejp-archive { background: #222; color: #fff; }
.wp-block-post-content .ninejp-archive__head { margin-bottom: 48px; }
.wp-block-post-content .ninejp-archive__desc { margin: 24px 0; font-size: 21px; font-weight: 400; line-height: 1.5; }
.wp-block-post-content .ninejp-archive__grid { gap: 24px; }

/* tablet 以下（≤991.98）: prod は section--intro の重ねが -96px に深くなる。
   また prod の 2カラム（col-lg-*）は 992px 未満で縦積みになる — core/columns の既定
   （781.98px）より早い。ラベル|内容の行と ARCHIVE ヘッダを prod と同じ幅で積むことで、
   82px 見出し（ARCHIVE / GUEST 等）がタブレット帯域で折り返さない。 */
@media (max-width: 991.98px) {
	.wp-block-post-content .ninejp-intro { margin-top: -96px; }
	.wp-block-post-content .ninejp-def__row,
	.wp-block-post-content .ninejp-archive__head { flex-wrap: wrap !important; }
	.wp-block-post-content .ninejp-def__row > .wp-block-column,
	.wp-block-post-content .ninejp-archive__head > .wp-block-column { flex-basis: 100% !important; }
}
/* SP（≤767.98）: 本番 LP のブレークポイント定義（Bootstrap col の SP 段）に一致させる */
@media (max-width: 767.98px) {
	/* 縦 padding のみ。横ガターは内箱（.ninejp-container の 16px）が全幅共通で持つ */
	.wp-block-post-content .ninejp-intro,
	.wp-block-post-content .ninejp-nw,
	.wp-block-post-content .ninejp-prev,
	.wp-block-post-content .ninejp-archive { padding: 40px 0; }
	.wp-block-post-content .ninejp-intro { margin-top: -64px; padding-top: 0; padding-bottom: 0; } /* prod: -4rem（tablet の -96px を上書き） */
	.wp-block-post-content .ninejp-nw { padding-top: 95px; }
	.wp-block-post-content .ninejp-guest { padding: 24px 0; } /* prod .guest-block（縦のみ） */
	/* --- SP の見出し/ラベル体系（一貫ルール） ---
	   サイズ: EN 大ラベルは vw（9〜10vw）、JA サブラベルは 16px、データ行は 16px。
	   字間: px のままだと縮小時に相対的に開きすぎるため、PC の比率を em で引き継ぐ
	   （例: heading-en 4.8px/82px ≈ 0.06em）。JA は PC 比 0.7em が SP では間延びする
	   ため 0.5em に統一。 */
	/* PC の大小関係（title 89 > heading = label 82 > pubdate 50 > span 37 > date 26）を
	   SP でも保つ: title 9.6vw > heading/label 9vw > pubdate 5.5vw > span 5vw > date 16px */
	.wp-block-post-content .ninejp-heading-en { font-size: 9vw !important; letter-spacing: 0.06em; }
	.wp-block-post-content .ninejp-def__label-en { font-size: 9vw; letter-spacing: 0.04em; }
	.wp-block-post-content .ninejp-nw__title { font-size: 9.6vw; }
	.wp-block-post-content .ninejp-nw__title span { font-size: 5vw; }
	.wp-block-post-content .ninejp-nw__pubdate-en { font-size: 5.5vw; letter-spacing: 0.05em; }
	.wp-block-post-content .ninejp-nw__date { font-size: 16px; letter-spacing: 0.34em; }
	.wp-block-post-content .ninejp-heading-ja,
	.wp-block-post-content .ninejp-def__label-ja { font-size: 16px; letter-spacing: 0.5em; }
	.wp-block-post-content .ninejp-intro__p { font-size: 14px; }  /* .section--intro p = 14px */
	.wp-block-post-content .ninejp-def__p { font-size: 16px; }     /* .fs-20 → 16px */
	/* MOST RECENT の本文・演題は周囲の intro 本文（14px）と揃える（ユーザー指定。
	   本番の .fs-22→20px は周囲とサイズが揃わないため踏襲しない） */
	.wp-block-post-content .ninejp-mr__theme,
	.wp-block-post-content .ninejp-mr__p { font-size: 14px; }
	/* ENTRY のリード文は隣接する THEME 本文（.ninejp-def__p 16px）と揃える */
	.wp-block-post-content .ninejp-entry__lead { font-size: 16px; }
	.wp-block-post-content .ninejp-archive__desc { font-size: 16px; } /* 本文系と統一（ユーザー指定） */
	.wp-block-post-content .ninejp-guest__name { font-size: 22px; }
	.wp-block-post-content .ninejp-guest__title { font-size: 18px; }
	/* 写真はコンテナの45%（figure が画像の自然幅で溢れないよう figure 側を絞る） */
	.wp-block-post-content .ninejp-guest__photo { max-width: 45%; }
	.wp-block-post-content .ninejp-guest__photo img { max-width: 100%; }
	.wp-block-post-content .ninejp-guest__media { flex-wrap: wrap; }
	.wp-block-post-content .ninejp-prev__item { flex-direction: column; } /* 画像の下に文字 */
}

/* ===== 記事本文スタイル（content.css）の打ち消し =====
   content.css は本文全域（.wp-block-post-content）に効く。このファイルが
   content.css の後に読み込まれる前提（front: フック優先度 100 / editor: 登録順）で、
   記事用の設定を LP 基準に戻す。content.css の見出し font-size は !important の
   ため、LP 側の見出しサイズ宣言にも !important を付けている。 */
.lp-ninejp { word-break: normal; overflow-wrap: normal; }
/* 記事見出しの飾り（h2 下線 / h3 左罫 / h4 帯）と余白を持ち込まない。
   実値は各クラス定義（.ninejp-heading-* 等、より高い詳細度）が上書きする */
.lp-ninejp :is(h2, h3, h4) { margin: 0; padding: 0; border: 0; background: none; }
/* 記事本文の行間（1.88）を持ち込まない（LP 基準 1.5 を継承） */
.lp-ninejp p { line-height: inherit; }
/* 記事用のメディア収縮を持ち込まない（LP は各ブロックが寸法を持つ） */
.lp-ninejp :is(img, video, iframe, embed, object) { max-width: none; }
