@charset "UTF-8";

:root {
    --ob-section-title-icon-red: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='28' viewBox='0 0 21 28' fill='none'%3E%3Cpath d='M19.1912 4.77586L11.8852 0.637493C11.0819 0.180732 9.91796 0.180732 9.12014 0.637493L1.80867 4.77586C1.01085 5.22711 0.404297 6.26171 0.404297 7.18623V20.8065C0.404297 21.7476 0.994461 22.7601 1.8032 23.2169L9.10922 27.3553C9.49719 27.5754 9.989 27.702 10.4917 27.702H10.4972C10.9999 27.702 11.4863 27.5809 11.8688 27.3663L19.1803 23.2279C19.9945 22.7656 20.5901 21.7531 20.5901 20.8175V7.18623C20.5901 6.26171 19.989 5.22711 19.1857 4.77586H19.1912ZM10.142 25.5282L2.82506 21.3899C2.67206 21.3073 2.48626 20.9826 2.48626 20.8065V7.18073C2.48626 7.01013 2.67752 6.67994 2.82506 6.5974L10.1311 2.45903C10.1966 2.42601 10.3333 2.38749 10.4972 2.38749H10.5682C10.7103 2.38749 10.8087 2.42601 10.8633 2.45353L18.1748 6.5974C18.3223 6.68545 18.5136 7.01013 18.5136 7.18073V20.801C18.5136 20.9771 18.3278 21.2963 18.1748 21.3843L10.8633 25.5227C10.6994 25.6163 10.3005 25.6163 10.142 25.5227V25.5282Z' fill='%23AD0000'/%3E%3C/svg%3E");
    --ob-check-circle-blue: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='12' cy='12' r='9' stroke='%235F97F0' stroke-width='2'/%3E%3Cpath d='M9 12L11 14L15 10' stroke='%235F97F0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    --ob-check-circle-gray: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='12' cy='12' r='9' stroke='%23C8C8C8' stroke-width='2'/%3E%3Cpath d='M9 12L11 14L15 10' stroke='%23C8C8C8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    --ob-check-circle-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M3 12C3 13.1819 3.23279 14.3522 3.68508 15.4442C4.13738 16.5361 4.80031 17.5282 5.63604 18.364C6.47177 19.1997 7.46392 19.8626 8.55585 20.3149C9.64778 20.7672 10.8181 21 12 21C13.1819 21 14.3522 20.7672 15.4442 20.3149C16.5361 19.8626 17.5282 19.1997 18.364 18.364C19.1997 17.5282 19.8626 16.5361 20.3149 15.4442C20.7672 14.3522 21 13.1819 21 12C21 10.8181 20.7672 9.64778 20.3149 8.55585C19.8626 7.46392 19.1997 6.47177 18.364 5.63604C17.5282 4.80031 16.5361 4.13738 15.4442 3.68508C14.3522 3.23279 13.1819 3 12 3C10.8181 3 9.64778 3.23279 8.55585 3.68508C7.46392 4.13738 6.47177 4.80031 5.63604 5.63604C4.80031 6.47177 4.13738 7.46392 3.68508 8.55585C3.23279 9.64778 3 10.8181 3 12Z' stroke='%23000000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M9 12L11 14L15 10' stroke='%23000000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* 추가 - base/layout.css */
h4,
h4 .h4_s,
h5,
h6 {text-align: inherit;padding: 0;margin: 0;color: inherit;letter-spacing: inherit;background: none;}

/* --------------------------------------------------------------------------------------------
    ## COMMON
-------------------------------------------------------------------------------------------- */
/* FONTS */
html,
body,
select,
input,
textarea,
button {
    font-family: 'Paperlogy', 'Apple SD Gothic Neo', Helvetica, Dotum, '돋움', sans-serif;
    font-weight: normal;
}

/* SITE SETTING */
html,
body {
    height: 100%;
    background: #ffffff;
    /* 스크롤바 색상 설정 */
    scrollbar-color: #AD0000 #f5f5f5;
    scrollbar-width: thin;
}
body {
    position: relative;
    letter-spacing: -0.05rem;
    -webkit-overflow-scrolling: touch;
    -webkit-tap-highlight-color: transparent;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: none;
    -ms-text-size-adjust: none;
}

/* WebKit 브라우저 스크롤바 스타일 (Chrome, Safari, Edge) */
::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

::-webkit-scrollbar-track {
    background: #f5f5f5;
}

::-webkit-scrollbar-thumb {
    background: #AD0000;
    border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
    background: #AD0000;
}

body.main,
body.main a {
    color: #292929;
}
body.main a:hover {
    color: #AD0000;
}
.inner,
.wide-inner {
    width: 95%;
    max-width: 1480px;
    margin-left: auto;
    margin-right: auto;
}
.iblock {
    display: block;
}
.btn-tab {
    color: #000;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-left: 0;
    transition: color 250ms ease, background 250ms ease, border 250ms ease;
}
.btn-tab:first-child {
    border-left: 1px solid #e5e5e5;
}
.btn-tab:hover {
    color: #b6985a;
}
.btn-tab.active,
.btn-tab.active:hover {
    color: #fff;
    background: #b6985a;
    border-color: #b6985a;
}
.tab-cont {
    display: none;
}


/* --------------------------------------------------------------------------------------------
    ## HEADER
-------------------------------------------------------------------------------------------- */
#header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 97;
    background: #fff;
}
#header,
.hblank {
    width: 100%;
    height: 165px;
}

/* TOP ROW */
#header .h-top-area {
    height: 100px;
    background: #fff;
}
#header .h-top-area .wide-inner {
    display: flex;
    align-items: center;
    height: 100%;
}
#header .h-top-area .top-row {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
}
#header .h-top-area .top-left {
    display: flex;
    align-items: center;
    gap: 0;
}
#header .h-top-area .top-left a {
    color: #fff;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    height: 38px;
    transition: all 250ms ease;
}
#header .h-top-area .top-left a:hover {
    background: #f5f5f5;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
#header .h-top-area .top-left .university-link:hover {
    color: #fff;
    background: #AD0000;
    border-color: #AD0000;
    box-shadow: 0 4px 12px rgba(173, 0, 0, 0.3);
}
#header .h-top-area .top-left .lang-link:hover {
    color: #fff;
    background: #666;
    border-color: #666;
    box-shadow: 0 4px 12px rgba(102, 102, 102, 0.3);
}
#header .h-top-area .top-left .lang-link:hover::before {
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"><path d="M3 7.5H17M3 12.5H17M2.5 10C2.5 10.9849 2.69399 11.9602 3.0709 12.8701C3.44781 13.7801 4.00026 14.6069 4.6967 15.3033C5.39314 15.9997 6.21993 16.5522 7.12987 16.9291C8.03982 17.306 9.01509 17.5 10 17.5C10.9849 17.5 11.9602 17.306 12.8701 16.9291C13.7801 16.5522 14.6069 15.9997 15.3033 15.3033C15.9997 14.6069 16.5522 13.7801 16.9291 12.8701C17.306 11.9602 17.5 10.9849 17.5 10C17.5 8.01088 16.7098 6.10322 15.3033 4.6967C13.8968 3.29018 11.9891 2.5 10 2.5C8.01088 2.5 6.10322 3.29018 4.6967 4.6967C3.29018 6.10322 2.5 8.01088 2.5 10Z" stroke="%23fff" stroke-linecap="round" stroke-linejoin="round"/><path d="M9.58334 2.5C8.17946 4.74968 7.43518 7.34822 7.43518 10C7.43518 12.6518 8.17946 15.2503 9.58334 17.5M10.4167 2.5C11.8206 4.74968 12.5648 7.34822 12.5648 10C12.5648 12.6518 11.8206 15.2503 10.4167 17.5" stroke="%23fff" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat center;
}
#header .h-top-area .top-left .university-link {
    font-size: 14px;
    font-weight: 500;
    color: #AD0000;
    border: 1px solid #AD0000;
    padding: 12px 15px;
}
#header .h-top-area .top-left .lang-link {
    font-size: 14px;
    font-weight: 500;
    color: #929292;
    border: 1px solid #929292;
    padding: 12px 15px;
    position: relative;
}
#header .h-top-area .top-left .lang-link::before {
    content: '';
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 5px;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"><path d="M3 7.5H17M3 12.5H17M2.5 10C2.5 10.9849 2.69399 11.9602 3.0709 12.8701C3.44781 13.7801 4.00026 14.6069 4.6967 15.3033C5.39314 15.9997 6.21993 16.5522 7.12987 16.9291C8.03982 17.306 9.01509 17.5 10 17.5C10.9849 17.5 11.9602 17.306 12.8701 16.9291C13.7801 16.5522 14.6069 15.9997 15.3033 15.3033C15.9997 14.6069 16.5522 13.7801 16.9291 12.8701C17.306 11.9602 17.5 10.9849 17.5 10C17.5 8.01088 16.7098 6.10322 15.3033 4.6967C13.8968 3.29018 11.9891 2.5 10 2.5C8.01088 2.5 6.10322 3.29018 4.6967 4.6967C3.29018 6.10322 2.5 8.01088 2.5 10Z" stroke="%23929292" stroke-linecap="round" stroke-linejoin="round"/><path d="M9.58334 2.5C8.17946 4.74968 7.43518 7.34822 7.43518 10C7.43518 12.6518 8.17946 15.2503 9.58334 17.5M10.4167 2.5C11.8206 4.74968 12.5648 7.34822 12.5648 10C12.5648 12.6518 11.8206 15.2503 10.4167 17.5" stroke="%23929292" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat center;
    background-size: contain;
}
#header .h-top-area .top-center {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}
#header .h-top-area .top-center h1 {
    width: 240px;
    height: 100px;
    margin: 0;
}
#header .h-top-area .top-center h1 a {
    display: block;
    width: 100%;
    height: 100%;
    background-image: url('../img/common/logo.png');
    background-position: 50% 50%;
    background-repeat: no-repeat;
}
#header .h-top-area .top-right {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 34px;
    margin-left: auto;
}
#header .h-top-area .top-right a {
    display: inline-flex;
    align-items: center;
    height: 24px;
    color: #000;
    text-decoration: none;
    margin-left: 0;
    line-height: 1;
    transition: color 250ms ease;
}
#header .h-top-area .top-right a svg {
    display: block;
    flex-shrink: 0;
    margin-right: 5px;
}
#header .h-top-area .top-right > * + * {
    position: relative;
}
#header .h-top-area .top-right > * + *::before {
    content: '';
    position: absolute;
    left: -17px;
    top: 4px;
    bottom: 4px;
    width: 1px;
    background: #d9d9d9;
}
#header .h-top-area .top-right a:hover {
    text-decoration: underline;
}
#header .h-top-area .top-right .full-menu-btn {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    height: 24px;
    padding: 0;
    border: 0;
    background: transparent;
    margin-left: 0;
    gap: 5px;
    line-height: 1;
    cursor: pointer;
}
#header .h-top-area .top-right .full-menu-btn .full-menu-icon {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 18px;
    height: 14px;
}
#header .h-top-area .top-right .full-menu-btn .full-menu-icon span {
    display: block;
    width: 16px;
    height: 2px;
    background: #333;
    border-radius: 2px;
}
#header .h-top-area .top-right .full-menu-btn .full-menu-icon span + span {
    margin-top: 3px;
}
#header .h-top-area .top-right .full-menu-btn .full-menu-text {
    color: #333;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
}
#header .h-top-area .top-right .full-menu-btn:hover .full-menu-icon span {
    background:#AD0000;
}
#header .h-top-area .top-right .full-menu-btn:hover .full-menu-text {
    color: #AD0000;
}

.full-menu-layer {
    position: fixed;
    display: none;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1200;
}
.full-menu-layer .full-menu-dim {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.86);
}
.full-menu-layer .full-menu-panel {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    margin: 0;
    padding: 0;
    background: #fff;
    border-radius: 0;
    overflow: hidden;
}
.full-menu-layer .full-menu-head {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: 88px;
    padding: 0 34px;
}
.full-menu-layer .full-menu-close-btn {
    position: relative;
    width: 46px;
    height: 46px;
    background: transparent;
    border: 0;
    font-size: 0;
    cursor: pointer;
}
.full-menu-layer .full-menu-close-btn::before,
.full-menu-layer .full-menu-close-btn::after {
    position: absolute;
    content: '';
    width: 30px;
    height: 2px;
    top: 22px;
    left: 8px;
    background: #111;
    transition: background 200ms ease;
}
.full-menu-layer .full-menu-close-btn::before {
    transform: rotate(45deg);
}
.full-menu-layer .full-menu-close-btn::after {
    transform: rotate(-45deg);
}
.full-menu-layer .full-menu-close-btn:hover::before,
.full-menu-layer .full-menu-close-btn:hover::after {
    background: #ad0000;
}
.full-menu-layer .full-menu-body {
    display: flex;
    justify-content: center;
    height: calc(100% - 88px);
    min-height: 0;
    overflow: hidden;
}
.full-menu-layer .full-menu-main-nav {
    display: none;
}
.full-menu-layer .full-menu-main-list {
    padding: 14px 0;
}
.full-menu-layer .full-menu-main-item + .full-menu-main-item {
    border-top: 1px solid #ececec;
}
.full-menu-layer .full-menu-main-btn {
    display: none;
}
.full-menu-layer .full-menu-sub-wrap {
    flex: 1;
    min-width: 0;
    max-width: 1740px;
    width: 100%;
    padding: 40px;
    overflow-y: auto;
}

