@charset 'UTF-8';
/* 웹폰트 CDN(Content Delivery Network) 연결 */
@import url('https://webfontworld.github.io/pretendard/Pretendard.css');
@import url('https://webfontworld.github.io/NanumSquare/NanumSquare.css');
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,200,0,0');
@import url('var.css');


/* 기본 디자인, 모바일 위주 */
/* 1. 초기화 */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    /* border: 1px solid #000; */
}
*:before, *:after {
    box-sizing: border-box;
}
html {
    /* 스크롤 시 부드럽게 움직임 */
    /* scroll-behavior: smooth;  */
}
body {
    font-size: 15px;
    font-family: 'NanumSquare', 'Pretendard', 'Malgun Gothic', sans-serif;
    line-height: 1.6;
    color: #111;
    background-color: #fff;
    overflow-x: hidden;
}
body.hidden {
    overflow: hidden;
}
h1, h2, h3, h4, h5, h6, input, select, button, textarea {
    font-family: 'Pretendard', 'NanumSquare', 'Malgun Gothic', sans-serif;
}
h2 {
    margin-bottom: 0.8em;
}
h2::before { /* 동그라미 */
    display: inline-block;
    width: 0.4em;
    height: 0.4em;
    border-radius: 50%;
    margin-bottom: 0.5em;
    content: '';
}
input, button, select, textarea {
    vertical-align: middle;
    color: #111;
    font-size: 1em;
    font-family: 'NanumSquare', 'Pretendard', 'Malgun Gothic', sans-serif;
    line-height: 1.6;
}
button {
    border: 0;
    background-color: transparent;
}
a {
    color: #111;
    text-decoration: none;
}
ol, ul {
    list-style-type: none;
}
p {
    margin: 1em 0;
}
img {
    vertical-align: top;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
button, label {
    cursor: pointer;
}

/* 2. 공용클래스(공통디자인) */
.wrap {
    width: 100%;
    max-width: 1820px;
    padding: 0 15px;
    margin: auto;
}
.clearfix:after {
    display: block;
    clear: both;
    content: '';
}
.blind, .sound-only {
    position: absolute;
    left: -9999em;
}
.m0 {
    margin: 0 !important;
}
.p0 {
    padding: 0 !important;
}
.bd0 {
    border-width: 0 !important;
}

/* 3. 글자와 여백 */
.wh, .wh a {color: #fff !important;}
.bk, .bk a {color: #000 !important;}
.mdk-gy {color: var(--medium-dark-gray);}
.bl, .bl a {color: var(--main-color) !important;}
.fz30 {font-size: 3.0em;}
.fz28 {font-size: 2.8em;}
.fz25 {font-size: 2.5em;}
.fz20 {font-size: 2.0em;}
.fz18 {font-size: 1.8em;}
.fz16 {font-size: 1.6em;}
.fz15 {font-size: 1.5em;}
.fz12 {font-size: 1.2em;}
.fz09 {font-size: 0.9em;}
.fz08 {font-size: 0.8em;}
.fz07 {font-size: 0.7em;}
.fz06 {font-size: 0.6em;}
.fz05 {font-size: 0.5em;}
.fz04 {font-size: 0.4em;}

.pd-l {padding: 60px 0;}
.pd-m {padding: 40px 0;}
.pd-s {padding: 20px 0;}


/* 4. 영역별 설계  */

/* 4.1 바로가기(skip) */
#hs-skip {
    text-align: center;
}
#hs-skip a {
    position: fixed;
    left: 0;
    top: -48px;
    width: 100%;
    line-height: 48px;
    background-color: var(--main-color);
    color: #fff;
    opacity: 0;
    transition: 0.2s;
    z-index: 99;
}
#hs-skip a:focus {
    top: 0;
    opacity: 1;
}

