:root{--bg:#f3faf7;--bg-soft:#e8f4ef;--surface:#fff;--text:#2c3b37;--text-muted:#6f857e;--accent:#14b8a6;--accent-deep:#0d9488;--accent-soft:#d6f1ea;--accent-2:#f0b8a8;--border:#d9ebe4;--radius:22px;--radius-sm:14px;--shadow:0 18px 40px -24px #0f766e59;--shadow-soft:0 10px 30px -20px #0f766e66;--maxw:720px;--font:-apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Segoe UI", Meiryo, sans-serif;--serif:"Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", "Songti SC", serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(900px 520px at 88% -8%, #d8f2ea 0%, transparent 62%), radial-gradient(760px 480px at -6% 8%, #eaf6ec 0%, transparent 55%), var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-attachment:fixed;margin:0;line-height:1.95;overflow-x:hidden}a{color:var(--accent-deep);text-decoration:none}a:hover{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.container{max-width:var(--maxw);margin:0 auto;padding:0 22px}.wide{max-width:1060px}img{max-width:100%;height:auto}h1,h2,h3,h4{font-family:var(--serif);letter-spacing:.01em;font-weight:600}.site-header{z-index:10;backdrop-filter:saturate(140%)blur(12px);border-bottom:1px solid var(--border);background:#f3faf7d1;position:sticky;top:0}.site-header .bar{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:12px;max-width:1060px;margin:0 auto;padding:16px 22px;display:flex}.brand{font-family:var(--serif);color:var(--text);letter-spacing:.02em;white-space:nowrap;flex-shrink:0;align-items:center;gap:11px;font-size:1.18rem;font-weight:600;display:flex}.brand:hover{color:var(--accent-deep);text-decoration:none}.brand .mark{background:radial-gradient(circle at 32% 28%, #5fd6c5, var(--accent) 70%);border-radius:50%;flex:none;place-items:center;width:30px;height:30px;display:grid;box-shadow:0 6px 16px -6px #14b8a6b3}.brand .mark svg{width:17px;height:17px;display:block}.nav{flex-wrap:nowrap;flex-shrink:0;gap:8px;font-size:.94rem;display:flex}.nav a{color:var(--text-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:6px 13px;transition:background .18s,color .18s;display:inline-flex}.nav a:hover{color:var(--accent-deep);background:var(--accent-soft);text-decoration:none}.nav-ico{flex:none;width:19px;height:19px;display:none}.nav-ico svg{width:100%;height:100%;display:block}.hero{text-align:center;padding:78px 22px 52px;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(420px 220px at 20% 30%,#14b8a61a,#0000 70%),radial-gradient(420px 220px at 82% 70%,#f0b8a824,#0000 70%);position:absolute;inset:0}.hero .eyebrow{font-family:var(--font);letter-spacing:.22em;color:var(--accent-deep);text-transform:uppercase;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:999px;margin-bottom:22px;padding:6px 16px;font-size:.8rem;display:inline-block;position:relative}.hero h1{max-width:16em;color:var(--text);margin:0 auto 18px;font-size:clamp(1.9rem,5.2vw,3rem);line-height:1.45;position:relative}.hero h1 .accent{color:var(--accent-deep)}.hero p{color:var(--text-muted);max-width:30em;margin:0 auto;font-size:1.04rem;line-height:2;position:relative}.hero .wave{width:72px;height:auto;color:var(--accent);opacity:.55;margin:30px auto 0;display:block;position:relative}.section-title{color:var(--text);align-items:center;gap:14px;margin:56px 0 24px;font-size:clamp(1.35rem,3vw,1.7rem);display:flex}.section-title:after{content:"";background:linear-gradient(90deg, var(--border), transparent);flex:1;height:1px}.layout{grid-template-columns:minmax(0,1fr) 332px;align-items:start;gap:48px;max-width:1120px;margin:0 auto;padding:0 22px 80px;display:grid}.layout-article{padding-top:40px}.layout-main{min-width:0}.post-rows{flex-direction:column;gap:22px;display:flex}.post-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);align-items:flex-start;gap:22px;padding:26px 30px;transition:transform .2s,box-shadow .2s;display:flex;position:relative}.post-row:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.post-row-num{font-family:var(--serif);color:var(--accent);opacity:.5;flex:none;width:1.8em;padding-top:4px;font-size:1.9rem;line-height:1}.post-row-body{flex:1;min-width:0}.post-row-meta{margin-bottom:8px}.post-row-title{margin:0 0 10px;font-size:1.3rem;line-height:1.55}.post-row-title a{color:var(--text)}.post-row-title a:hover{color:var(--accent-deep);text-decoration:none}.post-row-excerpt{color:var(--text-muted);margin:0 0 14px;font-size:.96rem;line-height:1.9}.sidebar{flex-direction:column;gap:22px;display:flex;position:sticky;top:86px}.widget{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-soft);padding:22px 22px 24px}.widget-kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:8px;font-size:.72rem;display:inline-block}.widget-title{color:var(--text);align-items:center;gap:10px;margin:0 0 16px;font-size:1.05rem;display:flex}.widget-title:before{content:"";background:linear-gradient(90deg, var(--accent), #7fdccf);border-radius:3px;flex:none;width:18px;height:3px}.widget-more{margin-top:14px;font-size:.85rem;display:inline-block}.widget-about{background:linear-gradient(135deg, #fff, var(--accent-soft))}.widget-about-text{color:var(--text-muted);margin:0 0 12px;font-size:.92rem;line-height:1.9}.widget-about-link{font-size:.85rem;font-weight:600}.pickup-list{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.pickup-item{gap:12px;display:flex}.pickup-num{font-family:var(--serif);color:var(--accent);flex:none;padding-top:1px;font-size:.95rem}.pickup-body{min-width:0}.pickup-link{color:var(--text);font-size:.92rem;font-weight:500;line-height:1.6;display:block}.pickup-link:hover{color:var(--accent-deep);text-decoration:none}.pickup-date{color:var(--text-muted);margin-top:4px;font-size:.76rem;display:block}.tag-cloud{flex-wrap:wrap;gap:8px;display:flex}.tag-count{opacity:.65;margin-left:6px;font-size:.85em}.widget-doors{background:linear-gradient(150deg, var(--accent-soft), #fff)}.widget-doors-text{color:var(--text-muted);margin:0 0 16px;font-size:.9rem;line-height:1.85}.btn-sm{padding:9px 20px;font-size:.9rem}.grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:24px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:26px 26px 24px;transition:transform .2s,box-shadow .2s;position:relative}.card:before{content:"";background:linear-gradient(90deg, var(--accent), #7fdccf);border-radius:0 0 4px 4px;width:38px;height:3px;position:absolute;top:0;left:26px}.card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.card h2{margin:6px 0 10px;font-size:1.18rem;line-height:1.55}.card h2 a{color:var(--text)}.card h2 a:hover{color:var(--accent-deep);text-decoration:none}.card .excerpt{color:var(--text-muted);margin:0 0 16px;font-size:.94rem;line-height:1.85}.meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:9px;font-size:.82rem;display:flex}.tag{background:var(--accent-soft);color:var(--accent-deep);border:1px solid #0000;border-radius:999px;padding:4px 12px;font-size:.76rem;transition:background .16s;display:inline-block}a.tag:hover{background:#c2ebe1;text-decoration:none}.article{min-width:0;max-width:none;padding:0 0 24px}.article h1{color:var(--text);margin:8px 0 18px;font-size:clamp(1.7rem,4.4vw,2.5rem);line-height:1.5}.article .article-meta{color:var(--text-muted);margin-bottom:30px;font-size:.9rem}.article>img{border-radius:var(--radius);box-shadow:var(--shadow-soft);margin:8px 0 24px}.prose{font-size:1.06rem;line-height:2.05}.prose h2{color:var(--text);border-left:5px solid var(--accent);margin-top:2.4em;padding-left:16px;font-size:1.5rem;line-height:1.5}.prose h3{color:var(--accent-deep);margin-top:1.8em;font-size:1.22rem}.prose p{margin:1.1em 0}.prose ul,.prose ol{padding-left:1.3em}.prose li{margin:.5em 0}.prose li::marker{color:var(--accent)}.prose blockquote{border-left:4px solid var(--accent);color:var(--text-muted);background:var(--bg-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:1.5em 0;padding:.6em 1.2em}.prose code{background:var(--accent-soft);color:var(--accent-deep);border-radius:6px;padding:.15em .45em;font-size:.9em}.prose pre{border-radius:var(--radius-sm);border:1px solid var(--border);box-shadow:var(--shadow-soft);background:#fff;padding:18px;overflow-x:auto}.prose pre code{color:var(--text);background:0 0;padding:0}.prose table{border-collapse:separate;border-spacing:0;border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;box-shadow:var(--shadow-soft);margin:1.6em 0;font-size:.95rem;overflow:hidden}.prose th,.prose td{border-bottom:1px solid var(--border);text-align:left;padding:12px 14px}.prose tr:last-child td{border-bottom:none}.prose th{background:var(--accent-soft);color:var(--accent-deep);font-family:var(--serif)}.prose img{border-radius:var(--radius-sm);border:1px solid var(--border)}.prose a{font-weight:600}.breadcrumb{color:var(--text-muted);margin-bottom:18px;font-size:.82rem}.breadcrumb a{color:var(--text-muted)}.breadcrumb a:hover{color:var(--accent-deep)}.cta{border-radius:var(--radius);background:linear-gradient(135deg, #fff, var(--accent-soft));border:1px solid var(--border);box-shadow:var(--shadow-soft);margin:48px 0 8px;padding:30px 30px 28px;position:relative;overflow:hidden}.cta:after{content:"";background:radial-gradient(circle at 40% 40%,#14b8a62e,#0000 70%);border-radius:50%;width:180px;height:180px;position:absolute;bottom:-60px;right:-50px}.cta h3{color:var(--text);margin:0 0 10px;font-size:1.2rem;position:relative}.cta p{color:var(--text-muted);margin:0 0 18px;font-size:.98rem;position:relative}.btn{background:linear-gradient(135deg, var(--accent), var(--accent-deep));color:#fff;border-radius:999px;padding:12px 26px;font-weight:700;transition:transform .16s,box-shadow .16s;display:inline-block;position:relative;box-shadow:0 12px 24px -12px #0d9488cc}.btn:hover{color:#fff;text-decoration:none;transform:translateY(-2px);box-shadow:0 16px 30px -12px #0d9488e6}.lead{color:var(--text-muted);margin-bottom:8px;font-size:1.12rem;line-height:2}.site-footer{border-top:1px solid var(--border);background:var(--bg-soft);color:var(--text-muted);margin-top:40px;padding:40px 22px;font-size:.88rem}.site-footer .inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1060px;margin:0 auto;display:flex}.site-footer a{color:var(--text-muted)}.site-footer a:hover{color:var(--accent-deep)}@media (width<=900px){.layout{grid-template-columns:1fr;gap:36px}.sidebar{position:static;top:auto}}@media (width<=560px){.site-header .bar{flex-wrap:nowrap;gap:10px;padding:13px 16px}.brand{font-size:1.05rem}.nav{gap:4px;font-size:.86rem}.nav a{padding:5px 10px}.hero{padding:56px 18px 40px}.grid{grid-template-columns:1fr;gap:18px}.layout{gap:28px;padding:0 16px 56px}.layout-article{padding-top:28px}.post-row{flex-direction:column;gap:12px;padding:22px 20px}.post-row-num{padding-top:0;font-size:1.5rem}.post-row-title{font-size:1.18rem}.cta{padding:24px 22px}.prose{font-size:1.02rem}}@media (width>=431px) and (width<=560px){.nav-label{display:none}.nav-ico{display:inline-block}.nav a{justify-content:center;padding:8px}}@media (width<=430px){:root{font-size:clamp(14px,4.10256vw,17px)}html,body{max-width:100%;overflow-x:hidden}.container,.wide{width:100%;padding-left:16px;padding-right:16px}.site-header .bar{gap:8px;padding:11px 14px}.brand{gap:8px;font-size:1.08rem}.brand .mark{width:26px;height:26px}.brand .mark svg{width:15px;height:15px}.nav{gap:2px}.nav a{padding:8px}.nav-label{display:none}.nav-ico{display:inline-block}.nav a,.tag,.btn,.btn-sm{min-height:40px}.nav a{justify-content:center}.hero{padding:46px 16px 34px}.hero h1{font-size:clamp(1.6rem,6.66667vw,2.1rem)}.section-title{margin:40px 0 18px}.prose pre{padding:14px}.prose table{font-size:.85rem;display:block;overflow-x:auto}.prose th,.prose td{padding:9px 10px}.prose{word-break:break-word;overflow-wrap:anywhere}}
