.inner{
    width: 1140px;
    margin: 0 auto;
}

header{
    position: fixed;
    height: 120px;
    display: block;
    z-index: 99;
    min-width: 1920px;
    width: 100%;
    border-bottom: 1px solid rgba( 255 255 255 / 30%);
}

header .inner{
    position: relative;
    width: 1400px;
    height: calc(100% - 40px);
}

header .logo{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 171px;
    height: 40px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url(../images/common/logo-w.png);
}


header:hover,
header.hd-down{
    background: #fff;
    transition: 0.2s;
    border-bottom: 1px solid #f7f7f7;
}

header:hover .header-menu ul > li > a,
header.hd-down .header-menu ul > li > a{
    color: #111;
}

header:hover .logo,
header.hd-down .logo{
    background-image: url("../images/common/logo.png");
}

header .headerTop{
    height: 40px;
    border-bottom: 1px solid rgba( 255 255 255 / 30%);
}
header .headerTop .inner{
    display: flex;
    align-items: center;
    height: 100%;
}
header .headerTop .inner .btnWrap{
    margin-left: auto;
    display: flex;
    gap: 24px;
}
header .headerTop .inner .btnWrap.log_on{
    display: none;
}
header .headerTop .inner .btnWrap a{
    position: relative;
    display: block;
    color: #fff;
    display: flex;
    font-size: 15px;
    font-weight: 400;
    align-items: center;
}
header .headerTop .inner .btnWrap a:first-child::after{
    position: absolute;
    content: "";
    width: 1px;
    height: 12px;
    background-color: rgba(255, 255, 255, 0.5);
    right: -13px;
    top: 50%;
    transform: translateY(-50%);
}
header .headerTop .inner .btnWrap a img{
    height: 20px;
    margin-right: 3px;
}
header .headerTop .inner .btnWrap a img.on{
    display: none;
}

header.hd-down .headerTop,
header.type-2 .headerTop,
header:hover .headerTop{
    border-color: #ddd;
}
header.hd-down .headerTop .inner .btnWrap a:first-child::after,
header.type-2 .headerTop .inner .btnWrap a:first-child::after,
header:hover .headerTop .inner .btnWrap a:first-child::after{
    background-color: #aaa;
}
header.hd-down .headerTop .inner .btnWrap a,
header.type-2 .headerTop .inner .btnWrap a,
header:hover .headerTop .inner .btnWrap a{
    color: #333;
}
header.hd-down .headerTop .inner .btnWrap a img.on,
header.type-2 .headerTop .inner .btnWrap a img.on,
header:hover .headerTop .inner .btnWrap a img.on{
    display: block;
}
header.hd-down .headerTop .inner .btnWrap a img.normal,
header.type-2 .headerTop .inner .btnWrap a img.normal,
header:hover .headerTop .inner .btnWrap a img.normal{
    display: none;
}


.header-menu {
    width: 1000px;
    height: 80px;
    margin: 0 0 0 auto;
}
.header-menu > ul {
    display: flex;
    height: 100%;
    margin-right: 100px;
}
.header-menu > ul > li {
    position:relative;
    height: 100%;
    flex-grow: 1;
}
.header-menu > ul > li:last-of-type {
    margin-right:0;
}
.header-menu > ul > li > a {
    width:100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content:center;
    transition: color .3s .2s;
    color: #fff;
}

header.down .header-menu > ul > li > a,
header.on .header-menu > ul > li > a {
    color: #333;
}

.header-menu > ul > li > a::after {transition:opacity .1s, width .5s; content:''; display:block; height:3px; width:0; position:absolute; bottom:-1px; left:50%; transform:translate(-50%, 0); opacity:0; }
.header-menu > ul > li.on > a::after { opacity:1; width:50%; transition:opacity .1s, width .5s; }
.header-menu > ul > li:hover > a::after { opacity:1; width:50%; transition:opacity .1s, width .5s; }

.header.on .header-menu > ul > li > a::after { background:var(--main-color); }
.header.on .header-menu > ul > li:hover > a span { color:var(--main-color); }


