@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100..900&family=Outfit:wght@100..900&family=Protest+Riot&display=swap');

@font-face {
    font-family: 'Ria';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2410-1@1.0/RiaSans-ExtraBold.woff2') format('woff2');
    font-weight: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Thin.woff2') format('woff2');
    font-weight: 100;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-ExtraLight.woff2') format('woff2');
    font-weight: 200;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Light.woff2') format('woff2');
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Regular.woff2') format('woff2');
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Medium.woff2') format('woff2');
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Bold.woff2') format('woff2');
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-ExtraBold.woff2') format('woff2');
    font-weight: 800;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Black.woff2') format('woff2');
    font-weight: 900;
    font-display: swap;
}

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
	font-family: 'Pretendard';
	letter-spacing: -0.04em;
}

ol, ul {
    list-style: none
}

blockquote,
q {
    quotes: '"' '"'
}

blockquote:after,
blockquote:before,
q:after,
q:before {
    content: '';
    content: none
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

address {
    font-style: normal
}

textarea {
    width: 100%;
    resize: none;
}

button, img, input, select {
    vertical-align: middle
}

input, select {
	border-radius: 0px;
}

button {
	appearance: none;
	background-color: transparent;
	border: none;
	cursor: pointer;
}

a {
	text-decoration: none;
	color: #252525;
}

.ellipsis {
	display:inline-block;
	max-width:100%;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	word-wrap: normal;
	vertical-align:middle
}

table td a {
    overflow: hidden;
    height: auto;
    white-space: normal;
    word-wrap: break-word;
    word-break: break-all;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}

body, html {
	overflow-x:hidden;
}

body {
	min-width:320px;
	color:#353535;
	-webkit-font-smoothing: antialiased;
}

img {
	max-width: 100%;
	-webkit-user-drag: none;
}

::selection {
   background: #F58A90;
   color: #fff
}

::-moz-selection {
   background: #F58A90;
   color: #fff
}

::-webkit-selection {
    background: #F58A90;
   color: #fff
}

.rel {
	position: relative;
}

area {
	cursor: pointer;
}

/* 오버레이 */
.b_popup {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0,0,0,.7);
  /* 오버레이 스크롤 가능 */
  overflow: auto;
  /* 중앙정렬: flex */
  display: none; /* 기본 숨김 */
  align-items: center;
  justify-content: center;
  padding: 24px 12px;
}
.b_popup.is-open { display: flex; } /* 열릴 때 flex로 */

.b_popup_inner {
  position: relative;
  width: min(750px, 100%);
  background: #fff;
  padding: 30px 30px 30px;
  padding-top: 70px;
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0,0,0,.3);
  max-height: calc(100svh - 48px);
  overflow: auto; /* 팝업 내용 스크롤 */
  -webkit-overflow-scrolling: touch;
}

.b_popup_title {
	position: relative;
	text-align: center;
	margin-bottom: 40px;
	color: #35364A;
	font-size: 32px;
}

.b_popup_title .btn_close_popup {
	position: absolute;
	right: 0;
	top: -40px;
	font-size: 40px;
	color: #999;
}

.b_popup_content {
  text-align: center;
}

/* ===================== Notice Pages ===================== */
.section.notice_page {
	background: #fff;
}

.sub_inner.notice_inner {
	max-width: 1100px;
}

.notice_content {
	margin-top: 8px;
}

.notice_table {
	width: 100%;
	font-size: 15px;
	border-collapse: collapse;
	border-top: 2px solid #1b1b4a;
}

.notice_table.mo {
	display: none;
}

.notice_table th,
.notice_table td {
	padding: 16px 12px;
	font-family: 'Pretendard';
	font-weight: 500;
	letter-spacing: -0.02em;
}

.notice_table th {
	background-color: #f4f5f8;
	color: #1b1b4a;
	font-weight: 700;
	font-size: 14px;
	border-bottom: 1px solid #1b1b4a;
}

.notice_table td {
	border-bottom: 1px solid #e5e5ea;
	background-color: #fff;
	color: #353535;
	text-align: center;
}

.notice_table td a {
	color: #1b1b4a;
	font-weight: 600;
	transition: color .2s ease;
}

.notice_table td a:hover {
	color: #ff5252;
	text-decoration: underline;
}

.notice_table td span {
	display: inline-block;
	border-radius: 4px;
	padding: 5px 12px;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	background-color: #888;
}

.notice_table td span.notice_ticket {
	background-color: #FF8A5D !important;
}

.notice_table td span.complete {
	background-color: #1b1b4a;
}

.notice_table td span.waiting {
	background-color: #b0b0b8;
}

/* notice 작성/조회 폼 테이블 */
.notice_w_table {
	width: 100%;
	border-top: 2px solid #1b1b4a;
	border-collapse: collapse;
	margin-top: 8px;
	margin-bottom: 28px;
}

.notice_w_table th,
.notice_w_table td {
	padding: 14px 18px;
	vertical-align: middle;
	border-bottom: 1px solid #e5e5ea;
	font-size: 15px;
}

.notice_w_table th {
	width: 140px;
	background: #f4f5f8;
	color: #1b1b4a;
	font-weight: 700;
	text-align: center;
	letter-spacing: -0.03em;
}

.notice_w_table td {
	background: #fff;
}

.notice_w_table input,
.notice_w_table textarea {
	width: 100%;
	padding: 0 14px;
	font-size: 15px;
	font-family: 'Pretendard';
	color: #1b1b4a;
	letter-spacing: -0.02em;
	background: #fff;
	border-radius: 6px;
	transition: border-color .2s ease;
}

.notice_w_table input {
	height: 46px;
	border: 1px solid #d4d4d8;
}

.notice_w_table textarea {
	height: 220px;
	padding: 14px;
	border: 1px solid #d4d4d8;
	resize: vertical;
}

.notice_w_table input:focus,
.notice_w_table textarea:focus {
	outline: none;
	border-color: #1b1b4a;
}

.notice_view td {
	text-align: left;
	background-color: #fff;
	color: #353535;
}

.notice_view td.fl {
	font-weight: 400;
	line-height: 1.7;
	padding: 24px 18px;
	min-height: 200px;
}

/* notice 페이지 버튼 영역 */
.notice_btn_wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 12px;
	margin-top: 40px;
	flex-wrap: wrap;
}

.notice_btn_primary,
.notice_btn_secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 200px;
	height: 56px;
	padding: 0 32px;
	font-size: 16px;
	font-weight: 700;
	border-radius: 8px;
	letter-spacing: -0.03em;
	font-family: 'Pretendard';
	cursor: pointer;
	border: none;
	transition: background .2s ease, transform .2s ease;
}

.notice_btn_primary {
	background: #1b1b4a;
	color: #fff;
}

.notice_btn_primary:hover {
	background: #2a2a6a;
	color: #fff;
}

.notice_btn_secondary {
	background: #e8e8eb;
	color: #1b1b4a;
}

.notice_btn_secondary:hover {
	background: #dcdce0;
	color: #1b1b4a;
}

.is-disabled {
	opacity: .55;
	pointer-events: none;
}

/* notice 모바일 리스트 */
@media (max-width: 750px) {
	.notice_table.pc {
		display: none;
	}

	.notice_table.mo {
		display: block;
		border-top: 2px solid #1b1b4a;
		padding: 0;
		margin: 0;
		list-style: none;
	}

	.notice_table.mo li {
		display: grid;
		grid-template-columns: auto 1fr auto;
		gap: 3vw;
		align-items: center;
		padding: 4vw 3vw;
		border-bottom: 1px solid #e5e5ea;
	}

	.notice_table.mo .no {
		font-size: 3.4vw;
		color: #1b1b4a;
		font-weight: 700;
		min-width: 12vw;
	}

	.notice_table.mo .con {
		min-width: 0;
	}

	.notice_table.mo .con .title {
		font-size: 3.8vw;
		font-weight: 600;
		color: #1b1b4a;
		line-height: 1.4;
		margin-bottom: 1.5vw;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	.notice_table.mo .con .title a {
		color: inherit;
	}

	.notice_table.mo .con .flex {
		display: flex;
		gap: 2vw;
		font-size: 3vw;
		color: #888;
	}

	.notice_table.mo .answer {
		font-size: 3vw;
	}

	.notice_table.mo .answer span {
		display: inline-block;
		padding: 1vw 2vw;
		border-radius: 1vw;
		color: #fff;
		font-size: 2.8vw;
		font-weight: 700;
		background: #888;
	}

	.notice_table.mo .answer .complete {
		background: #1b1b4a;
	}

	.notice_table.mo .answer .waiting {
		background: #b0b0b8;
	}
}

/* notice 페이지 반응형 */
@media (max-width: 991px) {
	.notice_w_table th {
		width: 100px;
		font-size: 14px;
		padding: 12px;
	}

	.notice_w_table td {
		padding: 12px;
	}

	.notice_btn_primary,
	.notice_btn_secondary {
		min-width: 160px;
		height: 50px;
		font-size: 15px;
	}
}

@media (max-width: 750px) {
	.notice_inner {
		max-width: 100%;
	}

	.notice_w_table {
		display: block;
	}

	.notice_w_table tbody,
	.notice_w_table tr {
		display: block;
	}

	.notice_w_table th,
	.notice_w_table td {
		display: block;
		width: 100%;
		padding: 0;
		border: none;
	}

	.notice_w_table tr {
		margin-bottom: 4vw;
		padding-bottom: 4vw;
		border-bottom: 1px solid #e5e5ea;
	}

	#inquiryFrmProcess .notice_w_table tr:first-child {
		padding-top: 3vw;
	}

	.notice_w_table tr:last-child {
		border-bottom: none;
	}

	.notice_w_table th {
		background: transparent;
		text-align: left;
		padding: 0 0 2vw 0;
		font-size: 3.8vw;
	}

	.notice_w_table input {
		height: 12vw;
		font-size: 3.8vw;
		padding: 0 4vw;
	}

	.notice_w_table textarea {
		height: 50vw;
		font-size: 3.8vw;
		padding: 3vw 4vw;
	}

	.notice_w_table.notice_view th,
	.notice_w_table.notice_view td {
		display: block;
	}

	.notice_w_table.notice_view td {
		padding: 1vw 0 0;
	}

	.notice_btn_wrap {
		margin-top: 8vw;
		gap: 2vw;
		flex-direction: column;
		align-items: stretch;
	}

	.notice_btn_primary,
	.notice_btn_secondary {
		width: 100%;
		min-width: 0;
		height: 14vw;
		font-size: 4vw;
		padding: 0;
		border-radius: 2vw;
	}
}

