/*
 * AIzen Design System — コラム(記事・一覧・カテゴリ)
 * 配色: 白 / 黒(インク) / 深い青(ネイビー) / オレンジ。ほかのページと同じトークン。
 * SWELLのクラスを、このプラグインのクラス(.azc-*)と #body_wrap.azc-body 配下の指定で上書きする。
 */

.azc-cta,
.azc-inlink,
.azc-body {
	--azc-ink: #1a1a1a;
	--azc-ink-2: #3a3833;
	--azc-mute: #767268;
	--azc-paper: #f5f4ef;
	--azc-navy: #0b2a5b;
	--azc-navy-d: #071d42;
	--azc-accent: #ff6a1f;
	--azc-accent-d: #e4540a;
	--azc-accent-pale: #ffefe4;
	--azc-line: #e7e4db;
	--azc-sh: 0 14px 44px rgba(26, 24, 18, 0.09);
	font-family: 'Noto Sans JP', 'Hiragino Sans', 'Yu Gothic', sans-serif;
}

/* ━━━━━ 本文中の関連記事(1行・控えめ) ━━━━━ */
.azc-inlink {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 12px;
	margin: 2.4em 0;
	padding: 12px 16px;
	background: var(--azc-paper);
	border-left: 3px solid var(--azc-accent);
	border-radius: 0 10px 10px 0;
	line-height: 1.7;
}
.azc-inlink__label {
	flex: none;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: var(--azc-accent-d);
}
.azc-inlink__a {
	font-size: 14px;
	font-weight: 500;
	color: var(--azc-ink) !important;
	text-decoration: none !important;
	border-bottom: 1px solid var(--azc-line);
	transition: color 0.2s, border-color 0.2s;
}
.azc-inlink__a:hover {
	color: var(--azc-accent-d) !important;
	border-bottom-color: var(--azc-accent);
}

/* ━━━━━ 追従する無料相談の案内(白ベース・控えめ) ━━━━━ */
.azc-cta {
	display: none; /* JSが置き場所を決めてから表示する */
	box-sizing: border-box;
}
.azc-cta.is-placed {
	display: block;
}
.azc-cta *,
.azc-cta *::before,
.azc-cta *::after {
	box-sizing: border-box;
}
.azc-cta p,
.azc-cta ul {
	margin: 0;
	padding: 0;
}
.azc-cta__inner {
	background: #fff;
	color: var(--azc-ink);
	border: 1px solid var(--azc-line);
	border-radius: 16px;
	padding: 28px 24px 24px;
	box-shadow: 0 8px 28px rgba(26, 24, 18, 0.06);
}
.azc-cta__eyebrow {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: var(--azc-mute);
	margin-bottom: 12px;
}
.azc-cta__title {
	font-size: 22px;
	font-weight: 900;
	line-height: 1.5;
	color: var(--azc-ink);
	margin-bottom: 12px;
}
.azc-cta__title em {
	font-style: normal;
	background: linear-gradient(transparent 62%, var(--azc-accent-pale) 62%);
}
.azc-cta__lead {
	font-size: 13px;
	line-height: 1.9;
	color: var(--azc-ink-2);
	margin-bottom: 18px;
}
.azc-cta__list {
	list-style: none;
	margin-bottom: 22px;
	border-top: 1px solid var(--azc-line);
}
.azc-cta__list li {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	column-gap: 12px;
	padding: 12px 2px;
	border-bottom: 1px solid var(--azc-line);
	line-height: 1.5;
}
.azc-cta__list li b {
	font-size: 14px;
	font-weight: 700;
	color: var(--azc-ink);
}
.azc-cta__list li span {
	grid-column: 1;
	font-size: 12px;
	color: var(--azc-mute);
}
.azc-cta__list li i {
	grid-column: 2;
	grid-row: 1 / span 2;
	font-style: normal;
	font-size: 13px;
	font-weight: 700;
	color: var(--azc-ink);
	white-space: nowrap;
}
.azc-cta__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	padding: 14px 20px;
	background: var(--azc-accent);
	color: #fff !important;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-decoration: none !important;
	border-radius: 999px;
	transition: background 0.2s, transform 0.2s;
}
.azc-cta__btn span {
	transition: transform 0.2s;
}
.azc-cta__btn:hover {
	background: var(--azc-accent-d);
	transform: translateY(-1px);
}
.azc-cta__btn:hover span {
	transform: translateX(4px);
}
.azc-cta__note {
	margin-top: 12px;
	text-align: center;
	font-size: 12px;
	color: var(--azc-mute);
}

/* 狭い画面: 記事の終わりに置く */
@media (max-width: 999px) {
	.azc-cta {
		margin: 3em auto 1em;
		max-width: 520px;
	}
}

/* 広い画面: 本文(2/3) + 右の追従案内(1/3) */
@media (min-width: 1000px) {
	.l-content.azc-on {
		display: flex;
		align-items: stretch;
		gap: 40px;
	}
	.l-content.azc-on #main_content {
		flex: 0 1 calc(66.667% - 20px);
		width: auto;
		max-width: none;
		min-width: 0;
	}
	.l-content.azc-on .azc-cta {
		flex: 0 0 calc(33.333% - 20px);
		min-width: 0;
	}
	.l-content.azc-on .azc-cta__inner {
		position: sticky;
		top: 96px;
	}
}

