/* ===== 資料室のページ（周期表・誕生石・モース硬度・結晶系） =====
 * 色・フォントは子テーマの :root（--mf-*）。front.css の帯（.mf-band / .mf-inner）・見出し（.mf-h2）を使う
 */

/* ---------- ページの枠：トップと同じく本文をコンテナ幅まで広げ、上の帯をヘッダー下にくっつける ---------- */
#body_wrap #content:has(.mf-libhero) {
	padding-top: 0;
}
#body_wrap #content:has(.mf-libhero) .l-mainContent {
	max-width: none;
	width: auto;
	margin-left: 0;
	margin-right: 0;
}
#body_wrap #content:has(.mf-libhero) .post_content {
	padding-left: 0;
	padding-right: 0;
	margin-top: 0;
}
/* ページのタイトルは帯の見出しに置き換える */
#body_wrap #content:has(.mf-libhero) .c-pageTitle {
	display: none;
}

/* リストの飾り（SWELL の本文スタイル）を外す */
.post_content :is(.mf-pt__legend, .mf-crust, .mf-bs__stones, .mf-bsfam ul, .mf-mohs, .mf-ruler__line, .mf-abs, .mf-steps, .mf-csbar) {
	list-style: none;
	margin: 0;
	padding: 0;
}
.post_content :where(.mf-pt__legend, .mf-crust, .mf-bs__stones, .mf-bsfam ul, .mf-mohs, .mf-ruler__line, .mf-abs, .mf-steps, .mf-csbar) > li { /* :where() で詳しさを下げ、各部品の余白が効くように */
	margin: 0;
	padding: 0;
}
.post_content :is(.mf-pt__legend, .mf-crust, .mf-bs__stones, .mf-bsfam ul, .mf-mohs, .mf-ruler__line, .mf-abs, .mf-steps, .mf-csbar) > li::before {
	content: none;
	display: none;
}
/* 段落の余白は0に。:where() で詳しさを下げて、各部品で指定した余白の方が効くように */
.post_content .mf-libsec :where(p) {
	margin: 0;
}