.password_wrap {
	position: relative;
}

.password_wrap input {
  width: 100%;
  padding-right: 40px; /* 아이콘 자리 */
  box-sizing: border-box;
}

.password_masked {
	-webkit-text-security: disc;
	text-security: disc;
}

/* Chrome autofill 감지용 — JS에서 animationstart 이벤트로 캡처 */
@keyframes onAutoFillStart {
	from { /* */ }
	to { /* */ }
}

@keyframes onAutoFillCancel {
	from { /* */ }
	to { /* */ }
}

.password_autocomplete_off:-webkit-autofill {
	animation-name: onAutoFillStart;
	animation-duration: 1ms;
}

.password_autocomplete_off:not(:-webkit-autofill) {
	animation-name: onAutoFillCancel;
	animation-duration: 1ms;
}

.pw input {
	height: 40px;
	border: 1px solid #002046;
	font-size: 16px;
	padding: 0 12px;
}

.password_wrap .toggle_pw {
  display: block;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pagenation {
	margin-top: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.pagenation span,
.pagenation button {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 32px;
	height: 32px;
	border: 1px solid #002046;
	background-color: #002046;
	color: #fff;
	font-family: 'NanumSquareNeo';
	font-weight: 600;
	cursor: pointer;
	border-radius: 4px;
}

.pagenation span.active {
	background-color: #F16067;
	border-color: #F16067;
}

.quick_btn {
	position: fixed;
	right: 28px;
	top: 10vh;
	z-index: 100;
}

@media(max-width: 991px) {

	.quick_btn {
		display: none;
	}

}

@media(max-width: 750px) {
	.b_popup_inner {
		width: 96%;
		padding: 4vw;
	}

	.b_popup_title .btn_close_popup {
		top: -2vw;
		right: -1.33vw;
	}

	.b_popup_title {
		padding-top: 7.33vw;
		margin-bottom: 5.33vw;
		font-size: 4.27vw;
	}

	.b_popup_inner .btn_box button {
		width: 32vw;
	}

	.form_group label.label {
		font-size:  3.6vw;
	}

	.form_group input[type='text'], 
	.form_group input[type='tel'], 
	.form_group input[type='number'],
	.form_group input[type='url'],
	.form_group input[type='file'] + label{ 
		width: 100%;
		height: 10vw;
		font-size: 16px;
		padding: 0 2vw;
	}
	

	.form_group input[type='file'] + label {
		display: flex;
		align-items: center;
		font-size: 4vw;
		word-break: keep-all;
	}
	
	.apply_wrap .btn_box .btn {
		font-size: 5.2vw;
		height: 16vw;
	}

	.pharaese {
		margin-top: 2vw;
		font-size: 2.67vw;
	}
	
	.pharaese.line__ {
		font-size: 2.67vw;
		line-height: 3.6vw;
	}
	
	.term {
		font-size: 3.2vw;
		padding: 2.4vw;
		height: 44vw;
	}
	
	.align_center {
		gap: 1.2vw;
	}
	
	.term_zone .agree {
		font-size: 3.2vw;
	}
	
	.term_zone .agree input {
		width: 3.2vw;
		height: 3.2vw;
	}

	.b_popup .btn_box {
		margin-top: 5.33vw;
		gap: 2.67vw;
	}
	
	.apply_wrap .btn_box {
		margin-top: 5.33vw;
		gap: 2.67vw;
	}

	.section.notice .inner {
		padding: 22vw 4vw 28vw;
	}

	.section.notice .inner > .title {
		font-size: 8vw;
	}
	
	.file_info .tail, .section .content .tail {
		margin-top: 3.6vw;
		padding-left: 0;
		
	}
	
	.file_info .indent {
		font-size: 3.2vw;
	}
	
	.apply_wrap .choice_label {
		font-size: 4vw;
	}

	.notice_table.pc {
		display: none;
	}

	.notice_table.mo {
		display: block;
	}

	.pagenation {
		margin-top: 8vw;
		gap: 2vw;
	}

	.pagenation span,
	.pagenation button {
		font-size: 2.87vw;
		width: 6.27vw;
		height: 6.27vw;
	}

	.notice_table.mo {
		width: 100%;
		border-top: 2px solid #0d3462;
	}

	.notice_table.mo li {
		width: 100%;
		display: flex;
		align-items: center;
		padding: 2vw;
		gap: 2vw;
		border-bottom: 1px solid #0d3462;
		font-size: 3.2vw;
	}

	.notice_table.mo li .no {
		width: 8vw;
	}

	.notice_table.mo li .title {
		font-size: 4vw;
		margin-bottom: 1.2vw;
		font-weight: 900;
		color: #000;
	}

	.notice_table.mo li .con {
		width: 76vw;
		text-align: left;
	}

	.notice_table.mo li .con .flex {
		display: flex;
		align-items: center;
		gap: 2vw;
	}

	.notice_table.mo li .con .flex .date {
		border-left: 1px solid #999;
		padding-left: 2vw;
	}

	.notice_table.mo li .answer {
		width: 20vw;
	}

	.notice_table.mo li .answer span {
		border-radius: 0.8vw;
		background-color: #002046;
		padding: 1.2vw 1.6vw;
		color: #fff;
		font-size: 3.2vw;
	}

	.notice_table.mo li .answer span.complete {
		background-color: #FF6E44;
	}

	.notice_w_table {
		font-size: 3.2vw;
	}

	.notice_w_table th {
		width: 24vw;
	}

	.section.notice .btn_box {
		margin-top: 15px;
	}

	.section.notice .btn_box .btn {
		font-size: 14px;
	}
	
	.b_popup#popup03 .btn_box .btn,
	.section.notice .btn_box .btn.big {
		width: 200px;
		height: 50px;
		font-size: 16px;
	}
}

/* ===================== Intro ===================== */
html.intro-open,
body.intro-open {
	overflow: hidden;
}

/* 인트로 미노출 / 이미 본 세션 — CSS만으로 동기 가시성 제어 (깜빡임 방지) */
html.intro-open .container {
	display: none;
}

html.intro-already-shown .intro {
	display: none !important;
}

.intro {
	position: fixed;
	inset: 0;
	z-index: 9000;
	background: #fff7e5;
	overflow-x: hidden;
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 120px 40px 320px;
	transition: opacity .55s ease, visibility .55s ease;
}

.intro.is-leave {
	opacity: 0;
	visibility: hidden;
	overflow: hidden;
}

.intro_top {
	position: absolute;
	top: 40px;
	left: 40px;
	right: 40px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	opacity: 0;
	transform: translateY(-20px);
	transition: opacity .8s ease .1s, transform .8s ease .1s;
}

.intro.is-ready .intro_top {
	opacity: 1;
	transform: translateY(0);
}

.intro_top .top_logo img {
	display: block;
}

.intro_top .r_logo img {
	height: 60px;
	display: block;
}

.intro_inner {
	width: 100%;
	max-width: 1280px;
	margin: auto;
	position: relative;
	z-index: 2;
}

.intro_card_wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
	width: 100%;
}

.intro_card {
	display: flex;
	align-items: center;
	gap: 30px;
	background: #fff;
	border: 2px solid #1b1b4a;
	border-radius: 24px;
	padding: 28px;
	text-align: left;
	cursor: pointer;
	transition: transform .35s ease, box-shadow .35s ease, opacity .8s ease, translate .8s ease;
	opacity: 0;
	translate: 0 40px;
}

.intro.is-ready .intro_card_01 { transition-delay: .25s; opacity: 1; translate: 0 0; }
.intro.is-ready .intro_card_02 { transition-delay: .4s; opacity: 1; translate: 0 0; }

.intro_card:hover {
	transform: translateY(-6px);
	box-shadow: 0 14px 30px rgba(27, 27, 74, .15);
}

.intro_card .intro_icon {
	flex: 0 0 auto;
	width: 150px;
	height: 150px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.intro_card .intro_icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

.intro_card_text {
	flex: 1;
	min-width: 0;
}

.intro_card_title {
	font-size: 28px;
	font-weight: 800;
	color: #1b1b4a;
	margin-bottom: 14px;
	letter-spacing: -0.04em;
}

.intro_card_desc {
	font-size: 16px;
	color: #555;
	line-height: 1.55;
	margin-bottom: 26px;
	font-weight: 500;
}

.intro_card_btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 22px;
	border-radius: 999px;
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	font-style: normal;
}

.intro_card_btn i {
	font-style: normal;
	transition: transform .3s ease;
}

.intro_card:hover .intro_card_btn i {
	transform: translateX(4px);
}

.intro_card_btn_navy {
	background: #1b1b4a;
}

.intro_card_btn_pink {
	background: #ff6b8b;
}

.bg_obj {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	pointer-events: none;
	z-index: 1;
	opacity: 0;
	transition: opacity 1s ease .55s, translate 1s ease .55s;
	translate: 0 40px;
}

.intro.is-ready .bg_obj {
	opacity: 1;
	translate: 0 0;
}

.bg_obj img {
	display: block;
	width: 100%;
	height: auto;
}

/* container entrance after intro — opacity only, transform이 있으면 fixed 자식 기준이 컨테이너로 잡혀버림 */
.container.is-enter {
	animation: containerFadeIn .6s ease both;
}

@keyframes containerFadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}

