/**
 * Yahoo!ニュース風ポータル — PC 2カラム / スマホ 1カラム
 */

/*
 * Bootstrap 3 は html { font-size: 10px } のため、このファイルの rem が 16px 基準にならず
 * 一覧・ヘッダー全体が極端に小さく見える。ニュースポータルの可読性のためルートを既定に戻す。
 * 106.25% ≒ 16px→17px（ブラウザ標準の一段相当）。rem 指定はこれに連動して拡大する。
 */
html {
	font-size: 106.25%;
}

body {
	font-size: 1rem;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

/* --- ヘッダー --- */
.chotto-site-header {
	background: #fff;
	border-bottom: 1px solid #e5e5e5;
}

.chotto-topbar {
	background: #fff;
	border-bottom: 1px solid #eee;
}

.chotto-topbar__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0.75rem 1rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	justify-content: space-between;
}

.chotto-topbar__brand-inner {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	flex-wrap: wrap;
	min-width: 0;
}

.chotto-topbar__sitename-group {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 0.06rem;
	min-width: 0;
	line-height: 1.12;
}

.chotto-topbar__sitename {
	font-size: 1.15rem;
	font-weight: 800;
	letter-spacing: 0.03em;
	color: #111;
	line-height: 1.15;
	white-space: nowrap;
}

.chotto-topbar__sitename-sub {
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: #333;
	white-space: nowrap;
}

/* ヘッダー PR：Independent Analytics 直近30日ビュー（左：文言 / 右：数字） */
.chotto-topbar__pv-pr {
	display: inline-flex;
	align-items: stretch;
	margin-left: 0.35rem;
	border: 2px solid #c9a227;
	border-radius: 10px;
	background: linear-gradient(165deg, #fffef8 0%, #fff3d0 45%, #ffe8a8 100%);
	box-shadow:
		0 0 0 1px rgba(255, 255, 255, 0.6) inset,
		0 4px 14px rgba(201, 162, 39, 0.35);
	max-width: min(100%, 22rem);
}

.chotto-topbar__pv-pr-inner {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 0.65rem 0.85rem;
	padding: 0.4rem 0.75rem 0.45rem;
	min-width: 0;
}

.chotto-topbar__pv-pr-text {
	display: flex;
	flex-direction: column;
	gap: 0.12rem;
	min-width: 0;
	flex: 1 1 auto;
}

.chotto-topbar__pv-pr-label {
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	color: #5c4300;
	line-height: 1.2;
}

.chotto-topbar__pv-pr-source {
	font-size: 0.58rem;
	font-weight: 600;
	color: #8a6a20;
	line-height: 1.25;
}

.chotto-topbar__pv-pr-value {
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: nowrap;
	align-items: baseline;
	justify-content: flex-end;
	gap: 0.1rem 0.15rem;
	line-height: 1.05;
	flex: 0 0 auto;
	white-space: nowrap;
}

.chotto-topbar__pv-pr-number {
	font-size: 1.45rem;
	font-weight: 800;
	color: #111;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.02em;
}

.chotto-topbar__pv-pr-unit {
	font-size: 1.05rem;
	font-weight: 800;
	color: #b30000;
}

.chotto-topbar__pv-pr-sublabel {
	font-size: 0.75rem;
	font-weight: 700;
	color: #333;
}

/* ===== PV バッジ 3 連（年間 / 月間 / リアルタイム）===== */
.chotto-topbar__pv-pr--multi {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	max-width: min(100%, 30rem);
	padding: 0.35rem 0.5rem 0.4rem;
	gap: 0.25rem;
}

.chotto-topbar__pv-pr-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.35rem;
	align-items: stretch;
}

.chotto-topbar__pv-pr-cell {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	padding: 0.25rem 0.35rem 0.3rem;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.55);
	box-shadow: 0 0 0 1px rgba(201, 162, 39, 0.25) inset;
	min-width: 0;
	gap: 0.1rem;
	text-align: center;
}

