/* ==========================================================================
   Aruchu INN — 子テーマ CSS
   表：暖かいRPGの宿屋 / 裏：堅実なSEOメディア
   色は正式アセットからサンプリングした値（根拠はコメント参照）
   ========================================================================== */

:root {
	/* 設計書3.2 の8変数 */
	--inn-wood-dark: #2a1a0f;   /* 背景。宿主決定「暗い木目」。wood-deep をさらに沈めた値 */
	--inn-wood: #77350b;        /* panel_wood_large.png 中央の中央値 */
	--inn-parchment: #fee3ab;   /* panel_parchment_wide.png 中央の中央値 */
	--inn-stone: #62666a;       /* decoration_stone_wall.png 石部分の中央値 */
	--inn-blue: #0051b3;        /* ui_more.png 地色 */
	--inn-green: #016c34;       /* ui_details.png 地色 */
	--inn-gold: #e5971f;        /* divider_gold.png 金色部分 */
	--inn-text: #241509;        /* 本文。羊皮紙上で高コントラストの濃茶 */

	/* 補助 */
	--inn-wood-deep: #4a2204;   /* nav_*.png の外枠 */
	--inn-wood-night: #1d120a;  /* フッター */
	--inn-parchment-light: #feebbd; /* category_*.png ラベル帯 */
	--inn-gold-light: #f3aa24;  /* category_*.png の金枠 */
	--inn-red: #cf1f25;         /* heading_new.png */
	--inn-text-light: #f6e7c8;  /* 暗い木の上の文字 */
	--inn-text-muted: #6b5236;

	--inn-ui-font: "InnUI", "Hiragino Maru Gothic ProN", "Yu Gothic UI", "Meiryo", sans-serif;
	--inn-outline: 0 2px 0 var(--inn-wood-deep), 1px 1px 0 var(--inn-wood-deep), -1px 1px 0 var(--inn-wood-deep), 1px -1px 0 var(--inn-wood-deep), -1px -1px 0 var(--inn-wood-deep);
	--inn-container: 1166px;
}

/* ---------- 全体 ---------- */
body,
#body_wrap {
	background: var(--inn-wood-dark);
}
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}
:where(.inn-header, .inn-top, .inn-footer) a:focus-visible {
	outline: 3px solid var(--inn-gold-light);
	outline-offset: 2px;
	border-radius: 4px;
}

/* ---------- ヘッダー ---------- */
.l-header.inn-header {
	background: none;
	box-shadow: none;
	position: relative;
	z-index: 10;
}
.inn-header__bar {
	max-width: calc(var(--inn-container) + 32px);
	margin: 0 auto;
	padding: 10px 16px 6px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 16px;
}
.inn-header__brand {
	margin-right: auto;
	line-height: 0;
}
.inn-brand img {
	width: 211px; /* 422px の1/2（整数比） */
	height: auto;
}
.inn-header__tools {
	display: flex;
	align-items: center;
	gap: 12px;
}

/* 検索（ui_search.png の配色をCSSで再現） */
.inn-search {
	display: flex;
	align-items: stretch;
	height: 38px;
	border: 3px solid var(--inn-wood-deep);
	border-radius: 7px;
	box-shadow: 0 0 0 1px var(--inn-gold), 0 2px 0 rgba(0, 0, 0, .35);
	overflow: hidden;
	background: var(--inn-parchment-light);
}
.inn-search__input {
	width: 220px;
	border: 0;
	background: transparent;
	padding: 0 10px;
	font-size: 14px;
	color: var(--inn-text);
	outline: none;
}
.inn-search__input::placeholder {
	color: var(--inn-text-muted);
}
.inn-search__btn {
	width: 40px;
	border: 0;
	border-left: 3px solid var(--inn-wood-deep);
	background: var(--inn-wood);
	color: var(--inn-parchment);
	display: grid;
	place-items: center;
	cursor: pointer;
}
.inn-search:focus-within {
	box-shadow: 0 0 0 2px var(--inn-gold-light), 0 2px 0 rgba(0, 0, 0, .35);
}

/* ---------- メインビジュアル（付録A） ---------- */
.inn-mv {
	max-width: calc(var(--inn-container) + 32px);
	margin: 0 auto;
	padding: 4px 16px 0;
	text-align: center;
}
.inn-mv__title {
	margin: 0;
	line-height: 0;
}
.inn-mv__img {
	width: 100%;
	max-width: var(--inn-container);
	height: auto;
	image-rendering: auto;
}
.inn-mv__tagline {
	margin: 10px 0 0;
	color: var(--inn-text-light);
	font-size: 14px;
	line-height: 1.6;
	text-align: center;
}
@media (min-width: 1024px) {
	/* 1024px以上は画像内に同じ文言が読めるため視覚的に隠す */
	.inn-mv__tagline {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}
}

