@charset "UTF-8";
:root{--ink:#173c32;--muted:#627267;--paper:#f7f5ec;--gold:#dfbd71;--line:#dce1d5;--dark:#12392e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;line-height:1.9}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #bb8629;outline-offset:5px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2{line-height:1.5}h2{font-size:clamp(1.7rem,3vw,2.6rem);letter-spacing:.045em;font-weight:600}h3{font-size:1.2rem}p{color:var(--muted)}.wrap{width:min(1160px,calc(100% - 64px));margin:auto}.header{background:#f7f5ecf5;border-bottom:1px solid var(--line);position:relative;z-index:2}.nav{height:86px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px}.brand img{width:42px;height:42px;border-radius:10px}.wordmark{font:600 25px Georgia,serif;letter-spacing:.14em}.nav-links{display:flex;gap:30px;align-items:center;font-size:13px;font-weight:600}.nav-links a:hover,.footer a:hover{text-decoration:underline;text-underline-offset:5px}.nav-links .nav-download{padding:9px 22px;background:var(--ink);color:white;border-radius:3px}.hero{position:relative;isolation:isolate;background:var(--dark);min-height:680px;display:flex;align-items:center;color:white;overflow:hidden}.hero-art{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:65% center}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#082c26ed 0%,#12372bc9 25%,#153b2840 53%,transparent 76%)}.hero-copy{padding:86px 0 96px;max-width:560px}.eyebrow{font-size:11px;letter-spacing:.23em;font-weight:700;text-transform:uppercase;margin-bottom:23px}.hero .eyebrow{color:var(--gold)}.hero h1{font-size:clamp(25px,3.1vw,40px);font-weight:600;letter-spacing:.075em;margin-bottom:22px}.hero p:not(.eyebrow){color:#eef0dd;max-width:380px;font-size:15px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;line-height:1.5;padding:17px 26px;font-size:14px;font-weight:650;border-radius:3px;background:var(--ink);color:#fff;transition:transform .18s,background .18s}.button:hover{transform:translateY(-2px);background:#245746}.button.gold{background:var(--gold);color:#233b2b}.button.gold:hover{background:#f0d498}.button.line{background:transparent;border:1px solid #f0e5c68a;color:#fff}.button.line-dark{background:transparent;border:1px solid var(--ink);color:var(--ink)}.hero-note{display:block;margin-top:20px;font-size:11px;color:#e5e8d7}.facts{display:grid;grid-template-columns:repeat(3,1fr);padding:30px 0;border-bottom:1px solid var(--line)}.fact{text-align:center;border-right:1px solid var(--line);font-size:13px;color:var(--muted)}.fact:last-child{border:0}.fact strong{font:400 34px Georgia,serif;color:var(--ink);padding-right:12px}.section{padding:100px 0}.section-intro{max-width:690px;margin:0 auto 58px;text-align:center}.section-intro .eyebrow{color:#947237}.section-intro p{font-size:15px}.feature{display:grid;grid-template-columns:1.28fr 1fr;align-items:center;gap:65px;margin-top:64px}.feature.reverse{grid-template-columns:1fr 1.28fr}.feature.reverse .feature-image{order:2}.feature-image{border-radius:5px;overflow:hidden;box-shadow:0 18px 45px #15362917;border:1px solid var(--line)}.feature-image img{width:100%}.feature-copy .number{font:italic 26px Georgia,serif;color:#a58447;display:block;margin-bottom:16px}.feature-copy h3{font-size:25px;line-height:1.6;margin-bottom:18px}.feature-copy p{font-size:14px}.worlds{background:#173c32;color:#f4f1df}.worlds .eyebrow{color:var(--gold)}.worlds p{color:#c4d0c3}.world-list{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;border-top:1px solid #ffffff30;padding-top:36px}.world-list article{border-top:3px solid var(--world);padding-top:19px}.world-list small{color:#bbccbf;font-size:11px}.world-list h3{font-size:16px;margin:8px 0}.world-list p{font-size:12px;margin-bottom:0}.world-list strong{font:400 27px Georgia,serif;display:block;color:var(--gold);margin-top:16px}.end-cta{text-align:center;padding:88px 24px}.end-cta p{margin-bottom:30px}.footer{border-top:1px solid var(--line);padding:28px 0;font-size:12px;color:var(--muted)}.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer-links{display:flex;gap:24px}.page-heading{padding:68px 0 38px;max-width:780px}.page-heading h1{font-size:clamp(30px,4vw,44px);margin-bottom:14px}.page-heading .eyebrow{color:#947237}.download-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:start;padding-bottom:85px}.download-card{background:#fff;padding:38px;border:1px solid var(--line);border-radius:6px}.release-icon{display:flex;gap:20px;align-items:center;margin-bottom:28px}.release-icon img{width:76px;border-radius:17px}.release-icon h2{font:500 32px Georgia,serif;letter-spacing:.08em;margin:0}.release-icon p{font-size:13px;margin:2px 0}.release-info{display:grid;grid-template-columns:105px 1fr;font-size:13px;margin:0 0 25px}.release-info dt,.release-info dd{padding:9px 0;border-bottom:1px solid var(--line);margin:0}.release-info dt{color:var(--muted)}.download-card .button{width:100%;font-size:16px}.small{font-size:12px;line-height:1.8}.checksum{margin-top:22px}.checksum summary{font-size:12px;cursor:pointer}.checksum code{font-size:11px;display:block;overflow-wrap:anywhere;line-height:1.8;padding:16px;background:var(--paper);margin-top:10px}.steps{counter-reset:steps;list-style:none;margin:22px 0 32px;padding:0}.steps li{position:relative;padding:0 0 25px 43px;counter-increment:steps}.steps li:before{content:counter(steps);position:absolute;left:0;top:1px;width:27px;height:27px;line-height:27px;text-align:center;background:#e5e9df;border-radius:50%;font-size:12px}.steps h3{font-size:15px;margin-bottom:5px}.steps p{font-size:13px;margin:0}.update-note{padding:22px 26px;background:#e9ecdf;border-left:3px solid #a9915b;font-size:13px}.update-note h3{font-size:15px;margin-bottom:7px}.update-note p{margin:0}.guide-list{padding-bottom:75px}.guide-step{display:grid;grid-template-columns:1fr 1.15fr;gap:60px;align-items:center;border-top:1px solid var(--line);padding:44px 0}.guide-step h2{font-size:26px}.guide-step .eyebrow{color:#a58447;margin-bottom:13px}.guide-step p{font-size:14px}.guide-step img{border-radius:4px;border:1px solid var(--line)}.skip{position:absolute;left:16px;top:-100px;z-index:9;background:white;padding:10px}.skip:focus{top:12px}@media(max-width:800px){.wrap{width:calc(100% - 40px)}.nav{height:72px;gap:14px}.nav-links{gap:19px;font-size:12px}.nav-links .nav-download{padding:9px 12px}.brand img{width:34px;height:34px}.wordmark{font-size:20px}.hero{min-height:630px}.hero-copy{padding:65px 0;max-width:480px}.hero-art{object-position:61% center}.hero:after{background:linear-gradient(90deg,#082c26e8,#16382a9c 55%,#173b2530)}.feature,.feature.reverse{grid-template-columns:1fr;gap:30px;margin-top:45px}.feature.reverse .feature-image{order:0}.section{padding:65px 0}.feature-copy h3{font-size:23px}.world-list{grid-template-columns:repeat(3,1fr);gap:30px}.download-layout{grid-template-columns:1fr;gap:38px}.guide-step{grid-template-columns:1fr;gap:23px}.section-intro{margin-bottom:38px}}@media(max-width:480px){.wrap{width:calc(100% - 36px)}.nav-links{gap:13px}.nav-links .home-link{display:none}.nav-links .nav-download{padding:9px 10px;font-size:11px}.brand{gap:8px}.brand img{width:30px;height:30px}.wordmark{font-size:18px;letter-spacing:.08em}.hero{min-height:710px;align-items:flex-end}.hero-art{height:100%;object-position:69% center}.hero:after{background:linear-gradient(0deg,#0c302dfc 0%,#15392cd9 40%,#1237281c 85%)}.hero-copy{padding:190px 0 48px}.hero h1{font-size:27px;letter-spacing:.03em}.hero .eyebrow{margin-bottom:17px}.hero p:not(.eyebrow){font-size:13px;max-width:290px}.actions{gap:10px}.button{padding:15px 18px;font-size:12px;gap:10px}.facts{padding:25px 0}.fact{font-size:10px}.fact strong{display:block;font-size:30px;padding:0;line-height:1.3;margin-bottom:5px}.world-list{grid-template-columns:1fr 1fr}.section{padding:55px 0}.section-intro{text-align:left}.section-intro p{font-size:13px}.download-card{padding:25px}.page-heading{padding-top:42px}.guide-step{padding:34px 0}.footer-inner{gap:16px}.footer-links{gap:20px}.end-cta{padding:58px 18px}.end-cta h2{font-size:23px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

@media(max-width:480px){.hero .eyebrow{display:inline-block;background:#163a32d9;color:#f3e4ba;padding:4px 8px;letter-spacing:.14em}}

/* タイトルにはゲームで採用しているロゴ原画を表示する。 */
.hero-logo{display:block;width:min(470px,100%);height:auto;aspect-ratio:1446 / 794;margin:0 0 24px;filter:drop-shadow(0 4px 8px #082b2690)}
.hero-copy{padding:40px 0 48px}
@media(max-width:480px){.hero-copy{padding:120px 0 44px}.hero-logo{margin-bottom:24px}}

/* 制作資料への入口を、上部とフッターで見つけやすくする。 */
.nav-links{gap:22px}
.nav-archive{padding:8px 13px;border:1px solid #b89c5e;border-radius:3px;background:#eee4ca;color:#354634;white-space:nowrap}
.footer-inner,.footer-links{align-items:center}
.archive-button{display:inline-flex;align-items:center;gap:14px;padding:11px 17px;border-radius:3px;background:var(--ink);color:#fff;font-weight:650}
@media(max-width:800px){.nav-links{gap:12px}.nav-archive{padding:8px 10px}}
@media(max-width:480px){.nav{gap:10px}.nav-links{gap:8px}.nav-links .nav-download{padding:9px 8px}.nav-archive{font-size:11px;padding:8px 7px}.nav-archive span{display:none}.footer-links{flex-wrap:wrap;gap:15px}.archive-button{padding:11px 14px}}
@media(max-width:380px){.nav{height:auto;min-height:72px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px;gap:8px}.nav-links{width:100%;justify-content:space-between}.nav-links .home-link{display:block}}

@media(max-width:480px){.nav{height:auto;min-height:72px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px;gap:10px}.nav-links{width:100%;justify-content:space-between;gap:8px;white-space:nowrap}.nav-links .home-link{display:block}}

/* バージョン履歴は、日付と変更内容を横並びにして拾い読みできるようにする。 */
.nav-links [aria-current=page]{text-decoration:underline;text-underline-offset:6px}.history-main{max-width:1040px}.history-overview{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.history-overview p{margin:0}.history-overview strong{display:block;font-size:24px;color:var(--ink)}.history-overview span{font-size:12px}.release-jumps{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 20px}.release-jumps a{border:1px solid var(--line);background:white;padding:9px 19px;border-radius:4px;font-weight:650;font-size:14px}.release-jumps span{margin-left:12px;color:var(--muted);font-size:12px}.history-note{font-size:13px;max-width:800px;margin-bottom:34px}.history-note a,.history-link{text-decoration:underline;text-underline-offset:4px}.release-entry{display:grid;grid-template-columns:170px 1fr;gap:35px;padding:34px 30px;border:1px solid var(--line);border-radius:6px;background:#fffdf8;margin-bottom:18px;scroll-margin-top:24px}.release-entry.latest{border-color:#bda16a;border-top:4px solid #bda16a;background:#fffdf4}.release-stamp{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.release-stamp strong{font:500 30px Georgia,serif}.release-stamp time,.release-stamp>span{font-size:12px;color:var(--muted)}.release-stamp .release-badge{background:#eae2c9;color:#5d4c25;padding:2px 10px;border-radius:3px;font-weight:650}.release-body h2{font-size:21px;margin:0 0 12px;letter-spacing:.02em}.release-body ul{margin:0 0 17px;padding-left:1.2em;font-size:14px;color:var(--muted)}.release-body li+li{margin-top:7px}.release-permalink{font-size:12px;text-decoration:underline;text-underline-offset:4px}.history-end{display:flex;align-items:center;flex-wrap:wrap;gap:24px;padding:24px 0 70px}.history-end>a{font-size:13px}
@media(max-width:900px){.nav{height:auto;min-height:86px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px;gap:16px}.nav-links{flex-wrap:wrap;gap:12px 18px}.footer-links{flex-wrap:wrap}.history-overview{align-items:flex-start;flex-direction:column}.release-entry{grid-template-columns:135px 1fr;gap:22px;padding:26px 24px}}
@media(max-width:540px){.nav-links{width:100%;justify-content:flex-start;white-space:normal;gap:12px 18px}.nav-links a{min-height:36px;display:inline-flex;align-items:center}.release-entry{grid-template-columns:1fr;gap:18px;padding:24px 21px}.release-stamp{flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px 14px}.release-stamp strong{font-size:27px}.release-body h2{font-size:19px}.release-jumps{gap:9px}.release-jumps a{padding:8px 14px}.history-overview .button{width:100%}}

.history-main h1 span{display:inline-block}

.latest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.latest-grid article{min-width:0}.latest-grid img{width:100%;height:auto;border:1px solid #bda16a;border-radius:6px}.latest-grid h3{font-size:22px;margin:20px 0 10px}.latest-grid p{color:var(--muted);font-size:14px}.guide-step img{height:auto}@media(max-width:800px){.latest-grid{grid-template-columns:1fr;gap:36px}}

/* 制作中の縦横画面を切らず、同じ高さの枠へ収める。 */
.development-features .latest-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.development-features .latest-grid img{width:100%;height:300px;object-fit:contain;background:#112e2e}@media(max-width:800px){.development-features .latest-grid{grid-template-columns:1fr}.development-features .latest-grid img{height:360px;max-height:65vh}}

/* JM Soft 公式サイト用の追加（tools/import-zagbis.py） */
.release-panel{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;max-width:980px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:6px;padding:38px}.release-panel .release-info{margin:0}.release-support h3{font-size:16px;margin:0 0 6px}.release-support p{font-size:13px;margin-bottom:6px}.release-support a{font-size:13px;display:inline-block;margin-bottom:22px}.release-note{text-align:center;margin-top:24px}.footer-links{flex-wrap:wrap}.footer a{text-decoration:underline;text-underline-offset:4px}@media(max-width:800px){.release-panel{grid-template-columns:1fr;gap:20px;padding:25px}}
