@charset "utf-8";
/* =========================================================
   doc.css — 規約・方針・サイトマップ（/privacy/ ・/securitypolicy/ ・/sitemap/）
   読ませる文書のページ。幅は読み物幅に収める
   ========================================================= */

/* ---- 方針・規約の本文 ----------------------------------------------------- */
.p-policy {
	max-width: var(--w-text);

	/* 規約文は読み物扱いで --lh-read（§9）*/
	& .p-policy-lead { line-height: var(--lh-read); }
	& .p-policy-lead + .p-policy-lead { margin-block-start: 1em; }

	& .p-policy-note {
		margin-block-start: var(--sp-xs);
		padding-inline-start: var(--sp-xs);
		border-inline-start: 2px solid var(--cl-line-strong);
		color: var(--cl-text-sub);
		font-size: var(--fs-ui);
		line-height: var(--lh-body);
	}

	& dl { margin-block-start: var(--sp-m); }

	& dt {
		padding-block-start: var(--sp-s);
		border-block-start: 1px solid var(--cl-line);
		font-size: var(--fs-l);
		font-weight: var(--fw-head);
		line-height: var(--lh-tight);
		letter-spacing: -0.01em;
	}

	& dd {
		margin-block-start: 0.6em;
		padding-block-end: var(--sp-s);
		line-height: var(--lh-read);
	}

	/* 制定日・署名 */
	& .p-policy-sign {
		margin-block-start: var(--sp-m);
		color: var(--cl-text-sub);
		font-size: var(--fs-ui);
		line-height: var(--lh-body);
	}
}

/* ---- サイトマップページ --------------------------------------------------- */
.p-sitemap {
	display: grid;
	gap: var(--sp-m);
}

.p-sitemap-group {
	& .p-sitemap-title {
		padding-block-end: var(--sp-xs);
		border-block-end: 1px solid var(--cl-line);
		font-size: var(--fs-l);
		font-weight: var(--fw-head);
		line-height: var(--lh-tight);
	}

	& ul { display: grid; gap: 0.75em; margin-block-start: var(--sp-s); }
	& a { font-weight: var(--fw-bold); }
	& .p-sitemap-sub { margin-block-start: 0.75em; padding-inline-start: 1.2em; }
	& .p-sitemap-sub a { color: var(--cl-text-sub); font-size: var(--fs-ui); font-weight: 400; }
}

@media print, screen and (min-width: 640px) {
	.p-sitemap { grid-template-columns: repeat(2, 1fr); gap: var(--sp-m) var(--sp-l); }
}