/* ---------- グローバルナビ（方式1） ---------- */
.inn-gnav {
	max-width: calc(var(--inn-container) + 32px);
	margin: 0 auto;
	padding: 12px 16px 4px;
}
.inn-gnav__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 4px;
}
.inn-gnav__item {
	margin: 0;
	padding: 0;
}
.inn-navPlate {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: #fff;
	line-height: 1;
	transition: transform .12s ease, filter .12s ease;
}
.inn-navPlate__top {
	display: block;
	max-width: none;
	height: 63px;
}
.inn-navPlate__base {
	height: 47px;
	padding-top: 1px;
	background: var(--inn-navbase-l) left top no-repeat, var(--inn-navbase-r) right top no-repeat, var(--inn-navbase-c) left top repeat-x;
	display: flex;
	flex-direction: column;
	align-items: center;
	font-family: var(--inn-ui-font);
	font-weight: 800;
	white-space: nowrap;
}
.inn-navPlate__ja {
	font-size: 17.5px;
	letter-spacing: .02em;
	text-shadow: var(--inn-outline);
}
.inn-navPlate.is-long .inn-navPlate__ja {
	font-size: 15.5px;
	letter-spacing: 0;
}
.inn-navPlate__en {
	margin-top: 3px;
	font-size: 12px;
	letter-spacing: .04em;
	text-shadow: var(--inn-outline);
}
.inn-navPlate:hover {
	transform: translateY(-2px);
	filter: brightness(1.08);
}
.inn-navPlate[aria-current="page"] .inn-navPlate__ja {
	color: #ffe08a;
}

/* ---------- プレート（見出し・ボタン・カテゴリーカード共通） ---------- */
.inn-plate {
	position: relative;
	display: inline-block;
	vertical-align: top;
	line-height: 0;
	text-decoration: none;
}
.inn-plate__img {
	display: block;
	max-width: none;
}
.inn-plate__patch {
	position: absolute;
	background-repeat: repeat-x;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 3px, #000 calc(100% - 3px), transparent 100%), linear-gradient(180deg, transparent 0, #000 3px, #000 calc(100% - 3px), transparent 100%);
	-webkit-mask-composite: source-in;
	mask-image: linear-gradient(90deg, transparent 0, #000 3px, #000 calc(100% - 3px), transparent 100%), linear-gradient(180deg, transparent 0, #000 3px, #000 calc(100% - 3px), transparent 100%);
	mask-composite: intersect;
}
.inn-plate__label {
	position: absolute;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	font-family: var(--inn-ui-font);
	font-weight: 800;
	line-height: 1.15;
	white-space: nowrap;
	text-align: center;
}
a.inn-plate {
	transition: transform .12s ease, filter .12s ease;
}
a.inn-plate:hover {
	transform: translateY(-2px);
	filter: brightness(1.06);
}

/* 見出し */
.inn-sectionTitle {
	margin: 0 0 18px;
	padding: 0;
	text-align: center;
	line-height: 0;
	background: none;
	border: 0;
}
.inn-sectionTitle::before,
.inn-sectionTitle::after {
	content: none !important;
}
.inn-plate--heading .inn-plate__label {
	color: #fff;
}
.inn-plate__ja {
	font-size: var(--inn-fs, 21px);
	letter-spacing: .02em;
	text-shadow: var(--inn-outline);
}
.inn-plate__en {
	margin-top: 5px;
	font-size: 11.5px;
	letter-spacing: .06em;
	text-shadow: var(--inn-outline);
}

/* ボタン */
.inn-plate--button .inn-plate__label {
	color: #fff;
	font-size: var(--inn-fs, 15px);
	letter-spacing: .04em;
	text-shadow: 0 1px 0 rgba(0, 0, 0, .55), 1px 0 0 rgba(0, 0, 0, .35), -1px 0 0 rgba(0, 0, 0, .35);
}

/* カテゴリーカード */
.inn-catCards {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}
.inn-catCards li {
	margin: 0;
	padding: 0;
}
.inn-plate--category .inn-plate__label {
	color: var(--inn-text);
	font-size: var(--inn-fs, 18px);
	letter-spacing: .02em;
	padding-bottom: 1px;
}
@media (min-width: 1100px) {
	.inn-catCards {
		flex-wrap: nowrap;
		zoom: .94; /* 7枚を1列に収める（1223px → 1150px） */
	}
}

/* ---------- TOP セクション ---------- */
#content:has(> .inn-top) {
	max-width: calc(var(--inn-container) + 32px);
	padding: 0 16px;
	margin-top: 0;
	margin-bottom: 0;
}
.inn-top {
	width: 100%;
	padding: 32px 0 40px;
	color: var(--inn-text-light);
}
.inn-section {
	margin: 0 0 56px;
}
.inn-section__more {
	margin: 24px 0 0;
	text-align: center;
	line-height: 0;
}
.inn-empty {
	text-align: center;
	color: var(--inn-text-light);
	opacity: .85;
}

