@charset "UTF-8";:root{--ink: #202020;--ink-soft: #514e4e;--paper: #f2f1f1;--gray: #eaeaea;--gray-d: #c9c9c9;--orange: #ff7a1a;--orange-d: #e85f0a;--white: #fff;--font-ja: "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", sans-serif;--font-en: "Jost", "Avenir Next", "Futura", sans-serif;--header-h: 70px;--content-w: 760px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-ja);color:var(--ink);background:var(--white);font-size:16px;line-height:1.9;letter-spacing:.04em;-webkit-font-smoothing:antialiased}img,svg,video{max-width:100%;height:auto;vertical-align:middle}a{color:inherit;text-decoration:none}ul,ol{list-style:none}.site-header{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--gray);position:sticky;top:0;background:var(--white);z-index:10}.site-header .brand{font-family:var(--font-en);font-weight:600;font-size:20px;letter-spacing:.08em}.site-header .brand .accent{color:var(--orange)}.site-header nav{display:flex;gap:24px}.site-header nav a{font-family:var(--font-en);font-size:14px;letter-spacing:.08em;color:var(--ink-soft)}.site-header nav a:hover{color:var(--orange-d)}.site-footer{border-top:1px solid var(--gray);margin-top:96px;padding:32px 24px;text-align:center;color:var(--ink-soft);font-size:13px}.site-footer a{color:var(--ink-soft);text-decoration:underline}.blog-hero{max-width:var(--content-w);margin:64px auto 40px;padding:0 24px}.blog-hero h1{font-family:var(--font-en);font-size:40px;letter-spacing:.06em;line-height:1.3}.blog-hero h1 .accent{color:var(--orange)}.post-card .draft-badge,.article-header .draft-badge{display:inline-block;margin-left:8px;padding:1px 6px;border:1px solid var(--orange);border-radius:3px;color:var(--orange);font-size:10px;letter-spacing:.1em;vertical-align:middle}.post-list{max-width:var(--content-w);margin:0 auto;padding:0 24px 40px;display:grid;gap:28px}.post-card{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:20px;border:1px solid var(--gray);background:var(--white);transition:border-color .2s ease,transform .2s ease}.post-card:hover{border-color:var(--orange);transform:translateY(-2px)}.post-card .thumb{aspect-ratio:16 / 10;background:var(--paper);overflow:hidden;display:flex;align-items:center;justify-content:center}.post-card .thumb img{width:100%;height:100%;object-fit:cover}.post-card .thumb .placeholder{font-family:var(--font-en);font-size:12px;letter-spacing:.2em;color:var(--gray-d)}.post-card .meta{font-family:var(--font-en);font-size:12px;letter-spacing:.1em;color:var(--ink-soft)}.post-card h2{font-size:18px;line-height:1.5;margin:6px 0}.post-card p{font-size:14px;color:var(--ink-soft);line-height:1.7}.post-card .tags{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}.post-card .tags li,.article-header .tags li{font-size:11px;font-family:var(--font-en);letter-spacing:.06em;border:1px solid var(--gray-d);padding:1px 8px;color:var(--ink-soft)}.post-card .tags li a,.article-header .tags li a{color:inherit;text-decoration:none}.post-card .tags li:hover,.article-header .tags li:hover{border-color:var(--orange);color:var(--orange)}.post-card h2 a{color:inherit;text-decoration:none}.post-card h2 a:hover{color:var(--orange)}.post-list .empty{color:var(--ink-soft)}.pagination{max-width:var(--content-w);margin:8px auto 64px;padding:0 24px;display:flex;align-items:center;justify-content:center;gap:20px;font-family:var(--font-en);font-size:14px;letter-spacing:.06em}.pagination ul{display:flex;gap:6px;list-style:none;margin:0;padding:0}.pagination ul a,.pagination ul .current{display:inline-block;min-width:36px;padding:6px 8px;text-align:center;border:1px solid var(--gray-d);text-decoration:none;color:var(--ink)}.pagination ul a:hover{border-color:var(--orange);color:var(--orange)}.pagination ul .current{background:var(--ink);border-color:var(--ink);color:var(--white)}.pagination .prev,.pagination .next{color:var(--ink);text-decoration:none}.pagination .disabled{color:var(--gray-d)}.blog-hero .page-note{margin-top:12px;color:var(--ink-soft);font-size:15px}.blog-hero .eyebrow{font-family:var(--font-en);font-size:13px;letter-spacing:.1em;margin-bottom:8px}.blog-hero .eyebrow a{color:var(--ink-soft);text-decoration:none}.tag-index{max-width:var(--content-w);margin:0 auto 64px;padding:0 24px}.tag-cloud{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}.tag-cloud a{display:inline-block;padding:8px 14px;border:1px solid var(--gray-d);color:var(--ink);text-decoration:none;font-size:14px}.tag-cloud a:hover{border-color:var(--orange);color:var(--orange)}.tag-cloud .count{margin-left:6px;font-family:var(--font-en);font-size:12px;color:var(--ink-soft)}@media(max-width:640px){.post-card{grid-template-columns:1fr}.blog-hero h1{font-size:30px}}.article-thumb{max-width:var(--content-w);margin:48px auto 0;padding:0 24px}.article-thumb img{display:block;width:100%;height:auto;aspect-ratio:1200 / 630;object-fit:cover;border:1px solid var(--gray)}.article-header{max-width:var(--content-w);margin:32px auto 0;padding:0 24px}.article-header:first-child{margin-top:64px}.article-header .meta{font-family:var(--font-en);font-size:13px;letter-spacing:.1em;color:var(--ink-soft)}.article-header h1{font-size:30px;line-height:1.5;margin:10px 0 14px}.article-header .author{display:flex;align-items:center;gap:8px;margin:0 0 14px;font-size:14px;color:var(--ink-soft)}.author-avatar{display:inline-block;width:28px;height:28px;border-radius:50%;overflow:hidden;object-fit:cover;background:var(--gray);flex-shrink:0;line-height:0}.author-avatar svg{display:block;width:100%;height:100%}.post-card .author-sm{margin:10px 0 0}.post-card .author-sm .author{font-size:13px}.article-header .author .role{margin-left:8px;font-size:12px}.article-header .tags{display:flex;flex-wrap:wrap;gap:6px}.article-body{max-width:var(--content-w);margin:40px auto 0;padding:0 24px}.article-body h2{font-size:24px;line-height:1.5;margin:56px 0 20px;padding-bottom:10px;border-bottom:2px solid var(--gray)}.article-body h3{font-size:19px;margin:40px 0 14px}.article-body p{margin:0 0 22px}.article-body ul,.article-body ol{margin:0 0 22px;padding-left:24px}.article-body ul{list-style:disc}.article-body ol{list-style:decimal}.article-body li{margin-bottom:6px}.article-body a{color:var(--orange-d);text-decoration:underline}.article-body strong{font-weight:700}.article-body blockquote{border-left:3px solid var(--orange);background:var(--paper);padding:14px 20px;margin:0 0 22px;color:var(--ink-soft)}.article-body blockquote p:last-child{margin-bottom:0}.article-body pre{background:#1e1e1e;border-radius:6px;padding:18px 20px;overflow-x:auto;margin:0 0 22px;font-size:13.5px;line-height:1.7}.article-body :not(pre)>code{background:var(--paper);border:1px solid var(--gray);border-radius:4px;padding:1px 6px;font-size:.88em}.article-body table{border-collapse:collapse;margin:0 0 22px;width:100%;display:block;overflow-x:auto;font-size:14px;line-height:1.6}.article-body th,.article-body td{border:1px solid var(--gray-d);padding:8px 12px;white-space:nowrap}.article-body th{background:var(--paper)}.article-body hr{border:none;border-top:1px solid var(--gray);margin:48px 0}.article-footer{max-width:var(--content-w);margin:64px auto 0;padding:0 24px}.article-footer .back{font-family:var(--font-en);font-size:14px;letter-spacing:.08em;color:var(--orange-d)}