.header-menu > ul > li > a > span {
    font-size:16px;
    font-weight: 600;
    position:relative;
}
.header-menu > ul > li.current > a > span {
    font-weight:600;
}
.header-menu > ul > li.current > a > span::after {
    position:absolute;
    background:#fff;
    width:7px;
    height:7px;
    border-radius:50%;
    content:'';
    top: -8px;
    left: 0;
}

.header.on .header-menu > ul > li > a > span,
.header.hd-down .header-menu > ul > li > a > span {
    color:#000;
}


.gnb-sub { position:absolute; top:80px; left:0; height:270px; width:100%; padding-top:0px; opacity:0; z-index: 1; }
.gnb-sub li { text-align:center; }
.gnb-sub li a { transition:.2s; padding: 15px 0; display: block; font-size:16px;}
.gnb-sub li:hover{ color:var(--main-color);}
.header.on .gnb-sub { opacity:1; transition:.5s .15s; }
.header-menu > ul > li { overflow:hidden; }
.header.on .header-menu > ul > li { overflow:visible; }

.gnb-sub li:hover a{ color:var(--main-color) !important;}

.header.on .gnb-sub-bg {
    height:330px;
    transition:height .5s;
}

.gnb-sub-bg {
    top: 80px;
    right: 50%;
    transform: translateX(50%);
    width: 1920px;
    height: 0px;
    background: #fff;
    position: absolute;
    transition: height .5s;
    box-shadow: 0 10px 10px rgba(0,0,0,.04);
}


.header.type-2{
    background-color: #fff !important;
}

.header.type-2 .logo {
    background-image: url(../images/common/logo.png);
}

.header.type-2 .header-menu ul > li > a {
    color: #111;
}

.header.type-2 .allMn-btn {
    background-image: url(../images/common/allMn-icon.png);
}

/**/


.header.on,
.header.hd-down {
    background:#fff;
    transition: 0.2s;
}




/**/

.gnb-btn {
    z-index: 99999999;
    position: absolute;
    right: 15px;
    top: 10px;
}

.gnb-btn button{
    display: none;
    position: relative;
    width: 40px;
    height: 40px;
    border: 0;
    background: transparent;
}

.gnb-btn button span{
    position: absolute;
    display: block;
    height: 2px;
    width: 22px;
    background: #333;
    top: 50%;
    margin-top: -1px;
    left: 50%;
    margin-left: -11px;
    transition: all 0.5s;
}


.gnb-btn button span:before{
    position: absolute;
    content:'';
    display: block;
    height: 100%;
    width: 100%;
    background: #333;
    top: -7px;
    transform: rotate(0deg);
    transition: all 0.5s;
}

.gnb-btn button span:after{
    content:'';
    display: block;
    height: 100%;
    width: 100%;
    background: #333;
    position: absolute;
    top: 7px;
    transform: rotate(0deg);
    transition: all 0.5s;
}

.gnb-btn.gnb-btn-active button span{
    background: transparent;
}

.gnb-btn.gnb-btn-active button span:before{
    transform: rotate(135deg);
    top: 0;
}

.gnb-btn.gnb-btn-active button span:after{
    transform: rotate(-135deg);top: 0;
}

.gnb-btn.mobile{display: none;}


#mobile-nav li a {
    position: relative;
    display: block;
    padding: 15px;
    color: #333;
    background-color: rgba(0 0 0 / 20%);
    text-decoration: none;
    color: #fff;
    background-repeat: no-repeat;
    background-image: url("../images/common/arr-down-w.png");
    background-position: 93% center;
    transform: none;
    border-bottom: 1px solid rgba( 255 255 255 / 40%);
}

#mobile-nav li a.active {
    padding: 15px;
    color: #fff;
    background-image: url("../images/common/arr-up-w.png");
    background-position: 93% center;
}

#mobile-nav li a.active::after {
    position: absolute;
    top: 11px;
    left: 6px;
    display: block;
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 5px;
    background: #fff;
}

#mobile-nav li ul {
    display: none;
}


#mobile-nav li ul li a {
    padding: 15px;
    background: #fff;
    box-shadow: 2px 1px 3px rgb(0 0 0 / 30%);
    color: #333;
    font-weight: 600;
}

#mobile-nav > li{
    font-weight: 800;
}

