/* ========================================
   HEADER & MENU STYLES
   원본소스.html의 css2.css에서 추출
   ======================================== */

/* Menu Toggle Button */
.menu-toggle {
    position: absolute;
    top:3.9rem;
    right: 9.5rem;
    z-index: 99999 !important;
    cursor: pointer;
}

.menu-toggle #menuIcon {
    width: 2rem;
    height: 2rem;
}

#menuIcon {
    transition: color 0.3s ease;
}

#menuIcon rect {
    transition: all 0.3s ease;
}

#menuIcon.default #line1,
#menuIcon.default #line2,
#menuIcon.default #line3 {
    transform: none;
    opacity: 1;
}

#menuIcon.close #line1 {
    transform: translateY(1rem) rotate(45deg);
    transform-origin: center;
}

#menuIcon.close #line2 {
    opacity: 0;
}

#menuIcon.close #line3 {
    transform: translateY(-1rem) rotate(-45deg);
    transform-origin: center;
}

/* Menu Close Button */
.menu-close {
    position: absolute;
    top: 2rem;
    right: 8.5rem;
    z-index: 99999 !important;
    cursor: pointer;
}

/* Menu Container */
.menu-container {}

/* All Menu (전체메뉴) */
.allmenu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 0;
    display: none;
    overflow-y: hidden;
    z-index: 9999;
    transition: height 0.4s ease-in-out;
}

.allmenu.active {
    display: block;
    height: 100%;
}

.allmenu .logo {
    position: relative;
    left: 8rem;
    top: 1.2rem;
    display: block;
    width: 9rem;
    height: 7.3rem;
    background: url(/imgs/common/logo_black.png) no-repeat 0 0;
    background-size: 9rem 7.3rem;
}

.allmenu .logo a {
    display: block;
    width: 10.4rem;
    height: 3.6rem;
}

.allmenu .tmr {
    position: absolute;
    right: 15.3rem;
    top: 2.5rem;
    z-index: 100;
    height: 2rem;
}

.allmenu .tmr .t_menu {
    display: inline-block;
}

.allmenu .tmr .t_menu img {
    margin-top: 0.1rem;
}

.allmenu .tmr .t_menu a {
    margin-left: 1.2rem;
    color: #fff;
    font-weight: 100;
    font-size: 1.25rem;
}

.allmenu .tmr .t_menu .cpm {
    display: inline-block;
    position: relative;
    margin: 0 3rem;
    padding: 0 0.5rem;
}

.allmenu .tmr .t_menu .cpm:before,
.allmenu .tmr .t_menu .cpm:after {
    content: "";
    position: absolute;
    top: 50%;
    width: 0.1rem;
    height: 1.1rem;
    background: #f7f7f7;
    transform: translateY(-50%);
}

.allmenu .tmr .t_menu .cpm:before {
    left: -1.5rem;
}

.allmenu .tmr .t_menu .cpm:after {
    right: -1.5rem;
}

.allmenu .tmr .t_menu .cby {
    display: inline-block;
    position: relative;
    margin: 0 0 0 3rem;
    padding: 0 0.5rem;
}

.allmenu .tmr .t_menu .cby:before {
    content: "";
    position: absolute;
    top: 50%;
    width: 0.1rem;
    height: 1.1rem;
    background: #f7f7f7;
    transform: translateY(-50%);
}

.allmenu .tmr .t_menu .cby:before {
    left: -1.5rem;
}

/* Family Site Header 2 (allmenu 내부) */
.fam-header2 {
    position: relative;
    display: inline-block;
    width: 9.2rem;
    background: transparent;
    color: #fff;
    padding: 0;
    cursor: pointer;
    font-size: 1.2rem;
    font-weight: 100;
    letter-spacing: 0.05rem;
    height: 2rem;
    line-height: 2rem;
}

.fam-header2 .select-arrow {
    float: right;
    width: 1.3rem;
    height: 1.3rem;
    background: url(/imgs/arr01.png) no-repeat 0 0.4rem;
    background-size: 1.3rem 1.3rem;
}

.fam-header2 .drop {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease-out, border-color 0.5s ease-out;
    background: transparent;
    color: white;
    margin: 0;
    padding: 0.3rem 0 0;
    list-style: none;
    z-index: 999999;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
}

