/* font */
@font-face {
    font-family: cookie;
    font-weight: 400;
    src: url(font/CookieRun_Regular.woff2) format('woff2');
}

@font-face {
    font-family: korail;
    font-weight: 700;
    src: url(font/Korail_Round_Gothic_Bold.woff2) format('woff2');
}

@font-face {
    font-family: pretendard;
    font-weight: 300;
    src: url(font/Pretendard-Light.woff2) format('woff2');
}


@font-face {
    font-family: pretendard;
    font-weight: 400;
    src: url(font/Pretendard-Regular.woff2) format('woff2');
}


@font-face {
    font-family: pretendard;
    font-weight: 500;
    src: url(font/Pretendard-Medium.woff2) format('woff2');
}

@font-face {
    font-family: pretendard;
    font-weight: 600;
    src: url(font/Pretendard-SemiBold.woff2) format('woff2');
}

@font-face {
    font-family: pretendard;
    font-weight: 700;
    src: url(font/Pretendard-Bold.woff2) format('woff2');
}

@font-face {
    font-family: pretendard;
    font-weight: 800;
    src: url(font/Pretendard-ExtraBold.woff2) format('woff2');
}

@font-face {
    font-family: pretendard;
    font-weight: 900;
    src: url(font/Pretendard-Black.woff2) format('woff2');
}



/* 공통 */
body {
    width: 3840px;
    height: 2160px;
}

body,
b,
i,
button {
    font-family: 'pretendard';
    font-weight: 400;
}

main {
    position: relative;
    width: 100%;
    height: 100%;
}

.mockup {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}



/* main */
.main {
    background: url(../../images/bg_main.png) no-repeat center / 100% auto;
}

.main .align_top {
    position: absolute;
    right: 65px;
    top: 70px;
}

.main .align_top .time {
    height: 140px;
    margin-bottom: 25px;
    border: 1px solid red;
}

.main .align_top .date {
    font-size: 53px;
    color: #383838;
}

.title_main {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 192px;
}

.nav_main {
    position: absolute;
    left: 0;
    top: 930px;
    width: 100%;
}

.nav_main ul {
    display: flex;
    justify-content: center;
}

.nav_main li ~ li {
    margin-left: 20px;
}

.nav_main li a {
    display: inline-block;
    width: 450px;
    height: 493px;
    border-radius: 115px;
    background-size: 100% auto;
    background-position: center;
    background-repeat: no-repeat;
}

.nav_main li a i {
    position: relative;
    font-size: 60px;
    font-family: 'cookie';
    font-weight: 400;
}

.nav_main li a i::before {
    position: absolute;
    content: "";
}

.nav_main li:nth-child(1) a {
    background-image: url(../../images/btn_main_01.png);
}

.nav_main li:nth-child(2) a {
    background-image: url(../../images/btn_main_02.png);
}

.nav_main li:nth-child(3) a {
    background-image: url(../../images/btn_main_03.png);
}

.nav_main li:nth-child(4) a {
    background-image: url(../../images/btn_main_04.png);
}

.nav_main li:nth-child(5) a {
    background-image: url(../../images/btn_main_05.png);
}

.nav_main li:nth-child(6) a {
    background-image: url(../../images/btn_main_06.png);
}



/* sub 공통 */
.sub {
    display: flex;
    background: url(../../images/bg_sub.png) no-repeat center / 100% auto;
}

.bg_deco {
    position: absolute;
}

.img_sub_01 {
    z-index: 9;
    left: -230px;
    top: -100px;
}

.img_sub_02 {
    z-index: 9;
    right: 600px;
    bottom: 150px;
}

.img_sub_03 {
    z-index: 9;
    left: 0;
    bottom: 0;
}

.img_sub_04 {
    z-index: 9;
    right: 0;
    bottom: 0;
}

.area_main {
    position: relative;
    flex-grow: 1;
    background: url(../../images/img_board.png) no-repeat center / 3000px auto;
}

.group_btn {
    position: absolute;
    right: 115px;
    top: 690px;
    display: flex;
    flex-direction: column;
}

