@charset "UTF-8";

/* 폰트 */
@font-face {
	font-family: 'Pretendard';
	src: url('../font/Pretendard-Thin.woff') format('woff');
	font-weight: 100;
	font-style: normal;
}
@font-face {
	font-family: 'Pretendard';
	src: url('../font/Pretendard-ExtraLight.woff') format('woff');
	font-weight: 200;
	font-style: normal;
}
@font-face {
	font-family: 'Pretendard';
	src: url('../font/Pretendard-Light.woff') format('woff');
	font-weight: 300;
	font-style: normal;
}
@font-face {
	font-family: 'Pretendard';
	src: url('../font/Pretendard-Regular.woff') format('woff');
	font-weight: 400;
	font-style: normal;
}
@font-face {
	font-family: 'Pretendard';
	src: url('../font/Pretendard-Medium.woff') format('woff');
	font-weight: 500;
	font-style: normal;
}
@font-face {
	font-family: 'Pretendard';
	src: url('../font/Pretendard-SemiBold.woff') format('woff');
	font-weight: 600;
	font-style: normal;
}
@font-face {
	font-family: 'Pretendard';
	src: url('../font/Pretendard-Bold.woff') format('woff');
	font-weight: 700;
	font-style: normal;
}
@font-face {
	font-family: 'Pretendard';
	src: url('../font/Pretendard-ExtraBold.woff') format('woff');
	font-weight: 800;
	font-style: normal;
}
@font-face {
	font-family: 'Pretendard';
	src: url('../font/Pretendard-Black.woff') format('woff');
	font-weight: 900;
	font-style: normal;
}

/* 색상 */
:root {
    --Gray-50: #F3F3F3;
    --Gray-100: #DDD;
    --Gray-200: #C6C6C6;
    --Gray-300: #B0B0B0;
    --Gray-400: #9B9B9B;
    --Gray-500: #868686;
    --Gray-600: #727272;
    --Gray-700: #5E5E5E;
    --Gray-800: #393939;
    --Gray-900: #222;
    --White-0: #FFF;
    --White-100: #F8F8F8;
    --White-200: #F6F6F6;
    --White-300: #F4F4F4;
    --Blue-50: #F0F2FF;
    --Blue-100: #E4E7FF;
    --Blue-200: #CCD3FF;
    --Blue-300: #A4ADFF;
    --Blue-400: #7077FF;
    --Blue-500: #3029CC;
    --Blue-600: #070099;
    --Blue-700: #050073;
    --Blue-800: #03004D;
    --Blue-900: #020026;
    --Blue-Gray-50: #F8FAFC;
    --Blue-Gray-100: #F1F5F9;
    --Blue-Gray-200: #E2E8F0;
    --Blue-Gray-300: #CBD5E1;
    --Blue-Gray-400: #94A3B8;
    --Blue-Gray-500: #64748B;
    --Blue-Gray-600: #475569;
    --Blue-Gray-700: #334155;
    --Green-50: #F0FDF4;
    --Green-100: #DCFCE7;
    --Green-200: #BBF7D0;
    --Green-300: #86EFAC;
    --Green-400: #4ADE80;
    --Green-500: #22C55E;
    --Green-600: #16A34A;
    --Green-700: #15803D;
    --Green-800: #166534;
    --Green-900: #0F3E21;
    --Red-50: #FFEBE7;
    --Red-100: #FFC2B8;
    --Red-200: #FF988B;
    --Red-300: #FF6E62;
    --Red-400: #FF2F2F;
    --Red-500: #DD000E;
    --Red-600: #C10000;
    --Red-700: #A00000;
    --Red-800: #7C0000;
    --Red-900: #500;
}

html {
    overflow-x: hidden;
}
html,
body {
	-webkit-touch-callout: none;
}
.body_inner {
	overflow: clip;
}

/* ios에서 인풋들 모서리 라운딩과 상단 그림자 제거 */
input, textarea, select {
	border-radius: 0;
	appearance: none;
	-webkit-appearance: none;
}

