﻿@charset "UTF-8";

/* ==============================================================
   コラムページ 記事本文装飾用CSS（WordPressエディタ出力タグ用）
============================================================== */

/* 記事本文のスタイル設定 */
.article-content {
	margin-top: 40px;
	color: #222;
}

/* 結論ファースト用ボックス */
.article-content .conclusion-box {
	background: #fdfaf0;
	border: 2px solid var(--c-accent);
	padding: 24px;
	border-radius: 8px;
	margin-bottom: 40px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.article-content .conclusion-box h2 {
	background: none;
	border: none;
	padding: 0;
	margin: 0 0 12px 0;
	font-size: var(--fs-20);
	color: var(--c-accent);
	display: flex;
	align-items: center;
	gap: 8px;
}

.article-content .conclusion-box h2::before {
	content: "💡";
}

.article-content .conclusion-box p {
	margin: 0;
	font-weight: bold;
	font-size: var(--fs-16);
}

/* 見出し（H2, H3, H4） */
.article-content h2 {
	font-size: var(--fs-22);
	color: var(--c-primary);
	background: #f0f4f8;
	padding: 12px 16px;
	border-left: 6px solid var(--c-primary);
	margin: 60px 0 24px;
	font-weight: bold;
	border-radius: 0 4px 4px 0;
	clear: both;
	font-feature-settings: "palt";
}

.article-content h3 {
	font-size: var(--fs-20);
	color: #333;
	border-bottom: 2px solid var(--c-border);
	padding-bottom: 10px;
	margin: 40px 0 20px;
	position: relative;
	clear: both;
	font-feature-settings: "palt";
}

.article-content h3::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 60px;
	height: 2px;
	background: var(--c-accent);
}

.article-content h4 {
	font-size: var(--fs-18);
	color: #333;
	margin: 30px 0 16px;
	font-weight: bold;
}

.article-content h4::before {
	content: "■";
	color: var(--c-primary);
	margin-right: 8px;
}

/* テキストとリスト */
.article-content p {
	font-size: var(--fs-16);
	line-height: 1.8;
	margin-bottom: 24px;
	letter-spacing: 0.05em;
}

.article-content ul,
.article-content ol {
	margin-bottom: 32px;
	background: #fafafa;
	border: 1px solid var(--c-border);
	padding: 24px;
	border-radius: 8px;
}

.article-content ol{
	padding-left: 48px;
}

.article-content ul li{
	list-style-type: disc;
}

.article-content ul li::marker{
	color: var(--c-dull-red);
}

.article-content ol li{
	list-style-type: decimal;
}

.article-content li {
	margin-bottom: 12px;
	line-height: 1.6;
	font-size: var(--fs-16);
}

.article-content li:last-child {
	margin-bottom: 0;
}


/* 参考サイト　管理画面でeLを追加 */
.article-content .eL{
	margin: 32px auto;
	background: #fceecc;
	border: none;
	padding: 24px 24px 24px 0;
	border-radius: 8px;
}
.article-content .eL > li{
	list-style-type: none;
}
.article-content .eL > li > a{
	color: var(--c-btn);
	text-decoration: none;
}
.article-content .eL > li > a:hover{
	text-decoration: underline;
}

/* リストの頭をカーソルにする */
.article-content ul.cL{
	padding-left: 0;
}
.article-content ul.cL > li{
	list-style-type: none;
}
.article-content ul.cL > li::before{
	content: "→ ";
}

/* 強調表示 */
.article-content strong {
	/* color: var(--c-red); */
	font-weight: 900;
	/* background: linear-gradient(transparent 70%, #ffcaca 70%); */
}

/* CTAボックス（ピラーページへの誘導） */
.article-cta-box {
	background: var(--c-primary);
	color: #fff;
	padding: 32px 20px;
	border-radius: 12px;
	text-align: center;
	margin-top: 80px;
	box-shadow: 0 8px 24px rgba(37, 74, 132, 0.2);
	clear: both;
}

.article-cta-box h3 {
	font-size: var(--fs-24);
	color: #fff;
	margin: 0 0 16px;
	border: none;
	padding: 0;
}

.article-cta-box h3::after {
	display: none;
}

.article-cta-box p {
	font-size: var(--fs-16);
	margin-bottom: 32px;
	color: #e0e7f1;
}

.article-cta-box .cta-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--c-accent);
	color: #fff;
	font-size: var(--fs-18);
	font-weight: bold;
	text-decoration: none;
	padding: 16px 40px;
	border-radius: 40px;
	transition: 0.3s;
	width: 100%;
}

.article-cta-box .cta-btn:hover {
	transform: translateY(-3px);
	box-shadow: 0 6px 16px rgba(242, 169, 0, 0.4);
}

@media (min-width: 768px) {
	.article-content h2 {
		font-size: var(--fs-26);
		padding: 16px 20px;
	}

	.article-content h3 {
		font-size: var(--fs-22);
	}

	.article-cta-box {
		padding: 40px;
	}

	.article-cta-box .cta-btn {
		width: auto;
	}
}
