@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&display=swap');

.mainWrap *{
    line-height: 100%;
    letter-spacing: -1px;
}

.disN{
	display:none;
}
.slick-slide img{
    width:100%;
}
.mainWrap{
    overflow: hidden;
    width: 100%;
}


/*another*/
#header{
    border-bottom: none;
    opacity: 0;
    animation: fadeIn 1s 5s forwards;
}
#header #nav .gnb,
#header .utils{
}
#header .logo a{
    /* transform: translateX(calc(50vw - 111px - 10%));
    animation: header_logo_a 2s 3s forwards; */
}
@keyframes header_logo_a{
    to{
        transform: translate(0);
    }
}
.mainWrap #quick{
    opacity: 0;
    animation: fadeIn 1s 4s forwards;
}

/*popup_delay*/
[data-aos][data-aos][data-aos-delay='6000'].aos-animate, 
body[data-aos-delay='6000'] [data-aos].aos-animate {
	transition-delay: 6s;
}

.openWrap_m{
	position: absolute;
    right: 0;
    top: 0;
    z-index: 5;
    padding: 2.5% 5%;
    background-color: #000c42;
    font-size: 22px;
    font-weight: 700;
    color: #fff;
    opacity: 0;
    animation: fadeIn 1s 3s forwards;
    text-align: center;
}
.openWrap_m .open_con{
	margin-bottom:2.5%;
}
.openWrap_m .open_con:nth-lasy-child(1){
	margin-bottom:0;
}

.mainWrap{
    background-color: #fff;
}

.mainVisual {
    width: 100%;
    position: relative;
    height: auto;
    margin-top: 100px;
    display: flex;
    align-items: flex-start;
    overflow: hidden;
    justify-content: center;
    position: relative;
    max-width: 1920px;
    padding-bottom: 2.5%;
}
/* .mainVisual:before{
    content:"";
    width: 100%;
    height: 100%;
    position: absolute;
    left:0;
    top:0;
    background: rgba(255, 255, 255, 0.15);
    box-shadow: 0px -20px 20px 0px rgb(0 0 0 / 7%);
    backdrop-filter: blur(10px);
    z-index: 1;
} */
.mainVisual .content{
    position: relative;
    display: flex;
    height: 100%;
    width: 92.5%;
    color: #1e3135;
    align-items: center;
    justify-content: center;
}
.mainVisual .mainSlider {
    width: 100%;
}
.mainVisual .slideCon{
    position: relative;
    overflow: hidden;
    justify-content: center;
    display: flex;
    align-items: center;
}
.mainVisual .mainSlider .slick-list,
.mainVisual .mainSlider.slick-slider,
.mainVisual .mainSlider .slick-track{
	height: 100%;
	clear:both;
}

.mainVisual .bgWrap{
    position: relative;
    left:0;
    top:0;
    width:100%;
    height: 100%;
    transform: scale(1.2);
    animation: scale_1 3s 3s forwards;
}
@keyframes scale_1{
    to{
        transform: scale(1);
    }
}
.mainVisual .bg{
    position: relative;
    left:0;
    top:0;
    width:100%;
    height: 100%;
    /* background: url(../images/mainVisual_bg.jpg?v=1) center bottom / cover no-repeat; */
    animation: circle 1.5s 3s forwards reverse;
    clip-path: circle(0%);
}
.mainVisual .bg img{
	width:100%;
}
@keyframes circle {
    0% { clip-path: inset(0); }
    50% { clip-path: inset(25% 50% 25% 0%); }
    100% { clip-path: inset(25% -50% 25% 100%); }
}
.mainVisual .text{
    position: absolute;
    left: auto;
    top:30%;
    text-align: center;
    font-weight: 200;
    animation: mainVisaul_text 3s 2s forwards;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #1e3135;
    z-index: 2;
}
@keyframes mainVisaul_text{
    0%{
        top:30%;
        opacity: 1;
    }
    50%{
        top:30%;
        opacity: 0;
    }
    51%{
        top: 5%;
        opacity: 0;
    }
    100%{
        top: 5%;
        opacity: 1;
    }
}
.mainVisual .topArea{

}
.mainVisual .text .slogan{
    font-weight: 700;
    font-size: 70px;
    margin-bottom: 1.25%;
    /* letter-spacing: -2px; */
    opacity: 0;
    animation: fadeInUp 1s 0.5s forwards;
}
.mainVisual .text .explain{
    font-size: 34px;
    font-weight: 200;
    margin-bottom: 3.5%;
    opacity: 0;
    animation: fadeInUp 1s 1.5s forwards;
}
.mainVisual .btArea{
    
}
.mainVisual .text .info{
    color: #fff;
    background: #1e3135;
    border-radius: 30px;
    padding: 10px;
    margin-bottom: 1.25%;
    font-size: 24px;
    width: 100%;
    font-weight: 200;
    opacity: 0;
    animation: fadeInUp 1s 3s forwards;
}
.mainVisual .text .name{
    font-size: 34px;
    font-weight: 700;
    opacity: 0;
    animation: fadeInUp 1s 3s forwards;
}