.group_btn button,
.group_btn a {
    margin-bottom: 30px;
    filter: drop-shadow(3px 3px 5px #0000004D);
}

.area_side {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 100px;
    width: 700px;
    background-color: #075166;
    box-sizing: border-box;
}

.area_side .align_center {
    height: 520px;
    width: 100%;
    padding-top: 50px;
    text-align: center;
}

.area_side .time {
    height: 130px;
    margin-bottom: 20px;
    border: 1px solid red;
}

.area_side .date {
    font-size: 45px;
    color: #4ECFF0;
}

.area_side .dust {
    display: flex;
    align-items: center;
    margin-top: 35px;
    padding-left: 135px;
    background-color: #003747;
    height: 215px;
    width: 100%;
    box-sizing: border-box;
    text-align: left;
}

.area_side .dust_img {
    margin-right: 35px;
    width: 100px;
    height: 100px;
}

.area_side .dust_info strong {
    display: block;
    margin-bottom: 5px;
    font-size: 35px;
    font-weight: 300;
    color: #fff;
}

.area_side .dust_info b {
    font-size: 50px;
    font-weight: 700;
    color: #fff;
}

.area_side .dust_info i {
    margin-left: 10px;
    font-size: 40px;
    font-weight: 400;
    color: #F0C04E;
}

.nav_gnb {
    position: relative;
    width: 100%;
}

.nav_gnb ul {
    z-index: 9;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
}

.nav_gnb li ~ li {
    margin-top: 35px;
}

.nav_gnb li a {
    display: flex;
    align-items: center;
    width: 526px;
    height: 158px;
    border-radius: 79px;
    line-height: 158px;
    background: url(../../images/btn_gnb.png) no-repeat center / 100% auto;
    font-size: 45px;
    color: #fff;
    box-sizing: border-box;
    box-shadow: 3px 3px 15px #0000004D;
}

.nav_gnb li i {
    font-family: 'cookie';
    font-weight: 400;
}

.nav_gnb li span {
    margin: 0 40px;
}

.nav_gnb li.active a {
    background-image: url(../../images/btn_gnb_active.png);
    color: #000;
}

.nav_snb {
    width: 100%;
    height: 160px;
}

.container {
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    margin-top: 120px;
    width: 2570px;
    height: 1780px;
}

.container header {
    height: 250px;
    line-height: 275px;
    font-family: 'korail';
    color: #fff;
    font-size: 100px;
    font-weight: 700;
    text-align: center;
}

.container .wrap {
    position: relative;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    background-color: #fff;
}

.container .nav_snb {
    height: 160px;
    background-color: #342202;
}

.container .nav_snb ul {
    display: flex;
}

.container .nav_snb ul li {
    flex-grow: 1;
    position: relative;
}

.container .nav_snb ul li ~ li::before {
    position: absolute;
    content: "";
    left: -4px;
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    height: 100px;
    border-radius: 4px;
    background-color: #664c21;
}

.container .nav_snb button {
    width: 100%;
    line-height: 160px;
    color: #fff;
    font-size: 50px;
}

.container .nav_snb li.active button {
    position: relative;
    background-color: #D33C45;
}

.container .nav_snb li.active button::before {
    z-index: 1;
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    width: 4px;
    height: 100%;
    background-color: #D33C45;
}

.container .nav_snb li.active button::after {
    z-index: 1;
    position: absolute;
    content: "";
    right: 0;
    top: 0;
    width: 4px;
    height: 100%;
    background-color: #D33C45;
}

.container .content {
    position: relative;
    flex-grow: 1;
}

.container .content .btn_slide {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    padding: 0 10px;
    width: 100%;
    box-sizing: border-box;
}

.container .content .dot {
    position: absolute;
    bottom: 80px;
    left: 50%;
    transform: translateX(-50%);
    margin-top: 20px;
    display: flex;
    justify-content: center;
}

.container .content .dot button {
    margin: 0 7px;
    width: 25px;
    height: 25px;
    border: 4px solid #F49932;
    border-radius: 50%;
}

.container .content .dot li.active button {
    background-color: #F49932;
}


/* trophy */
.trophy {
    background: url(../../images/bg_traphy.png) no-repeat center / 100% auto;
}

.trophy ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    margin-top: 300px;
    width: 1500px;
}

.trophy ul li {
    margin: 0 50px;
    margin-bottom: 60px;
}

.trophy ul li button {
    position: relative;
    width: 198px;
    height: 258px;
    border: 9px solid #393939;
    background-color: #fff;
    overflow: hidden;
}

.trophy ul li button img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.trophy ul li button::before {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    box-shadow: inset 3px 3px 8px #00000040;
}


/* gallery */
.gallery {
    position: relative;
}

.gallery .video button .img_zone {
    position: relative;
}

.gallery .video button .img_zone::before {
    z-index: 1;
    position: absolute;
    content: "";
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 190px;
    height: 190px;
    background: url(../../images/ico_player.png) no-repeat center / 100% auto;
}

.gallery .video button .img_zone::after {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: 0.2;
}

.gallery_list {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    margin-top: 125px;
    width: 2120px;
}

.gallery_list li {
    margin: 25px;
}

.gallery_list li button {
    display: flex;
    flex-direction: column;
    position: relative;
    width: 480px;
    height: 500px;
    border: 1px solid #8c8c8c;
    background-color: #fff;
    overflow: hidden;
}

.gallery_list li button .img_zone {
    flex-grow: 1;
    width: 100%;
    overflow: hidden;
}

.gallery_list li button .img_zone img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gallery_list li button .txt_zone {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 25px;
    padding-bottom: 20px;
    width: 100%;
    height: 120px;
    box-sizing: border-box;
    border-top: 1px solid #8c8c8c;
}