/* Sitemap 스타일: 좌측 1차 제목 + 우측 4단 그리드 */
.full-menu-layer .full-menu-grid-list {
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
}
.full-menu-layer .full-menu-grid-list > li {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 0 40px;
    padding: 30px 0 60px;
    border-bottom: 1px dotted #aaa;
    margin: 0;
    list-style: none;
}
.full-menu-layer .full-menu-item-title {
    margin: 0;
    padding: 0;
    list-style: none;
}
.full-menu-layer .full-menu-item-title a {
    display: inline-block;
    font-size: 26px;
    font-weight: 600;
    line-height: 1.2;
    color: #ad0000;
    letter-spacing: -2px;
    text-decoration: none;
}
.full-menu-layer .full-menu-item-title a:hover {
    text-decoration: underline;
}
.full-menu-layer .full-menu-grid-cols {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px 40px;
    padding: 0;
    margin: 0;
    list-style: none;
}
.full-menu-layer .full-menu-grid-cols > li {
    padding: 0;
    margin: 0;
    list-style: none;
}
.full-menu-layer .full-menu-grid-cols > li > a {
    display: inline-block;
    font-size: 16px;
    font-weight: 500;
    color: #333;
    line-height: 1.45;
    letter-spacing: -0.75px;
    margin-bottom: 10px;
    text-decoration: none;
}
.full-menu-layer .full-menu-grid-cols > li > a:hover {
    text-decoration: underline;
}
.full-menu-layer .full-menu-depth3-list {
    padding: 10px 0 0 0;
    margin: 0;
    list-style: none;
}
.full-menu-layer .full-menu-depth3-list > li {
    position: relative;
    padding-left: 12px;
    margin-bottom: 5px;
    list-style: none;
}
.full-menu-layer .full-menu-depth3-list > li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 4px;
    height: 4px;
    background: #ad0000;
    border-radius: 50%;
    opacity: 0.8;
}
.full-menu-layer .full-menu-depth3-list > li > a {
    display: inline;
    font-size: 14px;
    font-weight: normal;
    color: #777;
    line-height: 1.3;
    letter-spacing: -0.5px;
    text-decoration: none;
}
.full-menu-layer .full-menu-depth3-list > li > a:hover {
    text-decoration: underline;
}

/* BOTTOM AREA */
#header .h-btm-area {
    width: 100%;
    height: 65px;
    background: #AD0000;
}
#header .h-btm-area .wide-inner {
    position: relative;
    display: block;
    height: 100%;
    z-index: 10;
}
#header .h-btm-area .wide-inner h1 {
    display: none;
}
#header #menu {
    margin: 0;
    z-index: 10;
    transition: margin 350ms ease;
    display: flex;
    justify-content: center;
    align-items: center;
}
#header #menu a {
    display: block;
    height: 100%;
    margin: 0;
    padding: 0;
    color: #fff;
    text-align: center;
    -webkit-transition: color 250ms ease;
       -moz-transition: color 250ms ease;
            transition: color 250ms ease;
}
#header #menu #gnb {
    width: auto;
    height: 100%;
}
/* 클래스명 변경 */
#header #menu #gnb .gnb2 {
    display: flex;
    height: 100%;
    gap: 100px;
}
#header #menu #gnb h3 {
    position: relative;
    width: 100%;
    height: 100%;
    font-size: 1.2rem;
}
#header #menu #gnb h3 a {
    position: relative;
    height: 65px;
    padding: 0 24px;
    line-height: 65px;
    text-transform: uppercase;
    font-weight: 500;
}
#header #menu #gnb .dep1 h3 a:hover,
#header #menu #gnb .dep1.current h3 a {
    color: #fff;
}
#header #menu #gnb h3 strong {
    display: block;
    font-weight: 400;
}
#header #menu #gnb .dep1 h3 .toggle_gnb {
    display: none;
}
#header #menu #gnb .dep2 {
    position: absolute;
    display: none;
    min-width: 200px;
    height: auto;
    top: 65px;
    left: 0;
    background: rgba(42, 42, 42, 0.9);
    border-top: 2px solid #2A2A2A;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
    box-shadow: none;
    transition: height 300ms ease;
}
#header #menu #gnb li:hover .dep2 {
    display: block;
}
#header #menu #gnb li { position: relative; }
#header #menu #gnb li:hover .dep2 {
    display: block;
}
#header #menu #gnb .dep2 ul {
    display: flex;
    flex-direction: column;
    width: 100%;
    align-items: stretch;
    gap: 2px;
}
#header #menu #gnb .dep2 ul li {
    width: 100%;
}
#header #menu #gnb .dep2 ul {
    position: relative;
    z-index: 2;
}
/*
#header #menu #gnb .dep2 .colspan2 {width: 50%;}
#header #menu #gnb .dep2 .colspan3 {width: 33.33333333333333%;}
#header #menu #gnb .dep2 .colspan4 {width: 25%;}
#header #menu #gnb .dep2 .colspan5 {width: 20%;}
#header #menu #gnb .dep2 .colspan6 {width: 16.66666666666667%;}
*/
#header #menu #gnb li li a {
    display: block;
    width: 100%;
    padding: 12px 20px;
    color: #fff;
    font-size: 0.9375rem;
    line-height: 1.4;
    text-align: left;
    transition: background 250ms ease, color 250ms ease, font-weight 250ms ease, text-decoration 250ms ease;
    white-space: nowrap;
}
#header #menu #gnb li li a:hover,
#header #menu #gnb li li.current a {
    background: rgba(255,255,255,0.1);
    color: #fff;
    font-weight: 700;
    text-decoration: underline;
}

#header .h-btm-area .other {
    display: none;
}
#header .h-btm-area .other .btn-h-search {
    margin-right: 20px;
    font-size: 1.25rem;
}
#header .h-btm-area .other .btn-h-smenu {
    position: relative;
    display: block;
    width: 24px;
    height: 24px;
    cursor: pointer;
}
#header .h-btm-area .other .btn-h-smenu span {
    position: absolute;
    display: block;
    width: 100%;
    height: 3px;
    background: #000;
    border-radius: 2px;
    left: 0;
    -webkit-transform: rotate(0deg);
       -moz-transform: rotate(0deg);
            transform: rotate(0deg);
    -webkit-transition: -webkit-transform 250ms ease;
       -moz-transition:    -moz-transform 250ms ease;
            transition:         transform 250ms ease;
}
#header .h-btm-area .other .btn-h-smenu span:nth-child(1) { top:  1px; }
#header .h-btm-area .other .btn-h-smenu span:nth-child(2) { top: 10px; }
#header .h-btm-area .other .btn-h-smenu span:nth-child(3) { top: 19px; }
.open_othermenu #header .h-btm-area .other .btn-h-smenu span { background: #000; }
.open_othermenu #header .h-btm-area .other .btn-h-smenu span:nth-child(1) {
    top: 10px;
    -webkit-transform: rotate(135deg);
       -moz-transform: rotate(135deg);
            transform: rotate(135deg);
}
.open_othermenu #header .h-btm-area .other .btn-h-smenu span:nth-child(2) {
    opacity: 0;
    left: -30px;
}
.open_othermenu #header .h-btm-area .other .btn-h-smenu span:nth-child(3) {
    top: 10px;
    -webkit-transform: rotate(-135deg);
       -moz-transform: rotate(-135deg);
            transform: rotate(-135deg);
}



/* --------------------------------------------------------
    -- HEADER MOBILE - MENU
-------------------------------------------------------- */
/* MOBILE MENU TOGGLE BTN */
#header #btn_m_toggle {
    position: fixed;
    display: none;
    width: 40px;
    height: 40px;
    top: 16px;
    right: 16px;
    z-index: 999;
    cursor: pointer;
}
#header #btn_m_toggle span {
    position: absolute;
    display: block;
    width: 22px;
    height: 2px;
    background: #333;
    border-radius: 2px;
    left: 9px;
    -webkit-transform: rotate(0deg);
       -moz-transform: rotate(0deg);
            transform: rotate(0deg);
    -webkit-transition: -webkit-transform 250ms ease;
       -moz-transition:    -moz-transform 250ms ease;
            transition:         transform 250ms ease;
}
#header #btn_m_toggle span:nth-child(1) { top: 13px; }
#header #btn_m_toggle span:nth-child(2) { top: 19px; }
#header #btn_m_toggle span:nth-child(3) { top: 25px; }
.open_mobilemenu #header #btn_m_toggle {
    right: min(60vw, 330px);
    background: transparent;
    box-shadow: none;
}
.open_mobilemenu #header #btn_m_toggle span { background: #fff; }
.open_mobilemenu #header #btn_m_toggle span:nth-child(1) {
    top: 19px;
    -webkit-transform: rotate(135deg);
       -moz-transform: rotate(135deg);
            transform: rotate(135deg);
}
.open_mobilemenu #header #btn_m_toggle span:nth-child(2) {
    opacity: 0;
    left: -30px;
}
.open_mobilemenu #header #btn_m_toggle span:nth-child(3) {
    top: 19px;
    -webkit-transform: rotate(-135deg);
       -moz-transform: rotate(-135deg);
            transform: rotate(-135deg);
}

/* MOBILE HEADER SIDEBAR AREA */
#mobile_menu {
    position: fixed;
    display: flex;
    flex-direction: column;
    width: min(70%, 360px);
    height: 100%;
    top: 0;
    right: -101%;
    z-index: 999;
    background: #fff;
    box-shadow: -12px 0 24px rgba(0,0,0,0.2);
    -webkit-transition: right 300ms ease;
       -moz-transition: right 300ms ease;
            transition: right 300ms ease;
}
.open_mobilemenu #mobile_menu {
    right: 0;
}
#mobile_menu .mobile-menu-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 62px;
    padding: 0 14px;
    background: #a82428;
}
#mobile_menu .mobile-menu-head-left {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}
#mobile_menu .mobile-head-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 30px;
    padding: 0 10px;
    border: 0;
    border-radius: 16px;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
}
#mobile_menu .mobile-head-btn svg {
    width: 16px;
    height: 16px;
    margin-right: 4px;
}
#mobile_menu .mobile-head-btn svg path {
    stroke: #fff;
}
#mobile_menu .mobile-head-btn:hover {
    background: rgba(255,255,255,0.18);
}
#mobile_menu .mobile-menu-close {
    position: relative;
    display: block;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border-radius: 50%;
    border: 0;
    background: transparent;
    cursor: pointer;
}
#mobile_menu .mobile-menu-close span {
    position: absolute;
    top: 15px;
    left: 9px;
    width: 14px;
    height: 2px;
    background: #fff;
}
#mobile_menu .mobile-menu-close span:first-child {
    transform: rotate(45deg);
}
#mobile_menu .mobile-menu-close span:last-child {
    transform: rotate(-45deg);
}
#mobile_menu .m-top-menu {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0;
    padding: 0;
    background: #fff;
    border-bottom: 1px solid #e6e6e6;
}
#mobile_menu .m-top-menu .m-top-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50%;
    min-height: 48px;
    padding: 0 12px;
    color: #303030;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    transition: color 250ms ease, background 250ms ease;
}
#mobile_menu .m-top-menu .m-top-link + .m-top-link {
    border-left: 1px solid #e6e6e6;
}
#mobile_menu .m-top-menu .m-top-link.align-right {
    font-weight: 600;
}
#mobile_menu .m-top-menu .m-top-link.align-right::before {
    content: '';
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 5px;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"><path d="M3 7.5H17M3 12.5H17M2.5 10C2.5 10.9849 2.69399 11.9602 3.0709 12.8701C3.44781 13.7801 4.00026 14.6069 4.6967 15.3033C5.39314 15.9997 6.21993 16.5522 7.12987 16.9291C8.03982 17.306 9.01509 17.5 10 17.5C10.9849 17.5 11.9602 17.306 12.8701 16.9291C13.7801 16.5522 14.6069 15.9997 15.3033 15.3033C15.9997 14.6069 16.5522 13.7801 16.9291 12.8701C17.306 11.9602 17.5 10.9849 17.5 10C17.5 8.01088 16.7098 6.10322 15.3033 4.6967C13.8968 3.29018 11.9891 2.5 10 2.5C8.01088 2.5 6.10322 3.29018 4.6967 4.6967C3.29018 6.10322 2.5 8.01088 2.5 10Z" stroke="%23929292" stroke-linecap="round" stroke-linejoin="round"/><path d="M9.58334 2.5C8.17946 4.74968 7.43518 7.34822 7.43518 10C7.43518 12.6518 8.17946 15.2503 9.58334 17.5M10.4167 2.5C11.8206 4.74968 12.5648 7.34822 12.5648 10C12.5648 12.6518 11.8206 15.2503 10.4167 17.5" stroke="%23929292" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat center;
    background-size: contain;
}
#mobile_menu .m-top-menu .m-top-link:hover {
    color: #a82428;
    background: #fafafa;
}
#mobile_menu .m-top-menu .m-top-link.align-right:hover::before {
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"><path d="M3 7.5H17M3 12.5H17M2.5 10C2.5 10.9849 2.69399 11.9602 3.0709 12.8701C3.44781 13.7801 4.00026 14.6069 4.6967 15.3033C5.39314 15.9997 6.21993 16.5522 7.12987 16.9291C8.03982 17.306 9.01509 17.5 10 17.5C10.9849 17.5 11.9602 17.306 12.8701 16.9291C13.7801 16.5522 14.6069 15.9997 15.3033 15.3033C15.9997 14.6069 16.5522 13.7801 16.9291 12.8701C17.306 11.9602 17.5 10.9849 17.5 10C17.5 8.01088 16.7098 6.10322 15.3033 4.6967C13.8968 3.29018 11.9891 2.5 10 2.5C8.01088 2.5 6.10322 3.29018 4.6967 4.6967C3.29018 6.10322 2.5 8.01088 2.5 10Z" stroke="%23a82428" stroke-linecap="round" stroke-linejoin="round"/><path d="M9.58334 2.5C8.17946 4.74968 7.43518 7.34822 7.43518 10C7.43518 12.6518 8.17946 15.2503 9.58334 17.5M10.4167 2.5C11.8206 4.74968 12.5648 7.34822 12.5648 10C12.5648 12.6518 11.8206 15.2503 10.4167 17.5" stroke="%23a82428" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat center;
}
#mobile_menu .msgroup {
    position: relative;
    width: 100%;
    flex: 1;
    min-height: 0;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
}
#mobile_menu .colsgroup li {
    position: relative;
    width: 50%;
    float: left;
    text-align: center;
}
#mobile_menu .colsgroup li:first-child::before {
    position: absolute;
    content: '';
    width: 1px;
    height: 12px;
    margin-top: -6px;
    top: 50%;
    right: 0;
    background: #454545;
}
#mobile_menu .colsgroup li.full_width {
    width: 100%;
    clear: left;
    background: #40b9d7;
}
#mobile_menu .colsgroup li a {
    display: block;
    padding: 0 5px;
    color: #303030;
    line-height: 39px;
    -webkit-transition: color 250ms ease, background 250ms ease;
       -moz-transition: color 250ms ease, background 250ms ease;
            transition: color 250ms ease, background 250ms ease;
}
#mobile_menu .colsgroup li a:hover {
    color: #264b96;
}

