/* =========================================================================
   固定ページ群（BMK整体とは／施術別／認定資格制度／講座・セミナー／講座詳細／研究・学術活動）
   2026-09-26

   css/sub.css の部品の上に、このページ群だけで使うものを足す。
   ほかのページ（お知らせ・記事など）に影響しないよう、クラスは bmkp- で始め、
   sub.css の部品を調整するときは .bmkp（各テンプレートの .bmk-main に付けてある）の中に限る。

   色（トップと同じ値）
     #1F2A18 本文・濃い地   #3C5A22 見出し・ボタン   #538B36 ディープリーフ
     #7BBE35 BMKグリーン     #BF993D / #735121 ゴールド（認定・バッジまわり）
     #FBFAF6 地  #F2F5EC 淡い緑の地  #D5D8CE 罫線  #5B6655 補足文字
   ========================================================================= */

/* ---------------------------------------------------------------- 共通 */
.bmkp .bmkp-measure { max-width: 44em; }
.bmkp .bmk-text + .bmk-link-arrow,
.bmkp .bmk-text + .bmk-btns { margin-top: 8px; }
.bmkp a.bmkp-inline-link { text-decoration: underline; text-underline-offset: .2em; }
.bmkp .bmkp-btns-after { margin-top: 28px; margin-bottom: 8px; }
.bmkp .bmkp-after-box { margin-top: 28px; }
.bmkp .bmk-sec--dark .bmk-btns { align-self: center; }
.bmkp .bmk-h3.bmkp-sub-head { margin-top: clamp(40px, 5vw, 64px); }
.bmkp .bmkp-sub-note { margin: -4px 0 18px; }
.bmkp .bmkp-gold { color: #735121; }
.bmkp .bmkp-body-sec { padding-top: clamp(40px, 5vw, 64px); }
.bmkp .bmkp-nb { display: inline-block; max-width: 100%; }
.bmkp .bmkp-col { max-width: 880px; }

/* sub.css の部品が、親テーマ・style.css の指定に負けている箇所をこのページ群の中だけで補う
   （本来は sub.css 側で直すもの。ディレクターに報告済み）
   - .bmk-figure img の height:100% が style.css の body.bmk-sub img { height:auto } に負け、写真が枠を埋めない
   - .bmk-table のセルに親テーマの table の枠線（四辺）・背景・縞模様・狭い画面の文字縮小（.8em）が残る
   - .bmk-prose a の下線が style.css の body.bmk-sub a { text-decoration:none } に負ける */
.bmkp .bmk-figure img { height: 100%; }
.bmkp .bmk-table th,
.bmkp .bmk-table td,
.bmkp-prose table th,
.bmkp-prose table td { border: 0; border-bottom: 1px solid #D5D8CE; background: transparent; font-size: inherit; }
.bmkp .bmk-table tr,
.bmkp-prose table tr { background: transparent; }
.bmkp .bmk-table thead th,
.bmkp-prose table thead th { background: #F2F5EC; font-size: 14px; }
.bmkp .bmk-table { border: 0; border-top: 1px solid #D5D8CE; }
.bmkp .bmkp-prose a,
.bmkp .bmkp-items a,
.bmkp a.bmkp-inline-link { text-decoration: underline; text-underline-offset: .2em; }

@media (max-width: 640px) {
	.bmkp .bmk-table--stack th,
	.bmkp .bmk-table--stack td { border-bottom: 0; padding-left: 0; padding-right: 0; }
	.bmkp .bmk-table--stack tr { border-bottom: 1px solid #D5D8CE; padding: 6px 0 10px; }
}

/* 数字（Cormorant Garamond は既定で数字の高さが揃わないので、ここでは揃える） */
.bmkp .bmkp-conditions__no,
.bmkp .bmkp-timeline__year,
.bmkp .bmkp-stage-no,
.bmkp .bmkp-stagebox__no,
.bmkp .bmkp-soon__stage,
.bmkp .bmk-card__label,
.bmkp .bmkp-measures__no,
.bmkp .bmkp-verify__list li::before,
.bmkp .bmkp-news time,
.bmkp .bmk-steps > li::before { font-variant-numeric: lining-nums tabular-nums; }
@media (min-width: 761px) {
	.bmkp .bmk-steps > li { padding-bottom: 8px; }
}

/* 施術別・講座詳細：本文（左）と情報（右）の2カラム。狭い画面では情報→本文の順に縦積み */
.bmkp .bmkp-article { display: grid; gap: 40px; }
.bmkp .bmkp-article__main { min-width: 0; }
.bmkp .bmkp-article__aside { min-width: 0; }
.bmkp .bmkp-article__aside .bmkp-photo-ph,
.bmkp .bmkp-article__aside .bmkp-eyecatch { margin-bottom: 0; }
.bmkp .bmkp-article__aside > * + * { margin-top: 20px; }
@media (min-width: 1100px) {
	.bmkp .bmkp-article {
		grid-template-columns: minmax(0, 1fr) 360px;
		grid-template-areas: "main aside";
		gap: 72px;
		align-items: start;
	}
	.bmkp .bmkp-article__main { grid-area: main; max-width: 760px; }
	.bmkp .bmkp-article__aside { grid-area: aside; position: sticky; top: 150px; }
}
.bmkp .bmkp-aside-box {
	padding: 24px;
	border: 1px solid #D5D8CE;
	border-radius: 4px;
	background: #FFFFFF;
}
.bmkp .bmkp-aside-box__title {
	margin: 0 0 14px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 18px;
	line-height: 1.5;
	letter-spacing: .04em;
	color: #3C5A22;
}
.bmkp .bmkp-aside-box .bmk-table { margin: 0 0 20px; font-size: 14px; line-height: 1.7; }
.bmkp .bmkp-aside-box .bmk-table th { width: 6.5em; padding: 12px 8px 12px 0; white-space: nowrap; }
.bmkp .bmkp-aside-box .bmk-table td { padding: 12px 0; }
.bmkp a.bmkp-btn-block { display: flex; width: 100%; padding: 0 16px; }

/* 見出しエリアの下の小さなラベル（認定ステージ・区分） */
.bmkp .bmkp-chip {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 12px;
	margin: 0 0 28px;
	padding: 8px 14px;
	border: 1px solid #D5D8CE;
	border-radius: 3px;
	background: #FFFFFF;
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: .04em;
}
.bmkp .bmkp-chip__label { font-size: 12px; letter-spacing: .1em; color: #5B6655; }
.bmkp .bmkp-chip__en {
	font-family: 'Cormorant Garamond', serif;
	font-weight: 600;
	font-size: 17px;
	letter-spacing: .08em;
	color: #3C5A22;
	font-variant-numeric: lining-nums;
}
.bmkp .bmkp-chip__ja { font-size: 15px; font-weight: 500; color: #3C5A22; }
.bmkp a.bmkp-chip__en { display: inline-flex; align-items: center; min-height: 44px; margin: -8px 0; }
.bmkp a.bmkp-chip__en { text-decoration: underline; text-decoration-color: #7BBE35; text-underline-offset: .25em; }

/* 矢印リンク（sub.css の .bmk-link-arrow）のタップ領域を 44px にする。見た目の下線は文字のすぐ下のまま */
.bmkp .bmk-link-arrow { min-height: 44px; align-items: flex-end; }

/* 写真の枠（写真が届くまで） */
.bmkp .bmkp-photo-ph {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 0 clamp(32px, 4vw, 48px);
	padding: 16px;
	border: 1px dashed #D5D8CE;
	border-radius: 4px;
	background: #F2F5EC;
}
.bmkp .bmkp-photo-ph .bmk-ph-block { margin: 0; background: #FBFAF6; text-align: center; }
.bmkp .bmkp-eyecatch { margin: 0 0 clamp(32px, 4vw, 48px); border-radius: 4px; overflow: hidden; }
.bmkp .bmkp-eyecatch img { display: block; width: 100%; height: auto; }

/* エディタで書いた本文（施術別・講座詳細）。style.css の .bmk-prose に h3・表などを足す */
.bmkp-prose h3 {
	margin: 2em 0 .8em;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: clamp(18px, 1.7vw, 20px);
	line-height: 1.6;
	letter-spacing: .04em;
	color: #3C5A22;
}
.bmkp-prose ul { list-style: disc; }
.bmkp-prose ol { list-style: decimal; }
.bmkp-prose li::marker { color: #538B36; }
.bmkp-prose .bmk-ph-block { margin: 0 0 1.6em; }
.bmkp-prose table {
	width: 100%;
	margin: 0 0 1.6em;
	border-collapse: collapse;
	border-top: 1px solid #D5D8CE;
	font-size: 16px;
	line-height: 1.8;
}
.bmkp-prose th,
.bmkp-prose td { padding: 12px; border-bottom: 1px solid #D5D8CE; text-align: left; vertical-align: top; }
.bmkp-prose th { font-weight: 500; color: #3C5A22; white-space: nowrap; }
.bmkp-prose thead th { background: #F2F5EC; font-size: 14px; letter-spacing: .06em; }
.bmkp-prose .bmkp-curriculum { columns: 2; column-gap: 40px; }
.bmkp-prose .bmkp-curriculum li { break-inside: avoid; }
@media (max-width: 640px) {
	.bmkp-prose .bmkp-curriculum { columns: 1; }
	.bmkp-prose th { white-space: normal; }
	.bmkp-prose table th, .bmkp-prose table td { padding: 10px 8px; font-size: 15px; }
}

/* ---------------------------------------------------------------- BMK整体とは：3つの設計条件 */
.bmkp .bmkp-conditions {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
	margin: clamp(40px, 5vw, 64px) 0 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid #538B36;
}
.bmkp .bmkp-conditions > li {
	padding: 32px clamp(0px, 2.4vw, 32px) 8px;
	border-left: 1px solid #538B36;
}
.bmkp .bmkp-conditions__no {
	display: block;
	margin-bottom: 14px;
	font-family: 'Cormorant Garamond', serif;
	font-weight: 600;
	font-size: 18px;
	letter-spacing: .04em; /* .2em だと「0 1」と離れて見えた（2026-09-27） */
	color: #7BBE35;
}
.bmkp .bmkp-conditions__title {
	margin: 0 0 12px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: clamp(32px, 3.6vw, 48px);
	line-height: 1.3;
	letter-spacing: .08em;
	color: #FBFAF6;
}
.bmkp .bmkp-conditions__text { margin: 0; font-size: 16px; line-height: 1.9; color: #FBFAF6; }
@media (max-width: 760px) {
	.bmkp .bmkp-conditions > li { padding: 24px 0 24px 20px; border-left: 2px solid #7BBE35; border-bottom: 1px solid #538B36; }
	.bmkp .bmkp-conditions { border-top: 0; }
}

/* ---------------------------------------------------------------- BMK整体とは：名前の図（B／M／K の頭文字。2026-09-27）
   写真の代わりに置く文字だけの図。上から読むと「身体を 作り 保つ」 */
.bmkp .bmkp-name {
	justify-self: center;
	width: min(100%, 440px);
	margin: 0;
	border-top: 1px solid #D5D8CE;
}
.bmkp .bmkp-name__row {
	display: grid;
	grid-template-columns: 5.2rem minmax(0, 1fr);
	align-items: center;
	gap: 8px 24px;
	padding: 18px 4px 18px 8px;
	border-bottom: 1px solid #D5D8CE;
}
.bmkp .bmkp-name__letter {
	margin: 0;
	font-family: 'Cormorant Garamond', serif;
	font-weight: 600;
	font-size: clamp(64px, 7vw, 88px);
	line-height: 1;
	color: #3C5A22;
	text-align: center;
}
.bmkp .bmkp-name__word { display: flex; flex-direction: column; gap: 2px; margin: 0; min-width: 0; }
.bmkp .bmkp-name__en {
	font-family: 'Cormorant Garamond', serif;
	font-weight: 600;
	font-size: 17px;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: #538B36;
}
.bmkp .bmkp-name__ja {
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: clamp(22px, 2.2vw, 28px);
	line-height: 1.5;
	letter-spacing: .08em;
	color: #3C5A22;
}
@media (max-width: 640px) {
	.bmkp .bmkp-name__row { grid-template-columns: 4rem minmax(0, 1fr); gap: 8px 16px; padding: 14px 0 14px 4px; }
	.bmkp .bmkp-name__letter { font-size: 56px; }
}

/* ---------------------------------------------------------------- BMK整体とは：3つの柱
   トップ（淡緑の地に3列）と違う組み方にする：白地に縦3行、各行は「番号｜見出し｜本文」、行の間に罫線。
   狭い画面では1行の中で縦積み（2026-09-27） */
.bmkp .bmkp-pillars {
	margin: clamp(28px, 3.4vw, 40px) 0 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid #D5D8CE;
}
.bmkp .bmkp-pillars > li {
	display: grid;
	grid-template-columns: 56px 8em minmax(0, 1fr);
	column-gap: clamp(20px, 3vw, 44px);
	align-items: baseline;
	padding: clamp(22px, 2.6vw, 32px) 0;
	border-bottom: 1px solid #D5D8CE;
}
.bmkp .bmkp-pillars__no {
	display: block;
	margin: 0;
	font-family: 'Cormorant Garamond', serif;
	font-weight: 600;
	font-size: 22px;
	line-height: 1;
	letter-spacing: .04em;
	color: #538B36;
	font-variant-numeric: lining-nums tabular-nums;
}
.bmkp .bmkp-pillars__title {
	margin: 0;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: clamp(22px, 2vw, 28px);
	line-height: 1.5;
	letter-spacing: .04em;
	color: #3C5A22;
}
.bmkp .bmkp-pillars__text { max-width: 40em; margin: 0; font-size: 16px; line-height: 1.9; letter-spacing: .02em; text-wrap: pretty; word-break: auto-phrase; }
/* 広い画面では2行の説明なので、文節の切れ目で2行の長さをそろえる（最後の行に「ます。」だけが残らないように）。
   文節で折れないブラウザでは語の途中で折れるので、そろえるのは文節で折れる場合だけにする */
@supports (word-break: auto-phrase) {
	@media (min-width: 761px) {
		.bmkp .bmkp-pillars__text { text-wrap: balance; }
	}
}
@media (max-width: 760px) {
	.bmkp .bmkp-pillars > li { grid-template-columns: minmax(0, 1fr); row-gap: 6px; padding: 22px 0 24px; }
	.bmkp .bmkp-pillars__no { font-size: 18px; }
}

/* ---------------------------------------------------------------- BMK整体とは：年表 */
.bmkp .bmkp-timeline { margin: 8px 0 32px; padding: 0; list-style: none; border-top: 1px solid #D5D8CE; }
.bmkp .bmkp-timeline > li {
	display: grid;
	grid-template-columns: 9em minmax(0, 1fr);
	gap: 8px 32px;
	padding: 28px 0;
	border-bottom: 1px solid #D5D8CE;
}
.bmkp .bmkp-timeline__year {
	margin: 0;
	font-family: 'Cormorant Garamond', serif;
	font-weight: 600;
	font-size: 34px;
	line-height: 1.1;
	letter-spacing: .04em;
	color: #3C5A22;
	font-variant-numeric: tabular-nums;
}
.bmkp .bmkp-timeline__year span {
	margin-left: 4px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: .04em;
	color: #538B36;
}
.bmkp .bmkp-timeline__title {
	margin: 2px 0 6px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 19px;
	line-height: 1.6;
	letter-spacing: .04em;
	color: #3C5A22;
}
.bmkp .bmkp-timeline__body p { margin: 0; font-size: 16px; line-height: 1.85; }
.bmkp .bmkp-timeline__year--text { font-family: 'Noto Serif JP', serif; font-size: 24px; letter-spacing: .08em; }
@media (max-width: 640px) {
	.bmkp .bmkp-timeline > li { grid-template-columns: 1fr; padding: 22px 0; }
	.bmkp .bmkp-timeline__year { font-size: 28px; }
}

/* ---------------------------------------------------------------- BMK整体とは：施術のカード・準備中 */
.bmkp .bmkp-cards-gap { margin-top: 32px; }
.bmkp .bmk-h3.bmkp-soon-head { margin-top: clamp(48px, 6vw, 72px); margin-bottom: 4px; }
.bmkp .bmkp-soon-note { margin: 0 0 18px; }
.bmkp .bmkp-soon {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr));
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.bmkp .bmkp-soon li {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-height: 96px;
	padding: 16px 18px;
	border: 1px dashed #C4C9BB;
	border-radius: 4px;
	background: rgba(251, 250, 246, .7);
	color: #5B6655;
}
.bmkp .bmkp-soon__stage {
	font-family: 'Cormorant Garamond', serif;
	font-weight: 600;
	font-size: 13px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #7C8B6E;
}
.bmkp .bmkp-soon__name { font-size: 15px; font-weight: 500; line-height: 1.6; color: #4A5543; }
@media (max-width: 640px) {
	.bmkp .bmkp-soon { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.bmkp .bmkp-soon li { min-height: 0; padding: 12px 12px 14px; }
	.bmkp .bmkp-soon__stage { font-size: 11px; letter-spacing: .12em; }
	.bmkp .bmkp-soon__name { font-size: 14px; }
}
.bmkp .bmkp-soon__tag {
	align-self: flex-start;
	margin-top: auto;
	padding: 1px 8px;
	border: 1px solid #C4C9BB;
	border-radius: 2px;
	font-size: 12px;
	letter-spacing: .08em;
	color: #7C8B6E;
}

/* ---------------------------------------------------------------- 認定資格制度：各ステージの表 */
.bmkp .bmk-h3.bmkp-table-head { margin: clamp(40px, 5vw, 56px) 0 16px; }
.bmkp .bmk-h3.bmkp-table-head:first-of-type { margin-top: 8px; }
.bmkp .bmkp-table-head__en {
	margin-left: 10px;
	font-family: 'Cormorant Garamond', serif;
	font-weight: 600;
	font-size: 14px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: #538B36;
}
.bmkp .bmkp-stage-table { margin-bottom: 0; table-layout: fixed; }
.bmkp .bmkp-stage-table th:first-child { width: 17em; white-space: normal; }
.bmkp .bmkp-stage-table thead th:nth-child(2) { width: auto; }
.bmkp .bmkp-stage-table thead th:nth-child(3),
.bmkp .bmkp-stage-table tbody td:nth-child(3) { width: 28%; }
.bmkp .bmkp-table-after { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 20px 0 0; }
.bmkp .bmkp-stage-table tr:target { background: #FBF6E6; }
.bmkp .bmkp-stage-no {
	display: inline-block;
	min-width: 2em;
	font-family: 'Cormorant Garamond', serif;
	font-weight: 600;
	font-size: 26px;
	line-height: 1.2;
	color: #538B36;
	font-variant-numeric: tabular-nums;
}
.bmkp .bmkp-stage-en {
	display: block;
	white-space: nowrap;
	font-family: 'Cormorant Garamond', serif;
	font-weight: 600;
	font-size: 19px;
	letter-spacing: .06em;
	color: #3C5A22;
}
.bmkp .bmkp-stage-no + .bmkp-stage-en { display: inline; }
.bmkp .bmkp-stage-ja { display: block; font-size: 14px; color: #1F2A18; }
.bmkp .bmkp-items { margin: 0; padding: 0; list-style: none; font-size: 15px; line-height: 1.9; }
.bmkp .bmkp-items li { display: inline; }
.bmkp .bmkp-items li + li::before { content: "／"; color: #9AA391; }
.bmkp .bmkp-items a { text-decoration: underline; text-underline-offset: .2em; }
/* 広い画面では手技名の途中で折り返さない（「産後の／骨盤矯正」になっていた）。
   区切りの「／」は次の手技名の頭ではなく前の手技名の後ろに付け、行頭に「／」が来ないようにする（2026-09-27） */
@media (min-width: 1000px) {
	.bmkp .bmkp-items li { white-space: nowrap; }
	.bmkp .bmkp-items li + li::before { content: none; }
	.bmkp .bmkp-items li:not(:last-child)::after { content: "／"; color: #9AA391; }
}
.bmkp .bmkp-items-note { margin: 6px 0 0; font-size: 13px; line-height: 1.7; color: #5B6655; }
/* 知識の行：講座名と講座数（科目の一覧は講座ページだけに置く。2026-09-27） */
.bmkp .bmkp-items-course { margin: 0; font-size: 15px; line-height: 1.9; }
.bmkp .bmkp-items-link { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 12px 0 0; }
.bmkp .bmkp-items-link .bmk-link-arrow { font-size: 14px; }
@media (max-width: 640px) {
	.bmkp .bmkp-stage-table { table-layout: auto; }
	.bmkp .bmkp-stage-table th:first-child,
	.bmkp .bmkp-stage-table tbody td:nth-child(3) { width: 100%; }
	.bmkp .bmkp-stage-table tbody td:nth-child(3) { padding-bottom: 20px; }
}

/* 手順の下の原稿待ち */
.bmkp .bmk-steps p.bmkp-step-ph { margin-top: 8px; font-size: 13px; line-height: 1.7; }

/* ---------------------------------------------------------------- 認定資格制度：オープンバッジ
   柄・バッジ画像の枠・引用はトップだけに置く。淡色の地に、本文 → 確かめ方（900px 以上は3手順を横並び）→ 原稿待ち の縦並び。
   左右2カラムだと広い画面で左列の下が約370px 空いたため（2026-09-27） */
.bmkp .bmkp-badge-sec {
	background-color: #FBFAF6;
	border-top: 1px solid #D5D8CE;
	border-bottom: 1px solid #D5D8CE;
}
.bmkp .bmkp-verify {
	padding: clamp(24px, 3vw, 36px);
	border: 1px solid #D5D8CE;
	border-radius: 4px;
	background: #FFFFFF;
}
.bmkp .bmkp-badge-intro + .bmkp-verify { margin-top: clamp(28px, 3vw, 40px); }
.bmkp .bmkp-badge-sec .bmkp-verify__list { grid-template-columns: minmax(0, 1fr); gap: 18px; margin-bottom: 0; }
@media (min-width: 900px) {
	.bmkp .bmkp-badge-sec .bmkp-verify__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 32px; }
}
.bmkp .bmkp-badge-after { margin-top: clamp(28px, 3vw, 40px); }
.bmkp .bmkp-badge-after .bmk-ph-block { margin: 0; }
.bmkp .bmkp-verify .bmk-small { margin: 0 0 20px; }
.bmkp .bmkp-verify__list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
	gap: 20px 32px;
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
	counter-reset: bmkverify;
}
.bmkp .bmkp-verify__list li { counter-increment: bmkverify; display: flex; flex-direction: column; gap: 6px; padding-top: 14px; border-top: 2px solid #7BBE35; }
.bmkp .bmkp-verify__list li::before {
	content: counter(bmkverify, decimal-leading-zero);
	font-family: 'Cormorant Garamond', serif;
	font-weight: 600;
	font-size: 22px;
	line-height: 1;
	color: #7BBE35;
}
.bmkp .bmkp-verify__list strong { font-family: 'Noto Serif JP', serif; font-weight: 600; font-size: 17px; color: #3C5A22; }
.bmkp .bmkp-verify__list span { font-size: 15px; line-height: 1.85; }
.bmkp .bmkp-verify .bmk-ph-block { margin: 0; }

/* ---------------------------------------------------------------- 講座・セミナー */
.bmkp .bmkp-tracks { display: grid; gap: 16px; }
.bmkp .bmkp-tracks__item {
	padding: clamp(22px, 2.4vw, 30px);
	border: 1px solid #D5D8CE;
	border-left: 3px solid #7BBE35;
	border-radius: 4px;
	background: #FFFFFF;
}
.bmkp .bmkp-tracks__item .bmk-h3 { margin-bottom: 8px; }
.bmkp .bmkp-tracks__item .bmk-small { margin: 0; color: #1F2A18; }
.bmkp .bmkp-group + .bmkp-group { margin-top: clamp(48px, 6vw, 72px); }
.bmkp .bmkp-group__head { margin-bottom: 22px; padding-bottom: 16px; border-bottom: 1px solid #D5D8CE; }
.bmkp .bmkp-group__head .bmk-h3 { margin-bottom: 4px; }
.bmkp .bmkp-group__head .bmk-small { margin: 0; }
.bmkp .bmkp-facts { margin: 4px 0 0; }
.bmkp .bmkp-facts > div {
	display: grid;
	grid-template-columns: 6.5em minmax(0, 1fr);
	gap: 8px;
	padding: 8px 0;
	border-top: 1px solid #E6E8E0;
	font-size: 14px;
	line-height: 1.7;
}
.bmkp .bmkp-facts dt { color: #5B6655; }
.bmkp .bmkp-facts dd { margin: 0; color: #1F2A18; }

.bmkp .bmkp-news { margin: 0; padding: 0; list-style: none; border-top: 1px solid #D5D8CE; }
.bmkp .bmkp-news li { border-bottom: 1px solid #D5D8CE; }
.bmkp .bmkp-news a {
	display: grid;
	grid-template-columns: auto auto minmax(0, 1fr);
	gap: 8px 24px;
	align-items: center;
	padding: 20px 4px;
	color: #1F2A18;
}
.bmkp .bmkp-news time {
	font-family: 'Cormorant Garamond', serif;
	font-weight: 600;
	font-size: 17px;
	letter-spacing: .08em;
	color: #3C5A22;
	font-variant-numeric: tabular-nums;
}
.bmkp .bmkp-news__tag {
	padding: 2px 10px;
	border: 1px solid #D5D8CE;
	border-radius: 2px;
	font-size: 12px;
	letter-spacing: .08em;
	color: #3C5A22;
	white-space: nowrap;
}
.bmkp .bmkp-news__title { font-size: 16px; line-height: 1.7; min-width: 0; }
.bmkp .bmkp-news__tag { justify-self: start; }
.bmkp .bmkp-news a:hover .bmkp-news__title { color: #538B36; }
@media (max-width: 640px) {
	.bmkp .bmkp-news a { grid-template-columns: auto minmax(0, 1fr); }
	.bmkp .bmkp-news__title { grid-column: 1 / -1; }
}

/* 講座詳細：概要表・関連ステージ */

/* 施術別・講座詳細：認定ステージの箱（認定資格制度の該当行へのリンク） */
.bmkp .bmkp-stage-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.bmkp a.bmkp-stagebox {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr);
	gap: 16px;
	height: 100%;
	padding: 22px 24px;
	border: 1px solid #D5D8CE;
	border-radius: 4px;
	background: #FBFAF6;
	color: #1F2A18;
	transition: border-color .2s;
}
.bmkp a.bmkp-stagebox:hover { border-color: #7BBE35; color: #1F2A18; }
.bmkp .bmkp-stagebox__no {
	font-family: 'Cormorant Garamond', serif;
	font-weight: 600;
	font-size: 38px;
	line-height: 1;
	color: #3C5A22;
}
.bmkp .bmkp-stagebox__body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.bmkp .bmkp-stagebox__track { font-size: 12px; letter-spacing: .1em; color: #5B6655; }
.bmkp .bmkp-stagebox__title {
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 19px;
	line-height: 1.4;
	letter-spacing: .04em;
	color: #3C5A22;
}
.bmkp .bmkp-stagebox__more { margin-top: 8px; font-size: 14px; font-weight: 500; letter-spacing: .06em; color: #3C5A22; }
/* 箱の中身は番号・区分・ステージ名・リンクだけ（手技名の並びは出さない。2026-09-27）。番号と文字の縦位置をそろえる */
.bmkp a.bmkp-stagebox { align-items: center; }
/* 箱の後ろのボタン・リンク（.bmkp-after-box）。a はインラインなので、上の余白が効くよう段落扱いにする */
.bmkp a.bmk-link-arrow.bmkp-after-box { display: flex; width: fit-content; }

/* ---------------------------------------------------------------- 研究・学術活動 */
/* 解剖学教育：講座名と講座数のリンク（説明文は各講座ページにある。2026-09-27） */
.bmkp .bmkp-course-links { display: flex; flex-wrap: wrap; gap: 8px 32px; margin-top: 20px; }
/* 狭い画面では1本ずつ縦に並べ、矢印を文字の直後に置く（inline-flex のままだと矢印だけが離れた）。
   文字と矢印の間はテンプレート側で改行しない空白にし、折り返すときは講座名の空白の位置で折る（2026-09-27） */
@media (max-width: 640px) {
	.bmkp .bmkp-course-links { flex-direction: column; align-items: flex-start; gap: 4px; }
	.bmkp .bmkp-course-links .bmk-link-arrow { display: block; width: fit-content; max-width: 100%; min-height: 0; padding-top: 12px; line-height: 1.75; word-break: keep-all; overflow-wrap: anywhere; }
}

.bmkp .bmkp-measures {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
	gap: 0;
	margin: 32px 0 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid #D5D8CE;
	border-left: 1px solid #D5D8CE;
}
.bmkp .bmkp-measures li {
	position: relative;
	padding: 26px 24px 28px;
	border-right: 1px solid #D5D8CE;
	border-bottom: 1px solid #D5D8CE;
	background: #FFFFFF;
}
.bmkp .bmkp-measures__no {
	position: absolute;
	top: 22px;
	right: 20px;
	font-family: 'Cormorant Garamond', serif;
	font-weight: 600;
	font-size: 22px;
	line-height: 1;
	color: #7BBE35;
}
.bmkp .bmkp-measures .bmk-card__label { margin-bottom: 8px; }
.bmkp .bmkp-measures__name {
	margin: 0;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 19px;
	line-height: 1.6;
	letter-spacing: .04em;
	color: #3C5A22;
}
.bmkp .bmkp-ph-table { margin-bottom: 0; background: #FFFFFF; }
.bmkp .bmkp-ph-table td { font-size: 14px; }
.bmkp .bmkp-ph-table .bmk-ph { white-space: nowrap; font-size: 13px; }
/* 原稿待ちの表は形だけ見せる（空欄の高さをそろえる）。何が要るかは表の上の【要原稿】にまとめてある */
.bmkp .bmkp-ph-table td:empty { height: 3.4em; }
.bmkp .bmk-ph-block + .bmkp-ph-table,
.bmkp .bmk-ph-block + .bmk-table { margin-top: 4px; }
/* 研究の一覧表（学会発表・査読論文）：狭い画面では 1 件ずつ「項目名」と欄の縦並びにする（横にはみ出さない） */
@media (max-width: 640px) {
	.bmkp .bmkp-rec-table thead { display: none; }
	.bmkp .bmkp-rec-table,
	.bmkp .bmkp-rec-table tbody,
	.bmkp .bmkp-rec-table tr { display: block; width: 100%; }
	.bmkp .bmkp-rec-table tr { padding: 8px 14px 12px; border-bottom: 1px solid #D5D8CE; }
	.bmkp .bmkp-rec-table tr + tr { border-top: 0; }
	.bmkp .bmkp-rec-table td {
		display: grid;
		/* 7em：学術顧問の「協会での役割」（6文字）が1行に収まる幅（2026-09-27） */
		grid-template-columns: 7em minmax(0, 1fr);
		align-items: center;
		gap: 12px;
		width: 100%;
		padding: 8px 0;
		border-bottom: 1px dashed #D5D8CE;
	}
	.bmkp .bmkp-rec-table td:last-child { border-bottom: 0; }
	.bmkp .bmkp-ph-table.bmkp-rec-table td:empty { height: auto; min-height: 2.6em; }
	/* 項目と欄の縦並び（試験の概要・解剖実習）では、空欄を低めにする */
	.bmkp .bmk-table--stack.bmkp-ph-table td:empty { height: 2em; }
	.bmkp .bmkp-rec-table td::before {
		content: attr(data-label);
		font-size: 13px;
		font-weight: 500;
		letter-spacing: .04em;
		color: #3C5A22;
	}
}
.bmkp .bmk-split .bmk-table + .bmkp-photo-ph { margin-top: 28px; margin-bottom: 0; }


/* ---------------------------------------------------------------- 施術別：最後の案内（2026-09-26）
   施術を受けたい方（美健なび）と、技術を学びたい方（講座・お問い合わせ）の2つを並べる。
   地はお問い合わせ帯（.bmk-cta）と同じ。見出しは中央、2つの案内は左揃え */
.bmkp .bmkp-next__inner { max-width: 1040px; margin: 0 auto; }
.bmkp .bmkp-next__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr));
	gap: clamp(16px, 2vw, 24px);
	text-align: left;
}
.bmkp .bmkp-next__item {
	display: flex;
	flex-direction: column;
	padding: clamp(24px, 3vw, 36px);
	border: 1px solid rgba(251, 250, 246, .35);
	border-radius: 4px;
	background: rgba(31, 42, 24, .16);
}
.bmkp .bmkp-next__who {
	margin: 0 0 8px;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .12em;
	color: rgba(251, 250, 246, .82);
}
.bmkp .bmkp-next__title {
	margin: 0 0 12px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: clamp(20px, 1.9vw, 24px);
	line-height: 1.5;
	letter-spacing: .04em;
	color: #FBFAF6;
}
.bmkp .bmkp-next__text { margin: 0 0 24px; font-size: 16px; line-height: 1.9; letter-spacing: .02em; text-wrap: pretty; }
.bmkp .bmkp-next__item .bmk-btns { margin-top: auto; }
@media (max-width: 480px) {
	/* 320px 幅でボタンの文字（「美健なびで院を探す」）が折り返さないよう、内側の余白を詰める */
	.bmkp .bmkp-next__item { padding: 24px 18px; }
	.bmkp .bmkp-next__item .bmk-btn { padding: 0 18px; }
}