/* 記事カード */
.inn-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}
.inn-card {
	background: var(--inn-parchment-light);
	border: 3px solid var(--inn-wood-deep);
	border-radius: 8px;
	box-shadow: inset 0 0 0 2px var(--inn-gold), 0 3px 0 rgba(0, 0, 0, .35);
	overflow: hidden;
	color: var(--inn-text);
}
.inn-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit;
	text-decoration: none;
}
.inn-card__thumb {
	aspect-ratio: 3 / 2;
	background: var(--inn-wood-deep);
	border-bottom: 3px solid var(--inn-wood-deep);
	overflow: hidden;
	line-height: 0;
}
.inn-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .25s ease;
}
.inn-card__thumb:has(.is-fallback) {
	display: grid;
	place-items: center;
}
.inn-card__img.is-fallback {
	/* 枠付きの正式素材は切らず・拡大しない（原寸以下で表示） */
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
}
.inn-card__body {
	padding: 12px 14px 14px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.inn-card__title {
	margin: 2px 0 0;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--inn-text);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.inn-card__date {
	font-size: 13px;
	color: var(--inn-text-muted);
	font-variant-numeric: tabular-nums;
}
.inn-card__excerpt {
	margin: 0;
	font-size: 14px;
	line-height: 1.7;
	color: #4a3420;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.inn-card__link:hover .inn-card__img:not(.is-fallback) {
	transform: scale(1.04);
}
.inn-card__link:hover .inn-card__title {
	text-decoration: underline;
	text-decoration-color: var(--inn-gold);
	text-underline-offset: 3px;
}

/* カテゴリーラベル（HTML＋CSS、ui_tag_*.png の配色） */
.inn-tag {
	align-self: flex-start;
	display: inline-block;
	padding: 3px 10px 4px;
	border: 2px solid var(--inn-gold-light);
	border-radius: 5px;
	box-shadow: 0 0 0 1px var(--inn-wood-deep);
	font-family: var(--inn-ui-font);
	font-weight: 800;
	font-size: 12px;
	line-height: 1.2;
	letter-spacing: .03em;
	color: #fff;
	text-shadow: 0 1px 0 rgba(0, 0, 0, .45);
	background: var(--inn-wood);
}
.inn-tag--blue { background: var(--inn-blue); }
.inn-tag--green { background: var(--inn-green); }
.inn-tag--red { background: var(--inn-red); }
.inn-tag--stone { background: #4b5560; }
.inn-tag--wood { background: var(--inn-wood); }

/* パネル（羊皮紙） */
.inn-panel {
	background: var(--inn-parchment-light);
	color: var(--inn-text);
	border: 3px solid var(--inn-wood-deep);
	border-radius: 8px;
	box-shadow: inset 0 0 0 2px var(--inn-gold), 0 3px 0 rgba(0, 0, 0, .35);
	padding: 24px 28px;
}

/* 宿主について */
.inn-about {
	display: flex;
	align-items: center;
	gap: 28px;
	max-width: 860px;
	margin: 0 auto;
}
.inn-about__img {
	flex: none;
	width: 222px;
	height: auto;
}
.inn-about__title {
	margin: 0 0 8px;
	padding: 0;
	font-family: var(--inn-ui-font);
	font-weight: 800;
	font-size: 22px;
	color: var(--inn-wood-deep);
	background: none;
	border: 0;
}
.inn-about__title::before,
.inn-about__title::after {
	content: none !important;
}
.inn-about__text {
	margin: 0 0 16px;
	line-height: 1.9;
}
.inn-about .inn-plate {
	line-height: 0;
}

/* ---------- フッター ---------- */
.l-footer {
	background: var(--inn-wood-night);
	color: var(--inn-text-light);
	margin-top: 48px;
}

/* ページ先頭へ（SWELL #pagetop を宿屋の配色に） */
#pagetop.c-fixBtn {
	background: var(--inn-wood);
	color: var(--inn-parchment);
	border: 3px solid var(--inn-wood-deep);
	box-shadow: 0 0 0 1px var(--inn-gold), 0 3px 0 rgba(0, 0, 0, .4);
	opacity: .95;
}
#pagetop.c-fixBtn:hover {
	background: var(--inn-wood-deep);
	color: #ffe08a;
}
.inn-footer {
	text-align: center;
	padding: 0 16px 28px;
}
.inn-footer__deco {
	display: block;
	margin: -39px auto 0; /* 石垣を境界線に半分かける */
	width: 297px;
	height: auto;
}
.inn-footer__nav ul {
	list-style: none;
	margin: 18px 0 8px;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px 22px;
}
.inn-footer__nav a {
	color: var(--inn-text-light);
	font-size: 14px;
	text-decoration: none;
}
.inn-footer__nav a:hover {
	color: #ffe08a;
	text-decoration: underline;
}
.inn-footer__copy {
	margin: 14px 0 0;
	font-size: 12px;
	opacity: .8;
}

