body{
    background: #000;
    color: #fff;
    word-break: keep-all;
}

.inner{
    width: 1400px;
    margin: 0 auto;
}

.reserve{
    cursor: pointer;
    position: absolute;
    position: fixed;
    bottom: 50px;
    right: 50px;
    width: 217px;
    height: 105px;
    z-index: 999;
}
.reserve::before{
    position: absolute;
    content: "";
    width: 90%;
    left: 50%;
    transform: translateX(-50%);
    height: 50px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100%;
    background-image: url(../images/common/reserveBtn-pop.png);
    top: -60px;
    animation: doing 2s infinite ease-in-out;
}
@keyframes doing{
    0%{
        top: -60px;
    }
    50%{
        top: -70px;
    }
    100%{
        top: -60px;
    }
}
.reserve img{
    width: 100%;
    filter: drop-shadow(0 0 10px rgb(255, 0, 234));
    animation: bling 5s infinite;
}

@keyframes bling {
    0%{
        filter: drop-shadow(0 0 10px rgb(255, 0, 234));
    }
    20%{
        filter: drop-shadow(0 0 10px rgb(0, 255, 21));
    }
    40%{
        filter: drop-shadow(0 0 10px rgb(221, 255, 0));
    }
    60%{
        filter: drop-shadow(0 0 10px rgb(0, 255, 238));
    }
    80%{
        filter: drop-shadow(0 0 10px rgb(149, 0, 255));
    }
    100%{
        filter: drop-shadow(0 0 10px rgb(255, 0, 234));
    }
}


/*헤더*/
.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
	z-index:100;
	transition: 0.2s;
	border-bottom: 1px solid transparent;
}

.header.on,
.header.down {
	background:rgba(0, 0, 0, 0.5);
	transition: 0.1s;
}
.header .inner {
	height:100%;
	display: flex;
    justify-content: space-between;
    align-items: center;
}


.logo-box > a {
    display: block;
	/*background-image:url('../images/main/vs-logo.png');
	background-repeat: no-repeat;
    background-size: contain;*/
    width:211px;
	height:56px;
	transition: 0.2s;
}
.logo-box > a img{
    width: 100%;
}
/* 
.header.down .logo-box > a,
.header.on .logo-box > a{
    background-image:url('../images/common/logo-b.png');
} */


.header-menu {
	margin: 0;
    width: auto;
    justify-content: flex-end;
    margin-left: auto;
}
.header-menu > ul {
	display: flex;
    width: 750px;
    height: 80px;
}

.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;
    height: calc(100% + 2px);
}
.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:100%; transition:opacity .1s, width .5s; }
.header-menu > ul > li:hover > a::after { opacity:1; width:100%; transition:opacity .1s, width .5s; }
	
