@charset "utf-8";
@import url('/js/cdn/Pretendard-1.3.9/web/static/pretendard.css');
@import url('/js/cdn/Pretendard-1.3.9/web/static/pretendard-subset.css');

*,*::after,*::before{
    box-sizing: border-box;
}

body,button,dd,dl,dt,fieldset,form,h1,h2,h3,h4,h5,h6,input,legend,li,ol,p,select,table,td,textarea,th,ul {
    margin: 0;
    padding: 0;
    -webkit-text-size-adjust: none;
    box-sizing: border-box;
}

body,button,input,select,table,textarea{
    color: var(--color-text-primary);
    font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
    font-size: 16px;
    font-size: var(--font-size-16);
    -webkit-text-size-adjust: none;
}

html {
    overflow-y: auto;
    overflow-x: hidden;
}

button,input,select,textarea{
    border-radius: var(--border-radius-8);
    border: none;
    background: var(--color-bg-inverse);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: 0;
    text-decoration: none;
}

button,select{
    cursor: pointer;
}

input,select,textarea{
    border: var(--border-width-1) solid var(--color-border-primary);
}

input[type="text"],input[type="tel"],input[type="password"],input[type="email"],input[type="number"],select,textarea{
    padding: 0 16px;
}

input[type="text"]::placeholder,input[type="tel"]::placeholder,input[type="password"]::placeholder,input[type="email"]::placeholder,input[type="number"]::placeholder,textarea::placeholder{
    color: var(--color-text-placeholder);
}

input[type="text"]:focus,input[type="tel"]:focus,input[type="password"]:focus,input[type="email"]:focus,input[type="number"]:focus {
    border: var(--border-width-1) solid var(--color-border-brand);
}

input[type="text"]:invalid,input[type="tel"]:invalid,input[type="password"]:invalid,input[type="email"]:invalid,input[type="number"]:invalid {
    border: var(--border-width-1) solid var(--color-border-error);
}

input:-webkit-autofill {
	-webkit-box-shadow: 0 0 0 1000px white inset;
	box-shadow: 0 0 0 1000px white inset;
}

input[type="text"]:disabled,input[type="tel"]:disabled,input[type="password"]:disabled,input[type="email"]:disabled,input[type="number"]:disabled {
    color: var(--color-text-disabled);
    background: var(--color-bg-input-disabled);
    border: var(--border-width-1) solid var(--color-border-disabled);
    cursor: default;
    -webkit-text-fill-color: inherit;
    opacity: 1;
}
input[type="checkbox"]:disabled,
input[type="radio"]:disabled{
    background: var(--color-bg-input-disabled);
    border: var(--border-width-1) solid var(--color-border-disabled);
    cursor: default;
}

input[type="checkbox"]:checked:disabled,
input[type="radio"]:checked:disabled{
    opacity: 0.6;
    cursor: default;
}

input[type="checkbox"] {
    width: 18px;
    height: 18px;
    background: var(--color-bg-inverse);
    border: var(--border-width-1) solid var(--color-border-primary);
    border-radius: var(--border-radius-4);
    outline: 0;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

input[type="checkbox"]::after {
    content: '';
    display: none;
    width: 34%;
    height: 60%;
    position: relative;
    top: 15%;
    left: 38%;
    transform: rotate(45deg);
    border: solid var(--color-border-inverse);
    border-width: 0 2px 2px 0;
}

input[type="checkbox"]:checked {
    background: var(--color-bg-brand);
    border: var(--border-width-1) solid var(--color-border-brand);
}

input[type="checkbox"]:checked::after {
    display: block;
}

input[type="radio"] {
    width: 18px;
    height: 18px;
    background: var(--color-bg-inverse);
    border: var(--border-width-1) solid var(--color-border-primary);
    border-radius: var(--border-radius-full);
    outline: 0;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

input[type="radio"]::after {
    content: '';
    display: none;
    width: 8px;
    height: 8px;
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: var(--color-bg-inverse);
    border-radius: var(--border-radius-full);
}

input[type="radio"]:checked {
    background: var(--color-bg-brand);
    border: var(--border-width-1) solid var(--color-border-brand);
}

input[type="radio"]:checked::after {
    display: block;
}

button:disabled {
    background: var(--color-bg-btn-disabled) !important;
    cursor: default !important;
}

select{
    background: var(--color-bg-inverse) url('../images/icon/arrow/select_arrow.svg') no-repeat 96% center;
}

select:disabled {
    color: var(--color-text-disabled);
    background: var(--color-bg-input-disabled) url('../images/icon/arrow/select_arrow.svg') no-repeat 96% center;
    border: var(--border-width-1) solid var(--color-border-disabled);
    opacity: 1;
    cursor: default;
}

li {
    list-style: none;
}

a {
    text-decoration: none;
    color: var(--color-text-primary);
    cursor: pointer;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
    -webkit-text-size-adjust: none
}

img {
    display: block;
    width: 100%;
    font-size: 0;
    border: 0;
    backface-visibility: hidden;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, button {
    display: block;
}

.clear:after {
    content: "";
    display: block;
    clear: both;
    *zoom: 1; /* IE8 이하버전 대응 */
}

.iconbox{
    display: flex;
    cursor: pointer;
}

.overlay{
    width: 100%;
    height: 100vh;
    background-color: var(--color-bg-black);
    position: fixed;
    top: 0;
    left: 0;
    opacity: var(--opacity-6);
    z-index: var(--z-index-4);
}

/* 토글 */
.toggle_switch {
    display: inline-block;
    width: 40px;
    height: 24px;
    position: relative;
    border-radius: var(--border-radius-full);
    background: var(--color-bg-toggle);
    cursor: pointer;
}

.toggle_switch .toggle_btn {
    width: 16px;
    height: 16px;
    position: absolute;
    top: 50%;
    left: 4px;
    transform: translateY(-50%);
    border-radius: var(--border-radius-full);
    background: var(--color-bg-inverse);
}

#toggle_chk:checked ~ .toggle_switch {
    background: var(--color-bg-brand);
}

#toggle_chk:checked ~ .toggle_switch .toggle_btn {
    left: calc(100% - 20px);
    background: var(--color-bg-inverse);
}

.toggle_switch, .toggle_btn {
    transition: all 0.2s ease-in;
}