#wrap { position:relative; width:100%; overflow: hidden; }
#container { width:100%; }
#container:after { content: ""; display: block; clear: both;}
.container { position:relative; width:100%; max-width: 1500px; margin:0 auto; }
.container:after { content: ""; display: block; clear: both;}

/* slick common */
.slick-slider { -webkit-transition: all ease-in-out .3s; transition: all ease-in-out .3s; -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-touch-callout: none; -khtml-user-select: none; -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent; }
.slick-slide { display: none; height: 100%; min-height: 1px; vertical-align: middle; }
.slick-list { overflow: hidden; }
.slick-list.dragging { cursor: pointer; }
.slick-initialized .slick-slide { display: inline-block; }
.slick-arrow.slick-hidden { display: none; }
.slick-current { opacity: 1; display: block; }
.slick-track { position: relative; left: 0; top: 0; display: block; margin-left: auto; margin-right: auto; }

/* header */
#header { position: relative; box-shadow: 0 0 9px rgba(0, 0, 0, 0.14); }
#header .headerWrap { position: relative; display: flex; width: 100%; height: 5rem; max-width: 1500px; margin: 0 auto; justify-content: space-between; }

#header .logo { display: flex; align-items: center; }
#header .logo a { display: inline-block; }

/* nav */
#nav{ margin: 0 1.7rem 0 4rem; flex: 1; }
#nav #gnb { position: relative; }
#nav #gnb:after { position: absolute; top: 5rem; left: -100%; width: 200vw; height: 0; background: #fff; box-shadow: 0 0 9px rgba(0, 0, 0, 0.14); z-index: 2; opacity: 1; content: ""; }
#nav #gnb.active:after { height: calc(100% - 5rem); opacity: 1; }
#gnb .depth01 > ul{ display: flex;}
#gnb .depth01 > ul > li{ position: relative; flex: 1; }
#gnb .depth01 > ul > li > a{ position:relative; height:5rem; display:flex; align-items:center; justify-content:center; font-size: 1rem; font-weight: 700; }
#gnb .depth01 > ul > li::before { position: absolute; bottom: 0; left: 0; width: 1px; height: calc(100% - 5rem); background: #e5e5e5; z-index: 3; content: ""; }
#gnb .depth01 > ul > li:last-child::after { position: absolute; bottom: 0; right: 0; width: 1px; height: calc(100% - 5rem); background: #e5e5e5; z-index: 3; content: ""; }
#gnb .depth02{ display: none; position: relative; padding: 1.2rem 0.7rem; z-index: 3; }
#gnb .depth02::before { position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 0; height: 3px; background: #86C4FF; opacity: 0; z-index: 1; content: ""; }
#gnb .depth02 > ul > li { display: block; }
#gnb .depth02 > ul > li + li { margin-top: 0.4rem; }
#gnb .depth02 > ul > li > a { position: relative; display: inline-block; line-height: 1.2rem; font-weight: 400; color: #000; padding: 0 0.3rem; }
#gnb .depth02 > ul > li > a::before { position: absolute; bottom: 0; left: 0; width: 100%; height: 0; border-radius: 2rem; background: rgba(199, 29, 34, 0.12); content: ""; }
#gnb .depth02 > ul > li > a::after { position: absolute; top: calc(50% - 0.1rem); right: -1.1rem; width: 0; height: 2px; background: #1979CD; content: ""; }
/* nav : active */
#gnb a,
#gnb .depth02::before,
#gnb .depth02 > ul > li > a::before,
#gnb .depth02 > ul > li > a::after { transition: all .2s; -webkit-transition: all .2s;}
#gnb.active .depth02{ display:block; height: calc(100% - 5rem); }
#gnb .depth01 > ul > li.active > a,
#gnb .depth01 > ul > li > a:hover{ color:#1979CD; }
#gnb .depth01 > ul > li > a:hover .depth02 { background: #BFE2F5; }
#gnb .depth01 > ul > li.on .depth02::before { width: 100%; opacity: 1; }
#gnb .depth01 > ul > li.on .depth02 { background: #BFE2F5; }
#gnb .depth02 > ul > li > a:hover::before { height: 0.7rem; }
#gnb .depth02 > ul > li > a:hover::after { width: 0.8rem; }

