@charset "UTF-8";

/* Privacy Policy ---------------------------------------*/
.policy {
	padding: 120px 20px 0;
	margin-bottom: 130px;
}

.policy-wrapper {
	margin: 34px auto 0 calc(74 / 1080 * 100%);
	max-width: 900px;
}

.policy-text {
	font-size: 14px;
	font-weight: 400;
	line-height: 2;
	letter-spacing: 0.05em;
}

.policy-text + .policy-text {
	margin-top: 28px;
}

.policy-numlist {
	margin: 28px auto 28px 22px;
}

.policy-numlist > li {
	font-size: 14px;
	font-weight: 400;
	line-height: 2;
	letter-spacing: 0.05em;
	list-style-type: decimal;
}

.policy-title {
	font-size: 30px;
	font-weight: 700;
	letter-spacing: 0.05em;
	margin-top: 50px;
}

.policy-list {
	margin-top: 28px;
}

.policy-list > li + li {
	margin-top: 30px;
}

.policy-list-title {
	font-size: 20px;
	font-weight: 900;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

.policy-table {
	display: flex;
	flex-wrap: wrap;
	margin-top: 28px;
}

.policy-table dt {
	font-size: 12px;
	font-weight: 400;
	line-height: 1.667;
	letter-spacing: 0.05em;
	color: #fff;
	background: #0069CC;
	padding: 14px 20px;
}

.policy-table dd {
	font-size: 12px;
	font-weight: 400;
	line-height: 1.667;
	letter-spacing: 0.05em;
	background: #D3E5FC;
	border-top: 4px solid #fff;
	padding: 10px 20px;
}

.policy-table dt:nth-of-type(2n-1),
.policy-table dd:nth-of-type(2n-1) {
	width: 241px;
	border-right: 5px solid #fff;
}

.policy-table dt:nth-of-type(2n),
.policy-table dd:nth-of-type(2n) {
	width: calc(100% - 241px);
	max-width: 643px;
}

.policy-table dd:nth-of-type(2n-1) {
	display: flex;
	align-items: center;
}

.policy-table-list {

}

.policy-table-list > li {
	position: relative;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.667;
	letter-spacing: 0.05em;
	padding-left: 16px;
}

.policy-table-list > li::before {
	position: absolute;
	top: 0;
	left: 4px;
	font-size: 12px;
	content: '・';
}

.policy-textlist {

}

.policy-textlist > li {
	position: relative;
	font-size: 14px;
	font-weight: 400;
	line-height: 2;
	letter-spacing: 0.05em;
	padding-left: 20px;
}

.policy-textlist > li::before {
	position: absolute;
	top: 0;
	left: 7px;
	font-size: 14px;
	content: '・';
}


/* notification ---------------------------------------*/
.notification {
	padding: 120px 20px 0;
	margin-bottom: 110px;
}

.notification-list {
	max-width: 900px;
	margin: 78px auto 0 calc(85 / 1080 * 100%);
}

.notification-list > li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	padding: 25px 2px;
	border-bottom: 1px solid #999;
}

.notification-list-text {
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: #333;
	text-decoration: none;
}

.notification-list-text:hover {
	text-decoration: underline;
}

.notification-list-link {
	position: relative;
	font-size: 20px;
	font-weight: 700;
	color: #fff;
	padding: 5px 37px 5px 13px;
	background: #5577DA;
	border-radius: 8px;
}

.notification-list-link::after {
	position: absolute;
	top: 50%;
	right: 11px;
	transform: translateY(-50%);
	z-index: 1;
	width: 21px;
	height: 21px;
	background: url('../img/common/icon_document.svg') no-repeat;
	background-size: contain;
	content: '';
}


/* sp only */
@media screen and (max-width: 767px){
	/* Privacy Policy ---------------------------------------*/
	.policy {
		padding: 36px 20px 0;
		margin-bottom: 100px;
	}

	.policy-wrapper {
		margin: 54px auto 0;
		max-width: unset;
	}

	.policy-text {
		line-height: 1.714;
	}

	.policy-text + .policy-text {
		margin-top: 26px;
	}

	.policy-text-top {
		padding-left: 14px;
	}

	.policy-numlist {
		margin: 24px auto 28px 22px;
	}

	.policy-numlist > li {
		line-height: 1.714;
	}

	.policy-title {
		font-size: 24px;
		line-height: 1.333;
		margin-top: 48px;
		margin-bottom: 6px;
	}

	.policy-list {
		margin-top: 24px;
	}

	.policy-list > li + li {
		margin-top: 24px;
	}

	.policy-list-title {
		font-size: 16px;
		line-height: 1.875;
	}

	.policy-list-title + .policy-text {
		margin-top: 10px;
	}

	.policy-table {
		display: flex;
		flex-wrap: wrap;
		margin-top: 28px;
	}

	.policy-table dt {
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 8px;
		width: 90px;
		border-right: 3px solid #fff;
		border-top: 2px solid #fff;
	}

	.policy-table dd {
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 8px 18px;
		width: calc(100% - 90px);
		border-top: 2px solid #fff;
	}

	.policy-table dt:nth-of-type(2n-1),
	.policy-table dd:nth-of-type(2n-1),
	.policy-table dt:nth-of-type(2n),
	.policy-table dd:nth-of-type(2n) {
		width: unset;
		border-right: unset;
		max-width: unset;
	}

	.policy-table dt:nth-of-type(2n-1),
	.policy-table dt:nth-of-type(2n) {
		width: 95px;
		border-right: 3px solid #fff;
	}

	.policy-table dd:nth-of-type(2n-1),
	.policy-table dd:nth-of-type(2n) {
		width: calc(100% - 95px);
	}

	.policy-table dt:first-of-type,
	.policy-table dd:first-of-type {
		border-top: unset;
	}

	.policy-table-list {

	}

	.policy-table-list > li {
		position: relative;
		font-size: 12px;
		font-weight: 400;
		line-height: 1.667;
		letter-spacing: 0.05em;
		padding-left: 16px;
	}

	.policy-table-list > li::before {
		position: absolute;
		top: 0;
		left: 4px;
		font-size: 12px;
		content: '・';
	}

	.policy-textlist {

	}

	.policy-textlist > li {
		line-height: 1.714;
		padding-left: 24px;
	}

	.policy-textlist > li::before {
		left: 11px;
	}


	/* notification ---------------------------------------*/
	.notification {
		padding: 40px 20px 0;
		margin-bottom: 100px;
	}

	.notification-list {
		max-width: unset;
		margin: 40px auto 0;
	}

	.notification-list > li {
		gap: 16px;
		padding: 25px 0;
	}

	.notification-list-text {
		font-size: 16px;
		line-height: 1.75;
	}

	.notification-list-link {
		padding: 5px 37px 4px 13px;
	}

	.notification-list-link::after {
		right: 11px;
		width: 21px;
		height: 21px;
	}

}




/* iphone5 iphoneSE用 */
@media screen and (max-width: 370px){

}