/* ios font-size 16px 미만일때 포커스시 줌되는 현상 수정 */
/* 텍스트 선택, 드래그, 더블클릭 막기 :not()은 예외처리 */
*:not(input, textarea) {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

/* global */
.show {
	display: block !important;
}
.hide {
	display: none !important;
}
.scrollX {
	overflow: hidden !important;
	-ms-touch-action: none;
	touch-action: none;
	overscroll-behavior-y: contain;
}

/* Firefox에 대한 스탬퍼 숨김 */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* module */
.inner {
    margin: 0 auto;
    width: 1128px;
}
.space_between {
	display: flex;
    align-items: center;
    justify-content: space-between;
}
.fill_light_blue,
.fill_deep_blue {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    border-radius: 6px;
    font-weight: 600;
}
.fill_deep_blue {
    background: var(--Blue-600, #070099);
    color: var(--White-0, #FFF);
}
.fill_deep_blue:enabled:active {
    background: var(--Blue-700, #050073);
}
.fill_light_blue:disabled,
.fill_deep_blue:disabled {
    background: var(--Gray-50, #F3F3F3);
    color: var(--Gray-200, #C6C6C6);
}
.fill_light_blue {
    background: var(--Blue-Gray-100, #F1F5F9);
    color: var(--Blue-600, #070099);
}
.fill_light_blue:enabled:active,
.fill_light_blue:enabled:hover {
	background: #DADADA !important;
}
.profit {
	color: var(--Gray-400, #9B9B9B) !important;
}
.profit.up {
	color: var(--Red-400, #FF2F2F) !important;
}
.profit.down {
	color: #2A5DFF !important;
}

/* input component */
.form_control {
    display: block;
    padding: 0 14px;
    width: 100%;
    height: 56px;
    border: none;
    border-radius: 6px;
    background: var(--Blue-Gray-50, #F8FAFC);
    color: var(--Gray-900, #222);
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.02) inset;
}
.form_control::placeholder {
    color: var(--Gray-300, #B0B0B0);
}
.form_control:focus {
    background: var(--Blue-50, #F0F2FF);
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.02) inset;
}
.form_control:focus::placeholder {
    color: transparent;
}

/* 헤더 */
#header {
	position: fixed;
    top: 0;
    z-index: 7;
    width: 100%;
	background-color: transparent;
}
#header.down {
	background-color: var(--White-0, #FFF);
}
#header .inner {
    height: 80px;
}
#header .inner > div:first-child {
    display: flex;
    align-items: center;
	height: 100%;
}
#header .inner > div:first-child .logo {
    margin-right: 88px;
	width: 200px;
	cursor: pointer;
}
#header .inner > div:first-child .logo img {
    width: 100%;
}
#header .inner > div:first-child nav {
	height: 100%;
}
#header .inner > div:first-child .gnb {
	width: 484px;
	height: 100%;
    font-size: 18px;
	font-weight: 600;
}
#header .inner > div:first-child .gnb > li {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 156px;
	height: 100%;
}
#header .inner > div:first-child .gnb > li.on a {
    font-weight: 700;
	color: var(--Blue-600, #070099);
}
#header .inner > div:first-child .gnb > li a {
	display: inline-block;
	padding: 8px 16px;
	height: 40px;
	line-height: 25px;
}
#header .inner > div:first-child .gnb > li .depth {
	top: 60px;
	left: 50%;
	transform: translateX(-50%);
	width: 144px;
	height: 162px;
	padding: 24px;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
}
#header .inner > div:first-child .gnb > li .depth li:not(:last-child) {
	margin-bottom: 24px;
}
#header .inner .download_box {
	position: relative;
}
#header .inner .download_box button {
	padding: 10px 16px;
	height: 40px;
	font-size: 15px;
}
#header .inner > div:first-child .gnb > li.menu_item:hover .depth,
#header .inner > div:first-child .gnb > li.menu_item .depth:hover {
	opacity: 1;
    visibility: visible;
}
#header .inner > div:first-child .gnb > li.menu_item .depth li:hover {
	font-weight: 700;
	color: var(--Blue-600, #070099);
}

/* 푸터 */
#footer {
    padding: 48px 0;
    width: 100%;
    height: 206px;
	background: var(--Blue-800, #03004D);
	color: var(--Gray-200, #C6C6C6);
	font-size: 16px;
}
#footer a {
	color: var(--Gray-200, #C6C6C6);
}
#footer .footer_top {
    display: flex;
    margin-bottom: 33px;
}
#footer .footer_top .title {
    margin-right: 64px;
}
#footer .footer_top ul {
	display: flex;
}
#footer .footer_top ul li {
	display: flex;
	align-items: center;
}
#footer .footer_top ul li.on a {
	color: var(--White-0, #FFF);
	font-weight: 600;
}
#footer .footer_top ul li:not(:first-child):before {
	content: "";
	display: block;
	margin: 0 24px;
	width: 1px;
	height: 20px;
	background: var(--Blue-Gray-600, #475569);
}
#footer .footer_bottom {
    font-weight: 400;
    line-height: 1.8;
}