/* ---------- タブレット ---------- */
@media (max-width: 999px) {
	.inn-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* ---------- スマートフォン ---------- */
@media (max-width: 767px) {
	.inn-header__bar {
		padding: 8px 12px 4px;
		flex-wrap: wrap;
		justify-content: center;
	}
	.inn-header__brand {
		margin: 0 auto;
	}
	.inn-header__tools,
	.inn-search {
		width: 100%;
	}
	.inn-search__input {
		flex: 1;
		width: auto;
		font-size: 16px; /* iOSのズーム防止 */
	}
	.inn-mv {
		padding: 4px 16px 0;
	}

	/* ナビ: 1行の横スクロール（装飾は維持しつつ縦を取らない） */
	.inn-gnav {
		padding: 10px 0 2px;
		position: relative;
	}
	.inn-gnav__list {
		flex-wrap: nowrap;
		justify-content: flex-start;
		overflow-x: auto;
		scroll-snap-type: x proximity;
		scrollbar-width: none;
		padding: 0 12px 4px;
		zoom: .8;
	}
	.inn-gnav__list::-webkit-scrollbar {
		display: none;
	}
	.inn-gnav__item {
		scroll-snap-align: start;
		flex: none;
	}
	.inn-gnav::after {
		content: "";
		position: absolute;
		top: 10px;
		right: 0;
		bottom: 2px;
		width: 28px;
		background: linear-gradient(90deg, rgba(42, 26, 15, 0), var(--inn-wood-dark));
		pointer-events: none;
	}

	.inn-top {
		padding-top: 24px;
	}
	.inn-section {
		margin-bottom: 44px;
	}
	.inn-sectionTitle .inn-plate {
		zoom: .9;
	}

	/* 記事カード: 横並びのコンパクト表示 */
	.inn-cards {
		grid-template-columns: 1fr;
		gap: 14px;
	}
	.inn-card__link {
		flex-direction: row;
	}
	.inn-card__thumb {
		flex: none;
		width: 120px;
		aspect-ratio: auto;
		border-bottom: 0;
		border-right: 3px solid var(--inn-wood-deep);
	}
	.inn-card__body {
		padding: 10px 12px;
		gap: 4px;
	}
	.inn-card__title {
		font-size: 15px;
		-webkit-line-clamp: 2;
	}
	.inn-card__excerpt {
		display: none;
	}

	/* カテゴリー: 3列（約0.62倍） */
	.inn-catCards {
		gap: 6px;
		zoom: .62;
	}
	.inn-plate--category .inn-plate__label {
		font-size: calc(var(--inn-fs, 18px) * 1.25); /* 縮小表示でも12px相当以上を確保 */
		letter-spacing: 0;
	}

	.inn-panel {
		padding: 18px 16px;
	}
	.inn-about {
		flex-direction: column;
		text-align: center;
		gap: 12px;
	}
	.inn-about__img {
		width: 160px;
	}
}

/* 最後のセクションはフッターとの余白を詰める */
.inn-top > .inn-section:last-child {
	margin-bottom: 0;
}

/* ---------- SNS ---------- */
.inn-sns {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 6px;
}
.inn-sns li {
	margin: 0;
	padding: 0;
}
.inn-snsIcon {
	display: block;
	line-height: 0;
	transition: transform .12s ease, filter .12s ease;
}
.inn-snsIcon img {
	display: block;
	max-width: none;
}
.inn-snsIcon:hover {
	transform: translateY(-2px);
	filter: brightness(1.08);
}
.inn-sns--foot {
	justify-content: center;
	margin-top: 18px;
}
.inn-snsRemark {
	margin: 8px 0 0;
	font-size: 12px;
	opacity: .8;
}

/* TOP: 宿主のひとりごと / 旅のアルバム / 冒険の記録映像 */
.inn-boards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}
.inn-board {
	background: var(--inn-wood);
	border: 3px solid var(--inn-wood-deep);
	border-radius: 8px;
	box-shadow: inset 0 0 0 2px var(--inn-gold), 0 3px 0 rgba(0, 0, 0, .35);
	padding: 18px 20px 20px;
	color: var(--inn-text-light);
}
.inn-board__title {
	margin: 0 0 6px;
	padding: 0;
	background: none;
	border: 0;
	font-family: var(--inn-ui-font);
	font-weight: 800;
	font-size: 20px;
	color: #fff;
	text-shadow: var(--inn-outline);
}
.inn-board__title::before,
.inn-board__title::after {
	content: none !important;
}
.inn-board__text {
	margin: 0 0 14px;
	font-size: 14px;
	line-height: 1.7;
}
.inn-board__links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.inn-board__links li {
	margin: 0;
	padding: 0;
}
.inn-board__link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 4px 14px 4px 4px;
	background: var(--inn-parchment-light);
	border: 2px solid var(--inn-wood-deep);
	border-radius: 8px;
	color: var(--inn-text);
	font-weight: 700;
	font-size: 14px;
	text-decoration: none;
	box-shadow: 0 2px 0 rgba(0, 0, 0, .3);
}
.inn-board__link img {
	display: block;
	max-width: none;
}
.inn-board__link:hover {
	background: #fff4d6;
	transform: translateY(-1px);
}
.inn-boards__note {
	margin: 18px 0 0;
	text-align: center;
	font-size: 14px;
	color: var(--inn-text-light);
}
.inn-boards__note a {
	color: #ffe08a;
}
.inn-boards__note small {
	display: block;
	margin-top: 4px;
	font-size: 12px;
	opacity: .8;
}
@media (max-width: 999px) {
	.inn-boards {
		grid-template-columns: 1fr;
		gap: 14px;
	}
}
@media (max-width: 767px) {
	.inn-sns--head {
		display: none; /* スマホは検索を優先。SNSはTOPセクションとフッターで案内 */
	}
}

/* ==========================================================================
   記事ページ・固定ページ（羊皮紙の本）
   ========================================================================== */