footer{
    background-color: #000000;
}

footer .inner{
    width: 1400px;
    display: flex;
    flex-wrap: wrap;
    padding: 50px 0;
}

footer .logo{
    width: 171px;
    height: 40px;
    background: url("../images/common/logo-gray.png") center / contain no-repeat;
}

footer .info{
    margin-left: 100px;
}

footer .info a,
footer .info b,
footer .info p{
    color: rgba(255 255 255 / 70%)
}

footer .info ul,
footer .info .bottom li{
    display: flex;
    flex-wrap: wrap;
    gap: 0 20px;
}

footer .info .top li:first-child a{
    font-weight: 800;
}

footer .info .top{
    margin-bottom: 20px;
}

.allMn-btn{
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 17px;
    background-image: url("../images/common/allMn-icon-w.png");
}

header:hover .allMn-btn,
header.hd-down .allMn-btn{
    background-image: url("../images/common/allMn-icon.png");
}

#allMn-wrap{
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    color: #fff;
    background: url("../images/common/allMn-bg.png") center / cover no-repeat;
    background-color: var(--main-color);
    z-index: 99999;
}

#allMn-wrap .inner{
    width: 1400px;
}

#allMn-wrap.open{
    display: block;
}

#allMn-wrap .inner{
    position: relative;
    padding: 200px 0;
}

#allMn-wrap .intro-tit{
    position: relative;
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 1px solid rgba( 255 255 255 / 10%);
    font-weight: 500;
}

#allMn-wrap .intro-tit h1{
    font-weight: 800;
}

#allMn-wrap .item{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

#allMn-wrap .item:not(:last-child){
    margin-bottom: 40px;
}

#allMn-wrap .item p.tit{
    font-size: 20px;
    font-weight: 800;
}


#allMn-wrap .item ul{
    display: flex;
    flex-wrap: wrap;
    gap: 0 20px;
}

#allMn-wrap .item ul a{
    color: rgba( 255 255 255 / 80%);
    font-weight: 600;
}

#allMn-wrap .item ul a:hover{
    text-decoration: underline;
    color: rgba( 255 255 255 / 100%);
}

#allMn-wrap .item .tit{
    position: relative;
    width: 200px;
    padding-left: 20px;
}

#allMn-wrap .item .tit::after{
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 5px;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    display: none;
}

#allMn-wrap .item:hover .tit::after{
    display: block;
    transition: 0.2s;
}

#allMn-wrap .close{
    position: absolute;
    right: 0;
    bottom: 50px;
    width: 50px;
    height: 50px;
    background-color: #fff;
    background-image: url("../images/common/close.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 24px;
    border-radius: 10px;
}


.snb {
    position: relative;
    z-index: 20;
    background: #fff;
    box-shadow: 1px 1px 5px rgba(0 0 0 / 10%);
}


.snb .home{
    width: 75px;
    height: 75px;
    cursor: pointer;
    display: block;
    background-color: var(--main-color);
    background-image: url("../images/common/icon-home.png");
    background-repeat: no-repeat;
    background-size: 22px;
    background-position: center;

}

.snb-ul{

}

.snb-ul .snb-li {
    display: inline-block;
    height: 75px;
    line-height: 75px;
    padding: 0 32px;
    width: 300px;
    position: relative;
    vertical-align: top;
    border-right: 1px solid var(--gray);
    overflow: hidden;
    z-index: 5;
    position: relative;
    cursor: pointer;
}

.snb-ul .snb-li:after {
    content:"";
    display: block;
    width: 16px;
    height: 16px;
    position: absolute;
    top: 40%;
    right: 16px;
    background: url("../images/common/arr-down.png") 90% center no-repeat;
    transition: transform 0.5s ease;
}

.snb-ul .snb-li:not(.home).open:after {
    transform:rotate(180deg);
}

.snb-ul .snb-li:before {
    content: "";
    display: block;
    width: 0%;
    height: 3px;
    background: #000;
    position: absolute;
    bottom: 0;
    z-index: 2;
    left: 0;
    -webkit-transition:  .5s cubic-bezier(.5,.7,.4,1), opacity 0.1s ease 0.3s;
    transition:  .5s cubic-bezier(.5,.7,.4,1), opacity 0.1s ease 0.3s;
}
.snb-ul .snb-li:not(.home).open:before {
    width: 100%;
}
.snb-ul .snb-li:not(.home).open {
    overflow: visible;
    transition: all 0.5s ease;
}

