/* ------------------------------------------------------------------
 * 追加・微調整用CSS
 * デザインを少しだけ直したいときは、このファイルに書き足してください。
 * design.css より後に読み込まれるため、ここに書いた指定が優先されます。
 * （design.css は自動生成物なので、直接編集すると次回更新時に消えます）
 * ------------------------------------------------------------------ */

/* ------------------------------------------------------------------
 * WordPress化にあたって新しく増えた表示のスタイル
 * design.css（元サイトから生成）には無いため、ここで見た目を整えます。
 * ------------------------------------------------------------------ */

/* 「本文へスキップ」リンク。キーボード操作時だけ表示します。
   （指定が無いと全ページの先頭にこのリンクが見えたままになります） */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	width: 1px;
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	word-wrap: normal !important;
}

.skip-link:focus {
	clip: auto !important;
	clip-path: none;
	color: var(--green, #075b45);
	z-index: 100000;
	background: #fff;
	border-radius: 0 0 6px;
	width: auto;
	height: auto;
	padding: 14px 22px;
	font-size: 13px;
	font-weight: 600;
	text-decoration: underline;
	top: 0;
	left: 0;
	box-shadow: 0 2px 10px #0000001f;
}

/* お知らせが1件も無いときの案内文（トップページ・お知らせ一覧） */
.empty-note {
	color: var(--muted, #657068);
	text-align: center;
	background: var(--cream, #f8f5ed);
	border: 1px solid var(--line, #dfe4df);
	border-radius: 13px;
	margin: 0;
	padding: 40px 20px;
	font-size: 13px;
	grid-column: 1 / -1;
}

/* お問い合わせフォーム（Contact Form 7）が未設定のときの代替案内 */
.form-fallback {
	background: #faf9f5;
	border: 1px solid #e3e1d8;
	border-radius: 13px;
	text-align: center;
	padding: 40px;
}

.form-fallback p {
	margin: 0 0 10px;
	font-size: 13px;
	line-height: 1.9;
}

.form-fallback p:last-child {
	margin-bottom: 0;
}

.form-fallback strong {
	color: var(--ink, #1d2621);
	font-size: 15px;
	font-weight: 600;
}

.form-fallback-contact {
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 24px;
	margin-top: 18px;
	display: flex;
}

.form-fallback-contact a {
	color: var(--green, #075b45);
	font-weight: 600;
	text-decoration: underline;
}

@media (max-width: 640px) {
	.form-fallback {
		padding: 25px 18px;
	}
}

/* 緑背景のセクション内に置く、控えめなテキストリンク。
   ボタンと並べたときに主従がはっきりするよう、下線付きの文字リンクにしています。
   （design.css のリセットで a の色と下線が消えるため、ここで指定し直します） */
.link-light {
	color: #fffaf0;
	text-underline-offset: 3px;
	font-size: 14px;
	text-decoration: underline;
	display: inline-block;
	margin-top: 14px;
}

.link-light:hover {
	opacity: .78;
}

.link-light:focus-visible {
	outline: 2px solid #fffaf0;
	outline-offset: 3px;
	border-radius: 2px;
}

/* ------------------------------------------------------------------
 * 協会概要ページに追加した「沿革」「定款」「倫理規定」用のスタイル
 *
 * 法人情報の corporate-table は緑背景専用（文字色が白系の半透明）のため、
 * 明るい背景で使える版を別に用意しています。
 * ------------------------------------------------------------------ */

/* 沿革のタイムライン。左に年月日、右に見出しと説明 */
.history-timeline {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
	border-left: 2px solid var(--line, #dfe4df);
}

.history-timeline > li {
	display: grid;
	grid-template-columns: 118px 1fr;
	gap: 4px 26px;
	padding: 0 0 30px 26px;
	position: relative;
}

.history-timeline > li:last-child {
	padding-bottom: 0;
}

/* 節目を示す丸 */
.history-timeline > li::before {
	content: "";
	position: absolute;
	left: -7px;
	top: 5px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--green, #075b45);
	border: 2px solid #fff;
}

.history-timeline.is-future > li::before {
	background: #fff;
	border: 2px solid #7a6118;
}

.history-date {
	margin: 0;
	color: var(--green, #075b45);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.7;
	font-variant-numeric: tabular-nums;
	letter-spacing: .01em;
}

.history-timeline.is-future .history-date {
	/* --gold(#b79a52) はクリーム背景で 2.48:1 しかなく WCAG AA に届かないため、
	   同系統で濃度を上げた色を使う（#f8f5ed 上で 5.43:1）。 */
	color: #7a6118;
}

.history-body h3 {
	margin: 0 0 6px;
	font-size: 16px;
	line-height: 1.6;
}

.history-body p {
	margin: 0;
	color: var(--muted, #657068);
	font-size: 13px;
	line-height: 1.9;
}

/* 「今後の予定」の見出し */
.history-future-label {
	margin: 34px 0 18px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	color: #7a6118;
}

@media (max-width: 640px) {
	.history-timeline > li {
		grid-template-columns: 1fr;
		gap: 2px;
		padding-left: 20px;
	}
}

/* 定款・倫理規程などの資料カード */
.doc-card {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 22px;
	background: #fff;
	border: 1px solid var(--line, #dfe4df);
	border-radius: 13px;
	padding: 22px 24px;
}

.doc-card p {
	margin: 0;
	flex: 1 1 260px;
	font-size: 13px;
	line-height: 1.9;
	color: var(--muted, #657068);
}

/* ------------------------------------------------------------------
 * トップページのヒーロー写真
 *
 * 【2026-09-04 修正】元は参考デザインの「ページ全体のスクリーンショット」
 * （864×1821）を背景に敷き、background-position の固定px指定で写真部分だけを
 * 覗かせる作りでした。ところが background-size は % 指定（PC 218% / モバイル
 * 230%）なので、画面幅が変わると拡大率だけが変わり、固定オフセットでは
 * 隠しきれなくなります。実際 390px 幅でナビゲーション帯が約20px露出していました。
 *   ナビ帯 60px × (230% → 約1.04倍) ≒ 62px に対し、オフセットは -42px しかない。
 *
 * さらに元画像には参考デザインの仮の連絡先が写り込んでいました
 * （東京都港区虎ノ門… / TEL 03-1234-5678 / info@zenkokubojimai.or.jp）。
 * いずれも協会の情報ではないため、配信し続けるべきものではありません。
 *
 * 対策：写真部分だけを切り出した専用画像に差し替え、cover で配置する。
 * 画面幅による座標合わせが不要になり、原理的にはみ出しが起きません。
 * 元のスクリーンショットは assets/img/_original/ に退避してあります。
 * 142KB → 21KB（-86%）。トップページのLCP要素なので読み込みにも効きます。
 *
 * ファイル名に -2026 を付けているのは意図的です。背景画像のURLには
 * バージョン番号が付かないため、同じ名前のまま中身だけ差し替えると、
 * 一度サイトを見た人のブラウザは古い画像を使い続けます（実際に発生した）。
 * 画像の中身を変えるときは必ず名前も変えてください。
 * ------------------------------------------------------------------ */
.hero-photo {
	background-image:
		linear-gradient(90deg, #edf3ed40, #edf3ed00 24%),
		-webkit-image-set(url(../img/hero-photo-2026.webp) type("image/webp"),
		                  url(../img/hero-photo-2026.jpg) type("image/jpeg"));
	background-image:
		linear-gradient(90deg, #edf3ed40, #edf3ed00 24%),
		image-set(url(../img/hero-photo-2026.webp) type("image/webp"),
		          url(../img/hero-photo-2026.jpg) type("image/jpeg"));
	background-repeat: no-repeat, no-repeat;
	background-position: center, center right;
	background-size: cover, cover;
}

/* design.css はモバイルでも .hero-photo の位置とサイズを再指定しているため、
   同じ条件で上書きする（custom.css のほうが後に読み込まれるので効く） */
@media (max-width: 760px) {
	.hero-photo {
		background-position: center, center;
		background-size: cover, cover;
	}
}

/* ==================================================================
 * 記事ページ（single.php）のスタイル
 *
 * 元になった参考デザインには記事の詳細ページが無かったため、
 * design.css には .page-hero も .entry-content も定義がありません。
 * その結果、お知らせの記事は見出しも画像も無指定のまま縦に並びます。
 * ここで記事ページ一式の見た目を作ります。
 *
 * 対象は投稿7件と、新デザインの型を持たない共通レイアウトの7ページです。
 * ================================================================== */

/* ---- 記事のヘッダー ---- */
.page-hero {
	background: var(--cream, #f8f5ed);
	border-bottom: 1px solid var(--cream-deep, #efe9dc);
	padding: 54px 0 46px;
}

.page-hero h1 {
	margin: 0;
	max-width: 22em;
	font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
	font-size: clamp(24px, 3.4vw, 36px);
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: .04em;
	color: var(--ink, #1d2621);
	text-wrap: balance;
}

.page-hero time {
	display: block;
	margin-top: 16px;
	color: var(--green, #075b45);
	font-size: 13px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	letter-spacing: .04em;
}

/* ---- 本文 ---- */
.entry-content {
	max-width: 760px;
}

.entry-content > *:first-child {
	margin-top: 0;
}

.entry-content p {
	color: var(--ink, #1d2621);
	font-size: 15px;
	line-height: 2.05;
	margin: 0 0 22px;
}

.entry-content strong {
	font-weight: 700;
	color: var(--ink, #1d2621);
}

.entry-content a {
	color: var(--green, #075b45);
	text-decoration: underline;
	text-underline-offset: 4px;
	text-decoration-thickness: 1px;
	text-decoration-color: #075b4559;
}

.entry-content a:hover {
	text-decoration-color: currentColor;
}

.entry-content a:focus-visible {
	outline: 2px solid var(--green, #075b45);
	outline-offset: 3px;
	border-radius: 2px;
}

/* 見出し。design.css のリセットで大きさが消えているので作り直す */
.entry-content h2 {
	margin: 52px 0 20px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--line, #dfe4df);
	font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: .03em;
	color: var(--ink, #1d2621);
	text-wrap: balance;
}

.entry-content h3 {
	margin: 40px 0 14px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.7;
	color: var(--ink, #1d2621);
}

.entry-content h4 {
	margin: 30px 0 10px;
	font-size: 15px;
	font-weight: 700;
	color: var(--green-dark, #043d31);
}

/* 箇条書き。Tailwindのリセットで点が消えているので戻す */
.entry-content ul,
.entry-content ol {
	margin: 0 0 24px;
	padding-left: 1.4em;
	color: var(--ink, #1d2621);
	font-size: 15px;
	line-height: 2.05;
}

.entry-content ul { list-style: disc; }
.entry-content ol { list-style: decimal; }

.entry-content li {
	margin-bottom: 8px;
}

.entry-content li::marker {
	color: var(--green, #075b45);
}

/* ---- 画像 ---- */
.entry-content figure {
	margin: 30px 0;
}

/* width:100% にすると、300px角のロゴのような小さい画像まで
   本文幅いっぱいに引き伸ばされてしまう。
   本来の大きさで表示し、本文幅を超えるときだけ縮める。 */
.entry-content img {
	display: block;
	max-width: 100%;
	height: auto;
	margin-inline: auto;
	border-radius: 13px;
}

/* 本文幅より小さい画像は中央に置く */
.entry-content figure {
	text-align: center;
}

.entry-content figure > p,
.entry-content figure figcaption {
	text-align: center;
}

.entry-content figcaption {
	margin-top: 10px;
	color: var(--muted, #657068);
	font-size: 12.5px;
	line-height: 1.8;
	text-align: center;
}

/* ---- ギャラリー（写真を並べる） ---- */
.entry-content .wp-block-gallery {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	margin: 32px 0;
}

.entry-content .wp-block-gallery figure {
	margin: 0;
	min-width: 0;
}

/* ギャラリーの中だけは、枠いっぱいに広げて高さを揃える */
.entry-content .wp-block-gallery img {
	width: 100%;
	height: 100%;
	max-width: none;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.entry-content .wp-block-gallery.columns-2 { grid-template-columns: repeat(2, 1fr); }
.entry-content .wp-block-gallery.columns-4 { grid-template-columns: repeat(4, 1fr); }

/* ---- 段組み ---- */
.entry-content .wp-block-columns {
	display: flex;
	flex-wrap: wrap;
	gap: 28px;
	margin: 30px 0;
}

.entry-content .wp-block-column {
	flex: 1 1 260px;
	min-width: 0;
}

/* ---- 表 ---- */
.entry-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 26px 0;
	font-size: 14px;
}

.entry-content th,
.entry-content td {
	border: 1px solid var(--line, #dfe4df);
	padding: 12px 14px;
	text-align: left;
	line-height: 1.8;
	vertical-align: top;
}

.entry-content th {
	background: var(--cream, #f8f5ed);
	font-weight: 700;
	color: var(--green-dark, #043d31);
	/* 「１０月１７日」のような短いラベルが
	   「１０月１７／日」と割れないようにする */
	white-space: nowrap;
}

/* ---- そのほか ---- */
.entry-content hr {
	border: 0;
	border-top: 1px solid var(--line, #dfe4df);
	margin: 40px 0;
}

.entry-content blockquote {
	margin: 28px 0;
	padding: 4px 0 4px 20px;
	border-left: 3px solid var(--green-soft, #eaf3ed);
	color: var(--muted, #657068);
}

.entry-content .has-small-font-size { font-size: 13px; }
.entry-content .has-medium-font-size { font-size: 17px; }

/* 旧サイトの余白ブロックは高さが大きすぎるので抑える */
.entry-content .wp-block-spacer {
	height: 28px !important;
}

/* ---- 一覧に戻るボタン（design.css に定義が無い） ---- */
.button-ghost {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 26px;
	border: 1px solid var(--line, #dfe4df);
	border-radius: 8px;
	background: #fff;
	color: var(--green, #075b45);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .03em;
	transition: background .2s, border-color .2s;
}

.button-ghost:hover {
	background: var(--cream, #f8f5ed);
	border-color: var(--green, #075b45);
}

.button-ghost:focus-visible {
	outline: 2px solid var(--green, #075b45);
	outline-offset: 3px;
}

@media (max-width: 640px) {
	.page-hero { padding: 36px 0 30px; }
	.entry-content .wp-block-gallery { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	/* 表は折り返さずに横スクロールさせる（本文が横に伸びないように） */
	.entry-content table { display: block; overflow-x: auto; white-space: nowrap; }
	.entry-content td { white-space: normal; min-width: 15em; }
	.entry-content h2 { margin-top: 40px; font-size: 21px; }
}

/* お知らせカード全体をクリックできるようにする
   ------------------------------------------------------------------
   見出しの中のリンク1本だけが有効で、日付・カテゴリ・抜粋の上では
   反応しなかった。リンクを増やしたりJSを足したりせず、見出しリンクの
   擬似要素をカード全体に広げる方式にしている（stretched link）。
   リンクの実体は1本のままなので、キーボード操作・中クリックでの
   新規タブ・読み上げソフトの挙動は元と変わらない。
   ※この方式ではカード内の文字が選択できなくなる。カード型UIでは
     通常許容される割り切りで、クリック範囲を優先している。 */

.news-card,
.news-list-full > article {
	position: relative;
	cursor: pointer;
}

.news-card h3 a::after,
.news-list-full > article h2 a::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
}

/* キーボードでリンクに移動したとき、カード全体を枠で示す
   （リンク文字だけに枠が出ると、どのカードにいるか分かりにくい） */
.news-card:has(h3 a:focus-visible),
.news-list-full > article:has(h2 a:focus-visible) {
	outline: 2px solid var(--green, #075b45);
	outline-offset: 3px;
}

.news-card h3 a:focus-visible,
.news-list-full > article h2 a:focus-visible {
	outline: none;
}

/* 一覧側はホバーの手応えが無かったので、カード側と揃える */
.news-list-full > article {
	transition: transform .2s;
}

.news-list-full > article:hover {
	transform: translateY(-3px);
}

/* ==================================================================
 * 最小文字サイズの底上げ（2026-09-05）
 *
 * 運営者から「小さい文字がかなり見にくい。特にスマホ」との指摘を受けて
 * 追加しました。実機375pxで測ったところ、12px未満の文字が本文・注記・
 * ラベルに広く使われていました（design.css に138セレクタ）。
 *
 * 当初はスマホ幅だけ +1px にしていましたが、反映後に運営者から
 * 「まだ小さいものがある」（賛助会員帯の説明文など、PC 10px／スマホ 11px）
 * との指摘を受け、同日中に次の2段構えに改めました。
 *   ・全幅（PC含む）: design.css の値から +1px（8px群は 10px）
 *   ・スマホ幅（760px以下）: さらに +1px
 * つまりスマホは design.css から +2px、PCは +1px です。
 *
 * 【なぜ上書きが効くのか】
 * design.css の該当ルールは 138件すべてカスケードレイヤーの外にあります。
 * custom.css は design.css より後に読み込まれるため、同じセレクタを
 * 同じ詳細度で書けば後勝ちで確実に上書きされます。
 * セレクタは design.css から機械的に抽出したもので、書き写していません。
 * 下のスマホ用ブロックは全幅ブロックと同じセレクタ一覧で、値だけ +1px です。
 * 片方だけ直すとずれるので、直すときは両方を同時に直してください。
 *
 * 【区切り幅について】
 * design.css が既にスマホ用に使っている 760px に合わせています。
 * 範囲構文（width <= 760px）は iOS Safari 16.3 以前が解釈できず、
 * ブロックごと無視されるため、必ず max-width 形式で書いてください。
 * ================================================================== */
/* ---- 全幅（PC含む）: design.css から +1px ---- */

/* 7px → 8px （2件） */
.preview-brand,
.preview-sheet-front > small {
	font-size: 8px;
}

/* 8px → 10px （8件）
   当初は +1px（9px）にしていたが、実機375pxで再測定したところ
   9px は依然として読みにくいと判断し、10px に引き上げた（2026-09-05） */
.continuing-training div > span,
.form-grid b,
.news-list-full article > div:first-child span,
.prefecture-grid small,
.scrivener-badge span,
.scrivener-copy small,
.specialist-results article > div > div span,
.training-months small {
	font-size: 10px;
}

/* 9px → 10px （33件） */
.application-price > small,
.book-cover-placeholder > span,
.book-cover-placeholder small,
.brand-copy small,
.checksheet-actions > span,
.checksheet-caution,
.continuing-facts small,
.directory-empty > span,
.directory-status span,
.fee-card small,
.fee-card span,
.footer-bottom > div,
.hero-visual-caption span,
.identity-caution small,
.listing-policy article > span,
.news-content > span,
.newsletter-frequency small,
.official-resource-card span,
.region-heading span,
.registration-flow small,
.seal::before, .seal::after,
.selected-heading small,
.seminar-card-head span,
.specialist-registration-fee span,
.specialist-results p, .specialist-results small,
.stone-shop-route span,
.supporter-benefits article > span,
.supporter-home-fee span,
.supporter-plan > span,
.training-note,
.training-summary small,
.training-summary span,
.video-card div > span {
	font-size: 10px;
}

/* 10px → 11px （40件） */
.application-facts article > span,
.application-price > div span,
.book-meta dt, .book-meta dd,
.breadcrumb > div,
.continuing-training p,
.cooperation-flow span,
.course-price-card > div:first-child span,
.course-price-note small,
.directory-disclaimer p,
.directory-empty p,
.directory-status p,
.eyebrow,
.footer-links a,
.form-preview-note,
.hero-notes,
.inline-links a,
.instructor-documents span,
.instructor-fee-card > small,
.instructor-fee-card > span,
.listing-policy p,
.news-content time,
.news-list-full time,
.newsletter-promise p,
.newsletter-promise span,
.officer-role,
.preview-checks b,
.principles span,
.public-grid article > span,
.region-tabs button,
.registration-flow span,
.seal span,
.seminar-card dt, .seminar-card dd,
.source-box a,
.specialist-registration-fee small,
.specialist-text-link,
.split-heading .text-link,
.stone-shop-route p,
.supporter-home-inner p:last-child,
.supporter-plan p,
.video-card small {
	font-size: 11px;
}

/* 10.5px → 11.5px （1件） */
.desktop-nav a {
	font-size: 11.5px;
}

/* 11px → 12px （54件） */
.activity-grid p,
.application-facts p,
.application-notice a, .officer-source a,
.application-notice p, .officer-source p,
.application-price > div strong small,
.audience-body small,
.benefit-grid p,
.checksheet-copy li,
.checksheet-home-inner p:last-child,
.contact-caution p,
.contact-points span,
.cooperation-flow p,
.corporate-table dt, .corporate-table dd,
.corporate-wrap > div:first-child > p:last-child,
.cost-list article > span,
.course-price-card > p small,
.directory-no-match,
.faq-list-full details > div b,
.faq-list-full summary > span,
.footer-about > p,
.form-grid label > span,
.form-status p,
.header-contact,
.instructor-application-grid > div:first-child > p:last-child,
.legal-table dt, .legal-table dd,
.module-grid article > span,
.module-grid p,
.news-content p,
.news-list-full p,
.newsletter-frequency > span,
.newsletter-home-inner p:last-child,
.newsletter-register-card > p:not(.eyebrow),
.notice-box li,
.number-checks span,
.official-resource-card p,
.partner-tags span,
.pillars p,
.prefecture-search span,
.preparation-note p,
.principles p,
.privacy-check,
.project-caution p,
.public-grid p,
.q-mark,
.scrivener-copy p,
.seminar-card > p,
.sitemap-grid a,
.source-box p,
.specialist-finder-band p:last-child,
.standards-grid article > span,
.standards-grid p,
.supporter-benefits p,
.supporter-fee > div:first-child > p:last-child,
.supporter-training-note {
	font-size: 12px;
}

/* ---- スマホ幅: さらに +1px（design.css から +2px） ---- */
@media (max-width: 760px) {

	/* 7px → 9px （2件） */
	.preview-brand,
	.preview-sheet-front > small {
		font-size: 9px;
	}

	/* 8px → 11px （8件）
	   当初は +1px（9px）にしていたが、実機375pxで再測定したところ
	   9px は依然として読みにくいと判断し、10px に引き上げた（2026-09-05） */
	.continuing-training div > span,
	.form-grid b,
	.news-list-full article > div:first-child span,
	.prefecture-grid small,
	.scrivener-badge span,
	.scrivener-copy small,
	.specialist-results article > div > div span,
	.training-months small {
		font-size: 11px;
	}

	/* 9px → 11px （33件） */
	.application-price > small,
	.book-cover-placeholder > span,
	.book-cover-placeholder small,
	.brand-copy small,
	.checksheet-actions > span,
	.checksheet-caution,
	.continuing-facts small,
	.directory-empty > span,
	.directory-status span,
	.fee-card small,
	.fee-card span,
	.footer-bottom > div,
	.hero-visual-caption span,
	.identity-caution small,
	.listing-policy article > span,
	.news-content > span,
	.newsletter-frequency small,
	.official-resource-card span,
	.region-heading span,
	.registration-flow small,
	.seal::before, .seal::after,
	.selected-heading small,
	.seminar-card-head span,
	.specialist-registration-fee span,
	.specialist-results p, .specialist-results small,
	.stone-shop-route span,
	.supporter-benefits article > span,
	.supporter-home-fee span,
	.supporter-plan > span,
	.training-note,
	.training-summary small,
	.training-summary span,
	.video-card div > span {
		font-size: 11px;
	}

	/* 10px → 12px （40件） */
	.application-facts article > span,
	.application-price > div span,
	.book-meta dt, .book-meta dd,
	.breadcrumb > div,
	.continuing-training p,
	.cooperation-flow span,
	.course-price-card > div:first-child span,
	.course-price-note small,
	.directory-disclaimer p,
	.directory-empty p,
	.directory-status p,
	.eyebrow,
	.footer-links a,
	.form-preview-note,
	.hero-notes,
	.inline-links a,
	.instructor-documents span,
	.instructor-fee-card > small,
	.instructor-fee-card > span,
	.listing-policy p,
	.news-content time,
	.news-list-full time,
	.newsletter-promise p,
	.newsletter-promise span,
	.officer-role,
	.preview-checks b,
	.principles span,
	.public-grid article > span,
	.region-tabs button,
	.registration-flow span,
	.seal span,
	.seminar-card dt, .seminar-card dd,
	.source-box a,
	.specialist-registration-fee small,
	.specialist-text-link,
	.split-heading .text-link,
	.stone-shop-route p,
	.supporter-home-inner p:last-child,
	.supporter-plan p,
	.video-card small {
		font-size: 12px;
	}

	/* 10.5px → 12.5px （1件） */
	.desktop-nav a {
		font-size: 12.5px;
	}

	/* 11px → 13px （54件） */
	.activity-grid p,
	.application-facts p,
	.application-notice a, .officer-source a,
	.application-notice p, .officer-source p,
	.application-price > div strong small,
	.audience-body small,
	.benefit-grid p,
	.checksheet-copy li,
	.checksheet-home-inner p:last-child,
	.contact-caution p,
	.contact-points span,
	.cooperation-flow p,
	.corporate-table dt, .corporate-table dd,
	.corporate-wrap > div:first-child > p:last-child,
	.cost-list article > span,
	.course-price-card > p small,
	.directory-no-match,
	.faq-list-full details > div b,
	.faq-list-full summary > span,
	.footer-about > p,
	.form-grid label > span,
	.form-status p,
	.header-contact,
	.instructor-application-grid > div:first-child > p:last-child,
	.legal-table dt, .legal-table dd,
	.module-grid article > span,
	.module-grid p,
	.news-content p,
	.news-list-full p,
	.newsletter-frequency > span,
	.newsletter-home-inner p:last-child,
	.newsletter-register-card > p:not(.eyebrow),
	.notice-box li,
	.number-checks span,
	.official-resource-card p,
	.partner-tags span,
	.pillars p,
	.prefecture-search span,
	.preparation-note p,
	.principles p,
	.privacy-check,
	.project-caution p,
	.public-grid p,
	.q-mark,
	.scrivener-copy p,
	.seminar-card > p,
	.sitemap-grid a,
	.source-box p,
	.specialist-finder-band p:last-child,
	.standards-grid article > span,
	.standards-grid p,
	.supporter-benefits p,
	.supporter-fee > div:first-child > p:last-child,
	.supporter-training-note {
		font-size: 13px;
	}
}

/* ==================================================================
 * 上の底上げをしても残った小さい文字（2026-09-05）
 *
 * 実機375pxで再測定したところ、次の2つが 10px 未満のまま残っていた。
 *
 * 1) フッターのコピーライト（実測 8px、PCでは 7.2px）
 *    design.css には .footer-bottom small の文字サイズ指定が無く、
 *    ブラウザ既定の small{font-size:80%} が親（.footer-bottom>div の
 *    9px／スマホ10px）に掛かって 8px になっていた。上の一覧は design.css
 *    のセレクタから機械抽出したため、指定が無いこの要素は対象外だった。
 *
 * 2) 緑帯（行政書士法の注記 .scrivener-copy small）が 9px
 *    法律上の制限を伝える注記なので、本文に近い大きさで読めるようにする。
 *
 * どちらもスマホだけでなくPCでも小さいので、media 条件の外に置く。
 * ================================================================== */
.footer-bottom small {
	font-size: 11px;
}

.scrivener-copy small {
	font-size: 11px;
}

@media (max-width: 760px) {
	.footer-bottom small,
	.scrivener-copy small {
		font-size: 12px;
	}
}
