.gallery{--hover-duration:.68s;--hover-ease:cubic-bezier(.16, 1, .3, 1);--hover-image-duration:1.05s;--hover-image-ease:cubic-bezier(.22, .61, .36, 1);--site-max:1480px;--gutter:clamp(20px, 4vw, 56px);--gallery-enter-p:0;--gallery-image-y:12px;min-height:0;padding:clamp(24px,4vh,48px) 0 clamp(52px,8vh,92px);display:block}.gallery-inner{flex-direction:column;justify-content:center;width:100%;max-width:none;padding-top:clamp(10px,2vh,22px);padding-bottom:clamp(24px,4vh,42px);display:flex;position:relative}.gallery .gallery-tabs{flex-wrap:wrap;justify-content:center;gap:clamp(6px,1vw,16px);margin:0 0 clamp(16px,2.6vh,28px);display:flex}.gallery-tabs-break,.gallery-category-control{display:none}@media (max-width:720px){.gallery-tabs-break{flex-basis:100%;width:100%;height:0;display:block}}.gallery .gallery-tabs .tab{font:inherit;letter-spacing:.16em;text-transform:uppercase;color:inherit;cursor:pointer;opacity:var(--gallery-tab-muted-opacity,0);transform:translate3d(0, var(--gallery-tab-y,14px), 0);filter:blur(var(--gallery-tab-blur,6px));transition:opacity var(--hover-duration) var(--hover-ease), transform var(--hover-duration) var(--hover-ease), filter var(--hover-duration) var(--hover-ease);will-change:opacity, transform, filter;background:0 0;border:0;flex:none;padding:8px 12px;font-size:.82rem;font-weight:500}.gallery .gallery-tabs .tab.is-active{opacity:var(--gallery-tab-active-opacity,0)}.gallery-media{--gallery-thumb-rail:clamp(170px, 15vw, 240px);--gallery-media-gap:clamp(18px, 2vw, 30px);grid-template-columns:minmax(0, 1fr) var(--gallery-thumb-rail);gap:var(--gallery-media-gap);width:min(var(--site-max), calc(100vw - var(--gutter) * 2));height:clamp(520px,74vh,780px);opacity:var(--gallery-enter-p);grid-template-rows:minmax(0,1fr) auto;align-items:stretch;margin:0 auto;transition:opacity .18s linear;display:grid}.gallery-stage{background:#3a32291a;grid-area:1/1;min-height:320px;position:relative;overflow:hidden}.gallery-caption{color:#ffffffb8;letter-spacing:.08em;text-transform:uppercase;grid-area:2/1;margin:clamp(10px,1.4vh,16px) 0 0;font-size:clamp(.62rem,.72vw,.72rem);line-height:1.45}.gallery-layer{position:absolute;inset:0}.gallery-layer--base{z-index:1}.gallery-layer--overlay{z-index:2;animation:gallery-overlay-out var(--gallery-fade,.46s) var(--hover-image-ease) forwards}@keyframes gallery-overlay-out{0%{opacity:1}to{opacity:0}}.gallery-image,.gallery-film{width:100%;height:100%;transform:translate3d(0, var(--gallery-image-y), 0);transform-origin:50%;transition:transform var(--hover-image-duration) var(--hover-image-ease), filter var(--hover-image-duration) var(--hover-image-ease), opacity .62s var(--hover-ease);will-change:opacity, transform, filter}.gallery-image{object-fit:cover;object-position:center}.gallery-poi{left:var(--gallery-poi-x);top:var(--gallery-poi-y);z-index:3;transform:translate3d(-100%, var(--gallery-image-y), 0);color:#fff;pointer-events:none;filter:drop-shadow(0 1px 5px #281f1847);grid-template-columns:auto 54px 18px;align-items:center;display:grid;position:absolute}.gallery-poi-label{letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#3a3229b3;border:1px solid #ffffffa3;padding:.42rem .62rem .38rem;font-size:clamp(.56rem,.62vw,.66rem);font-weight:600;line-height:1}.gallery-poi-leader{background:#ffffffc2;height:1px}.gallery-poi-target{background:#3a3229a3;border:1px solid #ffffffe0;border-radius:50%;place-items:center;width:18px;height:18px;display:grid;position:relative}.gallery-poi-target:before{content:"";border-radius:inherit;border:1px solid #ffffff57;position:absolute;inset:-5px}.gallery-poi-target span{background:#fff;border-radius:50%;width:4px;height:4px}.gallery-film{background:#111;border:0;display:block}.gallery-arrow{color:#fff;opacity:.46;cursor:pointer;z-index:2;width:clamp(34px,3vw,44px);height:clamp(48px,5vw,70px);transition:opacity var(--hover-duration) var(--hover-ease), transform var(--hover-duration) var(--hover-ease);background:0 0;border:0;font-family:inherit;font-size:clamp(1.35rem,2vw,1.8rem);line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.gallery-arrow--prev{left:clamp(14px,1.5vw,24px)}.gallery-arrow--next{right:clamp(14px,1.5vw,24px)}.gallery-arrow:active{transform:translateY(-50%)}.gallery-arrow:disabled{opacity:0;pointer-events:none}.gallery-thumbs{scrollbar-width:none;min-height:0;transition:opacity .46s var(--hover-ease);flex-direction:column;grid-area:1/2;justify-content:flex-start;gap:clamp(10px,1.2vh,14px);display:flex;overflow-y:auto}.gallery-thumbs::-webkit-scrollbar{display:none}.gallery-thumb{appearance:none;aspect-ratio:16/9;cursor:pointer;opacity:.62;width:100%;transition:opacity var(--hover-duration) var(--hover-ease), transform var(--hover-duration) var(--hover-ease);will-change:opacity, transform;background:#3a32291a;border:0;padding:0;position:relative;overflow:hidden}.gallery-thumb img{object-fit:cover;transform-origin:50%;width:100%;height:100%;transition:transform var(--hover-image-duration) var(--hover-image-ease), filter var(--hover-image-duration) var(--hover-image-ease);will-change:transform, filter;transform:scale(1)}.gallery-thumb span{width:100%;height:100%;color:var(--color-dark-cocoa,#3a3229);place-items:center;font-size:.72rem;display:grid}.gallery-thumb.is-active{opacity:1}.gallery-thumb:active{transform:none}.gallery-thumb.is-active:after{content:"";pointer-events:none;border:2px solid #fff;position:absolute;inset:0}@media (max-height:760px){.gallery-media{height:70vh}}@media (max-width:700px){.gallery{min-height:auto;padding:clamp(32px,5vh,56px) 0}.gallery-inner{box-sizing:border-box;width:100%;padding:0 24px}.gallery .gallery-tabs{display:none}.gallery-category-control{width:100%;max-width:340px;margin:0 auto 22px;display:block}.gallery-category-select-shell{color:var(--color-dark-cocoa,#3a3229);position:relative}.gallery-category-select-shell:after{content:"";pointer-events:none;z-index:3;border-bottom:1px solid;border-right:1px solid;width:7px;height:7px;transition:transform .28s cubic-bezier(.16,1,.3,1);position:absolute;top:50%;right:18px;transform:translateY(-70%)rotate(45deg)}.gallery-category-control.is-open .gallery-category-select-shell:after{transform:translateY(-30%)rotate(225deg)}.gallery-category-select{z-index:2;width:100%;min-height:52px;color:inherit;letter-spacing:.22em;text-align:center;text-transform:uppercase;cursor:pointer;background:#f8f7f2f7;border:1px solid #3a322947;outline:0;justify-content:center;align-items:center;padding:0 48px;font-family:Work Sans,Noto Sans JP,sans-serif;font-size:.7rem;font-weight:600;line-height:1;transition:border-color .28s,box-shadow .28s,background .28s;display:flex;position:relative;box-shadow:0 8px 22px #3a322914}.gallery-category-select:focus-visible{border-color:var(--color-blue,#4f6c89);box-shadow:0 0 0 2px #4f6c892e,0 10px 26px #3a32291f}.gallery-category-control.is-open .gallery-category-select{background:#fff;border-color:#3a322970;box-shadow:0 12px 30px #3a322921}.gallery-category-menu{z-index:12;background:#fffffffb;border:1px solid #3a32293d;animation:.3s cubic-bezier(.16,1,.3,1) both gallery-category-menu-in;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden;box-shadow:0 20px 42px #3a32292b}.gallery-category-menu[hidden]{display:none}.gallery-category-option{width:100%;min-height:42px;color:var(--color-dark-cocoa,#3a3229);letter-spacing:.16em;text-align:center;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #3a32291a;justify-content:center;align-items:center;padding:0 20px;font-family:Work Sans,Noto Sans JP,sans-serif;font-size:.65rem;font-weight:600;line-height:1.25;transition:background .24s,color .24s;display:flex}.gallery-category-option:last-child{border-bottom:0}.gallery-category-option:hover,.gallery-category-option:focus-visible,.gallery-category-option[aria-selected=true]{background:var(--color-dark-cocoa,#3a3229);color:#fff;outline:0}@keyframes gallery-category-menu-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.gallery-stage{aspect-ratio:4/3;width:100%;min-height:0;max-height:none}.gallery-image{transform:none}.gallery-poi{display:none}.gallery-media{width:100%;max-width:100%;height:auto;display:block}.gallery-thumbs{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;flex-flow:row;justify-content:flex-start;gap:10px;margin-top:clamp(10px,1.4vh,14px);transition:opacity .22s;overflow:auto hidden}.gallery-caption{color:#3a3229b8;letter-spacing:.07em;min-height:2.9em;margin:12px 0 0;font-size:.68rem;line-height:1.45;display:block}.gallery-thumb{aspect-ratio:4/3;scroll-snap-align:start;flex:0 0 calc(33.3333% - 6.66667px);width:auto}.gallery .gallery-tabs .tab,.gallery-arrow{min-height:44px}.gallery-arrow{width:44px}}