/* 인트로를 이미 본 세션에서 재진입한 경우 — 모든 진입 애니메이션 즉시 종료 상태로 */
.container.intro-skipped,
.container.intro-skipped *,
.container.intro-skipped *::before,
.container.intro-skipped *::after {
	transition: none !important;
	animation: none !important;
}

@media (max-width: 991px) {
	.intro {
		padding: 90px 20px 220px;
	}

	.intro_top {
		top: 20px;
		left: 20px;
		right: 20px;
	}

	.intro_top .top_logo img { height: 36px; }
	.intro_top .r_logo img { height: 44px; }

	.intro_card_wrap {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.intro_card {
		padding: 24px 22px;
		gap: 18px;
		border-radius: 18px;
	}

	.intro_card .intro_icon {
		width: 90px;
		height: 90px;
	}

	.intro_card_title {
		font-size: 20px;
		margin-bottom: 8px;
	}

	.intro_card_desc {
		font-size: 13px;
		margin-bottom: 16px;
	}

	.intro_card_btn {
		padding: 9px 16px;
		font-size: 13px;
	}
}

@media (max-width: 750px) {
	.intro {
		padding: 14vw 4vw 50vw;
	}

	.intro_top {
		top: 4vw;
		left: 4vw;
		right: 4vw;
	}

	.intro_top .top_logo img { height: 7vw; }
	.intro_top .r_logo img { height: 9vw; }

	.intro_card_wrap {
		gap: 3vw;
	}

	.intro_card {
		padding: 5.5vw 5vw;
		gap: 4vw;
		border-radius: 4vw;
		border-width: 2px;
	}

	.intro_card .intro_icon {
		width: 22vw;
		height: 22vw;
	}

	.intro_card_title {
		font-size: 5vw;
		margin-bottom: 2vw;
	}

	.intro_card_desc {
		font-size: 3.4vw;
		margin-bottom: 4vw;
		line-height: 1.5;
	}

	.intro_card_btn {
		padding: 2.5vw 4vw;
		font-size: 3.4vw;
		gap: 1.5vw;
		border-radius: 99vw;
	}

	.bg_obj {
		width: 160vw;
		left: -30vw;
		right: auto;
	}
}

@media (max-width: 480px) {
	.intro_card {
		gap: 4vw;
	}

	.intro_card .intro_icon {
		width: 24vw;
		height: 24vw;
	}
}

/* ===================== Header ===================== */
.header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	transition: background-color .3s ease, box-shadow .3s ease;
}

.header.scroll {
	background-color: #fff;
	box-shadow: 0 2px 12px rgba(0, 0, 0, .08);
}

.header .inner {
	max-width: 1720px;
	margin: 0 auto;
	padding: 20px 40px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
}

.header .logo {
	flex: 0 0 auto;
	opacity: 0;
	transform: translateY(-20px);
	transition: opacity .7s ease, transform .7s ease;
}

.container.is-enter .header .logo {
	opacity: 1;
	transform: translateY(0);
	transition-delay: .15s;
}

.header .logo img {
	display: block;
}

.header .nav {
	display: flex;
	align-items: center;
	gap: 36px;
	margin: 0 auto;
}

.header .nav li {
	position: relative;
	opacity: 0;
	transform: translateY(-15px);
	transition: opacity .6s ease, transform .6s ease;
}

.container.is-enter .header .nav li {
	opacity: 1;
	transform: translateY(0);
}

.container.is-enter .header .nav li:nth-child(1) { transition-delay: .25s; }
.container.is-enter .header .nav li:nth-child(2) { transition-delay: .35s; }
.container.is-enter .header .nav li:nth-child(3) { transition-delay: .45s; }
.container.is-enter .header .nav li:nth-child(4) { transition-delay: .55s; }
.container.is-enter .header .nav li:nth-child(5) { transition-delay: .65s; }

.header .nav li.after_circle:not(:last-child)::after {
	content: '';
	position: absolute;
	right: -20px;
	top: 50%;
	transform: translateY(-50%);
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background-color: #353535;
}

.header .nav a,
.header .nav button {
	font-size: 16px;
	color: #353535;
	font-weight: 500;
	background: none;
	border: none;
	cursor: pointer;
	padding: 8px 0;
	font-family: 'Pretendard';
	letter-spacing: -0.04em;
}

.header .nav a:hover,
.header .nav button:hover {
	color: #1b1b4a;
}

.main_right_logo {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	opacity: 0;
	transform: translateY(-20px);
	transition: opacity .8s ease, transform .8s ease;
}

.container.is-enter .main_right_logo {
	opacity: 1;
	transform: translateY(0);
	transition-delay: .2s;
}

.main_right_logo img {
	display: block;
}

/* ===================== Hero / Main Section ===================== */
.section.main {
	position: relative;
	background-color: #F2C249;
	overflow: visible;
	padding: 130px 0 0;
	z-index: 2;
	height: 1080px;
}

.section.main .main_obj {
	position: absolute;
	left: 50%;
	top: 0;
	bottom: -80px;
	transform: translateX(-50%);
	width: 100%;
	min-width: 1920px;
	max-width: 1920px;
	height: auto;
	object-fit: contain;
	object-position: center top;
	z-index: 1;
	pointer-events: none;
	display: block;
	clip-path: inset(0 0 100% 0);
	transition: clip-path 1.6s cubic-bezier(.66, 0, .34, 1);
}

.container.is-enter .section.main .main_obj {
	clip-path: inset(0 0 0 0);
	transition-delay: .35s;
}

.main_inner {
	position: relative;
	z-index: 2;
	max-width: 1600px;
	margin: 0 auto;
	padding: 0 40px 140px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.main_titles {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 18px;
	margin-bottom: 40px;
}

.main_title_h2 {
	max-width: 540px;
	width: auto;
	height: auto;
	display: block;
	opacity: 0;
	transform: translateY(-30px);
	transition: opacity .8s ease, transform .8s ease;
}

.main_title_h1 {
	max-width: 620px;
	width: auto;
	height: auto;
	display: block;
	opacity: 0;
	transform: translateY(40px) scale(.92);
	transition: opacity .9s cubic-bezier(.34,1.56,.64,1), transform .9s cubic-bezier(.34,1.56,.64,1);
}

.container.is-enter .main_title_h2 {
	opacity: 1;
	transform: translateY(0);
	transition-delay: .35s;
}

.container.is-enter .main_title_h1 {
	opacity: 1;
	transform: translateY(0) scale(1);
	transition-delay: .55s;
}

.video_area {
	width: 100%;
	max-width: 880px;
	margin: 0 auto;
	opacity: 0;
	transform: translateY(30px) scale(.96);
	transition: opacity 1s ease, transform 1s ease;
}

.container.is-enter .video_area {
	opacity: 1;
	transform: translateY(0) scale(1);
	transition-delay: .8s;
}

.video_wrap {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: url('/PROJECT_HTML/2026gncn_award/img/video_wrap.png?new') center / 100% 100% no-repeat;
}

.video_wrap iframe {
	position: absolute;
	top: 4%;
	left: 3.5%;
	width: 92%;
	height: 92%;
	border: 0;
	border-radius: 16px;
	background: #000;
}

/* Quick floating button override */
.quick_btn {
	position: fixed;
	right: 28px;
	top: 50%;
	transform: translateY(-50%) scale(.6);
	transform-origin: 100% 50%;
	z-index: 90;
	opacity: 0;
	transition: opacity .7s ease, transform .8s cubic-bezier(.34,1.56,.64,1);
}

.container.is-enter .quick_btn {
	opacity: 1;
	transform: translateY(-50%) scale(1);
	transition-delay: 1.1s;
}

.quick_btn img {
	display: block;
	width: 90px;
	height: auto;
}

/* ===================== Responsive (Header / Hero) ===================== */
@media (max-width: 1280px) {
	.header .inner {
		padding: 16px 24px;
		gap: 20px;
	}

	.header .nav {
		gap: 24px;
	}

	.header .nav li.after_circle:not(:last-child)::after {
		right: -14px;
	}

	.header .nav a,
	.header .nav button {
		font-size: 15px;
	}
}

@media (max-width: 991px) {
	.header .inner {
		flex-direction: column;
		padding: 12px 20px 10px;
		gap: 8px;
		justify-content: center;
		align-items: center;
	}

	.header .logo {
		margin: 0;
	}

	.header .nav {
		display: flex;
		gap: 22px;
		margin: 0;
	}

	.header .nav li.after_circle:not(:last-child)::after {
		right: -13px;
	}

	.header .nav a,
	.header .nav button {
		font-size: 14px;
		padding: 4px 0;
	}

	.main_right_logo {
		display: none;
	}

	.section.main {
		padding-top: 110px;
		height: auto;
	}

	.section.main .main_obj {
		min-width: 1000px;
		bottom: -50px;
	}

	.main_inner {
		padding: 0 20px 80px;
	}

	.main_titles {
		gap: 12px;
		margin-bottom: 30px;
	}

	.main_title_h2 { max-width: 60vw; }
	.main_title_h1 { max-width: 75vw; }

	.main_video {
		border-radius: 20px;
	}
}

@media (max-width: 750px) {

	.header {
		background-color: #fff;
	}
	
	.header .logo img {
		width: 60vw;
	}

	.header .inner {
		padding: 2.6vw 0vw 2vw;
		gap: 2.8vw;
	}

	.header .nav {
		gap: 4.5vw;
		padding-top: 1.8vw;
		border-top: 1px solid #d5d5d5;
	}

	.header .nav li.after_circle:not(:last-child)::after {
		right: -2.6vw;
		width: 2px;
		height: 2px;
	}

	.header .nav a,
	.header .nav button {
		font-size: 3vw;
	}

	.section.main {
		padding-top: 36vw;
	}

	.section.main .main_obj {
		min-width: 180vw;
		left: 50%;
		transform: translateX(-50%);
		top: auto;
		bottom: -11.6vw;
	}

	.main_inner {
		padding: 0 4vw 15vw;
	}

	.main_titles {
		gap: 2vw;
		margin-bottom: 6vw;
	}

	.main_title_h2 { max-width: 68vw; }
	.main_title_h1 { max-width: 84vw; }

	.main_video {
		border-radius: 4vw;
	}

	.video_placeholder {
		font-size: 3.6vw;
	}
}

/* ===================== Section 02 — Info ===================== */
.section.section_02 {
	position: relative;
	z-index: 1;
	background-color: #FFF6E1;
	padding: 280px 0 110px;
}

.section.section_02 .section_inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 40px;
}