.chotto-topbar__pv-pr-cell .chotto-topbar__pv-pr-label {
	font-size: 0.7rem;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

.chotto-topbar__pv-pr-cell .chotto-topbar__pv-pr-value {
	justify-content: center;
	gap: 0.05rem 0.1rem;
}

.chotto-topbar__pv-pr-cell .chotto-topbar__pv-pr-number {
	font-size: 1.2rem;
	letter-spacing: -0.02em;
}

.chotto-topbar__pv-pr-cell .chotto-topbar__pv-pr-unit {
	font-size: 0.9rem;
}

.chotto-topbar__pv-pr-cell .chotto-topbar__pv-pr-sublabel {
	font-size: 0.66rem;
	font-weight: 600;
	color: #5c4300;
}

.chotto-topbar__pv-pr-note {
	font-size: 0.58rem;
	font-weight: 600;
	color: #8a6a20;
	line-height: 1.2;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
}

.chotto-topbar__pv-pr--multi .chotto-topbar__pv-pr-source {
	display: block;
	text-align: right;
	font-size: 0.55rem;
	color: #8a6a20;
	padding-right: 0.1rem;
}

.chotto-topbar__brand .site-title {
	margin: 0;
	font-size: 1.35rem;
	font-weight: 700;
}

.chotto-topbar__brand .site-title a {
	text-decoration: none;
	color: #111;
}

.chotto-topbar__brand .custom-logo-link img {
	max-height: 2.5rem;
	width: auto;
}

.chotto-topbar__search-wrap {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex: 1 1 280px;
	max-width: 520px;
	min-width: 0;
}

/* header_with_pv 等の簡易月間PVバッジ（メインPVバッジとトーンを揃える） */
.chotto-pv-badge {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin-left: 0.25rem;
	padding: 0.25rem 0.5rem;
	font-size: 0.65rem;
	font-weight: 800;
	line-height: 1.15;
	color: #111;
	white-space: nowrap;
	background: linear-gradient(165deg, #fffef8 0%, #fff3d0 45%, #ffe8a8 100%);
	border: 2px solid #c9a227;
	border-radius: 8px;
	box-shadow: 0 1px 4px rgba(201, 162, 39, 0.25);
}

.chotto-pv-badge strong {
	font-size: 0.9rem;
	font-weight: 800;
	color: #b30000;
}

@media (max-width: 768px) {
	.chotto-pv-badge {
		display: none;
	}
}

.chotto-topbar__contact-wrap {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
}

.chotto-topbar__contact {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.35rem;
	padding: 0.45rem 0.95rem;
	font-size: 0.8125rem;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
	border-radius: 6px;
	transition:
		background 0.15s ease,
		border-color 0.15s ease,
		color 0.15s ease,
		box-shadow 0.15s ease;
}

.chotto-topbar__contact--primary {
	color: #fff;
	background: #1e3a5f;
	border: 2px solid #1e3a5f;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}

.chotto-topbar__contact--primary:hover,
.chotto-topbar__contact--primary:focus-visible {
	color: #fff;
	background: #152a45;
	border-color: #152a45;
}

.chotto-topbar__contact--primary[aria-current="page"] {
	background: #2d4a6f;
	border-color: #2d4a6f;
}

@media (max-width: 768px) {
	.chotto-topbar__contact {
		padding: 0.35rem 0.65rem;
		font-size: 0.75rem;
		min-height: 2rem;
		border-radius: 4px; /* More compact on mobile */
	}
	.chotto-topbar__contact-wrap {
		/* Force to row alignment or tighter spacing if wrapped */
		margin-top: 0.2rem;
	}
	/* Minimize search bar wrapper slightly too */
	.chotto-search-form__input {
		font-size: 0.85rem;
		padding: 0.4rem 0.6rem;
	}
	.chotto-search-form__submit {
		padding: 0 0.7rem;
		font-size: 0.85rem;
	}
}

.chotto-topbar__search-label {
	font-size: 0.85rem;
	font-weight: 600;
	color: #444;
	white-space: nowrap;
}

.chotto-topbar__search {
	flex: 1;
	min-width: 0;
}

.chotto-search-form {
	display: flex;
	align-items: stretch;
	border: 1px solid #ccc;
	border-radius: 4px;
	overflow: hidden;
	background: #fafafa;
}

.chotto-search-form__input {
	flex: 1;
	border: none;
	padding: 0.5rem 0.75rem;
	font-size: 0.95rem;
	background: transparent;
	min-width: 0;
}

.chotto-search-form__input:focus {
	outline: none;
}

.chotto-search-form__submit {
	border: none;
	background: #1e3a5f;
	color: #fff;
	padding: 0 1rem;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}

.chotto-search-form__submit:hover {
	background: #152a45;
}

.chotto-nav-primary {
	background: #1e3a5f;
	color: #fff;
}

.chotto-nav-primary__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 0.5rem;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.chotto-nav-primary__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: nowrap;
	gap: 0;
}

.chotto-nav-primary .menu-item {
	margin: 0;
}

.chotto-nav-primary .menu-item a {
	display: block;
	padding: 0.65rem 0.9rem;
	color: #fff;
	text-decoration: none;
	font-size: 0.875rem;
	font-weight: 600;
	white-space: nowrap;
	border-bottom: 3px solid transparent;
}

.chotto-nav-primary .menu-item a:hover {
	border-bottom-color: #6cb4ee;
	color: #fff;
}

/* 現行カテゴリ：下線ではなく背景＋濃色文字で視認性を確保 */
.chotto-nav-primary .menu-item.current-menu-item > a {
	background: #6cb4ee;
	color: #0f2138;
	border-bottom-color: transparent;
	border-radius: 4px;
}

.chotto-nav-primary .menu-item.current-menu-item > a:hover {
	background: #5aa8d9;
	color: #081420;
	border-bottom-color: transparent;
}

/* カテゴリ条をプライマリ青帯に統合（トップ＋カテゴリ＋その他＋トピックス一覧） */
.chotto-nav-primary__inner--unified {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.15rem 0.5rem;
	/* .chotto-nav-primary__inner の overflow-x:auto が子の絶対配置パネルを切るのを防ぐためPCでは visible だがスマホでは nowrap で横スクロールさせる */
	overflow: visible;
}

@media (max-width: 768px) {
	.chotto-nav-primary__inner--unified {
		flex-wrap: nowrap;
		overflow-x: auto;
		flex-direction: row;
		padding-bottom: 2px; /* for scrollbar breathing room */
	}
	.chotto-nav-primary__inner--unified::-webkit-scrollbar {
		display: none; /* Chrome, Safari and Opera */
	}
	.chotto-nav-primary__inner--unified {
		-ms-overflow-style: none;  /* IE and Edge */
		scrollbar-width: none;  /* Firefox */
	}

	/*
	 * 横スクロール用の overflow-x:auto は多くのブラウザで y 方向も「はみ出し隠し」扱いになり、
	 * <details> 直下の absolute パネルが 1 行分の帯の内側に切り捨てられる。
	 * 開いている間は可視化（:has 対応ブラウザ）＋ chotto-subnav-more.js のクラスでフォロー。
	 */
	.chotto-nav-primary__inner--unified:has(.chotto-subnav-more[open]),
	.chotto-nav-primary__inner--unified.chotto-nav-primary__inner--subnav-open {
		overflow: visible;
	}

	.chotto-subnav-more__summary {
		touch-action: manipulation;
		-webkit-tap-highlight-color: rgba(255, 255, 255, 0.2);
	}

	.chotto-subnav-more[open] {
		position: relative;
		z-index: 10040;
	}
}

.chotto-nav-primary__inner--unified .chotto-nav-primary__list {
	flex-shrink: 0;
	display: flex;
	flex-wrap: nowrap;
}

.chotto-nav-primary__inner--unified .chotto-nav-secondary__mainrow {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.15rem 0.5rem;
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	padding: 0;
	border-left: 1px solid rgba( 255, 255, 255, 0.22 );
	padding-left: 0.35rem;
	margin-left: 0.2rem;
	overflow: visible;
}

@media (max-width: 768px) {
	.chotto-nav-primary__inner--unified .chotto-nav-secondary__mainrow {
		flex-wrap: nowrap;
		border-left: none;
		margin-left: 0;
	}
}

.chotto-nav-primary__inner--unified .chotto-nav-secondary__list {
	gap: 0.15rem;
	display: flex;
	flex-wrap: nowrap;
}

.chotto-nav-primary__inner--unified .chotto-nav-secondary__list .menu-item a {
	display: block;
	padding: 0.65rem 0.9rem;
	color: #fff;
	text-decoration: none;
	font-size: 0.875rem;
	font-weight: 600;
	white-space: nowrap;
	border-bottom: 3px solid transparent;
	border-radius: 0;
	transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

.chotto-nav-primary__inner--unified .chotto-nav-secondary__list .menu-item a:hover {
	background: rgba( 255, 255, 255, 0.1 );
	color: #fff;
}

.chotto-nav-primary__inner--unified .chotto-nav-secondary__list .menu-item.current-menu-item > a,
.chotto-nav-primary__inner--unified .chotto-nav-secondary__list .menu-item.current-menu-ancestor > a,
.chotto-nav-primary__inner--unified .chotto-nav-secondary__list .menu-item.current-menu-parent > a {
	font-weight: 700;
	background: #6cb4ee;
	color: #0f2138;
	border-bottom-color: transparent;
	border-radius: 4px;
}

.chotto-nav-primary__inner--unified .chotto-nav-secondary__list .menu-item.current-menu-item > a:hover,
.chotto-nav-primary__inner--unified .chotto-nav-secondary__list .menu-item.current-menu-ancestor > a:hover,
.chotto-nav-primary__inner--unified .chotto-nav-secondary__list .menu-item.current-menu-parent > a:hover {
	background: #5aa8d9;
	color: #081420;
	border-bottom-color: transparent;
}

.chotto-nav-primary__inner--unified .chotto-subnav-more__summary {
	color: #fff;
	font-weight: 600;
	background: rgba( 255, 255, 255, 0.1 );
	border-color: rgba( 255, 255, 255, 0.35 );
	box-shadow: none;
}

.chotto-nav-primary__inner--unified .chotto-subnav-more[open] .chotto-subnav-more__summary {
	border-color: rgba( 255, 255, 255, 0.55 );
	background: rgba( 255, 255, 255, 0.16 );
}

.chotto-nav-primary__inner--unified .chotto-subnav-more__panel {
	z-index: 500;
}

.chotto-nav-primary__inner--unified .chotto-nav-secondary__topics-link {
	margin-left: auto;
	padding: 0.65rem 0.9rem;
	font-size: 0.875rem;
	font-weight: 600;
	color: #bde0ff;
	text-decoration: none;
	white-space: nowrap;
	border-radius: 4px;
}

.chotto-nav-primary__inner--unified .chotto-nav-secondary__topics-link:hover {
	color: #fff;
	background: rgba( 255, 255, 255, 0.1 );
	text-decoration: none;
}

.chotto-nav-primary__inner--unified .chotto-nav-secondary__topics-link.is-current {
	font-weight: 800;
	color: #fff;
}

.chotto-nav-secondary {
	background: #f0f0f0;
	border-bottom: 1px solid #ddd;
}

.chotto-nav-secondary__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0;
	position: relative;
}

.chotto-nav-secondary__mainrow {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
	padding: 0.4rem 0.75rem;
}

.chotto-nav-secondary__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.15rem;
}

.chotto-nav-secondary .menu-item {
	flex-shrink: 0;
}

.chotto-nav-secondary .menu-item.current-menu-item > a,
.chotto-nav-secondary .menu-item.current-menu-ancestor > a,
.chotto-nav-secondary .menu-item.current-menu-parent > a {
	font-weight: 700;
	background: #6cb4ee;
	color: #0f2138;
}

.chotto-nav-secondary .menu-item.current-menu-item > a:hover,
.chotto-nav-secondary .menu-item.current-menu-ancestor > a:hover,
.chotto-nav-secondary .menu-item.current-menu-parent > a:hover {
	background: #5aa8d9;
	color: #081420;
}

/* 「その他」パネル内も同じ強調（個別記事で該当カテゴリがここに入った場合） */
.chotto-subnav-more__list .menu-item.current-menu-item > a,
.chotto-subnav-more__list .menu-item.current-menu-ancestor > a,
.chotto-subnav-more__list .menu-item.current-menu-parent > a {
	font-weight: 700;
	background: #6cb4ee;
	color: #0f2138;
}

.chotto-subnav-more__list .menu-item.current-menu-item > a:hover,
.chotto-subnav-more__list .menu-item.current-menu-ancestor > a:hover,
.chotto-subnav-more__list .menu-item.current-menu-parent > a:hover {
	background: #5aa8d9;
	color: #081420;
}

.chotto-nav-secondary .menu-item a {
	display: block;
	padding: 0.45rem 0.65rem;
	color: #333;
	text-decoration: none;
	font-size: 0.8125rem;
	white-space: nowrap;
	border-radius: 4px;
	transition: background 0.12s ease, color 0.12s ease;
}

.chotto-nav-secondary .menu-item a:hover {
	text-decoration: none;
	background: rgba( 30, 58, 95, 0.08 );
	color: #1e3a5f;
}

/* 「その他」：コンパクトなトグル＋ドロップパネル（グリッド） */
.chotto-subnav-more {
	position: relative;
	flex-shrink: 0;
}

.chotto-subnav-more__summary {
	list-style: none;
	cursor: pointer;
	padding: 0.4rem 0.85rem;
	font-size: 0.8125rem;
	font-weight: 600;
	color: #1e3a5f;
	background: #fff;
	border: 1px solid #c5c5c5;
	border-radius: 6px;
	box-shadow: 0 1px 2px rgba( 0, 0, 0, 0.06 );
}

.chotto-subnav-more__summary::-webkit-details-marker {
	display: none;
}

.chotto-subnav-more__summary::after {
	content: " ▾";
	font-size: 0.7em;
	opacity: 0.85;
}

.chotto-subnav-more[open] .chotto-subnav-more__summary {
	border-color: #1e3a5f;
	background: #f7f9fc;
}

.chotto-subnav-more__panel {
	position: absolute;
	left: 0;
	top: calc(100% + 6px);
	z-index: 300;
	min-width: min( 100vw - 2rem, 420px );
	max-width: min( 100vw - 2rem, 640px );
	max-height: min( 70vh, 28rem );
	overflow-y: auto;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 8px;
	box-shadow: 0 12px 40px rgba( 0, 0, 0, 0.15 );
	padding: 0.75rem 0.85rem;
}

.chotto-subnav-more__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat( auto-fill, minmax( 148px, 1fr ) );
	gap: 0.25rem 0.5rem;
}

.chotto-subnav-more__item a {
	display: block;
	padding: 0.4rem 0.35rem;
	font-size: 0.8125rem;
	color: #333;
	text-decoration: none;
	border-radius: 4px;
}

.chotto-subnav-more__item a:hover {
	background: #f0f4f8;
	color: #1e3a5f;
}

.chotto-subnav-more__item.is-current a,
.chotto-subnav-more__item.current-menu-item > a {
	font-weight: 700;
	color: #111;
}

/* 狭い幅で JS が inline で fixed + top 指定（スクロール時の追従用。旧ブラウザは上記 overflow 緩和のみ） */
.chotto-subnav-more__panel.chotto-subnav-more__panel--fixed-mq {
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);
}

.chotto-nav-secondary__topics-link {
	margin-left: auto;
	padding: 0.45rem 0.65rem;
	font-size: 0.8125rem;
	font-weight: 600;
	color: #1e3a5f;
	text-decoration: none;
	white-space: nowrap;
	border-radius: 4px;
}

.chotto-nav-secondary__topics-link:hover {
	text-decoration: underline;
	background: rgba( 30, 58, 95, 0.06 );
}

.chotto-nav-secondary__topics-link.is-current {
	font-weight: 800;
	color: #111;
}

/* --- 2カラムレイアウト --- */
.chotto-layout-outer {
	background: #fff;
}

.chotto-layout {
	max-width: 1200px;
	margin: 0 auto;
	padding: 1rem;
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
	align-items: start;
}

.chotto-layout.chotto-layout--contact {
	max-width: min( 44rem, 100% );
	margin-left: auto;
	margin-right: auto;
}

.chotto-layout.chotto-layout--access-ranking {
	max-width: min( 52rem, 100% );
	margin-left: auto;
	margin-right: auto;
}

@media (min-width: 960px) {
	.chotto-layout {
		grid-template-columns: minmax(0, 1fr) 300px;
		padding: 1.25rem 1rem 2rem;
		gap: 2rem;
	}

	/* お問い合わせ：サイドバー列なし */
	.chotto-layout.chotto-layout--contact {
		grid-template-columns: 1fr;
	}

	/* アクセスランキング専用ページ：サイドバー列なし */
	.chotto-layout.chotto-layout--access-ranking {
		grid-template-columns: 1fr;
	}
}

.chotto-layout__main {
	min-width: 0;
}

.chotto-layout__sidebar {
	min-width: 0;
}

@media (max-width: 959px) {
	.chotto-layout__sidebar {
		order: 10;
		border-top: 1px solid #eee;
		padding-top: 1rem;
	}
}

/* --- 全ページ：お問い合わせ CTA（#content 直下・フッター直前） --- */
.chotto-contact-cta-site-wrap {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 1rem 1.25rem;
	box-sizing: border-box;
}

@media (min-width: 960px) {
	.chotto-contact-cta-site-wrap {
		padding-left: 1rem;
		padding-right: 1rem;
		padding-bottom: 1.5rem;
	}
}

.chotto-contact-cta-site-wrap .chotto-contact-cta {
	margin-bottom: 0;
}

.chotto-contact-cta {
	margin: 0 0 1.25rem;
	padding: 1.1rem 1.15rem;
	background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
	border: 1px solid #d8dee9;
	border-radius: 10px;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}

.chotto-contact-cta__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 1.25rem;
}

.chotto-contact-cta__text {
	flex: 1 1 220px;
	min-width: 0;
}

.chotto-contact-cta__title {
	font-size: 1.05rem;
	font-weight: 800;
	margin: 0 0 0.35rem;
	color: #0f172a;
	line-height: 1.35;
	letter-spacing: 0.02em;
}

.chotto-contact-cta__lead {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.55;
	color: #475569;
}

.chotto-contact-cta__action {
	flex: 0 0 auto;
}

