:root{--ink:#008D84;--ink-60:#5F7C74;--ink-20:#C9DED8;--paper:#FFF;--mist:#EEF6F3;--grad:linear-gradient(135deg,#008D84 0%,#4FB569 100%)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:Noto Sans JP,Meiryo,Hiragino Kaku Gothic ProN,sans-serif;color:#1e3530;background:var(--paper);-webkit-font-smoothing:antialiased;font-size:16px;line-height:2}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.nav{position:fixed;top:0;left:0;right:0;z-index:100;height:72px;display:flex;align-items:center;background:var(--paper);border-bottom:1px solid var(--ink-20)}.nav .w{width:100%;max-width:1240px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.nav-logo{display:flex;align-items:center;gap:8px;white-space:nowrap}.nav-logo img{height:40px;width:auto;display:block}.nav-logo small{font-weight:700;font-size:11px;color:var(--ink)}.nav-logo small{font-weight:700;font-size:11px;margin-left:8px}.nav-links{display:flex;gap:24px;font-size:14px;font-weight:700;color:var(--ink-60);align-items:center}.nav-links a:hover{color:var(--ink)}.nav-cta{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 24px;border-radius:2px;font-size:14px;font-weight:700;background:var(--grad);color:#fff}main{max-width:800px;margin:0 auto;padding:128px 24px 96px}.meta{display:flex;align-items:center;gap:16px;font-size:13px;color:var(--ink-60)}.meta .cat{background:var(--grad);color:#fff;font-weight:700;font-size:12px;border-radius:99px;padding:3px 14px}h1{font-size:clamp(24px,3.6vw,36px);font-weight:800;line-height:1.5;letter-spacing:-.01em;margin:20px 0 32px}.eyecatch{border-radius:8px;overflow:hidden;margin-bottom:48px}.tldr{border:1px solid var(--ink-20);border-left:3px solid var(--ink);background:var(--mist);border-radius:0 8px 8px 0;padding:20px 24px;margin-bottom:40px}.tldr b{display:block;font-size:12px;font-weight:800;color:var(--ink);letter-spacing:.06em;margin-bottom:6px}.tldr p{font-size:15px;line-height:1.9;color:#3a4f4a;white-space:pre-line}.toc{border:1px solid var(--ink-20);border-radius:8px;padding:20px 24px;margin-bottom:40px;background:#fafcfb}.toc b{display:block;font-size:13px;font-weight:800;color:var(--ink);letter-spacing:.06em;margin-bottom:10px}.toc ol{list-style:none;counter-reset:toc}.toc li{counter-increment:toc;font-size:14px;padding:5px 0}.toc li:before{content:counter(toc,decimal-leading-zero);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;color:var(--ink-60);margin-right:10px}.toc li.l3{padding-left:26px;counter-increment:none}.toc li.l3:before{content:"–"}.toc a{color:#3a4f4a}.toc a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.prose h2,.prose h3{scroll-margin-top:96px}.author-box{margin-top:64px;border:1px solid var(--ink-20);border-radius:8px;padding:24px;display:flex;gap:20px;align-items:flex-start}.a-icon{width:64px;height:64px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1px solid var(--ink-20)}.a-icon--ph{display:flex;align-items:center;justify-content:center;background:var(--grad);color:#fff;font-size:24px;font-weight:800}.a-label{display:block;font-size:11px;font-weight:700;color:var(--ink-60);letter-spacing:.06em;margin-bottom:4px}.a-name{display:block;font-size:16px;font-weight:800;color:var(--ink)}.a-bio{margin-top:8px;font-size:13px;line-height:1.9;color:#3a4f4a}.post-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:40px}.post-tags span{font-size:12px;font-weight:700;color:var(--ink-60);border:1px solid var(--ink-20);border-radius:99px;padding:3px 14px}.faq-sec{margin-top:64px}.faq-sec h2{font-size:22px;font-weight:800;margin-bottom:16px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.faq-sec details{border-bottom:1px solid var(--ink-20)}.faq-sec summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:18px 0;font-size:15px;font-weight:700;color:var(--ink)}.faq-sec summary::-webkit-details-marker{display:none}.faq-sec summary:after{content:"+";font-size:18px;color:var(--ink-60);flex-shrink:0}.faq-sec details[open] summary:after{content:"−"}.faq-sec details p{padding:0 0 18px;font-size:14px;color:var(--ink-60);line-height:1.9}.prose{font-size:16px}.prose h2{font-size:24px;font-weight:800;line-height:1.5;margin:56px 0 20px;padding-bottom:12px;border-bottom:2px solid var(--ink-20);color:var(--ink)}.prose h3{font-size:19px;font-weight:700;line-height:1.6;margin:40px 0 16px;color:var(--ink)}.prose h4{font-size:16px;font-weight:700;margin:32px 0 12px}.prose p{margin:16px 0;color:#3a4f4a}.prose ul,.prose ol{margin:16px 0;padding-left:24px;color:#3a4f4a}.prose li{margin:6px 0}.prose a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.prose img{border-radius:6px;margin:24px 0}.prose blockquote{border-left:3px solid var(--ink);background:var(--mist);padding:16px 24px;margin:24px 0;border-radius:0 6px 6px 0;color:#3a4f4a}.prose table{width:100%;border-collapse:collapse;margin:24px 0;font-size:14px;table-layout:fixed}.prose th,.prose td{border:1px solid var(--ink-20);padding:10px 14px;text-align:left;vertical-align:top;overflow-wrap:break-word}.prose th{background:var(--mist);font-weight:700}.prose table p{margin:0;line-height:1.9}.prose pre{background:#12302b;color:#dff3ec;border-radius:6px;padding:20px;overflow-x:auto;font-size:13px;line-height:1.7;margin:24px 0}.prose code{font-family:ui-monospace,SF Mono,Menlo,monospace}.prose p code{background:var(--mist);border-radius:3px;padding:2px 6px;font-size:.9em;color:var(--ink)}.cta{margin-top:72px;border-radius:8px;background:var(--grad);color:#fff;padding:48px 32px;text-align:center}.cta b{display:block;font-size:22px;font-weight:800;line-height:1.6;margin-bottom:12px}.cta p{font-size:14px;color:#ffffffd9;margin-bottom:24px}.cta a{display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 40px;border-radius:2px;background:#fff;color:var(--ink);font-size:15px;font-weight:700}.back{display:inline-block;margin-top:48px;font-size:14px;font-weight:700;color:var(--ink-60)}.back:hover{color:var(--ink)}footer{border-top:1px solid var(--ink-20);padding:32px 24px;text-align:center;font-size:12px;color:var(--ink-60)}footer a{margin:0 12px}
