/**
 * SupportDoor専用ブロックスタイル。
 *
 * 旧テーマ互換の--meri-legacy-*やCustomizer設定には依存しない。
 */

:root {
	--sd-deco-soft-bg: #fffdef;
	--sd-deco-soft-accent: #e8dfc5;
	--sd-deco-check-bg: #ffffff;
	--sd-deco-check-border: #d6c06c;
	--sd-deco-check-color: #b69a38;
	--sd-deco-title-bg: #dcc69c;
	--sd-deco-title-text: #594522;
	--sd-deco-body-bg: #fffef0;
}

.is-style-sd-soft-accent-box {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	padding: 30px 20px 30px 38px;
	background: var(--sd-deco-soft-bg);
	border: 0;
	border-radius: 6px;
	box-shadow: none;
}

.is-style-sd-soft-accent-box::before {
	position: absolute;
	top: 18px;
	bottom: 18px;
	left: 14px;
	width: 4px;
	background: var(--sd-deco-soft-accent);
	border-radius: 4px;
	content: "";
	pointer-events: none;
}

.is-style-sd-soft-accent-box > :first-child {
	margin-top: 0;
}

.is-style-sd-soft-accent-box > :last-child {
	margin-bottom: 0;
}

ul.is-style-sd-framed-check {
	margin-left: 0;
	padding-left: 0;
	list-style: none;
}

ul.is-style-sd-framed-check > li {
	position: relative;
	margin: 0 0 12px;
	padding-left: 31px;
	list-style: none;
}

ul.is-style-sd-framed-check > li:last-child {
	margin-bottom: 0;
}

ul.is-style-sd-framed-check > li::marker {
	content: "";
}

ul.is-style-sd-framed-check > li::before {
	position: absolute;
	top: 0.22em;
	left: 0;
	display: block;
	box-sizing: border-box;
	width: 18px;
	height: 18px;
	background-color: var(--sd-deco-check-bg);
	border: 1px solid var(--sd-deco-check-border);
	border-radius: 2px;
	content: "";
	pointer-events: none;
}

ul.is-style-sd-framed-check > li::after {
	position: absolute;
	top: calc(0.22em + 3px);
	left: 3px;
	display: block;
	width: 12px;
	height: 12px;
	background-color: var(--sd-deco-check-color);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12l4 4L20 4' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12l4 4L20 4' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	content: "";
	pointer-events: none;
}

.is-style-sd-title-band,
.swell-block-dl.is-style-sd-title-body-box > .swell-block-dl__dt,
[data-type="loos/dl"].is-style-sd-title-body-box [data-type="loos/dt"] {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 15px 20px;
	background-color: var(--sd-deco-title-bg);
	background-image: linear-gradient(
		135deg,
		rgba(255, 255, 255, 0.09) 25%,
		transparent 25%,
		transparent 50%,
		rgba(255, 255, 255, 0.09) 50%,
		rgba(255, 255, 255, 0.09) 75%,
		transparent 75%,
		transparent
	);
	background-size: 8px 8px;
	color: var(--sd-deco-title-text);
	font-weight: 700;
	line-height: 1.6;
}

.swell-block-dl.is-style-sd-title-body-box,
[data-type="loos/dl"].is-style-sd-title-body-box {
	box-sizing: border-box;
	width: 100%;
	padding: 0;
}

.swell-block-dl.is-style-sd-title-body-box > .swell-block-dl__dd,
[data-type="loos/dl"].is-style-sd-title-body-box [data-type="loos/dd"] {
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 18px;
	padding: 20px 24px;
	background: var(--sd-deco-body-bg);
}

.swell-block-dl.is-style-sd-title-body-box > .swell-block-dl__dd:last-child,
[data-type="loos/dl"].is-style-sd-title-body-box [data-type="loos/dd"]:last-child {
	margin-bottom: 0;
}

.swell-block-dl.is-style-sd-title-body-box > .swell-block-dl__dd > :first-child,
[data-type="loos/dl"].is-style-sd-title-body-box [data-type="loos/dd"] > :first-child {
	margin-top: 0;
}

.swell-block-dl.is-style-sd-title-body-box > .swell-block-dl__dd > :last-child,
[data-type="loos/dl"].is-style-sd-title-body-box [data-type="loos/dd"] > :last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 767px) {
	.is-style-sd-soft-accent-box {
		padding: 22px 18px 22px 32px;
		border-radius: 4px;
	}

	.is-style-sd-soft-accent-box::before {
		top: 14px;
		bottom: 14px;
		left: 10px;
		width: 3px;
	}

	.swell-block-dl.is-style-sd-title-body-box > .swell-block-dl__dd,
	[data-type="loos/dl"].is-style-sd-title-body-box [data-type="loos/dd"] {
		padding-right: 20px;
		padding-left: 20px;
	}
}