.info_list {
	display: flex;
	flex-direction: column;
	gap: 38px;
}

.info_row {
	display: grid;
	grid-template-columns: 170px 1fr;
	gap: 36px;
	align-items: flex-start;
}

.info_label {
	width: 164px;
	height: 52px;
	background: url('/PROJECT_HTML/2026gncn_award/img/label_bg.png?new') center / 100% 100% no-repeat;
	color: #fff;
	font-weight: 700;
	font-size: 21px;
	display: flex;
	align-items: center;
	justify-content: center;
	letter-spacing: -0.04em;
	flex-shrink: 0;
}

.info_content {
	color: #1b1b4a;
	font-size: 24px;
	line-height: 1.6;
}

.info_date {
	font-weight: 500;
	color: #1b1b4a;
	letter-spacing: -0.03em;
}

.info_date strong {
	font-size: 30px;
	color: #FF6B6B;
	font-weight: 800;
}

.info_strong {
	font-size: 22px;
	font-weight: 600;
	color: #1b1b4a;
	margin-bottom: 16px;
}

.info_strong em {
	font-style: normal;
	color: #FF6B6B;
	font-weight: 700;
	margin-left: 4px;
}

.info_notes {
	color: #21245f;
	font-size: 16px;
	margin-bottom: 26px;
}

.info_notes li {
	font-size: 18px;
	margin-bottom: 4px;
}

.info_box {
	background: #DDEAF3;
	border-radius: 24px;
	padding: 28px 64px;
	margin-top: 6px;
	border: 3px solid #fff;
	box-shadow: 0 0 0 2px #1b1b4a;
}

.info_box ul li {
	position: relative;
	padding-left: 16px;
	margin: 8px 0;
	color: #1b1b4a;
	font-size: 18px;
}

.info_box ul li::before {
	content: '·';
	position: absolute;
	left: 4px;
	top: -3px;
	font-weight: 700;
	font-size: 22px;
}

.info_flow {
	font-size: 20px;
	color: #1b1b4a;
	font-weight: 500;
	margin-bottom: 44px;
}

.schedule_grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 36px 28px;
	max-width: 760px;
}

.schedule_box {
	background: #ECF3FB;
	border: 3px solid #fff;
	box-shadow: 0 0 0 2px #1b1b4a;
	border-radius: 20px;
	padding: 50px 24px 32px;
	text-align: center;
	position: relative;
}

.schedule_label {
	position: absolute;
	top: -24px;
	left: 50%;
	transform: translateX(-50%);
	line-height: 0;
	white-space: nowrap;
}

.schedule_label img {
	height: 46px;
	display: block;
	width: auto;
	max-width: none;
}

.schedule_date {
	font-size: 26px;
	font-weight: 700;
	color: #1b1b4a;
	margin-bottom: 8px;
	letter-spacing: -0.03em;
}

.schedule_desc {
	font-size: 17px;
	color: #1b1b4a;
	margin-bottom: 14px;
}

.schedule_divider {
	border-top: 1px dashed #9aa3b8;
	margin: 16px 0 16px;
}

.schedule_note {
	font-size: 15px;
	color: #1b1b4a;
	line-height: 1.55;
	font-weight: 500;
}

.info_benefits li {
	font-size: 20px;
	position: relative;
	padding-left: 16px;
	margin-bottom: 10px;
	color: #1b1b4a;
	line-height: 1.55;
}

.info_benefits li::before {
	content: '-';
	position: absolute;
	left: 0;
	top: 0;
}

.info_benefits em {
	font-style: normal;
	color: #5a5a6e;
	font-weight: 500;
	font-size: 16px;
	margin-left: 4px;
}

.apply_btn_wrap {
	text-align: center;
	margin-top: 90px;
}

.apply_btn {
	display: inline-block;
	width: 324px;
	height: 102px;
	background: url('/PROJECT_HTML/2026gncn_award/img/apply_btn.png?new') center / 100% 100% no-repeat;
	font-size: 0;
	text-indent: -9999px;
	overflow: hidden;
	transition: transform .25s ease;
}

.apply_btn:hover {
	transform: translateY(-4px);
}

/* ===================== Section 02 Responsive ===================== */
@media (max-width: 991px) {
	.section.section_02 {
		padding: 160px 0 90px;
	}

	.section.section_02 .section_inner {
		padding: 0 24px;
	}

	.info_list {
		gap: 30px;
	}

	.info_row {
		grid-template-columns: 130px 1fr;
		gap: 22px;
	}

	.info_label {
		width: 120px;
		height: 48px;
		font-size: 16px;
	}

	.info_content {
		font-size: 17px;
	}

	.info_date {
		font-size: 24px;
	}

	.info_strong {
		font-size: 19px;
	}

	.info_notes {
		font-size: 15px;
	}

	.info_box {
		padding: 26px 36px;
		border-radius: 20px;
	}

	.info_box ul li {
		font-size: 16px;
	}

	.info_flow {
		font-size: 17px;
	}

	.schedule_grid {
		gap: 30px 18px;
	}

	.schedule_box {
		padding: 40px 18px 24px;
	}

	.schedule_label img {
		height: 40px;
	}

	.schedule_date {
		font-size: 21px;
	}

	.schedule_desc {
		font-size: 15px;
	}

	.schedule_note {
		font-size: 13.5px;
	}

	.info_benefits li {
		font-size: 16px;
	}

	.apply_btn {
		width: 280px;
		height: 96px;
	}
}

@media (max-width: 750px) {
	.section.section_02 {
		padding: 24vw 0 14vw;
	}

	.section.section_02 .section_inner {
		padding: 0 5vw;
	}
	
	.info_benefits em,
	.info_strong em {
		display: block;
	}
	
	.mo_display_no {
		display: none;
	}

	.info_list {
		gap: 6vw;
	}

	.info_row {
		grid-template-columns: 1fr;
		gap: 2.6vw;
	}

	.info_label {
		width: 26vw;
		height: 10vw;
		font-size: 4vw;
	}

	.info_content {
		padding-top: 0;
		font-size: 4vw;
	}

	.info_date {
		font-size: 5.4vw;
	}

	.info_strong {
		font-size: 4.6vw;
		margin-bottom: 2vw;
	}

	.info_strong em {
		margin-left: 0.6vw;
	}

	.info_notes {
		font-size: 3.6vw;
		margin-bottom: 4vw;
	}

	.info_box {
		padding: 5vw 6vw;
		border-radius: 4vw;
		border-width: 2px;
	}

	.info_box ul li {
		font-size: 4vw;
		padding-left: 3vw;
	}

	.info_box ul li::before {
		font-size: 4.6vw;
	}

	.info_flow {
		font-size: 4.2vw;
		margin-bottom: 7vw;
	}

	.schedule_grid {
		grid-template-columns: 1fr;
		gap: 10vw;
	}

	.schedule_box {
		padding: 10vw 5vw 6vw;
		border-radius: 4vw;
		border-width: 2px;
	}

	.schedule_label {
		top: -5vw;
	}

	.schedule_label img {
		height: 10vw;
	}

	.schedule_date {
		font-size: 5.2vw;
		margin-bottom: 1.5vw;
	}

	.schedule_desc {
		font-size: 3.8vw;
		margin-bottom: 3vw;
	}

	.schedule_divider {
		margin: 3vw 0;
	}

	.schedule_note {
		font-size: 3.4vw;
	}

	.info_benefits li {
		font-size: 4vw;
		padding-left: 3vw;
		margin-bottom: 2vw;
	}

	.info_benefits em {
		font-size: 3.4vw;
	}

	.apply_btn_wrap {
		margin-top: 14vw;
	}

	.apply_btn {
		width: 62vw;
		height: 20vw;
	}
}

/* ===================== Section 03 — Instagram Marquee ===================== */
.section.section_03 {
	position: relative;
	background-color: #fff;
	padding: 100px 0 120px;
	overflow: hidden;
}

.section.section_03 .section_inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 40px;
	text-align: center;
}

.instagram_title {
	margin-bottom: 70px;
}

.instagram_title img {
	max-width: 380px;
	display: inline-block;
	margin-bottom: 18px;
}

.instagram_h2 {
	font-family: 'Outfit', 'Pretendard', sans-serif;
	font-size: 78px;
	color: #1b1b4a;
	font-weight: 800;
	letter-spacing: 0.04em;
	line-height: 1;
	margin-bottom: 14px;
}

.instagram_handle {
	font-size: 22px;
	color: #1b1b4a;
	font-weight: 600;
	letter-spacing: -0.02em;
}

