
header {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	margin: auto;
	color: #fff;
}

header h1 {
	color: #fff;
}

header nav li a,
header nav li a:hover {
	border-color: #fff !important;
}

header nav .btn_contact {
	border-color: #fff;
	color: #fff;
}
header nav .btn_contact:hover {
	background: #fff;
	color: #019A64;
	opacity: 1;
}

/* news */
section.news ul {
	max-width: 670px;
	margin: 2em auto;
}

section.news li {
	list-style: none;
}

section.news li a {
	display: grid;
	padding: 1em 0;
	border-bottom: 1px dashed #d2d2d2;
	grid-template-columns: 7em 5em 1fr;
}

section.news li .tag > span {
	display: inline-block;
	padding: 2px 4px;
	border: 1px solid #0CB59B;
	font-size: 13px;
	color: #0CB59B;
	line-height: 1;
}

section.news .more_btn {
	max-width: 800px;
	margin: auto;
	text-align: right;
}

/* greeting */
section.greeting .bg img {
	width: 100%;
}

section.greeting .box h2 {
	margin-bottom: 1rem;
	font-size: 2rem;
}

section.greeting .box .description {
	line-height: 1.85;
}

/* feature */
section.feature li {
	display: grid;
	margin-bottom: 8em;
	font-weight: 600;
	grid-template-columns: 1fr 1fr;
}
section.feature li:last-child {
	margin-bottom: 0;
}

section.feature li .img {
	text-align: center;
}

section.feature li .txt {
	padding-right: 15%;
}
section.feature li:nth-child(2n+2) .txt {
	padding-left: 12%;
	padding-right: 0;
}

section.feature li .txt h2 {
	display: grid;
	margin-bottom: 1.5rem;
	grid-template-columns: 9rem 1fr;
	align-items: center;
}

section.feature li .txt h2 .num {
	font-family: "Poppins", sans-serif;
	color: #019A64;
	font-size: 6rem;
	font-weight: 600;
	line-height: 1;
}

section.feature li .txt h2 .ttl {
	display: flex;
	line-height: 1.25;
	gap: 3px;
	align-items: baseline;
	flex-wrap: wrap;
}

section.feature li .txt h2 .ttl > span {
	padding: 0.25em 0.5em;
	background: linear-gradient(123.43deg, #009B63 0%, #3CA99F 100%);
	color: #fff;
}

section.feature li .txt p {
	line-height: 1.85;
}

/* service */
section.service {
	background: linear-gradient(106.06deg, #019A64 0.84%, #5A9DA8 96.98%);
}

section.service .box {
	display: grid;
	margin-bottom: 5rem;
	color: #fff;
	font-weight: 600;
	grid-template-columns: 17.5rem 1fr;
}

section.service .subtitle {
	color: #fff;
}

section.service .description {
	line-height: 1.85;
}

section.service ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 10px;
}

section.service li {
	display: flex;
	padding: 2rem;
	background: #fff;
	border-radius: 1rem;
	font-weight: 600;
	gap: 2rem;
	list-style: none;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
}

section.service li h3 {
	font-size: 1.5rem;
	color: #009B63;
}

section.service li p {
	font-size: 0.85rem;
	line-height: 1.85;
}

section.service .more_btn {
	margin-top: 5rem;
	text-align: center;
}

/* works */
section.works .container {
	padding-bottom: 8rem;
	background: url(../images/home/works_bg.png) top center no-repeat;
	background-size: cover;
}

section.works h2,
section.works .subtitle {
	text-align: center;
}

section.works .description {
	width: 100%;
	max-width: 34.5em;
	margin: 3rem auto 4rem auto;
	font-weight: 600;
	text-align: center;
	word-break: break-all;
}

section.works .slick-prev,
section.works .slick-next {
	top: 0;
	bottom: 0;
	margin: auto;
}
section.works .slick-prev {
	left: -1rem;
}
section.works .slick-next {
	right: -1rem;
}
section.works .slick-prev:before,
section.works .slick-next:before{
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 2rem;
  color: #000;
  opacity: 1;
}
section.works .slick-prev:before{
  content: "\f053";
}
section.works .slick-next:before{
  content: "\f054";
}

section.works ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 1rem;
	justify-content: flex-start;
	align-items: flex-start;
}

section.works li {
	list-style: none;
}

section.works li img {
	width: 100%;
	border-radius: 10px;
	object-fit: cover;
	object-position: center center;
	aspect-ratio: 268 / 162;
}

section.works li h3 {
	margin-top: 0.5rem;
	font-size: 0.95rem;
	text-align: center;
}

section.works .more_btn {
	margin-top: 5rem;
	text-align: center;
}

