/* 法人設立のえらびかた図鑑（hojin-zukan）
   図鑑の見開き：左ページ＝図版、右ページ＝解説。配色はオリーブ・生成り・砂・墨。
   コントラスト比（WCAG）：墨/生成り 12.77・墨/砂 8.66・オリーブ/生成り 5.22・白/オリーブ 5.90・
   生成り/濃オリーブ 8.47・濃オリーブ/砂 5.74・灰茶/生成り 6.33・錆/生成り 6.03（オリーブ文字を砂の地に載せない） */
:root {
	--olive: #5a6b23;
	--olive-dk: #3e4a17;
	--olive-pale: #e6e9d4;
	--kinari: #f5f1e6;
	--paper: #fbf8f0;
	--sand: #d8c7a3;
	--sand-lt: #ebe1cb;
	--ink: #2b2a22;
	--mute: #5b584a;
	--rust: #8a4a22;
	--wood: #7a5a32;
	--line: rgba(43, 42, 34, .22);
	--hair: rgba(43, 42, 34, .12);
	--f-body: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", "Noto Sans JP", "Meiryo", sans-serif;
	--f-label: ui-monospace, "SFMono-Regular", "Menlo", "Consolas", "Osaka-Mono", "MS Gothic", monospace;
	--w: 1240px;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 16px; }
body {
	margin: 0; color: var(--ink); font-family: var(--f-body); font-weight: 300; line-height: 1.9; font-size: 16px; letter-spacing: .02em;
	background-color: var(--kinari);
	background-image: repeating-linear-gradient(0deg, rgba(122, 90, 50, .025) 0 1px, transparent 1px 3px), radial-gradient(ellipse at 20% 0%, #fbf8ef 0, transparent 60%);
	overflow-wrap: anywhere; word-break: normal; line-break: strict;
}
img, svg { max-width: 100%; height: auto; vertical-align: middle; }
a { color: var(--olive-dk); text-underline-offset: .2em; text-decoration-thickness: 1px; }
a:hover { color: var(--rust); }
b, strong { font-weight: 600; }
h1, h2, h3, h4 { font-weight: 400; line-height: 1.45; letter-spacing: .04em; }
.hjz-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.hjz-skip { position: absolute; left: -999px; top: 0; background: var(--ink); color: var(--kinari); padding: .4em .8em; z-index: 100; }
.hjz-skip:focus { left: 8px; }
.hjz-lbl { font-family: var(--f-label); font-size: .72rem; letter-spacing: .08em; color: var(--mute); font-weight: 400; line-height: 1.5; }
.hjz-ico { flex: none; }

/* ===== 見出し（マスト）と爪見出し ===== */
.hjz-mast { background: var(--paper); border-bottom: 1px solid var(--line); }
.hjz-mast__in { max-width: var(--w); margin: 0 auto; padding: 14px 16px 8px; display: flex; flex-wrap: wrap; gap: 10px 24px; align-items: center; justify-content: space-between; }
.hjz-logo { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--ink); min-width: 0; }
.hjz-logo img { width: 44px; height: 44px; }
.hjz-logo__txt { display: flex; flex-direction: column; line-height: 1.3; min-width: 0; }
.hjz-logo__name { font-size: 1.22rem; font-weight: 300; letter-spacing: .12em; }
.hjz-logo__sub { font-family: var(--f-label); font-size: .7rem; color: var(--mute); letter-spacing: .14em; }
.hjz-mast__search { display: flex; border-bottom: 1px solid var(--ink); min-width: 0; flex: 0 1 300px; }
.hjz-mast__search input { flex: 1; min-width: 0; border: 0; background: transparent; font: inherit; font-size: .9rem; padding: .3em .2em; color: var(--ink); }
.hjz-mast__search button { border: 0; background: transparent; color: var(--olive-dk); cursor: pointer; padding: 0 .3em; }
.hjz-tabs { max-width: var(--w); margin: 0 auto; padding: 0 16px; }
.hjz-tabs__row { list-style: none; margin: 0; padding: 6px 0 0; display: flex; gap: 3px; overflow-x: auto; scrollbar-width: thin; }
.hjz-tab a { display: flex; align-items: baseline; gap: .4em; white-space: nowrap; text-decoration: none; color: var(--ink); font-size: .86rem; padding: .45em .95em .35em; border: 1px solid var(--line); border-bottom: 0; border-radius: 9px 9px 0 0; background: var(--sand-lt); position: relative; top: 1px; }
.hjz-tab:nth-child(2n) a { background: #e3d7bb; }
.hjz-tab:nth-child(3n) a { background: #efe8d6; }
.hjz-tab__n { font-family: var(--f-label); font-size: .7rem; color: var(--mute); }
.hjz-tab a:hover { background: var(--kinari); color: var(--olive-dk); }
.hjz-tab.is-cur a { background: var(--kinari); color: var(--olive-dk); font-weight: 400; box-shadow: inset 0 3px 0 var(--olive); }
.hjz-tabs__sub { list-style: none; margin: 0; padding: .5em 0 .6em; display: flex; flex-wrap: wrap; gap: .3em 1.2em; font-size: .84rem; border-top: 1px solid var(--line); }
.hjz-tabs__sub a { color: var(--mute); text-decoration: none; }
.hjz-tabs__sub a[aria-current] { color: var(--olive-dk); text-decoration: underline; }

.hjz-crumb { max-width: var(--w); margin: 0 auto; padding: 10px 16px 0; font-size: .78rem; color: var(--mute); }
.hjz-crumb ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0 .2em; }
.hjz-crumb li + li::before { content: "／"; margin-right: .2em; color: var(--line); }
.hjz-crumb a { color: var(--mute); }
.hjz-main { max-width: var(--w); margin: 0 auto; padding: 18px 16px 64px; }

/* ===== 見開き（左＝図版、右＝解説） ===== */
.hjz-spread { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 0; margin: 0 0 56px; background: var(--paper); border: 1px solid var(--line); box-shadow: 0 1px 0 #fff inset, 0 10px 24px -18px rgba(43, 42, 34, .45); position: relative; }
.hjz-spread::after { content: ""; position: absolute; top: 0; bottom: 0; left: calc(5 / 12 * 100%); width: 28px; margin-left: -14px; background: linear-gradient(90deg, transparent, rgba(43, 42, 34, .07) 45%, rgba(43, 42, 34, .12) 50%, rgba(43, 42, 34, .07) 55%, transparent); pointer-events: none; }
.hjz-spread--rev { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.hjz-spread--rev .hjz-plate { order: 2; }
.hjz-spread--rev::after { left: calc(7 / 12 * 100%); }
.hjz-plate { margin: 0; padding: 28px 30px; align-self: start; position: sticky; top: 8px; }
.hjz-plate img { display: block; width: 100%; border: 1px solid var(--line); background: #fff; padding: 6px; }
.hjz-plate figcaption { margin-top: .7em; font-size: .82rem; color: var(--mute); display: flex; gap: .8em; align-items: baseline; flex-wrap: wrap; }
.hjz-leaf { padding: 28px 34px 34px; min-width: 0; }
.hjz-leaf > h2, .hjz-boxsec h2, .hjz-recsites h2, .hjz-related h2, .hjz-tagcloud h2 { font-size: 1.55rem; margin: .2em 0 .5em; }
.hjz-leaf__lead { color: var(--mute); margin: 0 0 1.4em; }

/* ===== 2本の導線（ルール17） ===== */
.hjz-paths { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 330px), 1fr)); gap: 14px; margin: 0 0 22px; }
.hjz-path { position: relative; padding: 14px 18px 14px 26px; background: var(--paper); border: 1px solid var(--line); }
.hjz-path::before { content: ""; position: absolute; left: 0; top: -6px; bottom: 18px; width: 12px; background: var(--olive); clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 85%, 0 100%); }
.hjz-path--hieiri::before { background: var(--rust); }
.hjz-path__lead { margin: 0; display: flex; gap: .5em; align-items: center; font-size: .86rem; color: var(--mute); }
.hjz-path__main { display: block; font-size: 1.12rem; margin: .2em 0 .3em; color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--line); padding-bottom: .3em; }
.hjz-path__main:hover { color: var(--olive-dk); }
.hjz-path ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .1em 1em; font-size: .84rem; }
.hjz-path li::before { content: "› "; color: var(--mute); }