.chotto-contact-cta__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.65rem;
	padding: 0.55rem 1.35rem;
	font-size: 0.9rem;
	font-weight: 700;
	color: #fff;
	text-decoration: none;
	white-space: nowrap;
	background: #1e3a5f;
	border: 2px solid #1e3a5f;
	border-radius: 8px;
	box-shadow: 0 2px 6px rgba(30, 58, 95, 0.25);
	transition:
		background 0.15s ease,
		border-color 0.15s ease,
		box-shadow 0.15s ease;
}

.chotto-contact-cta__btn:hover,
.chotto-contact-cta__btn:focus-visible {
	background: #152a45;
	border-color: #152a45;
	color: #fff;
	box-shadow: 0 4px 12px rgba(30, 58, 95, 0.3);
}

@media (max-width: 600px) {
	.chotto-contact-cta__inner {
		flex-direction: column;
		align-items: stretch;
		gap: 0.75rem;
	}

	.chotto-contact-cta__text {
		flex: 0 0 auto;
	}

	.chotto-contact-cta {
		padding: 0.85rem 1rem;
		margin: 0 0 1rem;
	}

	.chotto-contact-cta__title {
		font-size: 0.95rem;
		margin: 0 0 0.25rem;
	}

	.chotto-contact-cta__lead {
		font-size: 0.8rem;
		line-height: 1.45;
	}

	.chotto-contact-cta__btn {
		width: 100%;
		text-align: center;
		padding: 0.45rem 1rem;
		min-height: 2.35rem;
		font-size: 0.85rem;
		border-radius: 20px; /* Modern pill shape */
	}
}

/* --- 記事下：お問い合わせバナー --- */
.chotto-contact-banner--wp-comments .chotto-post-comment-area {
	margin-top: 0.75rem;
}

.chotto-contact-banner--wp-comments .chotto-comments {
	margin-top: 0;
}

.chotto-contact-banner {
	margin: 1.75rem 0 0;
	padding: 1.15rem 1.2rem;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-left: 4px solid #1e3a5f;
	border-radius: 8px;
	text-align: left;
}

.chotto-contact-banner__title {
	font-size: 1rem;
	font-weight: 800;
	margin: 0 0 0.5rem;
	color: #0f172a;
	line-height: 1.4;
}

.chotto-contact-banner__text {
	margin: 0 0 1rem;
	font-size: 0.875rem;
	line-height: 1.65;
	color: #334155;
}

.chotto-contact-banner__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.4rem;
	padding: 0.45rem 1.15rem;
	font-size: 0.875rem;
	font-weight: 700;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff;
	text-decoration: none;
	background: #1e3a5f;
	border: 2px solid #1e3a5f;
	border-radius: 6px;
	transition:
		background 0.18s ease,
		border-color 0.18s ease,
		color 0.18s ease,
		box-shadow 0.18s ease,
		transform 0.18s ease;
}

.chotto-contact-banner__btn:hover,
.chotto-contact-banner__btn:focus-visible {
	background: #152a45;
	border-color: #152a45;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff;
	box-shadow: 0 4px 16px rgba(30, 58, 95, 0.38);
	transform: translateY(-1px);
}

/* --- お問い合わせ（Fluent Forms）固定ページ --- */
.chotto-layout-outer--contact-bg {
	background: #eef2f7;
	padding-top: 1.25rem;
	padding-bottom: 2.5rem;
}

.chotto-contact-page__surface {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 1.5rem 1.35rem 2rem;
	box-shadow: 0 4px 24px rgba(15, 23, 42, 0.06);
}

@media (min-width: 640px) {
	.chotto-contact-page__surface {
		padding: 2rem 2rem 2.25rem;
	}
}

.chotto-contact-page__header {
	margin-bottom: 1.35rem;
}

.chotto-contact-page__title {
	font-size: 1.4rem;
	font-weight: 800;
	margin: 0 0 0.5rem;
	padding-bottom: 0.65rem;
	border-bottom: 3px solid #1e3a5f;
	color: #0f172a;
	line-height: 1.35;
	letter-spacing: 0.02em;
}

.chotto-contact-page__lead {
	margin: 0 0 1rem;
	font-size: 0.95rem;
	line-height: 1.65;
	color: #475569;
}

.chotto-contact-page__notice--article-pricing {
	margin: 0 0 1.25rem;
	padding: 1rem 1.1rem;
	border: 1px solid #c7d2e0;
	border-radius: 10px;
	background: #f8fafc;
	color: #1e293b;
}

.chotto-contact-page__notice-title {
	margin: 0 0 0.5rem;
	font-size: 1rem;
	font-weight: 800;
	color: #0f172a;
	line-height: 1.4;
}

.chotto-contact-page__notice-text {
	margin: 0 0 0.55rem;
	font-size: 0.92rem;
	line-height: 1.65;
	color: #334155;
}

.chotto-contact-page__notice-text:last-child {
	margin-bottom: 0;
}

.chotto-contact-page__content {
	font-size: 1rem;
	line-height: 1.65;
	color: #222;
}

.chotto-contact-page__content .fluentform {
	margin-top: 0.25rem;
}

.chotto-contact-page__content .ff-el-group,
.chotto-contact-page__content .ff-el-input--content {
	margin-bottom: 0.85rem;
}

/*
 * Fluent Forms: スタイル設定で color / background が空のインラインが出ることがあり、
 * かつ送信ボタン文言が未設定で <button></button> が空になることがある。
 */
.chotto-contact-page__content form.fluent_form_3 .ff-btn-submit:not(.ff_btn_no_style),
.chotto-contact-page__content .ff-btn-submit,
.chotto-contact-page__content button[type="submit"],
.chotto-contact-page__content .wpcf7-form input[type="submit"],
.chotto-contact-page__content .wpcf7-form input.wpcf7-submit,
.chotto-contact-page__content form.wpcf7-form input[type="submit"],
.chotto-contact-page__content input[type="submit"],
.chotto-contact-page__content input.wpcf7-submit {
	background-color: #1e3a5f !important;
	background: #1e3a5f !important;
	border: 1px solid #1e3a5f !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
	line-height: 1.35 !important;
	border-radius: 6px !important;
	padding: 0.65rem 1.35rem !important;
	min-height: 2.75rem;
	min-width: 6.5rem;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	opacity: 1 !important;
}

/* ラベル未設定の空ボタンに「送信」を表示（管理画面でボタン文言を設定すれば本文が優先される） */
.chotto-contact-page__content .ff_submit_btn_wrapper .ff-btn-submit:empty::after {
	content: "送信";
}