/* about */
section.about .container:first-child {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

section.about .container:last-child {
	background: linear-gradient(106.06deg, #019A64 0.84%, #5A9DA8 96.98%);
	color: #fff;
}

section.about .subtitle {
	margin-bottom: 1rem;
	color: #fff;
}

section.about ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 3rem;
}

section.about li {
	position: relative;
	font-weight: 600;
	list-style: none;
}

section.about li img {
	width: 100%;
	border-radius: 10px;
	object-fit: cover;
	object-position: center center;
	aspect-ratio: 385 / 303;
}

section.about li .more_btn {
	position: absolute;
	bottom: 3.5rem;
	left: 0;
	padding: 1rem 1.25rem;
	background: #009B63;
	font-size: 1.35rem;
	line-height: 1;
}

section.about li .more_btn svg {
	height: 1em;
	margin-left: 0.5em;
}

/* recruit */
section.recruit .container {
	padding-left: 0;
	padding-right: 0;
}

section.recruit .box {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1.4fr;
}

section.recruit .box:after {
	content: "";
	display: block;
	width: 90%;
	margin: 0 0 0 auto;
	height: 8.45rem;
	background: #EAEAEA;
	grid-column: 1 / span 2;
}

section.recruit .box .txt {
	display: flex;
	padding-left: calc(12.5% / (1 / 2.4));
	padding-right: 2rem;
	background: url(../images/home/recruit_bg.jpg) center center no-repeat;
	background-size: cover;
	color: #fff;
	flex-direction: column;
	justify-content: center;
}

section.recruit .subtitle {
	color: #fff;
}

section.recruit .box .txt h3 {
	margin: 1rem 0;
	font-size: 2.35rem;
	font-weight: 600;
}

section.recruit .box .txt .more_btn {
	margin-top: 3rem;
	text-align: right;
}

section.recruit .box .img img {
	width: 100%;
}

@media screen and (min-width: 1440px){
	section.about .container > * {
		max-width: 100%;
	}
	section.recruit .container > * {
		max-width: 100%;
	}
}

@media screen and (max-width: 1440px){
	section.feature li .txt {
		padding-right: 12.5%;
	}
	section.feature li:nth-child(2n+2) .txt {
		padding-left: 5%;
	}
	section.recruit h2.title {
		font-size: 1.5rem;
	}
	section.recruit .box .txt h3 {
		font-size: 1.5rem;
	}
	section.recruit .box .txt .more_btn {
		margin-top: 0;
	}

}

@media screen and (min-width: 991px){
	section.feature li:nth-child(2n+1) .txt {
		grid-row: 1;
		grid-column: 1;
	}
}

@media screen and (max-width: 990px){
	section.feature li {
		margin-bottom: 3rem;
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	section.feature li .txt,
	section.feature li:nth-child(2n+2) .txt {
		padding: 0;
	}

	section.feature li .txt h2 {
		display: flex;
		flex-wrap: wrap;
	}

	section.feature li .txt h2 .num {
		margin-right: 1rem;
		font-size: 4rem;
	}

	section.service .box {
		grid-template-columns: 8rem 1fr;
	}

	section.service ul {
		grid-template-columns: 1fr 1fr;
	}

	section.service li {
		padding: 2rem;
	}

	section.works ul {
		grid-template-columns: 1fr 1fr;
	}

	section.about .container:last-child {
		margin-left: 7.5%;
	}

	section.about li .more_btn {
		bottom: 1rem;
	}

	section.recruit .box {
		display: block;
	}

	section.recruit .box .txt {
		padding: 2rem 7.5%;
	}

	section.recruit h2.title,
	section.recruit .subtitle {
		text-align: center;
	}

	section.recruit h3 br {
		display: none;
	}

	section.recruit .box .txt .more_btn {
		margin-top: 2rem;
		text-align: center;
	}
}

@media screen and (min-width: 766px){
	section.greeting .container {
		padding: 0;
	}
	section.greeting .box {
		position: absolute;
		top: 12.5%;
		left: 0;
		right: 0;
		width: 100%;
		max-width: 34.5em;
		margin: auto;
		font-weight: 600;
		line-height: 1.85;
	}
	section.greeting .bg2 {
		display: none;
	}
	section.about .container:first-child {
		padding-top: 1px;
		padding-bottom: 10rem;
		background-image: url(../images/home/about_bg.jpg);
	}
	section.about .container:first-child h2 {
		margin-top: -12.5%;
		pointer-events: none;
	}
	section.about .container:last-child {
		margin: -4rem 0 4rem 12.5%;
		padding: 3rem 1px 3rem 3rem;
		font-weight: 600;
	}
}

@media screen and (max-width: 765px){
	section.news ul {
		margin-top: 0;
	}
	section.news li a {
		grid-template-columns: 7em 1fr;
	}
	section.news li a .title {
		grid-column: span 2;
	}
	section.greeting .container {
		padding-top: 0;
	}
	section.greeting .box {
		margin-bottom: 1rem;
	}
	section.greeting .box h2 {
		font-size: 1.35rem;
	}
	section.greeting .box .description {
		font-size: 1.15rem;
	}
	section.greeting .bg2 {
		display: block;
		text-align: right;
	}
	section.feature li .txt h2 .ttl > span {
		padding: 0.25em;
	}
	section.feature li .txt p {
		font-size: 1.15rem;
	}
	section.service .box {
		margin-bottom: 1rem;
		grid-template-columns: 1fr;
		gap: 1rem;
		text-align: center;
	}
	section.service .description {
		font-size: 1.15rem;
	}
	section.service ul {
		grid-template-columns: 1fr;
	}
	section.service li p {
		font-size: 1.15rem;
	}
	section.service .more_btn {
		margin-top: 2rem;
	}
	section.works .container {
		padding-bottom: 2rem;
	}
	section.works .description {
		text-align: left;
	}
	section.works ul {
		margin: 0 1rem;
		grid-template-columns: 1fr;
	}
	section.works .more_btn {
		margin-top: 2rem;
	}
	section.about .container:first-child {
		padding-bottom: 6rem;
		background-image: url(../images/home/about_bg_sp.jpg);
	}
	section.about .container:first-child h2 {
		max-width: 30%;
	}
	section.about .container:last-child {
		margin: -2rem 7.5% 0 0;
	}
	section.about ul {
		grid-template-columns: 1fr;
	}
	section.about .container:last-child .more_btn {
		font-size: 1.45rem;
		font-weight: 700;
	}
	section.recruit .box:after {
		height: 7rem;
	}
}
