@charset "UTF-8";

/*
---------------------------------------
詳細
---------------------------------------
*/

.case.detail .page-header .ttl-box .ttl01 .ja,
.result.detail .page-header .ttl-box .ttl01 .ja {
	font-size: 4rem;
	font-weight: 700;
	line-height: 1.45;
}

.sec-staff {
	position: relative;
	margin-top: 9.8rem;
	padding: 0 20px;
	z-index: 0;
}

.sec-staff::before {
	content: '';
	position: absolute;
	bottom: -158px;
	right: min(72vw,calc(50vw + 374px));
	display: block;
	width: min(406px,24.47vw);
	aspect-ratio: 406 / 358;
	background: #fbe851;
	mask: url(../img/common/deco1.svg) center / contain no-repeat;
	transform: rotate(-12.35deg);
	z-index: -1;
}

.sec-staff .inner {
	position: relative;
}

.sec-staff .staff-ttl {
	position: absolute;
	top: -2.5rem;
	left: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24rem;
	height: 5rem;
	background: #222;
	border-radius: 50px;
	color: #fff;
	font-family: "Outfit", sans-serif;
	font-weight: 600;
	font-size: 1.7rem;
	letter-spacing: .08em;
	margin: auto;
	text-align: center;
	z-index: 1;
}

.sec-staff .staff-box-ul {
	position: relative;
	background: #fff;
	border: solid 3px #222;
	border-radius: 15px;
	padding: 4.4rem 7rem 5rem 7rem;
}

.sec-staff .staff-box-ul::before,
.sec-staff .staff-box-ul::after {
	content: '';
	position: absolute;
	display: block;
	width: 24px;
	height: 4px;
	background: #fff radial-gradient(circle at center, #222 1.5px, transparent 1.5px) center / 8px 3px repeat-x;
	border: solid #fff;
	border-width: 0 8px;
	text-align: center;
}

.sec-staff .staff-box-ul::before {
	top: -3.5px;
	left: 30px;
}

.sec-staff .staff-box-ul::after {
	bottom: -3.5px;
	right: 30px;
}

.sec-staff .staff-box-li {
	display: flex;
}

.sec-staff .staff-box-li + .staff-box-li {
	margin-top: 4rem;
}

.sec-staff .staff-txtbox {
	flex: 1;
}

.sec-staff .staff-name {
	position: relative;
	align-items: center;
	justify-content: flex-start;
	gap: 2rem;
}

.sec-staff .staff-name::before {
	content: '';
	position: absolute;
	top: calc(50% - 1px);
	right: calc(100% + 2rem);
	display: block;
	width: 7rem;
	height: 2px;
	background: #e74921;
}

.sec-staff .staff-name .name {
	font-family: "Outfit", sans-serif;
	font-size: 3.2rem;
	font-weight: 500;
	letter-spacing: .08em;
}

.sec-staff .staff-name .job {
	color: #e74921;
	font-family: "Outfit", sans-serif;
	letter-spacing: .06em;
}

.sec-staff .txt {
	font-size: 1.8rem;
	margin-top: 1rem;
}

.sec-staff .img {
	flex: 0 0 21.9rem;
	margin-left: 3rem;
}

.sec-staff .img img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	border: solid 4px #fff;
	border-radius: 50%;
	object-fit: cover;
}

@media screen and (min-width: 751px) {
	.case.detail .page-header .ttl-box,
	.result.detail .page-header .ttl-box {
		transform: translateY(-.6em);
	}

	.case.detail .page-header .ttl-box:has(br~br~br),
	.result.detail .page-header .ttl-box:has(br~br~br) {
		transform: translateY(-3.2em);
	}
}

@media screen and (max-width: 750px) {
	.case.detail .page-header .ttl-box,
	.result.detail .page-header .ttl-box {
		padding: 0 20px;
	}

	.case.detail .page-header .ttl-box .ttl01 .ja,
	.result.detail .page-header .ttl-box .ttl01 .ja {
		font-size: 5.3333vw;
		line-height: 1.5;
	}

	.detail .service_seminar_banner {
		margin-top: 60px;
	}

	section.service_seminar_banner {
        margin-bottom: 14vw;
    }


	.sec-staff {
		margin-top: 60px;
	}

	.sec-staff::before {
		bottom: -47px;
        right: calc(50vw + 68px);
        width: 204px;
	}

	.sec-staff .staff-ttl {
		top: -19px;
		width: 180px;
		height: 40px;
		font-size: 14px;
	}

	.sec-staff .staff-box-ul {
		border-width: 1.5px;
		padding: 44px 24px 20px 24px;
	}

	.sec-staff .staff-box-ul::before,
	.sec-staff .staff-box-ul::after {
		width: 12px;
		height: 2px;
		background: #fff radial-gradient(circle at center, #222 0.75px, transparent 0.75px) center / 4px 1.5px repeat-x;
		border-width: 0 4px;
	}

	.sec-staff .staff-box-ul::before {
		top: -1.75px;
		left: 29px;
	}

	.sec-staff .staff-box-ul::after {
		bottom: -1.75px;
		right: 23px;
	}

	.sec-staff .staff-box-li {
		flex-direction: column-reverse;
	}

	.sec-staff .staff-txtbox {
		flex: auto;
		width: 100%;
	}

	.sec-staff .staff-name {
		display: block;
		line-height: 1.3;
		padding-bottom: 24px;
		text-align: center;
	}

	.sec-staff .staff-name::before {
		content: '';
		position: absolute;
		top: unset;
		right: 0;
		left: 0;
		bottom: 0;
		width: 35px;
		margin: auto;
	}

	.sec-staff .staff-name .name {
		font-size: 24px;
	}

	.sec-staff .staff-name .job {
		font-size: 12px;
	}

	.sec-staff .txt {
		font-size: 14px;
		line-height: calc(52/28);
		margin-top: 16px;
	}

	.sec-staff .img {
		flex: auto;
		width: 164px;
		margin: 0 auto 13px;
	}

	.sec-staff .img img {
		border-width: 2px;
	}

}