/*
Theme Name: AFFINGER7 Child
Template: affinger
Description: AFFINGER7 対応
Version: 20261004.1
*/

/*media Queries スマートフォンとタブレットサイズ（959px以下）で適応したいCSS - スマホ・タブレット
---------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 959px) {


	/*-- ここまで --*/
}

/*media Queries タブレットサイズ（600px～959px）のみで適応したいCSS -タブレットのみ
---------------------------------------------------------------------------------------------------*/
@media only screen and (min-width: 600px) and (max-width: 959px) {


	/*-- ここまで --*/
}

/*media Queries タブレット（600px）以上で適応したいCSS -タブレット・PC
---------------------------------------------------------------------------------------------------*/
@media only screen and (min-width: 600px) {


	/*-- ここまで --*/
}

/*media Queries PCサイズ（960px）以上で適応したいCSS - PCのみ
---------------------------------------------------------------------------------------------------*/
@media print, screen and (min-width: 960px) {


	/*-- ここまで --*/
}

/*media Queries スマホサイズ（599px）以下で適応したいCSS - スマホのみ
---------------------------------------------------------------------------------------------------*/
@media print, screen and (max-width: 599px) {


	/*-- ここまで --*/
}


/* ==================================================================================================
   KARATSU PRESENTATION LAYER  (namespace: .kr-)
   Authority: 04_site-profiles/karatsu-kyotei.needful.jp/CHILD_THEME_DESIGN.md
   Task     : KARATSU-WP-CHILD-THEME-MVP-IMPLEMENT-01

   PRESENTATION ONLY.
   ここには Business Logic / 状態判定 / 比較処理を置かない。
   状態は上流Contractで解決済みの class / text を受け取って描画するだけ。
   AFFINGER親テーマの既存classは改造しない（.kr-* の内側でのみscopeする）。
================================================================================================== */

:root {
	/* ink / line */
	--kr-ink:            #23282d;
	--kr-ink-muted:      #52585e;
	--kr-line:           #d5dbe1;
	--kr-line-strong:    #94a3b1;

	/* section identity (edge = ラベル帯 / 左罫線) */
	--kr-fact-bg:        #f3f7fa;
	--kr-fact-edge:      #3d5a73;
	--kr-analysis-bg:    #fbf7f0;
	--kr-analysis-edge:  #8a5a1e;
	--kr-next-bg:        #f2f8f3;
	--kr-next-edge:      #3f6b45;
	--kr-result-bg:      #eef1f6;
	--kr-result-edge:    #2f3d55;
	--kr-verify-bg:      #f4f5f8;
	--kr-verify-edge:    #4a4f66;
	--kr-human-bg:       #fbf3f6;
	--kr-human-edge:     #7a3f56;
	--kr-corr-bg:        #fdf8ec;
	--kr-corr-edge:      #8a6110;

	/* anchor offset: 実測値で確定する。推測値を置かない。
	   現行AFFINGER設定では固定ヘッダーなし（実測 occlusion = 0px）のため、
	   見出しが上端に貼り付かないための余白のみを持たせている。
	   固定ヘッダーを有効化した場合は再実測して更新すること。 */
	--kr-anchor-offset:  12px;
}

/* --------------------------------------------------------------------------
   0. Anchor targets
   -------------------------------------------------------------------------- */
.kr-section,
.kr-phase-ledger,
.kr-result-boundary {
	scroll-margin-top: var(--kr-anchor-offset);
}

/* --------------------------------------------------------------------------
   1. DAY HEADER
   -------------------------------------------------------------------------- */
.kr-day-header {
	margin: 0 0 1.6em;
	padding: 0 0 1em;
	/* AFFINGERは素の header 要素に text-align:center を当てているため明示的に戻す
	   （実測: HEADER自身の computed text-align が center、親は start） */
	text-align: left;
	border-bottom: 3px solid var(--kr-line-strong);
}

.kr-day-header__meta {
	margin: 0 0 .3em;
	font-size: .9em;
	color: var(--kr-ink-muted);
}

/* 記録状況 / 最終更新（「現在のフェーズ」表現は使わない） */
.kr-record-status,
.kr-last-updated {
	margin: 0 0 .25em;
	font-size: .95em;
	line-height: 1.6;
}

.kr-record-status__label,
.kr-last-updated__label {
	display: inline-block;
	min-width: 6em;
	font-weight: 700;
	color: var(--kr-ink-muted);
}

.kr-last-updated {
	color: var(--kr-ink-muted);
	font-size: .88em;
}

/* 訂正あり（Correction Logが非空のときだけmarkup側で出す。Themeは判定しない） */
.kr-correction-indicator {
	display: inline-block;
	margin: .6em 0 0;
	padding: .3em .8em .3em .7em;
	font-size: .88em;
	font-weight: 700;
	line-height: 1.5;
	color: #6b4a0c;
	background: #fdf3dc;
	border: 2px solid var(--kr-corr-edge);
	border-radius: 3px;
}

.kr-correction-indicator::before {
	content: "\203B";	/* U+203B  ※ */
	margin-right: .4em;
	font-weight: 700;
}

.kr-correction-indicator a {
	color: inherit;
	text-decoration: underline;
}

/* --------------------------------------------------------------------------
   2. DASHBOARD CTA
   Header側は控えめ（Phase Ledgerをファーストビューから押し出さない）
   Footer側は通常CTA（AFFINGER [st-mcbutton] をそのまま入れてよい）
   -------------------------------------------------------------------------- */
.kr-dashboard-cta {
	margin: 1em 0 0;
}

.kr-dashboard-cta--header {
	margin: .7em 0 0;
	font-size: .88em;
	line-height: 1.5;
}

.kr-dashboard-cta--header a {
	display: inline-block;
	padding: .15em 0;
	color: var(--kr-fact-edge);
	text-decoration: underline;
}

.kr-dashboard-cta--header a::after {
	content: "\2192";	/* U+2192  → */
	margin-left: .4em;
	text-decoration: none;
}

.kr-dashboard-cta--footer {
	margin: 2.4em 0 0;
	padding-top: 1.4em;
	border-top: 1px solid var(--kr-line);
}

/* --------------------------------------------------------------------------
   3. PHASE LEDGER
   AFFINGER [st-timeline] の内部DOMには依存しない（§7）。
   タイムラインの視覚言語だけ .kr-* 側で再現する。
   -------------------------------------------------------------------------- */
.kr-phase-ledger {
	margin: 0 0 1.8em;
	padding: 1em 1.1em 1.2em;
	background: #fafbfc;
	border: 1px solid var(--kr-line);
	border-radius: 3px;
}

.kr-phase-ledger__caption {
	margin: 0 0 .8em;
	font-size: .95em;
	font-weight: 700;
	color: var(--kr-ink);
	letter-spacing: .04em;
}

.kr-phase-ledger__group {
	margin: 0;
	padding: 0;
	list-style: none;
}

.post .kr-phase-ledger__group {
	margin: 0;
	padding: 0;
}

.kr-phase-ledger__item {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .4em .6em;
	margin: 0;
	padding: .55em 0 .55em 1.5em;
	list-style: none;
	border-left: 2px solid var(--kr-line-strong);
}

.post .kr-phase-ledger__item {
	list-style: none;
}

/* timeline node */
.kr-phase-ledger__item::before {
	content: "";
	position: absolute;
	top: 1.05em;
	left: -6px;
	width: 10px;
	height: 10px;
	background: #fff;
	border: 2px solid var(--kr-line-strong);
	border-radius: 50%;
}

/* Prediction と Result以降のあいだの区切り（§17） */
.kr-phase-ledger__divider {
	position: relative;
	margin: .2em 0 .2em;
	padding: .5em 0 .5em 1.5em;
	font-size: .82em;
	font-weight: 700;
	color: var(--kr-result-edge);
	letter-spacing: .06em;
	border-left: 2px solid var(--kr-line-strong);
}

.kr-phase-ledger__divider::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 1.5em;
	right: 0;
	height: 0;
	border-top: 2px dashed var(--kr-line-strong);
	transform: translateY(-50%);
	z-index: 0;
}

.kr-phase-ledger__divider span {
	position: relative;
	z-index: 1;
	padding-right: .8em;
	background: #fafbfc;
}

/* phase name: link / non-link は静的HTML側で決まる（Themeは判定しない §24） */
.kr-phase-name {
	flex: 0 0 100%;
	font-weight: 700;
	font-size: .98em;
	line-height: 1.5;
}

a.kr-phase-name {
	color: var(--kr-fact-edge);
	text-decoration: underline;	/* 色だけでリンクを示さない（§23） */
}

a.kr-phase-name::after {
	content: "\25BC";	/* U+25BC  ▼ */
	margin-left: .4em;
	font-size: .72em;
	text-decoration: none;
	vertical-align: .1em;
}

span.kr-phase-name {
	color: var(--kr-ink-muted);
	text-decoration: none;
}

.kr-phase-marks {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .35em .4em;
}

@media print, screen and (min-width: 600px) {
	.kr-phase-name {
		flex: 0 0 9em;
	}
}