.chotto-contact-page__content form.fluent_form_3 .ff-btn-submit:not(.ff_btn_no_style):hover,
.chotto-contact-page__content .ff-btn-submit:hover,
.chotto-contact-page__content button[type="submit"]:hover,
.chotto-contact-page__content .wpcf7-form input[type="submit"]:hover,
.chotto-contact-page__content .wpcf7-form input.wpcf7-submit:hover,
.chotto-contact-page__content form.wpcf7-form input[type="submit"]:hover,
.chotto-contact-page__content input[type="submit"]:hover,
.chotto-contact-page__content input.wpcf7-submit:hover {
	background-color: #152a45 !important;
	background: #152a45 !important;
	border-color: #152a45 !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

/* --- セクション見出し --- */
.chotto-section__title {
	font-size: 1.05rem;
	font-weight: 700;
	margin: 0 0 0.75rem;
	padding-bottom: 0.4rem;
	border-bottom: 2px solid #1e3a5f;
	color: #111;
}

.chotto-section--recommended {
	margin-top: 2rem;
	padding-top: 0.5rem;
	border-top: 1px solid #e5e5e5;
}

/* --- トップ：カテゴリ別ブロック（横並びカラム＋長方形カード） --- */
.chotto-section--cat-blocks-kicker {
	margin-bottom: 1.5rem;
}

.chotto-section--cat-blocks-kicker .chotto-section__title {
	margin-bottom: 0.7rem;
}

.chotto-home-category-blocks {
	margin-bottom: 0;
}

.chotto-cat-blocks-row {
	display: grid;
	/* モバイル: 1 列 */
	grid-template-columns: 1fr;
	gap: 1rem 0.85rem;
	align-items: start;
}

/* PC: カテゴリ数ぶん 1 行（幅が均等に縮み、折り返さない） */
@media (min-width: 960px) {
	.chotto-cat-blocks-row {
		grid-template-columns: repeat(var(--chotto-cat-cols, 3), minmax(0, 1fr));
		gap: 0.65rem 0.5rem;
	}
}

/* 列が多いとき余白をさらに詰める */
@media (min-width: 960px) {
	.chotto-cat-blocks-row[data-cat-cols="5"],
	.chotto-cat-blocks-row[data-cat-cols="6"] {
		gap: 0.55rem 0.4rem;
	}

	.chotto-cat-blocks-row[data-cat-cols="7"],
	.chotto-cat-blocks-row[data-cat-cols="8"],
	.chotto-cat-blocks-row[data-cat-cols="9"],
	.chotto-cat-blocks-row[data-cat-cols="10"] {
		gap: 0.45rem 0.3rem;
	}
}

/* 狭い幅：積み上げ（旧レイアウト）／広い幅：行マトリクス（行で高さ揃え） */
.chotto-cat-blocks--matrix {
	display: none;
}

@media (min-width: 960px) {
	.chotto-cat-blocks--stack {
		display: none;
	}

	.chotto-cat-blocks--matrix {
		display: flex;
		flex-direction: column;
		gap: 0.65rem;
	}
}

/* PC：見出しを1行のグリッド（列幅は下のカード行と同一） */
.chotto-cat-blocks-matrix__head {
	display: grid;
	grid-template-columns: repeat(var(--chotto-cat-cols, 3), minmax(0, 1fr));
	gap: 0.5rem 0.5rem;
}

.chotto-cat-blocks-matrix__head-cell {
	min-width: 0;
}

@media (min-width: 960px) {
	/* 4列以上のとき、カード行と同じ列間 */
	.chotto-cat-blocks--matrix[data-cat-cols="5"] .chotto-cat-blocks-matrix__head,
	.chotto-cat-blocks--matrix[data-cat-cols="6"] .chotto-cat-blocks-matrix__head,
	.chotto-cat-blocks--matrix[data-cat-cols="5"] .chotto-cat-blocks-matrix__row,
	.chotto-cat-blocks--matrix[data-cat-cols="6"] .chotto-cat-blocks-matrix__row {
		gap: 0.4rem 0.4rem;
	}

	.chotto-cat-blocks--matrix[data-cat-cols="7"] .chotto-cat-blocks-matrix__head,
	.chotto-cat-blocks--matrix[data-cat-cols="8"] .chotto-cat-blocks-matrix__head,
	.chotto-cat-blocks--matrix[data-cat-cols="9"] .chotto-cat-blocks-matrix__head,
	.chotto-cat-blocks--matrix[data-cat-cols="10"] .chotto-cat-blocks-matrix__head,
	.chotto-cat-blocks--matrix[data-cat-cols="7"] .chotto-cat-blocks-matrix__row,
	.chotto-cat-blocks--matrix[data-cat-cols="8"] .chotto-cat-blocks-matrix__row,
	.chotto-cat-blocks--matrix[data-cat-cols="9"] .chotto-cat-blocks-matrix__row,
	.chotto-cat-blocks--matrix[data-cat-cols="10"] .chotto-cat-blocks-matrix__row {
		gap: 0.3rem 0.3rem;
	}
}

/* PC：行マトリクスのカード1行。列方向は同グリッドで最も高いカード高に揃う（.chotto-cat-cards とは併用しない） */
.chotto-cat-blocks-matrix__row {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(var(--chotto-cat-cols, 3), minmax(0, 1fr));
	gap: 0 0.5rem;
	align-items: stretch;
}

.chotto-cat-blocks-matrix__row > .chotto-cat-card {
	min-width: 0;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.chotto-cat-blocks-matrix__row > .chotto-cat-card--empty {
	min-width: 0;
	min-height: 0;
	list-style: none;
}

/* カテゴリ別新着：見出しは常に2段（1行目＝カテゴリ、2行目＝件数）— スタックもマトリクスも同じ。 */
/* flex + column + nowrap の方が、grid より他スタイルに潰されにくく横1行化しない。 */
.chotto-cat-blocks .chotto-cat-blocks__heading {
	width: 100%;
	box-sizing: border-box;
	min-height: 2.95em;
}

.chotto-cat-blocks .chotto-cat-blocks__heading > .chotto-cat-blocks__heading-inner {
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: stretch;
	align-content: flex-start;
	justify-content: flex-start;
	gap: 0.2rem 0;
	width: 100%;
	min-width: 0;
	min-height: 0;
}

.chotto-cat-blocks .chotto-cat-blocks__heading > .chotto-cat-blocks__heading-inner > .chotto-cat-blocks__heading-name {
	flex: 0 0 auto;
	display: block;
	min-width: 0;
	width: 100%;
	max-width: 100%;
	overflow: hidden;
}

.chotto-cat-blocks .chotto-cat-blocks__heading .chotto-cat-blocks__heading-name .chotto-cat-blocks__heading-link {
	display: block;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	width: 100%;
	max-width: 100%;
}

.chotto-cat-blocks .chotto-cat-blocks__heading > .chotto-cat-blocks__heading-inner > .chotto-cat-blocks__heading-meta {
	flex: 0 0 auto;
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.chotto-cat-blocks__column {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	/* 狭い列でも長い見出しが枠を押し広げない */
	overflow-wrap: anywhere;
}

.chotto-cat-blocks__heading {
	font-size: 0.95rem;
	font-weight: 700;
	margin: 0;
	padding-bottom: 0.35rem;
	border-bottom: 2px solid #2d5a87;
	color: #111;
	display: block;
	line-height: 1.3;
}

.chotto-cat-blocks__heading-link {
	color: inherit;
	text-decoration: none;
}

.chotto-cat-blocks__heading-link:hover,
.chotto-cat-blocks__heading-link:focus-visible {
	text-decoration: underline;
}

.chotto-cat-blocks__heading-meta {
	font-size: 0.72rem;
	font-weight: 600;
	color: #555;
}

.chotto-cat-cards {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.chotto-cat-card {
	margin: 0;
}

.chotto-cat-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 0;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
	text-decoration: none;
	color: inherit;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
	transition: box-shadow 0.15s, border-color 0.15s;
	/* 画像と本文を同じ左右位置に（本文だけ広がらない） */
	padding: 0 0.65rem 0.65rem;
	box-sizing: border-box;
}

.chotto-cat-card__link:hover,
.chotto-cat-card__link:focus-visible {
	box-shadow: 0 6px 18px rgba(15, 23, 42, 0.1);
	border-color: #cbd5e1;
}

.chotto-cat-card__media {
	aspect-ratio: 1 / 1;
	width: 100%;
	margin: 0;
	overflow: hidden;
	background: #e8e8e8;
	flex-shrink: 0;
}

.chotto-cat-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.chotto-cat-card__noimg {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 0;
	background: linear-gradient(145deg, #e2e8f0 0%, #cbd5e1 100%);
}

/* タイトル＋日付ブロック：同一カラム内で高さを揃える */
.chotto-cat-card__body {
	padding: 0.45rem 0 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	box-sizing: border-box;
	height: 4.4rem;
	flex: 0 0 4.4rem;
	gap: 0.2rem;
	overflow: hidden;
}

.chotto-cat-card__title {
	font-weight: 700;
	font-size: clamp(0.68rem, 0.45rem + 0.5vw, 0.82rem);
	line-height: 1.35;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	color: #0f172a;
	flex: 1 1 auto;
	min-height: 0;
}

.chotto-cat-card__time {
	font-size: 0.64rem;
	color: #64748b;
	margin-top: 0;
	flex: 0 0 auto;
	line-height: 1.2;
}

/*
 * スタック表示（〜959px）：カテゴリ別新着のカードはサムネを左に小さく、右にタイトル（読みやすさ優先）。
 * PC の行マトリクス（.chotto-cat-blocks--matrix）は従来の縦型のまま。
 */
.chotto-cat-blocks--stack .chotto-cat-card__link {
	flex-direction: row;
	align-items: stretch;
	gap: 0.75rem;
	padding: 0.5rem 0.65rem;
}

.chotto-cat-blocks--stack .chotto-cat-card__media {
	width: 5.25rem;
	min-width: 5.25rem;
	max-width: 5.25rem;
	aspect-ratio: 1;
	height: auto;
	align-self: flex-start;
	margin: 0;
	border-radius: 8px;
}

.chotto-cat-blocks--stack .chotto-cat-card__body {
	flex: 1 1 auto;
	min-width: 0;
	height: auto;
	min-height: 0;
	padding: 0.15rem 0 0;
	justify-content: center;
	gap: 0.35rem;
}

.chotto-cat-blocks--stack .chotto-cat-card__title {
	font-size: 0.9rem;
	line-height: 1.45;
	-webkit-line-clamp: 4;
}

.chotto-cat-blocks--stack .chotto-cat-card__time {
	font-size: 0.72rem;
}

/* セクション見出し内のカテゴリリンク（他テンプレート互換） */
.chotto-section__title-link {
	color: inherit;
	text-decoration: none;
}

.chotto-section__title-link:hover,
.chotto-section__title-link:focus-visible {
	text-decoration: underline;
}

.chotto-section__title-meta {
	font-size: 0.78rem;
	font-weight: 600;
	color: #555;
}

/* --- 記事行 --- */
.chotto-news-rows {
	list-style: none;
	margin: 0;
	padding: 0;
}

.chotto-news-row {
	border-bottom: 1px solid #eee;
}

.chotto-news-row:last-child {
	border-bottom: none;
}

.chotto-news-row__inner {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	padding: 0.4rem 0;
	transition: background 0.15s;
}

.chotto-news-row__inner:hover,
.chotto-news-row__inner:focus-within {
	background: #f9fafb;
}

.chotto-news-row__thumb-link {
	flex: 0 0 3rem;
	width: 3rem;
	text-decoration: none;
	color: inherit;
	align-self: center;
}

.chotto-news-row__thumb-link:hover .chotto-news-row__thumb,
.chotto-news-row__thumb-link:focus-visible .chotto-news-row__thumb {
	opacity: 0.92;
}

.chotto-news-row__thumb {
	display: block;
	width: 100%;
	height: 3rem;
	aspect-ratio: 1;
	overflow: hidden;
	background: #e8e8e8;
	border-radius: 2px;
}

.chotto-news-row__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.chotto-news-row__noimg {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #ddd, #f0f0f0);
}

.chotto-news-row__main {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}

.chotto-news-row__title-link {
	text-decoration: none;
	color: inherit;
	display: block;
}

.chotto-news-row__title {
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1.3;
	color: #003087;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.chotto-news-row__title-link:hover .chotto-news-row__title,
.chotto-news-row__title-link:focus-visible .chotto-news-row__title {
	text-decoration: underline;
	color: #001f5c;
}

.chotto-news-row__meta {
	font-size: 0.7rem;
	color: #666;
	display: flex;
	align-items: center;
	gap: 0.35rem;
	flex-wrap: wrap;
}

.chotto-news-row__time {
	white-space: nowrap;
	color: #555;
}

.chotto-news-row__cat-list {
	display: inline;
}

.chotto-news-row__cat-list::before {
	content: "·";
	margin-right: 0.35rem;
	color: #999;
}

.chotto-news-row__cat-comma {
	margin: 0;
}

.chotto-news-row__cat-link {
	color: #555;
	text-decoration: none;
}

.chotto-news-row__cat-link:hover,
.chotto-news-row__cat-link:focus-visible {
	text-decoration: underline;
	color: #003087;
}

/* --- サイドバー：ランキングカード --- */
.chotto-sidebar-block {
	margin-bottom: 1.5rem;
}

.chotto-sidebar-block__title-row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.35rem 0.75rem;
	margin: 0 0 0.75rem;
	padding-bottom: 0.35rem;
	border-bottom: 2px solid #c00;
}

.chotto-sidebar-block__title-row .chotto-sidebar-block__title {
	margin: 0;
	padding: 0;
	border: none;
}

.chotto-sidebar-block__title-period {
	font-size: 0.72rem;
	font-weight: 600;
	color: #666;
	white-space: nowrap;
}

.chotto-sidebar-block__title {
	font-size: 0.95rem;
	font-weight: 700;
	margin: 0 0 0.75rem;
	padding-bottom: 0.35rem;
	border-bottom: 2px solid #c00;
	color: #111;
}

.chotto-sidebar-block__empty {
	font-size: 0.85rem;
	margin: 0;
}

.chotto-sidebar-block__ranking-more {
	margin: -0.15rem 0 0.65rem;
	font-size: 0.8rem;
	font-weight: 600;
}

.chotto-sidebar-block__ranking-more a {
	color: #003087;
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

.chotto-sidebar-block__ranking-more a:hover,
.chotto-sidebar-block__ranking-more a:focus-visible {
	color: #001a4d;
}

/* サイドバー：新着一覧（ランキングの下） */
.chotto-sidebar-block__title--latest {
	border-bottom-color: #1e3a5f;
}

.chotto-news-rows--sidebar-latest .chotto-news-row__inner {
	gap: 0.5rem;
	padding: 0.35rem 0;
}

.chotto-news-rows--sidebar-latest .chotto-news-row__thumb-link {
	flex: 0 0 2.75rem;
	width: 2.75rem;
}

.chotto-news-rows--sidebar-latest .chotto-news-row__thumb {
	height: 2.75rem;
}

.chotto-news-rows--sidebar-latest .chotto-news-row__title {
	font-size: 0.82rem;
	line-height: 1.28;
}

.chotto-news-rows--sidebar-latest .chotto-news-row__meta {
	font-size: 0.65rem;
	gap: 0.25rem;
	flex-wrap: wrap;
}

.chotto-sidebar-pagination.navigation.pagination {
	margin-top: 0.85rem;
	justify-content: flex-start;
	gap: 0.35rem;
}

.chotto-sidebar-pagination.navigation.pagination a,
.chotto-sidebar-pagination.navigation.pagination span {
	padding: 0.28rem 0.45rem;
	font-size: 0.78rem;
}

.chotto-ranking-cards {
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: rank;
}

.chotto-ranking-cards__item {
	border-bottom: 1px solid #eee;
}

.chotto-ranking-cards__item:last-child {
	border-bottom: none;
}

.chotto-ranking-cards__link {
	display: flex;
	align-items: stretch;
	gap: 0.5rem;
	padding: 0.5rem 0;
	text-decoration: none;
	color: inherit;
	min-height: 4.5rem;
}

.chotto-ranking-cards__link:hover {
	background: #fafafa;
}

.chotto-ranking-cards__rank-col {
	flex: 0 0 2rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.12rem;
	min-width: 0;
}

.chotto-ranking-cards__num {
	font-size: 1.1rem;
	font-weight: 800;
	color: #c00;
	line-height: 1.1;
}

.chotto-ranking-cards__trend {
	display: block;
	font-size: 0.78rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.06em;
}

.chotto-ranking-cards__trend--up,
.chotto-ranking-cards__trend--new {
	color: #e65100;
	font-weight: 800;
}

.chotto-ranking-cards__trend--down {
	color: #a61c1c;
}

/* 横ばい：細い矢印が浮かないよう、わずかにリッチなバッジ風 */
.chotto-ranking-cards__trend--flat {
	display: inline-block;
	font-size: 0.88rem;
	font-weight: 800;
	color: #37474f;
	letter-spacing: 0;
	background: linear-gradient(180deg, #eceff1 0%, #dfe6e9 100%);
	border-radius: 3px;
	padding: 0.1em 0.28em 0.12em;
	box-shadow:
		0 1px 0 rgba(0, 0, 0, 0.06),
		inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.chotto-ranking-cards__link:hover .chotto-ranking-cards__trend--up,
.chotto-ranking-cards__link:hover .chotto-ranking-cards__trend--new {
	color: #ff6f00;
}

.chotto-ranking-cards__link:hover .chotto-ranking-cards__trend--down {
	color: #7a1515;
}

.chotto-ranking-cards__link:hover .chotto-ranking-cards__trend--flat {
	color: #263238;
	background: linear-gradient(180deg, #e3e7ea 0%, #d5dce0 100%);
}

.chotto-ranking-cards__body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.25rem;
}

.chotto-ranking-cards__title {
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.4;
	color: #003087;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.chotto-ranking-cards__link:hover .chotto-ranking-cards__title {
	text-decoration: underline;
}

.chotto-ranking-cards__meta {
	font-size: 0.6875rem;
	color: #888;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 0.15rem;
}

.chotto-ranking-cards__views {
	font-weight: 600;
	color: #555;
}

.chotto-ranking-cards__thumb {
	flex: 0 0 4.5rem;
	width: 4.5rem;
	height: 4.5rem;
	overflow: hidden;
	background: #e8e8e8;
	border-radius: 2px;
}

.chotto-ranking-cards__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.chotto-ranking-cards__img--empty {
	background: linear-gradient(135deg, #ddd, #eee);
}

/* --- アクセスランキング専用ページ（上位100・カテゴリ切替） --- */
.chotto-section--access-ranking .chotto-section__title {
	margin-bottom: 0.5rem;
}

.chotto-ranking-page__intro {
	margin: 0 0 1rem;
	line-height: 1.55;
}

.chotto-ranking-page__notice {
	margin: 0 0 0.75rem;
}

.chotto-ranking-page__form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
	margin: 0 0 1.25rem;
	padding: 0.65rem 0.85rem;
	border-radius: 10px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
}

.chotto-ranking-page__label {
	font-size: 0.85rem;
	font-weight: 700;
	color: #334155;
}

.chotto-ranking-page__select {
	min-width: min( 18rem, 100% );
	max-width: 100%;
	padding: 0.4rem 0.55rem;
	font-size: 0.9rem;
	border-radius: 6px;
	border: 1px solid #cbd5e1;
	background: #fff;
}

.chotto-ranking-page__submit {
	padding: 0.45rem 1rem;
	font-size: 0.88rem;
	font-weight: 700;
	border-radius: 6px;
	border: 1px solid #1e3a5f;
	background: #1e3a5f;
	color: #fff;
	cursor: pointer;
}

.chotto-ranking-page__submit:hover,
.chotto-ranking-page__submit:focus-visible {
	background: #152a45;
	border-color: #152a45;
}

.chotto-ranking-page__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.chotto-ranking-page__item {
	margin: 0;
}

.chotto-ranking-page__link {
	display: flex;
	align-items: stretch;
	gap: 0.65rem;
	padding: 0.55rem 0.7rem;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	background: #fff;
	text-decoration: none;
	color: inherit;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
	transition: box-shadow 0.15s, border-color 0.15s;
	min-width: 0;
}

.chotto-ranking-page__link:hover,
.chotto-ranking-page__link:focus-visible {
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
	border-color: #cbd5e1;
}

.chotto-ranking-page__rank {
	flex: 0 0 2.35rem;
	width: 2.35rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.95rem;
	font-weight: 800;
	color: #b30000;
	font-variant-numeric: tabular-nums;
	background: #fff7ed;
	border-radius: 8px;
	border: 1px solid #fed7aa;
}

.chotto-ranking-page__body {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	justify-content: center;
}

.chotto-ranking-page__title {
	font-size: clamp(0.88rem, 0.82rem + 0.35vw, 1rem);
	font-weight: 700;
	line-height: 1.45;
	color: #0f172a;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.chotto-ranking-page__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.5rem;
	font-size: 0.78rem;
	color: #64748b;
}

.chotto-ranking-page__views {
	font-weight: 700;
	color: #334155;
}

.chotto-ranking-page__back {
	margin: 1.5rem 0 0;
	font-size: 0.88rem;
}

.chotto-ranking-page__back a {
	color: #003087;
	font-weight: 600;
}

.chotto-sidebar-widgets .chotto-widget {
	margin-bottom: 1.25rem;
}

.chotto-widget__title {
	font-size: 0.9rem;
	font-weight: 700;
	margin: 0 0 0.5rem;
	padding-bottom: 0.25rem;
	border-bottom: 1px solid #ddd;
}

.chotto-muted {
	color: #666;
	font-size: 0.85rem;
	margin: 0;
}

.chotto-archive-title {
	font-size: 1.25rem;
	margin: 0 0 0.5rem;
}

.chotto-archive-desc {
	font-size: 0.9rem;
	color: #555;
	margin-bottom: 1rem;
}

.chotto-section--recommended {
	display: block;
}

.chotto-rec-note {
	margin: 0 0 0.75rem;
	font-size: 0.85rem;
}

/* ページネーション */
.navigation.pagination {
	display: flex;
	justify-content: center;
	gap: 0.5rem;
	margin: 1.5rem 0 0;
	padding: 0;
	list-style: none;
	flex-wrap: wrap;
}

.navigation.pagination a,
.navigation.pagination span {
	display: inline-block;
	padding: 0.35rem 0.65rem;
	border: 1px solid #ccc;
	text-decoration: none;
	color: #333;
	font-size: 0.9rem;
}

.navigation.pagination .current {
	background: #1e3a5f;
	color: #fff;
	border-color: #1e3a5f;
}

/* プライバシーバナー */
.chotto-privacy-banner {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 100000;
	background: rgba(20, 20, 20, 0.94);
	color: #fff;
	padding: 1rem;
	box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.2);
}

.chotto-privacy-banner__inner {
	max-width: 1040px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.chotto-privacy-banner__text {
	margin: 0;
	font-size: 0.85rem;
	line-height: 1.5;
	flex: 1 1 280px;
}

.chotto-privacy-banner__actions {
	display: flex;
	gap: 0.5rem;
	flex-wrap: wrap;
}

.chotto-btn {
	cursor: pointer;
	border: none;
	padding: 0.5rem 1rem;
	font-size: 0.9rem;
	border-radius: 2px;
}

.chotto-btn--primary {
	background: #c00;
	color: #fff;
}

.chotto-btn--ghost {
	background: transparent;
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.5);
}

/* --- フッター --- */
.chotto-site-footer {
	background: #333;
	color: #ccc;
	margin-top: 2rem;
	padding: 2rem 1rem;
}

.chotto-footer__inner {
	max-width: 1200px;
	margin: 0 auto;
	text-align: center;
}

.chotto-footer__contact-line {
	margin: 0 0 0.85rem;
	text-align: center;
}

.chotto-footer__contact {
	color: #bde0ff;
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
}

.chotto-footer__contact:hover,
.chotto-footer__contact:focus-visible {
	color: #fff;
	text-decoration: underline;
}

.chotto-footer__contact[aria-current="page"] {
	font-weight: 800;
}

.chotto-footer__nav {
	margin-bottom: 1rem;
}

.chotto-footer__menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5rem 1rem;
}

.chotto-footer__menu a {
	color: #fff;
	text-decoration: none;
	font-size: 0.8125rem;
}

.chotto-footer__menu a:hover {
	text-decoration: underline;
}

.chotto-footer__copy {
	margin: 0;
	font-size: 0.75rem;
	color: #aaa;
}

.chotto-footer__copy a {
	color: #ccc;
	text-decoration: none;
}

.chotto-footer__copy a:hover {
	text-decoration: underline;
}

.chotto-footer__theme-version {
	margin: 0.5rem 0 0;
	font-size: 0.65rem;
	color: #777;
	text-align: center;
	letter-spacing: 0.02em;
}

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

/* --- シングル記事 --- */
.chotto-layout--single .chotto-layout__main {
	padding-bottom: 2rem;
}

.chotto-single-article {
	max-width: 100%;
}

.chotto-single-title {
	font-size: 1.5rem;
	line-height: 1.35;
	margin: 0 0 0.75rem;
	color: #111;
	font-weight: 700;
}

.chotto-single-meta {
	font-size: 0.8125rem;
	color: #666;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	margin-bottom: 1.25rem;
}

.chotto-single-meta .chotto-single-time::after,
.chotto-single-meta .chotto-single-author::after {
	content: "·";
	margin-left: 0.5rem;
	color: #ccc;
}

.chotto-single-thumb {
	margin: 0 0 1.5rem;
	border-radius: 4px;
	overflow: hidden;
	background: #eee;
}

.chotto-single-thumb__img {
	display: block;
	width: 100%;
	height: auto;
}

.chotto-single-content {
	font-size: 1rem;
	line-height: 1.75;
	color: #222;
}

.chotto-single-content p {
	margin: 0 0 1em;
}

.chotto-single-content a {
	color: #003087;
}

.chotto-single-related {
	margin-top: 2rem;
	padding-top: 1.5rem;
	border-top: 1px solid #eee;
}

.chotto-single-related__title {
	font-size: 1.05rem;
	margin: 0 0 0.75rem;
}

.chotto-single-related__list {
	margin: 0;
	padding-left: 1.25rem;
	font-size: 0.9rem;
	line-height: 1.6;
}

.chotto-single-comments {
	margin-top: 2rem;
}

.chotto-page-links {
	margin-top: 1.5rem;
	font-size: 0.9rem;
}

/* --- シングル記事：旧 Chotto / TCD 風（タイル・日付バッジ・キャプション） --- */
.chotto-single-legacy-wrap {
	background: #f0f0f0;
	padding: 1.25rem 0 2.5rem;
}

.chotto-single-legacy-wrap .site-main.chotto-main {
	max-width: 680px;
	margin: 0 auto;
	padding: 0 1rem;
}

#bread_crumb {
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
	font-size: 0.75rem;
	color: #888;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem 0.35rem;
}

#bread_crumb li {
	display: inline;
}

#bread_crumb a {
	color: #666;
	text-decoration: none;
}

#bread_crumb a:hover {
	text-decoration: underline;
	color: #003087;
}

#bread_crumb .bread-home-icon {
	margin-right: 0.25rem;
	color: #666;
}