.instagram_marquee {
	width: 100%;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(to right, transparent 0, #000 5%, #000 95%, transparent 100%);
	mask-image: linear-gradient(to right, transparent 0, #000 5%, #000 95%, transparent 100%);
}

.marquee_track {
	display: flex;
	width: max-content;
	gap: 24px;
	animation: marqueeScroll 40s linear infinite;
}

.instagram_marquee:hover .marquee_track {
	animation-play-state: paused;
}

.marquee_track li {
	flex: 0 0 auto;
	width: 334px;
	aspect-ratio: 334 / 420;
}

.marquee_track li a {
	display: block;
	height: 100%;
	border-radius: 14px;
	overflow: hidden;
	cursor: pointer;
	transition: transform .35s cubic-bezier(.34, 1.56, .64, 1), box-shadow .35s ease;
	box-shadow: 0 8px 22px rgba(27, 27, 74, .08);
}

.marquee_track li a:hover {
	transform: translateY(-6px) scale(1.02);
	box-shadow: 0 16px 32px rgba(27, 27, 74, .18);
}

.marquee_track img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 14px;
	transition: filter .35s ease;
}

.marquee_track li a:hover img {
	filter: brightness(1.05);
}

@keyframes marqueeScroll {
	from { transform: translateX(0); }
	to { transform: translateX(calc(-50% - 12px)); }
}

/* ===================== Footer ===================== */
.section.footer {
	background-color: #1b1b4a;
	padding: 70px 0 50px;
	color: #fff;
	position: relative;
	z-index: 2;
}

.section.footer .inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 40px;
	text-align: center;
}

.footer_logo {
	margin-bottom: 30px;
}

.footer_logo img {
	display: inline-block;
	max-height: 60px;
}

.footer_sns {
	margin-bottom: 32px;
	display: inline-block;
	line-height: 0;
}

.footer_sns img {
	max-width: 280px;
	height: auto;
	display: block;
}

.footer_info {
	color: #c9c9d8;
	font-size: 14px;
	line-height: 1.7;
}

.footer_info p {
	margin: 4px 0;
}

.footer_info .copyright {
	color: #fff;
	font-weight: 600;
	margin-top: 10px;
	letter-spacing: 0.02em;
}

/* ===================== Section 03 / Footer Responsive ===================== */
@media (max-width: 991px) {
	.section.section_03 {
		padding: 70px 0 90px;
	}

	.instagram_title {
		margin-bottom: 50px;
	}

	.instagram_title img {
		max-width: 280px;
	}

	.instagram_h2 {
		font-size: 56px;
	}

	.instagram_handle {
		font-size: 18px;
	}

	.marquee_track {
		gap: 18px;
		animation-duration: 32s;
	}

	.marquee_track li {
		width: 240px;
	}

	.marquee_track img {
		width: 100%;
		max-width: 100%;
		height: auto;
	}

	@keyframes marqueeScroll {
		from { transform: translateX(0); }
		to { transform: translateX(calc(-50% - 9px)); }
	}

	.section.footer {
		padding: 50px 0 36px;
	}

	.footer_logo img { max-height: 46px; }
	.footer_sns img { max-width: 220px; }
	.footer_info { font-size: 13px; }
}

@media (max-width: 750px) {
	.section.section_03 {
		padding: 14vw 0 16vw;
	}

	.instagram_title {
		margin-bottom: 8vw;
	}

	.instagram_title img {
		max-width: 50vw;
		margin-bottom: 3vw;
	}

	.instagram_h2 {
		font-size: 10vw;
		margin-bottom: 1.5vw;
	}

	.instagram_handle {
		font-size: 3.8vw;
	}

	.marquee_track {
		gap: 3vw;
		animation-duration: 24s;
	}

	.marquee_track li {
		width: 42vw;
	}

	.marquee_track img {
		width: 100%;
		max-width: 100%;
		height: auto;
		border-radius: 2.6vw;
	}

	@keyframes marqueeScroll {
		from { transform: translateX(0); }
		to { transform: translateX(calc(-50% - 1.5vw)); }
	}

	.section.footer {
		padding: 10vw 0 8vw;
	}

	.section.footer .inner {
		padding: 0 5vw;
	}

	.footer_logo {
		margin-bottom: 5vw;
	}

	.footer_logo img { max-height: 8vw; }

	.footer_sns {
		margin-bottom: 6vw;
	}

	.footer_sns img { max-width: 44vw; }

	.footer_info {
		font-size: 3vw;
		line-height: 1.7;
	}

	.footer_info p {
		margin: 1vw 0;
	}
}

/* ===================== Sub Visual (공통 서브 헤더) ===================== */
.sub_visual {
	position: relative;
	width: 100%;
	height: 500px;
	background-color: #FFC638;
	overflow: hidden;
	background-image: url('/PROJECT_HTML/2026gncn_award/img/sub_visual.png?new');
	background-position: center;
	background-repeat: no-repeat;
}

.sub_visual_bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: block;
	z-index: 1;
	pointer-events: none;
}

.sub_visual_inner {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 1600px;
	height: 100%;
	margin: 0 auto;
	padding: 80px 40px 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.sub_visual_title {
	max-width: 460px;
	width: auto;
	height: auto;
	display: block;
}

/* ===================== Sub Page (공통) ===================== */
.section.sub_page {
	background: #fff;
	padding: 110px 0 140px;
	position: relative;
	z-index: 2;
}

.sub_inner {
	max-width: 600px;
	margin: 0 auto;
	padding: 0 40px;
}

.sub_title {
	text-align: center;
	font-size: 38px;
	font-weight: 700;
	color: #1b1b4a;
	letter-spacing: -0.04em;
	margin-bottom: 90px;
}

/* ===================== Judge Page (심사방법 및 기준) ===================== */
.judge_inner {
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 40px;
}

.judge_section + .judge_section {
	margin-top: 64px;
}

.judge_section_title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 20px;
	font-size: 24px;
	font-weight: 700;
	color: #1b1b4a;
}

.judge_section_title span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #1b1b4a;
	color: #fff;
	font-size: 16px;
}

.judge_table_scroll {
	border-radius: 14px;
	box-shadow: 0 8px 24px rgba(27, 27, 74, .08);
	overflow: hidden;
}

.judge_mobile_table {
	display: none;
}

.judge_score_table,
.judge_detail_table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	color: #353535;
	table-layout: fixed;
}

.judge_score_table th,
.judge_score_table td,
.judge_detail_table th,
.judge_detail_table td {
	border: 1px solid #d9d9df;
	padding: 16px 14px;
	text-align: center;
	font-size: 15px;
	line-height: 1.7;
}

.judge_score_table thead th,
.judge_detail_table thead th {
	background: #1b1b4a;
	color: #fff;
	font-weight: 700;
}

.judge_score_table tbody th,
.judge_detail_table tbody th {
	background: #f2f3f7;
	color: #1b1b4a;
	font-weight: 700;
}

.judge_detail_table tbody th {
	width: 14%;
}

.judge_detail_table tbody th strong {
	color: #ed6fb9;
}

.judge_detail_table tbody td:nth-last-child(-n+2) {
	width: 9%;
	font-weight: 600;
	line-height: 2.1;
}

.judge_detail_table tbody td:nth-child(2) {
	text-align: left;
}

.judge_detail_table ul {
	list-style: none;
}

.judge_detail_table li {
	position: relative;
	padding-left: 16px;
}

.judge_detail_table li::before {
	content: '•';
	position: absolute;
	left: 0;
	color: #ed6fb9;
	font-weight: 700;
}

.judge_note {
	margin-top: 18px;
	text-align: right;
	font-size: 14px;
	color: #666;
}

/* ===================== Check Page (접수확인) ===================== */
.check_page .sub_inner {
	max-width: 560px;
}

.check_form_wrap {
	background: #fff;
	border: 1px solid #e5e5ea;
	border-radius: 14px;
	padding: 40px 44px;
	box-shadow: 0 6px 20px rgba(27, 27, 74, .05);
}

.check_form_title {
	text-align: center;
	font-size: 20px;
	font-weight: 700;
	color: #1b1b4a;
	padding-bottom: 18px;
	border-bottom: 2px solid #1b1b4a;
	margin-bottom: 34px;
	letter-spacing: -0.03em;
}

.check_page .form_group {
	margin-bottom: 22px;
}

.check_page .form_group:last-of-type {
	margin-bottom: 6px;
}

.check_page .label {
	display: block;
	font-size: 15px;
	font-weight: 600;
	color: #353535;
	margin-bottom: 10px;
	letter-spacing: -0.03em;
}

.check_label_hint {
	display: inline-block;
	font-size: 13px;
	font-weight: 500;
	color: #888;
	margin-left: 6px;
	letter-spacing: -0.02em;
}

.check_page input[type="text"],
.check_page input[type="password"],
.check_page input[type="tel"],
.check_page input[type="number"] {
	width: 100%;
	height: 52px;
	border: 1px solid #d4d4d8;
	padding: 0 16px;
	font-size: 15px;
	color: #1b1b4a;
	background: #fff;
	font-family: 'Pretendard';
	letter-spacing: -0.02em;
	transition: border-color .2s ease, box-shadow .2s ease;
	border-radius: 8px;
}

.check_page input::placeholder {
	color: #a5a5b0;
}

.check_page input:focus {
	outline: none;
	border-color: #1b1b4a;
	box-shadow: 0 0 0 3px rgba(27, 27, 74, .08);
}

.check_page .password_wrap {
	position: relative;
}

.check_page .password_wrap input {
	padding-right: 50px;
}

.check_page .password_wrap .toggle_pw {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: none;
	cursor: pointer;
	color: #8a8a96;
	border-radius: 6px;
	transition: background .2s ease, color .2s ease;
}

.check_page .password_wrap .toggle_pw:hover {
	background: #f0f1f5;
	color: #1b1b4a;
}

.check_page .password_wrap .toggle_pw svg {
	display: block;
	width: 22px;
	height: 22px;
}

/* ===================== Popup03 — 비밀번호 입력 모달 ===================== */
#popup03 .b_popup_inner {
	width: min(440px, 100%);
	padding: 48px 40px 40px;
	border-radius: 18px;
	box-shadow: 0 20px 50px rgba(27, 27, 74, .18);
	background: #fff;
	text-align: left;
}

