@charset "UTF-8";
/*****************************************************
　通常投稿の詳細ページ（single.php）基本スタイル
　common.css の変数・命名規則を踏襲
　.post-content は the_content() の自由入力コンテンツのため
　タグ単位で汎用的にスタイリングしています
*****************************************************/

/* ===================================================
	 post-content（本文）基本スタイル
=================================================== */
.post-content{
	max-width:100%;
	color:var(--text-basic);
	line-height:1.6;
	word-break:break-word;
	overflow-wrap:break-word;
}
.post-content *{
	line-height:inherit;
}
.post-content > *:first-child{margin-top:0;}
.post-content > *:last-child{margin-bottom:0;}

/* 見出し */
.post-content h1,
.post-content h2,
.post-content h3,
.post-content h4,
.post-content h5,
.post-content h6{
	font-weight:700;
	line-height:1.6;
	color:var(--text-basic);
}
.post-content h1{font-size:26px;font-size:2.6rem;margin:60px 0 24px;}
.post-content h2{font-size:22px;font-size:2.2rem;margin:56px 0 22px;}
.post-content h3{font-size:19px;font-size:1.9rem;margin:44px 0 18px;}
.post-content h4{font-size:17px;font-size:1.7rem;margin:36px 0 16px;}
.post-content h5,
.post-content h6{font-size:15px;font-size:1.5rem;margin:28px 0 14px;}

/* 段落・強調・リンク */
.post-content p{margin:0 0 26px;}
.post-content strong,
.post-content b{font-weight:700;}
.post-content em,
.post-content i{font-style:italic;}
.post-content a{
	color:var(--accent-lightblue);
	text-decoration:underline;
	text-underline-offset:2px;
}
.post-content a:hover{opacity:.8;}

/* リスト */
.post-content ul,
.post-content ol{
	margin:0 0 26px;
	padding-left:1.4em;
}
.post-content ul{list-style:disc;}
.post-content ol{list-style:decimal;}
.post-content li{margin-bottom:10px;padding-left:2px;}
.post-content li:last-child{margin-bottom:0;}
.post-content ul ul,
.post-content ul ol,
.post-content ol ul,
.post-content ol ol{margin:10px 0 0;}

/* 引用 */
.post-content blockquote{
	margin:30px 0;
	padding:18px 24px;
	border-left:3px solid var(--accent-lightblue);
	background:var(--card-bg);
	color:var(--text-secondary);
	font-style:italic;
}
.post-content blockquote p:last-child{margin-bottom:0;}

/* 区切り線 */
.post-content hr{
	border:none;
	border-top:1px solid var(--border);
	margin:40px 0;
}

/* 画像・キャプション */
.post-content img{
	max-width:100%;
	height:auto;
	border-radius:var(--radius-lg);
	margin:30px 0;
	display:block;
}
.post-content .alignleft{float:left;margin:6px 24px 20px 0;}
.post-content .alignright{float:right;margin:6px 0 20px 24px;}
.post-content .aligncenter{display:block;margin:30px auto;}
.post-content .wp-caption{max-width:100%;}
.post-content .wp-caption img{margin-bottom:0;}
.post-content .wp-caption-text,
.post-content figcaption{
	font-size:12px;font-size:1.2rem;
	color:var(--text-muted);
	text-align:center;
	margin-top:10px;
}

/* テーブル（内容が広くても横スクロールで収める） */
.post-content table{
	display:block;
	max-width:100%;
	overflow-x:auto;
	width:100%;
	border-collapse:collapse;
	margin:0 0 30px;
	font-size:14px;font-size:1.4rem;
}
.post-content th,
.post-content td{
	padding:12px 16px;
	border:1px solid var(--border);
	text-align:left;
	white-space:nowrap;
}
.post-content th{
	background:var(--card-bg);
	font-weight:700;
}

/* コード（内容が広くても横スクロールで収める） */
.post-content code{
	background:var(--card-bg);
	border:1px solid var(--border);
	border-radius:4px;
	padding:2px 6px;
	font-size:13px;font-size:1.3rem;
	font-family:"SFMono-Regular",Consolas,Menlo,monospace;
}
.post-content pre{
	max-width:100%;
	background:var(--card-bg);
	border:1px solid var(--border);
	border-radius:var(--radius-lg);
	padding:20px 24px;
	margin:0 0 26px;
	overflow-x:auto;
	white-space:pre;
}
.post-content pre code{
	background:none;
	border:none;
	padding:0;
}

/* Gutenberg ボタンブロック */
.post-content .wp-block-button{margin:36px 0;}
.post-content .wp-block-button__link{
	display:inline-flex;
	align-items:center;
	background:#214b73;
	color:#fff;
	font-weight:700;
	padding:16px 30px;
	border-radius:8px;
	text-decoration:none;
	transition:opacity .15s ease;
}
.post-content .wp-block-button__link:hover{opacity:.85;}

/* ページ送り（wp_link_pages） */
.page-links{
	margin:40px 0 0;
	font-size:14px;font-size:1.4rem;
	color:var(--text-secondary);
	display:flex;
	align-items:center;
	gap:10px;
	flex-wrap:wrap;
}
.page-links a{
	color:var(--accent-lightblue);
	text-decoration:underline;
}

/* ===================================================
	 Responsive: <=1024px
=================================================== */
@media (max-width:1024px){
	.post-content h1{font-size:22px;margin-top:48px;}
	.post-content h2{font-size:19px;margin-top:44px;}
	.post-content h3{font-size:17px;margin-top:34px;}
	.post-content h4{font-size:16px;margin-top:28px;}
}

@media (max-width:520px){
	.post-content .alignleft,
	.post-content .alignright{float:none;display:block;margin:20px auto;}
}