.chotto-tile-single.tile.tile-main {
	background: #fff;
	border: 1px solid #e5e5e5;
	padding: 1.5rem 1.25rem 2rem;
	box-shadow: 0 1px 2px rgba( 0, 0, 0, 0.04 );
}

.chotto-single-hero {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 1rem;
	margin-bottom: 0.75rem;
}

.chotto-single-hero__core {
	display: block;
	width: 100%;
	min-width: 0;
}

.chotto-single-hero__row {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 1rem;
	width: 100%;
	min-width: 0;
}

.chotto-single-hero--no-date .chotto-single-head-block {
	width: 100%;
}

.article-time {
	flex: 0 0 auto;
	min-width: 4.5rem;
	background: #222;
	color: #fff;
	padding: 0.5rem 0.4rem 0.65rem;
	line-height: 1.25;
	font-size: 0.7rem;
	font-weight: 600;
}

.article-time__year {
	display: block;
	font-size: 0.65rem;
	opacity: 0.95;
	font-weight: 500;
}

.article-time__md {
	display: block;
	font-size: 1.35rem;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.chotto-single-head-block {
	flex: 1;
	min-width: 0;
}

.chotto-single-page-title,
.chotto-tile-single .page-title {
	margin: 0 0 0.75rem !important;
	font-size: 1.5rem;
	line-height: 1.35 !important;
	font-weight: 700;
	color: #111;
}

.chotto-entry-meta,
.chotto-categories-list {
	font-size: 0.8rem;
	color: #555;
	margin: 0.35rem 0;
	line-height: 1.5;
}

.chotto-entry-meta a {
	color: #555;
	text-decoration: none;
}

.chotto-entry-meta a:hover {
	text-decoration: underline;
	color: #003087;
}

.chotto-categories-list {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 0.25rem;
}

.chotto-categories-list .chotto-cat-icon {
	flex-shrink: 0;
	margin-top: 0.15rem;
	vertical-align: top;
}

.chotto-categories-list a {
	color: #555;
	text-decoration: none;
}

.chotto-categories-list a:hover {
	color: #003087;
	text-decoration: underline;
}

.mr5 {
	margin-right: 5px;
}

.chotto-sns-wrap {
	clear: both;
	margin: 1rem 0 1.25rem;
}

.chotto-sns-wrap--bottom {
	margin-top: 1.75rem;
}

.entry-content-thumbnail {
	margin: 0 0 1.25rem;
	text-align: center;
	background: #fafafa;
}

.entry-content-thumbnail img,
.chotto-single-featured-img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}

