/* Asteria: the existing moon identity, navy paper, ivory, generous spacing. */
:root{color-scheme:light;--ink:#111c2d;--paper:#f6f2e9;--ivory:#fff0d7;--muted:#566174;--rule:#d0cbbf;--serif:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif;font-family:"Yu Gothic","Yu Gothic UI",Meiryo,system-ui,sans-serif;color:var(--ink);background:var(--paper)}

*{box-sizing:border-box}
body{margin:0;line-height:1.95;font-size:16px}
a{color:inherit;text-underline-offset:.24em}
a:hover{text-decoration-thickness:2px}
a:focus-visible,summary:focus-visible{outline:3px solid #277ad1;outline-offset:5px}
.skip-link{position:absolute;top:-100px;background:white;padding:14px;z-index:5}
.skip-link:focus{top:0}
.wrap{max-width:1240px;margin:auto;padding:0 40px}

header{background:var(--ink);color:var(--ivory);border-bottom:1px solid #394452}
header .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:96px;padding-top:18px;padding-bottom:18px}
.brand{display:flex;align-items:center;gap:12px;font:30px var(--serif);text-decoration:none;white-space:nowrap}
.brand span{font:13px "Yu Gothic",sans-serif;letter-spacing:.12em}
nav{display:flex;flex-wrap:wrap;gap:12px 22px;font-size:13px}
nav a{text-decoration:none}
nav a:hover{text-decoration:underline}

h1,h2,h3{font-family:var(--serif);font-weight:500}
h1{font-size:clamp(36px,4vw,62px);line-height:1.55;margin:18px 0 26px;letter-spacing:.035em}
h2{font-size:clamp(26px,3vw,38px);line-height:1.6;margin:0 0 26px}
h3{font-size:24px;line-height:1.6;margin:10px 0 16px}
p{margin:0 0 18px}
.lede{font-size:20px;color:var(--muted);max-width:52ch}
.small,figcaption{font-size:13px;color:var(--muted)}
.eyebrow{font-size:12px;letter-spacing:.2em;color:var(--muted)}
.product-label{font:38px var(--serif);letter-spacing:.12em;margin:26px 0}
.product-label span{font:14px "Yu Gothic",sans-serif;margin-left:20px}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 28px;margin:28px 0 16px}
.button{display:inline-flex;align-items:center;gap:26px;justify-content:center;background:var(--ink);color:var(--ivory);padding:15px 24px;min-height:52px;text-decoration:none;font-weight:600}
.button:hover{filter:brightness(1.15)}
.text-link{font-size:14px}

.home .hero{position:relative;isolation:isolate;display:grid;grid-template-columns:1.18fr 1fr;align-items:center;gap:24px;min-height:660px;color:var(--ivory);padding:60px 0}
.home .hero::before,.hero-facts::before{content:"";position:absolute;inset:0 calc((1160px - 100vw)/2);background:var(--ink);z-index:-1}
.home .hero h1{font-size:clamp(40px,4.8vw,70px)}
.home .hero .lede,.home .hero .small,.home .hero .eyebrow{color:#cbd3dc}
.home .hero .button{background:var(--ivory);color:var(--ink)}
.hero-visual img{width:100%;height:auto;display:block}
.hero-visual{min-width:0}
.hero-facts{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(3,1fr);text-align:center;color:var(--ivory);padding:18px 0 35px;font:20px var(--serif)}
.hero-facts span{padding-top:24px;border-top:1px solid #657080}
.content{padding:70px 0;border-top:1px solid var(--rule);scroll-margin-top:24px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.card .number{font:15px Georgia,serif;color:#7a8592;letter-spacing:.12em}
.card p{color:var(--muted)}
.typing-demo{margin:20px 0}
.typing-demo img{width:100%;height:auto;display:block}
.typing-demo figcaption{margin-top:12px}
.proof{display:grid;grid-template-columns:1fr 1.8fr;gap:50px;align-items:start}
.proof>strong{font:100px Georgia,serif;color:var(--ink);line-height:1.2}
.proof>strong span{font-size:30px;color:var(--muted)}
.interior{max-width:1040px}
.page-head{padding:60px 0 35px}
.page-head .lede{max-width:65ch}
.download-box{background:var(--ink);color:var(--ivory);padding:35px}
.download-box h2{font-size:40px;margin:15px 0}
.download-box .button{background:var(--ivory);color:var(--ink)}
.tag{font-size:12px;letter-spacing:.14em;color:#cbd3dc}
.table-wrap{overflow:auto;margin:22px 0}
.data{width:100%;border-collapse:collapse;font-size:15px}
.data th,.data td{border-bottom:1px solid var(--rule);padding:14px 18px;text-align:left;vertical-align:top}
.data th{background:#e9e4d9}
.data small{font-size:12px}
.steps li{padding:6px 0}
pre{background:#e9e4d9;padding:22px;overflow-wrap:anywhere;white-space:pre-wrap}
code{font:14px/1.8 Consolas,monospace}
kbd{font:14px Consolas,monospace;border:1px solid #aaa;padding:2px 6px}
details{border-bottom:1px solid var(--rule);padding:20px 0}
details p{margin:18px 0 0}
summary{cursor:pointer;font-size:19px;font-weight:600}
.history{margin-bottom:60px}
.history .content{padding:36px 0}
.ime-figure{margin:20px 0}
.ime-figure img{width:100%;height:auto}
.breadcrumb{padding-top:25px;font-size:13px}
.prose{max-width:75ch}
.spec{margin:20px 0}
.spec>div{border-bottom:1px solid var(--rule);padding:12px 0}
.spec dt{font-weight:600}
.spec dd{margin:0;color:var(--muted)}

footer{background:var(--ink);color:var(--ivory);padding:45px 0;margin-top:20px}
footer p{font-size:13px;color:#cbd3dc}
footer .brand{font-size:32px;color:var(--ivory)}
footer nav{margin:22px 0}

@media(max-width:1239px){.home .hero::before,.hero-facts::before{left:-40px;right:-40px}
}

@media(max-width:1000px){header .wrap{flex-direction:column;align-items:flex-start;gap:16px}
.grid{gap:24px}
.home .hero{min-height:590px}
.home .hero h1{font-size:50px}
.proof{gap:30px}
}

@media(max-width:760px){.wrap{padding:0 22px}
.home .hero::before,.hero-facts::before{left:-22px;right:-22px}
.home .hero{grid-template-columns:1fr;padding:44px 0 20px;gap:10px}
.home .hero h1{font-size:clamp(30px,9.5vw,40px)}
.page-head h1{font-size:32px}
.hero-visual{max-width:330px;margin:auto}
.hero-facts{font-size:15px}
.grid{grid-template-columns:1fr;gap:28px}
.content{padding:45px 0}
.lede{font-size:17px}
.proof{grid-template-columns:1fr;gap:25px}
.proof>strong{font-size:76px}
.brand{font-size:27px}
header nav{gap:10px 19px;font-size:12px}
.page-head{padding:42px 0 25px}
.download-box{padding:24px}
.download-box h2{font-size:33px}
.actions{gap:16px}
.button{font-size:14px;padding:14px 18px}
.data th,.data td{padding:10px;font-size:13px}
}

/* v3: 地は和紙の白、紺は文字・ボタン・印にだけ使う(2026-10-25 利用者の指示)。 */
body{background:var(--paper) url("washi.jpg") repeat;background-size:1920px auto}
header{background:transparent;color:var(--ink);border-bottom:1px solid var(--rule)}
.v3 .hero{grid-template-columns:1fr 1.25fr;gap:48px;min-height:600px;color:var(--ink)}
.v3 .hero::before,.v3 .hero-facts::before{display:none}
.v3 .hero h1{font-size:clamp(32px,3.7vw,54px);line-height:1.45;margin-top:10px}
.v3 .hero .lede{color:var(--muted);max-width:30em}
.v3 .hero .small,.v3 .hero .eyebrow{color:var(--muted)}
.v3 .hero .button{background:var(--ink);color:var(--ivory)}
.v3 .hero-facts{color:var(--ink);padding-top:0}
.v3 .hero-facts span{border-top:1px solid var(--ink)}
.nb{white-space:nowrap}
.hero-video{margin:0;min-width:0}
.hero-video video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#e9e4d9;border-radius:10px;box-shadow:0 18px 50px rgba(17,28,45,.18),0 2px 8px rgba(17,28,45,.10)}
.hero-video figcaption{margin-top:12px}
.assure{display:flex;flex-wrap:wrap;gap:6px 22px;list-style:none;padding:0;margin:6px 0 0;font-size:13px;color:var(--muted)}
.assure li::before{content:"✓";color:var(--ink);margin-right:6px;font-weight:700}
.example{font-size:14px;line-height:1.8;background:rgba(255,255,255,.65);padding:14px 16px;border-left:3px solid var(--ink);color:var(--ink)!important}
.example strong{font-weight:600}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:26px 0 20px}
.stats strong{display:block;font:56px Georgia,serif;line-height:1.2;color:var(--ink)}
.stats strong span{font-size:26px;color:var(--muted)}
.stats p{color:var(--muted);margin:6px 0 0}
.ime-figure img{border-radius:8px;box-shadow:0 10px 30px rgba(17,28,45,.12)}
.steps3{list-style:none;counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:0;margin:10px 0 30px}
.steps3 li{counter-increment:s;border-top:2px solid var(--ink);padding-top:18px}
.steps3 li::before{content:counter(s,decimal-leading-zero);font:15px Georgia,serif;color:#7a8592;letter-spacing:.12em;display:block}
.steps3 strong{display:block;font:22px var(--serif);margin:6px 0}
.steps3 span{color:var(--muted)}
.grid.four{grid-template-columns:repeat(4,1fr);gap:32px}
.grid.four h3{font-size:20px}
.grid.four p{color:var(--muted);font-size:15px}
.cta-band{text-align:center;padding:80px 0 70px;margin-top:20px;border-top:1px solid var(--rule)}
.cta-band .actions{justify-content:center}
.home.v3~footer{margin-top:0}
@media(max-width:1000px){.v3 .hero{grid-template-columns:1fr;gap:28px}.grid.four{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.v3 .hero-facts{grid-template-columns:1fr;padding-bottom:20px}.v3 .hero-facts span{padding:12px 0}.stats{grid-template-columns:1fr;gap:20px}.stats strong{font-size:44px}.steps3{grid-template-columns:1fr;gap:20px}.grid.four{grid-template-columns:1fr}.v3 .hero{padding-top:36px}}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}
}
