:root{--z-bg:#ffffff;--z-ink:#17202a;--z-accent:#0f7fa0;--z-accent-text:#0f7fa0;--z-surface:color-mix(in srgb,var(--z-bg) 92%,var(--z-ink));--z-line:color-mix(in srgb,var(--z-ink) 22%,transparent);--z-heading-font:var(--font-serif)}
.z-journal{--z-gap:clamp(24px,4vw,56px);color:var(--z-ink);font-size:18px;line-height:1.9;letter-spacing:0;overflow-wrap:break-word}
.z-journal *{box-sizing:border-box}.z-journal [hidden]{display:none!important}
.z-journal a{color:inherit}.z-journal a:focus-visible,.z-journal button:focus-visible,.z-journal input:focus-visible,.z-journal select:focus-visible{outline:3px solid var(--z-accent);outline-offset:5px}
.z-journal h1,.z-journal h2,.z-journal h3{color:var(--z-ink);line-height:1.5;letter-spacing:0;word-break:auto-phrase;overflow-wrap:break-word;text-wrap:balance;font-family:var(--z-heading-font,inherit)}
.z-journal h1{font-size:clamp(32px,4vw,56px);margin:16px 0 24px;font-weight:700}
.z-journal h2{font-size:clamp(26px,2.6vw,36px);margin:0 0 20px;font-weight:700}
.z-journal h3{font-size:clamp(21px,2vw,26px);margin:0 0 14px;font-weight:700}
.z-journal p{margin:0 0 1.4em}.z-journal img{max-width:100%;height:auto;display:block}
.z-journal-shell{width:min(1160px,calc(100% - 64px));margin-inline:auto;padding-block:64px 88px}
.z-journal-head{max-width:820px;margin-bottom:40px}.z-journal-kicker{font-size:16px!important;font-weight:700;letter-spacing:.08em;margin:0 0 10px!important;color:var(--z-accent-text,var(--z-accent))}
.z-journal-crumb{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:16px;line-height:1.7;margin-bottom:26px!important}
.z-journal-crumb a{text-decoration:underline;text-underline-offset:4px}
.z-journal-intro{font-size:18px;max-width:40em}.z-journal-controls{padding:28px;background:var(--z-surface);border:1px solid var(--z-line);margin-bottom:28px}
.z-journal-search{display:flex;gap:12px;align-items:end}.z-journal-search label{display:block;flex:1;font-size:16px;font-weight:700;min-width:0}
.z-journal input[type=search],.z-journal select{width:100%;font:inherit;font-size:16px;border:1px solid var(--z-line);background:var(--z-bg);color:var(--z-ink);border-radius:3px;padding:12px 14px;min-height:48px;max-width:100%}
.z-journal-search input{margin-top:8px}.z-journal button,.z-journal .z-journal-btn{font:inherit;font-size:16px;font-weight:700;border:1px solid var(--z-ink);background:var(--z-ink);color:var(--z-bg);padding:12px 22px;min-height:48px;border-radius:3px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.z-journal-btn:hover,.z-journal button:hover{opacity:.85}.z-journal-filterbar{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.z-journal-filterbar a{font-size:16px;line-height:1.4;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border:1px solid var(--z-line);background:var(--z-bg)}
.z-journal-filterbar a[aria-current=true]{background:var(--z-ink);color:var(--z-bg);border-color:var(--z-ink)}
.z-journal-count{font-size:16px!important;margin:0!important}.z-journal-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:24px 0}
.z-journal-sort{display:flex;align-items:center;gap:10px;font-size:16px;white-space:nowrap}.z-journal-sort select{width:auto;min-width:156px}
.z-journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px;align-items:start}
.z-journal-card{min-width:0;display:flex;flex-direction:column;border-bottom:1px solid var(--z-line);padding-bottom:24px;text-decoration:none!important;background:transparent!important;color:var(--z-ink)!important}
.z-journal-card-image{overflow:hidden;aspect-ratio:16/10;background:var(--z-surface);margin-bottom:18px}
.z-journal-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.z-journal-card:hover .z-journal-card-image img{transform:scale(1.025)}
.z-journal-meta{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;font-size:16px!important;line-height:1.6;margin:0 0 12px!important}
.z-journal-category{display:inline-block;font-size:16px;line-height:1.6;color:var(--z-accent-text,var(--z-accent));font-weight:700}
.z-journal-card h2,.z-journal-card h3{font-size:23px;line-height:1.55;margin:0 0 12px;max-width:100%}
.z-journal-card p{font-size:16px;line-height:1.85;margin:0 0 16px}.z-journal-read{font-size:16px;font-weight:700;text-underline-offset:5px;text-decoration:underline;margin-top:auto}
.z-journal-empty{padding:48px 24px;text-align:center;border:1px solid var(--z-line);background:var(--z-surface)}
.z-journal-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:42px}
.z-journal-pagination button{min-width:48px;padding:10px;background:var(--z-bg);color:var(--z-ink);border-color:var(--z-line)}
.z-journal-pagination button[aria-current=page]{background:var(--z-ink);color:var(--z-bg)}
.z-journal-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(220px,280px);gap:var(--z-gap);align-items:start}
.z-journal-article,.z-journal-side{min-width:0}.z-journal-cover{margin:0 0 32px!important}.z-journal-cover img{width:100%;aspect-ratio:16/10;object-fit:cover}
.z-journal-cover img[src*="thumbnails/"]{height:auto;aspect-ratio:auto;object-fit:contain}.z-journal-card-image:has(img[src*="thumbnails/"]){background:var(--z-bg)}.z-journal-card-image img[src*="thumbnails/"]{object-fit:contain}
.z-journal-body{font-size:18px;line-height:1.95}.z-journal-body h2{margin:48px 0 20px;padding-top:20px;border-top:1px solid var(--z-line);font-size:28px}
.z-journal-body h3{margin:32px 0 16px;font-size:23px}.z-journal-body ul,.z-journal-body ol{padding-left:1.6em;margin:20px 0 30px}
.z-journal-body li{margin-bottom:.6em;font-size:18px;line-height:1.9}
.z-journal-body a{text-decoration:underline;text-underline-offset:4px;color:var(--z-accent-text,var(--z-accent))}
.z-journal-body blockquote,.z-journal-body .check-box,.z-journal-body .box,.z-journal-body .notice-box{border-left:3px solid var(--z-accent);padding:20px 24px;margin:24px 0;background:var(--z-surface)}
.z-journal-body table{display:block;max-width:100%;overflow:auto;border-collapse:collapse;font-size:16px;margin:24px 0}
.z-journal-body th,.z-journal-body td{border:1px solid var(--z-line);padding:12px 16px;min-width:120px}
.z-journal-body mark,.z-journal-body .marker,.z-journal-body .mark{color:inherit;background:transparent;border-bottom:3px solid var(--z-accent);font-style:normal;font-weight:700}
.z-journal-toc{padding:22px 24px;border:1px solid var(--z-line);background:var(--z-surface);margin-bottom:32px}
.z-journal-toc summary{cursor:pointer;font-size:18px;font-weight:700;line-height:1.6}.z-journal-toc ol{padding-left:24px;margin:18px 0 0;font-size:16px}
.z-journal-toc li{margin-bottom:8px}.z-journal-toc a{text-decoration:underline;text-underline-offset:4px}
.z-journal-body [id]{scroll-margin-top:140px}.z-journal-author{margin-top:40px;padding:24px;border:1px solid var(--z-line);background:var(--z-surface)}
.z-journal-author h2{font-size:18px;margin:0 0 12px}.z-journal-author p{font-size:16px;margin:0 0 10px}.z-journal-author img{width:80px;height:80px;object-fit:cover;float:left;margin:0 20px 12px 0}
.z-journal-widget{margin-bottom:28px;padding:24px;border:1px solid var(--z-line);background:var(--z-surface)}
.z-journal-widget h2,.z-journal-widget h3{font-size:20px;margin-bottom:16px}.z-journal-widget p,.z-journal-widget a{font-size:16px}
.z-journal-widget .z-journal-search{display:block}.z-journal-widget button{width:100%;margin-top:12px}.z-journal-widget ul{padding:0;margin:0;list-style:none}
.z-journal-widget li{border-bottom:1px solid var(--z-line);padding:14px 0}.z-journal-widget li:first-child{padding-top:0}.z-journal-widget li:last-child{border:0;padding-bottom:0}
.z-journal-widget li a{display:block;text-decoration:none;line-height:1.7}.z-journal-widget time{display:block;font-size:16px;opacity:.8;margin-top:4px}
.z-journal-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px;align-items:center;border-top:1px solid var(--z-line);margin-top:40px;padding-top:28px}
.z-journal-bottom a{font-size:16px;text-decoration:underline;text-underline-offset:5px}
.z-journal-related{margin-top:56px}.z-journal-related h2{font-size:26px}.z-journal-related .z-journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.z-journal-preview{padding-block:72px;background:var(--z-bg);color:var(--z-ink)}.z-journal-preview .z-journal-shell{padding-block:0}
.z-journal-preview-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:32px}.z-journal-preview-head h2{margin:0}.z-journal-preview-head a{font-size:16px;text-decoration:underline;text-underline-offset:5px}
.z-journal-disclaimer{font-size:16px!important;line-height:1.8;margin-top:34px!important;padding-top:20px;border-top:1px solid var(--z-line)}
body.z-journal-page{background-color:var(--z-bg);color:var(--z-ink);font-size:16px!important}
body.z-journal-page>main{padding-top:var(--z-header-offset,104px);margin:0;min-height:70vh}
@media(max-width:1000px){.z-journal-layout{display:block}.z-journal-side{margin-top:44px}.z-journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.z-journal-shell{width:calc(100% - 40px);padding-block:40px 56px}.z-journal-layout{display:block}.z-journal-side{margin-top:44px}.z-journal h1{font-size:32px}.z-journal h2{font-size:26px}.z-journal-grid,.z-journal-related .z-journal-grid{grid-template-columns:minmax(0,1fr);gap:28px}.z-journal-controls{padding:20px}.z-journal-search{align-items:stretch;flex-direction:column}.z-journal-search button{width:100%}.z-journal-toolbar{align-items:start;flex-direction:column;gap:16px}.z-journal-filterbar a{padding:10px 12px}.z-journal-card h2,.z-journal-card h3{font-size:23px}.z-journal-preview{padding-block:56px}.z-journal-preview-head{align-items:start;flex-direction:column;gap:16px}.z-journal-body h2{font-size:26px}.z-journal-body h3{font-size:22px}.z-journal-bottom{align-items:start;flex-direction:column}body.z-journal-page>main{padding-top:var(--z-header-offset,104px)}}
@media(prefers-reduced-motion:reduce){.z-journal *{transition:none!important;scroll-behavior:auto!important}.z-journal-card:hover img{transform:none}}