/* MOBILE LOGED AREA */
#header .mobile_loged {
    color: #fff;
    border-top: 1px solid #dcdcdc;
    border-bottom: 1px solid #dcdcdc;
}
#header .mobile_loged .mob_loged {
    display: none;
}
#header .mobile_loged .mob_loged.on {
    display: block;
}
#header .mobile_loged .loged_section {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    height: 100%;
    padding: 0 10px;
    color: #fff;
    -webkit-box-align: center;
       -moz-box-align: center;
       -ms-flex-align: center;
    -webkit-align-items: center;
            align-items: center;
}
#header .mobile_loged .loged_icon span {
    position: absolute;
    width: 100%;
    top: -2px;
    font-size: 24px;
    text-align: center;
}
#header .mobile_loged p {
    font-size: 13px;
}

/* MOBILE MENU */
#header #menu #gnb .dep2 .dep3 {
    display: none !important;
}
#mobile_menu #mgnb h3 {
    position: relative;
    width: 100%;
    border-bottom: 1px solid #ececec;
}
#mobile_menu #mgnb h3 a {
    display: block;
    padding: 17px 46px 17px 18px;
    color: #222;
    font-size: 15px;
    font-weight: 600;
    text-align: left;
    background-color: transparent;
    -webkit-transition: color 300ms ease, background 300ms ease;
       -moz-transition: color 300ms ease, background 300ms ease;
            transition: color 300ms ease, background 300ms ease;
}
#mobile_menu #mgnb li.current h3 a,
#mobile_menu #mgnb li h3 a:hover {
    color: #a82428;
}
/* 수정 */
#mobile_menu #mgnb .dep1.current h3 a,
#mobile_menu #mgnb .dep1 h3:hover a,
#mobile_menu #mgnb .dep1.openlist h3 a {
    color: #a82428;
    background: #f8f8f8;
}
#mobile_menu #mgnb h3 strong {
    font-weight: normal;
}
#mobile_menu #mgnb h3 a p span {
    position: relative;
    display: inline-block;
    margin-left: 6px;
    padding-left: 10px;
    font-size: 13px;
    letter-spacing: 0.025em;
}
#mobile_menu #mgnb h3 a p span:before {
    position: absolute;
    display: block;
    content: '';
    width: 1px;
    height: 11px;
    left: 0;
    bottom: 3px;
    background: #3f3f3f;
    -webkit-transition: background 300ms ease;
       -moz-transition: background 300ms ease;
            transition: background 300ms ease;
}
#mobile_menu #mgnb li a:hover p span:before,
#mobile_menu #mgnb li.current h3 a p span:before,
#mobile_menu #mgnb li .current a p span:before {
    background: #264b96;
}
#mobile_menu #mgnb h3 a.current span:before,
#mobile_menu #mgnb .dep1:hover h3 a span:before,
#mobile_menu #mgnb .dep1.openlist h3 a span:before {
    background: #fff;
}
#mobile_menu .toggle_gnb {
    position: absolute;
    display: block;
    width: 42px;
    height: 42px;
    top: 5px;
    right: 8px;
    z-index: 10;
    cursor: pointer;
}
#mobile_menu .btn_gnb_arrow {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    text-indent: -9999px;
}
#mobile_menu .btn_gnb_arrow::before {
    position: absolute;
    top: 50%;
    left: 50%;
    content: '';
    width: 8px;
    height: 8px;
    margin: -6px 0 0 -5px;
    border-right: 2px solid #666;
    border-bottom: 2px solid #666;
    transform: rotate(45deg);
    transition: transform 250ms ease, border-color 250ms ease;
}
#mobile_menu .dep1:hover .btn_gnb_arrow::before {
    border-color: #a82428;
}
#mobile_menu .dep1.current .btn_gnb_arrow::before,
#mobile_menu .dep1.openlist .btn_gnb_arrow::before {
    border-color: #a82428;
    -webkit-transform: rotate(-135deg);
       -moz-transform: rotate(-135deg);
            transform: rotate(-135deg);
}
#mobile_menu #mgnb h3 a.current + .toggle_gnb .btn_gnb_arrow::before {
    border-color: #a82428;
}
#mobile_menu #mgnb .dep2 {
    position: relative;
    display: none;
    background: #fafafa;
}

#mobile_menu #mgnb .dep1.current .dep2 {
    display: block;
}
#mobile_menu #mgnb .dep2 li {
    position: relative;
    margin-left: 0;
    padding: 0;
    border-bottom: 1px solid #ececec;
}
#mobile_menu #mgnb .dep2 li:first-child {
    border-top: 0;
}
#mobile_menu #mgnb .dep2 li a {
    position: relative;
    display: block;
    padding: 13px 18px 13px 40px;
    color: #2A2A2A;
    font-size: 14px;
    font-weight: 400;
}
#mobile_menu #mgnb .dep2 li > a::before {
    position: absolute;
    content: '•';
    top: 50%;
    left: 26px;
    color: #888;
    font-size: 12px;
    transform: translateY(-50%);
}
#mobile_menu #mgnb .dep2 li a:hover,
#mobile_menu #mgnb .dep2 li.current a {
    color: #a82428;
    transition: color 250ms ease;
}
#mobile_menu #mgnb .dep2 li.current a {
    font-weight: 500;
}
#mobile_menu #mgnb .dep2 li .dep3 {
    padding: 0 0 10px;
}
#mobile_menu #mgnb .dep2 li .dep3 li {
    border-bottom: 0;
}
#mobile_menu #mgnb .dep2 li .dep3 a {
    position: relative;
    padding: 6px 18px 6px 54px;
    color: #787878;
    font-size: 13px;
    line-height: 1.4;
}
#mobile_menu #mgnb .dep2 li .dep3 a::before {
    position: absolute;
    content: '-';
    top: 50%;
    left: 40px;
    color: #9a9a9a;
    font-size: 12px;
    transform: translateY(-50%);
}
#mobile_menu #mgnb .dep2 li .dep3 a:hover,
#mobile_menu #mgnb .dep2 li .dep3 li.current a {
    color: #a82428;
}
.mobile_menu_overlay {
    position: fixed;
    display: none;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 998;
    background: rgba(0,0,0,0.58);
}

@media screen and (max-width: 1400px) {
    .full-menu-layer .full-menu-grid-list > li {
        grid-template-columns: 180px 1fr;
        gap: 0 30px;
        padding: 50px 0;
    }
    .full-menu-layer .full-menu-item-title a {
        font-size: 24px;
    }
    .full-menu-layer .full-menu-grid-cols > li > a {
        font-size: 15px;
    }
    .full-menu-layer .full-menu-depth3-list > li > a {
        font-size: 13px;
    }
}

@media screen and (max-width: 1180px) {
    .full-menu-layer .full-menu-sub-wrap {
        padding: 60px 0;
    }
    .full-menu-layer .full-menu-grid-list {
        padding: 0 26px;
    }
    .full-menu-layer .full-menu-grid-list > li {
        grid-template-columns: 160px 1fr;
        gap: 0 26px;
        padding: 40px 0;
    }
    .full-menu-layer .full-menu-item-title a {
        font-size: 20px;
    }
    .full-menu-layer .full-menu-grid-cols {
        grid-template-columns: repeat(3, 1fr);
        gap: 15px 26px;
    }
    .full-menu-layer .full-menu-grid-cols > li > a {
        font-size: 14px;
    }
}


/* --------------------------------------------------------------------------------------------
    ## SEARCH LAYER POPUP
-------------------------------------------------------------------------------------------- */
.search-popup-layer {
    position: fixed;
    display: none;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
    top: 0;
    left: 0;
    z-index: 998;
}
.search-popup-layer .s-p-wrap {
    position: fixed;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
    top: 0;
    left: 0;
    z-index: 1000;
}
.search-popup-layer .search-text-input {
    width: 85%;
    max-width: 640px;
    margin: 0 auto 40px;
}
.search-popup-layer .search-input-bar {
    width: 100%;
    height: 70px;
    padding: 10px 20px;
    font-size: 1.375rem;
    line-height: 47px;
    color: #fff;
    background: rgba(0,0,0,0.15);
    border-bottom: 3px solid rgba(247,181,44,0.75);
    transition: color 250ms ease, background 250ms ease, border 250ms ease;
}
.search-popup-layer .search-input-bar:hover,
.search-popup-layer .search-input-bar:focus {
    outline: 0;
    background: rgba(0,0,0,0.5);
    border-color: rgba(247,181,44,1);
}
.search-popup-layer .search-btn-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
}
.search-popup-layer .search-input-submit,
.search-popup-layer .search-cancel-btn {
    display: block;
    width: 150px;
    height: 44px;
    color: #dfdfdf;
    font-size: 1rem;
    font-weight: 500;
    line-height: 38px;
    background: rgba(0,0,0,0.15);
    border: 2px solid rgba(247,181,44,1);
    border-radius: 30px;
    transition: color 250ms ease, background 250ms ease, border 250ms ease;
}
.search-popup-layer .search-input-submit {
    margin-right: 20px;
}
.search-popup-layer .search-input-submit:hover,
.search-popup-layer .search-cancel-btn:hover {
    color: #fff;
    background: rgba(247,181,44,1);
}
.search-popup-overlay {
    position: fixed;
    display: block;
    width: 100%;
    height: 100%;
    top: -110%;
    left: 0;
    z-index: 997;
    opacity: 0;
    transition: opacity 250ms ease 50ms;
}
.open-search-popup .search-popup-overlay {
    top: 0;
    opacity: 1;
}
.search-popup-overlay::before {
    position: absolute;
    display: block;
    content: '';
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    background: rgba(0, 0, 0, 0.75);
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAieSURBVGhDddqBkVXHDoTh3cVOwmlAGhAGpGGHYdIwYUAchMHTN7x/rL2FVSVL02q15syZPcaLn//+++/fn8Y+f/78NPnT27dvn56fn08Os/727dutwfjXr19vvV6m9+PHj7eHbV56capvPaZWLpa/e/fuxLTZqf348eP3SY6P2IlTO7naNBxsBl88Xj0crwjXq0fUl8N43PKtVb88nXjhe76akzgA0TZT0VpjwvHU21R8663TwM2BbXzz64fz5vGd4+7eai+fPn06rzkb8AkmetXyGXxqIoypj9C5AnwED85wujbpxEsTHsZo2Ud72f1dp0d+uvKXBDJNmsP2ptoAa4NtTGS4emFs11haMA+PW8/eB6xZ9pjBuDq3XzOeB/Rq7sYSrcm6jRjsh9mbib/75Ey/AXtjnSDDM1wdFq8+1j70dSgM1izcW3dfBzzuvk3h1R0OH42Dqct3xFHDi797OU1eTa/1nifC1eOrq21vrnrc8/l1KhPPk03h5tM0Pf+aE5iN3ByXbZ7T6sTSYzPsniBTk/c2aeD2hpqfVrp64mXyN//8888biz/++OPp/fv3h/z9+/enP//88+nDhw8H0/jXX3+dGl5COHJD4V++fDn8DIYDU2u4aEM9mHmc6TFXnweB48PjlTOz5xnOfb2vuWsAsw4TN5bD+GzmrGfw5RV/hYlw2mbr5/BcPTwN/Hj1cuuX+cc9YSfUqcE8rbcQJg/DZXgMNkNOznY/PA1xHubms6ET8fhs+vDlGUxP+7Nuvhz3RdJmCMgbrLnGLV6NtQFOHO4B9LC0rRvK4fUwmh4q27Px+qNPOKMBE+8bQf7VGyjyeJpxPBxnPWgaRdZmW4vl9dHec/vznl41D2Cutciri+er1QZF3r8rYDaE2KC9AWuulni9cePVx/BaNxMns87q9bZoq7W2t3rfzBfgjYUvAcDXhVkjMpgN9TUh5Kuhry/dHs7qoUErHqyaL2EazaeLx1lfqX2gm6PnfCnn9O5P/hDPV0WcUzu5r4M1DgwPLqqFFatXE2E0qnF6YXJY8+uLGy8dWFq4+p81uGeebgrnCYc8tZ+vdRpePb21ems9TsuaqacBs2ZdA/bYM5t5xWXWNOLFSbc3lL34hwJxD2QTEYttnpi8H0DrfvgYrGF04ofJmbWamfU+auhn4QzWHtOKh/jqdfHHa8Hj8HrEHGfkjuvj8rjpxAmX02yWGC5Xk+9++O6X++m/DeUaFPmuh53G/wsS2xvaPem0CfVimtbxcWm1Tq8ZsDTjWJvtFR2SpjaUSAMbXtyCHCamtYfGS/NRj3cI8vbCt9b2ZtbLz79HpjD5z/sm39F9ZdN0/N7Jsen95c9I/dZZP2uZ+sbSmg2+wkXeXLU4TH72OILniTzQNByHWefW8HiiE+H1OalyuB4xzTB5mmF64+2T371pma0nLX72JAG2yYYk8Lg2IH5rnAZXl9djHaZPPMMnx9+YmGbY1qyvtZoZ5z91B7xXqJxP7dU1kYte6wicqzDClwuXj/DVe7Q9i169RSbHo0c/bboZztZBuk/a6XUicjVRjU/f5e4+uVr83VMu4tAXq+sJk4el1UzeG4hXz0tPL3bi/ZGZDfmeXGtmjVvfDDk1fXDmjaVfjlcvq5fBcj1xqzN7Y7DzJsbMPf9m7wEaoCDvAYjK+1KIDWM429LqwfaXjTWPNYfjwJvD6nuM7YvRN+y8ogHPaxJH7NXrhcebk7hXpXq4XOxqdg3ipm8t7uu08a0fT14MLzfr/ocVEwe8J8pa9xb4iNxTriaf4bfXCZ+TGiviMPV46YvWYfrpMfryzWfy7MWdM0iR758PRCIECPXKDZnTOVGNxdtGr03sDdDH5TBre+h62UNabZYOTj1pqcPOr0xZBKaJKG9QedYpszamvg8FznYvHo659fWw1eN2yI+WHi4/c0bw3L1Z3DtnPcI3cnXrMH2wavUX00wHpsd69nJrsPriqsOLm1N978P6WXGS85RTPLETkrMROdHTM2uOV95Jcn2je7j79Ioz/L4VGqyauWr1s3L1anrD9D57qr2hBJmGHqYG6zaQGGv9+PBi1yP9jH6z2O591JKL+PIO2hr3N0liCW9iFi9/rDeMd4JiJ595YG9+f1TEZqpbi+bQlYvZ1pPjIdx7zafwKrqLojc3fa/ubB5OJ74c1jpvlp6N45qhLuoLK9ajlk4z79+PeKoBj8udEJw9rkf4YJ3UDLl395zOmLy63nrgTM7hLH06s7H7JuHx6P2X/efPCAHW5kSYaAje3lQ5a0NMzcbE5sRt89ZqIh4rsseH0NfDXl6vcQTPa+LW8Gq7PqL3NccVYWJ43PjV04bTTD9MpFFMMw4P2/m5WiMw+U/rlbJOLIM7AT4C961lnY6aPvVOWq81l3fCs5kTt1Zvjl5cvH3daG67f2PF2gBvEKwN9hAswW1qDdDfJuY0D4bfBvF8uRgs2/PwaVSH95BMzcOdw/DKPMwI3GsynBOn4dT2Op7Xqiaqi+U45Xp49dZq9XOacFj55obRxtk5P/9hNeBwf16rKZ4TnOJ97epcDY7HrOF4ToqWeidavxhWD15m3Ww63kT70pumtchxWbm/P3yj0d/DRfLb7jbWb8qJ+C16v4WHcRzcNqhOr3V9eBlNmN/s48uZ2Kz+ftJv7PtNvhqj3WyGA3x1BeRzCvcaWON0nWDWRVg9sNZzijffvPrSCKffDL1cncPxYfXFjzca//6+Vmxoza3F6hrD5cS26N5EDkuHtxG5WvFXc6vTac6OeO7g2WBNyHtgm9cEF+PI1R8fMDekgT0MXK8114vzmLcW065P3DV+/hg/wLlvIusTx2f4/cT1+WSiNRuNE/HgtPB9XuvjcrV+hrZVF5vdB4DvPvuzL1j7vv/jGat5TuVEZFjiTK6ZGRwvrKF5G0wbJs+t9+Zgeral8zinvX779u3pf6Ar4821qINrAAAAAElFTkSuQmCC), linear-gradient(to bottom, rgba(0,0,0, 0.2) 0%, rgba(0,0,0, 0.2) 100%);
}
.search-popup-overlay::before {
    background-color: rgba(0, 0, 0, 0.75);
    -webkit-backdrop-filter: blur(2px) saturate(100%);
            backdrop-filter: blur(2px) saturate(100%);
}