.fam-header2 .drop.open {
    max-height: 20rem;
}

.fam-header2 .drop li a {
    font-size: 1.2rem;
    color: #fff;
    height: 2.6rem;
    line-height: 2.6rem;
}

.fam-header2 .drop li:hover a {
    color: #32b3ed;
}

/* Mobile Menu Content */
#allmenu .con {
    padding: 8rem 2.5rem 0 2rem;
    box-sizing: border-box;
}

#allmenu .tt {
    margin: 1.5rem 0 0;
    font-size: 2.2rem;
    font-weight: 600;
    transition: color 0.3s;
    position: relative;
    padding-right: 3rem;
    color: #d1d1d1;
}

#allmenu .tt:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 1.2rem;
    height: 1.2rem;
    background: url('/imgs/arr02.png') no-repeat center center;
    background-size: contain;
}

#allmenu .tt.active:after {
    background: url('/imgs/arr2_close.png') no-repeat center center;
    background-size: contain;
}

#allmenu .tt.active {
    color: #00a5e4;
}

#allmenu .smenu {
    display: block;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}

#allmenu .smenu.active {
    max-height: 50rem;
}

#allmenu .smenu ul {
    list-style: none;
    padding-bottom: 0;
}

#allmenu .smenu ul li {
    margin: 0.8rem 0;
}

#allmenu .smenu a {
    width: 100%;
    display: block;
    color: #fff;
    font-weight: 200;
    font-size: 1.4rem;
}

#allmenu .smenu a:hover {
    color: #00a5e4;
}

#allmenu .news {
    padding-top: 8%;
    font-size: 0.8rem;
    color: #fff;
}

#allmenu .news p {
    font-size: 1.1rem;
    line-height: 1.8rem;
}

#allmenu .news a {
    display: inline-block;
    border: 0.1rem solid #fff;
    border-radius: 2.5rem;
    color: #fff;
    font-size: 1rem;
    padding: 0.7rem 2.2rem;
    margin-top: 1.4rem;
}

#allmenu .sns {
    text-align: right;
    margin-top: -2.3rem;
}

#allmenu .sns a {
    margin-left: 0.8rem;
    display: inline-flex;
    width: 2rem;
    height: 2rem;
    border: 0.1rem solid #fff;
    border-radius: 1.2rem;
    justify-content: center;
    align-items: center;
}

#allmenu .sns img {
    height: 1rem;
}

/* PC Menu Content */
#allmenu .con_pc {
    width: 100%;
    overflow: hidden;
}

#allmenu .con_pc .ptit {
    float: left;
    width: 43.5%;
    box-sizing: border-box;
    padding-left: 8rem;
}

#allmenu .con_pc .ptit .tx {
    padding-top: 34.5%;
    font-size: 1.4vw;
    font-weight: 600;
    line-height: 1.8vw;
    color: #181e2a;
}

#allmenu .con_pc .ptit .tx p {
    font-size: 2.9vw;
    font-weight: 800;
    line-height: 3vw;
    padding-bottom: 2.6rem;
}

#allmenu .con_pc .ptit .tx .tx1 {
    font-size: 0.6vw;
    padding-top: 20%;
    font-weight: 400;
    line-height: 1.1vw;
}

#allmenu .con_pc .ptit .tx .tx1 span {
    font-size: 0.9vw;
    display: block;
    font-weight: 300;
}

#allmenu .con_pc .ptit .tx a {
    display: inline-block;
    border: 0.1rem solid #181e2a;
    border-radius: 1.5rem;
    color: #181e2a;
    font-size: 0.6vw;
    line-height: 1.5vw;
    padding: 0 3.6rem 0 4.4rem;
    margin-top: 2rem;
}

#allmenu .con_pc .ptit .tx a span {
    padding-right: 1rem;
}

#allmenu .con_pc .ptit .tx a:hover {
    background: rgba(0, 0, 0, 0.05);
}

#allmenu .con_pc .pmenu {
    float: left;
    width: 56.5%;
    padding-top: 10.2vw;
}

#allmenu .con_pc .pmenu ul {
    overflow: hidden;
}

#allmenu .con_pc .pmenu ul li {
    float: left;
    color: #fff;
    padding: 1.8rem 0 1.8rem;
}