.snb-ul .snb-li > span {
    display: block;
    width: 100%;
    height: 100%;
    color: #121212;
    font-weight: 500;
}


.snb-ul .snb-li.open .snb-menu-ul {
    opacity: 1;
    -webkit-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease;
}

.snb-menu-ul {
    position: absolute;
    left: 0;
    top: 100%;
    z-index: 3;
    background: #fff;
    box-shadow: 1px 1px 10px rgba(0 0 0 / 10%);
    opacity: 0;
    width:100%;
}

.snb-menu-ul .snb-menu-li {
    width: 100%;
}

.snb-menu-ul .snb-menu-li + .snb-menu-li {
    border-top: 1px solid rgba(0,0,0,0.1);
}

.snb-menu-ul .snb-menu-li:hover a {
    background: #f4f4f4;
}
.snb-menu-ul .snb-menu-li a {
    display: block;
    padding: 0 30px;
    height: 75px;
    line-height: 75px;
    width: 300px;
}

.snb-menu-ul.ul1 {
    left: 100%;
    top: -20%;
    display: block;
}


@media screen and (min-width: 1921px){
    .gnb-sub-bg{
        width: 300%;
    }
}



@media screen and (max-width: 1700px){

    header{
        width: 100%;
        min-width: unset;
    }

    header .inner{
        width: 100%;
    }

    header .logo{
        left: 20px;
    }

    .allMn-btn{
        right: 20px;
    }

    #allMn-wrap .inner{
        width: 100%;
        height: 100%;
        padding: 20px;
        overflow-y: auto;
    }

    header .headerTop .inner{
        padding: 0 20px;
    }
}

@media screen and (max-width: 1280px){

    .header-menu{
        display: none;
    }


    footer .inner{
        width: 100%;
        padding: 40px 20px !important;
    }


    .inner{
        width: 100%;
        padding: 0 20px;
    }

}/*1280*/

@media screen and (max-width: 1024px){

    footer .info{
        width: 100%;
        margin-left: 0;
        margin-top: 20px;
    }


    .snb .inner{
        padding: 0;
    }

    .snb-ul .snb-li{
        width: 100%;
        height: 60px;
        line-height: 60px;
    }

    .snb-ul.dept-1{
        display: none;
    }

    .snb .home{
        width: 60px;
        height: 60px;
        background-size: 16px;
    }

    .snb-ul{
        width: calc( 100% - 60px);
    }

    .snb-menu-ul .snb-menu-li a {
        padding: 0 20px;
        height: 60px;
        line-height: 60px;
        width: calc( 100% - 60px);
    }



}

@media screen and (max-width: 640px){

    header{
        height: auto;
    }

    #allMn-wrap .close{
        bottom: auto;
        top: 0;
        width: 36px;
        height: 36px;
    }

    #allMn-wrap .intro-tit h1 {
        font-size: 20px;
        width: 60%;
        word-break: keep-all;
        line-height: 1.6;
    }

    #allMn-wrap .item .tit{
        padding-left: 0;
        padding-top: 10px;
    }

    #allMn-wrap .item:not(:last-child) {
        margin-bottom: 10px;
    }

    #allMn-wrap .item .tit{
        width: 100%;
    }

    #allMn-wrap .intro-tit {
        padding-bottom: 20px;
        margin-bottom: 20px;
    }
    #allMn-wrap .intro-tit img{
        width: 50%;
    }

    #allMn-wrap.open {
        overflow-y: scroll;
    }

    header .inner{
        height: 60px;
    }
    header .headerTop .inner .btnWrap{
        gap: 16px;
    }
    header .headerTop .inner .btnWrap a{
        font-size: 13px;
    }
    header .headerTop .inner .btnWrap a img{
        height: 16px;
    }
    header .headerTop .inner .btnWrap a:first-child::after{
        right: -10px;
    }

}












