@charset "UTF-8";body{margin:0;background:#100b12}#joc{--gold:#dbb77c;--muted:#b3a5b6;color:#f8f0e4;background:radial-gradient(ellipse at 50% 0,#452131 0,transparent 42%),#100b12;font:15px/1.8 -apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;min-height:100vh}#joc *{box-sizing:border-box}#joc a{color:inherit;text-decoration:none}#joc button{font:inherit;cursor:pointer}#joc button:disabled{cursor:default;opacity:.4}#joc button:focus-visible,#joc a:focus-visible,#joc summary:focus-visible{outline:3px solid #f6db9b;outline-offset:4px}#joc h1,#joc h2,#joc h3,#joc p{margin:0}#joc .joc-header{display:flex;justify-content:space-between;align-items:center;padding:22px 5%;border-bottom:1px solid #dbb77c30;color:var(--gold)}#joc .joc-header a{font-family:Georgia,serif;font-size:24px;font-weight:bold}#joc .joc-header span{font-size:10px;letter-spacing:3px}#joc main{max-width:1280px;margin:auto}#joc .joc-hero{text-align:center;position:relative;padding:44px 20px 54px;overflow:hidden}#joc .joc-moon{color:var(--gold);font-size:44px;line-height:1;margin-bottom:20px;text-shadow:0 0 35px #f0a949}#joc .joc-eyebrow{font-size:10px;color:var(--gold);letter-spacing:3px;font-weight:600}#joc h1{font:clamp(64px,9vw,116px)/.88 Georgia,"Times New Roman",serif;font-weight:700;letter-spacing:-4px;color:#efd8a7;text-shadow:0 4px 0 #3f1c26,0 0 70px #d4754f3a;margin:25px 0 12px}#joc h1 span{font-size:.8em}#joc h1 small{display:block;font-size:25px;letter-spacing:12px;font-weight:normal;margin:22px 0}#joc .joc-divider{color:var(--gold);display:flex;gap:18px;justify-content:center;align-items:center;margin:23px auto;max-width:360px}#joc .joc-divider:before,#joc .joc-divider:after{content:'';width:110px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}#joc .joc-divider:after{transform:rotate(180deg)}#joc .joc-hero h2{font-family:"Yu Mincho",serif;font-size:25px;font-weight:500;margin:14px 0}#joc .joc-hero>p:not(.joc-eyebrow){margin-top:12px}#joc .joc-dates{font:34px/1.3 Georgia,serif;color:var(--gold);letter-spacing:1px}#joc .joc-dates small{font:10px sans-serif}#joc .joc-deadline,#joc .joc-rule{font-size:12px;color:#d0becb}#joc .joc-status{display:inline-block;border:1px solid #dbb77c60;color:#ecd3a4;border-radius:3px;padding:5px 20px;margin-top:20px;font-size:12px}#joc .joc-stores{padding:30px 40px 60px;border-top:1px solid #dbb77c35}#joc .joc-section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}#joc .joc-section-title h2{font:30px/1.7 "Yu Mincho",serif}#joc .joc-section-title>span{font-size:12px;color:var(--muted)}#joc .joc-filters{display:flex;gap:8px;overflow-x:auto;padding:4px 3px 23px}#joc .joc-filters button{flex-shrink:0;border:1px solid #57434f;background:transparent;color:#e5d6dd;padding:7px 21px;border-radius:30px;font-size:13px}#joc .joc-filters button[aria-pressed=true]{background:#d9b77e;color:#23161c;border-color:#d9b77e}#joc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}#joc .joc-card{background:#1e151e;border:1px solid #5a3d47;min-width:0;border-radius:4px;overflow:hidden}#joc .joc-gallery{position:relative;background:#251a25}#joc .joc-slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;aspect-ratio:3/2}#joc .joc-slides::-webkit-scrollbar{display:none}#joc .joc-slides img{display:block;flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:start}#joc .joc-photo-count{position:absolute;bottom:12px;right:12px;background:#100b12bc;border:1px solid #ffffff25;padding:1px 10px;border-radius:20px;font-size:11px}#joc .joc-prev,#joc .joc-next{position:absolute;top:42%;width:33px;height:36px;background:#120b16a8;color:#fff;border:1px solid #ffffff30;border-radius:50%;font:24px/1 Georgia,serif}#joc .joc-prev{left:10px}#joc .joc-next{right:10px}#joc .joc-card-content{padding:20px}#joc .joc-meta{display:flex;justify-content:space-between;color:var(--gold);font-size:11px;letter-spacing:1px}#joc .joc-card h3{font-size:18px;line-height:1.5;margin:11px 0;min-height:54px;font-weight:600}#joc .joc-detail{display:flex;justify-content:space-between;width:100%;background:none;color:#c6b4c1;border:0;padding:0 0 16px;font-size:12px}#joc .joc-select{width:100%;padding:10px;color:#e8c899;background:transparent;border:1px solid #b79363;border-radius:3px;font-size:13px}#joc .joc-select.chosen{background:#dfbd83;color:#26141e}#joc .joc-footer{text-align:center;color:var(--muted);font-size:12px;padding:20px 20px 200px}#joc .joc-footer a{display:inline-block;margin-top:15px;border-bottom:1px solid #796374}#joc .joc-ballot{position:fixed;z-index:20;bottom:0;left:0;right:0;background:#20151ff5;border-top:1px solid #ad825a;backdrop-filter:blur(12px);padding:10px max(20px,calc((100vw - 1100px)/2)) calc(15px + env(safe-area-inset-bottom));box-shadow:0 -10px 45px #0006}#joc .joc-ballot-row{display:flex;align-items:center;justify-content:space-between;gap:20px}#joc .joc-ballot strong{font-size:30px;color:var(--gold)}#joc .joc-ballot small{color:var(--muted);margin-left:15px;font-size:11px}#joc-review,#joc .joc-submit{border:1px solid #e2c28d;border-radius:3px;background:linear-gradient(120deg,#eed6a6,#cda568);color:#271720;padding:13px 30px;font-weight:bold}#joc-selection{display:flex;gap:7px;overflow:auto}#joc-selection button{flex-shrink:0;background:#43313f;border:1px solid #765e72;color:#fff;font-size:11px;border-radius:3px;padding:3px 9px;margin-bottom:8px}#joc-notice{color:#ffc7a0;font-size:12px}#joc dialog{color:#f6edde;background:#251a25;border:1px solid var(--gold);border-radius:6px;padding:40px;max-width:520px;width:calc(100% - 32px);max-height:85dvh;overflow:auto;box-shadow:0 30px 100px #0009}#joc dialog::backdrop{background:#09060bcc;backdrop-filter:blur(5px)}#joc dialog h2{font-size:23px;margin:12px 0 24px;line-height:1.6}#joc .joc-close{position:absolute;right:10px;top:7px;font-size:27px;background:none;border:0;color:#d7c5d0;width:36px;height:36px}#joc dl{margin:20px 0}#joc dt{color:var(--gold);font-size:12px;margin-top:15px}#joc dd{margin:5px 0;font-size:14px}#joc .joc-links{display:grid;gap:10px;margin-top:28px}#joc .joc-links a{border:1px solid #a58966;padding:10px;text-align:center;border-radius:3px}#joc .joc-confirm{padding:0;list-style:none}#joc .joc-confirm li{padding:12px 0;border-bottom:1px solid #5c4654;color:#e3c38f}#joc dialog p{font-size:13px}#joc dialog .joc-submit{width:100%;margin-top:25px}#joc .joc-back{display:block;margin:15px auto 0;color:#d8c6d2;border:0;background:none}#joc #joc-error{color:#ffb7ab;margin-top:15px}#joc .joc-result{margin:20px 40px 45px;padding:35px;text-align:center;border:1px solid var(--gold);background:#35202c}#joc .joc-result h2{color:var(--gold);font:40px Georgia,serif;margin:15px}#joc .joc-result h3{font-size:25px}#joc .joc-result details{margin-top:20px;text-align:left}#joc .joc-result details p{display:flex;justify-content:space-between;border-bottom:1px solid #634855;padding:8px}#joc .joc-load-error{padding:80px 25px;text-align:center}#joc .joc-mobile{display:none}@media(max-width:900px){#joc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#joc .joc-stores{padding:30px 25px}}@media(max-width:560px){#joc .joc-header{padding:17px 20px}#joc .joc-header a{font-size:20px}#joc .joc-header span{font-size:8px;letter-spacing:1px}#joc .joc-hero{padding:35px 18px 40px}#joc .joc-eyebrow{font-size:8px;letter-spacing:2px}#joc h1{font-size:75px;letter-spacing:-3px}#joc .joc-hero h2{font-size:20px}#joc .joc-hero>p{font-size:12px}#joc .joc-hero .joc-dates{font-size:29px}#joc .joc-mobile{display:block}#joc .joc-hero .joc-deadline{font-size:10px}#joc .joc-stores{padding:26px 18px 40px}#joc-grid{grid-template-columns:1fr;gap:22px}#joc .joc-card h3{min-height:0;font-size:20px}#joc .joc-card-content{padding:18px}#joc .joc-ballot-row{gap:10px}#joc .joc-ballot-row p{white-space:nowrap;font-size:12px}#joc .joc-ballot small{display:block;margin:0;font-size:9px}#joc-review{font-size:12px;padding:12px 15px}#joc dialog{padding:32px 24px}#joc .joc-result{margin:0 18px 30px;padding:24px}}@media(prefers-reduced-motion:reduce){#joc *{scroll-behavior:auto!important}}

#joc .joc-demo{text-align:center;background:#744b32;color:#fff2df;padding:6px 15px;font-size:11px}

#joc .joc-bgm{margin:22px 0 10px}#joc #joc-bgm-toggle{position:static;display:inline-block;padding:11px 24px;border:1px solid #d9b77e;border-radius:8px;background:#241520;color:#f2d7a5;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer}
