/* ==========================================================
   下層ページ共通：MV・本文（.p-prose）・記事の詳細・一覧・パンくず
   ========================================================== */

/* MV（画像を使わず CSS だけ: 紺の地にオレンジの斜めの帯。表示が速い） */
.p-page-mv {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 200px;
	padding: var(--space-6) 0;
	overflow: hidden;
	color: var(--c-white);
	text-align: center;
	background: linear-gradient(120deg, var(--c-secondary) 55%, #22386A);
}
.p-page-mv::before,
.p-page-mv::after { content: ''; position: absolute; top: -20%; bottom: -20%; width: 90px; background: var(--c-primary); opacity: 0.85; transform: skewX(-30deg); pointer-events: none; }
.p-page-mv::before { right: 8%; }
.p-page-mv::after { right: calc(8% + 120px); width: 28px; background: var(--c-accent); opacity: 0.6; }
.p-page-mv .l-container { position: relative; z-index: 1; }
.p-page-mv__title { margin: 0; color: var(--c-white); font-size: var(--fz-xl); font-weight: 700; line-height: 1.4; }
.p-page-mv__sub { margin: var(--space-1) 0 0; color: var(--c-accent); font-size: var(--fz-sm); font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; }

@media (min-width: 768px) {
	.p-page-mv { min-height: 260px; }
	.p-page-mv__title { font-size: var(--fz-2xl); }
	.p-page-mv__sub { font-size: var(--fz-base); }
}
@media (max-width: 767px) {
	.p-page-mv::before { right: -20px; width: 60px; }
	.p-page-mv::after { right: 60px; width: 18px; }
}

/* 本文（固定ページ・記事） */
.p-prose { line-height: 1.9; }
.p-prose > * + * { margin-top: var(--space-3); }
.p-prose h2 { margin: var(--space-6) 0 var(--space-3); padding: 10px 0 10px var(--space-2); border-left: 6px solid var(--c-primary); background: var(--c-cream); font-size: 1.375rem; line-height: 1.5; }
.p-prose h2:first-child { margin-top: 0; }
.p-prose h3 { margin: var(--space-4) 0 var(--space-2); padding-bottom: 6px; border-bottom: 2px solid var(--c-line); font-size: 1.1875rem; line-height: 1.5; }
.p-prose ul { padding-left: 1.4em; list-style: disc; }
.p-prose ol { padding-left: 1.6em; list-style: decimal; }
.p-prose li + li { margin-top: 4px; }
.p-prose a:not([class]) { color: var(--c-primary-dark); }
.p-prose img { border-radius: var(--radius-sm); }
.p-prose table { width: 100%; border-collapse: collapse; }
.p-prose th,
.p-prose td { padding: var(--space-2); border: 1px solid var(--c-border-light); text-align: left; vertical-align: top; }
.p-prose .tbx-ad th, .p-prose .tbx-ad td {padding: 0;} /* 記事の広告（.tbx-ad）の中の表は余白なし（AI Tools Library と同じ） */
.p-prose th { width: 30%; background: var(--c-surface-2); color: var(--c-secondary); }
.p-prose .wp-block-embed { margin-right: 0; margin-left: 0; }
.p-prose .wp-block-embed iframe { width: 100%; height: auto; aspect-ratio: 16 / 9; }
@media (min-width: 768px) {
	.p-prose h2 { font-size: 1.625rem; }
	.p-prose h3 { font-size: 1.3125rem; }
}

/* 記事の詳細 */
.p-article__head { padding: var(--space-4) 0 var(--space-3); background: linear-gradient(to bottom, var(--c-cream), var(--c-white)); }
.p-article__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; margin: 0 0 var(--space-2); color: var(--c-text-2); font-size: var(--fz-sm); }
.p-article__date,
.p-article__pv { display: inline-flex; align-items: center; gap: 4px; }
.p-article__meta .c-icon { width: 16px; height: 16px; color: currentColor; }
.p-article__pv { color: var(--c-primary-dark); font-weight: 700; }
.p-article__title { margin: 0; font-size: 1.5rem; line-height: 1.5; }
.p-article__thumb { margin: 0 0 var(--space-4); overflow: hidden; border-radius: var(--radius-md); background: var(--c-cream); }
.p-article__thumb img { width: 100%; height: auto; }
.p-article__body { padding-bottom: var(--space-6); }
@media (min-width: 768px) {
	.p-article__title { font-size: 2rem; }
	.p-article__head { padding-bottom: var(--space-4); }
}

/* 関連記事 */
.p-related { padding: var(--space-6) 0; background: var(--c-cream); }

/* 一覧（カテゴリ・おすすめ・検索） */
.p-archive__lead { margin: 0 0 var(--space-4); color: var(--c-text-2); }

/* 404・見つからないとき */
.p-notfound { max-width: 640px; margin: 0 auto; text-align: center; }
.p-notfound__search { display: flex; gap: 8px; margin: var(--space-3) 0; }
.p-notfound__search .c-btn { flex: 0 0 auto; }
.p-notfound__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }

/* パンくず（フッターの上） */
.p-breadcrumb .c-breadcrumb { margin: var(--space-4) 0 0; padding: var(--space-2) 0; border-top: 1px solid var(--c-border-light); color: var(--c-text-2); font-size: var(--fz-sm); }
.p-breadcrumb .c-breadcrumb a { display: inline-block; min-height: 24px; line-height: 24px; color: var(--c-primary-dark); }
.c-breadcrumb__sep { margin: 0 8px; color: var(--c-gray); }
.single .p-breadcrumb { max-width: calc(var(--article) + 48px); }
