/*
 * 記事（コラム・旧投稿）の部品の見た目（判断台帳 R-207 の見本）
 * - 前後の記事 … 案A（小さな写真つきの横長の行2本）  global-templates/post-nav.php
 * - 監修の一行 … 案A                                 global-templates/author-line.php
 * - 著者欄     … 案B（名刺カード風・写真を大きく）   global-templates/author-box.php
 * - 関連コラム … 前後の記事と同じ行の作り             global-templates/related-columns.php
 * 読み込みは func-parts-css.php（記事のページだけ）
 */
.eg48-postnav,
.eg48-related,
.eg48-author,
.eg48-author-line {
	--eg48-blue: #38a1db;
	--eg48-blue-soft: #eaf5fc;
	--eg48-line: #d6e6f0;
	--eg48-beige: #f7f6f3;
	--eg48-ink: #24323d;
	--eg48-sub: #5d6b75;
}

/* ---- 監修の一行 ---- */
.eg48-author-line {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 10px 0 16px;
	text-align: left;
}
.eg48-author-line__photo {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	object-fit: cover;
	flex: none;
}
.eg48-author-line__text {
	margin: 0;
	font-size: 13px;
	line-height: 1.5;
	color: var(--eg48-sub);
}
.eg48-author-line__text b {
	color: var(--eg48-ink);
}

/* ---- 前後の記事 ---- */
.eg48-postnav {
	width: 100%;
	margin: 40px 0 8px;
}
.eg48-postnav__list {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.eg48-postnav__item {
	margin: 0;
	padding: 0;
	list-style: none;
}
.eg48-postnav__link {
	display: grid;
	grid-template-columns: 72px 1fr 20px;
	gap: 14px;
	align-items: center;
	min-height: 72px;
	padding: 12px;
	border: 1px solid var(--eg48-line);
	border-radius: 14px;
	background: #fff;
	color: var(--eg48-ink);
	text-decoration: none;
}
.eg48-postnav__link:hover {
	border-color: var(--eg48-blue);
	color: var(--eg48-ink);
	text-decoration: none;
}
.eg48-postnav__item.is-next .eg48-postnav__link::after,
.eg48-related .eg48-postnav__link::after,
.eg48-postnav__item.is-prev .eg48-postnav__link::before {
	color: var(--eg48-blue);
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
}
.eg48-postnav__item.is-next .eg48-postnav__link::after,
.eg48-related .eg48-postnav__link::after {
	content: "\203A";
}
.eg48-postnav__item.is-prev .eg48-postnav__link {
	grid-template-columns: 20px 72px 1fr;
}
.eg48-postnav__item.is-prev .eg48-postnav__link::before {
	content: "\2039";
}
.eg48-postnav__img,
.eg48-postnav__noimg {
	display: block;
	width: 72px;
	height: 72px;
	border-radius: 10px;
	object-fit: cover;
}
.eg48-postnav__noimg {
	background: var(--eg48-beige);
}
.eg48-postnav__text {
	min-width: 0;
}
.eg48-postnav__label {
	display: block;
	margin-bottom: 4px;
	font-size: 12px;
	font-weight: 700;
	color: var(--eg48-blue);
}
.eg48-postnav__title {
	display: -webkit-box;
	overflow: hidden;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
@media (min-width: 768px) {
	.eg48-postnav__list {
		grid-template-columns: 1fr 1fr;
	}
}

/* ---- 関連コラム（行の作りは前後の記事と同じ .eg48-postnav__*。ここは枠と見出しだけ） ---- */
.eg48-related {
	width: 100%;
	margin: 32px 0 8px;
}
.eg48-related__title {
	margin: 0 0 12px;
	font-size: 18px;
	font-weight: 700;
	color: var(--eg48-ink);
	text-align: left;
}

/* ---- 著者欄 ---- */
.eg48-author {
	overflow: hidden;
	margin: 32px 0;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 6px 24px rgba(30, 80, 110, .14);
	text-align: left;
}
.eg48-author p {
	margin: 0;
}
.eg48-author__band {
	padding: 10px 20px;
	background: var(--eg48-blue);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .06em;
}
/* 写真は丸く小さく、横に会社名・氏名・肩書（2026-10-02 社長「スマホでは大きい・丸にして横に肩書」） */
.eg48-author__top {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 20px 20px 0;
}
/* 元の写真は肩の少し下までの横長（720x581）。丸に切るので顔が中央に来るよう上寄せで切る */
.eg48-author__photo {
	flex: 0 0 auto;
	width: 76px;
	height: 76px;
	border-radius: 50%;
	border: 3px solid var(--eg48-blue-soft);
	object-fit: cover;
	object-position: 50% 30%;
}
.eg48-author__who {
	min-width: 0;
}
.eg48-author__company {
	font-size: 13px;
	color: var(--eg48-sub);
}
.eg48-author .eg48-author__name {
	margin: 2px 0;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--eg48-ink);
}
.eg48-author__job {
	font-size: 15px;
	font-weight: 700;
	color: var(--eg48-blue);
}
#widget_bottom .eg48-author__facts,
.eg48-author__facts {
	margin: 16px 20px 0;
	padding: 0;
	list-style: none;
}
.eg48-author__facts li {
	position: relative;
	padding: 8px 0 8px 22px;
	border-top: 1px dashed #dfe6eb;
	font-size: 14px;
	line-height: 1.6;
	color: var(--eg48-ink);
}
.eg48-author__facts li::before {
	content: "";
	position: absolute;
	top: 15px;
	left: 4px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--eg48-blue);
}
.eg48-author__career {
	margin: 16px 20px 0;
	padding: 16px;
	border-radius: 12px;
	background: var(--eg48-beige);
}
.eg48-author .eg48-author__career p {
	margin: 0 0 8px;
	font-size: 14px;
	line-height: 1.85;
	color: #3a4650;
}
.eg48-author .eg48-author__career .eg48-author__career-head {
	font-weight: 700;
	color: var(--eg48-ink);
}
.eg48-author__cta,
.eg48-author__cta:visited {
	display: block;
	margin: 16px 20px 20px;
	padding: 14px;
	border-radius: 999px;
	background: var(--eg48-blue);
	color: #fff;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
}
.eg48-author__cta:hover {
	color: #fff;
	text-decoration: none;
	opacity: .9;
}
@media (min-width: 768px) {
	.eg48-author__top {
		gap: 24px;
		padding: 24px 20px 0;
	}
	.eg48-author__photo {
		width: 112px;
		height: 112px;
	}
	.eg48-author .eg48-author__name {
		font-size: 28px;
	}
}
