.mainWrap *{
    line-height: 100%;
    letter-spacing: -1px;
    box-sizing: border-box;
}

.disN{
	display:none;
}
.slick-slide img{
    width:100%;
}

/*another*/
#header{
    opacity: 0;
}
#header.intro_skip{
    animation: fadeIn 1s 1s forwards;
}
#header.color{
	background:#fff;
}


.mainWrap{
    /* overflow: hidden; */
    width: 100%;
	position:relative;
}
body,html,.header_wrap{
    max-width: 1920px !important;
    margin:0 auto !important;
}

body::-webkit-scrollbar {
    position: absolute;
    right: 0;
    width: 5px;
    display: none;
}
body::-webkit-scrollbar-thumb {
    background-color: #373d71;
    border-radius: 10px;
    background-clip: padding-box;
    border: 1px solid transparent;
}
body::-webkit-scrollbar-track {
    background-color: grey;
    border-radius: 10px;
    box-shadow: inset 0px 0px 5px white;
}

.sec .fp-tableCell{
    width: 100%;
}

.mainWrap .Slider, .mainWrap .Slider .slick-list, .mainWrap .slick-track{
	height:100%;
    clear: both;
}

.mainWrap .sec{
    height: 100vh !important;
}

.mainWrap .fp-scroller{
    height: 100%;
}

html.overflow_lock, 
body.overflow_lock {
    overflow: hidden !important;
    height: 100% !important;
    position: fixed !important;
    width: 100%;
}

.mainVisual {
    width: 100%;
    position: relative;
    height: 100%;
    display:flex;
    align-items: center;
    overflow: hidden;
}
.mainVisual .content{
    width:100%;
    height:100%;
    position: relative;
    display:flex;
    align-items: flex-start;
    justify-content: center;
}
@keyframes scale_1{
    to{
        transform: scale(1);
    }
}
.mainVisual .content .bg{
    width: 100vw;
    height: 56.25vw;
    min-height: 0;
    min-width: 0;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}