/* --------------------------------------------------------------------------------------------
    ## FOOTER
-------------------------------------------------------------------------------------------- */
#footer {
    padding: 50px 0 30px;
    color: #60728F;
    font-size: 1rem;
    letter-spacing: 0;
    background: #000000;
}
#footer .first-inner {
    padding-bottom: 30px;
}
#footer .ftop {
    margin-bottom: 20px;
}
#footer .fbottom {
    padding-top: 20px;
}
#footer .fbottom .wide-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    line-height: 18px;
}
#footer .fbottom .finfo {
    line-height: 1.8;
    color: #60728F;
}
#footer .fbottom .finfo dl {
    display: flex;
    gap: 25px;
    margin: 0;
}
#footer .fbottom .finfo dl + dl {
    margin-top: 4px;
}
#footer .fbottom .finfo dt {
    flex-shrink: 0;
    font-weight: normal;
}
#footer .fbottom .finfo dd {
    margin: 0;
}
#footer .fbottom .finfo p {
    margin: 0;
}
#footer .fbottom .finfo p + p {
    margin-top: 4px;
}
#footer .fbottom .finfo strong {
    color: #60728F;
    font-weight: normal;
}
#footer .fbottom .copyright {
    padding-top: 30px;
}
#footer .fbottom .copyright span {
    color: #BBD3DB;
}
#footer .ftop .fmenu {
    display: flex;
    gap: 20px;
    list-style: none;
    margin: 0;
    padding: 0;
}
#footer .ftop .fmenu li {
    position: relative;
    padding-left: 20px;
}
#footer .ftop .fmenu li:first-child {
    padding-left: 0;
}
#footer .ftop .fmenu a {
    display: block;
    color: #e6e6e6;
    text-decoration: none;
}
#footer .ftop .fmenu a:hover {
    color: #d2d2d2;
}
#footer .mview {
    display: none;
}
.main #footer {
    margin-top: 30px;
}


/* head.php 전용 비주얼 스타일은 assets/css/head.css 로 분리 */


/* --------------------------------------------------------------------------------------------
    ## CONTAINER && CONTENTS
-------------------------------------------------------------------------------------------- */
#container {
    position: relative;
    width: 100%;
    max-width: 1740px;
    min-height: 640px;
    margin-left: auto;
    margin-right: auto;
    background: #fff;
}
.main #container {
    width: 100%;
    max-width: 100%;
    background: transparent;
}
.main #content {
    margin-left: 0;
}


/* --------------------------------------------------------------------------------------------
    ## INDEX
-------------------------------------------------------------------------------------------- */
.main section {
    margin-top: 70px;
}
.main section .wide-inner {
    position: relative;
    background: #fff;
    border-radius: 10px;
}
.main section .mstitle {
    margin-bottom: 35px;
    text-align: center;
    line-height: 1.2;
}
.main section .mstitle h3 {
    font-size: 2.3rem;
    font-weight: 600;
}
.main section .mstitle h3 strong {
    font-weight: 800;
    color: #AD0000;
    position:relative;
}
.main section .mstitle h3 strong:before {
    position: absolute;
    top: 25%;
    left: -15px;
    content: '';
    width: 10px;
    height: 15px;
    background: #a1131f;
    transform: translateY(-50%);
    clip-path: polygon(50% 0, 100% 22%, 100% 78%, 50% 100%, 0 78%, 0 22%);
}
.main section .mstitle p {
    margin-top: 15px;
    font-weight: 300;
    text-align: left;
}

.main .ms00 {
    margin-top: 70px;
}
.main .ms00 .news-layout {
    display: flex;
    gap: 40px;
}
.main .ms00 .news-left {
    flex: 0 0 50%;
    min-width: 0;
}
.main .ms00 .news-title {
}
.main .ms00 .photo-title {
    margin-bottom:20px;
}
.main .ms00 .photo-news-box h3,
.main .ms00 .news-title h3 {
    font-size: 1.875rem;
    font-weight: 300;
    line-height: 1.2;
}
.main .ms00 .photo-news-box h3 strong,
.main .ms00 .news-title h3 strong {
    font-weight: 800;
}

/** 메인 뉴스 탭 Start */
.news_tab {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 20px;
    row-gap: 12px;
    margin-bottom:20px;
}

.news_tab ul {
    display: flex;
    grid-column: 2;
    min-width: 0;
    flex-wrap: nowrap;
    align-items: center;
    gap: 35px;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding-bottom: 2px;
}

.news_tab ul::-webkit-scrollbar {
    display: none;
}

.news_tab .news-title {
    grid-column: 1;
}

.news_tab ul li {
    position: relative;
    flex: 0 0 auto;
}

.news_tab ul li:before {
    content: '';
    position: absolute;
    top: 7px;
    left: -17px;
    width: 1px;
    height: 13px;
    background: #c7c7c7;
}

.news_tab ul li a {
    font-family: 'S-Core Dream';
    display: block;
    color: #777;
    font-size: 1.1em;
    letter-spacing: -0.5px;
    padding: 0 5px;
}

.news_tab .on a {
    color: #a1131f;
    font-weight: 600;
}

.news_tab .more {
    grid-column: 3;
    justify-self: end;
    position: static;
}

.news_tab .more a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    text-align: center;
    font-size: 18px;
    border: 2px solid #000;
    background: #fff;
    color: #000;
    cursor: pointer;
    border-radius: 15px;
}

.news_tab .more:hover a {
    color: #ad0000;
    border-color: #a1131f;
}

.news_tab .more:hover i {
    transform: rotate(180deg);
    transition: all 0.2s;
}

.news_tab ul li:first-child:before, .news_tab .more:before {
    display: none;
}

.news_item {
    width: 100%;
}

.news_item .top {
    overflow: hidden;
    padding: 0 0 20px 0;
    border-bottom: 1px solid #e0e0e0;
}

.news_item .date {
    float: left;
    width: 95px;
    height: 95px;
    text-align: center;
    line-height: 1.4em;
    font-style: normal;
    color: #888;
    font-size: 0.85em;
    border: 5px solid #dcdcdc;
}

.news_item .date b {
    display: block;
    font-weight: 800;
    color: #000;
    font-size: 2.4em;
    letter-spacing: -1.5px;
    margin: 10px 0 5px 0;
    line-height: 1;
}

.news_item dl {
    padding: 5px 0 0 120px;
}

.news_item dl dt {
    font-size: 1.1em;
    font-weight: 500;
    color: #111;
    letter-spacing: -1px;
    margin-bottom: 7px;
    overflow: hidden;
    text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
    white-space: nowrap;
}

.news_item dl dd {
    font-size: 0.95em;
    color: #888;
    letter-spacing: -0.75px;
    line-height: 1.5;
    overflow: hidden;
    text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    word-wrap: break-word;
}

.news_item ul li {
    width: 100%;
    position: relative;
    border-bottom: 1px solid #e0e0e0;
    line-height: 52px;
    display: flex;
    flex-flow: wrap;
    justify-content: space-between;
    gap: 20px;
    padding: 0 10px;
}

.news_item ul li:after {
    position: absolute;
    content: '';
    display: block;
    top: 0;
    bottom: 0;
    left: 2px;
    margin: auto;
    width: 4px;
    height: 4px;
    border-radius: 100%;
    background: #a1131f;
}

.news_item ul li p {
    font-family: 'S-Core Dream';
    color: #666;
    font-size: 0.95em;
    letter-spacing: -1px;
    text-indent: 5px;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
    white-space: nowrap;
}

.news_item ul li time {
    text-align: right;
    font-style: normal;
    color: #a2a2a2;
    font-size: 0.9em;
}

.news_item dl:hover dt, .news_item ul li:hover p {
    text-decoration: underline;
}

.news_item .nolist {
    text-align: center;
    border-bottom: 1px solid #ddd;
    width: 100%;
    color: #797979;
}

@media screen and (max-width: 1024px) {
    .news_tab {
        column-gap: 16px;
        row-gap: 10px;
    }

    .news_tab ul {
        gap: 20px;
    }

    .news_tab ul li:before {
        top: 5px;
        left: -9px;
    }

    .news_tab .more a {
        width: 34px;
        height: 34px;
        font-size: 15px;
        border-radius: 8px;
    }

    .news_item .top {
        padding: 0 0 15px 0;
    }

    .news_item .date {
        width: 80px;
        height: 80px;
        font-size: 0.85em;
    }

    .news_item .date b {
        font-size: 2em;
        margin: 10px 0 5px 0;
    }

    .news_item dl {
        padding: 0 0 0 95px;
    }

    .news_item dl dt {
        margin-bottom: 5px;
    }

    .news_item ul li {
        line-height: 42px;
    }
}
/** 메인 뉴스 탭 End */

/** 메인 포토뉴스 Start */
.main .ms00 .news-right {
    width: 50%;
    min-width: 280px;
}

.main .ms00 + .ms01 {
    margin-top: 70px;
}
/** 메인 포토뉴스 End */

