* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
html, body {
	width:100%;
	overflow-x: hidden;
	 min-width: 0;
	   overscroll-behavior-x: none;
}

input::placeholder {
	color: #AAB4BE;
}
textarea::placeholder {
color: #AAB4BE;
}
.container, .flexrow, .shadow.card, .table-scroll-wrap {
  min-width: 0;
}

input:focus {
    outline: none;
    border: none;
}
/* fonts.css */
/* fonts.css */

@font-face {
  font-family: 'Pretendard';
  font-weight: 300;
  font-style: normal;
  font-display: swap;
  src: url('/resources/css/fonts/Pretendard-Light.woff2') format('woff2'),
       url('/resources/css/fonts/Pretendard-Light.woff') format('woff'),
       url('/resources/css/fonts/Pretendard-Light.otf') format('opentype');
}

@font-face {
  font-family: 'Pretendard';
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url('/resources/css/fonts/Pretendard-Regular.woff2') format('woff2'),
       url('/resources/css/fonts/Pretendard-Regular.woff') format('woff'),
       url('/resources/css/fonts/Pretendard-Regular.otf') format('opentype');
}

@font-face {
  font-family: 'Pretendard';
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  src: url('/resources/css/fonts/Pretendard-Medium.woff2') format('woff2'),
       url('/resources/css/fonts/Pretendard-Medium.woff') format('woff'),
       url('/resources/css/fonts/Pretendard-Medium.otf') format('opentype');
}

@font-face {
  font-family: 'Pretendard';
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  src: url('/resources/css/fonts/Pretendard-SemiBold.woff2') format('woff2'),
       url('/resources/css/fonts/Pretendard-SemiBold.woff') format('woff'),
       url('/resources/css/fonts/Pretendard-SemiBold.otf') format('opentype');
}

@font-face {
  font-family: 'Pretendard';
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: url('/resources/css/fonts/Pretendard-Bold.woff2') format('woff2'),
       url('/resources/css/fonts/Pretendard-Bold.woff') format('woff'),
       url('/resources/css/fonts/Pretendard-Bold.otf') format('opentype');
}

@font-face {
  font-family: 'Pretendard';
  font-weight: 800;
  font-style: normal;
  font-display: swap;
  src: url('/resources/css/fonts/Pretendard-ExtraBold.woff2') format('woff2'),
       url('/resources/css/fonts/Pretendard-ExtraBold.woff') format('woff'),
       url('/resources/css/fonts/Pretendard-ExtraBold.otf') format('opentype');
}


/* 필요하시면 500, 700 등도 추가 */


@font-face {
	font-family: 'NanumSquareNeo';
	src:
		url('/resources/css/fonts/NanumSquareNeoTTF-aLt.woff2')
		format('woff2');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'NanumSquareNeo';
	src:
		url('/resources/css/fonts/NanumSquareNeoTTF-bRg.woff2')
		format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'NanumSquareNeo';
	src:
		url('/resources/css/fonts/NanumSquareNeoTTF-cBd.woff2')
		format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'NanumSquareNeo';
	src:
		url('/resources/css/fonts/NanumSquareNeoTTF-dEb.woff2')
		format('woff2');
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'NanumSquareNeo';
	src:
		url('/resources/css/fonts/NanumSquareNeoTTF-eHv.woff2')
		format('woff2');
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}

/* Variable 폰트를 쓰실 경우(가변축 100~900 지원 브라우저 대상) */
@font-face {
	font-family: 'NanumSquareNeoVar';
	src:
		url('/resources/css/fonts/NanumSquareNeo-Variable.woff2')
		format('woff2-variations');
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}

a {
	text-decoration: none;
	cursor: pointer;
}

li {
	list-style: none;
}

.body-lock {
	position: fixed;
	overflow: hidden;
	width: 100%;
}

.modal-overlay {
	position: fixed;
	inset: 0;
	display: none; /* 기본은 숨김 */
	align-items: center;
	justify-content: center;
	z-index: 9999;
	background: #00000066; /* 요청하신 반투명 배경 */
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px); /* 사파리 대응 */
}

/* 표시 상태 */
.modal-overlay.is-open {
	display: flex;
}

.modal-dialog {
	box-sizing: border-box;
	display: flex;
	padding: 0px 0px 50px;
	flex-direction: column;
	width: 700px;
	
	max-height: calc(100vh - 160px); /* 기본 */
	overflow: hidden; /* 모서리 라운드 안 넘치게 */
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 8px 16px rgba(0, 0, 0, .1);
}