:root {
	--inn-article: 860px;
}

/* パンくず（暗い木の上） */
.p-breadcrumb,
.p-breadcrumb.-bg-on {
	background: transparent;
	box-shadow: none;
	border: 0;
	padding: 12px 0 4px;
}
.p-breadcrumb__list {
	max-width: calc(var(--inn-article) + 32px);
	margin: 0 auto;
	padding: 0 16px;
}
.p-breadcrumb__text,
.p-breadcrumb__text:hover,
.p-breadcrumb__item::after {
	color: var(--inn-text-light) !important;
	opacity: .9;
}
.p-breadcrumb__text:hover {
	text-decoration: underline;
}

/* 本体パネル */
#body_wrap:is(.single, .page:not(.home)) #content {
	max-width: calc(var(--inn-article) + 32px);
	padding: 8px 16px 0;
	margin-bottom: 0;
}
#body_wrap:is(.single, .page:not(.home)) .l-article {
	max-width: none;
	padding: 0;
	margin: 0;
}
#body_wrap:is(.single, .page:not(.home)) .l-mainContent__inner {
	background: var(--inn-parchment-light);
	color: var(--inn-text);
	border: 3px solid var(--inn-wood-deep);
	border-radius: 10px;
	box-shadow: inset 0 0 0 2px var(--inn-gold), 0 4px 0 rgba(0, 0, 0, .4);
	padding: 44px 56px 48px;
}

/* 見出しエリア（カテゴリー → H1 → 日付） */
.inn-postHead {
	display: block;
	margin: 0 0 24px;
}
.inn-postHead__cat {
	display: inline-block;
	margin-bottom: 10px;
	text-decoration: none;
}
.inn-postHead__cat .inn-tag {
	font-size: 13px;
}
.c-postTitle__ttl,
.inn-postHead .c-postTitle__ttl {
	margin: 0;
	font-size: 28px;
	line-height: 1.5;
	font-weight: 700;
	color: var(--inn-text);
	letter-spacing: .02em;
}
.inn-postHead__dates {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 18px;
	margin-top: 12px;
	font-size: 13px;
	color: var(--inn-text-muted);
	font-variant-numeric: tabular-nums;
}

/* アイキャッチ */
.p-articleThumb {
	margin: 0 0 32px;
}
.p-articleThumb__img,
.p-articleThumb img {
	border: 3px solid var(--inn-wood-deep);
	border-radius: 8px;
	box-shadow: 0 0 0 1px var(--inn-gold);
}

