@charset "UTF-8";

.visual {position: relative;}
.visual1 {background-color: #0B1721;}
.visual2 {background-color: #fff;}
.visual3 {background-color: #0B1721;}
.visual-swiper {position: relative; width: 100%;}
.ul-visual {width: 100%; height: 100%;}
.ul-visual>.item {width: 100%; height: 100%; background-size: cover; background-repeat: no-repeat; background-position: center;}
.visual .slogan-area {font-family: var(--gmarket); color: #fff;}
.visual .slogan-area.white {color: #fff;}
.visual .slogan-area.darkgray {color: var(--darkgray);}
.visual .slogan-area .slogan {font-weight: 700; font-size: 3.5rem; letter-spacing: -0.02em; white-space: pre-line; margin: 8px 0;}
.visual .slogan-area .slogan-txt {font-weight: 500; font-size: 2.25rem; letter-spacing: -0.02em; white-space: pre-line;}
.visual .slogan-area .slogan-txt + .slogan-txt {margin-top: 8px;}
.visual .slogan-area .slogan-txt2 {font-weight: 500; font-size: 1.375rem; line-height: 1.5; letter-spacing: -0.02em; white-space: pre-line;}

.swiper-pagination-bullet {width: 10px; height: 10px; border-radius: 50%; background: transparent; border: 1px solid #fff; opacity: 1;}
.swiper-pagination-bullet.white {border: 1px solid #fff;}
.swiper-pagination-bullet.dark {border: 1px solid var(--dark);}
.swiper-pagination-bullet-active {background: #fff;}
.swiper-pagination-bullet-active.white {background: #fff;}
.swiper-pagination-bullet-active.dark {background: var(--dark);}
.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {bottom: 24px;}
.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {margin: 0 3px;}


section:not(.visual, .contact) .title1 {text-align: center; overflow: hidden; position: relative; margin-bottom: 5rem; z-index: 1;}
section:not(.visual, .contact) .title1::after {content: ''; width: 100vw; height: 1px; background: var(--border, #DFDFDF); display: block; position: absolute; top: calc(50% - 0.5px); z-index: -1;}
section:not(.visual, .contact) .title1 p {width: -moz-fit-content; width: -webkit-fit-content; width: fit-content; max-width: calc(100% - 32px); margin: 0 auto; display: -webkit-flex; display: flex; justify-content: center; align-items: center; background: #fff;}
section:not(.visual, .contact) .title1 p::before, 
section:not(.visual, .contact) .title1 p::after {-webkit-flex-shrink: 0; flex-shrink: 0; content: ''; width: 2.25rem; height: 2.25rem; display: inline-block; background: url(../img/icon/icon-glitter2.svg); background-size: contain; background-repeat: no-repeat;}
section:not(.visual, .contact) .title1 p::before {margin-right: 40px;}
section:not(.visual, .contact) .title1 p::after {margin-left: 40px;}

.handling .ul-cate {display: grid; grid-template-columns: repeat(4, calc((100% - 90px)/4)); gap: 30px;}
.handling .ul-cate .cate {min-height: 240px; padding: 36px 24px; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; border-radius: 10px; box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.08); background-size: cover; position: relative;}
.handling .ul-cate .cate:first-child {background-image: linear-gradient(154deg, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.30) 38.93%, rgba(0, 0, 0, 0.00) 84.54%), url(../img/main/img01.jpg);}
.handling .ul-cate .cate:nth-child(2) {background-image: linear-gradient(154deg, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.30) 38.93%, rgba(0, 0, 0, 0.00) 84.54%), url(../img/main/img02.jpg);}
.handling .ul-cate .cate:nth-child(3) {background-image: linear-gradient(154deg, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.30) 38.93%, rgba(0, 0, 0, 0.00) 84.54%), url(../img/main/img03.jpg);}
.handling .ul-cate .cate:nth-child(4) {background-image: linear-gradient(154deg, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.30) 38.93%, rgba(0, 0, 0, 0.00) 84.54%), url(../img/main/img04.jpg);}
.handling .ul-cate .cate:nth-child(5) {background-image: linear-gradient(154deg, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.30) 38.93%, rgba(0, 0, 0, 0.00) 84.54%), url(../img/main/img05.jpg);}
.handling .ul-cate .cate:nth-child(6) {background-image: linear-gradient(154deg, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.30) 38.93%, rgba(0, 0, 0, 0.00) 84.54%), url(../img/main/img06.jpg);}
.handling .ul-cate .cate:nth-child(7) {background-image: linear-gradient(154deg, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.30) 38.93%, rgba(0, 0, 0, 0.00) 84.54%), url(../img/main/img07.jpg);}
.handling .ul-cate .cate:nth-child(8) {background-image: linear-gradient(154deg, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.30) 38.93%, rgba(0, 0, 0, 0.00) 84.54%), url(../img/main/img08.jpg);}

.handling .ul-cate .cate .title3 {color: #fff;}
.btn-more {width: -moz-fit-content; width: -webkit-fit-content; width: fit-content; margin-top: 3.75rem;}

.gallery {overflow: hidden;}

.partner {background: #FEF8EF; position: relative; overflow: hidden;}
section.partner .title1 {margin-bottom: 24px;}
section.partner .title1 p {background: #FEF8EF;}
.partner .text1 {text-align: center; margin-bottom: 5rem;}
.partner-swiper {height: 100px;}
.partner-swiper .swiper-slide {display: -webkit-flex; display: flex; justify-content: center; align-items: center;}
.partner-swiper a {width: 100%; max-width: 330px; height: 100px; display: block;}
.partner-swiper a img {width: 100%; object-fit: contain; display: block;}


.contact {background: #F7F7F7;}
.contact .contact-area {display: -webkit-flex; display: flex; justify-content: space-between; align-items: center; gap: 30px;}
.contact .contact-area .left {display: -webkit-flex; display: flex; align-items: center; gap: 80px;}
.contact .tel {display: -webkit-flex; display: flex; align-items: center; gap: 24px;}
.contact .tel i {width: 2.75rem; height: 2.75rem; display: -webkit-flex; display: flex; justify-content: center; align-items: center; gap: 10px; border-radius: 50%; border: 1px solid var(--highlight, #FCBA62); color: var(--highlight, #FCBA62); text-align: center; font-size: 1.375rem;}
.contact .btn-move {width: 330px; padding: 10px 24px; display: -webkit-flex; display: flex; justify-content: start; align-items: center; flex-shrink: 0; border: 1px solid var(--primary, #555);}
.contact .btn-move .fa-location-dot {color: var(--primary, #555); font-size: 1.5rem; margin-right: 16px;}
.contact .btn-move span {color: var(--primary, #555); font-size: 1.375rem; font-weight: 400; line-height: 140%;}
.contact .btn-move .fa-plus {color: var(--primary, #555); font-size: 1.25rem; margin-left: auto; transition: transform .5s;}
.contact .btn-move:hover .fa-plus {transform: rotate(360deg);}


@media screen and (min-width:1921px){
    .visual-swiper {height: 33.85416666667vw;}
}

@media screen and (max-width:1440px){
    .ul-visual>.item {background-position-x: calc(100% + 219px);}
}

@media screen and (max-width:1200px){
    .ul-visual>.item {padding-left: var(--inner-padding-l); padding-right: var(--inner-padding-r);}

    .handling .ul-cate {grid-template-columns: repeat(4, calc((100% - 72px)/4)); gap: 24px;}
}

@media screen and (min-width:993px) and (max-width:1920px){
    .visual-swiper {height: 650px;}
}

@media screen and (min-width:993px) and (max-width:1200px){
    .ul-visual>.item {background-position-x: calc(100% + 18.25vw);}
}

@media screen and (min-width:993px){
    .ul-visual>.item {padding-top: 150px;}
    .visual1 {background-image: url('../img/main/visual1.jpg');}
    .visual2 {background-image: url('../img/main/visual2.jpg');}
    .visual3 {background-image: url('../img/main/visual3.jpg');}

    .handling, .gallery {padding-top: 150px; padding-bottom: 150px;}
    section.handling {padding-bottom: 0;}
    .partner {padding-top: 100px; padding-bottom: 100px;}
    .contact {padding-top: 80px; padding-bottom: 80px;}
}

@media screen and (max-width:992px){
    .visual-swiper {height: 70vw; min-height: 500px;}
    .ul-visual {position: absolute;}
    .ul-visual>.item {padding-top: 10vw; background-position: center bottom;}
    /* .visual1 {background-image: url('../img/main/visual1_m@4x.jpg');}
    .visual2 {background-image: url('../img/main/visual2_m@4x.jpg');}
    .visual3 {background-image: url('../img/main/visual3_m@4x.jpg');}*/
    .visual1 {background-image: url('../img/main/visual1.jpg');}
    .visual2 {background-image: url('../img/main/visual2.jpg');}
    .visual3 {background-image: url('../img/main/visual3.jpg');}
    .visual .slogan-area {text-align: center;}

    .handling, .gallery {padding-top: 100px; padding-bottom: 100px;}
    section.handling {padding-bottom: 0;}
    .partner {padding-top: 75px; padding-bottom: 75px;}
    .contact {padding-top: 60px; padding-bottom: 60px;}
    section:not(.visual, .contact) .title1 p::before {margin-right: 30px;}
    section:not(.visual, .contact) .title1 p::after {margin-left: 30px;}

    .handling .ul-cate {grid-template-columns: repeat(2, calc((100% - 16px)/2)); gap: 16px;}
    .handling .ul-cate .cate {min-height: 210px;}
    .btn-more {margin-top: 3.75rem;}


    .contact .contact-area .left {gap: 40px;}
    .contact .tel {gap: 20px;}
    .contact .btn-move {width: 296px;}
}

@media screen and (max-width:768px){
    .visual .slogan-area .slogan {font-size: 5.6vw;}
    .visual .slogan-area .slogan-txt {font-size: 2.5vw;}

    .contact .contact-area {flex-direction: column;}
}

@media screen and (max-width:480px){
    .visual-swiper {height: 90vw;}
    .ul-visual>.item {padding-top: 62px;}
    .visual .slogan-area .slogan {font-size: 7.8vw;}
    .visual .slogan-area .slogan-txt {font-size: 3.4vw;}

    .handling, .gallery {padding-top: 60px; padding-bottom: 60px;}
    section.handling {padding-bottom: 0;}
    .partner {padding-top: 50px; padding-bottom: 50px;}
    .contact {padding-top: 40px; padding-bottom: 40px;}
    section:not(.visual, .contact) .title1 p::before {margin-right: 20px;}
    section:not(.visual, .contact) .title1 p::after {margin-left: 20px;}
    
    .handling .ul-cate {grid-template-columns: unset; gap: 12px;}
    .handling .ul-cate .cate {min-height: 180px; padding: 30px 20px;}

    
    .contact .contact-area .left {gap: 30px;}
    .contact .tel {gap: 16px;}
    .contact .btn-move {width: 218px; padding: 8px 20px;}
    .contact .btn-move .fa-location-dot {margin-right: 12px;}
}