/* Keep the gallery within the existing artwork's photo area. */
.sec-brand .crystal-office-artwork{display:block;position:relative;min-width:0}
.sec-brand .crystal-office-artwork>picture,.sec-brand .crystal-office-artwork>picture>img{display:block;width:100%;height:auto}
.crystal-office-gallery{position:absolute;top:27.4%;left:28.8%;width:34%;min-width:0;box-sizing:border-box;color:#57406d;font-family:"Noto Sans JP",sans-serif;letter-spacing:0}
.crystal-office-track{display:flex;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:0;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.crystal-office-track::-webkit-scrollbar{display:none}
.crystal-office-track:focus-visible{outline:3px solid #916bb2;outline-offset:3px}
.crystal-office-track .crystal-office-card{position:relative;flex:0 0 82%;min-width:0;margin:0;overflow:hidden;border-radius:12px;scroll-snap-align:start;scroll-snap-stop:always;background:#ede6f4}
.crystal-office-card img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.crystal-office-card figcaption{position:absolute;inset:auto 0 0;padding:24px 10px 8px;color:#fff;background:linear-gradient(transparent,rgba(32,19,46,.78));font-size:16px;font-weight:700;line-height:1.4;text-align:left}
.crystal-office-controls{display:flex;align-items:center;justify-content:space-between;gap:4px;padding-top:6px}
.crystal-office-controls p{margin:0;font-size:12px;line-height:1.5;white-space:nowrap}
.crystal-office-buttons{display:flex;align-items:center;gap:6px}
.crystal-office-buttons[hidden]{display:none}
.crystal-office-buttons button{display:grid;place-items:center;width:24px;height:24px;padding:0;border:1px solid #b49ec8;border-radius:50%;background:#fff;color:#72508e;font:inherit;font-size:22px;line-height:1;cursor:pointer}
.crystal-office-buttons button:disabled{opacity:.35;cursor:default}
.crystal-office-buttons button:focus-visible{outline:3px solid #916bb2;outline-offset:2px}
.crystal-office-counter{min-width:32px;text-align:center;font-size:12px;line-height:1.5;font-variant-numeric:tabular-nums}
@media(max-width:767px){
 .crystal-office-gallery{top:37.8%;left:0;width:100%}
 .crystal-office-track{gap:10px}
 .crystal-office-track .crystal-office-card{flex-basis:82%;border-radius:14px}
 .crystal-office-card figcaption{padding:30px 14px 10px;font-size:18px}
 .crystal-office-controls{padding-top:6px}
 .crystal-office-controls p,.crystal-office-counter{font-size:13px}
 .crystal-office-buttons{gap:8px}
 .crystal-office-buttons button{width:28px;height:28px;font-size:22px}
}