#allmenu .con_pc .pmenu ul li.ta {
    width: 26.5%;
    font-size: 1.8vw;
    font-weight: 400;
}

#allmenu .con_pc .pmenu ul li a {
    font-size: 0.9vw;
    color: #fff;
    display: inline-block;
    line-height: 1.2vw;
    padding: 0 1.5rem 0.6rem 0.9rem;
    margin: 1rem 0.9rem 0;
    font-weight: 200;
}

#allmenu .con_pc .pmenu ul li a:hover {
    color: #00a5e4;
    border-bottom: 0.2rem solid #00a5e4;
}

#allmenu .con_pc .pmenu ul:has(li:nth-child(2):hover) li.ta {
    color: #00a5e4;
}

/* Header Wrap */
.header-wrap {
    position: absolute;
    width: 100%;
    height: 8rem;
    box-sizing: border-box;
    z-index: 999;
}

.header-wrap.fixed {
    position: fixed;
    top: 0;
    left: 0;
}

.header-wrap.animate {
    animation: slideDownElastic 0.5s ease-out forwards;
}

@keyframes slideDownElastic {
    0% {
        transform: translateY(-100%);
    }
    60% {
        transform: translateY(10%);
    }
    100% {
        transform: translateY(0);
    }
}



.header-wrap .logo {
    position: absolute;
    left: 8rem;
    top: 1.2rem;
    z-index: 10;
    display: block;
    width:9rem;
    height:7.3rem;
    background: url(/imgs/common/logo_white.png) no-repeat 0 0;
    background-size:100% auto;
}
.header-wrap.sub .logo {
    width:9rem;
    height:7.3rem;
    background: url(/imgs/common/logo_black.png) no-repeat 0 0;
    background-size:100% auto;
}
.header-wrap.sub.fixed .logo,
.header-wrap.sub:has(.mega-menu:hover) .logo {
    background: url(/imgs/common/logo_white.png) no-repeat 0 0;
    background-size:100% auto;
}



.header-wrap .logo a {
    display: block;
    width: 9rem;
    height: 7.3rem;
}

header .tmr {
    position: absolute;
    right: 15.3rem;
    top:3.8rem;
    z-index: 999;
    height:2rem;
}

header .tmr .t_menu {
    display: inline-block;
    height: 2rem;
    vertical-align: top;
}

header .tmr .t_menu a {
    margin-left: 1.2rem;
    color: #fff;
    font-weight: 100;
    font-size: 1.25rem;
    line-height: 2rem;
}
header.sub .tmr .t_menu a {color: #000;}
.header-wrap.sub.fixed .tmr .t_menu a,
.header-wrap.sub:has(.mega-menu:hover) .tmr .t_menu a {color: #fff;}

header .tmr .t_menu a {
    display: inline-block;
    position: relative;
    margin: 0 0 0 3rem;
    padding: 0 0.5rem;
}

header .tmr .t_menu a:before {
    content: "";
    position: absolute;
    top: 50%;
    width: 0.1rem;
    height: 1.1rem;
    background: #f7f7f7;
    transform: translateY(-50%);
}

header .tmr .t_menu a:before {
    left: -1.5rem;
}

header .tmr .t_menu .search_ic {
    background: url(/imgs/ic_search.png) no-repeat 0 50%;
    width: 1.4rem;
    height: 2rem;
    background-size: 1.4rem auto;
    margin: 0 0 0 0;
}

header .tmr .t_menu .log_ic {
    background: url(/imgs/ic_log.png) no-repeat 0 50%;
    width: 1.4rem;
    height: 2rem;
    background-size: 1.4rem auto;
    margin: 0 0 0 0.2rem;
}
.header-wrap.sub .tmr .t_menu .search_ic {
    background: url(/imgs/ico/ic_search_b.png) no-repeat 0 50%;    
}
.header-wrap.sub.fixed .tmr .t_menu .search_ic,
.header-wrap.sub:has(.mega-menu:hover) .tmr .t_menu .search_ic {
    background: url(/imgs/ic_search.png) no-repeat 0 50%;
}

header.sub .tmr .t_menu .log_ic {
    background: url(/imgs/ico/ic_log_b.png) no-repeat 0 50%;
}
header.sub #menuIcon {
    color: #000;
}
.header-wrap.sub.fixed #menuIcon,
.header-wrap.sub:has(.mega-menu:hover) #menuIcon {
    color: #fff;
}

