@charset "utf-8";

.site-header { background: linear-gradient(0deg, #888 1px, #fff 1px); }

.page-hero { padding-block: clamp(var(--section-block), calc(87 / var(--container) * 100vw + var(--font-offset)), 87rem) clamp(var(--section-block), calc(73 / var(--container) * 100vw + var(--font-offset)), 73rem); text-align: center; color: #fff; background: var(--black) no-repeat 50% / cover; border-top: 1px solid #888;
	&.nav-complex { background-image: url("/assets/images/layouts/hero-complex.webp"); }
	&.nav-talent { background-image: url("/assets/images/layouts/hero-talent.webp"); }
	&.nav-business { background-image: url("/assets/images/layouts/hero-business.webp"); }
	&.nav-equipment { background-image: url("/assets/images/layouts/hero-equipment.webp"); }
	&.nav-community { background-image: url("/assets/images/layouts/hero-community.webp"); }
	.intro { font: 600 var(--font-size-18) var(--font-sans); color: var(--primary); }
	.heading { margin-top: 0.3em; font: 700 var(--font-size-50) var(--font-sans); }
}

.local-nav { position: sticky; z-index: 7; font: var(--font-size-17-to-14) var(--font-sans); background: var(--bg-gray-light);
	@media (width >= 1280px) { top: 0; }
	@media (width < 1280px) { top: var(--header-height); }
	.container { display: flex; height: clamp(44rem, calc(70 / var(--container) * 100vw + var(--font-offset)), 70rem); }
	.home { display: block; width: auto; height: 100%; aspect-ratio: 1; background: var(--secondary) url("/assets/images/ui/home.svg") no-repeat 50% / clamp(16rem, calc(20 / var(--container) * 100vw + var(--font-offset)), 20rem); }
	details { position: relative; width: 100%; max-width: 379rem; }
	summary { position: relative; display: block; align-content: center; width: 100%; height: 100%; padding-inline: 2.4ch 6ch; text-align: left; color: #333; border-right: 1px solid #fff;
		.details-level-1 & { background: var(--bg-gray-light); }
		.details-level-2 & { background: #e5e5e5; }
		&::after { position: absolute; inset: 0; width: 0.55555556em; aspect-ratio: 1; margin: auto 1.47058824em auto auto; border: solid currentColor; border-width: 0 1px 1px 0; translate: 0 -25%; rotate: 45deg; content: ""; }
		[open] &::after { translate: 0 25%; scale: -1; }
	}
	.nav-menu { position: absolute; inset: 100% 0 auto; display: grid; gap: 1.25em; padding: 1.75em 1.5em; font-size: var(--font-size-16); text-wrap: balance; word-break: normal; color: #555; background: #fff; box-shadow: 0 30rem 50rem hsla(0, 0%, 0%, 0.1); }
	.nav-link:hover, .nav-link:focus { color: #aaa; text-decoration: underline; text-underline-offset: 0.2em; }
}

.layout-sub { padding-block: clamp(var(--section-block), calc(80 / var(--container) * 100vw + var(--font-offset)), 80rem) clamp(var(--section-block), calc(150 / var(--container) * 100vw + var(--font-offset)), 150rem);
	/* .page-heading, .page-heading-block { margin-bottom: calc(var(--font-size-30) * 1.2); text-align: center; text-wrap: balance; } */
	.page-heading, .page-heading-block { margin-bottom: calc(var(--font-size-35) * 0.8); text-align: center; text-wrap: balance; }
	.page-heading { position: relative; font: 500 var(--font-size-35) var(--font-sans); color: #090909; }
	.page-heading::before { display: block; width: 26rem; height: 4rem; margin: 0 auto 10rem; background: var(--primary); border-radius: 3rem; content: "";
		@media (width >= 768px) { width: 40rem; height: 6rem; margin: 0 auto 15rem; }
	}
	.page-subheading { margin-top: 0.125em; font-weight: 700; font-size: var(--font-size-16); color: #999; }
	#main:has(.join_area) .sub_title { display: none; } /* 멤버 페이지는 각 페이지가 타이틀을 가진 경우가 많아서 공통 서브 타이틀 숨기기 */
}

/* #region shared */
.shared-list { display: grid; gap: clamp(var(--content-top), calc(20 / var(--container) * 100vw + var(--font-offset)), 20rem); margin-top: 20rem; font: 300 var(--font-size-18-to-14) / 1.5 var(--font-sans); color: #444;
	.shared-item { display: grid; gap: 0.25lh 0; padding-top: clamp(var(--content-top), calc(20 / var(--container) * 100vw + var(--font-offset)), 20rem); border-top: 2rem solid #efefef;
		@media (width >= 768px) { grid-template-columns: 3fr 9fr;
			&.shared-item--column-1 { grid-template-rows: clamp(var(--content-top), calc(49 / var(--container) * 100vw + var(--font-offset)), 49rem); grid-template-columns: 1fr; }
			.shared-desc { padding-top: clamp(0px, calc(4 / var(--container) * 100vw + var(--font-offset)), 4rem); }
		}
	}
	.shared-term { position: relative; }
	.shared-title { position: sticky; top: var(--content-top); display: grid; grid-template-columns: 0.64em 1fr; gap: 0.55ch; font: 700 var(--font-size-25) / 1.4 var(--font-sans); color: #111;
		&::before { position: relative; top: 0.5lh; display: block; aspect-ratio: 1; border: 3rem solid var(--secondary); border-radius: 50%; translate: 0 -50%; content: ""; }
		small { font-size: clamp(12rem, 0.8em, 20rem);
			@media (width >= 768px) { display: block; }
		}
	}
	.shared-link { margin-left: 0.4ch; font-weight: 600; color: var(--primary);
		&::after { display: inline-block; margin-left: 0.4ch; translate: 0 7%; content: "↗"; }
		@media (width >= 768px) { margin-left: 2.6ch; }
	}
}
.shared-table { width: 100%; text-align: center; text-wrap: balance; border-top: 2rem solid #555;
	.education-program-list + & { margin-top: clamp(var(--content-top), calc(29 / var(--container) * 100vw), 29rem); }
	thead { background: #f5f5f5; }
	th { padding-block: 1.02941176em; font: 600 var(--font-size-17-to-14) var(--font-sans); }
	tbody th { font-weight: 300; }
	td { padding-block: 0.94117647em; font: 300 var(--font-size-17-to-14) / 1.29411765 var(--font-sans); color: #444; }
	tbody > tr > * { padding-inline: 0.4ch; border: 1px solid var(--border-color);
		&[rowspan]:first-child { border-left: 0; }
		&:last-child { border-right: 0; }
	}
}
.shared-stats-list { display: grid; gap: clamp(8rem, calc(20 / var(--container) * 100vw + var(--font-offset)), 20rem); text-align: center;
	&:not(:first-child) { margin-top: 25rem; }
	&:has(.shared-stats-item:nth-child(2)) { grid-template-columns: repeat(2, 1fr); }
	.shared-stats-item { padding: 26rem 1ch; border: 1px solid var(--border-color); border-radius: 10rem; }
	.shared-stats-title { font: 600 var(--font-size-18-to-14) var(--font-sans); }
	.shared-stats-title:only-child { line-height: 1.5; }
	.shared-stats-title b { font-weight: 700; }
	.shared-stats-value { margin-top: 0.5em; font: 600 var(--font-size-22) var(--font-sans); color: var(--secondary); }

	.shared-stats-note { margin-top: 0.77777778em; font: 300 var(--font-size-18-to-14) / 1.5 var(--font-sans); color: var(--blue); }
}
.shared-detail-set {
	.shared-detail-set + & { margin-top: clamp(var(--content-top), calc(47 / var(--container) * 100vw + var(--font-offset)), 47rem); }
	.shared-detail-title { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 0.55ch; font: 700 var(--font-size-22) var(--font-sans); color: var(--secondary); }
	.shared-detail-title::before { position: relative; top: 0.5lh; width: 5rem; aspect-ratio: 5 / 21; background: currentColor; border-radius: 5em; translate: 0 -50%; content: ""; }
	.shared-detail-subtitle { margin-top: 1.11111111em; font: 300 var(--font-size-18-to-14) var(--font-sans); color: #444; }
	.shared-detail-list { display: grid; gap: 0.75lh; margin-top: 23rem; padding: 1.5em 1em; font: 300 var(--font-size-18-to-14) var(--font-sans); color: #444; border: 1px solid var(--border-color); border-radius: 10rem; }
	.shared-detail-item { display: grid; grid-template-columns: auto 1fr; gap: 0.4ch; }
	.shared-detail-item::before { content: "-"; }
}
.shared-definition-list { display: grid; gap: 0.75lh; font: var(--font-size-18-to-14) / 1.5 var(--font-sans);
	.shared-definition-item { display: flex; align-items: center; gap: 1.7ch; }
	.shared-definition-key { min-width: 5.55555556em; padding: 0.25em 1ch; font-weight: 600; text-align: center; background: var(--bg-gray-light); border-radius: 5rem; }
	.shared-definition-value { font-weight: 300; color: #444; }
}
.shared-necessity-list { display: grid; gap: clamp(8rem, calc(20 / var(--container) * 100vw + var(--font-offset)), 20rem); font: 300 var(--font-size-18-to-14) / 1.5 var(--font-sans);
	&.shared-necessity-list--counter { counter-reset: index;
		.shared-necessity-badge::before { counter-increment: index; content: counter(index, decimal-leading-zero) "."; }
	}
	@media (width >= 768px) { grid-template-columns: repeat(2, 1fr);
		&.shared-necessity-list--column-1 { grid-template-columns: 1fr; }
		.shared-necessity-item:only-child { grid-column: 1 / -1; }
	}
	.shared-necessity-item { padding: 26rem 18rem 24rem; border: 1px solid #ddd; border-radius: 10rem; }
	.shared-necessity-badge { margin-bottom: 0.55555556em; font: 700 var(--font-size-18-to-14) var(--font-play); color: var(--primary); }
}
/* #endregion shared */

.page-overview { display: grid; gap: clamp(var(--section-block), calc(144 / var(--container) * 100vw + var(--font-offset)), 144rem);
	* { letter-spacing: -0.01em; }
	.section-direction {
		.subheading { margin-bottom: 1.65em; font: 300 var(--font-size-20-to-14) / 1.6 var(--font-sans); text-align: center; color: #444; }
		.visual { height: clamp(200rem, calc(400 / var(--container) * 100vw + var(--font-offset)), 400rem); background: no-repeat 50% / cover; border-radius: 15rem;
			@media (width >= 768px) { background-image: url("/assets/images/overview/visual-pc.webp"); }
			@media (width < 768px) { background-image: url("/assets/images/overview/visual-mob.webp"); }
		}
		.list { display: grid; row-gap: 0.25lh; margin-top: clamp(var(--content-top), calc(44 / var(--container) * 100vw + var(--font-offset)), 44rem); }
		.term { font: 700 var(--font-size-30) / 1.33333333 var(--font-sans); color: #090909; }
		.desc { font: 300 var(--font-size-18-to-14) / 1.5 var(--font-sans); color: #444; }
		@media (width >= 768px) {
			.visual { background-image: url("/assets/images/overview/visual-pc.webp"); }
			.list { grid-template-columns: 3fr 9fr; }
			.term { padding-left: 16.7%; }
			.desc { padding-left: 16.9%; }
		}
	}
	.section-overview {
		.designation-status { display: block; width: 100%; max-width: 701rem; height: auto; margin-top: clamp(var(--content-top), calc(35 / var(--container) * 100vw + var(--font-offset)), 35rem); }
	}
	.section-history { --year-space: clamp(110rem, calc(155 / var(--container) * 100vw + var(--font-offset)), 155rem); --font-size-30: clamp(20rem, calc(30 / var(--container) * 100vw + var(--font-offset)), 30rem);
		.year-list { position: relative; display: grid; gap: clamp(var(--section-block), calc(69 / var(--container) * 100vw + var(--font-offset)), 69rem); padding-block: 34rem 24rem; border-top: 1px solid var(--border-color); isolation: isolate; }
		.year-item { display: grid; gap: 0.5lh clamp(47rem, calc(51 / var(--container) * 100vw + var(--font-offset)), 51rem); }
		.year-block { position: relative; }
		.year { position: sticky; top: var(--content-top); display: block; width: 4.8em; font: 700 var(--font-size-30) var(--font-play); text-align: center; color: var(--primary); }
		.year::before { position: absolute; width: 0.76666667em; aspect-ratio: 1; background: var(--primary); border: 1px solid currentColor; border-radius: 50%; box-shadow: inset 0 0 0 0.13333333em #fff; content: ""; }
		.month-list { display: grid; gap: 0.7lh; font: var(--font-size-18-to-14) / 1.5 var(--font-sans); }
		.month-item { display: grid; grid-template-columns: auto 1fr; gap: 2.7ch; }
		.month { font-weight: 700; }
		.event { font-weight: 300; color: #444; }
		@media (width >= 768px) {
			.year-list::before { position: absolute; inset: 0 auto 0 var(--year-space); border-left: 1px solid var(--border-color); content: ""; }
			.year-item { grid-template-columns: var(--year-space) 1fr; }
			.year::before { top: 0.5lh; left: var(--year-space); translate: -50% -50%; }
		}
		@media (width >= 1280px) {
			.month-list { margin-top: clamp(0px, calc(3 / var(--container) * 100vw + var(--font-offset)), 3rem); }
		}
		@media (width < 768px) {
			.year::before { top: 0.5lh; left: 0; translate: 0 -50%; }
		}
	}
}

.page-location-support {
	* { letter-spacing: -0.01em; }
	.transport-image { display: block; width: 100%; max-width: 900rem; height: auto; border: 1px solid var(--border-color); border-radius: 10rem; }
	.transport-list { margin-top: clamp(var(--content-top), calc(40 / var(--container) * 100vw + var(--font-offset)), 40rem); font: var(--font-size-18-to-14) var(--font-sans);
		.transport-group { display: grid; grid-template-columns: auto 1fr; gap: 15rem clamp(8rem, calc(49 / var(--container) * 100vw + var(--font-offset)), 49rem);
			.transport-group + & { margin-top: clamp(var(--content-top), calc(36 / var(--container) * 100vw + var(--font-offset)), 36rem); padding-top: clamp(var(--content-top), calc(39 / var(--container) * 100vw + var(--font-offset)), 39rem); border-top: 1px dashed var(--border-color); }
			&::before { display: block; grid-row: 1 / -1; width: clamp(48rem, calc(100 / var(--container) * 100vw + var(--font-offset)), 100rem); aspect-ratio: 1; background: var(--bg-gray-light) no-repeat 50% / contain; border-radius: 10rem; content: ""; }
			&.transport-group--expressway::before { grid-row: 1 / 6; background-image: url("/assets/images/specialized-complex/transport-expressway.svg"); }
			&.transport-group--railway::before { grid-row: 1 / 5; background-image: url("/assets/images/specialized-complex/transport-railway.svg"); }
			&.transport-group--airport::before { grid-row: 1 / 6; background-image: url("/assets/images/specialized-complex/transport-airport.svg"); }
		}
		.transport-type { font: 700 var(--font-size-22) var(--font-sans); color: var(--secondary);
			@media (width >= 768px) { margin-block: 6rem 4rem; }
		}
		.transport-item { display: grid; grid-template-columns: auto 1fr; gap: 0.4ch; font-weight: 300; color: #444; }
		.transport-item::before { content: "-"; }
	}
	.shared-table {
		@media (width >= 768px) {
			col:nth-child(1) { width: 16.7%; }
			col:nth-child(2) { width: 27.8%; }
		}
	}
	.section-business-support { margin-top: clamp(var(--section-block), calc(149 / var(--container) * 100vw + var(--font-offset)), 149rem);
		.banner { margin-top: clamp(var(--content-top), calc(35 / var(--container) * 100vw + var(--font-offset)), 35rem); padding: clamp(var(--section-block), calc(125 / var(--container) * 100vw + var(--font-offset)), 125rem) clamp(16rem, calc(99 / var(--container) * 100vw + var(--font-offset)), 99rem) clamp(var(--section-block), calc(132 / var(--container) * 100vw + var(--font-offset)), 132rem); color: #fff; background: #000c39 no-repeat 50% / cover; border-radius: 15rem;
			@media (width >= 768px) { background-image: url("/assets/images/specialized-complex/banner-bg-pc.webp"); }
			@media (width < 768px) { background-image: url("/assets/images/specialized-complex/banner-bg-mob.webp"); }
		}
		.title { font: 600 var(--font-size-40) var(--font-sans); }
		.link { display: inline-block; margin-top: 1.75em; padding: 0.9em 2em; font: 700 var(--font-size-20-to-14) var(--font-sans); background: var(--primary); border-radius: 5em; }
		.link::after { display: inline-block; margin-left: 0.65ch; translate: 0 7%; content: "↗"; }
	}
}

.page-council { display: grid; gap: clamp(var(--section-block), calc(150 / var(--container) * 100vw + var(--font-offset)), 150rem);
	* { letter-spacing: -0.01em; }
	.shared-table {
		col:nth-child(odd) { width: 8.3%; }
		col:nth-child(even) { width: 25%; }
		td:first-child { border-left: 0; }
		td { padding-block: 11rem; }
	}
	.chairman-company { display: inline-block; padding: 0.2lh 0.5ch; color: #fff; background: #0b2c67; }
}

.page-task-force { display: grid; gap: clamp(var(--section-block), calc(80 / var(--container) * 100vw + var(--font-offset)), 80rem);
	* { letter-spacing: -0.01em; }
	.task-force-intro { padding: 1.6em 1ch; font: var(--font-size-20-to-14) / 1.65 var(--font-sans); text-align: center; color: #333; border: 10rem solid var(--bg-gray-light);
		b { display: block; font-weight: 600; font-size: 1.25em; }
	}
	.section-organization {
		.media { display: block; width: 100%; padding: clamp(var(--content-top), calc(50 / var(--container) * 100vw + var(--font-offset)), 50rem) 16rem; background: #f8f8f8; }
		.image { display: block; width: 100%; max-width: 740rem; height: auto; margin-inline: auto; }
	}
	.section-directions {
		.map-area { z-index: 0; width: 100%; border-radius: 10rem;
			.wrap_map { height: 100%; }
			svg, .map_border, .wrap_controllers, .cont { display: none; }
			@media (width >= 768px) {
				.wrap_map { height: 500rem; }
			}
			@media (width < 768px) {
				& { aspect-ratio: 1; }
			}
		}
		.list { display: grid; gap: 1.5lh 0; margin-top: clamp(var(--content-top), calc(46 / var(--container) * 100vw + var(--font-offset)), 46rem); font: 300 var(--font-size-18-to-14) var(--font-sans);
			.item { display: grid; gap: 0.55lh; padding-left: 2.16666667em; }
			.key { position: relative; font: 700 1.22222222em var(--font-play); color: var(--primary); text-transform: uppercase; }
			.key::before { position: absolute; top: 0; top: 0.55lh; left: 0; left: -2.15ch; width: 0.94444444em; aspect-ratio: 17 / 20; background: no-repeat 50% / contain; translate: 0 -50%; content: ""; }
			.key--address::before { background-image: url("/assets/images/task-force/directions-address.svg"); }
			.key--tel::before { background-image: url("/assets/images/task-force/directions-tel.svg"); }
			.value { color: #444; }
			@media (width >= 768px) { grid-template-columns: repeat(2, 1fr); margin-inline: clamp(8rem, calc(37 / var(--container) * 100vw + var(--font-offset)), 37rem);
				.list:first-child { padding-left: 20rem; }
			}
		}
	}
}

.page-platform-overview { contain: content;
	/* .tablist-scroller-container { position: relative; z-index: 5;
		@media (width >= 1280px) { top: 10rem; }
		@media (width < 1280px) { top: calc(var(--header-height) + 10rem); }
	} */
	.tablist-scroller { overflow: auto; margin-inline: calc(var(--container-edge-offset) * -1); padding-inline: var(--container-edge-offset);
		.tablist { display: flex; gap: clamp(8rem, calc(20 / var(--container) * 100vw + var(--font-offset)), 20rem); width: fit-content; font: 500 var(--font-size-18-to-14) var(--font-sans); }
		.tab { padding: 1.08333333em 2ch; color: #999; background: #eee; border-radius: 5em; cursor: pointer;
			@media (width >= 768px) { min-width: 12.44444444em; }
		}
		.tab.is-selected { font-weight: 700; color: #fff; background: linear-gradient(in oklch 90deg, #f16d6d, var(--primary)); }
	}
	.tabpanel-block { margin-top: clamp(var(--section-block), calc(80 / var(--container) * 100vw + var(--font-offset)), 80rem);
		.tabpanel { display: grid; row-gap: clamp(var(--section-block), calc(150 / var(--container) * 100vw + var(--font-offset)), 150rem); }
		section { min-width: 0; }
	}
	.scroll-container { overflow: auto; margin-inline: calc(var(--container-edge-offset) * -1); padding-inline: var(--container-edge-offset); }
	.vision-banner { align-content: center; min-height: 7.27272727em; padding: 2.09090909em 1.77272727em; padding: 0.5lh 1.77272727em; font: 500 var(--font-size-22) / 1.54545455 var(--font-sans); background: var(--banner-overlay, none), var(--bg-url) no-repeat 100% 50% / auto 100%, var(--br-color); border-radius: 10rem;
		&.vision-banner--bg-1 { --br-color: #b4e1ff; --bg-url: url("/assets/images/platform/vision-banner-bg-1.webp"); }
		&.vision-banner--bg-2 { --br-color: #ccedff; --bg-url: url("/assets/images/platform/vision-banner-bg-2.webp"); }
		&.vision-banner--bg-3 { --br-color: #dff9fe; --bg-url: url("/assets/images/platform/vision-banner-bg-3.webp"); }
		&.vision-banner--bg-4 { --br-color: #e1edff; --bg-url: url("/assets/images/platform/vision-banner-bg-4.webp"); }
		&.vision-banner--bg-5 { --br-color: #e4eeff; --bg-url: url("/assets/images/platform/vision-banner-bg-5.webp"); }
		.title { font: 700 1.13636364em var(--font-sans); color: var(--secondary); }
		.note { display: block; margin-top: 0.6875em; font: 0.72727273em var(--font-sans); color: #ff782b; }
		@media (width < 1280px) { --banner-overlay: linear-gradient(rgb(from var(--br-color) r g b / 0.8)); }
	}
	.dash-list { display: grid; gap: 0.34lh; font: 300 var(--font-size-18-to-14) / 1.5 var(--font-sans); color: #444;
		&.dash-list--border { padding: 1.38888889em 1em 1.27777778em; border: 1px solid var(--border-color); border-radius: 10rem; }
		&.dash-list--bg-gray { padding: 1.38888889em 1em 1.27777778em; background: #f5f5f5; border-radius: 10rem; }
		li { display: grid; grid-template-columns: auto 1fr; gap: 0.4ch; }
		li::before { content: "-"; }
	}
	.factor-group { display: grid; gap: clamp(8rem, calc(20 / var(--container) * 100vw + var(--font-offset)), 20rem); margin-top: clamp(var(--content-top), calc(34 / var(--container) * 100vw + var(--font-offset)), 34rem); font: var(--font-size-18-to-14) / 1.5 var(--font-sans); text-align: center;
		@media (width >= 768px) { grid-template-columns: repeat(6, 1fr);
			.factor-item:nth-child(-n + 2) { grid-column-end: span 3; }
			.factor-item:nth-child(n + 3):nth-child(-n + 5) { grid-column-end: span 2;
				strong { display: block; }
			}
		}
		@media (width < 768px) { grid-template-columns: repeat(2, 1fr); }
		.factor-item { padding: 1.16666667em 1ch 1.11111111em; text-wrap: balance; border: 5rem solid var(--bg-gray-light); border-radius: 5rem; }
		.factor-label { display: block; margin-bottom: 0.8125em; font: 600 0.88888889em / 1.5 var(--font-sans); color: var(--primary); }
		strong { font-weight: 700; }
	}
	.facilities-list { display: grid; gap: clamp(8rem, calc(20 / var(--container) * 100vw + var(--font-offset)), 20rem); margin-top: 23rem; font: 500 var(--font-size-16) / 1.375 var(--font-sans); text-align: center; color: #222;
		@media (width >= 768px) { grid-template-columns: repeat(4, 1fr); }
		@media (width < 768px) { grid-template-columns: repeat(2, 1fr); }
		.facilities-media { display: grid; grid-template-rows: auto 1fr; height: 100%; contain: content; background: var(--bg-gray-light); border-radius: 10rem; }
		.facilities-img { display: block; width: 100%; height: auto; }
		.facilities-name { align-content: center; padding: 0.96875em 1ch; }
	}
	.strategy-list { display: grid;
		@media (width >= 768px) { row-gap: 20rem; }
		@media (width < 768px) { row-gap: 40rem; }
		.strategy-item { display: grid; align-items: center; row-gap: var(--content-top);
			@media (width >= 768px) { grid-template-columns: 42fr 78fr; }
		}
		.target-card { display: grid; grid-template-rows: 1fr auto; place-items: end start; padding: 9.9% 9.2%; padding: clamp(17rem, calc(42 / var(--container) * 100vw + var(--font-offset)), 42rem) clamp(16rem, calc(39 / var(--container) * 100vw + var(--font-offset)), 39rem); color: #fff; background: linear-gradient(in oklch 0deg, #00000080, #0000 50%), var(--bg-url) no-repeat 50% / cover, var(--black); border-radius: 10rem;
			@media (width >= 768px) { aspect-ratio: 42 / 32;
				&.target-card--1 { --bg-url: url("/assets/images/platform/partners-bg-1-pc.webp"); }
				&.target-card--2 { --bg-url: url("/assets/images/platform/partners-bg-2-pc.webp"); }
				&.target-card--3 { --bg-url: url("/assets/images/platform/partners-bg-3-pc.webp"); }
			}
			@media (width < 768px) { aspect-ratio: 80 / 32;
				&.target-card--1 { --bg-url: url("/assets/images/platform/partners-bg-1-mob.webp"); }
				&.target-card--2 { --bg-url: url("/assets/images/platform/partners-bg-2-mob.webp"); }
				&.target-card--3 { --bg-url: url("/assets/images/platform/partners-bg-3-mob.webp"); }
			}
			.eyebrow { min-width: 6.25em; padding: 0.34375em 1ch; font: 700 var(--font-size-16) var(--font-sans); text-align: center; background: var(--primary); border-radius: 5em; }
			.title { margin-top: 0.64em; font: 700 var(--font-size-25) var(--font-sans); }
		}
		.partner-card {
			.desc { margin-bottom: 1.27272727em; font: 700 var(--font-size-22) var(--font-sans); text-align: center; color: var(--secondary); }
			.partner-logo { display: block; width: 100%; max-width: 700rem; height: auto; margin-inline: auto; }
		}
	}
	.action-plan-list { display: grid; gap: clamp(var(--content-top), calc(40 / var(--container) * 100vw + var(--font-offset)), 40rem);
		.action-plan-item { display: grid; gap: clamp(8rem, calc(20 / var(--container) * 100vw + var(--font-offset)), 20rem);
			&:nth-child(1) { --color: var(--primary); }
			&:nth-child(2) { --color: var(--red); }
			&:nth-child(3) { --color: var(--dark-red); }
			.action-plan-list--bg-orange &:nth-child(1) { --color: var(--orange-red); }
			.action-plan-list--bg-orange &:nth-child(2) { --color: var(--primary); }
			.action-plan-list--bg-orange &:nth-child(3) { --color: var(--red); }
			.action-plan-list--bg-orange &:nth-child(4) { --color: var(--dark-red); }
		}
		.step-header { padding: 15rem 20rem 13rem; text-align: center; background: var(--color); border-radius: 10rem; }
		.step-badge { width: fit-content; min-width: 6.25em; margin-inline: auto; padding: 0.34375em 1ch; font: 600 var(--font-size-16) var(--font-sans); color: var(--color); background: #fff; border-radius: 5em; }
		.step-subject { margin-top: 0.40909091em; font: 500 var(--font-size-22) / 1.5 var(--font-sans); color: #fff; }
		.step-list { display: flex; flex-wrap: wrap; gap: clamp(8rem, calc(20 / var(--container) * 100vw + var(--font-offset)), 20rem); font: var(--font-size-18-to-14) / 1.5 var(--font-sans);
			ol& { counter-reset: index; }
		}
		.step-item { flex: 1 40%; padding: 23.5rem 18rem; border: 1px solid #ddd; border-radius: 10rem; }
		.step-title { font-weight: 700; color: var(--color);
			ol.step-list & { counter-increment: index;
				&::before { content: counter(index) ". "; }
			}
		}
		.step-desc { margin-top: 0.38888889em; font-weight: 300; color: #444; }
	}
	.education-track-list { display: grid; gap: clamp(8rem, calc(20 / var(--container) * 100vw + var(--font-offset)), 20rem); text-align: center;
		@media (width >= 768px) { grid-template-columns: repeat(3, 1fr); }
		.education-track-item { padding: 15rem 1ch 17rem; background: var(--color); border-radius: 10rem;
			&:nth-child(1) { --color: var(--secondary); }
			&:nth-child(2) { --color: #224fa0; }
			&:nth-child(3) { --color: #5480cd; }
			.education-track-list--bg-red &:nth-child(1) { --color: var(--primary); }
			.education-track-list--bg-red &:nth-child(2) { --color: var(--red); }
			.education-track-list--bg-red &:nth-child(3) { --color: var(--dark-red); }
		}
		.education-track-badge { width: fit-content; min-width: 6.25em; margin-inline: auto; padding: 0.34375em 1ch; font: 600 var(--font-size-16) var(--font-sans); color: var(--color); background: #fff; border-radius: 5em; }
		.education-track-title { margin-top: 0.54545455em; font: 500 var(--font-size-22) var(--font-sans); color: #fff; }
	}
	.curriculum-flowchart { display: block; width: 100%; height: auto; margin-top: clamp(var(--content-top), calc(30 / var(--container) * 100vw + var(--font-offset)), 30rem); }
	.section-project-details {
		.subheading { margin-block: 1.40909091em -0.27272727em; font: 700 var(--font-size-22) var(--font-sans); text-align: center; color: var(--secondary); }
		.shared-table .dash-list { text-align: left; }
	}
	.target-partner-list { display: grid; gap: clamp(8rem, calc(20 / var(--container) * 100vw), 20rem);
		.target-partner-item { display: grid; grid-template-columns: 10fr 21fr 49fr; align-items: center; gap: 20rem; padding: 29rem; border: 1px solid var(--border-color); border-radius: 10rem;
			&::before { display: block; width: 100rem; aspect-ratio: 1; border-radius: 50%; content: ""; }
			&.target-partner-item--1::before { background: var(--primary) url("/assets/images/platform/target-partner-1.svg") no-repeat 50% / contain; }
			&.target-partner-item--2::before { background: var(--orange) url("/assets/images/platform/target-partner-2.svg") no-repeat 50% / contain; }
			&.target-partner-item--3::before { background: var(--pink-rose) url("/assets/images/platform/target-partner-3.svg") no-repeat 50% / contain; }
		}
		.target-partner-title { font: 700 var(--font-size-22) var(--font-sans); text-align: center; color: var(--secondary); }
	}
	.education-program-list { display: grid; gap: 20rem; margin-top: 23rem; font: var(--font-size-18-to-14) / 1.5 var(--font-sans);
		.education-program-item { padding: 23rem 18rem; border: 1px solid var(--border-color); border-radius: 10rem; }
		.education-program-name { font-weight: 700; color: var(--primary); }
		.education-program-detail { margin-top: 0.38888889em; font-weight: 300; color: #444; }
		.education-program-detail strong { font-weight: 700; color: var(--black); }
	}
	.ideal-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(8rem, calc(20 / var(--container) * 100vw), 20rem); font: 500 var(--font-size-22) / 1.36363636 var(--font-sans); text-align: center; color: #fff;
		.ideal-item { padding: 0.68181818em 2ch; background: var(--color); border-radius: 10rem;
			&.ideal-item--bg-1 { --color: var(--orange-red); }
			&.ideal-item--bg-2 { --color: var(--primary); }
			&.ideal-item--bg-3 { --color: var(--red); }
			&.ideal-item--bg-4 { --color: var(--dark-red); }
			&.ideal-item--bg-5 { --color: #660054; }
			&.ideal-item--bg-6 { --color: #812972; }
		}
		.ideal-badge { display: block; width: fit-content; min-width: 6.25em; margin: 0 auto 0.625em; padding: 5.5rem 2ch; font: 700 var(--font-size-16) var(--font-sans); color: var(--color); background: #fff; border-radius: 5em; }
	}
	.dept-edu-direction { margin-top: 23rem; padding: 0.63636364em 2ch; font: 600 var(--font-size-22) / 1.5 var(--font-sans); text-align: center; color: var(--secondary); background: #eee; border-radius: 10rem; }
	.process-slider { overflow: visible; margin-top: 16rem;
		&.process-slider--border-type {
			.process-slider-item { padding-block: 32rem 26rem; background: 0; border: 3rem solid var(--color); border-radius: 5rem; }
			.process-slider-icon { color: #fff; background: var(--color); }
			.process-slider-title { margin-bottom: 0.36em; font-size: var(--font-size-25); color: var(--color); }
			.process-detail-list { color: #444; }
		}
		&:not(.swiper) { display: grid; gap: clamp(8rem, calc(20 / var(--container) * 100vw), 20rem);
			@media (width >= 768px) { grid-template-columns: repeat(4, 1fr); }
			@media (width < 768px) { grid-template-columns: repeat(2, 1fr); }
		}
		.process-slider-item { height: auto; padding: 26rem clamp(12rem, calc(20 / var(--container) * 100vw), 20rem) 23rem; text-align: center; color: #fff; background: var(--color); border-radius: 10rem;
			&.bg-primary { --color: var(--primary); }
			&.bg-secondary { --color: var(--secondary); }
			&.bg-orange { --color: var(--orange); }
			&.bg-mint { --color: #44b29d; }
			&.bg-pink-rose { --color: var(--pink-rose); }
			&.bg-wine { --color: var(--wine); }
			&.bg-purple { --color: var(--purple); }
			&.bg-navy { --color: var(--navy); }
		}
		.process-slider-step { font: 700 var(--font-size-16) var(--font-sans); font: 700 var(--font-size-16) var(--font-play); text-transform: uppercase; }
		.process-slider-step + .process-slider-icon { margin-top: 0.95454545em; }
		.process-slider-icon { align-content: center; width: 4.54545455em; aspect-ratio: 1; margin-bottom: 0.86363636em; margin-inline: auto; font-size: var(--font-size-22); color: var(--color); background: #fff; border-radius: 50%; }
		.process-slider-symbol { display: block; width: 100%; height: 45%; }
		.process-slider-title { margin-bottom: 0.5em; font: 700 var(--font-size-22) / 1.5 var(--font-sans); }
		.process-detail-list { font: 300 var(--font-size-18-to-14) / 1.66666667 var(--font-sans); }
		.process-detail-separator { margin-block: 0.66666667em; font-size: var(--font-size-18); border: 0; border-top: 1px dashed #ccc; }
		.process-slider-scrollbar { height: 5rem; margin-top: clamp(8rem, calc(30 / var(--container) * 100vw), 30rem); background: #ccc; }
		.swiper-scrollbar-drag { background: #333; border-radius: 0; }
	}
	.external-link { display: block; max-width: 800rem; margin: 1em auto 0; padding: 1.25em 1ch; font: 300 var(--font-size-20) / 1.5 var(--font-sans); text-align: center; color: #fff; background: var(--secondary) linear-gradient(in oklch 90deg, #406fc0, var(--secondary)); border-radius: 10rem; box-shadow: 0 1em 3em hsla(218, 43%, 15%, 0.15);
		&::after { display: inline-block; margin-left: 0.3ch; font-weight: 700; translate: 0 6.5%; content: "↗"; }
	}
	/* #region images */
	.image-border-block { margin-top: 23rem; padding: clamp(24rem, calc(40 / var(--container) * 100vw), 40rem) 16rem; border: 1px solid var(--border-color); border-radius: 10rem;
		&.image-border-block--scrollable { overflow: auto; }
	}
	.partners-image { display: block; width: 1200rem; height: auto; }
	.project-detail-image { display: block; width: 1200rem; height: auto; }
	.k-ucity-fields-image { display: block; width: 100%; max-width: 644rem; height: auto; margin-inline: auto; }
	.k-ucity-subject-image { display: block; width: 100%; max-width: 582rem; height: auto; margin-inline: auto; }
	.curriculum-map { display: block; width: 100%; height: auto; margin-top: clamp(var(--content-top), calc(30 / var(--container) * 100vw + var(--font-offset)), 30rem); }
	.roadmap-image { display: block; width: 100%; max-width: 364rem; height: auto; margin-inline: auto; }
	.sectors-image { display: block; width: 100%; max-width: 644rem; height: auto; margin-inline: auto; }
	.u-city-governance-map { display: block; width: 100%; max-width: 900rem; height: auto; margin-inline: auto; }
	.semi-elec-edu-plan { display: block; width: 100%; max-width: 900rem; height: auto; margin-inline: auto; }
	.curriculum-process-diagram { display: block; width: 100%; min-width: 600rem; max-width: 1002rem; height: auto; margin-inline: auto; }
	.semiconductor-curriculum-roadmap { display: block; width: 100%; min-width: 800rem; max-width: 1050rem; height: auto; margin-inline: auto; }
	.nuri-gwan { display: block; width: 100%; max-width: 900rem; height: auto; margin-top: clamp(var(--content-top), calc(39 / var(--container) * 100vw), 39rem); border-radius: 10rem; }
	/* #endregion images */
	/* #region content margin */
	:where(.scroll-container, .shared-table) + .shared-detail-set { margin-top: clamp(var(--content-top), calc(50 / var(--container) * 100vw + var(--font-offset)), 50rem); }
	.shared-detail-set + .shared-detail-set { margin-top: clamp(var(--content-top), calc(57 / var(--container) * 100vw + var(--font-offset)), 57rem); }
	.sectors-image + .target-partner-list { margin-top: clamp(var(--content-top), calc(51 / var(--container) * 100vw), 51rem); }
	.curriculum-flowchart + .shared-table { margin-top: clamp(var(--content-top), calc(50 / var(--container) * 100vw + var(--font-offset)), 50rem); }
	.facilities-list + .dash-list { margin-top: clamp(var(--content-top), calc(30 / var(--container) * 100vw + var(--font-offset)), 30rem); }
	.roadmap-image + .sectors-image { margin-top: clamp(var(--content-top), calc(44 / var(--container) * 100vw), 44rem); }
	p + .u-city-governance-map { margin-top: clamp(var(--content-top), calc(34 / var(--container) * 100vw), 34rem); }
	.shared-detail-title + .dash-list { margin-top: 23rem; }
	.dash-list + .process-slider { margin-top: 20rem; }
	.shared-list + .external-link { margin-top: clamp(var(--content-top), calc(150 / var(--container) * 100vw), 150rem); }
	/* #endregion content margin */
	.section-project-overview {
		.subheading { margin-bottom: 1.6em; font: 300 var(--font-size-20) / 1.6 var(--font-sans); text-align: center; color: #444; }
	}
	.section-contact { text-align: center;
		.heading { font: 700 var(--font-size-25) var(--font-sans); color: var(--secondary); }
		.card { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6lh 3ch; max-width: 800rem; margin-top: 26rem; margin-inline: auto; padding: 25.5rem 1ch; border: 1px solid var(--secondary); border-radius: 10rem; box-shadow: 0 20rem 60rem rgb(from var(--secondary) r g b / 0.15);
			.card + & { margin-top: var(--font-size-20); }
		}
		.label { flex: 1 100%; font: 600 var(--font-size-20) var(--font-sans); }
		.link { font: 300 var(--font-size-16) var(--font-sans); color: #444; }
		.link b { font-weight: 500; }
	}
}

.page-business {
	.section-research-team {
		.visual { aspect-ratio: 3 / 1; background: var(--black) no-repeat 50% / cover; border-radius: 15rem;
			@media (width >= 768px) {
				&.visual--1 { margin-bottom: 40px; background-image: url("/assets/images/business/research-team-visual-1-pc.webp"); }
				&.visual--2 { margin-bottom: 40px; background-image: url("/assets/images/business/research-team-visual-2-pc.webp"); }
			}
			@media (width < 768px) {
				&.visual--1 { margin-bottom: 40px; background-image: url("/assets/images/business/research-team-visual-1-mob.webp"); }
				&.visual--2 { margin-bottom: 40px; background-image: url("/assets/images/business/research-team-visual-2-mob.webp"); }
			}
		}
		.card-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(8rem, calc(20 / var(--container) * 100vw + var(--font-offset)), 20rem); margin-top: clamp(var(--content-top), calc(50 / var(--container) * 100vw + var(--font-offset)), 50rem); }
		.card { padding: clamp(19rem, calc(22 / var(--container) * 100vw + var(--font-offset)), 22rem) 0.4ch clamp(16rem, calc(19 / var(--container) * 100vw + var(--font-offset)), 19rem); text-align: center; border: clamp(3rem, calc(5 / var(--container) * 100vw + var(--font-offset)), 5rem) solid #eaeaea; border-radius: 10rem; }
		.card-item--person { margin-bottom: 0.88888889em; font: 500 var(--font-size-18-to-14) var(--font-sans); }
		.person-label { font: 700 var(--font-size-20) var(--font-sans); color: var(--secondary); }
		.person-label::after { display: block; width: 1.5em; height: clamp(2rem, calc(3 / var(--container) * 100vw + var(--font-offset)), 3rem); margin: 0.8em auto 1.1em; background: currentColor; content: ""; }
		.person-value { color: #333; }
		.person-name { margin-right: 0.3ch; font-size: 1.22222222em; letter-spacing: 0.3ch; }
		.card-item--contact { justify-content: center; font: 300 var(--font-size-16-to-12) var(--font-sans); color: #444;
			@media (width >= 768px) { display: inline-flex;
				&.card-item--contact + .card-item--contact { margin-left: 2.7ch; }
			}
			@media (width < 768px) { display: flex;
				&.card-item--contact + .card-item--contact { margin-top: 0.25lh; }
			}
		}
		.contact-label { font-weight: 500; }
		.contact-label::after { margin-inline: 0.4ch; content: ":"; }
	}
	.section-project-details { margin-top: clamp(var(--section-block), calc(80 / var(--container) * 100vw + var(--font-offset)), 80rem);
		.info-item { display: grid; gap: 1lh 2ch; padding-top: clamp(var(--section-block), calc(20 / var(--container) * 100vw + var(--font-offset)), 20rem); border-top: 2rem solid #efefef;
			&:not(:last-child) { padding-bottom: clamp(var(--section-block), calc(20 / var(--container) * 100vw + var(--font-offset)), 20rem); }
			@media (width >= 768px) { grid-template-columns: 29.5ch 1fr; }
		}
		.info-title { display: flex; align-items: start; gap: 0.36em; font: 700 var(--font-size-25) / 1.4 var(--font-sans);
			&:has(~ dd:nth-of-type(2)) { 
                @media (width >= 768px){grid-row-end: span 3;}
            }
			&:has(~ dd:nth-of-type(3)) { 
                @media (width >= 768px){grid-row-end: span 4;}
            }
			&::before { position: relative; top: 0.5lh; display: block; width: 0.64em; aspect-ratio: 1; border: clamp(2rem, calc(3 / var(--container) * 100vw + var(--font-offset)), 3rem) solid var(--secondary); border-radius: 50%; translate: 0 -56%; content: ""; }
		}
		.info-content { font: 300 var(--font-size-18-to-14) / 1.5 var(--font-sans); color: #444;
			@media (width >= 768px) { padding-top: calc(var(--font-size-25) * 0.16); }
		}
		.agency-list { display: grid; gap: 1.11111111em; font: 300 var(--font-size-18-to-14) var(--font-sans);
			.agency-item { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 1.8ch; }
			.agency-role { min-width: 8.7ch; padding: 7.4rem 1.6ch; font-weight: 600; text-align: center; color: var(--black); background: var(--bg-gray-light); border-radius: 5rem; }
			.agency-name { margin-top: 0.38888889em; 
                .agency--contactus{display:flex; flex-direction:column; gap:15rem;
                    li{display:flex; gap:15rem; position:relative; padding-left:12rem;
                        &:before{content:'-'; display:block; position:absolute; left:0; top:0;}
                    }
                    em{font-weight:500; color:#222;}
                    a{display:flex; align-items:center; gap:5rem;}
                    img{display:block; height:13rem;}
                    @media (max-width:1024px){
                        li{display:block;}
                        a{margin-top:6rem;}
                    }
                }
            }
		}
		.necessity-group + .necessity-group { margin-top: clamp(var(--content-top), calc(47 / var(--container) * 100vw + var(--font-offset)), 47rem); }
		.necessity-title { display: flex; gap: 0.36363636em; margin-bottom: 1.04545455em; font: 700 var(--font-size-22) var(--font-sans); color: var(--secondary);
			&::before { position: relative; top: 0.5lh; width: clamp(3rem, calc(5 / var(--container) * 100vw + var(--font-offset)), 5rem); height: 0.95454545em; background: currentColor; border-radius: 5em; translate: 0 -48%; content: ""; }
		}
		.gallery { --row-gap: clamp(var(--content-top), calc(57 / var(--container) * 100vw + var(--font-offset)), 57rem); --column-gap: clamp(8rem, calc(40 / var(--container) * 100vw + var(--font-offset)), 40rem); text-align: center;
			&.gallery + .gallery { margin-top: clamp(16rem, calc(20 / var(--container) * 100vw + var(--font-offset)), 20rem); }
			.gallery-title { width: fit-content; min-width: 10em; padding: 0.6em 2ch 0.4em; font: 700 var(--font-size-20) var(--font-sans); color: #fff; background: var(--primary); border-radius: 10rem 10rem 0 0; }
			.photo-group { position: relative; display: grid; gap: var(--row-gap) var(--column-gap); padding: clamp(25rem, calc(30 / var(--container) * 100vw + var(--font-offset)), 30rem) clamp(8rem, calc(20 / var(--container) * 100vw + var(--font-offset)), 20rem) clamp(21rem, calc(25 / var(--container) * 100vw + var(--font-offset)), 25rem); border: 1px solid #ddd; border-top: 2rem solid var(--primary); border-radius: 0 0 10rem 10rem;
				@media (width >= 768px) {
					&.photo-group--column-3 { grid-template-columns: repeat(3, 1fr);
						.media:nth-child(3n + 4)::before { position: absolute; inset: calc(var(--row-gap) * -0.5) calc(-200% + (var(--column-gap) * -2)) auto 0; border-top: 1px dashed #ddd; content: ""; }
					}
					&.photo-group--column-4 { grid-template-columns: repeat(4, 1fr);
						.media:nth-child(4n + 5)::before { position: absolute; inset: calc(var(--row-gap) * -0.5) calc(-300% + (var(--column-gap) * -3)) auto 0; border-top: 1px dashed #ddd; content: ""; }
					}
					.media + .media::before { position: absolute; inset: 0 auto 0 calc(var(--column-gap) / -2); border-left: 1px dashed #ddd; content: ""; }
				}
				@media (width < 768px) { grid-template-columns: repeat(2, 1fr); }
			}
			.media { position: relative; display: grid; gap: 0.88888889em; font: 600 var(--font-size-18-to-14) var(--font-sans); }
			.photo { display: block; width: 100%; height: auto; text-indent: -1000vw; }
			.name sub { vertical-align: text-bottom; }
		}
		.key-info-group {
			& { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(8rem, calc(20 / var(--container) * 100vw + var(--font-offset)), 20rem); text-align: center; }
			.key-info-title { width: fit-content; min-width: 10em; padding: 0.6em 2ch 0.4em; font: 700 var(--font-size-20) var(--font-sans); color: #fff; background: var(--primary); border-radius: 10rem 10rem 0 0; }
			.key-info-list { position: relative; display: grid; padding: 1.44444444em clamp(8rem, calc(20 / var(--container) * 100vw + var(--font-offset)), 20rem); font: 600 var(--font-size-18-to-14) var(--font-sans); border: 1px solid #ddd; border-top: 2rem solid var(--primary); border-radius: 0 0 10rem 10rem;
				li + li { margin-top: 0.88888889em; padding-top: 0.88888889em; border-top: 1px dashed #ddd; }
			}
		}
		.key-photo-group { display: grid; grid-template-columns: repeat(6, 1fr); gap: clamp(8rem, calc(20 / var(--container) * 100vw + var(--font-offset)), 20rem); max-width: 700rem; margin: clamp(var(--content-top), calc(50 / var(--container) * 100vw + var(--font-offset)), 50rem) auto 0;
			.photo { display: block; grid-column-end: span 2; width: 100%; height: auto; }
			.photo:nth-child(4) { grid-column-start: 2; }
		}
		.support-title { margin-bottom: 1.3em; font: 500 var(--font-size-20) / 1.3 var(--font-sans); text-align: center; text-wrap: balance; }
		.support-list { display: grid; gap: clamp(8rem, calc(20 / var(--container) * 100vw + var(--font-offset)), 20rem);
			.support-item { display: grid; align-items: center; gap: 0.5lh clamp(24rem, calc(30 / var(--container) * 100vw + var(--font-offset)), 30rem); padding: clamp(16rem, calc(29 / var(--container) * 100vw + var(--font-offset)), 29rem); border: 1px solid #ddd; border-radius: 10rem;
				@media (width >= 768px) { grid-template-columns: auto 18ch 1fr;
					.title { text-align: center; }
				}
				@media (width < 768px) { grid-template-columns: auto 1fr;
					.icon { grid-area: 1 / 1 / 3 / 2; }
				}
			}
			.icon { width: clamp(60rem, calc(100 / var(--container) * 100vw + var(--font-offset)), 100rem); aspect-ratio: 1; color: #fff; border-radius: 50%;
				&.icon--bg-1 { background: var(--primary); }
				&.icon--bg-2 { background: var(--orange); }
				&.icon--bg-3 { background: var(--pink-rose); }
				&.icon--bg-4 { background: var(--wine); }
				&.icon--bg-5 { background: var(--purple); }
				&.icon--bg-6 { background: var(--navy); }
			}
			.title { font: 700 var(--font-size-22) var(--font-sans); color: var(--secondary); }
			.detail-list { display: grid; gap: 0.83333333em; font: 300 var(--font-size-18-to-14) var(--font-sans); color: #444;
				li::before { content: "- "; }
			}
		}
	}
}

.our-equipment-list { display: grid; gap: clamp(40rem, calc(53 / var(--container) * 100vw + var(--font-offset)), 53rem) clamp(8rem, calc(40 / var(--container) * 100vw + var(--font-offset)), 40rem); text-align: center;
	.link { position: relative; display: block;
		@media (any-hover) {
			.photo::before { position: absolute; inset: 0; width: 1em; aspect-ratio: 1; margin: auto; font-size: clamp(44rem, calc(70 / var(--container) * 100vw + var(--font-offset)), 70rem); background: linear-gradient(#fff) no-repeat 50% / 37.14285714% 4rem, linear-gradient(#fff) no-repeat 50% / 4rem 37.14285714%, var(--primary); border-radius: 50%; box-shadow: 0 0 0 0.1428571429em rgb(from var(--primary) r g b / 0.2); opacity: 0; content: ""; }
			:is(&:hover, &:focus) {
				.photo::before { opacity: 1; }
				.name-en, .name { color: var(--primary); }
			}
		}
		@media (prefers-reduced-motion: no-preference) {
			.photo::before, .name-en, .name { transition: 0.3s; }
		}
	}
	.badge { position: absolute; top: 7rem; left: 6rem; z-index: 1; padding: 0.03125em 0.625em; font-weight: 700; color: #fff; background: var(--primary); border-radius: 5rem; }
	.photo { --placeholder-image-bg: #fff; position: relative; display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; background-size: contain, var(--placeholder-image-size); border-radius: 10rem; }
	.name-en { margin-block: 1.22222222em 0.44444444em; font: 600 var(--font-size-18-to-14) var(--font-sans); }
	.name { font: 500 var(--font-size-16) var(--font-sans); color: #9f9f9f; }
	@media (width >= 768px) { grid-template-columns: repeat(3, 1fr); }
	@media (width < 768px) { grid-template-columns: repeat(2, 1fr); }
}
.training-programs-list{
    .photo{aspect-ratio:3/2;}
    .name{font-weight:400;}
}

.page-equipment-detail {
	.heading-block { display: grid; align-items: start; row-gap: var(--content-top);
		@media (width >= 768px) { grid-template-columns: 45fr 67fr; column-gap: clamp(8rem, calc(40 / var(--container-narrow) * 100vw + var(--font-offset)), 40rem); }
		@media (width >= 1280px) { column-gap: clamp(8rem, calc(80 / var(--container-narrow) * 100vw + var(--font-offset)), 80rem); }
	}
    .heading-block hr{margin-bottom:20rem;}
	.placeholder-image { border-radius: 10rem; overflow: hidden;}
	.photo { display: block; width: 100%; height: auto; text-indent: -1000vw; }
	.content { padding-top: 2.4%; }
	.name { font: 600 var(--font-size-16) var(--font-sans); color: var(--primary); }
	.name-en { margin-top: 0.59090909em; font: 600 var(--font-size-22) var(--font-sans); }
	.info-list { display: grid; gap: 0.64lh 6ch; margin-top: clamp(16rem, calc(37 / var(--container-narrow) * 100vw + var(--font-offset)), 37rem); padding: clamp(16rem, calc(30 / var(--container) * 100vw + var(--font-offset)), 30rem); background: #f5f5f5; border-radius: 5rem;
		@media (width >= 768px) { grid-template-columns: auto 1fr; }
		@media (width >= 1280px) { grid-template-columns: repeat(2, 1fr); }
	}
	.info-item { display: grid; grid-template-columns: 6ch 1fr; gap: 2ch; }
	.info-label { font-weight: 700; }
	.info-value { font-weight: 300; color: #444; }
	.section-block { display: grid; align-items: start; gap: 0.5lh clamp(16rem, calc(127 / var(--container) * 100vw + var(--font-offset)), 127rem); margin-top: clamp(var(--content-top), calc(100 / var(--container) * 100vw + var(--font-offset)), 100rem); padding-top: clamp(var(--content-top), calc(32 / var(--container) * 100vw + var(--font-offset)), 32rem); border-top: 2px solid #efefef;
		@media (width >= 768px) { grid-template-columns: 18ch 1fr;
			.heading { margin-top: 4rem; }
		}
	}
	.heading { display: inline-flex; align-items: center; gap: 0.36em; font: 700 var(--font-size-25) var(--font-sans); }
	.heading::before { display: block; width: 0.64em; aspect-ratio: 1; border: 3rem solid var(--secondary); border-radius: 50%; content: ""; }
	.description { font: 300 var(--font-size-18-to-14) / 2.22222222 var(--font-sans); color: #444; }
	.to-equipment-list { display: flex; align-items: center; justify-content: center; width: 100%; max-width: 11.375em; margin: clamp(var(--section-block), calc(80 / var(--container) * 100vw + var(--font-offset)), 80rem) auto 0; padding: 1.375em 2ch; font-weight: 500; line-height: 1; color: #333; background: #fff; border: 2rem solid #333; border-radius: 5em; }
	.info-training-list { display: flex; flex-direction: column; gap: 0.64lh 6ch; margin-top: clamp(16rem, calc(37 / var(--container-narrow) * 100vw + var(--font-offset)), 37rem); padding: clamp(16rem, calc(30 / var(--container) * 100vw + var(--font-offset)), 30rem); background: #f5f5f5; border-radius: 5rem;
		@media (width >= 768px) { grid-template-columns: auto 1fr; }
		@media (width >= 1280px) { grid-template-columns: repeat(2, 1fr); }
	}
	.training_name { font: 600 var(--font-size-22) var(--font-sans); }
	.training_overview { font: 300 var(--font-size-16) var(--font-sans); }
	.section-training-block { align-items: start; gap: 0.5lh clamp(16rem, calc(127 / var(--container) * 100vw + var(--font-offset)), 127rem); margin-top: clamp(var(--content-top), calc(100 / var(--container) * 100vw + var(--font-offset)), 100rem); padding-top: clamp(var(--content-top), calc(32 / var(--container) * 100vw + var(--font-offset)), 32rem);
		@media (width >= 768px) { grid-template-columns: 18ch 1fr;
			.heading { margin-top: 4rem; }
		}
	}
	.heading-training-block { width: fit-content; margin-top: clamp(var(--content-top), calc(100 / var(--container) * 100vw + var(--font-offset)), 100rem); margin-left: auto; }
    .section-training-block hr{margin-bottom:20rem;}
    .section-heading-block { display: flex; justify-content: space-between; }

}

.page-training_program-detail{
    .placeholder-image{aspect-ratio:3/2;}
    .photo{height:100%; object-fit:cover;}
    
    .description strong{font-weight:bold; color:#000;}
    
    /* 인력양성 프로그램 table 스타일 */
    table{border-top:1rem solid #111; width:100%;
/*        &+&{margin-top:15rem;}*/
        caption{padding:10rem; font-size:var(--font-size-18); color:#000; font-weight:600; background:#deeaff; border-top:3rem solid #444;}
        thead th{background:#444; border-bottom:1rem dashed #e2e7f9; color:#fff; font-weight:600;}
        thead tr:last-child th{border-bottom-width:0;}
        thead th[rowspan]{border-right:1rem dashed #c3cae6;}
        tbody th{border:1rem solid #e0e0e0; border-right-color:#f5f5f5; text-align:center; font-weight:bold; color:var(--secondary);}
        thead + tbody th{background:transparent; border-right-color:#e0e0e0;}
        th, td{padding:13rem 10rem; word-break:keep-all; font-size:clamp(14rem, calc(16 / var(--container) * 100vw + var(--font-offset)), 16rem); line-height:1.4;}
        tbody td{border:1rem solid #e0e0e0; text-align:left; color:#444;}
        thead tr th:last-child, tbody tr td:last-child{border-right-width:0px;}
        thead tr th:first-child, tbody tr td:first-child, tbody tr th:first-child{border-left-width:0px;}
        dt{color:#000; font-weight:bold;}
        dd{margin-top:4rem;}
        dd+dt{margin-top:15rem;}
        .txt-center{text-align:center !important;}
        b{color:#000; font-weight:bold;}
        .breakTime{background:#f1f1f1;}
    }
    
    @media(max-width:768px){
        table{
/*            &+&{margin-top:10rem;}*/
            caption{padding:6rem 10rem;}
            th, td{padding:10rem;}
            dd{margin-top:3rem;}
            dd+dt{margin-top:12rem;}
        }
    }
}

.page-contact-us {
	* { letter-spacing: -0.01em; }
	.container { max-width: 1000rem; }
	.guide { font: 300 var(--font-size-16) / 1.375 var(--font-sans); text-align: center; color: #555; }
	.form-group { display: grid; gap: 15rem; margin-top: 35rem; padding-top: 30rem; padding-inline: clamp(8rem, calc(30 / var(--container) * 100vw + var(--font-offset)), 30rem); border-top: 2px solid var(--primary); }
	.form-item { display: grid; grid-template-columns: 7.3ch 1fr; gap: 2ch; font: var(--font-size-18-to-14) var(--font-sans); }
	.form-label { padding-top: 1.05555556em; font-weight: 600; }
	.form-field { padding: 1.05555556em 1.05555556em 1.11111111em; color: #444; background: #f5f5f5; border: 0; border-radius: 5rem; }
	.form-textarea { min-height: 120rem; }
	.privacy-consent { margin-top: 40rem; padding: clamp(16rem, calc(28 / var(--container) * 100vw + var(--font-offset)), 28rem) clamp(12rem, calc(24 / var(--container) * 100vw + var(--font-offset)), 24rem) clamp(20rem, calc(30 / var(--container) * 100vw + var(--font-offset)), 30rem); border: clamp(2rem, calc(5 / var(--container) * 100vw + var(--font-offset)), 5rem) solid var(--bg-gray-light); }
	.privacy-desc { font: 300 var(--font-size-15) / 1.33333333 var(--font-sans); color: #555; }
	.privacy-table { width: 100%; margin-top: 23rem; table-layout: fixed;
		caption { margin-bottom: 0.625em; font: 600 var(--font-size-16) var(--font-sans); text-align: left; }
		caption::before { margin-right: 0.4ch; font: var(--font-size-16) "Gulim", sans-serif; content: "▣"; }
		thead { background: #f5f5f5; border-block: 1px solid var(--border-color); }
		tbody { text-align: center; border-block: 1px solid var(--border-color); }
		th, td { padding: 0.86666667em 1ch 0.8em; font: var(--font-size-15) var(--font-sans); }
		th { font-weight: 600; }
		td { font-weight: 300; color: #444; }
		td + td { border-left: 1px solid var(--border-color); }
	}
	.privacy-note { margin-top: 1.2em; font: 300 var(--font-size-15) / 1.33333333 var(--font-sans); text-align: center; color: #555; }
	.privacy-agree { display: flex; align-items: center; justify-content: center; gap: 0.9ch; margin-top: 2.33333333em; font: 300 var(--font-size-15) var(--font-sans); color: #777; }
	.agree-check { width: 1.33333333em; aspect-ratio: 1; border: 1px solid #ccc; border-radius: 50%; appearance: none; }
	.agree-check:checked { background: var(--primary) url("/assets/images/ui/checked-primarysvg.svg") no-repeat 50% / contain; border: 0; }
	.submit-btn { display: block; min-width: 10em; margin: 1em auto 0; padding: 0.9em 2ch; font: 700 var(--font-size-20) var(--font-sans); color: #fff; background: var(--primary); border-radius: 5em; }
}
































