html:has(.viewer[open]){overflow:hidden}.cue{z-index:20;bottom:calc(env(safe-area-inset-bottom,0px) + .9rem);background:color-mix(in srgb, var(--page) 90%, transparent);border-radius:999px;align-items:center;gap:.4rem;width:fit-content;margin-inline:auto;padding:.3rem .9rem;font-size:.86rem;font-weight:500;display:flex;position:fixed;left:0;right:0}.cue:hover{color:var(--accent-strong)}.cue .i{color:var(--accent);font-size:1.05rem}.cue.is-gone{opacity:0;visibility:hidden}.opening{padding-block:calc(env(safe-area-inset-top,0px) + 4.8rem) 2rem}.opening__head{justify-items:start;gap:1.1rem;display:grid}.opening h1{font-family:var(--display);letter-spacing:-.045em;font-size:clamp(3.4rem,min(7.6vw,15svh),9.6rem);font-weight:800;line-height:1}.opening__photos{min-width:0;container-type:inline-size}.featured{gap:var(--gap);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:2rem;display:grid}.tile{min-width:0}.featured .tile:nth-child(2n),.wall .tile:nth-child(2n){translate:0 1.4rem}.featured .tile:nth-child(odd){translate:0 -1.4rem}.shot{aspect-ratio:9/16;background:var(--surface);cursor:zoom-in;border:0;border-radius:999px;width:100%;padding:0;display:block;position:relative}.shot:after{content:"";border:1.5px solid var(--accent);opacity:0;pointer-events:none;border-radius:999px;position:absolute;inset:-.42rem;transform:scale(.97)}.shot:hover:after{opacity:1;transform:none}.shot__frame{border-radius:inherit;position:absolute;inset:0;overflow:hidden}.shot img{object-fit:cover;object-position:50% 32%;width:100%;height:100%}.shot--error .shot__frame:after{content:"読み込みエラー";background:var(--surface);color:var(--muted);place-items:center;font-size:.8rem;display:grid;position:absolute;inset:0}.wall{--cols:2;grid-template-columns:repeat(var(--cols), minmax(0, 1fr));gap:var(--gap);padding-block:1.6rem 0;display:grid}.gallery-status{color:var(--muted);text-align:center;justify-items:center;gap:1rem;padding-block:6rem;display:grid}.gallery-status svg{width:min(16rem,70%);height:2.4rem;overflow:visible}.gallery-status path,.viewer__loading path{fill:none;stroke:var(--accent);stroke-width:7px;stroke-linecap:round;stroke-dasharray:26 100}.gallery-status.is-error{color:var(--ink)}.gallery-status.is-error path{stroke:var(--line);stroke-dasharray:none}.wall-end{align-content:start;justify-items:center;min-height:86svh;padding-block:clamp(5rem,14svh,9rem) 2rem;display:grid}.viewer{width:100%;max-width:none;height:100dvh;max-height:100dvh;padding:calc(env(safe-area-inset-top,0px) + 1rem) max(1rem, env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + 1rem) max(1rem, env(safe-area-inset-left,0px));overscroll-behavior:contain;color:var(--ink);background:#fffbfdfc;border:0;margin:0;overflow:hidden}.viewer[open]{grid-template-rows:minmax(0,1fr) auto;gap:.9rem;display:grid}.viewer::backdrop{background:#19111685}.viewer__rings{pointer-events:none;position:absolute;top:calc(50% - 2.4rem);left:50%}.viewer__rings span{width:var(--d);height:var(--d);margin:calc(var(--d) / -2);border:1px solid var(--ring);border-radius:50%;position:absolute;top:0;left:0}.viewer__rings span:first-child{--d:86vmin;border-color:var(--accent);opacity:.45}.viewer__rings span:nth-child(2){--d:112vmin}.viewer__rings span:nth-child(3){--d:148vmin;border-style:dotted;border-width:2px;border-color:var(--accent);opacity:.5}.viewer__stage{touch-action:pan-y pinch-zoom;justify-content:center;align-items:center;gap:clamp(1rem,3vw,3rem);min-height:0;display:flex;position:relative}.viewer__frame{background:var(--surface);border-radius:1.1rem;display:grid;position:relative;overflow:hidden}.viewer__frame img{object-fit:cover;grid-area:1/1;width:100%;height:100%}.viewer__full{opacity:0}.viewer__full.is-loaded{opacity:1}.viewer__error{color:var(--ink);text-align:center;font-size:.86rem;position:absolute;inset:auto 0 1rem}.viewer__loading{background:color-mix(in srgb, var(--page) 90%, transparent);color:var(--ink);white-space:nowrap;border-radius:999px;align-items:center;gap:.6rem;padding:.45rem .95rem;font-size:.86rem;display:flex;position:absolute;bottom:1rem;left:50%;translate:-50%}.viewer__loading[hidden]{display:none}.viewer__loading svg{width:2.4rem;height:1.2rem;overflow:visible}.viewer__loading path{stroke-dasharray:92 34}.viewer__side{aspect-ratio:9/16;background:var(--surface);cursor:pointer;border:0;border-radius:999px;height:62%;padding:0;display:none;position:relative;overflow:hidden}.viewer__side:after{content:"";background:var(--page);opacity:.42;position:absolute;inset:0}.viewer__side:first-child{justify-self:end}.viewer__side:last-child{justify-self:start}.viewer__side:hover:after{opacity:0}.viewer__side img{object-fit:cover;object-position:50% 32%;width:100%;height:100%}.round{border:1px solid var(--ink);background:color-mix(in srgb, var(--page) 88%, transparent);cursor:pointer;border-radius:50%;flex:none;place-items:center;width:2.75rem;height:2.75rem;padding:0;font-size:1.2rem;display:grid}.round:hover{border-color:var(--accent);color:var(--accent-strong)}.viewer__close{z-index:3;top:calc(env(safe-area-inset-top,0px) + 1rem);right:max(1rem, env(safe-area-inset-right,0px));position:absolute}.viewer__bar{z-index:2;justify-self:center;align-items:center;gap:.9rem;display:flex;position:relative}.viewer__count{min-width:5.2rem;font-family:var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.02em;text-align:center;flex:none;font-size:1rem;font-weight:800}@media (width>=600px){.wall{--cols:3}}@media (width>=900px){.opening{grid-template-columns:minmax(0,3.5fr) minmax(0,8.5fr);align-items:center;gap:clamp(1.5rem,3vw,3.5rem);min-height:100svh;padding-block-end:2rem;display:grid}.featured{justify-content:flex-end;margin-top:0;display:flex}.featured .tile{width:min(calc((100cqw - 2 * var(--gap)) / 3), calc(72svh * 9 / 16));flex:none}.wall{--cols:4;padding-block-start:1.5rem}}@media (width>=1200px){.wall{--cols:5}}@media (width>=1800px){.wall{--cols:6}}@media (width>=600px) and (width<=899px){.wall .tile:nth-child(2n){translate:none}.wall .tile:nth-child(3n+2){translate:0 1.4rem}}@media (width>=1200px) and (width<=1799px){.wall .tile:nth-child(2n){translate:none}.wall .tile:nth-child(5n+2),.wall .tile:nth-child(5n+4){translate:0 1.4rem}}@media (width<=899px){.opening__head h1{margin-top:.6rem}.tile--wide-only{display:none}}@media (width<=760px){.viewer__bar{gap:.5rem}.viewer__count{min-width:4.4rem;font-size:.9rem}}@media (width>=900px) and (aspect-ratio>=4/3){.viewer__stage{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.viewer__side{display:block}}@media (prefers-reduced-motion:no-preference){.cue{transition:opacity .25s,visibility .25s,color .22s}.cue .i{animation:1.5s ease-in-out infinite cue-bob}.motion .cue{animation:rise .5s var(--ease) .7s backwards}.round{transition:color .22s,background .22s,border-color .22s}.shot:after{transition:opacity .2s ease, transform .32s var(--ease)}.shot img{transition:transform .45s var(--ease)}.shot:hover img{transform:scale(1.03)}.viewer__side:after,.viewer__full{transition:opacity .2s}.motion .opening h1{animation:rise .62s var(--ease) .1s backwards}.motion .opening .door{animation:rise .5s var(--ease) .24s backwards}.motion .featured .shot{animation:rise .72s var(--ease) calc(.16s + var(--n) * 80ms) backwards}.gallery-status path,.viewer__loading path{animation:1.4s linear infinite wave-flow}.gallery-status.is-error path{animation:none}.viewer__loading{animation:.25s .16s backwards rise}}@keyframes cue-bob{50%{transform:translateY(.3rem)}}@keyframes wave-flow{to{stroke-dashoffset:-126px}}@media (prefers-reduced-motion:reduce){.peeks--end{top:auto;bottom:0}}
