@import url("https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap");
body {
	position: relative;
}
body,
html {
	font-size: 14px;
	font-family: "Pretendard Variable", sans-serif;
	line-height: 1.4;
	color: #222;
}
html.not_scroll {
	overflow-y: hidden;
}
.mBr,
img.mb {
	display: none;
}
.fp-watermark,
#fp-nav {
	display: none;
}
.header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	/* transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); */
	overflow: visible;
}
.hd_btn {
	display: none;
}
.header.active,
.header.default {
	background: #fff;
}
.header.expanded {
	box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
}
/* 기본 상태 - 투명 배경 */
.header_content {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 30px 40px;
	/* transition: all 0.4s ease; */
	position: relative;
}
.logo_icon {
	width: 180px;
	height: 38px;
}
.header.expanded .logo_icon img:first-of-type,
.header.active .logo_icon img:first-of-type,
.header.default .logo_icon img:first-of-type {
	display: block;
}
.logo_icon img:first-of-type,
.header.expanded .logo_icon img:last-of-type,
.header.active .logo_icon img:last-of-type,
.header.default .logo_icon img:last-of-type {
	display: none;
}
/* 메뉴를 가운데 배치 */
.nav_container {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}
.nav_menu {
	display: flex;
	gap: 40px;
	list-style: none;
	margin-bottom: 0;
}
.nav_menu .inner {
	display: flex;
	justify-content: center;
	width: 140px;
}
.nav_menu a {
	position: relative;
	padding: 30px 0;
	display: inline-block;
	text-decoration: none;
	color: #fff;
	font-weight: 500;
	transition: color 0.3s ease;
	font-size: 18px;
	text-align: center;
}
.nav_menu a:hover::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	height: 4px;
	background: #fe9328;
}
.nav_menu a:hover,
.nav_menu a.active {
	color: #ff8c00 !important;
}
/* 확장된 상태 - 흰색 배경과 드롭다운 메뉴 */
.header.expanded .header_content {
	background-color: #fff;
	transition: all 0.4s ease;
}
/* dropdown이 header에 포함되어 높이가 자연스럽게 늘어남 */
.dropdown_menu {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	background-color: #fff;
}
.header.expanded .nav_menu a,
.header.active .nav_menu a,
.header.default .nav_menu a {
	color: #222;
}
.header.expanded .dropdown_menu {
	height: 400px;
	max-height: 400px;
}
.dropdown_content {
	display: flex;
	gap: 40px;
	max-width: 1200px;
	margin: 0 auto;
	justify-content: center;
}
.menu_list {
	flex: 0 0 auto;
	width: 140px; /* nav 메뉴 항목들과 동일한 너비로 정렬 */
	text-align: left;
}
.menu_list ul {
	list-style: none;
}
.menu_list ul li {
	margin-bottom: 10px;
}
.menu_list ul li a {
	text-decoration: none;
	color: #666;
	transition: all 0.3s ease;
	display: block;
	padding: 10px 0;
	text-align: center;
}
.menu_list ul li a:hover {
	color: #ff8c00;
	background-color: #f8f8f8;
	padding-left: 8px;
}
.mb_menu_tit {
	display: none;
}
/* header fin */