header .tmr .t_menu .search_ic:before,
header .tmr .t_menu .log_ic:before {
    display: none;
}

header .tmr .t_menu a.fir {
    margin: 0 0 0 2rem;
}

header .tmr .t_menu .last {
    margin: 0 3rem;
    padding: 0 0.5rem;
}

header .tmr .t_menu .last:before,
header .tmr .t_menu .last:after {
    content: "";
    position: absolute;
    top: 50%;
    width: 0.1rem;
    height: 1.1rem;
    background: #f7f7f7;
    transform: translateY(-50%);
}

header .tmr .t_menu .last:before {
    left: -1.5rem;
}

header .tmr .t_menu .last:after {
    right: -1.5rem;
}

/* GNB (Global Navigation Bar) */
header .gnb {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: left;
    z-index: 3;
}

header .mega-menu {
    display: inline-flex;
    list-style: none;
    margin: 0;
    padding:2rem 0 0 23rem;
    box-sizing: border-box;
    position: relative;
}

header .mega-menu::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 38rem;
    background: rgba(20, 24, 39, 0.75);
    transform: scaleY(0);
    transform-origin: top;
    transition: transform 0.4s ease;
    z-index: 1;
    pointer-events: none;
}

header .mega-menu:hover::before {
    transform: scaleY(1);
}

header .mega-menu::after {
    content: "";
    position: fixed;
    top: 12.2rem;
    left: 50%;
    transform: translateX(-50%) scaleX(0);
    transform-origin: left;
    width: 100vw;
    height: 0.2rem;
    background: rgba(255, 255, 255, 0.1);
    z-index: 2;
    opacity: 0;
    transition: transform 0.4s ease, opacity 0.4s ease;
    pointer-events: none;
}

header .mega-menu:hover::after {
    opacity: 1;
    transform: translateX(-50%) scaleX(1);
}

header .menu-group {
    position: relative;
    width: 12rem;
    transition: 0.5s;
}

header .mega-menu:hover .menu-group {
    width: 15rem;
}

header .menu-group > a {
    display: inline-block;
    padding: 0 0.2rem;
    font-size: 1.6rem;
    text-decoration: none;
    color: #fff;
    font-weight: 300;
    line-height: 5.4rem;
    position: relative;
    z-index: 2;
    transition: color 0.3s;
}
header.sub .menu-group > a {
    color: #000;
}
.header-wrap.sub.fixed .menu-group > a,
header .menu-group:hover > a {
    color: #fff;
}
header.sub .menu-group:hover > a {
    color: #fff;
}
header.sub .mega-menu:hover .menu-group > a {
    color: #fff;
}


header .menu-group > a::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0.2rem;
    background: #00a5e4;
    transition: width 0.3s;
}

header .menu-group:hover > a::after {
    width: 100%;
}

header .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    transform: translateY(-1rem);
    opacity: 0;
    pointer-events: none;
    transition: transform 0.3s ease, opacity 0.3s ease;
    padding: 1.3rem 0;
    width: 100%;
    z-index: 3;
}

header .sub-menu li a {
    color: #fff;
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 4.4rem;
    display: block;
    text-decoration: none;
}

header .sub-menu li a:hover {
    color: #00a5e4;
    font-weight: 700;
}

