.crumb-strip{border-bottom:1px solid var(--line)}.crumb-strip .wrap{padding-block:16px}.eyecatch{width:100%;aspect-ratio:21/8;max-height:520px}.eyecatch img{width:100%;height:100%;object-fit:cover}.article-head{padding-top:clamp(36px,5vw,60px)}.article-head .top-badge{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--green);border:1px solid var(--line-strong);padding:4px 12px;margin-bottom:22px}.article-head h1{font-family:var(--serif);font-weight:600;font-size:clamp(30px,4.6vw,52px);line-height:1.42;letter-spacing:.02em;text-wrap:balance;max-width:18em}.article-meta{display:flex;align-items:center;gap:18px;margin-top:28px;padding-bottom:clamp(30px,4vw,44px);border-bottom:1px solid var(--line);flex-wrap:wrap}.article-meta .by{display:flex;align-items:center;gap:12px}.article-meta .by .av{width:40px;height:40px;border-radius:50%;background:var(--green);color:var(--washi);display:grid;place-items:center;font-family:var(--serif);font-weight:600;font-size:17px}.article-meta .by .nm{font-size:14px;font-weight:500;letter-spacing:.03em}.article-meta .by .nm small{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:var(--ink-45);margin-top:2px}.article-meta .pipe{width:1px;height:30px;background:var(--line-strong)}.article-meta .mblock{display:flex;flex-direction:column;gap:2px}.article-meta .mblock .k{font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-45)}.article-meta .mblock .v{font-size:13.5px;color:var(--ink);font-weight:500}.article-layout{display:grid;grid-template-columns:240px 1fr;gap:clamp(36px,5vw,72px);padding-top:clamp(40px,5vw,60px);align-items:start}.toc{position:sticky;top:100px;background:var(--washi-card);border:1px solid var(--line);border-left:3px solid var(--green)}.toc-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line);cursor:pointer;user-select:none}.toc-head .t{font-family:var(--serif);font-weight:600;font-size:16px;letter-spacing:.08em;display:flex;align-items:center;gap:10px}.toc-head .t small{font-family:var(--mono);font-size:9px;letter-spacing:.16em;color:var(--ink-45);text-transform:uppercase;font-weight:400}.toc-chevron{width:9px;height:9px;border-right:1.5px solid var(--ink-60);border-bottom:1.5px solid var(--ink-60);transform:rotate(45deg);transition:transform .3s ease;flex-shrink:0}.toc.collapsed .toc-chevron{transform:rotate(-135deg)}.toc-list{list-style:none;padding:10px 0;max-height:600px;overflow:hidden;transition:max-height .35s ease,opacity .3s ease,padding .35s ease}.toc.collapsed .toc-list{max-height:0;padding:0;opacity:0}.toc-list li a{display:flex;gap:12px;align-items:baseline;padding:8px 18px;font-size:13.5px;color:var(--ink-60);line-height:1.55;border-left:2px solid transparent;margin-left:-1px;transition:all .2s ease;text-decoration:none}.toc-list li.lv3 a{padding-left:36px;font-size:12.5px}.toc-list li a .no{font-family:var(--mono);font-size:11px;color:var(--gold);flex-shrink:0}.toc-list li a:hover{color:var(--green)}.toc-list li a.active{color:var(--green);font-weight:600;background:#1a3d2e12;border-left-color:var(--green)}.toc-list li a.active .no{color:var(--green)}.article-body{max-width:38em}.article-body h2{font-family:var(--serif);font-weight:600;font-size:clamp(24px,3vw,30px);line-height:1.5;letter-spacing:.02em;margin:52px 0 18px;padding-bottom:14px;border-bottom:1px solid var(--line);scroll-margin-top:100px}.article-body h3{font-family:var(--serif);font-weight:500;font-size:20px;line-height:1.55;margin:36px 0 12px;color:var(--green-soft);scroll-margin-top:100px}.article-body p{font-size:16px;line-height:2.1;color:var(--ink);margin-bottom:32px}.article-body .mk{background-image:linear-gradient(transparent 58%,#d6a84a6b 58%);font-weight:500}.article-body .shu{color:var(--shu);font-weight:700}.article-body strong,.article-body .em{color:var(--green);font-weight:700}.article-body .fig{font-family:var(--serif);font-size:1.42em;font-weight:700;color:var(--shu);line-height:1}.article-body .box{position:relative;border:1.5px solid var(--green);background:var(--washi-card);padding:20px 18px 18px;margin:0 0 32px}.article-body .box>.box-label{position:absolute;top:-9px;left:14px;background:var(--washi-card);padding:0 6px;font-family:var(--mono);font-size:9.5px;line-height:1.6;letter-spacing:.2em;color:var(--green)}.article-body .box>:last-child,.article-body .hbox-body>:last-child{margin-bottom:0}.article-body .hbox{display:flex;align-items:flex-start;gap:12px;padding:0;margin:0 0 38px}.article-body .hbox-avatar{flex:0 0 42px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:var(--washi);font-family:var(--serif);font-size:18px;font-weight:700;line-height:1}.article-body .hbox-body{position:relative;flex:1;min-width:0;background:var(--washi-card);border:1px solid var(--line-strong);padding:16px 18px}.article-body .hbox-body:before{content:"";position:absolute;top:14px;left:-7px;width:12px;height:12px;background:var(--washi-card);border-left:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);transform:rotate(45deg)}.article-body .lead{font-size:17px;color:var(--ink-60);line-height:2.1}.article-body .inline-fig{margin:32px 0}.article-body .inline-fig .thumb{aspect-ratio:16/9}.article-body .inline-fig figcaption{font-family:var(--mono);font-size:11px;letter-spacing:.05em;color:var(--ink-45);margin-top:10px;text-align:center}.article-body ul,.article-body ol{padding-left:1.5em;margin-bottom:22px}.article-body li{font-size:16px;line-height:2;color:var(--ink)}.article-body a{color:var(--green);text-decoration:underline;text-underline-offset:.2em}.article-body .cta{border:1.5px solid var(--green);background:var(--washi-card);padding:28px 30px;margin:40px 0;position:relative}.article-body .cta .pr{position:absolute;top:14px;right:16px;font-family:var(--mono);font-size:9px;letter-spacing:.2em;color:var(--ink-45);border:1px solid var(--line-strong);padding:2px 8px}.article-body .cta h4{font-family:var(--serif);font-weight:600;font-size:19px;line-height:1.5}.article-body .cta p{font-size:14px;color:var(--ink-60);line-height:1.9;margin:10px 0 18px}.cta-btn{display:inline-flex;align-items:center;gap:10px;background:var(--green);color:var(--washi);font-family:var(--sans);font-size:15px;font-weight:500;letter-spacing:.05em;padding:13px 28px;border:none;cursor:pointer;transition:background .22s ease,transform .22s ease;text-decoration:none}.cta-btn:hover{background:var(--gold);transform:translateY(-2px)}.cta-note{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:var(--ink-45);margin-left:14px}.share-block{margin-top:48px;padding-top:28px;border-top:1px solid var(--line)}.author-section{padding-top:clamp(48px,6vw,72px)}.related-section{padding-top:clamp(48px,6vw,72px);padding-bottom:clamp(48px,6vw,72px)}.article-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}.article-tag{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;padding:4px 12px;border:1px solid var(--line-strong);color:var(--ink-60);transition:all .2s ease;text-decoration:none}.article-tag:hover{border-color:var(--green);color:var(--green)}.stale-warning{padding:14px 18px;background:#fff8e1;border:1px solid #ffe082;border-left:3px solid #ffc107;font-size:14px;color:#6d4c00;margin-bottom:24px}.affiliate-disclosure{padding:14px 18px;background:var(--washi-card);border:1px solid var(--line);border-left:3px solid var(--gold-soft);font-size:13px;color:var(--ink-60);margin-bottom:24px}.index-hero{padding:clamp(40px,6vw,72px) 0 clamp(28px,4vw,48px)}.index-hero h1{font-family:var(--serif);font-weight:600;font-size:clamp(28px,4vw,40px);letter-spacing:.06em;color:var(--ink);margin-bottom:14px}.index-hero p{font-size:15px;color:var(--ink-60);line-height:1.9;max-width:36em}.tag-filter-area{margin-bottom:40px}.tag-filter-area h2{font-family:var(--mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-45);margin-bottom:16px}@media(max-width:880px){.article-layout{grid-template-columns:1fr}.toc{position:static;margin-bottom:8px}}@media(max-width:560px){.article-head h1{font-size:clamp(26px,7vw,38px)}}
