:root{--page:#fffdfb;--ink:#30292b;--muted:#72676d;--pink:#c94073;--soft:#fff5f8;--sage:#71887a;--sage-soft:#f1f7f2;--line:#e9e1de;--max:760px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#f5f0ed;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.85}
img{max-width:100%;height:auto;display:block}a{color:inherit}.page{width:min(100%,900px);margin:0 auto;background:var(--page);min-height:100vh;box-shadow:0 0 22px #33222209}
.site-header{position:sticky;top:0;z-index:30;background:#fff;display:flex;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line)}
.inner{width:min(100%,var(--max));margin:0 auto}.narrow{max-width:660px}.section{padding:48px 20px}.soft{background:linear-gradient(180deg,#fff7fa 0%,#fffdfa 100%)}
h1,h2,h3,p{margin-top:0}h1{font-size:clamp(33px,7vw,46px);line-height:1.3;text-align:center;margin-bottom:10px;letter-spacing:.04em}h2{font-size:clamp(25px,5.2vw,34px);line-height:1.45;text-align:center;margin-bottom:22px}h3{font-size:18px;line-height:1.5;margin-bottom:12px;color:#466153}
p,li{font-size:16px;line-height:1.88}p{margin-bottom:15px}.section-lead{max-width:690px;margin:0 auto 25px}.subtitle{font-size:clamp(17px,3.5vw,21px);font-weight:700;text-align:center;color:#8c6275;margin-bottom:27px}
.hero{padding-top:45px}.hero p:not(.subtitle){max-width:650px;margin:0 auto 16px}.hero-image{width:min(100%,760px);margin:26px auto 0;border-radius:19px;box-shadow:0 8px 24px #40333317}
.feature,.chart,.hidensho{width:100%;max-width:760px;margin:20px auto 28px;height:auto;object-fit:contain;border-radius:18px;box-shadow:0 8px 20px #40333313}
.chart{max-width:760px}.hidensho{max-width:630px}.dialogue{max-width:690px;margin:20px auto 0}.speech{position:relative;padding:15px 18px 15px 64px;margin:11px 0;border-radius:17px;background:#fff;border:1px solid var(--line)}
.speech span{position:absolute;top:17px;left:16px;display:grid;place-items:center;width:34px;height:34px;color:#fff;border-radius:50%;font-weight:800}.speech.hana span{background:#e395ad}.speech.nin span{background:#6d8778}.speech p{margin:0;font-size:15px}
.info-card{background:#fff;border:1px solid #e5e2dc;padding:20px 22px;margin:16px 0;border-radius:16px;min-width:0}.info-card p{margin:0}.options{margin:0;padding-left:1.3em}.options li{padding:3px 0;font-size:15px}
.phase-grid,.two-col,.three-col{display:grid;gap:14px;margin:25px auto}.phase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.phase-grid .info-card,.two-col .info-card,.three-col .info-card{margin:0}.phase-grid .info-card{text-align:center;background:var(--sage-soft);border-color:#d5e1d8}.phase-grid h3{font-size:16px;margin-bottom:4px}.phase-grid p{font-size:14px}
.note{font-size:14px;line-height:1.8;color:#675e60;background:#f5f8f4;border-left:3px solid #93a99a;border-radius:0 8px 8px 0;padding:11px 14px;margin:22px auto}
.stories{display:grid;gap:34px}.story{padding-bottom:24px;border-bottom:1px solid var(--line)}.story h3{font-size:clamp(19px,4vw,24px);text-align:center;color:#3d594a}.story .feature{margin:16px auto 23px}.story .note{margin:18px 0 0}
.hiden-link{display:block;max-width:640px;margin:auto;text-decoration:none}.cta{display:flex;align-items:center;justify-content:center;width:min(100%,560px);min-height:56px;margin:24px auto 0;padding:13px 20px;border-radius:999px;background:#c93d74;color:#fff;text-decoration:none;font-weight:800;text-align:center;box-shadow:0 7px 16px #c93d742b}.cta.secondary{background:#fff;border:1px solid #daaabb;color:#9f3761;box-shadow:none}
.fineprint{text-align:center;margin-top:10px;color:var(--muted);font-size:12px}.center{text-align:center}.last-message{margin:35px auto 0;text-align:center;font-weight:800;color:#9d4166;font-size:19px}
.site-footer{padding:44px 28px;text-align:center;background:#fff;border-top:1px solid var(--line)}.footer-brand{display:inline-block;margin-bottom:22px;text-decoration:none;color:#111;font-size:30px;font-weight:600}.site-footer nav{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 24px}.site-footer nav a{font-size:13px}.copyright{margin:20px 0 0;color:var(--muted);font-size:12px}
.ceremony-image-mobile{display:none}
.subtitle-mobile-line{display:inline}
.mobile-heading-break{display:inline}
@media(max-width:650px){.section{padding:36px 16px}p,li{font-size:15px}.section-lead{font-size:15px}.phase-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.two-col,.three-col{grid-template-columns:1fr;gap:10px}.info-card{padding:17px 16px}.feature,.chart,.hidensho,.hero-image{border-radius:13px}.speech p{font-size:14px}.story h3{text-align:left}.site-footer nav{flex-direction:column;gap:10px}.subtitle-mobile-line{display:block}.mobile-heading-break{display:block}.ceremony-image-desktop{display:none}.ceremony-image-mobile{display:block;width:100%;max-width:100%;margin:17px auto 0;border-radius:12px}.ceremony-image-mobile.feature{margin-bottom:0}}