@media all and (max-width: 1280px) {
    .main .ms00 .wide-inner {
        padding: 32px;
    }
    .main .ms00 .news-layout {
        gap: 28px;
    }
}

@media all and (max-width: 980px) {
    .main .ms00 .news-layout {
        flex-direction: column;
        gap: 60px;
    }
    .main .ms00 .news-right {
        width: 100%;
        min-width: 0;
    }
}

@media all and (max-width: 640px) {
    .main .ms00 .wide-inner {
        padding: 24px 20px;
    }
}

/* --------------------------------------------------------------------------------------------
    ## MS03 - 사업소개
-------------------------------------------------------------------------------------------- */
.main .ms03 {
    background: #fff;
}
.main .ms03 .wide-inner {
    padding: 0;
    background: transparent;
    border-radius: 0;
}
.main .ms03 .msecont {
    padding: 0;
}
.main .ms03 .bizLt-scroll {
    width: 90%;
    margin: 0 auto 60px 0;
    border-radius: 40px;
    height: 272px;
    overflow: hidden;
    padding: 16px 20px 16px;
    box-sizing: border-box;
    background: #fff;
    box-shadow: 0 0 20px 1px rgba(0, 0, 0, 0.09);
    position: relative;
    z-index: 2;
}
.main .ms03 .bizLt {
    min-width: 100%;
    height: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 20%;
    cursor: grab;
    scrollbar-width: thin;
    scrollbar-color: #c1121f #f1f1f1;
}
.main .ms03 .bizLt.is-dragging {
    cursor: grabbing;
    user-select: none;
    -webkit-user-select: none;
}
.main .ms03 .bizLt.is-dragging * {
    user-select: none;
    -webkit-user-select: none;
}
.main .ms03 .bizLt::-webkit-scrollbar {
    height: 8px;
}
.main .ms03 .bizLt::-webkit-scrollbar-thumb {
    background: #c1121f;
    border-radius: 4px;
}
.main .ms03 .bizLt::-webkit-scrollbar-thumb:hover {
    background: #a00a1a;
}
.main .ms03 .bizLt::-webkit-scrollbar-track {
    background: #f1f1f1;
}
.main .ms03 .bizLt a {
    display: block;
    text-decoration: none;
    color: inherit;
}
.main .ms03 .bizLt dl {
    position: relative;
    padding: 40px;
    border-right: 1px solid #e1e1e1;
    transition: all 250ms ease;
}
.main .ms03 .bizLt dl dt {
    margin-bottom: 20px;
}
.main .ms03 .bizLt dl dt .dt-img {
    display: inline-block;
    transition: transform 400ms ease;
}
.main .ms03 .bizLt dl:hover dt .dt-img {
    transform: scale(1.08);
}
.main .ms03 .bizLt dl dd {
    font-weight: 500;
    font-size: 1.15em;
    color: #000;
    line-height: 1.45;
}
    .main .ms03 .bizLt a:last-child dl {
        border-right: 0;
    }
.main .ms03 .bizLt dl .arrow-icon {
    position: absolute;
    right: 10px;
    bottom: 35px;
    width: 27px;
    height: 27px;
}
.main .ms03 .bizLt dl:hover .arrow-icon path {
    fill: #AD0000;
}
.main .ms03 .bizRt {
    margin-top: 60px;
    position: relative;
    z-index: 1;
}
.main .ms03 .bizRt > div:first-child {
    float: left;
    width: 30%;
}
.main .ms03 .bizRt-title {
    line-height: 1.4;
    text-align: left;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 40px;
    box-sizing: border-box;
}
.main .ms03 .bizRt-title h3 {
    font-size: 1.875rem;
    margin: 0;
    padding: 0;
    color: inherit;
}
.main .ms03 .bizRt-title h3 strong {
    font-weight: 700;
}
.main .ms03 .bizRt-title p {
    margin: 0;
    padding: 4px 0 0 0;
    font-weight: 400;
    font-size: 1.4rem;
    color: #666;
    line-height: 1.5;
}
.main .ms03 .bizRt:after {
    content: '';
    display: block;
    clear: both;
}
.main .ms03 .bizRt .wrap {
    float: right;
    width: 67%;
    position: relative;
    background: #ad0000;
    border-radius: 0 0 40px 40px;
    margin-top: -60px;
    z-index: 0;
}
.main .ms03 .bizRt:before {
    position: absolute;
    right: 0;
    top: -100px;
    width: 60%;
    content: '';
    height: 60px;
    border-radius: 40px 40px 0 0;
    background: #ad0000;
    z-index: 0;
}
.main .ms03 .bizRt .item {
    list-style: none;
    margin: 40px 80px 60px 60px;
    padding: 0;
    display: flex;
    flex-direction: column;
}
.main .ms03 .bizRt .item li {
    position: relative;
}
.main .ms03 .bizRt .item li > a {
    display: grid;
    grid-template-columns: 70px auto 200px;
    align-items: center;
    gap: 15px;
    padding: 15px 0;
    cursor: pointer;
    color: #fff;
    text-decoration: none;
}
.main .ms03 .bizRt .item li > a > .status {
    font-size: 13px;
    color: #fff;
    text-align: center;
    border: 1px solid #fff;
    padding: 4px 8px;
    border-radius: 3px;
    display: inline-block;
    white-space: nowrap;
}
.main .ms03 .bizRt .item li > a > p {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 500;
    font-size: 16px;
    color: #fff;
}
.main .ms03 .bizRt .item li > a > em {
    text-align: right;
    font-size: 15px;
    color: rgba(255, 255, 255, 0.7);
    white-space: nowrap;
    display: inline-block;
}
.main .ms03 .bizRt .item li:hover > a > p {
    text-decoration: underline;
}
@media screen and (max-width: 1200px) {
    .main .ms03 .bizLt-scroll {
        width: 95%;
        margin: 0 auto 0 0;
        height: auto;
        padding: 0;
        overflow: hidden;
        background: #fff;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
        border-radius: 24px;
    }
    .main .ms03 .bizLt {
        width: 100%;
        height: auto;
        overflow: visible;
        grid-template-columns: repeat(2, 1fr);
        grid-auto-flow: row;
        margin-bottom: 0;
        cursor: default;
    }
    .main .ms03 .bizLt a {
        border-right: 1px solid #e1e1e1;
        border-bottom: 1px solid #e1e1e1;
    }
    .main .ms03 .bizLt a:last-child {
        border-bottom: 0;
    }
    .main .ms03 .bizLt a:nth-child(even) {
        border-right: 0;
    }
    .main .ms03 .bizLt dl {
        display: grid;
        grid-auto-flow: column;
        grid-template-columns: 125px auto;
        padding: 10px;
        align-content: center;
        align-items: center;
        margin: 0;
        scale: 0.8;
        border: none;
    }
    .main .ms03 .bizRt {
        position: relative;
        margin: 0 0 0 5%;
        background: #ad0000;
        border-radius: 0 0 30px 30px;
    }
    .main .ms03 .bizRt > div:first-child {
        float: none;
        width: 100%;
    }
    .main .ms03 .bizRt-title h3 {
        color: #fff;
        text-align: center;
        margin-bottom: 0;
        padding: 0 0 10px 0;
    }
    .main .ms03 .bizRt-title p {
        color: #fff;
        text-align: center;
        padding: 0;
    }
    .main .ms03 .bizRt .wrap {
        float: none;
        width: 100%;
        margin: 0 auto;
        padding: 20px;
    }
    .main .ms03 .bizRt:before {
        top: -60px;
    }
    .main .ms03 .bizRt .item {
        margin: 20px;
    }
    .main .ms03 .bizRt .item li > a > .status {
        font-size: 14px;
    }
    .main .ms03 .bizRt .item li > a > p {
        font-size: 18px;
    }
    .main .ms03 .bizRt .item li > a > em {
        font-size: 16px;
        display: inline-block;
        text-align: right;
        margin-bottom: 0;
    }
}

/* Responsive: 788px 이하 */
@media screen and (max-width: 768px) {
    .main .ms03 .bizRt {
        margin: -50px 0 0 0;
        padding: 0;
    }
    .main .ms03 .bizLt a {
        border-right: none;
    }
    .main .ms03 .bizLt {
        grid-template-columns: 1fr;
    }
    .main .ms03 .bizLt dl {
        padding: 0;
    }
    .main .ms03 .bizRt .wrap {
        padding: 20px;
        margin-top: 0;
        height: auto;
    }
    .main .ms03 .bizRt-title {
        padding: 85px 20px 20px 20px;
    }
    .main .ms03 .bizRt .item li > a {
        grid-template-columns: 60px auto;
        grid-template-rows: auto auto;
        gap: 8px;
    }
    .main .ms03 .bizRt .item li > a > .status {
        align-self: start;
        display: inline-block;
        min-width: 60px;
        margin-top: 0;
        font-size: 12px;
    }
    .main .ms03 .bizRt .item li > a > p {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        text-align: left;
        grid-column: 2;
        font-size: 16px;
        order: 1;
    }
    .main .ms03 .bizRt .item li > a > em {
        white-space: nowrap;
        text-align: left;
        grid-column: 2;
        display: block;
        margin-top: -4px;
        margin-bottom: 4px;
        font-size: 14px;
        order: 2;
    }
}