/* footer */
.footer {
	display: block !important;
	height: auto !important;
	padding: 70px 110px;
	color: #fff;
	background: #222;
}
.footer h3 {
	margin-bottom: 48px;
	font-size: 20px;
	font-weight: 600;
}
.footer footer {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
.footer .info_txt {
	font-size: 16px;
	font-weight: 400;
}
.footer .info_txt:not(:last-of-type) {
	margin-bottom: 15px;
}
.footer .nbsp {
	display: inline-block;
	width: 15px;
}
.footer .cont02 {
	display: flex;
	flex-direction: column;
	gap: 26px;
}
.footer .terms_wp {
	display: flex;
	gap: 15px;
	justify-content: flex-end;
}
.footer .terms_wp a {
	padding: 5px 10px;

	font-weight: 600;
	border-radius: 50px;
	border: 1px solid #fff;
	color: #fff;
}
.footer .copy {
	font-weight: 400;
	color: #fff;
}

.sub.wrap {
	padding-bottom: 160px;
}
.sub.wrap.vision {
	padding-bottom: 0;
}

.sub_bnr {
	position: relative;
	width: 100%;
	height: 498px;
}
.sub_bnr .cont_img,
.sub_bnr .cont_img img {
	width: 100%;
	height: 100%;
}
.sub_bnr .cont_txt {
	position: absolute;
	top: 190px;
	left: 50%;
	transform: translateX(-50%);
	color: #fff;
	font-size: 56px;
	font-weight: 700;
	text-align: center;
}
.sub_bnr .cont_txt p {
	margin-top: 20px;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
}
.sub_nav {
	position: sticky;
	border-bottom: 1px solid #e8e8e8;
	margin-bottom: 140px;
	top: 98px;
	z-index: 100;
	background: #fff;
}
.nav_tit {
	display: none;
}
.sub .sub_nav .inner {
	width: 1410px;
	margin: 0 auto;
	display: flex;
}
.sub_nav a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 176px;
	padding: 20px 0;
	font-size: 16px;
	color: #222;
}
.sub_nav.tab_5 a {
	width: 282px;
}
.sub_nav a.active {
	color: #fff;
	background: #fe9328;
}
.sub .inner {
	width: 1700px;
	margin: 0 auto;
}
.sub .inner2 {
	width: 1410px;
	margin: 0 auto;
}
.sub_tit {
	margin-bottom: 90px;
	font-size: 48px;
	font-weight: 700;
	line-height: 1.5;
	color: #222;
}
.sub_tit span {
	color: #fe9328;
}
.sub_tit.ml {
	width: 1410px;
	margin: 0 auto 100px;
}
.sub_tit small {
	display: block;
	margin-top: 30px;
	font-size: 16px;
	font-weight: 400;
}

.sec01 {
	display: flex;
	justify-content: space-between;
	margin-bottom: 100px;
}
.sec01 .cont_tit {
	padding: 30px 0;
	width: 697px;
	line-height: 1.5;
}
.sec01 .cont_tit h3 {
	margin-bottom: 20px;
	font-size: 40px;
	font-weight: 700;
}
.sec01 .cont_tit p {
	font-size: 16px;
}
.sec01 .cont_img {
	width: 570px;
	height: 260px;
	flex-shrink: 0;
}
.sec02 .cont_sub_tit h3 {
	margin-bottom: 20px;
	font-size: 22px;
	font-weight: 700;
}

/* modal css */
.modal {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 1200;
}
.modal.active {
	display: block;
}
.modal_inner {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.modal_inner .modal_cont {
	position: relative;
	display: block;
	padding: 45px;
	border-radius: 20px;
	background: #fff;
}
.modal_inner .modal_cont::-webkit-scrollbar {
	display: none;
}
.modal_inner .modal_info {
	line-height: 1.7;
	text-align: center;
	color: #aaa;
}
.overlay {
	width: 100%;
	height: 100%;
	background-color: #4d525a;
}
.consult_modal .overlay {
	background-color: rgba(0, 0, 0, 0.4);
}
.modal .close_btn {
	position: absolute;
	top: 20px;
	right: 20px;
	width: 25px;
	height: 25px;
	cursor: pointer;
}
.modal .modal_cont select {
	font-family: "Pretendard Variable", sans-serif;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background: url("../img/select_ico.png") center right 20px / 16px no-repeat;
}
.check_modal .modal_inner,
.check_modal2 .modal_inner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 30px;
}
.check_modal .modal_cont {
	width: 450px;
	height: 750px;
}
.check_modal .modal_cont .tit {
	margin-bottom: 30px;
	font-size: 22px;
	font-weight: 700;
	text-align: center;
}
.check_modal .modal_cont .tit small {
	display: block;
	margin-top: 17px;

	color: #fe9328;
}
.check_modal .modal_cont .input_box {
	margin-bottom: 20px;
}
.check_modal .modal_cont .input_Wp label {
	display: block;
	margin-bottom: 5px;

	font-weight: 600;
}
.check_modal .modal_cont select,
.check_modal .modal_cont input {
	width: 100%;
	padding: 12px 15px;
	border: 1px solid #ddd;

	border-radius: 5px;
}
.check_modal .chk_btn {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 60px;
	border-radius: 0 0 20px 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	font-weight: 700;
	color: #fff;
	background: #fe9328;
}

