@charset "UTF-8";
/* ---------------------------------------
  企業理念
-----------------------------------------*/
/* sec_philosophy
--------------------------------*/
#sec_philosophy {
	padding: 9rem 0;
}
@media screen and (max-width: 767px) {
	#sec_philosophy {
		padding: 6rem 0;
	}
}
#sec_philosophy .box {
	width: 93.5rem;
	padding: 5rem 6rem;
	background-color: #fff;
	border: 0.2rem solid #ECECEC;
	border-radius: 0.8rem;
	box-shadow: 1.2rem 1.2rem 3.2rem rgba(0, 0, 0, 0.12);
	margin: 0 auto;
}
@media screen and (max-width: 767px) {
	#sec_philosophy .box {
		width: 100%;
		padding: 3rem 2rem;
		border: 1px solid #ECECEC;
	}
}
#sec_philosophy .box .lead {
	font-weight: 500;
	font-size: 2.8rem;
	line-height: 1.7857142857;
	letter-spacing: 0.08em;
}
#sec_philosophy .box .lead span {
	background: linear-gradient(transparent 70%, rgba(87, 222, 154, 0.5) 70%, rgba(87, 222, 154, 0.5) 100%);
}
@media screen and (max-width: 767px) {
	#sec_philosophy .box .lead {
		text-align: center;
		font-size: 1.8rem;
	}
}
#sec_philosophy .philosophy_list {
	margin-top: 3rem;
}
#sec_philosophy .philosophy_list .item {
	display: flex;
	align-items: flex-start;
	padding: 0 0 2rem;
}
@media screen and (max-width: 767px) {
	#sec_philosophy .philosophy_list .item {
		display: block;
	}
}
#sec_philosophy .philosophy_list .item + .item {
	padding-top: 2rem;
	border-top: 1px solid #F0F0F0;
}
#sec_philosophy .philosophy_list .item .ttl_wrap {
	width: 23rem;
	display: flex;
	align-items: center;
	gap: 0 1.8rem;
}
@media screen and (max-width: 767px) {
	#sec_philosophy .philosophy_list .item .ttl_wrap {
		width: 100%;
	}
}
#sec_philosophy .philosophy_list .item .ttl_wrap .ico {
	width: 8rem;
}
@media screen and (max-width: 767px) {
	#sec_philosophy .philosophy_list .item .ttl_wrap .ico {
		width: 6rem;
	}
}
#sec_philosophy .philosophy_list .item .ttl_wrap .ttl span {
	display: block;
}
#sec_philosophy .philosophy_list .item .ttl_wrap .ttl .en {
	color: #57DE9A;
	font-size: 1.8rem;
	line-height: 1.2222222222;
	letter-spacing: -0.04em;
}
@media screen and (max-width: 767px) {
	#sec_philosophy .philosophy_list .item .ttl_wrap .ttl .en {
		justify-content: center;
		font-size: 1.6rem;
		gap: 0 1.5rem;
	}
}
#sec_philosophy .philosophy_list .item .ttl_wrap .ttl .ja {
	color: #585852;
	font-weight: 500;
	font-size: 2.4rem;
	line-height: 1.2916666667;
	letter-spacing: 0.08em;
	margin-top: 0.3rem;
}
@media screen and (max-width: 767px) {
	#sec_philosophy .philosophy_list .item .ttl_wrap .ttl .ja {
		font-size: 2rem;
		line-height: 1.2;
	}
}
#sec_philosophy .philosophy_list .item .txt_wrap {
	flex: 1;
	margin-top: 1rem;
}
#sec_philosophy .philosophy_list .item .txt_wrap .txt {
	color: #585852;
	font-weight: 500;
	line-height: 1.8125;
	letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
	#sec_philosophy .philosophy_list .item .txt_wrap .txt {
		line-height: 1.7857142857;
	}
}
#sec_philosophy .philosophy_list .item .txt_wrap .txt .note {
	display: block;
	font-size: 1.2rem;
	line-height: 1.8333333333;
	letter-spacing: 0.1em;
	margin-top: 0.8rem;
}
@media screen and (max-width: 767px) {
	#sec_philosophy .philosophy_list .item .txt_wrap .txt .note {
		font-size: 1.1rem;
		line-height: 1.5;
	}
}
#sec_philosophy .bg_ob {
	width: 275.6rem;
	height: 89.1rem;
	left: calc(50% - 149rem);
	top: -16rem;
}
@media screen and (min-width: 1441px) {
	#sec_philosophy .bg_ob {
		width: 191.3888888889vw;
		left: -56.3194444444vw;
	}
}
@media screen and (max-width: 767px) {
	#sec_philosophy .bg_ob {
		width: 116.8rem;
		height: auto;
		left: -20.5rem;
		top: -14rem;
	}
}

