@charset "UTF-8";
/*-----------------------------------
	mainvisual
-----------------------------------*/
#mainvisual {
	width: 100%;
	height: 200px;
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: cover;
}
@media screen and (max-width: 767px) {
	#mainvisual {
		height: 26.07vw;
	}
}
/*-----------------------------------
	breadcrumb
-----------------------------------*/
#breadcrumb ul {
	display: flex;
	gap: 30px;
	padding: 15px 0;
	margin-bottom: 35px;
}
#breadcrumb ul li {
	font-weight: 300;
	text-box: var(--txtB);
	padding: 3px 0;
	position: relative;
	color: var(--mClr3);
}
#breadcrumb ul li:not(:last-child)::after {
	content: '';
	width: 7px;
	height: 13px;
	background: url(../img/common/icon_arrow_r_b.svg) no-repeat center/contain;
	position: absolute;
	top: calc(50% - 6.5px);
	left: calc(100% + 11.5px);
}
#breadcrumb ul li a {
	display: block;
	color: var(--mClr3);
}
#breadcrumb ul li.home {
	padding-left: 20px;
	background: url(../img/common/icon_home.svg) no-repeat left center/14px;
}
#breadcrumb ul li.current {
	font-weight: 400;
}
@media screen and (max-width: 767px) {
	#breadcrumb ul {
		gap: 6.52vw;
		padding: 1.95vw 0;
		margin-bottom: 3.91vw;
	}
	#breadcrumb ul li {
		padding: 0.39vw 0;
		font-size: max(2.6vw,1.1rem);
	}
	#breadcrumb ul li:not(:last-child)::after {
		width: 1.3vw;
		height: 2.48vw;
		top: calc(50% - 1.24vw);
		left: calc(100% + 2.61vw);
	}
	#breadcrumb ul li.home {
		padding-left: 3.26vw;
		background: url(../img/common/icon_home.svg) no-repeat left center/2.6vw;
	}
}
/*-----------------------------------
	common
-----------------------------------*/
#contents section {
	width: min(1820px,100vw);
	margin: 0 auto;
}
#contents section:not(:last-of-type) {
	padding-bottom: min(140px,10.94vw);
}
#contents h2 {
	font: 300 min(4rem,3.84vw)/1 var(--fJA);
	letter-spacing: 0.035em;
	padding: 0 0 0 min(30px,2.88vw);
	border-left: 9px solid var(--mClr1);
	margin-bottom: min(45px,4.32vw);
	color: var(--mClr3);
	position: relative;
}
#contents h2::before {
	display: block;
	font: 400 min(1.6rem,1.54vw)/1 var(--fJA);
	letter-spacing: 0.013em;
	color: var(--mClr1);
	margin-bottom: min(10px,0.96vw);
}
#contents h2::after {
	content: '';
	width: min(86px,8.27vw);
	height: min(26px,2.5vw);
	background: #E4E5E6;
	clip-path: polygon(calc(100% - 9px) 0%, 100% 0%, 9px 100%, 0% 100%);
	position: absolute;
	bottom: 0;
	left: -9px;
	z-index: -1;
}
@media screen and (max-width: 767px) {
	#contents section:not(:last-of-type) {
		padding-bottom: 14.34vw;
	}
	#contents h2 {
		font-size: 6.52vw;
		border-left: 1.17vw solid var(--mClr1);
		padding: 6.52vw 0 0 3vw;
		margin-bottom: 4.56vw;
	}
	#contents h2::before {
		font-size: 2.74vw;
		margin-bottom: 1.3vw;
	}
	#contents h2::after {
		width: 11.21vw;
		height: 3.4vw;
		clip-path: polygon(calc(100% - 1.17vw) 0%, 100% 0%, 1.17vw 100%, 0% 100%);
		left: -1.17vw;
	}
}