html{scroll-behavior:smooth}body{color:#f3f2f8;-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:anywhere;line-break:strict;background:radial-gradient(1000px 800px at -15% 22%,#32328c1a,#0000 70%) no-repeat,radial-gradient(900px 800px at 115% 52%,#d9ae2c0f,#0000 70%) no-repeat,radial-gradient(900px 700px at -10% 80%,#32328c14,#0000 70%) no-repeat,#07070e;margin:0;font-family:Shippori Mincho B1,serif}body:after{content:"";pointer-events:none;z-index:90;opacity:.16;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}body.menu-open{overflow:hidden}main{overflow-x:clip}a{color:#f3f2f8}a:hover{color:#fff}*{box-sizing:border-box}img{max-width:100%}.hv,.mono,.num{font-family:Shippori Mincho B1,serif;font-weight:600}.arc{font-family:Archivo,sans-serif}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes cue{0%{transform:translateY(-100%)}70%,to{transform:translateY(100%)}}.hd{z-index:50;color:#f3f2f8;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex;position:fixed;top:0;left:0;right:0}.hd-logo{align-items:center;text-decoration:none;display:flex}.hd-logo img{width:auto;height:52px;display:block}.hd-r{align-items:center;gap:12px;display:flex}.btn-rsv{letter-spacing:.12em;background:#f3f2f8;align-items:center;height:40px;padding:0 18px;font-size:14px;font-weight:500;text-decoration:none;display:flex;color:#07070e!important}.burger{cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:44px;height:44px;padding:0;display:flex}.burger span{background:#f3f2f8;width:26px;height:1px;display:block}.side{z-index:40;color:#f3f2f8;pointer-events:none;text-shadow:0 0 8px #07070eb3;flex-direction:column;justify-content:space-between;align-items:center;width:52px;padding:96px 0 32px;display:flex;position:fixed;top:0;bottom:0;right:0}.side .vt{writing-mode:vertical-rl;letter-spacing:.3em;font-size:13px;line-height:1.8}.side a{pointer-events:auto;writing-mode:vertical-rl;letter-spacing:.3em;color:#f3f2f8;border-left:1px solid #f3f2f8;padding-left:6px;font-size:13px;text-decoration:none}.menu{z-index:80;background:#07070e;padding:88px 24px 48px;position:fixed;inset:0;overflow-y:auto}.menu[hidden]{display:none}.menu-x{color:#f3f2f8;cursor:pointer;background:0 0;border:0;width:44px;height:44px;font-family:Archivo,sans-serif;font-size:28px;font-weight:300;position:absolute;top:18px;right:20px}.menu nav{flex-direction:column;max-width:560px;margin:0 auto;display:flex}.menu nav a.mi{color:#f3f2f8;border-bottom:1px solid #d9ae2cc7;grid-template-columns:40px 1fr auto;align-items:baseline;gap:12px;padding:16px 0;text-decoration:none;display:grid}.mi .no{color:#e2c43c;font-size:13px;font-weight:600}.mi .en{letter-spacing:.02em;font-size:22px;font-weight:600}.mi .ja{color:#aeb5cf;font-size:13px}.menu .m-rsv{color:#07070e;letter-spacing:.15em;background:#e2c43c;justify-content:center;align-items:center;height:56px;margin-top:40px;font-weight:500;text-decoration:none;display:flex}.hero{--o:0;--z:0;--f:0;height:400svh;position:relative}.hero.static{--o:1;height:100svh}.stage{justify-content:center;align-items:center;height:100svh;display:flex;position:sticky;top:0;overflow:hidden}.lamp,.beam{width:100svh;max-width:none;height:100svh;position:absolute;top:0;left:50%;overflow:visible;transform:translate(-50%)}.beam{opacity:calc(.4 + var(--o) * .6);will-change:opacity;pointer-events:none}.persp{perspective:1300px;perspective-origin:50% 0;margin-top:6svh;position:relative}.book{aspect-ratio:1295/1754;width:min(40vw,300px,32svh);transform-style:preserve-3d;transform-origin:-50%;transform:translate(calc(var(--o) * 50% + var(--z) * 51%),calc(var(--z) * -3svh)) rotateX(calc((1 - var(--z)) * 30deg)) scale(calc(1 + var(--z) * (var(--s,8) - 1)));position:relative;container-type:inline-size}.b-glow{opacity:calc(.5 + var(--o) * .5);pointer-events:none;background:radial-gradient(closest-side,#f2eef533,#f2eef50d 55%,#0000);position:absolute;inset:-70% -110%;transform:translateZ(-2px)}.b-shadow{background:radial-gradient(closest-side,#000000b8,#0009 28%,#0000005c 58%,#0000001f 82%,#0000);position:absolute;inset:calc(4% - 14px) calc(-6% - 14px) calc(-8% - 14px) calc(2% - 14px);transform:translateZ(-1px)}.b-back{background:#171d1a;border-radius:0 1.5cqw 1.5cqw 0;position:absolute;inset:0}.b-block{transform-style:preserve-3d;position:absolute;inset:1.2cqw 1.6cqw 1.2cqw 0;transform:translateZ(5cqw)}.b-edge-b{transform-origin:top;background:repeating-linear-gradient(0deg,#cdc5b2 0 1px,#ece6d6 1px 2px);height:5cqw;position:absolute;top:100%;left:0;right:0;transform:rotateX(-90deg)}.b-edge-r{transform-origin:0;background:repeating-linear-gradient(90deg,#cdc5b2 0 1px,#ece6d6 1px 2px);width:5cqw;position:absolute;top:0;bottom:0;left:100%;transform:rotateY(90deg)}.b-page{color:#1a1c1b;background:linear-gradient(90deg,#3c2d1447,#3c2d1400 16% 90%,#3c2d1414),#ece7da;flex-direction:row-reverse;justify-content:space-between;padding:10cqw 9cqw;display:flex;position:absolute;inset:0}.b-copy{writing-mode:vertical-rl;letter-spacing:.12em;opacity:calc(1 - var(--z) * 4);margin:0;font-size:7.6cqw;font-weight:500;line-height:1.9}.b-date{writing-mode:vertical-rl;letter-spacing:.06em;color:#4d4a42;opacity:calc(1 - var(--z) * 4);align-self:flex-end;font-size:4.6cqw}.b-cover{transform-origin:0;transform-style:preserve-3d;transform:translateZ(6.2cqw) rotateY(calc(var(--o) * -179.5deg));position:absolute;inset:0}.b-cover-edge{transform-origin:top;background:#0f1311;height:1.2cqw;position:absolute;top:100%;left:0;right:0;transform:rotateX(-90deg)}.b-front{backface-visibility:hidden;opacity:calc((.5 - var(--o)) * 1000);background:radial-gradient(120% 70% at 50% 0,#fff8e61a,#fff8e600 60%),linear-gradient(90deg,#00000080 0,#ffffff0d 3cqw,#00000059 4.6cqw,#0000 7cqw),#1c2420;border-radius:0 1.5cqw 1.5cqw 0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.b-front img{object-fit:cover;border-radius:inherit;width:100%;height:100%;position:absolute;inset:0}.b-front:after{content:"";border-radius:inherit;background:radial-gradient(120% 70% at 50% 0,#fff8e614,#fff8e600 60%),linear-gradient(90deg,#00000080 0,#ffffff0d 3cqw,#00000059 4.6cqw,#0000 7cqw);position:absolute;inset:0}.b-inner{backface-visibility:hidden;opacity:calc((var(--o) - .5) * 1000);background:linear-gradient(270deg,#3c2d144d,#3c2d1400 16%),#e4dfd1;border-radius:1.5cqw 0 0 1.5cqw;padding:10cqw 11cqw 10cqw 9cqw;position:absolute;inset:0;transform:rotateY(180deg)}.b-mv{object-fit:cover;width:100%;height:100%;display:block;box-shadow:0 0 0 1px #100c152e}.cue{opacity:calc(1 - var(--o) * 3);flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;bottom:3svh;left:0;right:0}.cue-t{letter-spacing:.5em;color:#d0d5e6;padding-left:.5em;font-size:12px}.cue-track{background:#f2eef52e;width:1px;height:44px;display:block;position:relative;overflow:hidden}.cue-track span{background:#f3f2f8;width:1px;height:100%;animation:2.6s cubic-bezier(.65,0,.25,1) infinite cue;position:absolute;top:0;left:0}.garden{object-fit:cover;width:100%;max-width:none;height:100%;opacity:calc(var(--o) * .9);will-change:opacity;pointer-events:none;position:absolute;inset:0}.kvfull{opacity:var(--f);will-change:opacity;pointer-events:none;background:#07070e;position:absolute;inset:0}.kvfull img{object-fit:cover;width:100%;max-width:none;height:100%;position:absolute;inset:0}.kvfull:after{content:"";background:linear-gradient(#07070e00 55%,#07070ebf 82%,#07070e 100%);position:absolute;inset:0}@media (aspect-ratio>=3/4){.kvfull{background:#07070e url(/assets/gensou/garden.webp) 50%/cover}.kvfull img{object-fit:contain}}.wrap{max-width:720px;margin:0 auto;padding:0 72px 0 24px}.sec{padding:96px 0}.sh{margin-bottom:44px;position:relative}.sh-t{color:#e6d23f;letter-spacing:.16em;text-shadow:0 0 14px #e6d23f73;margin:0;font-size:24px;font-weight:600;line-height:1.4}.sh-line{background:linear-gradient(90deg,#d9ae2c,#f4d860 45%,#d9ae2c40);border-radius:2px;height:3px;margin-top:12px;box-shadow:0 0 10px #f4d860bf,0 0 24px #f4d86059}.spot{z-index:-1;top:var(--sy);width:var(--ss);height:var(--ss);pointer-events:none;background:radial-gradient(closest-side,#ce6c4ec7,#ce6c4e6b 55%,#ce6c4e00);border-radius:50%;position:absolute}.sh-r .spot{right:var(--sx)}.sh-l .spot{left:calc(var(--sx) - 24px)}.lead{text-wrap:pretty;margin:0;font-size:clamp(18px,2.6vw,22px);font-weight:500;line-height:2}.rows{flex-direction:column;display:flex}.row{border-top:1px solid #d9ae2cc7;grid-template-columns:96px 1fr;gap:16px;padding:22px 0;font-size:15px;line-height:1.9;display:grid}.row:last-child{border-bottom:1px solid #d9ae2cc7}.ph{background:repeating-linear-gradient(135deg,#f2eef50f 0 8px,#0000 8px 16px);border:1px solid #d9ae2cc7}.ov{color:#f3f2f8;padding:24px 0 0}.ov-lead{text-align:left;letter-spacing:.16em;text-shadow:0 0 10px #fff9,0 0 24px #ffffff40;margin:24px 0 104px;font-size:clamp(17px,4.6vw,21px);font-weight:600;line-height:1.95}.ov-date{flex-direction:column;gap:2px;display:flex}.ov-y{letter-spacing:.06em;font-size:28px}.ov-d{letter-spacing:.04em;flex-wrap:wrap;align-items:baseline;gap:8px;font-size:clamp(38px,10.4vw,64px);line-height:1.15;display:flex}.ov-n{letter-spacing:.08em;font-size:14px}.weeks{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px 24px;margin-top:36px;display:grid}.week{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.week-l{letter-spacing:.04em;color:#d6d2e6;border:1px solid #d9ae2cb3;padding:2px 10px;font-size:13px}.days{grid-template-columns:repeat(4,1fr);align-self:stretch;gap:12px;display:grid}.day{border-bottom:1px solid #d9ae2c99;flex-direction:column;align-items:center;gap:0;padding:0 0 8px;display:flex}.day .n{color:#dcd6f0;font-size:36px;line-height:1.15}.day .w{color:#dcd6f0;font-size:12px}.ov-venue{margin-top:88px}.venue-t{letter-spacing:.14em;margin:0;font-size:clamp(26px,7.4vw,38px);font-weight:600;line-height:1.4}.story{flex-direction:column;gap:40px;max-width:560px;display:flex}.story p{margin:0;font-size:16px;line-height:2.2}.story .lead{font-size:clamp(18px,2.6vw,22px);line-height:2}.story .qwrap{flex-direction:column;gap:20px;display:flex}.story .quote{border-left:2px solid #e2c43c;padding:8px 0 8px 24px;font-size:clamp(18px,2.4vw,21px);font-weight:500;line-height:2}.stats{background:#d9ae2cc7;border:1px solid #d9ae2cc7;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;display:grid}.stat{background:#101019;flex-direction:column;gap:8px;padding:24px 18px;display:flex}.stat .k{color:#aeb5cf;font-size:12px}.stat .v{font-size:44px;font-weight:600;line-height:1}.stat .v small{margin-left:4px;font-size:16px;font-weight:500}.stat .v.txt{font-size:30px;line-height:1.2}.stat:last-child:nth-child(odd){grid-column:1/-1}.staff{border-bottom:1px solid #d9ae2cc7;flex-direction:column;gap:10px;padding:32px 0;display:flex}.staff .role{color:#aeb5cf;font-size:14px}.staff .name{font-size:24px;font-weight:500}.staff p{color:#aeb5cf;margin:0;font-size:15px;line-height:1.9}.casts{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:24px 16px;display:grid}.cast{flex-direction:column;gap:8px;display:flex}.cast .photo{aspect-ratio:3/4;object-fit:cover;width:100%;display:block}.cast .role{color:#aeb5cf;margin-top:4px;font-size:12px}.cast .name{font-size:17px;font-weight:500}.cast .days{grid-template-columns:repeat(4,1fr);align-self:stretch;gap:12px;display:grid}.tickets{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.tk{border:1px solid #e2c43c;flex-direction:column;gap:14px;padding:28px 22px;display:flex}.tk.g{background:#d9ae2c14;border-color:#e2c43c}.tk .nm{font-size:15px;font-weight:500}.tk .pr{font-size:40px;font-weight:600;line-height:1}.tk .pr small{margin-left:6px;font-size:15px;font-weight:500}.tk p{color:#aeb5cf;margin:0;font-size:14px;line-height:1.9}.tk-note{color:#aeb5cf;margin:16px 0 0;font-size:13px}.times{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.times span{text-align:center;white-space:nowrap;overflow-wrap:normal;border:1px solid #d9ae2cc7;padding:6px 0;font-size:14px}.cta{letter-spacing:.12em;background:#e2c43c;justify-content:space-between;align-items:center;height:64px;margin-top:40px;padding:0 24px;font-size:16px;font-weight:500;text-decoration:none;display:flex;color:#07070e!important}.cta.off{background:0 0;border:1px solid #e2c43c;color:#f3f2f8!important}.flow{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.flow li{border-top:1px solid #d9ae2cc7;grid-template-columns:48px 1fr;gap:16px;padding:22px 0;display:grid}.flow .no{color:#e2c43c;font-size:24px;font-weight:600}.flow .tx{color:#d0d5e6;flex-direction:column;gap:4px;font-size:15px;line-height:1.9;display:flex}.lb{color:#f3f2f8;letter-spacing:.04em;font-size:16px;font-weight:500;display:block}.ng+.ng{margin-top:48px}.ng-h{color:#e2c43c;letter-spacing:.12em;margin:0 0 4px;font-size:13px;font-weight:400}.notes{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.notes li{color:#d0d5e6;border-top:1px solid #d9ae2cc7;flex-direction:column;gap:4px;padding:16px 0;font-size:15px;line-height:1.9;display:flex}.notes li:last-child{border-bottom:1px solid #d9ae2cc7}.fx{border:1px solid #d9ae2cc7;margin-top:24px;padding:18px 20px}.fx-h{color:#e2c43c;letter-spacing:.12em;margin:0 0 8px;font-size:13px}.fx ul{flex-direction:column;gap:4px;margin:0;padding:0;font-size:15px;line-height:1.9;list-style:none;display:flex}.fx li{gap:10px;display:flex}.fx li:before{content:"●";color:#e2c43c;flex:none;font-size:9px;line-height:3.2}.fin{text-align:left}.fin-c{letter-spacing:.06em;margin:0;font-size:clamp(26px,7vw,40px);font-weight:600;line-height:1.5}.fin-s{letter-spacing:.12em;font-size:.6em}.fin-l{color:#d0d5e6;flex-direction:column;gap:6px;margin:28px 0 0;padding:0;font-size:15px;list-style:none;display:flex}.map{aspect-ratio:16/10;background:#101019;border:1px solid #d9ae2cc7;margin-top:24px}.map iframe{border:0;width:100%;height:100%;display:block}.map-link{color:#d0d5e6;text-underline-offset:4px;gap:8px;margin-top:14px;font-size:14px;display:inline-flex}.faq{border-bottom:1px solid #d9ae2cc7;flex-direction:column;display:flex}.fq{border-top:1px solid #d9ae2cc7}.fq h3{font:inherit;margin:0}.fq button{color:#f3f2f8;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:28px 1fr 24px;align-items:baseline;gap:10px;width:100%;padding:22px 0;font-family:inherit;font-size:16px;line-height:1.7;display:grid}.fq .qa{color:#e2c43c;font-weight:600}.fa .qa{color:#f3f2f8}.fq .qt{font-weight:500}.fq .sg{text-align:right;font-family:Archivo,sans-serif;font-size:20px;font-weight:300}.fq .sg:before{content:"+"}.fq button[aria-expanded=true] .sg:before{content:"−"}.fa{color:#d0d5e6;grid-template-columns:28px 1fr 24px;gap:10px;padding:0 0 24px;font-size:15px;line-height:1.9;display:grid}.fa[hidden]{display:none}.xbtn{color:#f3f2f8;letter-spacing:.06em;border:1px solid #e2c43c;align-items:center;gap:12px;min-height:52px;padding:0 20px;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex}.xbtn:hover{color:#fff;background:#d9ae2c1f}.xbtn .xid{color:#d0d5e6;margin-left:4px;font-size:13px}.menu .xbtn{justify-content:center;margin-top:14px}.ov-x{flex-direction:column;align-items:flex-start;gap:14px;margin-top:72px;display:flex}.ov-x p{color:#d0d5e6;margin:0;font-size:15px}.mail{text-underline-offset:6px;word-break:break-all;font-size:clamp(20px,4.4vw,32px);font-weight:600;text-decoration:underline 1px}.ft{border-top:1px solid #d9ae2cc7;padding:48px 72px 56px 24px}.ft-in{flex-direction:column;gap:20px;max-width:672px;margin:0 auto;display:flex}.ft-in>img{width:120px;height:auto;display:block}.ft-info{color:#d0d5e6;grid-template-columns:72px 1fr;gap:6px 12px;font-size:13px;line-height:1.8;display:grid}.ft-info a{color:#d0d5e6}.ft-links{flex-wrap:wrap;gap:20px;font-size:13px;display:flex}.ft-links a{color:#aeb5cf}.ft-c{color:#8a92b0;letter-spacing:.1em;font-family:Archivo,sans-serif;font-size:11px}@media (width<=480px){.row{grid-template-columns:72px 1fr;gap:12px}.times{gap:4px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cue-track span{animation:none}}
