@charset "UTF-8";


body {
	background-color: #f8f6f2;
}
.page_title {
	display: flex;
	max-width: 1620px;
	margin: 0 auto;
	padding-left: clamp(0rem, -5.417rem + 11.28vw, 8.125rem);
	border-bottom: 2px solid #2b1e1d;
	flex-direction: column-reverse;
}

.page_title-main {
	color: #df4f4d;
	font-weight: 500;
	font-size: clamp(0.938rem, 0.835rem + 0.21vw, 1.063rem);
	letter-spacing: 0.1em;
}

.page_title-sub {
	font-weight: bold;
	font-size: clamp(1.875rem, 0.698rem + 2.45vw, 3.313rem);
	letter-spacing: 0.1em;
}


@media screen and (min-width: 768px) {
	.page_title {
		width: 95%;
		margin-bottom: 45px;
		padding-bottom: 20px;
	}
}

@media screen and (max-width: 767px) {
	.page_title {
		width: calc(100% - 40px);
		margin-bottom: 16px;
		padding-bottom: 10px;
	}
}



/*******************************************************************************
	共通
*******************************************************************************/
.policy_container {
	display: flex;
	max-width: 840px;
	margin: 0 auto;
	flex-direction: column;
}
.policy_content {
	display: flex;
	width: 100%;
	flex-direction: column;
}
.policy_content dt {
	font-weight: bold;
	font-size: clamp(1.063rem, 0.557rem + 1.05vw, 1.25rem);
	text-align: center;
}
.policy_content dd {
	font-weight: 500;
	font-size: clamp(0.875rem, 0.538rem + 0.7vw, 1rem);
	line-height: clamp(1.563rem, 0.72rem + 1.75vw, 1.875rem);
	text-align: justify;
	text-indent: 1em;
}
body.cookie .policy_content dd:nth-last-of-type(2) {
	text-indent: 0;
}
body.cookie .policy_content dd:nth-last-of-type(2) li {
	display: flex;
}
body.cookie .policy_content dd:nth-last-of-type(2) li::before {
	content: "･";
}
.policy_content dd a {
	position: relative;
	color: #373ef9;
	word-break: break-all;
	transition: all 0.3s;
}
.policy_content dd a:hover {
	color: #df4f4d;
}
.policy_content dd a::after {
	position: absolute;
	bottom: 2px;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #373ef9;
	content: "";
	transition: all 0.3s;
}
.policy_content dd a:hover:after {
	background-color: #df4f4d;
}
.policy_content dd a i {
	margin-left: 0.5em;
}



.policy_profile-container {
	display: flex;
	width: 100%;
	margin-top: 15px;
	font-weight: 500;
	font-size: clamp(0.875rem, 0.538rem + 0.7vw, 1rem);
	line-height: clamp(1.563rem, 0.72rem + 1.75vw, 1.875rem);
	flex-direction: column;
}
.policy_profile-container h3 {
	font-weight: 500;
	font-size: clamp(0.875rem, 0.538rem + 0.7vw, 1rem);
}
.policy_profile-container dl {
	display: flex;
	flex-wrap: wrap;
}
.policy_profile-container dt {
	display: flex;
	white-space: nowrap;
}
.policy_profile-container dt::after {
	content: ":";
}
.policy_profile-container dt:nth-of-type(1) {
	width: 2.3em;
}
.policy_profile-container dd:nth-of-type(1) {
	width: calc(100% - 2.3em);
}
.policy_profile-container dt:nth-of-type(2) {
	width: 4.3em;
}
.policy_profile-container dd:nth-of-type(2) {
	width: calc(100% - 4.3em);
}
.policy_profile-container a {
	color: #373ef9;
	transition: all 0.3s;
}

@media screen and (min-width: 768px) {
	.policy_container {
		width: 95%;
	}
	.policy_content dt {
		margin-bottom: 20px;
	}
	.policy_content dt br {
		display: none;
	}
	.policy_content dd:not(:nth-last-of-type(1)) {
		margin-bottom: 55px;
	}
}

@media screen and (max-width: 767px) {
	.policy_container {
		width: 100%;
		padding: 0 20px;
	}
	.policy_content dt {
		margin-bottom: 15px;
	}
	.policy_content dd:not(:nth-last-of-type(1)) {
		margin-bottom: 30px;
	}
}