/* 本文 */
.post_content {
	font-size: 17px;
	line-height: 1.95;
	color: var(--inn-text);
}
.post_content a {
	color: var(--inn-blue);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.post_content a:hover {
	color: #003a80;
}
.post_content strong {
	background: linear-gradient(transparent 62%, rgba(243, 170, 36, .35) 62%);
}

/* 見出し: H2=木の看板 / H3=金の帯 / H4=菱形 */
.post_content h2 {
	position: relative;
	margin: 3em 0 1.2em;
	padding: .6em 1em .55em;
	background: var(--inn-wood);
	color: #fff;
	border: 3px solid var(--inn-wood-deep);
	border-radius: 7px;
	box-shadow: inset 0 0 0 2px var(--inn-gold), 0 3px 0 rgba(0, 0, 0, .25);
	font-size: 22px;
	line-height: 1.5;
	font-weight: 700;
	text-shadow: var(--inn-outline);
}
.post_content h3 {
	position: relative;
	margin: 2.4em 0 1em;
	padding: .3em 0 .35em .8em;
	background: none;
	border: 0;
	border-left: 6px solid var(--inn-gold);
	border-bottom: 2px dashed rgba(74, 34, 4, .35);
	color: var(--inn-wood-deep);
	font-size: 19px;
	line-height: 1.55;
	font-weight: 700;
}
.post_content h4 {
	position: relative;
	margin: 2em 0 .8em;
	padding: 0 0 0 1.3em;
	background: none;
	border: 0;
	color: var(--inn-wood);
	font-size: 17px;
	font-weight: 700;
}
.post_content :is(h2, h3, h4)::after {
	content: none !important;
}
.post_content :is(h2, h3)::before {
	content: none !important;
}
.post_content h4::before {
	content: "◆" !important;
	position: absolute;
	left: 0;
	top: 0;
	color: var(--inn-gold);
	font-size: .9em;
	background: none;
	border: 0;
	width: auto;
	height: auto;
}

/* リスト・表・引用 */
.post_content ul > li::marker,
.post_content ol > li::marker {
	color: var(--inn-wood);
	font-weight: 700;
}
.post_content table {
	border-color: var(--inn-wood-deep);
}
.post_content th {
	background: var(--inn-wood);
	color: #fff;
	border-color: var(--inn-wood-deep);
}
.post_content td {
	background: #fff8e6;
	border-color: rgba(74, 34, 4, .35);
}
.post_content blockquote {
	background: #fff4d6;
	border-left: 5px solid var(--inn-stone);
	color: #4a3420;
}

/* 目次（羊皮紙の巻物） */
.p-toc,
.p-toc.-double {
	background: #fff4d6;
	background-image: none;
	border: 3px solid var(--inn-wood-deep);
	border-radius: 8px;
	box-shadow: inset 0 0 0 2px var(--inn-gold);
	padding: 18px 24px 16px;
	margin: 2em 0;
}
.p-toc::before,
.p-toc::after {
	content: none !important;
}
.p-toc__ttl {
	display: block;
	margin: 0 0 8px;
	font-family: var(--inn-ui-font);
	font-weight: 800;
	font-size: 18px;
	color: var(--inn-wood-deep);
	text-align: center;
}
.p-toc__ttl::before {
	color: var(--inn-gold) !important;
}
.p-toc__link {
	color: var(--inn-text) !important;
	text-decoration: none;
}
.p-toc__link:hover {
	text-decoration: underline;
}

/* 記事下 */
.p-articleFoot {
	margin-top: 48px;
	padding-top: 20px;
	border-top: 2px dashed rgba(74, 34, 4, .35);
}
.c-categoryList__link {
	background: var(--inn-wood) !important;
	color: #fff !important;
	border-radius: 4px;
}
.c-shareBtns__message {
	color: var(--inn-wood-deep);
}
.c-shareBtns__message::before,
.c-shareBtns__message::after {
	border-color: var(--inn-wood-deep) !important;
	background: var(--inn-wood-deep) !important;
}
.p-pnLinks__link {
	color: var(--inn-text);
}
.l-articleBottom__title.c-secTitle {
	margin: 0 0 16px;
	padding: 0 0 6px;
	border: 0;
	border-bottom: 3px solid var(--inn-gold);
	font-family: var(--inn-ui-font);
	font-weight: 800;
	font-size: 20px;
	color: var(--inn-wood-deep);
	background: none;
}
.l-articleBottom__title.c-secTitle::before,
.l-articleBottom__title.c-secTitle::after {
	content: none !important;
}

/* 著者（宿主）ボックス */
.p-authorBox {
	background: #fff4d6;
	border: 2px solid var(--inn-wood-deep);
	border-radius: 8px;
	box-shadow: inset 0 0 0 1px var(--inn-gold);
}
.p-authorBox .avatar {
	border-radius: 6px !important;
	object-fit: contain;
	background: none;
	box-shadow: none;
}
.p-authorBox__name {
	color: var(--inn-wood-deep) !important;
	font-weight: 700;
}

/* 関連記事 */
.l-articleBottom .p-postList__link {
	color: var(--inn-text);
}
.l-articleBottom .p-postList__thumb {
	border: 2px solid var(--inn-wood-deep);
	border-radius: 6px;
	overflow: hidden;
	background: var(--inn-wood-deep);
}
.l-articleBottom .p-postList__title {
	color: var(--inn-text);
	font-weight: 700;
}

@media (max-width: 767px) {
	#body_wrap:is(.single, .page:not(.home)) #content {
		padding: 4px 8px 0;
	}
	#body_wrap:is(.single, .page:not(.home)) .l-mainContent__inner {
		padding: 26px 18px 30px;
		border-radius: 8px;
	}
	.inn-postHead .c-postTitle__ttl {
		font-size: 22px;
	}
	.post_content {
		font-size: 16px;
		line-height: 1.9;
	}
	.post_content h2 {
		font-size: 19px;
		margin-top: 2.4em;
	}
	.post_content h3 {
		font-size: 17px;
	}
}

/* 本文の左右位置を見出しエリアと揃え、上下の余白を詰める */
#body_wrap:is(.single, .page:not(.home)) .post_content {
	padding-left: 0;
	padding-right: 0;
	margin-top: 2em;
}
/* 代替画像（枠付き素材）は切らない */
.p-postList__thumb img[src*="thumbnail_article"] {
	object-fit: contain;
}
.p-postList__thumb:has(img[src*="thumbnail_article"]) {
	background: var(--inn-wood-deep);
}

/* 固定ページのタイトル（記事と同じ調子に） */
.c-pageTitle {
	margin: 0 0 24px;
	padding: 0 0 10px;
	border: 0;
	border-bottom: 3px solid var(--inn-gold);
	background: none;
}
.c-pageTitle::before,
.c-pageTitle::after,
.c-pageTitle__inner::before,
.c-pageTitle__inner::after {
	content: none !important;
}
.c-pageTitle__inner {
	display: block;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	font-size: 28px;
	line-height: 1.5;
	font-weight: 700;
	color: var(--inn-text);
}
#body_wrap:is(.single, .page:not(.home)) #content {
	padding-bottom: 72px; /* フッターの石垣と重ならないように */
}
@media (max-width: 767px) {
	.c-pageTitle__inner {
		font-size: 22px;
	}
	#body_wrap:is(.single, .page:not(.home)) #content {
		padding-bottom: 60px;
	}
}
/* SWELLの data-style（b_bottom 等）の装飾を打ち消す */
.c-pageTitle[data-style],
.c-pageTitle[data-style] .c-pageTitle__inner {
	border-top: 0 !important;
	border-left: 0 !important;
	border-right: 0 !important;
	box-shadow: none !important;
	background: none !important;
}
.c-pageTitle[data-style] {
	border-bottom: 3px solid var(--inn-gold) !important;
}
.c-pageTitle[data-style] .c-pageTitle__inner {
	border-bottom: 0 !important;
	padding: 0 !important;
}
.c-pageTitle[data-style] .c-pageTitle__inner {
	float: none !important;
	margin: 0 !important;
}

