*,
*::before,
*::after {
    box-sizing: border-box;
}

* { font-family: 'Spoqa Han Sans Neo', 'sans-serif'; }

html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    overflow-x: hidden;

}

article,
aside,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
    display: block;
}

body {
    margin: 0;
    /*font-family: "Pretendard","Noto Sans Korean", "Noto Sans", -apple-system, BlinkMacSystemFont, "Segoe UI",*/
    /*Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif,*/
    /*"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !important;*/
    font-size: clamp(15px, 1vw, 16px);
    font-weight: 300;
    text-align: left;
    letter-spacing: -0.03em;
    width: 100%;
    word-break: keep-all;
    line-height: 1.6;
    color: #333;
    overflow-x: hidden;
}

img{
    display: inline-block;
    max-width: 100%;
}

hr {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}



a,a:hover {
    text-decoration: none;
}

b {
    font-weight: 800;
}

ol,
ul,
dl{
    list-style-type: none;
    margin: 0;
    padding: 0;
}

dt {
    font-weight: 700;
}

dd {
    margin-bottom: 0;
    margin-left: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 0;
    margin-bottom: 0px;
}


p {
    font-size: 16px;
    margin-top: 0;
    margin-bottom: 0px;
}

b,
strong {
    font-weight: 600;
}

small {
    font-size: 80%;
}

a{
    display: inline-block;
    color: #333;
    text-decoration: none;
    background-color: transparent;
}

a:not([href]) {
    color: inherit;
    text-decoration: none;
}

a:not([href]):hover {
    color: inherit;
    text-decoration: none;
}

img {
    vertical-align: middle;
    border-style: none;
}

table {
    border-collapse: collapse;
}

th {
    text-align: inherit;
}

label {
    display: inline-block;
    cursor: pointer;
}

button {
    border-radius: 0;
    background-color: transparent;
}

button:focus {
    outline: 1px dotted;
    outline: 5px auto -webkit-focus-ring-color;
}

input,
button,
select,
optgroup,
textarea {
    margin: 0;
    font-family:  "Pretendard","Noto Sans Korean", "Noto Sans", -apple-system, BlinkMacSystemFont, "Segoe UI",
    Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif,
    "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !important;;
    font-size: inherit;
    line-height: inherit;
    outline: none;
}

button,
input {
    overflow: visible;
    border: 0;
}

button,
select {
    text-transform: none;
}

[role="button"] {
    cursor: pointer;
}

select {
    word-wrap: normal;
    margin:0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: url(../images/common/ico_sel.svg) no-repeat 95% center;
    background-size:12px;

}

button,
[type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
}

button:not(:disabled),
[type="button"]:not(:disabled),
[type="reset"]:not(:disabled),
[type="submit"]:not(:disabled) {
    cursor: pointer;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    padding: 0;
    border-style: none;
}

input[type="radio"],
input[type="checkbox"] {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0;
}


table{width: 100%;}


button{
    border:none;
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: url(../images/common/ico_sel.svg) ;
    background-size: 10px;
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-left: 20px;
    padding-right: 40px;
    border-radius: 10px;
    border: 1px solid #eaeaea;
    background-color: #fff;
    color: #111;
    height: 45px;
    width: auto;
}

input[type="radio"],
input[type="checkbox"] {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0;
}

input[type="checkbox"] {
    display:none;
}

input[type="checkbox"] + label .chk {
    display: inline-block;
    width: 24px;
    height: 24px;
    margin: -2px 5px 0 0;
    vertical-align: middle;
    background-image: url("../images/common/checkbox.svg");
    background-position: left top;
    background-repeat: no-repeat;
    cursor: pointer;
    background-size: cover;
}

input[type="checkbox"]:checked + label .chk {
    background:url("../images/common/checkbox.svg");
    background-position: -26px top;
    background-size: cover;
}

label:has(input[type="checkbox"]) span {
    display: inline-block;
    width: 24px;
    height: 24px;
    margin: -2px 5px 0 0;
    vertical-align: middle;
    background-image: url("../images/common/chkbox.svg");
    background-position: left top;
    background-repeat: no-repeat;
    cursor: pointer;
    background-size: cover;
}

label:has(input[type="checkbox"]:checked) span {
    background-image:url("../images/common/chkbox.svg");
    background-position: -24px top;
    background-repeat: no-repeat;
    background-size: cover;
}

input[type="radio"] {
    display:none;
}

label:has(input[type="radio"]) span {
    display: inline-block;
    width: 24px;
    height: 24px;
    margin: -2px 5px 0 0;
    vertical-align: middle;
    background: url("../images/common/radio.svg") left top no-repeat;
    cursor: pointer;
    background-size: cover;
}

label:has(input[type="radio"]:checked) span {
    background:url("../images/common/radio.svg")  -26px top no-repeat;
    background-size: cover;
}

.chk-wrap label {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    cursor: pointer;
}

input[type="text"],
input[type="date"] {
    border: 1px solid #ececec;
    padding: 10px;
    height: 45px;
    line-height: 45px;
    border-radius: 10px;
}

textarea{
    border: 1px solid #eaeaea;
    padding: 10px;
    resize: none;
    overflow-y: auto;
}

h1,h2,h3,h4,h5,h6{
    font-weight: 600;
}

h1{font-size: 3.5rem;}
h2{font-size: 3rem;}
h3{font-size: 2.5rem;}
h4{font-size: 1.5rem;}
h5{font-size: 1.2rem;}
h6{font-size: 1rem;}


button:focus{
    outline: none;
}

@media screen and (max-width: 768px){
    h1,h2,h3,h4,h5,h6{
        line-height: 1.4;
    }

    h1{font-size: 2.5rem;}
    h2{font-size: 2.2rem;}
    h3{font-size: 2rem;}
    h4{font-size: 1.2rem;}
    h5{font-size: 1.1rem;}
    h6{font-size: 0.8rem;}

}