.header.on .header-menu > ul > li > a::after { background:#23419b; }
.header.on .header-menu > ul > li:hover > a span { color:#23419b; }


.header-menu > ul > li > a > span {
	color:#fff;
	transition:color .1s .1s;
	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.enter .header-menu > ul > li > a > span {
    color: #000;
}
.header.join .header-menu > ul > li > a > span {
    color: #000;
}
.header.on .header-menu > ul > li > a > span {
	color:#000;
	transition:color .4s;
}
.gnb-sub { border-radius: 20px; position:absolute; top:80px; left:0; height:auto; width:100%; padding-top:0px; display:none; z-index: 1; }
.gnb-sub li { text-align:center; }
.gnb-sub li a { transition:.2s; padding: 15px 0; display: block; font-size:16px; color: #fff;}
.gnb-sub li a:hover { color:rgb(0, 255, 200); transition:.2s; }
.header.on .gnb-sub { display: block; transition:.5s .15s; }

.gnb-sub.on{
    opacity: 1;
    background-color: rgba(0, 0, 0, 0.7);
    border: 2px solid rgb(0, 255, 200);
}
.header.on .gnb-sub-bg { 
    height:200px;
    transition:height .5s;
 }

.gnb-sub-bg {
    top: 80px;
    right: 50%;
    transform: translateX(50%);
    width: 100%;
    height: 0px;
    background: #fff;
    position: absolute;
    transition: height .5s;
    box-shadow: 0 10px 10px rgba(0,0,0,.04);
}

/*모바일 메뉴 버튼*/

.gnb-btn {
    display: none;
    position: absolute;
    right: 10px;
    bottom: 8px;
    z-index: 10;
}

.m-scr-wrap .sns-wrap {
    width: 333px;
}


.gnb-btn button {
    position: relative;
    width: 40px;
    height: 40px;
    border: 0;
    background: transparent;
}

.gnb-btn button span {
    position: absolute;
    display: block;
    height: 2px;
    width: 22px;
    background: #fff;
    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: #fff;
    top: -7px;
    transform: rotate(0deg);
    transition: all 0.5s;
}

.gnb-btn button span:after {
    content: '';
    display: block;
    height: 100%;
    width: 100%;
    background: #fff;
    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;
}


.site-map {
    display: none;
    z-index: 9999999;
    position: fixed;
    top: 60px;
    width: 100%;
    height: 100vh;
    background: #000;
}

.site-map>.inner {
    padding: 50px;
}

.site-map h4 {
    font-weight: 600;
    line-height: 1.6em;
}

.site-map .row {
    border-bottom: 1px solid #d8d8d8;
    margin-bottom: 20px;
    padding-bottom: 20px;
}

.site-map .row:last-child {
    border-bottom: 0;
}

.site-map ul li {
    margin-bottom: 0px;
}

#mobile-nav{
    padding: 40px 20px ;
}

#mobile-nav>li:not(:last-child){
    margin-bottom: 20px;
}


#mobile-nav li a {
    display: flex;
    align-items: center;
    position: relative;
    font-size: 30px;
    color: #333;
    text-decoration: none;
    color: #fff;
    background-repeat: no-repeat;
    background-position: 93% center;
    transform: none;
    font-weight: 600;
}
#mobile-nav>li>a{
    transition: all 0.4s;
    font-size: 18px;
    font-weight: bolder;
}
#mobile-nav>li.on>a{
    padding-bottom: 3px;
} 

.site-map .sns-wrap{
    padding: 0 10px;
}

.site-map button{
    width: 100%;
    height: 45px;
}

.site-map .ins{
    padding: 13px 10px 10px 10px;
    border-radius: 5px;
    background: radial-gradient(circle farthest-corner at 32% 106%,#ffe17d 0%,#ffcd69 10%,#fa9137 28%,#eb4141 42%,transparent 82%) , linear-gradient(135deg,#234bd7 12%,#c33cbe 58%);
}

.site-map .ins span {
    color: #fff;
    font-weight: bolder;
    background: url(../images/common/sns-ins.png) left 1px / 21px no-repeat;
    padding-left: 30px;
    display: table;
    margin: 0 auto;
}

/* 
#mobile-nav li a::after{
    position: absolute;
    content: "";
    width: 20px;
    height: 20px;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 12px;
    background-image: url("../images/common/arr-down.png");
} */
#mobile-nav li a.active {
    background-position: 93% center;
    background-color: #000;
}
/* #mobile-nav li a.active::after{
    background-image: url("../images/common/arr-up.png");
} */

#mobile-nav li a.active {
    padding: 15px;
    color: #fff;
}
#mobile-nav li a span{
    display: block;
    width: 31px;
    height: 32px;
    margin-left: auto;
    position: relative;
}
#mobile-nav li a span::before{
    position: absolute;
    content: "";
    width: 17px;
    height: 1px;
    background-color: #fff;
    transform: translate(-50%,-50%) ;
    right: 0;
    top: 50%;
}
#mobile-nav li a span::after{
    right: 0;
    top: 50%;
    position: absolute;
    content: "";
    width: 17px;
    height: 1px;
    background-color: #fff;
    transform: translate(-50%,-50%) rotate(90deg);
    transition: all 0.4s;
}
#mobile-nav li ul{
    display: none;
    background: #1e1e1e;
}
#mobile-nav li.on a span::after{
    transform: translate(-50%,-50%) rotate(0);
}


