/**
 * プライバシーポリシーページスタイル / Privacy Policies Page Styles
 * Senmon Schoolテーマデザインシステムに準拠 / Follows Senmon School theme design system
 *
 * @package Senmon_School
 */

/* プライバシーページコンテナ / Privacy Page Container */
.senmon-school-privacy {
	background-color: var(--senmon-color-white);
	padding: 80px 0;
	box-sizing: border-box;
}

.senmon-school-privacy__container {
	max-width: var(--senmon-content-max-width);
	margin: 0 auto;
	box-sizing: border-box;
}

/* ページヘッダー / Page Header */
.senmon-school-privacy__header {
	margin-bottom: 60px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.senmon-school-privacy__title {
	font-family: var(--senmon-font-nav);
	font-weight: 700;
	font-size: 40px;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: var(--senmon-color-primary);
	margin: 0;
}

/* プライバシーセクション / Privacy Sections */
.senmon-school-privacy__section {
	margin: 0;
	padding: 0;
	border: none;
}

.senmon-school-privacy__section + .senmon-school-privacy__section {
	margin-top: 24px;
	padding-top: 24px;
	border-top: 1px solid var(--senmon-color-gray-90);
}

.senmon-school-privacy__heading {
	font-family: var(--senmon-font-hero);
	font-weight: 500;
	font-size: 18px;
	line-height: 1.5;
	letter-spacing: 0.9px;
	color: var(--senmon-color-primary);
	margin: 0 0 24px 0;
}

/* コンテンツ / Content */
.senmon-school-privacy__content {
	font-family: var(--senmon-font-hero);
	font-weight: 500;
	font-size: 14px;
	line-height: 2;
	letter-spacing: 0.7px;
	color: var(--senmon-color-gray-90);
}

.senmon-school-privacy__content p {
	margin: 0 0 16px 0;
}

.senmon-school-privacy__content p:last-child {
	margin-bottom: 0;
}

.senmon-school-privacy__content strong {
	font-weight: 700;
	color: var(--senmon-color-gray-90);
}

/* リスト / Lists */
.senmon-school-privacy__list {
	list-style: none;
	padding-left: 0;
	margin: 20px 0;
	counter-reset: privacy-counter;
}

/* 番号リスト（ol）の左余白を少し増やす */
ol.senmon-school-privacy__list {
	padding-left: 16px;
}

.senmon-school-privacy__list li {
	padding-left: 20px;
	position: relative;
	margin-bottom: 10px;
	font-family: var(--senmon-font-hero);
	font-weight: 500;
	font-size: 14px;
	line-height: 2;
	letter-spacing: 0.7px;
	color: var(--senmon-color-gray-90);
}

.senmon-school-privacy__list li:before {
	counter-increment: privacy-counter;
	content: counter(privacy-counter) ".";
	color: var(--senmon-color-gray-90);
	font-weight: 500;
	position: absolute;
	left: 0;
	top: 0;
}

.senmon-school-privacy__list li:last-child {
	margin-bottom: 0;
}

/* COLLECTIONセクション - 箇条書き / COLLECTION section - bullet points */
#collection .senmon-school-privacy__list {
	counter-reset: none;
}

#collection .senmon-school-privacy__list li:before {
	content: "⚫︎";
	counter-increment: none;
	color: var(--senmon-color-gray-90);
	font-size: 8px;
	left: 8px;
	top: 6px;
}