/* --------------------------------------------------------------------------
   4. PHASE STATUS  （未到達 / 記録済み / 結果待ち / 利用不可）
   色だけに依存しない: 文字 + 記号 + 罫線スタイルで区別する（§8）
   -------------------------------------------------------------------------- */
.kr-phase-status {
	display: inline-flex;
	align-items: center;
	padding: .2em .6em;
	font-size: .8em;
	font-weight: 700;
	line-height: 1.5;
	white-space: nowrap;
	border-width: 1px;
	border-radius: 3px;
}

.kr-phase-status::before {
	margin-right: .35em;
	font-size: 1em;
	line-height: 1;
}

.kr-phase-status--not-reached {
	color: #4a545c;
	background: #f5f6f7;
	border-style: dashed;
	border-color: #8a949d;
}

.kr-phase-status--not-reached::before {
	content: "\25CB";	/* U+25CB  ○ */
}

.kr-phase-status--recorded {
	color: #2c4a31;
	background: #eef4ee;
	border-style: solid;
	border-color: var(--kr-next-edge);
}

.kr-phase-status--recorded::before {
	content: "\25CF";	/* U+25CF  ● */
}

.kr-phase-status--waiting {
	color: #6b4a0c;
	background: #fdf6e8;
	border-style: dotted;
	border-color: var(--kr-corr-edge);
}

.kr-phase-status--waiting::before {
	content: "\25B3";	/* U+25B3  △ */
}

.kr-phase-status--unavailable {
	color: #5a6066;
	background: #f2f2f3;
	border-style: solid;
	border-color: #9aa0a6;
}

.kr-phase-status--unavailable::before {
	content: "\00D7";	/* U+00D7  × */
}

/* --------------------------------------------------------------------------
   5. PHASE DELTA  （変更あり / 変更なし / 比較対象なし）
   形: 角ばったchip + 左アクセントバー
   -------------------------------------------------------------------------- */
.kr-phase-delta {
	display: inline-flex;
	align-items: center;
	padding: .2em .6em .2em .5em;
	font-size: .8em;
	font-weight: 700;
	line-height: 1.5;
	white-space: nowrap;
	border-radius: 0;
	border-left-width: 4px;
	border-left-style: solid;
}

.kr-phase-delta::before {
	margin-right: .35em;
	font-size: 1em;
	line-height: 1;
}

.kr-phase-delta--changed {
	color: #7a2a2a;
	background: #fdf3f3;
	border-left-color: #a33a3a;
}

.kr-phase-delta--changed::before {
	content: "\25C6";	/* U+25C6  ◆ */
}

.kr-phase-delta--no-change {
	color: #2f4457;
	background: var(--kr-fact-bg);
	border-left-color: var(--kr-fact-edge);
}

.kr-phase-delta--no-change::before {
	content: "\25C7";	/* U+25C7  ◇ */
}

.kr-phase-delta--not-comparable {
	color: #52585e;
	background: #f4f4f5;
	border-left-color: #8a9099;
}

.kr-phase-delta--not-comparable::before {
	content: "\2015";	/* U+2015  ― */
}

/* --------------------------------------------------------------------------
   6. ADDITIONAL EVIDENCE  （追加情報あり / なし）
   「追加Evidenceあり ≠ Prediction変更あり」（§9・§10）。
   Deltaとは別の形（丸pill + 点線）で、取り違えを視覚的に防ぐ。
   -------------------------------------------------------------------------- */
.kr-evidence-state {
	display: inline-flex;
	align-items: center;
	padding: .2em .75em;
	font-size: .8em;
	font-weight: 700;
	line-height: 1.5;
	white-space: nowrap;
	background: #fff;
	border: 1px dotted;
	border-radius: 999px;
}

.kr-evidence-state::before {
	margin-right: .35em;
	font-weight: 700;
	line-height: 1;
}

.kr-evidence-state--present {
	color: #2c4a31;
	border-color: var(--kr-next-edge);
}

.kr-evidence-state--present::before {
	content: "+";
}

.kr-evidence-state--absent {
	color: #52585e;
	border-color: #8a9099;
}

.kr-evidence-state--absent::before {
	content: "\2212";	/* U+2212  − */
}

/* --------------------------------------------------------------------------
   7. RESULT BOUNDARY
   「公式結果」がPredictionの続きに見えないようにする（§17）
   -------------------------------------------------------------------------- */
.kr-result-boundary {
	margin: 2.6em 0 1.8em;
	padding: 0;
	text-align: center;
	border-top: 4px solid var(--kr-result-edge);
}

.kr-result-boundary span {
	display: inline-block;
	margin-top: -1px;
	padding: .45em 1.4em;
	font-size: .88em;
	font-weight: 700;
	line-height: 1.5;
	color: #fff;
	background: var(--kr-result-edge);
	letter-spacing: .08em;
}

/* --------------------------------------------------------------------------
   8. SECTION BOUNDARY
   見出しだけで区別しない。本文全体に連続したVisual Boundaryを持たせる（§13）
   -------------------------------------------------------------------------- */
.kr-section {
	margin: 0 0 1.6em;
	padding: 1em 1.1em 1.2em;
	border-left: 6px solid var(--kr-line-strong);
	border-radius: 0 3px 3px 0;
	background: #f7f8f9;
}

/* ラベル帯 = セクション見出し。AFFINGERの見出し装飾はここでは無効化する。

   [重要] 読み込み順の実測:
     16: affinger/style.css  →  17: affinger-child/style.css
     →  18: uploads/affinger-cache/st-themecss-(pc|sp).css   ← 子テーマより後
   st-themecss 側の
     .post .entry-content h2:not(.st-css-no2)          (詳細度 0,3,1)
     h2:not(...):not(.st-css-no) { padding-left:0 !important }
   が子テーマを上書きするため、
     .post .entry-content .kr-section > .kr-section__label  (詳細度 0,4,0)
   まで詳細度を上げ、padding だけ !important で打ち消している。
   AFFINGER側のclassは書き換えていない（.kr-* 配下でscopeしているだけ）。 */
.post .entry-content .kr-section > .kr-section__label,
.post .kr-section > .kr-section__label,
.kr-section > .kr-section__label {
	margin: -1em -1.1em 1em;
	padding: .5em 1.1em !important;
	font-size: 1em;
	font-weight: 700;
	line-height: 1.5;
	color: #fff;
	background: var(--kr-line-strong);
	border: 0;
	border-radius: 0;
	letter-spacing: .06em;
	text-align: left;
}

.post .entry-content .kr-section > .kr-section__label::before,
.post .entry-content .kr-section > .kr-section__label::after,
.post .kr-section > .kr-section__label::before,
.post .kr-section > .kr-section__label::after,
.kr-section > .kr-section__label::before,
.kr-section > .kr-section__label::after {
	content: none;
	display: none;
}

.kr-section > *:last-child {
	margin-bottom: 0;
}

/* セクション別 identity（色 + 左罫線の太さ/スタイルで区別する） */
.kr-fact {
	background: var(--kr-fact-bg);
	border-left-color: var(--kr-fact-edge);
	border-left-style: solid;
}

.post .entry-content .kr-fact > .kr-section__label,
.kr-fact > .kr-section__label,
.post .kr-fact > .kr-section__label {
	background: var(--kr-fact-edge);
}

.kr-analysis {
	background: var(--kr-analysis-bg);
	border-left-color: var(--kr-analysis-edge);
	border-left-style: double;
	border-left-width: 8px;
}

.post .entry-content .kr-analysis > .kr-section__label,
.kr-analysis > .kr-section__label,
.post .kr-analysis > .kr-section__label {
	background: var(--kr-analysis-edge);
}

.kr-next-improvement {
	background: var(--kr-next-bg);
	border-left-color: var(--kr-next-edge);
	border-left-style: dashed;
}

.post .entry-content .kr-next-improvement > .kr-section__label,
.kr-next-improvement > .kr-section__label,
.post .kr-next-improvement > .kr-section__label {
	background: var(--kr-next-edge);
}

.kr-result {
	background: var(--kr-result-bg);
	border-left-color: var(--kr-result-edge);
	border-left-style: solid;
	border-left-width: 8px;
}

.post .entry-content .kr-result > .kr-section__label,
.kr-result > .kr-section__label,
.post .kr-result > .kr-section__label {
	background: var(--kr-result-edge);
}

.kr-verification {
	background: var(--kr-verify-bg);
	border-left-color: var(--kr-verify-edge);
	border-left-style: solid;
}

.post .entry-content .kr-verification > .kr-section__label,
.kr-verification > .kr-section__label,
.post .kr-verification > .kr-section__label {
	background: var(--kr-verify-edge);
	font-feature-settings: "palt";
}

.kr-human-review {
	background: var(--kr-human-bg);
	border-left-color: var(--kr-human-edge);
	border-left-style: solid;
}

.post .entry-content .kr-human-review > .kr-section__label,
.kr-human-review > .kr-section__label,
.post .kr-human-review > .kr-section__label {
	background: var(--kr-human-edge);
}

.kr-correction-log {
	background: var(--kr-corr-bg);
	border-left-color: var(--kr-corr-edge);
	border-left-style: dotted;
}

