@charset "UTF-8";

.page-banner {
	&:after {
		content: "";
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
		width: 100rem;
		height: 60rem;
		background: url("../../img/page/career_path/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;
		}
	}
}

#career_path {
	padding-top: 19.2rem;
	padding-bottom: 25rem;
	@media screen and (max-width: 767px) {
		padding-top: 6rem;
		padding-bottom: 6rem;
	}
	.block1 {
		background: url("../../common/img/general/red-bg.jpg") no-repeat center center / 100% 100%;
		margin-bottom: 9.1rem;
		padding-top: 19.2rem;
		padding-bottom: 11.2rem;
		@media screen and (max-width: 767px) {
			margin-bottom: 6rem;
			padding-top: 6rem;
			padding-bottom: 6rem;
			background: radial-gradient(128.55% 331.8% at 0% -115.3%, rgba(255, 177, 183, 0.8) 0%, rgba(230, 0, 18, 0.8) 100%);
		}
		.white-card {
			background-color: #fff;
			border-radius: 2rem;
			padding: 6.4rem;
			box-sizing: border-box;
			@media screen and (max-width: 767px) {
				padding: 3.2rem 2rem;
			}
			.title {
				font-family: var(--zen);
				font-style: normal;
				font-weight: 700;
				font-size: 3rem;
				line-height: 150%;
				letter-spacing: 0.15em;
				color: #e60012;
				margin-bottom: 2.4rem;
				@media screen and (max-width: 767px) {
					font-size: 1.8rem;
					margin-bottom: 1rem;
				}
			}
			& p {
				font-family: var(--zen);
				font-style: normal;
				font-weight: 500;
				font-size: 2rem;
				line-height: 180%;
				letter-spacing: 0.07em;
				color: #000000;
				@media screen and (max-width: 767px) {
					font-size: 1.4rem;
					line-height: 160%;
				}
			}
		}
	}
	.block2 {
		margin-bottom: 20rem;
		@media screen and (max-width: 767px) {
			margin-bottom: 6rem;
		}
		.group {
			.gray-container {
				width: 100%;
				background-color: #f3f5f6;
				border-radius: 2rem;
				padding: 6.4rem 10.65rem;
				box-sizing: border-box;
				margin-bottom: 6.4rem;
				@media screen and (max-width: 767px) {
					padding: 4rem 2rem;
					margin-bottom: 4rem;
				}
				.content-flex {
					display: flex;
					gap: 4rem;
					margin-bottom: 4rem;
					@media screen and (max-width: 767px) {
						gap: 1rem;
						margin-bottom: 2rem;
					}
					.img-content {
						width: 20rem;
						@media screen and (max-width: 767px) {
							width: 8rem;
						}
						& img {
							width: 100%;
							vertical-align: top;
						}
					}
					.text-content {
						width: 100%;
						flex: 1;
						.red-pill {
							font-family: var(--zen);
							font-style: normal;
							font-weight: 700;
							font-size: 1.8rem;
							line-height: 100%;
							letter-spacing: 0.1em;
							color: #ffffff;
							background-color: #e60012;
							border-radius: 10rem;
							padding: 1.6rem 3.2rem;
							box-sizing: border-box;
							margin-bottom: 1.6rem;
							display: inline-block;
							@media screen and (max-width: 767px) {
								font-size: 1.4rem;
								padding: 0.6rem 1.4rem;
								margin-bottom: 1rem;
							}
						}
						.line1 {
							font-family: var(--zen);
							font-style: normal;
							font-weight: 700;
							font-size: 2.4rem;
							line-height: 150%;
							letter-spacing: 0.1em;
							color: #000000;
							margin-bottom: 1.6rem;
							@media screen and (max-width: 767px) {
								margin-bottom: 1rem;
								font-size: 1.4rem;
							}
						}
						.line2 {
							font-family: var(--zen);
							font-weight: 500;
							font-size: 1.6rem;
							line-height: 150%;
							letter-spacing: 0.05em;
							color: #000000;
							@media screen and (max-width: 767px) {
								font-size: 1.2rem;
							}
							& span {
								font-size: 1.8rem;
								font-weight: bold;
								@media screen and (max-width: 767px) {
									font-size: 1.4rem;
								}
							}
						}
					}
				}
				.flex-boxes {
					display: flex;
					gap: 6.4rem;
					justify-content: center;
					@media screen and (max-width: 767px) {
						flex-direction: column;
						align-items: center;
						gap: 4rem;
					}
					.box {
						border: 2px solid #e60012;
						padding: 2.4rem 2rem;
						box-sizing: border-box;
						border-radius: 1.6rem;
						background-color: #fff;
						display: flex;
						flex-direction: column;
						align-items: center;
						position: relative;
						@media screen and (max-width: 767px) {
							padding: 2rem;
							width: 100%;
						}
						&:after {
							content: "";
							position: absolute;
							width: 1.6rem;
							height: 3.2rem;
							background: url("../../img/page/career_path/arrow.png") no-repeat center center / contain;
							right: -4rem;
							top: 50%;
							transform: translateY(-50%);
							@media screen and (max-width: 767px) {
								top: unset;
								bottom: -3.8rem;
								left: 50%;
								right: unset;
								transform: translateX(-50%) rotate(90deg);
							}
						}
						.title {
							font-family: var(--overpass);
							font-style: normal;
							font-weight: 700;
							font-size: 2.6rem;
							line-height: 150%;
							text-align: center;
							letter-spacing: 0.05em;
							text-transform: uppercase;
							color: #e60012;
							margin-bottom: 0.8rem;
							@media screen and (max-width: 767px) {
								font-size: 1.8rem;
								margin-bottom: 0;
							}
						}
						& p {
							font-family: var(--zen);
							font-style: normal;
							font-weight: 500;
							font-size: 1.8rem;
							line-height: 150%;
							text-align: center;
							letter-spacing: 0.05em;
							color: #000000;
							@media screen and (max-width: 767px) {
								font-size: 1.4rem;
							}
						}
					}
					.box:last-child {
						&:after {
							display: none;
						}
					}
				}
			}
			.units {
				display: flex;
				flex-direction: column;
				gap: 4.8rem;
				@media screen and (max-width: 767px) {
					gap: 3rem;
				}
				& li {
					& 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;
						}
					}
				}
			}
		}
		.group:first-child {
			margin-bottom: 12rem;
			@media screen and (max-width: 767px) {
				margin-bottom: 6rem;
			}
		}
	}
	.block3 {
		.content-flex {
			display: flex;
			gap: 11.2rem;
			justify-content: space-between;
			@media screen and (max-width: 767px) {
				flex-direction: column-reverse;
				gap: 2rem;
			}
			.text-cont {
				width: 64.8rem;
				@media screen and (max-width:767px){
					width: 100%;
				}
				& 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;
					}
				}
			}
			.img-cont {
				width: 60rem;
				flex: 1;
				@media screen and (max-width:767px){
					width: 100%;
				}
				& img {
					width: 100%;
					vertical-align: top;
				}
			}
		}
	}
}