.mainVisual.intro_skip .content .bg{
}
.mainVisual .content iframe{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(1);
}
.mainVisual .content .bg_con{
    position: absolute;
    left:0;
    top:0;
    width: 100%;
    height: 100%;
    background: url(../images/mainVisual_bg.jpg) center center / cover no-repeat;
}
.mainVisual .content .sound_btn{
    position: fixed;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    left: 50vw;
    top: 50vh;
    transform: translate(-50%, -70%);
    background: rgba(0, 46, 72, 0.5);
    will-change: left, top, transform;
    z-index: 9;
    color:#fff;
    font-weight: 100;
    font-family: var(--en);
    font-size: 13px;
}
.mainVisual .content .sound_btn .icon{
    /* stroke: #fff;
    fill: transparent;
    stroke-width: 1.5px; */
    width:80%;
    filter: brightness(0) invert(1);
    height: 20px;
}
.mainVisual .content .sound_btn .text{
    position: relative;
    margin-bottom: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
}
.mainVisual .content .sound_btn .front{
    transition: 0.5s all;
}
.mainVisual .content .sound_btn .back{
    position: absolute;
    opacity:0;
    transition: 0.5s all;
}
.mainVisual .content .sound_btn.--muted .front{
    opacity:0;
}
.mainVisual .content .sound_btn.--muted .back{
    opacity: 1;
}
.mainVisual .content .circle_open {
    position: absolute;
    right: 5.5%;
    top: 100px;
    width: 170px;
    height: 170px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mainVisual .content .svgWrap {
    position: absolute;
    width: 100%;
    height: 100%;
    animation: rotateText 10s linear infinite; 
}

.mainVisual .content .svgWrap svg {
    width: 100%;
    height: 100%;
    overflow: visible;
}

.mainVisual .content .svgWrap text {
    font-size: 10px;
    font-weight: 700;
    fill: #0d2e46;
}
.mainVisual .content .svgWrap textPath{
	letter-spacing: 2px;
}

.mainVisual .content .circle_content {
    position: absolute;
    width: 120px;
    height: 120px;
    background-color: #0d2e46;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

.mainVisual .content .circle_text {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-align: center;
    font-size: 22px;
    font-weight: 900;
}
.mainVisual .content .circle_text .con {
    letter-spacing: -1px;
    line-height: 110%;
}
.mainVisual .content .circle_text .con.bt {
    opacity: 0.9;
    font-size: 70%;
    font-weight: 400;
    margin-top: 4px;
}

@keyframes rotateText {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.mainVisual .intro{
    position: absolute;
    left:0;
    top:0;
    width:100%;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    z-index: 10;
    background: #f4f1e8;
    /* background: rgba(255,255,255,0.2); */
    /* animation: mainVisual_intro 2s 2s forwards; */
    color:#fff;
    cursor: pointer;
}
.mainVisual.intro_show .intro{
    animation: mainVisual_intro 2s 4s forwards;
}
.mainVisual.intro_skip .intro{
    display: none;
}
@keyframes mainVisual_intro{
    0%{
        opacity: 1;
    }
    99%{
        opacity: 0;
    }
    100%{
        opacity: 0;
        display: none;
    }
}
.mainVisual .intro .text{
    position: relative;
    text-align: center;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width:100%;
    overflow: hidden;
}
.mainVisual .intro .text .explain{
    font-size: 24px;
    font-weight: 200;
    margin-bottom: 5%;
    position: absolute;
    top: 24%;
}
.mainVisual .intro .text .explain_con{
    line-height: 150%;
    opacity: 0;
}
.mainVisual.intro_show .intro .text .explain_con{
    animation: fadeInUp 1s 0.5s forwards;
}
.mainVisual .intro .text .explain_con:nth-child(2){
    animation-delay: 0.6s;
}
.mainVisual .intro .text .explain_con:nth-child(3){
    animation-delay: 0.7s;
}
.mainVisual .intro .text .explain .bold{
    font-weight: 500;
}
.mainVisual .intro .text .marquee{
    mix-blend-mode: difference;
    color: #fff;
    font-size: 120px;
    font-family: var(--serif);
    text-transform: uppercase;
    transition: 1s;
    letter-spacing: 6vw;
    opacity: 0.05;
}
.mainVisual .intro .text .name{
    position: relative;
    width: 100%;
}
.mainVisual .intro .text .name:before{
    content:"Chungjeongno";
    width:100%;
    height: 100%;
    text-transform: uppercase;
    transition: 1s;
    letter-spacing: 8vw;
    opacity: 0.05;
    mix-blend-mode: difference;
    color: #fff;
    font-size: 180px;
    position: absolute;
    left:-50%;
    top: 50%;
    animation: marquee 30s infinite forwards;
    font-family: var(--serif);
}
.mainVisual .intro .text .name_con{
    mix-blend-mode: difference;
    color: #fff;
    font-size: 120px;
    font-family: var(--serif);
    text-transform: uppercase;
    transition: 1s;
    opacity: 0;
    position: relative;
    width: 100%;
}

@keyframes marquee{
    to{
        left:100%;
    }
}
.mainVisual.intro_show .intro .text .name_con{
    animation: text_con_char5 2s 2s forwards;
}

.mainVisual .intro .text .name .word{
    white-space: nowrap;
}
.mainVisual .intro .text .name .char{
    letter-spacing: 6vw;
    opacity: 0.1;
}
.mainVisual.intro_show .text .name .char{
    opacity: 0.1;
    animation: text_con_char5 1s forwards;
    animation-delay: var(--delay);
}

@keyframes text_con_char5{
    0% {
        opacity: 0;
        
    }
      100% {
        opacity: 1;
       
      }
}
@keyframes text_con_char4{
    0% {
        opacity: 0;
		transform: translateY(-100%);
        filter: blur(90px);
      }
      100% {
        opacity: 1;
		transform: translateY(0);
        filter: blur(0px);
      }
}
.mainVisual .intro .text .logo{
    position: absolute;
    bottom: 5%;
    left: auto;
}
.mainVisual .intro .bg{
    position: absolute;
    left:0;
    top:0;
    width:100%;
    height: 100%;
    clip-path: inset(20% 40% 25% 40%);
    display: flex;
    align-items: center;
    justify-content: center;
}
.mainVisual.intro_show .intro .bg{
    animation: clip_1 1s 4s forwards;
}
@keyframes clip_1{
    to{
        clip-path: inset(0)
    }
}
.mainVisual .intro .bg video{
    width: 100%;
}
.mainVisual .intro .bg_con{
    position: absolute;
    left:0;
    top:0;
    width:100%;
    height: 100%;
    background: url(../images/mainVisual_intro_bg.jpg) center center / cover no-repeat;
    transform: scale(1.2);
    animation: scale_1 3s forwards;
}
.mainVisual .skip-btn {
    position: fixed;
    top: 0;
    left: 0;
    width: 120px;
    height: 120px;
    background-color: #cdcbc3;
    color: #fff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    letter-spacing: 1px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    transform: translate(-50%, -50%) scale(0);
    z-index: 11111;
    opacity: 0;
    transition: 0.3s opacity, 0.3s transform;
    font-family: var(--en);
    cursor: pointer;
}

.mainVisual .skip-btn.active {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}
.mainVisual .skip-btn.active-end{
	animation:skip-btn-end 2s forwards;
}
@keyframes skip-btn-end{
	to{
		opacity:0;
		transform:scale(1000%);
	}
}

.mainVisual .skip-btn span {
    display: inline-block;
    user-select: none;
}

.scroll_down{
	position: absolute;
    bottom: 10%;
    transition: 0.75s all;
    left: 50%;
    transform: translateX(-50%) translateX(-.5px);
	/* animation:scroll_con 2s infinite; */
    opacity: 0;
    z-index: 1;
    font-family: "Montserrat", sans-serif;
}
.mainVisual.intro_skip .scroll_down{
    animation: fadeIn 1s 3s forwards;
}
.scroll_down .con{
    color: #fff;
    position: relative;

}
.scroll_down .con::before{
    content: "";
    width: 1px;
    height: 50px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%) translateY(100%);
    bottom: -5px;
    background-color: #535353;
}
.scroll_down .con::after{
    content: "";
    width: 1px;
    height: 10px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%) translateY(100%);
    bottom: -5px;
    background-color: #fff;
    animation:scroll_con 5s infinite;
}
@keyframes scroll_con {
	0%{
        height:10px;
    }  
    50%{
        height:50px;
    }
    100%{
        height: 10px;
    }
}

/*common*/
.section .wrap {
    width: 100%;
    height: 100%;
}
.section .swiper-container {
    width: 100%;
    height: 100%;
}
.section .slideCon {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.section.premium {
    background: #f4f1e8;
}
.section.premium .wrap {
    display: flex;
    flex-wrap: nowrap;
    transition: 1.5s all;
}
.section.premium .premiumWrap {
    display: flex;
    height: 100%;
    flex: 0 0 100%;
}
.section.premium .left {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding-top: 100px;
    padding-left: 15%;
    align-items: flex-start;
}
.section.premium .maintit {
    color: #343436;
    display: flex;
    align-items: flex-end;
    margin-bottom: 2.5%;
}
.section.premium .maintit .short {
    
    text-align: right;
}
.section.premium .maintit .short .name{
    font-size: 22px;
    letter-spacing: -1.5px;
    margin-bottom: 5px;
    margin-right: 12.5px;
}
.section.premium .maintit .short .tit{
    font-family: var(--serif);
    font-size: 60px;
    font-weight: 800;
    letter-spacing: 10px;
}
.section.premium .maintit .big{
    font-size: 120px;
    font-family: var(--serif);
    line-height: 100%;
    transform: translateY(13px);
    font-weight: 800;
}
.section.premium .maintit .tit {

}
.section.premium .listWrap.--text {
    position: relative;
    margin-bottom: 10%;
    white-space: nowrap;
}
.section.premium .listWrap.--text .listcon {
    position: absolute;
    left:0;
    top:0;
    width:100%;
    height: 100%;
    opacity: 0;
    transform: translateX(100%);
    transition: 0.75s all;
}
.section.premium .listWrap.--text .listcon.active{
    position: relative;
    opacity: 1;
    transform: translate(0);
}
.section.premium .listWrap.--text .listcon .explain {
    color: #4e4e4e;
    font-size: 20px;
    letter-spacing: -1.5px;
    margin-bottom: 10px;
}
.section.premium .listWrap.--text .listcon .title {
    color: #a1aa86;
    font-size: 36px;
    font-weight: 600;
    font-family: var(--serif);
    letter-spacing: -1.5px;
}
.section.premium .listWrap.--short {
    position: relative;
    overflow: hidden;
    width: calc(204px * 2 + 20px);
}
.section.premium .listWrap.--short .ghost{

}
.section.premium .listWrap.--short .move{
    width: 100%;
    display: flex;
    transition: 1s all;
    gap: 20px;
}
.section.premium .listWrap.--short .move_con{
    position: relative;
    left:0;
    top:0;
    width: 50%;
    transition: 0.75s all;
    display: flex;
    display: flex;
    flex-wrap: nowrap;
    overflow: hidden;
}
.section.premium .listWrap.--short .move_con.--left{
    padding-top: 40px;
}
.section.premium .listWrap.--short .move_con .con{
    transition: 1s all;
}

.section.premium .right {
    flex: 0 0 40%;
    display: flex;
}
.section.premium .listWrap.--nav {
    display: flex;
    flex-direction: column;
    padding-top: calc(100px + 10%);
    min-width: 120px;
    border-right: 5px solid #c0b8b2;
}
.section.premium .listWrap.--nav .listcon {
    font-family: var(--en);
    color: #a29b8e;
    display: flex;
    align-items: center;
    font-size: 20px;
    margin-bottom: 40%;
    gap: 10px;
    cursor: pointer;
    transition: 0.75s all;
    position: relative;
}
.section.premium .listWrap.--nav .listcon.active{
    color:var(--main-color)
}
.section.premium .listWrap.--nav .listcon:before {
    content:"";
    width:40px;
    height: 40px;
    background: #dbd4c8;
    border-radius: 50%;
    position: absolute;
    left:-10px;
    top:50%;
    transform: translateY(-50%);
    z-index: 0;
    transition: 0.75s all;
}
.section.premium .listWrap.--nav .listcon.active:before {
    width:100%;
    border-radius: 0;
}
.section.premium .listWrap.--nav .listcon .text {
    position: relative;
    user-select: none;
}
.section.premium .listWrap.--nav .listcon .line {
    height: 1px;
    background: #a29b8e;
    flex: 1;
    transition: 0.75s all;
}
.section.premium .listWrap.--nav .listcon.active.line {
    background: var(--main-color);
}
.section.premium .listWrap.--big {
    flex: 1;
    height: 100%;
    position: relative;
    overflow: hidden;
}
.section.premium .listWrap.--big .move{
    display: flex;
    flex-wrap: nowrap;
    height: 100%;
    transition: 1s all;
}
.section.premium .listWrap.--big .move .bg {
    position: relative;
    height: 100%;
    width: 100%;
    flex: 0 0 100%;
}
.section.premium .listWrap.--big .move .bg.--01 {
    background: url(../images/main_premium_img_big_01.jpg) center center / cover no-repeat;
}
.section.premium .listWrap.--big .move .bg.--02 {
    background: url(../images/main_premium_img_big_02.jpg) center center / cover no-repeat;
}
.section.premium .listWrap.--big .move .bg.--03 {
    background: url(../images/main_premium_img_big_03.jpg) center center / cover no-repeat;
}
.section.premium .listWrap.--big .move .bg.--04 {
    background: url(../images/main_premium_img_big_04.jpg) center center / cover no-repeat;
}
.section.premium .listWrap.--big .move .bg.--05 {
    background: url(../images/main_premium_img_big_05.jpg) center center / cover no-repeat;
}
.section.premium .listWrap.--big .move .bg.--06 {
    background: url(../images/main_premium_img_big_06.jpg) center center / cover no-repeat;
}
.section.premium .listWrap.--big .intro{
    position: absolute;
    left:0;
    top:0;
    width:100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    z-index: 1;
    background: #c0b8b2;
}
.section.premium.fp-completely .listWrap.--big .intro{
    animation: premium_intro 2s 1.5s forwards;
}
@keyframes premium_intro{
    0% { clip-path: polygon(100% 0%, 100% 50%, 100% 100%, 0% 100%, 0% 50%, 0% 0%); }
    25% { clip-path: polygon(75% 0%, 100% 50%, 75% 100%, 0% 100%, 25% 50%, 0% 0%); }
    100% { clip-path: polygon(175% 0%, 200% 50%, 175% 100%, 100% 100%, 125% 50%, 100% 0%) }
}
.section.premium .listWrap.--big .intro .logo{
    margin-bottom: 10px;
    opacity: 0;
}
.section.premium.fp-completely .listWrap.--big .intro .logo{
    animation: fadeInUp 1s forwards;
}
.section.premium .listWrap.--big .intro .name{
    color: #01273e;
    font-weight: 500;
    font-size: 15px;
    transform: translateY(-34px);
    opacity: 0;
}
.section.premium.fp-completely .listWrap.--big .intro .name{
    animation: premium_name 1s 0.5s forwards;
}
@keyframes premium_name{
    to{
        transform: translate(0);
        opacity: 1;
    }
}
.section.premium .MB_arrow{
    display: none;
}

.section.premium .trafficWrap{
    position: relative;
    overflow: hidden;
    flex: 0 0 100%;
    /* background: #000; */
    /* background: url(../images/main_traffic_bg.jpg) center center / cover no-repeat; */
    background: #000;
    display: flex;
    overflow: hidden;
    height: 100%;
}
.section.premium .trafficWrap .wrap{
    position: relative;
    height: 100%;
    display: flex;
    justify-content: center;
    background: #f3f3f4;
    align-items: center;
}
.section.premium .trafficWrap .content{
    display: flex;
    justify-content: center;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 2;
}
.section.premium .trafficWrap .bg{
    /* background: url(../images/main_traffic_bg.jpg) center center / cover no-repeat; */
    position: absolute;
    left:0;
    top:0;
    width: 100%;
    height: 100%;
    z-index: 1;
    transform: scale(1.5);
    transition: 2s all;
    opacity: 0.6;
    will-change: transform, opacity; 
    backface-visibility: hidden;   
    perspective: 1000;
}
.section.premium .trafficWrap .bg video{

    width: 100%;
    transform: scale(1.25);
    transform-origin: top;
}
.section.premium .trafficWrap video::-webkit-media-controls-start-playback-button,
.section.premium .trafficWrap video::-webkit-media-controls {
    display: none !important;
    -webkit-appearance: none !important;
}
.section.premium .trafficWrap.active1 .bg{
    transform: scale(1);
    opacity: 1;
}
.section.premium .trafficWrap .text{
    color:#fff;
    /* font-family: var(--serif); */
    font-size: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    height: 100%;
    font-weight: 300;
    /* opacity: 0; */
    transition: 1.25s all;
    position: relative;
    width: 100%;
    z-index: 33;
    width: 100%;
    flex: 0 0 100%;
}
.section.premium .trafficWrap.active1 .text{
    opacity: 1;
}
.section.premium .trafficWrap.active2 .text{
	opacity:1;
	flex: 0 0 40%;
	width: 40%;
}
.section.premium .trafficWrap .text .explain{
    font-family: var(--serif);
    color:#fff;
    font-size: 32px;
    opacity: 0;
}
.section.premium .trafficWrap .text .explain_con{
    line-height: 150%;
}
.section.premium .trafficWrap.active1 .text .explain,
.section.premium .trafficWrap.active2 .text .explain{
    animation: fadeInUp 1s 1s cubic-bezier(.10, 0, .10, 1) both;
}
.section.premium .trafficWrap .text .line{
    height: 0;
    width: 1px;
    background: #b2b2b2;
    margin: 40px auto;
}
.section.premium .trafficWrap.active1 .text .line,
.section.premium .trafficWrap.active2 .text .line{
    animation: traffic_line 1s 2s forwards;
}
@keyframes traffic_line{
    to{
        height: 100px;
    }
}
.section.premium .trafficWrap .text .name{
    font-family: var(--serif);
    font-size: 32px;
    color:#fff;
    font-weight: 700;
    opacity: 0;
}
.section.premium .trafficWrap.active1 .text .name,
.section.premium .trafficWrap.active2 .text .name{
    animation: fadeInUp 1s 2.5s forwards;
}
.section.premium .trafficWrap .text_con{
}
.section.premium .trafficWrap .svgWrap{
    opacity: 0;
    position: relative;
    left:0;
    top:0;
    width: 70%;
    height: 100%;
    transition: all 0.75s, opacity 0.75s 1s;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex: 1;
    max-height: 100vh;
    will-change: flex-basis, contents;
    backface-visibility: hidden;
    perspective: 1000;
}
.section.premium .trafficWrap.active2 .svgWrap{
   /* opacity: 1; */
   animation: fadeIn 0.75s 1s forwards;
}
.section.premium .trafficWrap .svgWrap svg{
    transform-origin: 40% center;
    transform: scale(2);
    width: 100%;
    will-change: transform;
    backface-visibility: hidden;
    perspective: 1000;
}
.section.premium .trafficWrap.active2 .center_logo {
    transform-box: fill-box;
    transform-origin: center;
    animation: logoUp 1s 1s forwards;
    opacity: 0;
    transform: scale(1.4);
}

@keyframes logoUp {
    to {
        opacity: 1;
        transform: scale(1);
    }
}

.section.premium .trafficWrap .circle{
    fill: none;
    stroke: #fff;
    stroke-dasharray: 800;
    stroke-dashoffset: 800;
}
.section.premium .trafficWrap.active2 .circle{
    animation: draw_circle 1.5s 3s forwards, draw_circle_fill 2s 4s forwards;
}
@keyframes draw_circle {
    to { stroke-dashoffset: 0; }
}
@keyframes draw_circle_fill {
    from { fill: transparent; stroke: #b8b3ab; }
    to   { fill: #b8b3ab;    stroke: #b8b3ab; }
}
@keyframes scale_1{
    to{
        transform: scale(1);
    }
}
.section.premium .trafficWrap .bd_text{
    fill:#fff;
    opacity:0;
}
.section.premium .trafficWrap.active2 .bd_text{
    animation: fadeIn 1s 3s forwards;
}

/* .section.premium .trafficWrap .line{
    fill: transparent;
    stroke: #fff;
    stroke-width: 0.5px;
    stroke-dasharray: 3000;
    stroke-dashoffset: 3000;
}
.section.premium .trafficWrap.active2 .line{
    animation: draw_line 4s 2s  linear forwards, draw_fill 1s 4s ease forwards; 
} */
.section.premium .trafficWrap .svgWrap .line{
    fill: #fff;
    stroke: #fff;
    stroke-width: 2px;
    stroke-dasharray: 0;
    stroke-dashoffset: 0;
	clip-path: inset(50% 50% 50% 50%);
}
.section.premium .trafficWrap.active2 .svgWrap .line{
    animation: clip_1 0.75s 1.75s linear forwards;
}
.section.premium .trafficWrap.active2 .line_c{
    opacity: 0;
    animation: fadeIn 1s 2s forwards;
}
.section.premium .trafficWrap .cls-12{
    opacity: 0.5;
}

@keyframes draw_line {
    to { stroke-dashoffset: 0; }
}

@keyframes draw_fill {
    from { fill: transparent; stroke: #fff; }
    to   { fill: #fff;    stroke: #fff; }
}


.section.location{
    position: relative;
    overflow: hidden;
    flex: 0 0 100%;
}
.section.location .wrap{
    position: relative;
    height: 100%;
    display: flex;
    justify-content: center;
    background: #f3f3f4;
    align-items: center;
    padding-top: 100px;
}
.section.location .content{
    display: flex;
    justify-content: center;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 2;
    width: 80%;
    max-width: 1400px;
}
.section.location .content.--onlym{
    display: none;
}
.section.location .left {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
}
.section.location .listWrap {
    display: flex;
    flex-direction: column;
}
.section.location .listcon {
    position: relative;
    margin-bottom: 10%;
    transition: 1s all;
}
.section.location .listcon.--second {
    opacity: 0.1;
}
.section.location .listWrap.active .listcon{
    opacity: 0.1;
}
.section.location .listWrap.active .listcon.--second{
    opacity: 1;
    transition-delay: 0.5s ;
}
.section.location .listcon .title {
    font-family: var(--serif);
    font-size: 24px;
    font-weight: 700;
    color:#343436;
    margin-bottom: 2.5%;
}
.section.location .listcon .explain {
    font-size: 17px;
    color:#5e5e5e;
    line-height: 175%;
}
.section.location .right {
    display: flex;
    align-items: center;
}
.section.location .right.active::before{
    right: -10%;
    top:15%;
}
.section.location .right:before{
    content:"";
    width:600px;
    height: 600px;
    position: absolute;
    right: 5%;
    top:5%;
    background: #dbd4c8;
    border-radius: 50%;
    opacity: 0.2;
    transition: 1s all;
    z-index: -1;
}
.section.location .imageWrap {
    display: flex;
}
.section.location .move {
    position: relative;
}
.section.location .move.--left{
    margin-top: 120px;
    margin-right: 40px;
}
.section.location .move_con {
    position: relative;
    transition: 1s all;
}
.section.location .move_con.--moving{
    position: absolute;
    left:0;
    top:0;
    width:100%;
    height: 100%;
    clip-path: polygon(0 0, 50% 0, 100% 0, 100% 50%, 100% 100%, 50% 100%, 0 100%, 0 50%);
    transition: 1s all;
    z-index: 1;
}
.section.location .right.active .move_con.--moving{
    clip-path: polygon(50% 50%, 50% 25%, 50% 50%, 75% 50%, 50% 50%, 50% 75%, 50% 50%, 25% 50%);
}
.section.location .move_con img {

}

.section.contact {
    position: relative;
    overflow: hidden;
}
.section.contact .wrap {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.section.contact .bg {
    width: 100%;
    height: 100%;
    position: absolute;
    left:0;
    top:0;
    transform: scale(1.3);
    background: url(../images/main_contact_bg.jpg) right top / cover no-repeat;
} 
.section.contact.fp-completely .bg,
.section.contact.trick .bg{
    animation: scale_1 4s forwards;
}
.section.contact .content{
    position: relative;
}
.section.contact .menuname {
    color: #000;
    font-size: 60px;
    text-align: center;
    margin-bottom: 5%;
    font-weight: 700;
    font-family: var(--serif);
}
.section.contact .listWrap {
    display: flex;
    gap: 20px;
    margin-bottom: 5%;
}
.section.contact .listcon {
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transform: translateY(15%);
    transition: 1s 1s all;
}
.section.contact.fp-completely .listcon,
.section.contact.trick .listcon{
    transform: translateY(0);
}
.section.contact .btArea{
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    opacity: 0;
    transition: 1s 1s all;
}
.section.contact.fp-completely .btArea,
.section.contact.trick .btArea{
    opacity:1;
}
.section.contact .image {
    margin-bottom: 5%;
    position: relative;
}
.section.contact .image img {

}
.section.contact .image .line{
    position: absolute;
    left:50%;
    top:50%;
    transform: translate(-50%, -50%);
    width:calc(100% + 2px);
    height:calc(100% + 2px);
}
.section.contact .image .line_con{
    background: #fff;
    position: absolute;
    transition: 1s 1s all;
}
.section.contact .image .line_con.--1{
    top:0;
    left:0;
    width:0;
    height:2px;
}
.section.contact .image .line_con.--2{
    bottom:0;
    right:0;
    width:2px;
    height:0;
}
.section.contact .image .line_con.--3{
    bottom:0;
    right:0;
    width:0;
    height:2px;
}
.section.contact .image .line_con.--4{
    top:0;
    left:0;
    width:2px;
    height:0;
}
.section.contact.fp-completely .image .line_con.--1,
.section.contact.fp-completely .image .line_con.--3{
    width:100%;
}
.section.contact.fp-completely .image .line_con.--2,
.section.contact.fp-completely .image .line_con.--4{
    height:100%;
}
.section.contact .explain {
    font-size: 20px;
    letter-spacing: -1.5px;
    line-height: 150%;
    margin-bottom: 5%;
    font-weight: 500;
}
.section.contact .explain .short_info{
    font-size: 75%;
    margin-top: 1.25%;
    text-align: center;
    opacity: 0.8;
}
.section.contact .explain .short_info .info_con{
    margin-bottom: 1.25%;
}
.section.contact .explain .short_info .info_con:nth-last-child(1){
    margin-bottom: 0;
}
.section.contact .explain .bold{
	color:#000;
}
.section.contact .linkWrap {
    display: flex;
    gap: 20px;
}
.section.contact .link {
    background: rgba(0, 0, 0, 0.25);
    padding: 15px;
    color: #fff;
    flex: 1;
    transition: 0.75s all;
    display: flex;
    align-items: center;
    justify-content: center;
}
.section.contact .link:hover{
	background: rgba(0, 0, 0, 1);
}
.section.contact .ico {margin-right: 5px;}
.section.contact .ico img {

}
.section.contact .infoWrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: 1s 1.5s all;
    opacity: 0;
}
.section.contact.fp-completely .infoWrap,
.section.contact.trick .infoWrap{
    opacity:1;
}
.section.contact .infoWrap .info{
    margin-bottom: 1.25%;
    font-size: 20px;
    letter-spacing: -2px;
    font-weight: 500;
}
.section.contact .infoWrap .info .color{
    color: #072638;
    font-weight: 600;
}
.section.contact .infoWrap .call{
    color: #000;
    font-size: 60px;
    font-weight: 700;
    letter-spacing: -2px;
    font-family: "Montserrat", sans-serif;
}


/*scroldown*/
.main_scrolldown{
    text-align: center;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 20%;
}
.main_scrolldown .chevron {
    position: relative;
    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);
    }
}
/*pageinfo*/
.pagingInfo {
    color: #99a3aa;
    font-size: 18px;
    font-weight: 100;
    display: inline-block;
    width: auto;
    text-align: center;
    padding: 0 30px;
    letter-spacing: 0;
}
/*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%);
}

.main_loader{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 11;
    width: 350px;
    height: 350px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #333;
    font-size: 35px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
}
.main_loader{
    /*! animation: fadeOut 1s forwards; */
}
.circular_loader {
    -webkit-animation: rotate 2s linear infinite;
    animation: rotate 2s linear infinite;
    height: calc(100% + 40px);
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
    width: calc(100% + 40px);
    position: absolute;
    top: -20px;
    left: -20px;
    margin: auto;
}

.loader_path {
    stroke-dasharray: 150, 200;
    stroke-dashoffset: -10;
    -webkit-animation: dash_circle 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
    animation: dash_circle 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
    stroke-linecap: round;
    /* fill:rgba(255,255,255,0.5); */
}

@-webkit-keyframes rotate {
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes rotate {
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@-webkit-keyframes dash_circle {
    0% {
        stroke-dasharray: 1, 200;
        stroke-dashoffset: 0;
    }

    50% {
        stroke-dasharray: 89, 200;
        stroke-dashoffset: -35;
    }

    100% {
        stroke-dasharray: 89, 200;
        stroke-dashoffset: -124;
    }
}

@keyframes dash {
    0% {
        stroke-dasharray: 1, 200;
        stroke-dashoffset: 0;
    }

    50% {
        stroke-dasharray: 89, 200;
        stroke-dashoffset: -35;
    }

    100% {
        stroke-dasharray: 89, 200;
        stroke-dashoffset: -124;
    }
}

@media(max-width:1080px){
.loader{width:calc(100% - 30px);}
}

/*response*/

@media(max-width:1080px){
    .mainWrap{
        overflow: hidden;
    }
    .mainWrap img{
        width: 100%;
        max-width: max-content;
    }
    
    .header_m{
        opacity: 0;
        animation: fadeIn 1s 7s forwards;
    }

    .mainVisual{
        min-height: auto;
        height: auto;
        padding-bottom: 177.78%;
    }
    .mainVisual .intro{
        position: fixed;
        z-index: 100000000000;
    }
    .mainVisual .intro .bg video{
        height: 100%;
        width: auto;
    }
    .mainVisual .intro .bg{
        clip-path: inset(15% 25% 20% 25%);
    }
    .mainVisual .intro .text .name_con{
        font-size: 60px;
    }
	.mainVisual .skip-btn{
		opacity: 1;
		transform: scale(1);
		left: auto;
		top: auto;
		bottom: 15%;
		right: 5%;
	}
    .mainVisual .wrap,
    .mainVisual .content{
        position: absolute;
        left:0;
        top:0;
        width:100%;
        height: 100%;
    }
    .mainVisual .content .bg{
        width: 100%;
        height: 100%;
    }
    .mainVisual .content iframe{
        top:0;
    }
    .mainVisual .content .sound_btn{
        transform: translate(0);
        left: auto;
        top: auto;
        bottom: 15%;
        right: 2.5%;
        width: 80px;
        height: 80px;
        font-size: clamp(12px, 2vw, 16px);
        position: absolute;
    }
    .mainVisual .content .sound_btn .icon{
        height: 25px;
    }
    .mainVisual .content .circle_open{
        top: 80px;
        right:1%;
    }
    .mainVisual.intro_skip .scroll_down{
        animation: none;
    }

    .section .wrap {
    }

    .section.premium .premiumWrap{
        flex-direction: column;
    }
    .section.premium .wrap{
        flex-direction: column;
    }
    .section.premium .left{
        padding-left: 5%;
        padding-top: 10%;
        transform: translateY(25%);
    }
    .section.premium .right{
        flex:1;
        flex-direction: column;
    }
    .section.premium .maintit{
        opacity: 0;
        margin-bottom: 10%;
    }
    .section.premium .premiumWrap.active_m .maintit{
        animation: fadeInUp 1s 0.5s forwards;
    }
    .section.premium .listWrap.--short{
        display: none;
    }
    .section.premium .listWrap.--text{
        opacity: 0;
        margin-bottom: 10%;
    }
    .section.premium .premiumWrap.active_m .listWrap.--text{
        animation: fadeInUp 0.75s 0.5s forwards;
    }
    .section.premium .listWrap.--nav{
        align-items: flex-end;
        padding: 0;
    }
    .section.premium .listWrap.--nav .listcon{
        display: none;
        margin:0;
        flex-direction: column;
    }
    .section.premium .listWrap.--nav .listcon::before{
        transform: translate(0);
        top: -15%;
    }
    .section.premium .listWrap.--nav .listcon.active::before{
        border-radius: 50%;
    }
    .section.premium .listWrap.--nav .listcon.active{
        display: inline-flex;
        justify-content: flex-end;
        align-items: flex-end;
        padding-right: 5%
    }
    .section.premium .listWrap.--nav .listcon .text{
        position: relative;
        writing-mode: vertical-lr;
        min-height: 90px;
    }
    /* .section.premium .listWrap.--nav .listcon .text:before {
        content: "";
        width: 40px;
        height: 40px;
        background: #dbd4c8;
        border-radius: 50%;
        position: absolute;
        left: -10px;
        top: 50%;
        transform: translateY(-50%);
        z-index: 0;
    } */
    .section.premium .listWrap.--nav .listcon .line{
        width: 1px;
        flex:0 0 1px;
        height: 0;
        margin-right: 40%;
        padding-bottom: 10vh;
    }
    .section.premium .listWrap.--big .move .bg{
        background: none !important;
    }
    .section.premium .listWrap.--big .move .bg img{
        max-width: none;
    }
    .premium .listWrap.--short .move_con .con,
    .premium .listWrap.--big .move {
        transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
        will-change: transform;
    }
    .section.premium .MB_arrow{
        position: absolute;
        top:50%;
        transform: translateY(-50%);
        z-index: 10;
        cursor: pointer;
        display: inline-block;
    }
    .section.premium .MB_arrow.prev{
        left:0;
    }
    .section.premium .MB_arrow.next{
        right: 0;
    }

    .section.premium .trafficWrap{
        flex-direction: column;
    }
    .section.premium .trafficWrap .text{
        flex:1;
        padding: 10% 0;
    }
    .section.premium .trafficWrap .text.active_m .explain{
        animation: fadeInUp 1s forwards;
        margin-bottom: 5%;
    }
    .section.premium .trafficWrap .text.active_m .line{
        display: none;
    }
    .section.premium .trafficWrap .text.active_m .name{
        animation: fadeInUp 1s 1.5s forwards;
    }
    .section.premium .trafficWrap .svgWrap{
        width: 100%;
    }
    .section.premium .trafficWrap .svgWrap.active_m {
        opacity: 1;
    }
    .section.premium .trafficWrap .svgWrap.active_m .center_logo {
        transform-box: fill-box;
        transform-origin: center;
        animation: logoUp 1s 1s forwards;
        opacity: 0;
        transform: scale(1.4);
    }
    .section.premium .trafficWrap .svgWrap.active_m .circle {
        animation: draw_circle 1.5s 3s forwards, draw_circle_fill 2s 4s forwards;
    }
    .section.premium .trafficWrap .svgWrap.active_m .line {
		 animation: clip_1 1s 2s  linear forwards;
    }
    .section.premium .trafficWrap .svgWrap.active_m .line_c {
        opacity: 0;
        animation: fadeIn 1s 2s forwards;
    }
    .section.premium .trafficWrap .svgWrap.active_m .bd_text {
        animation: fadeIn 1s 3s forwards;
    }

    .section.location .wrap{
        padding: 25% 0;
    }
    .section.location .content{
        width: calc(100% - 30px);
        margin:0 auto;
        flex-direction: column;
    }
    .section.location .content.--onlypc{
        display: none;
    }
    .section.location .content.--onlym{
        display: flex;
    }
    .section.location .listcon.--second{
        opacity: 1;
        text-align: right;
        word-break: keep-all;
    }
    .section.location .listWrap .listcon{
        opacity: 0.1;
    }
    .section.location .listWrap.active .listcon{
        opacity: 1;
    }
    .section.location .listWrap .listcon.active_m{
        opacity: 1;
    }
    .section.location .right {
        margin-bottom: 10%;
        width: 70%;
        margin-left: auto;
        position: relative;
    }
    .section.location .right.--second{
        margin-left: 0;
    }
    .section.location .right:before{
        width: 100vw;
        height: 70vh;
        max-width: 400px;
        max-height: 400px;
    }
    .section.location .right.--second:before{
        right: -50%;
    }
    .section.location .move.--left {
        margin-top: 15%;
        margin-right: 5%;
    }
    .section.location .imageWrap{
        transform: translate(-25%);
        transition: 2s all;
    }
    .section.location .imageWrap.--second{
        transform: translateX(25%);
    }
    .section.location .imageWrap.active_m{
        transform: translate(0);
    }
    .section.location .listcon .title{
        line-height: 135%;
    }

    .section.contact{
        background: url(../images/main_contact_bg_m.jpg) center center / cover no-repeat fixed;
    }
    .section.contact .bg{
        display: none;
    }
    .section.contact .wrap{
        padding: 25% 0;
        width: 90%;
        margin: 0 auto;
    }
    .section.contact .listWrap{
        flex-direction: column;
        gap: 5vh 0;
        margin-bottom: 10%;
    }
    .section.contact.active_m .listcon{
        transform: translateY(0);
    }
    .section.contact .image{
        margin:0 auto 5%;
        width:80%;
    }
    .section.contact .linkWrap {
        width: 80%;
        margin: 0 auto;
    }

}
@media(max-width:640px){
    .mainVisual .intro .text .explain{
        font-size: 5vw;
    }
    .mainVisual .intro .text .name_con {
        font-size: 10vw;
    }
    .mainVisual .intro .text .name:before{
        font-size: 30vw;
    }
    .mainVisual .intro .text .logo{
        width: 10%;
        max-width: max-content;
    }

    .mainVisual .content .circle_open{
        transform: scale(0.75);
        transform-origin: right;
        top: 60px
    }

    .section.premium .maintit .short .tit{
        font-size: 7vw;
    }
    .section.premium .maintit .big{
        font-size: 20vw;
    }
    .section.premium .maintit .short .name{
        font-size: 4vw;
    }
    .section.premium .listWrap.--text .listcon .explain{
        font-size: 3.6vw;
    }
    .section.premium .listWrap.--text .listcon .title{
        font-size: 6vw;
    }
    .section.premium .listWrap.--nav .listcon .text{
        min-height: 60px;
        font-size: 3.6vw;
    }
    .section.premium .listWrap.--big .intro .logo{
        width: 12.5%;
    }
    .section.premium .listWrap.--big .intro .name{
        font-size: 3vw;
    }
    .section.premium .MB_arrow{
        width: 10vw;
        max-width: max-content;
    }

    .section.premium .trafficWrap .text .explain,
    .section.premium .trafficWrap .text .name{
        font-size: 5vw;
    }
    .section.premium .trafficWrap .text {
        padding: 20% 0;
    }
    .section.premium .trafficWrap .svgWrap {
        height: 65vh;
        overflow: hidden;
        flex:auto;
    }
    .section.premium .trafficWrap .svgWrap svg{
        transform: scale(2.25);
    }

    .section.location .listcon .title{
        letter-spacing: -2px;
        font-size: 4.5vw;
    }
    .section.location .listcon .explain{
        font-size: 3vw;
    }

    .section.contact .menuname{
        font-size: 8vw;
    }
    .section.contact .explain{
        font-size: 4vw;
    }
    .section.contact .link{
        font-size: 3vw;
        padding: 3% 0;
    }
    .section.contact .infoWrap .info{
        font-size: 3.6vw;
    }
    .section.contact .infoWrap .call{
        font-size: 8vw;
    }
}


/* @media screen and (max-width: 1080px) {
    #fullpage, .section, .fp-tableCell, .fp-scrollable {
        height: auto !important;
        display: block !important;
        position: relative !important;
    }
}

@media screen and (max-width: 1080px) {
    html, body {
        overflow: visible !important;
        height: auto !important;
    }

    #fullpage, .section, .fp-tableCell {
        height: auto !important;
        min-height: auto;
        display: block !important;
        position: relative !important;
    }
} */

@supports (-webkit-touch-callout: none) {
    /* CSS specific to iOS devices */ 
    .have_background_fix{
        background-attachment: scroll !important;
    }
}