/* check modal2 */
.check_modal2 .modal_cont {
	width: 690px;
	height: 770px;
	padding: 0;
	overflow-y: scroll;
}
.check_modal2 .modal_cont .tit {
	display: flex;
	justify-content: space-between;
	margin-bottom: 16px;
}
.check_modal2 .modal_cont .tit p {
	font-size: 22px;
	font-weight: 700;
}
.check_modal2 .modal_cont select {
	padding: 10px 12px;
	border: 1px solid #ddd;

	height: 37px;
	background: url("../img/select_ico.png") center right 10px / 16px no-repeat;
}
.check_modal2 .modal_cont #selectYear {
	width: 110px;
}
.check_modal2 .modal_cont #selectMonth {
	width: 90px;
}
.check_modal2 .container {
	padding: 80px 40px 40px;
}
.check_modal2 .modal_header {
	background-color: #f1f2f3;
	padding: 10px 0 5px;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	border-bottom: 1px solid #e8e8e8;
}
.check_modal2 .info_row {
	display: grid;
	grid-template-columns: 100px 1fr 100px 1fr 100px 1fr;
	border-bottom: 1px solid #e8e8e8;
}
.check_modal2 .info_cell {
	padding: 10px 15px;
	border-right: 1px solid #e8e8e8;

	text-align: center;
}
.check_modal2 .info_cell:last-child {
	border-right: none;
}
.check_modal2 .info_cell.label {
	background-color: #f1f2f3;
	font-weight: bold;
}
.check_modal2 .section_header {
	display: grid;
	grid-template-columns: 1fr 1fr;
	background-color: #f1f2f3;
	border-bottom: 1px solid #e8e8e8;
}
.check_modal2 .section_title {
	padding: 10px 15px;

	font-weight: bold;
	text-align: center;
	border-right: 1px solid #e8e8e8;
}
.check_modal2 .section_title:last-child {
	border-right: none;
}
.check_modal2 .content_row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	border-bottom: 1px solid #e8e8e8;
}
.check_modal2 .column {
	display: grid;
	grid-template-columns: 1fr 1fr;
	border-right: 1px solid #e8e8e8;
}
.check_modal2 .column:last-child {
	border-right: none;
}
.check_modal2 .item_name {
	padding: 10px 15px;
	border-right: 1px solid #e8e8e8;

	text-align: center;
}
.check_modal2 .item_value {
	padding: 10px 15px;

	text-align: center;
}
.check_modal2 .total_cell {
	display: grid;
	grid-template-columns: 1fr 1fr;

	font-weight: 700;
	background: #f1f2f3;
	text-align: center;
}
.check_modal2 .total_cell div {
	padding: 10px 15px;
	border-right: 1px solid #e8e8e8;
}
.check_modal2 .total {
	font-weight: 700;
	border-right: 1px solid #e8e8e8;
	background: #f1f2f3;
	text-align: center;
}
.check_modal2 .modal_btn_wp {
	display: flex;
}
.check_modal2 .modal_btn_wp button {
	width: 50%;
	height: 60px;
	font-size: 18px;
	font-weight: 700;
	color: #fff;
	background: #aaaaaa;
}
.check_modal2 .modal_btn_wp button:first-of-type {
	background: #fe9328;
}

/* consult modal */
.consult_modal .modal_cont {
	width: 690px;
	height: 770px;
	padding: 0;
	overflow-y: scroll;
}
.consult_modal .modal_cont .modal_box {
	padding: 45px;
}
.consult_modal .modal_cont .tit {
	margin-bottom: 30px;
	font-size: 24px;
	font-weight: 700;
}
.consult_modal .modal_cont .tit small {
	display: block;
	margin-top: 15px;
}
.form_section_title {
	font-size: 16px;
	margin-bottom: 12px;
	font-weight: 700;
}
.form_wp,
.form_wp2 {
	margin-bottom: 20px;
	border: 1px solid #ddd;
}
.form_row {
	display: flex;
	align-items: stretch;
}
.form_row .input_box {
	width: 100%;
	display: flex;
	flex: 1;
	align-items: center;
	border-left: none;
	padding: 0 5px;
}
.form_wp .form_row:last-of-type .form_label {
	border-bottom: none;
}
.form_label {
	width: 120px;
	padding: 20px;

	background: #f1f2f3;
	flex-shrink: 0;
	border-right: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}
