/*공통*/
html {
    -webkit-text-size-adjust: none;
}

html,
body {
    direction: ltr;
    width: 100%;
    word-wrap: break-word;
    word-break: keep-all;
}

body,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
p,
table,
th,
td,
form,
fieldset,
legend,
textarea,
input,
select,
textarea,
button,
figure,
figcaption {
    margin: 0;
    padding: 0;
}

img,
form,
fieldset,
svg {
    border: 0;
    vertical-align: top;
}

input,
button,
select {
    border-radius: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    appearance: none;
}

button {
    border: 0;
    background: none;
    cursor: pointer;
    color:#222;
}

button:disabled {
    cursor: default;
}

button::-moz-focus-inner {
    padding: 0;
    margin: -1px;
}

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

a {
    text-decoration: none;
    color: #222;
    -webkit-tap-highlight-color: transparent;
}

button {
    -webkit-tap-highlight-color: transparent;
}

p {
    color: #222;
}

.blind,
legend,
caption,
figcaption {
    overflow: hidden;
    position: absolute;
    width: 1px;
    height: 1px;
    clip: rect(1px, 1px, 1px, 1px);
}

body,
textarea,
input,
select,
textarea,
button {
    font-family: 'Merriweather Sans', "SUIT", NanumGothic, "Nanum Gothic", "돋움", Dotum, Arial, sans-serif;
    font-weight: 400;
    line-height: 1.5;
}

table {
    border-collapse: collapse;
}

* {
    box-sizing: border-box;
}

body,
html {
    overflow-x: clip;
}

focus-visible,
textarea:focus-visible,
select:focus-visible,
a:focus-visible,
input:focus-visible {
    outline: -webkit-focus-ring-color auto 1px;
    outline-offset: 1px;
}

/*레이아웃*/
.line-1 {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    word-break: break-all;
}

.line-2 {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    word-break: break-all;
}

.line-3 {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    word-break: break-all;
}

.text-blue {
    color: #3686FF !important;
}

.text-green {
    color: #007764 !important;
}

.text-gray {
    color: #555 !important;
}

.text-red {
    color: #d93030 !important;
}

.text-burgundy {
    color: #891c21 !important;
}

.text-white {
    color: #fff !important;
}

.text-right {
    text-align: right !important;
}

.text-center {
    text-align: center !important;
}

.text-left {
    text-align: left !important;
}

.text-lg {
    font-size: 1.125rem !important;
    line-height: 1.8;
}

.text-sm {
    font-size: 0.875rem !important;
}

.bg-gray {
    background: #fbfbfb !important;
}

.bg-green {
    background: #007764 !important;
}

.mt-0 {
    padding-top: 0 !important;
}

.mt-1 {
    margin-top: 1rem !important;
}

.mt-2 {
    margin-top: 2rem !important;
}

.mt-3 {
    margin-top: 3rem !important;
}

.mb-0 {
    padding-bottom: 0 !important;
}

.mb-1 {
    margin-bottom: 1rem !important;
}

.mb-2 {
    margin-bottom: 2rem !important;
}

.mb-3 {
    margin-bottom: 3rem !important;
}

.ml-1 {
    margin-left: 1rem !important;
}

.ml-2 {
    margin-left: 2rem !important;
}

.ml-3 {
    margin-left: 3rem !important;
}

.mr-1 {
    margin-right: 1rem !important;
}

.mr-2 {
    margin-right: 2rem !important;
}

.mr-3 {
    margin-right: 3rem !important;
}

.pt-0 {
    padding-top: 0 !important;
}

.pt-1 {
    padding-top: 1rem !important;
}

.pt-2 {
    padding-top: 2rem !important;
}

.pt-3 {
    padding-top: 3rem !important;
}

.pb-0 {
    padding-bottom: 0 !important;
}

.pb-1 {
    padding-bottom: 1rem !important;
}

.pb-2 {
    padding-bottom: 2rem !important;
}

.pb-3 {
    padding-bottom: 3rem !important;
}

.pl-1 {
    padding-left: 1rem !important;
}

.pl-2 {
    padding-left: 2rem !important;
}

.pl-3 {
    padding-left: 3rem !important;
}

.pr-1 {
    padding-right: 1rem !important;
}

.pr-2 {
    padding-right: 2rem !important;
}

.pr-3 {
    padding-right: 3rem !important;
}

.m-0 {
    margin: 0 !important;
}

.m-1 {
    margin: 1rem 0 !important;
}

.m-2 {
    margin: 2rem 0 !important;
}

.m-3 {
    margin: 3rem 0 !important;
}

.p-0 {
    padding: 0 !important;
}

.p-1 {
    padding: 1rem 0 !important;
}

.p-2 {
    padding: 2rem 0 !important;
}

.p-3 {
    padding: 3rem 0 !important;
}

.w-10 {
    width: 10% !important;
}

.w-20 {
    width: 20% !important;
}

.w-30 {
    width: 30% !important;
}

.w-40 {
    width: 40% !important;
}

.w-50 {
    width: 50% !important;
}

.w-60 {
    width: 60% !important;
}

.w-70 {
    width: 70% !important;
}

.w-80 {
    width: 80% !important;
}

.w-90 {
    width: 90% !important;
}

.w-100 {
    width: 100% !important;
}

.mw-100 {
    max-width: 100% !important;
}

.mw-50 {
    max-width: 50% !important;
}

.inline {
    display: inline-block !important;
}

.block {
    display: block !important;
}

.flex {
    display: flex !important;
}

.flex-wrap {
    flex-wrap: wrap !important;
}

.align-center {
    align-items: center !important;
}

.justify-center {
    justify-content: center !important;
}

.gap-1 {
    gap: 1rem;
}

.gap-2 {
    gap: 2rem;
}

.gap-3 {
    gap: 3rem;
}

.fw-bold {
    font-weight: bold !important;
}

iframe {
    border: 0;
}

/*버튼*/
.btn {
    display: inline-block;
    padding: 0.625rem 0.9375rem;
    border: 0.0625rem solid #d93030;
    background: #fff;
    color: #222;
    border-radius: 0.3125rem;
}


.btn.green {
    background: #007764;
    color: #fff!important;
    border: 0.0625rem solid #007764;
}

.btn.dark {
    background: #222;
    color: #fff !important;
    border: 0.0625rem solid #222;
}

.btn.red {
    background: #e65050;
    color: #fff !important;
    border: 0.0625rem solid #e65050;
}

.btn.link {
    position: relative;
}

.btn-lg {
    padding: 0.9375rem 1.875rem;
}

@media screen and (max-width: 1200px) {
    html {
        font-size: 14px;
    }
}

@media screen and (max-width: 767px) {
    .sm-flex-wrap {
        flex-wrap: wrap !important;
    }

    .sm-mw-100 {
        max-width: 100% !important;
    }

    .sm-w-100 {
        width: 100% !important;
    }
}