/* 공통 */
p, dd{word-break:keep-all;}
.pc{display:block !important;}
.mob{display:none !important;}
.inner{max-width: 79.17vw; margin: 0 auto;}
.flex {display: flex; align-items: center;}
.flex-jb {display: flex; align-items: center; justify-content: space-between;}
.flex-jc {display: flex; align-items: center; justify-content: center;}
.fd-c{display: flex; flex-direction: column;}
.ta-c {text-align: center;}
.ta-l{text-align: left;}
.ta-r{text-align: right;}
.pt_0{padding-top: 0 !important;}
.pb_0{padding-bottom: 0 !important;}
.mt_0{margin-top: 0 !important;}
.mb_0{margin-bottom: 0 !important;}
:root {
    --gold : #A18C74;
    --f-pre: 'Pretendard';
    --f-bask: "Baskervville", serif;
    --f-noto: "Noto Serif KR", serif;
    --filter-white : brightness(0) invert(1);
    --filter-black : invert(1);
}

/* HEADER */
.header{height: 105px; position:fixed; top:0; z-index:100; width:100%;}
.header .inner{height:100%; display:flex; align-items:center; justify-content:space-between;}
.header .inner > div{display:flex; align-items:center;}
.header .logo{width: 148px; display: block;}
.header .logo img{width: 100%;}
.header .gnb_wrap{height: 100%;}
.header .gnb{display:flex; gap: 80px; height: 100%;}
.header .gnb > li{height: 100%; position: relative; display: flex; align-items: center;}
.header .gnb > li > a{font-size: 18px; color: #FFF; letter-spacing: -0.06em; font-weight: 600;}
.header .gnb > li:hover > a{color: #fff0e2 !important;}
.header .gnb_2depth_bg{background: #93887d; position: fixed; left: 0; top: 105px; width: 100%; height: 415px; display: none;}
.header .gnb_2depth{position: absolute; top: 145px; left: 50%; transform: translateX(-50%); text-align: center; width: max-content; display: none; line-height: 1.4;}
.header .gnb_2depth li + li{margin-top: 16px;}
.header .gnb_2depth li a{font-size: 15px; color: #FFF; font-weight: 500;}
.header .gnb_2depth li a:hover{color: #fff0e2 !important;}
.header .util{display: flex; align-items: center; gap: 32px;}
.header .util a{width: 110px; line-height: 44px; text-align: center; font-size: 18px; font-weight: 600; border-radius: 50px; color: #FFF;}
.header .util a.login{border: 1px solid #FFF;}
.header .util a.sign{background: #93887d;}
.header.on, .header.fixed{background: #616161;}
.header .gnb_wrap:hover .gnb_2depth_bg{display: block;}
.header .gnb_wrap:hover .gnb_2depth{display: block;}

/* visual */
#main .visual{background: #000; position: relative;}
#main .visual .swiper-slide{height: 100vh; position: relative;}
#main .visual .swiper-slide img{width: 100%; height: 100%; object-fit: cover;}
#main .visual .swiper-slide .txt{position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 100%; z-index: 1; color: #FFF; display: flex; flex-direction: column; gap: 15px;}
#main .visual .swiper-slide.slide3 .txt{color: #000;}
#main .visual .swiper-slide.slide4 .txt *{text-shadow: 3px 3px 18px rgba(0,0,0,0.44);}
#main .visual .swiper-slide .txt span{font-size: 45px; letter-spacing: -0.02em; font-family: var(--f-bask); font-weight: 500;}
#main .visual .swiper-slide .txt .tit{font-size: 48px; font-weight: 500; letter-spacing: -0.04em;}
#main .visual .pager{display: flex; align-items: center; justify-content: center; gap: 7px; position: absolute; bottom: 150px; left: 50%; transform: translateX(-50%); z-index: 1;}
#main .visual .pager span{width: 8px; height: 8px; background: #FFF !important; opacity: 1;}
#main .visual .pager .swiper-pagination-bullet-active{width: 12px; height: 12px;}

/* common */
#main{overflow-x: hidden;}
#main .section{padding: 150px 0;}
#main .title .tit{font-family: var(--f-noto); font-size: 58px; letter-spacing: -0.03em; line-height: 1.2;}
#main .title p{margin-top: 50px; font-size: 22px; letter-spacing: -0.04em; line-height: 1.5;}
#main .title p + p{margin-top: 10px;}
#main .cont{margin-top: 90px;}
#main .btn{font-size: 26px; letter-spacing: -0.04em; font-weight: 500; padding: 22px 54px; border-radius: 50px; background: #c3b9ae; display: inline-block; height: auto; line-height: 1.2; position: relative; overflow: hidden; transition: color 0.3s ease 0.1s;}
#main .btn span{position: relative; z-index: 1;}
#main .btn .btn_fill {position: absolute; display: block; width: 0; height: 0; transform: translate(-50%,-50%); border-radius: 50%; background: #FFF; transition: width 0.65s, height 0.65s;}
#main .btn:hover .btn_fill {width: 50rem; height: 50rem;}
#main .btn.bk{background: #000; color: #FFF; padding: 20px 44px;}
#main .btn.bk .btn_fill{background: #93887d;}

/* sec1 */
#main .sec1 .count_wrap{gap: 120px;}
#main .sec1 .count_wrap .item{text-align: center;}
#main .sec1 .count_wrap .item > div{font-size: 70px; letter-spacing: -0.04em; font-weight: 600; position: relative;}
#main .sec1 .count_wrap .item > div *{font-family: var(--f-pre);}
#main .sec1 .count_wrap .item1 > div{min-width: 224px;}
#main .sec1 .count_wrap .item2 > div{min-width: 183px;}
#main .sec1 .count_wrap .item3 > div{min-width: 182px;}
#main .sec1 .count_wrap .item > div::before{content: ''; display: block; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); z-index: -1;}
#main .sec1 .count_wrap .item1 > div::before{width: 111px; height: 100px;background: url(/img/main/sec1_ic01.svg) no-repeat center / contain;}
#main .sec1 .count_wrap .item2 > div::before{width: 137px; height: 108px;background: url(/img/main/sec1_ic02.svg) no-repeat center / contain;}
#main .sec1 .count_wrap .item3 > div::before{width: 170px; height: 120px;background: url(/img/main/sec1_ic03.svg) no-repeat center / contain;}
#main .sec1 .count_wrap .item .flex{align-items: flex-start; justify-content: center;}
#main .sec1 .count_wrap .item .flex span{line-height: 1;}
#main .sec1 .count_wrap .odometer .odometer-digit *{width: 41px;}
#main .sec1 .count_wrap .item p{margin-top: 40px; font-size: 30px; letter-spacing: -0.04em;}

/* sec2 */
#main .sec2 .cont{padding: 70px 0; background: url(/img/main/sec2_img.jpg) no-repeat center / cover; color: #FFF;}
#main .sec2 .cont .tit{font-size: 45px; letter-spacing: -0.04em; font-weight: 500;}
#main .sec2 .cont .percent{width: 510px; border-top: 1px solid rgba(255,255,255,0.5); border-bottom: 1px solid rgba(255,255,255,0.5); letter-spacing: -0.04em; font-size: 90px; font-weight: 500; margin: 30px auto 35px; padding: 30px 0;}
#main .sec2 .cont .percent .odometer{font-family: var(--f-pre);}
#main .sec2 .cont p{font-size: 30px; letter-spacing: -0.04em; font-weight: 500;}
#main .sec2 .cont .btn{margin-top: 40px;}

/* sec3 */
#main .sec3{background: url(/img/main/sec3_bg.jpg) no-repeat center / cover;}
#main .sec3 .cont{display: grid; grid-template-columns: 1fr 1fr 1fr; grid-template-rows: auto auto; gap: 35px; opacity: 1 !important;}
#main .sec3 .cont .item{overflow: hidden; position: relative;}
#main .sec3 .cont .item::before{content: ''; display: block; width: 100%; height: 100%; background: #000; opacity: 0; transition: all 0.3s; position: absolute; left: 0; top: 0; z-index: 1;}
#main .sec3 .cont .item:hover::before{opacity: 0.8;}
#main .sec3 .cont .item1{grid-row: 1 / 3;}
#main .sec3 .cont .item2{grid-row: 1; grid-column: 2;}
#main .sec3 .cont .item3{grid-row: 1; grid-column: 3;}
#main .sec3 .cont .item4{grid-row: 2; grid-column: 2;}
#main .sec3 .cont .item5{grid-row: 2; grid-column: 3;}
#main .sec3 .cont .item img{width: 100%; height: 100%; object-fit: cover; transform: scale(1.01); transition: all 0.3s;}
#main .sec3 .cont .item p{position: absolute; left: 27px; top: 25px; font-size: 55px; letter-spacing: -0.04em; font-family: var(--f-bask); font-weight: 500; z-index: 2; transition: color 0.3s, transform 1.2s ease, opacity 1.2s ease; transform: translateY(100px); opacity: 0;}
#main .sec3 .cont.aos-animate .item p{transform: translateY(0); opacity: 1;}
#main .sec3 .cont .item1 p,
#main .sec3 .cont .item5 p{color: #FFF;}
#main .sec3 .cont .item:hover p{color: #FFF;}
#main .sec3 .cont .item .ov_txt{opacity: 0; transition: all 0.3s; position: absolute; left: 27px; bottom: 25px; right: 27px; color: #FFF; z-index: 2;}
#main .sec3 .cont .item:hover .ov_txt{opacity: 1;}
#main .sec3 .cont .item .ov_txt dt{font-size: 24px; letter-spacing: -0.04em; font-weight: 500;}
#main .sec3 .cont .item .ov_txt dd{font-size: 18px; letter-spacing: -0.04em; line-height: 1.4; margin-top: 10px;}

/* sec4 */
#main .sec4 .swiper-slide{aspect-ratio: 424/464; width: 424px; position: relative; margin: 0 17px;}
#main .sec4 .swiper-slide{display: block; height: 100%;}
#main .sec4 .swiper-slide a{display: block; height: 100%;}
#main .sec4 .swiper-slide img{width: 100%; height: 100%; object-fit: cover;}
#main .sec4 .swiper-slide p{position: absolute; left: 20px; top: 20px; font-size: 30px; letter-spacing: -0.06em; font-weight: 500; color: #FFF;}
#main .sec4 .scrollbar{background: #e1e1e1; border-radius: 10px; height: 6px; width: 843px; margin: 60px auto 0;}
#main .sec4 .scrollbar .swiper-scrollbar-drag{background: #7e7e7e; border-radius: 10px; transition: transform 0.3s;}

/* sec5 */
#main .sec5{position: relative; padding: 0;}
#main .sec5::before{content: ''; display: block; width: 50%; height: 100%; position: absolute; left: 0; top: 0; background: #e1dcd6; z-index: -1;}
#main .sec5 .title{position: absolute; left:0; top: 0; width: 100%; height: 100%; display: flex; align-items: center; justify-content: flex-start;}
#main .sec5 .title .inner{width: 100%;}
#main .sec5 .title .tit2{margin-top: 50px; font-size: 38px; letter-spacing: -0.04em; font-weight: 500;}
#main .sec5 .title p{margin-top: 20px;}
#main .sec5 .title p + p{margin-top: 10px;}
#main .sec5 .title a{margin-top: 90px;}
#main .sec5 .img_wrap{display: flex; justify-content: flex-end;}
#main .sec5 .img{width: 50%; display: flex; align-items: center; justify-content: center; padding: 90px;}
#main .sec5 .img img{width: 100%}

/* sec6 */
#main .sec6{padding: 0; background: url(/img/main/sec6_bg.jpg) no-repeat center / cover; color: #FFF; height: 963px; display: flex; align-items: center;}
#main .sec6 .inner{width: 100%;}
#main .sec6 .btn{margin-top: 100px; padding: 22px 66px;}

/* sec7 */
#main .sec7 .swiper-wrapper{transition-timing-function: linear;}
#main .sec7 .swiper-slide{margin-right: 33px; width: 280px; height: 280px;}
#main .sec7 .swiper-slide img{width: 100%; height: 100%; object-fit: cover;}
#main .sec7 .swiper-slide.box{background: #93887d; padding: 40px 27px;}
#main .sec7 .swiper-slide.box p{font-size: 33px; letter-spacing: -0.04em; font-weight: 600; color: #FFF; line-height: 1.3;}
#main .sec7 .swiper-slide.box .line{background: #FFF; width: 1px; height: 115px; margin-top: 15px; opacity: 0.5;}

/* sec8 */
#main .sec8{background: url(/img/main/sec8_bg.jpg) no-repeat center / cover;}
#main .sec8 .cont{display: flex; gap: 20px;}
#main .sec8 .cont .item{flex: 1;}
#main .sec8 .cont .item .img{position: relative; aspect-ratio: 518 / 362; overflow: hidden;}
#main .sec8 .cont .item .img img{width: 100%; transition: all 0.3s;}
#main .sec8 .cont .item:hover .img img{filter: blur(15px) brightness(0.7);}
#main .sec8 .cont .item .img p{ position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 100%; text-align: center; font-size: 18px; letter-spacing: -0.04em; color: #FFF; line-height: 1.5; opacity: 0; transition: all 0.3s;}
#main .sec8 .cont .item:hover .img p{opacity: 1;}
#main .sec8 .cont .item .txt{margin-top: 15px; font-size: 24px; letter-spacing: -0.04em; font-weight: 500;}

/* sec9 */
#main .sec9 .inner{max-width: 70.17vw;}
#main .sec9 .img{width: 30.99vw; min-width: 595px;}
#main .sec9 .img img{width: 100%;}
#main .sec9 .btn:hover{color: #FFF;}
#main .sec9 .btn .btn_fill{background: #616161;}
#main .sec9 .btn,
#main .sec11 .btn{margin-top: 95px; width: 316px;}

/* sec10 */
#main .sec10{background: #616161; color: #FFF;}
#main .sec10 .cont{margin-top: 100px;}
#main .sec10 .cont .item{align-items: flex-start;}
#main .sec10 .cont .item2{border-top: 1px solid rgba(255,255,255,0.5); border-bottom: 1px solid rgba(255,255,255,0.5); padding: 70px 0 20px; margin-top: 30px;}
#main .sec10 .cont .item .txt{width: 245px;}
#main .sec10 .cont .item .txt .num{font-size: 48px; letter-spacing: -0.03em; font-weight: 500; font-family: var(--f-noto);}
#main .sec10 .cont .item .txt .tit{font-size: 36px; letter-spacing: -0.03em; font-weight: 500;}
#main .sec10 .cont .item .img{width: calc(100% - 245px); margin-top: 30px;}
#main .sec10 .cont .item2 .img{margin-top: 75px;}
#main .sec10 .cont .item .img img{width: 100%;}

/* sec11 */
#main .sec11{background: url(/img/main/sec11_bg.jpg) no-repeat center / cover; color: #FFF;}

/* sec12 */
#main .sec12{padding: 100px 0;}
#main .sec12 .swiper{margin-top: 50px;}
#main .sec12 .swiper-wrapper{transition-timing-function: linear;}
#main .sec12 .swiper-slide{width: 190px; text-align: center;}
#main .sec12 .swiper-slide .img{min-height: 130px; display: flex; justify-content: center; align-items: center;}
#main .sec12 .swiper-slide .img img{max-height: 100%;}
#main .sec12 .swiper-slide p{margin-top: 15px; font-size: 15px; letter-spacing: -0.03em;}

/* sec13 */
#main .sec13{background: url(/img/main/sec13_bg.jpg) no-repeat center / cover;}
#main .sec13 .title p{line-height: 1.6;}
#main .sec13 .title p b{font-weight: 500;}
#main .sec13 .btn_wrap{gap: 86px; margin-top: 55px;}
#main .sec13 .btn{width: 283px; padding: 25px 0;}
#main .sec13 .btn:hover{color: #000;}
#main .sec13 .btn .btn_fill{background: #FFF;}