.post .entry-content .kr-correction-log > .kr-section__label,
.kr-correction-log > .kr-section__label,
.post .kr-correction-log > .kr-section__label {
	background: var(--kr-corr-edge);
}

/* --------------------------------------------------------------------------
   9. HIT / MISS
   [判定記号] + [判定対象] + [判定結果]。○×だけにしない（§17・§23）
   記号は AFFINGER [st-maru] / [st-x] をそのまま入れてよい（aria-hidden の装飾）
   -------------------------------------------------------------------------- */
.kr-hitmiss {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: .2em .5em;
	margin: 0 0 .5em;
	padding: .45em .7em;
	font-size: .95em;
	line-height: 1.6;
	background: #fff;
	border: 1px solid var(--kr-line);
	border-radius: 3px;
}

.kr-hitmiss__mark {
	flex: 0 0 auto;
	font-weight: 700;
	font-size: 1.05em;
}

.kr-hitmiss__target {
	flex: 1 1 auto;
}

.kr-hitmiss__verdict {
	flex: 0 0 auto;
	padding: .1em .55em;
	font-size: .85em;
	font-weight: 700;
	border-radius: 3px;
}

.kr-hitmiss--hit {
	border-color: var(--kr-next-edge);
}

.kr-hitmiss--hit .kr-hitmiss__mark,
.kr-hitmiss--hit .kr-hitmiss__verdict {
	color: #2c4a31;
}

.kr-hitmiss--hit .kr-hitmiss__verdict {
	background: #eef4ee;
	border: 1px solid var(--kr-next-edge);
}

.kr-hitmiss--miss {
	border-color: #a33a3a;
}

.kr-hitmiss--miss .kr-hitmiss__mark,
.kr-hitmiss--miss .kr-hitmiss__verdict {
	color: #7a2a2a;
}

.kr-hitmiss--miss .kr-hitmiss__verdict {
	background: #fdf3f3;
	border: 1px solid #a33a3a;
}

/* --------------------------------------------------------------------------
   10. BOAT IDENTIFIER  (1-6号艇)
   Primary  : 艇番数字
   Supplement: 色（Visual Weightは数字より弱く保つ）
   HTML text として「N号艇」を必ず保持する（§19・§20）
   -------------------------------------------------------------------------- */
.kr-boat {
	display: inline-flex;
	align-items: center;
	gap: .4em;
	vertical-align: middle;
	line-height: 1.4;
	white-space: nowrap;
}

.kr-boat__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 1.75em;
	height: 1.75em;
	font-size: 1em;
	font-weight: 700;
	font-family: Arial, Helvetica, sans-serif;
	line-height: 1;
	border-width: 2px;
	border-style: solid;
	border-radius: 3px;
}

.kr-boat__label {
	font-size: .92em;
	color: var(--kr-ink);
}

/* 密なUI（表など）でラベルを視覚的に隠す。HTML textは残す */
.kr-boat--compact .kr-boat__label {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* BOAT RACE 標準艇色。意味は変えない。
   コントラストは 数字文字色 vs 背景色 で 4.5:1 以上を確保している。 */
.kr-boat--1 .kr-boat__num {	/* 白 */
	color: #1a1a1a;
	background: #ffffff;
	border-color: #767676;	/* 白背景は境界線必須（§19） */
}

.kr-boat--2 .kr-boat__num {	/* 黒 */
	color: #ffffff;
	background: #23262b;
	border-color: #23262b;
}

.kr-boat--3 .kr-boat__num {	/* 赤 */
	color: #ffffff;
	background: #c8102e;
	border-color: #c8102e;
}

.kr-boat--4 .kr-boat__num {	/* 青 */
	color: #ffffff;
	background: #0057b8;
	border-color: #0057b8;
}

.kr-boat--5 .kr-boat__num {	/* 黄 */
	color: #1a1a1a;	/* 黄背景は濃色文字（§19） */
	background: #f5d000;
	border-color: #9c8400;	/* 白ページ上で境界を 3:1 以上にするため濃色 */
}

.kr-boat--6 .kr-boat__num {	/* 緑 */
	color: #ffffff;
	background: #00843d;
	border-color: #00843d;
}

/* --------------------------------------------------------------------------
   11. CORRECTION LOG
   -------------------------------------------------------------------------- */
.kr-correction-log__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.post .kr-correction-log__list {
	margin: 0;
	padding: 0;
}

.kr-correction-log__list > li {
	position: relative;
	margin: 0;
	padding: 0 0 .9em 1.4em;
	list-style: none;
	border-left: 2px solid var(--kr-corr-edge);
}

.kr-correction-log__list > li:last-child {
	padding-bottom: 0;
	border-left-color: transparent;
}

.kr-correction-log__list > li::before {
	content: "";
	position: absolute;
	top: .45em;
	left: -6px;
	width: 10px;
	height: 10px;
	background: #fff;
	border: 2px solid var(--kr-corr-edge);
	border-radius: 50%;
}

.kr-correction-log__time {
	display: block;
	font-size: .85em;
	font-weight: 700;
	color: #6b4a0c;
}

.kr-correction-log__body {
	display: block;
	font-size: .95em;
	line-height: 1.7;
}

/* --------------------------------------------------------------------------
   12. SIX-BOAT TABLE
   ページ全体の横スクロールは禁止。table containerのみ overflow-x。
   右側に続きがあることを CSS のみ（JS不要）で示す。
   -------------------------------------------------------------------------- */
.kr-table-scroll__hint {
	margin: 0 0 .35em;
	font-size: .82em;
	font-weight: 700;
	color: var(--kr-ink-muted);
}

.kr-table-scroll__hint::before {
	content: "\2194";	/* U+2194  ↔ */
	margin-right: .35em;
}

.kr-table-scroll {
	max-width: 100%;
	margin: 0 0 1em;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;

	/* 端フェード（peek）: local = 中身と一緒に動く白マスク,
	   scroll = 枠に固定される影。両端に続きがあるときだけ影が見える。 */
	background-image:
		linear-gradient(to right, #ffffff 40%, rgba(255, 255, 255, 0)),
		linear-gradient(to left,  #ffffff 40%, rgba(255, 255, 255, 0)),
		linear-gradient(to right, rgba(35, 40, 45, .20), rgba(35, 40, 45, 0)),
		linear-gradient(to left,  rgba(35, 40, 45, .20), rgba(35, 40, 45, 0));
	background-position: left center, right center, left center, right center;
	background-size: 32px 100%, 32px 100%, 16px 100%, 16px 100%;
	background-repeat: no-repeat;
	background-attachment: local, local, scroll, scroll;
}

/* AFFINGERの .post table { max-width:100% } を解除しないと
   コンテナ内に押し込まれて overflow が発生しない */
.kr-table-scroll table,
.post .kr-table-scroll table {
	width: auto;
	min-width: 100%;
	max-width: none;
	margin-bottom: 0;
	background: transparent;
}

.kr-table-scroll th,
.kr-table-scroll td,
.post .kr-table-scroll th,
.post .kr-table-scroll td {
	white-space: nowrap;
}

/* 第一列 sticky。
   AFFINGER は thead th/td に position:sticky（top指定なし = 縦には効かない）を
   全体適用済み。ここでは left のみ足すので競合しない。
   sticky セルは不透明背景が必須（下の内容が透ける）。 */
.kr-table-scroll tbody th,
.post .kr-table-scroll tbody th {
	position: -webkit-sticky;
	position: sticky;
	left: 0;
	z-index: 2;
	background: #ffffff;
	box-shadow: 1px 0 0 0 var(--kr-line);
}

.kr-table-scroll thead th:first-child,
.post .kr-table-scroll thead th:first-child {
	position: -webkit-sticky;
	position: sticky;
	left: 0;
	z-index: 99998;	/* AFFINGER thead の z-index:99997 より上 */
	background: #eef1f6;
	box-shadow: 1px 0 0 0 var(--kr-line);
}

/* --------------------------------------------------------------------------
   13. BACK TO LEDGER
   各Section末尾の戻り導線（新JSなし・通常のHTML anchor）
   -------------------------------------------------------------------------- */
.kr-back-to-ledger {
	margin: 1.2em 0 0;
	padding-top: .7em;
	font-size: .85em;
	line-height: 1.5;
	text-align: right;
	border-top: 1px dotted var(--kr-line-strong);
}

.kr-back-to-ledger a {
	color: var(--kr-ink-muted);
	text-decoration: underline;
}

/* --------------------------------------------------------------------------
   14. Mobile 微調整
   -------------------------------------------------------------------------- */
@media print, screen and (max-width: 599px) {

	.kr-section {
		padding: .9em .85em 1em;
	}

	.post .kr-section > .kr-section__label,
	.kr-section > .kr-section__label {
		margin: -.9em -.85em .9em;
		padding: .5em .85em;
		font-size: .95em;
	}

	.kr-phase-ledger {
		padding: .9em .85em 1em;
	}

	.kr-record-status__label,
	.kr-last-updated__label {
		min-width: 0;
		margin-right: .4em;
	}

	.kr-result-boundary span {
		padding: .45em .9em;
		font-size: .82em;
		letter-spacing: .04em;
	}

	/*-- ここまで --*/
}


/* ==================================================================================================
   KARATSU HOME / LP  (namespace: .krh-)
   Task     : KARATSU-WP-HOME-LP-IMPLEMENTATION-01
   Template : AFFINGER既存「白紙ノート」(page07.php / #wrapper.lp.colum1) を再利用

   PRESENTATION ONLY.
   既存 :root の --kr-* トークンをそのまま再利用する（新しいDesign Systemを作らない）。
   AFFINGER親テーマのclassは改造せず、.krh-* の内側でのみscopeする。
   page07は .entry-content でラップしないため、ここでは .post 直下を前提にする。
================================================================================================== */

.krh-home {
	max-width: 860px;
	margin: 0 auto;
	padding: 0 4px 8px;
	color: var(--kr-ink);
	line-height: 1.75;
}

.krh-home * {
	box-sizing: border-box;
}

/* --- サイト識別（白紙ノートはヘッダーが空のため、本文側で最低限の識別を持たせる） --- */
.krh-ident {
	margin: 0 0 1.4em;
	padding: 0 0 .7em;
	border-bottom: 1px solid var(--kr-line);
	font-size: .85em;
	color: var(--kr-ink-muted);
	letter-spacing: .04em;
}

/* --- HERO --- */
.krh-hero {
	margin: 0 0 2.2em;
}

.krh-hero__lead {
	margin: 0 0 1.2em;
	font-size: 1.02em;
}

.krh-hero__points {
	margin: 0 0 1.4em;
	padding: 1em 1.1em;
	list-style: none;
	background: var(--kr-fact-bg);
	border-left: 4px solid var(--kr-fact-edge);
}

.krh-hero__points li {
	margin: 0 0 .45em;
	padding-left: 1.1em;
	position: relative;
	font-size: .96em;
}

.krh-hero__points li:last-child {
	margin-bottom: 0;
}

.krh-hero__points li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .62em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--kr-fact-edge);
}

/* --- セクション共通 --- */
.krh-section {
	margin: 0 0 2.4em;
	scroll-margin-top: var(--kr-anchor-offset);
}

.post .krh-section > .krh-section__label {
	margin: 0 0 .9em;
	padding: 0 0 .45em;
	font-size: 1.18em;
	font-weight: 700;
	line-height: 1.45;
	color: var(--kr-ink);
	background: none;
	border: 0;
	border-bottom: 2px solid var(--kr-line-strong);
}

.post .krh-section > .krh-section__label::before,
.post .krh-section > .krh-section__label::after {
	content: none;
}

.krh-section__note {
	margin: .8em 0 0;
	font-size: .88em;
	color: var(--kr-ink-muted);
}

/* --- CTA（AFFINGER既存 st-mcbtn-box / st-mybtn を再利用し、余白だけ調整） --- */
.krh-actions {
	margin: 1.2em 0 0;
}

.krh-actions .st-mcbtn-box {
	margin: 0 0 .7em;
}

.krh-actions .st-mcbtn-box:last-child {
	margin-bottom: 0;
}

.krh-actions--sub {
	margin-top: .9em;
	font-size: .93em;
}

/* --- 最新DAY（注目カード） --- */
.post a.krh-featured {
	display: block;
	padding: 1.1em 1.2em;
	background: var(--kr-result-bg);
	border: 1px solid var(--kr-line);
	border-left: 5px solid var(--kr-result-edge);
	color: var(--kr-ink);
	text-decoration: none;
}

.post a.krh-featured:hover,
.post a.krh-featured:focus-visible {
	background: #e6eaf2;
}

.krh-featured__label {
	display: block;
	margin: 0 0 .35em;
	font-size: .78em;
	font-weight: 700;
	letter-spacing: .08em;
	color: var(--kr-result-edge);
}

.krh-featured__title {
	display: block;
	font-size: 1.06em;
	font-weight: 700;
	line-height: 1.55;
}

.krh-featured__go {
	display: block;
	margin: .6em 0 0;
	font-size: .9em;
	color: var(--kr-result-edge);
	text-decoration: underline;
}

/* --- DAY記事一覧 --- */
.krh-list {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--kr-line);
}