/* 헤더 */
.modal-header {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 18px 32px;
	gap: 6px;
	width: 100%;
	height: 66px;
	background: #F3F5F7;
	/* gray_c / 100 */
	border-bottom: 1px solid #E1E6EB;
	border-radius: 8px 8px 0px 0px;
}

.modal-header-box {
	/* tit */
	/* 오토레이아웃 */
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	padding: 0px;
	gap: 4px;
	width: 636px;
	height: 30px;
}

.modal-header-box span {
	display: flex;
	flex-direction: row;
	align-items: center;
	padding: 0px;
	gap: 6px;
	height: 30px;
	font-family: 'Pretendard';
	font-style: normal;
	font-weight: 600;
	font-size: 20px;
	line-height: 30px;
	letter-spacing: -0.02em;
	color: #141E28;
}

.modal-header-box .modal-close img {
	width: 24px;
	height: 24px;
}

.modal-title {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
}

/* 닫기 버튼 */
.modal-close {
	appearance: none;
	border: 0;
	background: transparent;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
}

/* 본문, 푸터 */
.modal-body {
	padding: 0px 32px;
	isolation: isolate;
	width: 100%;
	padding-top: 44px;
	gap: 28px;
	overflow-y: auto;
}

.modal-footer {
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	align-items: flex-end;
	padding: 16px 0px 0px;
	gap: 12px;
	width: 100%;
	height: 64px;
}

.modal-footer a {
	/* 2 */
	/* 오토레이아웃 */
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	padding: 11px 0px;
	gap: 10px;
	width: 636px;
	margin: 0 auto;
	height: 48px;
	background: #00B894;
	border-radius: 4px;
}

.modal-footer a span {
	/* 지원하기 */
	height: 26px;
	font-family: 'Pretendard';
	font-style: normal;
	font-weight: 600;
	font-size: 18px;
	line-height: 26px;
	/* 상자 높이와 동일 또는 144% */
	display: flex;
	align-items: center;
	letter-spacing: -0.02em;
	text-transform: capitalize;
	/* white */
	color: #FFFFFF;
	text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.15);
}

.modal-content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 0px;
	gap: 28px;
	isolation: isolate;
	width: 100%;
	margin: 0 auto;
	overflow-y: auto;
}

.modal-content .modal-layout {
	width: 636px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 0px;
	gap: 28px;
	isolation: isolate;
	margin: 0 auto;
}

.corp-input::placeholder {
	color: #AAB4BE; /* 원하는 색 */
	opacity: 1; /* 일부 브라우저가 기본 반투명 → 진하게 보이게 */
}

.corp-input::-webkit-input-placeholder {
	color: #AAB4BE;
} /* Chrome/Safari old */
.corp-input:-moz-placeholder {
	color: #AAB4BE;
	opacity: 1;
} /* Firefox old */
.corp-input::-moz-placeholder {
	color: #AAB4BE;
	opacity: 1;
}

.corp-input:-ms-input-placeholder {
	color: #AAB4BE;
} /* IE10-11 */
.corp-input::-ms-input-placeholder {
	color: #AAB4BE;
} /* old Edge */




/* =========================
   Design tokens
   ========================= */
:root{
  --c-white:#ffffff; --c-black:#000000;
  --c-primary:#00B894; --c-primary-weak:#00FFC2;
  --c-deep:#062921; --c-deep-weak:#05211A;
  --c-g50:#F9FAFB; --c-g100:#F3F5F7; --c-g200:#E1E6EB; --c-g300:#DDE0E4; --c-g400:#cfd6dd; --c-g500:#919BA5; --c-g700:#46505A; --c-g900:#141E28;
  --r8:8px; --r12:12px; --r16:16px; --r24:24px; --r32:32px;
  --wrap:1280px;
}

/* Reset-lite */
html,body{margin:0;padding:0}
img{display:block;max-width:100%;height:auto}
ul{margin:0;padding:0;list-style:none}

/* =========================
   Font families
   ========================= */
.font-body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif}
.font-ui{font-family:Pretendard,"Noto Sans KR",sans-serif}
.font-head{font-family:"NanumSquareNeo","Noto Sans KR",sans-serif}

