.buffet-arch,.buffet-arch *,.buffet-arch__viewer,.buffet-arch__viewer *{box-sizing:border-box}
.buffet-arch{position:relative;width:100%;aspect-ratio:1920/1563;background:#2b2118;isolation:isolate;color:#f4e0b4;font-family:"Yu Mincho","Hiragino Mincho ProN",serif}
.buffet-arch__film{position:absolute;top:calc(760 / 1563 * 100%);width:50%;height:calc(803 / 1563 * 100%);overflow:hidden;background:#2b2118}.buffet-arch__film[data-side="0"]{left:0}.buffet-arch__film[data-side="1"]{left:50%}.buffet-arch__film video{display:block;width:100%;height:100%;object-fit:cover}.buffet-arch__shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,8,4,.55),rgba(12,8,4,.16) 70%);pointer-events:none;transition:opacity .7s}
.buffet-arch__stone{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2}.buffet-arch__stone img,.buffet-arch__moving-stone img{position:absolute;width:100%;height:auto;left:0;top:0;display:block}.buffet-arch__window{position:absolute;z-index:3;top:48.6%;bottom:0;width:39%;border:0;border-radius:50% 50% 0 0 / 48% 48% 0 0;background:transparent;color:#f4e0b4;cursor:pointer;text-align:left;padding:0;text-decoration:none;-webkit-tap-highlight-color:transparent}.buffet-arch__window[data-side="0"]{left:5.5%}.buffet-arch__window[data-side="1"]{left:56%}.buffet-arch__window:focus-visible{outline:2px solid #fff1c9;outline-offset:6px}
.buffet-arch__copy{position:absolute;left:13%;right:-7%;top:61%;}.buffet-arch__heading{display:flex;align-items:baseline;gap:12px;margin-bottom:16px;white-space:nowrap}.buffet-arch__heading strong{font-family:"Times New Roman",serif;font-weight:400;font-size:clamp(24px,2.6vw,52px);letter-spacing:-.04em}.buffet-arch__heading small{font-size:clamp(9px,1vw,18px);letter-spacing:.04em}.buffet-arch__description{display:block;font-size:clamp(12px,1.18vw,23px);line-height:1.85;letter-spacing:.05em}.buffet-arch__hint{display:none;font-size:10px;letter-spacing:.15em;margin-top:18px;border-bottom:1px solid #bba17b;padding-bottom:4px;opacity:0;transition:opacity .25s}.buffet-arch__window:hover .buffet-arch__hint,.buffet-arch__window:focus-visible .buffet-arch__hint{opacity:1}.buffet-arch__window:hover .buffet-arch__heading strong{color:#fff8e5}.buffet-arch__mobile-copy{display:none}
.buffet-arch__viewer{position:static;pointer-events:none;touch-action:none}.buffet-arch__viewer[hidden]{display:none}.buffet-arch__backdrop{position:fixed;inset:0;z-index:1000;background:#201c17;opacity:0}.buffet-arch__stone-viewport{position:fixed;inset:0;z-index:1002;pointer-events:none;overflow:hidden}.buffet-arch__moving-stone{position:absolute;overflow:visible;z-index:1002;pointer-events:none;transform-origin:50% 50%;will-change:transform}.buffet-arch__moving-stone img{height:100%;clip-path:inset(0)}.buffet-arch__moving-stone::after{content:"";position:absolute;left:0;top:calc(100% - 1px);width:100%;height:100%;background:url("../assets/buffet/arch/pillar-bottom.png") top left/100% auto repeat-y}.buffet-arch__blackout{position:fixed;inset:0;z-index:1005;background:#000;opacity:0;pointer-events:auto}
.buffet-arch.is-active{isolation:auto}.buffet-arch.is-active .buffet-arch__stone{visibility:hidden}.buffet-arch__film.is-active{position:fixed;z-index:1001;will-change:width,height,left,top,clip-path}.buffet-arch__film.is-active .buffet-arch__shade{opacity:0}.buffet-arch.is-active .buffet-arch__window{pointer-events:none}
@media(min-width:769px){
    .buffet-arch__stone img.pc_none {display: none;}
}
@media(max-width:768px){
    .buffet-arch__stone img.sp_none {display: none;}
    /* SP画像（980 × 1604）を通常フローに置き、親の高さを画像そのものから決める。 */
    .buffet-arch{aspect-ratio:auto}
    .buffet-arch__stone{position:relative;inset:auto;height:auto}
    .buffet-arch__stone img.pc_none{position:relative;inset:auto;display:block;width:100%;height:auto}
    .buffet-arch__stone img,.buffet-arch__moving-stone img{top:0}.buffet-arch__window{top:48.6%;width:39%}.buffet-arch__copy{left:5%;right:0;top:63%}.buffet-arch__heading{display:block;margin-bottom:0;white-space:normal}.buffet-arch__heading strong{font-size:25px}.buffet-arch__heading small{display:block;font-size:9px;line-height:1.8;margin-top:4px}.buffet-arch__description,.buffet-arch__hint{display:none}.buffet-arch__mobile-copy{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:28px 22px;background:#201c17;font:12px/1.95 "Yu Mincho","Hiragino Mincho ProN",serif;color:#dbc8a8}.buffet-arch__mobile-copy p{margin:0}.buffet-arch__moving-stone img{height:100%;clip-path:inset(0)}
}
@media(prefers-reduced-motion:reduce){.buffet-arch *,.buffet-arch__viewer *{scroll-behavior:auto!important;transition:none!important}}

/* 支給差分：遷移時に石壁を16:9枠で切り取らず、素材全体を拡大する。 */
.buffet-arch__moving-stone img{height:100%;clip-path:none}.buffet-arch__moving-stone::after{content:none}
.buffet-arch__stone picture,.buffet-arch__moving-stone picture{display:block;width:100%;height:100%}
@media(max-width:768px){.buffet-arch__stone{position:absolute;inset:0;height:auto}.buffet-arch__stone picture img{position:absolute;inset:0;display:block;width:100%;height:auto}}
@media(max-width:600px){.buffet-arch{aspect-ratio:980/1604}.buffet-arch__film{top:calc(900 / 1604 * 100%);height:calc(704 / 1604 * 100%)}.buffet-arch__window{top:calc(900 / 1604 * 100%);width:39%}.buffet-arch__stone picture img,.buffet-arch__moving-stone picture img{top:0}.buffet-arch__moving-stone picture img{height:100%;width:100%;object-fit:fill}}
