@charset "utf-8";
.policy_modal_overlay {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 110vh;
		background: rgba(0, 0, 0, 0.8);
		display: none;
}
.policy_modal_container {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		z-index: 9999;
		display: flex;
		align-items: flex-start;
		justify-content: center;
		display: none;
}
.policy_modal_wrap {
		width: 960px;
		height: 100vh;
		margin: 0 auto;
		background: #310140;
		border-left: 2px solid #d000df;
		border-right: 2px solid #d000df;
		box-sizing: border-box;
		padding: 50px 10px 50px 30px;
		position: relative;
		z-index: 10;
}
.policy_modal_hd {
		margin-bottom: 40px;
}
.policy_modal_hd_en {
		font-family: 'Rajdhani', sans-serif;
		font-size: 32px;
		font-weight: 400;
		letter-spacing: 0.02em;
		margin: 0;
}
.policy_modal_hd_jp {
		font-size: 14px;
}
.policy_modal_wrap .modal_close {
		width: 20px;
		height: 20px;
		position: absolute;
		top: 18px;
		right: 18px;
		cursor: pointer;
		z-index: 10;
}
.modal_close::before, .modal_close::after {
		content: '';
		display: block;
		position: absolute;
		top: 10px;
		left: 0;
		width: 20px;
		height: 1px;
		background: #fff;
		pointer-events: none;
}
.modal_close::before {
		transform: rotate(45deg)
}
.modal_close::after {
		transform: rotate(-45deg)
}
.policy_scroll_cont {
		width: 100%;
		overflow: auto;
		height: calc(100vh - 100px);
		position: relative;
		padding-right: 20px;
		box-sizing: border-box;
}
@media (hover: hover) {
		.modal_close:hover::before, .modal_close:hover::after {
				background: #ffde00;
		}
}
@media(max-width: 1300px) {
		.policy_modal_wrap {
				width: calc(100% - 80px);
		}
}
@media(max-width: 840px) {
		.policy_scroll_cont {
				overflow: auto;
				height: calc(100vh - 50px)
		}
		.policy_modal_container {
				padding-top: 0;
		}
		.policy_modal_wrap {
				padding: 50px 20px 60px 30px;
		}
}
@media(max-width: 767px) {
		.policy_modal_wrap {
				width: calc(100% - 30px);
				padding: 50px 10px 60px 20px;
		}
}
.policy_wrap {
		font-family: YakuHanJP, 'Noto Sans JP', sans-serif;
		overflow: hidden;
		padding-bottom: 100px;
		color: #fff;
}
.privacyBox .policy_wrap {
		padding-bottom: 50px;
}
.policy_title {
		font-size: 80px;
		font-family: 'Inter', sans-serif;
		font-weight: 400;
		margin: 0 0 40px;
		line-height: 1;
}
@media(max-width: 767px) {
		.policy_title {
				font-size: 40px;
				margin: 0 0 30px;
		}
		.modal_wrap2 {
				margin: 0;
				height: 100vh;
				padding: 70px 0px 30px 20px;
		}
}
@media(max-width: 400px) {
		.policy_title {
				font-size: 30px;
				margin: 0 0 25px;
		}
}