@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Serif+JP:wght@400;500;600;700&display=swap');

:root{color-scheme:light;--ink:#18243b;--muted:#788396;--line:#dfe4ed;--blue:#1d49df;--paper:#faf9f6}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.8 'DM Sans',-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN',sans-serif}
a{color:inherit}
a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.skip-link{position:absolute;left:20px;top:-100px;z-index:10;background:#fff;padding:8px 12px}.skip-link:focus{top:12px}
.site-header{background:#fff;border-bottom:1px solid var(--line)}
.site-header-inner{max-width:1240px;margin:auto;padding:18px clamp(20px,4vw,48px);display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{text-decoration:none;color:#15254c;font-size:22px;font-weight:700;letter-spacing:-.055em;line-height:1.1}
.brand span{display:block;margin-top:5px;color:#8a93a3;font-size:10px;font-weight:500;letter-spacing:.08em}
.site-header nav{display:flex;gap:30px;font-size:13px;font-weight:700}.site-header nav a{text-decoration:none}.site-header nav a:hover{color:var(--blue)}
main{max-width:1240px;margin:auto;padding:0 clamp(20px,4vw,48px) 120px}
.breadcrumbs{padding:25px 0 40px;color:#8893a4;font-size:12px}
.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0}
.breadcrumbs li:not(:last-child)::after{content:'／';margin-left:8px;color:#b6c0cd}.breadcrumbs a{text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs li:last-child{color:#536178}
h1,h2,p{margin-top:0}h1,h2{letter-spacing:-.04em}h1{font-family:'Noto Serif JP',serif;font-size:clamp(38px,5vw,70px);line-height:1.35;font-weight:600}h2{font-size:clamp(22px,2.8vw,31px);line-height:1.4}
.eyebrow,.section-label{color:var(--blue);font-size:11px;font-weight:700;letter-spacing:.2em}.eyebrow{margin-bottom:22px}.eyebrow-rule{display:inline-block;vertical-align:middle;width:28px;height:1px;background:#aebce0;margin:0 9px}
.byline{font-size:13px;color:#7b8798;letter-spacing:.04em}.lead{font-family:'Noto Serif JP',serif;font-size:clamp(17px,2vw,22px);line-height:1.9;color:#4f5c70}
.primary-action{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-width:235px;margin-top:27px;padding:13px 18px;background:var(--blue);color:#fff;text-decoration:none;font-size:13px;font-weight:700;letter-spacing:.03em;transition:transform .15s,background .15s}.primary-action:hover{transform:translateY(-2px);background:#1239bf}
.world-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,.84fr);gap:clamp(30px,5vw,80px);align-items:center;padding:20px 0 84px;border-bottom:1px solid var(--line)}
.world-intro{padding:35px 0}.world-intro h1{margin-bottom:15px}.world-intro .lead{margin:35px 0 0}
.world-cover{min-height:460px;max-height:600px;background:#e6e9ee;overflow:hidden}.world-cover img{display:block;width:100%;height:100%;min-height:460px;max-height:600px;object-fit:cover}
.description-section,.setting-section,.work-section{padding:74px 0 0}.description-section>p:last-child{max-width:730px;color:#4f5c70;font-size:17px;line-height:2}.section-label{margin-bottom:17px}.setting-section dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:30px 0 0}.setting-section dl>div{padding:24px;border:1px solid var(--line);background:#fff}.setting-section dt{font-weight:700}.setting-section dd{margin:10px 0 0;color:#69768a;font-size:14px}
.work-section h2 span{margin-left:7px;color:#a0abb9;font:500 15px 'DM Sans',sans-serif;vertical-align:middle}.works{list-style:none;margin:25px 0 0;padding:0;border-top:1px solid var(--line)}.works li{display:grid;grid-template-columns:38px minmax(0,1fr) 24px;gap:22px;padding:27px 0;border-bottom:1px solid var(--line)}.works a{font-family:'Noto Serif JP',serif;font-size:21px;font-weight:600;text-decoration:none}.works a:hover{color:var(--blue)}.works p{margin:9px 0;color:#69768a;font-size:14px}.work-number,.work-meta,.work-arrow{color:#9aa7ba;font-size:12px}.work-number{padding-top:7px}.work-meta{display:block;margin-top:8px}.work-arrow{font-size:22px;color:var(--blue)}
.story-layout{display:grid;grid-template-columns:minmax(0,730px) minmax(220px,1fr);gap:clamp(30px,5vw,88px);align-items:start}.story-heading{padding:20px 0 50px;border-bottom:1px solid var(--line)}.story-heading h1{font-size:clamp(34px,4vw,58px);margin-bottom:20px}.story-heading .lead{margin:34px 0 0}.story-body{padding:38px 0 10px;font-family:'Noto Serif JP','Hiragino Mincho ProN',serif;font-size:18px;line-height:2.35}.story-body p{white-space:pre-wrap;margin:0 0 1.75em}.story-aside{position:sticky;top:30px;margin-top:20px;padding:28px;background:#fff;border:1px solid var(--line)}.story-aside h2{font-family:'Noto Serif JP',serif;font-size:21px}.story-aside h2 a{text-decoration:none}.story-aside h2 a:hover{color:var(--blue)}.story-aside p:not(.section-label){font-size:13px;color:#69768a}.story-aside p a{color:#2448a4;text-decoration:none}.aside-divider{height:1px;background:var(--line);margin:27px 0}.continue-box{padding:34px;margin:35px 0 0;background:#eef2fa}.continue-box h2{font-family:'Noto Serif JP',serif;font-size:24px}.continue-box>p:not(.section-label){color:#67768c;font-size:14px}.continue-box .primary-action{margin-top:11px}
.comic-intro{padding-top:25px}.comic-intro a{color:var(--blue);font-weight:700}.comic-pages figure{margin:25px 0 40px}.comic-page{display:block;max-width:100%;height:auto;margin:auto}.comic-pages figcaption{margin-top:10px;color:#687588;font-size:13px}.comic-pages summary{cursor:pointer}.comic-pages figcaption p{margin:5px 0}
.site-footer{display:flex;justify-content:space-between;gap:25px;max-width:1240px;margin:auto;padding:33px clamp(20px,4vw,48px) 55px;border-top:1px solid var(--line);color:#8490a1;font-size:12px}.site-footer strong{display:block;color:#15254c;font-size:18px}.site-footer span{display:block;margin-top:3px}.site-footer a{color:#556884}
@media(max-width:800px){.world-hero,.story-layout{grid-template-columns:1fr}.world-hero{gap:16px;padding-bottom:55px}.world-intro{padding:0}.world-cover{min-height:0;max-height:480px}.world-cover img{min-height:0;max-height:480px;aspect-ratio:4/3}.story-aside{position:static;order:-1;margin:0}.story-main{min-width:0}.setting-section dl{grid-template-columns:1fr}.description-section,.setting-section,.work-section{padding-top:55px}}
@media(max-width:520px){.site-header-inner{align-items:start}.site-header nav{gap:12px;font-size:11px}.brand span{display:none}.breadcrumbs{padding:19px 0 25px}.world-intro .lead{margin-top:22px}.works li{grid-template-columns:24px minmax(0,1fr) 15px;gap:10px}.works a{font-size:18px}.work-arrow{font-size:16px}.story-heading{padding-bottom:31px}.story-body{font-size:16px}.site-footer{display:block}.site-footer a{display:block;margin-top:20px}}
