/* DTP Lightbox（FancyBox 代替） */
.dtp-lb{
	position:fixed; inset:0; z-index:100000;
	display:none; align-items:center; justify-content:center;
	background:rgba(15,17,20,.92);
	opacity:0; transition:opacity .28s ease;
	-webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px);
}
.dtp-lb.is-open{ display:flex; opacity:1; }

.dtp-lb-fig{ margin:0; max-width:92vw; max-height:88vh; display:flex; flex-direction:column; align-items:center; }
.dtp-lb-img{
	max-width:92vw; max-height:82vh; width:auto; height:auto;
	object-fit:contain; border-radius:4px; box-shadow:0 10px 40px rgba(0,0,0,.5);
	opacity:0; transform:scale(.98); transition:opacity .3s ease, transform .3s ease;
}
.dtp-lb-img.is-in{ opacity:1; transform:scale(1); }

.dtp-lb-cap{
	margin-top:14px; color:#e8eaed; font-size:14px; line-height:1.5;
	text-align:center; max-width:80vw;
}
.dtp-lb-counter{
	position:absolute; top:18px; left:50%; transform:translateX(-50%);
	color:#c7ccd3; font-size:13px; letter-spacing:.05em;
}

/* ボタン共通 */
.dtp-lb button{
	position:absolute; background:rgba(255,255,255,.08); border:none; color:#fff;
	cursor:pointer; border-radius:50%; transition:background .2s ease, transform .2s ease;
	display:flex; align-items:center; justify-content:center;
}
.dtp-lb button:hover{ background:rgba(255,255,255,.22); }
.dtp-lb-close{ top:16px; right:18px; width:44px; height:44px; font-size:26px; line-height:1; }
.dtp-lb-prev, .dtp-lb-next{ top:50%; transform:translateY(-50%); width:52px; height:52px; font-size:22px; }
.dtp-lb-prev{ left:20px; }
.dtp-lb-next{ right:20px; }
.dtp-lb-prev:hover{ transform:translateY(-50%) scale(1.08); }
.dtp-lb-next:hover{ transform:translateY(-50%) scale(1.08); }

/* 画像リンクにカーソルでズーム感 */
a.mosaic-gallery__link, a.botm-cap{ cursor:zoom-in; }

@media (max-width:767px){
	.dtp-lb-prev, .dtp-lb-next{ width:42px; height:42px; font-size:18px; }
	.dtp-lb-prev{ left:8px; } .dtp-lb-next{ right:8px; }
	.dtp-lb-close{ width:40px; height:40px; top:10px; right:10px; }
	.dtp-lb-img{ max-height:78vh; }
}
