/**
 * 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;
}

.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,
.chotto-nav-primary .menu-item.current-menu-item > a {
	border-bottom-color: #6cb4ee;
	color: #fff;
}

/* カテゴリ条をプライマリ青帯に統合（トップ＋カテゴリ＋その他＋トピックス一覧） */
.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 */
	}
}

.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;
	color: #fff;
	border-bottom-color: #6cb4ee;
}

.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;
	color: #111;
}

/* 「その他」パネル内も同じ強調（個別記事で該当カテゴリがここに入った場合） */
.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;
	color: #111;
}

.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;
}

.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;
}

@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__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 --- */
.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 {
	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__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-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: stretch;
	gap: 1rem;
	padding: 0.75rem 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 7.5rem;
	width: 7.5rem;
	text-decoration: none;
	color: inherit;
	align-self: flex-start;
}

.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: 4.25rem;
	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.35rem;
}

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

.chotto-news-row__title {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.45;
	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.75rem;
	color: #666;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: wrap;
}

.chotto-news-row__comments {
	display: inline-flex;
	align-items: center;
	gap: 0.2rem;
	color: #888;
}

.chotto-news-row__comments-icon {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	border: 1px solid #bbb;
	display: inline-block;
	position: relative;
}

.chotto-news-row__comments-icon::after {
	content: "";
	position: absolute;
	left: 2px;
	top: 3px;
	width: 6px;
	height: 4px;
	border-left: 1px solid #bbb;
	border-bottom: 1px solid #bbb;
	transform: rotate(-45deg);
}

.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-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);
}

.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;
}

.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: row;
	align-items: flex-start;
	gap: 1rem;
	margin-bottom: 0.75rem;
}

.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;
}

/* --- シェア（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--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;
}

@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-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 {
		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: 96px;
		width: 96px;
	}

	.chotto-news-row__thumb {
		height: 54px;
	}

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

	.chotto-topbar__inner {
		flex-direction: column;
		align-items: stretch;
	}

	.chotto-topbar__search-wrap {
		max-width: none;
		flex-basis: auto;
	}

	.chotto-topbar__pv-pr {
		max-width: 100%;
		margin-left: 0;
		margin-top: 0.35rem;
		align-self: flex-start;
	}

	.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;
	}

	.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;
	}
}

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