.chotto-entry-body {
	font-size: 1rem;
	line-height: 1.85;
	color: #222;
}

.chotto-entry-body .alignwide,
.chotto-entry-body .alignfull {
	max-width: 100%;
}

.chotto-entry-body h2 {
	font-size: 1.25rem;
	margin: 1.75rem 0 0.75rem;
	font-weight: 700;
	color: #111;
}

.chotto-entry-body h3 {
	font-size: 1.1rem;
	margin: 1.5rem 0 0.65rem;
	font-weight: 700;
	color: #111;
}

.chotto-entry-body p {
	margin: 0 0 1em;
}

.chotto-entry-body a {
	color: #003087;
}

/*
 * 記事下お問い合わせバナー：本文リンク色（.chotto-entry-body a）が後勝ちし、
 * 濃色ボタン上で #003087 になり文字が見えなくなるため明示的に上書きする。
 */
.chotto-entry-body .chotto-contact-banner__text {
	color: #334155 !important;
}

.chotto-entry-body .chotto-contact-banner__btn,
.chotto-entry-body .chotto-contact-banner a.chotto-contact-banner__btn {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	text-decoration: none !important;
}

.chotto-entry-body .chotto-contact-banner__btn:hover,
.chotto-entry-body .chotto-contact-banner__btn:focus-visible,
.chotto-entry-body .chotto-contact-banner a.chotto-contact-banner__btn:hover,
.chotto-entry-body .chotto-contact-banner a.chotto-contact-banner__btn:focus-visible {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	background: #152a45 !important;
	border-color: #152a45 !important;
	box-shadow: 0 6px 18px rgba(21, 42, 69, 0.42);
	transform: translateY(-2px);
}

/*
 * キャプション：本文より小さく・ゴシック・薄グレー背景で区別。
 * wp-block-library より後に chotto-grid-news-list を読み込む（functions.php の依存関係）。
 * コア・global styles・レガシー .wp-caption-text（イタリック）に負けないよう !important を併用。
 */
.chotto-entry-body .wp-caption .wp-caption-text,
.chotto-entry-body .wp-caption-text,
.chotto-entry-body figure figcaption,
.chotto-entry-body .wp-block-image figcaption,
.chotto-entry-body .wp-block-image figure figcaption,
.chotto-entry-body figure.wp-block-image > figcaption,
.chotto-entry-body .wp-block-image figcaption.wp-element-caption,
.chotto-entry-body .wp-block-gallery .blocks-gallery-caption,
.chotto-entry-body .wp-block-gallery figcaption,
.chotto-entry-body .wp-block-table figcaption,
.chotto-entry-body .wp-block-audio figcaption,
.chotto-entry-body .wp-block-video figcaption,
.tile-main.chotto-tile-single .entry-content .chotto-entry-body figure figcaption,
.tile-main.chotto-tile-single .entry-content .chotto-entry-body .wp-block-image figcaption {
	font-family:
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		"Hiragino Sans",
		"Hiragino Kaku Gothic ProN",
		"Hiragino Kaku Gothic Pro",
		"Noto Sans JP",
		Meiryo,
		sans-serif !important;
	font-size: 0.75rem !important;
	line-height: 1.65 !important;
	color: #64748b !important;
	font-weight: 400;
	font-style: normal !important;
	margin-top: 0.65rem !important;
	margin-bottom: 1.35rem !important;
	padding: 0.5rem 0.65rem 0.55rem 0.75rem !important;
	text-align: left;
	border-left: 3px solid #cbd5e1;
	background-color: #eef2f7 !important;
	background: #eef2f7 !important;
	border-radius: 0 4px 4px 0;
	letter-spacing: 0.02em;
}

/* キャプション内の子要素も明朝・イタリックを継承させない */
.chotto-entry-body figure figcaption em,
.chotto-entry-body figure figcaption i,
.chotto-entry-body figure figcaption span {
	font-family: inherit !important;
	font-style: normal !important;
	font-size: inherit !important;
}

.chotto-entry-body .wp-block-image.has-text-align-center figcaption,
.chotto-entry-body .wp-block-image.has-text-align-center figcaption.wp-element-caption {
	text-align: center;
	border-left: none;
	padding-left: 0.65rem !important;
	background-color: #eef2f7 !important;
	background: #eef2f7 !important;
}

/*
 * 画像ブロックの「キャプション」が figcaption ではなく、直後の <em> だけの場合
 * （例: </figure> の次行に <em>出典・取得区分…</em> を置いた HTML）
 */
.chotto-entry-body figure.wp-block-image + em,
.chotto-entry-body .wp-block-image + em {
	display: block;
	box-sizing: border-box;
	font-family:
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		"Hiragino Sans",
		"Hiragino Kaku Gothic ProN",
		"Hiragino Kaku Gothic Pro",
		"Noto Sans JP",
		Meiryo,
		sans-serif !important;
	font-size: 0.75rem !important;
	line-height: 1.65 !important;
	color: #64748b !important;
	font-weight: 400;
	font-style: normal !important;
	margin-top: 0.65rem !important;
	margin-bottom: 1.35rem !important;
	padding: 0.5rem 0.65rem 0.55rem 0.75rem !important;
	text-align: left;
	border-left: 3px solid #cbd5e1;
	background-color: #eef2f7 !important;
	background: #eef2f7 !important;
	border-radius: 0 4px 4px 0;
	letter-spacing: 0.02em;
}

.chotto-entry-body figure.wp-block-image + em a,
.chotto-entry-body .wp-block-image + em a {
	color: #003087 !important;
	text-decoration: underline;
}

/* 固定ページ等（chotto-entry-body が無い本文） */
.entry-content .wp-caption .wp-caption-text,
.entry-content figure figcaption,
.entry-content .wp-block-image figcaption,
.entry-content .wp-block-image figure figcaption,
.entry-content .wp-block-gallery .blocks-gallery-caption {
	font-family:
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		"Hiragino Sans",
		"Hiragino Kaku Gothic ProN",
		"Noto Sans JP",
		Meiryo,
		sans-serif !important;
	font-size: 0.75rem !important;
	line-height: 1.65 !important;
	color: #64748b !important;
	font-style: normal !important;
	margin-top: 0.65rem !important;
	margin-bottom: 1.35rem !important;
	padding: 0.5rem 0.65rem 0.55rem 0.75rem !important;
	border-left: 3px solid #cbd5e1;
	background-color: #eef2f7 !important;
	background: #eef2f7 !important;
	border-radius: 0 4px 4px 0;
}

.entry-content figure figcaption em,
.entry-content figure figcaption i {
	font-style: normal !important;
}

.entry-content figure.wp-block-image + em,
.entry-content .wp-block-image + em {
	display: block;
	box-sizing: border-box;
	font-family:
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		"Hiragino Sans",
		"Hiragino Kaku Gothic ProN",
		"Noto Sans JP",
		Meiryo,
		sans-serif !important;
	font-size: 0.75rem !important;
	line-height: 1.65 !important;
	color: #64748b !important;
	font-style: normal !important;
	margin-top: 0.65rem !important;
	margin-bottom: 1.35rem !important;
	padding: 0.5rem 0.65rem 0.55rem 0.75rem !important;
	border-left: 3px solid #cbd5e1;
	background-color: #eef2f7 !important;
	background: #eef2f7 !important;
	border-radius: 0 4px 4px 0;
}

.entry-content figure.wp-block-image + em a,
.entry-content .wp-block-image + em a {
	color: #003087 !important;
	text-decoration: underline;
}

