/* デリカ関連記事のみ。画面下中央に画像バナーを固定する。 */
.sh-delica-dock {
	position: fixed;
	z-index: 1000;
	left: 50%;
	bottom: calc(12px + env(safe-area-inset-bottom, 0px));
	transform: translateX(-50%);
	width: calc(100% - 32px);
	max-width: 480px;
	box-shadow: 0 3px 18px rgba(0, 0, 0, .25);
}
/* 最下部のリンク・本文をバナーの後ろに隠さないための余白。 */
.sh-delica-dock-space {
	height: calc(min(480px, 100vw - 32px) / 3 + 44px + env(safe-area-inset-bottom, 0px));
	background: #000;
}
.sh-delica-dock[hidden],
.sh-delica-dock-space[hidden],
.sh-delica-dock__close[hidden] { display: none; }
a.sh-delica-banner {
	display: block;
	margin: 0;
	line-height: 0;
	text-decoration: none;
}
a.sh-delica-banner img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	border: 0;
}
a.sh-delica-banner:hover { opacity: .9; }
.sh-delica-dock__close {
	position: absolute;
	top: -32px;
	right: -6px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}
.sh-delica-dock__close span {
	display: block;
	width: 28px;
	height: 28px;
	border: 1px solid #ccc;
	border-radius: 50%;
	background: #fff;
	color: #222;
	font: 24px/24px sans-serif;
	text-align: center;
}
a.sh-delica-banner:focus-visible,
.sh-delica-dock__close:focus-visible {
	outline: 3px solid #e21f26;
	outline-offset: 4px;
}
/* チャットは右下のボタンにまとめ、バナーとの間に余白を確保する。 */
@media screen and (max-width: 1023px) {
	.sh-delica-dock {
		left: 12px;
		transform: none;
		width: calc(100% - 100px);
		max-width: 400px;
	}
	.sh-delica-dock-space {
		height: calc(min(400px, 100vw - 100px) / 3 + 44px + env(safe-area-inset-bottom, 0px));
	}
}
/* 横向きなど高さが低い画面では、本文の見える範囲を確保する。 */
@media screen and (max-height: 500px) {
	.sh-delica-dock { max-width: 300px; }
	.sh-delica-dock-space { height: calc(144px + env(safe-area-inset-bottom, 0px)); }
}
@media print {
	.sh-delica-dock, .sh-delica-dock-space { display: none; }
}
