:root{--bg:#fff;--section:#f5f5f7;--surface:#fff;--ink:#1d1d1f;--ink-soft:#0000008f;--line:#d2d2d7;--accent:#2f6d54;--accent-bright:#3d8a6b;--accent-soft:#e7f2ec;--gold:#8a6d2f;--nav-glass:#ffffffb8;--logo-shell:#2f6d54;--logo-body:#8fce9f;--logo-pattern:#b7e0c2;--shadow-card:0 4px 24px #00000014}@media (prefers-color-scheme:dark){:root{--bg:#161617;--section:#1d1d1f;--surface:#232326;--ink:#f5f5f7;--ink-soft:#ffffff9e;--line:#424245;--accent:#7cc9a4;--accent-bright:#8fd6b2;--accent-soft:#253a30;--gold:#cbab62;--nav-glass:#161617b8;--shadow-card:0 4px 24px #00000080}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);letter-spacing:-.2px;margin:0;font-family:SF Pro JP,SF Pro Text,Hiragino Kaku Gothic Pro,ヒラギノ角ゴ Pro W3,メイリオ,Meiryo,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:17px;line-height:1.7}.display,h1,h2,h3{font-family:Zen Maru Gothic,Hiragino Maru Gothic Pro,SF Pro JP,Hiragino Kaku Gothic Pro,sans-serif;font-weight:700}.latin-display{font-family:Fredoka,Zen Maru Gothic,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}img{max-width:100%;display:block}:focus-visible{border-radius:4px;outline:none;box-shadow:0 0 0 3px #2f6d5459}.wrap{max-width:1024px;margin:0 auto;padding:0 24px}h1{letter-spacing:.01em;text-wrap:balance;margin:0 0 14px;font-size:clamp(28px,4.5vw,44px);line-height:1.2}h2{text-wrap:balance;margin:0 0 10px;font-size:clamp(24px,3.4vw,34px);line-height:1.25}h3{margin:28px 0 8px;font-size:19px}.lede{color:var(--ink-soft);max-width:42em;margin:0 0 8px;font-size:16px}.band{padding-block:72px}.band.alt{background:var(--section)}.band-head{text-align:center;margin-bottom:36px}.band-head .lede{margin-left:auto;margin-right:auto}.site-header{z-index:50;background:var(--nav-glass);backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid var(--line);position:sticky;top:0}.site-header .inner{align-items:center;gap:24px;height:52px;display:flex}.brand{flex-shrink:0;align-items:center;text-decoration:none;display:flex}.brand:hover{text-decoration:none}.brand-logotype{width:auto;height:17px;display:block}@media (prefers-color-scheme:dark){.brand-logotype{filter:invert()}}.site-nav{gap:22px;margin-left:auto;font-size:14px;display:flex}.site-nav a{white-space:nowrap}@media (width<=480px){.site-header .inner{gap:10px}.site-nav{gap:12px;font-size:13px}.brand-logotype{height:13px}.lang-switch{padding:4px 10px;font-size:11.5px}.wrap{padding-inline:20px}}.site-nav a{color:var(--ink);opacity:.8}.site-nav a:hover{opacity:1;color:var(--accent);text-decoration:none}.site-nav a[aria-current=page]{color:var(--accent);opacity:1;font-weight:600}.lang-switch{border:1px solid var(--line);color:var(--ink);opacity:.85;border-radius:980px;padding:5px 14px;font-size:12.5px}.lang-switch:hover{border-color:var(--accent);color:var(--accent);opacity:1;text-decoration:none}.btn{background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:980px;padding:10px 24px;font-size:15px;font-weight:500;line-height:1.4;display:inline-block}.btn:hover{background:var(--accent-bright);border-color:var(--accent-bright);text-decoration:none}.btn.outline{color:var(--accent);background:0 0}.btn.outline:hover{background:var(--accent-soft)}.hero-brand{text-align:center;padding:64px 0}.hero-logo{width:min(620px,86vw);height:auto;margin:0 auto 26px}@media (prefers-color-scheme:dark){.hero-logo{filter:invert()}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.hero-wordmark{letter-spacing:.005em;color:var(--ink);margin:0;font-family:Fredoka,sans-serif;font-size:clamp(44px,7vw,72px);font-weight:600;line-height:1.1}.hero-tagline{letter-spacing:.32em;text-indent:.32em;color:var(--accent);margin:14px 0 20px;font-family:Zen Maru Gothic,sans-serif;font-size:16px;font-weight:700}.hero-lede{color:var(--ink-soft);max-width:34em;margin:0 auto 34px;font-size:16px}.hero-taruto{width:168px;height:auto;margin:0 auto}.map-count{color:var(--ink-soft);border:1px solid var(--line);border-radius:980px;margin-bottom:14px;padding:5px 16px;font-family:Zen Maru Gothic,sans-serif;font-size:13px;font-weight:700;display:inline-block}.worldmap{margin:8px 0 0;position:relative}.worldmap-svg{width:100%;height:auto;display:block}.worldmap-svg .landdots circle{fill:var(--line)}.pin{z-index:1;position:absolute;transform:translate(-50%,-50%)}.pin .dot{clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);background:var(--ink);opacity:.88;width:clamp(4.5px,1vw,10px);height:clamp(5px,1.1vw,11px);transition:transform .15s,background .15s,opacity .15s;display:block}.pin:hover,.pin:focus-visible{z-index:3}.pin:hover .dot,.pin:focus-visible .dot{background:var(--accent);opacity:1;transform:scale(1.9)}.pin .tip{background:var(--surface);border:1px solid var(--line);text-align:center;opacity:0;visibility:hidden;pointer-events:none;width:168px;box-shadow:var(--shadow-card);border-radius:14px;padding:8px;transition:opacity .15s,transform .15s;position:absolute;bottom:16px;left:50%;transform:translate(-50%)scale(.96)}.pin:hover .tip,.pin:focus-visible .tip{opacity:1;visibility:visible;transform:translate(-50%)scale(1)}.pin .tip img{aspect-ratio:16/10;object-fit:cover;background:var(--section);border-radius:8px;width:100%}.pin .tip b{color:var(--ink);margin-top:6px;font-size:12.5px;line-height:1.4;display:block}.pin .tip small{color:var(--ink-soft);font-size:10.5px;line-height:1.4;display:block}@media (prefers-reduced-motion:reduce){.pin .dot,.pin .tip{transition:none}}.presenter{z-index:1;align-items:flex-end;gap:4px;margin-bottom:-6px;display:flex;position:relative}.presenter img{width:92px;height:auto}.presenter .bubble{color:var(--accent);background:var(--accent-soft);border-radius:980px;margin-bottom:26px;padding:8px 18px;font-family:Zen Maru Gothic,sans-serif;font-size:13.5px;font-weight:700}.today{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-card);border-radius:22px;align-items:center;gap:28px;padding:24px 28px;display:flex}.today img.photo{aspect-ratio:1;object-fit:cover;background:var(--section);border-radius:16px;flex-shrink:0;width:220px}@media (width<=620px){.today{flex-direction:column;align-items:stretch}.today img.photo{aspect-ratio:16/9;width:100%}}.grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;margin:28px 0 0;display:grid}.card{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:18px;flex-direction:column;text-decoration:none;transition:box-shadow .2s,transform .2s;display:flex;overflow:hidden}.card:hover{box-shadow:var(--shadow-card);text-decoration:none;transform:translateY(-2px)}.card img{aspect-ratio:4/3;object-fit:cover;background:var(--section);width:100%}.card .noimg{aspect-ratio:4/3;background:var(--section);opacity:.45;justify-content:center;align-items:center;width:100%;display:flex}.card.art img{object-fit:contain;background:var(--section);padding:10px}.card .body{padding:14px 16px 16px}.card .name{font-size:15px;font-weight:700;line-height:1.45}.card .sub{color:var(--ink-soft);font-size:12.5px;font-style:italic}.card .meta{color:var(--ink-soft);margin-top:7px;font-size:11.5px}.pill{letter-spacing:.04em;background:var(--accent-soft);color:var(--accent);border-radius:980px;padding:3px 11px;font-size:11px;font-weight:700;display:inline-block}.pill.warn{background:color-mix(in srgb, var(--gold) 15%, var(--surface));color:var(--gold)}.zukan-search{border:1px solid var(--line);background:var(--surface);width:100%;max-width:420px;color:var(--ink);border-radius:980px;margin:18px 0 4px;padding:11px 20px;font-family:inherit;font-size:16px}.zukan-search::placeholder{color:var(--ink-soft)}.zukan-search:focus{border-color:var(--accent)}.detail{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;padding:56px 0 72px;display:grid}@media (width<=760px){.detail{grid-template-columns:1fr}}.detail img.photo{background:var(--section);border-radius:18px;width:100%}.attribution{color:var(--ink-soft);margin-top:10px;font-size:11.5px}.eyebrow{letter-spacing:.24em;color:var(--accent);margin:0 0 10px;font-family:Zen Maru Gothic,sans-serif;font-size:12px;font-weight:700}.facts{border-top:1px solid var(--line);margin:24px 0;padding:0;list-style:none}.facts li{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:12px 2px;font-size:14.5px;display:flex}.facts .k{color:var(--ink-soft);flex-shrink:0}.facts .v{text-align:right;font-variant-numeric:tabular-nums}.chojugiga{text-align:center}.chojugiga .frame{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-card);border-radius:22px;margin:30px auto 14px;padding:clamp(12px,3vw,28px)}.chojugiga .frame img{border-radius:10px;width:auto;max-width:100%;max-height:440px;margin:0 auto}.chojugiga .caption{color:var(--ink-soft);margin:0 0 26px;font-size:12.5px}.showcase-num{color:var(--ink);font-variant-numeric:tabular-nums;margin:0 0 6px;font-size:clamp(56px,9vw,88px);font-weight:600;line-height:1}.showcase-num span{letter-spacing:.14em;color:var(--ink-soft);margin-top:10px;font-family:Zen Maru Gothic,sans-serif;font-size:15px;font-weight:700;display:block}.thumb-row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.thumb-row img{object-fit:cover;background:var(--surface);border:1px solid var(--line);border-radius:14px;width:76px;height:76px;transition:transform .15s}.thumb-row a:hover img{transform:scale(1.12)}.article-list{flex-direction:column;gap:16px;margin-top:28px;display:flex}.article-item{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:18px;padding:24px 28px;text-decoration:none;transition:box-shadow .2s,transform .2s;display:block}.article-item:hover{box-shadow:var(--shadow-card);text-decoration:none;transform:translateY(-2px)}.article-item h2{margin:0 0 6px;font-size:20px}.article-item p{color:var(--ink-soft);margin:0;font-size:14px}.article-body{max-width:720px}.prose{font-size:16.5px;line-height:2}.prose p{margin:1.4em 0}.prose ul{padding-left:1.4em}.prose li{margin:.5em 0}.prose strong{font-weight:700}.prose em{font-style:italic}.site-footer{border-top:1px solid var(--line);color:var(--ink-soft);padding:32px 0 56px;font-size:12.5px}.site-footer p{margin:5px 0}
