/* ---------------------------------------
    service
-----------------------------------------*/
/* sec_intro
--------------------------------*/
#sec_intro .txt_wrap {
	width: 50%;
	margin-left: auto;
	margin-top: -3rem;
}
@media screen and (max-width: 767px) {
	#sec_intro .txt_wrap {
		width: 100%;
		margin-top: 3rem;
	}
}
#sec_intro .txt_wrap .txt {
	font-size: 2.2rem;
	line-height: 1.7727272727;
	letter-spacing: -0.1em;
}
@media screen and (max-width: 767px) {
	#sec_intro .txt_wrap .txt {
		font-size: 1.4rem;
		line-height: 1.6428571429;
	}
}

/* sec_service
--------------------------------*/
#sec_service {
	margin-top: 12rem;
}
@media screen and (max-width: 767px) {
	#sec_service {
		margin-top: 6rem;
	}
}
#sec_service .service_list {
	margin-top: 6rem;
}
@media screen and (max-width: 767px) {
	#sec_service .service_list {
		margin-top: 3.5rem;
	}
}
#sec_service .service_list .item {
	display: flex;
	padding: 4.5rem 5rem 10rem;
	background-color: #000;
}
@media screen and (max-width: 767px) {
	#sec_service .service_list .item {
		display: block;
		padding: 2.5rem 2rem 2rem;
	}
}
#sec_service .service_list .item + .item {
	margin-top: 6rem;
}
@media screen and (max-width: 767px) {
	#sec_service .service_list .item + .item {
		margin-top: 2rem;
	}
}
#sec_service .service_list .item > * {
	width: 50%;
}
@media screen and (max-width: 767px) {
	#sec_service .service_list .item > * {
		width: 100%;
	}
}
#sec_service .service_list .item .ttl {
	color: #FFFF00;
	font-size: 8rem;
	line-height: 1;
	letter-spacing: -0.01em;
}
@media screen and (max-width: 767px) {
	#sec_service .service_list .item .ttl {
		font-size: 3.2rem;
	}
}
#sec_service .service_list .item .txt_wrap {
	margin-top: 4.5rem;
}
@media screen and (max-width: 767px) {
	#sec_service .service_list .item .txt_wrap {
		margin-top: 2.5rem;
	}
}
#sec_service .service_list .item .txt_wrap .ttl_s {
	color: #FFFF00;
	font-weight: 700;
	font-size: 2.8rem;
	line-height: 1.985;
}
@media screen and (max-width: 767px) {
	#sec_service .service_list .item .txt_wrap .ttl_s {
		font-size: 2rem;
		line-height: 1.3;
	}
}
#sec_service .service_list .item .txt_wrap .catch {
	color: #ffffff;
	font-size: 2.2rem;
	line-height: 1.7727272727;
	margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
	#sec_service .service_list .item .txt_wrap .catch {
		font-size: 1.8rem;
		line-height: 1.5555555556;
		margin-top: 2.2rem;
	}
}
#sec_service .service_list .item .txt_wrap .txt {
	color: #ffffff;
	font-size: 1.6rem;
	line-height: 1.5;
	margin-top: 1.8rem;
	letter-spacing: -0.075em;
}
@media screen and (max-width: 767px) {
	#sec_service .service_list .item .txt_wrap .txt {
		font-size: 1.4rem;
		line-height: 1.6428571429;
		margin-top: 1.2rem;
	}
}
#sec_service + .sec_link {
	margin-top: 12rem;
}
@media screen and (max-width: 767px) {
	#sec_service + .sec_link {
		margin-top: 2rem;
	}
}

/* sec_production
--------------------------------*/
#sec_production {
	margin-top: 17rem;
}
@media screen and (max-width: 767px) {
	#sec_production {
		margin-top: 7rem;
	}
}
#sec_production .sec_ttl .ja {
	letter-spacing: -0.05em;
}
#sec_production .sec_ttl .ja .ls {
	letter-spacing: -0.15em;
}
#sec_production .txt_wrap {
	width: 50%;
	margin-left: auto;
	margin-top: -4rem;
}
@media screen and (max-width: 767px) {
	#sec_production .txt_wrap {
		width: 100%;
		margin-top: 5rem;
	}
}
#sec_production .txt_wrap .catch {
	font-weight: 700;
	font-size: 2.8rem;
	line-height: 1.5;
}
@media screen and (max-width: 767px) {
	#sec_production .txt_wrap .catch {
		font-size: 1.8rem;
	}
}
#sec_production .txt_wrap .catch + .txt {
	margin-top: 1.5em;
}
@media screen and (max-width: 767px) {
	#sec_production .txt_wrap .catch + .txt {
		margin-top: 1em;
	}
}
#sec_production .txt_wrap .txt {
	font-size: 2.2rem;
	line-height: 1.7727272727;
	letter-spacing: -0.1em;
}
@media screen and (max-width: 767px) {
	#sec_production .txt_wrap .txt {
		font-size: 1.4rem;
		line-height: 1.6428571429;
	}
}
#sec_production .txt_wrap .update {
	font-size: 7.056rem;
	line-height: 1;
	margin-top: 0.75em;
}
@media screen and (max-width: 767px) {
	#sec_production .txt_wrap .update {
		font-size: 4rem;
	}
}
#sec_production .production_list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10.5rem;
	margin-top: 8rem;
}
@media screen and (max-width: 767px) {
	#sec_production .production_list {
		grid-template-columns: 1fr;
		gap: 5.5rem 0;
		margin-top: 3rem;
	}
}
#sec_production .production_list .item .img {
	width: 100%;
	aspect-ratio: 1/1;
}
#sec_production .production_list .item .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#sec_production .production_list .item .name {
	font-weight: 700;
	font-size: 2.2rem;
	margin-top: 3rem;
}
@media screen and (max-width: 767px) {
	#sec_production .production_list .item .name {
		font-size: 2rem;
	}
}
#sec_production .production_list .item .txt {
	font-size: 1.6rem;
	line-height: 1.5;
	letter-spacing: -0.075em;
	margin-top: 3rem;
}
@media screen and (max-width: 767px) {
	#sec_production .production_list .item .txt {
		font-size: 1.4rem;
		line-height: 1.6428571429;
		margin-top: 1.5rem;
	}
}
#sec_production .production_list .item .work {
	padding-top: 2.5rem;
	border-top: 1px solid #000;
	margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
	#sec_production .production_list .item .work {
		padding-top: 2rem;
		margin-top: 2rem;
	}
}
#sec_production .production_list .item .work li {
	font-size: 1.6rem;
	line-height: 1.5;
	letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
	#sec_production .production_list .item .work li {
		font-size: 1.4rem;
		line-height: 1.6428571429;
	}
}