/* 政策の動く場面（A/B/C案共通） */
.iso-scene{position:relative;width:100%;aspect-ratio:3/2}.iso-bg{display:block;width:100%;height:100%}.sp{position:absolute;left:var(--x1);top:var(--y1);width:var(--w);pointer-events:none}.sp img{display:block;width:100%;height:auto;transform:translate(-50%,-100%);transform-origin:50% 100%}.sp-walk,.sp-drive{animation:sp-move var(--d) linear infinite;animation-delay:var(--delay)}.sp-walk img{animation:sp-step .55s ease-in-out infinite alternate}.sp-drive img{animation:sp-rumble .28s ease-in-out infinite alternate}.sp-wave img{animation:sp-wave 1.5s ease-in-out infinite}.sp-idle img{animation:sp-graze 4.5s ease-in-out infinite}@keyframes sp-move{0%{left:var(--x1);top:var(--y1);opacity:0}7%,93%{opacity:1}100%{left:var(--x2);top:var(--y2);opacity:0}}@keyframes sp-step{from{transform:translate(-50%,-100%) rotate(-2deg)}to{transform:translate(-50%,-104%) rotate(2deg)}}@keyframes sp-rumble{to{transform:translate(-50%,-101.2%)}}@keyframes sp-wave{0%,100%{transform:translate(-50%,-100%) rotate(0)}30%{transform:translate(-50%,-102.5%) rotate(-4deg)}70%{transform:translate(-50%,-100%) rotate(3deg)}}@keyframes sp-graze{0%,100%{transform:translate(-50%,-100%)}50%{transform:translate(-50%,-100%) scaleY(1.03) rotate(-1.2deg)}}@media(prefers-reduced-motion:reduce){.sp,.sp img{animation:none!important}}
.paused *{animation-play-state:paused!important}
.sw{position:fixed;left:14px;bottom:14px;z-index:300;display:flex;gap:6px;background:rgba(255,255,255,.94);border:1px solid rgba(23,44,41,.2);border-radius:999px;padding:6px 10px;font:700 11px/1.4 "Noto Sans JP",sans-serif;box-shadow:0 4px 18px rgba(0,0,0,.14)}.sw a{padding:3px 10px;border-radius:999px;color:#172c29;text-decoration:none}.sw a.act{background:#172c29;color:#ffcf00}