.z-journal .z-journal-btn{color:var(--z-bg)}
.z-journal-body .cbox{border-left:3px solid var(--z-accent);padding:20px 24px;margin:24px 0;background:var(--z-surface)}
.z-journal-pagination .nav-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.z-journal-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;padding:10px;border:1px solid var(--z-line);text-decoration:none}.z-journal-pagination .current{background:var(--z-ink);color:var(--z-bg)}
/* 2026-10-11 追加：一覧のカードの下端をそろえる／記事の確認枠・注意枠・補足枠・注意語・本文の写真 */
.z-journal-grid{align-items:stretch}
.z-journal-body .cbox__ttl{font-weight:700;font-size:17px;line-height:1.6;margin:0 0 10px;color:var(--z-ink);font-family:var(--z-heading-font,inherit)}
.z-journal-body .cbox>*:last-child{margin-bottom:0}
.z-journal-body .cbox ul,.z-journal-body .cbox ol{margin:0;padding-left:1.3em}
.z-journal-body .cbox li{margin:0 0 6px}
.z-journal-body .cbox--box{border-left:0;border:1px solid var(--z-line);border-top:3px solid var(--z-accent)}
.z-journal-body .cbox--warning{border-left-color:#b4452f;background:color-mix(in srgb,#b4452f 7%,var(--z-bg))}
.z-journal-body .cbox--warning .cbox__ttl{color:#9a3a27}
.z-journal-body .cbox--remark{border-left-color:color-mix(in srgb,var(--z-ink) 55%,transparent)}
.z-journal-body .txt-alert{color:#9a3a27}
.z-journal-body .post-img{margin:28px 0}
.z-journal-body .post-img img{width:100%;height:auto}
.z-journal-body .post-img figcaption{font-size:14px;line-height:1.7;margin-top:8px;color:color-mix(in srgb,var(--z-ink) 72%,transparent)}