.util_wrap { display: flex; align-items: center; }
.util_wrap .util li { position: relative; display: inline-block; padding: 0 0.6rem; }
.util_wrap .util li + li::before { position: absolute; top: 50%; left: -4px; width: 0.3rem; height: 0.3rem; border-radius: 50%; background: #fedfe0; transform: translateY(-50%); -webkit-transform: translateY(-50%); content: ""; }
.util_wrap .util li a { font-weight: 600; }
.util_wrap .util li.lang::before { display: none; }
.util_wrap .util li.lang > a { position:relative; display:block; color:#333; background-color: #fff0f0; background-image: url('/resource/images/layout/lang_arrow.png'); background-repeat: no-repeat; background-position: right 0.9rem center; padding: 0.5rem 2.2rem 0.5rem 0.9rem; font-size:0.75rem; border-radius: 2rem; }
.util_wrap .util li.lang > a i { margin: -2px 4px 0 0; }
.util_wrap .util li.lang .langBox { display: none; width: calc(100% - 1.2rem); position: absolute; top: 2.1rem; left: 50%; transform: translateX(-50%); background: #fff; border-radius: 1rem; box-shadow: 0 0 6px rgba(0, 0, 0, 0.15); padding: 0.5rem; }
.util_wrap .util li.lang .langBox.active { display: block; }

/* 검색 버튼 */
.util_wrap .search_btn a { display: flex; justify-content: center; align-items: center; border-radius: 50%; background: #e4e4e4; width: 1.75rem; height: 1.75rem; color: #000; font-size: 0.8rem; font-weight: 400; }

/* 풀메뉴 버튼 */
.util_wrap .fullmenu_btn { margin-left: 0.6rem; }
.util_wrap .fullmenu_btn a { display: flex; justify-content: center; align-items: center; width: 2.5rem; height: 2.5rem; border-radius: 0.3rem 0.3rem 0.3rem 0.8rem; background: #1979CD; }
.util_wrap .fullmenu_btn .icon { display: flex; flex-direction: column; align-items: end; }
.util_wrap .fullmenu_btn em { display: block; width: 1.2rem; height: 3px; background: #fff; border-radius: 3px; margin: 2px 0; }
.util_wrap .fullmenu_btn em:first-child { width: 0.7rem; }
.util_wrap .fullmenu_btn a:hover em:first-child { width: 1.2rem; }
.util_wrap .fullmenu_btn em:first-child { transition: all .2s; -webkit-transition: all .2s;}

/* fullmenu */
#fullMenuBox { position: fixed; left: 0; top: 0; display:none; width: 100%; height: 100%; background: #fff; z-index: 999; }
#fullMenuBox .inner { height: 5rem; display: flex; padding: 0 4.1rem 0 1rem; align-items: center; justify-content: space-between; }
#fullMenuBox .logo { display: flex; align-items: center; }
#fullMenuBox .logo a { display: inline-block; }
#fullMenu { position: relative; height: 100%; }
#fullMenu .search_btn a { display: flex; justify-content: center; align-items: center; border-radius: 50%; background: #c71d22; width: 2.25rem; height: 2.25rem; color: #000; font-size: 0.8rem; font-weight: 400; }
#fullmenuClose { position: absolute; top: 1.3rem; right: 1rem; display: flex; justify-content: center; align-items: center; width: 2.5rem; height: 2.5rem; border-radius: 0.3rem 0.3rem 0.3rem 0.8rem; background: #c71d22; color: #fff; font-size: 1.1rem; }
#fullMenuBox .fullmenu_group {  }
#fullmenuClose i { font-weight: 700; transition: all .2s; -webkit-transition: all .2s; }
#fullmenuClose:hover i,
#fullmenuClose:focus i { transform: rotate(360deg); -webkit-transform: rotate(360deg); }

#fullMenuBox .nav { width: 100%; border-top: 1px solid #d8d8d8; }
#fullMenuBox .nav .depth01 > ul > li > a { position: relative; display: block; color: #000; font-weight: 700; padding: 1rem 2.5rem 1rem 1rem; font-size: 0.85rem; border-bottom: 1px solid #d8d8d8; }
#fullMenuBox .nav .depth01 > ul > li.dep > a::before { position: absolute; top: 0.9rem; right: 1rem; font-size: 1.1rem; font-family: 'xeicon'; color: #000; content: "\e938"; font-weight: 400; }
#fullMenuBox .nav .depth02 { display: none; background: #f7f7f7; box-shadow: 0 3px 3px rgba(55, 55, 56, 0.2); }
#fullMenuBox .nav .depth02 > ul > li { padding: 1rem; }
#fullMenuBox .nav .depth02 > ul > li + li { border-top: 2px dotted #d8d8d8; }
#fullMenuBox .nav .depth02 > ul > li > a { display: block; position: relative; font-size: 0.8rem; color: #565656; padding: 0 0.9rem 0 1rem; font-weight: 700; line-height: 1.2rem; }
#fullMenuBox .nav .depth02 > ul > li > a::before { position: absolute; top: 0.25rem; left: 0; background: url('/resource/images/layout/nav_icon01.png') no-repeat; width: 0.45rem; height: 0.65rem; content: ""; }
#fullMenuBox .nav .depth02 > ul > li.dep > a::after { position: absolute; top: 0; right: 0; font-family: 'xeicon'; font-size: 0.8rem; color: #565656; content: "\e944"; }
#fullMenuBox .nav .depth02 > ul > li > a span { position: relative; padding: 0 0.2rem; display: inline-block; z-index: 1; }
#fullMenuBox .nav .depth02 > ul > li > a span::before { position: absolute; bottom: 0; left: 0; width: 100%; height: 0; border-radius: 1rem; background: rgba(246, 199, 11, 0.2); z-index: -1; content: "";}
#fullMenuBox .nav .depth03 { background: #fff; width: 100%; height: 0; opacity: 0; visibility: hidden; border-radius: 0.4rem; }
#fullMenuBox .nav .depth03 > ul > li > a { display: block; position: relative; color: #6a6a6a; font-size: 0.75rem; line-height: 1.2rem; padding-left: 0.7rem; }
#fullMenuBox .nav .depth03 > ul > li > a::before { position: absolute; top: 0.5rem; left: 0; width: 0.25rem; height: 0.25rem; border-radius: 50%; background: rgba(199, 29, 34, 0.3); content: ""; }
/* sub_메뉴: active */
#fullMenuBox .nav .depth01 > ul > li.active > a { color: #fff; background: #c71d22; }
#fullMenuBox .nav .depth01 > ul > li.active > a::before { color: #fff; content: "\e932"; }
#fullMenuBox .nav .depth02 > ul > li > a,
#fullMenuBox .nav .depth02 > ul > li > a span::before,
#fullMenuBox .nav .depth03 { transition: all .2s; -webkit-transition: all .2s; }
#fullMenuBox .nav .depth02 > ul > li > a:hover,
#fullMenuBox .nav .depth02 > ul > li.active > a { color: #c71d22; }
#fullMenuBox .nav .depth02 > ul > li.dep.active > a::after { content: "\e941"; }
#fullMenuBox .nav .depth02 > ul > li.active > a span::before { height: 0.8rem; }
#fullMenuBox .nav .depth02 > ul > li.active > .depth03 { padding: 0.6rem 1rem; height: auto; opacity: 1; visibility: visible; margin-top: 0.4rem; }
#fullMenuBox .nav .depth03 > ul > li > a:hover { color: #c71d22 }

/* 퀵메뉴 */
.quick_menu { position: fixed; width: 5.5rem; right: calc(50% - 49.6rem); top: 7rem; z-index: 1; }
.quick_menu.fixed { top: 1rem; }
.quick_menu .inner { background: #fff; box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.09); border-radius: 0.9rem 1.9rem 0.9rem 0.9rem; overflow: hidden; }
.quick_menu .quick_tit { display: flex; justify-content: center; align-items: center; flex-direction: column; color: #fff; width: 100%; height: 5.5rem; background: #1979CD; border-radius: 0.9rem 1.9rem 0.9rem 0.9rem; font-size: 0.8rem; font-family: 'Sora'; }
.quick_menu ul li { display: block; }
.quick_menu ul li + li { border-top: 1px solid #e5e5e5; }
.quick_menu ul li a { display: flex; justify-content: center; align-items: center; flex-direction: column; padding: 0.7rem 0.5rem; text-align: center; font-size: 0.65rem; line-height: 0.75rem; }
.quick_menu ul li a img { margin-bottom: 0.2rem; width: 27px; height: 29px;}
.quick_menu .moveTop { display: block; margin: 0.5rem auto 0; width: 3rem; height: 1.1rem; line-height: 0; border-radius: 2rem; background: #1979CD; color: #fff; }
/* 퀵메뉴 */
.quick_menu ul li a { transition: all .2s; -webkit-transition: all .2s; }
.quick_menu ul li a:hover { color: #1E90FF; font-weight: 700;}

/* 사이트맵 */
.sitemap { display: none; z-index: 10; }
.sitemap::before { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0, 0, 0, 0.5); content: ""; z-index:10;}
.sitemap.on { display: block; }
.sitemap_layer { position: fixed; top: 1.9rem; left: 50%; transform: translateX(-50%); -webkit-transform: translateX(-50%); width: 63.5rem; margin: auto; background: #fff; font-family: 'GmarketSans'; z-index: 11; padding: 2.2rem 1.3rem 2.5rem; }
.sitemap_layer::before { position: absolute; top: 0; left: 0; width: 5.65rem; height: 6rem; background: url('../../images/common/sitemap_bg.png')no-repeat center; content: ""; }
.sitemap_layer .layer_tit { position: relative; font-size: 1.4rem; font-family: 'GmarketSans'; font-weight: 600; color: #373734; margin-bottom: 2.2rem; padding: 0 2rem; text-align: center; }
.sitemap_layer .layer_txt { height: 25rem; overflow-y: auto; font-size: 0; }
.sitemap_layer .layer_txt #gnb1 { height: auto; overflow: hidden; }
.sitemap_layer .layer_txt #gnb1 .depth01 { padding: 0; height: auto; }
.sitemap_layer .layer_txt #gnb1 .depth01 > ul { display: inline-block !important; text-align: left; }
.sitemap_layer .layer_txt #gnb1 .depth01 > ul > li { position: relative; width: 25%; flex: auto; display: inline-block; padding: 2.1rem 1.6rem 0; vertical-align: top; }
.sitemap_layer .layer_txt #gnb1 .depth01 > ul > li + li::before { position: absolute; top: 0; left: 0; width: 1px; height: 100vw; border-left: 1px solid #e1e1e1; content: ""; }
.sitemap_layer .layer_txt #gnb1 .depth01 > ul > li:nth-child(1) { padding: 0 1.6rem; }
.sitemap_layer .layer_txt #gnb1 .depth01 > ul > li:nth-child(2) { padding: 0 1.6rem; }
.sitemap_layer .layer_txt #gnb1 .depth01 > ul > li:nth-child(3) { padding: 0 1.6rem; }
.sitemap_layer .layer_txt #gnb1 .depth01 > ul > li:nth-child(4) { padding: 0 1.6rem; }
.sitemap_layer .layer_txt #gnb1 .depth01 > ul > li:nth-child(4n+1)::before { display: none; }
.sitemap_layer .layer_txt #gnb1 .depth01 > ul > li > a { display: block; height: auto; font-size: 1.1rem; color: #147399; font-weight: 600; margin-bottom: 0.6rem; }
.sitemap_layer .layer_txt #gnb1 .depth02 > ul { padding: 0; }
.sitemap_layer .layer_txt #gnb1 .depth02 > ul > li { margin: 0.4rem 0; }
.sitemap_layer .layer_txt #gnb1 .depth02 > ul > li > a { display: block; font-size: 0.8rem; color: #555; font-weight: 400; padding: 0; }
.sitemap_layer .sitemap_colse { position: absolute; top: 2.1rem; right: 1.3rem; }

/* footer */
#footer { position: relative; background: #323c4b; }
#footer::before { position: absolute; top: 4rem; width: 100%; height: 1px; background: rgba(255, 255, 255, 0.12); content: ""; }
#footer .ftWrap { display: flex; height: 4rem; align-items: center; justify-content: space-between; }
#footer .ftWrap .list { font-size: 0; overflow: hidden; }
#footer .ftWrap .list li { position: relative; display: inline-block; margin: 0 1.5rem; left: -1.5rem; }
#footer .ftWrap .list li::before { position: absolute; top: 50%; left: -1.5rem; transform: translateY(-50%); width: 2px; height: 0.4rem; background: rgba(255, 255, 255, 0.5); content: ""; }
#footer .ftWrap .list li a { display: block; color: #fff; font-size: 0.8rem; font-weight: 400; padding: 0.2rem 0; outline-offset: -2px;}
#footer .ftWrap .list li.point a { color: #BFE2F5; }
#footer .ftWrap .sns { font-size: 0; }
#footer .ftWrap .sns li { display: inline-block; }
#footer .ftWrap .sns li + li { margin-left: 0.5rem; }
#footer .ftWrap .sns li a { display: flex; justify-content: center; align-items: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; color: #fff; background: rgba(0, 0, 0, 0.2); font-size: 1rem; font-weight: 400; }
#footer .ftEtc { display: flex; padding: 1.8rem 0 4.9rem; font-weight: 400; }
#footer .ftEtc .inner { flex: 1; color: #fff; overflow: hidden; }
#footer .ftEtc .inner ul li { position: relative; display: inline-block; margin: 0 1rem; left: -1rem; }
#footer .ftEtc .inner ul li::before { position: absolute; top: 50%; left: -1.05rem; transform: translateY(-50%); width: 2px; height: 0.4rem; background: rgba(255, 255, 255, 0.5); content: ""; }
/* footer:active */
#footer .ftWrap .list li a:hover,
#footer .ftWrap .list li a:focus { text-decoration: underline; }

#footer .ftEtc .ftlogo .wa { width: 100px; height: 71px; }

/************ sub ************/
.sub_container { position: relative; padding-top: 1.5rem; }
.sub_container::before { position: absolute; top: 0; left: 0; width: 100%; height: 7rem; background-color: #BFE2F5; background-image: url('/resource/images/layout/sub_bg01.png'); background-repeat: no-repeat; background-position: bottom left calc(50% + 27rem); z-index: -1; content: ""; }

/* sub_메뉴 */
#snb { float: left; width: 14rem; word-break: keep-all; }
#snb h2 a { height: 5.5rem; display: flex; justify-content: center; align-items: center; background: #1979CD url('/resource/images/layout/sub_tit_bg01.png') no-repeat bottom right 0.6rem / contain; border-radius: 0.9rem; color: #fff; font-weight: 700; overflow: hidden; }
#snb .depth02 { border-radius: 0.9rem; background: #f7f7f7; }
#snb .depth02 > li { padding: 1rem 1.5rem; }
#snb .depth02 > li + li { border-top: 2px dotted #d8d8d8; }
#snb .depth02 > li > a { display: block; position: relative; font-size: 0.8rem; color: #565656; padding: 0 0.9rem 0 1rem; font-weight: 700; line-height: 1.2rem; }
#snb .depth02 > li > a::before { position: absolute; top: 0.25rem; left: 0; background: url('/resource/images/layout/nav_icon01.png') no-repeat; width: 0.45rem; height: 0.65rem; content: ""; }
#snb .depth02 > li.dep > a::after { position: absolute; top: 0; right: 0; font-family: 'xeicon'; font-size: 0.8rem; color: #565656; content: "\e944"; }
#snb .depth02 > li > a span { position: relative; padding: 0 0.2rem; display: inline-block; z-index: 1; }
#snb .depth02 > li > a span::before { position: absolute; bottom: 0; left: 0; width: 100%; height: 0; border-radius: 1rem; background: rgba(246, 199, 11, 0.2); z-index: -1; content: "";}
#snb .depth03 { background: #fff; width: 100%; height: 0; opacity: 0; visibility: hidden; border-radius: 0.4rem; }
#snb .depth03 > li > a { display: block; position: relative; color: #6a6a6a; font-size: 0.75rem; line-height: 1.2rem; padding-left: 0.7rem; }
#snb .depth03 > li > a::before { position: absolute; top: 0.5rem; left: 0; width: 0.25rem; height: 0.25rem; border-radius: 50%; background: rgba(199, 29, 34, 0.3); content: ""; }
/* sub_메뉴: active */
#snb .depth02 > li > a,
#snb .depth02 > li > a span::before,
#snb .depth03 { transition: all .2s; -webkit-transition: all .2s; }
#snb .depth02 > li > a:hover,
#snb .depth02 > li.active > a { color: #1979CD; }
#snb .depth02 > li.active > a::after { content: "\e941"; }
#snb .depth02 > li.active > a span::before { height: 0.8rem; }
#snb .depth02 > li.active > .depth03 { padding: 0.6rem 1rem; height: auto; opacity: 1; visibility: visible; margin-top: 0.4rem; }
#snb .depth03 > li > a:hover { color: #1979CD; }

/* 서브 */
.sub_content,
.titleWrap { float: right; width: calc(100% - 16rem); }

.titleWrap .inner { display: flex; justify-content: space-between; align-items: center; margin: 0.55rem 0 0.5rem; }
.titleWrap .inner .pageTitle { font-size: 1rem; font-weight: 800; flex: 1; }
.titleWrap .inner .shareWrap { font-size: 0; }
.titleWrap .inner .shareWrap li { display: inline-block; vertical-align: middle; }
.titleWrap .inner .shareWrap li + li { margin-left: 0.4rem;}
.titleWrap .inner .shareWrap li a { display: flex; justify-content: center; align-items: center; width: 2rem; height: 2rem; border-radius: 50%; border: 2px solid #fadbdc; color: #000; font-size: 1rem; }

.location { position: relative; font-size: 0; margin-bottom: 1.3rem; }
.location li { position: relative; display: inline-block; vertical-align: middle; }
.location li + li { margin-left: 1.2rem; }
.location li + li::before { position: absolute; top: calc(50% - 0.15rem); left: -0.65rem; width: 0.25rem; height: 0.3rem; background: url('/resource/images/layout/location_arrow.png') no-repeat center / cover; content: ""; }
.location li a { display: block; font-size: 0.7rem; color: #000; line-height: 1.15rem; }
.location li.home a { width: 1.15rem; height: 1.15rem; border-radius: 0.3rem; background: #1979CD; color: #fff; text-align: center; }

/* 서브콘텐츠영역 */
#contView { position: relative; margin: 3.9rem 0 3.5rem; min-height: 20rem; }

@media screen and (max-width:1800px){
    /* header */
    #header .headerWrap { max-width: 100%; padding: 0 1rem; }
}

@media screen and (max-width:1840px){
    /* 퀵메뉴 */
    .quick_menu { display: none; }
}

@media screen and (max-width:1540px){
    .container { max-width: 100%; padding: 0 1rem; }

    /* nav */
    #nav { margin: 0 1.75rem 0 3rem; }
}

@media screen and (max-width:1460px){
    /* nav */
    #nav { display: none; }

    /* fullmenu */
    #fullMenuBox.active { display: block; }
}

@media screen and (max-width:1240px){
    /************ sub ************/
    .sub_container { padding-top: 0; }
    .sub_container::before { display: none; }

    .sub_inner { display: flex; flex-wrap: wrap; }
    .titleWrap { position: relative; width: 100%; padding: 1.5rem 0; order: 1; }
    .titleWrap::before { position: absolute; top: 0; left: -100%; width: 200vw; height: 100%; background: #fce8ec; z-index: -1; content: ""; }
    .titleWrap .inner { margin-top: 0; }
    .titleWrap .inner .shareWrap li:last-child { display: none; }

    .location { margin-bottom: 0; }

    /* sub_메뉴 */
    #snb { position: relative; float: none; width: 100%; margin-top: 0.5rem; margin-bottom: 0.5rem; z-index: 10; order: 2; }
    #snb h2 a { display: block; height: auto; padding: 0.7rem 0.9rem; text-align: left; font-size: 0.9rem; border-radius: 0.5rem; background-position: bottom right 2rem; }
    #snb .depth02 { position: relative; width: 100%; display: none; box-shadow: 0 0 8px rgba(0, 0, 0, 0.39); }

    .sub_content { float: none; width: 100%; }

    /* 서브콘텐츠 */
    #contView { margin: 1.5rem 0 2rem; }
}

@media screen and (max-width:768px){
    .util_wrap .util { display: none; }

    #footer::before { display: none; }
    #footer .ftWrap { position: relative; height: auto; flex-direction: column; align-items: flex-start; padding: 1rem 0;}
    #footer .ftWrap::before { position: absolute; bottom: 0; left: -3rem; width: calc(100% + 6rem); height: 1px; background: rgba(255, 255, 255, 0.12); content: ""; }
    #footer .ftWrap .sns { margin: 0.5rem auto 0; }
    #footer .ftEtc { flex-direction: column; }
    #footer .ftEtc .ftlogo { margin: 1rem auto 0; }
}