@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@900&display=swap');
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css");
@import url("https://cdn.jsdelivr.net/gh/sun-typeface/SUIT@2/fonts/variable/woff2/SUIT-Variable.css");


/* http://blog.naver.com/mvcweb */
/* CSS RESET */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html,
body {
	width: 100%;
	/* height: 100% */
	height: 100vh;
	height: var(--vh);
}

html,
body,
div,
span,
object,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
em,
img,
ins,
q,
strong,
sub,
sup,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
a,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
	-webkit-text-size-adjust: none;
	/*세로모드에서 가로모드로 전환할때 텍스트가 약간 커지는 현상 방지*/
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block
}

ul,
ol,
li,
dl {
	list-style: none
}

blockquote,
q {
	quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none
}

a,
a:link,
a:hover,
a:active {
	text-decoration: none;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

em,
i,
address {
	font-style: normal;
	font-weight: normal
}

table {
	border-collapse: collapse;
	border-spacing: 0
}

img,
fieldset {
	max-width: 100%;
	image-rendering: auto;
	/* image-rendering: -webkit-optimize-contrast !important; */
	border: 0;
	vertical-align: middle;
}

legend {
	/* display: none */
}

textarea {
	resize: none;
	/* outline: none; */
}

textarea {
	-webkit-border-radius: 1px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	/*form요소의 기본 스타일을 없앰*/
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
	-webkit-appearance: none;
}

/* Firefox */
input[type=number] {
	-moz-appearance: textfield;
}

input,
textarea,
select,
button {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	vertical-align: middle;
}

label,
button,
input[type:"submit"],
input[type:"reset"] {
	cursor: pointer
}

button {
	overflow: visible;
	border: none;
	background-color: transparent;
	cursor: pointer;
	-webkit-appearance: none;
	text-decoration: none;
	outline: none;
}

iframe {
	border: 1px solid #ddd;
	box-sizing: border-box;
}

a:link {
	color: currentColor;
	text-decoration: none
}

a:visited {
	color: currentColor;
	text-decoration: none
}

a:hover {
	color: currentColor;
	text-decoration: none
}

a:active {
	color: currentColor;
	text-decoration: none
}

select{
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
    appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg width='16' height='17' viewBox='0 0 16 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 7.125L8 11.125L12 7.125' stroke='%231A1A1A' stroke-width='1.5' stroke-linecap='square'/%3E%3C/svg%3E%0A");
	background-size: 1rem;
	background-position: right 1rem top 50%;
	background-repeat: no-repeat;
}

select::-ms-expand {
	border: none;
	background-color: inherit;
}

input:-webkit-autofill {
	-webkit-box-shadow: 0 0 0 1000px transparent inset !important;
	-webkit-text-fill-color: #1a1a1a !important;
	transition: background-color 9999s ease-in-out 0s;
}

html {
	font-size: 100%;
}

body {
	overflow-y: scroll;
	/* max-width: 1920px; */
	width: 100%;
	margin: 0 auto;
	color: #1A1A1A;
	/* font-size: 1rem; */
	font-family: 'Pretendard', 'Poppins', 'Noto Sans KR', sans-serif, 'Nanum Gothic', 돋움, dotum, 굴림, gulim, Helvetica, AppleGothic;
	line-height: 1.5;
	letter-spacing: -1px;
}

/* overflow:hidden; ios 스크롤 막기 설정 */
html,
html * {
	/* overscroll-behavior: none; */
}

::-webkit-scrollbar {
	width: 10px;
	height: 10px;
}

::-webkit-scrollbar-thumb {
	background-color: #ccc;
	border-radius: 10px;
	background-clip: padding-box;
	border: 2px solid #fff;
}

::-webkit-scrollbar-track {
	background-color: #f5f5f5;
	border-radius: 10px;
	box-shadow: inset 0px 0px 5px white;
}
/* 마우스 기반 장치(PC)에서만 스크롤바 커스텀 */
@media (pointer: fine) {
	::-webkit-scrollbar {
		width: 10px;
		height: 10px;
	}

	::-webkit-scrollbar-thumb {
		background-color: #ccc;
		border-radius: 10px;
		background-clip: padding-box;
		border: 2px solid #fff;
	}

	::-webkit-scrollbar-track {
		background-color: #f5f5f5;
		border-radius: 10px;
		box-shadow: inset 0px 0px 5px white;
	}
}
/* 터치 기반 장치(모바일, 안드로이드/아이폰)에서는 아무것도 적용 안 됨 */
@media (pointer: coarse) {
	::-webkit-scrollbar,
	::-webkit-scrollbar-thumb,
	::-webkit-scrollbar-track {
		all: unset;
	}
	
	body{
		-ms-overflow-style: none;
	}
	::-webkit-scrollbar {
		display: none;
	}
}
@media screen and (max-width:800px) {
	body {
		letter-spacing: -0.0938rem;
	}
	select{
		background-size: 0.875rem;
		background-position: right 0.5rem top 50%;
	}
}
@media screen and (max-width:480px) {
	:root {
		font-size: 4.27vw;
	}
}

@media screen and (max-width:320px) {
	:root {
		font-size: 4vw;
	}
}

select,
button {
  color: currentColor;
  -webkit-appearance: none;
  appearance: none;
}