/* 4.2 상단(header) */
#hs-hd.fixed {
    background-color: #fff;
    box-shadow: 0 1px 5px rgba(0,0,0,0.2);
}
#hs-hd {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 10;
}
.hd-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 80px;
}
.hs-logo {
    position: relative;
    width: 125px;
    z-index: 100;
}
.hs-logo a {
    display: block;
    padding-top: 41.66%; /*부모 너비에 비례*/
    background: url('../images/logo.png') center center / contain no-repeat;
}
#hs-gnb { /* PC에서 사용하는 gnb*/
    display: none;
}
.hs-util-wrap {
    display: flex;
    justify-content: space-between;
    text-align: center;
}
.util-wrap {
    display: flex;
}
.util-wrap a {
    width: 1.3em;
    height: 1.3em;
    margin-right: 1em;
}
.util-wrap img {
    display: block;
}
.sch-btn img {
    display: block;
    width: 30px;
    background-color: #fff;
    border: 1px solid #000;
}

/* 사이트맵 */
.sitemap-open-btn {
    display: block;
    width: 1.3em;
    height: 1.3em;
    background: url('../images/svg/i_menu.svg') center center / contain no-repeat;
}
.wh-logo a {
    background: url('../images/logo_wh.png') center center / contain no-repeat;
}
.wh .sitemap-close-btn {
    background-image: url('../images/svg/i_close.svg');
}
.hs-mo-gnb-sec {
    position: fixed;
    right: 0;
    top: -100%;
    width: 100%;
    height: 100%;
    padding-top: 80px;
    background: linear-gradient(90deg, var(--main-color) 50%, var(--light-brown) 50%);
    overflow: auto;
    z-index: 99;
}
.sitemap-close-btn {
    position: absolute;
    right: 15px;
    top: 28px;
    width: 2em;
    height: 2em;
    background: url('../images/svg/i_close_bk.svg') center center / 116% no-repeat;
    z-index: 100;
}
.mo-gnb-container {
    padding: 0 15px;
}
.mo-gnb-wrap {}
.mo-gnb {
    position: relative;
    font-family: var(--pre-font);
    width: 100%;
}
.mo-depth1 {
    width: 50%;
}
.mo-depth1 {}
.mo-depth1 > a {
    position: relative;
    display: block;
    padding: 0 0.3em;
    font-size: 1.35em;
    font-weight: 500;
    line-height: 2.8;
    color: #fff;
}
.mo-depth2 {
    position: absolute;
    left: 50%;
    top: 0;
    margin-top: 0.5em;
    width: 45%;
}
.mo-depth2 li > a {
    position: relative;
    display: inline-block;
    width: 100%;
    font-size: 1.05em;
    font-weight: 500;
    line-height: 2.9;
    padding: 0 1em;
    z-index: 1;
}
.mo-sns-wrap {
    display: flex;
    justify-content: flex-end;
    margin-top: 20em;
}
.mo-sns-wrap a {
    margin-right: 1em;
}
.mo-sns-wrap img {
    display: inline-block;
    width: 2em;
    height: 2em;
}

/* 펼치기, 접기버튼 */
.mo-depth1 > a::before { 
    position: absolute;
    right: 15px;
    top: 50%;
    float: right;
    display: block;
    top: calc(50% - 1px);
    width: 14px;
    height: 1.5px;
    background-color: #fff;
    content: '';
}
.mo-depth1 > a::after { 
    position: absolute;
    right: 21px;
    top: calc(50% - 7px);
    float: right;
    display: block;
    width: 1.5px;
    height: 14px;
    background-color: #fff;
    content: '';
    opacity: 1;
    transition: 0.2s;   
}
.mo-depth1.active > a:after {
    height: 0;
    opacity: 0;
}

/* 4.3 하단(footer) */
.hs-ft {}
.ft-container {
    padding: 1em 0;
    background-color: var(--pale-brown);
    font-family: var(--pre-font);
}
.ft-wrap > * {
    padding: 1em 0;

}
.ft-faq-wrap {}
.ft-faq-wrap ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.ft-faq-wrap li {
}
.ft-faq-wrap dt{
    margin-bottom: 1em;
    line-height: 2.8;
    font-weight: 600;
    border-bottom: 1px solid var(--pale-gray);
}
.ft-faq-wrap dd {
    margin: 1em 0;
}
.ft-faq-wrap dd img {
    display: block;
    width: 70px;
    margin: auto;
}
.ft-menu-wrap
.ft-menu {
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
    font-weight: 500;
    line-height: 0.8;
}
.ft-menu li {}
.ft-menu li a {}