.krh-list__item {
	margin: 0;
	border-bottom: 1px solid var(--kr-line);
}

.post .krh-list__item > a {
	display: block;
	padding: .95em .2em;
	color: var(--kr-ink);
	text-decoration: none;
	line-height: 1.6;
}

.post .krh-list__item > a:hover,
.post .krh-list__item > a:focus-visible {
	color: var(--kr-fact-edge);
	text-decoration: underline;
}

.krh-badge {
	display: inline-block;
	margin: 0 0 0 .5em;
	padding: .05em .5em;
	font-size: .72em;
	font-weight: 700;
	vertical-align: middle;
	color: var(--kr-corr-edge);
	background: var(--kr-corr-bg);
	border: 1px solid var(--kr-corr-edge);
	border-radius: 3px;
}

.krh-empty {
	margin: 0;
	padding: 1em 1.1em;
	background: var(--kr-fact-bg);
	border: 1px dashed var(--kr-line-strong);
	color: var(--kr-ink-muted);
	font-size: .95em;
}

/* --- 使い方（3ステップ） --- */
.krh-steps {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: krh-step;
}

.krh-steps > li {
	position: relative;
	margin: 0 0 .9em;
	padding: .85em 1em .85em 3.1em;
	background: var(--kr-fact-bg);
	border-left: 4px solid var(--kr-fact-edge);
	counter-increment: krh-step;
}

.krh-steps > li:last-child {
	margin-bottom: 0;
}

.krh-steps > li::before {
	content: counter(krh-step);
	position: absolute;
	left: .9em;
	top: .9em;
	width: 1.6em;
	height: 1.6em;
	line-height: 1.6em;
	text-align: center;
	font-size: .85em;
	font-weight: 700;
	color: #fff;
	background: var(--kr-fact-edge);
	border-radius: 50%;
	font-variant-numeric: tabular-nums;
}

.krh-steps__title {
	display: block;
	font-weight: 700;
}

.krh-steps__desc {
	display: block;
	margin-top: .2em;
	font-size: .93em;
	color: var(--kr-ink-muted);
}

/* --- 方針・規約リンク --- */
.krh-links {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: .55em;
}

.post .krh-links > li > a {
	display: inline-block;
	padding: .5em .9em;
	font-size: .93em;
	color: var(--kr-ink);
	background: #fff;
	border: 1px solid var(--kr-line-strong);
	border-radius: 4px;
	text-decoration: none;
}

.post .krh-links > li > a:hover,
.post .krh-links > li > a:focus-visible {
	color: var(--kr-fact-edge);
	border-color: var(--kr-fact-edge);
}

/* --- フッター（白紙ノートはフッターが空のため本文側で締める） --- */
.krh-foot {
	margin: 2.6em 0 0;
	padding: 1.1em 0 0;
	border-top: 2px solid var(--kr-line-strong);
	font-size: .86em;
	color: var(--kr-ink-muted);
}

.krh-foot p {
	margin: 0 0 .5em;
}

.krh-foot p:last-child {
	margin-bottom: 0;
}

/* --------------------------------------------------------------------------
   スマホ（599px以下）— 375 / 390 / 430px を想定。横スクロールを作らない。
   -------------------------------------------------------------------------- */
@media print, screen and (max-width: 599px) {

	.krh-home {
		padding: 0 0 8px;
	}

	.post .krh-section > .krh-section__label {
		font-size: 1.1em;
	}

	.krh-hero__points {
		padding: .9em 1em;
	}

	.krh-steps > li {
		padding: .8em .9em .8em 2.9em;
	}

	.krh-links {
		gap: .5em;
	}

	.post .krh-links > li > a {
		padding: .55em .8em;
	}

	/* タップ領域を確保 */
	.post .krh-list__item > a {
		padding: 1em .2em;
	}

	/*-- ここまで --*/
}


/* ==================================================================================================
   KARATSU HOME V04  (namespace: .krh-v4)
   Task      : KARATSU-WP-HOME-V04-DELTA-01
   Authority : karatsu-home-prototype-v04.html（Visual Freeze / Production Authority）

   PRESENTATION ONLY. 既存 .kr-* / .krh-* は一切変更しない（純粋な追記）。
   AFFINGER親テーマのclassは改造せず、.krh-v4 の内側でのみscopeする。

   実測前提（本サイト実機・2026-09-21）:
     .entry-content の実幅 = 1440px:920 / 1024px:869 / 768px:713 / 390px:360
     #wrapper 以下に overflow-x:hidden を持つ祖先が無いため、100vw full-bleed は
     horizontal scroll を発生させる（実測: scrollWidth 1432 > clientWidth 1425）。
     → V04のfull-bleed HeroはAFFINGERのcontent column内へboxed化して実装する。
        構成・順序・CTA階層・語彙はV04のまま維持し、寸法のみcontainerへ合わせる。

   Web Fontは読み込まない（V04原本の注記「Production書体はAFFINGER側の決定に従う」に従う）。
================================================================================================== */

