:root{--ink:#202020;--cream:#fff7e8;--blue:#2855e8;--orange:#fa693e;--yellow:#ffd447}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--cream);font-family:"Arial","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}header,footer{max-width:960px;margin:auto;padding:22px 24px;display:flex;justify-content:space-between;align-items:center}.brand{font-size:21px;font-weight:950;letter-spacing:-1px;color:var(--ink);text-decoration:none}.brand span{color:var(--blue)}.tag{border:2px solid var(--ink);border-radius:30px;padding:6px 12px;font-weight:800;font-size:12px}main{max-width:960px;margin:0 auto;padding:18px 24px 80px}.hero{position:relative;min-height:630px;background:var(--yellow);border:3px solid var(--ink);border-radius:12px;padding:60px 55px;box-shadow:9px 9px 0 var(--ink);overflow:hidden}.eyebrow{font-weight:900;letter-spacing:2px;color:var(--blue);font-size:13px}h1{font-size:clamp(42px,7vw,78px);line-height:1.18;letter-spacing:-3px;margin:32px 0 25px;font-weight:950}em{font-style:normal;color:var(--blue)}.hero p{font-weight:650;font-size:17px;line-height:1.9}.primary,.secondary{cursor:pointer;border:3px solid var(--ink);font-size:16px;font-weight:900;padding:16px 25px;border-radius:7px;box-shadow:4px 4px 0 var(--ink);font-family:inherit}.primary{background:var(--orange);color:white}.secondary{background:white;color:var(--ink)}button:disabled{opacity:.45;cursor:not-allowed}.hero-foot{margin-top:25px;font-size:13px;font-weight:800}.sticker{position:absolute;right:30px;bottom:42px;background:var(--blue);color:white;border:3px solid var(--ink);border-radius:50%;width:165px;height:165px;display:grid;place-items:center;text-align:center;transform:rotate(12deg);font-weight:950;font-size:19px;line-height:1.5}#quiz,#result{max-width:760px;margin:30px auto;background:white;border:3px solid var(--ink);border-radius:10px;box-shadow:7px 7px 0 var(--ink);padding:38px}#quiz h2,#result h2{font-size:clamp(28px,5vw,45px);line-height:1.35;margin:22px 0}#hint,#result>p{color:#555;line-height:1.8}.progress{display:flex;gap:15px;align-items:center;font-weight:900;margin-bottom:36px}.track{flex:1;background:#e6e6e6;height:11px;border-radius:20px;overflow:hidden}#bar{background:var(--blue);height:100%;transition:width .2s}.option{display:flex;gap:12px;align-items:center;padding:17px;margin:12px 0;border:2px solid #333;border-radius:8px;cursor:pointer;font-weight:750;line-height:1.5}.option:has(input:checked){background:#eaf0ff;border-color:var(--blue);box-shadow:3px 3px 0 var(--blue)}.option input{accent-color:var(--blue);width:19px;height:19px;flex:none}.actions{display:flex;justify-content:space-between;gap:14px;margin-top:32px}.result-card{border:2px solid var(--ink);border-radius:9px;padding:22px;margin:18px 0;background:#fff}.result-card:nth-child(2n){background:#f2f6ff}.result-card h3{font-size:23px;margin:12px 0}.result-card p{line-height:1.75;margin:8px 0}.pill{font-size:12px;font-weight:900;background:var(--yellow);padding:6px 10px;border-radius:20px}.discovery,.nextstep{padding:22px;border-radius:9px;margin-top:24px;line-height:1.85}.discovery{background:#ffedbf}.nextstep{background:#e8efff}.fine{font-size:12px;color:#555;line-height:1.8}footer{border-top:1px solid #ddd;font-size:12px;color:#555}button:focus-visible,.option:focus-within{outline:3px solid var(--blue);outline-offset:3px}[hidden]{display:none!important}@media(max-width:640px){header,footer{padding:18px}main{padding:8px 17px 70px}.hero{min-height:570px;padding:36px 24px 170px;box-shadow:5px 5px 0 var(--ink)}h1{letter-spacing:-2px;margin-top:35px}.hero p{font-size:15px}.sticker{width:116px;height:116px;font-size:14px;right:20px;bottom:22px}#quiz,#result{padding:24px 18px;box-shadow:4px 4px 0 var(--ink)}.actions button{font-size:13px;padding:13px 12px}footer span{display:none}}@media print{header,.actions,.sticker,footer{display:none!important}body{background:white}main{padding:0}#result{border:0;box-shadow:none;padding:0;margin:0}#intro,#quiz{display:none!important}.result-card{break-inside:avoid}}

/* 関東版追加 */
.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:28px 0}.profile-grid label{display:flex;flex-direction:column;font-weight:800;gap:8px}.profile-grid label span{font-size:12px;font-weight:400;color:#555}.profile-grid select,.profile-grid input{font:inherit;background:#fff;border:2px solid #222;border-radius:12px;padding:13px;min-width:0;width:100%;box-sizing:border-box}.profile-grid small{font-weight:400;color:#555;line-height:1.6}.error{color:#b00020;font-weight:700}.region-summary{font-weight:700}.score-track{height:11px;background:#eee;border-radius:20px;overflow:hidden;margin:12px 0 5px}.score-fill{height:100%;background:#486de1;border-radius:20px}.result-card:nth-child(2n) .score-fill{background:#efaa3b}.result-card:nth-child(3n) .score-fill{background:#7dab85}.result-card small{color:#666}.find-button,.search-link{display:inline-block;background:#d9fa58;color:#171717;border:2px solid #171717;box-shadow:4px 4px 0 #171717;border-radius:10px;padding:12px 16px;margin-top:12px;font-weight:800;cursor:pointer;text-decoration:none;font:inherit}.facility-panel{border:2px solid #171717;border-radius:20px;background:#fff7d7;padding:24px;margin:25px 0}.facility-panel[hidden]{display:none}@media(max-width:600px){.profile-grid{grid-template-columns:1fr}}

/* 施設検索 */
.facility-controls{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:20px 0}.facility-controls label{flex:1;min-width:200px;font-weight:800}.facility-controls input{display:block;width:100%;margin-top:8px;border:2px solid #222;border-radius:8px;padding:13px;font:inherit}.facility-controls button{font-size:14px;padding:12px}.facility-list{display:grid;gap:12px;margin:18px 0}.place-card{background:white;border:2px solid #222;border-radius:10px;padding:16px}.place-card h4{font-size:18px;margin:0 0 8px}.place-card p{margin:6px 0;color:#444;line-height:1.6}.place-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px}.place-links a{font-weight:800;color:#254cd5;overflow-wrap:anywhere}#facilityStatus{font-weight:750;line-height:1.7}@media print{.facility-controls,.search-link,.place-links{display:none!important}}

/* ENISHI.NAVI.：元の画面デザインを保ち、挿絵のみ控えめに追加 */
header{gap:9px}header .tag{margin-left:auto}.beta-tag{font-size:10px;font-weight:850;border:1.5px solid var(--ink);border-radius:16px;padding:4px 8px;white-space:nowrap}
.quakka{display:block;pointer-events:none;user-select:none;height:auto;object-fit:contain}
.quakka-hero{position:absolute;width:112px;right:32px;bottom:7px;z-index:1}
#profile{position:relative} .quakka-profile{position:absolute;right:8px;top:8px;width:67px;opacity:.92}
#result{position:relative}.quakka-result{position:absolute;right:18px;top:23px;width:76px}
#profile .eyebrow,#result .eyebrow{position:relative}
@media(max-width:640px){.quakka-hero{width:82px;right:9px;bottom:4px}.quakka-profile{width:48px;right:0;top:0}.quakka-result{width:51px;right:9px;top:12px}.beta-tag{font-size:9px;padding:3px 6px}.sticker{right:14px;bottom:102px}}
@media print{.quakka{display:none!important}}

/* トップページ：クアッカが話す小さな吹き出し。その他のページは変更しない */
.hero .quakka-speech{position:absolute;right:27px;bottom:133px;z-index:2;width:218px;height:auto;min-height:128px;padding:22px 14px;background:#fff;color:var(--ink);border:3px solid var(--ink);border-radius:50%;box-shadow:none;transform:rotate(-3deg);display:flex;align-items:center;justify-content:center;text-align:center;font-size:17px;line-height:1.5;font-weight:900}
.hero .quakka-speech strong{color:var(--blue);font-weight:950}
.hero .quakka-speech:after{content:"";position:absolute;bottom:-17px;left:53%;width:23px;height:23px;background:#fff;border-right:3px solid var(--ink);border-bottom:3px solid var(--ink);transform:rotate(45deg)}
.hero .quakka-hero{right:50px;bottom:7px;width:112px}
@media(max-width:640px){.hero{padding-bottom:235px;min-height:640px}.hero .quakka-speech{width:170px;min-height:104px;right:18px;bottom:113px;font-size:13px;padding:15px 9px}.hero .quakka-speech:after{width:17px;height:17px;bottom:-13px}.hero .quakka-hero{right:42px;bottom:4px;width:83px}}
@media print{.quakka-speech{display:none!important}}

/* Hero mascot: fixed proportions, no rotating or stretching */
.hero .quakka-speech{right:27px;bottom:169px;width:280px;min-height:182px;padding:22px 18px;transform:none;border-radius:52% 52% 50% 50% / 53% 53% 47% 47%;display:flex;flex-direction:column;gap:1px;align-items:center;justify-content:center;font-size:23px;line-height:1.35;white-space:nowrap;letter-spacing:0;box-sizing:border-box}
.hero .quakka-speech span{display:block;white-space:nowrap}
.hero .quakka-speech:after{bottom:-17px;left:41%;width:26px;height:26px;transform:rotate(45deg)}
.hero .quakka-hero-wrap{position:absolute;right:24px;bottom:22px;width:235px;display:flex;align-items:flex-end;gap:5px;z-index:1}
.hero .quakka-hero{position:static;width:170px;height:auto;max-width:none;flex:none;object-fit:contain}
.hero .quakka-name{display:inline-block;margin-bottom:17px;background:#171717;color:#fff;font-size:13px;font-weight:900;border-radius:30px;padding:6px 12px;white-space:nowrap}
@media(max-width:640px){.hero{padding-bottom:260px;min-height:690px}.hero .quakka-speech{right:12px;bottom:155px;width:210px;min-height:139px;padding:13px 8px;font-size:17px}.hero .quakka-speech:after{width:19px;height:19px;bottom:-13px}.hero .quakka-hero-wrap{right:7px;bottom:12px;width:190px;gap:2px}.hero .quakka-hero{width:135px}.hero .quakka-name{font-size:10px;padding:5px 7px;margin-bottom:13px}}
@media print{.quakka-hero-wrap{display:none!important}}

/* Reference-matched hero art: one undistorted asset, including the クアッカ label. */
.hero .quakka-hero-art{position:absolute;display:block;right:14px;bottom:16px;width:350px;max-width:43%;height:auto;object-fit:contain;z-index:3;pointer-events:none}
@media(max-width:640px){.hero{padding-bottom:270px;min-height:680px}.hero .quakka-hero-art{right:5px;bottom:12px;width:245px;max-width:72%}}
@media print{.hero .quakka-hero-art{display:none!important}}

/* 支援者の方へ：既存画面は変更せず独立ページに適用 */
.supporter-footer-link{color:#234cdb;font-weight:900;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.supporter-main{max-width:880px}.supporter-back{display:inline-block;color:#222;font-size:14px;font-weight:800;margin:4px 0 22px;text-underline-offset:4px}.supporter-lead{position:relative;background:var(--yellow);border:3px solid var(--ink);border-radius:12px;box-shadow:7px 7px 0 var(--ink);padding:38px 34px 45px;overflow:hidden}.supporter-lead h1{font-size:clamp(34px,6vw,56px);letter-spacing:-2px;margin:12px 0 18px}.supporter-lead h2{font-size:clamp(24px,4vw,37px);line-height:1.4;margin:0 0 22px}.supporter-lead p{font-size:16px;line-height:1.9;max-width:600px;font-weight:750;margin:0;padding-right:70px}.supporter-quakka{position:absolute;right:16px;bottom:10px;width:90px;height:auto}.supporter-section{background:white;border:2px solid var(--ink);border-radius:11px;margin-top:29px;padding:27px 30px}.supporter-section h2{font-size:clamp(22px,3vw,29px);margin:5px 0 18px;line-height:1.4}.supporter-section p{line-height:1.95;margin:12px 0}.flyer-preview{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:22px 0}.flyer-preview figure{margin:0;min-width:0}.flyer-preview img{display:block;width:100%;height:auto;border:1px solid #ddd;background:white}.flyer-preview figcaption{text-align:center;font-size:13px;font-weight:800;margin-top:8px}.supporter-download{display:block;text-align:center;background:var(--orange);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);border-radius:8px;color:white;font-size:17px;font-weight:900;text-decoration:none;padding:17px 14px;margin:16px 0 22px}.supporter-share{display:flex;gap:12px;align-items:stretch}.supporter-share input{flex:1;min-width:0;border:2px solid var(--ink);border-radius:7px;padding:12px;font-size:14px;font-family:inherit}.supporter-share button{font-size:13px;padding:10px 16px;box-shadow:3px 3px 0 var(--ink)}.supporter-notes{background:#fff8e8}.supporter-bottom{text-align:center;margin:30px 0 0}@media(max-width:640px){footer{flex-wrap:wrap;gap:12px}.supporter-lead{padding:28px 20px 110px}.supporter-lead p{padding-right:0}.supporter-quakka{width:74px;right:18px;bottom:8px}.supporter-section{padding:22px 18px}.flyer-preview{gap:10px}.supporter-share{flex-direction:column}.supporter-share button{align-self:flex-start}.supporter-download{font-size:14px}}@media print{.supporter-main{display:none!important}}

/* 支援者向け導線（トップページ） */
.supporter-nav{font-size:13px;font-weight:900;color:#202020;text-decoration:none;background:#fff;border:2px solid #202020;border-radius:30px;padding:9px 13px;white-space:nowrap}
.supporter-nav:hover,.supporter-entry:hover{background:#f0f4ff}
.supporter-entry{display:flex;align-items:center;gap:16px;max-width:960px;margin:24px auto 12px;padding:20px 23px;background:#fff;border:3px solid #202020;border-radius:12px;box-shadow:5px 5px 0 #202020;text-decoration:none;color:#202020}
.supporter-entry-icon{background:#2855e8;color:white;border-radius:50%;display:grid;place-items:center;width:43px;height:43px;flex:none;font-size:23px;font-weight:900}
.supporter-entry strong{display:block;font-size:20px;font-weight:950}.supporter-entry small{display:block;font-size:13px;line-height:1.65;margin-top:5px}.supporter-entry>span:last-child{margin-left:auto;font-size:25px;font-weight:900}
@media(max-width:640px){header{flex-wrap:wrap}.supporter-nav{order:4;width:100%;text-align:center;background:#fff;border-color:#2855e8;color:#2046ce}.supporter-entry{margin:22px 0 10px;padding:15px 13px;gap:10px}.supporter-entry strong{font-size:16px}.supporter-entry small{font-size:12px}.supporter-entry-icon{width:36px;height:36px}}