#popup03 .b_popup_title {
	font-size: 20px;
	font-weight: 700;
	color: #1b1b4a;
	text-align: center;
	margin-bottom: 30px;
	letter-spacing: -0.03em;
	line-height: 1.4;
	padding-top: 0;
}

#popup03 .b_popup_title .btn_close_popup {
	position: absolute;
	right: 16px;
	top: 16px;
	width: 36px;
	height: 36px;
	font-size: 28px;
	color: #8a8a96;
	background: transparent;
	border: none;
	border-radius: 6px;
	transition: background .2s ease, color .2s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

#popup03 .b_popup_title .btn_close_popup:hover {
	background: #f0f1f5;
	color: #1b1b4a;
}

#popup03 .b_popup_content {
	text-align: left;
	margin: 0;
	padding: 0;
}

#popup03 .password_wrap.pw {
	position: relative;
	margin-bottom: 24px;
}

#popup03 .password_wrap.pw input {
	width: 100%;
	height: 52px;
	border: 1px solid #d4d4d8;
	border-radius: 8px;
	padding: 0 50px 0 16px;
	font-size: 15px;
	color: #1b1b4a;
	background: #fff;
	font-family: 'Pretendard';
	letter-spacing: -0.02em;
	transition: border-color .2s ease, box-shadow .2s ease;
}

#popup03 .password_wrap.pw input::placeholder {
	color: #a5a5b0;
}

#popup03 .password_wrap.pw input:focus {
	outline: none;
	border-color: #1b1b4a;
	box-shadow: 0 0 0 3px rgba(27, 27, 74, .08);
}

#popup03 .password_wrap.pw .toggle_pw {
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: none;
	cursor: pointer;
	color: #8a8a96;
	border-radius: 6px;
	transition: background .2s ease, color .2s ease;
}

#popup03 .password_wrap.pw .toggle_pw:hover {
	background: #f0f1f5;
	color: #1b1b4a;
}

#popup03 .password_wrap.pw .toggle_pw svg {
	display: block;
	width: 20px;
	height: 20px;
}

#popup03 .btn_box {
	margin-top: 8px;
}

#popup03 .btn_box .btn {
	width: 100%;
	height: 56px;
	font-size: 16px;
	font-weight: 700;
	background: #1b1b4a;
	color: #fff;
	border: none;
	border-radius: 8px;
	cursor: pointer;
	font-family: 'Pretendard';
	letter-spacing: -0.03em;
	transition: background .2s ease, transform .15s ease;
}

#popup03 .btn_box .btn:hover {
	background: #2a2a6a;
	transform: translateY(-1px);
}

@media (max-width: 750px) {
	#popup03 .b_popup_inner {
		padding: 12vw 6vw 7vw;
		border-radius: 4vw;
	}

	#popup03 .b_popup_title {
		font-size: 4.6vw;
		margin-bottom: 6vw;
	}

	#popup03 .b_popup_title .btn_close_popup {
		right: 3vw;
		top: 3vw;
		width: 8vw;
		height: 8vw;
		font-size: 6vw;
	}

	#popup03 .password_wrap.pw {
		margin-bottom: 5vw;
	}

	#popup03 .password_wrap.pw input {
		height: 12vw;
		font-size: 3.8vw;
		padding: 0 12vw 0 4vw;
		border-radius: 2vw;
	}

	#popup03 .password_wrap.pw .toggle_pw {
		right: 2vw;
		width: 9vw;
		height: 9vw;
	}

	#popup03 .password_wrap.pw .toggle_pw svg {
		width: 5vw;
		height: 5vw;
	}

	#popup03 .btn_box .btn {
		height: 13vw;
		font-size: 4vw;
		border-radius: 2vw;
	}
}

/* ===================== Mobile Floating Bar ===================== */
.m_float_wrap {
	display: none;
}

.m_float {
	width: 100%;
}

@media (max-width: 991px) {
	.m_float_wrap {
		display: block;
		height: 90px; /* m_float(64px) + 26px 여백 — 컨텐츠↔플로팅 간격 */
		position: relative;
	}

	.m_float {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 80;
		display: grid;
		grid-template-columns: 1fr 1fr 78px;
		height: 64px;
		box-shadow: 0 -4px 18px rgba(0, 0, 0, .12);
	}

	.m_float_btn {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-align: center;
		color: #fff;
		font-size: 14px;
		font-weight: 700;
		line-height: 1.15;
		background: transparent;
		border: none;
		cursor: pointer;
		letter-spacing: -0.04em;
		text-decoration: none;
		font-family: 'Pretendard';
		padding: 6px 4px;
		transition: filter .15s ease;
	}

	.m_float_btn:hover,
	.m_float_btn:active {
		filter: brightness(1.08);
	}

	.m_float_btn_apply {
		background: #ff6b8b;
	}

	.m_float_btn_home {
		background: #1b1b4a;
	}

	.m_float_btn_top {
		background: #2d3142;
		gap: 1px;
	}

	.m_float_btn_top svg {
		width: 22px;
		height: 22px;
		display: block;
	}

	.m_float_btn_top span {
		font-size: 11px;
		font-weight: 700;
		letter-spacing: 0.04em;
	}

	/* wrapper의 height가 컨텐츠↔플로팅 간격 + body 하단 여백 모두 담당 */
}

@media (max-width: 750px) {
	.m_float_wrap {
		height: 22vw; /* m_float 16vw + 6vw 여백 */
	}

	.m_float {
		height: 16vw;
		grid-template-columns: 1fr 1fr 20vw;
	}

	.m_float_btn {
		font-size: 3.4vw;
		line-height: 1.2;
		padding: 1.5vw 1vw;
	}

	.m_float_btn_top svg {
		width: 5.4vw;
		height: 5.4vw;
	}

	.m_float_btn_top span {
		font-size: 2.8vw;
	}
}

.check_btn_group {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 36px;
}

.check_btn {
	width: 100%;
	height: 60px;
	font-size: 16px;
	font-weight: 700;
	border: none;
	cursor: pointer;
	font-family: 'Pretendard';
	letter-spacing: -0.03em;
	transition: background .2s ease, transform .15s ease;
	border-radius: 10px;
}

.check_btn_primary {
	background: #1f2333;
	color: #fff;
}

.check_btn_primary:hover {
	background: #2a2f44;
	transform: translateY(-1px);
}

.check_btn_secondary {
	background: #ececef;
	color: #1f2333;
}

.check_btn_secondary:hover {
	background: #dfdfe3;
}

.check_result_wrap {
	margin-top: 32px;
	padding: 36px 40px;
	border: 1px solid #d9d9df;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(27, 27, 74, .08);
}

.check_result_wrap[hidden] {
	display: none;
}

.check_result_title {
	padding-bottom: 18px;
	border-bottom: 2px solid #1b1b4a;
	color: #1b1b4a;
	font-size: 20px;
	font-weight: 700;
	text-align: center;
}

.check_result_list {
	margin-top: 18px;
}

.check_result_list > div {
	display: grid;
	grid-template-columns: 120px 1fr;
	border-bottom: 1px solid #ececef;
}

.check_result_list dt,
.check_result_list dd {
	padding: 15px 14px;
	font-size: 15px;
	line-height: 1.5;
}

.check_result_list dt {
	background: #f5f5f7;
	color: #1b1b4a;
	font-weight: 700;
}

.check_result_list dd {
	color: #353535;
	word-break: break-all;
}

.check_result_actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-top: 28px;
}

.check_result_btn {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 56px;
	border: 0;
	border-radius: 10px;
	font-size: 16px;
	font-weight: 700;
	font-family: 'Pretendard';
	cursor: pointer;
	transition: background .2s ease, transform .15s ease;
}

.check_result_btn:hover {
	transform: translateY(-1px);
}

.check_result_btn_edit {
	background: #1b1b4a;
	color: #fff;
}

.check_result_btn_edit:hover {
	background: #2a2a6a;
}

.check_result_btn_delete {
	background: #fff0f3;
	color: #d93d61;
}

.check_result_btn_delete:hover {
	background: #ffe2e9;
}

/* ===================== Check Page Responsive ===================== */
@media (max-width: 991px) {
	.check_form_wrap {
		padding: 32px 28px;
		border-radius: 12px;
	}

	.check_form_title {
		font-size: 18px;
		margin-bottom: 28px;
	}

	.check_page input[type="text"],
	.check_page input[type="password"],
	.check_page input[type="tel"],
	.check_page input[type="number"] {
		height: 48px;
		font-size: 14.5px;
	}

	.check_btn {
		height: 54px;
		font-size: 15px;
	}

	.check_result_wrap {
		padding: 30px 28px;
	}
}

@media (max-width: 750px) {
	.check_page .sub_inner {
		max-width: 100%;
	}

	.check_label_hint {
		font-size: 3vw;
		display: block;
		margin-left: 0;
		margin-top: 1vw;
	}

	.check_form_wrap {
		padding: 6vw 5vw;
		border-radius: 3vw;
	}

	.check_form_title {
		font-size: 4.6vw;
		padding-bottom: 3vw;
		margin-bottom: 6vw;
	}

	.check_page .form_group {
		margin-bottom: 4vw;
	}

	.check_page .label {
		font-size: 3.8vw;
		margin-bottom: 2vw;
	}

	.check_page input[type="text"],
	.check_page input[type="password"],
	.check_page input[type="tel"],
	.check_page input[type="number"] {
		height: 12vw;
		font-size: 3.8vw;
		padding: 0 4vw;
		border-radius: 2vw;
	}

	.check_btn_group {
		gap: 2vw;
		margin-top: 7vw;
	}

	.check_btn {
		height: 13vw;
		font-size: 4vw;
		border-radius: 2.4vw;
	}

	.check_result_wrap {
		margin-top: 6vw;
		padding: 6vw 5vw;
		border-radius: 3vw;
	}

	.check_result_title {
		padding-bottom: 3vw;
		font-size: 4.6vw;
	}

	.check_result_list {
		margin-top: 3vw;
	}

	.check_result_list > div {
		grid-template-columns: 28vw 1fr;
	}

	.check_result_list dt,
	.check_result_list dd {
		padding: 3vw;
		font-size: 3.7vw;
	}

	.check_result_actions {
		gap: 2vw;
		margin-top: 5vw;
	}

	.check_result_btn {
		height: 13vw;
		border-radius: 2.4vw;
		font-size: 4vw;
	}
}