.krh-v4 {
	--krv4-bg:            #F5F6F3;
	--krv4-bg-deep:       #EEF2F1;
	--krv4-navy:          #12233D;
	--krv4-text:          #263342;
	--krv4-sub:           #5A6774;
	--krv4-teal-cta:      #0F7484;
	--krv4-teal-cta-hover:#0C5F6D;
	--krv4-teal:          #158E9F;
	--krv4-water:         #DDEFF2;
	--krv4-rule:          #D8DAD4;
	--krv4-rule-strong:   #B9BDB6;
	--krv4-serif: "Noto Serif JP", "Noto Serif CJK JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
	--krv4-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

	color: var(--krv4-text);
	line-height: 1.8;
	font-feature-settings: "palt" 1;
}

.krh-v4 * {
	box-sizing: border-box;
}

.krh-v4 img {
	max-width: 100%;
	display: block;
}

/* --------------------------------------------------------------------------
   共通ボタン / リンク（V04 .btn 系）
   -------------------------------------------------------------------------- */
.post a.krh-v4__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	background: var(--krv4-teal-cta);
	color: #fff;
	text-decoration: none;
	font-weight: 700;
	letter-spacing: .04em;
	border: 1px solid var(--krv4-teal-cta);
	border-radius: 999px;
	white-space: nowrap;
	line-height: 1.2;
}

.post a.krh-v4__btn:hover,
.post a.krh-v4__btn:focus-visible {
	background: var(--krv4-teal-cta-hover);
	border-color: var(--krv4-teal-cta-hover);
	color: #fff;
}

.post a.krh-v4__btn:focus-visible,
.post a.krh-v4__sup:focus-visible,
.post .krh-v4__arc-item:focus-visible,
.post a.krh-v4__more:focus-visible,
.post a.krh-v4__trust-link:focus-visible {
	outline: 3px solid var(--krv4-teal);
	outline-offset: 3px;
}

.krh-v4__btn--lg {
	height: 62px;
	min-width: 320px;
	padding: 0 34px;
	font-size: 19px;
	box-shadow: 0 8px 18px rgba(15, 116, 132, .22);
}

.post a.krh-v4__btn--onnavy {
	background: #fff;
	color: var(--krv4-navy);
	border-color: #fff;
	box-shadow: none;
}

.post a.krh-v4__btn--onnavy:hover,
.post a.krh-v4__btn--onnavy:focus-visible {
	background: #E6EBF1;
	border-color: #E6EBF1;
	color: var(--krv4-navy);
}

.krh-v4__arw {
	font-size: .92em;
}

.post a.krh-v4__sup {
	font-size: 16px;
	font-weight: 700;
	letter-spacing: .06em;
	text-decoration: none;
	color: var(--krv4-navy);
	display: inline-flex;
	align-items: center;
	gap: 18px;
	padding: 0 2px 7px;
	border-bottom: 2px solid var(--krv4-teal);
}

.post a.krh-v4__sup::after {
	content: "→";
	font-size: 15px;
	color: var(--krv4-navy);
}

.post a.krh-v4__sup:hover {
	color: var(--krv4-teal-cta);
}

/* --------------------------------------------------------------------------
   01 Hero
   -------------------------------------------------------------------------- */
.krh-v4__hero {
	position: relative;
	overflow: hidden;
	background: var(--krv4-bg);
	margin: 0 0 0;
	padding: 0;
}

.krh-v4__hero-in {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 52%) minmax(0, 1fr);
	column-gap: 24px;
	align-items: center;
	min-height: 520px;
	padding: 34px 22px 104px;
}

.krh-v4__hero-main {
	position: relative;
	z-index: 3;
}

/* Race Visual｜PHOTO SLOT（V04と同一の1枚。Desktop=右の舞台 / Mobile=CTA直後） */
.krh-v4__visual {
	position: absolute;
	z-index: 0;
	top: 0;
	bottom: 0;
	left: 48%;
	right: 0;
	margin: 0;
	padding: 0;
}

.krh-v4__visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 34% 60%;
}

.krh-v4__visual::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, var(--krv4-bg) 0%, rgba(245, 246, 243, .9) 9%, rgba(245, 246, 243, .45) 22%, rgba(245, 246, 243, 0) 36%);
}

.post .krh-v4__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .1em;
	color: var(--krv4-navy);
	margin: 0 0 16px;
	line-height: 1.5;
}

.post .krh-v4__eyebrow::before {
	content: "";
	width: 34px;
	height: 3px;
	background: var(--krv4-teal-cta);
	flex: 0 0 auto;
}

/* Heroの主見出し。h1はAFFINGERヘッダー（サイト名）が保持するためh2で出す */
.post .krh-v4 h2.krh-v4__h1 {
	font-size: clamp(28px, 3.35vw, 46px);
	font-weight: 900;
	line-height: 1.3;
	letter-spacing: .01em;
	color: var(--krv4-navy);
	margin: 0 0 16px;
	padding: 0;
	background: none;
	border: 0;
}

.post .krh-v4 h2.krh-v4__h1::before,
.post .krh-v4 h2.krh-v4__h1::after {
	content: none;
}

.post .krh-v4__brandmsg {
	font-family: var(--krv4-serif);
	font-size: clamp(19px, 2.1vw, 29px);
	font-weight: 600;
	color: var(--krv4-navy);
	letter-spacing: .03em;
	margin: 0 0 16px;
	line-height: 1.5;
}

.post .krh-v4__lead {
	font-size: 15.5px;
	line-height: 1.85;
	color: var(--krv4-text);
	margin: 0 0 24px;
}

.krh-v4__m-br {
	display: none;
}

.krh-v4__cta-row {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
}

/* Product Value｜写真上の小さな2×2。大Panelで囲まない・説明文なし・Glass(blur)なし */
.post ol.krh-v4__value {
	position: relative;
	z-index: 3;
	justify-self: start;
	display: grid;
	grid-template-columns: repeat(2, 132px);
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.post ol.krh-v4__value > li {
	height: 128px;
	display: grid;
	grid-template-rows: auto 1fr auto;
	justify-items: center;
	background: #fff;
	border-radius: 10px;
	padding: 10px 10px 14px;
	margin: 0;
	box-shadow: 0 8px 22px rgba(18, 35, 61, .14);
	list-style: none;
}

.post ol.krh-v4__value > li::before,
.post ol.krh-v4__value > li::marker {
	content: none;
	display: none;
}

.krh-v4__value-n {
	justify-self: start;
	padding-left: 4px;
	font-size: 16px;
	font-weight: 700;
	color: var(--krv4-teal);
	line-height: 1.3;
	letter-spacing: .02em;
	font-variant-numeric: tabular-nums;
}

.krh-v4__ico {
	width: 36px;
	height: 36px;
	align-self: center;
	fill: none;
	stroke: var(--krv4-navy);
	stroke-width: 2.2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.krh-v4__ico .krh-v4__ico-solid {
	fill: var(--krv4-navy);
	stroke: none;
}

.krh-v4__value-t {
	font-size: 14.5px;
	font-weight: 700;
	color: var(--krv4-navy);
	margin: 0;
	line-height: 1.4;
	letter-spacing: .04em;
	text-align: center;
}

/* Hero下：2層Wave。最下層の塗りは次Sectionの背景色と同色にして継ぎ目を消す */
.krh-v4__wave {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	z-index: 1;
	line-height: 0;
	pointer-events: none;
}

.krh-v4__wave svg {
	width: 100%;
	height: 104px;
	display: block;
}

/* --------------------------------------------------------------------------
   Section 共通
   -------------------------------------------------------------------------- */
.krh-v4__sec {
	padding: 58px 22px;
	border-bottom: 1px solid var(--krv4-rule);
	scroll-margin-top: var(--kr-anchor-offset);
}

.krh-v4__sec--flow,
.krh-v4__sec--trust {
	background: var(--krv4-bg-deep);
}

.post .krh-v4 h2.krh-v4__h2-sans {
	font-size: clamp(22px, 2.3vw, 30px);
	font-weight: 800;
	color: var(--krv4-navy);
	line-height: 1.45;
	margin: 0 0 12px;
	padding: 0;
	letter-spacing: .01em;
	background: none;
	border: 0;
}

.post .krh-v4 h2.krh-v4__h2-serif {
	font-family: var(--krv4-serif);
	font-size: clamp(24px, 2.8vw, 38px);
	font-weight: 600;
	color: var(--krv4-navy);
	line-height: 1.45;
	margin: 0 0 16px;
	padding: 0;
	letter-spacing: .04em;
	background: none;
	border: 0;
}

.post .krh-v4 h2.krh-v4__h2-sans::before,
.post .krh-v4 h2.krh-v4__h2-sans::after,
.post .krh-v4 h2.krh-v4__h2-serif::before,
.post .krh-v4 h2.krh-v4__h2-serif::after {
	content: none;
}

.post .krh-v4__sec-lead {
	font-size: 15.5px;
	color: var(--krv4-sub);
	margin: 0 0 34px;
	max-width: 36em;
	line-height: 1.95;
}

.krh-v4__data {
	color: #8A94A0;
	font-style: normal;
}

.krh-v4__data::before {
	content: "—";
	margin-right: 6px;
}

.krh-v4__data::after {
	content: "—";
	margin-left: 6px;
}

.post .krh-v4__note {
	font-size: 12.5px;
	color: #8A94A0;
	margin: 16px 0 0;
	line-height: 1.7;
}

/* --------------------------------------------------------------------------
   02 Editorial Flow（1本の流れ）
   -------------------------------------------------------------------------- */
.post ol.krh-v4__flow {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
	padding: 34px 0 0;
	margin: 0;
	list-style: none;
}

.post ol.krh-v4__flow::before {
	content: "";
	position: absolute;
	left: 12px;
	right: 12px;
	top: 12px;
	height: 2px;
	background: linear-gradient(90deg, var(--krv4-teal) 0%, var(--krv4-teal) 70%, var(--krv4-rule-strong) 100%);
}

.post ol.krh-v4__flow > li {
	position: relative;
	padding-right: 8px;
	margin: 0;
	list-style: none;
}

.post ol.krh-v4__flow > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: -29px;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--krv4-bg-deep);
	border: 2px solid var(--krv4-teal);
	display: block;
}

