/* --------------------------------reset-------------------------------- */
*{margin:0;padding:0;box-sizing:border-box;font:inherit;color:inherit;flex-shrink:0;}
html, body {font-size:16px; color: #444444; letter-spacing: -0.03em;}
@media screen and (min-width:1024.1px) and (max-width:1280px) {
    html, body {font-size: 15px;}
}/* md1 */
@media screen and (min-width:767.1px) and (max-width:1024px) {
    html, body {font-size: 14px;}
}/* md2 */
@media screen and (max-width:767px) {
    html, body {font-size: 13px;}
}/* sm */
body, button, input, select, table, textarea{font-family: 'campton', 'suite', sans-serif; }
/* body, button, input, select, table, textarea{font-family: 'suite', sans-serif; } */
body {-webkit-text-size-adjust:none;}
h1, h2, h3, h4, h5, h6 {font-size:inherit;line-height:inherit}
ul,ol,dl,menu,li {list-style:none}
a, a:active, a:hover {text-decoration:none}
button, input {-webkit-border-radius:0;border-radius:0;border:0}
button {background-color:transparent}
blockquote, q {quotes:none;}
:after, :before {box-sizing:inherit}
img, picture, video, canvas, svg {display:block;/*max-width:100%;*/}
fieldset,img {border:0}
iframe {overflow:hidden;margin:0;border:0;padding:0;vertical-align:top}
address, em,i {font-style:normal}
textarea {-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:transparent;border:0;word-break:keep-all;word-wrap:break-word}
table {border-collapse:collapse;border-spacing:0}
td, th {padding:0}
input, select, textarea {vertical-align: middle;outline: none;box-sizing: border-box;border-radius: 0;-moz-appearance: none;-webkit-appearance: none;
appearance: none;}
/* --------------------------------reset end--------------------------- */


/* --------------------------------common------------------------------ */
#wrap {position:relative; width: 100%; min-width: 370px; overflow:hidden;}
.blind {border:0;clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;}
.clearfix::after {content:""; clear:both; display:block;}
.font_gs {font-family: 'whitney', sans-serif;}
html.fixed {height: 100%;}
html.fixed body {height: 100%; overflow: hidden;}
@media screen and (min-width: 767.1px) {
    .brm {display: none !important;}
}/* lg */
@media screen and (max-width: 767px) {
    .brd {display: none !important;}
}/* sm */
/* --------------------------------common end-------------------------- */


/* --------------------------------header------------------------------ */
#header {position:fixed;top:0;left:0;right:0;border-bottom: 1px solid rgba(255, 255, 255, 0.5);width:100%;z-index:100;background-color: transparent; transition: background-color 0.5s;}
#header .inner {position: relative; width: 92%; height:90px; margin: 0 auto;}
#header .logo_wrap {display: flex; align-items: center; position: absolute; left: 0%; top: 50%; transform: translateY(-50%);}
#header .logo_01 {width: 6.125rem; height: 3.875rem; margin-right: 2.125rem; background: url(../images/logo_gs_w.svg) no-repeat center center/100% auto;}
#header .logo_02 {width: 4.875rem; height: 3.375rem; background: url(../images/logo_header_w.svg) no-repeat center center/100% auto;}
#header .logo_wrap a {display: block; width: 100%; height: 100%;}

#header .gnb_de {position: absolute; height: 100%; left: 50%; top: 50%; transform: translate(-50%,-50%);}
#header .gnb_de >ul {display: flex; height: 100%;}
#header .gnb_de >ul >li {display: flex; align-items: center; position: relative; height: 100%;}
#header .gnb_de >ul >li:not(:last-child) {margin-right: 5.5rem;}
#header .gnb_de >ul >li >a,
#header .gnb_de >ul >li >button {font-weight: 600; font-size: 1.375rem; color: #ffffff; cursor: pointer;}

#header .m_open {position: absolute; right: -2%; top: 50%; width: 40px; height: 40px; background: url(../images/ico_hambuger_w.svg) no-repeat center center/22px auto; transform: translateY(-50%); cursor: pointer;}
.menu_mo {display: none; position: fixed; left: 0; top: 0; width: 100%; height: 100%; z-index: 101;}
.menu_mo .bg {width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.4);}
.menu_mo .inner {position: absolute; right: 0; top: 0; width: 90%; height: 100%; background-color: #ffffff;}
.menu_mo .top {position: relative; width: 100%; height: 64px; border-bottom: 1px solid #DBDBDB;}
.menu_mo .logo_wrap {display: flex; align-items: center; position: absolute; left: 4%; top: 50%; transform: translateY(-50%);}
.menu_mo .logo_01 {width: 5.5rem; height: 2.75rem; margin-right: 1rem; background: url(../images/logo_gs.svg) no-repeat center center/100% auto;}
.menu_mo .logo_02 {width: 3.5rem; height: 2.75rem;; background: url(../images/logo_header.svg) no-repeat center center/100% auto;}
.menu_mo .logo_wrap a {display: block; width: 100%; height: 100%;}
.menu_mo .m_close {position: absolute; right: 2%; top: 50%; width: 40px; height: 40px; transform: translateY(-50%); background: url(../images/ico_times.svg) no-repeat center center/20px auto; cursor: pointer;}
.menu_mo .gnb_mo {padding: 0 4%;}
.menu_mo .gnb_mo >ul >li {border-bottom: 1px solid #E8E8E8;}
.menu_mo .gnb_mo >ul >li >a,
.menu_mo .gnb_mo >ul >li >button{display: block; width: 100%; height: 56px; line-height: 56px; font-size: 1.25rem; font-weight: 600; text-align: left; cursor: pointer;}
.menu_mo .gnb_mo >ul >li.active {border-bottom: 1px solid #00827D;}
.menu_mo .gnb_mo >ul >li.active >a,
.menu_mo .gnb_mo >ul >li.active >button{color: #00827D; font-weight: 800;}

/* header on */
#header.on {border-bottom: 1px solid rgba(0, 0, 0, 0.1); background-color: #ffffff;}
#header.on .logo_01 {background-image: url(../images/logo_gs.svg);}
#header.on .logo_02 {background-image: url(../images/logo_header.svg);}
#header.on .gnb_de >ul >li >a,
#header.on .gnb_de >ul >li >button {color: #444444;}
#header.on .gnb_de >ul >li.active >a,
#header.on .gnb_de >ul >li.active >button {color: #00827D;}
#header.on .m_open {background-image: url(../images/ico_hambuger.svg);}

/* depth menu */
#header .gnb_de .depth_menu {display: none; position: absolute; left: 50%; bottom: 0; width: 120%; padding: 0.5rem 0; transform: translate(-50%,100%); border-top: 2px solid #1BADA4; background-color: #fff; box-shadow: 8px 8px 5px -4px rgba(0,0,0,0.19);-webkit-box-shadow: 8px 8px 5px -4px rgba(0,0,0,0.19);-moz-box-shadow: 8px 8px 5px -4px rgba(0,0,0,0.19);}
#header .gnb_de .depth_menu li a {display: block; padding: 1rem 0; font-size: 1.25rem; text-align: center;}
#header .gnb_de .depth_menu .active a {color: #1BADA4; font-weight: 800;}
.menu_mo .gnb_mo .depth_menu {display: none;}
.menu_mo .gnb_mo .depth_menu {padding-bottom: 1rem;}
.menu_mo .gnb_mo .depth_menu a {display: block; width: 100%; height: 40px; line-height: 40px; font-size: 1.125rem; color: #2B2B2B; font-weight: 600;}
.menu_mo .gnb_mo .depth_menu .active a {color: #1BADA4; font-weight: 800;}
@media screen and (min-width:1024.1px) {
    #header .m_open,
    .menu_mo {display: none !important;}
}/* lg ~ */
@media screen and (max-width:1400px) {
    #header .inner {height: 84px;}
    #header .logo_01 {width: 5.5rem; height: 2.75rem; margin-right: 1rem;}
    #header .logo_02 {width: 3.5rem; height: 2.75rem;}
    #header .gnb_de >ul >li:not(:last-child) {margin-right: 2rem;}
    #header .gnb_de >ul >li >a,
    #header .gnb_de >ul >li >button {font-weight: 600; font-size: 1.15rem;}
}/* xlg */
@media screen and (max-width:1024px) {
    #header .gnb_de {display: none !important;}
    #header .inner {height: 64px;}
}/* md */
@media screen and (max-width:767px) {
    #header .inner {height: 54px;}
    #header .m_open {background-size: 20px auto;}
    .menu_mo .top {height: 54px;}
    .menu_mo .m_close {background-size: 18px auto;}
}/* sm */
/* --------------------------------header end-------------------------- */


/* --------------------------------header------------------------------ */
#footer {width: 100%; padding: 2.5rem 0; border-top: 1px solid rgba(0, 0, 0, 0.1); font-size: 14px;}
#footer .inner {position: relative; display: flex; width: 92%; max-width: 1400px; margin: 0 auto;}
#footer .f_logo {width: 8.5rem; height: 2.625rem; margin-right: 5rem; background: url(../images/logo_gs_f.svg) no-repeat center center/100% auto;}
#footer .f_logo a {display: block; width: 100%; height: 100%;}
#footer .f_info {display: flex; justify-content: space-between; width: 100%; max-width: 820px;}
#footer .f_info >div {position: relative; width: 48%;}
#footer .f_info .left::after {content: ""; position: absolute; right: 0; top: 0; width: 1px; height: 76%; background-color: rgba(0, 0, 0, 0.1);}
#footer .f_info li {font-weight: 700; }
#footer .f_info li:not(:last-child) {margin-bottom: 0.5rem;}
#footer .f_info li span {display: inline-block; margin-left: 0.5rem; font-weight: 400;}
#footer .f_info li:nth-child(1) b {font-weight: 600;}
#footer .f_info .right li:nth-child(2) span:first-of-type::after {content: "l"; display: inline-block; margin: 0 0.75rem; color: #D3D3D3;}
#footer .copyright {margin-top: 2rem; color: #AFAFAF;}
#footer .go_to_bi {position: absolute; left: 0; bottom: 0; width: 8.5rem; height: 2.25rem; line-height: 2.25rem; background: url(../images/btn_bi_bg.png) no-repeat center center/100% auto ;cursor: pointer; font-weight: 800; color: #666; font-size: 0.875rem; text-align: center;}
@media screen and (max-width:1200px) {
    #footer .f_logo {margin-right: 2.5rem;}
}/* lg */
@media screen and (max-width:1024px) {
    #footer {font-size: 13px;}
    #footer .inner {flex-wrap: wrap;}
    #footer .f_logo {margin-right: 0rem; margin-bottom: 2rem;}
    #footer .f_info .left::after {height: 70%;}
    #footer .go_to_bi {left: auto; right: 0; bottom: auto; top: 0;}
}/* md */
@media screen and (max-width:767px) {
    #footer .f_logo {margin-bottom: 1.75rem;}
    #footer .f_info {position: relative; flex-wrap: wrap; padding-bottom: 2.5rem;}
    #footer .f_info >div {position: static; width: 100%;}
    #footer .f_info .left {margin-bottom: 1.25rem;}
    #footer .f_info .left::after {display: none;}
    #footer .f_info .right {padding-top: 1.25rem; border-top: 1px solid rgba(0, 0, 0, 0.1);}
    #footer .copyright {position: absolute; left: 0; bottom: 0;}
}/* sm */
/* --------------------------------header------------------------------ */



/* --------------------------------popup------------------------------ */
#popup_all > div {display: table; width:100%; position:fixed; left:0px; top:0px; z-index:150;}
#popup_all .bg {width:100%; position:absolute; left:0px; top:0px; background-color:#000; opacity:0.7;}
#popup_all > div,
#popup_all .bg {height: calc(var(--var, 1vh) * 100);}

#popup_all .out_layer_box {display:table-cell; text-align:center; vertical-align:middle;}
#popup_all .in_layer_box {display:inline-block; position:relative; z-index:10;}
#popup_all .btn_confirm {display:block; width:100%;}

#popup_all #popup_01 .in_layer_box {position: relative; width: 90%; max-width: 900px;}
#popup_all #popup_01 .in_layer_box img {display: block;  width: 100%;}
#popup_all #popup_01 .btn_confirm {position: absolute; left: 50%; bottom: 0px; width: 100%; max-width: 900px; height: 3.75rem; cursor: pointer; transform: translateX(-50%);}

#popupInfo .in_layer_box {padding: 2rem 3rem; border-radius: 1rem; background: #fff;}
#popupInfo .desc {font-size: 1.25rem; line-height: 148%; font-weight: 500;}
#popupInfo .pop_btn_close {position: absolute; right: 0; top: -2rem; width: 1.5rem; height: 1.5rem; background: url(../images/ico_close.svg) no-repeat center/100% auto;}
/* --------------------------------popup end------------------------------ */


/* --------------------------------link_wrap------------------------------ */
.sec_01 .link_wrap {position: absolute; right: -15%; top: 0;}
.sec_01 .link_wrap button {width: 12.125rem; height: 3.25rem; border-radius: 0.5rem; background-color: #00AE8C; color: #fff; cursor: pointer; font-size: 1.25rem; font-weight: 800;}
.sec_01 .link_wrap button::after {content: ''; display: inline-block; width: 1rem; height: 0.5rem; margin-left: 0.5rem; vertical-align: middle; background: url(../images/sub2/ico_down.svg) no-repeat center/100% auto;}
.sec_01 .link_wrap ul {display: none; margin-top: 0.5rem; padding: 0.875rem; background-color: #fff; border-radius: 0.5rem;}
.sec_01 .link_wrap li:not(:last-child) {margin-bottom: 0.25rem}
.sec_01 .link_wrap a {display: block; width: 100%; height: 2.375rem; line-height: 2.375rem; text-align: center; font-size: 1.25rem; font-weight: 500;}
.sec_01 .link_wrap .active a {color: #00C89D; font-weight: 800;}
@media screen and (max-width: 1800px){
    .sec_01 .link_wrap {right: 0;}
}/* xlg */
@media screen and (max-width:1024px) {
    .sec_01 .link_wrap {top: -10%;}
}/* md */
/* --------------------------------link_wrap end------------------------------ */


/* --------------------------------floating_banner------------------------------ */
.floating_banner {position: fixed; right: 1rem; bottom: 1rem; width: 10.75rem; z-index: 99;}
.floating_banner li:not(:last-child) {margin-bottom: 0.75rem;}
.floating_banner a {display: block; width: 100%;}
.floating_banner img {display: block; width: 100%;}
@media screen and (max-width:1200px) {
    .floating_banner {width: 9rem;}
}
@media screen and (max-width:1024px) {
    .floating_banner {width: 8rem;}
}
@media screen and (max-width:767px) {
    .floating_banner {width: 7rem; right: 0.75rem; bottom: 0.75rem;}
}
/* --------------------------------floating_banner end------------------------------ */



@media screen and (min-width:1024.1px) and (max-width:1280px) {

}
@media screen and (min-width:767.1px) and (max-width:1024px) {
   
}
@media screen and (max-width:767px) {

}

@media screen and (min-width:1024.1px) {

}/* lg */

@media screen and (max-width:1024px) {

}/* md */
@media screen and (max-width:767px) {

}/* sm */