/* スマホ：画像キャプション（figcaption / figure 直後の em）をコンパクトに */
@media (max-width: 640px) {
	.chotto-entry-body .wp-caption .wp-caption-text,
	.chotto-entry-body .wp-caption-text,
	.chotto-entry-body figure figcaption,
	.chotto-entry-body .wp-block-image figcaption,
	.chotto-entry-body .wp-block-image figure figcaption,
	.chotto-entry-body figure.wp-block-image > figcaption,
	.chotto-entry-body .wp-block-image figcaption.wp-element-caption,
	.chotto-entry-body .wp-block-gallery .blocks-gallery-caption,
	.chotto-entry-body .wp-block-gallery figcaption,
	.chotto-entry-body .wp-block-table figcaption,
	.chotto-entry-body .wp-block-audio figcaption,
	.chotto-entry-body .wp-block-video figcaption,
	.tile-main.chotto-tile-single .entry-content .chotto-entry-body figure figcaption,
	.tile-main.chotto-tile-single .entry-content .chotto-entry-body .wp-block-image figcaption,
	.chotto-entry-body figure.wp-block-image + em,
	.chotto-entry-body .wp-block-image + em,
	.entry-content .wp-caption .wp-caption-text,
	.entry-content figure figcaption,
	.entry-content .wp-block-image figcaption,
	.entry-content .wp-block-image figure figcaption,
	.entry-content .wp-block-gallery .blocks-gallery-caption,
	.entry-content figure.wp-block-image + em,
	.entry-content .wp-block-image + em {
		font-size: 0.65rem !important;
		line-height: 1.45 !important;
		margin-top: 0.4rem !important;
		margin-bottom: 0.85rem !important;
		padding: 0.35rem 0.45rem 0.4rem 0.55rem !important;
		border-left-width: 2px;
		letter-spacing: 0;
		word-break: break-word;
		overflow-wrap: anywhere;
		hyphens: auto;
	}

	.chotto-entry-body .wp-block-image.has-text-align-center figcaption,
	.chotto-entry-body .wp-block-image.has-text-align-center figcaption.wp-element-caption {
		padding-left: 0.45rem !important;
	}
}

.chotto-single-ad img {
	max-width: 100%;
	height: auto;
}

/* --- 関連記事（コンパクト・横並びカード） --- */
.chotto-related {
	margin-top: 2.5rem;
	padding: 1.25rem 1rem 1.5rem;
	background: #f7f7f7;
	border-radius: 8px;
	border: 1px solid #eaeaea;
}

.chotto-related__title {
	font-size: 1rem;
	font-weight: 700;
	margin: 0 0 1rem;
	padding-bottom: 0.5rem;
	border-bottom: 2px solid #1e3a5f;
	color: #111;
}

.chotto-related__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.chotto-related__link {
	display: flex;
	align-items: stretch;
	gap: 0.75rem;
	padding: 0.65rem 0.75rem;
	background: #fff;
	border: 1px solid #e8e8e8;
	border-radius: 6px;
	text-decoration: none;
	color: inherit;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.chotto-related__link:hover {
	border-color: #1e3a5f;
	box-shadow: 0 2px 10px rgba( 30, 58, 95, 0.1 );
}

.chotto-related__thumb {
	flex: 0 0 7.5rem;
	width: 7.5rem;
	height: 4.25rem;
	overflow: hidden;
	border-radius: 4px;
	background: #e8e8e8;
}

.chotto-related__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.chotto-related__noimg {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 4.25rem;
	background: linear-gradient( 135deg, #e8e8e8, #f4f4f4 );
}

.chotto-related__body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.3rem;
}

.chotto-related__post-title {
	font-size: 0.9rem;
	font-weight: 600;
	color: #111;
	line-height: 1.45;
}

.chotto-related__link:hover .chotto-related__post-title {
	color: #003087;
}

.chotto-related__time {
	font-size: 0.72rem;
	color: #888;
}

/* 関連記事：レスポンシブグリッド */
.chotto-related--grid {
	margin-top: 2.75rem;
	padding: 1.5rem 1.25rem 1.75rem;
	background: linear-gradient( 180deg, #f8fafc 0%, #f1f5f9 100% );
	border-radius: 12px;
	border: 1px solid #e2e8f0;
	box-shadow: 0 4px 24px rgba( 15, 23, 42, 0.06 );
}

.chotto-related--grid .chotto-related__title {
	font-size: 1.05rem;
	letter-spacing: 0.04em;
	margin: 0 0 1.25rem;
	padding-bottom: 0.65rem;
	border-bottom: none;
	position: relative;
	color: #0f172a;
}

.chotto-related--grid .chotto-related__title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 3rem;
	height: 3px;
	border-radius: 2px;
	background: linear-gradient( 90deg, #1e3a5f, #3b82f6 );
}

.chotto-related--grid .chotto-related__list {
	display: grid;
	grid-template-columns: repeat( auto-fill, minmax( 260px, 1fr ) );
	gap: 0.85rem;
}

.chotto-related--grid .chotto-related__link {
	flex-direction: column;
	align-items: stretch;
	padding: 0;
	overflow: hidden;
	border-radius: 10px;
	border: 1px solid #e2e8f0;
	box-shadow: 0 1px 3px rgba( 15, 23, 42, 0.06 );
}

.chotto-related--grid .chotto-related__link:hover {
	transform: translateY( -2px );
	box-shadow: 0 8px 24px rgba( 30, 58, 95, 0.12 );
	border-color: #cbd5e1;
}

.chotto-related--grid .chotto-related__thumb {
	flex: none;
	width: 100%;
	height: 0;
	padding-bottom: 48%; /* Slightly reduced height to make room for longer titles */
	position: relative;
	border-radius: 0;
}

.chotto-related--grid .chotto-related__img,
.chotto-related--grid .chotto-related__noimg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.chotto-related--grid .chotto-related__body {
	padding: 0.85rem 1rem 1rem;
	gap: 0.4rem;
}

.chotto-related--grid .chotto-related__post-title {
	font-size: 0.92rem;
	line-height: 1.5;
	display: -webkit-box;
	-webkit-line-clamp: 3; /* Increased lines for longer titles */
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.chotto-related--grid .chotto-related__time {
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #64748b;
}

/* --- 記事: 更新日・目次 --- */
.chotto-single-modified {
	margin: 0.35rem 0 0;
	font-size: 0.85rem;
	color: #64748b;
}
.chotto-toc {
	margin: 0 0 1.25rem;
	padding: 0.85rem 1rem;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	background: #f8fafc;
	font-size: 0.92rem;
}
.chotto-toc__title {
	margin: 0 0 0.5rem;
	font-weight: 700;
	font-size: 0.95rem;
	color: #0f172a;
}
.chotto-toc__list {
	margin: 0;
	padding-left: 1.25rem;
}
.chotto-toc__item {
	margin: 0.25rem 0;
}
.chotto-toc__item--h3 {
	margin-left: 0.75rem;
	list-style-type: circle;
}
.chotto-toc__item a {
	color: #1e3a5f;
	text-decoration: none;
}
.chotto-toc__item a:hover {
	text-decoration: underline;
}

/* --- シェア（SVG・モダン） --- */
.chotto-share-modern {
	margin: 1.5rem 0;
	padding: 1rem 1.1rem 1.15rem;
	background: #fff;
	border: 1px solid #e8ecf1;
	border-radius: 12px;
	box-shadow: 0 2px 16px rgba( 15, 23, 42, 0.05 );
}

.chotto-sns-wrap--top {
	display: none;
}

.chotto-sns-wrap--bottom .chotto-share-modern {
	margin-top: 2rem;
}

.chotto-share-modern__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: flex-start;
}

.chotto-share-modern__btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.45rem 0.75rem;
	border-radius: 999px;
	text-decoration: none;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: #fff;
	border: 1px solid transparent;
	transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
	box-shadow: 0 2px 6px rgba( 0, 0, 0, 0.12 );
}

.chotto-share-modern__btn:hover {
	filter: brightness( 1.08 );
	transform: translateY( -1px );
	box-shadow: 0 4px 12px rgba( 0, 0, 0, 0.15 );
	color: #fff;
}

.chotto-share-modern__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.35rem;
	height: 1.35rem;
	flex-shrink: 0;
}

.chotto-share-modern__svg {
	width: 1.2rem;
	height: 1.2rem;
	display: block;
}

.chotto-share-modern__btn--x {
	background: #0f1419;
}
.chotto-share-modern__btn--facebook {
	background: #1877f2;
}
.chotto-share-modern__btn--hatena {
	background: #00a4de;
}
.chotto-share-modern__btn--line {
	background: #06c755;
}
.chotto-share-modern__btn--rss {
	background: #f97316;
}
.chotto-share-modern__btn--feedly {
	background: #2bb24c;
}
.chotto-share-modern__btn--pinterest {
	background: #e60023;
}
.chotto-share-modern__btn--note {
	background: #2dcdb5;
	color: #0f172a;
}
.chotto-share-modern__btn--note:hover {
	color: #0f172a;
}

button.chotto-share-modern__btn {
	font: inherit;
	text-align: center;
	cursor: pointer;
}
.chotto-share-modern__btn--copy {
	background: #64748b;
}
.chotto-share-modern__btn--copy.is-copied {
	background: #0d9488;
}
.chotto-share-modern__btn--copy.is-copy-failed {
	background: #b45309;
}

/*
 * 本文エリアのリンク色（.chotto-entry-body a）がシェアボタンより特異性で勝ち、
 * 特に X（黒背景）でラベル・SVG（currentColor）が #003087 のまま見えなくなるため上書きする。
 */
.chotto-entry-body .chotto-share-modern__btn {
	color: #fff;
	-webkit-text-fill-color: #fff;
	text-decoration: none;
}
.chotto-entry-body .chotto-share-modern__btn:hover,
.chotto-entry-body .chotto-share-modern__btn:focus-visible {
	color: #fff;
	-webkit-text-fill-color: #fff;
}
.chotto-entry-body .chotto-share-modern__btn--note {
	color: #0f172a;
	-webkit-text-fill-color: #0f172a;
}
.chotto-entry-body .chotto-share-modern__btn--note:hover,
.chotto-entry-body .chotto-share-modern__btn--note:focus-visible {
	color: #0f172a;
	-webkit-text-fill-color: #0f172a;
}
.chotto-entry-body .chotto-share-modern__btn--copy {
	color: #fff;
	-webkit-text-fill-color: #fff;
}
.chotto-entry-body .chotto-share-modern__btn--copy:hover,
.chotto-entry-body .chotto-share-modern__btn--copy:focus-visible {
	color: #fff;
	-webkit-text-fill-color: #fff;
}

@media (max-width: 480px) {
	.chotto-share-modern__label {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect( 0, 0, 0, 0 );
		white-space: nowrap;
		border: 0;
	}
	.chotto-share-modern__btn {
		padding: 0.55rem;
		border-radius: 12px;
	}
	.chotto-share-modern__icon {
		width: 1.5rem;
		height: 1.5rem;
	}
	.chotto-share-modern__svg {
		width: 1.35rem;
		height: 1.35rem;
	}
}

/* --- コメント（シンプルフォーム） --- */
.chotto-comments {
	margin-top: 2.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid #e5e5e5;
}

.chotto-comments__heading {
	font-size: 1.05rem;
	font-weight: 700;
	margin: 0 0 1rem;
	color: #111;
}

.chotto-comments__list-wrap .comment-list {
	margin: 0 0 1.25rem;
	padding: 0;
	list-style: none;
}

.chotto-comments__list-wrap .comment-body {
	font-size: 0.9rem;
	line-height: 1.6;
}

.chotto-comments__reply-title {
	font-size: 1rem;
	font-weight: 700;
	margin: 0 0 0.75rem;
}

.chotto-comment-form .comment-form-author,
.chotto-comment-form .comment-form-email {
	margin-bottom: 0.65rem;
}

.chotto-comment-form label {
	display: block;
	font-size: 0.8rem;
	font-weight: 600;
	color: #444;
	margin-bottom: 0.25rem;
}

