@charset "UTF-8";

/**
 * Shared base + page-scoped styles for:
 * - Customer Harassment (.policy-page--harassment)
 * - Privacy Policy RFGR (.policy-page--privacy)
 */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');

/* ========== Shared base ========== */
.policy-page {
	color: #00142c;
	font-family: 'Noto Sans JP', sans-serif;
	padding-bottom: 80px;
}

.policy-page .page-tit-wpr {
	padding-top: 60px;
}

.policy-page .page-tit-wpr .tit-wrp {
	margin-bottom: 0;
}

.policy-page .policy-body {
	font-size: 15px;
	line-height: 1.75;
	color: #00142c;
}

.policy-page .policy-sec {
	margin-top: 50px;
}

.policy-page .policy-sec:first-of-type {
	margin-top: 0;
}

.policy-page .policy-sec-tit {
	font-size: 18px;
	font-weight: 700;
	padding: 0 0 0 10px;
	border-left: 5px solid #dfae8f;
	margin: 0 0 30px;
	font-family: 'Noto Sans JP', sans-serif;
}

.policy-page .policy-sub-tit {
	font-size: 15px;
	font-weight: 700;
	margin: 20px 0 10px;
}

/* ========== Harassment only ========== */
.policy-page--harassment .policy-page-tit {
	font-size: 46px;
	font-weight: 500;
	line-height: 1.4;
	text-align: center;
	color: #00142c;
	font-family: 'Noto Serif JP', serif;
	margin: 0 0 60px;
}

.policy-page--harassment .policy-body {
	font-weight: 400;
}

.policy-page--harassment .policy-body p {
	margin: 0;
	font-weight: 400;
}

.policy-page--harassment .policy-sec {
	margin-top: 80px;
}

.policy-page--harassment .policy-sec:first-of-type {
	margin-top: 0;
}

.policy-page--harassment .policy-sub-tit {
	margin: 0;
	padding: 40px 0 15px;
	font-weight: 700 !important;
}

.policy-page--harassment .policy-example-list {
	list-style: none;
	margin: 0 0 30px;
	padding: 0;
}

.policy-page--harassment .policy-example-list > li {
	font-size: 15px;
	font-weight: 400;
	line-height: 1.75;
	margin: 0 0 12px;
}

.policy-page--harassment .policy-example-list > li:last-child {
	margin-bottom: 0;
}

.policy-page--harassment .policy-example-list .policy-example-label {
	font-weight: 700;
}

.policy-page--harassment .policy-note {
	margin-top: 26px;
	font-weight: 400;
}

.policy-page--harassment .policy-list--accent {
	list-style: none;
	margin: 16px 0 26px;
	padding: 0;
}

.policy-page--harassment .policy-list--accent > li {
	position: relative;
	padding-left: 1em;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.75;
	color: #00142c;
	margin: 0 0 16px;
}

.policy-page--harassment .policy-list--accent > li:last-child {
	margin-bottom: 0;
}

.policy-page--harassment .policy-list--accent > li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.65em;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #dfae8f;
}

/* ========== Privacy only ========== */
.policy-page--privacy .sec-subtit {
	margin-bottom: 60px;
}

.policy-page--privacy .policy-body {
	font-weight: 400;
}

.policy-page--privacy .policy-lead {
	margin-bottom: 50px;
}

.policy-page--privacy .policy-lead p + p {
	margin-top: 0;
}

.policy-page--privacy .policy-num-list {
	list-style: none;
	margin: 10px 0 0;
	padding: 0;
	counter-reset: policy-num;
}

.policy-page--privacy .policy-num-list > li {
	position: relative;
	padding-left: 20px;
	font-size: 15px;
	margin: 0 0 15px;
	counter-increment: policy-num;
}

.policy-page--privacy .policy-num-list > li::before {
	content: counter(policy-num) '.';
	position: absolute;
	left: 0;
	top: 0;
	width: 1.8em;
}

.policy-page--privacy .policy-managers {
	margin-top: 0;
}

.policy-page--privacy .policy-managers p {
	margin: 0;
	line-height: 1.75;
}

.policy-page--privacy .follows {
	padding: 100px 0 0;
}

/* ========== Responsive ========== */
@media (max-width: 767px) {
	.policy-page {
		padding-bottom: 50px;
	}

	.policy-page .page-tit-wpr {
		padding-top: 40px;
	}

	.policy-page .policy-body {
		font-size: 14px;
	}

	.policy-page .policy-sec {
		margin-top: 40px;
	}

	.policy-page .policy-sec-tit {
		font-size: 16px;
		line-height: 1.5;
		margin-bottom: 20px;
		padding-left: 12px;
	}

	.policy-page--harassment .policy-page-tit {
		font-size: 26px;
		margin-bottom: 40px;
		padding: 0 10px;
	}

	.policy-page--harassment .policy-example-list > li,
	.policy-page--harassment .policy-list--accent > li {
		font-size: 14px;
	}

	.policy-page--privacy .sec-subtit {
		margin-bottom: 40px;
	}

	.policy-page--privacy .policy-num-list > li {
		font-size: 14px;
	}
}
