/* ==========================================================================
   プライバシーポリシー /privacy_policy/（Figma PC「13 プライバシーポリシー」/ SP「13」）
   ========================================================================== */
@import url("legal-common.css");

.legal-head {
	gap: 16px;
	padding-bottom: 64px;
}

.legal-head__breadcrumb ol {
	font-size: 12px;
	line-height: 1.7;
}

.legal-head__title {
	padding-bottom: 0;
	font-size: 40px;
}

/* 本文：H2＝項目、H3＝（1）などの小見出し */
.legal-body > * + * {
	margin-top: 14px;
}

.legal-body h2 {
	margin-bottom: 32px;
	font-family: var(--font-serif);
	font-size: 22px;
	font-weight: 500;
	line-height: 1.75;
	letter-spacing: 0.02em;
}

.legal-body > h2:not(:first-child) {
	margin-top: 56px;
}

.legal-body h2 + * {
	margin-top: 0;
}

.legal-body h3,
.legal-body .legal-strong {
	color: var(--text-primary);
	font-size: 15px;
	font-weight: 500;
	line-height: 2.05;
	letter-spacing: 0;
}

.legal-body p,
.legal-body li {
	color: var(--text-secondary);
	font-size: 15px;
	line-height: 2.05;
	letter-spacing: 0;
}

.legal-body .legal-strong {
	color: var(--text-primary);
}

.legal-body ul {
	padding-left: 22.5px;
	list-style: disc;
}

/* 表（委託先・外部送信） */
.legal-body table {
	border-top: 1px solid var(--line-base);
}

.legal-body tr {
	border-bottom: 1px solid var(--line-base);
}

.legal-body th,
.legal-body td {
	padding: 14px 16px;
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: 0;
	vertical-align: top;
}

.legal-body th {
	color: var(--text-primary);
	background: var(--bg-beige);
}

.legal-body td {
	color: var(--text-secondary);
}

/* 制定日 */
.legal-body .legal-date {
	margin-top: 56px;
	padding-top: 28px;
	border-top: 1px solid var(--line-base);
	font-size: 13px;
}

@media (max-width: 767px) {
	.legal-head {
		gap: 8px;
		padding: 24px 24px 32px;
	}

	.legal-head__breadcrumb ol {
		font-size: 12px;
		line-height: normal;
	}

	.legal-head__title {
		font-size: 27px;
	}

	.legal {
		padding-right: 24px;
		padding-left: 24px;
		gap: 48px;
	}

	.legal-body > * + * {
		margin-top: 12px;
	}

	.legal-body h2 {
		margin-bottom: 16px;
		font-size: 19px;
		line-height: 1.8;
	}

	.legal-body > h2:not(:first-child) {
		margin-top: 48px;
	}

	.legal-body h3,
	.legal-body .legal-strong {
		font-size: 14px;
		line-height: 1.7;
	}

	.legal-body p,
	.legal-body li {
		font-size: 14px;
		line-height: 1.9;
	}

	/* 表：行ごとに「見出し｜値」で縦に積む（見出しは inc/legal.php が data-label に入れる） */
	.legal-body table,
	.legal-body tbody,
	.legal-body tr,
	.legal-body td {
		display: block;
	}

	.legal-body table {
		border-top: 0;
	}

	.legal-body thead {
		display: none;
	}

	.legal-body tr {
		border-top: 1px solid var(--line-base);
		border-bottom: 0;
	}

	.legal-body tr + tr {
		margin-top: 12px;
	}

	.legal-body table td {
		position: relative;
		min-height: 43px;
		padding: 10px 0 10px 120px;
		border-bottom: 1px solid var(--line-base);
		font-size: 13px;
	}

	.legal-body td::before {
		content: attr(data-label);
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		width: 108px;
		padding: 10px 12px;
		color: var(--text-primary);
		background: var(--bg-beige);
		font-weight: 500;
		line-height: 1.7;
	}

	.legal-body .legal-date {
		margin-top: 48px;
		padding-top: 25px;
		font-size: 12px;
	}
}

/* SP では文字を 1px 大きくする（PC の大きさのまま SP にも効いていたもの。SP 用の指定は各所で +1px 済み） */
@media (max-width: 767px) {
	.legal-body th,
	.legal-body td {
		font-size: 15px;
	}
}

/* SP の本文・リード・注釈の大きさ（本文 15px・リード 16px・注釈 12px 以上。コーポレートサイトの読みやすさに合わせる） */
@media (max-width: 767px) {
	.legal-body p {
		font-size: 15px;
	}

	.legal-body li {
		font-size: 15px;
	}

	.legal-body .legal-strong {
		font-size: 15px;
	}
}
