:root{color-scheme:light dark;--bg: #f3f5f2;--surface: #fbfcfa;--tint: #e1eae4;--ink: #14201b;--ink-2: #44524b;--line: #d3dbd6;--brand: #1c4a3b;--brand-ink: #f3f5f2;--brand-soft: #2f6b57;--focus: #1c4a3b;--shadow: 0 1px 2px rgb(20 50 40 / .06), 0 8px 24px rgb(20 50 40 / .07);--font: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Noto Sans SC", "PingFang SC", "Yu Gothic", "Segoe UI", system-ui, sans-serif;--r-img: 12px;--r-pill: 999px;--r-input: 8px;--wrap: 1180px;--measure: 700px;--ease: cubic-bezier(.16, 1, .3, 1)}@media(prefers-color-scheme:dark){:root{--bg: #0d1512;--surface: #131e19;--tint: #1a2a23;--ink: #e4ebe7;--ink-2: #a9b6af;--line: #26342d;--brand: #8cc6ae;--brand-ink: #0d1512;--brand-soft: #a9d6c3;--focus: #8cc6ae;--shadow: 0 1px 2px rgb(0 0 0 / .3), 0 8px 24px rgb(0 0 0 / .25)}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.8;font-feature-settings:"palt" 0;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:12px;z-index:30;background:var(--surface);padding:8px 14px}.wrap{width:min(100% - 32px,var(--wrap));margin-inline:auto}.hd{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line)}.hd__in{display:flex;align-items:center;gap:20px;height:68px}.hd__brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;font-size:15px;letter-spacing:.02em;white-space:nowrap;margin-right:auto}.hd__mark{width:28px;height:28px;border-radius:50%;background:var(--brand);display:grid;place-items:center;color:var(--brand-ink);font-size:13px;font-weight:800;flex:none}.hd__nav{display:flex;gap:4px}.hd__nav a{text-decoration:none;font-size:14px;padding:8px 12px;border-radius:var(--r-pill);white-space:nowrap;color:var(--ink-2);transition:background .2s,color .2s}.hd__nav a:hover,.hd__nav a[aria-current=page]{background:var(--tint);color:var(--ink)}.btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;padding:11px 22px;border-radius:var(--r-pill);font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap;border:1px solid transparent;cursor:pointer;font-family:inherit;transition:transform .2s var(--ease),background .2s}.btn:active{transform:translateY(1px) scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn--primary{background:var(--brand);color:var(--brand-ink)}.btn--primary:hover{background:var(--brand-soft)}.btn--ghost{border-color:var(--line);color:var(--ink);background:transparent}.btn--ghost:hover{background:var(--tint)}.btn--sm{padding:8px 16px;font-size:13px}.pop{position:relative}.pop>summary{list-style:none;cursor:pointer}.pop>summary::-webkit-details-marker{display:none}.pop__panel{position:absolute;right:0;top:calc(100% + 10px);min-width:200px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-img);box-shadow:var(--shadow);padding:8px;display:grid}.pop__panel a{text-decoration:none;padding:9px 12px;border-radius:var(--r-input);font-size:14px}.pop__panel a:hover{background:var(--tint)}.pop__panel a[aria-current=true]{font-weight:700;color:var(--brand)}.hd__menu{display:none}@media(max-width:1023px){.hd__nav,.hd__cta{display:none}.hd__menu{display:block}.hd__menu .pop__panel{position:fixed;left:16px;right:16px;top:78px;max-height:calc(100dvh - 96px);overflow:auto}}@media(max-width:480px){.hd__name{font-size:13px;white-space:normal;line-height:1.35;max-width:13em}}.sec{padding-block:72px}.sec+.sec{padding-top:8px}.sec__head{display:flex;align-items:baseline;gap:16px;margin-bottom:28px}.sec__title{margin:0;font-size:clamp(22px,2.6vw,30px);line-height:1.3;letter-spacing:.01em}.sec__more{margin-left:auto;font-size:14px;font-weight:700;color:var(--brand);text-decoration:none;white-space:nowrap}.sec__more:hover{text-decoration:underline;text-underline-offset:4px}.hero{padding-top:clamp(32px,6vw,72px);padding-bottom:24px}.hero__grid{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}.hero__eyebrow{margin:0 0 18px;font-size:14px;font-weight:700;color:var(--brand);letter-spacing:.06em}.hero__title{margin:0 0 32px;font-size:clamp(26px,2.7vw,36px);line-height:1.38;font-weight:800;letter-spacing:.01em;text-wrap:balance;word-break:auto-phrase}.hero__actions{display:flex;gap:12px;flex-wrap:wrap}.hero__feature{display:block;text-decoration:none}.hero__img{aspect-ratio:4 / 3;border-radius:var(--r-img);overflow:hidden;background:var(--tint)}.hero__img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.hero__feature:hover img{transform:scale(1.03)}.hero__cap{margin-top:14px;font-weight:700;font-size:16px;line-height:1.55}.hero__cap small{display:block;font-weight:400;color:var(--ink-2);font-size:13px;margin-top:4px}@media(max-width:767px){.hero__grid{grid-template-columns:1fr}}.cats{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:176px;gap:14px}.cat{position:relative;border-radius:var(--r-img);overflow:hidden;text-decoration:none;color:#f4f7f5;background:var(--brand);isolation:isolate}.cat:nth-child(1){grid-column:span 2;grid-row:span 2}.cat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s var(--ease)}.cat:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0a1e160d 20%,#0a1e16c7)}.cat:hover img{transform:scale(1.04)}.cat__body{position:absolute;left:18px;right:18px;bottom:16px}.cat__name{display:block;font-weight:800;font-size:18px;line-height:1.35}.cat:nth-child(1) .cat__name{font-size:clamp(22px,2.4vw,28px)}.cat__count{font-size:13px;opacity:.88}@media(max-width:767px){.cats{grid-template-columns:1fr 1fr;grid-auto-rows:140px}.cat:nth-child(-n+2){grid-column:span 2;grid-row:span 1}}.lead{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(20px,3vw,40px);align-items:center;text-decoration:none;padding-bottom:36px;margin-bottom:36px;border-bottom:1px solid var(--line)}.lead .card__img{aspect-ratio:16 / 10}.lead .card__title{font-size:clamp(20px,2.2vw,26px)}@media(max-width:767px){.lead{grid-template-columns:1fr}}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 28px}@media(max-width:1023px){.grid{grid-template-columns:1fr 1fr}}@media(max-width:599px){.grid{grid-template-columns:1fr}}.card{display:block;text-decoration:none}.card__img{aspect-ratio:16 / 10;border-radius:var(--r-img);overflow:hidden;background:var(--tint);margin-bottom:14px}.card__img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.card:hover .card__img img,.lead:hover .card__img img{transform:scale(1.04)}.card__noimg{width:100%;height:100%;background:linear-gradient(135deg,var(--tint),var(--line))}.card__meta{display:flex;gap:10px;align-items:center;font-size:12.5px;color:var(--ink-2);margin-bottom:6px}.chip{display:inline-block;padding:2px 10px;border-radius:var(--r-pill);background:var(--tint);color:var(--brand);font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap}a.chip:hover{background:var(--brand);color:var(--brand-ink)}.card__title{margin:0;font-size:17px;line-height:1.55;font-weight:700}.card:hover .card__title,.lead:hover .card__title{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.card__ex{margin:8px 0 0;font-size:14px;color:var(--ink-2);line-height:1.75}.shelf{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,23%);gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px;scrollbar-width:thin}.shelf>*{scroll-snap-align:start}@media(max-width:599px){.shelf{grid-auto-columns:78%}}.ph{padding-top:48px;padding-bottom:32px}.crumb{font-size:13px;color:var(--ink-2);margin:0 0 14px}.crumb a{text-decoration:none}.crumb a:hover{text-decoration:underline}.ph__title{margin:0;font-size:clamp(28px,4vw,42px);line-height:1.3;font-weight:800}.ph__sub{margin:10px 0 0;color:var(--ink-2);font-size:14px}.catbar{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.catbar .chip{padding:6px 14px;font-size:13px}.catbar .chip[aria-current=page]{background:var(--brand);color:var(--brand-ink)}.pager{display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:56px}.pager a,.pager span{min-width:42px;height:42px;display:inline-grid;place-items:center;padding:0 12px;border-radius:var(--r-pill);text-decoration:none;font-size:14px;border:1px solid var(--line)}.pager a:hover{background:var(--tint)}.pager [aria-current=page]{background:var(--brand);color:var(--brand-ink);border-color:var(--brand);font-weight:700}.pager .gap{border:0;min-width:20px}.art{padding-top:40px}.art__head{max-width:var(--measure);margin-inline:auto}.art__title{margin:0 0 18px;font-size:clamp(26px,3.4vw,38px);line-height:1.42;font-weight:800;text-wrap:pretty}.art__meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13.5px;color:var(--ink-2)}.art__hero{max-width:980px;margin:36px auto 0;aspect-ratio:16 / 9;border-radius:var(--r-img);overflow:hidden;background:var(--tint)}.art__hero img{width:100%;height:100%;object-fit:cover}.prose{max-width:var(--measure);margin:48px auto 0;font-size:17px;line-height:2;overflow-wrap:anywhere}.prose>:first-child{margin-top:0}.prose p{margin:0 0 1.4em}.prose h1{margin:0 0 1em;font-size:1.55em;line-height:1.5}.prose h2{margin:2.6em 0 1em;padding:0 0 0 16px;border-left:4px solid var(--brand);font-size:1.42em;line-height:1.5}.prose h3{margin:2.2em 0 .8em;font-size:1.18em;line-height:1.55}.prose h4{margin:1.8em 0 .6em;font-size:1.05em}.prose a{color:var(--brand);text-underline-offset:3px}.prose ul,.prose ol{padding-left:1.4em;margin:0 0 1.4em}.prose li{margin:.35em 0}.prose li::marker{color:var(--brand)}.prose strong{background:linear-gradient(transparent 62%,var(--tint) 62%)}.prose blockquote{margin:1.8em 0;padding:18px 22px;background:var(--surface);border-left:3px solid var(--brand);border-radius:0 var(--r-input) var(--r-input) 0;color:var(--ink-2)}.prose blockquote p:last-child{margin-bottom:0}.prose hr{border:0;border-top:1px solid var(--line);margin:3em 0}.prose table{width:100%;border-collapse:collapse;font-size:.9em;line-height:1.7;margin:0 0 1.6em;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top;min-width:7em}.prose th{background:var(--tint)}.prose img{border-radius:var(--r-input);margin:1.6em 0}.related{margin-top:88px;padding-top:56px;border-top:1px solid var(--line)}.form{display:grid;gap:20px;margin:2em 0;padding:clamp(20px,4vw,32px);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-img)}.field{display:grid;gap:8px}.field label{font-size:14px;font-weight:700}.field input,.field textarea{font:inherit;font-size:16px;color:var(--ink);background:var(--bg);border:1px solid #8a9a92;border-radius:var(--r-input);padding:12px 14px;width:100%}.field textarea{min-height:180px;resize:vertical}.field input:focus-visible,.field textarea:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.form__hp{position:absolute;left:-9999px}.form__status{margin:0;font-size:14px;min-height:1.8em}.form__status[data-state=error]{color:#b3261e}@media(prefers-color-scheme:dark){.form__status[data-state=error]{color:#f2b8b5}.field input,.field textarea{border-color:#5d6d66}}.form__note{margin:0;font-size:13px;color:var(--ink-2)}.ft{margin-top:104px;background:var(--surface);border-top:1px solid var(--line);padding:56px 0 40px;font-size:14px}.ft__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}.ft__name{font-weight:800;font-size:18px;margin:0 0 8px}.ft__tag{color:var(--ink-2);margin:0;max-width:26em}.ft h2{font-size:13px;margin:0 0 12px;color:var(--ink-2);font-weight:700}.ft ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.ft a{text-decoration:none}.ft a:hover{text-decoration:underline;text-underline-offset:3px}.ft__cols{columns:2;column-gap:24px}.ft__cols li{break-inside:avoid;margin-bottom:6px}.ft__langs{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.ft__copy{margin:48px 0 0;color:var(--ink-2);font-size:12.5px}@media(max-width:767px){.ft__grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:no-preference){.js .rv{opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.js .rv.is-in{opacity:1;transform:none}}