.chotto-comment-form input[type="text"],
.chotto-comment-form input[type="email"] {
	width: 100%;
	max-width: 100%;
	padding: 0.45rem 0.6rem;
	font-size: 0.9rem;
	border: 1px solid #ccc;
	border-radius: 4px;
	box-sizing: border-box;
}

.chotto-comment-hint {
	font-size: 0.75rem;
	color: #888;
	margin-left: 0.35rem;
}

.chotto-comment-form textarea#comment {
	width: 100%;
	max-width: 100%;
	padding: 0.65rem 0.75rem;
	font-size: 0.95rem;
	line-height: 1.6;
	border: 1px solid #ccc;
	border-radius: 4px;
	box-sizing: border-box;
	resize: vertical;
	min-height: 120px;
}

.chotto-comment-submit {
	background: #1e3a5f;
	color: #fff;
	border: none;
	padding: 0.55rem 1.35rem;
	font-size: 0.9rem;
	font-weight: 600;
	border-radius: 4px;
	cursor: pointer;
}

.chotto-comment-submit:hover {
	background: #152a45;
}

.chotto-comments--modern {
	margin-top: 2.75rem;
	padding: 1.5rem 1.25rem 1.75rem;
	background: #fafbfc;
	border-radius: 12px;
	border: 1px solid #e8ecf1;
	box-shadow: inset 0 1px 0 rgba( 255, 255, 255, 0.8 );
}

.chotto-comments--modern .chotto-comments__heading {
	font-size: 1.05rem;
	letter-spacing: 0.03em;
	color: #0f172a;
}

.chotto-comments--modern .chotto-comment-form textarea#comment {
	min-height: 140px;
	padding: 0.85rem 1rem;
	border: 1px solid #d1d5db;
	border-radius: 10px;
	font-size: 0.95rem;
	line-height: 1.65;
	background: #fff;
	box-shadow: 0 1px 2px rgba( 15, 23, 42, 0.04 );
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.chotto-comments--modern .chotto-comment-form textarea#comment:focus {
	outline: none;
	border-color: #3b82f6;
	box-shadow: 0 0 0 3px rgba( 59, 130, 246, 0.2 );
}

.chotto-comments--modern .chotto-comment-submit {
	border-radius: 999px;
	padding: 0.65rem 1.75rem;
	font-size: 0.88rem;
	letter-spacing: 0.04em;
	box-shadow: 0 2px 8px rgba( 30, 58, 95, 0.25 );
}

.chotto-comments--modern .chotto-comment-submit:hover {
	box-shadow: 0 4px 14px rgba( 30, 58, 95, 0.35 );
}

.chotto-comments--modern .comment-form .form-submit {
	margin-top: 1rem;
}

.chotto-comments--modern .chotto-comments__must-log-in {
	margin: 0 0 1rem;
	font-size: 0.95rem;
	line-height: 1.65;
	color: #334155;
}

.chotto-comments--modern .chotto-comments__must-log-in a {
	text-decoration: underline;
	text-underline-offset: 2px;
}

.chotto-comment-form .logged-in-as {
	font-size: 0.85rem;
	color: #555;
	margin-bottom: 0.75rem;
}

.chotto-comment-form .logged-in-as a {
	color: #1e3a5f;
}

.chotto-single-comments-hr {
	margin: 2rem 0 1rem;
	border: none;
	border-top: 1px solid #ddd;
}

/* --- 個別記事：Back to top（画面右端固定） --- */
#chotto-article-top {
	scroll-margin-top: 5rem;
}

.chotto-back-to-top {
	position: fixed;
	right: 0;
	top: 50%;
	z-index: 95000;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 3rem;
	min-height: 5rem;
	padding: 0.65rem 0.45rem 0.65rem 0.55rem;
	margin: 0;
	border: none;
	border-radius: 8px 0 0 8px;
	background: #1e3a5f;
	color: #fff;
	cursor: pointer;
	box-shadow: -2px 2px 12px rgba( 15, 23, 42, 0.25 );
	transform: translateY( -50% );
	transition:
		background 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.2s ease;
	-webkit-tap-highlight-color: transparent;
}

.chotto-back-to-top:hover,
.chotto-back-to-top:focus-visible {
	background: #152a45;
	box-shadow: -4px 4px 18px rgba( 15, 23, 42, 0.35 );
	transform: translateY( -50% ) translateX( -4px );
	outline: none;
}

.chotto-back-to-top:focus-visible {
	outline: 2px solid #6cb4ee;
	outline-offset: 2px;
}

.chotto-back-to-top__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.15rem;
	line-height: 1.1;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.chotto-back-to-top__arrow {
	font-size: 1.1rem;
	line-height: 1;
}

.chotto-back-to-top__label {
	font-size: 0.65rem;
	text-transform: uppercase;
	opacity: 0.95;
}

@media (max-width: 600px) {
	.chotto-single-hero__row {
		flex-direction: column;
		align-items: stretch;
	}

	.article-time {
		display: flex;
		flex-direction: row;
		align-items: baseline;
		justify-content: center;
		gap: 0.75rem;
		max-width: 12rem;
		margin: 0 auto 0.5rem;
	}

	.article-time__year,
	.article-time__md {
		display: inline;
		font-size: 1rem;
	}

	.chotto-news-row__thumb-link {
		flex-basis: 2.75rem;
		width: 2.75rem;
	}

	.chotto-news-row__thumb {
		height: 2.75rem;
	}

	.chotto-news-row__title {
		font-size: 0.85rem;
	}

	.chotto-topbar__inner {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		gap: 0.5rem 0.65rem;
		padding: 0.5rem 0.75rem;
	}

	.chotto-topbar__brand {
		flex: 1 1 auto;
		min-width: 0;
	}

	.chotto-topbar__brand-inner {
		flex-wrap: nowrap;
		align-items: center;
		gap: 0.45rem;
	}

	.chotto-topbar__sitename-sub {
		display: none;
	}

	.chotto-topbar__search-wrap {
		flex: 1 1 100%;
		max-width: none;
		order: 3;
	}

	.chotto-topbar__search-label {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}

	.chotto-topbar__pv-pr {
		max-width: min(100%, 11.5rem);
		margin-left: 0;
		margin-top: 0;
		align-self: center;
		flex-shrink: 0;
	}

	.chotto-topbar__pv-pr-inner {
		flex-wrap: wrap;
		justify-content: flex-start;
	}

	.chotto-topbar__pv-pr-value {
		margin-left: auto;
	}

	.chotto-topbar__pv-pr-number {
		font-size: 1.2rem;
	}

	/* PV バッジ：モバイルはコンパクト（数値中心・注釈非表示） */
	.chotto-topbar__pv-pr--multi {
		max-width: min(100%, 11.5rem);
		width: auto;
		padding: 0.2rem 0.35rem 0.25rem;
	}

	.chotto-topbar__pv-pr--multi .chotto-topbar__pv-pr-grid {
		gap: 0.15rem;
	}

	.chotto-topbar__pv-pr-cell {
		padding: 0.1rem 0.2rem;
		background: transparent;
		box-shadow: none;
	}

	.chotto-topbar__pv-pr-cell .chotto-topbar__pv-pr-label {
		font-size: 0.55rem;
		letter-spacing: 0;
	}

	.chotto-topbar__pv-pr-cell .chotto-topbar__pv-pr-number {
		font-size: 0.85rem;
	}

	.chotto-topbar__pv-pr-cell .chotto-topbar__pv-pr-unit {
		font-size: 0.7rem;
	}

	.chotto-topbar__pv-pr-cell .chotto-topbar__pv-pr-sublabel,
	.chotto-topbar__pv-pr-note,
	.chotto-topbar__pv-pr--multi .chotto-topbar__pv-pr-source {
		display: none;
	}

	.chotto-sns-wrap--top {
		display: none;
	}

	.chotto-share-modern {
		padding: 0.75rem 0.85rem;
	}

	.chotto-share-modern__label {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}

	.chotto-share-modern__btn {
		padding: 0.5rem;
		min-width: 2.5rem;
		justify-content: center;
	}

	.chotto-share-modern__btn--rss,
	.chotto-share-modern__btn--feedly,
	.chotto-share-modern__btn--pinterest,
	.chotto-share-modern__btn--note {
		display: none;
	}

	.chotto-back-to-top {
		top: auto;
		bottom: max( 1rem, env( safe-area-inset-bottom, 0px ) );
		right: max( 0.35rem, env( safe-area-inset-right, 0px ) );
		transform: none;
		min-height: 3.25rem;
		min-width: 3.25rem;
		padding: 0.5rem;
		border-radius: 999px;
	}

	.chotto-back-to-top:hover,
	.chotto-back-to-top:focus-visible {
		transform: translateY( -2px );
	}

	#chotto-article-top {
		scroll-margin-top: 4rem;
	}
}

/* --- 404 --- */
.chotto-layout--404 {
	max-width: min( 40rem, 100% );
	margin-left: auto;
	margin-right: auto;
}

.chotto-404 {
	padding: 2rem 0 2.5rem;
}

.chotto-404__title {
	margin: 0 0 0.75rem;
	font-size: 1.35rem;
	font-weight: 700;
	color: #111;
	border-bottom: 2px solid #1e3a5f;
	padding-bottom: 0.45rem;
}

.chotto-404__lead {
	margin: 0 0 1.25rem;
	font-size: 0.95rem;
	line-height: 1.7;
	color: #444;
}

.chotto-404__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem 1rem;
	margin: 0 0 1.5rem;
}

.chotto-404__home,
.chotto-404__contact {
	display: inline-flex;
	align-items: center;
	padding: 0.5rem 1rem;
	border-radius: 4px;
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
}

.chotto-404__home {
	background: #1e3a5f;
	color: #fff;
}

.chotto-404__home:hover {
	background: #152a45;
	color: #fff;
}

.chotto-404__contact {
	border: 1px solid #1e3a5f;
	color: #1e3a5f;
	background: #fff;
}

.chotto-404__contact:hover {
	background: #f0f4f8;
}

/* --- シングル：タグ（折りたたみ） --- */
.chotto-post-tags {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.35rem 0.5rem;
	margin-top: 0.35rem;
}

.chotto-post-tags__list {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.45rem;
}

.chotto-post-tags__link {
	display: inline-block;
	padding: 0.12rem 0.45rem;
	border-radius: 3px;
	background: #f0f4f8;
	color: #1e3a5f;
	font-size: 0.75rem;
	text-decoration: none;
	line-height: 1.4;
}

.chotto-post-tags__link:hover {
	background: #e2eaf3;
	text-decoration: underline;
}

.chotto-post-tags__more {
	margin: 0;
}

.chotto-post-tags__more-toggle {
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 600;
	color: #555;
	cursor: pointer;
	list-style: none;
}

.chotto-post-tags__more-toggle::-webkit-details-marker {
	display: none;
}

.chotto-post-tags__more[open] .chotto-post-tags__more-toggle {
	color: #1e3a5f;
}

/*
 * Google AdSense 自動広告のサイドレール（右下の白いカプセル ×＋青アイコン＋カテゴリ名など）。
 * 本体は動的に挿入される #google-anno-sa。AdSense の「オーバーレイ広告」設定でサイドレールをオフにする手もある。
 */
#google-anno-sa {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}
