/*
Theme Name: Arkhe Child
Theme URI:
Description: Arkhe の子テーマ
Author:
Author URI:
Template: arkhe
Version: 1.0.1
Text Domain: arkhe-child
*/

/* ここに上書きCSSを書く */

/* -------------------------------------------------- */
/* 墨伏綴 サブナビ                                      */
/* -------------------------------------------------- */
.sf-subnav {
	background: #6d5972;
	position: sticky;
	top: var(--ark-header_height, 0px);
	z-index: 200;
}

/* 管理者バー表示時はその分ずらす */
.admin-bar .sf-subnav {
	top: calc(var(--ark-header_height, 0px) + var(--ark-adminbar_height, 32px));
}

.sf-subnav__list {
	display: flex;
	justify-content: flex-end;
	list-style: none;
	margin: 0;
	padding: 0;
	max-width: 1200px;
	margin-inline: auto;
}

.sf-subnav__list li a {
	display: block;
	padding: 0.5em 1.4em;
	color: rgba(255,255,255,0.75);
	font-size: 0.8rem;
	text-decoration: none;
	letter-spacing: 0.08em;
	transition: color 0.15s, background 0.15s;
}

.sf-subnav__list li a:hover {
	color: #fff;
	background: rgba(255,255,255,0.1);
}

.sf-subnav__list li.is-current a {
	color: #fff;
	font-weight: bold;
	background: rgba(255,255,255,0.2);
	border-bottom: 2px solid #fff;
}

/* =============================
   サイト共通リンク色 (#c1455d) 統一
   ============================= */

/* パンくず：リンクテキスト */
.p-breadcrumb__text span,
.p-breadcrumb__item a .p-breadcrumb__text span {
	color: inherit;
}
.p-breadcrumb__item a:hover span {
	color: #c1455d;
}

/* アーカイブサイドバー：現在地 */
.archive-side-block__item.is-active a {
	color: #c1455d;
}

/* アーカイブサイドバー：リンクホバー */
.archive-side-block__item a:hover {
	color: #c1455d;
	text-decoration: none;
}

/* =============================
   TOPページ 作品一覧 ブロック全体をクリック可能にする
   ============================= */

.series-top-grid .wp-block-media-text {
	cursor: pointer;
	margin-bottom: 2rem; /* カード間の余白 */
	position: relative;
	overflow: hidden;
	transition: box-shadow 0.2s;
}

/* カード全体のホバーオーバーレイ */
.series-top-grid .wp-block-media-text::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(193, 69, 93, 0.07);
	opacity: 0;
	transition: opacity 0.2s;
	pointer-events: none;
}

.series-top-grid .wp-block-media-text:hover::after {
	opacity: 1;
}

.series-top-grid .wp-block-media-text:hover figure img {
	opacity: 0.85;
	transition: opacity 0.2s;
}

/* タイトルと説明文をひとかたまりに見せる */
.series-top-grid .wp-block-media-text__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.3em; /* タイトル〜説明の間隔 */
}

.series-top-grid .wp-block-media-text__content p {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.series-top-grid .wp-block-media-text__content p.has-large-font-size {
	color: #471833;
	font-weight: 600;
}

/* =============================
   Archive ページ レイアウト
   ============================= */

.archive-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 260px;
	gap: 48px;
	align-items: start;
}

@media (max-width: 768px) {
	.archive-layout {
		grid-template-columns: 1fr;
		gap: 32px;
	}
}

/* SP のみ表示する改行（テキストコンテンツ内） */
.sp-br { display: none; }
@media (max-width: 768px) {
	.sp-br { display: block; height: 0; }
}

/* フッター SNS アイコン：SP で note と Medium の間で改行 */
.footer-sns__break {
	display: none;
}
@media (max-width: 768px) {
	.footer-sns__break {
		display: block;
		flex-basis: 100%;
		width: 0;
		height: 0;
		/* gap:16px が上下両側にかかって 32px になるのを相殺 */
		margin-block: -8px;
	}
}

/* 理玄異聞録 紹介ページ（ID:440）：SP テキスト余白 */
@media (max-width: 768px) {
	.page-id-440 p {
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}
}


/* サイドバー各ブロック */
.archive-side-block {
	margin-bottom: 40px;
}

.archive-side-block__title {
	font-size: 0.85rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	border-bottom: 1px solid currentColor;
	padding-bottom: 6px;
	margin-top: 0;
	margin-bottom: 12px;
}

.archive-side-block__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.archive-side-block__item {
	font-size: 0.9rem;
	padding: 5px 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.archive-side-block__item a {
	text-decoration: none;
	color: inherit;
}

.archive-side-block__item a:hover {
	text-decoration: underline;
}

/* アクティブ項目 */
.archive-side-block__item.is-active a {
	font-weight: bold;
	pointer-events: none;
}

/* 非活性テキスト（リンクなしの作品） */
.archive-side-block__inactive {
	color: rgba(0, 0, 0, 0.4);
}

/* =============================
   個別記事ページ レイアウト
   ============================= */

/* Arkhe の空サイドバー（280px）を非表示 → main が全幅を使えるように */
.single #sidebar.l-sidebar {
	display: none !important;
}

/* main の l-article による max-width 制約を解除 */
.single main.l-main {
	max-width: none !important;
	width: 100% !important;
}

/* グリッドは <main> 直下に置く */
.single-layout {
	display: grid;
	grid-template-columns: minmax(0, 3fr) minmax(0, 1fr);
	gap: 48px;
	align-items: start;
	width: 100%;
}

@media (max-width: 768px) {
	.single-layout {
		grid-template-columns: 1fr;
		gap: 32px;
	}
}

/* =============================
   同じシリーズ内 前後ナビ
   ============================= */

.single-series-nav {
	margin-top: 48px;
	padding-top: 24px;
	border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.single-series-nav__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	align-items: stretch;
}

.single-series-nav__prev,
.single-series-nav__next {
	display: flex;
}

.single-series-nav__prev .single-series-nav__link,
.single-series-nav__next .single-series-nav__link {
	flex: 1;
}

@media (max-width: 600px) {
	.single-series-nav__inner {
		grid-template-columns: 1fr;
	}
}

.single-series-nav__link {
	display: flex;
	flex-direction: column;
	gap: 6px;
	text-decoration: none;
	color: inherit;
	padding: 12px 16px;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 4px;
	transition: border-color 0.2s, color 0.2s;
}

.single-series-nav__link:hover {
	border-color: #c1455d;
	color: #c1455d;
	text-decoration: none;
}

.single-series-nav__link.-next {
	text-align: right;
}

.single-series-nav__dir {
	font-size: 0.75rem;
	opacity: 0.6;
}

.single-series-nav__title {
	font-size: 0.9rem;
	line-height: 1.5;
}

.single-series-nav__archive {
	margin-top: 16px;
	text-align: center;
	font-size: 0.85rem;
}

.single-series-nav__archive a {
	color: inherit;
	text-decoration: underline;
}

.single-series-nav__archive a:hover {
	color: #c1455d;
}

/* =============================
   個別記事ページ：コメント欄・著者ボックスを非表示
   ============================= */
.single #comments,
.single .p-entry__author {
	display: none !important;
}

/* =============================
   カバーブロックリンク：ホバーで画像ズーム
   （理玄異聞録紹介ページ等）
   ============================= */
.has-cover-block-link {
	overflow: hidden;
}

.has-cover-block-link .wp-block-cover__image-background {
	transition: transform 0.25s ease;
}

.has-cover-block-link:hover .wp-block-cover__image-background {
	transform: scale(1.08);
}

/* =============================
   ホバーカラー統一：#c1455d
   ============================= */

/* ヘッダーナビ */
.c-gnav__li:hover,
.c-gnav__li.focus {
	color: #c1455d !important;
}

/* 投稿カード（アーカイブ・関連記事）：画像オーバーレイを #c1455d に */
.p-postList__link:hover .c-postThumb:before {
	background-color: #c1455d;
	opacity: 0.1;
}

/* 投稿カード：タイトルをホバーで #c1455d に */
.p-postList__link:hover .p-postList__title {
	color: #c1455d;
}

/* サイト内の一般テキストリンク（コンテンツ・ウィジェット等） */
.c-entry a:hover,
.c-postContent a:hover,
.p-entry__content a:hover,
.c-widget a:hover,
.widget a:hover,
.wp-block-latest-posts a:hover {
	color: #c1455d;
}

/* パンくず */
.p-breadcrumb a:hover {
	color: #c1455d;
}

/* ページヘッダー背景色 */
.p-topArea.-noimg {
	background: #471833;
}

/* 雑記 TOPセクション -------------------------------- */
.jt-section {
	padding: 0.5rem 0 1.5rem;
}

/* 2カラム：flexboxで左右を同じ高さに揃える */
.jt-grid {
	--jt-feature-max-height: min(900px, calc(100vh - 2rem));
	display: flex !important;
	flex-direction: row !important;
	gap: 1.5rem;
	align-items: stretch !important;
	max-height: var(--jt-feature-max-height);
}

@supports (height: 100svh) {
	.jt-grid {
		--jt-feature-max-height: min(900px, calc(100svh - 2rem));
	}
}

/* 左カラム：最新記事を最大1画面分まで表示 */
.jt-col-left {
	flex: 1 1 0 !important;
	min-width: 0;
	max-height: var(--jt-feature-max-height);
	background: rgba(71, 24, 51, 0.08);
	border-radius: 6px;
	padding: 0.9rem;
	overflow: hidden;
	display: flex !important;
	flex-direction: column !important;
}

/* 右カラム：左と同じ高さになり2枚で均等分割 */
.jt-col-right {
	flex: 1 1 0 !important;
	min-width: 0;
	max-height: var(--jt-feature-max-height);
	display: flex !important;
	flex-direction: column !important;
	gap: 1rem;
	align-self: stretch !important;
}

/* 右カード：右カラムの高さを2等分 */
.jt-card {
	flex: 1 1 0 !important;
	min-height: 0 !important;
	background: rgba(71, 24, 51, 0.04);
	border-radius: 6px;
	padding: 0.9rem;
	overflow: hidden;
	display: flex !important;
	flex-direction: column !important;
}