/* ==========================================================================
   一覧系ページ（ブログ一覧・カテゴリー・タグ・検索・404）
   ========================================================================== */
#content:has(> .inn-list) {
	max-width: calc(var(--inn-container) + 32px);
	padding: 8px 16px 72px;
	margin-bottom: 0;
}
.inn-list {
	width: 100%;
	color: var(--inn-text-light);
}
.inn-listHead {
	display: flex;
	align-items: center;
	gap: 24px;
	margin: 0 auto 28px;
	max-width: var(--inn-article);
	padding: 20px 28px;
	background: var(--inn-wood);
	border: 3px solid var(--inn-wood-deep);
	border-radius: 10px;
	box-shadow: inset 0 0 0 2px var(--inn-gold), 0 4px 0 rgba(0, 0, 0, .4);
}
.inn-listHead__art {
	flex: none;
	width: auto;
	max-width: none;
	height: auto;
	max-height: 140px;
}
.inn-listHead__body {
	min-width: 0;
}
.inn-listHead__eyebrow {
	margin: 0 0 2px;
	font-family: var(--inn-ui-font);
	font-weight: 800;
	font-size: 12px;
	letter-spacing: .12em;
	color: #ffe08a;
}
.inn-listHead__title {
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	font-family: var(--inn-ui-font);
	font-weight: 800;
	font-size: 28px;
	line-height: 1.4;
	color: #fff;
	text-shadow: var(--inn-outline);
}
.inn-listHead__title::before,
.inn-listHead__title::after {
	content: none !important;
}
.inn-listHead__desc {
	margin-top: 8px;
	font-size: 14px;
	line-height: 1.8;
	color: var(--inn-text-light);
}
.inn-listHead__desc p {
	margin: 0;
}
.inn-list__search {
	display: flex;
	justify-content: center;
	margin: 0 0 28px;
}

/* ページ送り */
.inn-pager {
	margin: 36px 0 0;
}
.inn-pager ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}
.inn-pager li {
	margin: 0;
	padding: 0;
}
.inn-pager .page-numbers {
	display: grid;
	place-items: center;
	min-width: 44px;
	height: 44px;
	padding: 0 10px;
	background: var(--inn-wood);
	color: #fff;
	border: 3px solid var(--inn-wood-deep);
	border-radius: 7px;
	box-shadow: inset 0 0 0 1px var(--inn-gold);
	font-weight: 700;
	text-decoration: none;
}
.inn-pager .page-numbers.current {
	background: var(--inn-parchment-light);
	color: var(--inn-text);
}
.inn-pager a.page-numbers:hover {
	filter: brightness(1.1);
}

/* 戻り道（0件・404） */
.inn-wayBack {
	text-align: center;
}
.inn-wayBack__lead {
	margin: 0 0 16px;
}
.inn-wayBack__search {
	display: flex;
	justify-content: center;
	margin-bottom: 18px;
}
.inn-wayBack__home {
	margin: 0 0 36px;
	line-height: 0;
}
.inn-wayBack__title {
	margin: 0 0 16px;
	padding: 0;
	background: none;
	border: 0;
	font-family: var(--inn-ui-font);
	font-weight: 800;
	font-size: 20px;
	color: #fff;
	text-align: center;
	text-shadow: var(--inn-outline);
}
.inn-wayBack__title::before,
.inn-wayBack__title::after {
	content: none !important;
}
.inn-404 .inn-listHead__art {
	max-height: 79px; /* 道標は原寸 */
}

@media (max-width: 767px) {
	#content:has(> .inn-list) {
		padding: 4px 12px 60px;
	}
	.inn-listHead {
		padding: 16px;
		gap: 14px;
	}
	.inn-listHead.has-art .inn-listHead__art {
		max-height: 84px;
	}
	.inn-listHead__title {
		font-size: 22px;
	}
}
.inn-list > .inn-empty {
	margin: 0 0 28px;
}