/* =========================
   Typography utilities
   조합 예) class="font-head t-68 fw-800 lh-88 ls--2 text-center"
   ========================= */
.t-12{font-size:12px}.t-14{font-size:14px}.t-16{font-size:16px}.t-18{font-size:18px}
.t-20{font-size:20px}.t-22{font-size:22px}.t-24{font-size:24px}.t-28{font-size:28px}
.t-32{font-size:32px}.t-42{font-size:42px}.t-56{font-size:56px}.t-68{font-size:68px}

.fw-400{font-weight:400}.fw-500{font-weight:500}.fw-600{font-weight:600}
.fw-700{font-weight:700}.fw-800{font-weight:800}.fw-900{font-weight:900}

.lh-20{line-height:20px}.lh-24{line-height:24px}.lh-26{line-height:26px}
.lh-28{line-height:28px}.lh-34{line-height:34px}.lh-36{line-height:36px}
.lh-42{line-height:42px}.lh-60{line-height:60px}.lh-88{line-height:88px}

.ls--2{letter-spacing:-0.02em}

.text-center{text-align:center}
.text-white{color:#ffffff}.text-primary{color:var(--c-primary)}
.text-gray-700{color:var(--c-g700)}.text-gray-900{color:var(--c-g900)}

/* =========================
   Layout utilities
   ========================= */
.container{width:var(--wrap);max-width:100%;margin:0 auto}
.w-100{width:100%}.h-100{height:100%}
.flex{display:flex}.row{display:flex;flex-direction:row}.col{display:flex;flex-direction:column}
.center{justify-content:center;align-items:center}
.items-center{align-items:center}.justify-center{justify-content:center}
.g-8{gap:8px}.g-10{gap:10px}.g-12{gap:12px}.g-16{gap:16px}.g-24{gap:24px}.g-36{gap:36px}.g-40{gap:40px}.g-44{gap:44px}.g-120{gap:120px}
.px-20{padding-left:20px;padding-right:20px}.py-36{padding-top:36px;padding-bottom:36px}
.pt-80{padding-top:80px}.pt-140{padding-top:140px}.pb-60{padding-bottom:60px}
.round-8{border-radius:var(--r8)}.round-12{border-radius:var(--r12)}.round-16{border-radius:var(--r16)}.round-32{border-radius:var(--r32)}
.rel{position:relative}.abs{position:absolute}.hidden{overflow:hidden}

/* =========================
   Backgrounds and borders
   ========================= */
.bg-deep{background:var(--c-deep)}.bg-deep-weak{background:var(--c-deep-weak)}
.bg-white{background:#fff}.bg-overlay{background:rgba(0,0,0,0.5)}
.bd-1{border:1px solid var(--c-g200)}.bd-primary{border:1px solid rgba(0,184,148,0.6)}
.shadow-1{box-shadow:0 2px 4px rgba(0,0,0,0.08)}
.shadow-glow{box-shadow:0 0 20px rgba(0,184,148,0.6)}
.shadow-glow-h:hover{box-shadow:0 0 30px rgba(0,184,148,0.8);border-color:rgba(0,184,148,0.9)}

/* =========================
   Section paddings
   ========================= */
.section-pad{padding:120px 0 100px}

/* =========================
   Hero specific minimal
   ========================= */
.hero-bg{background:url('/resources/img/main/wave.svg') no-repeat center/cover}
.hero{height:876px}
@keyframes waveSway{0%{transform:translateY(0) scale(1)}100%{transform:translateY(-2%) scale(1.05)}}
.wave-anim{animation:waveSway 4s ease-in-out infinite alternate;transform-origin:center}

/* =========================
   Line clamp
   ========================= */
.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}


.modalBox {
	position: absolute;
	top: 40%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: #fff;
	padding: 20px;
	width: 300px;
	text-align: center;
	border-radius: 10px;
	box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
}

.float_top {
    box-sizing: border-box;
    display: none;
    flex-direction: row;
    align-items: center;
    padding: 0px;
    gap: 10px;
    position: fixed;
    right: 5%;
    bottom: 6%;
    z-index: 10;
    width: 48px;
    height: 48px;
    background: #FFFFFF;
    border: 1px solid #E1E6EB;
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.12);
    border-radius: 8px;
    justify-content: center;
}
.float_top img {
    display: inline-block;
    vertical-align: middle;
    width: 36px;
    height: 36px;
}
