/* 写真の拡大表示（旧 fancybox の代わり） */
.xidear-lb { display: none; position: fixed; inset: 0; z-index: 100000; background: rgba(0, 0, 0, .85); }
.xidear-lb.is-open { display: flex; align-items: center; justify-content: center; }
.xidear-lb-fig { margin: 0; max-width: 92vw; max-height: 92vh; text-align: center; }
.xidear-lb-img { display: block; max-width: 92vw; max-height: 84vh; width: auto; height: auto; margin: 0 auto; background: #fff; box-shadow: 0 4px 24px rgba(0, 0, 0, .6); }
.xidear-lb-cap { margin-top: 8px; color: #fff; font-size: 14px; line-height: 1.5; }
.xidear-lb-cap:empty { display: none; }
.xidear-lb button { position: absolute; border: 0; background: rgba(255, 255, 255, .18); color: #fff; cursor: pointer; line-height: 1; border-radius: 50%; width: 44px; height: 44px; font-size: 28px; padding: 0; }
.xidear-lb button:hover, .xidear-lb button:focus { background: rgba(255, 255, 255, .38); outline: 2px solid #fff; }
.xidear-lb-close { top: 14px; right: 14px; }
.xidear-lb-prev, .xidear-lb-next { top: 50%; margin-top: -22px; display: none; }
.xidear-lb-prev { left: 14px; }
.xidear-lb-next { right: 14px; }
.xidear-lb.has-many .xidear-lb-prev, .xidear-lb.has-many .xidear-lb-next { display: block; }
html.xidear-lb-lock, html.xidear-lb-lock body { overflow: hidden; }