.post ol.krh-v4__flow > li::after {
	content: "";
	position: absolute;
	left: 8px;
	top: -21px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--krv4-teal);
}

.krh-v4__flow-n {
	font-size: 16px;
	font-weight: 700;
	color: var(--krv4-teal);
	letter-spacing: .04em;
	display: block;
	margin-bottom: 6px;
	font-variant-numeric: tabular-nums;
}

.post .krh-v4__flow-t {
	font-size: 20px;
	font-weight: 800;
	color: var(--krv4-navy);
	margin: 0 0 8px;
	line-height: 1.4;
}

.post .krh-v4__flow-d {
	font-size: 14px;
	color: var(--krv4-sub);
	margin: 0;
	line-height: 1.85;
}

.post .krh-v4__flow-foot {
	margin: 38px 0 0;
	padding-top: 20px;
	border-top: 1px solid var(--krv4-rule-strong);
	font-size: 15.5px;
	font-weight: 500;
	color: var(--krv4-text);
	line-height: 1.9;
}

/* --------------------------------------------------------------------------
   03 Proof / Ledger（このSectionのみData表現）
   -------------------------------------------------------------------------- */
.krh-v4__proof-grid {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	gap: 34px;
	align-items: start;
}

.krh-v4__ledger {
	border: 1px solid var(--krv4-rule-strong);
	border-radius: 12px;
	background: #fff;
	overflow: hidden;
}

.krh-v4__ledger-hd {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 14px 18px;
	border-bottom: 1px solid var(--krv4-rule-strong);
	background: #F7F8F5;
}

.krh-v4__ledger-hd .krh-v4__lbl {
	font-size: 13px;
	font-weight: 700;
	color: var(--krv4-navy);
	letter-spacing: .04em;
}

.krh-v4__ledger dl {
	margin: 0;
}

.krh-v4__ledger-row {
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: 16px;
	padding: 15px 18px;
	border-bottom: 1px solid var(--krv4-rule);
}

.krh-v4__ledger-row:last-child {
	border-bottom: 0;
}

.post .krh-v4__ledger-row dt {
	margin: 0;
	font-size: 13px;
	color: var(--krv4-sub);
	font-weight: 700;
	padding-top: 2px;
}

.post .krh-v4__ledger-row dd {
	margin: 0;
	font-family: var(--krv4-mono);
	font-size: 13.5px;
	color: var(--krv4-navy);
	line-height: 1.9;
}

.krh-v4__ledger-row.is-verify {
	background: var(--krv4-water);
}

/* 艇番色（限定使用：Legendのみ） */
.krh-v4__lanes {
	display: flex;
	gap: 6px;
	align-items: center;
}

.krh-v4__lane {
	width: 22px;
	height: 22px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 800;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(0, 0, 0, .12);
}