/* ===== ヒーロー ===== */
.hjz-hero { margin-bottom: 48px; }
.hjz-hero__plate { position: static; padding: 22px; }
.hjz-hero__plate img { padding: 0; }
.hjz-hero h1 { margin: .3em 0 .6em; }
.hjz-hero__main { display: block; font-size: clamp(1.7rem, 3.4vw, 2.5rem); letter-spacing: .14em; font-weight: 300; }
.hjz-hero__sub { display: block; font-size: clamp(.92rem, 1.5vw, 1.05rem); color: var(--mute); margin-top: .4em; letter-spacing: .05em; }
.hjz-hero__lead { margin: 0 0 1.4em; }
.hjz-hero__rulers { list-style: none; counter-reset: r; margin: 0; padding: 0; border-top: 1px solid var(--ink); }
.hjz-hero__rulers li { counter-increment: r; display: grid; grid-template-columns: 2.4em 7em minmax(0, 1fr); align-items: baseline; padding: .45em 0; border-bottom: 1px dashed var(--line); font-size: .92rem; }
.hjz-hero__rulers li::before { content: counter(r, decimal-leading-zero); font-family: var(--f-label); font-size: .74rem; color: var(--olive-dk); }
.hjz-hero__rulers span { color: var(--mute); font-size: .86rem; }