/* ---------- 上の暗い帯 ---------- */
.mf-libhero {
	position: relative;
	overflow: hidden;
	padding: 64px 0 60px;
	margin-top: 0;
	background:
		radial-gradient(ellipse at 85% 30%, rgba(212, 178, 124, 0.13), transparent 55%),
		var(--mf-dark, #2b2620);
}
.mf-libhero__in {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 48px;
	align-items: center;
}
.post_content .mf-libhero .mf-eyebrow {
	margin: 0 0 14px;
	letter-spacing: 0.22em;
}
.post_content .mf-libhero__title {
	margin: 0 0 18px;
	padding: 0;
	border: 0;
	background: none;
	font-family: var(--mf-serif, serif);
	font-size: 42px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0.1em;
	color: #f3eee4;
}
.post_content .mf-libhero__title::before,
.post_content .mf-libhero__title::after {
	content: none;
}
.post_content .mf-libhero__lead {
	margin: 0;
	font-family: var(--mf-serif, serif);
	font-size: 16px;
	line-height: 2.1;
	letter-spacing: 0.06em;
	color: rgba(239, 232, 219, 0.85);
}
.mf-libhero__art svg {
	display: block;
	width: 100%;
	height: auto;
}
.mf-cs-art {
	display: flex;
	justify-content: center;
	gap: 0;
}
.mf-cs-art svg {
	width: 62% !important;
	height: auto;
	margin: 0 -6%;
}

/* ---------- セクションの見出し ---------- */
.mf-libsec {
	margin: 80px 0;
}
.mf-libsec:first-of-type {
	margin-top: 56px;
}
.mf-libh {
	margin-bottom: 28px;
}
.post_content .mf-libh .mf-eyebrow {
	margin: 0 0 6px;
	letter-spacing: 0.2em;
}
.post_content .mf-libh .mf-h2 {
	margin-bottom: 14px;
	font-size: 28px;
}
.post_content .mf-libh__lead {
	max-width: 46em;
	color: var(--mf-ink, #2e2a25);
	font-size: 15px;
	line-height: 2;
}
.post_content .mf-note {
	margin-top: 14px;
	color: var(--mf-muted, #6f675d);
	font-size: 12px;
	line-height: 1.8;
}
.mf-libsplit {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 56px;
	align-items: center;
}
.mf-libsplit .mf-libh {
	margin-bottom: 0;
}
.mf-libintro {
	max-width: 46em;
	margin-bottom: 32px;
}
.post_content .mf-libintro p {
	font-size: 15px;
	line-height: 2.05;
}
.post_content .mf-libintro p + p {
	margin-top: 1em;
}

/* ---------- 鉱物の札 ---------- */
.mf-lchips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.post_content a.mf-lchip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 11px 4px 8px;
	background: var(--mf-card, #fbf9f4);
	border: 1px solid var(--mf-line, #ddd3c2);
	border-radius: 999px;
	color: var(--mf-ink, #2e2a25);
	font-size: 13px;
	line-height: 1.5;
	text-decoration: none;
	transition: border-color 0.2s, background 0.2s;
}
.post_content a.mf-lchip:hover {
	border-color: var(--mf-green, #2f5d50);
	background: #fff;
}
.mf-lchip i {
	flex: none;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--c, #ccc);
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.15);
}
.mf-lchip small {
	margin-left: 2px;
	font-family: var(--mf-mono, monospace);
	font-size: 11px;
	color: var(--mf-muted, #6f675d);
}
.mf-lchips--big {
	gap: 8px;
}
.post_content .mf-lchips--big a.mf-lchip {
	padding: 7px 14px 7px 10px;
	font-size: 14px;
}
.mf-lchip-more {
	align-self: center;
	padding: 0 4px;
	color: var(--mf-muted, #6f675d);
	font-size: 12px;
}

/* ---------- ページ下：資料室 ---------- */
.mf-libfoot {
	margin-top: 96px;
	padding-top: 8px;
	border-top: 1px solid var(--mf-line, #ddd3c2);
}
.mf-libfoot .mf-section {
	margin-bottom: 0;
	margin-top: 48px;
}
.mf-lib.is-current {
	background: var(--mf-paper-2, #ebe4d6);
	border-color: var(--mf-green, #2f5d50);
	pointer-events: none;
}

/* =====================================================================
 * 元素の周期表
 * ===================================================================== */
.is-alkali { --pc: #ecbca8; }
.is-alkaline { --pc: #efd5a3; }
.is-transition { --pc: #d2dcc6; }
.is-post { --pc: #c9d5de; }
.is-metalloid { --pc: #dfd0b0; }
.is-nonmetal { --pc: #b9d9cf; }
.is-halogen { --pc: #ccc6e2; }
.is-noble { --pc: #e8c9d8; }
.is-lanthanide { --pc: #ead9b8; }
.is-actinide { --pc: #e2cdbd; }

.mf-pt__wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	padding: 4px 2px 10px;
}
.mf-pt {
	display: grid;
	grid-template-columns: repeat(18, minmax(0, 1fr));
	grid-template-rows: repeat(7, auto) 14px repeat(2, auto);
	gap: 4px;
	min-width: 780px;
}
.post_content .mf-pt__el {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1.08;
	min-width: 0;
	margin: 0;
	padding: 3px 2px;
	background: var(--pc);
	border: 0;
	border-radius: 4px;
	color: var(--mf-ink, #2e2a25);
	cursor: pointer;
	container-type: inline-size;
	transition: transform 0.15s, box-shadow 0.15s, opacity 0.15s;
}
.mf-pt__el:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 14px -6px rgba(46, 42, 37, 0.45);
	z-index: 1;
}
.mf-pt__el[aria-pressed="true"] {
	box-shadow: 0 0 0 2px var(--mf-ink, #2e2a25), 0 8px 16px -6px rgba(46, 42, 37, 0.5);
	z-index: 2;
}
.mf-pt__el.is-none {
	background: color-mix(in srgb, var(--pc) 35%, var(--mf-paper, #f3eee4));
	color: rgba(46, 42, 37, 0.45);
}
.mf-pt__z {
	position: absolute;
	top: 3px;
	left: 4px;
	font-family: var(--mf-mono, monospace);
	font-size: 9px;
	line-height: 1;
	opacity: 0.75;
}
.mf-pt__s {
	margin-top: 6px;
	font-family: var(--mf-latin, serif);
	font-size: clamp(16px, 34cqw, 24px);
	font-weight: 700;
	line-height: 1;
}
.mf-pt__n {
	max-width: 100%;
	margin-top: 3px;
	overflow: hidden;
	white-space: nowrap;
	font-size: min(10px, calc(96cqw / var(--len)));
	line-height: 1.2;
	letter-spacing: -0.02em;
}
.mf-pt__c {
	position: absolute;
	top: 3px;
	right: 3px;
	min-width: 15px;
	padding: 1px 3px;
	background: rgba(46, 42, 37, 0.78);
	border-radius: 6px;
	color: #fff;
	font-family: var(--mf-mono, monospace);
	font-size: 8.5px;
	line-height: 1.3;
	text-align: center;
}
/* 元素鉱物がある元素 */
/* 元素鉱物がある元素：マスの右下の角に緑の三角（文字と重ならないように角に置く） */
.post_content .mf-pt__el.is-native {
	overflow: hidden;
}
.mf-pt__el.is-native::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	border-style: solid;
	border-width: 0 0 12px 12px;
	border-color: transparent transparent var(--mf-green, #2f5d50) transparent;
}
/* ランタノイド・アクチノイドの置き場所 */
.mf-pt__ph {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border: 1px dashed color-mix(in srgb, var(--pc) 70%, #000);
	border-radius: 4px;
	background: color-mix(in srgb, var(--pc) 45%, transparent);
	font-size: 8px;
	line-height: 1.3;
	text-align: center;
	color: var(--mf-muted, #6f675d);
}
.mf-pt__ph b {
	font-family: var(--mf-mono, monospace);
	font-size: 9px;
	font-weight: 500;
}
/* 表の中の空いたところ：えらんだ元素の情報 */
.mf-pt__info {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 4px 4px 4px 18px;
	min-width: 0;
}
.post_content .mf-pt__hint {
	color: var(--mf-muted, #6f675d);
	font-family: var(--mf-serif, serif);
	font-size: 15px;
	line-height: 1.9;
	letter-spacing: 0.05em;
}
.mf-pt__big {
	flex: none;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 92px;
	height: 98px;
	background: var(--pc);
	border-radius: 6px;
	position: relative;
	box-shadow: 0 10px 20px -12px rgba(46, 42, 37, 0.6);
}
.mf-pt__big span {
	position: absolute;
	top: 6px;
	left: 8px;
	font-family: var(--mf-mono, monospace);
	font-size: 12px;
}
.mf-pt__big b {
	font-family: var(--mf-latin, serif);
	font-size: 46px;
	line-height: 1;
}
.post_content .mf-pt__name {
	font-family: var(--mf-serif, serif);
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.4;
}
.post_content .mf-pt__cat {
	margin-top: 2px;
	color: var(--mf-muted, #6f675d);
	font-size: 12.5px;
}
.post_content .mf-pt__cnt {
	margin-top: 8px;
	font-size: 13.5px;
}
.mf-pt__cnt strong {
	font-family: var(--mf-latin, serif);
	font-size: 22px;
	color: var(--mf-green, #2f5d50);
}
.mf-pt__legend {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	margin-top: 14px !important;
	font-size: 12px;
	color: var(--mf-muted, #6f675d);
}
.mf-pt__legend li {
	display: flex;
	align-items: center;
	gap: 6px;
}
.mf-pt__legend i {
	width: 13px;
	height: 13px;
	border-radius: 3px;
	background: var(--pc);
}
.mf-pt__lg-native i {
	position: relative;
	overflow: hidden;
	background: var(--mf-paper-2, #ebe4d6);
}
.mf-pt__lg-native i::before {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	border-style: solid;
	border-width: 0 0 8px 8px;
	border-color: transparent transparent var(--mf-green, #2f5d50) transparent;
}
.mf-pt__lg-none i {
	background: color-mix(in srgb, #d2dcc6 35%, var(--mf-paper, #f3eee4));
	box-shadow: inset 0 0 0 1px var(--mf-line, #ddd3c2);
}
.post_content .mf-pt__scroll {
	display: none;
	margin-bottom: 6px;
	color: var(--mf-muted, #6f675d);
	font-size: 12px;
	text-align: center;
}
/* えらんだ元素をふくむ鉱物 */
.mf-pt-list {
	margin-top: 28px;
	padding: 22px 24px 24px;
	background: var(--mf-card, #fbf9f4);
	border: 1px solid var(--mf-line, #ddd3c2);
	border-radius: 6px;
	scroll-margin-top: 90px;
}
.post_content .mf-pt-list__head {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 16px;
	font-size: 15px;
}
.mf-pt-list__head b {
	font-family: var(--mf-serif, serif);
	font-size: 19px;
	margin-right: 2px;
}
.mf-pt-list__head small {
	margin-left: 10px;
	color: var(--mf-muted, #6f675d);
	font-family: var(--mf-mono, monospace);
	font-size: 13px;
}
.mf-pt-list__sym {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 46px;
	height: 46px;
	background: var(--pc);
	border-radius: 5px;
	font-family: var(--mf-latin, serif);
	font-size: 24px;
	font-weight: 700;
}

/* 地殻の元素 */
.mf-crust {
	display: grid;
	gap: 10px;
}
.mf-crust li {
	display: grid;
	grid-template-columns: 38px 88px minmax(0, 1fr) 64px;
	align-items: center;
	gap: 12px;
}
.post_content .mf-crust__el {
	width: 38px;
	height: 38px;
	margin: 0;
	padding: 0;
	background: var(--pc);
	border: 0;
	border-radius: 5px;
	font-family: var(--mf-latin, serif);
	font-size: 19px;
	font-weight: 700;
	color: var(--mf-ink, #2e2a25);
	cursor: pointer;
}
.mf-crust__el:hover {
	box-shadow: 0 0 0 2px var(--mf-ink, #2e2a25);
}
.mf-crust__name {
	font-size: 14px;
}
.mf-crust__bar,
.mf-abs__bar,
.mf-csbar__bar {
	height: 12px;
	background: var(--mf-paper-2, #ebe4d6);
	border-radius: 6px;
	overflow: hidden;
}
.mf-crust__bar span,
.mf-abs__bar span,
.mf-csbar__bar span {
	display: block;
	height: 100%;
	min-width: 3px;
	border-radius: 6px;
	background: linear-gradient(90deg, #4f7d6f, var(--mf-green, #2f5d50));
}
.mf-crust__v,
.mf-abs__v,
.mf-csbar__v {
	font-family: var(--mf-latin, serif);
	font-size: 20px;
	font-weight: 600;
	text-align: right;
}
.mf-crust__v small,
.mf-csbar__v small {
	margin-left: 2px;
	font-size: 12px;
	color: var(--mf-muted, #6f675d);
}

/* =====================================================================
 * 誕生石
 * ===================================================================== */
.mf-gem {
	display: block;
	width: 44px;
	height: 44px;
	filter: drop-shadow(0 3px 3px rgba(46, 42, 37, 0.2));
}
.mf-bs__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 28px;
}
.post_content .mf-bs__nav a {
	display: flex;
	align-items: baseline;
	justify-content: center;
	width: 52px;
	padding: 8px 0;
	border: 1px solid var(--mf-line, #ddd3c2);
	border-radius: 999px;
	background: var(--mf-card, #fbf9f4);
	color: var(--mf-ink, #2e2a25);
	font-family: var(--mf-latin, serif);
	font-size: 18px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
}
.mf-bs__nav a small {
	font-family: var(--mf-sans, sans-serif);
	font-size: 10px;
	font-weight: 400;
	margin-left: 1px;
}
.post_content .mf-bs__nav a:hover {
	border-color: var(--mf-green, #2f5d50);
	color: var(--mf-green, #2f5d50);
}
.mf-bs {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
	align-items: start;
}
.mf-bs__month {
	position: relative;
	padding: 24px 22px 10px;
	background: var(--mf-card, #fbf9f4);
	border: 1px solid var(--mf-line, #ddd3c2);
	border-radius: 6px;
	overflow: hidden;
	scroll-margin-top: 90px;
}
.mf-bs__month::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 5px;
	background: var(--grad);
}
.mf-bs__head {
	display: flex;
	align-items: baseline;
	gap: 10px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--mf-line, #ddd3c2);
}
.mf-bs__no {
	font-family: var(--mf-latin, serif);
	font-size: 44px;
	font-weight: 600;
	line-height: 0.9;
	color: #a88553;
}
.mf-bs__ja {
	font-family: var(--mf-serif, serif);
	font-size: 17px;
	font-weight: 700;
}
.mf-bs__en {
	margin-left: auto;
	font-family: var(--mf-latin, serif);
	font-size: 16px;
	font-style: italic;
	color: var(--mf-muted, #6f675d);
	letter-spacing: 0.04em;
}
.mf-bs__stone {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	gap: 14px;
	padding: 16px 0;
}
.mf-bs__stone + .mf-bs__stone {
	border-top: 1px dashed var(--mf-line, #ddd3c2);
}
.post_content .mf-bs__name {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 8px;
	font-family: var(--mf-serif, serif);
	font-size: 16.5px;
	font-weight: 700;
	line-height: 1.5;
}
.mf-bs__new,
.mf-bs__bio {
	padding: 1px 7px;
	border: 1px solid #c9a96e;
	border-radius: 999px;
	color: #8e6d33;
	font-family: var(--mf-sans, sans-serif);
	font-size: 10.5px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.03em;
}
.mf-bs__bio {
	border-color: #9cb5a6;
	color: var(--mf-green, #2f5d50);
}
.post_content .mf-bs__note {
	margin-top: 5px;
	color: #4f483f;
	font-size: 13px;
	line-height: 1.85;
}
.post_content .mf-bs__min {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin-top: 9px;
}
.mf-bs__min > span {
	color: var(--mf-muted, #6f675d);
	font-size: 11px;
	letter-spacing: 0.05em;
}
.post_content .mf-bs__min a.mf-lchip {
	padding: 2px 10px 2px 7px;
	font-size: 12px;
}
/* 同じ鉱物の一族 */
.mf-bsfam {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 18px;
}
.mf-bsfam__item {
	padding: 20px 22px;
	background: var(--mf-card, #fbf9f4);
	border: 1px solid var(--mf-line, #ddd3c2);
	border-radius: 6px;
}
.post_content .mf-bsfam__title {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px 10px;
	margin-bottom: 16px;
	font-size: 12px;
	color: var(--mf-muted, #6f675d);
}
.mf-bsfam__title small {
	margin-left: auto;
	font-family: var(--mf-latin, serif);
	font-size: 22px;
	font-weight: 600;
	color: #a88553;
}
.mf-bsfam ul {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 18px;
}
.mf-bsfam li {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	width: 64px;
	font-size: 11.5px;
	line-height: 1.4;
	text-align: center;
}

/* =====================================================================
 * モース硬度
 * ===================================================================== */
.mf-mohs {
	display: grid;
	grid-template-columns: repeat(10, minmax(0, 1fr));
	align-items: end;
}
.mf-mohs__step {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 0 4px;
}
.post_content a.mf-mohs__label {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-bottom: 10px;
	color: var(--mf-ink, #2e2a25);
	text-decoration: none;
	text-align: center;
}
.mf-mohs__label .mf-gem {
	width: 38px;
	height: 38px;
	margin-bottom: 8px;
	transition: transform 0.2s;
}
.mf-mohs__label:hover .mf-gem {
	transform: translateY(-3px) rotate(8deg);
}
.mf-mohs__name {
	font-family: var(--mf-serif, serif);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
}
.mf-mohs__label:hover .mf-mohs__name {
	color: var(--mf-green, #2f5d50);
}
.mf-mohs__sub {
	font-size: 10.5px;
	color: var(--mf-muted, #6f675d);
	line-height: 1.4;
}
.mf-mohs__bar {
	display: flex;
	justify-content: center;
	height: calc(var(--h) * 20px + 26px);
	padding-top: 8px;
	border-radius: 4px 4px 0 0;
	background: hsl(160, 30%, calc(90% - var(--h) * 5%));
}
.mf-mohs__no {
	font-family: var(--mf-latin, serif);
	font-size: 26px;
	font-weight: 600;
	line-height: 1;
	color: var(--mf-green, #2f5d50);
}
.mf-mohs__step:nth-child(n + 6) .mf-mohs__no {
	color: #fff;
}
/* 身近なものの目盛り */
.mf-ruler {
	position: relative;
	padding-top: 6px;
}
.post_content .mf-ruler__title {
	position: absolute;
	top: 18px;
	left: 0;
	color: var(--mf-muted, #6f675d);
	font-size: 12px;
}
.mf-ruler__line {
	position: relative;
	height: 92px;
	border-bottom: 2px solid var(--mf-ink, #2e2a25);
}
.mf-ruler__line li {
	position: absolute;
	bottom: 0;
	left: var(--x);
	transform: translateX(-50%);
	display: flex;
	flex-direction: column;
	align-items: center;
}
.mf-ruler__line li::after {
	content: "";
	width: 2px;
	height: 18px;
	background: #a88553;
}
.mf-ruler__line li:nth-child(2)::after {
	height: 46px;
}
.mf-ruler__line li span {
	padding: 4px 10px;
	background: #f6eedd;
	border: 1px solid #d9c39b;
	border-radius: 999px;
	font-size: 12.5px;
	white-space: nowrap;
}
.mf-ruler__line li b {
	margin-left: 6px;
	font-family: var(--mf-latin, serif);
	font-size: 15px;
	color: #8e6d33;
}
.mf-ruler__scale {
	display: grid;
	grid-template-columns: repeat(10, minmax(0, 1fr));
	padding-top: 4px;
	font-family: var(--mf-latin, serif);
	font-size: 14px;
	color: var(--mf-muted, #6f675d);
	text-align: center;
}
/* 絶対硬度 */
.mf-abs {
	display: grid;
	gap: 9px;
}
.mf-abs li {
	display: grid;
	grid-template-columns: 26px 96px minmax(0, 1fr) 56px;
	align-items: center;
	gap: 10px;
}
.mf-abs__h {
	font-family: var(--mf-latin, serif);
	font-size: 18px;
	font-weight: 600;
	color: var(--mf-green, #2f5d50);
	text-align: center;
}
.mf-abs__name {
	font-size: 13.5px;
	white-space: nowrap;
}
.mf-abs__v {
	font-size: 17px;
}
/* 調べ方 */
.mf-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	counter-reset: none;
}
.mf-steps li {
	position: relative;
	padding: 26px 24px 22px;
	background: var(--mf-card, #fbf9f4);
	border: 1px solid var(--mf-line, #ddd3c2);
	border-radius: 6px;
}
.mf-steps li > b {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	margin-bottom: 12px;
	border-radius: 50%;
	background: var(--mf-green, #2f5d50);
	color: #fff;
	font-family: var(--mf-latin, serif);
	font-size: 19px;
}
.post_content .mf-steps__t {
	margin-bottom: 6px;
	font-family: var(--mf-serif, serif);
	font-size: 17px;
	font-weight: 700;
}
.post_content .mf-steps li p:last-child {
	font-size: 13.5px;
	line-height: 1.9;
}
.mf-steps strong {
	color: var(--mf-green, #2f5d50);
}
.mf-libtips {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
	margin-top: 32px;
}
.mf-libtips > div {
	padding-left: 16px;
	border-left: 3px solid #d9c39b;
}
.post_content .mf-libtips__t {
	margin-bottom: 6px;
	font-family: var(--mf-serif, serif);
	font-size: 15px;
	font-weight: 700;
}
.post_content .mf-libtips p:last-child {
	color: #4f483f;
	font-size: 13px;
	line-height: 1.9;
}
/* 硬さでさがす */
.mf-hfilter {
	display: inline-flex;
	margin-bottom: 18px;
	border: 1px solid var(--mf-line, #ddd3c2);
	border-radius: 999px;
	overflow: hidden;
	background: var(--mf-card, #fbf9f4);
}
.post_content .mf-hfilter button {
	margin: 0;
	padding: 7px 18px;
	border: 0;
	background: none;
	color: var(--mf-ink, #2e2a25);
	font-size: 13px;
	cursor: pointer;
}
.mf-hfilter button[aria-pressed="true"] {
	background: var(--mf-green, #2f5d50);
	color: #fff;
}
.mf-htable:not(.is-all) .is-more {
	display: none;
}
.mf-hrow {
	display: grid;
	grid-template-columns: 84px minmax(0, 1fr);
	gap: 16px;
	align-items: start;
	padding: 16px 0;
	border-top: 1px solid var(--mf-line, #ddd3c2);
}
.mf-hrow:last-child {
	border-bottom: 1px solid var(--mf-line, #ddd3c2);
}
.post_content .mf-hrow__h {
	display: flex;
	align-items: baseline;
	gap: 6px;
}
.mf-hrow__h b {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: hsl(160, 30%, calc(90% - var(--h) * 5%));
	color: var(--mf-green, #2f5d50);
	font-family: var(--mf-latin, serif);
	font-size: 22px;
	font-weight: 600;
}
.mf-hrow:nth-child(n + 6) .mf-hrow__h b {
	color: #fff;
}
.mf-hrow__h small {
	font-size: 11px;
	color: var(--mf-muted, #6f675d);
}

/* =====================================================================
 * 結晶系
 * ===================================================================== */
.mf-cell {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}
.mf-cs__angles {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin: 22px 0 0;
}
.mf-cs__angles div {
	padding: 12px 14px;
	background: var(--mf-card, #fbf9f4);
	border: 1px solid var(--mf-line, #ddd3c2);
	border-radius: 6px;
}
.post_content .mf-cs__angles dt {
	margin: 0;
	padding: 0;
	background: none;
	font-family: var(--mf-serif, serif);
	font-size: 14px;
	font-weight: 700;
}
.post_content .mf-cs__angles dd {
	margin: 2px 0 0;
	padding: 0;
	color: var(--mf-muted, #6f675d);
	font-size: 12.5px;
}
.mf-cs__how {
	padding: 22px 26px;
	background:
		radial-gradient(circle at 50% 40%, rgba(47, 93, 80, 0.08), transparent 65%),
		var(--mf-card, #fbf9f4);
	border: 1px solid var(--mf-line, #ddd3c2);
	border-radius: 6px;
}
.mf-cs__how .mf-cell {
	max-width: 280px;
	margin: 0 auto;
}
.mf-cs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
}
.mf-cs__card {
	display: grid;
	grid-template-columns: 190px minmax(0, 1fr);
	gap: 22px;
	padding: 24px 24px 22px;
	background: var(--mf-card, #fbf9f4);
	border: 1px solid var(--mf-line, #ddd3c2);
	border-top: 4px solid var(--c);
	border-radius: 6px;
	scroll-margin-top: 90px;
}
.mf-cs__fig {
	align-self: start;
	padding: 10px 6px;
	border-radius: 6px;
	background: radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--c) 14%, transparent), transparent 70%);
}
.post_content .mf-cs__no {
	display: flex;
	align-items: baseline;
	gap: 10px;
	font-family: var(--mf-latin, serif);
	font-size: 28px;
	font-weight: 600;
	line-height: 1;
	color: var(--c);
}
.mf-cs__no span {
	font-size: 16px;
	font-style: italic;
	font-weight: 500;
	color: var(--mf-muted, #6f675d);
	letter-spacing: 0.04em;
}
.post_content h3.mf-cs__name {
	margin: 8px 0 12px;
	padding: 0;
	border: 0;
	background: none;
	font-family: var(--mf-serif, serif);
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.4;
}
.post_content h3.mf-cs__name::before,
.post_content h3.mf-cs__name::after {
	content: none;
}
.mf-cs__name small {
	font-size: 13px;
	font-weight: 400;
	color: var(--mf-muted, #6f675d);
	letter-spacing: 0;
}
.post_content .mf-cs__axes {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 12px;
}
.mf-cs__axes span {
	padding: 3px 10px;
	border-radius: 4px;
	background: color-mix(in srgb, var(--c) 11%, #fff);
	color: color-mix(in srgb, var(--c) 75%, #000);
	font-family: var(--mf-mono, monospace);
	font-size: 12.5px;
	white-space: nowrap;
}
.post_content .mf-cs__desc {
	font-size: 13.5px;
	line-height: 1.95;
}
.post_content .mf-cs__shape {
	margin-top: 10px;
	color: #4f483f;
	font-size: 12.5px;
	line-height: 1.8;
}
.mf-cs__shape b {
	display: inline-block;
	margin-right: 8px;
	color: var(--c);
	font-weight: 700;
}
.mf-cs__ex {
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px dashed var(--mf-line, #ddd3c2);
}
.post_content .mf-cs__ext {
	margin-bottom: 8px;
	font-size: 12px;
	color: var(--mf-muted, #6f675d);
}
.mf-cs__ext small {
	margin-left: 8px;
	font-family: var(--mf-mono, monospace);
	font-size: 11px;
}
.post_content .mf-cs__ex a.mf-lchip {
	padding: 2px 10px 2px 7px;
	font-size: 12px;
}
/* ひと目でくらべる */
.mf-cs__tablewrap {
	overflow-x: auto;
}
.post_content table.mf-cs__table {
	width: 100%;
	min-width: 640px;
	margin: 0;
	border-collapse: collapse;
	font-size: 14px;
	background: var(--mf-card, #fbf9f4);
}
.post_content .mf-cs__table th,
.post_content .mf-cs__table td {
	padding: 13px 16px;
	border: 0;
	border-bottom: 1px solid var(--mf-line, #ddd3c2);
	background: none;
	text-align: left;
	vertical-align: middle;
}
.post_content .mf-cs__table thead th {
	background: var(--mf-dark, #2b2620);
	color: #efe8db;
	font-size: 12.5px;
	font-weight: 500;
	letter-spacing: 0.08em;
}
.post_content .mf-cs__table td:nth-child(2),
.post_content .mf-cs__table td:nth-child(3) {
	font-family: var(--mf-mono, monospace);
	font-size: 13px;
	white-space: nowrap;
}
.post_content .mf-cs__table td:last-child {
	color: #4f483f;
	font-size: 13px;
}
.post_content .mf-cs__table tbody th a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--mf-ink, #2e2a25);
	font-family: var(--mf-serif, serif);
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}
.mf-cs__table tbody th i {
	width: 10px;
	height: 10px;
	border-radius: 2px;
	background: var(--c);
	transform: rotate(45deg);
}
/* 図鑑の鉱物の数 */
.mf-csbar {
	display: grid;
	gap: 10px;
}
.mf-csbar li {
	display: grid;
	grid-template-columns: 84px minmax(0, 1fr) 60px;
	align-items: center;
	gap: 12px;
}
.mf-csbar__name {
	font-size: 13.5px;
	white-space: nowrap;
}
.mf-csbar__bar span {
	background: var(--c);
}

/* =====================================================================
 * タブレット・スマホ
 * ===================================================================== */
@media (max-width: 959px) {
	.mf-libhero__in {
		grid-template-columns: minmax(0, 1fr) 200px;
		gap: 28px;
	}
	.post_content .mf-libhero__title {
		font-size: 34px;
	}
	.mf-libsplit {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}
	.mf-bs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.mf-cs {
		grid-template-columns: minmax(0, 1fr);
	}
	.mf-steps,
	.mf-libtips {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
	}
	.post_content .mf-pt__scroll {
		display: block;
	}
	/* 表の中の情報欄は横スクロールで見えなくなるので、下の一覧の見出しで代わりに */
	.mf-pt__info {
		visibility: hidden;
	}
}
@media (max-width: 599px) {
	.mf-libhero {
		padding: 40px 0 36px;
	}
	.mf-libhero__in {
		grid-template-columns: minmax(0, 1fr);
	}
	.mf-libhero__art {
		display: none;
	}
	.post_content .mf-libhero__title {
		font-size: 28px;
		letter-spacing: 0.06em;
	}
	.post_content .mf-libhero__lead {
		font-size: 14.5px;
		line-height: 2;
	}
	.mf-libsec {
		margin: 56px 0;
	}
	.post_content .mf-libh .mf-h2 {
		font-size: 22px;
	}
	.post_content .mf-libh__lead,
	.post_content .mf-libintro p {
		font-size: 14px;
	}
	.mf-bs {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}
	.mf-bs__month {
		padding: 22px 16px 6px;
	}
	.post_content .mf-bs__nav {
		display: grid;
		grid-template-columns: repeat(6, minmax(0, 1fr));
		gap: 6px;
	}
	.post_content .mf-bs__nav a {
		width: auto;
		font-size: 16px;
	}
	/* モース硬度：横の階段 → 縦に並べた横棒 */
	.mf-mohs {
		grid-template-columns: minmax(0, 1fr);
		gap: 6px;
	}
	.mf-mohs__step {
		display: grid;
		grid-template-columns: 128px minmax(0, 1fr);
		align-items: center;
		gap: 8px;
		padding: 0;
	}
	.post_content a.mf-mohs__label {
		display: grid;
		grid-template-columns: 30px minmax(0, 1fr);
		grid-template-rows: auto auto;
		column-gap: 8px;
		align-items: center;
		padding: 0;
		text-align: left;
	}
	.mf-mohs__label .mf-gem {
		grid-row: 1 / 3;
		width: 30px;
		height: 30px;
		margin: 0;
	}
	.mf-mohs__name {
		font-size: 14px;
	}
	.mf-mohs__bar {
		justify-content: flex-end;
		align-items: center;
		width: calc(var(--h) * 10%);
		min-width: 30px;
		height: 34px;
		padding: 0 8px 0 0;
		border-radius: 0 4px 4px 0;
	}
	.mf-mohs__no {
		font-size: 20px;
	}
	.mf-ruler {
		margin-top: 28px;
	}
	.post_content .mf-ruler__title {
		position: static;
		margin-bottom: 4px;
	}
	.mf-ruler__line li span {
		padding: 3px 7px;
		font-size: 11px;
	}
	.mf-ruler__line li b {
		margin-left: 3px;
		font-size: 13px;
	}
	.mf-ruler__line li:nth-child(3)::after {
		height: 74px;
	}
	.mf-ruler__line {
		height: 122px;
	}
	.mf-abs li {
		grid-template-columns: 20px 72px minmax(0, 1fr) 44px;
		gap: 8px;
	}
	.mf-abs__name {
		font-size: 12px;
	}
	.mf-hrow {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
	}
	.mf-crust li {
		grid-template-columns: 34px 70px minmax(0, 1fr) 52px;
		gap: 8px;
	}
	.post_content .mf-crust__el {
		width: 34px;
		height: 34px;
	}
	.mf-cs__card {
		grid-template-columns: minmax(0, 1fr);
		padding: 20px 18px;
		gap: 10px;
	}
	.mf-cs__fig {
		max-width: 220px;
		margin: 0 auto;
	}
	.mf-cs__angles {
		grid-template-columns: minmax(0, 1fr);
	}
	.mf-pt-list {
		padding: 18px 16px;
	}
}
@media (max-width: 599px) {
	.mf-crust li {
		grid-template-columns: 34px 84px minmax(0, 1fr) 50px;
	}
	.mf-crust__name {
		font-size: 12.5px;
		white-space: nowrap;
	}
}
/* 8枚目：非晶質 */
.mf-cs__card.is-amorphous {
	border-top-style: dashed;
	background: color-mix(in srgb, var(--mf-card, #fbf9f4) 70%, var(--mf-paper, #f3eee4));
}
/* 調べ方のカード：リストの余白リセットより強く */
.post_content .mf-steps > li {
	padding: 26px 24px 22px;
}
@media (max-width: 599px) {
	.post_content .mf-steps > li {
		padding: 20px 18px 18px;
	}
}

/* =====================================================================
 * 用語集
 * ===================================================================== */
.mf-glossary [hidden] {
	display: none !important;
}
/* 五十音の索引＋絞り込み（スクロールしても上に残る） */
.mf-gl-bar {
	position: sticky;
	top: 64px; /* PCの追従ヘッダーの下 */
	z-index: 5;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 20px;
	margin-bottom: 12px;
	padding: 14px 0;
	background: var(--mf-paper, #f3eee4);
	border-bottom: 1px solid var(--mf-line, #ddd3c2);
}
.post_content .mf-gl-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.mf-gl-nav a,
.mf-gl-nav span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	font-family: var(--mf-serif, serif);
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
}
.post_content .mf-gl-nav a {
	background: var(--mf-card, #fbf9f4);
	border: 1px solid var(--mf-line, #ddd3c2);
	color: var(--mf-green, #2f5d50);
	transition: background 0.2s, color 0.2s;
}
.post_content .mf-gl-nav a:hover {
	background: var(--mf-green, #2f5d50);
	color: #fff;
}
.mf-gl-nav span {
	color: #c4b9a6; /* まだ用語がない行 */
}
.mf-gl-search {
	position: relative;
	display: block;
	width: 300px;
	max-width: 100%;
	margin: 0;
}
.mf-gl-search svg {
	position: absolute;
	top: 50%;
	left: 14px;
	width: 17px;
	height: 17px;
	transform: translateY(-50%);
	fill: none;
	stroke: var(--mf-muted, #6f675d);
	stroke-width: 2;
	stroke-linecap: round;
}
.post_content .mf-gl-search input {
	width: 100%;
	margin: 0;
	padding: 10px 16px 10px 40px;
	background: var(--mf-card, #fbf9f4);
	border: 1px solid var(--mf-line, #ddd3c2);
	border-radius: 999px;
	color: var(--mf-ink, #2e2a25);
	font-size: 14px;
	box-shadow: none;
}
.post_content .mf-gl-search input:focus {
	outline: none;
	border-color: var(--mf-green, #2f5d50);
	box-shadow: 0 0 0 3px rgba(47, 93, 80, 0.12);
}
/* 行ごと：左に大きな「か行」、右に用語カード */
.mf-gl-group {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	gap: 36px;
	padding: 40px 0;
	border-bottom: 1px solid var(--mf-line, #ddd3c2);
	scroll-margin-top: 150px;
}
.mf-gl-side {
	position: sticky;
	top: 160px;
	align-self: start;
}
.post_content h2.mf-gl-head {
	display: flex;
	align-items: baseline;
	gap: 4px;
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	color: var(--mf-green, #2f5d50);
	font-family: var(--mf-serif, serif);
	font-size: 64px;
	font-weight: 700;
	line-height: 1;
}
.post_content h2.mf-gl-head::before,
.post_content h2.mf-gl-head::after {
	content: none;
}
.mf-gl-head small {
	color: var(--mf-muted, #6f675d);
	font-size: 16px;
	font-weight: 400;
}
.post_content .mf-gl-en {
	margin-top: 10px;
	color: #a88553;
	font-family: var(--mf-latin, serif);
	font-size: 15px;
	letter-spacing: 0.35em;
}
.post_content .mf-gl-count {
	margin-top: 2px;
	color: var(--mf-muted, #6f675d);
	font-family: var(--mf-mono, monospace);
	font-size: 12px;
}
.mf-gl-cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	align-items: start;
}
.mf-gl-item {
	position: relative;
	padding: 26px 28px 22px;
	background: var(--mf-card, #fbf9f4);
	border: 1px solid var(--mf-line, #ddd3c2);
	border-radius: 6px;
	scroll-margin-top: 150px;
	transition: border-color 0.2s;
}
.mf-gl-item::before {
	content: "";
	position: absolute;
	top: 30px;
	left: -1px;
	width: 3px;
	height: 24px;
	border-radius: 0 2px 2px 0;
	background: var(--mf-green, #2f5d50);
}
/* リンクやポップアップから飛んできた用語を目立たせる */
.mf-gl-item:target,
.mf-gl-item.is-hit {
	border-color: var(--mf-green, #2f5d50);
	animation: mf-gl-hit 1.6s ease-out;
}
@keyframes mf-gl-hit {
	0% { box-shadow: 0 0 0 0 rgba(47, 93, 80, 0.35); }
	100% { box-shadow: 0 0 0 14px rgba(47, 93, 80, 0); }
}
.post_content h3.mf-gl-term {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 12px;
	margin: 0 0 8px;
	padding: 0;
	background: none;
	border: 0;
	font-family: var(--mf-serif, serif);
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.45;
}
.post_content h3.mf-gl-term::before,
.post_content h3.mf-gl-term::after {
	content: none;
}
.mf-gl-yomi {
	color: var(--mf-muted, #6f675d);
	font-family: var(--mf-sans, sans-serif);
	font-size: 12.5px;
	font-weight: 400;
	letter-spacing: 0.12em;
}
.post_content .mf-gl-alias {
	margin-bottom: 10px;
	color: var(--mf-muted, #6f675d);
	font-size: 12px;
}
.mf-gl-alias span {
	margin-left: 8px;
	padding: 2px 10px;
	background: var(--mf-paper-2, #ebe4d6);
	border-radius: 999px;
	color: var(--mf-ink, #2e2a25);
}
.post_content .mf-gl-body {
	font-size: 14.5px;
	line-height: 1.95;
}
.mf-gl-meta {
	display: grid;
	gap: 10px;
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px dashed var(--mf-line, #ddd3c2);
}
.mf-gl-row {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 10px;
	align-items: start;
}
.mf-gl-label {
	padding-top: 4px;
	color: var(--mf-muted, #6f675d);
	font-size: 11.5px;
	letter-spacing: 0.1em;
}
.post_content .mf-gl-row a.mf-lchip {
	padding: 2px 10px 2px 7px;
	font-size: 12.5px;
}
.mf-gl-rel {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.post_content .mf-gl-rel a {
	padding: 2px 12px;
	border: 1px solid #9cb5a6;
	border-radius: 999px;
	color: var(--mf-green, #2f5d50);
	font-size: 12.5px;
	line-height: 1.6;
	text-decoration: none;
}
.post_content .mf-gl-rel a::before {
	content: "→ ";
	opacity: 0.6;
}
.post_content .mf-gl-rel a:hover {
	background: var(--mf-green, #2f5d50);
	color: #fff;
}
.post_content .mf-gl-none {
	padding: 48px 0;
	color: var(--mf-muted, #6f675d);
	text-align: center;
}
@media (max-width: 959px) {
	.mf-gl-bar {
		top: 48px; /* スマホ・タブレットのヘッダーの下 */
	}
	.mf-gl-group {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
		padding: 32px 0;
	}
	.mf-gl-side {
		position: static;
		display: flex;
		align-items: baseline;
		gap: 14px;
	}
	.post_content h2.mf-gl-head {
		font-size: 40px;
	}
	.post_content .mf-gl-en,
	.post_content .mf-gl-count {
		margin: 0;
	}
	.mf-gl-cards {
		grid-template-columns: minmax(0, 1fr);
	}
}
@media (max-width: 599px) {
	.mf-gl-bar {
		gap: 10px;
		padding: 10px 0;
	}
	.post_content .mf-gl-nav {
		gap: 3px;
	}
	.mf-gl-nav a,
	.mf-gl-nav span {
		width: 30px;
		height: 30px;
		font-size: 14px;
	}
	.mf-gl-search {
		width: 100%;
	}
	.post_content .mf-gl-search input {
		padding: 8px 14px 8px 38px;
		font-size: 16px; /* iPhoneで入力時に拡大されないように */
	}
	.mf-gl-item {
		padding: 20px 18px 16px;
	}
	.post_content h3.mf-gl-term {
		font-size: 20px;
	}
	.post_content .mf-gl-body {
		font-size: 14px;
	}
}

/* 周期表：資源としての分け方（ベースメタル・貴金属・レアメタル・希土類元素） */
.is-base { --rc: #4f7398; }
.is-precious { --rc: #b8902c; }
.is-rare { --rc: #7a5aa6; }
.is-ree { --rc: #a86a3d; }
/* 表の下：資源として見る（レアアースはレアメタルの中に入れ子） */
.mf-pt-res {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-top: 18px;
	padding: 14px 16px;
	background: var(--mf-card, #fbf9f4);
	border: 1px solid var(--mf-line, #ddd3c2);
	border-radius: 8px;
}
.mf-pt-res__nest {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	padding: 4px 5px 4px 4px;
	border: 1.5px dashed #b9a6d6;
	border-radius: 22px;
	background: rgba(122, 90, 166, 0.05);
}
.mf-pt-res__in {
	padding-left: 2px;
	color: #7a5aa6;
	font-size: 11.5px;
}
.mf-pt-res__label {
	margin-right: 4px;
	color: var(--mf-muted, #6f675d);
	font-size: 12.5px;
	letter-spacing: 0.06em;
}
.post_content .mf-pt-res__btn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 0;
	padding: 5px 14px 5px 10px;
	background: var(--mf-card, #fbf9f4);
	border: 1px solid var(--mf-line, #ddd3c2);
	border-radius: 999px;
	color: var(--mf-ink, #2e2a25);
	font-size: 13px;
	line-height: 1.5;
	cursor: pointer;
	transition: background 0.2s, border-color 0.2s, color 0.2s;
}
.mf-pt-res__btn i {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--rc);
}
.mf-pt-res__btn small {
	font-family: var(--mf-mono, monospace);
	font-size: 11px;
	opacity: 0.7;
}
.post_content .mf-pt-res__btn:hover {
	border-color: var(--rc);
}
.post_content .mf-pt-res__btn[aria-pressed="true"] {
	background: var(--rc);
	border-color: var(--rc);
	color: #fff;
}
.mf-pt-res__btn[aria-pressed="true"] i {
	background: #fff;
}
/* ボタンを押したとき：その分け方の元素だけを目立たせる */
.mf-pt[data-res="base"] { --rc: #4f7398; }
.mf-pt[data-res="precious"] { --rc: #b8902c; }
.mf-pt[data-res="rare"] { --rc: #7a5aa6; }
.mf-pt[data-res="ree"] { --rc: #a86a3d; }
.mf-pt:is([data-res="base"], [data-res="precious"], [data-res="rare"], [data-res="ree"]) .mf-pt__el:not(.is-hl),
.mf-pt:is([data-res="base"], [data-res="precious"], [data-res="rare"], [data-res="ree"]) .mf-pt__ph {
	opacity: 0.18;
}
.mf-pt .mf-pt__el.is-hl {
	outline: 2.5px solid var(--rc);
	outline-offset: -2px;
	box-shadow: 0 6px 14px -8px rgba(46, 42, 37, 0.6);
}
/* 情報欄の札 */
.post_content .mf-pt__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin-top: 6px;
}
.mf-pt__tag {
	padding: 1px 9px;
	border: 1px solid var(--rc);
	border-radius: 999px;
	color: var(--rc);
	font-size: 11.5px;
	line-height: 1.6;
}
/* 解説カード：ベースメタル・貴金属・レアメタル（中にレアアースのカード） */
.mf-rescards {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 2fr);
	gap: 16px;
	align-items: start;
}
.mf-rescard .mf-rescard {
	margin: 4px 0 16px;
	background: #fff;
}
.mf-rescard {
	display: flex;
	flex-direction: column;
	padding: 22px 20px 18px;
	background: var(--mf-card, #fbf9f4);
	border: 1px solid var(--mf-line, #ddd3c2);
	border-top: 4px solid var(--rc);
	border-radius: 6px;
}
.post_content .mf-rescard__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 10px;
}
.mf-rescard__name {
	font-family: var(--mf-serif, serif);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.4;
}
.mf-rescard__n {
	flex: none;
	font-family: var(--mf-latin, serif);
	font-size: 30px;
	font-weight: 600;
	line-height: 1;
	color: var(--rc);
}
.mf-rescard__n small {
	margin-left: 2px;
	font-family: var(--mf-sans, sans-serif);
	font-size: 11px;
	color: var(--mf-muted, #6f675d);
}
.post_content .mf-rescard__desc {
	margin-bottom: 14px;
	color: #4f483f;
	font-size: 13px;
	line-height: 1.85;
}
.mf-rescard__els {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin-bottom: 14px;
}
.post_content .mf-rescard__el {
	width: 32px;
	height: 32px;
	margin: 0;
	padding: 0;
	background: var(--pc);
	border: 0;
	border-radius: 4px;
	color: var(--mf-ink, #2e2a25);
	font-family: var(--mf-latin, serif);
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}
.mf-rescard__el:hover {
	box-shadow: 0 0 0 2px var(--mf-ink, #2e2a25);
}
.post_content a.mf-rescard__more {
	margin-top: auto;
	color: var(--mf-green, #2f5d50);
	font-size: 12.5px;
	text-decoration: none;
}
.post_content a.mf-rescard__more:hover {
	text-decoration: underline;
}
@media (max-width: 959px) {
	.mf-rescards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.mf-rescard.is-rare {
		grid-column: 1 / -1;
	}
}
@media (max-width: 599px) {
	.mf-rescards {
		grid-template-columns: minmax(0, 1fr);
	}
	.post_content .mf-pt-res__btn {
		padding: 4px 11px 4px 8px;
		font-size: 12px;
	}
	.mf-pt-res__label {
		width: 100%;
	}
}

/* 「〇〇をふくむ鉱物」の見出しと一覧の間 */
.post_content .mf-pt-list__head {
	margin-bottom: 18px;
}

/* 周期表：鉱物の色のもとになる元素 */
.mf-color__row4 {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 5px;
	margin-bottom: 22px;
}
.mf-color__row4-label {
	margin-right: 8px;
	color: var(--mf-muted, #6f675d);
	font-size: 12.5px;
	letter-spacing: 0.06em;
}
.post_content .mf-color__el {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 46px;
	height: 46px;
	margin: 0;
	padding: 0;
	background: var(--pc);
	border: 0;
	border-radius: 5px;
	color: var(--mf-ink, #2e2a25);
	font-family: var(--mf-latin, serif);
	font-size: 20px;
	font-weight: 700;
	cursor: pointer;
}
.mf-color__el span {
	position: absolute;
	top: 3px;
	left: 4px;
	font-family: var(--mf-mono, monospace);
	font-size: 8.5px;
	font-weight: 400;
	opacity: 0.75;
}
.mf-color__el:hover {
	box-shadow: 0 0 0 2px var(--mf-ink, #2e2a25);
}
.mf-color__row4 .mf-color__el:not(.is-on) {
	opacity: 0.35;
}
.mf-color__row4 .mf-color__el.is-on {
	box-shadow: 0 0 0 2px #fff, 0 0 0 3.5px var(--mf-green, #2f5d50);
}
.mf-color {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	align-items: start;
}
.mf-color__card {
	padding: 20px 20px 18px;
	background: var(--mf-card, #fbf9f4);
	border: 1px solid var(--mf-line, #ddd3c2);
	border-radius: 6px;
}
.mf-color__head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 12px;
}
.post_content .mf-color__name {
	flex: 1;
	min-width: 0;
	font-family: var(--mf-serif, serif);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.4;
}
.mf-color__name small {
	display: block;
	font-family: var(--mf-sans, sans-serif);
	font-size: 11px;
	font-weight: 400;
	color: var(--mf-muted, #6f675d);
}
.mf-color__sw {
	display: flex;
	flex: none;
}
.mf-color__sw i {
	width: 18px;
	height: 18px;
	margin-left: -5px;
	border-radius: 50%;
	border: 2px solid var(--mf-card, #fbf9f4);
}
.post_content .mf-color__desc {
	margin-bottom: 12px;
	color: #4f483f;
	font-size: 13px;
	line-height: 1.85;
}
.post_content .mf-color__ex {
	display: grid;
	gap: 6px;
	margin: 0;
	padding: 12px 0 0;
	border-top: 1px dashed var(--mf-line, #ddd3c2);
	list-style: none;
}
.post_content .mf-color__ex li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 8px;
	margin: 0;
	padding: 0;
	font-size: 12px;
}
.post_content .mf-color__ex li::before {
	content: none;
	display: none;
}
.post_content .mf-color__ex a.mf-lchip {
	padding: 2px 10px 2px 7px;
	font-size: 12.5px;
}
.mf-color__c {
	color: var(--mf-ink, #2e2a25);
}
.mf-color__k {
	margin-left: auto;
	padding: 0 7px;
	border-radius: 999px;
	font-size: 10.5px;
	line-height: 1.7;
}
.mf-color__k.is-self {
	background: var(--mf-green, #2f5d50);
	color: #fff;
}
.mf-color__k.is-other {
	border: 1px solid #9cb5a6;
	color: var(--mf-green, #2f5d50);
}
/* 色中心のカード */
.mf-color__card.is-cc {
	background: color-mix(in srgb, var(--mf-card, #fbf9f4) 70%, var(--mf-paper, #f3eee4));
	border-style: dashed;
}
.post_content .mf-color__el.is-cc {
	background: var(--mf-dark, #2b2620);
	color: #d4b27c;
	font-size: 18px;
	cursor: default;
}
.mf-color__el.is-cc:hover {
	box-shadow: none;
}
.mf-color__card.is-cc .mf-rescard__more {
	display: inline-block;
	margin-top: 12px;
}
@media (max-width: 959px) {
	.mf-color {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 599px) {
	.mf-color {
		grid-template-columns: minmax(0, 1fr);
	}
	.mf-color__row4 {
		gap: 4px;
	}
	.post_content .mf-color__row4 .mf-color__el {
		width: 28px;
		height: 30px;
		font-size: 13px;
	}
	.mf-color__row4 .mf-color__el span {
		display: none; /* スマホでは原子番号を省いて1列に収める */
	}
	.mf-color__row4-label {
		width: 100%;
	}
}

/* 周期表：スマホ・タブレットは横スクロール前提なので、マスを大きくして数字や◆が記号・名前に重ならないように */
@media (max-width: 959px) {
	.mf-pt {
		min-width: 1010px;
	}
}

/* 誕生石：石ごとの上下の余白（リストの余白リセットより強く） */
.post_content .mf-bs__stones > .mf-bs__stone {
	padding: 18px 0;
}
.post_content .mf-bs__stones > .mf-bs__stone:last-child {
	padding-bottom: 12px;
}

/* 結晶系：α・β・γ のカードに、図の弧と同じ色の印 */
.mf-cs__angles div {
	border-left: 4px solid var(--ac, var(--mf-line, #ddd3c2));
}
.post_content .mf-cs__angles dt {
	color: var(--ac, inherit);
}

.mf-cs__how .mf-cell {
	max-width: 340px;
}

/* 結晶系：晶癖（同じ結晶系でも形はいろいろ） */
.mf-habit {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}
.mf-habit__card {
	padding: 20px 20px 18px;
	background: var(--mf-card, #fbf9f4);
	border: 1px solid var(--mf-line, #ddd3c2);
	border-radius: 6px;
}
.post_content .mf-habit__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 14px;
}
.mf-habit__sys {
	padding: 1px 10px;
	border: 1px solid var(--mf-line, #ddd3c2);
	border-radius: 999px;
	color: var(--mf-muted, #6f675d);
	font-size: 11.5px;
}
.mf-habit__forms {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}
.post_content .mf-habit__form {
	margin: 0;
	text-align: center;
}
.mf-habit__svg {
	display: block;
	width: 100%;
	max-width: 130px;
	height: auto;
	margin: 0 auto 8px;
	filter: drop-shadow(0 6px 6px rgba(46, 42, 37, 0.15));
}
.post_content .mf-habit__form figcaption {
	margin: 0;
	padding: 0;
	color: var(--mf-ink, #2e2a25);
	font-size: 12px;
	line-height: 1.7;
	text-align: center;
}
.mf-habit__form figcaption b {
	display: block;
	font-family: var(--mf-serif, serif);
	font-size: 15px;
}
.mf-habit__form figcaption span {
	display: block;
	color: var(--mf-muted, #6f675d);
	font-size: 11.5px;
}
@media (max-width: 959px) {
	.mf-habit {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* 用語集：たためるカード（たたんだ状態は用語・読み・ひとこと） */
.mf-gl-item {
	padding: 0;
}
.mf-gl-item::before {
	top: 24px;
}
.mf-gl-sum {
	position: relative;
	display: block;
	padding: 20px 56px 18px 26px;
	cursor: pointer;
	list-style: none;
}
.mf-gl-sum::-webkit-details-marker {
	display: none;
}
.post_content .mf-gl-sum h3.mf-gl-term {
	margin-bottom: 4px;
	font-size: 20px;
}
.mf-gl-short {
	display: block;
	color: #4f483f;
	font-size: 13.5px;
	line-height: 1.8;
}
/* 開閉の印（丸の中の ＋ → −） */
.mf-gl-chev {
	position: absolute;
	top: 22px;
	right: 20px;
	width: 26px;
	height: 26px;
	border: 1px solid var(--mf-line, #ddd3c2);
	border-radius: 50%;
	background: var(--mf-paper, #f3eee4);
	transition: background 0.2s, border-color 0.2s;
}
.mf-gl-chev::before,
.mf-gl-chev::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 1.6px;
	background: var(--mf-green, #2f5d50);
	transform: translate(-50%, -50%);
	transition: transform 0.2s;
}
.mf-gl-chev::after {
	transform: translate(-50%, -50%) rotate(90deg);
}
.mf-gl-item[open] .mf-gl-chev::after {
	transform: translate(-50%, -50%) rotate(0deg);
}
.mf-gl-sum:hover .mf-gl-chev {
	border-color: var(--mf-green, #2f5d50);
}
.mf-gl-item[open] .mf-gl-short {
	display: none; /* 開いたら、詳しい解説の方を読む */
}
.mf-gl-detail {
	padding: 0 26px 22px;
}
.post_content .mf-gl-detail .mf-gl-alias {
	margin-bottom: 10px;
}
/* すべて開く／たたむ */
.post_content .mf-gl-all {
	margin: 0;
	padding: 8px 16px;
	background: var(--mf-card, #fbf9f4);
	border: 1px solid var(--mf-line, #ddd3c2);
	border-radius: 999px;
	color: var(--mf-green, #2f5d50);
	font-size: 13px;
	cursor: pointer;
}
.post_content .mf-gl-all:hover {
	border-color: var(--mf-green, #2f5d50);
}
.mf-gl-search {
	margin-left: auto;
}
@media (max-width: 599px) {
	.mf-gl-sum {
		padding: 16px 48px 14px 18px;
	}
	.mf-gl-chev {
		top: 18px;
		right: 14px;
	}
	.mf-gl-detail {
		padding: 0 18px 18px;
	}
	.mf-gl-search {
		flex: 1;
		width: auto;
	}
}
.mf-pt__legend li small {
	margin-left: -2px;
	font-size: 11px;
	opacity: 0.85;
}

/* 用語集：言いかえのカード（「〇〇に同じ →」で本体の用語へ） */
.mf-gl-see {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 6px 14px;
	padding: 14px 20px 14px 26px;
	background: transparent;
	border: 1px dashed var(--mf-line, #ddd3c2);
	border-radius: 6px;
	scroll-margin-top: 150px;
}
.post_content .mf-gl-see__term {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 10px;
	font-family: var(--mf-serif, serif);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.5;
}
.post_content a.mf-gl-see__to {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 3px 12px;
	border: 1px solid #9cb5a6;
	border-radius: 999px;
	color: var(--mf-green, #2f5d50);
	font-size: 12.5px;
	text-decoration: none;
	white-space: nowrap;
}
.mf-gl-see__to b {
	font-weight: 700;
}
.post_content a.mf-gl-see__to:hover {
	background: var(--mf-green, #2f5d50);
	color: #fff;
}

/* =====================================================================
 * 形状一覧
 * ===================================================================== */
.mf-shape-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.post_content .mf-shape-nav a {
	padding: 4px 12px;
	background: var(--mf-card, #fbf9f4);
	border: 1px solid var(--mf-line, #ddd3c2);
	border-radius: 999px;
	color: var(--mf-ink, #2e2a25);
	font-size: 13px;
	text-decoration: none;
}
.post_content .mf-shape-nav a:hover {
	border-color: var(--mf-green, #2f5d50);
	color: var(--mf-green, #2f5d50);
}
.mf-shapes {
	display: grid;
	grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr));
	gap: 16px;
}
.mf-shape {
	display: flex;
	flex-direction: column;
	padding: 16px 18px 18px;
	background: var(--mf-card, #fbf9f4);
	border: 1px solid var(--mf-line, #ddd3c2);
	border-radius: 6px;
	scroll-margin-top: 90px;
}
.mf-shape__svg {
	display: block;
	width: 100%;
	height: auto;
	margin-bottom: 10px;
	border-radius: 4px;
	background: radial-gradient(circle at 50% 45%, #fff, var(--mf-paper, #f3eee4) 75%);
}
.post_content h3.mf-shape__name {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 10px;
	margin: 0 0 6px;
	padding: 0;
	border: 0;
	background: none;
	font-family: var(--mf-serif, serif);
	font-size: 19px;
	font-weight: 700;
	letter-spacing: 0.06em;
}
.post_content h3.mf-shape__name::before,
.post_content h3.mf-shape__name::after {
	content: none;
}
.mf-shape__yomi {
	color: var(--mf-muted, #6f675d);
	font-family: var(--mf-sans, sans-serif);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.1em;
}
.post_content .mf-shape__short {
	margin-bottom: 10px;
	color: #4f483f;
	font-size: 13px;
	line-height: 1.8;
}
.post_content .mf-shape a.mf-lchip {
	padding: 2px 10px 2px 7px;
	font-size: 12px;
}
.post_content a.mf-shape__more {
	margin-top: auto;
	padding-top: 10px;
	color: var(--mf-green, #2f5d50);
	font-size: 12px;
	text-decoration: none;
}

/* =====================================================================
 * 比重くらべ
 * ===================================================================== */
.mf-dscale {
	position: relative;
	margin-top: 8px;
	padding: 0 52px; /* 両端（水・金）のラベルが切れないように */
}
.mf-dscale__top,
.mf-dscale__bottom {
	position: relative;
	margin: 0;
	padding: 0;
	list-style: none;
}
.mf-dscale__top {
	height: 74px;
}
.mf-dscale__bottom {
	height: 140px;
}
.mf-dscale li {
	position: absolute;
	left: var(--x);
	transform: translateX(-50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	white-space: nowrap;
	font-size: 12px;
}
.mf-dscale li::before {
	content: none;
	display: none;
}
.mf-dscale__top li {
	bottom: 0;
}
.mf-dscale__top li::after {
	content: "";
	width: 1.5px;
	height: calc(10px + var(--lv) * 26px);
	background: #a88553;
}
.mf-dscale__top li span {
	padding: 2px 9px;
	background: #f6eedd;
	border: 1px solid #d9c39b;
	border-radius: 999px;
}
.mf-dscale li b {
	margin-left: 5px;
	font-family: var(--mf-latin, serif);
	font-size: 14px;
	color: #8e6d33;
}
.mf-dscale__axis {
	position: relative;
	height: 26px;
	border-top: 2px solid var(--mf-ink, #2e2a25);
}
.mf-dscale__axis span {
	position: absolute;
	top: 4px;
	transform: translateX(-50%);
	color: var(--mf-muted, #6f675d);
	font-family: var(--mf-latin, serif);
	font-size: 13px;
}
.mf-dscale__bottom li {
	top: 0;
	flex-direction: column-reverse;
	justify-content: flex-end;
}
.mf-dscale__bottom li::after {
	content: "";
	order: 2;
	width: 1.5px;
	height: calc(6px + var(--lv) * 30px);
	background: var(--mf-green, #2f5d50);
}
.mf-dscale__bottom li a {
	order: 1;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 2px 9px 2px 6px;
	background: var(--mf-card, #fbf9f4);
	border: 1px solid var(--mf-line, #ddd3c2);
	border-radius: 999px;
	color: var(--mf-ink, #2e2a25);
	text-decoration: none;
}
.mf-dscale__bottom li a i {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--c);
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.15);
}
.mf-dscale__bottom li b {
	color: var(--mf-green, #2f5d50);
}
.mf-dfeels {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}
.mf-dfeel {
	padding: 22px 24px;
	background: var(--mf-card, #fbf9f4);
	border: 1px solid var(--mf-line, #ddd3c2);
	border-top: 4px solid #6b5a8c;
	border-radius: 6px;
}
.mf-dfeel.is-light {
	border-top-color: #9cb5a6;
}
.post_content .mf-dfeel__title {
	margin-bottom: 12px;
	font-family: var(--mf-serif, serif);
	font-size: 18px;
	font-weight: 700;
}
.post_content .mf-dfeel ul {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.post_content .mf-dfeel li {
	margin: 0;
	padding: 0 0 12px;
	border-bottom: 1px dashed var(--mf-line, #ddd3c2);
}
.post_content .mf-dfeel li:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}
.post_content .mf-dfeel li::before {
	content: none;
}
.post_content .mf-dfeel__top {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 4px;
}
.mf-dfeel__top b {
	font-family: var(--mf-latin, serif);
	font-size: 22px;
	color: var(--mf-green, #2f5d50);
}
.post_content .mf-dfeel__note {
	color: #4f483f;
	font-size: 13px;
	line-height: 1.8;
}
.mf-drow {
	grid-template-columns: 170px minmax(0, 1fr);
}
.mf-drow__h {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.mf-drow__h b {
	font-family: var(--mf-latin, serif);
	font-size: 20px;
	color: var(--mf-green, #2f5d50);
}
.mf-drow__h small {
	color: var(--mf-muted, #6f675d);
	font-size: 11.5px;
}
.mf-drow__bar {
	display: block;
	height: 6px;
	margin: 4px 0 0;
	background: var(--mf-paper-2, #ebe4d6);
	border-radius: 3px;
	overflow: hidden;
}
.mf-drow__bar span {
	display: block;
	height: 100%;
	background: var(--mf-green, #2f5d50);
	border-radius: 3px;
}

/* =====================================================================
 * 条痕色の一覧
 * ===================================================================== */
.mf-steps--mini {
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 8px !important;
	margin-top: 18px;
}
.post_content .mf-steps--mini > li {
	display: grid;
	grid-template-columns: 30px minmax(0, 1fr);
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
}
.mf-steps--mini li > b {
	width: 26px;
	height: 26px;
	margin: 0;
	font-size: 15px;
}
.post_content .mf-steps--mini li p {
	font-size: 13.5px;
	line-height: 1.7;
}
.mf-streakfig {
	padding: 24px;
	background: var(--mf-card, #fbf9f4);
	border: 1px solid var(--mf-line, #ddd3c2);
	border-radius: 6px;
}
.mf-streakplate {
	display: block;
	width: 100%;
	max-width: 380px;
	height: auto;
	margin: 0 auto;
	filter: drop-shadow(0 8px 10px rgba(46, 42, 37, 0.12));
}
.mf-spairs {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}
.mf-spair {
	padding: 18px 20px;
	background: var(--mf-card, #fbf9f4);
	border: 1px solid var(--mf-line, #ddd3c2);
	border-radius: 6px;
}
.post_content .mf-spair__head {
	margin-bottom: 12px;
}
.mf-spair__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	gap: 8px;
	margin-bottom: 12px;
}
.mf-spair__sw {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	text-align: center;
}
.mf-spair__sw i {
	width: 54px;
	height: 54px;
	margin-bottom: 4px;
	border-radius: 50%;
	background: var(--c);
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.15), 0 4px 8px -4px rgba(0, 0, 0, 0.3);
}
.mf-spair__sw.is-streak i {
	width: 64px;
	height: 22px;
	margin: 16px 0 20px;
	border-radius: 11px;
}
.mf-spair__sw small {
	color: var(--mf-muted, #6f675d);
	font-size: 10.5px;
	letter-spacing: 0.08em;
}
.mf-spair__sw b {
	font-size: 12.5px;
}
.mf-spair__arrow {
	color: #a88553;
	font-size: 20px;
}
.post_content .mf-spair__note {
	color: #4f483f;
	font-size: 12.5px;
	line-height: 1.8;
}
.mf-snav {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 16px;
}
.post_content .mf-snav a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 12px 4px 6px;
	background: var(--mf-card, #fbf9f4);
	border: 1px solid var(--mf-line, #ddd3c2);
	border-radius: 999px;
	color: var(--mf-ink, #2e2a25);
	font-size: 13px;
	text-decoration: none;
}
.mf-snav a i,
.mf-srow__h i {
	width: 26px;
	height: 10px;
	border-radius: 5px;
	background: var(--c);
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.15);
}
.mf-srow {
	scroll-margin-top: 90px;
}
.post_content .mf-srow__h {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.mf-srow__h i {
	width: 44px;
	height: 14px;
	border-radius: 7px;
}
.mf-srow__h b {
	font-family: var(--mf-serif, serif);
	font-size: 17px;
}
.mf-srow__h small {
	color: var(--mf-muted, #6f675d);
	font-size: 11.5px;
}

/* =====================================================================
 * 宝石名と鉱物名
 * ===================================================================== */
.mf-gn__search {
	width: 360px;
	margin: 0 0 22px;
}
.mf-gn {
	columns: 2;
	column-gap: 18px;
}
.mf-gn__card {
	break-inside: avoid;
	margin-bottom: 18px;
	padding: 22px 24px 18px;
	background: var(--mf-card, #fbf9f4);
	border: 1px solid var(--mf-line, #ddd3c2);
	border-radius: 6px;
}
.post_content h3.mf-gn__title {
	margin: 0 0 4px;
	padding: 0;
	border: 0;
	background: none;
	font-family: var(--mf-serif, serif);
	font-size: 19px;
	font-weight: 700;
	letter-spacing: 0.05em;
}
.post_content h3.mf-gn__title::before,
.post_content h3.mf-gn__title::after {
	content: none;
}
.post_content .mf-gn__lead {
	margin-bottom: 10px;
	color: var(--mf-muted, #6f675d);
	font-size: 12.5px;
}
.mf-gn__sp {
	padding: 10px 0 4px;
	border-top: 1px dashed var(--mf-line, #ddd3c2);
}
.post_content .mf-gn__spname {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
}
.mf-gn__spname > span {
	color: var(--mf-muted, #6f675d);
	font-size: 11px;
	letter-spacing: 0.08em;
}
.post_content .mf-gn__gems {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6px 10px;
	margin: 0 0 6px;
	padding: 0;
	list-style: none;
}
.post_content .mf-gn__gems li {
	margin: 0;
	padding: 0;
}
.post_content .mf-gn__gems li::before {
	content: none;
}
.post_content a.mf-gn__gem {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 4px 6px;
	border-radius: 6px;
	color: var(--mf-ink, #2e2a25);
	text-decoration: none;
	transition: background 0.2s;
}
.post_content a.mf-gn__gem:hover {
	background: var(--mf-paper, #f3eee4);
}
.mf-gn__gem .mf-gem {
	flex: none;
	width: 30px;
	height: 30px;
}
.mf-gn__gem span {
	display: flex;
	flex-direction: column;
	line-height: 1.35;
}
.mf-gn__gem b {
	font-family: var(--mf-serif, serif);
	font-size: 14.5px;
}
.mf-gn__gem small {
	color: var(--mf-muted, #6f675d);
	font-size: 11px;
}
.mf-gn [hidden] {
	display: none !important;
}

/* =====================================================================
 * 名前の語源
 * ===================================================================== */
.mf-ety {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	align-items: start;
}
.mf-ety__card {
	position: relative;
	padding: 20px 22px 18px;
	background: var(--mf-card, #fbf9f4);
	border: 1px solid var(--mf-line, #ddd3c2);
	border-radius: 6px;
}
.mf-ety__head {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 10px;
}
.post_content .mf-ety__word {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 56px;
	height: 56px;
	padding: 0 10px;
	background: var(--mf-dark, #2b2620);
	border-radius: 6px;
	color: #efe8db;
	line-height: 1;
}
.mf-ety__word.is-kanji {
	font-family: var(--mf-serif, serif);
	font-size: 30px;
	font-weight: 700;
}
.mf-ety__word.is-latin {
	font-family: var(--mf-latin, serif);
	font-size: 22px;
	font-style: italic;
	font-weight: 600;
	color: #f0dcb4;
}
.mf-ety__word.is-label {
	font-family: var(--mf-serif, serif);
	font-size: 15px;
	font-weight: 700;
}
.post_content .mf-ety__meta {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.mf-ety__yomi {
	color: var(--mf-muted, #6f675d);
	font-size: 12px;
	letter-spacing: 0.1em;
}
.mf-ety__meta b {
	font-family: var(--mf-serif, serif);
	font-size: 17px;
	color: var(--mf-green, #2f5d50);
}
.post_content .mf-ety__note {
	margin-bottom: 10px;
	color: #4f483f;
	font-size: 13px;
	line-height: 1.85;
}
.post_content .mf-ety__ex {
	display: grid;
	gap: 6px;
	margin: 0;
	padding: 10px 0 0;
	border-top: 1px dashed var(--mf-line, #ddd3c2);
	list-style: none;
}
.post_content .mf-ety__ex li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 8px;
	margin: 0;
	padding: 0;
	font-size: 12px;
	color: #4f483f;
}
.post_content .mf-ety__ex li::before {
	content: none;
}
.post_content .mf-ety__ex a.mf-lchip {
	padding: 2px 10px 2px 7px;
	font-size: 12px;
}
.mf-ety__table mark {
	padding: 0 2px;
	background: #f3e1b6;
	border-radius: 2px;
	color: inherit;
}
/* 成分の字：右上に大きな元素記号 */
.mf-ety__sym {
	position: absolute;
	top: 12px;
	right: 18px;
	font-family: var(--mf-latin, serif);
	font-size: 40px;
	font-weight: 600;
	line-height: 1;
	color: var(--mf-green, #2f5d50);
	opacity: 0.85;
	pointer-events: none;
}
.mf-ety__sw {
	position: absolute;
	top: 16px;
	right: 18px;
	display: flex;
	gap: 5px;
	pointer-events: none;
}
.mf-ety__sw i {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.12), inset -4px -6px 10px rgba(0, 0, 0, 0.12), inset 4px 5px 8px rgba(255, 255, 255, 0.35);
}
.mf-ety__sw i:not(:only-child) {
	width: 20px;
	height: 20px;
}
.mf-ety__card.has-sym .mf-ety__head {
	padding-right: 64px;
}
.mf-ety__f {
	font-family: var(--mf-latin, serif);
	font-size: 1.08em;
	letter-spacing: 0.02em;
	white-space: nowrap;
}
.mf-ety__f sub {
	font-size: 0.72em;
	vertical-align: -0.25em;
	line-height: 0;
}
.post_content .mf-ety__table td.mf-ety__en {
	font-family: var(--mf-latin, serif);
	font-size: 16px;
	white-space: nowrap;
}

@media (max-width: 959px) {
	.mf-shapes,
	.mf-spairs,
	.mf-ety {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.mf-gn {
		columns: 1;
	}
	.mf-dfeels {
		grid-template-columns: minmax(0, 1fr);
	}
}
@media (max-width: 599px) {
	.mf-shapes,
	.mf-spairs,
	.mf-ety {
		grid-template-columns: minmax(0, 1fr);
	}
	.mf-gn__search {
		width: 100%;
	}
	.mf-drow {
		grid-template-columns: minmax(0, 1fr);
	}
	.mf-dscale {
		overflow-x: auto;
		padding-bottom: 6px;
	}
	.mf-dscale__top,
	.mf-dscale__axis,
	.mf-dscale__bottom {
		min-width: 640px;
	}
}

.mf-ety__hl {
	display: inline-block;
	margin-left: 8px;
	padding: 0 6px;
	background: #f3e1b6;
	border-radius: 3px;
	font-family: var(--mf-serif, serif);
	font-size: 13px;
	font-weight: 700;
}

/* 用語集：詳しい説明を別の資料室ページに置いている用語（形の言葉など） */
.post_content a.mf-gl-topage {
	color: var(--mf-green, #2f5d50);
	font-size: 14px;
	text-decoration: none;
	border-bottom: 1px solid #9cb5a6;
}
.post_content a.mf-gl-topage:hover {
	border-bottom-color: var(--mf-green, #2f5d50);
}

/* 比重のものさし：ラベルの段は自動（--lv）。段の数（--rows）に合わせて高さを取る */
.mf-dscale__top {
	height: calc(var(--rows, 2) * 30px + 14px);
}
.mf-dscale__bottom {
	height: calc(var(--rows, 3) * 32px + 20px);
}
.mf-dscale__top li::after {
	height: calc(10px + var(--lv) * 30px);
}
.mf-dscale__bottom li::after {
	height: calc(8px + var(--lv) * 32px);
}
.mf-dscale__top,
.mf-dscale__axis,
.mf-dscale__bottom {
	min-width: 1000px; /* ラベルの重なりは幅1000pxとして計算しているので、狭い画面では横にスクロール */
}
.mf-dscale {
	overflow-x: auto;
	padding-bottom: 6px;
}

/* ラベルを目盛りの左右に寄せる（近い目盛りどうしを同じ段に並べるため）。線はラベルの端から14pxの位置 */
.mf-dscale li.is-r {
	transform: translateX(calc(-100% + 14px));
	align-items: flex-end;
}
.mf-dscale li.is-l {
	transform: translateX(-14px);
	align-items: flex-start;
}
.mf-dscale li.is-r::after {
	margin-right: 13px;
}
.mf-dscale li.is-l::after {
	margin-left: 13px;
}

/* ものさし：上の段のいちばん外のラベルが、横スクロールの枠で切れないように余白を多めに */
.mf-dscale__top {
	height: calc(var(--rows, 2) * 30px + 34px);
}
.mf-dscale {
	padding-top: 6px;
}
.mf-ety__card:has(.mf-ety__sw i:nth-child(3)) .mf-ety__head {
	padding-right: 104px;
}
.post_content .mf-ety__table tr.mf-ety__grp th {
	padding: 14px 12px 6px;
	background: transparent;
	border-bottom: 2px solid var(--mf-green, #2f5d50);
	color: var(--mf-green, #2f5d50);
	font-family: var(--mf-serif, serif);
	font-size: 15px;
	text-align: left;
}
.mf-ety__hl + .mf-ety__hl {
	margin-left: 4px;
}
.mf-ety__sep {
	margin: 0 6px;
	color: var(--mf-muted, #6f675d);
}

/* 宝石＝鉱物、とはかぎらない */
.mf-gm {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 16px;
	margin-top: 20px;
}
.mf-gm__card {
	padding: 20px 22px 18px;
	background: var(--mf-card, #fbf9f4);
	border: 1px solid var(--mf-line, #ddd3c2);
	border-top: 3px solid var(--mf-green, #2f5d50);
	border-radius: 6px;
}
.post_content .mf-gm__h {
	margin: 0 0 8px;
	padding: 0;
	border: 0;
	background: none;
	font-family: var(--mf-serif, serif);
	font-size: 17px;
	color: var(--mf-green, #2f5d50);
}
.post_content .mf-gm__h::before,
.post_content .mf-gm__h::after {
	content: none;
}
.post_content .mf-gm__card p {
	margin: 0 0 12px;
	color: #4f483f;
	font-size: 13.5px;
	line-height: 1.9;
}
@media (max-width: 599px) {
	.mf-gm {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ===== プライバシーポリシー・お問い合わせ（includes/pages.php） ===== */
.mf-pp,
.mf-ct {
	max-width: 780px;
	margin-left: auto !important;
	margin-right: auto !important;
}
.post_content .mf-pp p {
	margin: 0 0 1.4em;
	font-size: 14.5px;
	line-height: 2;
}
/* 目次 */
.post_content .mf-pp__toc {
	margin: 32px 0 8px;
	padding: 22px 26px 18px;
	background: var(--mf-card, #fbf9f4);
	border: 1px solid var(--mf-line, #ddd3c2);
	border-radius: 6px;
}
.post_content .mf-pp__toct {
	margin: 0 0 10px;
	color: var(--mf-ochre, #b5874a);
	font-family: var(--mf-latin, serif);
	font-size: 13px;
	letter-spacing: 0.24em;
}
.post_content .mf-pp__toc ol {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 4px 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.post_content .mf-pp__toc li {
	margin: 0;
	padding: 0;
}
.post_content .mf-pp__toc li::before {
	content: none;
}
.post_content .mf-pp__toc a {
	display: flex;
	gap: 10px;
	padding: 4px 0;
	color: var(--mf-ink, #2e2a25);
	font-size: 14px;
	text-decoration: none;
}
.post_content .mf-pp__toc a:hover {
	color: var(--mf-green, #2f5d50);
}
.post_content .mf-pp__toc a span {
	color: var(--mf-green, #2f5d50);
	font-family: var(--mf-latin, serif);
	font-weight: 600;
}
/* 見出し：番号＋明朝 */
.post_content .mf-pp .mf-pp__h {
	display: flex;
	align-items: baseline;
	gap: 14px;
	margin: 56px 0 16px;
	padding: 0 0 10px;
	background: none;
	border: 0;
	border-bottom: 1px solid var(--mf-line, #ddd3c2);
	color: var(--mf-ink, #2e2a25);
	font-family: var(--mf-serif, serif);
	font-size: 20px;
	letter-spacing: 0.06em;
	scroll-margin-top: 90px;
}
.post_content .mf-pp .mf-pp__h::before,
.post_content .mf-pp .mf-pp__h::after {
	content: none;
}
.mf-pp__no {
	color: var(--mf-ochre, #b5874a);
	font-family: var(--mf-latin, serif);
	font-size: 26px;
	font-weight: 600;
	line-height: 1;
}

/* お問い合わせ：こんなときに */
.post_content .mf-ct__topics {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}
.post_content .mf-ct__topics li {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0;
	padding: 16px 16px 14px;
	background: var(--mf-card, #fbf9f4);
	border: 1px solid var(--mf-line, #ddd3c2);
	border-radius: 6px;
	font-size: 12.5px;
	line-height: 1.75;
	color: var(--mf-muted, #6f675d);
}
.post_content .mf-ct__topics li::before {
	content: none;
}
.mf-ct__topics svg {
	width: 24px;
	height: 24px;
	margin-bottom: 4px;
	fill: none;
	stroke: var(--mf-green, #2f5d50);
	stroke-width: 1.6;
	stroke-linejoin: round;
	stroke-linecap: round;
}
.mf-ct__topics b {
	color: var(--mf-ink, #2e2a25);
	font-family: var(--mf-serif, serif);
	font-size: 15px;
}
/* フォーム：エアメールの封筒のような縁 */
.mf-ct .mf-contact {
	position: relative;
	padding-top: 38px;
	border: 0;
	box-shadow: 0 0 0 1px var(--mf-line, #ddd3c2), 0 10px 30px -18px rgba(43, 38, 32, 0.45);
	background:
		repeating-linear-gradient(-45deg, #2f5d50 0 14px, transparent 14px 22px, #b5874a 22px 36px, transparent 36px 44px) top / 100% 8px no-repeat,
		var(--mf-card, #fbf9f4);
}
.mf-ct .mf-contact::after {
	content: "TO : こうぶつフェイバリット 管理人 リト";
	position: absolute;
	top: 16px;
	right: 22px;
	color: var(--mf-muted, #6f675d);
	font-family: var(--mf-serif, serif);
	font-size: 11.5px;
	letter-spacing: 0.12em;
}
@media (max-width: 599px) {
	.post_content .mf-pp__toc ol,
	.post_content .mf-ct__topics {
		grid-template-columns: minmax(0, 1fr);
	}
	.mf-ct .mf-contact::after {
		left: 18px;
		right: auto;
	}
}
/* 資料室の「段落の余白0」がフォームの行にも効いてしまうので戻す */
.post_content .mf-ct .mf-contact__row {
	margin: 0 0 20px;
}
.post_content .mf-ct .mf-contact__submit {
	margin: 24px 0 0;
}
.post_content .mf-ct .mf-contact__lead {
	margin: 0;
}
.post_content .mf-ct .mf-contact__notes {
	margin-top: 20px;
}

/* ===== このサイトについて [mf_about_page] ===== */
.mf-ab {
	max-width: 1000px;
	margin-left: auto !important;
	margin-right: auto !important;
}
.post_content .mf-ab p {
	margin: 0 0 1.2em;
	font-size: 15px;
	line-height: 2;
}
.mf-ab__intro {
	display: grid;
	grid-template-columns: 340px minmax(0, 1fr);
	gap: 48px;
	align-items: center;
}
.mf-ab__pun {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	gap: 14px;
	padding: 40px 20px 36px;
	background: var(--mf-dark, #2b2620);
	border-radius: 8px;
	color: #f3eee4;
	font-family: var(--mf-serif, serif);
	font-weight: 700;
}
.mf-ab__pun span {
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 54px;
	line-height: 1.1;
	letter-spacing: 0.06em;
}
.mf-ab__pun small {
	margin-bottom: 4px;
	color: var(--mf-ochre, #d4b27c);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.3em;
}
.mf-ab__pun i {
	padding-bottom: 6px;
	color: var(--mf-ochre, #d4b27c);
	font-size: 30px;
	font-style: normal;
}
.post_content .mf-ab__values {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 4px 0 0;
	padding: 0;
	list-style: none;
}
.post_content .mf-ab__values li {
	margin: 0;
	padding: 5px 16px;
	border: 1px solid var(--mf-green, #2f5d50);
	border-radius: 999px;
	color: var(--mf-green, #2f5d50);
	font-family: var(--mf-serif, serif);
	font-size: 14px;
	font-weight: 700;
}
.post_content .mf-ab__values li::before,
.post_content .mf-ab__nums li::before,
.post_content .mf-ab__tips li::before,
.post_content .mf-ab__data li::before {
	content: none;
}
/* 数字 */
.post_content .mf-ab__nums {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.post_content .mf-ab__nums li {
	margin: 0;
	padding: 22px 20px 18px;
	background: var(--mf-card, #fbf9f4);
	border: 1px solid var(--mf-line, #ddd3c2);
	border-top: 3px solid var(--mf-green, #2f5d50);
	border-radius: 6px;
}
.mf-ab__nums b {
	color: var(--mf-green, #2f5d50);
	font-family: var(--mf-latin, serif);
	font-size: 46px;
	font-weight: 600;
	line-height: 1;
}
.mf-ab__nums span {
	margin-left: 4px;
	font-family: var(--mf-serif, serif);
	font-size: 15px;
	font-weight: 700;
}
.mf-ab__nums small {
	display: block;
	margin-top: 8px;
	color: var(--mf-muted, #6f675d);
	font-size: 12.5px;
	line-height: 1.6;
}
/* 歩き方 */
.mf-ab__guide {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}
.post_content a.mf-ab__gcard {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 22px 20px 18px;
	background: var(--mf-card, #fbf9f4);
	border: 1px solid var(--mf-line, #ddd3c2);
	border-radius: 6px;
	color: var(--mf-ink, #2e2a25);
	text-decoration: none;
	transition: border-color 0.2s, transform 0.2s;
}
.post_content a.mf-ab__gcard:hover {
	border-color: var(--mf-green, #2f5d50);
	transform: translateY(-2px);
}
.mf-ab__gcard svg {
	width: 28px;
	height: 28px;
	margin-bottom: 8px;
	fill: none;
	stroke: var(--mf-green, #2f5d50);
	stroke-width: 1.5;
	stroke-linejoin: round;
	stroke-linecap: round;
}
.mf-ab__gen {
	color: var(--mf-ochre, #b5874a);
	font-family: var(--mf-latin, serif);
	font-size: 12px;
	letter-spacing: 0.2em;
}
.mf-ab__gcard b {
	font-family: var(--mf-serif, serif);
	font-size: 18px;
}
.mf-ab__gtxt {
	flex: 1;
	color: var(--mf-muted, #6f675d);
	font-size: 13px;
	line-height: 1.8;
}
.mf-ab__go {
	margin-top: 8px;
	color: var(--mf-green, #2f5d50);
	font-size: 13px;
	font-weight: 700;
}
.post_content .mf-ab__tips {
	margin: 20px 0 0;
	padding: 18px 24px;
	background: var(--mf-paper-2, #ebe4d6);
	border-radius: 6px;
	list-style: none;
}
.post_content .mf-ab__tips li {
	margin: 0;
	padding: 4px 0 4px 18px;
	position: relative;
	font-size: 14px;
	line-height: 1.8;
}
.post_content .mf-ab__tips li::after {
	content: "";
	position: absolute;
	left: 2px;
	top: 0.95em;
	width: 7px;
	height: 7px;
	background: var(--mf-green, #2f5d50);
	transform: rotate(45deg);
}
/* 図鑑番号：標本ラベルの見本 */
.mf-ab__no {
	display: grid;
	grid-template-columns: 300px minmax(0, 1fr);
	gap: 44px;
	align-items: start;
}
.post_content a.mf-ab__label {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 2px 12px;
	align-items: baseline;
	padding: 22px 24px 18px;
	background: #fffdf8;
	border: 1px solid #c9bca6;
	outline: 1px solid #c9bca6;
	outline-offset: -7px;
	box-shadow: 0 10px 24px -16px rgba(43, 38, 32, 0.5);
	color: var(--mf-ink, #2e2a25);
	text-decoration: none;
	transform: rotate(-2deg);
}
.mf-ab__lno {
	grid-column: 1 / -1;
	color: var(--mf-green, #2f5d50);
	font-family: var(--mf-latin, serif);
	font-size: 20px;
	font-weight: 600;
}
.mf-ab__lname {
	font-family: var(--mf-serif, serif);
	font-size: 30px;
	font-weight: 700;
}
.mf-ab__len {
	color: var(--mf-muted, #6f675d);
	font-family: var(--mf-latin, serif);
	font-size: 18px;
	font-style: italic;
}
.mf-ab__lf {
	grid-column: 1 / -1;
	font-family: var(--mf-latin, serif);
	font-size: 16px;
}
.mf-ab__lsite {
	grid-column: 1 / -1;
	margin-top: 10px;
	padding-top: 8px;
	border-top: 1px dashed #c9bca6;
	color: var(--mf-muted, #6f675d);
	font-family: var(--mf-serif, serif);
	font-size: 11px;
	letter-spacing: 0.2em;
	text-align: right;
}
/* 正確さ */
.mf-ab__note {
	padding: 30px 34px 30px;
	background: var(--mf-card, #fbf9f4);
	border: 1px solid var(--mf-line, #ddd3c2);
	border-left: 4px solid var(--mf-ochre, #b5874a);
	border-radius: 6px;
}
.post_content a.mf-ab__btn {
	display: inline-block;
	padding: 10px 26px;
	background: var(--mf-green, #2f5d50);
	border-radius: 999px;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}
.post_content a.mf-ab__btn:hover {
	opacity: 0.85;
}
/* 出典 */
.post_content .mf-ab__h3 {
	margin: 28px 0 10px;
	padding: 0;
	background: none;
	border: 0;
	color: var(--mf-ink, #2e2a25);
	font-family: var(--mf-serif, serif);
	font-size: 16px;
}
.post_content .mf-ab__h3::before,
.post_content .mf-ab__h3::after {
	content: none;
}
.post_content .mf-ab__src p,
.post_content .mf-ab__src li {
	font-size: 12.5px;
	line-height: 1.8;
}
.post_content .mf-ab__src .mf-credits__list {
	padding: 16px 20px 16px 36px;
	background: var(--mf-card, #fbf9f4);
	border: 1px solid var(--mf-line, #ddd3c2);
	border-radius: 6px;
}
.post_content .mf-ab__data {
	margin: 0;
	padding: 0;
	list-style: none;
}
@media (max-width: 959px) {
	.mf-ab__intro,
	.mf-ab__no {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}
	.mf-ab__guide,
	.post_content .mf-ab__nums {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.post_content a.mf-ab__label {
		max-width: 300px;
	}
}
@media (max-width: 599px) {
	.mf-ab__pun span {
		font-size: 42px;
	}
	.mf-ab__guide {
		grid-template-columns: minmax(0, 1fr);
	}
	.mf-ab__nums b {
		font-size: 36px;
	}
	.mf-ab__note {
		padding: 24px 20px;
	}
}

/* ===== 用語集：資料室へのリンクと絵（mz_glossary_lib_link / mz_glossary_lib_fig） ===== */
.mf-gl-fig {
	float: right;
	width: 120px;
	margin: 2px 0 10px 18px;
	padding: 8px;
	background: #fff;
	border: 1px solid var(--mf-line, #ddd3c2);
	border-radius: 6px;
}
.mf-gl-fig svg {
	display: block;
	width: 100%;
	height: auto;
}
.post_content .mf-gl-lib {
	clear: both;
	margin: 10px 0 0;
}
.post_content .mf-gl-lib a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 14px 6px 6px;
	background: var(--mf-paper-2, #ebe4d6);
	border-radius: 999px;
	color: var(--mf-green, #2f5d50);
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}
.post_content .mf-gl-lib a:hover {
	background: #e2d8c4;
}
.mf-gl-lib__k {
	padding: 2px 9px;
	background: var(--mf-green, #2f5d50);
	border-radius: 999px;
	color: #fff;
	font-size: 11px;
	font-weight: 500;
}
.mf-gl-detail::after {
	content: "";
	display: block;
	clear: both;
}
@media (max-width: 599px) {
	.mf-gl-fig {
		width: 96px;
		margin-left: 12px;
	}
}
.mf-gl-lib__k.is-zukan {
	background: var(--mf-ochre, #b5874a);
}
.post_content .mf-gl-lib + .mf-gl-lib {
	margin-top: 6px;
}

/* ===== 一覧ページ（鉱物の記事・読みもの）：mz_mineral_archive_html / mz_reading_archive_html ===== */
.mf-arch__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px 24px;
	margin-bottom: 28px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--mf-line, #ddd3c2);
}
.mf-arch__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.post_content .mf-arch__chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 14px;
	background: var(--mf-card, #fbf9f4);
	border: 1px solid var(--mf-line, #ddd3c2);
	border-radius: 999px;
	color: var(--mf-ink, #2e2a25);
	font-size: 13px;
	cursor: pointer;
}
.mf-arch__chip small {
	color: var(--mf-muted, #6f675d);
	font-family: var(--mf-latin, serif);
	font-size: 13px;
}
.post_content .mf-arch__chip.is-on {
	background: var(--mf-green, #2f5d50);
	border-color: var(--mf-green, #2f5d50);
	color: #fff;
}
.mf-arch__chip.is-on small {
	color: rgba(255, 255, 255, 0.75);
}
.post_content a.mf-arch__zukan {
	color: var(--mf-green, #2f5d50);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}
.mf-arch__cards .mf-card[hidden] {
	display: none;
}
.mf-card__cls {
	display: inline-block;
	margin-top: 6px;
	padding: 1px 8px;
	background: var(--mf-paper-2, #ebe4d6);
	border-radius: 3px;
	color: var(--mf-muted, #6f675d);
	font-size: 11px;
}
.mf-arch__tiles {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.mf-arch__pager {
	margin-top: 40px;
}
@media (max-width: 959px) {
	.mf-arch__tiles {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 599px) {
	.mf-arch__tiles {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* スマホで横にスクロールする表・図の上の説明（周期表の .mf-pt__scroll と同じ見た目） */
.post_content .mf-scrollnote {
	display: none;
	margin: 0 0 6px;
	color: var(--mf-muted, #6f675d);
	font-size: 12px;
	text-align: center;
}
@media (max-width: 599px) {
	.post_content .mf-scrollnote {
		display: block;
	}
}

/* このサイトについて：図鑑の章 */
.post_content .mf-ab__chapters {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6px 18px;
	margin: 4px 0 0;
	padding: 0;
	list-style: none;
}
.post_content .mf-ab__chapters li {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin: 0;
	padding: 6px 0;
	border-bottom: 1px dashed var(--mf-line, #ddd3c2);
	font-size: 14px;
}
.post_content .mf-ab__chapters li::before {
	content: none;
}
.mf-ab__chno {
	flex: none;
	color: var(--mf-ochre, #b5874a);
	font-family: var(--mf-serif, serif);
	font-size: 13px;
	font-weight: 700;
}
.mf-ab__chapters b {
	font-family: var(--mf-serif, serif);
}
.mf-ab__chapters small {
	margin-left: auto;
	color: var(--mf-muted, #6f675d);
	font-size: 12px;
	white-space: nowrap;
}
@media (max-width: 599px) {
	.post_content .mf-ab__chapters {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* 記事一覧：分類で見る／章で見る */
.mf-arch__modes {
	display: inline-flex;
	margin-bottom: 14px;
	padding: 4px;
	background: var(--mf-paper-2, #ebe4d6);
	border-radius: 999px;
}
.post_content .mf-arch__mode {
	display: inline-flex;
	align-items: baseline;
	gap: 6px;
	padding: 7px 18px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--mf-ink, #2e2a25);
	font-family: var(--mf-serif, serif);
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}
.mf-arch__mode small {
	color: var(--mf-muted, #6f675d);
	font-family: var(--mf-sans, sans-serif);
	font-size: 11px;
	font-weight: 400;
}
.post_content .mf-arch__mode.is-on {
	background: var(--mf-dark, #2b2620);
	color: #f3eee4;
}
.mf-arch__mode.is-on small {
	color: #d4b27c;
}
.mf-arch__chips[hidden] {
	display: none;
}
.post_content .mf-arch__chnote {
	margin: -12px 0 22px;
	color: var(--mf-muted, #6f675d);
	font-size: 13px;
}
.post_content .mf-arch__chh {
	grid-column: 1 / -1;
	margin: 14px 0 -6px;
	padding-bottom: 6px;
	border-bottom: 1px solid var(--mf-line, #ddd3c2);
	color: var(--mf-green, #2f5d50);
	font-family: var(--mf-serif, serif);
	font-size: 17px;
	font-weight: 700;
}
.post_content .mf-arch__chh:first-child {
	margin-top: 0;
}

/* 用語集：説明図（データの fig）は文の下に大きく */
.mf-gl-fig.mf-gl-fig--wide {
	float: none;
	width: auto;
	max-width: 440px;
	margin: 14px 0 6px;
	padding: 12px 14px;
}
@media (max-width: 599px) {
	.mf-gl-fig.mf-gl-fig--wide {
		width: auto;
		margin-left: 0;
	}
}
