:root{--fg: #1a1a1a;--muted: #667085;--bg: #ffffff;--primary: #2563eb;--accent: #f59e0b;--primary-hover: color-mix(in srgb, var(--primary) 82%, #000);--primary-soft: color-mix(in srgb, var(--primary) 10%, #fff);--primary-softer: color-mix(in srgb, var(--primary) 6%, #fff);--primary-fg: color-mix(in srgb, var(--primary) 78%, #000);--accent-hover: color-mix(in srgb, var(--accent) 84%, #000);--accent-fg: #7a5300;--accent-soft: var(--primary-soft);--border: #e5e7eb;--surface: #f9fafb;--surface-2: #f3f4f6;--footer-bg: #0f172a;--footer-fg: #cbd5e1;--footer-muted: #94a3b8;--pr-bg: #fff8e1;--pr-border: #ffe08a;--pr-fg: #7a5b00;--max-width: 44rem;--wide-width: 60rem;--radius: 12px;--radius-sm: 8px;--shadow-1: 0 1px 2px rgba(15, 23, 42, .06), 0 1px 3px rgba(15, 23, 42, .08);--shadow-2: 0 8px 24px rgba(15, 23, 42, .12)}*{box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;color:var(--fg);background:var(--bg);font-family:Noto Sans JP,system-ui,-apple-system,Hiragino Kaku Gothic ProN,sans-serif;line-height:1.8}a{color:var(--primary)}.container{width:100%;max-width:var(--wide-width);margin:0 auto;padding:1.5rem 1.1rem 3rem}.container>article{max-width:var(--max-width);margin:0 auto}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--border);padding:.55rem 1.1rem;transition:box-shadow .2s ease,border-color .2s ease}.site-header.is-scrolled{box-shadow:var(--shadow-1);border-bottom-color:transparent}.site-header__inner{max-width:var(--wide-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem}.site-nav{display:none;align-items:center;gap:1.15rem}.site-nav__link{color:var(--fg);text-decoration:none;font-size:.9rem;font-weight:700;white-space:nowrap;transition:color .15s ease}.site-nav__link:hover{color:var(--primary)}.site-nav__about{color:#fff;background:var(--primary);padding:.32rem .85rem;border-radius:999px}.site-nav__about:hover{color:#fff;background:var(--primary-hover)}@media(min-width:52rem){.site-nav{display:flex}}.site-brand{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--fg)}.site-logo{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-sm);background:var(--primary);color:#fff;font-weight:700;font-size:1.05rem;line-height:1;flex:0 0 auto}.site-title{font-weight:700;font-size:1.12rem}.hero{position:relative;margin:1.5rem 0 2.25rem;padding:2.5rem 1.6rem;border-radius:var(--radius);background:radial-gradient(120% 120% at 100% 0%,color-mix(in srgb,var(--accent) 45%,var(--primary)) 0%,transparent 55%),linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 100%);color:#fff;box-shadow:var(--shadow-2);overflow:hidden}.hero__inner{position:relative;z-index:1;display:flex;align-items:center;gap:1.5rem}.hero__content{flex:1 1 auto;min-width:0}.hero__title{font-size:clamp(1.55rem,4.4vw,2.25rem);line-height:1.34;font-weight:700;margin:0 0 .75rem;color:#fff;letter-spacing:.01em;text-wrap:balance}.hero__sub{color:#ffffffeb;font-size:1rem;line-height:1.7;margin:0 0 1.4rem;max-width:34rem}.hero__cta{display:inline-flex;align-items:center;gap:.4rem;background:var(--accent);color:#1a1200;text-decoration:none;font-weight:700;font-size:1rem;padding:.85rem 1.9rem;border-radius:999px;box-shadow:0 6px 18px #0003;transition:transform .12s ease,background-color .15s ease}.hero__cta:hover{background:var(--accent-hover);transform:translateY(-2px)}.hero .category-nav{margin-top:1.4rem}.hero .category-nav ul{margin:0}.hero .category-nav a{border:1px solid rgba(255,255,255,.5);background:#ffffff24;color:#fff}.hero .category-nav a:hover{background:#ffffff42}.hero__decor{display:none}@media(min-width:48rem){.hero__decor{display:block;position:relative;flex:0 0 clamp(160px,20vw,220px);align-self:stretch;min-height:190px}.hero__ring,.hero__dot,.hero__blob{position:absolute;border-radius:50%}.hero__ring{border:2px solid rgba(255,255,255,.4)}.hero__ring--1{width:200px;height:200px;top:-10px;right:-30px}.hero__ring--2{width:120px;height:120px;bottom:-20px;right:60px;border-color:#ffffff40}.hero__blob{width:130px;height:130px;top:30px;right:10px;background:#ffffff1f;filter:blur(2px)}.hero__dot{background:var(--accent)}.hero__dot--1{width:22px;height:22px;top:20px;right:30px;box-shadow:0 0 0 6px #f59e0b40}.hero__dot--2{width:12px;height:12px;bottom:24px;right:150px;background:#ffffffd9}}.category-nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem .6rem;padding:0;margin:0 0 .8rem}.category-nav a{display:inline-block;border:1px solid var(--border);border-radius:999px;padding:.3rem .9rem;font-size:.85rem;text-decoration:none;color:var(--primary-fg);transition:background-color .15s ease}.category-nav a:hover{background:var(--primary-soft)}.section-heading,.posts-section>h2,.category-page>h1{font-size:1.3rem;font-weight:700;margin:0 0 .2rem;padding-left:.7rem;border-left:5px solid var(--primary);line-height:1.4}.layout{display:block}.layout__main{min-width:0}@media(min-width:64rem){.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:2.25rem;align-items:start}}.post-list{list-style:none;padding:0;margin:1.25rem 0 0;display:grid;gap:1.25rem;grid-template-columns:1fr}@media(min-width:30rem){.post-list{grid-template-columns:repeat(2,1fr)}}.post-list--related{margin-top:1rem}@media(min-width:48rem){.post-list--related{grid-template-columns:repeat(3,1fr)}}.post-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);overflow:hidden;box-shadow:var(--shadow-1);transition:transform .15s ease,box-shadow .15s ease}.post-card:hover,.post-card:focus-within{transform:translateY(-4px);box-shadow:var(--shadow-2)}.post-card__link:after{content:"";position:absolute;inset:0;z-index:1}.post-card__thumb{aspect-ratio:16 / 9;width:100%;height:auto;object-fit:cover;display:block;background:var(--primary-soft)}.post-card__placeholder{aspect-ratio:16 / 9;width:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-soft),var(--primary-softer));color:var(--primary);font-size:2.4rem;font-weight:700;user-select:none}.post-card__body{padding:.9rem 1rem 1.1rem;display:flex;flex-direction:column;gap:.4rem;flex:1 1 auto}.post-card__title{font-size:1.02rem;font-weight:700;line-height:1.5;margin:0}.post-card__link{color:var(--fg);text-decoration:none}.post-card:hover .post-card__link{color:var(--primary)}.post-card__desc{margin:0;color:var(--muted);font-size:.86rem;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-card__meta{margin-top:auto;color:var(--muted);font-size:.76rem}.post-category{display:inline-block;background:var(--primary);color:#fff;font-size:.72rem;font-weight:700;line-height:1.4;padding:.15rem .6rem;border-radius:999px;vertical-align:middle}.post-card__badge{position:absolute;top:.65rem;left:.65rem;z-index:2;box-shadow:var(--shadow-1)}.site-info{margin:2.5rem 0 0;text-align:center;font-size:.9rem}.sidebar{margin-top:2.5rem;display:flex;flex-direction:column;gap:1.5rem}@media(min-width:64rem){.sidebar{margin-top:0;position:sticky;top:4.5rem}}.side-block{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:1.1rem 1.2rem;box-shadow:var(--shadow-1)}.side-heading{font-size:1rem;font-weight:700;margin:0 0 .9rem;padding-left:.6rem;border-left:4px solid var(--primary);line-height:1.3}.side-profile__head{display:flex;align-items:center;gap:.8rem;margin-bottom:.8rem}.side-avatar{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:999px;background:var(--primary);color:#fff;font-weight:700;font-size:1.3rem;flex:0 0 auto}.side-profile__name{font-weight:700;margin:0;font-size:1rem}.side-profile__site{margin:.1rem 0 0;color:var(--muted);font-size:.8rem}.side-profile__bio{margin:0 0 .8rem;color:var(--muted);font-size:.88rem;line-height:1.7}.side-profile__link{font-size:.88rem;font-weight:700;text-decoration:none}.side-profile__link:hover{text-decoration:underline}.side-recent{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.9rem}.side-recent__link{display:flex;gap:.75rem;text-decoration:none;color:var(--fg)}.side-recent__thumb{width:80px;height:80px;flex:0 0 80px;object-fit:cover;border-radius:var(--radius-sm);background:var(--primary-soft);display:block}.side-recent__thumb--ph{display:inline-flex;align-items:center;justify-content:center;color:var(--primary);font-weight:700;font-size:1.5rem}.side-recent__meta{display:flex;flex-direction:column;justify-content:center;min-width:0}.side-recent__title{font-size:.88rem;font-weight:700;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.side-recent__link:hover .side-recent__title{color:var(--primary)}.side-recent__date{margin-top:.25rem;color:var(--muted);font-size:.74rem}.side-cats{list-style:none;margin:0;padding:0}.side-cats li+li{border-top:1px solid var(--border)}.side-cats__link{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.6rem .1rem;text-decoration:none;color:var(--fg);font-size:.92rem;font-weight:700}.side-cats__link:hover{color:var(--primary)}.side-cats__count{flex:0 0 auto;min-width:1.6rem;text-align:center;background:var(--primary-soft);color:var(--primary-fg);font-size:.78rem;font-weight:700;padding:.1rem .5rem;border-radius:999px}@media(prefers-color-scheme:dark){.side-block{background:var(--surface)}}.related{margin-top:3rem}article h1{font-size:1.7rem;line-height:1.35;margin:.4rem 0 .6rem}.article-meta{color:var(--muted);font-size:.85rem;margin:0 0 1.2rem}.article-body h2{font-size:1.35rem;margin-top:2.4rem;padding:.15rem 0 .35rem .8rem;border-left:4px solid var(--primary);scroll-margin-top:4.5rem}.article-body h3{font-size:1.12rem;margin-top:1.6rem;scroll-margin-top:4.5rem}.article-body img{max-width:100%;height:auto;border-radius:var(--radius-sm)}.article-body>p:first-of-type img{width:100%;aspect-ratio:16 / 9;max-height:22rem;object-fit:cover;border-radius:var(--radius);display:block}.article-body a{text-underline-offset:2px}.article-body blockquote{margin:1.4rem 0;padding:.6rem 1rem;border-left:4px solid var(--border);background:var(--surface);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--muted)}.article-body code{background:var(--surface-2);padding:.12rem .4rem;border-radius:4px;font-size:.9em}.article-body pre{background:#0f172a;color:#e2e8f0;padding:1rem 1.1rem;border-radius:var(--radius-sm);overflow-x:auto;font-size:.85rem;line-height:1.6}.article-body pre code{background:none;padding:0;color:inherit}.article-body table{border-collapse:collapse;width:100%;margin:1.4rem 0;font-size:.9rem}.article-body th,.article-body td{border:1px solid var(--border);padding:.5rem .7rem;text-align:left}.article-body thead th{background:var(--surface-2)}.article-body tbody tr:nth-child(2n){background:var(--surface)}.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:.25rem .5rem;padding:0;margin:0 0 .8rem;font-size:.8rem;color:var(--muted)}.breadcrumb li:not(:last-child):after{content:"›";margin-left:.5rem;color:var(--muted)}.pr-disclosure{background:var(--pr-bg);border:1px solid var(--pr-border);border-radius:var(--radius-sm);padding:.5rem .8rem;font-size:.85rem;color:var(--pr-fg);margin:0 0 1.2rem}.author-box{margin-top:2.5rem;padding:1.1rem 1.2rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-1);display:flex;gap:1rem;align-items:flex-start}.author-avatar{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:999px;background:var(--primary);color:#fff;font-weight:700;font-size:1.3rem;flex:0 0 auto}.author-name{font-weight:700;margin:0 0 .3rem}.author-bio{margin:0 0 .5rem;color:var(--muted);font-size:.9rem}.author-sns{list-style:none;display:flex;flex-wrap:wrap;gap:.75rem;padding:0;margin:0;font-size:.85rem}.faq{margin-top:2.4rem}.faq-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);margin:.6rem 0;overflow:hidden}.faq-item summary{cursor:pointer;list-style:none;padding:.85rem 1rem;font-weight:700;display:flex;align-items:flex-start;gap:.5rem}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:before{content:"Q";flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border-radius:999px;background:var(--primary-soft);color:var(--primary-fg);font-size:.8rem}.faq-item summary:after{content:"＋";margin-left:auto;color:var(--muted);font-weight:700}.faq-item[open] summary:after{content:"－"}.faq-answer{padding:0 1rem 1rem 2.9rem;color:var(--fg)}.faq-answer p{margin:0}.compare-table-wrap{overflow-x:auto;margin:1.5rem 0}.compare-table{border-collapse:collapse;width:100%;font-size:.9rem}.compare-table th,.compare-table td{border:1px solid var(--border);padding:.5rem .7rem;text-align:left}.compare-table thead th{background:var(--surface-2)}.compare-table tbody tr:nth-child(2n){background:var(--surface)}.cta{margin:2rem 0;text-align:center}.cta-button{display:inline-block;background:var(--accent);color:#1a1200;text-decoration:none;font-weight:700;font-size:1.02rem;padding:.95rem 2rem;border-radius:999px;box-shadow:var(--shadow-1);transition:background-color .15s ease,transform .1s ease}.cta-button:hover{background:var(--accent-hover);transform:translateY(-1px)}.toc{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:.7rem 1.1rem;margin:0 0 1.8rem;font-size:.92rem;box-shadow:var(--shadow-1)}.toc summary{font-weight:700;cursor:pointer;color:var(--primary-fg)}.toc ol{margin:.6rem 0 0;padding-left:1.4rem}.toc li{margin:.3rem 0}.toc a{text-decoration:none}.toc a:hover{text-decoration:underline}.site-footer{background:var(--footer-bg);color:var(--footer-fg);margin-top:3rem}.footer-inner{max-width:var(--wide-width);margin:0 auto;padding:2rem 1.1rem 2.2rem}.footer-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.6rem 2.5rem;align-items:flex-start;padding-bottom:1.4rem;border-bottom:1px solid rgba(255,255,255,.12)}.footer-brand{display:inline-flex;align-items:center;gap:.55rem;color:#fff;font-weight:700;text-decoration:none}.footer-col-title{color:#fff;font-size:.82rem;font-weight:700;margin:0 0 .6rem;letter-spacing:.03em}.footer-cats ul,.footer-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.footer-cats a,.footer-nav a{color:var(--footer-muted);text-decoration:none;font-size:.88rem}.footer-cats a:hover,.footer-nav a:hover{color:#fff;text-decoration:underline}.footer-bottom{padding-top:1rem;color:var(--footer-muted);font-size:.82rem}.footer-bottom p{margin:0}.no-posts{color:var(--muted);margin:2rem 0}.back-to-top{position:fixed;right:1rem;bottom:1rem;z-index:60;width:2.8rem;height:2.8rem;border-radius:999px;border:none;background:var(--primary);color:#fff;font-size:1.2rem;cursor:pointer;box-shadow:var(--shadow-2);transition:background-color .15s ease}.back-to-top:hover{background:var(--primary-hover)}.back-to-top[hidden]{display:none}.skip-link{position:absolute;left:-9999px;top:0;background:var(--primary);color:#fff;padding:.5rem 1rem;border-radius:0 0 var(--radius-sm) 0;z-index:100}.skip-link:focus{left:0}a:focus-visible,button:focus-visible,summary:focus-visible,.cta-button:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:2px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media(min-width:48rem){html{font-size:17px}article h1{font-size:2.1rem}.hero{padding:2.75rem 2.25rem}}@media(prefers-color-scheme:dark){:root{--fg: #e6e6e6;--muted: #9aa0a6;--bg: #14171a;--primary-soft: color-mix(in srgb, var(--primary) 22%, #14171a);--primary-softer: color-mix(in srgb, var(--primary) 14%, #14171a);--primary-fg: color-mix(in srgb, var(--primary) 55%, #fff);--primary-hover: color-mix(in srgb, var(--primary) 78%, #fff);--accent-fg: #f0c674;--border: #2c3237;--surface: #1b1f23;--surface-2: #232a31;--footer-bg: #0b0e11;--footer-fg: #cbd5e1;--footer-muted: #8b95a3;--pr-bg: #2c2410;--pr-border: #5c4a12;--pr-fg: #e8cf7a}.hero{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 80%,#000),color-mix(in srgb,var(--primary) 55%,#000))}.post-card,.faq-item{background:var(--surface)}.article-body pre{background:#0b0e11}}
