:root{--color-primary:#1e19cf;--color-primary-dark:#141087;--color-primary-deep:#08005c;--color-primary-light:#5d59dc;--color-primary-pale:#eeedff;--color-white:#fff;--color-off-white:#f7f8fc;--color-text:#1e1e2f;--color-text-light:#5c5c72;--color-text-muted:#9494a8;--color-accent-pink:#dc2873;--color-accent-pink-2:#e6689d;--color-accent-gold:#d4a843;--color-marker:#ffe66d;--color-border:#1e19cf14;--color-surface:#fff;--color-bg:#f7f8fc;--color-hero:#1e19cf;--color-hero-deep:#141087;--color-on-hero:#fff;--color-on-hero-dim:#ffffffb8;--color-ink:#16121c;--color-board:#f4f3fc;--shadow-hard:6px 6px 0 #16121ce6;--shadow-hard-hover:8px 8px 0 #16121ce6;--shadow-hard-pink:8px 8px 0 var(--color-accent-pink);--color-success:#1f9d6d;--color-success-bg:#e7f6ee;--color-danger:#d92d4c;--color-danger-bg:#fdecef;--font-main:"Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;--max-width:1040px;--radius-lg:22px;--radius-md:14px;--radius-sm:8px;--transition:.2s ease}*{box-sizing:border-box}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important;transform:none!important}}html{overflow-x:hidden}body{background:var(--color-primary);color:var(--color-white);font-family:var(--font-main);font-feature-settings:"palt";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.75;overflow-x:hidden}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--color-marker);outline-offset:3px}.wrap{max-width:var(--max-width);margin:0 auto;padding:0 22px}header.site{border-bottom:3px solid #ffffff40}.site-bar{justify-content:space-between;align-items:center;gap:12px;padding:16px 0;display:flex}.logotype{color:#fff;align-items:center;gap:12px;min-width:0;text-decoration:none;display:flex}.logobox{border:3px solid var(--color-ink);width:46px;height:46px;box-shadow:3px 3px 0 var(--color-ink);background:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.logobox .mark{width:34px;height:34px}.logotype .word{flex-direction:column;min-width:0;line-height:1.2;display:flex}.logotype .word .ja{color:#fff;letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;font-size:1.05rem;font-weight:900;overflow:hidden}.crumbs{letter-spacing:.08em;background:var(--color-marker);color:var(--color-ink);border:3px solid var(--color-ink);box-shadow:3px 3px 0 var(--color-ink);white-space:nowrap;border-radius:100px;flex-shrink:0;align-items:center;gap:7px;min-width:0;padding:5px 16px;font-size:.72rem;font-weight:900;display:flex;overflow:hidden}.crumbs .current{text-overflow:ellipsis;overflow:hidden}@media (width<=480px){.wrap{padding:0 16px}.logotype .word .ja{font-size:.88rem}.logobox{width:38px;height:38px}.logobox .mark{width:28px;height:28px}.crumbs{padding:4px 10px;font-size:.62rem}.crumbs>span:not(.current){display:none}}.hero{text-align:center;padding:60px 0 52px;position:relative;overflow:hidden}.hero-catch{letter-spacing:.08em;align-items:center;gap:16px;margin:0 0 22px;font-size:.95rem;font-weight:900;display:inline-flex}.hero-catch:before,.hero-catch:after{content:"";background:#fff;width:3px;height:24px}.hero-catch:before{transform:rotate(-30deg)}.hero-catch:after{transform:rotate(30deg)}.hero-catch b{color:var(--color-marker)}.hero h1{letter-spacing:.06em;margin:0 0 18px;font-size:clamp(2.1rem,6.5vw,3.8rem);font-weight:900;line-height:1.3}.hero h1 .dept{background:var(--color-marker);color:var(--color-ink);border:4px solid var(--color-ink);box-shadow:6px 6px 0 var(--color-ink);border-radius:18px;padding:2px 22px;display:inline-block;transform:rotate(-1.5deg)}.hero p.lede{color:#ffffffd9;max-width:34em;margin:0 auto 30px;font-size:.95rem}.hero p.lede-em{color:#fff;text-wrap:balance;font-size:1.08rem;font-weight:700;line-height:1.9}.hero p.lede-em b{color:var(--color-marker);border-bottom:3px solid var(--color-marker);padding-bottom:1px;font-weight:900}.hero-meta{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:34px;display:flex}.hero-meta span{border:2.5px solid #fff;border-radius:100px;padding:6px 18px;font-size:.78rem;font-weight:900}.progress{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.progress-item{color:#fffc;background:#ffffff1f;border:2.5px solid #0000;border-radius:100px;align-items:center;gap:8px;padding:9px 18px 9px 11px;font-size:.8rem;font-weight:900;text-decoration:none;display:flex}.progress-item .chip{color:#fff;background:#ffffff40;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.68rem;display:flex}.progress-item.active{color:var(--color-primary);border-color:var(--color-ink);box-shadow:3px 3px 0 var(--color-ink);background:#fff}.progress-item.active .chip{background:var(--color-primary)}.progress-item.done{color:var(--color-ink);background:#ffe66de6}.progress-item.done .chip{background:var(--color-ink);color:var(--color-marker)}.booklet-nudge{background:var(--color-marker);max-width:640px;color:var(--color-ink);border:2.5px solid var(--color-ink);border-radius:var(--radius-md);box-shadow:4px 4px 0 var(--color-ink);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:18px auto 0;padding:12px 18px;display:flex}.booklet-nudge-icon{flex-shrink:0;font-size:1.5rem;line-height:1}.booklet-nudge-text{flex:240px;margin:0;font-size:.85rem;font-weight:700;line-height:1.6}.booklet-nudge-text b{font-weight:900}.booklet-nudge-count{background:var(--color-ink);color:var(--color-marker);white-space:nowrap;border-radius:100px;flex-shrink:0;padding:6px 14px;font-size:.82rem;font-weight:900}.booklet-nudge-count b{margin:0 2px;font-size:1.15rem}.booklet-nudge.is-complete{background:#fff}.board{background:var(--color-board);color:var(--color-text);border-top:4px solid var(--color-ink);padding:58px 0 80px}.candidates-head{text-align:center;margin-bottom:40px}.section-label{background:var(--color-primary);color:#fff;letter-spacing:.26em;text-transform:uppercase;border:2.5px solid var(--color-ink);box-shadow:3px 3px 0 var(--color-ink);border-radius:100px;margin-bottom:14px;padding:5px 20px;font-size:.68rem;font-weight:900;display:inline-block}.section-title{letter-spacing:.06em;margin:0 0 4px;font-size:1.7rem;font-weight:900}.section-sub{color:var(--color-text-light);margin:0;font-size:.82rem}.candidates{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:30px;margin-bottom:60px;display:grid}.candidate{position:relative}.candidate input[type=radio]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.candidate label{border:3px solid var(--color-ink);cursor:pointer;height:100%;box-shadow:var(--shadow-hard);transition:transform var(--transition), box-shadow var(--transition);background:#fff;border-radius:18px;flex-direction:column;display:flex;position:relative;overflow:hidden}.candidate label:hover{box-shadow:var(--shadow-hard-hover);transform:translate(-2px,-2px)}.candidate input:checked+label{box-shadow:var(--shadow-hard-pink)}.candidate input:checked+label:after{content:"投票する1冊！";background:var(--color-accent-pink);color:#fff;border:2.5px solid var(--color-ink);box-shadow:2px 2px 0 var(--color-ink);white-space:nowrap;border-radius:100px;padding:4px 16px;font-size:.7rem;font-weight:900;position:absolute;top:12px;left:50%;transform:translate(-50%)rotate(-2deg)}.candidate input:focus-visible+label{outline:3px solid var(--color-marker);outline-offset:3px}.cand-frame{background:var(--color-primary-pale);border-bottom:3px solid var(--color-ink);justify-content:center;padding:34px 20px 26px;display:flex;position:relative}.cand-cover{aspect-ratio:2/3;border:3px solid var(--color-ink);color:#fff;width:56%;max-width:190px;transition:transform var(--transition);background:#fff;border-radius:6px;justify-content:center;align-items:center;font-size:2.6rem;font-weight:900;display:flex;overflow:hidden;box-shadow:6px 6px #16121c59}.cand-cover img{object-fit:contain;width:100%;height:100%}.candidate label:hover .cand-cover{transform:translateY(-4px)rotate(-1deg)}.cand-entry{background:var(--color-marker);color:var(--color-ink);letter-spacing:.18em;text-transform:uppercase;border:2.5px solid var(--color-ink);box-shadow:2px 2px 0 var(--color-ink);border-radius:100px;padding:2px 12px;font-size:.64rem;font-weight:900;position:absolute;top:14px;left:14px}.cand-check{border:3px solid var(--color-ink);background:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:absolute;bottom:14px;right:14px}.cand-check svg{opacity:0;width:16px;height:16px}.candidate input:checked+label .cand-check{background:var(--color-accent-pink)}.candidate input:checked+label .cand-check svg{opacity:1}.cand-info{padding:18px 20px 6px}.cand-title{margin:0 0 2px;font-size:1.08rem;font-weight:900;line-height:1.45}.cand-byline{color:var(--color-text-light);margin:0;font-size:.76rem}.cand-quote{background:var(--color-board);border:2.5px solid var(--color-ink);border-radius:12px;flex:1;margin:12px 20px 20px;padding:14px 16px;font-size:.84rem}.cand-quote-head{letter-spacing:.1em;color:var(--color-primary);align-items:center;gap:6px;margin-bottom:6px;font-size:.66rem;font-weight:900;display:flex}.cand-quote-head svg{flex-shrink:0;width:13px;height:13px}.cand-quote q{quotes:none;line-height:1.85;display:block}.cand-quote-highlight{background-image:linear-gradient(transparent 60%, var(--color-marker) 60%);font-size:1.12em;font-weight:900;line-height:1.6}.cand-quote-foot{color:var(--color-text-light);justify-content:space-between;gap:8px;margin-top:8px;font-size:.7rem;display:flex}.cand-quote-foot .handle{color:var(--color-primary);font-weight:900}.cand-quote-foot a{color:var(--color-text-light);white-space:nowrap;font-weight:700}.form-zone{padding-bottom:10px}.form-card{border:3px solid var(--color-ink);border-radius:var(--radius-lg);max-width:640px;box-shadow:var(--shadow-hard-hover);background:#fff;margin:0 auto;padding:clamp(26px,5vw,46px)}.form-card .form-head{text-align:center;margin-bottom:28px}.selected-banner{background:var(--color-primary-pale);border:2.5px solid var(--color-ink);border-radius:var(--radius-md);align-items:center;gap:14px;margin-bottom:26px;padding:14px 18px;font-size:.88rem;display:flex}.selected-banner .cov{aspect-ratio:2/3;border:2px solid var(--color-ink);background:linear-gradient(160deg,#5d59dc,#1e19cf);border-radius:4px;flex:0 0 32px;width:32px}.selected-banner strong{font-weight:900}.field{margin-bottom:22px}.field label.f-label{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;font-size:.86rem;font-weight:900;display:flex}.req,.opt{border:2px solid var(--color-ink);letter-spacing:.05em;border-radius:100px;padding:1px 10px;font-size:.62rem;font-weight:900}.req{background:var(--color-accent-pink);color:#fff}.opt{background:var(--color-board);color:var(--color-text-light)}.field input[type=text],.field input[type=email],.field textarea{width:100%;color:var(--color-text);background:var(--color-board);border:2.5px solid var(--color-ink);transition:background var(--transition), box-shadow var(--transition);border-radius:12px;padding:13px 15px;font-family:inherit;font-size:.95rem}.field input::placeholder,.field textarea::placeholder{color:var(--color-text-muted)}.field input:focus,.field textarea:focus{box-shadow:3px 3px 0 var(--color-marker);background:#fff;outline:none}.field textarea{resize:vertical;min-height:92px}.field .sub-hint{color:var(--color-text-muted);justify-content:space-between;gap:10px;margin-top:6px;font-size:.7rem;display:flex}.field .sub-hint .cnt{font-variant-numeric:tabular-nums}.field.has-error input,.field.has-error textarea,.field.mismatch input{border-color:var(--color-danger);background:var(--color-danger-bg)}.field-error{color:var(--color-danger);align-items:flex-start;gap:7px;margin:8px 0 0;font-size:.78rem;font-weight:900;line-height:1.5;display:flex}.field .field-error.js-mismatch-message{display:none}.field.mismatch .field-error.js-mismatch-message{display:flex}.alert-banner{background:var(--color-danger-bg);border:2.5px solid var(--color-danger);border-radius:var(--radius-md);align-items:flex-start;gap:12px;margin-bottom:26px;padding:16px 18px;display:flex}.alert-banner .ic{background:var(--color-danger);border:2px solid var(--color-ink);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.8rem;font-weight:900;display:flex}.alert-banner strong{color:var(--color-danger);margin-bottom:3px;font-size:.88rem;display:block}.alert-banner p{color:var(--color-text-light);margin:0;font-size:.8rem}.recaptcha-note{color:var(--color-text-muted);border-top:1px solid var(--color-border);margin:24px 0 20px;padding-top:18px;font-size:.68rem;line-height:1.7}.recaptcha-note a{color:var(--color-primary);font-weight:700}.recaptcha-note+.recaptcha-note{border-top:none;margin-top:-12px;padding-top:0}.btn-cta{cursor:pointer;background:linear-gradient(135deg, var(--color-accent-pink), var(--color-accent-pink-2));color:#fff;letter-spacing:.08em;border:3px solid var(--color-ink);width:100%;box-shadow:5px 5px 0 var(--color-ink);border-radius:100px;padding:18px;font-family:inherit;font-size:1.1rem;font-weight:900;transition:transform .15s,box-shadow .15s;display:block}.btn-cta:hover{box-shadow:7px 7px 0 var(--color-ink);transform:translate(-2px,-2px)}.btn-cta:active{box-shadow:2px 2px 0 var(--color-ink);transform:translate(2px,2px)}.btn-cta:disabled{opacity:.6;transform:none}.complete-hero{text-align:center;padding:58px 0 96px;position:relative}.complete-check{background:linear-gradient(135deg, var(--color-accent-pink), var(--color-accent-pink-2));border:3px solid var(--color-ink);width:64px;height:64px;box-shadow:4px 4px 0 var(--color-ink);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 20px;display:flex}.complete-check svg{width:28px;height:28px}.complete-hero .hero-en{letter-spacing:.3em;text-transform:uppercase;color:var(--color-marker);margin-bottom:8px;font-size:.72rem;font-weight:900;display:block}.complete-hero h1{letter-spacing:.06em;margin:0 0 14px;font-size:clamp(1.8rem,5vw,2.6rem);font-weight:900}.complete-hero p.lede{color:#ffffffd9;max-width:44ch;margin:0 auto;font-size:.92rem}.complete-body{background:var(--color-board);color:var(--color-text);border-top:4px solid var(--color-ink);padding:0 0 80px}.complete-body>.wrap{max-width:720px}.voted-card{z-index:2;border:3px solid var(--color-ink);box-shadow:var(--shadow-hard-pink);background:#fff;border-radius:18px;align-items:center;gap:20px;margin:-56px auto 40px;padding:22px 24px;display:flex;position:relative}.voted-cov{aspect-ratio:2/3;border:3px solid var(--color-ink);color:#fff;background:#fff;border-radius:6px;flex:0 0 92px;justify-content:center;align-items:center;width:92px;font-size:1.8rem;font-weight:900;display:flex;overflow:hidden;box-shadow:4px 4px #16121c59}.voted-cov img{object-fit:contain;width:100%;height:100%}.voted-info{min-width:0}.voted-dept{color:var(--color-ink);background:var(--color-marker);border:2px solid var(--color-ink);letter-spacing:.06em;border-radius:100px;margin-bottom:7px;padding:1px 12px;font-size:.64rem;font-weight:900;display:inline-block}.voted-title{margin:0 0 3px;font-size:1.12rem;font-weight:900;line-height:1.45}.voted-byline{color:var(--color-text-light);margin:0;font-size:.76rem}.share-card,.continue-card{border:3px solid var(--color-ink);border-radius:var(--radius-lg);box-shadow:var(--shadow-hard);background:#fff;margin:0 0 30px;padding:clamp(26px,4.5vw,42px)}.share-card .form-head,.continue-card .form-head{text-align:center;margin-bottom:22px}.share-campaign{background:var(--color-marker);border:2.5px solid var(--color-ink);border-radius:var(--radius-md);align-items:flex-start;gap:12px;margin-bottom:22px;padding:14px 18px;display:flex}.share-campaign .gift{flex-shrink:0;font-size:1.6rem;line-height:1.3}.share-campaign p{color:var(--color-ink);margin:0;font-size:.88rem;line-height:1.75}.share-campaign strong{font-weight:900}.booklet-card{text-align:center;background:var(--color-primary-pale);border:3px solid var(--color-ink);border-radius:var(--radius-lg);box-shadow:var(--shadow-hard);margin:0 0 30px;padding:clamp(26px,4.5vw,40px)}.booklet-card.is-unlocked{background:var(--color-marker)}.booklet-gift{margin-bottom:8px;font-size:2.6rem;line-height:1;display:block}.booklet-title{color:var(--color-ink);margin:0 0 10px;font-size:clamp(1.2rem,4vw,1.55rem);font-weight:900}.booklet-title b{color:var(--color-accent-pink);margin:0 2px;font-size:1.25em}.booklet-lede{color:var(--color-ink);margin:0;font-size:.9rem;line-height:1.8}.booklet-lede b{font-weight:900}.booklet-btn{background:var(--color-ink);color:#fff;border:2.5px solid var(--color-ink);box-shadow:4px 4px 0 var(--color-accent-pink);border-radius:100px;margin-top:18px;padding:14px 32px;font-size:1rem;font-weight:900;text-decoration:none;display:inline-block}.booklet-btn:hover{box-shadow:5px 5px 0 var(--color-accent-pink);transform:translate(-1px,-1px)}.bookstore-card{border:3px solid var(--color-ink);border-radius:var(--radius-lg);box-shadow:var(--shadow-hard);background:#fff;align-items:flex-start;gap:16px;margin:0 0 30px;padding:clamp(22px,4vw,34px);display:flex}.bookstore-icon{flex-shrink:0;font-size:2rem;line-height:1.1}.bookstore-title{color:var(--color-ink);margin:0 0 8px;font-size:1.1rem;font-weight:900}.bookstore-lede{color:var(--color-ink);margin:0;font-size:.88rem;line-height:1.8}.bookstore-lede b{color:var(--color-accent-pink);font-weight:900}.bookstore-link{color:var(--color-primary);margin-top:12px;font-size:.85rem;font-weight:900;text-decoration:none;display:inline-block}.bookstore-link:hover{text-decoration:underline}.share-preview{white-space:pre-wrap;background:var(--color-board);border:2.5px solid var(--color-ink);border-radius:var(--radius-md);color:var(--color-text);margin-bottom:20px;padding:18px 20px;font-size:.86rem;line-height:1.8;position:relative}.share-preview:before{content:"投稿プレビュー";letter-spacing:.08em;color:var(--color-ink);background:var(--color-marker);border:2px solid var(--color-ink);border-radius:100px;padding:0 10px;font-size:.62rem;font-weight:900;position:absolute;top:-11px;left:16px}.btn-x{color:#fff;letter-spacing:.04em;border:3px solid var(--color-ink);background:#0f1419;border-radius:100px;justify-content:center;align-items:center;gap:9px;width:100%;max-width:340px;margin:0 auto;padding:15px 40px;font-size:.98rem;font-weight:900;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:4px 4px #16121c59}.btn-x:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #16121c59}.next-depts{gap:14px;display:grid}.next-dept{border:2.5px solid var(--color-ink);border-radius:var(--radius-md);color:var(--color-text);background:#fff;align-items:center;gap:14px;padding:16px 20px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:4px 4px #16121c40}.next-dept:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #16121c59}.next-dept-no{color:var(--color-primary);opacity:.35;font-variant-numeric:tabular-nums;flex-shrink:0;width:38px;font-size:1.3rem;font-weight:900}.next-dept-name{font-size:.95rem;font-weight:900}.next-dept-count{color:var(--color-text-muted);font-size:.72rem;font-weight:400;display:block}.next-dept-go{color:var(--color-accent-pink);white-space:nowrap;margin-left:auto;font-size:.8rem;font-weight:900}.all-done{text-align:center;margin:0;font-size:.95rem;font-weight:700}.closed-body{padding:70px 0 90px}.closed-card{text-align:center;max-width:640px;color:var(--color-text);border:3px solid var(--color-ink);border-radius:var(--radius-lg);box-shadow:var(--shadow-hard-hover);background:#fff;margin:0 auto;padding:clamp(32px,6vw,56px)}.closed-card .section-title{margin-bottom:14px;font-size:1.5rem}.closed-card p{color:var(--color-text-light);margin:0 0 10px;font-size:.92rem}.closed-card a{color:var(--color-primary);font-weight:900}footer.site{background:var(--color-primary-dark);color:#ffffffb3;border-top:4px solid var(--color-ink);padding:34px 0 44px;font-size:.74rem;font-weight:700}.foot-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.foot-logo{color:#fff;align-items:center;gap:10px;display:flex}.foot-logo .mark{border:2px solid var(--color-ink);background:#fff;border-radius:8px;width:34px;height:34px;padding:3px}.foot-logo .ja{letter-spacing:.02em;font-size:.88rem;font-weight:900}.foot-links{flex-wrap:wrap;gap:20px;display:flex}footer.site a{color:#ffffffb3;text-decoration:none}footer.site a:hover{color:#fff}@media (width<=640px){.candidates{grid-template-columns:1fr}.hero{padding:46px 0 42px}.voted-card{flex-direction:row;gap:16px;padding:18px}.voted-cov{flex-basis:74px;width:74px}}