#mobile-nav li ul li a {
    padding: 10px 15px;
    font-size: 16px;
    color: #fff;
    font-weight: 300;
}

#mobile-nav > li{
    font-weight: 800;
}

footer .inner{
    display: flex;
    flex-wrap: wrap;
    padding: 50px 0;
}

footer  .cbox.n-1{
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0 60px;
    justify-content: center;
    margin-bottom: 30px;
}

footer  .cbox.n-1 a{
    position: relative;
}

footer .cbox.n-1 a img{
    width: 200px;
    max-height: 50px;
    object-fit: contain;
}

footer  .cbox.n-1 a:not(:last-child)::after{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -30px;
    display: block;
    content: "";
    width: 1px;
    height: 30px;
    background-color: rgba( 255 255 255 / 15%);
}


footer .cbox.n-2{
    width: 100%;
}

footer .cbox.n-2 .bottom{
    display: flex;
    flex-wrap:wrap;
}

footer .cbox.n-2 .bottom > div:last-child{
    margin-left: auto;
}

footer .cbox.n-2 .bottom > div:last-child img{
    margin-bottom: 10px;
}

footer a{
   color: #fff !important; 
}

footer .top{
    display: flex;
    border-bottom: 1px solid #1c1c1c;
    padding-bottom: 20px;
    margin-bottom: 20px;
}

footer .top ul{
    display: flex;
}
footer .top .mn{
    gap: 0 20px;
}

footer .top .sns-list{
    justify-content: flex-end;
    margin-left: auto;
    gap: 0 20px;
    align-items: center;
}

footer .bottom ul{
    display: flex;
    flex-wrap: wrap;
    gap: 0 20px;
}

footer .bottom ul li{
    position: relative;
}

footer .bottom ul li::after{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -10px;
    display: block;
    content: "";
    width: 1px;
    height: 10px;
    background: #5b5b5b;
}

footer .bottom ul li:last-child:after{
    display: none;
}

footer .bottom .copy{
    color: #5b5b5b;
}

/*탭메뉴 */
.tab ul.title{
    display: flex;
    justify-content: center;
	height: 50px;
	width: auto;
    border-radius: 50px;
    margin: 0 auto;
}

.tab ul.title li{
    display: flex;
	cursor: pointer;
	position: relative;
    align-items: center;
    justify-content: center;
}

.tab ul.title li a{
    font-family: 'NexonFootballGothic';
    padding-top: 5px;
    opacity: 0.5;
    color: #4e4e4e;
}

.tab ul.title li.active a{
    color: #fff;
}


.tab ul.title li:not(:last-child):after{
    position: absolute;
    right: 0;
    display: inline-block;
    content: "";
    width: 3px;
    height: 3px;
    background: #fff;
    border-radius: 3px;
}

.tab ul.panel > li{
    display: none;
    overflow: hidden;
}

#rank .tab ul.panel > li{
    display: unset;
    overflow: unset;
}
/*0713 : pc사이트맵*/
.pc-sitemap-btn{
    width: 28px;
    padding: 0;
    background-color: transparent;
}
.pc-sitemap-btn span{
    display: block;
    width: 100%;
    background-color: #fff;
    height: 1.5px;
    border-radius: 5px;
}

.pc-sitemap-btn span:not(:last-child){
    margin-bottom: 6px;
}

