.article-map{--paper:#f6f3ec;--paper-2:#efeae0;--ink-soft:#3b3632;--faint:#d8d1c5;--muji-red:#7f0019;background:var(--paper);border-top:1px solid var(--rule);min-height:100vh;padding:18px 0 clamp(58px,8vw,88px);position:relative}.article-map__shell{width:min(1080px,100% - 32px);margin:0 auto}.article-map .article-map__breadcrumb{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;font-size:.8rem;display:flex}.article-map .article-map__breadcrumb a{color:var(--site-link,#76522f);align-items:center;min-height:24px;font-weight:700;text-decoration:none;display:inline-flex}.article-map .article-map__breadcrumb a:hover{text-underline-offset:3px;text-decoration:underline}.article-map .article-map__hero{border-bottom:2px solid var(--ink);padding:clamp(14px,3vw,28px) 0 18px}.article-map .article-map__hero h1{letter-spacing:0;margin:0;font-size:clamp(2.1rem,5vw,3.4rem);line-height:1.12}.article-map .article-map__lead{color:var(--ink);max-width:62ch;margin:14px 0 0;font-size:.95rem;line-height:1.85}.article-map .article-map__count{color:#594536;margin:12px 0 0;font-size:.84rem;font-weight:850}.article-map .am-list__link:focus-visible,.article-map .am-list{max-width:none;margin:0;padding:0;list-style:none}.article-map .am-list li{border-top:1px solid var(--rule);margin:0}.article-map .am-list li:first-child{border-top:0}.article-map .am-list__link{color:var(--ink);gap:3px;min-height:44px;padding:10px 0;text-decoration:none;display:grid}.article-map .am-list__link strong{overflow-wrap:anywhere;font-size:.95rem;font-weight:780;line-height:1.55}.article-map .am-list__link span{color:var(--muted);overflow-wrap:anywhere;font-size:.84rem;line-height:1.65}.article-map .am-list__link:hover strong,.article-map .am-list__link:focus-visible strong{color:var(--site-link,#76522f);text-underline-offset:3px;text-decoration:underline}.am-index{margin-top:clamp(44px,7vw,72px)}.article-map .am-index__heading{border-bottom:2px solid var(--ink);padding-bottom:12px}.article-map .am-index__heading h2{letter-spacing:0;margin:0;font-size:clamp(1.4rem,3vw,1.9rem)}.article-map .am-index__heading p{color:var(--muted);max-width:62ch;margin:6px 0 0;font-size:.88rem;line-height:1.7}.article-map .am-index__groups{grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:0 clamp(20px,3vw,40px);display:grid}.article-map .am-index__group{border-top:1px solid var(--rule);min-width:0;margin-top:18px;padding-top:16px;scroll-margin-top:16px}.article-map .am-index__group h3{letter-spacing:0;margin:0;font-size:1.1rem}.article-map .am-index__group h3 span{color:#806040;margin-left:6px;font-size:.76rem;font-weight:850}.article-map .am-index__group>p{color:var(--muted);margin:4px 0 6px;font-size:.84rem;line-height:1.6}.am-sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.am-app{margin-top:30px}.am-app[hidden]{display:none}.map{--sky:#05070d;--sky-2:#0d1426;--star:#e6ecff;--warm:#fff1d6;--ink-dim:#d6e0ffb3;background:radial-gradient(140% 100% at 50% 110%, #16213d 0%, var(--sky-2) 38%, var(--sky) 78%);color:var(--star);border-radius:18px;margin-top:22px;font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,Yu Gothic UI,Meiryo,system-ui,sans-serif;position:relative;overflow:hidden}.map[hidden]{display:none}.map__bar{z-index:2;align-items:center;gap:10px;padding:14px 14px 0;display:flex;position:relative}.map__rail{flex:auto;align-items:center;min-width:0;display:flex;position:relative}.map__chips{cursor:grab;scroll-behavior:smooth;scrollbar-width:none;user-select:none;min-width:0;-webkit-mask-image:linear-gradient(90deg, var(--fade-l,#000), #000 28px, #000 calc(100% - 28px), var(--fade-r,#000));mask-image:linear-gradient(90deg, var(--fade-l,#000), #000 28px, #000 calc(100% - 28px), var(--fade-r,#000));flex:auto;gap:2px;display:flex;overflow-x:auto}.map__chips.is-grabbing{cursor:grabbing;scroll-behavior:auto}.map__rail.has-prev .map__chips{--fade-l:transparent}.map__rail.has-next .map__chips{--fade-r:transparent}.map__scroll{color:#f3d9a4d9;cursor:pointer;font:inherit;background:0 0;border:0;flex:none;width:26px;height:36px;padding:0;font-size:1.3rem;line-height:1}.map__scroll:hover{color:#fff;text-shadow:0 0 10px #f3d9a4b3}.map__scroll:focus-visible{outline:1px solid var(--star);outline-offset:2px}@media (hover:none){.map__scroll{display:none}}@media (width<=639px){.map__bar{flex-wrap:wrap;row-gap:2px}.map__rail{flex-basis:100%}.map__tools{margin-left:auto}}.map__chips::-webkit-scrollbar{display:none}.chip{color:var(--ink-dim);cursor:pointer;font:inherit;letter-spacing:.12em;white-space:nowrap;background:0 0;border:0;border-radius:999px;flex:none;min-height:36px;padding:0 12px;font-size:.78rem;font-weight:400}.chip span{display:none}.chip:hover{color:var(--star)}.chip[aria-pressed=true]{color:var(--star);background:#e6ecff1a}.map__tools{flex:none;gap:2px;display:flex}.map__tool{color:var(--ink-dim);cursor:pointer;font:inherit;letter-spacing:.1em;background:0 0;border:0;min-height:36px;padding:0 10px;font-size:.72rem}.map__tool:hover{color:var(--star)}.map__tool[hidden]{display:none}.map__stage{touch-action:manipulation;height:clamp(400px,60vh,620px);position:relative}.map__sky{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.map__milkyway{filter:blur(18px)}.map__dust{fill:#dfe7ff}.map__dust--bright{fill:#fff6e6}.map__svg{width:100%;height:100%;display:block;position:relative}.map__hint{color:var(--ink-dim);letter-spacing:.24em;pointer-events:none;white-space:nowrap;z-index:1;margin:0;font-size:.72rem;font-weight:300;position:absolute;top:8px;left:50%;transform:translate(-50%)}.map__hint[hidden]{display:none}.mape{fill:none;stroke:#d6e0ff29;stroke-linecap:round;stroke-width:calc(var(--map-stroke,1px) * 1);transition:stroke .5s,opacity .5s,stroke-dashoffset .9s cubic-bezier(.05,.7,.1,1)}.mape--web{opacity:.3}.mape.is-focus{stroke:#e6ecff8c;stroke-width:calc(var(--map-stroke,1px) * 1.2);opacity:1}.mape__meteor{fill:none;stroke:#fff;stroke-linecap:round;stroke-width:calc(var(--map-stroke,1px) * 2.2);filter:drop-shadow(0 0 3px #c8d7ffe6);transition:stroke-dashoffset .95s cubic-bezier(.3,0,.2,1),opacity .35s .75s}.mapn{cursor:pointer;outline:none}.mapn__hit{fill:#0000}.mapn__body{transform-box:fill-box;transform-origin:50%;transition:transform .6s cubic-bezier(.05,.7,.1,1),opacity .5s}.mapn.is-new .mapn__body{opacity:0;transform:scale(.3)}.mapn__core{fill:var(--star)}.mapn__glow{opacity:.75;transition:opacity .4s}.mapn__ring{fill:none;stroke:#fff1d647;stroke-width:calc(var(--map-stroke,1px) * .8)}.mapn--theme .mapn__core{fill:var(--warm)}.mapn.is-read .mapn__core{fill:#e6ecff59}.mapn__label{fill:var(--ink-dim);font-family:inherit;font-size:var(--map-font,12px);paint-order:stroke;stroke:#05070dbf;stroke-width:calc(var(--map-stroke,1px) * 3);letter-spacing:.08em;opacity:0;font-weight:400;transition:opacity .5s .2s,fill .4s}.mapn.is-near .mapn__label,.mapn.is-focus .mapn__label,.mapn--theme .mapn__label,.mapn:hover .mapn__label,.mapn:focus-visible .mapn__label{opacity:1}.mapn--theme .mapn__label{fill:var(--warm);letter-spacing:.3em;font-weight:400}.mapn.is-crowded:not(:hover):not(:focus-visible) .mapn__label{opacity:0}.mapn.is-near .mapn__label{fill:#e6ecffd1}.mapn.is-focus .mapn__label{fill:#fff;font-weight:500}.mapn.is-focus .mapn__glow{opacity:1}.mapn.is-focus .mapn__core{fill:#fff}.mapn:focus-visible .mapn__glow{opacity:1}.sheet{z-index:3;backdrop-filter:blur(10px);background:linear-gradient(#141c34db,#090d1af0);border:1px solid #d6e0ff24;border-radius:16px;max-width:380px;margin:0;padding:14px 16px 16px;position:absolute;bottom:12px;left:12px;right:12px;box-shadow:0 18px 50px #00000073}.sheet[hidden]{display:none}@media (width>=640px){.sheet{width:340px;top:62px;bottom:auto;right:auto}}.article-map .sheet p{margin:0}.article-map .sheet__close{color:var(--ink-dim);cursor:pointer;font:inherit;background:0 0;border:0;width:36px;height:36px;font-size:1.1rem;line-height:1;position:absolute;top:6px;right:6px}.article-map .sheet__close:hover{color:var(--star)}.article-map .sheet__kicker{color:#f3c98b;letter-spacing:.24em;padding-right:32px;font-size:.68rem;font-weight:500}.article-map .sheet__title{color:#fff;letter-spacing:.02em;padding-right:20px;font-size:1.08rem;font-weight:600;line-height:1.55;margin-top:6px!important}.article-map .sheet__read{color:#0b1020;letter-spacing:.08em;background:#f4efe4;border-radius:10px;justify-content:center;align-items:center;min-height:46px;margin-top:12px;font-size:.92rem;font-weight:700;text-decoration:none;transition:transform .2s,background .2s;display:flex}.article-map .sheet__read:hover{background:#fff;transform:translateY(-1px)}@media (prefers-reduced-motion:no-preference){.sheet.is-open{animation:.42s cubic-bezier(.05,.7,.1,1) map-card-in}}@keyframes map-card-in{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:none}}.chip:focus-visible,.map__tool:focus-visible,.article-map .sheet__read:focus-visible,.article-map .sheet__close:focus-visible{outline:1px solid var(--star);outline-offset:3px}@media (prefers-reduced-motion:no-preference){.map__dust--bright,.mapn__glow{animation:4.5s ease-in-out infinite alternate map-twinkle;animation-delay:var(--twinkle-delay,0s)}.map__milkyway{animation:30s ease-in-out infinite alternate map-drift}}@keyframes map-twinkle{0%{opacity:.45}to{opacity:1}}@keyframes map-drift{0%{transform:rotate(-24deg)translate(-10px)}to{transform:rotate(-22deg)translate(10px)}}.article-map .am-index{margin-top:28px}.article-map .am-index__summary{color:var(--ink);cursor:pointer;align-items:center;min-height:44px;font-size:.9rem;font-weight:700;display:flex}@media (width<=639px){.map__stage{height:clamp(380px,58vh,540px)}.sheet{box-shadow:none;border-radius:14px;margin:0 10px 10px;position:relative;bottom:auto;left:auto;right:auto}.article-map .sheet__title{font-size:1rem}.article-map .sheet__read{min-height:44px;margin-top:10px}}.map{border-radius:6px}.map__nebula{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.map__stage{cursor:grab;touch-action:none}.map__stage.is-dragging{cursor:grabbing}.map__bar{border-bottom:1px solid #0000;border-image:linear-gradient(90deg,#0000,#aac3ff47,#0000) 1;padding-bottom:6px}.chip{color:#c8d4ff99;letter-spacing:.16em;border-radius:0;font-size:.76rem;position:relative}.chip:before{content:"◇";opacity:.7;margin-right:6px;font-size:.55rem}.chip[aria-pressed=true]{color:#fff;text-shadow:0 0 12px #a0beffd9;background:0 0}.chip[aria-pressed=true]:before{color:#f3d9a4;content:"◆";opacity:1}.chip[aria-pressed=true]:after{content:"";background:linear-gradient(90deg,#0000,#f3d9a4,#0000);height:1px;position:absolute;bottom:3px;left:10px;right:10px}.map__tool{letter-spacing:.18em}.map__hint{letter-spacing:.14em;text-shadow:0 0 8px #000000e6}.sheet{-webkit-backdrop-filter:none;box-shadow:none;background:linear-gradient(90deg,#03050cb8,#03050c61 70%,#0000);border:0;border-left:1px solid #f3d9a4bf;border-radius:0;padding:10px 18px 12px 16px}.sheet:before,.sheet:after{content:none}.article-map .sheet__kicker{color:#f3d9a4e6;letter-spacing:.3em;font-size:.64rem}.article-map .sheet__title{color:#fff;letter-spacing:.03em;text-shadow:0 1px 12px #000c;font-size:1.14rem;font-weight:500;line-height:1.5;margin-top:4px!important}.article-map .sheet__meta{color:#c8d4ff8c;font-variant-numeric:tabular-nums;letter-spacing:.14em;font-size:.7rem;margin-top:6px!important}.article-map .sheet__meta span{color:#c8d4ff4d}.article-map .sheet__read{box-shadow:none;color:#f7ecd6;letter-spacing:.3em;background:0 0;border:0;border-radius:0;justify-content:flex-start;gap:12px;min-height:40px;margin-top:10px;padding:0;font-size:.86rem;font-weight:500;transition:color .25s;display:inline-flex}.article-map .sheet__read:after{content:"";background:linear-gradient(90deg,#f3d9a4e6,#f3d9a400);width:48px;height:1px;font-size:0;transition:width .35s cubic-bezier(.05,.7,.1,1)}.article-map .sheet__read:hover{box-shadow:none;color:#fff;background:0 0;transform:none}.article-map .sheet__read:hover:after{width:88px}.article-map .sheet__close{color:#c8d4ff73;font-size:.95rem}.mapn.is-quiet:not(:hover):not(:focus-visible) .mapn__core{opacity:.38}.mapn.is-quiet:not(:hover):not(:focus-visible) .mapn__glow{opacity:.22}.mapn__core{transition:opacity .5s}@media (width<=639px){.sheet{border-radius:0}.map{border-radius:4px}}
