@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}@font-face{font-family:EB Garamond;font-style:normal;font-weight:400 700;src:url(/fonts/eb-garamond-var.woff2)format("woff2");font-display:swap;size-adjust:113%}@font-face{font-family:Zen Kaku Gothic New;font-style:normal;font-weight:400;src:url(/fonts/zen-kaku-gothic-new-400.woff2)format("woff2");font-display:swap}@font-face{font-family:Zen Kaku Gothic New;font-style:normal;font-weight:500;src:url(/fonts/zen-kaku-gothic-new-500.woff2)format("woff2");font-display:swap}@font-face{font-family:Zen Kaku Gothic New;font-style:normal;font-weight:700;src:url(/fonts/zen-kaku-gothic-new-700.woff2)format("woff2");font-display:swap}:root{--bg:#eaf0f3;--surface:#f8fafb;--ink:#17202a;--muted:#6e7d89;--line:#ced9e0;--accent:#2d6e90;--accent-soft:#dce8ed;--focus:#1b607f;--sans:"Gen Interface JP", "Zen Kaku Gothic New", -apple-system, BlinkMacSystemFont, "Hiragino Sans", sans-serif;--display:"EB Garamond", Georgia, serif;--mono:"SFMono-Regular", Consolas, monospace;--gutter:clamp(20px, 5vw, 72px);--max-width:1180px}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--bg);font-family:var(--sans);letter-spacing:.035em;-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-shell{min-height:100svh}.site-header,.site-main,.site-footer{width:min(100% - (var(--gutter) * 2), var(--max-width));margin-inline:auto}.site-header{padding-block:clamp(30px,7vw,92px) 0}.site-header__line{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:20px;padding-bottom:16px;display:flex}.site-header__brand{font-family:var(--display);letter-spacing:-.02em;font-size:clamp(1.25rem,2vw,1.7rem)}.site-header__note{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem}.site-main{padding-block:clamp(52px,8vw,96px) 120px}.archive-layout{gap:28px;display:grid}.category-rail{min-width:0}.category-rail__label,.section-label{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px;font-size:.68rem;font-weight:700;display:block}.category-rail__list{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px 20px;margin:0;padding:0 0 10px;list-style:none;display:flex}.category-rail__link{color:var(--muted);align-items:baseline;gap:8px;padding:7px 0;font-size:.79rem;transition:color .3s;display:flex}.category-rail__link:hover{color:var(--accent)}.category-rail__link[aria-current=page]{color:var(--ink);font-weight:700}.category-rail__count{color:var(--muted);font-family:var(--mono);font-size:.63rem;font-weight:400}.resource-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:clamp(18px,2.5vw,32px);display:grid}.resource-row{background:var(--surface);border:1px solid var(--line);flex-direction:column;min-width:0;transition:border-color .3s;display:flex}.resource-row:hover,.resource-row:has(:focus-visible){border-color:var(--accent)}.resource-row__link{min-width:0;height:100%;color:inherit;flex-direction:column;flex:1;display:flex}.resource-row__visual{aspect-ratio:16/9;background:var(--tone,var(--accent-soft));width:100%;display:block;position:relative;overflow:hidden}.resource-row__visual img,.detail__visual img{object-fit:cover;width:100%;height:100%}.resource-row__visual img{position:absolute;inset:0}.resource-row__visual:before,.resource-row__visual:after{content:"";border-radius:50%;position:absolute}.resource-row__visual:before{background:#ffffff6b;width:72px;height:72px;bottom:-24px;right:-18px}.resource-row__visual:after{background:#17202a1c;width:34px;height:34px;top:16px;left:20px}.resource-row__visual[data-tone=blue]{--tone:#c7d9e5}.resource-row__visual[data-tone=sand]{--tone:#d9cbb7}.resource-row__visual[data-tone=rose]{--tone:#dfc9ca}.resource-row__visual[data-tone=green]{--tone:#c1d4c8}.resource-row__visual[data-tone=ink]{--tone:#69757d}.resource-row__visual-label{z-index:1;color:#17202aa1;font-family:var(--mono);letter-spacing:.08em;font-size:.55rem;position:absolute;bottom:7px;left:9px}.resource-row__body{flex-direction:column;gap:8px;min-width:0;padding:16px 16px 18px;display:flex}.resource-row__meta{align-items:baseline;gap:8px;display:flex}.resource-row__kind{color:var(--accent);letter-spacing:.1em;font-size:.66rem;font-weight:700;display:block}.resource-row__category{color:var(--muted);font-size:.65rem;display:block}.resource-row__title{font-family:var(--display);letter-spacing:-.02em;overflow-wrap:anywhere;margin:0;font-size:clamp(1.25rem,2.5vw,1.7rem);font-weight:500;line-height:1.15}.resource-row__summary{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:.76rem;line-height:1.65}.resource-row__domain{color:var(--muted);font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;margin-top:auto;font-size:.61rem;overflow:hidden}.archive-heading{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:20px;display:flex}.archive-heading__count{color:var(--muted);font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.63rem}.archive-filter{flex-wrap:wrap;align-items:center;gap:12px 24px;margin-bottom:24px;display:flex}.archive-filter__search{flex:180px;min-width:0}.archive-filter__search input{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);font:inherit;letter-spacing:.04em;background:0 0;padding:6px 0 8px;font-size:.82rem}.archive-filter__search input::placeholder{color:var(--muted)}.archive-filter__search input:focus-visible{outline-offset:4px}.archive-filter__tags{border:0;flex-wrap:wrap;gap:4px 16px;margin:0;padding:0;display:flex}.archive-filter__tag{color:var(--muted);cursor:pointer;align-items:center;gap:6px;font-size:.75rem;display:flex}.archive-filter__tag:has(:focus-visible){color:var(--ink)}.archive-filter__tag:has(:checked){color:var(--ink);font-weight:700}.archive-filter__tag input{accent-color:var(--accent)}.archive-pagination{flex-wrap:wrap;gap:8px 16px;margin-top:28px;display:flex}.archive-pagination a{color:var(--muted);font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.68rem}.archive-pagination a:hover,.archive-pagination a[aria-current=page]{color:var(--ink)}.archive-pagination a[aria-current=page]{font-weight:700}.empty{color:var(--muted);padding-block:40px}.related{margin-top:80px}.related .section-label{margin-bottom:20px}.site-footer{border-top:1px solid var(--line);color:var(--muted);padding-block:18px 40px;font-size:.68rem}.site-footer__inner{justify-content:space-between;gap:20px;display:flex}.detail{max-width:760px;margin-inline:auto}.detail__back{color:var(--muted);margin-bottom:52px;font-size:.72rem;display:inline-block}.detail__back:hover{color:var(--accent)}.detail__kicker{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:700}.detail__title{font-family:var(--display);letter-spacing:-.04em;overflow-wrap:anywhere;margin:14px 0 18px;font-size:2rem;font-weight:500;line-height:1.25}.detail__summary{max-width:520px;color:var(--muted);font-size:.92rem;line-height:1.9}.detail__use{max-width:520px;margin-top:28px}.detail__use-label{color:var(--muted);letter-spacing:.14em;margin:0 0 8px;font-size:.68rem;font-weight:700;display:block}.detail__use-text{color:var(--ink);margin:0;font-size:.92rem;line-height:1.9}.detail__visual{background:var(--tone,var(--accent-soft));height:clamp(210px,35vw,360px);margin-block:58px 38px;position:relative;overflow:hidden}.detail__visual:before,.detail__visual:after{content:"";border-radius:50%;position:absolute}.detail__visual:before{aspect-ratio:1;background:#ffffff6b;width:45%;bottom:-18%;right:10%}.detail__visual:after{aspect-ratio:1;background:#17202a1c;width:18%;top:20%;left:20%}.detail__visual[data-tone=blue]{--tone:#c7d9e5}.detail__visual[data-tone=sand]{--tone:#d9cbb7}.detail__visual[data-tone=rose]{--tone:#dfc9ca}.detail__visual[data-tone=green]{--tone:#c1d4c8}.detail__visual[data-tone=ink]{--tone:#69757d}.detail__visual-label{z-index:1;color:#17202aa6;font-family:var(--mono);letter-spacing:.08em;font-size:.65rem;position:absolute;bottom:18px;left:22px}.detail__facts{border-block:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:18px;padding-block:18px;display:grid}.detail__fact-label{color:var(--muted);font-size:.63rem;display:block}.detail__fact-value{margin-top:5px;font-size:.78rem;display:block}.detail__actions{flex-wrap:wrap;gap:12px;margin-top:36px;display:flex}.detail__external,.detail__share{padding:10px 13px;font-size:.75rem;transition:background-color .3s,color .3s,border-color .3s;display:inline-block}.detail__external{border:1px solid var(--ink);color:var(--ink)}.detail__external:hover{color:var(--surface);background:var(--ink)}.detail__share{border:1px solid var(--line);color:var(--ink);background:0 0}.detail__share:hover{border-color:var(--ink)}@media (width<=780px){.detail__facts{grid-template-columns:1fr 1fr}.site-footer__inner{flex-direction:column;gap:4px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