header .mega-menu:hover .sub-menu {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

/* Family Site Header (header 내부) */
.fam-header {
    position: relative;
    display: inline-block;
    width: 9.2rem;
    background: transparent;
    color: #fff;
    padding: 0;
    cursor: pointer;
    font-size: 1.2rem;
    font-weight: 100;
    letter-spacing: 0.05rem;
    height: 2rem;
    line-height: 2rem;
}
.header-wrap.sub .fam-header {
    color: #000;
}
.header-wrap.sub.fixed .fam-header,
.header-wrap.sub:has(.mega-menu:hover) .fam-header {
    color: #fff;
}

.fam-header .select-arrow {
    float: right;
    width: 1.3rem;
    height: 1.3rem;
        
    background-size: 1.3rem 1.3rem;
}
.header-wrap.sub .fam-header .select-arrow {
    background: url(/imgs/ico/arr01_b.png) no-repeat 0 0.4rem;
}
.header-wrap.sub.fixed .fam-header .select-arrow,
.header-wrap.sub:has(.mega-menu:hover) .fam-header .select-arrow {
    background: url(/imgs/ico/arr01.png) no-repeat 0 0.4rem;
}


.fam-header .drop {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease-out, border-color 0.5s ease-out;
    background: transparent;
    color: white;
    margin: 0;
    padding: 0.3rem 0 0;
    list-style: none;
    z-index: 999999;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
}

.fam-header .drop.open {
    max-height: 20rem;
}

.fam-header .drop li a {
    font-size: 1.2rem;
    color: #fff;
    height: 2.6rem;
    line-height: 2.6rem;
}

.fam-header .drop li:hover a {
    color: #32b3ed;
}

/* ========================================
   RESPONSIVE STYLES
   ======================================== */

/* Mobile (max-width: 102.4rem) */
@media all and (max-width: 1024px) {
    .menu-toggle {
        top:3rem;
        right: 1.8rem;
    }

    .menu-toggle #menuIcon {
        width: 2.2rem;
        height: 2.2rem;
    }

    .menu-toggle #menuIcon.active {
        width: 2rem;
        height: 2rem;
        margin-top: 0.6rem;
    }

    .menu-close {
        top: 2rem;
        right: 1.5rem;
    }

    .menu-close img {
        width: 2.2rem;
        height: 2.2rem;
    }

    .allmenu {
        background: #070c15;
    }

    .allmenu .logo {
        position: absolute;
        top:1.6rem;
        left: 1.6rem;
        display: block;
        width:7rem;
        height: 6.3rem;
        background: url(/imgs/common/logo_white.png) no-repeat 0 0;
        background-size:100% auto;
    }

    .allmenu .logo a {
        display: block;
        width: 7rem;
        height: 6.3rem;
    }

    .allmenu .tmr {
        right: 6rem;
        top: 2rem;
    }

    .allmenu .tmr .t_menu {
        display: none;
    }

    .fam-header2 {
        width: 8.5rem;
        font-size: 1.1rem;
    }

    .fam-header2 .select-arrow {
        width: 0.9rem;
        height: 2rem;
        background: url(/imgs/arr01.png) no-repeat 0 65%;
        background-size: 0.9rem 0.9rem;
    }

    .fam-header2 .drop li a {
        font-size: 1.1rem;
    }

    #allmenu .con_pc {
        display: none;
    }
    .header-wrap.sub .logo,
    .header-wrap .logo {
        top:1.6rem;
        left:1.6rem;
        display: block;     
        width:7rem;
        height: 6.3rem;  
    }

    .header-wrap .logo a {
        display: block;
        width:100%;
        height:100%;
    }

    header .gnb,
    header .tmr {
        display: none;
    }

    .header-wrap {
        height:9rem;
        background: transparent;
        border-bottom: 0;
    }
    .header-wrap.fixed {
        background: rgba(7, 12, 21, 0.95);
    }
}

/* PC (min-width: 102.5rem) */
@media all and (min-width: 1025px) {
    .allmenu {
        background: linear-gradient(to right, rgba(255, 255, 255, 0.95) 34.1%, rgba(6, 10, 18, 0.95) 34.1%);
        overflow-x: hidden;
    }

    #allmenu .con {
        display: none;
    }

    .header-wrap.fixed .gnb {
        background: rgba(20, 24, 39, 0.75);
        height:123%;
    }

    .header-wrap.fixed .mega-menu::before {
        top: 8rem;
        height: 23rem;
        background: rgba(20, 24, 39, 0.75);
    }

    .header-wrap.fixed .mega-menu:hover::before {
        transform: scaleY(1);
    }

    .header-wrap.fixed .mega-menu::after {
        top: 6.2rem;
    }
}

/* 102.5rem - 119.9rem */
@media all and (min-width: 1025px) and (max-width: 1199px) {
    header .logo {
        left: 4.5rem;
    }

    header .tmr {
        display: none;
    }
}

