:root{--bg: #F4F4F2;--ui-ink: #1E2124;--ui-muted: #4A4F54;--ui-panel: rgba(244, 244, 242, .94);--ui-line: #D6D7D4;--accent: #46586B;--btn-bg: #1E2124;--btn-ink: #FFFFFF;--wall-0: #F4F4F2;--wall-1: #EFEFEC;--wall-2: #E9E9E5;--ink: #1E2124;--muted: #4A4F54;--paper: #F6F5F1;--sun: rgba(255, 255, 255, .7);--sun-o: .35;--spot-o: 0;--shadow-a: .45;--chip-bg: rgba(255, 255, 255, .72);--chip-line: rgba(30, 33, 36, .16);--u: min(24vw, 44vh);color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #17191B;--ui-ink: #ECECE9;--ui-muted: #B3B7BB;--ui-panel: rgba(23, 25, 27, .94);--ui-line: #3A3E42;--accent: #9DB0C4;--btn-bg: #ECECE9;--btn-ink: #17191B;color-scheme:dark}}:root[data-theme=dark]{--bg: #17191B;--ui-ink: #ECECE9;--ui-muted: #B3B7BB;--ui-panel: rgba(23, 25, 27, .94);--ui-line: #3A3E42;--accent: #9DB0C4;--btn-bg: #ECECE9;--btn-ink: #17191B;color-scheme:dark}@media(max-width:700px){:root{--u: min(74vw, 58vh)}}html{scroll-padding-top:env(safe-area-inset-top,0px)}*{box-sizing:border-box}body{margin:0;background:var(--wall-0);color:var(--ink);font-family:Zen Kaku Gothic New,Hiragino Sans,Noto Sans JP,sans-serif;transition:background-color 1.2s ease,color 1.2s ease;-webkit-tap-highlight-color:transparent}a{color:var(--accent)}button{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.hud{position:fixed;top:0;left:0;right:0;z-index:20;padding:calc(env(safe-area-inset-top,0px) + 14px) 14px 0 20px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;pointer-events:none}.hud:before{content:"";position:absolute;inset:0 0 -18px;z-index:-1;background:var(--wall-0);-webkit-mask-image:linear-gradient(#000 62%,transparent);mask-image:linear-gradient(#000 62%,transparent);transition:background-color 1.2s ease}.hud-room{font-family:Zen Old Mincho,serif;font-size:13px;letter-spacing:.1em;color:var(--muted);padding-top:10px;transition:opacity .6s ease}[hidden]{display:none!important}.light-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 18px;font-size:13px;color:var(--muted)}.light-row .lbl{letter-spacing:.1em}.times{display:flex;gap:2px}.times button{min-width:44px;height:44px;padding:0 8px;border:none;background:transparent;color:var(--muted);font-family:Zen Old Mincho,serif;font-size:16px;cursor:pointer;position:relative;transition:color .3s ease}.times button:hover,.times button[aria-pressed=true]{color:var(--ink)}.times button[aria-pressed=true]:after{content:"";position:absolute;left:12px;right:12px;bottom:7px;height:1px;background:var(--ink)}.time-note{font-size:12px;color:var(--muted)}.entrance{max-width:1320px;margin:0 auto;padding:88px clamp(20px,6vw,96px) 40px;display:flex;flex-direction:column;gap:32px}.ent-title{display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:flex-start;gap:22px}.ent-title h1{margin:0;max-height:62vh;writing-mode:vertical-rl;font-family:Zen Old Mincho,serif;font-weight:600;font-size:clamp(52px,13vw,72px);letter-spacing:.2em;line-height:1.1}.ent-title p{margin:0;padding-top:10px;writing-mode:vertical-rl;font-family:Zen Old Mincho,serif;font-size:18px;letter-spacing:.24em;color:var(--muted)}.ent-text{display:flex;flex-direction:column;gap:22px}.statement{margin:0;font-family:Zen Old Mincho,serif;font-size:17px;line-height:2.1;letter-spacing:.04em}.meta{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.meta .perm{display:inline-block;margin-right:12px;padding:0 8px;border:1px solid var(--chip-line);border-radius:3px;font-size:11px;letter-spacing:.1em;line-height:20px}.notice{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border:1px solid var(--chip-line);border-radius:10px;font-size:13px;line-height:1.7;color:var(--muted)}.switch-row{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:14px;cursor:pointer}.switch{position:relative;width:52px;height:32px;flex-shrink:0;border-radius:16px;border:none;padding:0;background:var(--chip-line);cursor:pointer;transition:background .2s ease}.switch:after{content:"";position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:13px;background:#fff;box-shadow:0 1px 3px #00000040;transition:left .2s ease}.switch[aria-checked=true]{background:var(--accent)}.switch[aria-checked=true]:after{left:23px}.ent-work{margin:0;display:flex;flex-direction:column;align-items:center;gap:14px}.ent-frame{position:relative;display:block;overflow:hidden;width:min(100%,calc(62svh * var(--ar)));background:var(--paper);cursor:zoom-in;box-shadow:0 30px 44px -30px rgba(20,22,24,var(--shadow-a));transition:box-shadow 1.2s ease,transform .4s ease}.ent-frame:hover{transform:translateY(-3px)}.ent-frame .ph{position:absolute;inset:-12%;background-size:cover;background-position:center;filter:blur(14px)}.ent-frame img{position:relative;display:block;width:100%;height:100%;object-fit:cover;transition:opacity .7s ease}.ent-frame img.pending{opacity:0}.ent-work figcaption{font-family:Zen Old Mincho,serif;font-size:13px;letter-spacing:.08em;color:var(--muted)}.ent-rooms{display:flex;flex-direction:column;gap:12px;min-width:0}.ent-rooms h2{margin:0;font-family:Zen Old Mincho,serif;font-weight:600;font-size:17px;letter-spacing:.16em}.ent-rooms ol{list-style:none;margin:0 calc(-1*clamp(20px,6vw,96px));padding:4px clamp(20px,6vw,96px) 14px;display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 clamp(20px,6vw,96px);-webkit-overflow-scrolling:touch}.ent-rooms li{flex:0 0 min(78%,300px);scroll-snap-align:start}.ent-room{height:100%;min-height:112px;display:flex;justify-content:space-between;gap:14px;padding:14px 14px 14px 16px;border:1px solid var(--chip-line);border-radius:4px;color:var(--ink);text-decoration:none;transition:border-color .3s ease,background-color .3s ease}.ent-room:hover{border-color:var(--muted)}.ent-room .tx{display:flex;flex-direction:column;gap:4px;min-width:0}.ent-room .k{font-size:12px;color:var(--muted);letter-spacing:.1em}.ent-room .n{font-family:Zen Old Mincho,serif;font-size:19px;letter-spacing:.08em;overflow-wrap:anywhere}.ent-room .th{display:flex;align-items:flex-start;gap:8px;flex-shrink:0}.ent-room .th img{--h: 84px;height:var(--h);width:calc(var(--h) * var(--r, 1));object-fit:cover;display:block;background:var(--paper);box-shadow:0 10px 16px -10px rgba(20,22,24,var(--shadow-a))}.ent-enter{display:flex}.enter-link{min-height:48px;padding:0 28px;border:1px solid var(--ink);border-radius:24px;color:var(--ink);text-decoration:none;font-size:14px;display:inline-flex;align-items:center;gap:8px}.entrance>.light-row{padding-top:14px;border-top:1px solid var(--chip-line)}@media(min-width:900px){.entrance{display:grid;grid-template-columns:minmax(260px,380px) minmax(0,1fr);grid-template-rows:auto auto 1fr auto auto;grid-template-areas:"title work" "text work" "enter work" "rooms rooms" "light light";gap:28px clamp(40px,6vw,96px);padding-top:84px}.entrance.no-main{grid-template-columns:minmax(260px,560px) 1fr}.ent-title{grid-area:title}.ent-title h1{font-size:clamp(48px,4.8vw,76px);max-height:42vh}.ent-text{gap:18px}.ent-text .statement{font-size:15px;line-height:2}.ent-text{grid-area:text}.ent-enter{grid-area:enter;align-items:flex-start}.ent-work{grid-area:work;align-self:center}.ent-frame{width:min(100%,calc(min(36vw,62vh) * var(--sq)),calc(70vh * var(--ar)))}.ent-rooms{grid-area:rooms;margin-top:24px}.ent-rooms ol{margin:0;padding:4px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));overflow:visible}.entrance>.light-row{grid-area:light}}@media(max-width:899px){.ent-rooms li{flex-basis:min(86%,340px)}.ent-room .th img{--h: 64px}}@media(min-width:700px)and (max-width:899px){.ent-frame{width:min(100%,calc(56svh * var(--ar)))}}.room{position:relative;min-height:100vh;padding:18vh clamp(20px,6vw,96px) 20vh;overflow:hidden;transition:background-color 1.2s ease}.room-inner{position:relative;z-index:1;max-width:1320px;margin:0 auto;display:flex;flex-direction:column;gap:12vh}.room-head{display:flex;flex-direction:column;gap:8px;max-width:34rem}.room-head.right{align-self:flex-end;text-align:right}.room-head .no{font-size:13px;color:var(--muted);letter-spacing:.1em}.room-head h2{margin:0;font-family:Zen Old Mincho,serif;font-weight:600;font-size:clamp(32px,4vw,44px);letter-spacing:.1em}.room-head p{margin:6px 0 0;font-family:Zen Old Mincho,serif;font-size:15px;line-height:2;color:var(--muted)}.room.windowlight:before{content:"";position:absolute;inset:-10% -20%;pointer-events:none;background:repeating-linear-gradient(112deg,transparent 0 22%,rgba(0,0,0,.035) 22% 22.6%),linear-gradient(112deg,transparent 30%,var(--sun) 42%,var(--sun) 50%,transparent 64%);-webkit-mask-image:linear-gradient(112deg,transparent 28%,#000 40%,#000 52%,transparent 66%);mask-image:linear-gradient(112deg,transparent 28%,#000 40%,#000 52%,transparent 66%);opacity:var(--sun-o);transition:opacity 1.2s ease;animation:drift 18s ease-in-out infinite alternate}@keyframes drift{0%{transform:translate(-3%)}to{transform:translate(3%)}}.hang{display:flex;align-items:center;justify-content:center;gap:clamp(36px,6vw,104px);flex-wrap:wrap}.hang.single{justify-content:center}.work{margin:0;display:flex;flex-direction:column;gap:22px;position:relative;transform:translateY(var(--dy, 0))}.work .frame{position:relative;display:block;overflow:hidden;width:100%;padding:0;border:none;background:var(--paper);cursor:zoom-in;box-shadow:0 30px 44px -30px rgba(20,22,24,var(--shadow-a));transition:box-shadow 1.2s ease,transform .4s ease}.work .frame:hover{transform:translateY(-3px)}.work .frame:before{content:"";position:absolute;inset:-38% -30% -24%;pointer-events:none;background:radial-gradient(ellipse at 50% 38%,#ffeccd33,#ffeccd00 62%);opacity:var(--spot-o);transition:opacity 1.2s ease;z-index:-1}.work img,.work canvas{display:block;width:100%;height:100%;object-fit:cover}.work .ph{position:absolute;inset:-12%;background-size:cover;background-position:center;filter:blur(14px)}.work .frame img{position:relative}.work:not(.bleeding) .frame img{transition:opacity .7s ease}.work .frame img.pending{opacity:0}.work canvas{position:absolute;inset:0}.work.bleeding img{opacity:0}.work .veil{position:absolute;left:0;right:0;top:0;aspect-ratio:var(--ar, 1);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#1e212447;color:#fff;font-size:13px;text-align:center;padding:12px}.work.sensitive .frame img,.work.sensitive .frame canvas{filter:blur(22px);transform:scale(1.08)}.work.sensitive.shown .frame img,.work.sensitive.shown .frame canvas,.work.sensitive .sens-toggle:checked~.frame img,.work.sensitive .sens-toggle:checked~.frame canvas{filter:none;transform:none}.work.sensitive.shown .veil,.sens-toggle:checked+.veil{display:none}.sens-toggle{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.sens-toggle:focus-visible+.veil{outline:2px solid var(--accent);outline-offset:3px}.work .veil{z-index:2;cursor:pointer}.work .veil+.frame{pointer-events:none}.work.shown .veil+.frame,.sens-toggle:checked+.veil+.frame{pointer-events:auto}.work figcaption .c{font-family:Zen Old Mincho,serif;font-size:13px;line-height:1.8;color:var(--muted)}.work .veil span.pill{padding:8px 16px;border-radius:18px;border:1px solid rgba(255,255,255,.8)}.work figcaption{display:flex;flex-direction:column;gap:3px;padding-left:14px;border-left:1px solid var(--ink)}.work figcaption .t{font-family:Zen Old Mincho,serif;font-size:17px;letter-spacing:.06em}.work figcaption .a{font-size:12px;color:var(--muted)}.work figcaption a{font-size:12px;min-height:28px;display:inline-flex;align-items:center}.work.gone .frame{background:transparent;box-shadow:none;cursor:default}.work.gone .frame:hover{transform:none}.ghost{position:absolute;inset:0;border-radius:1px;background:linear-gradient(180deg,#ffffff1a,#ffffff0a);box-shadow:inset 0 0 0 1px #8080801a,inset 0 0 40px #8080800f}.ghost:after{content:"";position:absolute;left:50%;top:-10px;width:6px;height:6px;margin-left:-3px;border-radius:3px;background:var(--muted);opacity:.6}.door{position:relative;height:170vh}.door-sticky{position:sticky;top:0;height:100vh;overflow:hidden}.door-wall{position:absolute;inset:0}.door-floor{position:absolute;left:0;right:0;bottom:0;height:16vh;background:#0000000a}.door-hole{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;clip-path:inset(26vh 40vw 16vh 40vw);box-shadow:inset 0 0 0 1px #0000000f}.door-label{display:flex;flex-direction:row-reverse;gap:18px;align-items:flex-start;opacity:0}.door-label .n{writing-mode:vertical-rl;font-family:Zen Old Mincho,serif;font-weight:600;font-size:clamp(40px,6vw,72px);letter-spacing:.2em;line-height:1}.door-label .k{writing-mode:vertical-rl;font-size:14px;letter-spacing:.24em;color:var(--muted);padding-top:6px}.door-hint{position:absolute;left:50%;bottom:6vh;transform:translate(-50%);font-size:12px;color:var(--muted);letter-spacing:.1em}.exit{padding:18vh clamp(20px,6vw,96px) calc(env(safe-area-inset-bottom,0px) + 14vh)}.exit-inner{max-width:760px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:40px;text-align:center}.exit h2{margin:0;font-family:Zen Old Mincho,serif;font-weight:600;font-size:clamp(26px,3.4vw,36px);letter-spacing:.1em}.exit p.lead{margin:0;font-size:14px;line-height:1.9;color:var(--muted)}.card{width:min(460px,100%);display:flex;flex-direction:column;gap:18px;padding:24px;border-radius:16px;background:#fff;color:#1e2124;text-align:left;box-shadow:0 24px 40px -28px #14161880}.card-top{display:flex;align-items:center;gap:16px}.card-top img{width:64px;height:64px;border-radius:32px;object-fit:cover;display:block}.card-top .nm{font-size:20px;font-weight:700}.card-top .hd{font-size:14px;color:#5c6166}.card p{margin:0;font-size:13px;line-height:1.8;color:#4a4f54}.card .go{min-height:48px;border-radius:24px;background:#1e2124;color:#fff;text-decoration:none;font-size:14px;font-weight:500;display:flex;align-items:center;justify-content:center}.exit-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.exit-links a{min-height:44px;padding:0 20px;border-radius:22px;border:1px solid var(--chip-line);color:var(--ink);text-decoration:none;font-size:13px;display:inline-flex;align-items:center}.made{font-size:12px;color:var(--muted)}.lb{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;background:var(--wall-0);color:var(--ink);padding:calc(env(safe-area-inset-top,0px) + 12px) 0 calc(env(safe-area-inset-bottom,0px) + 16px);opacity:0;pointer-events:none;transition:opacity .35s ease}.lb.open{opacity:1;pointer-events:auto}.lb-top{display:flex;align-items:center;gap:12px;padding:0 8px 0 20px}.lb-top .r{flex-grow:1;font-family:Zen Old Mincho,serif;font-size:13px;letter-spacing:.08em;color:var(--muted)}.icon-btn{width:48px;height:48px;border-radius:24px;border:1px solid var(--chip-line);background:transparent;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.icon-btn.plain{border:none}.icon-btn:disabled{opacity:.3;cursor:default}.lb-stage{flex-grow:1;position:relative;overflow:hidden;touch-action:pan-y}.lb-track{position:absolute;inset:0;display:flex;transition:transform .45s cubic-bezier(.2,.7,.2,1)}.lb-slide{flex:0 0 100%;display:flex;align-items:center;justify-content:center;padding:16px 24px}.lb-slide img{max-width:100%;max-height:100%;object-fit:contain;display:block;box-shadow:0 30px 44px -30px rgba(20,22,24,var(--shadow-a))}.lb-slide.hidden-s img{filter:blur(26px)}.lb-slide.wall{flex-direction:column;gap:14px;text-align:center}.lb-slide.wall .k{font-size:13px;color:var(--muted);letter-spacing:.2em}.lb-slide.wall .n{font-family:Zen Old Mincho,serif;font-weight:600;font-size:34px;letter-spacing:.16em}.lb-bottom{display:flex;align-items:center;gap:14px;padding:8px 20px 0}.lb-cap{flex-grow:1;display:flex;flex-direction:column;gap:3px;padding-left:14px;border-left:1px solid var(--ink);min-height:56px}.lb-cap .t{font-family:Zen Old Mincho,serif;font-size:19px;letter-spacing:.06em}.lb-cap .a{font-size:12px;color:var(--muted)}.lb-cap a{font-size:12px}@media(max-width:700px){.hang{flex-direction:column;gap:72px}.work{--dy: 0 !important}.room-head.right{align-self:flex-start;text-align:left}.door-hole{clip-path:inset(24vh 30vw 16vh 30vw)}}@media(prefers-reduced-motion:reduce){.room.windowlight:before{animation:none}.door{height:100vh}.lb-track{transition:none}}.made{text-decoration:none}.made:hover{text-decoration:underline}.preview-note{position:fixed;left:50%;bottom:16px;transform:translate(-50%);z-index:30;padding:8px 14px;border-radius:8px;background:var(--ui-ink);color:var(--bg);font-size:12px}.lb-slide img{-webkit-user-select:none;user-select:none}.lb-cap .c{font-family:Zen Old Mincho,serif;font-size:13px;color:var(--muted)}.icon-btn{text-decoration:none}.icon-btn.off{opacity:.3}body.single{overflow:hidden}.lb.solo{position:fixed}.lb.solo .lb-slide{height:100%;position:relative}.lb.solo .lb-slide.sensitive img{filter:blur(26px)}.lb.solo .sens-toggle:checked~img{filter:none}.lb.solo .veil{position:absolute;inset:16px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#fff;background:#1e212447;font-size:13px;cursor:pointer;z-index:2}.lb.solo .veil .pill{padding:8px 16px;border-radius:18px;border:1px solid rgba(255,255,255,.8)}.lb.solo .sens-toggle:checked+.veil{display:none}body.home{background:var(--wall-0)}.home-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;padding:20px clamp(20px,5vw,72px)}.home-nav .site{font-family:Zen Old Mincho,serif;font-size:16px;letter-spacing:.1em;flex-grow:1}.home-nav a{font-size:13px;text-decoration:none;min-height:44px;display:flex;align-items:center}.home-head{max-width:1280px;margin:0 auto;padding:48px clamp(20px,5vw,72px) 44px;display:flex;flex-wrap:wrap;align-items:flex-end;gap:24px 48px}.home-head>div{display:flex;flex-direction:column;gap:10px;flex:1 1 360px}.home-head h1{margin:0;font-family:Zen Old Mincho,serif;font-weight:600;font-size:clamp(48px,6vw,80px);letter-spacing:.12em;line-height:1.1}.home-head .hd{font-size:14px;color:var(--muted)}.home-head p{margin:0;flex:1 1 320px;max-width:30rem;font-size:14px;line-height:1.9;color:var(--muted)}.home-list{background:var(--wall-1);padding:40px clamp(20px,5vw,72px) 88px}.home-list .inner{max-width:1280px;margin:0 auto;display:flex;flex-direction:column;gap:40px}.home-list h2{margin:0;font-size:14px;font-weight:500;color:var(--muted)}.home-ex{display:flex;flex-wrap:wrap-reverse;align-items:flex-end;justify-content:space-between;gap:48px;color:var(--ink);text-decoration:none}.home-covers{flex:1 1 560px;display:flex;align-items:center;gap:clamp(20px,4vw,56px)}.home-covers img{height:auto;display:block;box-shadow:0 30px 40px -30px #1e212480;background:var(--paper)}.home-title{display:flex;flex-direction:column;align-items:flex-start;gap:24px}.home-title .v{display:flex;flex-direction:row-reverse;align-items:flex-start;gap:16px}.home-title .t{writing-mode:vertical-rl;max-height:60vh;font-family:Zen Old Mincho,serif;font-weight:600;font-size:clamp(36px,4.5vw,60px);letter-spacing:.2em;line-height:1.1}.home-title .m{writing-mode:vertical-rl;padding-top:6px;font-family:Zen Old Mincho,serif;font-size:15px;letter-spacing:.22em;color:var(--muted)}.home-title .go{min-height:48px;padding:0 24px;border:1px solid var(--ink);border-radius:24px;color:var(--ink);font-size:14px;display:inline-flex;align-items:center;gap:8px;transition:background-color .3s ease,color .3s ease}.home-ex:hover .home-title .go{background:var(--ink);color:var(--wall-0)}.home-empty{color:var(--muted);font-size:14px}.home-foot{padding:48px clamp(20px,5vw,72px) 64px;font-size:13px;color:var(--muted);max-width:1280px;margin:0 auto}@media(max-width:700px){.home-covers{flex-basis:100%}}
