@charset "UTF-8";

.page-banner {
	&:after {
		content: "";
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
		width: 100rem;
		height: 60rem;
		background: url("../../img/page/our_strengths/banner-img.png") no-repeat center left / contain;
		@media screen and (max-width: 767px) {
			width: 35.7rem;
			height: 21.4rem;
			top: unset;
			transform: unset;
			bottom: 0;
		}
	}
}

.gray-container {
	margin-bottom: 12rem;
	background-color: #f3f5f6;
	width: 100%;
	padding: 16rem;
	box-sizing: border-box;
	border-radius: 5rem;
	@media screen and (max-width: 767px) {
		padding: 4rem 2rem;
		margin-bottom: 6rem;
		border-radius: 2rem;
	}
}

#data {
	padding-top: 16rem;
	@media screen and (max-width: 767px) {
		padding-top: 6rem;
	}
	.gray-outer-container {
		.gray-container {
			.flex-data {
				display: flex;
				flex-wrap: wrap;
				gap: 3.2rem;
				@media screen and (max-width: 1080px) {
					gap: 3rem;
				}
				@media screen and (max-width: 767px) {
					gap: 2rem;
				}
				.data-box {
					width: 31.7%;
					min-height: 31.8rem;
					background-color: #fff;
					border-radius: 2rem;
					padding: 2.4rem 2.4rem 3.2rem;
					box-sizing: border-box;
					@media screen and (max-width: 1080px){
						width: 31.5%;
					}
					@media screen and (max-width: 767px) {
						width: 100%;
						padding: 2.4rem 2rem 3rem;
						min-height: unset;
					}
					.title {
						font-family: var(--zen);
						font-style: normal;
						font-weight: 700;
						font-size: 2.4rem;
						line-height: 150%;
						text-align: center;
						letter-spacing: 0.08em;
						color: #e60012;
						@media screen and (max-width:767px){
						font-size: 1.8rem;
						}
					}
					& img {
						width: 100%;
						vertical-align: top;
					}
					.description {
						font-family: var(--zen);
						font-style: normal;
						font-weight: 400;
						font-size: 1.6rem;
						line-height: 160%;
						letter-spacing: 0.05em;
						color: #000000;
						@media screen and (max-width:767px){
						font-size: 1.4rem;
						}
					}
					.date {
						font-family: var(--zen);
						font-style: normal;
						font-weight: 400;
						font-size: 1.6rem;
						line-height: 160%;
						text-align: right;
						letter-spacing: 0.05em;
						color: #000000;
						@media screen and (max-width:767px){
						font-size: 1.4rem;
						}
					}
				}
			}
		}
	}
}

