:root{--color-text:#22292b;--color-muted:#5b6466;--color-border:#dcdfdc;--color-bg-soft:#f3f4f2;--color-bg-softer:#f6f8f7;--color-accent:#1e5b53;--color-cta:#b34a12;--color-footer:#22292b;--color-white:#fff;--font-heading:"Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;--font-body:"Noto Sans JP", "Hiragino Sans", "Yu Gothic UI", "Meiryo", sans-serif;--max-width:1120px;--gutter:16px;--radius:8px;--tap:44px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--color-white);color:var(--color-text);font-family:var(--font-body);overflow-wrap:anywhere;line-break:strict;margin:0;font-size:16px;font-weight:400;line-height:2}h1,h2,h3,h4{font-family:var(--font-heading);margin:0;font-weight:700;line-height:1.5}p,ul,ol{margin:0}img{max-width:100%;height:auto}a{color:var(--color-accent);text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip-link{left:var(--gutter);z-index:10;background:var(--color-accent);color:var(--color-white);padding:8px 16px;position:absolute;top:-100px}.skip-link:focus{top:8px}.container{width:100%;max-width:var(--max-width);padding:0 var(--gutter);margin:0 auto}.site-header{border-bottom:1px solid var(--color-border);background:var(--color-white)}.site-header__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 24px;padding-top:12px;padding-bottom:4px;display:flex}.site-logo{min-height:var(--tap);color:var(--color-text);font-family:var(--font-heading);align-items:center;gap:8px;font-size:1.375rem;font-weight:700;text-decoration:none;display:inline-flex}.site-logo svg{color:var(--color-accent)}.site-nav{min-width:0;max-width:100%}.site-nav ul{gap:4px;padding:0;list-style:none;display:flex;overflow-x:auto}.site-nav a{min-height:var(--tap);color:var(--color-text);white-space:nowrap;border-bottom:3px solid #0000;align-items:center;padding:0 12px;font-weight:500;text-decoration:none;display:flex}.site-nav a:hover,.site-nav a[aria-current=page]{border-bottom-color:var(--color-accent);color:var(--color-accent)}.site-footer{background:var(--color-footer);color:var(--color-white);margin-top:80px;padding:40px 0 32px;font-size:.875rem}.site-footer a{color:var(--color-white)}.site-footer__name{font-family:var(--font-heading);font-size:1.25rem;font-weight:700}.site-footer__grid{gap:24px;display:grid}.site-footer ul{flex-wrap:wrap;gap:0 8px;padding:0;list-style:none;display:flex}.site-footer li a{min-height:var(--tap);align-items:center;padding:0 8px 0 0;display:inline-flex}.site-footer__note{color:#d5dad8;margin-top:24px}@media (width>=768px){.site-footer__grid{grid-template-columns:1fr 1fr}}.page{padding-top:24px}.with-sidebar{gap:48px;display:grid}.with-sidebar>*{min-width:0}@media (width>=960px){.with-sidebar{grid-template-columns:minmax(0,1fr) 300px}.sidebar__sticky{position:sticky;top:24px}}.sidebar{align-content:start;gap:24px;display:grid}.side-box{background:var(--color-bg-softer);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px}.side-box__title{margin-bottom:8px;font-size:1rem}.side-box ul{padding:0;list-style:none}.side-box li a{min-height:var(--tap);align-items:center;display:flex}.page-title{font-size:1.75rem}@media (width>=768px){.page-title{font-size:2.125rem}}.lead{color:var(--color-muted);margin-top:16px}.section{margin-top:56px}.section__title{border-bottom:2px solid var(--color-accent);margin-bottom:20px;padding-bottom:8px;font-size:1.5rem}.meta{color:var(--color-muted);font-size:.875rem}.badge{background:var(--color-bg-soft);color:var(--color-accent);border-radius:999px;padding:0 10px;font-size:.8125rem;font-weight:700;line-height:1.9;display:inline-block}.button{min-height:var(--tap);border-radius:var(--radius);justify-content:center;align-items:center;gap:8px;padding:8px 24px;font-weight:700;line-height:1.5;text-decoration:none;display:inline-flex}.button--cta{background:var(--color-cta);color:var(--color-white)}.button--cta:hover{background:#933c0e}.button--outline{border:2px solid var(--color-accent);color:var(--color-accent)}.post-list{gap:16px;padding:0;list-style:none;display:grid}.post-card{border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);padding:20px;text-decoration:none;display:block}.post-card:hover{border-color:var(--color-accent)}.post-card__title{color:var(--color-accent);font-size:1.125rem}.post-card__desc{color:var(--color-muted);margin-top:4px;font-size:.9375rem;line-height:1.8}.empty-note{background:var(--color-bg-soft);border-radius:var(--radius);color:var(--color-muted);padding:20px}.prose{margin-top:32px}.prose>*+*{margin-top:1.25em}.prose h2{border-left:5px solid var(--color-accent);background:var(--color-bg-soft);margin-top:2.5em;padding:12px 16px;font-size:1.375rem}.prose h3{border-bottom:1px solid var(--color-border);margin-top:2em;padding-bottom:4px;font-size:1.1875rem}.prose ul,.prose ol{padding-left:1.5em}.prose li+li{margin-top:.25em}.prose strong{background:linear-gradient(#0000 65%,#e3eeea 65%);font-weight:700}.prose blockquote{border-left:4px solid var(--color-border);background:var(--color-bg-softer);margin-left:0;margin-right:0;padding:16px 20px}.prose :is(h2,h3){scroll-margin-top:16px}.table-scroll{-webkit-overflow-scrolling:touch;border:1px solid var(--color-border);border-radius:var(--radius);overflow-x:auto}.table-scroll table{border-collapse:collapse;width:100%;min-width:560px;font-size:.9375rem;line-height:1.7}.table-scroll caption{text-align:left;padding:12px 16px;font-weight:700}.table-scroll th,.table-scroll td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;padding:12px 16px}.table-scroll thead th{background:var(--color-bg-soft);white-space:nowrap}.table-scroll tbody th{background:var(--color-bg-softer);white-space:nowrap}.table-scroll tr:last-child>*{border-bottom:0}.prose table{-webkit-overflow-scrolling:touch;border:1px solid var(--color-border);border-radius:var(--radius);border-collapse:collapse;max-width:100%;font-size:.9375rem;line-height:1.7;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;min-width:12em;padding:12px 16px}.prose thead th{background:var(--color-bg-soft);white-space:nowrap}.prose tbody td:first-child{background:var(--color-bg-softer);white-space:nowrap;min-width:6em;font-weight:700}.prose tbody tr:last-child>*{border-bottom:0}
