:root{--color-bg: #F8F5F0;--color-bg-alt: #EFE9DE;--color-surface: #FFFFFF;--color-border: #E0D8CC;--color-text: #1E1A16;--color-text-muted: #8C7B6B;--color-text-light: #B5A898;--color-accent: #8B5E3C;--color-accent-h: #A8744E;--color-accent-bg: #F5EDE3;--color-sage: #6B8C6E;--color-sage-bg: #EAF0E8;--font-serif: "Noto Serif JP", "Georgia", serif;--font-sans: "Noto Sans JP", "Helvetica Neue", sans-serif;--shadow-sm: 0 1px 3px rgba(30,26,22,.07);--shadow-md: 0 4px 16px rgba(30,26,22,.09), 0 1px 4px rgba(30,26,22,.06);--shadow-lg: 0 8px 32px rgba(30,26,22,.12), 0 2px 8px rgba(30,26,22,.07);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--accent: var(--color-accent);--black: 30, 26, 22;--gray: 140, 123, 107;--gray-light: 224, 216, 204;--gray-dark: 60, 48, 38;--gray-gradient: rgba(var(--gray-light), 40%), var(--color-bg);--box-shadow: var(--shadow-md)}*,*:before,*:after{box-sizing:border-box}body{font-family:var(--font-sans);margin:0;padding:0;background-color:var(--color-bg);color:var(--color-text);font-size:17px;line-height:1.8;-webkit-font-smoothing:antialiased}main{width:100%;max-width:780px;margin:0 auto;padding:3rem 1.5rem}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);margin:0 0 .6rem;color:var(--color-text);line-height:1.3;font-weight:700;letter-spacing:.02em}h1{font-size:2.4rem}h2{font-size:1.8rem}h3{font-size:1.4rem}h4{font-size:1.15rem}h5{font-size:1rem}strong,b{font-weight:700}a{color:var(--color-accent);text-decoration:none;transition:color .2s}a:hover{color:var(--color-accent-h)}p{margin:0 0 1.2rem}.prose{font-size:1.05rem;line-height:1.9}.prose p{margin-bottom:1.8rem}.prose h2{margin:2.5rem 0 .8rem}.prose h3{margin:2rem 0 .6rem}.prose a{text-decoration:underline;text-underline-offset:3px}.prose ul,.prose ol{padding-left:1.6em;margin-bottom:1.8rem}.prose li{margin-bottom:.4rem}.prose img{border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}blockquote{border-left:3px solid var(--color-accent);padding:.5em 0 .5em 1.2em;margin:1.5rem 0;color:var(--color-text-muted);font-style:italic}hr{border:none;border-top:1px solid var(--color-border);margin:2rem 0}code{font-size:.88em;padding:2px 6px;background:var(--color-bg-alt);border-radius:var(--radius-sm);color:var(--color-accent)}pre{padding:1.4em 1.6em;border-radius:var(--radius-md);overflow-x:auto;background:#2a2018!important}pre>code{all:unset;color:#ede6d8;font-size:.88em}img{max-width:100%;height:auto}table{width:100%;border-collapse:collapse}th,td{padding:.6em .9em;border:1px solid var(--color-border);text-align:left}th{background:var(--color-bg-alt);font-family:var(--font-serif);font-weight:700}@media(max-width:720px){body{font-size:16px}main{padding:1.5rem 1rem}h1{font-size:1.9rem}h2{font-size:1.5rem}}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tag-pill{display:inline-block;padding:.2em .75em;background:var(--color-bg-alt);border-radius:999px;font-size:.78rem;color:var(--color-text-muted);text-decoration:none;transition:background .2s,color .2s}.tag-pill:hover{background:var(--color-accent);color:#fff}.post-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow .25s,transform .25s}.post-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.post-card a{color:inherit}.post-card .card-img img{width:100%;height:200px;object-fit:cover;display:block;border-radius:0}.post-card .card-body{padding:1.2rem 1.4rem 1.4rem}.post-card .card-date{font-size:.78rem;color:var(--color-text-light);margin-bottom:.4rem;letter-spacing:.05em}.post-card .card-title{font-family:var(--font-serif);font-size:1.05rem;font-weight:700;color:var(--color-text);margin:0 0 .6rem;line-height:1.45}.post-card .card-tags{display:flex;flex-wrap:wrap;gap:.35em}.site-footer[data-astro-cid-sz7xmlte]{background:var(--color-text);color:#b5a898;margin-top:6rem}.footer-inner[data-astro-cid-sz7xmlte]{max-width:1100px;margin:0 auto;padding:3rem 2rem 2rem;display:grid;grid-template-columns:1fr auto;gap:1.5rem 3rem;align-items:start}.footer-brand[data-astro-cid-sz7xmlte]{grid-column:1}.footer-title[data-astro-cid-sz7xmlte]{font-family:var(--font-serif);font-size:1.1rem;font-weight:700;color:#ede6d8;margin:0 0 .4rem;letter-spacing:.03em}.footer-desc[data-astro-cid-sz7xmlte]{font-size:.83rem;color:#8a7a6a;margin:0;line-height:1.6}.footer-nav[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;align-items:center}.footer-nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{font-size:.85rem;color:#b5a898;text-decoration:none;transition:color .2s}.footer-nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:#ede6d8}.footer-social[data-astro-cid-sz7xmlte]{grid-column:2;grid-row:1;display:flex;gap:.5rem;align-items:center}.footer-social[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:#8a7a6a;border-radius:var(--radius-sm);transition:color .2s}.footer-social[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:#ede6d8}.footer-copy[data-astro-cid-sz7xmlte]{grid-column:1 / -1;font-size:.78rem;color:#6a5c50;margin:1rem 0 0;padding-top:1.5rem;border-top:1px solid #3A2E26}@media(max-width:640px){.footer-inner[data-astro-cid-sz7xmlte]{grid-template-columns:1fr;padding:2rem 1rem 1.5rem}.footer-social[data-astro-cid-sz7xmlte]{grid-column:1;grid-row:auto}}a[data-astro-cid-eimmu3lg]{display:inline-block;text-decoration:none}a[data-astro-cid-eimmu3lg].active{font-weight:bolder;text-decoration:underline}.site-logo[data-astro-cid-jwiz4kkf]{display:inline-flex;align-items:center;text-decoration:none;flex-shrink:0}.logo-text[data-astro-cid-jwiz4kkf]{display:inline-flex;align-items:baseline;white-space:nowrap;line-height:1}.k[data-astro-cid-jwiz4kkf]{font-family:Hannari,"Noto Serif JP",serif;font-size:1.4rem;font-weight:400;letter-spacing:.04em;color:#333}.h[data-astro-cid-jwiz4kkf]{font-family:BIZ UDPGothic,Noto Sans JP,sans-serif;font-size:.88rem;font-weight:400;letter-spacing:.02em;color:#333;position:relative;top:-.05em}.dot[data-astro-cid-jwiz4kkf]{font-family:Hannari,"Noto Serif JP",serif;font-size:1.4rem;color:#004184}.site-logo[data-astro-cid-jwiz4kkf]:hover .k[data-astro-cid-jwiz4kkf],.site-logo[data-astro-cid-jwiz4kkf]:hover .h[data-astro-cid-jwiz4kkf]{color:var(--color-accent)}.site-logo[data-astro-cid-jwiz4kkf]:hover .dot[data-astro-cid-jwiz4kkf]{color:#004184}.site-header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:100;background:#f8f5f0f0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border)}.header-inner[data-astro-cid-3ef6ksr2]{max-width:1200px;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);height:64px;display:flex;align-items:center;justify-content:space-between;gap:clamp(.5rem,3vw,2rem)}.header-nav[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:clamp(.1rem,1.8vw,1.1rem);flex-shrink:0}.header-nav[data-astro-cid-3ef6ksr2] a{display:inline-flex;align-items:center;padding:.35em clamp(.3em,1vw,.65em);font-family:BIZ UDPGothic,Noto Sans JP,sans-serif;font-size:clamp(.78rem,1.2vw,.9rem);color:#666;text-decoration:none;border-radius:var(--radius-sm);transition:color .18s,background .18s;white-space:nowrap;letter-spacing:.04em}.header-nav[data-astro-cid-3ef6ksr2] a:hover,.header-nav[data-astro-cid-3ef6ksr2] a.active{color:#333;background:var(--color-bg-alt)}.header-nav[data-astro-cid-3ef6ksr2] a.active{font-weight:700}.nav-icon-btn[data-astro-cid-3ef6ksr2]{width:32px!important;height:32px!important;padding:0!important;justify-content:center;color:#888!important;flex-shrink:0}.nav-icon-btn[data-astro-cid-3ef6ksr2]:hover{color:var(--color-accent)!important}.nav-sep[data-astro-cid-3ef6ksr2]{display:inline-block;width:1px;height:16px;background:var(--color-border);flex-shrink:0;margin:0 clamp(.1rem,.5vw,.3rem)}@media(max-width:768px){.header-inner[data-astro-cid-3ef6ksr2]{height:56px}.nav-sep[data-astro-cid-3ef6ksr2],.header-nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2][target=_blank]{display:none!important}}@media(max-width:480px){.k{font-size:1.05rem}.h{font-size:.75rem}.dot{font-size:1.05rem}}