.gallery_list li button .txt_zone b {
    display: inline-block;
    width: 430px;
    align-self: flex-start;
    font-size: 28px;
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: left;
}

.gallery_list li button .txt_zone i {
    align-self: flex-end;
    font-size: 22px;
    font-weight: 500;
    color: #939393;
}



/* popup */
.invisible {
    display: none;
}

.popup_bg {
    z-index: 2;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    background-color: #000000d4;
}

.popup {
    z-index: 2;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 90px 50px 80px;
    background-color: #fff;
    border-radius: 80px;
    box-sizing: border-box;
    text-align: center;
}

.popup b {
    display: block;
    font-size: 40px;
    font-weight: 700;
    text-align: center;
}

.popup strong {
    display: block;
    padding-top: 5px;
    font-size: 50px;
    font-weight: ;
    color: #BE0202;
    text-align: center;
}

.popup p {
    margin: 0 auto;
    padding-top: 40px;
    width: 1140px;
    font-size: 28px;
    line-height: 42px;
    font-weight: 400;
    text-align: left;
}

.popup span {
    display: inline-block;
    margin-top: 55px;
    margin-bottom: 40px;
    height: 6px;
    width: 130px;
    background-color: #BDBDBD;
}

.popup .img_zone {
    width: 1200px;
    height: 675px;
    overflow: hidden;
}

.popup .img_zone img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.btn_close {
    position: absolute;
    right: 50px;
    top: 50px;
}

.popup .dot {
    margin-top: 20px;
    display: flex;
    justify-content: center;
}

.popup .dot button {
    margin: 0 5px;
    width: 20px;
    height: 20px;
    border: 4px solid #F49932;
    border-radius: 50%;
}

.popup .dot li.active button {
    background-color: #F49932;
}

.popup .btn_slide {
    position: absolute;
    left: 0;
    top: 550px;
    display: flex;
    justify-content: space-between;
    padding: 0 10px;
    width: 100%;
    box-sizing: border-box;
}

/* popup - trophy */
.popup_trophy .inner {
    display: flex;
}

.popup_trophy .img_zone {
    position: relative;
    margin-right: 35px;
    width: 345px;
    height: 450px;
    overflow: hidden;
    border: 9px solid #393939;
    box-sizing: border-box;
}

.popup_trophy .img_zone::before {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    box-shadow: inset 3px 3px 8px #00000040;
}

.popup_trophy table {
    border-top: 3px solid #707070;
    border-bottom: 3px solid #707070;
    width: 570px;
    height: 440px;
    font-size: 25px;
    text-align: left;
}

.popup_trophy tr ~ tr {
    border-top: 2px solid #BFBFBF;
}

.popup_trophy th {
    padding: 0 20px;
    width: 160px;
    background-color: #FFF0A2;
    box-sizing: border-box;
}

.popup_trophy td {
    padding: 0 20px;
    background-color: #F8F8F8;
    line-height: 35px;
    word-break: keep-all;
    box-sizing: border-box;
}



/* history */
.history {
    background: url(../../images/img_history.png) no-repeat center / 100% auto;
}

.history ul {
    display: flex;
    justify-content: center;
    height: 100%;
}

.history > ul {
    align-items: center;
}

.history .dep1 {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 100px;
    width: 980px;
    height: 1240px;
    box-shadow: 5px 5px 10px #00000029;
    border-radius: 125px;
    box-sizing: border-box;
}

.history .dep1 > img {
    padding: 285px 0 125px;
}

.history .dep1:nth-child(1) {
    background: #00112DCC;
}

.history .dep1:nth-child(2) {
    background: #122600CC;
}

.history .dep1:nth-child(1) button {
    color: #004567;
    border: 8px solid #1d6d95;
}

.history .dep1:nth-child(2) button {
    color: #343100;
    border: 8px solid #847D00;
}

.history .dep2 {
    margin: 0 10px;
}

.history .dep2 button {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 40px;
    width: 250px;
    height: 356px;
    background: transparent linear-gradient(180deg, #FFFFFF 0%, #CACACA 100%) 0% 0% no-repeat padding-box;
    box-shadow: 3px 3px 10px #0000004D;
    border: 8px solid #004A6F;
    border-radius: 60px;
    line-height: 45px;
    font-size: 38px;
    font-weight: 800;
    box-sizing: border-box;
    word-break: keep-all;
}

.history .dep2 button .img_zone {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 45px 0 25px;
    width: 158px;
    height: 158px;
    border-radius: 50%;
    box-shadow: inset 5px 5px 10px #00000029, 3px 3px 6px #FFFFFF29;
}

.history .dep1:nth-child(1) .img_zone {
    background: #0771A6;
}

.history .dep1:nth-child(2) .img_zone {
    background: #847D00;
}

.history .dep2 button img {
    width: 110px;
    height: 100px;
}