.pc-sitemap{
    position: fixed;
    display: flex;
    top: 0;
    right: -100%;
    width: 100%;
    height: 100vh;
    z-index: 999;
    transition: all 0.5s;
}
.pc-sitemap.on{
    right: 0;
}
.pc-sitemap .menu{
    width: 60%;
    padding: 10vh 10vw;
    background-color: #fff;
}
.pc-sitemap .menu>li:not(:first-child){
    margin-top: 40px;
}
.pc-sitemap .menu>li>a{
    font-size: 45px;
    font-weight: 800;
}
.pc-sitemap .menu>li .depth{
    display: flex;
    gap: 0 40px;
}
.pc-sitemap .menu>li .depth a{
    font-size: 20px;
}
.pc-sitemap .pc-sm-info{
    position: relative;
    padding: 10vh 5vw;
    width: 40%;
    background-image: url(../images/common/sitemap-bg.JPG);
    background-repeat: no-repeat;
    background-size: cover;
    background-position:  center;
}
.pc-sitemap .pc-sm-info .site-logo{
    position: relative;
    z-index: 3;
    height: 80px;
    margin-bottom: 80px;
}
.pc-sitemap .pc-sm-info::before{
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    left: 0;
    top: 0;
    z-index: 0;
}
.pc-sitemap .pc-sm-info p{
    position: relative;
    z-index: 2;
    font-size: 20px;
}
.pc-sitemap .pc-sm-info p.num{
    margin-bottom: 20px;
}
.pc-sitemap .pc-sm-info .snsBox{
    position: absolute;
    bottom: 10vh;
    align-items: center;
    display: flex;
    gap: 0 30px;
}
.pc-sitemap .pc-sm-close{
    position: absolute;
    top: 30px;
    right: 30px;
    width: 31px;
    height: 31px;
    padding: 0;
    background-color: transparent;
}
.pc-sitemap .pc-sm-close span{
    position: absolute;
    top: 50%;
    left: 50%;
    background-color: #fff;
    height: 3px;
    width: 100%;
    display: block;
}
.pc-sitemap .pc-sm-close span:first-child{    
    transform: translate(-50%,-50%) rotate(-45deg);
}
.pc-sitemap .pc-sm-close span:last-child{
    transform: translate(-50%,-50%) rotate(45deg);
}

.headerTop {
    background-color: rgba(0, 0, 0, 0.4);
}
.headerTop .inner{
    padding: 10px 0;
    display: flex;
    justify-content: flex-end;
}
.headerTop .inner .loginBtn{
    background-color: transparent;
    font-size: 15px;
    color: #fff;
}
.headerTop .inner .loginBtn img{
    height: 13px;
    display: inline-block;
    vertical-align: revert;
    margin-right: 5px;
}
.headerTop.login .loginBtn{
    display: none;
}
.headerTop .logoutBox{
    display: none;    
}
.headerTop.login .logoutBox{
    display: flex;
    gap: 0 10px;
    align-items: center;
}
.headerTop.login .logoutBox p span{
    font-weight: 700;
}
.headerTop .inner .logoutBtn{
    font-size: 15px;
    background-color: transparent;
    color: #fff;
}
.headerTop .inner .logoutBtn img{
    height: 13px;
    display: inline-block;
    vertical-align: revert;
    margin-right: 5px;
}
.headerTop .inner .myPage{
    font-size: 15px;
    background-color: transparent;
    color: #fff;
}
.headerTop .inner .myPage img{
    height: 12px;
    display: inline-block;
    vertical-align: inherit;
    margin-right: 5px;
}

@media screen and (max-width: 1400px){
    .inner{
        width: 100%;
        padding: 0 20px;
    }
    footer .inner{
        padding: 50px 20px;
    }
    
    .headerTop .inner{
        padding: 10px 20px;
    }
}

