:root{--black:#09090c;--white:#f5f1e8;--blue:#103ed0;--red:#f0422f;--line:rgba(255,255,255,.22);--sans:"Arial","Noto Sans JP","Yu Gothic",sans-serif;--serif:"Yu Mincho","Hiragino Mincho ProN",serif}*{box-sizing:border-box;min-width:0;letter-spacing:0}html{overflow-x:hidden;scroll-behavior:smooth;background:var(--black)}body{margin:0;overflow-x:hidden;color:var(--white);background:var(--black);font-family:var(--sans);line-height:1.7}a{color:inherit;text-decoration:none}img{display:block;width:100%}.v-shell{width:min(100%,1600px);margin:auto}.v-header{height:68px;display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:28px;padding:0 3%;border-bottom:1px solid var(--line)}.v-brand{font-size:23px;font-weight:900}.v-header>p{margin:0;color:#8f8e95;font-size:8px}.v-header nav{display:flex;justify-content:flex-end;gap:28px;font-size:9px;font-weight:900}.v-ticket{display:inline-grid;place-items:center;min-height:42px;padding:0 20px;color:#fff;background:var(--red);font-size:10px;font-weight:900}.v-hero{position:relative;min-height:820px;overflow:hidden;background:#08080b}.v-hero>img{position:absolute;inset:0;height:100%;object-fit:cover}.v-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,9,.9),rgba(5,5,9,.05) 65%)}.v-hero-copy{position:absolute;z-index:2;left:4%;top:11%;bottom:8%;display:flex;flex-direction:column;justify-content:space-between}.v-hero-copy>p,.v-index{margin:0;color:#9c9aa2;font-size:9px;font-weight:900}.v-hero h1{margin:0;font-size:clamp(64px,9.8vw,152px);line-height:.92;text-transform:uppercase}.v-hero h1 span,.v-hero h1 em{display:block;font-style:normal}.v-hero h1 span:nth-child(2){color:transparent;-webkit-text-stroke:1px var(--white)}.v-hero h1 em{color:var(--red)}.v-hero-copy>a{font-size:9px;font-weight:900}.v-date{position:absolute;z-index:3;right:4%;bottom:5%;display:grid;grid-template-columns:auto auto;align-items:end;gap:0 8px;padding:18px;color:var(--black);background:var(--white)}.v-date strong{font-size:30px;line-height:1}.v-date span{font-size:8px}.v-marquee{overflow:hidden;color:var(--black);background:var(--red);font-size:clamp(25px,4vw,58px);font-weight:900;white-space:nowrap}.v-marquee div{width:max-content;padding:12px 0;animation:v-marquee 22s linear infinite}.v-intro{display:grid;grid-template-columns:20% 80%;padding:120px 4%;border-bottom:1px solid var(--line)}.v-intro>div{display:grid;grid-template-columns:1fr .55fr;gap:10%;align-items:end}.v-intro h2,.v-program h2,.v-collage h2,.v-place h2,.v-contact h2{margin:0;font-size:clamp(46px,6vw,90px);line-height:1.05}.v-intro>div p{margin:0;color:#aaa8ad;font-family:var(--serif);font-size:13px;line-height:2}.v-program{padding:110px 4%}.v-program-head{display:grid;grid-template-columns:20% 80%;margin-bottom:50px}.v-program-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;min-height:480px;color:var(--black)}.v-program-grid article{display:flex;flex-direction:column;padding:32px}.v-card-blue{background:#3159d7}.v-card-red{background:var(--red)}.v-card-white{background:var(--white)}.v-program-grid span{font-size:9px}.v-program-grid strong{margin-top:auto;font-size:10px}.v-program-grid h3{margin:16px 0 10px;font-size:34px;line-height:1.15}.v-program-grid p{margin:0;font-family:var(--serif);font-size:11px}.v-program-grid b{margin-top:25px;font-size:11px}.v-collage{position:relative;display:grid;grid-template-columns:62% 38%;min-height:700px;color:var(--black);background:var(--white)}.v-collage img{height:100%;object-fit:cover}.v-collage>div{display:flex;flex-direction:column;justify-content:center;padding:12%}.v-collage>div p:last-child{font-family:var(--serif);font-size:12px}.v-collage>span{position:absolute;right:1%;bottom:-10%;color:transparent;font-size:300px;font-weight:900;-webkit-text-stroke:1px rgba(0,0,0,.2);line-height:1}.v-place{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:120px 4%}.v-place dl{margin:0;border-top:1px solid var(--line)}.v-place dl div{display:grid;grid-template-columns:110px 1fr;padding:18px 0;border-bottom:1px solid var(--line)}.v-place dt{color:#88868d;font-size:8px}.v-place dd{margin:0;font-family:var(--serif);font-size:13px}.v-prices{padding:90px 4%;color:var(--black);background:var(--red)}.v-prices .v-index{color:rgba(0,0,0,.65)}.v-prices>div{display:grid;grid-template-columns:repeat(3,1fr);margin-top:30px;border-top:2px solid var(--black)}.v-prices article{padding:25px 6% 0 0;border-right:1px solid rgba(0,0,0,.3)}.v-prices article+article{padding-left:6%}.v-prices span{font-size:9px;font-weight:900}.v-prices strong{display:block;margin-top:28px;font-size:36px}.v-prices p{font-family:var(--serif);font-size:10px}.v-contact{padding:120px 20px;text-align:center;background:var(--blue)}.v-contact h2{max-width:1000px;margin:18px auto}.v-contact>p:not(.v-index){color:rgba(255,255,255,.72);font-family:var(--serif);font-size:11px}.v-contact .v-ticket{margin-top:18px;min-width:280px}.v-footer{padding:18px;text-align:center;font-size:8px}@keyframes v-marquee{to{transform:translateX(-50%)}}@media(max-width:900px){.v-header{height:60px;grid-template-columns:1fr auto;padding:0 16px}.v-header>p,.v-header nav{display:none}.v-ticket{min-height:40px;padding:0 13px}.v-hero{min-height:720px}.v-hero>img{object-position:66% center}.v-hero::after{background:linear-gradient(0deg,rgba(5,5,9,.9),rgba(5,5,9,.1) 75%)}.v-hero-copy{left:18px;right:18px;top:auto;bottom:26px;height:47%}.v-hero h1{font-size:56px}.v-date{right:16px;bottom:52%;padding:12px}.v-date strong{font-size:23px}.v-intro{grid-template-columns:1fr;gap:30px;padding:72px 20px}.v-intro>div{grid-template-columns:1fr;gap:26px}.v-intro h2,.v-program h2,.v-collage h2,.v-place h2,.v-contact h2{font-size:40px;overflow-wrap:anywhere;text-wrap:balance}.v-program{padding:72px 20px}.v-program-head{grid-template-columns:1fr;gap:22px}.v-program-grid{grid-template-columns:1fr;min-height:0}.v-program-grid article{min-height:330px}.v-collage{grid-template-columns:1fr;min-height:0}.v-collage img{height:390px}.v-collage>div{padding:64px 20px}.v-collage>span{display:none}.v-place{grid-template-columns:1fr;gap:38px;padding:72px 20px}.v-prices{padding:70px 20px}.v-prices>div{grid-template-columns:1fr}.v-prices article,.v-prices article+article{padding:22px 0;border-right:0;border-bottom:1px solid rgba(0,0,0,.3)}.v-prices strong{margin-top:10px}.v-contact{padding:76px 20px}.v-contact .v-ticket{width:100%;min-width:0}}
@media(prefers-reduced-motion:reduce){.v-marquee div{animation:none}}