.main .ms01 {
    position: relative;
    margin-top: 0;
    z-index: 10;
}
.main .ms01 .info-slider {
    position: relative;
    padding-left: 240px;
    overflow: hidden;
}
.main .ms01 .wide-inner {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}
.main .ms01 .title {
    position: absolute;
    display: flex;
    width: 242px;
    height: 100%;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    top: 0;
    left: 0;
    z-index: 10;
    text-align: center;
    background: #fff;
    border-radius: 10px;
}
.main .ms01 h3 {
    margin-bottom: 15px;
    font-size: 1.5rem;
    font-weight: 300;
}
.main .ms01 h3 strong {
    font-weight: 800;
}
.main .ms01 .info-btn-area {
    display: flex;
    justify-content: center;
    align-items: center;
}
.main .ms01 .slide-info {
    margin: 0 10px;
    color: #707070;
}
.main .ms01 .slide-info .spn {
    color: #ad0000;
    font-weight: 500;
}
.main .ms01 .swiper-wrapper {
    position: relative;
    display: flex;
    width: calc(100% - 340px);
}
.main .ms01 .swiper-slide {
    position: relative;
    height: 100%;
    padding: 40px 50px;
}
.main .ms01 .swiper-slide::before {
    position: absolute;
    display: block;
    content: '';
    width: 1px;
    height: 60px;
    margin-top: -30px;
    top: 50%;
    left: 0;
    background: #dcdcdc;
}
.main .ms01 .swiper-slide h4 {
    margin-bottom: 10px;
    color: #000;
    font-size: 1.125rem;
    font-weight: 500;
    transition: color 250ms ease;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.main .ms01 .swiper-slide p {
    margin-bottom: 10px;
    color: #707070;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.main .ms01 .group {
    display: block;
}
.main .ms01 .group .lnk {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
}
.main .ms01 .group .lnk span {
    color: #000;
    transition: color 250ms ease;
}
.main .ms01 .group .lnk .arrow {
    position: relative;
    width: 50px;
    height: 11px;
    margin: 0 0 2px 5px;
    background: url('../img/common/arrow_type_1.png') 0 0 no-repeat;
    background-size: 50px 11px;
}
.main .ms01 .group .lnk .arrow .over {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0;
    background: #fff url('../img/common/arrow_type_1_over.png') 0 0 no-repeat;
    background-size: 50px 11px;
    transition: opacity 250ms ease;
}
.main .ms01 .group:hover h4,
.main .ms01 .group:hover .lnk span {
    color: #ad0000;
}
.main .ms01 .group:hover .lnk .arrow .over {
    opacity: 1;
} 
.main .ms01 .swiper-button-prev,
.main .ms01 .swiper-button-next {
    position: static;
    width: 30px;
    height: 30px;
    margin: 0;
    padding: 0;
    color: #b5b5b5;
    text-align: center;
    line-height: 28px;
    border: 1px solid #d2d2d2;
    transition: color 250ms ease, border 250ms ease;
}
.main .ms01 .swiper-button-prev:hover,
.main .ms01 .swiper-button-next:hover {
    color: #ad0000;
    border-color: #ad0000;
}
.main .ms01 .swiper-button-prev::after,
.main .ms01 .swiper-button-next::after,
.main .ms01 .swiper-container-rtl {
    content: '' !important;
}

/* Banner Grid - Gallery Format */
.main .ms02 {
    padding: 70px 0;
    background: #F6F7F9;
}
.main .ms02 .wide-inner {
    padding: 0;
    background: transparent;
    border-radius: 0;
}
.main .ms02 .banner-grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
}
.main .ms02 .banner-item {
    overflow: hidden;
    transition: transform 250ms ease;
}
.main .ms02 .banner-item:hover {
    transform: translateY(-4px);
}
.main .ms02 .banner-img {
    position: relative;
    overflow: hidden;
    aspect-ratio: 334/222;
    border-radius: 12px;
}
.main .ms02 .banner-img a {
    display: block;
    width: 100%;
    height: 100%;
}
.main .ms02 .banner-img img {
    width: 120%;
    height: 100%;
    object-fit: cover;
    transition: transform 300ms ease, opacity 250ms ease;
}
.main .ms02 .banner-item:hover .banner-img img {
    transform: scale(1.1);
}
.main .ms02 .banner-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0;
    transition: opacity 250ms ease;
    border-radius: 12px;
}
.main .ms02 .banner-item:hover .banner-overlay {
    opacity: 0.6;
}
.main .ms02 .banner-title {
    padding: 16px 20px;
    font-size: 1.3rem;
    font-weight: 600;
    color: #111827;
    line-height: 1.5;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.main .ms02 .banner-btn {
    position: absolute;
    bottom: 12px;
    right: 12px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #AD0000;
    color: #fff;
    display: none;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 600;
    box-shadow: 0 4px 12px rgba(173, 0, 0, 0.3);
}
.main .ms02 .banner-item:hover .banner-btn {
    display: flex;
}

/* Responsive: 2 columns on tablet */
@media screen and (min-width: 769px) {
    .main .ms02 .banner-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Responsive: 4 columns on desktop */
@media screen and (min-width: 1153px) {
    .main .ms02 .banner-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 24px;
    }
}

/* --------------------------------------------------------------------------------------------
    ## MS04 - 메인 배너
-------------------------------------------------------------------------------------------- */
.main .ms04 {
    padding: 34px 0;
    background: #fff;
}
.main .ms04 .wide-inner {
    padding: 0;
    background: transparent;
    border-radius: 0;
}
.main .ms04 .ms04-banner-wrap {
    display: flex;
    align-items: center;
    gap: 14px;
}
.main .ms04 .ms04-arrow {
    width: 34px;
    height: 34px;
    border: 2px solid #C8C8C8;
    border-radius: 12px;
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 200ms ease;
}
.main .ms04 .ms04-arrow::after {
    content: '';
    display: inline-block;
    border: solid #C8C8C8;
    border-radius: 2px;
    transform: rotate(45deg);
}
.main .ms04 .ms04-arrow.prev::after {
    margin: 0 0 0 3px;
    border-width: 0 0 3px 3px;
    padding: 4px;
}
.main .ms04 .ms04-arrow.next::after {
    margin: 0 3px 0 0;
    border-width: 3px 3px 0 0;
    padding: 4px;
}
.main .ms04 .ms04-arrow:hover {
    border-color: #000;
}
.main .ms04 .ms04-arrow:hover::after {
    border-color: #000;
}
.main .ms04 .main-banner-slider {
    flex: 1;
    overflow: hidden;
}
.main .ms04 .main-banner-slider .swiper-slide {
    display: flex;
    justify-content: center;
}
.main .ms04 .ms04-banner-link {
    width: 142px;
    height: 32px;
    border-radius: 6px;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}
.main .ms04 .ms04-banner-link img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

@media screen and (max-width: 767px) {
    .main .ms04 .ms04-banner-wrap {
        gap: 8px;
    }
    .main .ms04 .ms04-arrow {
        width: 30px;
        height: 30px;
        border-radius: 8px;
    }
    .main .ms04 .ms04-arrow.prev::after,
    .main .ms04 .ms04-arrow.next::after {
        padding: 3px;
    }
    .main .ms04 .ms04-arrow.next::after {
        margin: 0 2px 0 0;
    }
}




/* --------------------------------------------------------------------------------------------
    ## PAGE
-------------------------------------------------------------------------------------------- */
/* head.php 전용 로케이션 스타일은 assets/css/head.css 로 분리 */




/* 공통요소 */
.psc {
    margin-bottom: 100px;
    font-size: 1.25rem;
}
.psc:last-child {
    /*margin-bottom: 125px;*/
}
.psc .cont {
    font-size: 1.125rem;
    font-weight: 300;
}


.list-type .strong,
.list-type li,
.list-type .pstxt {
    position: relative;
    padding-left: 20px;
}
.list-type .strong::before,
.list-type li::before,
.list-type .pstxt::before {
    position: absolute;
    display: block;
    content: '※';
    top: 0;
    left: 0;
}
.list-type li::before {
    content: '＊';
}
.list-type .pstxt::before {
    content: '－';
}


.image-group {
    position: relative;
    line-height: 0;
}
.image-group .ori-img-link {
    position: absolute;
    display: none;
    width: 40px;
    height: 40px;
    top: -1px;
    right: -1px;
    z-index: 1;
    color: #fff;
    font-size: 20px;
    text-align: center;
    line-height: 38px;
    opacity: 0.5;
    background: rgba(0,0,0,1);
    border: 1px solid #333;
    transition: opacity 250ms ease;
}
.ori-img-link:hover {
    opacity: 1;
}


.tbl-area {
    width: 100%;
    padding-bottom: 15px;
    overflow-x: auto;
}
.tbl-area table {
    width: 100%;
    min-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    border-collapse: collapse;
    border-spacing: 0;
}
.tbl-area table th,
.tbl-area table td {
    padding: 20px 10px;
    font-weight: 300;
}
.tbl-area table th {
    font-size: 1.25rem;
    font-weight: 600;
}


.ptitle {
    margin: 45px auto 60px;
}
.ptitle h3 {
    font-size: 2.25rem;
    font-weight: 700;
    text-align: left;
}


.pstitle {
    position: relative;
    margin-bottom: 25px;
    padding-left: 35px;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 30px;
}
.pstitle::before {
    position: absolute;
    display: block;
    content: '';
    width: 24px;
    height: 24px;
    top: 3px;
    left: 0;
    line-height: 1.4;
    background-image: url('../img/common/depth_bullet.png');
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
}
.pstitle a {
    position: absolute;
    display: inline-block;
    margin-left: 10px;
    padding: 2px 10px;
    top: 50%;
    color: #fff;
    font-size: 1rem;
    background: #ad0000;
    transform: translateY(-50%);
}


.txt-dep2 {
    margin-left: 35px;
}
.txt-dep3 {
    margin-left: 70px;
}
.txt-dep2 .txt-dep3.list-type {
    margin-left: 15px;
}
.txt-dep4 {
    margin-left: 105px;
}


.border-link-area {
    display: flex;
}
.border-link {
    width: 23.5%;
    margin-left: 2%;
}
.border-link:first-child {
    margin-left: 0;
}
.border-link a {
    position: relative;
    display: block;
    height: 100%;
    padding: 20px 25px;
    color: #b6985a;
    font-size: 1.125rem;
    font-weight: 500;
    border: 1px solid #b6985a;
    transition: color 250ms ease, border 250ms ease;
}
.border-link a::before {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    border: 1px solid #ad0000;
    opacity: 0;
    transition: opacity 250ms ease;
}
.border-link a p {
    margin-bottom: 5px;
    color: #000;
}
.border-link a .arrow {
    position: relative;
    display: inline-block;
    font-size: 1rem;
}
.border-link a:hover {
    color: #ad0000;
    border-color: #ad0000;
}
.border-link a:hover::before {
    opacity: 1;
}
.border-link a .arrow::before,
.border-link a .arrow::after {
    position: absolute;
    display: block;
    content: '';
    width: 50px;
    height: 11px;
    right: -58px;
    bottom: 3px;
    background-color: #fff;
    background-image: url('../img/common/arrow_type_1.png');
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 50px 11px;
}
.border-link a .arrow::after {
    background-image: url('../img/common/arrow_type_1_over.png');
    opacity: 0;
    transition: opacity 250ms ease;
}
.border-link a:hover .arrow::after {
    opacity: 1;
}


/* PAGE */
.cont .dot-list {
    position: relative;
    margin-top: 5px;
    padding-left: 20px;
    line-height: 1.5;
}
.cont .dot-list:first-child {
    margin-top: 0;
}
.cont .dot-list i {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    color: #ad0000;
    line-height: 1.5;
    transform: scale(0.8);
}





.gwnu-a-popup {
    position: fixed;
    display: none;
    width: 90%;
    max-width: 420px;
    padding: 30px 10px;
    top: 50%;
    left: 50%;
    z-index: 997;
    font-size: 1em;
    font-weight: 400;
    text-align: center;
    background: #fff;
    border: 1px solid #ad0000;
    transform: translate(-50%, -50%);
    box-shadow: 9px 9px 0 rgba(174,0,85,0.35);
}
.gwnu-a-popup a {
    color: #000;
    transition: color 250ms ease;
}
.gwnu-a-popup a:hover {
    color: #ad0000;
}
/* 클래스명 변경 */
.gwnu-a-popup .close-message-popup {
    display: block;
    width: 120px;
    height: 40px;
    margin: 30px auto 0;
    color: #fff;
    font-weight: 500;
    text-align: center;
    line-height: 40px;
    background: #ad0000;
}

.marbtm100 {
    margin-bottom: 100px;
}
.flex-align-center {
    justify-content: center;
}
.marbtm70 {
    margin-bottom: 70px;
}



/* --------------------------------------------------------------------------------------------
    ## SITEMAP
-------------------------------------------------------------------------------------------- */
.sitemap .group {
    position: relative;
    display: flex;
    margin-top: 55px;
    padding: 20px 0;
}
.sitemap .group::after {
    position: absolute;
    content: '';
    width: 1px;
    height: 100%;
    top: 0;
    left: 22%;
    background: #d2d2d2;
}
.sitemap .group:first-child {
    margin-top: 0;
}
.sitemap .pstitle {
    width: 20%;
    margin-right: 4%;
    margin-bottom: 0;
}
.sitemap .pstitle p {
}
.sitemap .pstitle span {
    font-size: 1.125rem;
    font-weight: 300;
}
.sitemap .cont {
    position: relative;
    display: flex;
    width: 76%;
    flex-wrap: wrap
}
.sitemap .cont .colspan {
    width: 23.5%;
    margin-top: 2%;
    margin-left: 2%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}
.sitemap .cont .colspan:nth-child(-n+4) {
    margin-top: 0;
}
.sitemap .cont .colspan:nth-child(4n+1) {
    margin-left: 0;
}
.sitemap .cont .colspan a {
    display: block;
    color: #000;
    transition: color 250ms ease, border 250ms ease;
}
.sitemap .cont .colspan > a {
    padding: 15px 5px;
    font-size: 1.25rem;
    text-align: center;
    line-height: 1.4;
    border: 1px solid #d2d2d2;
    flex: 1;
}
.sitemap .cont .colspan a:hover {
    color: #ad0000;
    border-color: #ad0000;
}
.sitemap .cont .dep2 li {
    margin-left: 5px;
}
.sitemap .cont .dep2 li a {
    display: block;
    margin-top: 15px;
}

.tbl-scroll {width: 100%;overflow-y: auto;}
.tbl-scroll .tbl {min-width: 700px;}

/* --------------------------------------------------------------------------------------------
    ## LGOIN
-------------------------------------------------------------------------------------------- */
.login-wrap {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 10;
}
.login-inner {
    position: absolute;
    width: 90%;
    max-width: 520px;
    margin: 0;
    padding: 50px;
    top: 50%;
    left: 50%;
    background: #fff;
    border: 1px solid #dcdcdc;
    box-shadow: 13px 13px 2px rgba(34,31,31,0.2);
    transform: translate(-50%, -50%);
}
.login-header {
    margin-bottom: 40px;
}
.login-header .logo {
    width: 240px;
    height: 62px;
    margin: 0 auto;
}
.login-header .logo a {
    display: block;
    width: 100%;
    height: 100%;
    text-indent: -9999px;
    line-height: 0;
    outline: 0;
    background-image: url('../img/common/logo.png');
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
}
.login-content {
    margin-bottom: 30px;
}
.login-content .input-text {
    display: block;
    width: 100%;
    height: 70px;
    margin-top: 15px;
    padding: 0 15px;
    color: #777;
    font-size: 1.125rem;
    line-height: 68px;
    border: 1px solid #dcdcdc;
    transition: border 250ms ease;
}
.login-content .input-text:first-child {
    margin-top: 0;
}
.login-content .input-text:hover,
.login-content .input-text:focus {
    border-color: #ad0000;
}
.login-content .login-button {
    display: block;
    width: 100%;
    height: 70px;
    margin-top: 30px;
    color: #fff;
    font-size: 1.25rem;
    font-weight: 500;
    text-align: center;
    line-height: 70px;
    background: #ad0000;
    border-radius: 7px;
    transition: background 0.2s ease, box-shadow 0.2s ease;
    cursor: pointer;
}
.login-content .login-button:hover,
.login-content .login-button:focus {
    background: #8c0000;
    box-shadow: 0 4px 14px rgba(173, 0, 0, 0.4);
}
.login-content .login-auto {
    position: relative;
    display: block;
    width: 150px;
    margin-top: 15px;
    color: #777;
    cursor: pointer;
}
.login-content .login-auto input {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    line-height: 0;
    opacity: 0;
    border: 1px solid transparent;
}
.login-content .checkbox-area {
    position: relative;
    width: 100%;
    height: 30px;
    font-size: 1.25rem;
    line-height: 0;
}
.login-content .login-auto i,
.login-content .login-auto span {
    position: absolute;
    width: 100%;
    height: 30px;
    top: 50%;
    left: 0;
    font-size: 1.25rem;
    line-height: 30px;
    transform: translateY(-50%);
    transition: color 250ms ease, opacity 250ms ease;
}
.login-content .login-auto .auto-login-no {
    color: #dcdcdc;
    opacity: 1;
}
.login-content .login-auto .auto-login-ok {
    color: #ad0000;
    opacity: 0;
}
.login-content .login-auto input:checked + .checkbox-area .auto-login-no {
    opacity: 0;
}
.login-content .login-auto input:checked + .checkbox-area .auto-login-ok {
    opacity: 1;
}
.login-content .login-auto input:hover + .checkbox-area i,
.login-content .login-auto input:focus + .checkbox-area i {
    color: #ad0000;
}
.login-content .login-auto span {
    left: 30px;
    font-size: 1.125rem;
}

.login-footer .pos-rel {
    position: relative;
    display: flex;
    width: 100%;
    line-height: 0;
    border: 1px solid #dcdcdc;
}
.login-footer a {
    position: relative;
    display: block;
    width: 38%;
    height: 60px;
    padding: 0 5px;
    color: #777;
    font-size: 1rem;
    text-align: center;
    line-height: 60px;
    letter-spacing: -0.075rem;
    transition: color 250ms ease;
}
.login-footer a:first-child {
    width: 33%;
}
.login-footer a:last-child {
    width: 29%;
}
.login-footer a:hover {
    color: #ad0000;
}
.login-footer a::before {
    position: absolute;
    content: '';
    width: 1px;
    height: 16px;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    background: #dcdcdc;
}
.login-footer a:first-child::before {
    display: none;
}
.login-background {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: linear-gradient(130deg, #ad0000 45%, #6b0000 45%);
}



/* --------------------------------------------------------------------------------------------
    ## BOARD
-------------------------------------------------------------------------------------------- */
.join-step-area {
    display: flex;
}
.join-step-area div {
    width: 33.33333333333333%;
    height: 66px;
    font-size: 1.375rem;
    color: #000;
    text-align: center;
    line-height: 64px;
    background: #fff;
    border: 1px solid #dcdcdc;
    border-left: 0;
}
.join-step-area div:first-child {
    border-left: 1px solid #dcdcdc;
}
.join-step-area .current {
    color: #fff;
    background: #ad0000;
    border-color: #ad0000;
}
.member_join_s1 .abtn-area {
    text-align: right;
}
.member_join_s1 .abtn-area label {
    position: relative;
    display: inline-block;
    cursor: pointer;
}
.member_join_s1 .abtn-area label input {
    position: absolute;
    width: 0;
    height: 0;
    top: 0;
    left: 0;
    overflow: hidden;
    border: 0;
}
.member_join_s1 .abtn-area label span {
    position: relative;
    display: block;
    width: 100%;
    height: 50px;
    padding: 0 25px;
    z-index: 1;
    color: #7d7d7d;
    font-size: 1.125rem;
    text-align: center;
    line-height: 48px;
    background: #fff;
    border: 1px solid #dcdcdc;
    transition: color 250ms ease, background 250ms ease, border 250ms ease;
}
.member_join_s1 .abtn-area label .agreement-btn:focus + span {
    color: #ad0000;
    border-color: #ad0000;
}
.member_join_s1 .abtn-area label .agreement-btn:hover + span,
.member_join_s1 .abtn-area label .agreement-btn:checked + span,
.member_join_s1 .abtn-area label .agreement-btn:checked:hover + span,
.member_join_s1 .abtn-area label .agreement-btn:checked:focus + span {
    color: #fff;
    background: #ad0000;
    border-color: #ad0000;
}
.member_join_s1 .atxt-box-area {
    height: 280px;
    margin-bottom: 25px;
    padding: 20px;
    overflow: auto;
    font-size: 1.125rem;
    border: 1px solid #dcdcdc;
}

.member_join_s2 .help-text {
    margin: 0 0 30px 35px;
    font-size: 1.125rem;
    font-weight: 300;
}
.member_join_s2 .help-text i,
.member_join_s2 i.required {
    color: #ad0000;
}
.member_join_s2 .ifield {
    padding: 20px 0;
    font-size: 1.125rem;
    border-top: 3px solid #000;
}
.member_join_s2 .cgroup {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #dcdcdc;
}
.member_join_s2 .lsubject {
    width: 210px;
    margin-right: 40px;
    padding: 35px 20px 35px 30px;
    font-size: 1.25rem;
}
.member_join_s2 .rcont {
    display: flex;
    width: calc(100% - 250px);
    padding: 20px 0;
    align-items: center;
}
.member_join_s2 .lsubject .ion-ios-medical,
.member_join_s2 .rcont .fa-circle-exclamation {
    color: #ad0000;
}
.member_join_s2 .field-1 {
    width: 480px;
}
.member_join_s2 .field-2,
.member_join_s2 .field-3 {
    margin-left: 15px;
}
.member_join_s2 .cgroup1 .field-3,
.member_join_s2 .cgroup2 .field-2 {
    width: 100%;
    margin: 10px 0 0 0;
}
.member_join_s2 .check-button {
    display: block;
    width: 125px;
    height: 50px;
    color: #fff;
    text-align: center;
    line-height: 50px;
    background: #535353;
    transition: background 250ms ease;
}
.member_join_s2 .rcont .itext {
    width: 100%;
    height: 50px;
    padding: 0 20px;
    line-height: 48px;
    border: 1px solid #dcdcdc;
}
.member_join_s2 .rcont select {
    height: 50px;
    padding: 0 20px;
    line-height: 48px;
    border: 1px solid #dcdcdc;
}
.member_join_s2 .row-wrap {
    flex-flow: row wrap;
}
.member_join_s2 .cmail-area .field-1 {
    width: 480px;
}
.member_join_s2 .cmail-area .field-2 {
    width: 125px;
}
.member_join_s2 .cmail-area .gap {
    width: calc(100% - 620px);
    height: 10px;
}
.member_join_s2 .cmail-area .input-mail {
    width: calc(100% - 208px);
}
.member_join_s2 .cmail-area .at-sign {
    width: 15px;
    text-align: center;
}
.member_join_s2 .cmail-area .choice-mail {
    width: 185px;
}
.member_join_s2 .cmail-area p {
    display: block;
    width: 100%;
    margin-top: 10px;
}
.member_join_s2 .phone-number .rcont input {
    width: calc(33.3333333333333% - 5px);
    text-align: center;
}
.member_join_s2 .phone-number .rcont input:first-child {
    width: calc(33.3333333333333% - 22px);
}
.member_join_s2 .phone-number .hyphen {
    width: 10px;
}
.member_join_s2 .check-button:hover {
    background: #ad0000;
}

.member_join_s3_02 .inner {
    text-align: center;
}
.member_join_s3_02 .member-join-logo {
    width: 240px;
    height: 62px;
    margin: 0 auto 50px;
    background-image: url('../img/common/logo.png');
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
}
.member_join_s3_02 .join-complete-txt {
    margin: 0 auto 100px;
    font-size: 1.5rem;
    font-weight: 500;
    text-align: center;
}
.member_join_s3_02 .join-loged-btn {
    display: block;
    width: 100%;
    max-width: 340px;
    height: 66px;
    margin: 0 auto 250px;
    padding: 0 5px;
    z-index: 1;
    color: #fff;
    font-size: 1.5rem;
    text-align: center;
    line-height: 64px;
    background: #ad0000;
    border: 1px solid #ad0000;
    transition: color 250ms ease, background 250ms ease, border 250ms ease;
}
.member_join_s3_02 .join-loged-btn:hover {
    color: #ad0000;
    background: #fff;
    border-color: #ad0000;
}

.member-join-btn-area .top-text-area {
    margin: 0 auto 45px;
    padding-top: 75px;
    font-size: 1.125rem;
    font-weight: 300;
    text-align: center;
    border-top: 2px dashed #dcdcdc;
}
.member-join-btn-area .top-text-area i {
    color: #ad0000;
}
.member-join-btn-area .top-text-area strong {
    font-weight: 500;
}
.member-join-btn-area .btm-btn-area {
    display: flex;
    justify-content: center;
    align-items: center;
}
.member-join-btn-area .btm-btn-area a,
.member-join-btn-area .btm-btn-area button,
.member-join-btn-area .btm-btn-area input {
    display: block;
    width: 100%;
    max-width: 340px;
    height: 66px;
    padding: 0 5px;
    z-index: 1;
    color: #ad0000;
    font-size: 1.5rem;
    text-align: center;
    line-height: 64px;
    background: #fff;
    border: 1px solid #ad0000;
    transition: color 250ms ease, background 250ms ease, border 250ms ease;
}
.member-join-btn-area .btm-btn-area a:first-child,
.member-join-btn-area .btm-btn-area button:first-child,
.member-join-btn-area .btm-btn-area input:first-child {
    margin-right: 15px;
}
.member-join-btn-area .btm-btn-area a:hover,
.member-join-btn-area .btm-btn-area button:hover,
.member-join-btn-area .btm-btn-area input:hover {
    color: #fff;
    background: #ad0000;
    border-color: #ad0000;
}
.member-join-btn-area .btm-btn-area-2 a,
.member-join-btn-area .btm-btn-area-2 button,
.member-join-btn-area .btm-btn-area-2 input {
    color: #fff;
    background: #ad0000;
    border-color: #ad0000;
}
.member-join-btn-area .btm-btn-area-2 a:first-child,
.member-join-btn-area .btm-btn-area-2 button:first-child,
.member-join-btn-area .btm-btn-area-2 input:first-child {
    color: #000;
    background: #fff;
    border-color: #dcdcdc;
}
.member-join-btn-area .btm-btn-area-2 a:hover,
.member-join-btn-area .btm-btn-area-2 button:hover,
.member-join-btn-area .btm-btn-area-2 input:hover {
    color: #ad0000;
    background: #fff;
    border-color: #ad0000;
}



/* --------------------------------------------------------------------------------------------
    ## BOARD
-------------------------------------------------------------------------------------------- */



/* --------------------------------------------------------------------------------------------
    ## INTERNET EXPLORER
-------------------------------------------------------------------------------------------- */
.msie {}


/* --------------------------------------------------------------------------------------------
    ## MOBILE
-------------------------------------------------------------------------------------------- */
@media (-webkit-min-device-pixel-ratio: 2) {
    .mobile #footer .flogo                       {background-image: url('../img/common/flogo_small@2x.png');}
    .mobile .pstitle::before                     {background-image: url('../img/common/depth_bullet@2x.png');}
    .mobile .login-header .logo a                {background-image: url('../img/common/logo@2x.png');}
    .mobile .member_join_s3_02 .member-join-logo {background-image: url('../img/common/logo@2x.png');}
}
@media (-webkit-min-device-pixel-ratio: 3) {
    .mobile #footer .flogo                       {background-image: url('../img/common/flogo_small@3x.png');}
    .mobile .pstitle::before                     {background-image: url('../img/common/depth_bullet@3x.png');}
    .mobile .login-header .logo a                {background-image: url('../img/common/logo@3x.png');}
    .mobile .member_join_s3_02 .member-join-logo {background-image: url('../img/common/logo@3x.png');}
}

@media (-webkit-min-device-pixel-ratio: 1) and (max-width: 1024px) {
    .mobile #header .wide-inner h1 a {background-image: url('../img/common/logo_small.png');}
    .mobile #footer .flogo           {background-image: url('../img/common/flogo_small.png');}
}
@media (-webkit-min-device-pixel-ratio: 2) and (max-width: 1024px) {
    .mobile #header .wide-inner h1 a {background-image: url('../img/common/logo_small@2x.png');}
    .mobile #footer .flogo           {background-image: url('../img/common/flogo_small@2x.png');}
}
@media (-webkit-min-device-pixel-ratio: 3) and (max-width: 1024px) {
    .mobile #header .wide-inner h1 a {background-image: url('../img/common/logo_small@3x.png');}
    .mobile #footer .flogo           {background-image: url('../img/common/flogo_small@3x.png');}
}


/* --------------------------------------------------------------------------------------------
    ## RESPONSIVE
-------------------------------------------------------------------------------------------- */
@media screen and (max-width: 1440px) {
    .main section .mstitle p {
        text-align: center;
    }
}


@media screen and (max-width: 1400px) {
    #footer .flogo {
        position: static;
        margin-bottom: 35px;
    }
    #footer .group {
        margin-left: 0;
    }
}