@media screen and (max-width: 1024px){

    .logo-box > a{
        width: 180px;
        height: 46px;
    }

    .pc-sitemap-btn{
        display: none;
    }
    #mobile-nav{
        padding: 20px 10px;
    }
    .site-map {
        overflow-y: scroll;
        height: calc(100vh - 60px);
    }
    .site-map .mo-loginBox {
        padding: 0 10px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
        padding-bottom: 20px;
    }
    .site-map .mo-loginBox p{
        font-weight: 300;
    }
    .site-map .mo-loginBox p span{
        font-weight: 700;
    }
    .site-map .mo-loginBox.login .loginBtn{
        display: none;
    }

    .site-map .logoutBox p{
        margin-bottom: 10px;
    }

    .site-map .mo-loginBox .btn-wrap{
        display: flex;
        gap: 0 10px;
    }

    .site-map .mo-loginBox button{
        width: calc((100% - 10px)/2);
        background-color: transparent;
        font-size: 14px;
        color: #fff;
        border-radius: 5px;
        padding: 8px 10px 5px 10px;
    }

    .site-map .mo-loginBox button:first-child{
        background: #33456b;
    }

    .site-map .mo-loginBox button:last-child{
        background: #53abbc;
    }

    .site-map .mo-loginBox button img{
        display: inline-block;
        height: 14px;
        margin-right: 5px;
    }
    .headerTop{
        display: none;
    }
    .header{
        background-color: rgba(0, 0, 0, 0.5);
    }
    .header .inner{
        height: 60px;
    }
    .header-menu{
        display: none;
    }

    .gnb-btn {
        display: block;
    }
    .reserve{
        right: 30px;
        bottom: 0px;
        width: 160px;
        height: 80px;
    }
    
    .headerTop .inner {
        height: auto;
    }
    .headerTop .inner .logoutBtn{
        font-size: 14px;
    }
    .headerTop .inner .myPage{
        font-size: 14px;
    }
    .headerTop .inner .loginBtn{
        font-size: 14px;
    }
    .headerTop .inner .loginBtn img{
        height: 11px;
    }
    .headerTop .inner .logoutBtn img{
        height: 11px;
    }
    
    .headerTop.login .logoutBox p{
        font-size: 14px;
    }
    footer .top .mn a{
        font-size: 13px;
    }
    footer .top .sns-list img{
        max-height: 20px;
        width: auto;
    }
    
    .tab ul.title li a{
        font-size: 16px;
    }
    .inner{
        padding: 0 15px;
    }
    footer .cbox.n-1{
        gap: 0 30px;
    }
    footer .cbox.n-1,
    footer .cbox.n-2{
        width: 100%;
    }

    footer .cbox.n-1 a img{
        width: 100px;
    }

    footer .cbox.n-1 a:not(:last-child)::after{
        right: -15px;
        height: 18px;
    }

    footer .cbox.n-2{
        margin: 20px 0 0 0;
    }

    footer .bottom > div{
        width: 100%;
    }

    footer .cbox.n-2 .bottom > div:last-child{
        margin-top: 20px;
    }

}

@media screen and (max-width: 425px){
    
    .inner{
        padding: 0 10px;
    }
    .logo-box{
        width: 160px;
    }
    .logo-box > a{
        width: 100%;
        height: 40px;
    }
    footer .top .mn a{
        font-size: 14px;
    }
    footer .top .sns-list{
        gap: 0 10px;
    }
    footer .top .sns-list a img{
        width: 80%;
    }
    footer .bottom{
        font-size: 14px;
    }
    footer .bottom .copy{
        font-size: 14px;
    }
    .headerTop .inner button{
        padding: 0 5px !important;
        font-size: 12px !important;
    }
    .headerTop .inner button img{
        display: none !important;
    }
    
    footer .cbox.n-1{
        margin-bottom: 10px;
    }
    footer .inner{
        padding: 30px 20px 80px 20px;
    }
    footer .top{
        padding-bottom: 10px;
        margin-bottom: 10px;
    }

    footer .bottom ul li::after{
        display: none;
    }
    footer .bottom .bot-bottom p{
        font-size: 14px;
    }

}

@media screen and (max-width: 375px){

    footer .top{
        flex-wrap: wrap;
    }

    footer .bottom ul li:first-child:after{
        display: none;
    }

    footer .top .sns-list {
        justify-content: flex-start;
        width: 100%;
        margin-top: 10px;
    }

    footer .top .mn a{
        font-size: 14px;
    }

    footer .cbox.n-1 a:first-child img{
        width: 100px;
    }

    footer .cbox.n-1 a:last-child img{
        width: 120px;
    }
}











