@charset "utf-8";
/* ============= */
.swiper img {
		width: 100%;
		height: auto
}
.swiper-slide-shadow-left, .swiper-slide-shadow-right {
		background: none !important;
}
/* ================== */
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-bullet {
		width: 10px;
		height: 10px;
		border-radius: 50%;
		box-sizing: border-box;
		opacity: 1;
		border: 1px solid #3DAE35;
		background: none;
		margin: 0 7px !important;
}
@media(max-width: 767px) {
		.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-bullet {
				margin: 0 5px !important;
		}
}
.swiper-pagination-bullet-active {
		background: #3DAE35 !important;
}
.top_works_wrap .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .top_works_wrap .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet, .top_works_wrap .swiper-pagination-bullet {
		border: 1px solid #fff;
}
.top_works_wrap .swiper-pagination-bullet-active {
		background: #fff !important;
}
/* ============= */
.swiper-slide.news_item {
		width: 300px;
}
.news_thumb {
		margin-bottom: 15px;
		overflow: hidden;
		border-radius: 10px;
}
.news_thumb img {
		width: 100%;
		height: auto;
		transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.news_item a {
		color: #1e1e1e;
		text-decoration: none;
}
@media (hover: hover) {
		.news_item a:hover img {
				transform: scale(1.04)
		}
}
.news_caption time {
		font-size: 14px;
		margin: 0 0 15px;
		display: block;
}
.news_caption p {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		overflow: hidden;
		text-overflow: ellipsis;
		-webkit-line-clamp: 2;
		line-height: 1.8;
}
.news_btn_gr {
		width: 130px;
		margin: 50px 0 0;
		display: flex;
		justify-content: space-between;
}
.news_btn_gr .btn_prev, .news_btn_gr .btn_next {
		width: 55px;
		height: 55px;
		cursor: pointer;
		color: rgba(255, 255, 255, 0);
		pointer-events: all;
		position: relative;
}
.news_btn_gr .btn_prev::before, .news_btn_gr .btn_prev::after, .news_btn_gr .btn_next::before, .news_btn_gr .btn_next::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		width: 55px;
		height: 55px;
		pointer-events: none;
}
.news_btn_gr .btn_prev::before, .news_btn_gr .btn_next::before {
		background: #3DAE35;
		border-radius: 50%;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
@media (hover: hover) {
		.news_btn_gr .btn_prev:hover::before, .news_btn_gr .btn_next:hover::before {
				transform: scale(1.1)
		}
}
.news_btn_gr .btn_prev::after, .news_btn_gr .btn_next::after {
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 100%;
}
.news_btn_gr .btn_prev::after {
		background-image: url("../images/pagenav_arw_prev_wht.png")
}
.news_btn_gr .btn_next::after {
		background-image: url("../images/pagenav_arw_next_wht.png")
}
@media(min-width: 961px) {
		.top_news_left .news_btn_gr {
				display: none
		}
}
@media(max-width: 960px) {
		.top_news_left_flex {
				display: flex;
				align-items: center;
				justify-content: space-between;
				padding-right: 25px;
		}
		.top_news_right .news_btn_gr {
				display: none
		}
		.news_btn_gr {
				width: 130px;
				margin: 0;
				position: relative;
				top: -8px
		}
}
@media(max-width: 767px) {
		.news_btn_gr {
				width: 95px;
				top: -8px
		}
		.news_btn_gr .btn_prev, .news_btn_gr .btn_next {
				width: 40px;
				height: 40px;
				top: inherit;
				bottom: 0;
				z-index: 10
		}
		.news_btn_gr .btn_prev::before, .news_btn_gr .btn_prev::after, .news_btn_gr .btn_next::before, .news_btn_gr .btn_next::after {
				width: 40px;
				height: 40px;
		}
}
/* ============= */
.top_works_wrap {
		margin-bottom: 10px;
}
.top_works_wrap .swiper-wrapper {
		padding-bottom: 70px;
}
.swiper-slide.works_item {
		width: 600px;
}
@media(max-width: 1560px) {
		.swiper-slide.works_item {
				width: 480px;
		}
}
.works_thumb {
		margin-bottom: 15px;
		border-radius: 10px;
		overflow: hidden;
}
@media(max-width: 767px) {
		.works_thumb {
				border-radius: 8px;
		}
}
.works_thumb img {
		width: 100%;
		height: auto;
		aspect-ratio: 10 / 6;
		object-fit: cover;
		transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.works_item a {
		color: #fff;
		text-decoration: none;
}
@media (hover: hover) {
		.works_item a:hover img {
				transform: scale(1.04)
		}
}
.works_caption {
		position: relative;
}
.works_caption::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 15px);
		right: 0;
		width: 30px;
		height: 30px;
		border-radius: 50%;
		border: 1px solid #fff;
		box-sizing: border-box;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), background 0.4s;
}
.works_caption::after {
		content: '';
		display: block;
		position: absolute;
		width: 8px;
		height: 8px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		top: calc(50% - 5px);
		right: 12px;
		transform: rotate(45deg);
}
@media (hover: hover) {
		a:hover .works_caption::before {
				background: #fff;
				transform: scale(1.2)
		}
		a:hover .works_caption::after {
				border-top: 2px solid #31ab80;
				border-right: 2px solid #31ab80;
		}
}
.works_caption h5 {
		font-size: 24px;
		font-weight: 500;
		margin: 0 0 5px;
}
.works_caption p {
		font-size: 14px;
}
.works_btn_gr {
		width: 260px;
		height: 55px;
		margin: 0 auto;
		position: relative;
		top: -35px;
		z-index: 10;
		pointer-events: none
}
.works_btn_gr .btn_prev, .works_btn_gr .btn_next {
		position: absolute;
		width: 55px;
		height: 55px;
		top: 0;
		cursor: pointer;
		color: rgba(255, 255, 255, 0);
		pointer-events: all;
		text-indent: -9999px;
}
.works_btn_gr .btn_prev::before, .works_btn_gr .btn_prev::after, .works_btn_gr .btn_next::before, .works_btn_gr .btn_next::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		width: 55px;
		height: 55px;
		pointer-events: none;
}
.works_btn_gr .btn_prev {
		left: 0px;
}
.works_btn_gr .btn_next {
		right: 0px;
}
.works_btn_gr .btn_prev::before, .works_btn_gr .btn_next::before {
		background: #fff;
		border-radius: 50%;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
@media (hover: hover) {
		.works_btn_gr .btn_prev:hover::before, .works_btn_gr .btn_next:hover::before {
				transform: scale(1.1)
		}
}
.works_btn_gr .btn_prev::after, .works_btn_gr .btn_next::after {
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 100%;
}
.works_btn_gr .btn_prev::after {
		background-image: url("../images/pagenav_arw_prev_dkGrn.png")
}
.works_btn_gr .btn_next::after {
		background-image: url("../images/pagenav_arw_next_dkGrn.png")
}
@media(max-width: 960px) {
		.swiper-slide.works_item {
				width: 400px;
		}
		.works_caption h5 {
				font-size: 20px;
		}
}
@media(max-width: 767px) {
		.works_btn_gr {
				width: 220px;
				height: 40px;
				top: -15px;
		}
		.works_btn_gr .btn_prev, .works_btn_gr .btn_next {
				width: 40px;
				height: 40px;
				top: inherit;
				bottom: 0;
				z-index: 10
		}
		.works_btn_gr .btn_prev::before, .works_btn_gr .btn_prev::after, .works_btn_gr .btn_next::before, .works_btn_gr .btn_next::after {
				width: 40px;
				height: 40px;
		}
		.works_thumb {
				margin-bottom: 10px;
		}
		.works_caption h5 {
				font-size: 15px;
				margin: 0 0 3px;
		}
		.works_caption p {
				font-size: 11px;
		}
}
/* =========== */
.top_info_wrap .swiper-wrapper {
		padding-bottom: 70px;
}
.top_info_wrap {
		max-width: 940px;
		margin: 0 auto;
		position: relative;
}
.swiper-slide.bnr_item {
		width: 302px;
}
.swiper-slide.bnr_item img {
		box-sizing: border-box;
		width: 100%;
		height: auto;
		border: 1px solid #ededed;
		transition: opacity 0.4s;
}
.swiper-slide.bnr_item a {
		color: #1e1e1e;
		text-decoration: none;
		text-align: center;
}
@media (hover: hover) {
		.swiper-slide.bnr_item a:hover {
				color: #3DAE35;
		}
		.swiper-slide.bnr_item a:hover img {
				opacity: 0.6;
		}
}
.bnr_thumb {
		margin-bottom: 10px;
}
@media(max-width: 767px) {
		.swiper-slide.bnr_item p {
				font-size: 14px;
		}
}
.top_info_wrap .btn_prev, .top_info_wrap .btn_next {
		position: absolute;
		width: 55px;
		height: 55px;
		top: 20px;
		cursor: pointer;
		color: rgba(255, 255, 255, 0);
		text-indent: -9999px;
}
.top_info_wrap .btn_prev::before, .top_info_wrap .btn_prev::after, .top_info_wrap .btn_next::before, .top_info_wrap .btn_next::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		width: 55px;
		height: 55px;
		pointer-events: none;
}
.top_info_wrap .btn_prev {
		left: -90px;
}
.top_info_wrap .btn_next {
		right: -90px;
}
.top_info_wrap .btn_prev::before, .top_info_wrap .btn_next::before {
		background: #3DAE35;
		border-radius: 50%;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
@media (hover: hover) {
		.top_info_wrap .btn_prev:hover::before, .top_info_wrap .btn_next:hover::before {
				transform: scale(1.1)
		}
}
.top_info_wrap .btn_prev::after, .top_info_wrap .btn_next::after {
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 100%;
}
.top_info_wrap .btn_prev::after {
		background-image: url("../images/pagenav_arw_prev.png")
}
.top_info_wrap .btn_next::after {
		background-image: url("../images/pagenav_arw_next.png")
}
@media(max-width: 767px) {
		.pagination_center {
				display: flex;
				justify-content: center;
				align-items: center;
				transform: translateY(-10px)
		}
		.pagination_center .swiper-pagination {
				position: static !important;
				width: auto !important
		}
		.top_info_wrap .btn_prev, .top_info_wrap .btn_next {
				width: 40px;
				height: 40px;
				position: static;
				position: relative;
				top: inherit;
				left: inherit;
				right: inherit;
				bottom: inherit;
				z-index: 10
		}
		.top_info_wrap .btn_prev::before, .top_info_wrap .btn_prev::after, .top_info_wrap .btn_next::before, .top_info_wrap .btn_next::after {
				width: 40px;
				height: 40px;
		}
		.top_info_wrap .btn_prev {
				margin-right: 10px;
		}
		.top_info_wrap .btn_next {
				margin-left: 10px;
		}
}