@font-face {
    font-family: 'PuradakGentleGothicR';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_11-01@1.1/PuradakGentleGothicR.woff2')
        format('woff2');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Pretendard';
    src: url('fonts/Pretendard-Black.subset.woff') format('woff'),
        url('fonts/Pretendard-Black.subset.woff2') format('woff2'),
        url('fonts/Pretendard-Black.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('fonts/Pretendard-ExtraBold.subset.woff') format('woff'),
        url('fonts/Pretendard-ExtraBold.subset.woff2') format('woff2'),
        url('fonts/Pretendard-ExtraBold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('fonts/Pretendard-Bold.subset.woff') format('woff'),
        url('fonts/Pretendard-Bold.subset.woff2') format('woff2'),
        url('fonts/Pretendard-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('fonts/Pretendard-SemiBold.subset.woff') format('woff'),
        url('fonts/Pretendard-SemiBold.subset.woff2') format('woff2'),
        url('fonts/Pretendard-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('fonts/Pretendard-Medium.subset.woff') format('woff'),
        url('fonts/Pretendard-Medium.subset.woff2') format('woff2'),
        url('fonts/Pretendard-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('fonts/Pretendard-Regular.subset.woff') format('woff'),
        url('fonts/Pretendard-Regular.subset.woff2') format('woff2'),
        url('fonts/Pretendard-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('fonts/Pretendard-Light.subset.woff') format('woff'),
        url('fonts/Pretendard-Light.subset.woff2') format('woff2'),
        url('fonts/Pretendard-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('fonts/Pretendard-ExtraLight.subset.woff') format('woff'),
        url('fonts/Pretendard-ExtraLight.subset.woff2') format('woff2'),
        url('fonts/Pretendard-ExtraLight.ttf') format('truetype');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('fonts/Pretendard-Thin.subset.woff') format('woff'),
        url('fonts/Pretendard-Thin.subset.woff2') format('woff2'),
        url('fonts/Pretendard-Thin.ttf') format('truetype');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

html, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong,
sub, sup, var, b, i, dl, dt, dd, li, ul, fieldset, form, label, legend, table, caption, tbody, thead, tr, th, td, article, aside, details, figcaption, footer,
header, hgroup, menu, nav, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: none;
}

/* HTML5 새 요소 초기화 */
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block;
}

* {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
body {
    overflow: auto;
}
body {
    -webkit-text-size-adjust: none;
}
td *, div *, li *, dd *, span *, p * {
    padding: 0;
    margin: 0;
    border: none;
}
ul, ol, li, dd {
    list-style: none;
}
img {
    border: none;
    vertical-align: middle;
}
li img, dd img {
    vertical-align: middle;
    border: none;
}
hr {
    display: none;
    height: 0;
}

/* Link Style */
a:link {
    text-decoration: none;
    color: #797979;
}
a:visited {
    text-decoration: none;
    color: #797979;
}
a:active {
    text-decoration: none;
    color: #797979;
}
a:hover {
    text-decoration: none;
    color: #797979;
}

/* Table Style */
table.table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    table-layout: fixed;
}
table.table td img {
    vertical-align: middle;
}
table.table caption {
    display: none;
}
fieldset {
    border: 0;
}
legend {
    display: none;
}
input,
select {
    vertical-align: middle;
}
strong, b, h1, h2, h3, h4, h5, h6 {
    font-family: 'Pretendard', 'Noto Sans KR', sans-serif;
    color: inherit;
    line-height: inherit;
    font-size: inherit;
}

/* tag all font-size set */
a, em, span {
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

/* From Style */
textarea {
    padding: 5px;
    border: solid 1px #e0e0e0;
    background-color: #fff;
}
input {
    vertical-align: middle;
}
input.txt, input.text, input.it {
    height: 23px;
    line-height: 23px;
    border: solid 1px #bdbdbd;
    background-color: #fff;
}
input[type='text'],
input[type='password'],
input[type='submit'],
input[type='button'],
input[type='search'] {
    border-radius: 0;
    -webkit-border-radius: 0;
    appearance: none;
    -webkit-appearance: none;
}
caption {
    display: none;
}
legend {
    position: absolute;
    height: 0;
    font-size: 0px;
    line-height: 0;
    overflow: hidden;
    text-indent: -20000px;
}
address, cite {
    font-style: normal;
}
fieldset {
    border: 0;
    padding: 0;
}
label {
    cursor: pointer;
}

/* easing */
.e-i2 {
    -webkit-transition: all 0.2s ease-in;
    -moz-transition: all 0.2s ease-in;
    -o-transition: all 0.2s ease-in;
    transition: all 0.2s ease-in;
}
.e-i3 {
    -webkit-transition: all 0.3s ease-in;
    -moz-transition: all 0.3s ease-in;
    -o-transition: all 0.3s ease-in;
    transition: all 0.3s ease-in;
}
.e-o2 {
    -webkit-transition: all 0.2s ease-out;
    -moz-transition: all 0.2s ease-out;
    -o-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
}
.e-o3 {
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}
.e-c3 {
    -webkit-transition: all 0.3s cubic-bezier(0.96, 0.04, 0.1, 1.01);
    -moz-transition: all 0.3s cubic-bezier(0.96, 0.04, 0.1, 1.01);
    -o-transition: all 0.3s cubic-bezier(0.96, 0.04, 0.1, 1.01);
    transition: all 0.3s cubic-bezier(0.96, 0.04, 0.1, 1.01);
}

/* Margin Set */
.ml0 {
    margin-left: 0px !important;
}
.ml5 {
    margin-left: 5px;
}
.ml10 {
    margin-left: 10px;
}
.ml15 {
    margin-left: 15px;
}
.ml20 {
    margin-left: 20px;
}
.ml25 {
    margin-left: 25px;
}
.ml30 {
    margin-left: 30px;
}
.ml35 {
    margin-left: 35px;
}
.ml40 {
    margin-left: 40px;
}
.ml45 {
    margin-left: 45px;
}
.ml50 {
    margin-left: 50px;
}
.ml55 {
    margin-left: 55px;
}
.ml60 {
    margin-left: 60px;
}
.ml65 {
    margin-left: 65px;
}
.ml70 {
    margin-left: 70px;
}
.ml75 {
    margin-left: 75px;
}
.ml80 {
    margin-left: 80px;
}
.ml85 {
    margin-left: 85px;
}
.ml90 {
    margin-left: 90px;
}
.ml95 {
    margin-left: 95px;
}
.ml100 {
    margin-left: 100px;
}
.ml105 {
    margin-left: 105px;
}

.mr5 {
    margin-right: 5px;
}
.mr10 {
    margin-right: 10px;
}
.mr15 {
    margin-right: 15px;
}
.mr20 {
    margin-right: 20px;
}
.mr25 {
    margin-right: 25px;
}
.mr30 {
    margin-right: 30px;
}
.mr35 {
    margin-right: 35px;
}
.mr40 {
    margin-right: 40px;
}
.mr45 {
    margin-right: 45px;
}
.mr50 {
    margin-right: 50px;
}
.mr55 {
    margin-right: 55px;
}
.mr60 {
    margin-right: 60px;
}
.mr65 {
    margin-right: 65px;
}
.mr70 {
    margin-right: 70px;
}
.mr75 {
    margin-right: 75px;
}
.mr80 {
    margin-right: 80px;
}
.mr85 {
    margin-right: 85px;
}
.mr90 {
    margin-right: 90px;
}
.mr95 {
    margin-right: 95px;
}
.mr100 {
    margin-right: 100px;
}
.mr105 {
    margin-right: 105px;
}

.mt5 {
    margin-top: 5px;
}
.mt10 {
    margin-top: 10px;
}
.mt15 {
    margin-top: 15px;
}
.mt20 {
    margin-top: 20px;
}
.mt25 {
    margin-top: 25px;
}
.mt30 {
    margin-top: 30px;
}
.mt35 {
    margin-top: 35px;
}
.mt40 {
    margin-top: 40px;
}
.mt45 {
    margin-top: 45px;
}
.mt50 {
    margin-top: 50px;
}
.mt55 {
    margin-top: 55px;
}
.mt60 {
    margin-top: 60px;
}
.mt65 {
    margin-top: 65px;
}
.mt70 {
    margin-top: 70px;
}
.mt75 {
    margin-top: 75px;
}
.mt80 {
    margin-top: 80px;
}
.mt85 {
    margin-top: 85px;
}
.mt90 {
    margin-top: 90px;
}
.mt95 {
    margin-top: 95px;
}
.mt100 {
    margin-top: 100px;
}
.mt105 {
    margin-top: 105px;
}

.mb0 {
    margin-bottom: 0px !important;
}
.mb5 {
    margin-bottom: 5px !important;
}
.mb10 {
    margin-bottom: 10px !important;
}
.mb15 {
    margin-bottom: 15px !important;
}
.mb20 {
    margin-bottom: 20px !important;
}
.mb25 {
    margin-bottom: 25px !important;
}
.mb30 {
    margin-bottom: 30px !important;
}
.mb35 {
    margin-bottom: 35px !important;
}
.mb40 {
    margin-bottom: 40px !important;
}
.mb45 {
    margin-bottom: 45px !important;
}
.mb50 {
    margin-bottom: 50px !important;
}
.mb55 {
    margin-bottom: 55px !important;
}
.mb60 {
    margin-bottom: 60px !important;
}
.mb65 {
    margin-bottom: 65px !important;
}
.mb70 {
    margin-bottom: 70px !important;
}
.mb75 {
    margin-bottom: 75px !important;
}
.mb80 {
    margin-bottom: 80px !important;
}
.mb85 {
    margin-bottom: 85px !important;
}
.mb90 {
    margin-bottom: 90px !important;
}
.mb95 {
    margin-bottom: 95px !important;
}
.mb100 {
    margin-bottom: 100px !important;
}
.mb105 {
    margin-bottom: 105px !important;
}

.p-0 {
    padding: 0 0 !important;
}

.pl5 {
    padding-left: 5px;
}
.pl10 {
    padding-left: 10px !important;
}
.pl15 {
    padding-left: 15px;
}
.pl16 {
    padding-left: 16px;
}
.pl18 {
    padding-left: 18px;
}
.pl20 {
    padding-left: 20px;
}
.pl25 {
    padding-left: 25px;
}
.pl30 {
    padding-left: 30px;
}
.pl35 {
    padding-left: 35px;
}
.pl40 {
    padding-left: 40px;
}
.pl45 {
    padding-left: 45px;
}
.pl50 {
    padding-left: 50px;
}
.pl55 {
    padding-left: 55px;
}
.pl60 {
    padding-left: 60px;
}
.pl65 {
    padding-left: 65px;
}
.pl70 {
    padding-left: 70px;
}
.pl75 {
    padding-left: 75px;
}
.pl80 {
    padding-left: 80px;
}
.pl85 {
    padding-left: 85px;
}
.pl90 {
    padding-left: 90px;
}
.pl95 {
    padding-left: 95px;
}
.pl100 {
    padding-left: 100px;
}
.pl105 {
    padding-left: 105px;
}
.pl466 {
    padding-left: 466px;
}
.pl510 {
    padding-left: 510px;
}

.pr5 {
    padding-right: 5px;
}
.pr10 {
    padding-right: 10px;
}
.pr15 {
    padding-right: 15px;
}
.pr20 {
    padding-right: 20px;
}
.pr25 {
    padding-right: 25px;
}
.pr30 {
    padding-right: 30px;
}
.pr35 {
    padding-right: 35px;
}
.pr40 {
    padding-right: 40px;
}
.pr45 {
    padding-right: 45px;
}
.pr50 {
    padding-right: 50px;
}
.pr55 {
    padding-right: 55px;
}
.pr60 {
    padding-right: 60px;
}
.pr65 {
    padding-right: 65px;
}
.pr70 {
    padding-right: 70px;
}
.pr75 {
    padding-right: 75px;
}
.pr80 {
    padding-right: 80px;
}
.pr85 {
    padding-right: 85px;
}
.pr90 {
    padding-right: 90px;
}
.pr95 {
    padding-right: 95px;
}
.pr100 {
    padding-right: 100px;
}
.pr105 {
    padding-right: 105px;
}

.pt5 {
    padding-top: 5px;
}
.pt10 {
    padding-top: 10px;
}
.pt15 {
    padding-top: 15px;
}
.pt20 {
    padding-top: 20px;
}
.pt25 {
    padding-top: 25px;
}
.pt30 {
    padding-top: 30px;
}
.pt35 {
    padding-top: 35px;
}
.pt40 {
    padding-top: 40px;
}
.pt45 {
    padding-top: 45px;
}
.pt50 {
    padding-top: 50px;
}
.pt55 {
    padding-top: 55px;
}
.pt60 {
    padding-top: 60px;
}
.pt65 {
    padding-top: 65px;
}
.pt70 {
    padding-top: 70px;
}
.pt75 {
    padding-top: 75px;
}
.pt80 {
    padding-top: 80px;
}
.pt85 {
    padding-top: 85px;
}
.pt90 {
    padding-top: 90px;
}
.pt95 {
    padding-top: 95px;
}
.pt100 {
    padding-top: 100px;
}
.pt105 {
    padding-top: 105px;
}

.pb5 {
    padding-bottom: 5px;
}
.pb10 {
    padding-bottom: 10px;
}
.pb15 {
    padding-bottom: 15px;
}
.pb20 {
    padding-bottom: 20px;
}
.pb25 {
    padding-bottom: 25px;
}
.pb30 {
    padding-bottom: 30px;
}
.pb35 {
    padding-bottom: 35px;
}
.pb40 {
    padding-bottom: 40px;
}
.pb45 {
    padding-bottom: 45px;
}
.pb50 {
    padding-bottom: 50px;
}
.pb55 {
    padding-bottom: 55px;
}
.pb60 {
    padding-bottom: 60px;
}
.pb65 {
    padding-bottom: 65px;
}
.pb70 {
    padding-bottom: 70px;
}
.pb75 {
    padding-bottom: 75px;
}
.pb80 {
    padding-bottom: 80px;
}
.pb85 {
    padding-bottom: 85px;
}
.pb90 {
    padding-bottom: 90px;
}
.pb95 {
    padding-bottom: 95px;
}
.pb100 {
    padding-bottom: 100px;
}
.pb105 {
    padding-bottom: 105px;
}
.pb230 {
    padding-bottom: 230px;
}

/* other set */
.lh38 {
    line-height: 38px !important;
}
.lh36 {
    line-height: 36px !important;
}
.lh34 {
    line-height: 34px !important;
}
.lh32 {
    line-height: 32px !important;
}
.lh30 {
    line-height: 30px !important;
}
.lh28 {
    line-height: 28px !important;
}
.lh26 {
    line-height: 26px !important;
}
.lh24 {
    line-height: 24px !important;
}
.lh22 {
    line-height: 22px !important;
}
.lh20 {
    line-height: 20px !important;
}
.lh18 {
    line-height: 18px !important;
}
.lh16 {
    line-height: 16px !important;
}

.fs11 {
    font-size: 11px !important;
}
.fs13 {
    font-size: 13px !important;
}
.fs14 {
    font-size: 14px !important;
    color: #565656;
}
.fs15 {
    font-size: 15px !important;
    line-height: 18px;
    color: #565656;
}
.fs16 {
    font-size: 16px !important;
    line-height: 18px;
    color: #565656;
}
.fs17 {
    font-size: 17px !important;
    line-height: 20px;
}
.fs18 {
    font-size: 18px !important;
    line-height: 20px;
}
.fs19 {
    font-size: 19px !important;
    line-height: 22px;
}
.fs20 {
    font-size: 20px !important;
    line-height: 22px;
}
.fs21 {
    font-size: 21px !important;
    line-height: 24px;
}
.fs22 {
    font-size: 22px !important;
    line-height: 24px;
}
.fs23 {
    font-size: 23px !important;
    line-height: 26px;
}
.fs24 {
    font-size: 24px !important;
    line-height: 26px;
}
.fs25 {
    font-size: 25px !important;
    line-height: 28px;
}
.fs26 {
    font-size: 26px !important;
    line-height: 28px;
}

.col_black {
    color: #000 !important;
}
.col_red {
    color: #ff0000 !important;
}

.hide {
    position: absolute;
    left: -9999px;
    top: -9999px;
    font-size: 0;
    line-height: 0;
    height: 0;
    overflow: hidden;
}
.hide1 {
    position: relative;
    z-index: -1;
}
.fw {
    font-weight: bold;
}
.fw-400 {
    font-weight: 400 !important;
}

/* 게시판 폰트 */
.text_area p,
.text_area strong,
.text_area a,
.text_area span,
.text_area h2 {
    font-family: '나눔고딕', 'Nanum Gothic', '돋움', dotum, sans-serif;
}
.v_cont p,
.v_cont strong,
.v_cont a,
.v_cont span,
.v_cont h2 {
    font-family: '나눔고딕', 'Nanum Gothic', '돋움', dotum, sans-serif;
}
.hy_faqType p,
.hy_faqType strong,
.hy_faqType a,
.hy_faqType span,
.hy_faqType h2 {
    font-family: '나눔고딕', 'Nanum Gothic', '돋움', dotum, sans-serif;
}

.d-block {
    display: block !important;
}
.d-none {
    display: none !important;
}
.text-center {
    text-align: center !important;
}
.text-left {
    text-align: left !important;
}
.text-end {
    text-align: right !important;
}
.float-start {
    float: left !important;
}
.float-end {
    float: right !important;
}
.nowrap {
    white-space: nowrap !important;
}
.position-relative {
    position: relative !important;
}
.position-absolute {
    position: absolute !important;
}
.z-index-9999 {
    z-index: 9999 !important;
}
.w-100 {
    width: 100% !important;
}
.h-100 {
    height: 100% !important;
}
.w-100px {
    width: 100px !important;
}
.w-300px {
    width: 300px !important;
}
.h-50px {
    height: 50px !important;
}
.justify-content-start {
    justify-content: left !important;
}
.justify-content-center {
    justify-content: center !important;
}
.bg-gray-100 {
    background: #f9f9f9 !important;
}
.align-top {
    vertical-align: top !important;
}
.border-bottom-0 {
    border-bottom: 0 !important;
}
.max-w-400px {
    max-width: 400px !important;
}
.max-w-500px {
    max-width: 500px !important;
}

/* SweetAlert Custom */
.swal2-container.swal2-center > .swal2-popup {
    padding: 20px 10px;
    border-radius: 12px;
    box-shadow: none;
    width: 80%;
    max-width: 580px;    
}
.swal2-container button.swal2-styled {
    border: none;
    box-shadow: none;
    border-radius: 50px;
    font-family: 'Pretendard', 'Noto Sans KR', sans-serif;
    font-weight: 600;
    font-size: 18px;
    padding: 0.4375rem 1.75rem;
    margin: 0 0.5rem;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    width: 40%;
    height: 45px;
}
.swal2-container button.swal2-styled:focus {
    box-shadow: none;
}
.swal2-container button.swal2-confirm {
    background-color: #105aac;
    color: #fff;
}
.swal2-container button.swal2-confirm:not([disabled]):hover {
    background-color: #052850;
}
.swal2-container button.swal2-confirm:active {
    background-color: #052850;
}
.swal2-container button.swal2-cancel {
    background-color: #333;
    color: #fff;
}
.swal2-container button.swal2-cancel:not([disabled]):hover {
    background-color: #222;
}
.swal2-container button.swal2-cancel:active {
    background-color: #222;
}
.swal2-container .swal2-html-container {
    font-size: 1.25rem;
    white-space: pre;
    line-height: 1.6;
}
.swal2-container .swal2-actions {
    margin: 15px 0 0 0;
    padding: 0 0 10px 0;
    font-size: 16px;
}
.swal2-container .swal2-title {
    font-size: 20px;
    font-weight: 600;
}
.swal2-container .swal2-icon {
    margin: 0.75em auto 0;
}
.swal2-container *:has(+ .swal2-html-container:empty) {
    font-size: 20px;
    line-height: 3;
}

@media screen and (max-width: 640px) {
    .swal2-container.swal2-center > .swal2-popup {
        padding: 15px 5px 10px;
    }
    .swal2-container button.swal2-styled {
        font-size: 14px;
        height: 30px;
    }
    .swal2-container .swal2-actions {
        font-size: 14px;
    }
    .swal2-container *:has(+ .swal2-html-container:empty) {
        font-size: 14px;
        line-height: 1.8;
    }
}