.required {
	color: #fe9328;
	margin-left: 2px;
}
.form_row .input_box {
	border-bottom: 1px solid #ddd;
}
.form_input {
	width: 100%;
	padding: 15px 12px;
	border: 1px solid #ddd;
	border-radius: 5px;

	font-family: "Malgun Gothic", sans-serif;
}
.form_row select {
	width: 100%;
	padding: 15px;

	border: 1px solid #ddd;
	border-radius: 5px;
}
.form_row .input_box.textarea {
	padding: 8px;
}
.form_textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #ddd;
	border-radius: 4px;

	font-family: "Pretendard Variable", sans-serif;
	resize: none;
	min-height: 120px;
}
.radio_group {
	width: 100%;
	display: flex;
	gap: 15px;
	padding: 4px 12px;
	border-bottom: 1px solid #ddd;
}
.radio_item {
	display: flex;
	align-items: center;
	gap: 6px;
}
.radio_item input[type="radio"] {
	width: 14px;
	height: 14px;
	cursor: pointer;
	background: url("../img/radio_off_ico.png") center / cover no-repeat;
}
.radio_item input[type="radio"]:checked {
	background: url("../img/radio_on_ico.png") center / cover no-repeat;
}
.radio_item label {
	color: #333;
	cursor: pointer;
}
.contact_info {
	width: 100%;
	padding: 15px;
}
.contact_info_title {
	font-weight: 700;
	margin-bottom: 8px;
}
.contact_info .info_box {
	display: flex;
	gap: 6px;
}
.contact_info .cont_ico {
	width: 16px;
	height: 16px;
}
.contact_phone,
.contact_email {
	display: flex;
	align-items: center;
	gap: 3px;
	color: #ff9800;
}
.info_table {
	width: 100%;
	margin-top: 30px;
	border-collapse: collapse;
	border: 1px solid #ddd;
}
.info_table th,
.info_table td {
	padding: 12px;
	border: 1px solid #ddd;

	text-align: left;
}
.info_table th {
	background-color: #f1f2f3;
}
.two_column_row {
	display: grid;
	grid-template-columns: 1fr 1fr;
}
.terms_chk {
	margin-top: 10px;
}
.terms_chk label {
	padding-left: 20px;
	cursor: pointer;
	background: url("../img/chk_off_ico") center left / 14px no-repeat;
}
.terms_chk input:checked + label {
	background: url("../img/chk_on_ico") center left / 14px no-repeat;
}
.consult_apply_btn {
	width: 100%;
	height: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	font-weight: 700;
	color: #fff;
	background: #fe9328;
}

/* policy */
.policy * {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
}
.wrap.policy {
	padding-top: 177px;
}
.policy h2 {
	margin-bottom: 40px;
	padding-bottom: 24px;
	font-size: 40px;
	font-weight: 700;
	text-align: center;
	border-bottom: 1px solid #222;
}
.policy [class*="alert"] {
	background: #f1f2f3;
	border-radius: 10px;
}
.policy .alert {
	padding: 30px;
	margin-bottom: 30px;
	font-size: 20px;
	font-weight: 600;
	text-align: center;
}
.policy .alert2 {
	padding: 20px;
	display: flex;
	align-items: center;
	gap: 10px;
}
.policy_wp li {
	display: flex;
	flex-direction: column;
	padding: 50px 0;
}
.privacy .policy_wp li {
	gap: 15px;
}
.terms .policy_wp li {
	gap: 10px;
}
.policy_wp li:first-of-type {
	padding: 0 0 50px 0;
}
.policy_wp li:last-of-type {
	padding: 50px 0 0 0;
}
.policy_wp li:not(:last-of-type) {
	border-bottom: 1px solid #e8e8e8;
}
.policy h3 {
	font-size: 18px;
	font-weight: 700;
}
.policy .tit {
	font-size: 16px;
	font-weight: 600;
	flex-shrink: 0;
}
.policy .row_box {
	display: flex;
	gap: 3px;
}