/* 120rem - 139.9rem */
@media all and (min-width: 1200px) and (max-width: 1399px) {
    header .logo {
        left: 4.5rem;
    }

    header .tmr {
        display: none;
    }
}

/* 140rem - 166.9rem */
@media all and (min-width: 1400px) and (max-width: 1669px) {
    header .tmr {
        display: none;
    }
}



#footer {
    width: 100%;
    background: #111526;
    padding: 0 8rem;
    box-sizing: border-box;
}

#footer .box > ul {
    overflow: hidden;
    width: 100%;
    box-sizing: border-box;
    border-bottom: 0.1rem solid #434652;
    padding-top: 10rem
}

#footer .box ul li {
    float: left;
}

#footer .box ul .b_logo {
    width: 9%;
}

#footer .box ul .b_logo img {
    margin-top: 0.9rem
}

#footer .box ul .address {
    width: 35%;
    font-size: 1.4rem;
    color: #aeaeae;
    line-height: 2.8rem;
    font-weight: 300
}

#footer .box ul .address span {
    color: #fff;
    padding: 0 1.3rem 0 0.2rem
}

#footer .box ul .address .fir {
    color: #aeaeae;
    padding: 0 0 0 0
}

#footer .box ul .address .mo {
    display: none
}

#footer .box ul .address .sns .ic {
    display: flex;
    gap: 1rem;
    padding: 2rem 0 5rem
}

#footer .box ul .address .sns .ic a {
    border: 0.1rem solid #555762;
    border-radius: 0.6rem;
    width: 4rem;
    height: 4rem;
    box-sizing: border-box;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s;
}

#footer .box ul .address .sns .ic a:hover {
    border: 0.1rem solid #999
}

#footer .box ul .address .sns .ic img {
    margin: 0 auto
}

#footer .box ul .bm {
    width: 45%
}

#footer .box ul .bm .menu {
    overflow: hidden;
}

#footer .box ul .bm .bmx {
    float: left;
    min-width: 10rem;
}

#footer .box ul .bm .tit {
    text-align: center;
    font-size: 1.4rem;
    font-weight: 500;
    color: #fff;
    line-height: 2.2rem;
    padding-bottom: 0.9rem
}

#footer .box ul .bm .tx {
    text-align: center;
    display: flex;
    flex-direction: column;
}

#footer .box ul .bm .tx a {
    display: block;
    font-size: 1.4rem;
    font-weight: 200;
    color: #fff;
    line-height: 2.2rem
}

#footer .box ul .bm .tx a:hover {
    color: #00a5e4
}

#footer .box ul .site {
    float: right;
    width: 11%;
}

#footer .box ul .site .fam {
    position: relative;
    display: block;
}

#footer .box ul .site .fam .dropdown-button {
    background: none;
    width: 100%;
    height: 3.7rem;
    border-radius: 0.3rem;
    border: 0.1rem solid white;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 200;
    box-sizing: border-box;
    cursor: pointer;
    display: flex;
    align-items: center;
    padding-left: 1.7rem
}

#footer .box ul .site .fam .dropdown-button img {
    position: absolute;
    right: 1.7rem;
    width: 2rem;
}

#footer .box ul .site .fam .dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: -0.3rem;
    background-color: white;
    width: 100%;
    border-radius: 0 0 0.3rem 0.3rem;
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition: max-height 0.3s ease-out,opacity 0.3s ease-out;
}

#footer .box ul .site .fam .dropdown-menu.show {
    max-height: 15rem;
    opacity: 1;
}

#footer .box ul .site .fam .dropdown-menu a {
    display: block;
    padding: 1rem 1.7rem;
    text-decoration: none;
    color: #141827;
    transition: background 0.2s;
    font-size: 1.4rem;
    font-weight: 200;
}

#footer .box ul .site .fam .dropdown-menu a:hover {
    background: #f0f0f0;
}

#footer .box ul .site .fam.open .dropdown-button img {
    transform: rotate(180deg);
}

#footer .box ul .site .select-container {
    display: none
}

#footer .copy {
    font-size: 1.4rem;
    color: #aeaeae;
    font-weight: 300;
    padding: 1.7rem 0 2.2rem;
    position: relative;
}

#footer .copy .agree {
    position: absolute;
    right: 0;
    top: 1.8rem
}