/* ===================== Sub Visual / Sub Page Responsive ===================== */
@media (max-width: 991px) {
	.sub_visual {
		height: 420px;
		background-size: 230vw;
		background-position: 65% center;
	}

	.sub_visual_inner {
		padding: 130px 20px 20px;
	}

	.sub_visual_title {
		max-width: 60vw;
	}

	.section.sub_page {
		padding: 70px 0 100px;
	}

	.sub_title {
		font-size: 30px;
		margin-bottom: 60px;
	}

	.check_form_title {
		font-size: 19px;
		margin-bottom: 40px;
	}

	.check_btn {
		height: 58px;
		font-size: 16px;
	}
}

@media (max-width: 750px) {
	.sub_visual {
		height: 58vw;
		background-size: 230vw;
		background-position: 65% center;
	}

	.sub_visual_inner {
		padding: clamp(120px, 18vw, 135px) 5vw 4vw;
	}

	.sub_visual_title {
		max-width: 70vw;
	}

	.section.sub_page {
		padding: 12vw 0 16vw;
	}

	.sub_inner {
		padding: 0 5vw;
	}

	.sub_title {
		font-size: 6.4vw;
		margin-bottom: 10vw;
	}

	.check_form_title {
		font-size: 4.6vw;
		padding-bottom: 3vw;
		margin-bottom: 7vw;
	}

}

/* ===================== Apply Page (?CATE=apply) ===================== */
.section.apply_page {
	background: #fff;
}

.apply_page .apply_inner {
	max-width: 880px;
	margin: 0 auto;
	padding: 0 40px;
}

.apply_section {
	margin-bottom: 60px;
}

.apply_section:last-of-type {
	margin-bottom: 0;
}

.apply_section_title {
	font-size: 22px;
	font-weight: 700;
	color: #fff;
	background: #1b1b4a;
	padding: 16px 28px;
	border-radius: 12px 12px 0 0;
	letter-spacing: -0.03em;
	margin-bottom: 0;
}

.apply_section > .form_group,
.apply_section > .form_file_group,
.apply_section > div:not(.term_scroll):not(.agree_choice):not(.apply_submit_wrap) {
	background: #fff;
}

.apply_section .form_group,
.apply_section .form_file_group {
	padding: 18px 4px;
	border-bottom: 1px solid #ececef;
}

.apply_section .form_group:first-of-type,
.apply_section .form_file_group:first-of-type {
	padding-top: 28px;
}

.apply_section .form_group:last-child,
.apply_section .form_file_group:last-child {
	border-bottom: none;
}

.apply_page .label {
	display: block;
	font-size: 15px;
	font-weight: 600;
	color: #1b1b4a;
	margin-bottom: 10px;
	letter-spacing: -0.03em;
	cursor: default;
}

.apply_page .label .req,
.apply_page .label span[style*="red"] {
	color: #ff5252 !important;
	margin-left: 2px;
}

.apply_page .label .optional_tag {
	display: inline-block;
	font-size: 12px;
	font-weight: 600;
	color: #6b6b78;
	background: #eceef2;
	padding: 2px 8px;
	border-radius: 4px;
	margin-left: 6px;
	letter-spacing: -0.02em;
	vertical-align: middle;
}

.apply_page .label .char_limit_notice {
	color: #6b6b78;
	font-size: 12px;
	font-weight: 500;
	margin-left: 4px;
}

.apply_page input[type="text"],
.apply_page input[type="password"],
.apply_page input[type="tel"],
.apply_page input[type="number"],
.apply_page input[type="email"],
.apply_page textarea,
.apply_page select {
	width: 100%;
	height: 52px;
	border: 1px solid #d4d4d8;
	padding: 0 16px;
	font-size: 15px;
	color: #1b1b4a;
	background: #fff;
	font-family: 'Pretendard';
	letter-spacing: -0.02em;
	transition: border-color .2s ease;
	border-radius: 8px;
}

.apply_page textarea {
	height: 140px;
	padding: 14px 16px;
	resize: vertical;
}

.apply_page input:focus,
.apply_page textarea:focus,
.apply_page select:focus {
	outline: none;
	border-color: #1b1b4a;
}

.apply_page input::placeholder,
.apply_page textarea::placeholder {
	color: #a5a5b0;
}

.apply_password_wrap {
	position: relative;
}

.apply_page .apply_password_wrap input {
	padding-right: 54px;
}

.apply_password_toggle {
	position: absolute;
	top: 50%;
	right: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 6px;
	color: #777783;
	background: transparent;
	cursor: pointer;
	transform: translateY(-50%);
	transition: color .2s ease, background-color .2s ease;
}

.apply_password_toggle:hover,
.apply_password_toggle:focus-visible {
	color: #1b1b4a;
	background: #f1f1f5;
	outline: none;
}

.apply_password_icon {
	width: 22px;
	height: 22px;
}

.apply_password_icon_visible {
	display: none;
}

.apply_password_toggle.is-visible .apply_password_icon_hidden {
	display: none;
}

.apply_password_toggle.is-visible .apply_password_icon_visible {
	display: block;
}

.form_help {
	display: block;
	font-size: 12.5px;
	color: #888;
	margin-top: 8px;
	letter-spacing: -0.02em;
}

.password_match_feedback {
	display: none;
	margin-top: 8px;
	font-size: 12.5px;
	line-height: 1.45;
	font-weight: 600;
}

.password_match_feedback.is-visible {
	display: block;
}

.password_match_feedback.is-match {
	color: #167a3f;
}

.password_match_feedback.is-mismatch {
	color: #d64545;
}

.apply_page .apply_password_wrap input.is-match {
	border-color: #167a3f;
}

.apply_page .apply_password_wrap input.is-mismatch {
	border-color: #d64545;
}

.char_counter {
	display: block;
	text-align: right;
	margin-top: 8px;
	font-size: 13px;
	color: #888;
	letter-spacing: -0.02em;
	font-variant-numeric: tabular-nums;
}

.char_counter .current {
	font-weight: 700;
	color: #1b1b4a;
}

.char_counter.is-max .current {
	color: #ff5252;
}

@media (max-width: 750px) {
	.char_counter {
		font-size: 3.2vw;
	}
}

.apply_page .form_group:has(> .choice_label) {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 16px;
}

.apply_page .form_group:has(> .choice_label) > .label {
	width: 100%;
	margin-bottom: 4px;
	cursor: default;
}

.apply_page .form_group:has(> .choice_label) > input[type="hidden"] {
	display: none;
}

.choice_label {
	display: inline-flex;
	align-items: flex-start;
	gap: 8px;
	width: calc(50% - 8px);
	font-size: 15px;
	color: #1b1b4a;
	cursor: pointer;
	line-height: 1.5;
	margin: 0;
}

.choice_label input {
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	margin-top: 2px;
	accent-color: #1b1b4a;
}

.job_other_input_wrap {
	display: none;
	width: 100%;
	margin-top: 4px;
}

.job_other_input_wrap.is-open {
	display: block;
}

@media (max-width: 750px) {
	.choice_label {
		width: 100%;
		font-size: 3.6vw;
	}

	.choice_label input {
		width: 4.6vw;
		height: 4.6vw;
	}
}

/* File input */
.custom_file_box {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 8px;
	flex-wrap: wrap;
}

.multi_photo_help {
	width: 100%;
	margin-bottom: 12px;
	padding: 12px 14px;
	border-radius: 8px;
	background: #f5f5f7;
	color: #555;
	font-size: 13px;
	line-height: 1.6;
}

.multi_photo_group .custom_file_box {
	padding: 10px 12px;
	border: 1px solid #e4e4e8;
	border-radius: 8px;
	background: #fafafb;
}

.multi_photo_group .custom_file_box + .custom_file_box {
	margin-top: 8px;
}

.custom_file_box .file_input {
	display: none;
}

.custom_file_box .file_label {
	display: inline-flex;
	align-items: center;
	height: 42px;
	padding: 0 18px;
	background: #1b1b4a;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	border-radius: 6px;
	flex-shrink: 0;
	margin: 0;
}

.custom_file_box .file_name {
	font-size: 14px;
	color: #555;
	flex: 1;
	min-width: 0;
	word-break: break-all;
}

.custom_file_box .file_delete {
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #888;
	border-radius: 6px;
	transition: background .2s ease, color .2s ease;
}

.custom_file_box .file_delete:hover {
	background: #f4f4f6;
	color: #ff5252;
}

.custom_file_box .file_none_label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: #555;
	margin-left: 8px;
	cursor: pointer;
}

/* ===================== Term Scroll (약관) ===================== */
.term_scroll {
	border: 1px solid #d4d4d8;
	border-radius: 12px;
	max-height: 460px;
	overflow-y: auto;
	padding: 28px 32px;
	background: #fafafb;
	margin-bottom: 24px;
	-webkit-overflow-scrolling: touch;
}

.term_scroll_compact {
	max-height: none;
}

.term_scroll::-webkit-scrollbar {
	width: 8px;
}
.term_scroll::-webkit-scrollbar-thumb {
	background: #b0b0b8;
	border-radius: 4px;
}
.term_scroll::-webkit-scrollbar-track {
	background: transparent;
}

.term_section {
	padding-bottom: 28px;
	margin-bottom: 28px;
	border-bottom: 1px dashed #c8c8cf;
}