@media screen and (max-width: 1280px) {
    /* Google Nexus 7 Landscape */

    #header #menu {
    }

    .member_join_s2 .help-block {margin-top: 10px;margin-left: 0;}
}


@media screen and (min-width: 1025px) and (max-width: 1200px) {
    /* FONT SIZE */
    #header #menu #gnb h3 strong {
        font-size: 1.125rem;
    }
    #header #menu #gnb li li a {
        font-size: 1rem;
    }

    .ptitle h3 {
        font-size: 2.25rem;
    }

    .main section .mstitle h3,
    .main .ms01 h3 {
        font-size: 2rem;
    }

    .main .ms01 .swiper-page-num2,
    .main .ms01 .swiper-slide .news-title {
        font-size: 1.625rem;
    }

    .main .ms02 a .noti-title,
    .pstitle {
        font-size: 1.375rem;
    }

    .main section .mstitle p,
    .main .ms01 .swiper-slide .news-conts,
    .main .ms01 .swiper-slide .news-date,
    .main .ms02 a .noti-conts,
    .main .ms02 a .noti-date {
        font-size: 1.125rem;
    }

    #footer {
        font-size: 1rem;
    }

}

@media screen and (max-width: 1024px) {
    /* Tablet Landscape */


    /* HEADER - MOBILE MENU ACTIVATION */
    #header {
        position: fixed;
        width: 100%;
        top: 0;
        left: 0;
        background: rgba(255, 255, 255, 0.95);
        border-bottom: 1px solid #dcdcdc;
    }
    #header,
    #header .h-btm-area,
    .hblank {
        height: 70px;
    }
    #header .h-top-area {
        display: block;
        height: 70px;
    }
    #header .h-top-area .top-center {
        display: flex;
    }
    #header .h-top-area .top-right,
    #header .h-top-area .top-left {
        display: none;
    }

    /* MOBILE MENU TOGGLE BTN */
    #header #btn_m_toggle {
        position: fixed;
        display: flex;
        opacity: 1;
        top: 15px;
        right: 25px;
        z-index: 999;
    }
    #header .h-top-area .top-center .mobile-menu-btn {
        display: block;
    }
    #header .wide-inner h1 {
        width: 194px;
        height: 50px;
        margin: -25px 0 0 -97px;
        left: 50%;
    }
    #header .wide-inner h1 a {
        background-image: url('../img/common/logo_small.png');
    }
    #header #menu,
    #header .h-btm-area,
    #header .h-btm-area .other {
        display: none;
    }

    /* DESKTOP GNB HIDDEN */
    #header .gnbline {
        display: none;
    }

    .ptitle h3 {
        text-align: center;
    }

    #footer .flogo {
        width: 155px;
        height: 40px;
        background-image: url('../img/common/flogo_small.png');
    }
    #footer .frgroup {
        margin: 0 0 0 150px;
        line-height: 1.4;
    }

    #footer .ftop .fmenu {
        justify-content: center;
    }

    #footer .fbottom {
        padding-top: 0;
    }
    #footer .fbottom .wide-inner {
        display: block;
    }
    #footer .fbottom .copyright {
        padding-top: 40px;
    }
    #footer .fbottom .fmenu {
        position: absolute;
        top: 30px;
        left: 0;
        text-align: left;
    }


    .main .open_time .right_group {
        position: static;
        height: auto;
        margin: 0 0 0 70px;
        text-align: left;
    }


    .asnb {
        width: 0;
        left: 0;
        visibility: hidden;
        overflow: hidden;
    }
    #content {
        margin-left: 0;
    }


    .main .ms02 .colspan::before {
        display: none;
    }
    .main .ms02 .colspan a {
        position: static;
        padding: 20px 20px 7.5vw;
    }
    .main .ms02 a .noti-title {
        margin-bottom: 1.5vw;
    }
    .main .ms02 a .noti-date {
        padding: 0 20px 20px;
    }

    .image-group .ori-img-link {
        display: block;
    }



    .border-link-area {
        flex-wrap: wrap;
        justify-content: center;
    }
    .border-link {
        width: 300px;
        margin-top: 2%;
        margin-left: 2%;
    }
    .border-link:nth-child(-n+2) {
        margin-top: 0;
    }
    .border-link:nth-child(2n+1) {
        margin-left: 0;
    }
    .border-link a {
        padding: 15px;
    }


    .sitemap .group {
        flex-direction: column;
    }
    .sitemap .group::after {
        position: absolute;
        content: '';
        width: 100%;
        height: 1px;
        top: 70px;
        left: 0;
    }
    .sitemap .group:first-child {
        margin-top: 0;
    }
    .sitemap .pstitle {
        width: 100%;
        margin-right: 0;
        margin-bottom: 20px;
        padding-bottom: 20px;
    }
    .sitemap .pstitle p {
        display: inline-block;
    }
    .sitemap .cont {
        width: 100%;
    }




    .login-content .input-text,
    .login-content .checkbox-area {
        height: 60px;
        line-height: 58px;
    }
    .login-content .login-button,
    .login-content .login-auto i,
    .login-content .login-auto span {
        height: 60px;
        line-height: 60px;
    }
    .login-content .login-auto i,
    .login-content .login-auto span {
        height: 25px;
        line-height: 25px;
    }



    .join-step-area div {
        height: 50px;
        line-height: 48px;
        font-size: 1rem;
    }
    .member_join_s2 .field-1,
    .member_join_s2 .cmail-area .field-1,
    .member_join_s2 .field-2,
    .member_join_s2 .cmail-area .field-2,
    .member_join_s2 .field-3 {
        width: 100%;
        margin-left: 0;
    }
    .member_join_s2 .field-2 {
        margin-top: 10px;
    }
    .member_join_s2 .check-button {
        width: 100%;
        margin: 0 auto;
    }
    .member-join-btn-area .btm-btn-area a,
    .member-join-btn-area .btm-btn-area button,
    .member-join-btn-area .btm-btn-area input,
    .member_join_s3_02 .join-loged-btn {
        max-width: 220px;
        font-size: 1.125rem;
    }
    .member_join_s2 .lsubject {
        font-size: 1.125rem;
    }
    .member_join_s2 .ifield {
        font-size: 1rem;
    }
}

