@charset "UTF-8";

.sub-contents .sub-page.policy h4 {
	font-weight: 600;
}

.policy .text * {
	color: #333;
	font-size: 2rem;
	font-weight: 300;
	line-height: 1.7;
}

.policy .title {
	margin-bottom: 30px;
}

.policy .title b {
	font-size: 1.7rem;
	font-weight: 700;
}

.policy .title h5 {
	color: #222;
	font-size: 3.6rem;
	font-weight: 600;
}

.policy .policy-top {
	margin-bottom: 40px;
}

.policy .dl-box,
.policy .sub-text-box {
	display: flex;
	flex-direction: column;
}

.policy .dl-box {
	row-gap: 40px;
}

.policy .dl-box>dl>dt {
	font-size: 2.2rem;
	font-weight: 600;
}

.policy .dl-box>dl>dd>p {
	margin: 15px 0;
}

.policy .dot {
	display: flex;
	gap: 0 5px;
}

.policy .dot::before {
	content: "•";
	flex-shrink: 0;
}

.policy .dot>p {
	width: 100%;
	padding: 0 0 0 13px;
}

.policy .sub-text-box {
	gap: 20px 0;
}

.policy .sub-text-box h6 {
	font-weight: 500;
	margin: 0 0 4px;
}

.policy .sub-text {
	margin: 4px 0;
}

.policy .sub-text dd {
	padding: 0 0 0 11px;
}

.policy .contact {
	margin: 60px 0 0;
}

.policy .contact ol {
	margin: 30px 0 0;
}

@media (max-width: 1400px) {
	.policy .title h5 {
		font-size: 2.8rem;
	}
}

@media (max-width: 1200px) {
	.policy .title h5 {
		font-size: 2.3rem;
	}
}

@media (max-width: 768px) {
	.policy .text * {
		font-size: 1.7rem;
	}

	.policy .title b {
		font-size: 1.5rem;
	}

	.policy .title h5 {
		font-size: 2.1rem;
	}

	.policy .dl-box>dl>dt {
		font-size: 1.9rem;
	}

	.policy .contact {
		margin: 30px 0 0;
	}
}