.term_section:last-child {
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}

.term_h4 {
	font-size: 17px;
	font-weight: 700;
	color: #1b1b4a;
	margin-bottom: 12px;
	padding-left: 12px;
	border-left: 4px solid #1b1b4a;
	line-height: 1.3;
}

.term_h5 {
	font-size: 15px;
	font-weight: 700;
	color: #1b1b4a;
	margin-top: 14px;
	margin-bottom: 8px;
}

.term_lead {
	font-size: 14px;
	color: #353535;
	line-height: 1.7;
	margin-bottom: 12px;
}

.term_block {
	margin-bottom: 14px;
}

.term_block p {
	font-size: 13.5px;
	color: #353535;
	line-height: 1.75;
	margin-bottom: 4px;
}

.term_block p strong {
	color: #1b1b4a;
	font-weight: 700;
}

.term_indent {
	padding-left: 14px;
}

.term_note {
	font-size: 12.5px;
	color: #888;
	margin-top: 6px;
	line-height: 1.6;
}

.term_callout {
	background: #fff5e5;
	border: 1px solid #ffd699;
	border-radius: 8px;
	padding: 14px 18px;
	font-size: 14px;
	color: #1b1b4a;
	margin: 12px 0;
	line-height: 1.6;
}

.term_callout strong {
	color: #d35400;
	font-weight: 700;
}

.term_callout em {
	font-style: normal;
	font-weight: 700;
	color: #1b1b4a;
}

.term_table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13.5px;
	margin: 10px 0;
}

.term_table th,
.term_table td {
	border: 1px solid #c8c8cf;
	padding: 8px 10px;
	text-align: center;
}

.term_table th {
	background: #ececef;
	color: #1b1b4a;
	font-weight: 700;
}

.term_table td {
	background: #fff;
	color: #353535;
}

/* ===================== Agree Choice ===================== */
.agree_choice {
	display: flex;
	gap: 24px;
	padding: 18px 24px;
	background: #fafafb;
	border: 1px solid #d4d4d8;
	border-radius: 10px;
	margin-top: 6px;
}

.consent_question {
	margin: 0 0 10px;
	font-size: 15px;
	font-weight: 700;
	color: #1b1b4a;
}

.radio_row {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 15px;
	color: #1b1b4a;
	font-weight: 500;
	cursor: pointer;
	user-select: none;
}

.radio_row input[type="radio"] {
	width: 20px;
	height: 20px;
	accent-color: #1b1b4a;
	cursor: pointer;
}

.admin_consent_box {
	padding: 30px 28px;
	border: 1px solid #d4d4d8;
	border-radius: 0 0 12px 12px;
	background: #fafafb;
	text-align: center;
}

.admin_consent_download {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 24px;
	border-radius: 8px;
	background: #1b1b4a;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	transition: background .2s ease, transform .2s ease;
}

.admin_consent_download:hover {
	background: #2a2f62;
	transform: translateY(-2px);
}

.admin_consent_box p {
	max-width: 650px;
	margin: 18px auto 0;
	font-size: 14px;
	line-height: 1.7;
	color: #353535;
	word-break: keep-all;
}

.admin_consent_box p a {
	color: #d34e8a;
	font-weight: 700;
	text-decoration: underline;
}

/* ===================== Submit ===================== */
.apply_submit_wrap {
	margin-top: 50px;
	text-align: center;
}

.apply_submit_btn {
	width: 100%;
	max-width: 380px;
	height: 70px;
	background: #1f2333;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	border: none;
	cursor: pointer;
	border-radius: 10px;
	transition: background .2s ease, transform .2s ease;
	letter-spacing: -0.03em;
	font-family: 'Pretendard';
}

.apply_submit_btn:hover {
	background: #2a2f44;
	transform: translateY(-2px);
}

/* ===================== Apply Page Responsive ===================== */
@media (max-width: 991px) {
	.apply_page .apply_inner {
		padding: 0 20px;
	}

	.apply_section_title {
		font-size: 18px;
		padding: 14px 22px;
	}

	.term_scroll {
		padding: 22px 22px;
		max-height: 380px;
	}

	.apply_submit_btn {
		height: 60px;
		font-size: 16px;
	}
}

@media (max-width: 750px) {
	.judge_desktop_table {
		display: none;
	}

	.judge_mobile_table {
		display: block;
	}

	.judge_mobile_score table {
		width: 100%;
		overflow: hidden;
		border-collapse: collapse;
		border-radius: 3vw;
		background: #fff;
		box-shadow: 0 2vw 6vw rgba(27, 27, 74, 0.08);
	}

	.judge_mobile_score th,
	.judge_mobile_score td {
		padding: 3.5vw 3vw;
		border: 1px solid #d9d9df;
		font-size: 3.6vw;
		text-align: center;
	}

	.judge_mobile_score thead th {
		background: #1b1b4a;
		color: #fff;
	}

	.judge_mobile_score tbody th {
		background: #f2f3f7;
		color: #1b1b4a;
	}

	.judge_mobile_score strong,
	.judge_mobile_card h4 strong {
		color: #ed6fb9;
	}

	.judge_mobile_card {
		overflow: hidden;
		margin-bottom: 4vw;
		border: 1px solid #d9d9df;
		border-radius: 3vw;
		background: #fff;
		box-shadow: 0 2vw 6vw rgba(27, 27, 74, 0.08);
	}

	.judge_mobile_card h4 {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 3vw;
		margin: 0;
		padding: 3.5vw 4vw;
		background: #1b1b4a;
		color: #fff;
		font-size: 4vw;
	}

	.judge_mobile_card ul {
		margin: 0;
		padding: 4vw;
		list-style: none;
	}

	.judge_mobile_card li {
		position: relative;
		padding-left: 3.5vw;
		font-size: 3.5vw;
		line-height: 1.65;
	}

	.judge_mobile_card li + li {
		margin-top: 2vw;
	}

	.judge_mobile_card li::before {
		position: absolute;
		top: 0;
		left: 0;
		color: #ed6fb9;
		content: '•';
	}

	.judge_mobile_grade {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		margin: 0;
		border-top: 1px solid #d9d9df;
	}

	.judge_mobile_grade div {
		display: grid;
		grid-template-columns: 1fr;
		text-align: center;
	}

	.judge_mobile_grade div + div {
		border-left: 1px solid #d9d9df;
	}

	.judge_mobile_grade dt,
	.judge_mobile_grade dd {
		margin: 0;
		padding: 2vw;
		font-size: 3.4vw;
	}

	.judge_mobile_grade dt {
		background: #f2f3f7;
		color: #1b1b4a;
		font-weight: 700;
	}

	.judge_mobile_grade dd {
		font-weight: 700;
	}

	.judge_inner {
		padding: 0 5vw;
	}

	.judge_section + .judge_section {
		margin-top: 12vw;
	}

	.judge_section_title {
		gap: 2vw;
		margin-bottom: 4vw;
		font-size: 5vw;
	}

	.judge_section_title span {
		width: 7vw;
		height: 7vw;
		font-size: 3.6vw;
	}

	.judge_score_table th,
	.judge_score_table td,
	.judge_detail_table th,
	.judge_detail_table td {
		padding: 3vw 2.5vw;
		font-size: 3.5vw;
	}

	.judge_note {
		margin-top: 3vw;
		text-align: left;
		font-size: 3.2vw;
	}

	.apply_page .apply_inner {
		padding: 0 5vw;
	}

	.apply_section {
		margin-bottom: 10vw;
	}

	.apply_section_title {
		font-size: 4.4vw;
		padding: 3.4vw 5vw;
	}

	.apply_page .label {
		font-size: 3.8vw;
		margin-bottom: 2vw;
	}

	.apply_page input[type="text"],
	.apply_page input[type="password"],
	.apply_page input[type="tel"],
	.apply_page input[type="number"],
	.apply_page input[type="email"],
	.apply_page select {
		height: 12vw;
		font-size: 3.8vw;
		padding: 0 4vw;
	}

	.apply_page textarea {
		font-size: 3.8vw;
		padding: 3vw 4vw;
		height: 32vw;
	}

	.form_help {
		font-size: 3vw;
	}

	.term_scroll {
		max-height: 80vw;
		padding: 5vw 5vw;
	}

	.term_h4 { font-size: 4vw; }
	.term_h5 { font-size: 3.6vw; }
	.term_lead { font-size: 3.4vw; }
	.term_block p { font-size: 3.3vw; }
	.term_note { font-size: 3vw; }
	.term_callout { font-size: 3.4vw; padding: 3vw 4vw; }
	.term_table { font-size: 3.2vw; }

	.agree_choice {
		padding: 4vw 5vw;
	}

	.consent_question {
		font-size: 3.8vw;
	}

	.radio_row {
		font-size: 3.8vw;
	}

	.radio_row input[type="radio"] {
		width: 5vw;
		height: 5vw;
	}

	.admin_consent_box {
		padding: 6vw 5vw;
	}

	.admin_consent_download {
		width: 100%;
		min-height: 13vw;
		padding: 2vw 4vw;
		font-size: 3.8vw;
	}

	.admin_consent_box p {
		margin-top: 4vw;
		font-size: 3.4vw;
	}

	.apply_submit_wrap {
		margin-top: 10vw;
	}

	.apply_submit_btn {
		height: 14vw;
		font-size: 4.4vw;
		border-radius: 2vw;
	}

	.custom_file_box .file_label {
		height: 11vw;
		font-size: 3.4vw;
		padding: 0 4vw;
	}

	.custom_file_box .file_name {
		font-size: 3.2vw;
	}

	.multi_photo_help {
		margin-bottom: 3vw;
		padding: 3vw 3.5vw;
		border-radius: 2vw;
		font-size: 3.2vw;
	}

	.multi_photo_group .custom_file_box {
		padding: 2.5vw 3vw;
		border-radius: 2vw;
	}
}
