:root{--accent:#2f6f4f;--fg:#1a1a1a;--fg-muted:#6b6b6b;--bg:#fff;--bg-subtle:#f7f7f5;--border:#e6e6e3;--measure:42rem;--font-size-base:1.0625rem;--line-height:1.9;--header-h:56px;--radius:8px;--font-sans:-apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", Meiryo, sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:16px}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;line-height:1.7}a{color:var(--accent);text-underline-offset:2px}img{max-width:100%;height:auto}.container{max-width:1100px;margin:0 auto;padding:0 16px}.measure{max-width:var(--measure);margin-left:auto;margin-right:auto}.site-header{border-bottom:1px solid var(--border);background:var(--bg);z-index:20;position:sticky;top:0}.site-header__inner{height:var(--header-h);align-items:center;gap:16px;max-width:1100px;margin:0 auto;padding:0 16px;display:flex}.site-header__logo{color:var(--fg);white-space:nowrap;font-size:1.15rem;font-weight:700;text-decoration:none}.site-header__catch{color:var(--fg-muted);flex:1;font-size:.8rem}@media (max-width:640px){.site-header__catch{display:none}}.tag-menu{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tag-menu a{color:var(--fg-muted);font-size:.85rem;text-decoration:none}.tag-menu a:hover{color:var(--accent)}.site-footer{border-top:1px solid var(--border);background:var(--bg-subtle);color:var(--fg-muted);margin-top:64px;padding:32px 0;font-size:.85rem}.site-footer nav{flex-wrap:wrap;gap:16px;margin:12px 0;display:flex}.tag-pills{flex-wrap:wrap;gap:8px;margin:24px 0 4px;display:flex}.tag-pill{color:var(--fg-muted);background:var(--bg-subtle);border:1px solid var(--border);white-space:nowrap;border-radius:999px;align-items:center;padding:5px 14px;font-size:.82rem;text-decoration:none;transition:color .15s,border-color .15s,background-color .15s;display:inline-flex}.tag-pill:hover{color:var(--accent);border-color:var(--accent)}.tag-pill.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.tag-pill--more{background:0 0;border-style:dashed}.article-list{gap:20px;margin:24px 0;display:grid}@media (min-width:700px){.article-list{grid-template-columns:1fr 1fr;gap:28px 32px}}.article-card{color:inherit;grid-template-columns:120px 1fr;align-items:start;gap:16px;text-decoration:none;display:grid}.article-card__thumb{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);background:var(--bg-subtle);width:100%}.article-card__title{margin:0 0 4px;font-size:1.05rem;font-weight:700;line-height:1.5}.article-card__excerpt{color:var(--fg-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 6px;font-size:.9rem;display:-webkit-box;overflow:hidden}.article-card__date{color:var(--fg-muted);font-size:.78rem}@media (max-width:520px){.article-card{grid-template-columns:96px 1fr;gap:12px}}.article-card--featured{grid-column:1/-1;grid-template-columns:140px 1fr}.article-card--featured .article-card__title{font-size:1.2rem}.article-card--featured .article-card__excerpt{-webkit-line-clamp:3}@media (min-width:520px){.article-card--featured{grid-template-columns:220px 1fr}}@media (min-width:700px){.article-card--featured{grid-template-columns:360px 1fr;gap:28px}.article-card--featured .article-card__thumb{aspect-ratio:16/10}.article-card--featured .article-card__title{font-size:1.45rem}.article-card--featured .article-card__excerpt{font-size:.95rem}}.breadcrumbs{color:var(--fg-muted);flex-wrap:wrap;gap:6px;margin:16px 0;font-size:.8rem;display:flex}.breadcrumbs a{text-decoration:none}.article-header__date{color:var(--fg-muted);font-size:.82rem}.article-header__title{text-wrap:pretty;margin:6px 0 12px;font-size:1.7rem;line-height:1.4}.article-header__meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:12px 0;display:flex}.byline{color:var(--fg-muted);align-items:center;gap:10px;font-size:.85rem;display:flex}.byline__name{color:var(--fg);font-weight:700}.article-cover{margin:16px 0 20px}.article-cover img{object-fit:cover;border-radius:var(--radius);width:100%;max-width:560px;height:auto;max-height:320px;margin:0 auto;display:block}.ad-disclosure{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius);color:var(--fg-muted);margin:16px 0;padding:10px 14px;font-size:.82rem}.ad-disclosure-note{color:var(--fg-muted);margin:4px 0 16px;font-size:.75rem}.article-layout{grid-template-columns:minmax(0,1fr) 220px;align-items:start;gap:32px;margin-top:8px;display:grid}.article-main{min-width:0}.article-sidebar{top:calc(var(--header-h) + 20px);max-height:calc(100vh - var(--header-h) - 40px);overscroll-behavior:contain;align-self:start;gap:28px;font-size:.82rem;display:grid;position:sticky;overflow-y:auto}.article-sidebar::-webkit-scrollbar{width:6px}.article-sidebar::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.article-tags{flex-wrap:wrap;gap:6px 14px;margin-top:36px;display:flex}.article-tags a{color:var(--fg-muted);font-size:.9rem;text-decoration:none}.sidebar-block__title{margin-bottom:10px;font-size:.95rem;display:block}.sidebar-taglist{margin:0;padding:0;list-style:none}.sidebar-taglist li{border-bottom:1px solid var(--border);justify-content:space-between;gap:8px;padding:7px 0;display:flex}.sidebar-taglist li:last-child{border-bottom:none}.sidebar-taglist a{color:var(--fg);text-decoration:none}.sidebar-taglist a:hover{color:var(--accent)}.sidebar-taglist span{color:var(--fg-muted);font-variant-numeric:tabular-nums}@media (max-width:900px){.article-layout{grid-template-columns:1fr;gap:0}.article-sidebar{max-height:none;position:static;overflow:visible}}.prose{max-width:var(--measure);font-size:var(--font-size-base);line-height:var(--line-height)}@media (min-width:901px){.article-layout .prose{max-width:none}}.prose>*+*{margin-top:1.5em}.prose h2{text-wrap:pretty;scroll-margin-top:calc(var(--header-h) + 12px);margin-top:2.2em;margin-bottom:.6em;font-size:1.5rem;line-height:1.5}.prose h3{scroll-margin-top:calc(var(--header-h) + 12px);margin-top:1.8em;margin-bottom:.5em;font-size:1.25rem}.prose a{text-decoration:underline}.prose img{border-radius:var(--radius);cursor:zoom-in}.lightbox{z-index:100;cursor:zoom-out;background:#000000d9;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.lightbox img{border-radius:var(--radius);max-width:100%;max-height:100%}.prose blockquote.kb-quote{border-left:3px solid var(--border);color:var(--fg-muted);margin:1.5em 0;padding:0 0 0 16px}.prose .kb-quote-cite{margin-top:6px;font-size:.85rem}.prose code{background:var(--bg-subtle);border-radius:4px;padding:.15em .35em;font-size:.9em}.prose pre{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;overflow-x:auto}.prose pre code{background:0 0;padding:0}.kb-table{-webkit-overflow-scrolling:touch;margin:1.5em 0;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:.9rem;line-height:1.5}.prose th,.prose td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:8px 12px}.prose thead th{background:var(--bg-subtle);white-space:nowrap;font-weight:600}.prose tbody tr:nth-child(2n){background:color-mix(in srgb, var(--bg-subtle) 45%, transparent)}.prose td[align=right],.prose th[align=right]{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.prose td[align=center],.prose th[align=center]{text-align:center}.kb-figure{margin:1.5em 0}.prose .kb-figure img{width:auto;max-width:min(100%,460px);max-height:60vh;margin:0 auto;display:block}.prose .kb-figure--wide img{width:100%;max-width:100%;max-height:none}.kb-figcaption{text-align:center;color:var(--fg-muted);margin-top:6px;font-size:.82rem}.kb-gallery{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;display:grid}.kb-gallery img{aspect-ratio:1;object-fit:cover;width:100%}.kb-note{border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius);background:var(--bg-subtle);padding:12px 16px}.kb-note--warning{border-left-color:#c2410c}.kb-note--tip{border-left-color:#0369a1}.kb-red{color:#b91c1c;background:0 0;font-weight:600}.kb-spec{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-subtle);padding:4px 16px}.kb-spec ul{margin:8px 0;padding:0;list-style:none}.kb-spec li{border-bottom:1px dashed var(--border);padding:6px 0}.kb-spec li:last-child{border-bottom:none}.kb-product{border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:120px 1fr;align-items:center;gap:16px;margin:1.5em 0;padding:16px;display:grid}.kb-product__img{aspect-ratio:1;object-fit:contain;width:100%}.kb-product__title{margin:0 0 6px;font-weight:700}.kb-product__price{color:#c2410c;margin:0 0 10px;font-weight:700}.kb-cta,.kb-linkbtn{background:var(--accent);color:#fff;border-radius:999px;padding:10px 20px;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-block}.prose .kb-cta,.prose .kb-linkbtn{color:var(--accent);font-weight:400;font-size:inherit;text-underline-offset:2px;background:0 0;border-radius:0;padding:0;text-decoration:underline;display:inline}.kb-unknown-directive{display:none}.toc ul{margin:0;padding-left:0;list-style:none}.toc li{margin:4px 0}.toc li.depth-3{padding-left:14px}.toc a{color:var(--fg-muted);text-decoration:none}.toc a:hover{color:var(--accent)}.toc__mobile{border:1px solid var(--border);border-radius:var(--radius);margin:16px 0;padding:8px 14px}@media (min-width:901px){.toc__mobile{display:none}}.toc__desktop{display:none}@media (min-width:901px){.toc__desktop{display:block}}.toc__title{margin-bottom:12px;font-size:.95rem;display:block}.toc__desktop ul{border-left:2px solid var(--border)}.toc__desktop li{margin:0;padding:7px 0 7px 16px;line-height:1.5;position:relative}.toc__desktop li.depth-3{padding-left:28px;font-size:.95em}.toc__desktop li:before{content:"";background:var(--border);border-radius:50%;width:8px;height:8px;position:absolute;top:1em;left:-5px}.toc__desktop li a{color:var(--fg-muted);transition:color .15s}.toc__desktop li.is-active:before{background:var(--accent)}.toc__desktop li.is-active a{color:var(--fg);font-weight:700}.share{gap:10px;margin:8px 0;display:flex}.share a,.share button{border:1px solid var(--border);background:var(--bg);width:34px;height:34px;color:var(--fg-muted);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;text-decoration:none;transition:color .15s,border-color .15s;display:inline-flex}.share a:hover,.share button:hover{color:var(--fg);border-color:var(--fg-muted)}.share svg{display:block}.related{margin-top:48px}.related h2{font-size:1.15rem}.pagination{justify-content:center;gap:12px;margin:32px 0;display:flex}.pagination a{border:1px solid var(--border);border-radius:var(--radius);padding:8px 16px;text-decoration:none}.searchbox{gap:6px;display:flex}.searchbox input{border:1px solid var(--border);border-radius:999px;width:160px;padding:6px 14px;font-size:.85rem}@media (max-width:640px){.searchbox input{width:120px}}.admin{max-width:720px;margin:0 auto;padding:16px}.admin input[type=text],.admin input[type=password],.admin textarea,.admin select{border:1px solid var(--border);border-radius:var(--radius);width:100%;padding:10px;font-family:inherit;font-size:16px}.admin textarea{min-height:340px;line-height:1.6}.admin label{margin:16px 0 4px;font-size:.9rem;font-weight:700;display:block}.admin button{background:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:12px 20px;font-size:.95rem;font-weight:700}.admin button.secondary{background:var(--bg-subtle);color:var(--fg);border:1px solid var(--border)}.admin .row{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.admin table{border-collapse:collapse;width:100%;font-size:.9rem}.admin th,.admin td{text-align:left;border-bottom:1px solid var(--border);padding:8px}.admin .tabs{gap:8px;margin:16px 0 8px;display:flex}.admin .tabs button{background:var(--bg-subtle);color:var(--fg-muted);border:1px solid var(--border);padding:6px 14px}.admin .tabs button[aria-selected=true]{background:var(--accent);color:#fff}.admin .error{color:#b91c1c;margin:8px 0;font-size:.9rem}.admin nav a{margin-right:14px;font-size:.9rem}
