*{box-sizing:border-box}body{margin:0;background:#fff;color:#203039;font-family:'Noto Sans JP','Yu Gothic','Meiryo',sans-serif}header{background:#07958f;color:white;text-align:center;padding:13px 18px;font-size:clamp(22px,3.3vw,36px);font-weight:800;box-shadow:0 2px 3px #0002}.votepage{max-width:1450px;margin:auto;padding:60px 25px 30px;text-align:center}.votepage h1{color:#009b93;font-size:clamp(27px,4.3vw,55px);line-height:1.55;margin:0 0 100px}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.choices button{min-height:180px;background:#e2f5f1;border:0;border-radius:30px;box-shadow:0 3px 4px #0003;color:#203039;font-size:clamp(23px,2.5vw,35px);font-weight:750;cursor:pointer;transition:transform .12s}.choices button:active{transform:scale(.97)}.choices button:hover:not(:disabled){background:#d1eee8}.choices button:disabled{cursor:default;opacity:.65}.choices button.selected{background:#b2e3d8;opacity:1}.status{font-size:18px;margin:45px auto;color:#456}.mobile{display:none}.center{max-width:450px;margin:65px auto;padding:20px}.center h1{font-size:27px}.center form{display:grid;gap:14px}.center input{font-size:22px;padding:10px}.center button,.primary{background:#07958f;color:white;border:0;border-radius:8px;padding:14px;font-size:18px;cursor:pointer}.error{color:#b32424}.results{max-width:1060px;margin:38px auto;padding:15px 25px}.results h1{color:#078f89;font-size:clamp(25px,3vw,38px)}.count{font-size:27px;margin:36px 0}.count strong{font-size:45px}.result{margin:25px 0 35px}.resultlabel{display:flex;justify-content:space-between;gap:10px;font-size:clamp(20px,2.3vw,30px);margin-bottom:12px}.track{height:48px;border-radius:10px;background:#e6f0ee;overflow:hidden}.fill{height:100%;background:#07958f;transition:width .45s}.note{color:#65777d}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:35px;align-items:center}.actions a,.actions button{display:inline-block;border:1px solid #07958f;background:white;color:#078f89;text-decoration:none;border-radius:9px;padding:12px 14px;font-size:16px;cursor:pointer}@media(max-width:650px){header{padding:14px 8px;font-size:24px}.votepage{padding:45px 18px 20px}.votepage h1{font-size:clamp(27px,6vw,38px);margin-bottom:40px}.mobile{display:block}.choices{grid-template-columns:1fr;gap:17px}.choices button{min-height:93px;border-radius:18px;font-size:29px}.status{margin-top:27px}.resultlabel{font-size:18px}.track{height:35px}}
