ul.point { padding: .5rem 0; }
ul.point li { position: relative; padding-left: 1rem; margin-bottom: .25rem; }
ul.point li::before { position: absolute; content: ''; width: 4px; height: 4px; background: var(--pointcolor); border-radius: 50%; left: 0; top: .75rem; }
ul.point li:last-child { margin-bottom: 0; }
@media(max-width:990px){
    ul.point li::before { width: 2.5px; height: 2.5px; top: 1.25rem; }
}

.sec-radius { border-radius: 3rem; overflow: hidden; }
.sec-radius-md { border-radius: 2rem; overflow: hidden; }
.sec-radius-sm { border-radius: 1rem; overflow: hidden; }
.sec-radius-xs { border-radius: .5rem; overflow: hidden; }

.order1 { order: 1; }
.order2 { order: 2; }
@media(max-width:990px){
    .order1 { order: 2; }
    .order2 { order: 1; }
}

.emp-text { text-emphasis: filled var(--pointcolor); text-emphasis-position: 5px; }

.more-btn { position: relative; display: inline-flex; align-items: center; }
.more-btn span { line-height: 1; padding-top: .5rem; }
.more-btn:hover img { animation: bounce-right 1s ease infinite; }
@media(max-width:990px){
    .more-btn:hover img { animation: none; }
}
@keyframes bounce-right {
    0% { transform:translateY(0); }
    50% { transform:translateX(10px); }
    100% { transform:translateY(0); }
}

#main #visual { position: relative; width: 100%; height: 100vh; }
#main #visual .move_icon { position: absolute; left: 50%; bottom: 2rem; animation: bounce 1.75s ease infinite; }
@keyframes bounce {
    0% { transform:translateY(0); }
    50% { transform:translateY(-10px); }
    100% { transform:translateY(0); }
}

#main #signature { background-image: linear-gradient(to Bottom, var(--sub2color), transparent); }
#main #signature .img { width: 51%; }
#main #signature .txt { width: 49%; padding-left: 6rem; }
@media(max-width:1240px){
    #main #signature .txt { padding-left: 3rem; }
}
@media(max-width:990px){
    #main #signature .flex-between:not(:first-child) { margin-top: 4rem; }
    #main #signature .img, #main #signature .txt { width: 100%; }
    #main #signature .txt { padding-left: 0; padding-top: 4rem; }
}

#main #specialNphilosophy { background-image: url(../img/main/img_philosophy_bg.png); background-size: 100% auto; background-position: center 85%; background-repeat: no-repeat; }

#main #speciality .cont li { position: relative; }
#main #speciality .cont li .txt { position: absolute; left: 2rem; bottom: 2rem; }
@media(max-width:990px){
    #main #speciality .cont { margin-top: 2rem; }
}

#main #philosophy .inner { width: 100%; padding-left: calc( (var(--layoutwidth) - var(--layoutwidthMini)) / 2 ); }
#main #philosophy .left { width: 70%; }
#main #philosophy .left .tit { z-index: 5; }
#main #philosophy .left .tit h2 { white-space: nowrap; }
#main #philosophy .left .img { z-index: 3; }
#main #philosophy .right { position: relative; width: 50%; margin: 12.5rem 0 0 -10%; z-index: 5; padding: 3.5rem 0 3.5rem 3.5rem; }
#main #philosophy .right .logo-bg { position: absolute; right: 2rem; bottom: 2rem; }
#main #philosophy .right .txt { position: relative;  z-index: 5; }
@media(max-width:1240px){
    #main #philosophy .inner { padding-left: 3rem; }
}
@media(max-width:990px){
    #main #philosophy .inner { padding-left: 0; }
    #main #philosophy .inner, #main #philosophy .left { flex-wrap: wrap; }
    #main #philosophy .left, #main #philosophy .left .img, #main #philosophy .right { width: 100%; }
    #main #philosophy .left .tit { width: 75%; }
    #main #philosophy .left .img { position: relative; top: -2rem; }
    #main #philosophy .right { margin: 4rem 0; padding: 3rem; }
}

#main #certified { background-image: url(../img/main/img_certified_bg.png); background-size: cover; background-position: center; background-repeat: no-repeat; }
#main #certified .certifiedSwiper .swiper-wrapper { transition-timing-function: linear; }
#main #certified .paginationBox .swiper-pagination { position: absolute; bottom: 0; margin-top: 3rem; background: #fff; height: 3px; }
#main #certified .paginationBox .swiper-pagination .swiper-pagination-progressbar-fill { background: var(--pointcolor); }

#main #equipment .tit { width: 30%; }
#main #equipment .swiper { width: 70%; }
#main #equipment .swiper .swiper-slide { position: relative; }
#main #equipment .swiper .swiper-slide img { transition: .5s; }
#main #equipment .swiper .swiper-slide:hover img { border-radius: 5rem; }
#main #equipment .swiper .swiper-slide .txt { position: absolute; left: 2rem; bottom: 2rem; }
@media(max-width:990px){
    #main #equipment .tit, #main #equipment .swiper { width: 100%; }
    #main #equipment .swiper { margin-top: 4rem; }
}

#main #space .spaceSwiper .swiper-slide { width: auto; height: 500px; }
#main #space .spaceSwiper .swiper-slide img { height: 100%; }
#main #space .paginationBox .swiper-pagination { position: absolute; bottom: 0; margin-top: 3rem; background: #faf8f5; height: 3px; }
#main #space .paginationBox .swiper-pagination .swiper-pagination-progressbar-fill { background: var(--subcolor); }

