:root{--ink:#183c40;--muted:#455d60;--paper:#f5f7f6;--line:#bccdc6;--accent:#ffbd91}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:20px/1.8 'Noto Sans JP','Yu Gothic',Meiryo,sans-serif}body.large-text{font-size:24px}button,input,select,summary{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:2px solid var(--line);background:white;color:var(--ink);border-radius:12px;padding:14px 22px;min-height:60px;line-height:1.6}button:hover{border-color:#356e61;background:#edf5ef}button:disabled{background:#e5eae7;color:#65706b;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:4px solid #b86520;outline-offset:4px}header{max-width:1160px;margin:auto;display:flex;align-items:center;gap:16px;padding:24px 32px}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-size:1.4em;font-weight:700;line-height:1.3;margin-right:auto;white-space:nowrap}.logo{display:grid;place-items:center;background:var(--ink);color:var(--accent);height:48px;width:48px;border-radius:50%;font-size:32px;flex-shrink:0}header button{font-size:.9em}.demo-banner{text-align:center;background:#e6ede8;color:#344e45;padding:10px 24px;font-size:.85em}main{max-width:1120px;margin:32px auto 64px;padding:0 32px;min-height:55vh}h1{font-size:1.7em;line-height:1.5;margin:12px 0;letter-spacing:.02em}h1:focus{outline:none}h2{font-size:1.2em;margin:0 0 16px;line-height:1.6}p{margin:12px 0;color:var(--muted);overflow-wrap:anywhere}.intro{margin-bottom:24px}.hours{font-size:.9em}.home-heading{text-align:center;margin-bottom:32px}.main-choices{display:grid;grid-template-columns:1fr 1fr;gap:24px}.entry-button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:8px;padding:30px 36px;min-height:225px;border-radius:20px}.entry-button>span:first-child{font-size:1.7em}.entry-button strong{font-size:1.8em}.primary,.btn{background:var(--ink);color:white;border-color:var(--ink)}.primary:hover,.btn:hover{background:#285653;color:white}.home-bottom{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;margin-top:32px}.stage{border-radius:20px;overflow:hidden;background:#153b42;position:relative;min-height:390px;color:white}.stage img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.stage:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#092b36eb);pointer-events:none}.stage-label{position:absolute;left:24px;top:22px;background:#143238ed;border:1px solid #ffffff70;border-radius:12px;padding:6px 14px;font-size:.85em;z-index:2}.stage-info{position:absolute;bottom:25px;left:28px;right:28px;z-index:2}.stage-info h2{font-size:1.3em;margin:6px 0}.stage-info p{color:#fff;font-size:.9em}.panel{background:white;padding:32px;border:1px solid var(--line);border-radius:18px}.narrow{max-width:760px;margin:24px auto}.narrow>.panel{margin-bottom:24px}.full{width:100%;margin-top:20px}.back{background:white;margin-bottom:16px}.steps{display:flex;gap:12px;padding:0;list-style:none;margin:16px 0 26px}.steps li{padding:8px 16px;border-radius:8px;border:1px solid var(--line);font-size:.9em}.steps li[aria-current]{background:var(--ink);color:white;font-weight:bold}label,legend{display:block;font-weight:600;margin:18px 0 8px}input:not([type=radio]):not([type=checkbox]),select{width:100%;border:2px solid #9baea5;padding:14px;border-radius:10px;background:white;color:var(--ink);min-height:62px}details{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}summary{cursor:pointer;min-height:60px;padding:10px 4px;text-decoration:underline;text-underline-offset:4px}.avatars{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.avatar{padding:10px 2px;text-align:center;font-size:.9em}.avatar span{display:block;font-size:32px}.avatar.selected{outline:3px solid #326c61;background:#e7f0e9}.error{color:#9e2424;font-weight:600}.error:empty{display:none}.mic-state{padding:18px;background:#e7f0e9;border-radius:10px}.meter{height:18px;background:#d5ded8;border-radius:6px;overflow:hidden;margin:15px 0}.meter div{height:100%;background:#28725a;transition:width .1s}.notice-box{padding:20px;background:#fff3e9;border:1px solid #e2bb99;border-radius:12px;margin-top:26px}.notice-box p{margin-bottom:0}fieldset{border:0;padding:0;margin:0}legend{padding:0}.radio,.check{display:flex;align-items:flex-start;gap:16px;padding:18px;border:2px solid var(--line);border-radius:10px;font-weight:400}.radio:has(input:checked){border-color:#326c61;background:#eaf2ed}input[type=radio],input[type=checkbox]{width:26px;height:26px;margin:5px 0 0;flex-shrink:0;accent-color:#245b4b}.summary-list{margin:24px 0}.summary-list>div{display:flex;justify-content:space-between;gap:24px;padding:16px 0;border-bottom:1px solid var(--line)}dd{margin:0;text-align:right;font-weight:700;overflow-wrap:anywhere;max-width:65%}.live-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:24px}.big{font-size:1.8em;font-weight:700;color:var(--ink)}.price{font-size:1.5em;font-weight:700;color:var(--ink)}.divider{height:1px;background:var(--line);margin:24px 0}.danger{background:#8b3030;border-color:#8b3030;color:white}.danger:hover{background:#702424;color:white}.performer{position:absolute;z-index:2;top:30%;left:42%;text-align:center;font-size:75px;transform-origin:bottom}.performer.sway{animation:sway .7s ease-in-out infinite alternate}.instrument{display:block;font-size:45px;line-height:.9}@keyframes sway{to{transform:rotate(5deg) translateY(-4px)}}.floating{position:absolute;bottom:100px;left:50%;z-index:4;animation:float 1.5s forwards;font-size:40px}@keyframes float{to{transform:translateY(-170px);opacity:0}}.guide-list li{padding:10px 0}footer{max-width:1120px;margin:auto;border-top:1px solid var(--line);padding:24px 32px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}footer>span{margin-right:auto}footer button{font-size:.9em}dialog{border:0;border-radius:18px;padding:32px;max-width:600px;width:calc(100% - 32px);max-height:90dvh;overflow:auto;color:var(--ink);font:inherit}dialog::backdrop{background:#092b3688}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#183c40;color:white;padding:16px 24px;border-radius:12px;z-index:20;display:none;max-width:calc(100% - 32px);width:max-content}body.large-text header{flex-wrap:wrap}body.large-text .brand{width:100%}@media(max-width:850px){header{flex-wrap:wrap;padding:20px;gap:12px}.brand{width:100%;margin-bottom:6px}header button{flex:1}.home-bottom,.live-layout{grid-template-columns:1fr}.stage{min-height:350px}.steps{flex-wrap:wrap}.steps li{padding:8px 10px}main{padding:0 20px}.panel{padding:24px}}@media(max-width:560px){.main-choices{grid-template-columns:1fr;gap:16px}.entry-button{min-height:160px;padding:22px 26px}.entry-button>span:first-child{display:none}.entry-button strong{font-size:1.6em}h1{font-size:1.4em}.home-heading{text-align:left}.panel{padding:20px}.avatars{grid-template-columns:repeat(3,1fr)}.steps{gap:8px}.steps li{font-size:.8em}.summary-list>div{display:block}dd{text-align:left;max-width:100%;margin-top:4px}.stage-info{left:20px;right:20px}.brand{font-size:1.25em}.logo{height:40px;width:40px}footer{padding:20px}.radio,.check{padding:12px}dialog{padding:24px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
