@charset "UTF-8";
/* プライバシーポリシー（左ナビなし・中央1カラム。枠組みはお問い合わせと同じ） */

.page-privacy-policy .l-lower {
	grid-template-columns: minmax(0, 1fr);
	grid-template-areas: "head" "content";
	padding: 0 99px 71px 100px;
}
.page-privacy-policy .l-lower__head { margin-left: -65px; padding-bottom: 58px; }
.page-privacy-policy .l-lower__side { display: none; }
.page-privacy-policy .l-lower__content {
	padding: 0;
	border-radius: 10px;
}
.page-privacy-policy .l-lower__content::after { content: none; }

.p-policy {
	color: var(--navy);
	font-size: 16px;
	line-height: 24px;
}
.p-policy a { text-decoration: underline; text-underline-offset: 2px; }
.p-policy a:hover { text-decoration: none; }
.p-policy p + p { margin-top: 24px; }

.p-policy__intro { padding: 48px 50px 46px; }

.p-policy__sec {
	padding: 38px 50px 34px;
	border-top: 1px solid var(--gray-line);
	scroll-margin-top: var(--header-h);
}
.p-policy__sec:last-child { padding-bottom: 32px; }
/* 基本方針・取得する情報は見出しまわりが少し広い（Figmaどおり） */
.p-policy__sec:nth-child(-n+3) { padding-top: 44px; padding-bottom: 46px; }
.p-policy__sec:nth-child(-n+3) .p-policy__h2 { margin-bottom: 30px; }
.p-policy__h2 {
	margin-bottom: 35px;
	font-weight: 700;
	font-size: 24px;
	line-height: 28px;
}

/* ---------- 基本方針（番号付き） ---------- */
.p-policy__basic + .p-policy__basic { margin-top: 55px; }
.p-policy__h3 {
	display: flex;
	align-items: center;
	gap: 28px;
	font-weight: 700;
	font-size: 24px;
	line-height: 28px;
}
.p-policy__num {
	display: grid;
	place-items: center;
	flex: none;
	width: 53px; height: 53px;
	border-radius: 50%;
	background: var(--navy);
	font-family: var(--ff-num);
	font-size: 24px;
	line-height: 1;
	color: #fff;
}
.p-policy__basic-text { max-width: 969px; margin-top: 11px; padding-left: 81px; }

/* ---------- 取得する情報 ---------- */
.p-policy__boxes { display: grid; gap: 30px; margin: 23px 0; }
.p-policy__box {
	padding: 25px 36px;
	border-radius: 10px;
	background: var(--gray-bg);
	line-height: 28px;
}
.p-policy__box dt { font-weight: 700; }
.p-policy__box dd { margin-top: 15px; }

/* ---------- 利用目的 ---------- */
.p-policy__purposes { margin-top: 24px; padding-left: 24px; list-style: decimal; }

/* ---------- お問い合わせ窓口 ---------- */
.p-policy__contact {
	display: grid;
	gap: 10px;
	margin-top: 24px;
	padding: 25px 35px;
	border: 1px solid var(--navy);
	border-radius: 10px;
	line-height: 28px;
}
.p-policy__contact div { display: grid; grid-template-columns: 117px 1fr; }
.p-policy__contact dt { font-weight: 700; }
.p-policy__date { margin-top: 24px; text-align: right; }

@media (max-width: 1199px) and (min-width: 960px) {
	.page-privacy-policy .l-lower { padding-inline: 40px; }
	.page-privacy-policy .l-lower__head { margin-left: 0; }
}

/* ---------- SP ---------- */
@media (max-width: 959px) {
	.page-privacy-policy .l-lower { display: block; padding: 0 20px 27px; background: var(--gray-sp); }
	.page-privacy-policy .l-lower__head { margin: 0 -20px; padding-bottom: 32px; }
	.page-privacy-policy .l-lower__content { max-width: 362px; margin: 0 auto; border-radius: 10px; }

	.p-policy { font-size: 15px; line-height: 26px; }
	.p-policy p + p { margin-top: 20px; }
	.p-policy__intro { padding: 24px 20px; }
	.p-policy__sec,
	.p-policy__sec:nth-child(-n+3) { padding: 28px 20px 30px; }
	.p-policy__sec:last-child { padding-bottom: 24px; }
	.p-policy__sec:nth-child(-n+3) .p-policy__h2,
	.p-policy__h2 { margin-bottom: 18px; font-size: 20px; line-height: 1.4; }

	.p-policy__basic + .p-policy__basic { margin-top: 28px; }
	.p-policy__h3 { gap: 12px; font-size: 18px; line-height: 1.4; }
	.p-policy__num { width: 40px; height: 40px; font-size: 20px; }
	.p-policy__basic-text { margin-top: 10px; padding-left: 0; }

	.p-policy__boxes { gap: 16px; margin: 18px 0; }
	.p-policy__box { padding: 16px 20px; line-height: 26px; }
	.p-policy__box dd { margin-top: 6px; }

	.p-policy__purposes { margin-top: 20px; padding-left: 20px; }

	.p-policy__contact { gap: 6px; margin-top: 20px; padding: 16px 20px; line-height: 26px; }
	.p-policy__contact div { grid-template-columns: 1fr; }
	.p-policy__date { margin-top: 20px; }
}
