*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#ffffff;--frame-bg:#f4eddb;--card:#fbf8ee;--card-border:#d6cba6;--text:#2c2a24;--navy:#1f2d5c;--navy-deep:#141f42;--cream:#f6efdc;--gold:#c9a24a;--sub:#5a5240}body,html{min-height:100%;overflow-x:hidden;overscroll-behavior-x:none}body{font-family:Hiragino Maru Gothic ProN,ヒラギノ丸ゴ ProN W4,BIZ UDGothic,Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif;color:var(--text);background-color:var(--bg);-webkit-font-smoothing:antialiased}.app-frame{max-width:480px;margin:0 auto;min-height:100dvh;overflow-x:hidden;background-color:var(--frame-bg)}main{display:flex;flex-direction:column;gap:16px;padding:12px 0 0}.prose{white-space:pre-line;line-height:1.9;font-size:13px}.frame{margin:0 12px;padding:18px 16px 22px;background:var(--card);border:1px solid var(--card-border);border-radius:14px;text-align:center}.frame,.heading{color:var(--navy)}.heading{display:block;margin:0 auto 6px;font-size:17px;font-weight:500}.heading-deco{position:relative;width:200px;height:12px;margin:0 auto 12px}.heading-deco:before{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:linear-gradient(90deg,transparent,var(--gold) 15%,var(--gold) 85%,transparent);transform:translateY(-50%)}.heading-deco:after{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;border-radius:50%;background:#e9c94f;box-shadow:0 0 0 3px var(--card);transform:translate(-50%,-50%)}.btn{display:block;width:calc(100% - 24px);margin:0 auto;padding:12px 24px;border:0;border-radius:14px;background-color:var(--navy);box-shadow:inset 0 0 0 3px var(--navy),inset 0 0 0 4px var(--gold);color:var(--cream);font-size:17px;font-weight:500;font-family:inherit;text-align:center;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.btn:active{background-color:var(--navy-deep)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.btn--sub{background-color:var(--card);box-shadow:none;color:var(--navy);border:1.5px solid var(--navy)}.btn--sub:active{background-color:var(--cream)}.btn--long{font-size:16px;white-space:nowrap}.credit{margin-top:auto;padding:12px 16px;font-size:10px;text-align:center;color:var(--cream);background-color:var(--navy);background-image:url(/assets/footer.jpg);background-size:100% 100%;background-position:50%;line-height:1.8;white-space:pre-line}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}