.mainContent{
    text-align: center;
    position: relative;
    background: #fff;
}
.mainContent .slideCon{
    position: relative;
    overflow: hidden;
    justify-content: center;
    display: flex;
    align-items: center;
    text-align: left;
}
.mainContent .Slider .slick-list,
.mainContent .Slider.slick-slider,
.mainContent .Slider .slick-track{
	height:100%;
	clear:both;
}
.mainContent .Slider .slick-track{
}
.mainContent .slick-next,
.mainContent .slick-prev{
    width:81px;
    height:53px;
    transition: 0.75s all;
}
.mainContent .slick-next:hover,
.mainContent .slick-prev:hover{
    opacity: 0.3;
    transition: 0.75s all;
}
.mainContent .slick-dots{
    top: auto;
    bottom: 5%;
    right: auto;
    left: 50%;
    width: auto;
    transform: translateX(-50%);
}
.mainContent .slick-dots li{
    width:10px;
    height:10px;
    margin-right: 20px;
}
.slick-dots li button:before{
    width: 10px;
    height: 10px;
    border-radius: 50%;
}
.slick-dots li.slick-active button:before{
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.mainContent .location{
    background: url(../images/main_location_bg.jpg) left center / cover no-repeat;
    padding: 5% 0;
}
.mainContent .location .content{
    
}
.mainContent .location .listWrap{
    display: flex;
    gap:20px;
    justify-content: center;
    flex-wrap: wrap;
}
.mainContent .location .listcon{

}
.mainContent .location .listcon:nth-child(2n){
    margin-top: 5%;
}

.mainContent .premium{
    height: 90vh;
    max-height: 800px;
    background: #ac0000;
}
.mainContent .premium .content{
    display: flex;
    height: 100%;
    width: 100%;
    overflow: hidden;
}
.mainContent .premium .left{
    width:40%;
    flex:0 0 40%;
    background: #002e4a;
    color: #fff;
    display: flex;
    flex-direction: column;
    font-weight: 300;
    padding: 5%;
    position: relative;
    z-index: 1;
}
.mainContent .premium .left .titleWrap{

}
.mainContent .premium .left .titleWrap .explain{
    font-size: 26px;
    text-align: left;
}
.mainContent .premium .left .titleWrap .explain_con{
    margin-bottom:1.25%;
}
.mainContent .premium .left .titleWrap .explain_con.--bold{
    font-weight: 600;
}
.mainContent .premium .left .titleWrap .explain_con:nth-last-child(1){
    margin-bottom: 0;
}
.mainContent .premium .left .titleWrap .line{
    width: 1px;
    height: 50px;
    background: #fff;
    margin: 5% 0;
}
.mainContent .premium .left .titleWrap .text{
    font-family: "Montserrat", sans-serif;
    font-size: 40px;
    position: relative;
    display: flex;
    text-align: left;
    justify-content: flex-start;
}
.mainContent .premium .left .titleWrap .subject{
}
.mainContent .premium .left .titleWrap .subject_con{
    margin-bottom: 1%;
}
.mainContent .premium .left .titleWrap .subject_con.--bold{
    font-size: 150%;
    font-weight: 700;
}
.mainContent .premium .left .titleWrap .subject_con:nth-last-child(1){
    margin-bottom: 0;
}
.mainContent .premium .left .titleWrap .num{
    font-size: 350%;
    font-weight: 700;
    transform: translateY(-23px);
    margin-left: 10px;
}
.mainContent .premium .left .slideCon{
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
}
.mainContent .premium .left .slideCon .ico{
    margin-bottom: 2.5%;
    margin-left: 15%;
    transition: 1s 0.5s all;
}
.mainContent .premium .left .slideCon.slick-active .ico{
    margin-left: 0;
}
.mainContent .premium .left .slideCon .title{
    font-size: 30px;
    font-weight: 600;
    margin-bottom: 5%;
    opacity: 0;
}
.mainContent .premium .left .slideCon.slick-active .title{
    animation: fadeInUp 0.75s 1s forwards;
}
.mainContent .premium .left .slideCon .title_con{
    letter-spacing: -1.5px;
    margin-bottom: 2.5%;
}
.mainContent .premium .left .slideCon .title_con:nth-last-child(1){
    margin-bottom: 0;
}
.mainContent .premium .left .slideCon .explain{
    font-size: 20px;
    opacity: 0;
}
.mainContent .premium .left .slideCon.slick-active .explain{
    animation: fadeInUp 0.75s 1.5s forwards;
}
.mainContent .premium .left .slideCon .explain_con{
    margin-bottom: 2.5%;
}
.mainContent .premium .left .slideCon .explain_con:nth-last-child(1){
    margin-bottom: 0;
}
.mainContent .premium .left .btnWrap{
    position: absolute;
    right: calc(0% - 60px);
    bottom: 12.5%;
    display: flex;
}
.mainContent .premium .left .btnWrap:hover{
    color: #fff;
}
.mainContent .premium .left .btnWrap .arrow{
    display: flex;
    flex-direction: column;
    gap:5px;
    position: relative;
    background: #fff;
    padding: 20px;
    border-radius: 50%;
    width: 120px;
    height: 120px;
    align-items: center;
    justify-content: center;
    transition: 0.5s all;
}
.mainContent .premium .left .btnWrap:hover .arrow{
    background: #ac0000;
}
.mainContent .premium .left .btnWrap .arrow img{
    transition: inherit;
}
.mainContent .premium .left .btnWrap:hover .arrow img{
    filter:invert(100%) sepia(100%) saturate(1%) hue-rotate(356deg) brightness(106%) contrast(101%);
}
.mainContent .premium .left .btnWrap .image{
    transform-origin: 50% 50%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 150%;
    height: 150%;
    display: flex;
}
.mainContent .premium .left .btnWrap .image img{
	animation: axe_circle_image 6s linear infinite;
	max-width: max-content;
	transition: 0.75s all;
}
@keyframes axe_circle_image{
    100% {
        transform: rotate(360deg);
    }
}
.mainContent .premium .right{
    width: 60%;
    flex:0 0 60%;
    background: #fff;
}
.mainContent .premium .right .slideCon .bg{
    position: absolute;
    left:0;
    top:0;
    width: 100%;
    height: 100%;
    transform: scale(1.2);
    transition: 4s all;
}
.mainContent .premium .right .slideCon .bg:before{
    content:"";
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(1,1,1,0);
    transition: 2s all;
}
.mainContent .premium .right .slideCon01 .bg{
    background: url(../images/main_premium_img_01.jpg) center center / cover no-repeat;
}
.mainContent .premium .right .slideCon02 .bg{
    background: url(../images/main_premium_img_02.jpg) center center / cover no-repeat;
}
.mainContent .premium .right .slideCon03 .bg{
    background: url(../images/main_premium_img_03.jpg) center center / cover no-repeat;
}
.mainContent .premium .right .slideCon04 .bg{
    background: url(../images/main_premium_img_04.jpg) center center / cover no-repeat;
}
.mainContent .premium .right .slideCon05 .bg{
    background: url(../images/main_premium_img_05.jpg) center center / cover no-repeat;
}
.mainContent .premium .right .slideCon06 .bg{
    background: url(../images/main_premium_img_06.jpg) center center / cover no-repeat;
}
.mainContent .premium .right .slideCon.slick-active .bg{
    transform: scale(1);
}
.mainContent .premium .right .slideCon.slick-active .bg::before{
    background: rgba(1,1,1,0.5);
    transition-delay: 1s all;
}
.mainContent .premium .right .slick-prev,
.mainContent .premium .right .slick-next{
    width:54px;
    height: 107px;
}
.mainContent .premium .right .slick-prev{
    background: url(../images/main_premium_ico_left.png) center center / cover no-repeat;
}
.mainContent .premium .right .slick-next{
    background: url(../images/main_premium_ico_right.png) center center / cover no-repeat;
}

.mainContent .contact{
    padding: 10% 0;
    background: #efefef;
}
.mainContent .contact .content{
    display: flex;
    gap: 40px;
    justify-content: center;
}
.mainContent .contact .image{
    max-width: max-content;
    box-shadow: 0 3px 9px rgb(0 0 0 / 50%);
}
.mainContent .contact .listWrap{
    display: flex;
    flex-direction: column;
    box-shadow: 0 3px 9px rgb(0 0 0 / 50%);
    background: #f5f5f5;
    padding: 1.25% 5%;
    justify-content: space-around;
    font-weight: 300;
}
.mainContent .contact .listcon{
    display: flex;
    flex-direction: column;
    align-items: center;
}
.mainContent .contact .listcon:nth-child(1){
}
.mainContent .contact .line{
    border-bottom: 1px solid #111;
    border-style: dashed;
    height: 1px;
}
.mainContent .contact .listcon .title{
    background: #4c4948;
    color: #fff;
    padding: 10px;
    font-size: 20px;
    display: inline-block;
    margin-bottom: 5%;
    width: 50%;
}
.mainContent .contact .listcon .title.--color{
    background: #ac0000;
}
.mainContent .contact .listcon .explain{
    font-size: 22px;
    margin-bottom: 5%;
}
.mainContent .contact .listcon .explain_con{
    letter-spacing: -1.5px;
    margin-bottom: 1.25%;
}
.mainContent .contact .listcon .explain_con:nth-last-child(1){
    margin-bottom: 0;
}
.mainContent .contact .listcon .btnWrap{
    display: flex;
    align-items: center;
    gap:10px;
}
.mainContent .contact .listcon .btnWrap .btn{
    background: #002e4a;
    color: #fff;
    display: flex;
    gap:5px;
    align-items: center;
    padding:10px 30px;
    transition: 0.5s all;
}
.mainContent .contact .listcon .btnWrap .btn:hover{
    background-color: #ac0000;
    border-radius: 15px;
}
.mainContent .contact .listcon .btnWrap .ico{
    display: flex;
    align-items: center;
}

/*pageinfo*/
.pagingInfo {
    color: #fff;
    font-size: 18px;
    font-weight: 100;
    display: block;
    text-align: center;
    padding: 15px 0;
}

/*scroldown*/
.main_scrolldown {
    text-align: center;
    position: absolute;
    left: calc(50% - 6px);
    bottom: 15%;
    opacity: 0;
    animation: fadeIn 1s 5s forwards;
}

.main_scrolldown .chevron {
    position: absolute;
    width: 28px;
    height: 3px;
    opacity: 0;
    transform: scale3d(0.5, 0.5, 0.5);
    animation: move 3s ease-out infinite;
}

.main_scrolldown .chevron:first-child {
    animation: move 3s ease-out 1s infinite;
}

.main_scrolldown .chevron:nth-child(2) {
    animation: move 3s ease-out 2s infinite;
}

.main_scrolldown .chevron:before,
.main_scrolldown .chevron:after {
    content: ' ';
    position: absolute;
    top: 0;
    height: 100%;
    width: 51%;
    background: #fff;
}

.main_scrolldown .chevron:before {
    left: 0;
    transform: skew(0deg, 30deg);
}

.main_scrolldown .chevron:after {
    right: 0;
    width: 50%;
    transform: skew(0deg, -30deg);
}

@keyframes move {
    25% {
        opacity: 1;

    }

    33% {
        opacity: 1;
        transform: translateY(30px);
    }

    67% {
        opacity: 1;
        transform: translateY(40px);
    }

    100% {
        opacity: 0;
        transform: translateY(55px) scale3d(0.5, 0.5, 0.5);
    }
}

/*loader*/
body{
	overflow-x:hidden;
}
.loading{
    width:100%;
    height:100%;
    position:fixed;
    left:0px;
    top:0px;
    background:#fff;
    z-index:1000;
}
.loading img{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
@media(max-width:1080px){
.loader{width:calc(100% - 30px);}
}

.slick-slide img.PC_V{
    display: block;
}
.slick-slide img.MB_V{
    display: none;
}

/*mobile*/
.mobileMain{position:relative;padding-top:75px;}
.MB_V img{width:100%;}

/*responsive*/
@media(max-width:1400px){
    .mainVisual .text{
        transform: scale(0.8);
        transform-origin: top;
    }
    @keyframes mainVisaul_text{
        0%{
            top:30%;
            opacity: 1;
        }
        50%{
            top:30%;
            opacity: 0;
        }
        51%{
            top: 2.5%;
            opacity: 0;
        }
        100%{
            top: 2.5%;
            opacity: 1;
        }
    }
}
@media (max-width:1080px){
    html,body{
        width:100%;
        height:100%;
    }
    .mainWrap{
        width: 100%;
    }
    .mainWrap img{
        width:100%;
    }
    .slick-slide img.PC_V{
        display: none;
    }
    .slick-slide img.MB_V{
        display: block;
    }

    
    .mainVisual{
        margin-top: 85px;
        height: auto;
        position: relative;
        /* height: calc(100vh - 85px); */
    }
    .mainVisual .content{
        flex-direction: column;
        background: #d8e8f7;
        overflow: hidden;
    }
    .mainVisual .bgWrap{
        position: relative;
    }
    .mainVisual .bg{
        background: url(../images/mainVisual_bg_m.jpg?v=1) center bottom / cover no-repeat;
    }
	.mainVisual .text{
        min-width: 70%;
        position: relative;
        padding: 10% 2.5%;
        transform: translateY(50%);
	}
    @keyframes mainVisaul_text{
        0%{
            transform: translateY(50%);
            opacity: 1;
        }
        50%{
            transform: translateY(50%);
            opacity: 0;
        }
        51%{
            transform: translateY(0%);
            opacity: 0;
        }
        100%{
            transform: translateY(0);
            opacity: 1;
        }
    }
    .mainVisual .text .slogan{
        font-size: 50px;
    }
    .mainVisual .text .explain{
        font-size: 24px;
        font-weight: 300;
    }
    .mainVisual .text .info{
        font-size: 20px;
    }
    .mainVisual .text .name{
        font-size: 24px;
    }

    .mainContent{
        margin-top: 0;
    }
    .mainContent .slick-dots li{
        width:8px;
        height:8px;
        margin-right: 10px;
    }
    .slick-dots li button:before{
        width: 8px;
        height: 8px;
        border-radius: 50%;
    }
    .slick-dots li.slick-active button:before{
        width: 8px;
        height: 8px;
        border-radius: 50%;
    }
    
    .mainContent .location{
        background: url(../images/main_location_bg_m.jpg) left top  / cover no-repeat;
        padding:15% 0;
    }
    .mainContent .location .listWrap{
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 0;
        width: 90%;
        margin: 0 auto;
    }
    .mainContent .location .listcon{
        transition-delay: 0s;
    }
    .mainContent .location .listcon:nth-child(2n){
        margin-top: 0;
    }

    .mainContent .premium .content{
        flex-direction: column-reverse;
    }
    .mainContent .premium{
        height: auto;
        max-height: none;
    }
    .mainContent .premium .left{
        width:100%;
        flex:1;
        padding: 10% 5%;
    }
    .mainContent .premium .left.--MB{
        padding:10% 5% 5%;
    }
    .mainContent .premium .left .titleWrap{
        margin-bottom: 0;
    }
    .mainContent .premium .left .titleWrap .explain{
        display: flex;
        gap:10px;
        margin-bottom: 5%;
    }
    .mainContent .premium .left .titleWrap .line{
        display: none;
    }
    .mainContent .premium .right{
        flex:1;
        width:100%;
    }
    .mainContent .premium .right .Slider .slick-list, .mainContent .premium .right .Slider.slick-slider, .mainContent .premium .right .Slider .slick-track{
        flex:1;
        width: 100%;
        height: 400px;
    }

    .mainContent .premium .right .slick-prev, .mainContent .premium .right .slick-next {
        transform: scale(0.65);
    }

    .mainContent .premium .left .btnWrap{
        top: auto;
        bottom: 10%;
        transform: translate(0);
        right:5%;
    }

    .mainContent .contact{
        padding:15% 0;
    }
    .mainContent .contact .content{
        flex-direction: column;
        width: 90%;
        margin: 0 auto;
    }
    .mainContent .contact .listcon:nth-child(1){
        margin-bottom: 5%;
    }
    .mainContent .contact .listWrap{
        padding:10% 5%;
    }
    .mainContent .contact .line{
        width: 80%;
        margin: 5% auto;
    }
    .mainContent .contact .image{
        max-width: none;
    }
    .mainContent .contact .listcon .title{
        width: 35%;
    }

}
@media (max-width:640px){
    .mainVisual .text .slogan{
        font-size: 8vw;
    }
    .mainVisual .text .explain{
        font-size: 4vw;
        letter-spacing: -1.5px;
    }
    .mainVisual .text .info{
        font-size: 3.2vw;
        padding: 4%;
        margin-bottom: 5%;
    }
    .mainVisual .text .name{
        font-size: 4vw;
    }


    .mainContent .premium .left .titleWrap .explain{
        font-size: 3.6vw;
    }
    .mainContent .premium .left .titleWrap .text{
        font-size: 6vw;
    }
    .mainContent .premium .left .titleWrap .num{
        transform: translateY(-15%);
    }
    .mainContent .premium .left .slideCon .ico{
        width: 10vw;
        max-width: max-content;
    }
    .mainContent .premium .left .slideCon06 .ico{
        width: 30vw;
    }
    .mainContent .premium .left .slideCon .title{
        font-size: 6vw;
    }
    .mainContent .premium .left .slideCon .explain{
        font-size: 3.2vw;
    }
    .mainContent .premium .left .btnWrap .arrow{
        width: 20vw;
        height: 20vw;
        font-size: 3vw;
        padding:2.5%;
    }
    .mainContent .premium .left .btnWrap .arrow > img{
        width: 50%;
    }
    .mainContent .premium .left .btnWrap .image{
        width:130%;
        height: 130%;
    }

    .mainContent .contact .content{
        gap:10px;
    }
    .mainContent .contact .listcon .title{
        font-size: 4vw;
        padding: 7px;
    }
    .mainContent .contact .listcon .explain{
        font-size: 4vw;
    }
    .mainContent .contact .listcon .btnWrap{
        width: 100%;
    }
    .mainContent .contact .listcon .btnWrap .btn{
        font-size: 3vw;
        padding: 10px;
        flex: 1;
        align-items: center;
        justify-content: center;
    }
}

@media (max-width:450px){
}

@supports (-webkit-touch-callout: none) {
    /* CSS specific to iOS devices */ 
    .have_background_fix{
        background-attachment: scroll !important;
    }
}

