:root{--bg:#0c0907;--bg-alt:#0f0b08;--bg-grad:#120c08;--bg-foot:#080604;--card:#140e09;--card2:#110c08;--head:#f3ead9;--ink:#ece3d3;--body1:#e2d6bf;--body2:#d0c4ac;--body3:#c8bda6;--cap:#9b8a6d;--cap2:#8f7f63;--gold-l:#e8c987;--gold:#d3ab61;--gold-d:#a3823f;--line:#d3ab6129;--red:#6e1622;--paper:#f2e9d6;--paper-ink:#241a10}[hidden]{display:none!important}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Zen Kaku Gothic New,sans-serif}a{color:var(--gold);text-decoration:none;transition:color .18s,background .18s}a:hover{color:var(--gold-l)}img{max-width:100%}input,select,textarea{font-family:Zen Kaku Gothic New,sans-serif}input:focus,select:focus,textarea:focus{outline:1px solid var(--gold-d)}::selection{background:var(--red);color:var(--head)}.cinzel{font-family:Cinzel,serif}.serif{font-family:Shippori Mincho B1,serif}.center{text-align:center}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes glowPulse{0%,to{box-shadow:0 12px 40px #000000a6,0 0 18px #e0be7a59}50%{box-shadow:0 12px 40px #000000a6,0 0 42px #f0d9a4bf}}@keyframes sheen{0%{transform:translate(-130%)skew(-20deg)}55%,to{transform:translate(230%)skew(-20deg)}}.sec-label{letter-spacing:.4em;color:#c2a468;margin:0;font-size:13px}.sec-title{letter-spacing:.18em;color:var(--head);margin:10px 0 0;font-size:clamp(28px,3.4vw,38px);font-weight:700}section[id],header[id]{scroll-margin-top:64px}.topnav{z-index:100;backdrop-filter:blur(10px);background:#0a0705d1;border-bottom:1px solid #d3ab6138;justify-content:space-between;align-items:center;gap:16px;height:64px;padding:0 clamp(16px,3vw,40px);display:flex;position:fixed;top:0;left:0;right:0}.brand{color:var(--ink);align-items:baseline;gap:10px;display:flex}.brand-en{letter-spacing:.14em;color:#e8dcc4;font-size:15px;font-weight:700}.brand-ja{letter-spacing:.2em;color:var(--cap);font-size:11px}.topnav-right,.topnav-links{align-items:center;gap:clamp(10px,1.6vw,24px);display:flex}.topnav-links a{letter-spacing:.16em;color:var(--body3);font-size:12px}.topnav-links a:hover{color:var(--gold-l)}.topnav-ticket{letter-spacing:.24em;color:var(--gold-l);white-space:nowrap;background:#d3ab6114;border:1px solid #d3ab6199;border-radius:2px;flex-shrink:0;padding:9px 20px;font-size:13px;font-weight:600}.topnav-ticket:hover{color:var(--gold-l);background:#d3ab612e}.fab{z-index:110;letter-spacing:.26em;color:#1a1208;background:linear-gradient(165deg,#f0d9a4,#d3ab61 55%,#b98f45);border:1px solid #f0d9a4;padding:17px 34px 17px 38px;font-size:15px;font-weight:700;animation:2.6s ease-in-out infinite glowPulse;position:fixed;bottom:clamp(12px,2.5vw,28px);right:clamp(12px,2.5vw,28px);overflow:hidden}.fab:hover{filter:brightness(1.1);color:#1a1208}.fab-sheen{pointer-events:none;background:linear-gradient(100deg,#0000,#ffffff8c,#0000);width:45%;animation:3.4s ease-in-out infinite sheen;position:absolute;top:0;bottom:0;left:0}.btn-gold{letter-spacing:.3em;color:var(--gold-l);background:linear-gradient(#d3ab6124,#d3ab610a);border:1px solid #d3ab61a6;padding:16px 48px 16px 52px;font-size:15px;font-weight:600;transition:background .18s,color .18s;display:inline-block;box-shadow:0 8px 30px #00000080}.btn-gold:hover{color:var(--head);background:#d3ab6138}.hero{background:var(--bg);position:relative;overflow:hidden}.hero-bg{filter:blur(22px)brightness(.32)saturate(.9);background-image:url(/assets/kaitou/kv.webp);background-position:50% 30%;background-size:cover;position:absolute;inset:0;transform:scale(1.1)}.hero-vignette{background:radial-gradient(at 50% 40%,#0c09071a,#0c0907eb 78%);position:absolute;inset:0}.hero-inner{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(32px,5vw,72px);max-width:1180px;margin:0 auto;padding:140px clamp(20px,4vw,48px) 96px;display:flex;position:relative}.hero-copy{flex:420px;min-width:min(320px,100%);max-width:560px;animation:.9s both fadeUp}.hero-logo{width:min(300px,64%);height:auto;margin-bottom:28px;display:block}.hero-presents{letter-spacing:.34em;color:#c2a468;margin:0 0 14px;font-size:13px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hero-genre{border-top:1px solid #d3ab6166;border-bottom:1px solid #d3ab6166;align-items:center;gap:14px;margin-top:30px;padding:12px 4px;display:inline-flex}.hero-genre span{letter-spacing:.14em;color:#e6d7ba;font-size:clamp(15px,1.7vw,19px)}.hero-meta{flex-wrap:wrap;gap:12px 28px;margin-top:26px;display:flex}.hm-label{letter-spacing:.26em;color:var(--cap);font-size:11px}.hm-value{letter-spacing:.1em;color:#f0e6d2;margin-top:4px;font-size:19px}.hero-copy .btn-gold{margin-top:36px}.hero-poster{flex:0 360px;min-width:280px;margin:0;animation:.9s .15s both fadeUp}.hero-poster img{border:1px solid #d3ab6173;width:100%;height:auto;display:block;box-shadow:0 24px 70px #000000a6}.news{background:var(--bg-alt);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.news-inner{flex-wrap:wrap;align-items:flex-start;gap:20px 48px;max-width:920px;margin:0 auto;padding:40px clamp(20px,4vw,48px);display:flex}.news-h{letter-spacing:.3em;color:var(--gold);flex:none;margin:0;font-size:18px;font-weight:600}.news-list{flex:480px;gap:12px;margin:0;padding:0;list-style:none;display:grid}.news-list li{border-bottom:1px solid #ece3d314;align-items:baseline;gap:20px;padding-bottom:12px;display:flex}.news-date{letter-spacing:.1em;color:var(--cap);flex:none;font-size:12px}.news-text{color:#d9cdb6;font-size:14px}.story{background:linear-gradient(#0c0907,#120c08 40%,#0c0907);position:relative;overflow:hidden}.story-inner{text-align:center;max-width:860px;margin:0 auto;padding:110px clamp(20px,4vw,48px) 120px}.story-inner .sec-title{margin-bottom:60px}.story-p{letter-spacing:.08em;color:var(--body1);margin:0;font-size:clamp(16px,1.9vw,19px);line-height:2.4}.story-close{letter-spacing:.12em;color:var(--head);margin:48px 0 0;font-size:clamp(19px,2.3vw,24px);font-weight:700;line-height:2.2}.letter{background:var(--paper);max-width:440px;color:var(--paper-ink);margin:64px auto;padding:44px 36px 34px;position:relative;transform:rotate(-1.2deg);box-shadow:0 18px 60px #0000008c}.letter-frame{pointer-events:none;border:1px solid #241a1047;position:absolute;inset:8px}.letter-main{letter-spacing:.22em;margin:0;font-size:clamp(22px,2.6vw,28px);font-weight:700;line-height:1.9}.letter-sign{letter-spacing:.2em;text-align:right;color:#5c4a33;margin:24px 0 0;font-size:13px}.about{background:var(--bg-alt);border-top:1px solid var(--line)}.wide-inner{max-width:1120px;margin:0 auto;padding:100px clamp(20px,4vw,48px)}.about-grid{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:24px;display:grid}.about-card{background:linear-gradient(#140e09,#100b07);border:1px solid #d3ab6140;padding:40px 32px}.about-num{color:var(--gold-d);letter-spacing:.1em;font-size:34px}.about-card h3{letter-spacing:.08em;color:#f0e6d2;margin:18px 0 16px;font-size:20px;font-weight:700;line-height:1.7}.about-card p{color:var(--body3);margin:0;font-size:14px;line-height:2}.team{background:var(--bg)}.team-inner{max-width:1020px;margin:0 auto;padding:100px clamp(20px,4vw,48px)}.team-row{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:clamp(28px,4vw,56px);display:flex}.team-photo{border:1px solid #d3ab6159;flex:0 320px;width:100%;min-width:260px;max-width:360px;height:auto;box-shadow:0 18px 50px #00000080}.team-body{flex:420px;min-width:300px}.team-role{letter-spacing:.3em;color:var(--gold-d);margin:0;font-size:12px}.team-role-ja{letter-spacing:.18em;color:var(--cap);margin:6px 0 0;font-size:13px}.team-row2{border-top:1px solid var(--line);margin-top:72px;padding-top:56px}.works-label{letter-spacing:.22em;color:var(--gold-d);margin:28px 0 10px;font-size:11px}.works-text{letter-spacing:.06em;color:var(--body1);margin:0;font-size:15px;line-height:2.1}.team-name{letter-spacing:.16em;color:var(--head);margin:12px 0 4px;font-size:34px;font-weight:700}.team-en{letter-spacing:.28em;color:var(--cap);margin:0 0 24px;font-size:13px}.team-bio{color:var(--body2);margin:0;font-size:14px;line-height:2.1}.team-links{gap:16px;margin-top:28px;display:flex}.team-links a{letter-spacing:.18em;color:var(--gold);border:1px solid #d3ab6180;padding:10px 22px;font-size:12px}.team-links a:hover{color:var(--gold);background:#d3ab611f}.castsec{background:var(--bg-alt);border-top:1px solid var(--line)}@keyframes castfloat{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.cast-grid{flex-wrap:wrap;justify-content:center;gap:26px 20px;display:flex}.cast-card{text-align:center;cursor:pointer;width:calc(25% - 15px);color:inherit;opacity:0;background:0 0;border:0;margin:0;padding:0;font-family:inherit;transition:opacity .8s;animation:6s ease-in-out infinite castfloat}.rv.vis .cast-card{opacity:1}.cast-card:hover{animation-play-state:paused}.cast-card:first-child{transition-delay:50ms;animation-delay:0s}.cast-card:nth-child(2){transition-delay:.15s;animation-delay:-1s}.cast-card:nth-child(3){transition-delay:.25s;animation-delay:-2s}.cast-card:nth-child(4){transition-delay:.35s;animation-delay:-3s}.cast-card:nth-child(5){transition-delay:.45s;animation-delay:-4s}.cast-card:nth-child(6){transition-delay:.55s;animation-delay:-5s}.cast-card:nth-child(7){transition-delay:.65s;animation-delay:-.5s}.cast-card:nth-child(8){transition-delay:.75s;animation-delay:-2.5s}.cast-card img{aspect-ratio:3/4;object-fit:cover;object-position:top center;filter:saturate(.92);border:1px solid #d3ab6147;width:100%;height:auto;transition:filter .25s;display:block}.cast-card:hover img{filter:saturate(1.05)brightness(1.06)}.cast-name{letter-spacing:.12em;color:var(--ink);margin-top:12px;font-size:16px;display:block}.cast-hint{color:var(--cap2);text-align:center;margin:36px 0 0;font-size:12px}.castdlg{background:var(--card);color:var(--ink);border:1px solid #d3ab6159;width:100%;max-width:min(760px,100vw - 40px);max-height:calc(100vh - 48px);padding:0;overflow:auto}.castdlg::backdrop{backdrop-filter:blur(3px);background:#080604d9}.dlgbody{grid-template-columns:280px 1fr;gap:0;display:grid}.dlgimg{object-fit:cover;object-position:top center;background:var(--card2);width:100%;height:100%;min-height:280px;display:block}.dlginfo{flex-direction:column;align-items:flex-start;gap:12px;padding:34px 32px;display:flex}.dlgname{letter-spacing:.14em;color:var(--head);margin:0;font-size:24px;font-weight:700}.dlgx{letter-spacing:.12em;color:var(--cap);word-break:break-all;font-size:12px}.dlgx:hover{color:var(--gold-l)}.dlgbio{color:var(--body3);margin:6px 0 0;font-size:14px;line-height:2.05}.dlgclose{color:var(--cap);cursor:pointer;z-index:1;background:0 0;border:0;font-size:28px;line-height:1;position:absolute;top:8px;right:12px}.dlgclose:hover{color:var(--head)}.ticket{border-top:1px solid var(--line);background:linear-gradient(#120c08,#0c0907);position:relative}.ticket-inner{text-align:center;max-width:760px;margin:0 auto;padding:100px clamp(20px,4vw,48px)}.ticket-card{background:var(--card);border:1px solid #d3ab6166;padding:clamp(32px,5vw,56px)}.price-grid{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.price-cell{border:1px solid #d3ab6159;flex:150px;max-width:200px;padding:20px 12px 22px}.price-label{letter-spacing:.16em;color:var(--gold);font-size:13px}.price-value{letter-spacing:.04em;color:var(--head);margin-top:8px;font-size:clamp(24px,3vw,30px);font-weight:700}.price-note{color:var(--cap);margin:14px 0 0;font-size:12px}.ticket-type{letter-spacing:.14em;color:var(--gold);margin:14px 0 0;font-size:14px}.ticket-specs{border-top:1px solid #d3ab6140;border-bottom:1px solid #d3ab6140;flex-wrap:wrap;justify-content:center;gap:14px 36px;margin-top:28px;padding:18px 8px;display:flex}.ts-label{letter-spacing:.24em;color:var(--cap);font-size:10px}.ts-value{letter-spacing:.1em;color:#f0e6d2;margin-top:4px;font-size:17px}.bring-box{background:#d3ab6112;border:1px solid #d3ab6180;margin-top:22px;padding:18px 16px 20px}.bring-items{letter-spacing:.1em;color:var(--gold-l);margin-top:10px;font-size:clamp(19px,2.6vw,26px);font-weight:700}.bring-items span{display:inline-block}.ticket-sched{margin-top:22px}.date-chips{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px;display:flex}.date-chips span{letter-spacing:.08em;color:#e6d7ba;border:1px solid #d3ab6173;padding:8px 16px;font-size:15px}.ticket-notes{color:var(--cap);text-align:left;gap:6px;max-width:460px;margin:28px auto 0;font-size:12px;line-height:1.9;display:grid}.flow{background:var(--bg-alt);border-top:1px solid var(--line)}.flow-inner{max-width:860px;margin:0 auto;padding:100px clamp(20px,4vw,48px)}.flow-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.flow-list li{grid-template-columns:56px 1fr;gap:24px;padding-bottom:40px;display:grid;position:relative}.flow-list li:last-child{padding-bottom:0}.flow-rail{flex-direction:column;align-items:center;gap:8px;display:flex}.flow-no{border:1px solid var(--gold-d);width:44px;height:44px;color:var(--gold);background:var(--bg);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:17px;display:flex}.flow-line{background:linear-gradient(#a3823f99,#a3823f26);flex:1;width:1px}.flow-list h3{letter-spacing:.12em;color:#f0e6d2;margin:8px 0 10px;font-size:20px;font-weight:700}.flow-list p{color:var(--body3);margin:0;font-size:14px;line-height:2}.notice{background:var(--bg);border-top:1px solid var(--line)}.notice-list{gap:36px;display:grid}.notice-block{border-left:1px solid #d3ab6166;padding-left:24px}.notice-block h3{letter-spacing:.1em;color:#e6d7ba;margin:0 0 14px;font-size:18px;font-weight:700}.notice-block ul{gap:8px;margin:0;padding-left:18px;display:grid}.notice-block li{color:var(--body3);font-size:13.5px;line-height:1.9}.access{background:var(--bg-alt);border-top:1px solid var(--line)}.access-row{flex-wrap:wrap;gap:40px;display:flex}.access-dl{flex:380px;gap:24px;min-width:300px;margin:0;display:grid}.access-dl dt{letter-spacing:.28em;color:var(--gold-d);font-size:12px}.access-dl dd{color:var(--body1);margin:8px 0 0;font-size:15px;line-height:1.9}.mp-addr{color:#f0e6d2;font-size:16px}.mp-note{color:var(--body3);font-size:13px}.map-link{letter-spacing:.06em;border-bottom:1px solid #d3ab6180;padding-bottom:2px;font-size:14px}.map-frame{border:1px solid #d3ab614d;flex:420px;min-width:300px}.map-frame iframe{filter:grayscale(.5)contrast(.95);border:0;width:100%;height:320px;display:block}.faqsec{background:var(--bg);border-top:1px solid var(--line)}.faq-inner{max-width:820px;margin:0 auto;padding:100px clamp(20px,4vw,48px)}.faq-list{gap:14px;display:grid}.faq-item{background:var(--card2);border:1px solid #d3ab6140}.faq-q{all:unset;box-sizing:border-box;cursor:pointer;align-items:baseline;gap:16px;width:100%;padding:20px 22px;transition:background .18s;display:flex}.faq-q:hover{background:#d3ab610f}.fq-mark{color:var(--gold-d);font-size:16px}.fq-text{letter-spacing:.04em;color:var(--ink);flex:1;font-size:15px;font-weight:500;line-height:1.7}.fq-toggle{color:var(--gold-d);font-family:monospace;font-size:16px}.faq-a{border-top:1px solid #d3ab6124;gap:16px;padding:0 22px 22px;display:flex}.fa-mark{color:var(--red);padding-top:16px;font-size:16px}.faq-a p{color:var(--body3);margin:16px 0 0;font-size:14px;line-height:2}.contactsec{background:var(--bg-alt);border-top:1px solid var(--line)}.contact-inner{max-width:640px;margin:0 auto;padding:100px clamp(20px,4vw,48px)}.contact-lead{color:var(--body3);text-align:center;margin:0 0 48px;font-size:14px;line-height:2}.cform{gap:24px;display:grid}.cform label{gap:8px;display:grid}.cform label>span{letter-spacing:.1em;color:var(--body2);font-size:13px}.req{letter-spacing:.12em;color:var(--gold-l);vertical-align:1px;border:1px solid #d3ab6180;margin-left:8px;padding:2px 7px;font-size:10px}.cform input,.cform select,.cform textarea{background:var(--card);color:var(--ink);border:1px solid #d3ab614d;padding:13px 14px;font-size:14px}.cform textarea{resize:vertical}.form-err{color:#e0704f;border:1px solid #e0704f80;margin:0;padding:12px 16px;font-size:13px;line-height:1.9}.form-err a{color:#e0704f;border-bottom:1px solid #e0704f}.form-submit{all:unset;box-sizing:border-box;text-align:center;letter-spacing:.24em;color:#120d08;cursor:pointer;background:linear-gradient(160deg,#e2bf7a,#b98f45);border-radius:2px;padding:16px;font-size:14px;font-weight:700;transition:filter .18s}.form-submit:hover{filter:brightness(1.08)}.form-submit:disabled{opacity:.55;cursor:wait}.form-note{color:var(--cap2);text-align:center;margin:0;font-size:12px;line-height:1.9}.sent-box{background:var(--card);text-align:center;border:1px solid #d3ab6159;padding:48px 32px}.sent-box p{color:var(--body1);margin:0;font-size:14px;line-height:2.2}.sent-back{all:unset;box-sizing:border-box;letter-spacing:.14em;color:var(--gold);cursor:pointer;border:1px solid #d3ab6180;margin-top:28px;padding:11px 26px;font-size:13px;transition:background .18s}.sent-back:hover{background:#d3ab611a}.foot{background:var(--bg-foot);border-top:1px solid #d3ab6138}.foot-inner{text-align:center;max-width:1020px;margin:0 auto;padding:72px clamp(20px,4vw,48px) 40px}.foot-cta{padding:15px 44px 15px 48px;font-size:14px}.foot-logo{width:200px;height:auto;margin:56px auto 8px;display:block}.foot-credits{color:var(--cap);margin-top:24px;font-size:13px;line-height:2.2}.foot-copy{letter-spacing:.18em;color:#6b5d47;margin:40px 0 0;font-size:11px}.rv{opacity:0;transition:opacity .9s,transform .9s;transform:translateY(26px)}.rv.vis{opacity:1;transform:none}.sec-title,.about-card h3,.flow-list h3,.notice-block h3,.fq-text{word-break:auto-phrase}@media (width<=820px){.topnav{flex-wrap:wrap;justify-content:center;gap:8px 14px;height:auto;padding:10px 12px 12px}.brand{flex-basis:100%;order:-1;justify-content:center}.brand-en{font-size:13px}.brand-ja{white-space:nowrap}.topnav-right{flex-wrap:wrap;justify-content:center;gap:8px 12px}.topnav-links{flex-wrap:wrap;justify-content:center;gap:6px 12px}.topnav-links a{letter-spacing:.1em;font-size:11px}.topnav-ticket{display:none}section[id],header[id]{scroll-margin-top:104px}#heroinner{gap:28px;padding-top:116px;padding-bottom:64px}.hero-copy{text-align:center}.hero-logo{display:none}.hero-meta{justify-content:center}.hero-poster{flex:0 auto;order:-1;width:min(320px,82%);min-width:0;margin:0 auto}.cast-grid{gap:16px 10px}.cast-card{width:calc(33.3333% - 6.66667px)}.cast-name{letter-spacing:.06em;font-size:11.5px}.wide-inner,.team-inner,.flow-inner,.faq-inner,.contact-inner,.ticket-inner{padding-top:72px;padding-bottom:72px}.story-inner{padding-top:80px;padding-bottom:88px}.fab{letter-spacing:.18em;padding:13px 22px;font-size:13px;bottom:14px;right:14px}.dlgbody{grid-template-columns:1fr}.dlgimg{height:300px;min-height:0}.dlginfo{padding:24px 22px 30px}}@media (width<=600px){.story-p{letter-spacing:.04em;font-size:14px}.story-close{letter-spacing:.08em;font-size:17px}.letter{padding:36px 24px 28px}}@media (width<=380px){.story-p{letter-spacing:.02em;font-size:13px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-copy,.hero-poster,.fab{animation:none}.fab-sheen{animation:none;display:none}.rv{opacity:1;transition:none;transform:none}.cast-card{opacity:1;transition:none;animation:none}}