.ft-company-wrap {
    font-size: 0.95em;
    line-height: 1.3;
}
.ft-company-wrap dl {
    display: flex;
    flex-wrap: wrap;
}
.ft-company-wrap dt {
    float: left;
    margin-right: 0.5em;
}
.ft-company-wrap dd {
    margin-right: 1em;
}

.ft-info-wrap {
    color: var(--medium-dark-gray);
    font-size: 0.9em;
}
.ft-info-wrap dl {}
.ft-info-wrap dl dt {}
.ft-info-wrap dl dt:nth-of-type(1) {
    font-weight: 500;
}
.ft-info-wrap dt a {
    padding: 0.1em 0.5em;
    margin-left: 0.5em;
    font-size: 0.9em;
    font-weight: 500;
    border: 1px solid var(--medium-gray);
    border-radius: 5px;
}
.ft-info-wrap dl dd {
    color: var(--medium-gray);
}
.ft-info-wrap dl dd:nth-of-type(3) {
    margin-top: 1em;
}

/* 퀵메뉴 */
.quick-menu-wrap {
    position: fixed;
    right: 1em;
    bottom: 1em;
    z-index: 3;
}
.quick-menu {
    display: none;
}
.gototop, .quick-menu-btn, .quick-menu li a {
    display: block;
    width: 3.5em;
    height: 3.5em;
    margin: 0.5em 0;
    padding: 0.5em;
    border: 1px solid transparent;
    border-radius: 30px;
    background: var(--main-color);
    line-height: 1.2;
    color: #fff;
    text-align: center;
}
.quick-menu-btn {}
.quick-menu-btn img {
    display: block;
    width: 100%;
}
.quick-menu li {}
.quick-menu li img{}


.mouse-pointer {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 100px;
    height: 100px;
    margin: -50px 0 0 -50px;
    border-radius: 50%;
    background-color: var(--main-color);
    color: #fff;
    font: oblique 600 0.9em / 100px "poppins";
    text-align: center;
    pointer-events: none;
    z-index: 9999;
    opacity: 0;
}
.mouse-pointer.active {
    opacity: 1;
}
.mouse-pointer:before, .mouse-pointer:after {
    position: absolute;
    top: 50%;
    width: 14px;
    height: 20px;
    margin-top: -10px;
    background: url('../images/svg/caret-left-solid.svg') center center / contain no-repeat;
    content: '';
}
.mouse-pointer:before {
    left: -16px;
}
.mouse-pointer:after {
    right: -16px;
    transform: scaleX(-1);
}

/* 애니메이션 */
.ani-top {
    opacity: 0;
    transform: translateY(20%);
    transition: 0.6s;
}
.ani-bottom {
    opacity: 0;
    transform: translateY(-20%);
    transition: 0.6s;
}
.ani-left {
    opacity: 0;
    transform: translateX(100px);
    transition: 0.6s;
}
.ani-right {
    opacity: 0;
    transform: translateX(-100px);
    transition: 0.6s;
}
.zoom-in {
    opacity: 0;
    transform: scale(0.6);
}
.zoom-out {
    opacity: 0;
    transform: scale(1.2);
}
.fade-in {
    opacity: 1;
    transform: none;
}
.txt-ani {
    animation-name: txt-ani;
    animation-duration: 0.6s;
    animation-fill-mode: both;
}
@keyframes txt-ani {
    from {opacity: 0; transform: translateY(100%);}
    to { opacity: 1; transform: translateY(0);}
}
.delay02 {transition-delay: 0.2s; animation-delay: 0.2s;}
.delay04 {transition-delay: 0.4s; animation-delay: 0.4s;}
.delay06 {transition-delay: 0.6s; animation-delay: 0.6s;}
.delay08 {transition-delay: 0.8s; animation-delay: 0.8s;}