/* ===== 主役：標本箱 ===== */
.hjz-boxsec { margin: 0 0 60px; }
.hjz-boxsec__head { max-width: 860px; margin: 0 0 18px; }
.hjz-boxsec__lead { color: var(--mute); margin: 0; }
.hjz-box { padding: 20px; background: linear-gradient(135deg, #8d6a3c, #6f5029 40%, #84623a 60%, #6a4c27); border-radius: 4px; box-shadow: inset 0 0 0 2px #5a4020, inset 0 0 0 7px #9b7848, 0 18px 30px -20px rgba(43, 42, 34, .7); }
.hjz-box__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 232px), 1fr)); gap: 14px; padding: 16px; background: #efe7d2; background-image: repeating-linear-gradient(45deg, rgba(122, 90, 50, .05) 0 2px, transparent 2px 6px); box-shadow: inset 0 3px 8px rgba(43, 42, 34, .35); }
.hjz-boxsec__note { font-size: .8rem; color: var(--mute); margin: 12px 0 0; }
.hjz-sp { position: relative; background: var(--paper); color: var(--ink); font-size: .84rem; line-height: 1.6; min-width: 0; }
.hjz-sp img { display: block; width: 100%; max-width: 220px; margin: 0 auto; }
.hjz-sp h3 { font-size: 1.04rem; margin: .3em 0; letter-spacing: .06em; }
.hjz-sp h3 a, .hjz-sp figcaption a, .hjz-sp p a { color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--olive); }
.hjz-sp dl, .hjz-sp ul, .hjz-sp ol { margin: 0; padding: 0; list-style: none; }
.hjz-sp dt, .hjz-sp b, .hjz-sp th, .hjz-sp h4 { font-family: var(--f-label); font-size: .7rem; font-weight: 400; color: var(--olive-dk); letter-spacing: .06em; }
/* 角札 */
.hjz-sp0 { padding: 12px; border: 1px solid var(--line); box-shadow: 2px 3px 0 rgba(43, 42, 34, .12); }
.hjz-sp0::before, .hjz-sp0::after { content: ""; position: absolute; top: 6px; width: 7px; height: 7px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #d9d4c0, #6b6656); }
.hjz-sp0::before { left: 6px; } .hjz-sp0::after { right: 6px; }
.hjz-sp0 figure { margin: 0 0 4px; }
.hjz-sp0 dl { display: grid; grid-template-columns: 3.2em minmax(0, 1fr); gap: 2px 6px; border-top: 1px solid var(--line); padding-top: 6px; }
.hjz-sp0 dd { margin: 0; }
/* 丸札 */
.hjz-sp1 { background: transparent; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.hjz-sp1__disc { width: min(100%, 220px); aspect-ratio: 1; border-radius: 50%; background: var(--paper); border: 1px solid var(--line); box-shadow: 0 0 0 5px var(--paper), 0 0 0 6px var(--line); display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 22px; text-align: center; }
.hjz-sp1__disc img { max-width: 150px; }
.hjz-sp1__disc p { margin: .2em 0 0; font-size: 1rem; }
.hjz-sp1 ul { background: var(--paper); border: 1px solid var(--line); padding: 8px 10px; width: 100%; }
.hjz-sp1 li { display: grid; grid-template-columns: 3.2em minmax(0, 1fr); }
/* 短冊 */
.hjz-sp2 { display: grid; grid-template-columns: 2.6em minmax(0, 1fr); border: 1px solid var(--line); background: #fdfbf5; }
.hjz-sp2__v { writing-mode: vertical-rl; text-orientation: upright; margin: 0 !important; padding: 12px 0; background: var(--olive); text-align: start; letter-spacing: .2em; display: flex; align-items: center; justify-content: flex-start; }
.hjz-sp2__v a { color: #fff !important; border: 0 !important; }
.hjz-sp2__body { padding: 10px; min-width: 0; }
.hjz-sp2 ol li { border-bottom: 1px dotted var(--line); padding: 2px 0; }
/* 名札 */
.hjz-sp3 { padding: 26px 12px 12px; border: 1px solid var(--line); border-radius: 10px; margin-top: 10px; }
.hjz-sp3 header { position: absolute; top: -10px; left: 0; right: 0; display: flex; justify-content: center; }
.hjz-sp3 header i { position: absolute; top: -6px; width: 34px; height: 16px; border: 2px solid #8b8672; border-radius: 4px 4px 0 0; border-bottom: 0; }
.hjz-sp3 header span { background: var(--ink); color: var(--kinari); font-family: var(--f-label); font-size: .68rem; padding: 2px 10px; border-radius: 10px; margin-top: 6px; }
.hjz-sp3 h3 { text-align: center; }
.hjz-sp3__formal { text-align: center; color: var(--mute); font-size: .74rem; margin: 0 0 4px; }
.hjz-sp3 table { width: 100%; border-collapse: collapse; margin-top: 4px; }
.hjz-sp3 th { text-align: left; width: 3.2em; padding: 2px 0; vertical-align: top; }
.hjz-sp3 td { padding: 2px 0; border-bottom: 1px dotted var(--line); }
/* 荷札 */
.hjz-sp4 { padding: 30px 12px 12px; background: #f1e6c9; clip-path: polygon(16% 0, 84% 0, 100% 9%, 100% 100%, 0 100%, 0 9%); }
.hjz-sp4__hole { position: absolute; top: 9px; left: 50%; width: 14px; height: 14px; margin-left: -7px; border-radius: 50%; background: #efe7d2; box-shadow: inset 0 0 0 2px #b9a676; }
.hjz-sp4 h3 { text-align: center; }
.hjz-sp4__lbls { display: flex; flex-direction: column; gap: 2px; margin: 0; }
.hjz-sp4__lbls span { border-top: 1px solid rgba(43, 42, 34, .15); padding-top: 2px; }
/* 楕円 */
.hjz-sp5 { padding: 12px; border: 1px solid var(--line); }
.hjz-sp5 figure { margin: 0 auto 8px; width: min(100%, 210px); border-radius: 50% / 42%; overflow: hidden; border: 3px double var(--olive); background: #fff; padding: 12px 10px 8px; text-align: center; }
.hjz-sp5 figcaption { font-size: 1rem; }
.hjz-sp5 dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: 4px; }
.hjz-sp5 dl div { background: var(--kinari); padding: 4px 6px; }
.hjz-sp5 dd { margin: 0; }
/* 切手 */
.hjz-sp6 { display: block; text-decoration: none; padding: 10px; background: var(--paper); background-clip: padding-box; border: 7px dotted #efe7d2; outline: 1px solid rgba(43, 42, 34, .18); outline-offset: -7px; }
.hjz-sp6__face { display: block; border: 1px solid var(--olive); padding: 8px; text-align: center; margin-bottom: 6px; }
.hjz-sp6__face strong { display: block; font-weight: 400; font-size: 1rem; color: var(--ink); }
.hjz-sp6 small { display: block; color: var(--ink); font-size: .8rem; border-bottom: 1px dotted var(--line); }
/* 栞 */
.hjz-sp7 { padding: 14px 12px 12px 22px; border: 1px solid var(--line); background: linear-gradient(90deg, var(--sand-lt) 0 10px, var(--paper) 10px); }
.hjz-sp7__ribbon { position: absolute; top: -8px; right: 14px; width: 14px; height: 46px; background: var(--rust); clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 82%, 0 100%); }
.hjz-sp7 ul li { padding-left: 1em; text-indent: -1em; }
.hjz-sp7 ul li::before { content: "・"; }
/* 八角札 */
.hjz-sp8 { padding: 22px 18px; background: #f3efdf; clip-path: polygon(14% 0, 86% 0, 100% 14%, 100% 86%, 86% 100%, 14% 100%, 0 86%, 0 14%); text-align: center; }
.hjz-sp8 p { margin: 0; text-align: left; }
/* 封筒 */
.hjz-sp9 { padding: 34px 12px 12px; background: #efe5cc; border: 1px solid var(--line); overflow: hidden; }
.hjz-sp9__flap { position: absolute; top: 0; left: 0; right: 0; height: 30px; background: #e1d2ad; clip-path: polygon(0 0, 100% 0, 50% 100%); }
.hjz-sp9 h3 { text-align: center; }
.hjz-sp9__in { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 4px 8px; background: var(--paper); padding: 8px; }
.hjz-sp9__in img { grid-column: 1 / -1; }
.hjz-sp9__in p { margin: 0 0 2px; }
.hjz-sp9__in b { display: block; }
/* 角を切った札 */
.hjz-sp10 { padding: 14px 12px 12px; border: 1px solid var(--line); clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 0 100%); background: var(--paper); }
.hjz-sp10__stamp { position: absolute; top: 10px; right: 10px; margin: 0; transform: rotate(-8deg); border: 1.5px solid var(--rust); color: var(--rust); font-size: .7rem; padding: 0 6px; border-radius: 3px; background: rgba(251, 248, 240, .9); max-width: 60%; line-height: 1.5; }
.hjz-sp10 h3 { padding-right: 40%; }
.hjz-sp10 section { display: grid; grid-template-columns: 3.2em minmax(0, 1fr); gap: 0 6px; }
.hjz-sp10 h4 { margin: 0; }
.hjz-sp10 section p { margin: 0; }

/* ===== 記事カード（hjz_card） ===== */
.hjz-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 16px; }
.hjz-w-wide { grid-column: 1 / -1; }
.hjz-c { position: relative; min-width: 0; background: var(--paper); font-size: .9rem; line-height: 1.7; }
.hjz-c h3 { font-size: 1.02rem; margin: .2em 0 .4em; }
.hjz-c h3 a, .hjz-c a strong { color: var(--ink); text-decoration: none; }
.hjz-c h3 a:hover { color: var(--olive-dk); text-decoration: underline; }
.hjz-c img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.hjz-c p { margin: 0 0 .4em; }
.hjz-c0 { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 18px; border-top: 2px solid var(--ink); padding-top: 14px; background: transparent; }
.hjz-c0__fig img { border: 1px solid var(--line); }
.hjz-c0__t { font-size: 1.2rem !important; }
.hjz-c0__ex { color: var(--mute); }
.hjz-c0__meta { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 0 1.2em; font-family: var(--f-label); font-size: .72rem; color: var(--mute); }
.hjz-c1 { border: 1px solid var(--line); }
.hjz-c1__band { background: var(--olive-pale); padding: 10px 12px; border-bottom: 1px solid var(--line); }
.hjz-c1__meta { font-family: var(--f-label); font-size: .7rem; color: var(--mute); padding: 6px 12px; }
.hjz-c2 { padding: 12px; border-left: 3px solid var(--olive); }
.hjz-c2__dl { display: grid; grid-template-columns: 4em minmax(0, 1fr); margin: 0 0 8px; font-size: .8rem; }
.hjz-c2__dl dt { font-family: var(--f-label); color: var(--mute); font-size: .7rem; }
.hjz-c2__dl dd { margin: 0; }
.hjz-c3 { padding: 0 14px 12px; background: var(--olive-dk); color: var(--kinari); }
.hjz-c3 h3 a { color: #fff; }
.hjz-c3 h3 a:hover { color: var(--sand); }
.hjz-c3__no { display: flex; justify-content: space-between; gap: 8px; padding: 10px 0 6px; border-bottom: 1px solid rgba(245, 241, 230, .35); font-family: var(--f-label); font-size: .74rem; margin-bottom: 8px; }
.hjz-c3__no span:first-child { font-size: 1.3rem; letter-spacing: .1em; }
.hjz-c4 { padding: 8px 8px 0; border: 1px solid var(--line); }
.hjz-c4__fig { margin: 0 0 6px; }
.hjz-c4__fig figcaption { font-family: var(--f-label); font-size: .68rem; color: var(--mute); text-align: right; }
.hjz-c4__foot { display: flex; justify-content: space-between; border-top: 1px dashed var(--line); padding: 4px 0 6px; font-size: .76rem; color: var(--mute); }
.hjz-c5 { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 18px; padding: 14px; background: var(--sand-lt); }
.hjz-c5__tags { display: flex; gap: .8em; font-size: .78rem; color: var(--olive-dk); }
.hjz-c5 time { font-family: var(--f-label); font-size: .72rem; color: var(--mute); }
.hjz-c6 { padding: 26px 14px 12px; background: #f1e6c9; clip-path: polygon(12% 0, 88% 0, 100% 12px, 100% 100%, 0 100%, 0 12px); }
.hjz-c6__hole { position: absolute; top: 8px; left: 50%; width: 12px; height: 12px; margin-left: -6px; border-radius: 50%; background: var(--kinari); box-shadow: inset 0 0 0 2px #b9a676; }
.hjz-c6__foot { font-family: var(--f-label); font-size: .72rem; color: var(--mute); }
.hjz-c7 { display: grid; grid-template-columns: minmax(0, 1fr); border: 1px solid var(--line); }
.hjz-c7__body { padding: 10px 14px 14px; }
.hjz-c7__tbl { border-collapse: collapse; font-size: .78rem; width: 100%; }
.hjz-c7__tbl th { font-family: var(--f-label); font-weight: 400; color: var(--mute); text-align: left; padding: 2px 6px 2px 0; white-space: nowrap; }
.hjz-c7__tbl td { padding: 2px 12px 2px 0; }
.hjz-c8 { padding: 12px; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); background: transparent; }
.hjz-c8__row { display: flex; gap: 12px; align-items: flex-start; }
.hjz-c8__fig { flex: 0 0 84px; }
.hjz-c8__fig img { width: 84px; height: 84px; aspect-ratio: 1; border-radius: 50%; border: 1px solid var(--line); }
.hjz-c8 blockquote { margin: 0; font-size: .82rem; color: var(--mute); border-left: 2px solid var(--sand); padding-left: 10px; }
.hjz-c9 { padding: 14px; border: 1px dashed var(--olive); }
.hjz-c9__kicker { display: flex; justify-content: space-between; font-size: .76rem; color: var(--mute); }
.hjz-c9__kicker b { font-family: var(--f-label); font-weight: 400; }
.hjz-c9 h3 { font-size: 1rem; }
.hjz-c9__btn { display: inline-block; margin-top: .4em; padding: .3em 1em; background: var(--olive); color: #fff; text-decoration: none; font-size: .82rem; border-radius: 2px; }
.hjz-c9__btn:hover { background: var(--olive-dk); color: #fff; }
.hjz-c10 { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 12px; padding: 10px; border: 1px solid var(--line); }
.hjz-c10__fig img { aspect-ratio: 3 / 4; height: 100%; }
.hjz-c10__ol { margin: 0; padding-left: 1.2em; font-size: .8rem; color: var(--mute); }
.hjz-c11 { background: #f7efc9; transform: rotate(-1deg); box-shadow: 2px 3px 6px -3px rgba(43, 42, 34, .5); }
.hjz-c11 a { display: block; padding: 14px; text-decoration: none; }
.hjz-c11 strong { display: block; font-weight: 400; font-size: 1rem; color: var(--ink); }
.hjz-c11 em { display: inline-block; margin-top: .4em; font-style: normal; font-family: var(--f-label); font-size: .7rem; color: var(--rust); border: 1px solid var(--rust); padding: 0 .5em; border-radius: 3px; }
.hjz-c12 { display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); background: transparent; }
.hjz-c12__n { font-family: var(--f-label); font-size: .8rem; color: var(--olive-dk); writing-mode: vertical-rl; border-left: 1px solid var(--line); padding-left: 6px; }
.hjz-c13__fig { position: relative; }
.hjz-c13__fig span { position: absolute; left: 8px; bottom: 8px; background: var(--paper); font-size: .72rem; padding: 0 .6em; border: 1px solid var(--line); }
.hjz-c13 h3 { padding: 0 10px 10px; }
.hjz-c14 { padding: 14px; border: 1px solid var(--line); }
.hjz-c14__t { display: block; color: var(--ink); text-decoration: none; font-size: 1rem; margin-bottom: 8px; }
.hjz-c14 dl { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 0; font-size: .78rem; }
.hjz-c14 dl div { display: flex; gap: 6px; }
.hjz-c14 dt { font-family: var(--f-label); color: var(--mute); font-size: .7rem; }
.hjz-c14 dd { margin: 0; }
.hjz-c15 { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); gap: 16px; align-items: center; padding: 10px 14px; background: var(--olive-pale); }
.hjz-c15 time { font-family: var(--f-label); font-size: .72rem; color: var(--mute); }
.hjz-c16 a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 10px; padding: 12px 14px; text-decoration: none; color: var(--ink); border: 1px solid var(--ink); }
.hjz-c16 .hjz-lbl { grid-column: 1 / -1; }
.hjz-c16__arr { align-self: center; color: var(--olive-dk); }
.hjz-c17 { padding: 0 0 10px; border-bottom: 3px double var(--line); background: transparent; }
.hjz-c17 h3 { margin-top: .5em; }
.hjz-c17 p { font-size: .82rem; color: var(--mute); }
.hjz-c17__tag { color: var(--olive-dk) !important; }

/* ===== カテゴリータイル（hjz_cat_tile） ===== */
.hjz-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 14px; }
.hjz-t { position: relative; min-width: 0; margin: 0; background: var(--kinari); font-size: .86rem; line-height: 1.6; color: var(--ink); }
.hjz-t img { display: block; width: 100%; aspect-ratio: 8 / 5; object-fit: cover; }
.hjz-t h3 { font-size: .98rem; margin: .3em 0; }
.hjz-t a { color: var(--ink); text-decoration: none; }
.hjz-t a:hover { color: var(--olive-dk); }
.hjz-t p { margin: 0; }
.hjz-t0 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 16px; padding: 12px; border: 1px solid var(--line); }
.hjz-t0__body { display: flex; flex-direction: column; gap: .3em; }
.hjz-t0__body strong { font-size: 1.15rem; font-weight: 400; }
.hjz-t0__desc { color: var(--mute); font-size: .82rem; }
.hjz-t1 { border: 1px solid var(--line); padding: 0 0 8px; }
.hjz-t1 h3, .hjz-t1 p { padding: 0 10px; }
.hjz-t2 { padding: 10px; border-top: 3px solid var(--olive); }
.hjz-t2 header { display: flex; justify-content: space-between; align-items: center; color: var(--olive-dk); font-family: var(--f-label); font-size: .7rem; }
.hjz-t2 figure { margin: 6px 0 0; }
.hjz-t3 figcaption { padding: 8px 0; display: flex; flex-direction: column; }
.hjz-t3 figcaption b { font-weight: 400; font-size: .98rem; }
.hjz-t3 figcaption small { color: var(--mute); font-size: .76rem; }
.hjz-t4 { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 16px; padding: 14px; background: var(--olive-pale); }
.hjz-t5 { display: block; border: 1px solid var(--ink); }
.hjz-t5 span { display: block; padding: 6px 10px; background: var(--ink); color: var(--kinari); }
.hjz-t5:hover span { background: var(--olive-dk); }
.hjz-t6 { padding: 10px; border: 1px dashed var(--olive); }
.hjz-t6 h3 { display: flex; gap: 6px; align-items: center; color: var(--olive-dk); }
.hjz-t6 ul { list-style: none; margin: 6px 0 0; padding: 0; display: flex; justify-content: space-between; font-family: var(--f-label); font-size: .7rem; color: var(--mute); }
.hjz-t7 dl { display: grid; grid-template-columns: 3em minmax(0, 1fr); margin: 6px 0 0; padding: 0 4px; }
.hjz-t7 dt { font-family: var(--f-label); font-size: .7rem; color: var(--mute); }
.hjz-t7 dd { margin: 0; }
.hjz-t8 { padding: 10px; background: var(--sand-lt); }
.hjz-t8__no { font-family: var(--f-label); font-size: .7rem; color: var(--mute); }
.hjz-t8 p:last-child { font-size: .78rem; color: var(--mute); }
.hjz-t9 { display: flex; gap: 8px; padding: 8px; border-bottom: 2px solid var(--ink); }
.hjz-t9__ico { color: var(--olive-dk); padding-top: 2px; }
.hjz-t9 a { display: flex; flex-direction: column-reverse; gap: 6px; flex: 1; min-width: 0; }
.hjz-t9 strong { font-weight: 400; }
.hjz-t10 { display: grid; grid-template-columns: minmax(0, 1fr); padding: 10px; border: 3px double var(--line); }
.hjz-t10 blockquote { margin: 0; font-size: .76rem; color: var(--mute); }
.hjz-t11 h3 { display: flex; flex-direction: column; }
.hjz-t11 table { width: 100%; border-collapse: collapse; }
.hjz-t11 td { padding: 0; border: 6px solid #fff; box-shadow: 0 0 0 1px var(--line); }

/* ===== 紹介サイト（hjz_site） ===== */
.hjz-recsites { margin: 0 0 48px; padding: 28px 30px; background: var(--paper); border: 1px solid var(--line); }
.hjz-recsites__note, .hjz-sitenote { font-size: .8rem; color: var(--mute); }
.hjz-sitegrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 12px; font-size: .84rem; line-height: 1.6; }
.hjz-s { margin: 0; min-width: 0; background: var(--kinari); }
.hjz-s a { color: var(--olive-dk); }
.hjz-s h4 { margin: 0 0 .3em; font-size: .94rem; font-weight: 400; }
.hjz-s p { margin: 0; }
.hjz-s0 { padding: 12px 14px; border-left: 4px solid var(--olive); }
.hjz-s1 { display: flex; flex-direction: column; padding: 12px; border: 1px solid var(--line); text-decoration: none; }
.hjz-s1 strong { font-weight: 400; color: var(--olive-dk); text-decoration: underline; }
.hjz-s1 span { color: var(--ink); }
.hjz-s2 { padding: 10px 12px; border-top: 2px solid var(--ink); }
.hjz-s2 dd { margin: 0; }
.hjz-s3 { border: 1px solid var(--line); }
.hjz-s3 header { background: var(--sand); padding: 2px 10px; font-family: var(--f-label); font-size: .7rem; color: var(--ink); }
.hjz-s3 h4 { padding: 8px 10px; }
.hjz-s4 { display: flex; gap: 8px; padding: 10px; color: var(--olive-dk); }
.hjz-s4 p { color: var(--ink); }
.hjz-s5 { padding: 10px 12px; background: var(--paper); border: 1px dashed var(--line); }
.hjz-s5 blockquote { margin: 0 0 6px; }
.hjz-s5 figcaption::before { content: "— "; }
.hjz-s6 { padding: 12px; background: var(--olive-pale); }
.hjz-s7 ul { margin: 0; padding: 10px 12px 10px 28px; border: 1px solid var(--line); }
.hjz-s8 { display: flex; flex-direction: column; padding: 10px 12px; border-bottom: 3px double var(--olive); }
.hjz-s8 b { font-family: var(--f-label); font-weight: 400; font-size: .7rem; color: var(--mute); }
.hjz-s9 table { width: 100%; border-collapse: collapse; }
.hjz-s9 th { text-align: left; font-weight: 400; padding: 8px 10px; width: 36%; background: var(--sand-lt); vertical-align: top; }
.hjz-s9 td { padding: 8px 10px; border-bottom: 1px solid var(--line); }
.hjz-s10 { padding: 10px 12px; border: 1px solid var(--ink); display: flex; flex-direction: column; }
.hjz-s10 small { font-size: .8rem; color: var(--mute); }
.hjz-s11 { padding: 10px 12px; box-shadow: inset 0 0 0 1px var(--line); }
.hjz-s11 h4 { display: flex; gap: 6px; align-items: center; color: var(--olive-dk); }
.hjz-s11 footer { font-family: var(--f-label); font-size: .7rem; color: var(--mute); margin-top: 4px; }

/* ===== 語だけの列 ===== */
.hjz-words { font-size: .86rem; }
.hjz-words p { margin: 0; display: flex; flex-wrap: wrap; gap: .3em .4em; }
.hjz-words a { display: inline-block; padding: .1em .7em; border: 1px solid var(--line); border-radius: 2px; text-decoration: none; color: var(--ink); background: var(--paper); }
.hjz-words a:hover { border-color: var(--olive); color: var(--olive-dk); }
.hjz-words small { margin-left: .4em; font-family: var(--f-label); font-size: .68rem; color: var(--mute); }
.hjz-words--desc { list-style: none; margin: 4px 0 0; padding: 0; columns: 2 300px; column-gap: 24px; }
.hjz-words--desc li { break-inside: avoid; padding: 6px 0; border-bottom: 1px dotted var(--line); }
.hjz-words--desc a { border: 0; padding: 0; background: none; color: var(--olive-dk); text-decoration: underline; }
.hjz-words--desc span { display: block; color: var(--mute); font-size: .8rem; }
.hjz-tagcloud { margin: 0 0 40px; }
.hjz-tagcloud h2 { display: flex; flex-direction: column; }

/* ===== 分類・索引語ページ ===== */
.hjz-arch .hjz-plate img { padding: 0; }
.hjz-arch__label { border: 1px solid var(--ink); padding: 14px 18px; margin: 0 0 22px; background: #fff; box-shadow: 4px 4px 0 var(--sand); }
.hjz-arch__label h1 { display: flex; gap: .5em; align-items: center; font-size: clamp(1.3rem, 2.6vw, 1.75rem); margin: .2em 0 .4em; color: var(--ink); }
.hjz-arch__label h1 .hjz-ico { color: var(--olive); }
.hjz-arch__desc p { margin: 0 0 .5em; color: var(--mute); font-size: .92rem; }
.hjz-arch__meta { display: flex; flex-wrap: wrap; gap: .4em 1.4em; margin: 0; font-size: .82rem; }
.hjz-arch__meta span { font-family: var(--f-label); color: var(--mute); }
.hjz-tagarch { margin: 0 0 48px; }
.hjz-tagarch__head { padding: 0 0 18px; margin: 0 0 22px; border-bottom: 1px solid var(--ink); max-width: 880px; }
.hjz-tagarch__chip { display: inline-flex; gap: .4em; align-items: center; margin: 0; padding: .1em .8em .1em .5em; background: var(--olive); color: #fff; font-size: .82rem; clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%); }
.hjz-tagarch__head h1 { font-size: clamp(1.3rem, 2.6vw, 1.8rem); margin: .3em 0; }
.hjz-tagarch__desc p { color: var(--mute); margin: 0 0 .4em; }
.hjz-empty { color: var(--mute); }
.hjz-searchres, .hjz-nf { margin: 0 0 48px; }
.hjz-searchres h1 { display: flex; flex-direction: column; font-size: 1.5rem; }
.hjz-sform { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 24px 0; }
.hjz-sform label { font-size: .86rem; color: var(--mute); width: 100%; }
.hjz-sform input { flex: 1 1 200px; min-width: 0; font: inherit; padding: .5em .7em; border: 1px solid var(--ink); background: #fff; }
.hjz-sform button { font: inherit; padding: .5em 1.2em; border: 0; background: var(--olive); color: #fff; cursor: pointer; }
.hjz-nf { text-align: center; padding: 30px 0; }
.hjz-nf__code { font-family: var(--f-label); font-size: 4rem; color: var(--sand); margin: 0; letter-spacing: .3em; }
.hjz-nf__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 1em 2em; }
.hjz-nf .hjz-sform { justify-content: center; max-width: 520px; margin: 24px auto; }

/* ===== 記事 ===== */
.hjz-art { max-width: 860px; margin: 0 auto; }
.hjz-art__head { margin: 0 0 24px; }
.hjz-slabel { position: relative; max-width: 560px; border: 1px solid var(--ink); background: #fffdf6; padding: 10px 16px 12px; box-shadow: 3px 3px 0 var(--sand); margin: 0 0 18px; }
.hjz-slabel::before { content: ""; position: absolute; left: 50%; top: -9px; width: 2px; height: 16px; background: #6b6656; box-shadow: 0 -3px 0 3px #9a9480; border-radius: 1px; }
.hjz-slabel__top { display: flex; justify-content: space-between; margin: 0 0 6px; padding-bottom: 4px; border-bottom: 1px solid var(--ink); font-family: var(--f-label); font-size: .68rem; letter-spacing: .1em; color: var(--mute); }
.hjz-slabel dl { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 4px 18px; }
.hjz-slabel dl div { display: grid; grid-template-columns: 6.6em minmax(0, 1fr); gap: 6px; border-bottom: 1px dotted var(--line); padding: 2px 0; }
.hjz-slabel dt { font-family: var(--f-label); font-size: .7rem; color: var(--olive-dk); padding-top: .2em; }
.hjz-slabel dd { margin: 0; font-size: .86rem; line-height: 1.55; }
.hjz-art__title { font-size: clamp(1.45rem, 3vw, 2.05rem); margin: 0 0 .5em; letter-spacing: .05em; }
.hjz-art__meta { display: flex; flex-wrap: wrap; gap: .3em 1.2em; font-size: .78rem; color: var(--mute); margin: 0 0 16px; }
.hjz-art__meta span { font-family: var(--f-label); }
.hjz-art__eye { margin: 0; }
.hjz-art__eye img { display: block; width: 100%; border: 1px solid var(--line); }
.hjz-toc { margin: 0 0 32px; }
.hjz-toc ol { list-style: none; margin: 4px 0 0; padding: 0; border-left: 1px solid var(--ink); }
.hjz-toc li a { display: grid; grid-template-columns: 2.6em minmax(0, 1fr); align-items: baseline; padding: .4em .8em .4em 0; text-decoration: none; color: var(--ink); font-size: .9rem; line-height: 1.5; border-bottom: 1px solid var(--hair); }
.hjz-toc li:nth-child(odd) a { background: linear-gradient(90deg, var(--sand-lt) 0 2.2em, transparent 2.2em); }
.hjz-toc li:nth-child(even) a { background: linear-gradient(90deg, #e3d7bb 0 2.2em, transparent 2.2em); }
.hjz-toc b { font-family: var(--f-label); font-weight: 400; color: var(--olive-dk); text-align: center; width: 2.2em; font-size: .8rem; }
.hjz-toc li a:hover span { color: var(--olive-dk); text-decoration: underline; }
.hjz-body { font-size: 1.02rem; line-height: 2; }
.hjz-body > * { max-width: 100%; }
.hjz-body h2 { font-size: 1.42rem; margin: 2.6em 0 1em; }
.hjz-body h3 { font-size: 1.15rem; margin: 2em 0 .7em; }
.hjz-body p { margin: 0 0 1.2em; }
.hjz-body img { display: block; height: auto; }
.hjz-body figure { margin: 1.6em 0; }
.hjz-body figcaption { font-size: .8rem; color: var(--mute); margin-top: .4em; }
.hjz-body ul, .hjz-body ol { padding-left: 1.4em; margin: 0 0 1.2em; }
.hjz-tbl { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 1.4em 0; border: 1px solid var(--line); background: #fff; }
.hjz-tbl table { width: 100%; min-width: 520px; border-collapse: collapse; font-size: .88rem; line-height: 1.65; margin: 0; }
.hjz-tbl th, .hjz-tbl td { padding: .6em .75em; border-bottom: 1px solid var(--hair); border-right: 1px solid var(--hair); text-align: left; vertical-align: top; }
.hjz-tbl thead th { white-space: nowrap; background: var(--olive-dk); color: var(--kinari); font-weight: 400; }
.hjz-tbl tbody th { background: var(--sand-lt); font-weight: 400; color: var(--ink); }
.hjz-art__hub { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 36px 0; padding: 14px 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); font-size: .9rem; }
.hjz-art__hub a { display: inline-flex; gap: .4em; align-items: center; }
.hjz-related { margin: 40px 0 0; }
.hjz-related h2 { display: flex; flex-direction: column; }
.hjz-page { max-width: 820px; margin: 0 auto 48px; }
.hjz-page__head { border-bottom: 1px solid var(--ink); margin-bottom: 24px; }
.hjz-page__head h1 { font-size: clamp(1.4rem, 3vw, 1.9rem); margin: .2em 0 .5em; }

/* ===== 固定CTA：左端の縦タブ（スマホは下部の帯） ===== */
.hjz-cta { position: fixed; z-index: 60; left: 0; top: 50%; transform: translateY(-50%); display: flex; align-items: center; pointer-events: none; }
.hjz-cta__tab { pointer-events: auto; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 14px 8px; border: 0; border-radius: 0 10px 10px 0; background: var(--olive); color: #fff; cursor: pointer; font: inherit; font-size: .86rem; box-shadow: 2px 2px 8px rgba(43, 42, 34, .3); }
.hjz-cta__tabtxt { writing-mode: vertical-rl; letter-spacing: .2em; }
.hjz-cta__tabico { font-size: .9rem; }
.hjz-cta__tab:hover { background: var(--olive-dk); }
.hjz-cta__panel { pointer-events: auto; position: absolute; left: 0; top: 50%; width: min(340px, calc(100vw - 24px)); transform: translate(-110%, -50%); transition: transform .25s ease; background: var(--paper); border: 1px solid var(--ink); border-left: 6px solid var(--olive); padding: 18px 18px 14px; box-shadow: 4px 6px 18px rgba(43, 42, 34, .3); visibility: hidden; }
.hjz-cta.is-open .hjz-cta__panel { transform: translate(0, -50%); visibility: visible; }
.hjz-cta.is-open .hjz-cta__tab { visibility: hidden; }
.hjz-cta__label { margin: 0 0 10px; font-size: .95rem; line-height: 1.6; }
.hjz-cta__btn { display: block; text-align: center; padding: .7em 1em; background: var(--rust); color: #fff; text-decoration: none; font-weight: 400; letter-spacing: .1em; border-radius: 2px; }
.hjz-cta__btn:hover { background: #6e3a1a; color: #fff; }
.hjz-cta__note { margin: 10px 0 0; font-size: .68rem; line-height: 1.6; color: var(--mute); max-height: 9.5em; overflow-y: auto; }
.hjz-cta__close { position: absolute; top: 4px; right: 6px; border: 0; background: none; font-size: 1.2rem; cursor: pointer; color: var(--mute); }

/* ===== フッター：索引と奥付 ===== */
.hjz-foot { background: var(--ink); color: var(--kinari); margin-top: 40px; }
.hjz-foot a { color: var(--kinari); }
.hjz-foot a:hover { color: var(--sand); }
.hjz-foot__in { max-width: var(--w); margin: 0 auto; padding: 40px 16px 24px; display: grid; grid-template-columns: minmax(0, 2.2fr) minmax(0, 1fr); gap: 32px; }
.hjz-foot__h { font-size: 1.1rem; margin: 0 0 14px; display: flex; gap: .8em; align-items: baseline; border-bottom: 1px solid rgba(245, 241, 230, .3); padding-bottom: 6px; }
.hjz-foot .hjz-lbl { color: var(--sand); }
.hjz-foot__cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr)); gap: 18px 22px; }
.hjz-foot__col h3 { font-size: .86rem; margin: 0 0 4px; color: var(--sand); }
.hjz-foot__col h3 span { font-family: var(--f-label); margin-right: .4em; }
.hjz-foot__col ul { list-style: none; margin: 0; padding: 0; font-size: .8rem; line-height: 1.8; }
.hjz-colophon { border: 1px solid rgba(245, 241, 230, .4); padding: 16px 18px; }
.hjz-colophon dl { display: grid; grid-template-columns: 5.4em minmax(0, 1fr); gap: 4px 10px; margin: 0 0 12px; font-size: .8rem; line-height: 1.7; }
.hjz-colophon dt { font-family: var(--f-label); color: var(--sand); font-size: .72rem; }
.hjz-colophon dd { margin: 0; }
.hjz-colophon__pages { list-style: none; margin: 0 0 10px; padding: 10px 0 0; border-top: 1px dashed rgba(245, 241, 230, .3); display: flex; flex-wrap: wrap; gap: .2em 1.2em; font-size: .82rem; }
.hjz-colophon__disc { font-size: .72rem; color: #d9d3c2; margin: 0; }
.hjz-foot__copy { text-align: center; font-family: var(--f-label); font-size: .7rem; color: #cfc8b4; margin: 0; padding: 12px 16px 20px; }

/* ===== 幅ごとの調整 ===== */
@media (max-width: 860px) {
	.hjz-spread, .hjz-spread--rev { grid-template-columns: minmax(0, 1fr); }
	.hjz-spread::after { display: none; }
	.hjz-spread--rev .hjz-plate { order: 0; }
	.hjz-plate { position: static; padding: 16px 16px 0; }
	.hjz-leaf { padding: 18px 16px 22px; }
	.hjz-foot__in { grid-template-columns: minmax(0, 1fr); }
	.hjz-recsites { padding: 20px 16px; }
}
@media (max-width: 640px) {
	body { font-size: 15px; }
	.hjz-c0, .hjz-c5, .hjz-c10, .hjz-c15, .hjz-t0, .hjz-t4 { grid-template-columns: minmax(0, 1fr); }
	.hjz-c5__fig, .hjz-c15__fig { order: -1; }
	.hjz-hero__rulers li { grid-template-columns: 2.2em minmax(0, 1fr); }
	.hjz-hero__rulers li span { grid-column: 2; }
	.hjz-logo__name { font-size: 1.02rem; letter-spacing: .06em; }
	.hjz-mast__search { flex: 1 1 100%; }
	.hjz-box { padding: 10px; }
	.hjz-box__grid { padding: 10px; }
}
@media (max-width: 760px) {
	body { padding-bottom: 92px; }
	.hjz-cta { left: 0; right: 0; top: auto; bottom: 0; transform: none; display: block; }
	.hjz-cta__tab { display: none; }
	.hjz-cta__panel { position: static; width: auto; transform: none; visibility: visible; border: 0; border-top: 3px solid var(--olive); padding: 8px 12px 8px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 10px; align-items: center; box-shadow: 0 -4px 14px rgba(43, 42, 34, .2); }
	.hjz-cta__label { margin: 0; font-size: .76rem; line-height: 1.45; }
	.hjz-cta__btn { padding: .55em .9em; font-size: .84rem; letter-spacing: .04em; white-space: nowrap; }
	.hjz-cta__note { grid-column: 1 / -1; margin: 0; max-height: 2.9em; font-size: .62rem; line-height: 1.45; }
	.hjz-cta__close { display: none; }
}

/* ===== 記事末尾の紹介サイト・出典の小札 ===== */
.hjz-artsites { clear: both; margin: 48px 0 0; padding: 24px 0 0; border-top: 3px double var(--line); }
.hjz-artsites__h { font-size: 1.3rem; line-height: 1.5; margin: 0 0 .4em; letter-spacing: .04em; }
.hjz-body .hjz-src a { word-break: break-all; }
.hjz-body .hjz-sitegrid p, .hjz-body .hjz-sitegrid h4 { margin: 0; }
.hjz-body .hjz-words--desc { padding: 0; }
/* 回り込みの図版の横に表・定義リスト・図解を並べない */
.hjz-body .hjz-tbl, .hjz-body dl, .hjz-body .row, .hjz-body blockquote, .hjz-body ol, .hjz-body figure:not([class*="-fig--"]), .hjz-body .hjz-src { clear: both; }
.hjz-body .hjz-src { display: flex !important; width: fit-content; max-width: 100%; }
.pagination { margin: 2rem 0; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: .5rem; }
.pagination .page-numbers { padding: .4rem .7rem; border: 1px solid var(--line); }
.pagination .current { color: #fff; background: #3e4a17; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* 仕上げ：統計・外部検索・読後の反応 */
.hjz-statsection,.hjz-snssection{margin:3rem auto;padding:clamp(1rem,4vw,3rem);max-width:1400px;background:#f4f0e5;border-block:2px solid #697044;overflow-wrap:anywhere}
.hjz-stats,.hjz-sns{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1.2rem;margin:1.5rem 0}
.hjz-stats>*,.hjz-sns>*{min-width:0;padding:1.25rem;background:#fffdf6;border:1px solid #697044;border-top:5px solid #697044}
.hjz-stats>:nth-child(2){border-radius:0 35px 0 0}.hjz-stats>:nth-child(3){border:2px dashed #697044}.hjz-stats>:nth-child(4){border-left:9px solid #697044}.hjz-stats>:nth-child(5){border-radius:25px 0 0 0}.hjz-stats>:nth-child(6){border-bottom:8px double #697044}
.hjz-stats h3,.hjz-sns h3{font-size:1.05rem;line-height:1.6}.hjz-stats strong,.hjz-stats dd{font-size:1.45rem;color:#444d2d;margin:0;line-height:1.7}.hjz-stats footer,.hjz-stats small,.hjz-stats__note{font-size:.85rem;line-height:1.8}.hjz-stats blockquote{margin:0;padding-left:.7rem;border-left:2px solid #697044}
.hjz-helpful{margin:2rem 0;padding:1.5rem;border:2px solid #697044;background:#f4f0e5;overflow-wrap:anywhere}.hjz-helpful h2{font-size:1.2rem}.hjz-helpful button{background:#4a542f;color:#fff;border:0;border-radius:4px;padding:.8rem 1.2rem;font:inherit;cursor:pointer}.hjz-helpful button:disabled{opacity:.75;cursor:default}.hjz-helpful button:focus-visible{outline:3px solid #943e25;outline-offset:4px}.hjz-helpful__count{margin-left:.6rem}.hjz-helpful__status{min-height:1.5em;margin:.7rem 0 0}

/* 2026-10-23 カテゴリー記事（カテゴリーページの上部に本文、下に記事一覧） */
.hjz-arch--list { grid-template-columns: minmax(0, 1fr); margin-top: 40px; }
.hjz-arch--list::after { display: none; }
.hjz-lbl-h { font-size: 1.15rem; margin: 0 0 14px; padding: 0 0 6px; border-bottom: 1px solid var(--ink); }
.hjz-art--hub { margin: 0 auto 8px; }
.hjz-unlinked { text-decoration: underline dotted rgba(43, 42, 34, .4); text-underline-offset: 3px; }
