@charset "utf-8";

.harassment #visual {
	padding: 0;
	border-bottom: 5px solid #141b4d;
}

.harassment .visual__title {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}

.harassment #cont {
	margin-bottom: 0;
	padding-bottom: 105px;
}

.harassment .wrap {
	max-width: 1000px;
	margin: 20px auto 0;
	text-align: left;
}

.harassment__lead {
	font-size: 16px;
	line-height: 2;
	margin-bottom: 88px;
}

.harassment__lead p + p {
	margin-top: 32px;
}

.harassment .section__heading {
	border-bottom: 1px solid #ccc;
	padding-bottom: 10px;
	margin-bottom: 36px;
}

.harassment .section__title--en {
	display: block;
	margin-bottom: 12px;
	color: #141b4d;
	font-size: 12px;
	line-height: 1.4;
}

.harassment .section__title {
	font-size: 28px;
	font-weight: 700;
	line-height: 1.5;
	color: #000;
}

.harassment .rule {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 40px;
	box-sizing: border-box;
	min-height: 230px;
	padding: 24px 27px 20px;
	border: 3px solid #d0d0d0;
}

.harassment .rule + .rule {
	margin-top: 20px;
}

.harassment .rule__content {
	flex: 1;
	min-width: 0;
}

.harassment .rule__title {
	padding: 4px 15px;
	border-left: 5px solid #141b4d;
	border-bottom: 1px solid #ccc;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.6;
	color: #000;
}

.harassment .rule ul {
	width: calc(100% + 12px);
	box-sizing: border-box;
	margin: 20px 0 0 8px;
	letter-spacing: -.4px;
	padding-left: 18px;
	list-style: disc;
	font-size: 14px;
	line-height: 2;
}

.harassment strong {
	font-weight: 700;
}

.harassment .rule__img {
	flex: 0 0 300px;
	width: 300px;
	height: auto;
}

.harassment__consultation {
	margin-top: 60px;
}

.harassment__consultation .section__heading {
	margin-bottom: 30px;
}

.harassment .consultation__body {
	font-size: 14px;
	line-height: 2;
}

.harassment .consultation__body > p {
	margin-left: 80px;
}

.harassment .consultation__contact {
	box-sizing: border-box;
	max-width: 800px;
	margin: 40px auto 0;
	padding: 28px 20px;
	border: 3px solid #e6e6e6;
	text-align: center;
}

.harassment .consultation__contact h3 {
	font-size: 22px;
	font-weight: 700;
	line-height: 1.6;
	color: #000;
}

.harassment .consultation__contact p {
	margin-top: 24px;
	font-size: 18px;
}

.harassment .consultation__contact span {
	display: inline-block;
}

@media screen and (max-width:959px) {
	/* SP画像にはタイトルと下端の罫線を含む。 */
	.harassment #visual {
		border-bottom: 0;
	}

	.harassment #visual img {
		height: auto;
	}

	.harassment #cont {
		padding-bottom: 85px;
	}

	.harassment .wrap {
		margin-top: 40px;
	}

	.harassment__lead {
		font-size: 16px;
		line-height: 2;
		margin-bottom: 60px;
	}

	.harassment__lead p + p {
		margin-top: 32px;
	}

	.harassment .section__heading {
		padding-bottom: 20px;
		margin-bottom: 20px;
	}

	.harassment .section__title--en {
		margin-bottom: 12px;
	}

	.harassment .section__title {
		font-size: 28px;
		line-height: 1.2;
	}

	.harassment .rule {
		flex-direction: column;
		gap: 24px;
		min-height: 0;
		padding: 24px 17px 28px;
		border-width: 3px;
	}

	.harassment .rule__content {
		width: 100%;
	}

	.harassment .rule__title {
		font-size: 20px;
	}

	.harassment .rule ul {
		width: auto;
		letter-spacing: normal;
		margin: 20px 0 0 22px;
		padding-left: 18px;
	}

	.harassment .rule__img {
		flex: none;
		width: 100%;
		max-width: 300px;
		align-self: center;
	}

	.harassment__consultation {
		margin-top: 60px;
	}

	.harassment__consultation .section__heading {
		margin-bottom: 20px;
	}

	.harassment .consultation__body > p {
		margin-left: 0;
	}

	.harassment .consultation__contact {
		margin-top: 24px;
		padding: 18px 15px 22px;
		border-width: 3px;
	}

	.harassment .consultation__contact h3 {
		font-size: 22px;
		line-height: 1.3;
	}

	.harassment .consultation__contact p {
		margin-top: 28px;
		font-size: 18px;
	}
}