/* お問い合わせセクション / Contact Section */
.senmon-school-privacy__contact {
	margin-top: 24px;
	padding: 16px;
	background: linear-gradient(
		180deg,
		rgba(245, 251, 90, 0.1) 0%,
		rgba(7, 189, 123, 0.1) 100%
	);
	border-radius: 0;
	border: none;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.senmon-school-privacy__contact-title {
	margin: 0;
	font-family: var(--senmon-font-hero);
	font-weight: 500;
	font-size: 18px;
	line-height: 1.5;
	letter-spacing: 0.9px;
	color: var(--senmon-color-gray-90);
}

.senmon-school-privacy__contact-row {
	display: flex;
	gap: 8px;
	align-items: center;
}

.senmon-school-privacy__contact-pill {
	background: var(--senmon-color-primary);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	width: 100px;
	padding: 4px 40px;
	border-radius: 100px;
	box-sizing: border-box;
}

.senmon-school-privacy__contact-pill-icon-mail-inner {
	width: 18px;
	height: 18px;
	display: block;
	background-color: var(--senmon-color-white);
	-webkit-mask-image: url("../../images/common/mail.svg");
	mask-image: url("../../images/common/mail.svg");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.senmon-school-privacy__contact-pill-icon-phone-inner {
	width: 18px;
	height: 18px;
	display: block;
	background-color: var(--senmon-color-white);
	-webkit-mask-image: url("../../images/common/phone.svg");
	mask-image: url("../../images/common/phone.svg");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.senmon-school-privacy__contact-pill-text {
	font-family: var(--senmon-font-hero);
	font-weight: 500;
	font-size: 14px;
	line-height: 2;
	letter-spacing: 0.7px;
	color: var(--senmon-color-white);
}

.senmon-school-privacy__contact-value {
	font-family: var(--senmon-font-hero);
	font-weight: 500;
	font-size: 18px;
	line-height: 1.5;
	letter-spacing: 0.9px;
	color: var(--senmon-color-gray-90);
	text-decoration: none;
	transition: color var(--senmon-transition);
}

.senmon-school-privacy__contact-value:hover,
.senmon-school-privacy__contact-value:focus {
	color: var(--senmon-color-primary);
}

/* レスポンシブ - タブレット / Responsive - Tablet */
@media (max-width: 959px) {
	.senmon-school-privacy {
		padding: 40px var(--senmon-page-gutter-x);
	}

	.senmon-school-privacy__header {
		margin-bottom: 40px;
	}

	.senmon-school-privacy__title {
		font-size: 32px;
	}

	.senmon-school-privacy__section {
		margin: 0;
		padding: 0;
	}

	.senmon-school-privacy__section + .senmon-school-privacy__section {
		margin-top: 24px;
		padding-top: 24px;
	}

	.senmon-school-privacy__heading {
		font-size: 18px;
		margin-bottom: 16px;
	}

	.senmon-school-privacy__list li {
		margin-bottom: 0;
	}

	.senmon-school-privacy__contact {
		margin-top: 24px;
		padding: 16px;
	}
}

/* レスポンシブ - モバイル / Responsive - Mobile */
@media (max-width: 600px) {
	.senmon-school-privacy__title {
		font-size: 26px;
		letter-spacing: 0.1em;
	}

	.senmon-school-privacy__section {
		margin: 0;
		padding: 0;
	}

	.senmon-school-privacy__section + .senmon-school-privacy__section {
		margin-top: 24px;
		padding-top: 24px;
	}

	.senmon-school-privacy__heading {
		font-size: 18px;
	}

	ol.senmon-school-privacy__list {
		padding-left: 12px;
	}

	#collection .senmon-school-privacy__list li:before {
		font-size: 6px;
		left: 10px;
		top: 8px; 
	}

	.senmon-school-privacy__list li {
		padding-left: 20px;
		font-size: 13px;
		padding-left: 2.5em;
	}

	.senmon-school-privacy__list li:before {
		left: 4px;
		top: 0px;
		width: 2em;
		text-align: right;
	}

	.senmon-school-privacy__contact {
		margin-top: 24px;
		padding: 16px;
	}

	.senmon-school-privacy__contact-row {
		gap: 8px;
	}

	.senmon-school-privacy__contact-title {
		font-size: 18px;
		letter-spacing: 0.9px;
	}

	.senmon-school-privacy__contact-value {
		font-size: 18px;
		letter-spacing: 0.9px;
	}
}

@media (min-width: 1440px) {
	.senmon-school-privacy__section + .senmon-school-privacy__section {
		margin-top: 40px;
		padding-top: 40px;
	}

	.senmon-school-privacy__heading {
		font-size: 24px;
		line-height: 2;
		letter-spacing: 1.2px;
	}
}

/* 印刷スタイル / Print Styles */
@media print {
	.senmon-school-privacy {
		background: white;
		padding: 0;
	}

	.senmon-school-privacy__section {
		page-break-inside: avoid;
		border-bottom: 1px solid #ddd;
	}

	.senmon-school-privacy__contact {
		background: white;
		border: 1px solid var(--senmon-color-primary);
	}
}

@media (min-width: 1440px) {
	.senmon-school-privacy__contact {
		padding: 24px;
		gap: 16px;
	}

	.senmon-school-privacy__contact-title {
		font-size: 20px;
		letter-spacing: 1px;
	}

	.senmon-school-privacy__contact-row {
		gap: 16px;
	}

	.senmon-school-privacy__contact-value {
		font-size: 20px;
		letter-spacing: 1px;
	}
}