/* ---------- TOP: メイン列 + 右サイドバー（PC） ---------- */
.inn-topGrid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 28px;
	align-items: start;
	margin-bottom: 56px;
}
.inn-topMain > .inn-section:last-child {
	margin-bottom: 0;
}
.inn-topGrid .inn-cards {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}
.inn-topGrid .inn-card__body {
	padding: 10px 12px 12px;
}
.inn-topGrid .inn-card__title {
	font-size: 15.5px;
}
.inn-topGrid .inn-card__excerpt {
	font-size: 13px;
}
/* サイドバー: 掲示板を縦積み */
.inn-topSide {
	position: sticky;
	top: 16px;
}
.inn-topSide .inn-boards {
	grid-template-columns: 1fr;
	gap: 16px;
}
.inn-topSide .inn-board {
	padding: 16px 16px 18px;
}
.inn-topSide .inn-board__title {
	font-size: 19px;
}
.inn-topSide .inn-board__links {
	gap: 8px;
}
.inn-topSide .inn-boards__note {
	margin-top: 14px;
	font-size: 13px;
}
@media (max-width: 1099px) {
	.inn-topGrid {
		grid-template-columns: 1fr;
		gap: 0;
	}
	.inn-topSide {
		position: static;
		margin-top: 44px;
	}
	.inn-topSide .inn-boards {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.inn-topGrid .inn-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 767px) {
	.inn-topSide .inn-boards {
		grid-template-columns: 1fr;
	}
	.inn-topGrid .inn-cards {
		grid-template-columns: 1fr;
	}
	.inn-topGrid {
		margin-bottom: 44px;
	}
}

/* ---------- 装飾（論点G: 欠片除去済みの正式アセット派生物） ---------- */
/* TOP見出しの左右にランタン（PCのみ・装飾なので読み上げ対象外の疑似要素） */
@media (min-width: 1100px) {
	.inn-top .inn-sectionTitle {
		position: relative;
	}
	.inn-top .inn-sectionTitle .inn-plate::before,
	.inn-top .inn-sectionTitle .inn-plate::after {
		content: "";
		position: absolute;
		top: 50%;
		width: 44px;
		height: 60px;
		margin-top: -32px;
		background: var(--inn-deco-lantern) center / contain no-repeat;
		pointer-events: none;
	}
	.inn-top .inn-sectionTitle .inn-plate::before {
		right: calc(100% + 14px);
	}
	.inn-top .inn-sectionTitle .inn-plate::after {
		left: calc(100% + 14px);
	}
}
/* セクション間のツタの区切り線 */
.inn-divider {
	height: 42px;
	margin: 0 auto 40px;
	max-width: 287px;
	background: var(--inn-deco-ivy) center / contain no-repeat;
}
/* 宿主についてのパネルに眠る猫 */
.inn-about.has-cat {
	position: relative;
}
.inn-about.has-cat::after {
	content: "";
	position: absolute;
	right: 28px;
	top: -58px;
	width: 121px;
	height: 71px;
	background: var(--inn-deco-cat) center / contain no-repeat;
	pointer-events: none;
}
.inn-section--about {
	padding-top: 24px;
}
@media (max-width: 767px) {
	.inn-about.has-cat::after {
		right: 12px;
		top: -46px;
		width: 91px;
		height: 53px;
	}
	.inn-divider {
		margin-bottom: 28px;
		max-width: 216px;
		height: 32px;
	}
}
/* SNS掲示板の旗（ひとりごと=青 / アルバム=緑 / 記録映像=赤） */
.inn-board {
	position: relative;
}
.inn-board__title {
	padding-right: 48px;
}
.inn-board::after {
	content: "";
	position: absolute;
	top: -6px;
	right: 14px;
	width: 44px;
	height: 43px;
	background: center / contain no-repeat;
	pointer-events: none;
}
.inn-board--hitorigoto::after { background-image: var(--inn-deco-flag-blue); }
.inn-board--album::after { background-image: var(--inn-deco-flag-green); }
.inn-board--movie::after { background-image: var(--inn-deco-flag-red); }
/* 宿主について: 猫の反対側に白い鳥 */
.inn-about.has-cat::before {
	content: "";
	position: absolute;
	left: 28px;
	top: -64px;
	width: 60px;
	height: 79px;
	background: var(--inn-deco-bird) center / contain no-repeat;
	pointer-events: none;
}
/* 記事: 本文の終わりに金の区切り線 */
.p-articleFoot {
	border-top: 0;
	padding-top: 48px;
	background: var(--inn-deco-gold) center top / 285px 33px no-repeat;
}
@media (max-width: 767px) {
	.inn-about.has-cat::before {
		left: 12px;
		top: -50px;
		width: 45px;
		height: 59px;
	}
}

/* ---------- お問い合わせ（Googleフォーム） ---------- */
.inn-contact { margin: 1.5em 0 2em; }
.inn-contact.is-pending {
	padding: 1.2em 1.4em;
	border: 2px dashed var(--inn-wood);
	border-radius: 8px;
	background: var(--inn-parchment-light);
	text-align: center;
}
.inn-contact.is-pending p { margin: 0; }
.inn-contact__open { text-align: center; margin: 0 0 1em; }
.inn-contact__btn {
	display: inline-block;
	padding: .7em 1.6em;
	border: 2px solid var(--inn-wood-deep);
	border-radius: 8px;
	background: var(--inn-green);
	color: #fff !important;
	font-weight: 700;
	text-decoration: none !important;
	box-shadow: 0 3px 0 var(--inn-wood-deep);
}
.inn-contact__btn:hover, .inn-contact__btn:focus-visible { filter: brightness(1.12); }
.inn-contact__frame {
	display: block;
	width: 100%;
	border: 2px solid var(--inn-wood);
	border-radius: 8px;
	background: #fff;
}

/* ---------- たたき台の要確認マーカー（公開前にすべて消す） ---------- */
mark.inn-todo {
	background: #ffe14d;
	color: #6a1a00;
	font-weight: 700;
	padding: 0 .2em;
	border-radius: 3px;
}