/* 日付 */
.jt-date {
	font-size: 0.78rem;
	color: #999;
	letter-spacing: 0.06em;
	margin-bottom: 0.5rem;
}

/* 画像：TOPページでは非表示 */
.jt-thumb {
	display: none;
}

/* 本文共通 */
.jt-content {
	font-size: 0.88rem;
	line-height: 1.8;
	margin-bottom: 0.5rem;
}
.jt-content p { margin: 0 0 0.3em; }
.jt-content figure { margin: 0 0 0.75em; }

/* 左カラム（全文）：画像を制限なしで表示 */
.jt-content--full figure img {
	width: 100%;
	height: auto;
	border-radius: 4px;
}

/* 右カラム（省略）：画像はコンパクトに */
.jt-content--card figure img {
	width: 100%;
	max-height: 160px;
	object-fit: cover;
	border-radius: 4px;
}

/* 左：本文が長い場合は末尾をフェードしてリンクへつなぐ */
.jt-content--full {
	position: relative;
	flex: 1 1 auto;
	min-height: 0;
	max-height: none !important;
	overflow: hidden !important;
}
.jt-content--full::after {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 3.5em;
	background: linear-gradient(transparent, #f5f0f2);
	pointer-events: none;
}

/* 右：省略表示（カード内で余った空間を埋めつつオーバーフローを隠す） */
.jt-content--card {
	position: relative;
	flex: 1;
	min-height: 0;
	overflow: hidden;
}
.jt-content--card::after {
	content: '';
	position: absolute;
	bottom: 0; left: 0; right: 0;
	height: 2.5em;
	background: linear-gradient(transparent, #fff);
	pointer-events: none;
}

/* 続きリンク */
.jt-more {
	display: block;
	text-align: right;
	font-size: 0.78rem;
	font-weight: bold;
	color: #999;
	text-decoration: none;
	margin-top: 0.5rem;
}
.jt-more:hover { color: #c1455d; }

/* 「他の記録を見る」 */
.jt-footer {
	text-align: right;
	margin-top: 1.2rem;
}
.jt-footer a {
	font-size: 0.9rem;
	font-weight: bold;
	color: #471833;
	text-decoration: none;
	border-bottom: 1px solid rgba(71, 24, 51, 0.3);
	padding-bottom: 1px;
}
.jt-footer a:hover { color: #c1455d; border-bottom-color: #c1455d; }

/* 空状態 */
.jt-empty {
	text-align: center;
	color: #ccc;
	font-size: 0.85rem;
	padding: 1rem 0;
}

/* SP：縦積みに */
@media (max-width: 640px) {
	.jt-grid {
		--jt-feature-max-height: min(760px, calc(100vh - 1rem));
		flex-direction: column !important;
		max-height: none;
	}
	.jt-col-left {
		flex: none !important;
		max-height: var(--jt-feature-max-height);
	}
	.jt-content--full {
		flex: none;
		max-height: calc(var(--jt-feature-max-height) - 6.5rem) !important;
	}
	.jt-col-right {
		flex: none !important;
		max-height: none;
	}
	.jt-card {
		flex: none !important;
		max-height: calc((var(--jt-feature-max-height) - 1rem) / 2);
	}
	.jt-content--card {
		max-height: none;
	}
}
@supports (height: 100svh) {
	@media (max-width: 640px) {
		.jt-grid {
			--jt-feature-max-height: min(760px, calc(100svh - 1rem));
		}
	}
}
/* 墨伏綴 カラーテーマ（ベース:#6d5972 / アクセント:#5c93bd） */
.page-id-1746 .p-topArea,
.page-id-1747 .p-topArea { background: #6d5972 !important; }

/* 墨伏綴 扉ページ ----------------------------------- */
.gate-wrap {
	max-width: 720px;
	margin: 0 auto;
	padding: 2rem 0 4rem;
	font-family: inherit;
}
.gate-notices {
	background: #faf8f5;
	border: 1px solid rgba(109,89,114,0.15);
	border-radius: 4px;
	margin-bottom: 2.5rem;
	overflow: hidden;
}
/* シンプル版 */
.gate-notices--simple {
	text-align: center;
	padding: 2.5rem 2rem;
	border-radius: 4px;
}
.gate-notices--simple .gate-notice-icon {
	margin: 0 auto 1.2rem;
}
.gate-notices--simple h3 {
	font-size: 1.05rem;
	font-weight: 700;
	margin: 0 0 1rem;
	color: #6d5972;
}
.gate-notices--simple p {
	font-size: 0.88rem;
	line-height: 1.9;
	color: #333;
	margin-bottom: 0.8rem;
}
.gate-caution {
	color: #333 !important;
	font-size: 0.88rem !important;
	margin-top: 1.2rem !important;
}
.gate-notice-item {
	display: flex;
	gap: 1.2rem;
	padding: 1.4rem 1.6rem;
	border-bottom: 1px solid rgba(109,89,114,0.1);
	align-items: flex-start;
}
.gate-notice-item:last-child { border-bottom: none; }
.gate-notice-icon {
	flex-shrink: 0;
	width: 2.4rem;
	height: 2.4rem;
	border-radius: 50%;
	background: #6d5972;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.75rem;
	font-weight: bold;
	margin-top: 0.1rem;
}
.gate-notice-icon--18 { font-size: 0.7rem; letter-spacing: -0.03em; }
.gate-notice-body h3 {
	font-size: 0.95rem;
	font-weight: 700;
	margin: 0 0 0.5rem;
	color: #6d5972;
}
.gate-notice-body ul {
	margin: 0;
	padding-left: 1.2em;
	font-size: 0.85rem;
	line-height: 1.7;
	color: #333;
}
.gate-notice-body li { margin-bottom: 0.2em; }
.gate-notice-body strong { color: #5c93bd; }
.gate-quiz { text-align: center; margin-bottom: 2rem; }
.gate-quiz__intro {
	font-size: 0.88rem;
	color: #666;
	margin-bottom: 1.5rem;
	line-height: 1.8;
}
.gate-quiz__stage { min-height: 160px; }
.quiz-progress { font-size: 0.78rem; color: #999; margin-bottom: 0.5rem; }
.quiz-timer {
	font-size: 2.5rem;
	font-weight: 700;
	color: #6d5972;
	line-height: 1;
	margin-bottom: 1rem;
	font-variant-numeric: tabular-nums;
}
.quiz-question { font-size: 1rem; margin-bottom: 1.2rem; line-height: 1.7; }
.quiz-poem { font-style: normal; font-size: 1.05em; letter-spacing: 0.05em; }
.quiz-choices { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
.quiz-btn {
	padding: 0.65em 1.8em;
	background: #6d5972;
	color: #fff;
	border: none;
	cursor: pointer;
	font-size: 0.9rem;
	font-family: inherit;
	transition: background 0.2s;
	line-height: 1.5;
}
.quiz-btn:hover { background: #5c93bd; }
.quiz-result { font-size: 1rem; padding: 1.5rem; font-weight: 500; }
.quiz-result--ok { color: #6d5972; }
.quiz-result--ng { color: #5c93bd; }
.gate-enter { text-align: center; margin-bottom: 2rem; }
.gate-enter-btn {
	display: inline-block;
	padding: 0.75em 2.5em;
	background: #6d5972;
	color: #fff;
	border: none;
	cursor: pointer;
	font-size: 1rem;
	font-family: inherit;
	transition: background 0.2s;
	letter-spacing: 0.05em;
	text-decoration: none;
}
.gate-enter-btn:hover { background: #5c93bd; color: #fff; text-decoration: none; }
.gate-back { text-align: center; font-size: 0.82rem; }
.gate-back a { color: #999; text-decoration: none; }
.gate-back a:hover { color: #6d5972; }
/* -------------------------------------------------- */

/* ---- TOPページ ナビボタン ---- */
.top-nav-btns {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.7rem;
	margin: 0 0 1.8rem;
}
.top-nav-btn {
	display: inline-block;
	padding: 0.5rem 1.3rem;
	border: 1px solid rgba(71, 24, 51, 0.35);
	border-radius: 0;
	font-size: 0.85rem;
	color: #471833;
	text-decoration: none;
	transition: background 0.2s, border-color 0.2s;
	min-width: 12em;
	text-align: center;
}
.top-nav-btn:hover {
	background: rgba(71, 24, 51, 0.08);
	border-color: rgba(71, 24, 51, 0.6);
}
/* -------------------------------------------------- */

/* about セクション内 映像・絵図ボタン：白背景・フォントを about-link に揃える */
.about-media-btns {
	justify-content: flex-start;
	margin: 1rem 0 0;
}
.about-media-btns .top-nav-btn {
	min-width: auto;
	background: #fff;
	font-size: 0.82rem;
	font-weight: bold;
	border-radius: 4px;
}

/* ---- はじめての方へ（about）ページ ---- */

/* ヒーロー */
.about-hero {
	padding: 1.5rem 1.5rem 2rem;
	text-align: center;
	background: rgba(71, 24, 51, 0.07);
	border-radius: 4px;
}
.about-hero-title {
	color: #471833;
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	margin-bottom: 3rem;
}
.about-hero-title::after {
	content: '';
	display: block;
	width: 2rem;
	height: 2px;
	background: rgba(71, 24, 51, 0.35);
	margin: 0.4rem auto 0;
}
.about-hero p {
	color: #666;
	font-size: 0.9rem;
	line-height: 2.1;
	margin: 2rem 0 0;
}

/* セクションブロック */
.about-section {
	border-radius: 4px;
	background: rgba(71, 24, 51, 0.03);
	padding: 1.8rem 2rem;
	margin-bottom: 1.5rem;
}
.about-section-label {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	font-size: 1.2rem;
	letter-spacing: 0.04em;
	color: #471833;
	font-weight: bold;
	margin-bottom: 1.2rem;
}
.about-section-label::before {
	content: '';
	display: inline-block;
	width: 3px;
	height: 1em;
	background: #471833;
	border-radius: 1px;
	flex-shrink: 0;
}

/* セクション内小見出し */
.about-sub-label {
	font-size: 1.05rem;
	font-weight: bold;
	color: #471833;
	letter-spacing: 0.04em;
	margin: 0 0 0.9rem;
}
.about-sub-label--sep {
	margin-top: 1.8rem;
	padding-top: 1.4rem;
	border-top: 1px solid rgba(71, 24, 51, 0.12);
}

/* 詩的な引用行 */
.about-poetic {
	font-size: 0.88rem;
	color: #471833;
	font-weight: bold;
	line-height: 2.2;
	border-left: 2px solid rgba(71, 24, 51, 0.4);
	padding-left: 1rem;
	margin: 1rem 0;
}

/* 単体カード（理玄異聞録など） */
.about-single-card {
	margin-top: 1rem;
	background: #fff;
	border: 1px solid rgba(71, 24, 51, 0.12);
	border-radius: 4px;
	padding: 1.2rem 1.3rem;
	position: relative;
	transition: border-color 0.2s, background 0.2s;
	display: flex;
	flex-direction: column;
}
.about-single-card:has(.about-link:hover) {
	border-color: #c1455d;
	background: rgba(193, 69, 93, 0.04);
}
.about-single-card .about-link {
	margin-top: auto;
	padding-top: 0.6rem;
	align-self: flex-end;
}
.about-single-card .about-link::after {
	content: '';
	position: absolute;
	inset: 0;
}
.about-single-card h3,
.about-twin h3 {
	font-size: 0.95rem;
	font-weight: bold;
	margin: 0 0 0.5rem;
}

/* セクション内リンク */
.about-link {
	display: inline-block;
	margin-top: 0.9rem;
	font-size: 0.82rem;
	font-weight: bold;
	color: #471833;
	text-decoration: none;
	border-bottom: 1px solid rgba(71, 24, 51, 0.3);
	padding-bottom: 1px;
	transition: color 0.2s, border-color 0.2s;
}
.about-link:hover {
	color: #c1455d;
	border-bottom-color: #c1455d;
}

/* 2カラムグリッド（幕末/現代、ことづて/詞織） */
.about-twin {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	margin-top: 1rem;
}
.about-twin > div {
	background: #fff;
	border: 1px solid rgba(71, 24, 51, 0.12);
	border-radius: 4px;
	padding: 1.2rem 1.3rem;
	display: flex;
	flex-direction: column;
	position: relative;
	transition: border-color 0.2s, background 0.2s;
}
.about-twin > div:has(.about-link:hover) {
	border-color: #c1455d;
	background: rgba(193, 69, 93, 0.04);
}
.about-twin > div .about-link {
	margin-top: auto;
	padding-top: 0.6rem;
	align-self: flex-end;
}
.about-twin > div .about-link::after {
	content: '';
	position: absolute;
	inset: 0;
}
.about-twin h3 {
	font-size: 0.95rem;
	font-weight: bold;
	margin: 0 0 0.5rem;
}
.about-twin p {
	font-size: 0.86rem;
	color: #666;
	line-height: 1.8;
	margin: 0;
}

/* 3カラムグリッド（AI系3棚） */
.about-triple {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 1rem;
	margin-top: 1rem;
}

/* 4カード 2×2 グリッド（AI系4棚） */
.about-quad {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	margin-top: 1rem;
}
.about-triple > div,
.about-quad > div {
	background: #fff;
	border: 1px solid rgba(71, 24, 51, 0.12);
	border-radius: 4px;
	padding: 1.2rem 1.3rem;
	display: flex;
	flex-direction: column;
	position: relative;
	transition: border-color 0.2s, background 0.2s;
}
.about-triple > div:has(.about-link:hover),
.about-quad > div:has(.about-link:hover) {
	border-color: #c1455d;
	background: rgba(193, 69, 93, 0.04);
}
.about-triple > div .about-link,
.about-quad > div .about-link {
	margin-top: auto;
	padding-top: 0.6rem;
	align-self: flex-end;
}
.about-triple > div .about-link::after,
.about-quad > div .about-link::after {
	content: '';
	position: absolute;
	inset: 0;
}
.about-triple h3,
.about-quad h3 {
	font-size: 0.95rem;
	font-weight: bold;
	margin: 0 0 0.5rem;
}
.about-triple p,
.about-quad p {
	font-size: 0.86rem;
	color: #666;
	line-height: 1.8;
	margin: 0;
}
.about-ai-note {
	font-size: 0.86rem;
	color: #666;
	border-top: 1px solid rgba(71, 24, 51, 0.1);
	padding-top: 1rem;
	margin-top: 1.2rem;
}

.about-feedback-cta {
	margin: 1.35rem auto 0;
	padding: 1.15rem 1.2rem;
	max-width: 30rem;
	text-align: center;
	border-top: 1px solid rgba(71, 24, 51, 0.12);
	border-bottom: 1px solid rgba(71, 24, 51, 0.08);
}

.about-feedback-cta__text {
	margin: 0 0 0.85rem;
	color: #666;
	font-size: 0.88rem;
	line-height: 1.8;
}

.about-feedback-cta__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.4rem;
	max-width: min(20rem, 100%);
	padding: 0.6rem 1.35rem;
	border: 1px solid #d46a80;
	border-radius: 999px;
	color: #c1455d;
	background: #fff;
	font-size: 0.86rem;
	font-weight: bold;
	line-height: 1.4;
	text-decoration: none;
	transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.about-feedback-cta__link:hover {
	border-color: #c1455d;
	background: #fff7f8;
	color: #9f3046;
	text-decoration: none;
}

/* 棚グリッド */
.about-shelves {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
	gap: 0.8rem;
	margin: 1rem 0;
}
.about-shelf-card {
	border: 1px solid rgba(71, 24, 51, 0.15);
	border-radius: 4px;
	padding: 1rem 1.1rem;
	text-decoration: none;
	color: inherit;
	display: block;
	transition: border-color 0.2s, background 0.2s;
}
.about-shelf-card:hover {
	border-color: #c1455d;
	background: rgba(193, 69, 93, 0.04);
}
.about-shelf-card:hover .about-shelf-title {
	color: #c1455d;
}
.about-shelf-title {
	font-weight: bold;
	font-size: 0.9rem;
	margin-bottom: 0.3rem;
	transition: color 0.2s;
}
.about-shelf-desc {
	font-size: 0.75rem;
	color: #999;
	line-height: 1.6;
}

/* SNSバッジ */
.about-sns {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-top: 1rem;
	list-style: none;
	padding: 0;
}
.about-sns a {
	font-size: 0.82rem;
	color: #471833;
	text-decoration: none;
	border: 1px solid rgba(71, 24, 51, 0.3);
	padding: 0.25rem 0.9rem;
	border-radius: 3px;
	transition: background 0.2s, color 0.2s;
	display: inline-block;
}
.about-sns a:hover {
	background: #471833;
	color: #fff;
}
.about-sns-grid {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.4rem 1.2rem;
	margin-top: 1rem;
	font-size: 0.82rem;
}
.about-sns-grid dt {
	font-weight: bold;
	color: #471833;
}
.about-sns-grid dd {
	color: #666;
	margin: 0;
}

/* 最後に */
.about-closing {
	text-align: center;
	color: #999;
	font-size: 0.88rem;
	line-height: 2;
	padding: 1rem 0 0.5rem;
}

/* SP */
@media (max-width: 640px) {
	.about-twin   { grid-template-columns: 1fr; }
	.about-triple { grid-template-columns: 1fr; }
	.about-quad   { grid-template-columns: 1fr; }
	.about-shelves { grid-template-columns: 1fr 1fr; }
}
/* -------------------------------------------------- */

/* お問い合わせ・ホームページ メニュー非表示 */
.menu-item-17,
.menu-item-20,
.menu-item-21 {
	display: none;
}

/* グローバルナビ 現在地ハイライト（トップレベル：Arkhe JS が付与） */
.c-gnav__li.-current > .c-gnav__a,
/* 下層ページ：PHP の nav_menu_css_class フィルターが付与（JS に消されない） */
.c-gnav__li.current-menu-ancestor > .c-gnav__a,
.c-gnav__li.current-menu-parent > .c-gnav__a {
	color: #c1455d;
}

/* =============================
   理玄異聞録 紹介セクション（page-id-440）
   about ページと同じ装飾レベルで統一
   ============================= */

.rigen-section {
	border-radius: 4px;
	padding: 1rem 2rem;
	margin-bottom: 0;
}
.page-id-440 .c-entry .rigen-section,
.page-id-440 .p-entry__content .rigen-section {
	margin-top: 0 !important;
}

/* rigen セクション直後の 80px スペーサーを縮小 */
.page-id-440 .wp-block-html + .wp-block-spacer {
	height: 0 !important;
}

/* カード（cover blocks）の下マージンを抑えて persons との余白を揃える */
.page-id-440 .wp-block-columns {
	margin-bottom: 0 !important;
}

/* 共通見出し：about-hero-title と同スタイル（中央・短い下線） */
.rigen-heading {
	font-size: 1.2rem;
	letter-spacing: 0.08em;
	color: #471833;
	font-weight: bold;
	text-align: center;
	margin: 0 0 2rem;
}
.rigen-heading::after {
	content: '';
	display: block;
	width: 2rem;
	height: 2px;
	background: rgba(71, 24, 51, 0.35);
	margin: 0.7rem auto 0;
}

/* ---- 読み味 ---- */
.rigen-yomiai {
	text-align: center;
}
.rigen-yomiai .rigen-heading {
	display: none;
}
.rigen-yomiai__text {
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 2.4;
	color: #666;
	margin: 0 !important;
	letter-spacing: 0.03em;
}

/* ---- この物語で描かれるもの ---- */
.rigen-themes {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}
.rigen-theme {
	padding: 0.4rem 1.2rem;
}
.rigen-theme:first-child {
	padding-left: 0;
}
.rigen-theme__label {
	font-size: 0.88rem;
	font-weight: bold;
	letter-spacing: 0.08em;
	color: #471833;
	margin-bottom: 0.5rem;
	text-align: center;
}
.rigen-theme__text {
	font-size: 0.86rem;
	font-weight: 500;
	line-height: 1.9;
	color: #666;
	margin: 0 auto;
	text-align: center;       /* 中央揃え（display:table から変更） */
	text-wrap: balance;       /* 行を均等割り */
	word-break: auto-phrase;  /* 文節で改行（Chrome系） */
}
@media (max-width: 768px) {
	.rigen-themes {
		grid-template-columns: repeat(2, 1fr);
		gap: 1rem;
	}
	.rigen-theme { border-left: none !important; padding-left: 0 !important; }
}
@media (max-width: 480px) {
	.rigen-themes { grid-template-columns: 1fr; }
}

/* ---- 二人のこと ---- */
.rigen-persons {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.5rem;
	max-width: 720px;
	margin: 0 auto;
}
.rigen-person {
	padding-left: 0;
}
.rigen-person__name {
	font-size: 0.95rem;
	font-weight: bold;
	letter-spacing: 0.06em;
	color: #333;
	margin: 0 0 0.65rem;
	text-align: center;
}
.rigen-person__role {
	font-size: 0.82rem;
	font-weight: 500;
	color: #471833;
	line-height: 1.9;
	margin: 0 0 0.8rem;
	text-align: center;
}
.rigen-person__desc {
	font-size: 0.86rem;
	font-weight: 500;
	line-height: 2.1;
	color: #666;
	margin: 0 auto;
	text-align: center;       /* 短い紹介文は中央揃えの方が左右対称で整う */
	text-wrap: balance;       /* 行を均等割りして末尾1文字落ちを防ぐ */
	word-break: auto-phrase;  /* 文節（単語）単位で改行（Chrome系・日本語向け） */
}
@media (max-width: 600px) {
	.rigen-persons {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
}

/* ---- 作品一覧 案内文 ---- */
.rigen-catalog-lead {
	margin: 0 !important;
	padding: 0.5rem 2rem 1rem;
	text-align: center;
	font-size: 0.86rem;
	font-weight: 500;
	color: #666;
	line-height: 2.1;
	display: table;
	width: 100%;
	box-sizing: border-box;
}

/* -------------------------------------------------- */
/* 本文なしページへのメニューリンク：グレーアウト＆非活性 */
/* -------------------------------------------------- */
.menu-item--disabled > a {
	color: #ccc !important;
	cursor: default !important;
	pointer-events: none !important;
	opacity: 0.55;
}

/* -------------------------------------------------- */
/* 文庫ページ                                           */
/* -------------------------------------------------- */
.library-intro {
	color: #666;
	font-size: 0.95rem;
	line-height: 1.9;
	margin-bottom: 2rem;
}

/* 作品カード一覧 */
.library-works {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.6rem;
	margin-bottom: 3rem;
}

.library-works__card {
	display: grid;
	grid-template-columns: 60% 1fr;
	align-items: stretch;
	text-decoration: none;
	color: inherit;
	overflow: hidden;
	border-radius: 4px;
	position: relative;
	min-height: 120px;
	transition: opacity 0.2s;
}
.library-works__card:hover,
.library-works__card.is-active { opacity: 0.85; }

.library-works__img {
	min-height: 120px;
	background-size: cover;
	background-position: center;
	align-self: stretch;
}

.library-works__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 0.8rem 1rem;
	background: rgba(71,24,51,0.04);
	align-self: stretch;
}

.library-works__title {
	font-size: 1.05rem;
	font-weight: 700;
	text-align: center;
	margin: 0 0 0.3rem;
	color: #471833;
}

.library-works__desc {
	font-size: 0.78rem;
	text-align: center;
	color: #666;
	margin: 0;
	line-height: 1.6;
}

/* ホバーオーバーレイ */
.library-works__card::after {
	content: '';
	position: absolute;
	inset: 0;
	background: #c1455d;
	opacity: 0;
	transition: opacity 0.2s;
	pointer-events: none;
}
.library-works__card:hover::after { opacity: 0.07; }

/* 新着の文庫 */
.library-latest__heading {
	font-size: 1.1rem;
	font-weight: 700;
	color: #471833;
	border-left: 3px solid #c1455d;
	padding-left: 0.6rem;
	margin-bottom: 1.2rem;
}

/* SP */
@media (max-width: 640px) {
	.library-works__card { grid-template-columns: 50% 1fr; min-height: 90px; }
	.library-works__img  { min-height: 90px; }
}

/* -------------------------------------------------- */
/* 雑記アーカイブ（Threads 風）                          */
/* -------------------------------------------------- */
/* 雑記アーカイブ：Arkheサイドバー非表示・メイン全幅 */
.post-type-archive-journal .l-sidebar {
	display: none;
}
.post-type-archive-journal .l-main {
	width: 100% !important;
	max-width: 100% !important;
}

/* フィードは動かさず右余白にサイドバーを絶対配置 */
.journal-layout {
	position: relative;
}

/* journal-sidebar：右余白に絶対配置、中身だけsticky */
.journal-sidebar {
	display: none; /* 幅が足りない場合は非表示 */
}
.journal-sidebar__sticky {
	position: sticky;
	top: calc(var(--ark-header_height, 0px) + 2rem);
}
.journal-sidebar__heading {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: #471833;
	margin: 0 0 0.6rem;
	padding-bottom: 0.4rem;
	border-bottom: 1px solid rgba(71,24,51,0.15);
}
.journal-sidebar__month-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.journal-sidebar__month-list li {
	margin: 0;
	padding: 0;
}
.journal-sidebar__month-list a {
	display: block;
	font-size: 0.8rem;
	color: #555;
	padding: 0.25rem 0;
	text-decoration: none;
	transition: color 0.15s;
}
.journal-sidebar__month-list a:hover {
	color: #c1455d;
}

/* 右余白が200px以上あるときだけサイドバーを表示 */
@media (min-width: 1060px) {
	.journal-sidebar {
		display: block;
		position: absolute;
		right: 0;
		top: 0;
		width: 160px;
		bottom: 0;
	}
}

/* 更新情報（single-post / blog）：1060px 未満でもサイドバーを表示（コンテンツ下に）*/
@media (max-width: 1059px) {
	.single-post .journal-sidebar,
	.blog .journal-sidebar {
		display: block;
		position: static;
		width: 100%;
		padding-top: 1.5rem;
		border-top: 1px solid rgba(71, 24, 51, 0.12);
		margin-top: 2rem;
	}
	.single-post .journal-sidebar__sticky,
	.blog .journal-sidebar__sticky {
		position: static;
	}
}

.journal-archive {
	max-width: 680px;
	margin: 0 auto;
	padding: 2rem 0 4rem;
}

.journal-archive__header {
	text-align: center;
	margin-bottom: 2.5rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid rgba(71,24,51,0.12);
}

.journal-archive__title {
	font-size: 1.4rem;
	font-weight: 700;
	color: #471833;
	margin-bottom: 0.4rem;
}

.journal-archive__desc {
	font-size: 0.85rem;
	color: #999;
	margin: 0;
}

.journal-feed {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.journal-feed__item {
	padding: 1.4rem 1.2rem;
	background: rgba(71,24,51,0.04);
	border-radius: 6px;
	margin-bottom: 0.8rem;
}

.journal-feed__meta {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	margin-bottom: 0.7rem;
}

.journal-feed__meta time {
	font-size: 0.8rem;
	color: #999;
}

.journal-feed__permalink {
	font-size: 0.8rem;
	color: #ccc;
	text-decoration: none;
	transition: color 0.2s;
}

.journal-feed__permalink:hover {
	color: #c1455d;
}

.journal-feed__content {
	font-size: 0.95rem;
	line-height: 1.9;
	color: #333;
}

.journal-feed__content p {
	margin-bottom: 1.25em;
}

.journal-feed__content p:last-child {
	margin-bottom: 0;
}

.journal-feed__pagination {
	margin-top: 2.5rem;
	display: flex;
	justify-content: center;
	gap: 0.5rem;
	flex-wrap: wrap;
}

.journal-feed__pagination .page-numbers {
	padding: 0.4rem 0.8rem;
	border: 1px solid rgba(71,24,51,0.2);
	color: #471833;
	text-decoration: none;
	font-size: 0.85rem;
	border-radius: 3px;
	transition: background 0.2s, color 0.2s;
}

.journal-feed__pagination .page-numbers.current,
.journal-feed__pagination .page-numbers:hover {
	background: #471833;
	color: #fff;
}

/* 続きを見るボタン */
.journal-load-more-wrap {
	text-align: center;
	margin-top: 2rem;
	padding-bottom: 1rem;
}
.journal-load-more-btn {
	display: inline-block;
	padding: 0.65em 3em;
	background: transparent;
	border: 1px solid #c1455d;
	color: #c1455d;
	font-size: 0.9rem;
	letter-spacing: 0.1em;
	cursor: pointer;
	transition: background 0.2s, color 0.2s;
}
.journal-load-more-btn:hover:not(:disabled) {
	background: #c1455d;
	color: #fff;
}
.journal-load-more-btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.journal-feed__empty {
	text-align: center;
	color: #999;
	padding: 3rem 0;
}
.journal-threads-notice {
	font-size: 0.78rem;
	color: #999;
	margin-bottom: 1rem;
	padding-bottom: 0.8rem;
	border-bottom: 1px solid rgba(71,24,51,0.1);
}

/* ことづて帖 YouTube埋め込み 16:9固定 */
.journal-feed__content p > iframe,
.journal-single p > iframe {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
}

/* 雑記シングルページ */
.single-journal .l-sidebar { display: none; }
.single-journal .p-topArea { display: none; }
.single-journal .l-main {
	width: 100% !important;
	max-width: 100% !important;
}

.journal-single {
	max-width: 680px;
	margin: 0 auto;
	padding: 2rem 0 4rem;
}

.journal-single__nav {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
	align-items: center;
	margin-top: 2rem;
	padding-top: 1.2rem;
	border-top: 1px solid rgba(71,24,51,0.1);
}

.journal-single__nav-link {
	font-size: 0.85rem;
	color: #999;
	text-decoration: none;
	transition: color 0.2s;
}
.journal-single__nav-link:hover { color: #c1455d; }
.journal-single__nav-link.-back {
	margin-left: auto;
	color: #471833;
}

/* -------------------------------------------------- */
/* 墨伏綴ことづて帖（sfjournal）                         */
/* -------------------------------------------------- */

/* Arkheサイドバー非表示・メイン全幅 */
.page-template-page-kotodute .l-sidebar,
.single-sfjournal .l-sidebar,
.is-sfjournal .l-sidebar {
	display: none;
}
.page-template-page-kotodute .l-main,
.single-sfjournal .l-main,
.is-sfjournal .l-main {
	width: 100% !important;
	max-width: 100% !important;
}

/* 墨伏綴カラーオーバーライド */
.sfj-layout .journal-feed__item {
	background: rgba(93, 147, 189, 0.06); /* #5c93bd 薄塗り */
}
.sfj-layout .journal-single__nav-link:hover,
.sfj-layout .journal-sidebar__month-list a:hover {
	color: #5c93bd;
}
.sfj-layout .journal-single__nav-link.-back {
	color: #6d5972;
}
.sfj-layout .journal-sidebar__heading {
	border-bottom-color: rgba(93, 147, 189, 0.25);
}

/* ＃パーマリンク：墨伏綴カラー上書き */
.sfj-permalink:hover {
	color: #5c93bd;
}

/* 区切り線 */
.sfj-divider {
	border: none;
	border-top: 1px solid rgba(93, 147, 189, 0.15);
	margin: 0 0 0.8rem;
}

/* 月別見出し（絞り込み時） */
.sfj-month-heading {
	font-size: 0.9rem;
	color: #6d5972;
	margin-bottom: 1.2rem;
	display: flex;
	align-items: center;
	gap: 1rem;
}
.sfj-month-back {
	font-size: 0.8rem;
	color: #999;
	text-decoration: none;
	transition: color 0.2s;
}
.sfj-month-back:hover { color: #5c93bd; }

/* 月別アクティブ状態 */
.sfj-layout .sfj-month-active {
	color: #5c93bd !important;
	font-weight: 600;
}

/* 件数バッジ */
.sfj-count {
	font-size: 0.75rem;
	color: #bbb;
	font-weight: 400;
}

/* 空状態 */
.sfj-empty {
	color: #aaa;
	font-size: 0.9rem;
	text-align: center;
	padding: 3rem 0;
}

/* -------------------------------------------------- */
/* フッター SNS リンク                                  */
/* -------------------------------------------------- */
.footer-sns {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 16px;
	margin-bottom: 1.2rem;
}

.footer-sns a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	opacity: 1;
	transition: opacity 0.2s;
}

.footer-sns a:hover {
	opacity: 0.6;
}

/* SVG ロゴ：正方形グリフ（X・Threads・Instagram・note・Medium・Zenn）*/
.footer-sns__icon--svg {
	width: 24px;
	height: 24px;
	object-fit: contain;
}

/* PNG ロゴ：YouTube・LinkedIn・Substack */
.footer-sns__icon--png {
	width: auto;
	height: 24px;
	object-fit: contain;
}

/* ================================================== */
/* 更新情報一覧（post アーカイブ）                       */
/* ================================================== */
.post-archive__item {
	margin-bottom: 0.5rem;
}

.post-archive__header {
	margin-bottom: 1rem;
}

.post-archive__title {
	font-size: 1.2rem;
	font-weight: 700;
	margin: 0.2em 0 0;
}

.post-archive__title a {
	color: #333;
	text-decoration: none;
}

.post-archive__title a:hover {
	color: #c1455d;
}

.post-archive__content {
	margin-bottom: 1.5rem;
}

.post-archive__divider {
	margin: 2rem 0;
	border: none;
	border-top: 1px solid #eee;
}

/* ================================================== */
/* 更新情報の日付アーカイブ（月別・年別・日別）          */
/* ================================================== */
.update-date-archive {
	max-width: 900px;
	margin: 0 auto;
}

.update-date-archive__title {
	margin: 0 0 2rem;
	font-size: 2rem;
	line-height: 1.5;
}

.update-date-archive__list {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid #dedede;
}

.update-date-archive__item {
	display: flex;
	align-items: baseline;
	gap: 1.25rem;
	padding: 0.85rem 0;
	border-bottom: 1px solid #dedede;
}

.update-date-archive__date {
	flex: 0 0 auto;
	color: #555;
	font-size: 0.85rem;
	white-space: nowrap;
}

.update-date-archive__link {
	min-width: 0;
	color: #c1455d;
	line-height: 1.6;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.update-date-archive__link:hover {
	color: #471833;
	text-decoration: underline;
}

@media (max-width: 600px) {
	.update-date-archive__title {
		font-size: 1.65rem;
	}

	.update-date-archive__item {
		display: block;
	}

	.update-date-archive__date {
		display: block;
		margin-bottom: 0.25rem;
	}
}

/* Optional H2 table of contents inserted with [tsumugi_toc]. */
.tsumugi-toc {
	margin: 3rem 0 4rem;
	padding: 1.5rem 0;
	border-top: 1px solid #eee9e3;
	border-bottom: 1px solid #eee9e3;
}

.tsumugi-toc__title {
	margin: 0 0 0.9rem;
	color: #777;
	font-size: 0.9rem;
	font-weight: 400;
}

.tsumugi-toc__list {
	margin: 0;
	padding-left: 1.7rem;
	columns: 2;
	column-gap: 2.5rem;
}

.tsumugi-toc__item {
	break-inside: avoid;
	margin: 0 0 0.65rem;
	padding-left: 0.15rem;
	line-height: 1.65;
}

.tsumugi-toc__item a {
	color: inherit;
	text-decoration: none;
}

.tsumugi-toc__item a:hover {
	color: #c1455d;
	text-decoration: none;
}

.entry-content h2[id^="tsumugi-toc-"] {
	scroll-margin-top: 5rem;
}

@media (max-width: 700px) {
	.tsumugi-toc {
		margin: 2.5rem 0 3.5rem;
		padding: 1.25rem 0;
	}

	.tsumugi-toc__list {
		columns: 1;
	}
}

/* ================================================== */
/* 通常投稿（post）個別ページ                            */
/* ================================================== */
.post-single__header {
	margin-bottom: 2rem;
}

.post-single__date {
	display: block;
	font-size: 0.8rem;
	color: #999;
	margin-bottom: 0.4em;
	letter-spacing: 0.05em;
}

.post-single__title {
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.5;
	margin: 0;
}

.post-single__content {
	margin-bottom: 3rem;
}

.post-single__nav {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding-top: 2rem;
	border-top: 1px solid #eee;
	font-size: 0.85rem;
}

.post-single__nav-prev,
.post-single__nav-next {
	color: #555;
	text-decoration: none;
	max-width: 48%;
}

.post-single__nav-prev:hover,
.post-single__nav-next:hover {
	color: #c1455d;
}

/* フッター お問い合わせ・プライバシーポリシー リンク      */
/* ================================================== */
/* 404 ページ                                          */
/* ================================================== */
.p-404-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 0 0 4rem;
}

.p-404-visual {
	width: 100%;
}

.p-404-visual__img {
	width: 100%;
	height: auto;
	display: block;
}

.p-404-body {
	text-align: center;
	padding: 2.5rem 1.5rem 0;
	max-width: 480px;
}

.p-404-body__code {
	font-size: 5rem;
	font-weight: 700;
	line-height: 1;
	color: #c1455d;
	margin: 0 0 0.25em;
	letter-spacing: 0.05em;
}

.p-404-body__title {
	font-size: 1.1rem;
	font-weight: 600;
	color: #333;
	margin: 0 0 1em;
}

.p-404-body__text {
	font-size: 0.9rem;
	color: #666;
	line-height: 1.8;
	margin: 0 0 2em;
}

.p-404-body__btn {
	display: inline-block;
	padding: 0.65em 2.2em;
	border: 1px solid #c1455d;
	color: #c1455d;
	font-size: 0.9rem;
	text-decoration: none;
	letter-spacing: 0.08em;
	transition: background 0.2s, color 0.2s;
}

.p-404-body__btn:hover {
	background: #c1455d;
	color: #fff;
}

/* -------------------------------------------------- */
.footer-policy-links {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.85rem;
	margin: 2em 0 0;
	font-size: 0.85rem;
	text-align: center;
}

.footer-feedback-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.45rem;
	max-width: min(20rem, calc(100vw - 3rem));
	padding: 0.65rem 1.4rem;
	border: 1px solid #d46a80;
	border-radius: 999px;
	color: #c1455d;
	line-height: 1.4;
	text-decoration: none;
	background: rgba(255, 255, 255, 0.62);
	transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.footer-feedback-link:hover {
	border-color: #c1455d;
	background: #fff7f8;
	color: #9f3046;
	text-decoration: none;
}

.footer-policy-links__sub {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.45em;
	line-height: 1.8;
}

.footer-policy-links__separator {
	color: #aaa;
}

/* SNS・ポリシーリンク・コピーライトの縦間隔を均等に */
.footer-sns {
	margin-bottom: 0;
}

.c-copyright {
	margin-top: 2em !important;
	font-size: 0.72rem !important;
}

/* ================================================== */
/* フォントサイズ 最小保証                              */
/* 本文：16px（1rem）/ デザイン要素：14px（0.875rem）  */
/* フッター装飾のみ 12px 許容                          */
/* ================================================== */

/* ---- 本文エリア：最低 16px ---- */
/* コンテナ自体 */
.entry-content,
.p-entry__content,
.post-single__content,
.post-archive__content,
.journal-feed__content,
.jt-content,
.p-404-body__text {
	font-size: max(16px, 1em);
}

/* サイト全体の p タグ（ヘッダー・フッター以外）*/
.l-main p,
.l-article p,
.c-entry p,
.p-entry__content p,
.l-container p,
.p-pageContent p,
.entry-content p,
.journal-feed__content p,
.jt-content p,
.wp-block-group p,
.wp-block-media-text__content p,
.wp-block-columns p {
	font-size: max(16px, 1em);
}

/* リストテキストも同様 */
.l-main li,
.entry-content li,
.p-entry__content li {
	font-size: max(16px, 1em);
}

/* has-small-font-size（WP ブロックエディタのクラス）を本文エリアで上書き */
/* Arkhe が !important で定義しているため、こちらも !important が必要 */
/* 例：TOPページのことづて帖説明・作品一覧の各説明文など */
.l-main p.has-small-font-size,
.l-article p.has-small-font-size,
.wp-block-group p.has-small-font-size,
.wp-block-media-text__content p.has-small-font-size,
.p-pageContent p.has-small-font-size {
	font-size: max(16px, 1em) !important;
}

/* ---- デザイン要素：最低 14px ---- */
.jt-date,
.jt-more,
.jt-empty,
.archive-side-block__title,
.journal-archive__desc,
.journal-feed__meta time,
.journal-feed__permalink,
.journal-feed__pagination .page-numbers,
.journal-threads-notice,
.journal-single__nav-link,
.sfj-month-back,
.single-series-nav__dir,
.single-series-nav__archive,
.about-triple p,
.about-quad p,
.about-link,
.about-sns a,
.about-sns-grid,
.about-ai-note,
.about-shelf-desc,
.top-nav-btn,
.post-single__date,
.post-single__nav,
.sf-subnav__list li a,
.gate-back,
.gate-back a,
.quiz-progress,
.gate-notice-body ul {
	font-size: max(14px, 1em);
}

.footer-policy-links a,
.footer-policy-links__placeholder {
	color: #666;
	text-decoration: none;
}

.footer-policy-links .footer-feedback-link {
	color: #c1455d;
}

.footer-policy-links a:hover {
	color: #c1455d;
	text-decoration: underline;
}

.footer-policy-links .footer-feedback-link:hover {
	color: #9f3046;
	text-decoration: none;
}

.footer-policy-links__placeholder {
	color: #999;
	cursor: default;
}

.footer-copyright-notice {
	margin-top: 1.25rem;
	color: #777;
	font-size: 11px;
	line-height: 1.6;
	text-align: center;
}

/* -------------------------------------------------- */
.footer-sumi-link,
.l-footer .footer-sumi-link {
	display: block;
	font-size: 4px;
	color: transparent !important;
	text-decoration: none;
	line-height: 1;
	margin-top: 24px;
	user-select: none;
}

.c-copyright {
	margin-top: 24px;
}

.l-footer__foot {
	padding-bottom: 1.5rem;
}

/* -------------------------------------------------- */
/* 墨伏綴 TOPページ                                     */
/* -------------------------------------------------- */
.sumifuse-top {
	max-width: 900px;
	margin: 0 auto;
	padding: 2rem 1rem 4rem;
}

.sumifuse-series-grid {
	margin-bottom: 2.5rem;
}

/* カテゴリカード 2列 */
.sumifuse-cats {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
	margin-bottom: 4rem;
}

@media (max-width: 600px) {
	.sumifuse-cats {
		grid-template-columns: 1fr;
	}
}

.sumifuse-cat-card__img {
	position: relative;
	aspect-ratio: 4 / 3;
	background-size: cover;
	background-position: center;
	background-color: #3a2535;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.sumifuse-cat-card__img::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(30, 10, 25, 0.875);
}

.sumifuse-cat-card__label {
	position: relative;
	z-index: 1;
	color: #f5eeea;
	font-size: 1.5rem;
	letter-spacing: 0.2em;
	font-weight: 400;
}

.sumifuse-cat-card__body {
	padding: 1rem 0.5rem 0;
	text-align: center;
}

.sumifuse-cat-card__body p {
	font-size: 0.85rem;
	color: #555;
	line-height: 1.8;
	margin-bottom: 1rem;
}

.sumifuse-cat-btn {
	display: inline-block;
	padding: 0.55em 1.6em;
	background: #6d5972;
	color: #fff;
	font-size: 0.9rem;
	text-decoration: none;
	letter-spacing: 0.05em;
	transition: background 0.2s;
}

.sumifuse-cat-btn:hover {
	background: #5c93bd;
	color: #fff;
}

/* 新着セクション */
.sumifuse-recent__heading {
	font-size: 1.1rem;
	text-align: center;
	letter-spacing: 0.3em;
	color: #471833;
	margin-bottom: 2rem;
	font-weight: 400;
}

.page-id-1746 .sumifuse-recent__heading {
	color: #6d5972;
}

.sumifuse-recent__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
	margin-bottom: 2rem;
}

@media (max-width: 720px) {
	.sumifuse-recent__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 480px) {
	.sumifuse-recent__grid {
		grid-template-columns: 1fr;
	}
}

.sumifuse-card {
	display: block;
	text-decoration: none;
	color: inherit;
	border: 1px solid #e8e0e5;
	transition: box-shadow 0.2s;
}

.sumifuse-card:hover {
	box-shadow: 0 2px 12px rgba(109, 89, 114, 0.18);
}

.sumifuse-card__thumb {
	aspect-ratio: 4 / 3;
	background-size: cover;
	background-position: center;
	background-color: #3a2535;
}

.sumifuse-card__thumb.is-no-img {
	background-color: #2e1b2e;
}

.sumifuse-card__body {
	padding: 0.7rem 0.8rem 0.9rem;
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}

.sumifuse-card__badge {
	font-size: 0.72rem;
	color: #5c93bd;
	letter-spacing: 0.05em;
}

.sumifuse-card__title {
	font-size: 0.88rem;
	color: #333;
	line-height: 1.5;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.sumifuse-card__date {
	font-size: 0.75rem;
	color: #999;
}

.sumifuse-recent__more {
	text-align: center;
	margin-top: 1rem;
}

.sumifuse-more-btn {
	display: inline-block;
	padding: 0.6em 2.4em;
	border: 1px solid #6d5972;
	color: #6d5972;
	font-size: 0.9rem;
	text-decoration: none;
	letter-spacing: 0.05em;
	transition: background 0.2s, color 0.2s;
}

.sumifuse-more-btn:hover {
	background: #6d5972;
	color: #fff;
}

.sumifuse-recent__empty {
	text-align: center;
	color: #999;
	font-size: 0.9rem;
	padding: 3rem 0;
}

/* -------------------------------------------------- */
/* 墨伏綴｜文庫ページ (page-sumifuse-novels.php)        */
/* -------------------------------------------------- */

/* シリーズカード 2×2 グリッド */
.sfn-wrap {
	max-width: 800px;
	margin: 0 auto;
}

.sfn-series-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0.8rem;
	margin-bottom: 3rem;
}

@media (max-width: 600px) {
	.sfn-series-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

.sfn-series-card {
	display: block;
	text-decoration: none;
	color: inherit;
	border: 1px solid #ddd5d9;
	transition: box-shadow 0.2s, opacity 0.2s;
	background: #fff;
}

.sfn-series-card:hover {
	box-shadow: 0 2px 12px rgba(109, 89, 114, 0.2);
}

.sfn-series-card.is-active {
	opacity: 0.75;
}

.sfn-series-card__img {
	aspect-ratio: 16 / 9;
	background-size: cover;
	background-position: center;
	background-color: #2e1b2e;
}

.sfn-series-card__img.is-no-img {
	background-color: #2e1b2e;
}

.sfn-series-card__body {
	padding: 0.5rem 0.6rem 0.7rem;
}

.sfn-series-card__name {
	display: block;
	font-size: 0.82rem;
	color: #471833;
	letter-spacing: 0.04em;
	margin-bottom: 0.25rem;
}

.sfn-series-card__desc {
	display: block;
	font-size: 0.7rem;
	color: #888;
	line-height: 1.5;
}

/* 記事一覧 */
.sfn-posts__heading {
	font-size: 1rem;
	text-align: center;
	letter-spacing: 0.25em;
	color: #6d5972;
	margin-bottom: 1.5rem;
	font-weight: 400;
}

.sfn-posts__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.4rem;
	margin-bottom: 2rem;
}

@media (max-width: 700px) {
	.sfn-posts__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 600px) {
	.sfn-series-card__thumb {
		width: 80px;
		min-width: 80px;
	}
}

.sfn-card {
	display: block;
	position: relative;
	text-decoration: none;
	color: inherit;
	border: 1px solid #e8e0e5;
	transition: box-shadow 0.2s;
}

.sfn-card:hover {
	box-shadow: 0 2px 10px rgba(109, 89, 114, 0.18);
}

.sfn-card__new {
	position: absolute;
	top: 0;
	left: 0;
	background: #6d5972;
	color: #fff;
	font-size: 0.65rem;
	padding: 2px 7px;
	letter-spacing: 0.05em;
	z-index: 1;
}

.sfn-card__thumb {
	aspect-ratio: 4 / 3;
	background-size: cover;
	background-position: center;
	background-color: #3a2535;
}

.sfn-card__thumb.is-no-img {
	background-color: #2e1b2e;
}

.sfn-card__body {
	padding: 0.6rem 0.7rem 0.8rem;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.sfn-card__series {
	font-size: 0.7rem;
	color: #999;
	letter-spacing: 0.05em;
}

.sfn-card__title {
	font-size: 0.82rem;
	color: #333;
	line-height: 1.5;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.sfn-card__date {
	font-size: 0.72rem;
	color: #aaa;
}

/* シリーズ別ビュー：ヘッダー */
.sfn-series-header {
	margin-bottom: 1.5rem;
}

.sfn-series-header__back {
	display: inline-block;
	font-size: 0.8rem;
	color: #999;
	text-decoration: none;
	margin-bottom: 0.5rem;
}

.sfn-series-header__back:hover {
	color: #6d5972;
}

.sfn-series-header__title {
	font-size: 1.1rem;
	color: #6d5972;
	font-weight: 400;
	letter-spacing: 0.1em;
	border-bottom: 1px solid #e0d8e4;
	padding-bottom: 0.6rem;
	margin-top: 0;
}

/* シリーズ別ビュー：3列グリッド */
.sfn-posts__grid--series {
	grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 640px) {
	.sfn-posts__grid--series {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* =============================
   映像・絵図 カードグリッド
   ============================= */

.visuals-grid {
	display: grid;
	gap: 1.75rem;
	grid-template-columns: repeat(3, 1fr);
	margin-bottom: 2rem;
}
@media (max-width: 1024px) {
	.visuals-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.visuals-grid { grid-template-columns: 1fr; }
}

.visuals-card__link {
	display: block;
	color: inherit;
	text-decoration: none;
}
.visuals-card__link:hover { text-decoration: none; }

/* サムネイル枠（映像：16:9） */
.visuals-card__thumb-wrap {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #1a1a1a;
}
/* サムネイル枠（絵図：4:3） */
.visuals-grid--picture .visuals-card__thumb-wrap {
	aspect-ratio: 4 / 3;
	background: #f0ede8;
}

.visuals-card__thumb-wrap img.visuals-card__thumb {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
	display: block;
}
/* 縦動画・縦長サムネイル：左右余白あり */
.visuals-card__thumb-wrap--portrait img.visuals-card__thumb,
.visuals-card__thumb-wrap--tall    img.visuals-card__thumb {
	object-fit: contain;
}
.visuals-card__thumb-placeholder {
	width: 100%;
	height: 100%;
	background: #2a2a2a;
}

/* ホバー：オーバーレイ + タイトル色変更 */
.visuals-card__thumb-wrap::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(193, 69, 93, 0);
	transition: background 0.2s ease;
	pointer-events: none;
}
.visuals-card__link:hover .visuals-card__thumb-wrap::after,
.visuals-card--picture:hover .visuals-card__thumb-wrap::after {
	background: rgba(193, 69, 93, 0.18);
}
.visuals-card__link:hover .visuals-card__thumb,
.visuals-card--picture:hover .visuals-card__thumb {
	transform: scale(1.03);
}
.visuals-card__link:hover .visuals-card__title {
	color: #c1455d;
}
/* 絵図カードはライトボックスで開くため <a> なし → cursor を明示 */
.visuals-card--picture {
	cursor: pointer;
}

/* カード本文 */
.visuals-card__body {
	padding: 0.6rem 0.15rem;
}
.visuals-card__title {
	font-size: 0.93rem;
	font-weight: bold;
	margin: 0 0 0.2rem;
	line-height: 1.45;
	transition: color 0.2s;
}
.visuals-card__date {
	display: block;
	font-size: 0.78rem;
	color: #999;
	margin-bottom: 0.35rem;
}
.visuals-card__excerpt {
	font-size: 0.8rem;
	color: #666;
	margin: 0;
	line-height: 1.6;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* タイトル非表示 */
.visuals-card--no-title .visuals-card__title {
	display: none;
}

/* ページネーション */
.visuals-pagination { margin-top: 1.5rem; }

/* 続きを見るボタン */
.visuals-load-more-wrap {
	text-align: center;
	margin-top: 2rem;
	padding-bottom: 0.5rem;
}
.visuals-load-more-btn {
	display: inline-block;
	padding: 0.65em 3em;
	background: transparent;
	border: 1px solid #c1455d;
	color: #c1455d;
	font-size: 0.9rem;
	letter-spacing: 0.1em;
	cursor: pointer;
	transition: background 0.2s, color 0.2s;
}
.visuals-load-more-btn:hover:not(:disabled) {
	background: #c1455d;
	color: #fff;
}
.visuals-load-more-btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/* =============================
   絵図ライトボックス
   ============================= */
#lb-overlay {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 100001;
	background: rgba(0, 0, 0, 0.92);
}
#lb-overlay.is-open { display: block; }
#lb-bg {
	position: absolute;
	inset: 0;
}
/* 画像＋タイトル＋矢印を画面中央に配置 */
#lb-content {
	position: absolute;
	top: 50px;
	bottom: 20px;
	left: 70px;
	right: 70px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	z-index: 1;
}
#lb-img {
	display: block;
	max-width: 100%;
	max-height: calc(100% - 80px);
	width: auto;
	height: auto;
	object-fit: contain;
	transition: opacity 0.2s;
}
#lb-title {
	flex-shrink: 0;
	color: rgba(255, 255, 255, 0.6);
	font-size: 0.8rem;
	margin-top: 8px;
	text-align: center;
	letter-spacing: 0.05em;
}
#lb-close {
	position: absolute;
	top: 14px;
	right: 18px;
	z-index: 2;
	background: none;
	border: none;
	color: rgba(255, 255, 255, 0.7);
	font-size: 1.6rem;
	cursor: pointer;
	line-height: 1;
	padding: 4px 8px;
	transition: color 0.2s;
}
#lb-close:hover { color: #fff; }
/* デスクトップ：矢印は lb-content 内で絶対配置・左右に張り付く */
.lb-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	background: rgba(255, 255, 255, 0.12);
	border: none;
	color: #fff;
	font-size: 2.4rem;
	width: 56px;
	height: 100px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s;
	line-height: 1;
}
.lb-arrow:hover:not(:disabled) { background: rgba(255, 255, 255, 0.25); }
.lb-arrow:disabled { opacity: 0.3; cursor: not-allowed; }
#lb-prev::before {
	content: '';
	display: block;
	width: 10px;
	height: 10px;
	border-top: 2px solid #fff;
	border-left: 2px solid #fff;
	transform: rotate(-45deg) translateX(2px);
}
#lb-next::before {
	content: '';
	display: block;
	width: 10px;
	height: 10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg) translateX(-2px);
}
#lb-nav {
	display: contents;
}
#lb-prev { left: -70px; }
#lb-next { right: -70px; }
/* スマホ：矢印を画像の真下に横並び */
@media (max-width: 600px) {
	#lb-content {
		left: 0;
		right: 0;
	}
	#lb-img {
		max-height: calc(100% - 80px);
	}
	#lb-nav {
		display: flex;
		gap: 24px;
		margin-top: 12px;
		flex-shrink: 0;
	}
	.lb-arrow {
		position: static;
		transform: none;
		width: 72px;
		height: 48px;
		font-size: 1.4rem;
		border-radius: 4px;
	}
}

/* =============================
   映像・絵図 個別ページ タイトル
   ============================= */
.visuals-single__title {
	font-size: 1.25rem;
	line-height: 1.5;
	margin: 0 0 1rem;
	font-weight: bold;
}

/* =============================
   映像 個別ページ
   ============================= */

/* 横動画 */
.visuals-single--video .wp-block-video {
	max-width: 900px;
	margin: 0 auto 1.5rem;
}
.visuals-single--video .wp-block-video video {
	width: 100% !important;
	height: auto !important;
	display: block;
	aspect-ratio: 16 / 9 !important;
	object-fit: contain;
	background: #000;
}
/* 縦動画 */
.visuals-single--video.visuals-single--portrait .wp-block-video {
	max-width: 420px;
	margin: 0 auto;
}
.visuals-single--video.visuals-single--portrait .wp-block-video video {
	max-height: calc(100vh - 280px) !important;
	width: auto !important;
	height: auto !important;
	max-width: 100% !important;
	display: block;
	margin: 0 auto;
	aspect-ratio: unset;
}

/* =============================
   絵図 個別ページ
   ============================= */

.visuals-single__hero-image {
	max-width: 960px;
	margin: 0 auto 2rem;
	text-align: center;
}
.visuals-single__hero-image img {
	width: auto !important;
	height: auto !important;
	max-width: 100% !important;
	max-height: calc(100vh - 280px) !important;
	display: block;
	margin: 0 auto;
}
/* 縦長画像は横幅を抑えて中央 */
.visuals-single--portrait .visuals-single__hero-image {
	max-width: 560px;
}

/* =============================
   前後ナビ（映像・絵図）
   ============================= */

.visuals-nav {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.5rem 0;
	border-top: 1px solid #e5e5e5;
	margin-top: 2rem;
}
.visuals-nav__prev,
.visuals-nav__next { flex: 1; }
.visuals-nav__next { text-align: right; }
.visuals-nav__back { flex-shrink: 0; text-align: center; }

.visuals-nav__link {
	display: block;
	text-decoration: none;
	color: inherit;
}
.visuals-nav__link--right { text-align: right; }
.visuals-nav__link:hover,
.visuals-nav__link:hover .visuals-nav__label,
.visuals-nav__link:hover .visuals-nav__title { color: #c1455d; text-decoration: none; }

.visuals-nav__label {
	display: block;
	font-size: 0.78rem;
	color: #999;
	margin-bottom: 0.25rem;
	transition: color 0.2s;
}
.visuals-nav__title {
	font-size: 0.88rem;
	line-height: 1.4;
	transition: color 0.2s;
}
.visuals-nav__back-link {
	font-size: 0.83rem;
	color: #666;
	text-decoration: none;
	border: 1px solid #ccc;
	padding: 0.35rem 0.9rem;
	border-radius: 3px;
	white-space: nowrap;
	transition: color 0.2s, border-color 0.2s;
}
.visuals-nav__back-link:hover {
	color: #c1455d;
	border-color: #c1455d;
	text-decoration: none;
}
.is-sumifuse .visuals-nav__back-link:hover {
	color: #5c93bd;
	border-color: #5c93bd;
}
.is-sumifuse .visuals-nav__link:hover,
.is-sumifuse .visuals-nav__link:hover .visuals-nav__label,
.is-sumifuse .visuals-nav__link:hover .visuals-nav__title {
	color: #5c93bd;
}

@media (max-width: 600px) {
	.visuals-nav {
		flex-direction: column;
		align-items: stretch;
	}
	.visuals-nav__next {
		text-align: left;
		order: 3;
	}
	.visuals-nav__back {
		order: 2;
		text-align: center;
	}
}

/* ================================================================
   墨伏綴ページ共通カラーテーマ（.is-sumifuse）
   ベース: #6d5972  アクセント: #5c93bd
   ================================================================ */

/* リンク色 */
.is-sumifuse a {
	color: #6d5972;
}
.is-sumifuse a:hover {
	color: #5c93bd;
}

/* Arkhe テーマのアクセントカラー上書き */
.is-sumifuse .c-textLink,
.is-sumifuse .wp-block-button__link {
	color: #6d5972;
}

/* シリーズビューのサイドバー：メイン見出しに高さを合わせる */
.page-id-1767 .archive-layout__side,
.page-id-1768 .archive-layout__side,
.is-sumifuse .archive-layout__side {
	padding-top: 0.75rem;
}

/* サイドバー：アクティブ・ホバー */
.is-sumifuse .archive-side-block__item a:hover {
	color: #5c93bd;
}
.is-sumifuse .archive-side-block__item.is-active a {
	color: #6d5972;
	font-weight: 600;
}

/* ページネーション */
.is-sumifuse .page-numbers.current,
.is-sumifuse .archive-pagination .page-numbers.current {
	background: #6d5972;
	border-color: #6d5972;
	color: #fff;
}
.is-sumifuse .page-numbers:not(.current):hover,
.is-sumifuse .archive-pagination .page-numbers:not(.current):hover {
	color: #5c93bd;
	border-color: #5c93bd;
}

/* 前後ナビ（single-series-nav）：sumifuse ではホバー色を青系に */
.is-sumifuse .single-series-nav__link:hover {
	border-color: #5c93bd;
	color: #5c93bd;
}
.is-sumifuse .single-series-nav__link:hover .single-series-nav__dir,
.is-sumifuse .single-series-nav__link:hover .single-series-nav__title {
	color: #5c93bd;
}
.is-sumifuse .single-series-nav__archive a:hover {
	color: #5c93bd;
}

/* ボタン（白テキストを明示して上書き防止） */
.is-sumifuse .gate-enter-btn,
.is-sumifuse .sumifuse-cat-btn,
.is-sumifuse .sumifuse-more-btn,
.is-sumifuse .sfn-cat-btn {
	background: #6d5972;
	color: #fff;
}
.is-sumifuse .gate-enter-btn:hover,
.is-sumifuse .sumifuse-cat-btn:hover,
.is-sumifuse .sfn-cat-btn:hover {
	background: #5c93bd;
	color: #fff;
}

/* 続きを見るボタン */
.is-sumifuse .visuals-load-more-btn {
	border-color: #6d5972;
	color: #6d5972;
}
.is-sumifuse .visuals-load-more-btn:hover {
	background: #6d5972;
	color: #fff;
}

/* タイトル帯（page-id 指定より汎用的に） */
.is-sumifuse .p-topArea.-noimg {
	background: #6d5972;
}


/* パンくず */
.is-sumifuse .c-breadcrumb a:hover {
	color: #5c93bd;
}

/* sfn カードバッジ・series色 */
.is-sumifuse .sfn-card__badge,
.is-sumifuse .sumifuse-card__badge {
	color: #5c93bd;
}
.is-sumifuse .sfn-card__series {
	color: #aaa;
}

/* シリーズカードのタイトル色（#471833 → sumifuse色に） */
.is-sumifuse .sfn-series-card__name {
	color: #6d5972;
}

/* カードホバー時のタイトル色 */
.is-sumifuse .sumifuse-card:hover .sumifuse-card__title,
.is-sumifuse .sfn-card:hover .sfn-card__title {
	color: #6d5972;
}

/* 絵図カードホバー：赤 → 青紫に差し替え */
.is-sumifuse .visuals-card__link:hover .visuals-card__thumb-wrap::after,
.is-sumifuse .visuals-card--picture:hover .visuals-card__thumb-wrap::after {
	background: rgba(92, 147, 189, 0.18);
}
.is-sumifuse .visuals-card__link:hover .visuals-card__title {
	color: #5c93bd;
}

/* ============================================================
   タグ表示
   ============================================================ */
.post-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0 0.5em;
	line-height: 1.8;
}
.post-tag {
	color: #c1455d;
	text-decoration: none;
	font-size: 0.85em;
	white-space: nowrap;
}
.post-tag:hover {
	text-decoration: underline;
}

/* タグアーカイブ heading */
.archive-tag-heading {
	font-size: 1.2em;
	margin-bottom: 1.5em;
	color: #471833;
}

/* タグアーカイブ 投稿リスト */
.tsg-tag-list {
	display: flex;
	flex-direction: column;
	gap: 1.2em;
}
.tsg-tag-list__link {
	display: flex;
	gap: 1em;
	text-decoration: none;
	color: inherit;
}
.tsg-tag-list__thumb {
	flex-shrink: 0;
	width: 100px;
}
.tsg-tag-list__thumb img {
	width: 100%;
	height: 70px;
	object-fit: cover;
	display: block;
}
.tsg-tag-list__body {
	display: flex;
	flex-direction: column;
	gap: 0.3em;
}
.tsg-tag-list__date {
	font-size: 0.8em;
	color: #999;
}
.tsg-tag-list__title {
	font-size: 0.95em;
	margin: 0;
	font-weight: normal;
	line-height: 1.5;
}
.tsg-tag-list__link:hover .tsg-tag-list__title {
	color: #c1455d;
}

/* 絵図個別ページ：続きを見るボタン */
.pic-load-more-wrap {
	text-align: center;
	margin: 2rem 0;
}
.pic-load-more-btn {
	padding: 0.6rem 2rem;
	background: transparent;
	border: 1px solid rgba(71,24,51,0.3);
	border-radius: 2px;
	color: #471833;
	font-size: 0.9rem;
	cursor: pointer;
	transition: background 0.15s, color 0.15s;
}
.pic-load-more-btn:hover:not(:disabled) {
	background: #471833;
	color: #fff;
}
.pic-load-more-btn:disabled {
	opacity: 0.5;
	cursor: wait;
}
.is-sumifuse .pic-load-more-btn {
	border-color: rgba(109,89,114,0.4);
	color: #6d5972;
}
.is-sumifuse .pic-load-more-btn:hover:not(:disabled) {
	background: #6d5972;
	color: #fff;
}

/* TOPページ メインビジュアル */
.page-id-6 .wp-block-group.alignfull .wp-block-image img {
	max-height: 80vh;
	width: auto;
	display: block;
	margin: 0 auto;
}

/* 個別記事：投稿メタの表示順（カテゴリ → コンテンツ種別 → タグ） */
.c-postTerms__item.-tax { order: 1; }
.c-postTerms__item.-tag { order: 2; }

/* ── 行末で1文字だけ落ちる「泣き別れ」防止（見出し・短い説明文） ── */
/* 文庫一覧のシリーズカード（タイトル＋説明）・TOP（.p-front__content）・理玄異聞録紹介ページ(ID:440) の見出し */
.library-works__title,
.library-works__desc,
.p-front__content :is(h1, h2, h3, h4),
.page-id-440 .c-postContent :is(h1, h2, h3, h4) {
	text-wrap: balance;       /* 行を均等割りして末尾の1文字残りを防ぐ（Chrome/Safari/Firefox） */
	word-break: auto-phrase;  /* 文節単位で改行（Chrome系のみ・日本語向け） */
}
/* TOP・紹介ページの段落は均等割りのみ（長い本文はブラウザが自動的に対象外にするため影響なし） */
.p-front__content p,
.page-id-440 .c-postContent p {
	text-wrap: balance;
}

/* WordPress video shortcode: keep inline pixel widths inside the article. */
.single-layout__main,
.single-layout__main article,
.single-layout__main .c-postContent {
	min-width: 0;
	max-width: 100%;
}

.single-layout__main .wp-video,
.single-layout__main .mejs-container,
.single-layout__main .wp-video-shortcode {
	width: 100% !important;
	max-width: 100% !important;
}

.single-layout__main .wp-video {
	height: auto !important;
}

.single-layout__main .wp-video-shortcode {
	display: block;
	height: auto !important;
	aspect-ratio: 16 / 9;
	object-fit: contain;
	background: #000;
}

/* Kotodute feedback iframe appended to selected story chapters. */
.kotodute-feedback-embed {
	position: relative;
	margin: 10rem auto 0 !important;
	max-width: 680px;
}

.kotodute-feedback-embed::before {
	content: "";
	position: absolute;
	top: -5rem;
	left: 50%;
	width: min(220px, 42vw);
	height: 1px;
	background: #e6ded3;
	transform: translateX(-50%);
}

.kotodute-feedback-embed__iframe {
	width: 100%;
	border: 0;
	background: transparent;
	display: block;
}

/* TOP latest updates: keep the date intact and let only the title wrap. */
.page-id-6 .wp-block-query .blog-date {
	flex: 0 0 auto;
	white-space: nowrap;
}

.page-id-6 .wp-block-query .blog-title {
	min-width: 0;
	margin: 0;
	overflow-wrap: anywhere;
}

/* Reliable same-site preview cards for auto-generated update posts. */
.tsumugi-internal-embed {
	margin: 1.5rem 0;
	border: 1px solid #dedede;
	background: #fff;
}

.tsumugi-internal-embed__link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.tsumugi-internal-embed__media {
	overflow: hidden;
	border-bottom: 1px solid #e5e5e5;
	aspect-ratio: 16 / 9;
	background: #f5f5f5;
}

.tsumugi-internal-embed__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tsumugi-internal-embed__body {
	padding: 1.25rem 1.4rem;
}

.tsumugi-internal-embed__title {
	margin: 0;
	font-size: 1.15rem;
	line-height: 1.55;
}

.tsumugi-internal-embed__excerpt {
	margin: 0.65rem 0 0;
	color: #555;
	font-size: 0.9rem;
	line-height: 1.7;
}

.tsumugi-internal-embed__url {
	display: block;
	margin-top: 0.75rem;
	color: #888;
	font-size: 0.75rem;
}

.tsumugi-internal-embed__link:hover .tsumugi-internal-embed__title {
	color: #c1455d;
}

@media (max-width: 600px) {
	.tsumugi-internal-embed__body {
		padding: 1rem;
	}

	.tsumugi-internal-embed__title {
		font-size: 1rem;
	}
}
