:root{color-scheme:light;--blue:#244e69;--ink:#293f49;--muted:#546874;--paper:#f7f8f5;--line:#dce5e5}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;line-height:1.9;overflow-wrap:anywhere}
a{color:var(--blue);text-underline-offset:4px}
a:focus-visible,summary:focus-visible{outline:3px solid #a96a26;outline-offset:5px}
.skip-link{position:absolute;left:16px;top:-100px;z-index:10;background:#fff;padding:8px 16px}.skip-link:focus{top:8px}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1120px;margin:auto;padding:17px 24px}
.masthead a{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:21px;font-weight:700;text-decoration:none;letter-spacing:.12em}.masthead span{font-size:12px;letter-spacing:.08em}
.hero{text-align:center;background:#fff}.hero-image{display:block;width:100%;max-width:600px;height:auto;margin-inline:auto}
.hero-visual{position:relative;max-width:600px;margin-inline:auto}.hero-content{position:absolute;inset-inline:0;bottom:clamp(16px,3vw,24px);padding:0 16px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.22em;color:var(--blue);margin:0 0 12px}
h1,h2,.hero-subtitle,.closing>p,.footer-title{font-family:"Yu Mincho","Hiragino Mincho ProN",serif}
h1{font-size:clamp(30px,5vw,48px);letter-spacing:.12em;line-height:1.5;margin:0;color:var(--blue)}h1 span{display:block;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans",sans-serif;font-size:14px;letter-spacing:.18em;margin-top:12px}
.hero-subtitle{font-size:22px;margin:26px 0 8px}.hero-content>p:not(.eyebrow):not(.hero-subtitle){margin:0 0 22px;font-size:14px}.hero-content .caption{font-size:12px!important;margin:14px 0 0!important;color:var(--muted)}
.cta{display:inline-flex;justify-content:center;align-items:center;gap:22px;max-width:100%;padding:16px 28px;background:var(--blue);color:white;font-size:16px;font-weight:600;text-decoration:none;border-radius:4px;box-shadow:0 4px 12px #244e6914;transition:background .15s}.cta:hover{background:#16374e}
.container{max-width:820px;margin:auto;padding:0 24px}.section{padding:48px 0;border-bottom:1px solid var(--line)}h2{font-size:26px;letter-spacing:.06em;margin:0 0 22px;line-height:1.5}h3{font-size:16px;margin:0 0 6px}p{margin:0 0 16px}.section>p:not(.eyebrow),.features p,.steps p,details p{color:var(--muted);font-size:15px}
.features{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}.features>div{border-top:2px solid #89a5ac;padding-top:18px}.features p{margin:0}
.spots{list-style:none;padding:0;margin:24px 0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.spots li{padding:14px 18px;background:white;border-left:3px solid #89a5ac;font-size:15px}.note{font-size:12px!important}
.steps{list-style:none;counter-reset:steps;padding:0;margin:28px 0 0}.steps li{counter-increment:steps;position:relative;padding:0 0 26px 58px}.steps li:before{content:counter(steps,decimal-leading-zero);position:absolute;left:0;top:0;width:38px;height:38px;display:grid;place-items:center;border:1px solid #89a5ac;border-radius:50%;font-size:14px;color:var(--blue)}.steps li:last-child{padding-bottom:0}.steps p{margin:0}
details{border-top:1px solid var(--line)}summary{position:relative;list-style:none;cursor:pointer;padding:20px 30px 20px 0;font-size:15px;font-weight:600}summary::-webkit-details-marker{display:none}summary:after{content:"＋";position:absolute;right:2px;color:var(--blue)}details[open] summary:after{content:"−"}details p{margin:0;padding:0 24px 20px 0}
.closing{text-align:center;padding:48px 0}.closing>p{font-size:22px}
footer{text-align:center;background:#e8eeec;padding:36px 20px 120px;color:var(--blue)}.footer-title{font-size:22px;letter-spacing:.14em}footer nav{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 24px;font-size:13px}
.fixed-cta{position:fixed;bottom:0;left:0;right:0;z-index:5;display:flex;justify-content:center;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#ffffffed;border-top:1px solid var(--line)}.fixed-cta[hidden]{display:none}
@media(max-width:560px){.masthead{padding:14px 16px}.masthead a{font-size:17px}.masthead span{font-size:10px;max-width:100px;text-align:right}.hero-subtitle{font-size:20px}.container{padding:0 20px}.section{padding:36px 0}h2{font-size:23px}.features,.spots{grid-template-columns:1fr}.features{gap:20px}.spots{gap:8px}.cta{font-size:15px;padding:15px 22px}.fixed-cta .cta{width:100%;max-width:420px}}
@media(prefers-reduced-motion:reduce){.cta{transition:none}}

.event-period{margin:24px auto 0;padding:14px 18px;width:fit-content;max-width:100%;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--blue)}.event-period-label{display:block;font-size:12px;letter-spacing:.12em;margin-bottom:4px}.event-period-dates{display:flex;justify-content:center;flex-wrap:wrap;font-size:16px;font-weight:600}.event-period-dates>time,.event-period-dates>span{white-space:nowrap}