#recruit-data {
	.flex-data {
		display: flex;
		flex-wrap: wrap;
		gap: 3.2rem;
		margin-bottom: 6.4rem;
		@media screen and (max-width: 767px) {
			gap: 2rem;
			margin-bottom: 4rem;
		}
		.full {
			width: 100%;
			background-color: #fff;
			border-radius: 1rem;
			padding: 4rem;
			box-sizing: border-box;
			@media screen and (max-width: 767px) {
				padding: 3rem 2rem;
			}
			.keywords {
				display: flex;
				justify-content: center;
				gap: 3.2rem;
				margin-bottom: 2.4rem;
				@media screen and (max-width: 767px) {
					gap: 1rem;
					margin-bottom: 2rem;
					flex-wrap: wrap;
				}
				.keyword-en {
					font-family: var(--overpass);
					font-style: normal;
					font-weight: 900;
					font-size: 2rem;
					line-height: 1;
					display: flex;
					align-items: center;
					text-align: center;
					letter-spacing: 0.05em;
					color: #e60012;
					background-color: #fff;
					padding: 1.7rem 2.4rem 1.2rem;
					box-sizing: border-box;
					border-radius: 10.2rem;
					border: 0.2rem solid #e60012;
					@media screen and (max-width: 767px) {
						font-size: 1.4rem;
						line-height: 1;
						padding: 0.9rem 1.2rem 0.5rem;
					}
				}
				.keyword {
					font-family: var(--zen);
					font-style: normal;
					font-weight: 900;
					font-size: 2rem;
					line-height: 150%;
					display: flex;
					align-items: center;
					text-align: center;
					letter-spacing: 0.05em;
					color: #ffffff;
					padding: 0.8rem 2.4rem;
					border-radius: 10.2rem;
					background-color: #e60012;
					@media screen and (max-width: 767px) {
						font-size: 1.4rem;
						line-height: 1;
						padding: 0.8rem 1.2rem;
					}
				}
			}
			.gray-pill {
				background-color: #f3f5f6;
				border-radius: 10.2rem;
				padding: 1.2rem 10.5rem;
				box-sizing: border-box;
				font-family: var(--zen);
				font-style: normal;
				font-weight: 700;
				font-size: 2.6rem;
				line-height: 180%;
				text-align: center;
				letter-spacing: 0.1em;
				color: #000000;
				@media screen and (max-width: 767px) {
					padding: 1.2rem 2rem;
					font-size: 1.6rem;
					border-radius: 2rem;
					text-align: left;
					& br {
						display: none;
					}
				}
				& span {
					color: #e60012;
				}
			}
		}
		.half {
			max-width: 66.4rem;
			width: 49%;
			background-color: #fff;
			border-radius: 1rem;
			padding: 2.4rem 3.2rem;
			box-sizing: border-box;
			@media screen and (max-width: 1080px) {
				width: 48.5%;
			}
			@media screen and (max-width: 767px) {
				width: 100%;
				padding: 2.4rem 2rem;
			}
			.title {
				font-family: var(--zen);
				font-style: normal;
				font-weight: 700;
				font-size: 2.2rem;
				line-height: 150%;
				letter-spacing: 0.08em;
				color: #e60012;
				margin-bottom: 1.6rem;
				@media screen and (max-width: 767px) {
					font-size: 1.6rem;
					margin-bottom: 1rem;
				}
			}
			& p {
				font-family: var(--zen);
				font-style: normal;
				font-weight: 400;
				font-size: 1.8rem;
				line-height: 180%;
				letter-spacing: 0.1em;
				color: #000000;
				margin-bottom: 1.6rem;
				@media screen and (max-width: 767px) {
					font-size: 1.4rem;
					line-height: 1.6;
					margin-bottom: 1rem;
				}
			}
			.img-container {
				width: 100%;
				& img {
					width: 100%;
					vertical-align: top;
				}
			}
			.img-container2 {
				width: 48.5rem;
				margin: 0 auto;
				@media screen and (max-width: 767px) {
					width: 100%;
				}
				& img {
					width: 100%;
					vertical-align: top;
				}
			}
		}
	}
	.flex-columns {
		display: flex;
		justify-content: space-between;
		width: 100%;
		@media screen and (max-width: 767px) {
			flex-direction: column;
		}
		.column {
			width: 66.4rem;
			@media screen and (max-width: 1080px) {
				width: 49%;
			}
			@media screen and (max-width: 767px) {
				width: 100%;
			}
		}
		.column1 {
			.flex-data {
				width: 100%;
				gap: 3.2rem;
				@media screen and (max-width: 767px) {
					gap: 2rem;
				}
				.half {
					width: 100% !important;
					.title {
						margin-bottom: 0;
					}
					& p {
						margin-bottom: 0;
					}
				}
			}
		}
		.column2 {
			.flex-data {
				width: 100%;
				margin-bottom: 0;
				.half {
					width: 100% !important;
					padding: 3.2rem;
					@media screen and (max-width: 767px) {
						padding: 2rem;
					}
					.title {
						font-size: 2.6rem;
						text-align: center;
						font-weight: bold;
						@media screen and (max-width: 1080px) {
							font-size: 2.2rem;
						}
						@media screen and (max-width: 767px) {
							font-size: 1.6rem;
							text-align: left;
						}
					}
					.img-container {
						position: relative;
						margin-top: -0.6rem;
						width: 100%;
						& img {
							width: 100%;
							vertical-align: top;
						}
					}
				}
			}
		}
	}
}

#comment {
	width: 100%;
	.flexwrap-boxes {
		display: flex;
		flex-wrap: wrap;
		gap: 3.2rem;
		@media screen and (max-width: 767px) {
			gap: 2rem;
		}
		.box {
			width: 48.5%;
			background-color: #fff;
			border-radius: 2rem;
			padding: 3.2rem;
			box-sizing: border-box;
			@media screen and (max-width: 767px) {
				width: 100%;
				padding: 2rem;
			}
			.flex-header {
				display: flex;
				align-items: center;
				gap: 2.4rem;
				margin-bottom: 1.6rem;
				@media screen and (max-width: 767px) {
					gap: 1.4rem;
					margin-bottom: 1rem;
				}
				& img {
					width: 12.8rem;
					@media screen and (max-width: 767px) {
						width: 8rem;
					}
				}
				& span {
					font-family: var(--zen);
					font-style: normal;
					font-weight: 700;
					font-size: 3rem;
					line-height: 150%;
					letter-spacing: 0.08em;
					color: #e60012;
					@media screen and (max-width: 767px) {
						font-size: 1.8rem;
					}
				}
			}
			& p {
				font-family: var(--zen);
				font-style: normal;
				font-weight: 400;
				font-size: 1.8rem;
				line-height: 180%;
				letter-spacing: 0.1em;
				color: #000000;
				@media screen and (max-width: 767px) {
					font-size: 1.4rem;
					line-height: 1.6;
				}
			}
		}
	}
}
