@charset "UTF-8";
/* ------------------------------
 コンプライアンス（PC）
------------------------------ */
.complianceBox {
	position: relative;
	background: url(../img/linedot_bg.svg) repeat 0 0 / 30px 30px;
}
.complianceBox h2 {
	padding-bottom: 0;
	background-color: var(--blue-color);
	color: #fff;
	font-size: 2rem;
	line-height: 48px;
	text-align: center;
}
.complianceBox h2::before,
.complianceBox h2::after {
	content: none;
}
.complianceBox h3 {
	margin-bottom: 5px;
	padding: 0 40px;
	color: var(--blue-color);
	font-size: 2rem;
	line-height: 1.3;
}
.complianceBox p {
	padding: 0 40px 35px;
}
@media print, screen and (min-width: 768px) {
	.w980:has(.complianceBox) {
		display: flex;
		flex-wrap: wrap;
	}
	.complianceBox {
		width: 100%;
	}
	.complianceBox.w1-2 {
		width: 468px;
	}
	.w980:has(.complianceBox) > div.cms_text:first-child {
		margin-bottom: 40px;
	}
	.w980:has(.complianceBox) > div.cms_text:nth-child(2) {
		margin-bottom: 80px;
	}
	.w980:has(.complianceBox) > div.cms_text:nth-child(3) {
		margin-right: 44px;
	}
	.w980:has(.complianceBox) > div.cms_text:first-child::before,
	.w980:has(.complianceBox) > div.cms_text:nth-child(2)::before {
		content: "";
		display: block;
		position: absolute;
		bottom: -40px;
		left: 489px;
		width: 2px;
		height: 40px;
		background-color: var(--blue-color);
	}
	.w980:has(.complianceBox) > div.cms_text:nth-child(2)::after {
		content: "";
		display: block;
		position: absolute;
		bottom: -40px;
		left: 233px;
		width: 514px;
		height: 2px;
		background-color: var(--blue-color);
	}
	.w980:has(.complianceBox) > div.cms_text:nth-child(3)::before,
	.w980:has(.complianceBox) > div.cms_text:last-child::before {
		content: "";
		display: block;
		position: absolute;
		top: -40px;
		left: 233px;
		width: 2px;
		height: 40px;
		background-color: var(--blue-color);
	}
	.complianceBox h3 span {
		display: block;
	}
}
/* ------------------------------
 コンプライアンス（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.complianceBox {
		background: url(../img/linedot_bg_sp.svg) repeat 0 0 / 24px 24px;
	}
	.w980:has(.complianceBox) > div.cms_text:nth-child(3),
	.w980:has(.complianceBox) > div.cms_text:last-child {
		width: calc(100% - 40px);
		margin-left: 40px;
	}
	.w980:has(.complianceBox) > div.cms_text:first-child::after,
	.w980:has(.complianceBox) > div.cms_text:nth-child(2)::after {
		content: "";
		display: block;
		position: absolute;
		bottom: -40px;
		left: 19px;
		width: 2px;
		height: 40px;
		background-color: var(--blue-color);
	}
	.w980:has(.complianceBox) > div.cms_text:nth-child(3)::before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: -21px;
		width: 2px;
		height: calc(100% + 40px);
		background-color: var(--blue-color);
	}
	.w980:has(.complianceBox) > div.cms_text:nth-child(3)::after {
		content: "";
		display: block;
		position: absolute;
		top: 33px;
		left: -20px;
		width: 20px;
		height: 2px;
		background-color: var(--blue-color);
	}
	.w980:has(.complianceBox) > div.cms_text:last-child::before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: -21px;
		width: 2px;
		height: 21px;
		background-color: var(--blue-color);
	}
	.w980:has(.complianceBox) > div.cms_text:last-child:after {
		content: "";
		display: block;
		position: absolute;
		top: 20px;
		left: -21px;
		width: 21px;
		height: 2px;
		background-color: var(--blue-color);
	}
	.complianceBox h2 {
		margin-bottom: 20px;
		padding: 10px 20px;
		font-size: 1.8rem;
		line-height: 1.3;
		text-align: left;
	}
	.w980:has(.complianceBox) > div.cms_text:last-child h2 {
		letter-spacing: -.02em;
	}
	.complianceBox h3 {
		padding: 0 20px;
		font-size: 1.8rem;
	}
	.complianceBox p {
		padding: 0 20px 20px;
	}
	.w980:has(.complianceBox) > div.cms_text:first-child p span {
		display: inline-block;
	}
}
@media screen and (max-width: 375px) {
	.w980:has(.complianceBox) > div.cms_text:last-child h2 {
		letter-spacing: -.03em;
	}
}