/* ==========================================================================
   Guide Content
   ========================================================================== */

/* --- Base (replaces theme-guide's global body/reset, scoped) --- */
.guide-content {
	--primary-color: #2d4486;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	line-height: 1.8;
	color: #333;
	box-sizing: border-box;
}

.guide-content *,
.guide-content *::before,
.guide-content *::after {
	box-sizing: border-box;
}

.guide-content img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

.guide-content a {
	color: var(--primary-color);
	text-decoration: none;
}

.guide-content a:hover {
	text-decoration: underline;
}

/* ロゴ横サイト名の和文カーニング（「ド」と「（」の間などの余白を詰める） */
header .logo-area .logo-guide {
	font-feature-settings: "palt" 1;
	font-kerning: normal;
}

/* ヘッダー右側のテキストリンク */
.guide-header-links a {
	display: block;
	text-align: left;
	font-size: 18px;
	color: #2d4486;
	text-decoration: underline;
}
.guide-header-links a + a {
	margin-top: 8px;
}
.guide-header-links a:hover {
	text-decoration: none;
}

body {
	overflow-x: clip;
	overflow-y: visible;
}

.guide-content h2 {
	padding: 0;
	border-bottom: none;
}
.guide-content h2::before {
	content: none;
	display: none;
}

/* --- Layout --- */
.guide-content .row {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

/* ==========================================================================
   Hero (TOP)
   ========================================================================== */
.guide-content .hero-section {
	/* 既定は中立グラデーション（設定「背景画像URL」で上書き可） */
	background: linear-gradient(135deg, #eef1f8 0%, #dfe5f3 100%);
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid #DCDCDC;
}

.guide-content .hero-bg {
	padding: 110px 0 80px;
	text-align: left;
	position: relative;
}

.guide-content .hero-title {
	font-size: 42px;
	font-weight: 700;
	color: #333;
	margin-bottom: 30px;
	line-height: 1.4;
	text-align: center;
}

.guide-content .hero-subtitle {
	font-size: 20px;
	font-weight: 400;
	color: #555;
	max-width: 1040px;
	margin: 0;
	line-height: 1.8;
}

/* ==========================================================================
   Category Cards (TOP)
   ========================================================================== */
.guide-content .category-cards {
	padding: 60px 0;
}

.guide-content .cards-grid {
	display: grid;
	grid-template-columns: repeat(3, 340px);
	justify-content: space-between;
	row-gap: 65px;
}

.guide-content .category-card {
	display: block;
	padding: 24px 0 0;
}

.guide-content .card-title {
	font-size: 18px;
	font-weight: 700;
	margin: 0 0 8px;
	padding: 0;
	border-bottom: none;
}
.guide-content .card-title::before {
	content: none;
}

.guide-content .card-title a {
	color: var(--primary-color);
	text-decoration: none;
}

.guide-content .card-title a:hover {
	text-decoration: underline;
}

.guide-content .card-desc {
	font-size: 14px;
	font-weight: 400;
	color: #333;
	line-height: 1.6;
}

/* ==========================================================================
   Article List (TOP / Archive)
   ========================================================================== */
.guide-content .article-list-section {
	padding: 0 0 60px;
}

.guide-content .article-list-section--no-cards {
	padding-top: 120px;
}

.guide-content .section-title {
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 0;
	padding-bottom: 30px;
	border-bottom: 1px solid #DCDCDC;
}

.guide-content .article-list {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.guide-content .article-card {
	border-bottom: 1px solid #DCDCDC;
}

.guide-content .article-card:last-child {
	border-bottom: none;
}

.guide-content .article-card-link {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 30px 0;
	color: #333;
}

.guide-content .article-card-link:hover {
	text-decoration: none;
}

.guide-content .article-card-thumb {
	flex-shrink: 0;
	width: 160px;
	height: 160px;
	border-radius: 0;
	overflow: hidden;
	background: #f0f0f0;
}

.guide-content .article-card-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.guide-content .article-card-link img {
	transition: none;
}
.guide-content .article-card-link:hover img {
	opacity: 1;
}

.guide-content .no-thumb {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #bbb;
	font-size: 13px;
	background: #f5f5f5;
}

.guide-content .article-card-body {
	flex: 1;
	min-width: 0;
}

.guide-content .article-card-title {
	font-size: 24px;
	font-weight: 500;
	margin: 0 0 20px;
	line-height: 1.5;
	color: #333;
	/* ホバーで下線がスライドインするアニメ */
	display: inline;
	background-image: linear-gradient(currentColor, currentColor);
	background-position: 0 100%;
	background-size: 0 1px;
	background-repeat: no-repeat;
	transition: background-size 0.4s ease;
}
.guide-content .article-card-title::before {
	content: none;
}

.guide-content .article-card-link:hover .article-card-title {
	background-size: 100% 1px;
	padding: 0;
	margin-top: 0;
	border-bottom: none;
}
.guide-content .article-card-link:hover .article-card-title::before {
	content: none;
}

.guide-content .article-card-excerpt {
	padding-top: 15px;
	margin: 0;
	font-size: 16px;
	font-weight: 400;
	color: #666;
	line-height: 1.7;
}

/* ==========================================================================
   Breadcrumb
   ========================================================================== */
.guide-content .breadcrumb {
	background: #fff;
	font-size: 10px;
	color: #888;
	border-bottom: 1px solid #DCDCDC;
}

.guide-content .breadcrumb .row {
	padding-top: 10px;
	padding-bottom: 10px;
}

.guide-content .breadcrumb-list {
	display: flex;
	align-items: center;
	list-style: none;
	padding: 0;
	margin: 0;
}

.guide-content .breadcrumb-list li + li::before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	border-top: 1px solid #ccc;
	border-right: 1px solid #ccc;
	transform: rotate(45deg);
	margin: 0 8px;
	vertical-align: middle;
}

.guide-content .breadcrumb a {
	color: var(--primary-color);
}

/* ==========================================================================
   Single Post - 2 Column Layout
   ========================================================================== */
.guide-content .content-with-sidebar {
	display: grid;
	grid-template-columns: 1fr 280px;
	gap: 40px;
	padding: 60px 0 60px;
}

.guide-content .main-column {
	min-width: 0;
}

/* Entry Header */
.guide-content .entry-header {
	margin-bottom: 30px;
	padding: 0;
}

.guide-content .page-content {
	padding: 60px 0 60px;
}

.guide-content .entry-title {
	font-size: 32px;
	line-height: 1.4;
	font-weight: 700;
	margin: 0 0 25px;
}

.guide-content .entry-meta {
	font-size: 12px;
	color: #888;
	margin-top: 8px;
}

.guide-content .entry-tax-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 5px;
}

.guide-content .entry-tax-badge {
	display: inline-block;
	font-size: 12px;
	line-height: 1;
	padding: 6px 12px;
	background: var(--primary-color);
	color: #fff;
	border-radius: 3px;
	text-decoration: none;
	transition: opacity 0.2s;
}

.guide-content .entry-tax-badge:hover {
	opacity: 0.8;
	text-decoration: none;
	color: #fff;
}

.guide-content .entry-meta .updated {
	margin-left: 8px;
}

.guide-content .entry-thumbnail {
	margin-bottom: 32px;
	overflow: hidden;
	text-align: center;
}

.guide-content .entry-thumbnail img {
	max-width: 100%;
	height: auto;
}

/* ==========================================================================
   Entry Content (本文スタイル)
   ========================================================================== */
.guide-content .entry-content,
.guide-content .summary-card-wrap {
	font-size: 18px;
	line-height: 1.7;
}

.guide-content .summary-card-wrap .summary-card {
	background: #e5e5e5;
	padding: 25px;
	margin-bottom: 30px;
}

.guide-content .summary-card-wrap .summary-card h2 {
	padding: 0;
	margin: 0;
	border-bottom: none;
	font-size: 27px;
}
.guide-content .summary-card-wrap .summary-card h2::before {
	content: none;
}

.guide-content .entry-content h2 {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.4;
	margin: 48px 0 16px;
	scroll-margin-top: 120px;
}

.guide-content .entry-content h3 {
	font-size: 22px;
	font-weight: 700;
	line-height: 1.4;
	margin: 36px 0 12px;
}

.guide-content .entry-content p {
	margin-bottom: 16px;
}

.guide-content .entry-content ul {
	margin: 16px 0;
	padding-left: 0;
}

.guide-content .entry-content ol {
	margin: 16px 0;
	padding-left: 24px;
}

.guide-content .entry-content ul {
	list-style: none;
}

.guide-content .entry-content ul > li::before {
	content: "・";
}

.guide-content .entry-content ol {
	list-style: decimal;
}

.guide-content .entry-content li {
	margin-bottom: 8px;
}

/* 比較表 / テーブルスクロール */
.guide-content .table-scroll-wrap {
	margin: 24px 0;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.guide-content .table-scroll-wrap::-webkit-scrollbar {
	height: 8px;
}

.guide-content .table-scroll-wrap::-webkit-scrollbar-track {
	background: #f0f0f0;
	border-radius: 4px;
}

.guide-content .table-scroll-wrap::-webkit-scrollbar-thumb {
	background: #ccc;
	border-radius: 4px;
}

.guide-content .table-scroll-wrap::-webkit-scrollbar-thumb:hover {
	background: #aaa;
}

/* Firefox */
.guide-content .table-scroll-wrap {
	scrollbar-width: thin;
	scrollbar-color: #ccc #f0f0f0;
}

.guide-content .table-scroll-wrap .scroll-hint-icon {
	top: 20%;
	bottom: auto;
	left: 50%;
	transform: translateX(-50%);
}

.guide-content .entry-content table {
	width: 100%;
	min-width: 600px;
	border-collapse: collapse;
	font-size: 14px;
}

.guide-content .entry-content table th,
.guide-content .entry-content table td {
	border: 1px solid #D1D5DC;
	padding: 12px 16px;
	text-align: center;
	vertical-align: middle;
	min-width: 140px;
	white-space: nowrap;
}

.guide-content .entry-content table td {
	white-space: normal;
	min-width: 160px;
}

.guide-content .entry-content table th {
	background: #e5e5e5;
	color: #333;
	font-size: 20px;
	font-weight: 700;
}

.guide-content .entry-content table tbody tr:nth-child(even) {
	background: #fafafa;
}

/* 引用 */
.guide-content .entry-content blockquote {
	margin: 24px 0;
	padding: 60px 30px;
	background: #e5e5e5;
	font-size: 18px;
	color: #333;
	position: relative;
}

.guide-content .entry-content blockquote::before {
	content: "";
	position: absolute;
	top: 25px;
	left: 35px;
	width: 24px;
	height: 21px;
	background: url('../images/quote-open.svg') no-repeat center / contain;
}

.guide-content .entry-content blockquote p:last-child {
	margin-bottom: 0;
}

.guide-content .entry-content blockquote::after {
	content: "";
	position: absolute;
	bottom: 25px;
	right: 35px;
	width: 24px;
	height: 21px;
	background: url('../images/quote-close.svg') no-repeat center / contain;
}

/* 本文内画像・リンク */
.guide-content .entry-content img {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.guide-content .entry-content a {
	color: var(--primary-color);
	text-decoration: underline;
}

.guide-content .entry-content a {
	transition: opacity 0.3s;
}

.guide-content .entry-content a:hover {
	opacity: 0.7;
}

/* ==========================================================================
   要約カード (details/summary)
   ========================================================================== */
.guide-content .entry-content details {
	margin: 24px 0;
	border: 2px solid var(--primary-color);
	border-radius: 8px;
	overflow: hidden;
}

.guide-content .entry-content details summary {
	padding: 16px 20px;
	background: #e0f6f7;
	cursor: pointer;
	font-weight: 600;
	font-size: 15px;
	list-style: none;
}

.guide-content .entry-content details summary::-webkit-details-marker {
	display: none;
}

.guide-content .entry-content details summary::before {
	content: "【要約カード】";
	display: block;
	font-size: 12px;
	color: var(--primary-color);
	margin-bottom: 4px;
	font-weight: 700;
}

.guide-content .entry-content details > *:not(summary) {
	padding: 0 20px;
}

.guide-content .entry-content details > p:last-child {
	padding-bottom: 16px;
}

/* ==========================================================================
   目次 (TOC)
   ========================================================================== */
.guide-content .toc {
	margin: 24px 0 32px;
	padding: 20px 0;
}

.guide-content .toc-title {
	font-weight: 600;
	font-size: 18px;
	margin-bottom: 12px;
	color: #333;
}

.guide-content .toc ul {
	list-style: none;
	padding: 0 0 0 35px;
	margin: 0;
}

.guide-content .toc ul li {
	margin-bottom: 6px;
	padding-left: 15px;
	position: relative;
}

.guide-content .toc ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 5px;
	height: 5px;
	background: #000;
	border-radius: 50%;
}

.guide-content .toc ul li a {
	color: #333;
	font-size: 14px;
	display: inline;
	padding: 3px 0;
}

.guide-content .toc ul li a:hover {
	color: var(--primary-color);
	text-decoration: underline;
}

/* ==========================================================================
   FAQ Section (本文内)
   ========================================================================== */
.guide-content .entry-content .faq h2 {
	background: none;
	border-left: none;
	padding: 0;
	margin-bottom: 20px;
}

.guide-content .entry-content .faq h3 {
	border-bottom: none;
	margin: 0;
	padding: 16px 20px 16px 48px;
	background: #f0fafb;
	cursor: default;
	position: relative;
	font-size: 18px;
}

.guide-content .entry-content .faq h3::before {
	content: "Q";
	font-family: "Inter", sans-serif;
	position: absolute;
	left: 16px;
	top: 1.5em;
	width: 24px;
	height: 24px;
	background: var(--primary-color);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.guide-content .entry-content .faq h3 + p {
	padding: 16px 20px 16px 48px;
	margin-bottom: 12px;
	position: relative;
}

/* 回答（最初の p）以降に続く p / ul / ol も左位置(48px)を揃える。 */
.guide-content .entry-content .faq > p,
.guide-content .entry-content .faq > ul,
.guide-content .entry-content .faq > ol {
	padding-left: 48px;
	padding-right: 20px;
	margin-bottom: 12px;
}

.guide-content .entry-content .faq h3 + p::before {
	content: "A";
	font-family: "Inter", sans-serif;
	position: absolute;
	left: 16px;
	top: 1.5em;
	width: 24px;
	height: 24px;
	background: #F98226;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

/* ==========================================================================
   Sidebar
   ========================================================================== */
.guide-content .sidebar-column {
	position: sticky;
	top: 30px;
	align-self: start;
}

.guide-content .widget {
	margin-bottom: 24px;
}

.guide-content .widget-title {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid #DCDCDC;
}

.guide-content .popular-posts {
	list-style: none;
	padding: 0;
}

.guide-content .popular-posts li {
	margin-bottom: 18px;
}

.guide-content .popular-posts li a {
	color: var(--primary-color);
	font-size: 14px;
	display: flex;
	align-items: center;
	gap: 8px;
	line-height: 1.5;
	text-decoration: none;
}

.guide-content .popular-posts li a::before {
	content: "";
	flex-shrink: 0;
	width: 8px;
	height: 13px;
	background-color: var(--primary-color);
	-webkit-mask: url('../images/arrow-right.svg') no-repeat center / contain;
	mask: url('../images/arrow-right.svg') no-repeat center / contain;
}

.guide-content .popular-posts li a:hover {
	text-decoration: underline;
}

/* ==========================================================================
   Archive
   ========================================================================== */
.guide-content .archive-header {
	margin-bottom: 32px;
	padding: 32px 0 0;
}

.guide-content .archive-title {
	font-size: 24px;
	font-weight: 700;
}

.guide-content .archive-description {
	margin-top: 8px;
	color: #666;
}

/* ==========================================================================
   404 / Search
   ========================================================================== */
.guide-content .no-results {
	padding: 60px 0;
	text-align: center;
}

.guide-content .no-results p {
	margin-bottom: 16px;
	color: #666;
}

.guide-content .no-results .search-form {
	display: inline-flex;
	margin-top: 16px;
}

.guide-content .error-404 {
	text-align: center;
	padding: 80px 20px;
}

.guide-content .error-404 h1 {
	font-size: 24px;
	margin-bottom: 16px;
}

.guide-content .error-404 p {
	margin-bottom: 16px;
	color: #666;
}

.guide-content .error-404 .search-form {
	display: inline-flex;
	margin: 24px 0;
}

.guide-content .error-404-btn {
	margin-top: 16px;
}

.guide-content .btn {
	display: inline-block;
	padding: 12px 32px;
	background: var(--primary-color);
	color: #fff;
	border-radius: 6px;
	font-weight: 600;
	text-align: center;
	transition: opacity 0.3s;
}

.guide-content .btn:hover {
	opacity: 0.85;
	text-decoration: none;
	color: #fff;
}

/* ==========================================================================
   Pagination
   ========================================================================== */
.guide-content .pagination {
	margin: 40px 0;
	text-align: center;
}

.guide-content .page-numbers {
	display: inline-block;
	padding: 8px 14px;
	margin: 0 4px;
	border: 1px solid #ddd;
	border-radius: 4px;
	color: #333;
	text-decoration: none;
	transition: border-color 0.3s;
}

.guide-content .page-numbers:hover {
	border-color: var(--primary-color);
	text-decoration: none;
}

.guide-content .page-numbers.current {
	background: var(--primary-color);
	color: #fff;
	border-color: var(--primary-color);
}

/* ==========================================================================
   Responsive
   ========================================================================== */

/* --- Tablet (max-width: 1080px) --- */
@media (max-width: 1080px) {
	.guide-content .cards-grid {
		grid-template-columns: repeat(2, 1fr);
		justify-content: start;
		gap: 30px;
	}
}

/* --- Tablet (max-width: 900px) --- */
@media (max-width: 900px) {
	/* 2カラム → 1カラム */
	.guide-content .content-with-sidebar {
		grid-template-columns: 1fr;
	}

	.guide-content .sidebar-column {
		position: static;
	}
}

/* --- SP (max-width: 768px) --- */
@media (max-width: 768px) {

	/* ===== Hero ===== */
	.guide-content .hero-bg {
		padding: 50px 0 40px;
	}

	.guide-content .hero-title {
		font-size: 24px;
		margin-bottom: 20px;
	}

	.guide-content .hero-subtitle {
		font-size: 15px;
	}

	/* ===== カードメニュー ===== */
	.guide-content .category-cards {
		padding: 60px 0 80px;
	}

	.guide-content .article-list-section--no-cards {
		padding-top: 60px;
	}

	.guide-content .cards-grid {
		grid-template-columns: 1fr;
		row-gap: 30px;
	}

	.guide-content .card-title {
		font-size: 16px;
	}

	.guide-content .card-desc {
		font-size: 13px;
	}

	/* ===== 記事一覧 ===== */
	.guide-content .section-title {
		font-size: 20px;
		padding-bottom: 20px;
	}

	.guide-content .article-card-link {
		gap: 16px;
		padding: 24px 0;
	}

	.guide-content .article-card-thumb {
		width: 120px;
		height: 120px;
	}

	.guide-content .article-card-title {
		font-size: 18px;
	}

	.guide-content .article-card-excerpt {
		padding-top: 10px;
		font-size: 14px;
	}

	/* ===== パンくず ===== */
	.guide-content .breadcrumb {
		font-size: 10px;
	}

	.guide-content .breadcrumb-list li + li::before {
		margin: 0 6px;
	}

	/* ===== レイアウト ===== */
	.guide-content .page-content {
		padding: 30px 0 40px;
	}

	.guide-content .content-with-sidebar {
		padding: 30px 0 40px;
	}

	/* ===== エントリー ===== */
	.guide-content .entry-header {
		margin-bottom: 20px;
	}

	.guide-content .entry-title {
		font-size: 26px;
		margin-bottom: 16px;
	}

	.guide-content .entry-tax-badges {
		gap: 6px;
	}

	.guide-content .entry-tax-badge {
		font-size: 11px;
		padding: 5px 10px;
	}

	.guide-content .entry-thumbnail {
		margin-bottom: 24px;
	}

	.guide-content .entry-content,
	.guide-content .summary-card-wrap {
		font-size: 16px;
	}

	.guide-content .summary-card-wrap .summary-card {
		padding: 20px;
		margin-bottom: 24px;
	}

	.guide-content .summary-card-wrap h2 {
		font-size: 20px;
		margin: 0 0 8px;
	}

	.guide-content .entry-content h2 {
		font-size: 20px;
		margin: 36px 0 12px;
		scroll-margin-top: 80px;
	}

	.guide-content .entry-content h3 {
		font-size: 18px;
		margin: 28px 0 10px;
	}

	.guide-content .entry-content p {
		margin-bottom: 14px;
	}

	.guide-content .entry-content ul,
	.guide-content .entry-content ol {
		margin: 14px 0;
	}

	/* ===== details/summary ===== */
	.guide-content .entry-content details {
		margin: 20px 0;
	}

	.guide-content .entry-content details summary {
		padding: 14px 16px;
		font-size: 14px;
	}

	.guide-content .entry-content details summary::before {
		font-size: 11px;
	}

	.guide-content .entry-content details > *:not(summary) {
		padding: 0 16px;
	}

	/* ===== 目次 ===== */
	.guide-content .toc {
		margin: 20px 0 24px;
		padding: 16px 0;
	}

	.guide-content .toc-title {
		font-size: 16px;
		margin-bottom: 10px;
	}

	.guide-content .toc ul {
		padding: 0 0 0 20px;
	}

	.guide-content .toc ul li a {
		font-size: 13px;
	}

	/* ===== テーブル ===== */
	.guide-content .table-scroll-wrap {
		margin: 20px 0;
	}

	.guide-content .entry-content table {
		min-width: 500px;
	}

	.guide-content .entry-content table th,
	.guide-content .entry-content table td {
		padding: 10px 12px;
		font-size: 13px;
		min-width: 100px;
	}

	.guide-content .entry-content table th {
		font-size: 16px;
	}

	.guide-content .entry-content table td {
		min-width: 120px;
	}

	/* ===== 引用 ===== */
	.guide-content .entry-content blockquote {
		margin: 20px 0;
		padding: 40px 20px;
		font-size: 16px;
	}

	.guide-content .entry-content blockquote::before,
	.guide-content .entry-content blockquote::after {
		width: 20px;
		height: 17px;
	}

	.guide-content .entry-content blockquote::before {
		top: 12px;
		left: 16px;
	}

	.guide-content .entry-content blockquote::after {
		bottom: 12px;
		right: 16px;
	}

	/* ===== FAQ ===== */
	.guide-content .entry-content .faq h3 {
		font-size: 16px;
		padding: 14px 16px 14px 42px;
	}

	.guide-content .entry-content .faq h3::before,
	.guide-content .entry-content .faq h3 + p::before {
		left: 12px;
		width: 22px;
		height: 22px;
		font-size: 12px;
	}

	.guide-content .entry-content .faq h3 + p {
		padding: 14px 16px 14px 42px;
		margin-bottom: 10px;
	}

	/* ===== サイドバー ===== */
	.guide-content .sidebar-column {
		margin-top: 40px;
	}

	.guide-content .widget {
		margin-bottom: 20px;
	}

	.guide-content .widget-title {
		font-size: 16px;
		margin-bottom: 12px;
		padding-bottom: 10px;
	}

	.guide-content .popular-posts li {
		margin-bottom: 14px;
	}

	.guide-content .popular-posts li a {
		font-size: 13px;
	}

	/* ===== ページネーション ===== */
	.guide-content .pagination {
		margin: 30px 0;
	}

	.guide-content .page-numbers {
		padding: 6px 12px;
		font-size: 13px;
	}

	/* ===== 404 ===== */
	.guide-content .error-404 {
		padding: 50px 20px;
	}

	.guide-content .error-404 h1 {
		font-size: 20px;
	}

	.guide-content .error-404 p {
		margin-bottom: 24px;
	}

	.guide-content .btn {
		padding: 10px 24px;
	}

	/* ===== 検索結果なし ===== */
	.guide-content .no-results {
		padding: 40px 0;
	}
}

/* --- Small SP (max-width: 480px) --- */
@media (max-width: 480px) {
	.guide-content .row {
		padding: 0 15px;
	}

	/* Hero */
	.guide-content .hero-title {
		font-size: 20px;
	}

	.guide-content .hero-subtitle {
		font-size: 14px;
	}

	.guide-content .article-card-thumb {
		width: 80px;
		height: 80px;
	}

	/* エントリータイトル */
	.guide-content .entry-title {
		font-size: 24px;
	}

	.guide-content .entry-tax-badge {
		font-size: 10px;
		padding: 4px 8px;
	}
}

/* ==========================================================================
   著者概要ボックス（記事下）
   ========================================================================== */
.guide-content .author-box {
	display: flex;
	gap: 24px;
	margin-top: 60px;
	padding: 24px;
	background: #fff;
	border: 1px solid #DCDCDC;
}
.guide-content .author-box-image { flex-shrink: 0; }
.guide-content .author-box-image img {
	width: 120px;
	height: 120px;
	border-radius: 50%;
	object-fit: cover;
}
.guide-content .author-box-info { flex: 1; min-width: 0; }
.guide-content .author-box-title { font-size: 12px; font-weight: 400; color: #000; margin-bottom: 0; }
.guide-content .author-box-name { font-size: 16px; font-weight: 600; margin-bottom: 6px; }
.guide-content .author-box-bio { font-size: 12px; line-height: 1.5; color: #333; margin-bottom: 6px; }
.guide-content .author-box-link a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: var(--primary-color);
	text-decoration: none;
}
.guide-content .author-box-link a::before {
	content: "";
	width: 6px;
	height: 12px;
	background-color: var(--primary-color);
	-webkit-mask: url('../images/arrow-right-sm.svg') no-repeat center / contain;
	mask: url('../images/arrow-right-sm.svg') no-repeat center / contain;
	flex-shrink: 0;
}
.guide-content .author-box-link a:hover { text-decoration: underline; }

/* ==========================================================================
   著者詳細ページ（/guide/writer/{slug}/）
   ========================================================================== */
.guide-content .writer-main {
	padding: 0;
}
.guide-content .writer-name-en {
	font-weight: 700;
	color: #333;
}
.guide-content .writer-main-content {
	display: flex;
	gap: 30px;
}
.guide-content .writer-main-image {
	flex-shrink: 0;
}
.guide-content .writer-main-image img {
	width: 275px;
	height: 275px;
	object-fit: cover;
}
.guide-content .writer-main-info {
	flex: 1;
	min-width: 0;
}
.guide-content .writer-main-title {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 12px;
}
.guide-content .writer-main-bio {
	font-size: 18px;
	line-height: 1.7;
	margin-bottom: 16px;
}
.guide-content .writer-main-detail {
	font-size: 18px;
	line-height: 1.7;
}
.guide-content .writer-main-detail h3 {
	font-size: 18px;
	font-weight: 700;
	margin: 40px 0 8px;
}
.guide-content .writer-main-detail p {
	margin-bottom: 16px;
}
.guide-content .writer-main-detail ul,
.guide-content .writer-main-detail ol {
	margin: 16px 0;
}
.guide-content .writer-main-detail li {
	margin-bottom: 8px;
}
.guide-content .writer-main-detail a {
	color: var(--primary-color);
}
.guide-content .writer-main-detail ul {
	list-style: none;
	padding: 0;
}
.guide-content .writer-main-detail ul li::before {
	content: "・";
}
.guide-content .writer-main-sameas {
	list-style: none;
	padding: 0;
	margin: 16px 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.guide-content .writer-main-sameas a {
	display: inline-block;
	padding: 6px 14px;
	border: 1px solid #d5dae8;
	border-radius: 20px;
	font-size: 13px;
	color: var(--primary-color);
	text-decoration: none;
}
.guide-content .writer-posts {
	margin-top: 50px;
}
@media (max-width: 768px) {
	.guide-content .writer-main-content {
		flex-direction: column;
		gap: 20px;
	}
	.guide-content .writer-main-image img {
		width: 200px;
		height: 200px;
	}
}

@media (max-width: 480px) {
	.guide-content .author-box { flex-direction: column; align-items: center; gap: 16px; padding: 20px; margin-top: 40px; }
	.guide-content .author-box-info { text-align: center; }
	.guide-content .author-box-bio { text-align: left; }
	.guide-content .author-box-image img { width: 100px; height: 100px; }
}
