:root{font-family:system-ui,-apple-system,'Noto Sans JP',sans-serif;color:#17243c;background:#f3f5fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.85}[hidden]{display:none!important}a{color:#172697;text-underline-offset:4px}header{max-width:1100px;margin:auto;padding:20px 28px;display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:.08em}header a{display:flex;align-items:center;gap:10px;font-weight:700;text-decoration:none;font-size:14px}header img{width:40px;height:40px;object-fit:contain}main{max-width:1040px;margin:auto;padding:0 24px}section{margin:32px 0;padding:32px;background:white;border:1px solid #dce2ef;border-radius:14px}h1,h2,h3{line-height:1.5;margin:0 0 14px}h2{font-size:26px;color:#111c75}h3{font-size:19px}p{margin:12px 0}strong{font-weight:750}.hero{background:#111c75;color:white;padding:44px 40px;border:0}.hero h1{font-size:clamp(36px,5.6vw,58px);letter-spacing:.03em;margin:20px 0;line-height:1.3}.hero p{max-width:760px}.tag,.section-label{font-weight:800;font-size:12px;letter-spacing:.12em}.tag{background:#ffda40;color:#111c75;padding:7px 12px;border-radius:5px}.section-label{color:#566a8b;margin-bottom:10px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 22px;border-radius:7px;text-decoration:none;font:inherit;font-weight:750;line-height:1.5;cursor:pointer;border:1px solid transparent}.yellow{background:#ffda40;color:#111c75}.outline{border-color:#8d96cd;color:white}.blue{background:#172697;color:white}.button:disabled{opacity:.65;cursor:wait}.callout{border-left:5px solid #ffda40;background:#fffdf1}.callout h2{font-size:21px}.steps{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:26px}.steps article{padding:24px;background:#f6f8fd;border-radius:10px}.number{font-size:32px;font-weight:850;color:#172697}.small,small{font-size:13px;color:#55647d}.calendar{background:#e9edf9}.dates{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.dates div{display:flex;flex-direction:column;border-left:3px solid #172697;padding-left:16px}.dates strong{font-size:26px;color:#111c75}.dates span{font-size:14px}.parks{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.parks article{border:1px solid #dce2ef;border-radius:10px;padding:20px;display:flex;flex-direction:column}.parks a{margin-top:auto}.parks h3{color:#111c75}.rules li{margin:12px 0}.rules ul{padding-left:22px}details{border-top:1px solid #dce2ef;padding-top:16px}summary{cursor:pointer;font-weight:700}.form-section{border-top:6px solid #172697}form{max-width:650px;margin-top:26px}fieldset{border:0;margin:0;padding:0}label{display:flex;flex-direction:column;font-weight:700;margin-bottom:20px;gap:6px}label>span:not(:last-child){font-size:12px}label>span{color:#53627d;font-size:13px}input,select{font:inherit;border:1px solid #adb8cd;border-radius:6px;min-width:0;width:100%;min-height:48px;padding:10px;background:white;color:#17243c}input:focus,select:focus,.button:focus-visible{outline:3px solid #e4b900;outline-offset:2px}.times{display:grid;grid-template-columns:1fr 1fr;gap:18px}.check{display:flex;flex-direction:row;align-items:flex-start;gap:12px;font-weight:400}.check input{width:22px;min-height:22px;flex:none;margin-top:4px}.check span{font-size:14px;color:#17243c}#result{overflow-wrap:anywhere;white-space:pre-line;font-weight:700}#another{font:inherit;padding:10px 18px;border:1px solid #172697;border-radius:6px;background:white;color:#172697;cursor:pointer}footer{font-size:13px;text-align:center;padding:18px 0 36px;color:#66738a}#gate{padding:40px 0}@media(max-width:620px){header{padding:16px 20px}header>span{display:none}main{padding:0 16px}section{padding:23px 20px;margin:22px 0}.hero{padding:30px 24px}.steps,.parks{grid-template-columns:1fr;gap:16px}.steps article{padding:20px}.dates{grid-template-columns:1fr;gap:18px}.dates div{flex-direction:row;align-items:center;gap:20px}.dates strong{min-width:110px;font-size:24px}h2{font-size:23px}.desktop{display:none}.actions .button{width:100%}.tag{font-size:11px;letter-spacing:0}.times{gap:12px}}
