@charset "utf-8";

/* -----------------------------------------------------------
    harass-area
-------------------------------------------------------------- */
.harass-area {
	margin-top: 80px;
}

.harass-area .harass-inner {
	border: var(--cmnborder) 1px solid;
}

.harass-header {
	cursor: pointer;
	font-size: 1.8rem;
	padding: 20px 50px;
	text-align: center;
	position: relative;
}

.harass-header.harass-active .deco span::after {
	transform: rotate(180deg);
}

.harass-header .deco {
	position: absolute;
	top: 27px;
	right: 25px;
	display: block;
}

.harass-header .deco span {
	position: relative;
	display: block;
	width: 22px;
	height: 22px;
}

.harass-header .deco span::before, .harass-header .deco span::after {
	position: absolute;
	width: 100%;
	height: 1px;
	content: '';
	transition: all .3s;
	background-color: #0f0f0f;
}

.harass-header .deco span::before {
	transform: rotate(0deg);
}

.harass-header .deco span::after {
	transform: rotate(90deg);
}

.harass-area .harass-body {
	display: none;
	padding: 10px 50px 30px;
}

.harass-area .harass-body .subttl:not(:first-of-type) {
	margin-top: 50px;
}

.harass-intro-date {
	color: var(--sub);
	font-size: 1.4rem;
	text-align: right;
	letter-spacing: 0;
	line-height: 1;
}

.harass-area .harass-intro-ttl {
	background: var(--main);
	color: #fff;
	font-size: 1.9rem;
	font-weight: bold;
	line-height: 1.3;
	margin-bottom: 15px;
	padding: 10px 20px;
	letter-spacing: .07em;
	margin: 20px 0 0;
}

.harass-area .harass-intro-descript {
	margin: 20px 0 0;
}

.harass-area .harass-intro-descript p {
	line-height: 1.8;
}

.harass-area .harass-intro-descript p:not(:first-of-type) {
	margin-top: 10px;
}

.harass-area .harass-box {
	margin: 30px 0 0;
}

.harass-area .harass-box-subttl {
	color: var(--main);
	font-size: 1.8rem;
	font-weight: bold;
	margin: 0 0 20px;
	border-bottom: 1px solid;
	padding: 0 0 10px;
}

.harass-area .harass-box-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.harass-area .harass-box-list li {
	line-height: 1.8;
}

.harass-area .harass-box-rule {
	margin: 25px 0 0;
	border: 1px solid var(--cmnborder);
	border-width: 1px 0 0 1px;
}

.harass-area .harass-box-rule dl {
	display: flex;
	line-height: 1.4;
	letter-spacing: .03em;
}

.harass-area .harass-box-rule dt {
	border: 1px solid var(--cmnborder);
	border-width: 0 1px 1px 0;
	background: var(--cmnbg);
	flex-shrink: 0;
	font-weight: 600;
	width: 200px;
	padding: 15px 15px 17px;
}

.harass-area .harass-box-rule dd {
	border: 1px solid var(--cmnborder);
	border-width: 0 1px 1px 0;
	flex-grow: 1;
	padding: 15px 15px 17px;
}

.harass-box-note p {
	line-height: 1.6;
}

.harass-area .harass-box-note p:not(:first-of-type) {
	margin-top: 10px;
}

.harass-profile {
	margin: 25px 0 0;
	background: var(--cmnbg);
	display: flex;
	gap: 30px;
	padding: 25px 25px 27px;
}

.harass-profile-ttl {
	color: var(--sub);
	font-weight: bold;
	font-size: 1.7rem;
	flex-shrink: 0;
}

.harass-profile-inner {
	display: flex;
	gap: 15px;
	flex-direction: column;
}

@media screen and (min-width: 769px) {
	.harass-profile-inner a[href^="tel:"] {
		color: var(--cmnblack);
	}
}

.harass-area .harass-close {
	font-size: 1.8rem;
	display: flex;
	width: 200px;
	margin: 20px auto 0;
	padding: 5px 0;
	cursor: pointer;
	color: #fff;
	background: var(--sub);
	align-items: center;
	justify-content: center;
}

.harass-area .ti-close {
	position: relative;
	display: inline-block;
	width: 25px;
	height: 25px;
}

.harass-area .ti-close::before, .harass-area .ti-close::after {
	position: absolute;
	top: 50%;
	width: 100%;
	height: 1px;
	margin: 0 5px;
	content: '';
	transition: all .3s;
	background-color: #fff;
}

.harass-area .ti-close::before {
	transform: rotate(-45deg);
}

.harass-area .ti-close::after {
	transform: rotate(45deg);
}

.harass-area .txt-close {
	margin: 0 0 0 10px;
}

@media screen and (max-width: 768px) {
	.harass-area {
		margin-top: 50px;
	}

	.harass-header {
		font-size: 1.5rem;
		padding: 15px 40px 15px 15px;
		text-align: left;
		line-height: 1.3;
	}

	.harass-header .deco {
		top: 35px;
		right: 15px;
	}

	.harass-header .deco span {
		width: 18px;
		height: 18px;
	}

	.harass-area .harass-body {
		padding: 0 15px 15px;
	}

	.harass-area .harass-intro-ttl {
		font-size: 1.6rem;
		margin: 15px 0 0;
		padding: 7px 10px 9px;
	}

	.harass-area .harass-intro-descript {
		font-size: 1.5rem;
	}

	.harass-area .harass-box {
		margin: 20px 0 0;
	}
	
	.harass-area .harass-box-subttl {
		font-size: 1.6rem;
		margin: 0 0 15px;
	}
	
	.harass-area .harass-box-note {
		font-size: 1.5rem;
	}
	
	.harass-area .harass-box-list {
		font-size: 1.5rem;
		gap: 10px;
	}
	
	.harass-area .harass-box-rule {
		margin: 15px 0 0;
	}
	
	.harass-area .harass-box-rule dl {
		flex-direction: column;
	}
	
	.harass-area .harass-box-rule dt {
		border-width: 0 1px 1px 0;
		width: 100%;
		padding: 8px 10px 10px;
	}
	
	.harass-area .harass-box-rule dd {
		border-width: 0 1px 1px 0;
		width: 100%;
		padding: 10px 5px 12px;
	}
	
	.harass-profile {
		flex-direction: column;
		gap: 15px;
		padding: 15px 15px 17px;
		margin: 20px 0 0;
	}
	
	.harass-profile-inner {
		font-size: 1.5rem;
		line-height: 1.8;
		gap: 7px;
	}
	
	.harass-profile-ttl {
		font-size: 1.6rem;
	}

	.harass-area .harass-close {
		font-size: 1.6rem;
		margin: 15px auto 0;
		padding: 2px 0;
	}

	.harass-area .ti-close {
		width: 20px;
		height: 20px;
	}
}