@media screen and (max-width: 568px) {
    /* iPhone 5 Landscape */

    /* 추가 */
    /* Mobile: Banner grid - 2 columns */
    .main .ms02 .banner-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
    }

    .main .ms02 .banner-item {
        border-radius: 8px;
    }

    .main .ms02 .banner-title {
        padding: 12px 16px;
    }
}


@media screen and (max-width: 560px) {
    .join-step-area {
        flex-direction: column;
    }
    .join-step-area div {
        width: 100%;
        border: 1px solid #dcdcdc;
    }
    .join-step-area div:nth-child(2) {
        border-top: 0;
        border-bottom: 0;
    }
    .join-step-area .current {
        display: block;
        font-size: 1.125rem;
        opacity: 1;
    }
}


@media screen and (max-width: 480px) {
    .sitemap .group {
        margin-top: 15px;
    }
    .sitemap .cont .colspan {
        width: 100%;
        margin-top: 4%;
        margin-left: 0;
    }
    .sitemap .cont .colspan:nth-child(-n+4),
    .sitemap .cont .colspan:nth-child(-n+3),
    .sitemap .cont .colspan:nth-child(-n+2) {
        margin-top: 4%;
    }
    .sitemap .cont .colspan:nth-child(4n+1),
    .sitemap .cont .colspan:nth-child(3n+1),
    .sitemap .cont .colspan:nth-child(2n+1) {
        margin-left: 0;
    }
    .sitemap .cont .colspan:nth-child(-n+1) {
        margin-top: 0;
    }


    .member_join_s1 .abtn-area label {
        display: block;
    }
    .member-join-btn-area .btm-btn-area {
        flex-direction: column;
    }
    .member-join-btn-area .btm-btn-area a,
    .member-join-btn-area .btm-btn-area button,
    .member-join-btn-area .btm-btn-area input {
        display: block;
        max-width: 100%;
        margin: 10px auto 0;
    }
    .member-join-btn-area .btm-btn-area a:first-child,
    .member-join-btn-area .btm-btn-area button:first-child,
    .member-join-btn-area .btm-btn-area input:first-child {
        margin: 0;
    }
    .member-join-btn-area .btm-btn-area-2 {
        flex-direction: row;
    }
    .member-join-btn-area .btm-btn-area-2 a,
    .member-join-btn-area .btm-btn-area-2 button,
    .member-join-btn-area .btm-btn-area-2 input {
        display: block;
        max-width: 49%;
        margin: 0 0 0 2%;
    }
    .member-join-btn-area .btm-btn-area-2 a:first-child,
    .member-join-btn-area .btm-btn-area-2 button:first-child,
    .member-join-btn-area .btm-btn-area-2 input:first-child {
        margin-left: 0;
    }
}


@media screen and (max-width: 430px) {
    /* iPhone 14 Pro Max Portrait */
    /* FONT SIZE */
    html {
        font-size: 14px;
    }

    .main .ms01 .swiper-page-num2,
    .main .ms01 .swiper-slide .news-title {
        font-size: 1.125rem;
    }

    .main .ms02 a .noti-title {
        font-size: 1rem;
    }

    .main section .mstitle p,
    .main .ms01 .swiper-slide .news-conts,
    .main .ms01 .swiper-slide .news-date,
    .main .ms02 a .noti-conts,
    .main .ms02 a .noti-date {
        font-size: 0.875rem;
    }

    #footer {
        padding: 30px 0;
        font-size: 0.75rem;
    }
    #footer .copyright {
        width: 100%;
        margin-top: 0;
        padding-top: 0;
        text-align: center;
    }
    #footer .fbottom .fmenu {
        position: absolute;
        width: 100%;
        left: 0;
        text-align: center;
    }

    /* head.php 전용 비주얼/로케이션 반응형은 assets/css/head.css 로 분리 */

    .main .ms02 .wide-inner {
        padding: 0;
    }


    .main section {
        margin-top: 35px;
    }
    .main .ms01 .info-btn-area {
        width: 200px;
    }

    /* Mobile: Banner grid - 1 column */
    .main .ms02 .banner-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .main .ms02 .banner-item {
        border-radius: 8px;
    }

    .main .ms02 .banner-img {
        aspect-ratio: 16/9;
    }

    .main .ms02 .banner-title {
        padding: 10px 14px;
    }

    #footer .flogo {
        margin-left: auto;
        margin-right: auto;
    }
    #footer .lnk01 {
        width: 120px;
        height: 36px;
        line-height: 34px;
    }
    #footer .floc {
        margin-top: 10px;
    }
    #footer .floc:first-child {
        margin-top: 0;
    }
    #footer .floc span {
        display: block;
        line-height: 24px;
    }
    #footer .floc .slush {
        display: none;
    }
    #footer .copyright {
        text-align: center;
    }
    #footer .copyright span {
        display: block;
    }
    #footer .copyright .mshow {
        display: none;
    }
    #footer .copyright .mview {
        display: inline;
    }

    .ptitle {
        margin: 40px auto;
    }
    .pstitle {
        margin-bottom: 10px;
    }

    .marbtm100 {
        margin-bottom: 60px;
    }
    .marbtm70 {
        margin-bottom: 35px;
    }


    .sitemap .cont .colspan > a {
        padding: 12px 5px;
        font-size: 1.125rem;
    }
    .sitemap .cont .dep2 li a {
        margin-top: 5px;
    }


    .login-inner {
        max-width: 320px;
        padding: 30px;
    }
    .login-header {
        margin-bottom: 30px;
    }
    .login-header .logo {
        width: 170px;
        height: 44px;
    }
    .login-content {
        margin-bottom: 15px;
    }
    .login-content .input-text,
    .login-content .checkbox-area,
    .login-content .login-button,
    .login-content .login-auto i,
    .login-content .login-auto span {
        height: 40px;
        font-size: 1rem;
        line-height: 40px;
    }
    .login-content .input-text {
        margin-top: 10px;
    }
    .login-content .login-button {
        margin-top: 20px;
    }
    .login-content .login-auto {
        margin-top: 0;
    }
    .login-content .login-auto i,
    .login-content .login-auto span {
        height: 24px;
        line-height: 24px;
    }
    .login-content .login-auto span {
        left: 25px;
    }
    .login-footer a {
        height: 40px;
        font-size: 13px;
        line-height: 40px;
    }


    .member_join_s2 .cmail-area .input-mail,
    .member_join_s2 .cmail-area .choice-mail {
        width: 100%;
    }
    .member_join_s2 .cmail-area .input-mail {
        margin-bottom: 2px;
    }
    .member_join_s2 .cgroup5 .field-1 span {
        display: none;
    }
    .member_join_s2 .rcont .itext,
    .member_join_s2 .rcont select {
        height: 42px;
        padding: 0 15px;
        line-height: 40px;
    }
    .member-join-btn-area .btm-btn-area a,
    .member-join-btn-area .btm-btn-area button,
    .member-join-btn-area .btm-btn-area input {
        padding: 15px 10px;
        font-size: 1.125rem;
    }
}


@media screen and (max-width: 428px) {
    /* iPhone 12/13 Pro Max Portrait */

}


@media screen and (max-width: 414px) {
    /* iPhone 6/7/8 Plus/11Pro Max Portrait */

}


@media screen and (max-width: 412px) {
    /* Galaxy Note 20, Galaxy S20 Ultra Portrait */

}


@media screen and (max-width: 390px) {
    /* iPhone 12 Plus Pro Portrait */

}


@media screen and (max-width: 384px) {
    /* Galaxy Note 20/S20 Plus Portrait */

}


@media screen and (max-width: 375px) {
    /* iPhone 6/7/8/11Pro/12/13Mini/se2 Portrait */

}


@media screen and (max-width: 360px) {
    /* Mobile Portrait */
}


@media screen and (max-width: 359px) {
    /* iPhone 5 Portrait */
    .login-footer a {
        font-size: 11px;
    }

    .member_join_s1 .abtn-area label span {
        padding: 0 10px;
        font-size: 1.0625rem;
    }
}


@media screen and (max-width: 319px) {
    /* iPhone 5 Portrait */
    .member_join_s1 .abtn-area label span {
        font-size: 0.975rem;
    }
}


/* --------------------------------------------------------------------------------------------
	## SIDEBAR (ko $is_page 용)
-------------------------------------------------------------------------------------------- */
/* 컨테이너 (사이드바 + 본문 래퍼) */
body #container.site-has-sidebar {
    padding: 50px 0 80px;
}

body #container.site-has-sidebar > .wide-inner {
    display: flex;
    align-items: flex-start;
    gap: 40px;
    padding-bottom: 50px;
    width: 100%;
}

/* 본문 영역 */
body .site-content {
    flex: 1 1 0;
    min-width: 0;
    background: #fff;
    width: 100%;
}

.content-location {
    margin: 10px 0 20px;
}

.content-location p {
    margin: 0;
    color: #666;
    font-size: 1.0625rem;
    line-height: 1.5;
}

.content-location .item.home {
    display: inline-flex;
    align-items: center;
    font-size: 1.125rem;
    line-height: 1;
    position: relative;
}

.content-location .sep {
    display: inline-block;
    margin: 0 8px;
    color: #999;
}

.content-location .item:last-child {
    color: #111;
    font-weight: 500;
}

.site-content h4 {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 10px;
}

.site-content h5 {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 8px;
}

.site-content fieldset {
    border: none;
}

/* 응답형 — 1024px 이하에서 사이드바 숨김 + 본문 100% */
@media (max-width: 1024px) {
    body #container.site-has-sidebar {
        padding: 0;
    }

    body #container.site-has-sidebar > .wide-inner {
        display: block;
        gap: 0;
    }


    body .site-content {
        width: 100%;
        max-width: 100%;
        flex: none;
    }

    .content-location {
        display: none;
    }
}