/* ━━━━━ 共通: カテゴリのピル ━━━━━ */
.azc-body .c-categoryList {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}
.azc-body .c-categoryList::before {
	display: none;
}
.azc-body .c-categoryList__separation {
	display: none;
}
.azc-body .c-categoryList__link {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 6px 16px;
	background: #fff;
	color: var(--azc-ink) !important;
	border: 1px solid var(--azc-line);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
	transition: all 0.2s;
}
.azc-body .c-categoryList__link::before {
	display: none;
}
.azc-body a.c-categoryList__link:hover {
	border-color: var(--azc-accent);
	color: var(--azc-accent-d) !important;
	opacity: 1;
}
.azc-body .c-categoryList__link.-current {
	background: var(--azc-navy);
	border-color: var(--azc-navy);
	color: #fff !important;
}

/* ━━━━━ 共通: 記事カード(一覧・関連記事) ━━━━━ */
.azc-body .p-postList.-type-card {
	margin-left: -12px;
	margin-right: -12px;
}
.azc-body .p-postList.-type-card .p-postList__item {
	padding: 0 12px;
	margin-bottom: 24px;
}
.azc-body .p-postList.-type-card .p-postList__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: #fff;
	border: 1px solid var(--azc-line);
	border-radius: 16px;
	overflow: hidden;
	box-shadow: none;
	text-decoration: none;
	transition: transform 0.25s cubic-bezier(0.3, 0.7, 0.3, 1), box-shadow 0.25s;
}
.azc-body .p-postList.-type-card .p-postList__link:hover {
	transform: translateY(-4px);
	box-shadow: var(--azc-sh);
	opacity: 1;
}
.azc-body .p-postList__thumb {
	border-radius: 0;
}
.azc-body .p-postList__thumb .c-postThumb__figure {
	aspect-ratio: 16 / 9;
	height: auto;
}
.azc-body .p-postList__thumb .c-postThumb__cat {
	display: none; /* カードに札は付けない */
}
.azc-body .p-postList.-type-card .p-postList__body {
	flex: 1;
	padding: 18px 20px 20px;
}
.azc-body .p-postList__title {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.6;
	color: var(--azc-ink);
	margin: 0 0 8px;
}
.azc-body .p-postList__excerpt {
	font-size: 13px;
	line-height: 1.8;
	color: var(--azc-mute);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.azc-body .p-postList__meta {
	margin-top: 12px;
	font-size: 12px;
	color: var(--azc-mute);
}

/* ━━━━━ 一覧・カテゴリ ━━━━━ */
.azc-archive #content {
	display: block;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 56px 24px 88px;
	background: var(--azc-paper);
	box-sizing: border-box;
}
.azc-archive #main_content {
	width: 100%;
	max-width: 1120px;
	margin: 0 auto;
	padding: 0;
	float: none;
}
.azc-archive .c-pageTitle {
	display: block;
	float: none;
	overflow: hidden;
	width: 100%;
	text-align: center;
	margin: 0 0 24px !important;
	padding: 0 !important;
	border: none !important;
	font-size: 34px;
	font-weight: 900;
	line-height: 1.4;
	color: var(--azc-ink);
}
.azc-archive .c-pageTitle::before {
	content: 'COLUMN';
	display: block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	color: var(--azc-accent-d);
	margin-bottom: 8px;
}
.azc-archive .c-pageTitle__inner {
	display: block !important;
	float: none !important;
	width: auto !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	background: none !important;
	text-align: center;
	font-size: inherit;
}
.azc-archive .c-pageTitle__inner::before,
.azc-archive .c-pageTitle__inner::after,
.azc-archive .c-pageTitle::after {
	display: none;
}
.azc-archive .c-pageTitle__subTitle {
	display: none;
}
.azc-archive .p-termNavigation {
	clear: both;
	width: 100%;
	justify-content: center;
	margin: 0 0 40px;
}
.azc-archive .p-termContent,
.azc-archive .l-parent {
	margin: 0;
}
.azc-archive .c-pagination {
	margin-top: 24px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px;
}
.azc-archive .c-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	margin: 0;
	padding: 0 12px;
	background: #fff;
	color: var(--azc-ink);
	border: 1px solid var(--azc-line);
	border-radius: 999px;
	font-weight: 700;
	transition: all 0.2s;
}
.azc-archive .c-pagination a.page-numbers:hover {
	border-color: var(--azc-accent);
	color: var(--azc-accent-d);
}
.azc-archive .c-pagination .page-numbers.current {
	background: var(--azc-navy);
	border-color: var(--azc-navy);
	color: #fff;
}
@media (max-width: 768px) {
	.azc-archive #content {
		padding: 36px 16px 56px;
	}
	.azc-archive .c-pageTitle {
		font-size: 26px;
	}
}