/* modal */
.modal_wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	z-index: 10;
	position: fixed;
	left: 50%;
	top: 0;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 100vw;
	height: 100vh;
	background: rgba(0, 0, 0, 0.5);
	transition: opacity 0.3s;
}
.modal_wrap.open {
	opacity: 1;
	visibility: visible;
}
.modal_box {
    position: absolute;
    z-index: 10;
    border-radius: 6px;
    background-color: var(--White-0, #FFF);
	box-shadow: 0px 3px 8px 0px rgba(0, 0, 0, 0.25);
    opacity: 0;
	visibility: hidden;
    transition: all 0.3s;
}

/* 앱 다운로드 모달 */
.app_download_modal {
	top: 48px;
    right: 0;
    padding: 32px;
    width: 340px;
    height: 256px;
}
.app_download_modal_02 {
	top: 204px;
	left: 494px;
}
.app_download_modal.open {
	opacity: 1;
	visibility: visible;
}
.app_download_modal .close {
    position: absolute;
    top: 24px;
    right: 24px;
    z-index: 1;
    cursor: pointer;
}
.app_download_modal .app_download_modal_inner > p {
    margin-bottom: 24px;
    font-size: 24px;
    font-weight: 700;
	text-align: left;
}
.app_download_modal .app_download_modal_inner .img_box {
    width: 100px;
    height: 100px;
}
.app_download_modal .app_download_modal_inner ul li {
    display: flex;
    align-items: center;
    font-size: 12px;
    font-weight: 600;
}
.app_download_modal .app_download_modal_inner ul li:first-child {
    margin-bottom: 24px;
}
.app_download_modal .app_download_modal_inner ul li img {
    display: block;
    margin-right: 8px;
    width: 24px;
}

/* 약관 */
.term_service,
.term_privacy {
	padding: 140px 0 80px;
	word-break: break-all;
}
.term_service h2,
.term_privacy h2 {
	font-size: 20px;
	font-weight: 700;
}
.term_service .select,
.term_privacy .select {
	position: relative;
	margin: 24px 0 40px;
}
.term_service .select .selected_option,
.term_privacy .select .selected_option {
	display: flex;
	width: 328px;
	height: 48px;
	padding: 12px 14px;
	justify-content: space-between;
	align-items: center;
	border-radius: 6px;
	border: 1px solid rgba(0, 0, 0, 0.02);
	background: var(--Blue-Gray-50, #F8FAFC);
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.02) inset;
}
.term_service .select .options,
.term_privacy .select .options {
	display: none;
	position: absolute;
	left: 0;
	top: 56px;
	width: 328px;
	border-radius: 6px;
	border: 1px solid rgba(0, 0, 0, 0.02);
	background: var(--White-0, #FFF);
	filter: drop-shadow(0px 2px 5px rgba(0, 0, 0, 0.1));
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.02) inset;
	overflow: hidden;
}
.term_service .select .options li,
.term_privacy .select .options li {
	padding: 14px;
	height: 48px;
	cursor: pointer;
	border-bottom: 1px solid var(--Gray-50, #F3F3F3);
}
.term_service .select .options li:last-child,
.term_privacy .select .options li:last-child {
	border-bottom: none;
}
.term_service .select .options li:hover,
.term_privacy .select .options li:hover {
	background: var(--Gray-50, #F3F3F3);
}
.term_privacy .term_content,
.term_service .term_content {
	color: var(--Gray-700, #5E5E5E);
}
.term_privacy .term_content > dl,
.term_service .term_content > dl {
	margin-bottom: 36px;
}
.term_privacy .term_content > dl dt,
.term_service .term_content > dl dt {
	margin-bottom: 12px;
    font-weight: 700;
	color: var(--Gray-900, #222);
}
.term_service .term_content > .num_list dd {
	text-indent: -1.4em;
    margin-left: 1.3em;
    margin-bottom: 15px;
}
.term_service .term_content > div > .num_list span {
	margin-right: 5px;
}
.term_service .term_content > div > dl ol {
	text-indent: -1.3em;
    margin: 6px 0 15px 1.3em;
}
.term_service .term_content > div > dl ol li {
	margin-bottom: 3px;
    line-height: 1.8;
}
.term_privacy .term_content .desc {
	margin-bottom: 36px;
}
.term_privacy .term_content dl > dd > ol {
    margin: 6px 0 15px;
}
.term_privacy .term_content dl > dd > ol li,
.term_service .term_content .text_indent,
.term_service .term_content .text_indent > ol li {
	text-indent: -1.5em;
    margin: 0 0 3px 1.5em;
}
.term_privacy .term_content dl > dd > ol li span,
.term_service .term_content .text_indent span {
    margin-right: 5px;
}
.term_privacy .term_content dl > dd > ol li > p {
	text-indent: 0;
}
.term_privacy .term_content dl > dd > ol li > ol,
.term_service .term_content .text_indent > ol {
	text-indent: -1.3em;
    margin: 6px 0 15px;
}
.term_privacy .term_content dl > dd table {
	table-layout: fixed;
    width: 100%;
    margin: 5px 0 10px;
	border: 1px solid var(--Gray-300);
}
.term_privacy .term_content dl > dd table caption {
	margin: 10px 0 2px;
    text-align: left;
}
.term_privacy .term_content dl > dd table thead td {
	background-color: var(--Gray-50);
}
.term_privacy .term_content dl > dd table td {
	padding: 8px;
    line-height: 1.5;
	border: 1px solid var(--Gray-300);
	text-align: center;
}
.term_privacy .term_content dl > dd table .align_left {
	text-align: left;
}
.term_privacy .term_content dl > dd table .align_left td {
	text-align: left;
}

/* 사기 사칭 안내 모달 */
.scam_warning_modal {
	position: relative;
	padding: 56px 40px 42px;
	width: 530px;
	border-radius: 12px;
}
.open .scam_warning_modal {
	opacity: 1;
	visibility: visible;
}
.scam_warning_modal .close {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 1;
	cursor: pointer;
}
.scam_warning_modal .modal_inner .img_box {
	width: 450px;
	height: 220px;
}
.scam_warning_modal .modal_inner .text_box {
	margin: 40px 0 56px;
	word-break: break-all;
}
.scam_warning_modal .modal_inner .text_box p:nth-child(2) {
	margin: 20px 0;
	letter-spacing: -0.016px;
}
.scam_warning_modal .modal_inner .text_box p:last-child {
	margin-top: 20px;
}
.scam_warning_modal .modal_inner .text_box p strong {
	font-weight: 700;
}
.scam_warning_modal .modal_inner .check_box input {
	display: none;
}
.scam_warning_modal .modal_inner .check_box label {
	display: block;
	padding-left: 32px;
	line-height: 24px;
	background: url("../img/check_off.png") no-repeat left center / 24px;
	color: var(--Gray-400, #9B9B9B);
}
.scam_warning_modal .modal_inner .check_box input:checked + label {
	background-image: url("../img/check_on.png");
}

/* 공통 애니메이션 */
.fade {
    opacity: 0;
    -webkit-transform: translate3d(0,100%,0);
    transform: translate3d(0,100%,0);
}

.fade_in_up {
	animation: fadeInUp 0.8s 0s ease-in-out forwards;
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0,80%,0);
        transform: translate3d(0,80%,0)
	}

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

/* skeleton_loading */
.skeleton_loading {
	background: #F2F4F6;
}
.skeleton_loading .skeleton {
	border-radius: 12px;
	background-color: var(--White-0, #FFF);
	-webkit-animation: skeleton-gradient 1.8s infinite ease-in-out;
	animation: skeleton-gradient 1.8s infinite ease-in-out;
}
@-webkit-keyframes skeleton-gradient {
	0% {
		background-color: var(--White-0, #FFF);
	}
	50% {
		background-color: rgba(255, 255, 255, 0.70);
	}
	100% {
		background-color: var(--White-0, #FFF);
	}
}
@keyframes skeleton-gradient {
	0% {
		background-color: var(--White-0, #FFF);
	}
	50% {
		background-color: rgba(255, 255, 255, 0.70);
	}
	100% {
		background-color: var(--White-0, #FFF);
	}
}