/* sec_attitude
--------------------------------*/
#sec_attitude {
	padding: 9rem 0 11rem;
}
@media screen and (max-width: 767px) {
	#sec_attitude {
		padding: 6rem 0;
	}
}
#sec_attitude .wrap {
	display: flex;
	align-items: flex-start;
}
@media screen and (max-width: 767px) {
	#sec_attitude .wrap {
		display: block;
	}
}
#sec_attitude .sec_ttl {
	flex: 1;
}
@media screen and (max-width: 767px) {
	#sec_attitude .sec_ttl {
		text-align: center;
	}
}
#sec_attitude .txt_wrap {
	width: 93.5rem;
	margin-top: 1rem;
}
@media screen and (max-width: 767px) {
	#sec_attitude .txt_wrap {
		width: 100%;
		margin-top: 5.4rem;
	}
}
#sec_attitude .txt_wrap .ttl {
	color: #585852;
	font-weight: 500;
	font-size: 2.4rem;
	line-height: 1.2916666667;
	letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
	#sec_attitude .txt_wrap .ttl {
		font-size: 2rem;
		line-height: 1.2;
	}
}
#sec_attitude .txt_wrap .txt {
	color: #585852;
	font-weight: 500;
	line-height: 1.8125;
	letter-spacing: 0.1em;
	margin-top: 3.1rem;
}
@media screen and (max-width: 767px) {
	#sec_attitude .txt_wrap .txt {
		line-height: 1.7857142857;
		margin-top: 2rem;
	}
}
#sec_attitude .txt_wrap ul li {
	position: relative;
	line-height: 1.25;
	letter-spacing: 0;
	padding-left: 1.5em;
}
@media screen and (max-width: 767px) {
	#sec_attitude .txt_wrap ul li {
		line-height: 1.7857142857;
	}
}
#sec_attitude .txt_wrap ul li::before {
	content: "";
	width: 0.5em;
	height: 0.5em;
	background-color: #57DE9A;
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: 0.5em;
}
@media screen and (max-width: 767px) {
	#sec_attitude .txt_wrap ul li::before {
		top: 0.7em;
	}
}
#sec_attitude .txt_wrap ul li + li {
	margin-top: 1.2rem;
}

/* sec_guideline
--------------------------------*/
#sec_guideline {
	padding: 15rem 0 12rem;
}
@media screen and (max-width: 767px) {
	#sec_guideline {
		padding: 6rem 0 6rem;
	}
}
#sec_guideline .box {
	padding: 4rem 6rem;
	background-color: #fff;
	border: 0.2rem solid #ECECEC;
	border-radius: 0.8rem;
	box-shadow: 1.2rem 1.2rem 3.2rem rgba(0, 0, 0, 0.12);
	margin-top: 6rem;
}
@media screen and (max-width: 767px) {
	#sec_guideline .box {
		padding: 3rem 2rem;
		border: 1px solid #ECECEC;
		margin-top: 2.5rem;
	}
}
#sec_guideline .guideline_list .item {
	min-height: 16.3rem;
	display: flex;
	gap: 0 2rem;
	padding: 0 0 2.9rem;
	border-bottom: 1px solid #E6E6D8;
}
@media screen and (max-width: 767px) {
	#sec_guideline .guideline_list .item {
		min-height: inherit;
		display: block;
	}
}
#sec_guideline .guideline_list .item + .item {
	margin-top: 3rem;
}
#sec_guideline .guideline_list .item .ttl_wrap {
	width: 40rem;
}
@media screen and (max-width: 767px) {
	#sec_guideline .guideline_list .item .ttl_wrap {
		width: 100%;
	}
}
#sec_guideline .guideline_list .item .ttl_wrap .num {
	color: #57DE9A;
	font-size: 3.6rem;
	line-height: 1;
	letter-spacing: -0.04em;
}
#sec_guideline .guideline_list .item .ttl_wrap .ttl {
	color: #585852;
	font-weight: 500;
	font-size: 2.4rem;
	line-height: 1.2916666667;
	letter-spacing: 0.08em;
	margin-top: 1rem;
}
@media screen and (max-width: 767px) {
	#sec_guideline .guideline_list .item .ttl_wrap .ttl {
		font-size: 2rem;
		line-height: 1.2;
	}
}
#sec_guideline .guideline_list .item .txt_wrap {
	flex: 1;
	margin-top: 4.6rem;
}
@media screen and (max-width: 767px) {
	#sec_guideline .guideline_list .item .txt_wrap {
		margin-top: 2rem;
	}
}
#sec_guideline .guideline_list .item .txt_wrap .txt {
	color: #585852;
	font-weight: 500;
	line-height: 1.8125;
	letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
	#sec_guideline .guideline_list .item .txt_wrap .txt {
		line-height: 1.7857142857;
	}
}
#sec_guideline .bg_ob {
	width: 275.6rem;
	height: 89.1rem;
	left: calc(50% - 140rem);
	top: -21.5rem;
}
@media screen and (min-width: 1441px) {
	#sec_guideline .bg_ob {
		width: 191.3888888889vw;
		left: -47.8472222222vw;
	}
}
@media screen and (max-width: 767px) {
	#sec_guideline .bg_ob {
		width: 116.8rem;
		height: auto;
		left: -42.5rem;
		top: -10rem;
	}
}