/* ━━━━━ 記事ページ ━━━━━ */
.azc-single .p-articleHead {
	display: block;
	margin-bottom: 16px;
}
.azc-single .p-articleHead .c-postTitle__date {
	display: none;
}
.azc-single .p-articleHead .c-postTitle__ttl {
	padding: 0;
	font-size: clamp(24px, 3vw, 34px);
	font-weight: 900;
	line-height: 1.5;
	color: var(--azc-ink);
	letter-spacing: 0;
}
.azc-single .p-articleMetas.-top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
	margin-bottom: 24px;
}
.azc-single .p-articleMetas .c-postTimes {
	color: var(--azc-mute);
	font-size: 13px;
}
.azc-single .p-articleThumb {
	margin-bottom: 40px;
}
.azc-single .p-articleThumb__img {
	border-radius: 16px;
}

.azc-single .post_content {
	font-size: 16px;
	line-height: 2;
	color: var(--azc-ink-2);
}
.azc-single .post_content h2.wp-block-heading,
.azc-single .post_content h2 {
	position: relative;
	margin: 3.4em 0 1.4em;
	padding: 0 0 16px;
	background: none;
	border: none;
	border-bottom: 2px solid var(--azc-line);
	border-radius: 0;
	font-size: 1.65rem;
	font-weight: 900;
	line-height: 1.5;
	color: var(--azc-ink);
}
.azc-single .post_content h2::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 72px;
	height: 2px;
	background: var(--azc-accent);
	border: none;
	top: auto;
	right: auto;
}
.azc-single .post_content h2::after {
	display: none;
}
.azc-single .post_content h3.wp-block-heading,
.azc-single .post_content h3 {
	margin: 2.6em 0 1em;
	padding: 2px 0 2px 14px;
	background: none;
	border: none;
	border-left: 4px solid var(--azc-navy);
	border-radius: 0;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.6;
	color: var(--azc-ink);
}
.azc-single .post_content h3::before,
.azc-single .post_content h3::after {
	display: none;
}
.azc-single .post_content h4 {
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--azc-navy);
	background: none;
	border: none;
	padding: 0;
}
.azc-single .post_content h4::before,
.azc-single .post_content h4::after {
	display: none;
}
.azc-single .post_content a:not([class]) {
	color: var(--azc-navy);
	text-decoration: underline;
	text-decoration-color: var(--azc-line);
	text-underline-offset: 4px;
	text-decoration-thickness: 2px;
	transition: all 0.2s;
}
.azc-single .post_content a:not([class]):hover {
	color: var(--azc-accent-d);
	text-decoration-color: var(--azc-accent);
}
.azc-single .post_content strong {
	font-weight: 700;
	color: var(--azc-ink);
}
.azc-single .post_content figure img {
	border-radius: 12px;
}
.azc-single .post_content blockquote {
	margin: 2em 0;
	padding: 18px 22px;
	background: var(--azc-paper);
	border: none;
	border-left: 4px solid var(--azc-accent);
	border-radius: 0 12px 12px 0;
	color: var(--azc-ink-2);
}
.azc-single .post_content blockquote::before,
.azc-single .post_content blockquote::after {
	display: none;
}
.azc-single .post_content table {
	border-collapse: collapse;
	font-size: 14px;
}
.azc-single .post_content th {
	background: var(--azc-paper);
	color: var(--azc-ink);
	font-weight: 700;
	border: 1px solid var(--azc-line);
}
.azc-single .post_content td {
	border: 1px solid var(--azc-line);
}
.azc-single .post_content .swell-block-button .swell-block-button__link {
	background: var(--azc-accent) !important;
	color: #fff !important;
	border-radius: 999px !important;
	border: none !important;
	font-weight: 700;
	box-shadow: 0 8px 22px rgba(255, 106, 31, 0.3);
	transition: background 0.2s, transform 0.2s;
}
.azc-single .post_content .swell-block-button .swell-block-button__link:hover {
	background: var(--azc-accent-d) !important;
	transform: translateY(-2px);
}
.azc-single .post_content .swell-block-button .swell-block-button__link::before,
.azc-single .post_content .swell-block-button .swell-block-button__link::after {
	display: none;
}

/* 目次 */
.azc-single .p-toc {
	background: var(--azc-paper);
	border: none;
	border-radius: 16px;
	padding: 24px 28px;
}
.azc-single .p-toc__ttl {
	font-weight: 900;
	color: var(--azc-ink);
}
.azc-single .p-toc__list a {
	color: var(--azc-ink-2);
}
.azc-single .p-toc__list a:hover {
	color: var(--azc-accent-d);
}

/* 著者・関連記事・前後の記事 */
.azc-single .p-authorBox {
	background: var(--azc-paper);
	border: none;
	border-radius: 16px;
	padding: 24px;
}
.azc-single .c-secTitle {
	text-align: center;
	font-size: 1.4rem;
	font-weight: 900;
	color: var(--azc-ink);
	border: none;
	margin-bottom: 28px;
}
.azc-single .c-secTitle::before,
.azc-single .c-secTitle::after {
	display: none;
}
.azc-single .p-relatedPosts .p-postList__item {
	margin-bottom: 24px;
}
.azc-single .p-pnLinks a {
	border-radius: 12px;
}
