@charset "utf-8";
.wrap p, .wrap1400 p {
		font-size: 18px;
		line-height: 1.8;
		margin: 0 0 2em
}
.en_hd {
		color: #59AD00;
		font-family: "Barlow Condensed", sans-serif;
		font-size: 30px;
		font-weight: 700;
		letter-spacing: 0;
		margin: 0 0 40px;
}
.en_hd span {
		display: inline-block;
		position: relative;
		padding-left: 60px;
}
.en_hd span::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 2.5px);
		left: 0px;
		width: 39px;
		height: 5px;
		background: #59AD00;
}
.company_hd {
		font-size: 44px;
		font-family: "MOBO700";
		margin: 0 0 50px;
		line-height: 1.4;
}
.service_section {
		padding: 0 0 120px;
}
.access_section {
		padding: 120px 0 200px
}
@media(max-width: 767px) {
		.service_section {
				padding: 0 0 80px;
		}
		.access_section {
				padding: 80px 0 120px
		}
}
.service_grid {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 68px 15px;
}
.service_item {
		background-repeat: repeat;
		background-position: center center;
		background-size: 500px;
		background-image: url("../images/blk_bg.png");
		color: #f5f5f5;
		padding: 70px 35px 40px;
		box-sizing: border-box;
}
.service_item_pict {
		width: 170px;
		margin: 0 auto 40px;
}
.service_item_pict img {
		width: 100%;
		height: auto
}
.service_item_hd {
		font-family: "MOBO700";
		font-size: 24px;
		margin: 0 0 15px;
		text-align: center;
}
.service_item p {
		line-height: 1.8;
		margin: 0 !important;
		text-align: justify;
}
@media(max-width: 1200px) {
		.service_item_hd {
				font-size: 20px;
		}
		.service_item {
				padding: 50px 20px 30px;
		}
		.service_item_pict {
				width: 150px;
				margin: 0 auto 30px;
		}
		.service_item p {
				font-size: 16px;
		}
}
.member_section {
		padding: 120px 0;
		background: #fff;
}
@media(max-width: 767px) {
		.member_section {
				padding: 80px 0;
		}
}
.loop_wrap {
		padding: 50px 0 130px;
		overflow: hidden
}
.loop_item img {
		width: 100%;
		height: auto;
}
.loop_item.slide-1 {
		width: 2700px;
}
.loop_item.slide-2 {
		width: 2650px;
}
@media(max-width: 960px) {
		.loop_item.slide-1 {
				width: 2160px;
		}
		.loop_item.slide-2 {
				width: 2120px;
		}
}
@media(max-width: 767px) {
		.loop_item.slide-1 {
				width: 1350px;
		}
		.loop_item.slide-2 {
				width: 1325px;
		}
}
.loop_slider, .reverse_slider {
		display: flex;
		width: 100%;
}
.loop_inner, .reverse_inner {
		display: flex;
}
.loop_inner:first-child {
		animation: loop 120s linear infinite;
}
.loop_inner:nth-child(2) {
		animation: loop2 120s -80s linear infinite;
}
.loop_inner:last-child {
		animation: loop3 120s -40s linear infinite;
}
.reverse_slider .reverse_inner:first-child {
		animation: loop4 120s linear infinite;
}
.reverse_slider .reverse_inner:nth-child(2) {
		animation: loop5 120s -80s linear infinite;
}
.reverse_slider .reverse_inner:last-child {
		animation: loop6 120s -40s linear infinite;
}
@keyframes loop {
		0% {
				transform: translateX(200%);
		}
		to {
				transform: translateX(-100%);
		}
}
@keyframes loop2 {
		0% {
				transform: translateX(100%);
		}
		to {
				transform: translateX(-200%);
		}
}
@keyframes loop3 {
		0% {
				transform: translateX(0%);
		}
		to {
				transform: translateX(-300%);
		}
}
@keyframes loop4 {
		0% {
				transform: translateX(-100%);
		}
		to {
				transform: translateX(200%);
		}
}
@keyframes loop5 {
		0% {
				transform: translateX(-200%);
		}
		to {
				transform: translateX(100%);
		}
}
@keyframes loop6 {
		0% {
				transform: translateX(-300%);
		}
		to {
				transform: translateX(0%);
		}
}
.staff_flex {
		display: flex;
		justify-content: space-between;
}
.staff_item {
		width: calc(calc(100% - 80px) / 2);
		position: relative;
}
.staff_item::before {
		content: '';
		display: block;
		position: absolute;
		top: 60px;
		right: -60px;
		width: 235px;
		height: 3px;
		background: #59AD00;
		transform: rotate(45deg)
}
.staff_item img {
		width: 100%;
		height: auto
}
.staff_photo {
		margin: 0 0 25px;
		position: relative;
		z-index: 2
}
.staff_hd {
		font-family: "MOBO700";
		font-size: 30px;
		margin: 0 0 25px
}
.staff_item ul {
		font-size: 18px;
		list-style: none
}
.staff_item ul li {
		margin: 0 0 10px
}
.staff_item ul li:last-child {
		margin: 0;
}
.access_flex {
		display: flex;
		margin: 0 0 40px;
		justify-content: space-between;
}
.access_col {
		width: 50%;
}
.access_col p {
		margin: 0 !important
}
.access_map {
		margin-bottom: 100px;
}
.access_map iframe {
		width: 100%;
		height: auto;
		aspect-ratio: 10 / 4.2;
}
@media(max-width: 960px) {
		.company_hd {
				font-size: 36px;
				margin: 0 0 30px;
		}
		.service_grid {
				display: grid;
				grid-template-columns: repeat(2, 1fr);
				gap: 20px 20px;
		}
		.service_item {
				padding: 50px 20px 30px;
		}
		.service_item_pict {
				width: 60%;
				margin: 0 auto 20px;
		}
		.service_item_hd {
				font-size: 20px;
				margin: 0 0 10px;
		}
		.service_item p {
				font-size: 16px;
		}
		.staff_hd {
				font-size: 24px;
				margin: 0 0 20px;
		}
		.wrap p, .wrap1400 p {
				font-size: 16px;
		}
}
@media(max-width: 767px) {
		.wrap p, .wrap1400 p {
				font-size: 15px;
				margin: 0 0 1em
		}
		.company_hd {
				font-size: 30px;
				margin: 0 0 30px;
				line-height: 1.4;
		}
		.en_hd {
				font-size: 22px;
				margin: 0 0 25px;
		}
		.en_hd span {
				padding-left: 35px;
		}
		.en_hd span::before {
				top: calc(50% - 1.5px);
				left: 0px;
				width: 25px;
				height: 3px;
		}
		.loop_wrap {
				padding: 20px 0 60px;
		}
		.service_grid {
				display: grid;
				grid-template-columns: repeat(2, 1fr);
				gap: 7px;
		}
		.service_item {
				padding: 20px 8px;
				margin: 0;
		}
		.service_item_pict {
				width: 70%;
				max-width: 100px;
				margin: 0 auto 15px;
		}
		.service_item_hd {
				font-size: 16px;
				margin: 0 0 10px;
				line-height: 1.5;
		}
		.service_item p {
				line-height: 1.6;
				font-size: 14px;
		}
		.staff_item {
				width: calc(calc(100% - 20px) / 2);
		}
		.staff_item::before {
				top: 12px;
				right: -20px;
				width: 70px;
				height: 1px;
		}
		.staff_photo {
				margin: 0 0 15px;
		}
		.staff_hd {
				font-size: 20px;
				margin: 0 0 20px
		}
		.staff_item ul {
				font-size: 13px;
		}
		.staff_item ul li {
				line-height: 1.5;
				margin: 0 0 5px
		}
		.access_flex {
				display: block;
				margin: 0;
		}
		.access_col {
				width: 100%;
				margin: 0 0 20px
		}
		.access_map iframe {
				aspect-ratio: 4 / 3;
		}
}