#main #column .inner { width: 100%; padding-left: calc( (var(--layoutwidth) - var(--layoutwidthMini)) / 2 ); }
#main #column .tit { width: 30%; }
#main #column .swiper { width: 70%; }
#main #column .swiper .swiper-slide img { aspect-ratio: 1/1; object-fit: cover; transform: scale(1); transition: .5s; }
#main #column .swiper .swiper-slide:hover img { transform: scale(1.1); }
@media(max-width:1240px){
    #main #column .inner { padding-left: 3rem; }
}
@media(max-width:990px){
    #main #column .inner { padding-left: 0; }
    #main #column .tit, #main #column .flexList { width: 100%; }
    #main #column .flexList { margin-top: 4rem; }
    #main #column .flexList img { aspect-ratio: 1/1; object-fit: cover; transform: scale(1); transition: .5s; }
}

#main #event { background-image: linear-gradient(to Bottom, transparent, #fcf8f5); }
#main #event .flexList { --x-gap: 7.5rem; }
#main #event .swiper-slide { border: none; transition: none; }
@media(max-width:990px){
    #main #event .eventTitSwiper, #main #event .eventTitSwiper + div { text-align: center; }
}

#main #beforeAfter .beaf { position: relative; display: flex; justify-content: center; align-items: center; }
#main #beforeAfter .beaf .before, #main #beforeAfter .beaf .after { width: 50%; }
#main #beforeAfter .beaf .after .lock { position: absolute; top: 0; left: 0; background: rgba(0,0,0,.4); backdrop-filter: blur(5px); display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
#main #beforeAfter .beaf .divarrow { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 40px; height: 40px; border-radius: 50%; background: rgba(255,255,255,.7); display: flex; align-items: center; justify-content: center; }
@media(max-width:990px){
    #main #beforeAfter .items-end { display: block; }
    #main #beforeAfter .items-end .tit + div { margin-top: 3rem; }
    #main #beforeAfter .flexList { --y-gap: 3rem; }
}

#main #theBest .bg_wrap { clip: rect(0, auto, auto, 0); position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
#main #theBest .bg_wrap .bg { position: fixed; display: block; top: 0; left: 0; width: 100%; height: 100vh; background-repeat: no-repeat; background-position: center top; background-size: cover; transform: translateZ(0); will-change: transform; background-image: url(../img/main/img_theBest_bg.jpg); }
#main #theBest .container { position: relative; z-index: 5; }

#consultation .left { width: 37.5%; }
#consultation .left .tit { position: absolute; top: 120px; left: calc( (var(--layoutwidth) - var(--layoutwidthMini)) / 2 ); }
#consultation .left .tit p.point-font { color: rgba(255,255,255,.5); }
#consultation .right { width: 60%; }
#consultation .right .logo-bg { position: absolute; right: 2rem; bottom: 2rem; }
#consultation .right form { margin: 7rem 4rem 0; }
#consultation .right form .req { color: #ffaa77; }
#consultation .right form input[type=text], #consultation .right form input[type=tel],
#consultation .right form textarea { width: 100%; border: 1px solid var(--bordercolor); outline: none; padding: .5rem 1rem; border-radius: .25rem; background: #fff; }
#consultation .right form textarea { resize: none; min-height: 180px; }
#consultation .right form button[type=submit] { position: relative; padding: 1rem 0; min-width: 300px; border: 1px solid var(--pointcolor); border-radius: 2rem; overflow: hidden; z-index: 5; }
#consultation .right form button[type=submit]::before { position: absolute; content: ''; top: 0; left: 0; width: 0; height: 100%; background: var(--pointcolor); transition: .3s; z-index: -1; }
#consultation .right form button[type=submit]:hover { color: #fff !important; }
#consultation .right form button[type=submit]:hover::before { width: 100%; }
@media(max-width:990px){
    #consultation .left, #consultation .right { width: 100%; }
    #consultation .left .tit { left: 3rem; top: 4rem; }
    #consultation .right form { margin: 3rem; }
    #consultation .right form input[type=text], #consultation .right form input[type=tel],
    #consultation .right form textarea { padding: 1.25rem 1rem; font-size: 1.25rem; }
    #consultation .right form button[type=submit] { min-width: 50%; }
}

#location .flexList { --x-gap: .00125rem; background: #faf8f6;}
#location .info { background: #faf8f6; padding: 5rem 2rem 5rem calc((100% - var(--layoutwidthMini)) / 2); }
#location table th { text-align: justify; display: block; height: 1.7rem; }
#location table th::after { content: ''; display: inline-block; width: 100%; }
#location table tr td:not(:last-child) { text-align: center; }
#location table tr td.point-font { letter-spacing: -0.25px; padding-top: .25rem; }
#location .info a { min-width: 200px; padding: .75rem 0; background: #fff; border: 1px solid var(--bordercolor); border-radius: .25rem; }
#location .night { background: #f3ad83; padding: .25rem .75rem; border-radius: 2rem; }
#location .root_daum_roughmap { width: 100%; }
#location .root_daum_roughmap, #location .root_daum_roughmap .wrap_map { height: 100% !important; }
#location .root_daum_roughmap .wrap_controllers,
#location .root_daum_roughmap > .cont { display: none; }
#location .root_daum_roughmap .map_border { display: none; }
@media(max-width:1410px){
    #location .info { padding: 5rem; }
}
@media(max-width:990px){
    #location .flexList { --x-gap: 1.5rem; --y-gap: .00125rem; }
    #location .info { padding: 5rem 5%; }
    #location table colgroup { display: none; }
    #location .info a { min-width: 35%; } 
    #location .map { aspect-ratio: auto; }
    #location .root_daum_roughmap, #main #location .root_daum_roughmap .wrap_map { height: 450px !important; }
}