/* ===============================
   privacy-content: 個人情報保護方針本文
   =============================== */

.privacy-content {
	background-color: var(--color-page-bg);
	background-image: url("../../img/bg_top-concrete.webp");
	background-repeat: repeat;
}

.privacy-content__inner {
	width: 100%;
	max-width: calc(var(--container-max) - var(--space-13) * 2);
	margin-inline: auto;
	padding: var(--space-10) var(--container-gutter-mobile) var(--space-12);
}

.privacy-content__intro {
	padding-bottom: var(--space-8);
	border-bottom: 1px solid var(--color-border);
}

.privacy-content__intro-title {
	color: var(--color-sub);
	font-size: var(--fs-h2-mobile);
	font-weight: var(--fw-medium);
	letter-spacing: 0.08em;
}

.privacy-content__intro p {
	margin-top: var(--space-5);
	font-size: var(--fs-body);
	line-height: var(--lh-loose);
}

.privacy-content__index {
	margin-top: var(--space-8);
	padding: var(--space-6);
	border-top: 1px solid var(--color-main);
	border-bottom: 1px solid var(--color-border);
	background: color-mix(in srgb, var(--color-bg) 72%, transparent);
}

.privacy-content__index-title {
	color: var(--color-primary);
	font-size: var(--fs-body-pc);
	font-weight: var(--fw-medium);
	letter-spacing: 0.12em;
}

.privacy-content__index-list {
	display: grid;
	gap: var(--space-3);
	margin-top: var(--space-5);
	counter-reset: privacy-index;
}

.privacy-content__index-list li {
	counter-increment: privacy-index;
}

.privacy-content__index-list a {
	display: flex;
	align-items: baseline;
	gap: var(--space-3);
	font-size: var(--fs-body);
	line-height: var(--lh-body);
	transition: color var(--duration-fast);
}

.privacy-content__index-list a::before {
	flex: 0 0 auto;
	color: var(--color-main);
	font-size: var(--fs-body-sm);
	content: counter(privacy-index, decimal-leading-zero);
}

.privacy-content__index-list a::after {
	width: var(--space-2);
	height: var(--space-2);
	margin-left: auto;
	border-right: 1px solid var(--color-primary);
	border-bottom: 1px solid var(--color-primary);
	content: "";
	transform: rotate(45deg) translateY(calc(var(--space-1) * -1));
}

.privacy-content__sections {
	margin-top: var(--space-10);
}

.privacy-content__section {
	scroll-margin-top: calc(var(--space-12) + var(--space-4));
	padding-block: var(--space-8);
	border-top: 1px solid var(--color-border);
}

.privacy-content__section:first-child {
	padding-top: 0;
	border-top: 0;
}

.privacy-content__heading {
	display: grid;
	gap: var(--space-2);
	color: var(--color-sub);
	font-size: var(--fs-h2-mobile);
	font-weight: var(--fw-medium);
	letter-spacing: 0.06em;
}

.privacy-content__number {
	flex: 0 0 auto;
	color: var(--color-main);
	font-size: var(--fs-body-sm);
	letter-spacing: 0.08em;
}

.privacy-content__section > p,
.privacy-content__list,
.privacy-content__services,
.privacy-content__operator {
	margin-top: var(--space-5);
}

.privacy-content__section p,
.privacy-content__list {
	font-size: var(--fs-body);
	line-height: var(--lh-loose);
	letter-spacing: 0.02em;
}

.privacy-content__list {
	display: grid;
	gap: var(--space-3);
	padding-left: var(--space-6);
}

.privacy-content__list li {
	position: relative;
}

.privacy-content__list li::before {
	position: absolute;
	top: calc(var(--space-3) + var(--space-1));
	left: calc(var(--space-5) * -1);
	width: var(--space-2);
	border-top: 1px solid var(--color-main);
	content: "";
}

.privacy-content__services {
	border-top: 1px solid var(--color-border);
}

.privacy-content__service {
	padding-block: var(--space-5);
	border-bottom: 1px solid var(--color-border);
}

.privacy-content__service dt {
	color: var(--color-primary);
	font-size: var(--fs-body-pc);
	font-weight: var(--fw-medium);
	line-height: var(--lh-body);
}

.privacy-content__service dd {
	margin-top: var(--space-3);
}

.privacy-content__service p {
	font-size: var(--fs-body);
	line-height: var(--lh-loose);
}

.privacy-content__service a,
.privacy-content__operator a {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	margin-top: var(--space-3);
	color: var(--color-primary);
	font-size: var(--fs-body);
	text-decoration: underline;
	text-decoration-color: color-mix(in srgb, var(--color-primary) 50%, transparent);
	text-underline-offset: var(--space-1);
	transition: color var(--duration-fast);
}

.privacy-content__service a::after {
	width: var(--space-2);
	height: var(--space-2);
	border-top: 1px solid currentColor;
	border-right: 1px solid currentColor;
	content: "";
	transform: rotate(45deg);
}

.privacy-content__section--contact {
	padding-bottom: 0;
}

.privacy-content__operator {
	border-top: 1px solid var(--color-border);
}

.privacy-content__operator-row {
	display: grid;
	gap: var(--space-2);
	padding-block: var(--space-4);
	border-bottom: 1px solid var(--color-border);
}

.privacy-content__operator dt {
	color: var(--color-text-muted);
	font-size: var(--fs-body-sm);
	font-weight: var(--fw-medium);
	letter-spacing: 0.08em;
}

.privacy-content__operator dd {
	font-size: var(--fs-body);
	line-height: var(--lh-body);
}

.privacy-content__operator a {
	margin-top: 0;
}

.privacy-content__date {
	margin-top: var(--space-10);
	color: var(--color-text-muted);
	font-size: var(--fs-body-sm);
	text-align: right;
	letter-spacing: 0.04em;
}

@media (any-hover: hover) {
	.privacy-content__index-list a:hover,
	.privacy-content__service a:hover,
	.privacy-content__operator a:hover {
		color: var(--color-main);
	}
}

@media (min-width: 768px) {
	.privacy-content__inner {
		padding: var(--space-12) var(--container-gutter) var(--space-13);
	}

	.privacy-content__intro {
		padding-bottom: var(--space-10);
	}

	.privacy-content__intro-title {
		font-size: var(--fs-section-title-lg);
	}

	.privacy-content__intro p,
	.privacy-content__section p,
	.privacy-content__list {
		font-size: var(--fs-body-pc);
	}

	.privacy-content__index {
		margin-top: var(--space-10);
		padding: var(--space-8);
	}

	.privacy-content__index-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--space-4) var(--space-10);
	}

	.privacy-content__index-list a {
		font-size: var(--fs-body-pc);
	}

	.privacy-content__sections {
		margin-top: var(--space-12);
	}

	.privacy-content__section {
		padding-block: var(--space-10);
	}

	.privacy-content__heading {
		display: flex;
		align-items: baseline;
		gap: var(--space-4);
		font-size: calc(var(--fs-h2) - var(--space-2));
	}

	.privacy-content__service {
		display: grid;
		grid-template-columns: calc(var(--space-13) * 2) 1fr;
		gap: var(--space-8);
		padding-block: var(--space-6);
	}

	.privacy-content__service dd {
		margin-top: 0;
	}

	.privacy-content__operator-row {
		grid-template-columns: calc(var(--space-13) + var(--space-8)) 1fr;
		gap: var(--space-6);
	}

	.privacy-content__operator dt,
	.privacy-content__operator dd,
	.privacy-content__operator a {
		font-size: var(--fs-body-pc);
	}
}
