	.sub-header {
		width: 100vw;
		max-width: 1200px;
		margin: 95px auto 0;
		padding: 0 3vw;
	}

	.sub-nav {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 2vw;
	}

	.page-title {
		font-size: 2.5rem;
		font-weight: bold;
		color: #333;
		opacity: 0;
		transform: translateY(30px);
		animation: slideFadeIn 1s ease-out forwards;
	}

	@keyframes slideFadeIn {
		to {
			opacity: 1;
			transform: translateY(0);
		}
	}

	.breadcrumb2 {
		font-size: 1rem;
		color: #333;
	}

	.breadcrumb2 a {
		color: #333;
		text-decoration: none;
		margin-right: 5px;
	}

	.breadcrumb2 a:hover {
		color: #EA5420;
	}

	.breadcrumb2 span {
		margin: 0 5px;
		color: #aaa;
	}

	.tab-menu ul {
		list-style: none;
		margin: 0;
		padding: 0;
		display: flex;
		justify-content: flex-start; /* 왼쪽 정렬 */
		overflow-x: auto;
		overflow-y: hidden;
	}

	.tab-menu li {
		margin: 0;
		padding: 0;
	}

	.tab-menu li a {
		position: relative;
		font-size: 1.5rem;
		color: #222;
		white-space: nowrap;
		text-decoration: none;
		display: inline-block;
		padding: 15px 2vw;
		transition: color 0.4s ease-in-out; /* 텍스트 색상 변화 */
	}

	.tab-menu li a::after {
		content: "";
		position: absolute;
		left: 50%;
		bottom: 0;
		width: 0;
		height: 3px;
		background-color: #EA5420;
		transform: translateX(-50%);
		transition: width 0.4s ease-out;
	}

	.tab-menu li a:hover::after,
	.tab-menu li a.active::after {
		width: 100%;
	}

	.tab-menu li a:hover,
	.tab-menu li a.active {
		color: #EA5420;
		font-weight: bold;
	}

	/* 선택된 링크의 로딩 애니메이션 */
	.tab-menu li a.active::after {
		animation: underline-expand 0.4s ease-out;
	}

	/* 가로로 확장되는 애니메이션 */
	@keyframes underline-expand {
		from { width: 0; }
		to { width: 100%; }
	}

	@media (min-width: 576px) {
	}

	@media (min-width: 768px) {
		.sub-header {
			margin-top: 129px;
		}

		.page-title {
			font-size: 2.2rem !important; /* 26.4px */
		}

		.tab-menu ul {
			overflow-x: clip;
		}

		.tab-menu li a::after {
			height: 4px;
		}
	}

	@media (min-width: 992px) {
		.page-title {
			font-size: 2.5rem !important; /* 32.5px */
		}
	}

	@media (min-width: 1200px) {
		.page-title {
			font-size: 2.8rem !important; /* 39.2px */
		}
	}

	@media (min-width: 1400px) {
		.sub-header {
			margin-top: 130px;
		}

		.page-title {
			font-size: 2.8rem !important; /* 39.2px */
		}
	}

	@media (min-width: 1600px) {
		.page-title {
			font-size: 3rem !important; /* 45px */
		}
	}

	@media (min-width: 1920px) {
		.sub-nav {
			margin-bottom: 25px;
		}

		.page-title {
			font-size: 3.2rem !important; /* 51.2px */
		}

		.tab-menu li a {
			padding: 10px 29px;
		}
	}