.krh-v4__lane.l1 { background: #fff;    color: #222; }
.krh-v4__lane.l2 { background: #222;    color: #fff; }
.krh-v4__lane.l3 { background: #D63A2F; color: #fff; }
.krh-v4__lane.l4 { background: #2B62C4; color: #fff; }
.krh-v4__lane.l5 { background: #F2C41C; color: #222; }
.krh-v4__lane.l6 { background: #2E9A4E; color: #fff; }

/* --------------------------------------------------------------------------
   04 Archive（開催記録・Editorial）
   既存 [karatsu_day_list] が出力する .krh-list / .krh-featured を
   V04のArchive見えへ寄せる（shortcode側は変更しない）
   -------------------------------------------------------------------------- */
.krh-v4__arc {
	border-top: 2px solid var(--krv4-navy);
}

.krh-v4__arc .krh-list {
	border-top: 0;
}

.krh-v4__arc .krh-list__item {
	border-bottom: 1px solid var(--krv4-rule);
}

.post .krh-v4__arc .krh-list__item > a {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 14px;
	align-items: center;
	padding: 22px 2px;
	font-size: 17px;
	font-weight: 700;
	color: var(--krv4-navy);
	line-height: 1.5;
	text-decoration: none;
}

.post .krh-v4__arc .krh-list__item > a::after {
	content: "→";
	font-size: 16px;
	font-weight: 400;
	color: var(--krv4-sub);
}

.post .krh-v4__arc .krh-list__item > a:hover,
.post .krh-v4__arc .krh-list__item > a:focus-visible {
	color: var(--krv4-teal);
	text-decoration: none;
}

.post a.krh-v4__arc .krh-featured,
.post .krh-v4__arc a.krh-featured {
	background: #fff;
	border: 0;
	border-bottom: 1px solid var(--krv4-rule);
	border-left: 0;
	padding: 22px 2px;
}

.post .krh-v4__arc a.krh-featured:hover,
.post .krh-v4__arc a.krh-featured:focus-visible {
	background: #fff;
}

.krh-v4__arc .krh-featured__label {
	color: var(--krv4-teal);
	font-size: 12px;
	letter-spacing: .1em;
}

.krh-v4__arc .krh-featured__title {
	font-size: 17px;
	color: var(--krv4-navy);
}

.krh-v4__arc .krh-featured__go {
	color: var(--krv4-sub);
	font-size: 13.5px;
}

.krh-v4__arc .krh-empty {
	border: 1px dashed var(--krv4-rule-strong);
	background: #fff;
}

.post a.krh-v4__more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 26px;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	color: var(--krv4-navy);
}

.post a.krh-v4__more:hover {
	color: var(--krv4-teal);
}

/* --------------------------------------------------------------------------
   05 Trust（Editorial）
   -------------------------------------------------------------------------- */
.krh-v4__trust {
	max-width: 46em;
}

.post .krh-v4__trust p {
	font-size: 16px;
	line-height: 2.05;
	margin: 0 0 18px;
}

.post .krh-v4__trust p.krh-v4__note {
	font-size: 12.5px;
	line-height: 1.7;
	margin: 16px 0 0;
}

.post a.krh-v4__trust-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	color: var(--krv4-navy);
	margin-top: 8px;
}

.post a.krh-v4__trust-link:hover {
	color: var(--krv4-teal);
}

/* 既存の方針・規約リンク（.krh-links）はV04 Trust内へそのまま残す（導線維持） */
.krh-v4__trust .krh-links {
	margin-top: 22px;
}

/* --------------------------------------------------------------------------
   06 Final CTA
   -------------------------------------------------------------------------- */
.krh-v4__final {
	background: var(--krv4-navy);
	color: #fff;
	padding: 68px 22px;
	position: relative;
	overflow: hidden;
	border-bottom: 0;
}

.post .krh-v4 h2.krh-v4__final-h2 {
	font-size: clamp(24px, 3vw, 40px);
	font-weight: 800;
	line-height: 1.4;
	margin: 0 0 14px;
	padding: 0;
	letter-spacing: .01em;
	color: #fff;
	background: none;
	border: 0;
}

.post .krh-v4 h2.krh-v4__final-h2::before,
.post .krh-v4 h2.krh-v4__final-h2::after {
	content: none;
}

.post .krh-v4__final p {
	color: #B4C0D0;
	font-size: 15.5px;
	margin: 0 0 32px;
}

/* --------------------------------------------------------------------------
   Mobile（959px以下）— 375 / 390 / 430px を想定。横スクロールを作らない。
   V04 @media(max-width:900px) と同じ順序: Copy → CTA → 開催記録 → Visual → 2×2 → Wave
   -------------------------------------------------------------------------- */
@media print, screen and (max-width: 959px) {

	.krh-v4__hero-in {
		grid-template-columns: 1fr;
		column-gap: 0;
		min-height: 0;
		padding: 18px 16px 58px;
	}

	.post .krh-v4__eyebrow {
		font-size: 13px;
		gap: 10px;
		margin-bottom: 8px;
	}

	.post .krh-v4__eyebrow::before {
		width: 24px;
		height: 2px;
	}

	.post .krh-v4 h2.krh-v4__h1 {
		font-size: 32px;
		line-height: 1.27;
		margin-bottom: 8px;
	}

	.post .krh-v4__brandmsg {
		font-size: 21px;
		margin-bottom: 6px;
		letter-spacing: .02em;
	}

	.post .krh-v4__lead {
		font-size: 14px;
		line-height: 1.7;
		margin-bottom: 16px;
		color: var(--krv4-sub);
	}

	.krh-v4__m-br {
		display: inline;
	}

	.krh-v4__cta-row {
		align-items: stretch;
		gap: 14px;
	}

	.krh-v4__btn--lg {
		width: 100%;
		min-width: 0;
		height: 52px;
		font-size: 17px;
		padding: 0 18px;
		box-shadow: 0 6px 14px rgba(15, 116, 132, .22);
	}

	.post a.krh-v4__sup {
		align-self: flex-start;
		font-size: 14.5px;
		gap: 12px;
		padding-bottom: 5px;
		border-bottom-width: 1.5px;
	}

	.krh-v4__visual {
		position: relative;
		top: auto;
		bottom: auto;
		left: auto;
		right: auto;
		margin: 18px 0 0;
		border-radius: 10px;
		overflow: hidden;
	}

	.krh-v4__visual::before {
		display: none;
	}

	.krh-v4__visual img {
		height: auto;
		aspect-ratio: 16 / 10;
		object-position: 62% 78%;
	}

	.post ol.krh-v4__value {
		grid-template-columns: 1fr 1fr;
		gap: 8px;
		margin: 10px 0 0;
		justify-self: stretch;
	}

	.post ol.krh-v4__value > li {
		height: auto;
		display: block;
		padding: 9px 12px 11px;
		background: #fff;
		border: 1px solid #CBDDE2;
		border-radius: 10px;
		box-shadow: none;
	}

	.krh-v4__value-n {
		display: block;
		padding: 0;
		font-size: 15px;
		line-height: 1.35;
	}

	.krh-v4__ico {
		display: none;
	}

	.krh-v4__value-t {
		display: block;
		font-size: 15px;
		line-height: 1.45;
		letter-spacing: .04em;
		text-align: left;
	}

	.krh-v4__wave svg {
		height: 52px;
	}

	.krh-v4__sec {
		padding: 40px 16px;
	}

	.post .krh-v4__sec-lead {
		margin-bottom: 26px;
	}

	.post ol.krh-v4__flow {
		grid-template-columns: 1fr;
		gap: 24px;
		padding-top: 0;
		padding-left: 34px;
	}

	.post ol.krh-v4__flow::before {
		left: 11px;
		right: auto;
		top: 8px;
		bottom: 8px;
		width: 2px;
		height: auto;
		background: linear-gradient(180deg, var(--krv4-teal) 0%, var(--krv4-teal) 70%, var(--krv4-rule-strong) 100%);
	}

	.post ol.krh-v4__flow > li::before {
		left: -34px;
		top: 0;
	}

	.post ol.krh-v4__flow > li::after {
		left: -26px;
		top: 8px;
	}

	.post .krh-v4__flow-t {
		font-size: 18px;
	}

	.post .krh-v4__flow-foot {
		font-size: 15px;
		margin-top: 30px;
	}

	.krh-v4__proof-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.krh-v4__ledger-row {
		grid-template-columns: 1fr;
		gap: 6px;
		padding: 14px 16px;
	}

	.post .krh-v4__arc .krh-list__item > a {
		padding: 18px 2px;
		font-size: 16px;
	}

	.krh-v4__final {
		padding: 46px 16px;
	}
}

@media print, screen and (max-width: 359px) {

	.post .krh-v4 h2.krh-v4__h1 {
		font-size: 28px;
	}

	.post .krh-v4__brandmsg {
		font-size: 19px;
	}

	.krh-v4__value-t {
		font-size: 14px;
	}
}


/* ==================================================================================================
   KARATSU HOME V04 — DESKTOP FULL WIDTH RESTORE
   Task : KARATSU-WP-HOME-V04-DELTA-02
   対象 : page 53（HOME V04 Draft）のみ。他ページ・他テンプレートには一切効かせない。

   背景（実機調査 2026-09-21）:
     AFFINGER7には「content columnをviewport全幅にする」page設定が無い。
     post meta `columnck` は yes(1カラム) / lp(LP化) / 空 の3値のみで、
     lp は #breadcrumb 等を消す別モード、LPワイド(.st-lp-wide)も margin 0 -70px 止まり。
     page07.php「白紙ノート」はヘッダー自体が空になりBrand/Logo/GNAVが失われる。
     → 既存テンプレート・既存設定では復元できないため、CSSのbleedで解決する。

   横スクロール対策:
     100vw は scrollbar 分だけ clientWidth より広い（実測 1440時 1440 vs 1425）。
     グローバルに overflow を触らず、**page 53 の #content-w だけ** clip する。
       body.page-id-53 #content-w      … 現在の下書き（固定トップへ昇格後もbody classは残る）
       #content-w:has(.krh-v4)         … 本文が page 24 等へ移動しても追従する保険
     clip は overflow-y を auto へ落とさないため hidden より副作用が小さい（未対応環境は hidden）。

   Mobile(959px以下)は現行のまま（bleedしない）。指示は「Desktopのfull-width感の復元」。
================================================================================================== */

@media print, screen and (min-width: 960px) {

	body.page-id-53 #content-w,
	#content-w:has(.krh-v4) {
		overflow-x: hidden;
		overflow-x: clip;
	}

	/* full-bleed 化するのは Hero と Final CTA のみ */
	.krh-v4__hero,
	.krh-v4__final {
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
	}

	/* V04原本の --maxw:1320px / --pad:28px を復元 */
	.krh-v4__hero-in,
	.krh-v4__final-in {
		max-width: 1320px;
		margin-left: auto;
		margin-right: auto;
	}

	/* V04では .hero-visual / .hero-wave は .hero（全幅）基準のabsolute。
	   inner wrapがcontaining blockにならないよう static に戻す。 */
	.krh-v4__hero-in {
		position: static;
		grid-template-columns: minmax(0, 43%) minmax(0, 1fr);
		column-gap: 30px;
		min-height: 760px;
		padding: 56px 28px 150px;
	}

	.post .krh-v4__eyebrow {
		font-size: 16px;
		gap: 14px;
		margin-bottom: 20px;
	}

	.post .krh-v4__eyebrow::before {
		width: 42px;
		height: 3px;
	}

	.post .krh-v4 h2.krh-v4__h1 {
		font-size: clamp(40px, 4.75vw, 70px);
		margin-bottom: 20px;
	}

	.post .krh-v4__brandmsg {
		font-size: clamp(24px, 2.95vw, 43px);
		margin-bottom: 22px;
		white-space: nowrap;
	}

	.post .krh-v4__lead {
		font-size: 17px;
		line-height: 1.9;
		margin-bottom: 30px;
		white-space: nowrap;
	}

	.krh-v4__cta-row {
		gap: 24px;
	}

	.krh-v4__btn--lg {
		height: 66px;
		min-width: 372px;
		padding: 0 40px;
		font-size: 20px;
	}

	/* V04原本の right:-3% は .hero の overflow:hidden で右端43pxを切り落とす。
	   旧写真では捨ててよい水しぶきだったが、採用画像ではそこに「からつ」表示が
	   乗るため 0 にする（left・構図比率はV04のまま）。 */
	.krh-v4__visual {
		left: calc(26.31% + 127px);
		right: 0;
	}

	/* 採用画像（1536x1024）はV04原本の写真と画角が違い、object-position:32% だと
	   右端の「BOAT RACE からつ」表示が切れる（実測: element 977x783 に対し
	   横のはみ出し197px、32%指定では source x=1360 までしか映らない）。
	   採用画像の被写体を欠けさせないため右寄せにする。構図指示・Claimは変えていない。 */
	.krh-v4__visual img {
		object-position: 100% 58%;
	}

	.post ol.krh-v4__value {
		grid-template-columns: repeat(2, 164px);
		gap: 12px;
		margin: 0 0 30px -24px;
	}

	.post ol.krh-v4__value > li {
		height: 156px;
		padding: 12px 12px 18px;
	}

	.krh-v4__ico {
		width: 60px;
		height: 60px;
	}

	.krh-v4__value-n {
		font-size: 19px;
		padding-left: 6px;
	}

	.krh-v4__value-t {
		font-size: 17px;
	}

	.krh-v4__wave svg {
		height: 150px;
	}

	.krh-v4__final {
		padding: 100px 0;
	}

	.krh-v4__final-in {
		padding: 0 28px;
	}

	.post .krh-v4 h2.krh-v4__final-h2 {
		font-size: clamp(30px, 4vw, 50px);
		margin-bottom: 16px;
	}

	.post .krh-v4__final p {
		font-size: 16px;
		margin-bottom: 40px;
	}
}

/* V04原本の中間幅ルール（901–1180px）をAFFINGERの960px境界に合わせて適用 */
@media print, screen and (min-width: 960px) and (max-width: 1180px) {

	.post ol.krh-v4__value {
		grid-template-columns: repeat(2, 132px);
		gap: 10px;
		margin-left: 0;
	}

	.post ol.krh-v4__value > li {
		height: 128px;
		padding: 10px 10px 14px;
	}

	.krh-v4__ico {
		width: 36px;
		height: 36px;
	}

	.krh-v4__value-n {
		font-size: 16px;
	}

	.krh-v4__value-t {
		font-size: 14.5px;
	}

	.krh-v4__btn--lg {
		min-width: 320px;
	}

	.post .krh-v4__lead {
		white-space: normal;
	}
}

/* --------------------------------------------------------------------------
   03 Proof / Ledger — 実データ表示時の追加分
   値は保存済みArtifactからの逐語コピーのみ。Themeは再計算・比較をしない。
   -------------------------------------------------------------------------- */
.krh-v4__ledger-row dd .krh-v4__kv {
	display: block;
}

.krh-v4__ledger-row dd .krh-v4__kv + .krh-v4__kv {
	margin-top: 2px;
}

.krh-v4__kind {
	display: inline-block;
	margin-left: .5em;
	padding: .05em .45em;
	font-family: var(--krv4-mono);
	font-size: .78em;
	font-weight: 700;
	letter-spacing: .04em;
	color: var(--krv4-teal-cta);
	background: var(--krv4-water);
	border: 1px solid var(--krv4-teal);
	border-radius: 3px;
	vertical-align: middle;
}

.krh-v4__hit {
	font-weight: 700;
}

.krh-v4__hit--o {
	color: #0F7484;
}

.krh-v4__hit--x {
	color: #8A5A1E;
}

.krh-v4__sha {
	font-family: var(--krv4-mono);
	font-size: .82em;
	color: #8A94A0;
	word-break: break-all;
}


/* ==================================================================================================
   KARATSU HOME V04 — H2 SPECIFICITY FIX
   Task : KARATSU-WP-HOME-V04-DELTA-03

   原因（実測）:
     AFFINGER管理画面が生成する wp-content/uploads/affinger-cache/st-themecss-pc.css が
     child style.css より **後** に読み込まれ、次のルールを持つ:
       .post .entry-content h2:not(.st-css-no2) { font-size:24px; line-height:40px; }
     specificity = (0,3,1)。V04側の .post .krh-v4 h2.krh-v4__h1 も (0,3,1) で同点のため、
     後勝ちでAFFINGER側が採用され、Hero見出しが24px/40pxに潰れていた（実測 computed 24px）。

   対応:
     markup側へ .st-css-no / .st-css-no2 を足すと、同cacheの
       h2:not(...):not(.st-css-no){ background:none;border:none; } という
     「AFFINGER見出し装飾を消す」ルールからも外れてしまい装飾が復活する。
     そこで **selectorへ .entry-content を1つ足して (0,4,1) にするだけ** の最小Deltaで解決する。
     値はV04 Authorityと同一。ここで新しいサイズは定義しない。
================================================================================================== */

.post .entry-content .krh-v4 h2.krh-v4__h1 {
	font-size: clamp(28px, 3.35vw, 46px);
	line-height: 1.3;
}

.post .entry-content .krh-v4 h2.krh-v4__h2-sans {
	font-size: clamp(22px, 2.3vw, 30px);
	line-height: 1.45;
}

.post .entry-content .krh-v4 h2.krh-v4__h2-serif {
	font-size: clamp(24px, 2.8vw, 38px);
	line-height: 1.45;
}

.post .entry-content .krh-v4 h2.krh-v4__final-h2 {
	font-size: clamp(24px, 3vw, 40px);
	line-height: 1.4;
}

@media print, screen and (min-width: 960px) {

	.post .entry-content .krh-v4 h2.krh-v4__h1 {
		font-size: clamp(40px, 4.75vw, 70px);
		line-height: 1.3;
	}

	.post .entry-content .krh-v4 h2.krh-v4__final-h2 {
		font-size: clamp(30px, 4vw, 50px);
		line-height: 1.4;
	}
}

@media print, screen and (max-width: 959px) {

	.post .entry-content .krh-v4 h2.krh-v4__h1 {
		font-size: 32px;
		line-height: 1.27;
	}
}

@media print, screen and (max-width: 359px) {

	.post .entry-content .krh-v4 h2.krh-v4__h1 {
		font-size: 28px;
	}
}


/* ==================================================================================================
   KARATSU HOME V04 — SECTION 02/05 BACKGROUND-ONLY FULL WIDTH (Desktop)
   Task : KARATSU-WP-HOME-V04-DELTA-04
   対象 : page 53（HOME V04 Draft）のみ。Section構造・inner本文幅・Copyは無変更。

   方式（Hero/Finalとは意図的に別方式）:
     Hero/Finalは「本文側もV04の1320px基準へ変える」対応だったため、sectionそのものを
     negative margin で bleed させ、内側に独自の -in wrapper を追加した。
     今回は「淡色背景だけ全幅・inner本文幅はAFFINGER側の現状幅のままKEEP」が要件のため、
     section自体は一切動かさず（padding/width/構造すべて無変更）、
     ::before の装飾レイヤーだけを position:absolute; left:50%; width:100vw; margin-left:-50vw
     で敷く（背景専用bleedの定番パターン）。これはsectionを内包するAFFINGERの
     .entry-content 系コンテナが画面中央寄せであることに依存する（実測: 1440時
     entry-content x=254 / width=918 → 中点713 ≒ viewport中点712.5）。

   横スクロール対策:
     ::before は position:absolute のため、page 53 に既存の
     body.page-id-53 #content-w { overflow-x:clip } （Delta-02で追加済み）が
     そのままこの要素にも効く。新しいoverflow指定はここでは追加しない
     （globalへは一切触れていない）。

   Mobile(959px以下)は現行のまま（section自体の背景をそのまま使う。bleedしない）。
================================================================================================== */

@media print, screen and (min-width: 960px) {

	.krh-v4__sec--flow,
	.krh-v4__sec--trust {
		position: relative;
		z-index: 0;
		background: none;
	}

	.krh-v4__sec--flow::before,
	.krh-v4__sec--trust::before {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		left: 50%;
		width: 100vw;
		margin-left: -50vw;
		background: var(--krv4-bg-deep);
		z-index: -1;
		pointer-events: none;
	}
}


/* ==================================================================================================
   KARATSU HOME V04 — Reader First: 公式サイト案内（Section03直下）
   Task : KARATSU-WP-HOME-V04-READER-FIRST-01
   既存の /sources/ リンク（Section05 .krh-links内）と同じ宛先を再利用するだけ。新規URLは作らない。
================================================================================================== */

.post .krh-v4__official-note {
	margin: 20px 0 0;
	font-size: 13px;
	line-height: 1.7;
	color: var(--krv4-sub);
}

.post .krh-v4__official-note a {
	color: var(--krv4-navy);
	text-decoration: underline;
}

.post .krh-v4__official-note a:hover,
.post .krh-v4__official-note a:focus-visible {
	color: var(--krv4-teal);
}


/* ==================================================================================================
   KARATSU HOME V04 — 開催記録 Reader First 表示（[karatsu_day_list ... variant="home-v4"] 専用）
   Task : KARATSU-WP-HOME-V04-READER-FIRST-02
   既存の .krh-featured__label / .krh-featured__go / .krh-list__item 等の基本stylingは変更しない。
   ここではvariant="home-v4"が出力する新しいspan（__date/__total/__stat/__main/__arw）だけを追記する。
================================================================================================== */

.krh-v4__arc .krh-featured__date {
	display: block;
	margin: 0 0 .3em;
	font-size: .82em;
	color: var(--krv4-sub);
}

.krh-v4__arc .krh-featured__total {
	display: block;
	margin: 0 0 .3em;
	font-size: .78em;
	font-weight: 700;
	letter-spacing: .06em;
	color: var(--krv4-teal-cta);
}

.krh-v4__arc .krh-featured__stat {
	display: block;
	font-size: 1.02em;
	line-height: 1.7;
	color: var(--krv4-navy);
}

.krh-v4__arc .krh-featured__go {
	display: block;
	margin: .7em 0 0;
	font-size: .9em;
	font-weight: 700;
	color: var(--krv4-navy);
}

.krh-v4__arc .krh-featured__arw {
	margin-left: .3em;
	font-weight: 400;
}

.krh-v4__arc .krh-list__main {
	display: block;
}

.krh-v4__arc .krh-list__date {
	display: block;
	margin: 0 0 .2em;
	font-size: 13px;
	font-weight: 400;
	color: var(--krv4-sub);
}

.krh-v4__arc .krh-list__total {
	display: block;
	margin: 0 0 .2em;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .05em;
	color: var(--krv4-teal-cta);
}

.krh-v4__arc .krh-list__stat {
	display: block;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.55;
	color: var(--krv4-navy);
}

/* 画像なし記事の no-image プレースホルダーだけ非表示（アイキャッチ付き記事の一覧サムネイルは不変）— 2026-10-04 KARATSU-FOUNDATION */
.kanren:not(.st-cardbox) dl:has(> dt img[alt="no image"]) > dt { display: none; }
.kanren:not(.st-cardbox) dl:has(> dt img[alt="no image"]) > dd { padding-left: 0; }