#footer .copy .agree a {
    font-size: 1.4rem;
    color: #aeaeae;
    font-weight: 300;
    margin: 0 4rem
}

@media all and (min-width: 1401px) and (max-width:1570px) {
    #footer .box ul .bm {
        width:56% !important
    }

    #footer .box ul .site {
        display: none !important;
    }
}

@media all and (min-width: 1025px) and (max-width:1400px) {
    #footer {
        padding:0 0 0 4rem;
    }

    #footer .box ul .b_logo {
        display: none !important
    }

    #footer .box ul .bm {
        width: 65% !important
    }

    #footer .box ul .site {
        display: none !important
    }
}

@media all and (max-width: 1024px) {
    #footer .box ul .address .mo {
        display:block
    }
}

@media all and (max-width: 1024px) {
    #footer {
        padding:0 2rem;
    }

    #footer .box > ul {
        border-top: 0;
        border-bottom: 0;
        padding-top: 5rem
    }

    #footer .box ul li {
        float: left;
    }

    #footer .box ul .b_logo {
        width: 100%;
        text-align: center
    }

    #footer .box ul .b_logo img {
        margin: 0.9rem auto 2.2rem;
        height: 3rem
    }

    #footer .box ul .address {
        width: 100%;
        font-size: 1.2rem;
        font-weight: 300;
        line-height: 1.8rem;
        text-align: center
    }

    #footer .box ul .address .fir {
        display: none
    }

    #footer .box ul .address .sns .ic {
        display: flex;
        gap: 0.5rem;
        padding: 0.8rem 0 2.2rem
    }

    #footer .box ul .address .sns .ic a {
        border: 0.1rem solid #555762;
        border-radius: 0.7rem;
        width: 3.3rem;
        height: 3.3rem;
        box-sizing: border-box;
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: 0.3s;
    }

    #footer .box ul .address .sns .ic img {
        width: 1.9rem;
    }

    #footer .box ul .bm {
        display: none
    }

    #footer .box ul .site {
        position: relative;
        width: 100%;
    }

    #footer .box ul .site .fam {
        display: none;
    }

    #footer .box ul .site .select-container {
        margin-left: 65%;
        width: 35%;
        display: block;
        margin-top: -5.5rem;
    }

    #footer .box ul .site .select-container .select-wrapper {
        position: relative;
        width: 100%;
        padding: 0;
        box-sizing: border-box;
        border: 0.1rem solid #fff;
        border-radius: 0.4rem;
        color: #fff;
        height: 3.3rem;
        line-height: 3rem;
        --arrow-right: 1rem;
        --arrow-top: 51%;
        --arrow-size: 1rem;
    }

    #footer .box ul .site select {
        width: 100%;
        height: 3rem;
        font-size: 1.3rem;
        font-weight: 200;
        background-color: transparent;
        color: var(--text-color,#fff);
        border-radius: var(--bar-radius,0.4rem);
        border: none;
        padding: 0 1rem;
        box-sizing: border-box;
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        cursor: pointer;
        background-image: none !important;
        position: relative;
        z-index: 1;
        
    }

    #footer .box ul .site select:focus {
        outline: none;
        box-shadow: none;
    }

    #footer .box ul .site select::-moz-focus-inner {
        border: 0;
    }

    #footer .box ul .site select::-ms-expand {
        display: none;
    }

    #footer .box ul .site .select-wrapper::after {
        content: '';
        background: url('/web/upload/arr05.png') no-repeat center;
        background-size: contain;
        width: var(--arrow-size);
        height: var(--arrow-size);
        position: absolute;
        right: var(--arrow-right);
        top: var(--arrow-top);
        transform: translateY(-50%);
        pointer-events: none;
        z-index: 2;
    }

    #footer .copy {
        font-size: 1.1rem;
        color: #aeaeae;
        padding: 0.8rem 0 1.5rem;
        position: relative;
        border-top: 0.1rem solid #434652;
        text-align: center;
        line-height: 2rem
    }

    #footer .copy .agree {
        position: relative;
        width: 100%;
        top: 0
    }

    #footer .copy .agree a {
        font-size: 1.1rem;
        color: #aeaeae;
        margin: 0 1.1rem
    }
}