@charset "utf-8";

/* common */
.main-container {
    position: relative;
}

/* main visual */
.main-visual-box {
    position: relative;
}

.main-vi-text-swiper {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    text-align: center;
}

.vi-txt-box {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 10.4rem;
    height: 100vh;
    cursor: pointer;
}

/* .main-vi-text-swiper .swiper-slide-active {
    pointer-events: none;
} */

.vi-txt-box p {
    position: relative;
    display: block;
    color: var(--white100);
}

.vi-txt-box .vi-en-text-box .txt01 {
    margin: 0 0 min(3rem, 1.563vw);
    height: min(4.9rem, 2.552vw);
}

.unique .vi-txt-box .vi-en-text-box .txt01 {
    margin: 0 0 min(2.4rem, 1.25vw);
    height: min(5.5rem, 2.865vw);
}

.vi-txt-box .vi-en-text-box .txt02 {
    height: min(4.8rem, 2.5vw);
}

.vi-txt-box .vi-en-text-box img {
    max-height: 100%;
}

.vi-txt-box .vi-en-text-box img.mobile {
    display: none;
}

/*
.vi-txt-box .vi-en-text-box .txt01 {
    font-size: min(8.4rem, 4.375vw);
    line-height: min(9.4rem, 4.896vw);
    font-style: italic;
}

.vi-txt-box .vi-en-text-box .txt02 {
    font-size: min(6.3rem, 3.281vw);
    line-height: min(7.3rem, 3.802vw);
    font-weight: var(--font-weight-bold);
    letter-spacing: 0.3em;
}
    */

.vi-txt-box .vi-bottom-text-box {
    position: absolute;
    bottom: min(12.8rem, 6.667vw);
    left: 50%;
    z-index: 10;
    padding: 0 min(6rem, 3.125vw) 0 min(16rem, 8.333vw);
    width: 100%;
    max-width: min(93.5rem, 48.698vw);
    box-sizing: border-box;
    transform: translateX(-50%);
}

.vi-txt-box .vi-bottom-text-box .txt03 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: min(1rem, 0.521vw) min(1.5rem, 0.781vw);
    font-size: min(2.5rem, 1.302vw);
    line-height: 1;
    font-weight: var(--font-weight-medium);
}

.main-vi-text-swiper .main-vi-text-pagination {
    display: none;
}

.main-vi-swiper .swiper-slide .vi-img-box {
    position: relative;
    width: 100%;
    height: 100vh;
}

.main-vi-swiper .swiper-slide .vi-img-box:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--black50);
}

.main-vi-swiper + .control-wrap {
    position: absolute;
    bottom: min(13rem, 6.771vw);
    left: 50%;
    z-index: 10;
    width: 100%;
    max-width: calc(min(93.5rem, 48.698vw) + 10.4rem); 
    box-sizing: border-box;
    transform: translateX(-50%);
}

.main-vi-swiper + .control-wrap .control-button-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.main-vi-swiper + .control-wrap .control-button-wrap button {
    background: none;
}

.main-vi-swiper + .control-wrap .control-button-wrap button span {
    display: block;
    width: min(1.7rem, 0.885vw);
    height: min(1.7rem, 0.885vw);
    border: min(2px, 0.104vw) solid var(--white100);
    transform: rotate(45deg);
    text-indent: -9999px;
}

.main-vi-swiper + .control-wrap .control-button-wrap .btn-vi-prev span {
    border-right: none;
    border-top: none;
}

.main-vi-swiper + .control-wrap .control-button-wrap .btn-vi-next span {
    border-left: none;
    border-bottom: none;
}

.main-vi-swiper + .control-wrap .main-vi-swiper-pagination {
    display: flex;
    align-items: center;
    position: absolute;
    top: 50%;
    left: min(7.6rem, 3.958vw);
}

.main-vi-swiper-pagination span {
    display: block;
    font-size: min(2.5rem, 1.302vw);
    line-height: 1;
    font-weight: var(--font-weight-medium);
    color: var(--white100);
}

.main-vi-swiper-pagination .swiper-pagination-divider {
    margin: 0 min(1rem, 0.521vw);
    font-size: min(1.9rem, 0.99vw);
}

/* 메인 비주얼 최초 진입 애니메이션 */
@keyframes slideUpFadeIn {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideUpFadeInCentered {
    from {
        opacity: 0;
        transform: translate(-50%, 30px);
    }
    to {
        opacity: 1;
        transform: translate(-50%, 0);
    }
  }

/* 기본 상태: 애니메이션 전 */
.vi-en-text-box .txt01,
.vi-en-text-box .txt02,
.vi-bottom-text-box .txt03 {
    opacity: 0;
    transform: translateY(30px);
}

  /* 애니메이션 활성화 클래스 */
.main-visual-box.animated .vi-en-text-box .txt01 {
    animation: slideUpFadeIn 1.2s ease forwards;
    animation-delay: 0s;
}

.main-visual-box.animated .vi-en-text-box .txt02 {
    animation: slideUpFadeIn 1.2s ease forwards;
    animation-delay: 0.2s;
}

.main-visual-box.animated .vi-bottom-text-box .txt03 {
    animation: slideUpFadeIn 1.2s ease forwards;
    animation-delay: 0.4s;
}

/* main common */
.main-content-wrap {
    margin: 0 auto;
    max-width: 192rem;
    box-sizing: border-box;
}

.main-content-box {
    display: flex;
    justify-content: space-between;
    align-items: start;
    position: relative;
}

.main-content-box:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: min(1px, 0.052vw);
    background: var(--black04);
    transition: width 1s ease .3s;;
}

.main-content-wrap:first-of-type .main-content-box:before {
    display: none;
}

.main-content-box.onTrans:before {
    width: 100%;
}

.main-title-box {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
}

.main-title {
    font-size: min(7.5rem, 3.906vw);
    line-height: min(8.4rem, 4.375vw);
    font-weight: var(--font-weight-medium);
    color: var(--black02);
}

.main-desc {
    padding: min(2rem, 1.042vw) 0 0;
    font-size: min(2.5rem, 1.302vw);
    line-height: min(4rem, 2.083vw);
    color: var(--black03);
}

.btn-more {
    display: inline-flex;
    align-items: center;
    gap: min(5px, 0.26vw);
    font-size: min(2.5rem, 1.302vw);
    line-height: min(2.75rem, 1.432vw);
    font-weight: var(--font-weight-semibold);
    color: var(--black03);
}

.btn-more:after {
    content: '';
    display: block;
    width: min(1.2rem, 0.625vw);
    height: min(1.2rem, 0.625vw);
    border: min(2.5px, 0.13vw) solid var(--black03);
    transform: rotate(45deg);
    text-indent: -9999px;
}

.btn-more:after {
    border-left: none;
    border-bottom: none;
}

/* about */
.main-about-wrap{
    padding: 0 10.4rem;
}
.main-about-box {
    align-items: center;
}

.main-about-box .main-title-box {
    padding: min(10rem, 5.208vw) 0 min(8rem, 4.167vw);  /*funnysalt*/
    padding: min(14rem, 7.07vw) 0 min(21rem, 10.60vw);
}

.main-about-box .main-title-box .top-box {
    padding: 0 0 min(25rem, 13.021vw);
}

.main-about-box .main-con-box {
    width: 57.6%;
}

.main-video-wrap {
    pointer-events: none;
}

.main-video-box {
    position: relative;
    padding: 0 0 67.78%;
}

.main-video-box :is(img, video) {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.main-video-box .video-light {
    mix-blend-mode: multiply;
}

.main-video-box .video-dark {
    opacity: 0;
    transition: none;
}

.main-video-box video.mobile {
    display: none;
}

@media screen and (max-width: 1024.98px) {
    .main-video-box video.pc {
        display: none;
    }

    .main-video-box video.mobile {
        display: block;
    }
}

/* works */
.main-works-wrap{
    padding: 0 10.4rem;
}
.main-works-box { /*funnysalt*/
    padding: min(14rem, 7.292vw) 0 min(11rem, 5.729vw);
    padding: min(14rem, 7.07vw) 0 min(19.0rem, 10.60vw);
}

.main-works-box .main-title a {
    pointer-events: none;
}

.main-works-box .main-title-box .top-box {
    padding: 0 0 min(20rem, 10.417vw);
}

.main-work-link-box {
    padding: 0 0 min(11.4rem, 5.938vw);
}

.main-work-link-box.mobile {
    display: none;
}

.main-work-link-box ul li + li {
    padding: min(3.5rem, 1.823vw) 0 0;
}

.main-work-link-box ul li a {
    font-size: min(2.5rem, 1.302vw);
    line-height: min(2.75rem, 1.432vw);
    font-weight: var(--font-weight-semibold);
    color: var(--black03);
    text-decoration: underline;
    text-underline-offset: min(2px, 0.104vw);
    text-decoration-thickness: min(1px, 0.052vw);
    opacity: 0.5;
    transition: opacity 0.3s ease;
}
.main-work-link-box ul li a:hover{
    opacity: 1;
}
.main-works-box .main-con-box {
    padding: min(3.5rem, 1.823vw) 0 0;
    width: 68.95%;
}

.main-work-swiper {
    overflow: unset;
}

.main-work-swiper .swiper-slide {
    width: min(39.6rem, 20.625vw);
}

.main-work-swiper .swiper-slide > a {
    display: block;
}

.main-work-swiper .work-img-box {
    position: relative;
    padding: 0 0 152.7%;   
    overflow: hidden;
}

.main-work-swiper .work-img-box img {
    
}

.main-work-swiper .work-txt-box {
    padding: min(2rem, 1.042vw) 0 0;
}

.main-work-swiper .work-txt-box p {
    color: var(--black03);
}

.main-work-swiper .work-txt-box .txt01 {
    padding: 0 0 min(9px, 0.469vw);
    font-size: min(2rem, 1.042vw);
    line-height: min(3rem, 1.563vw);
    font-weight: var(--font-weight-semibold);
}

.main-work-swiper .work-txt-box .txt02 {
    font-size: min(1.8rem, 0.938vw);
    line-height: min(2.88rem, 1.5vw);
}

/* clients */
.main-clients-wrap{
    padding: 0 10.4rem;
}
.main-clients-box { /*funnysalt*/
    position: relative;
    padding: min(14rem, 7.292vw) 0 min(13rem, 6.771vw);
    padding: min(14rem, 7.07vw) 0 min(21rem, 10.60vw);
}

.main-clients-box .main-title-box .top-box {
    padding: 0 0 min(24rem, 12.5vw);
}

.main-clients-box .main-con-box {
    padding: 0 0 0 min(6rem, 3.125vw);
    width: 69%;
    box-sizing: border-box;
}

.main-clients-swiper {
    overflow: unset;
}

.main-clients-swiper .swiper-slide {
    margin: 0 min(14rem, 7.292vw) 0 0;
    width: min(24.6rem, 12.812vw);
}

.main-clients-swiper .clients-logo-box {
    padding: 0 0 min(3.2rem, 1.667vw);
    height: min(5rem, 2.604vw);
}

.main-clients-swiper .clients-logo-box img {
    height: 100%;
}

.main-clients-swiper .clients-txt-box {
    position: relative;
    margin: 0 0 min(6.4rem, 3.333vw);
    padding: 0 0 min(6.7rem, 3.49vw);
}

.main-clients-swiper .clients-txt-box:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: min(4rem, 2.083vw);
    height: min(2px, 0.104vw);
    background: var(--black50);
}

.main-clients-swiper .clients-txt-box .txt01 {
    font-size: min(1.8rem, 0.938vw);
    line-height: min(2.88rem, 1.5vw);
    color: var(--black100);
}

.main-clients-swiper .type01 .clients-sub-logo-box {
    max-width: min(16.3rem, 8.49vw);
}

.main-clients-swiper .type02 .clients-sub-logo-box {
    max-width: min(11.7rem, 6.094vw);
}

.main-clients-swiper .type03 .clients-sub-logo-box {
    max-width: min(11.6rem, 6.042vw);
}

.main-clients-swiper .type04 .clients-sub-logo-box {
    max-width: min(12.7rem, 6.615vw);
}

@media screen and (min-width: 1025px) {
    :is(.main-works-box, .main-clients-box) .main-title-box {
        position: relative;
        z-index: 10;
        width: 31%;
    }

    :is(.main-works-box, .main-clients-box) .main-title-box:before {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        width: 100vw;
        height: 100%;
        background: url(../../assets/images/common/bg-main.jpg) no-repeat center right;
    }   

    :is(.main-works-box, .main-clients-box) .main-title-box:after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        width: 100vw;
        height: 100%;
        background: var(--black02);
        opacity: 0;
        transition: opacity 0.65s cubic-bezier(0.72,0,0.28,1);
    }

    :is(.main-works-box, .main-clients-box) .main-title-box > div {
        position: relative;
        z-index: 5;
    }

    .main-clients-box .main-con-box {
        position: relative;
    }

    .main-clients-box .main-con-box:after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: min(1px, 0.052vw);
        height: 0;
        background: var(--black04);
        transition: height 1s ease;
        transition-delay: 1s;
    }

    .main-clients-box.onTrans .main-con-box:after {
        height: 105%;
    }
}

/* contact */
.main-contact-wrap{
    padding: 0 10.4rem;
}
.main-contact-box { /*funnysalt*/
    padding: min(14rem, 7.07vw) 0 min(21rem, 10.60vw);
    padding: min(14rem, 7.07vw) 0 min(21rem, 10.60vw);
    border-bottom: none;
}

.main-contact-box .main-title-box .top-box {
    padding: 0 0 min(21rem, 10.938vw);
}

.main-contact-box .main-title-box .top-box .contact-logo {
    margin: 0 0 min(2.4rem, 1.25vw);
    width: 100%;
    max-width: min(42.4rem, 22.083vw);
    height: min(6.8rem, 3.542vw);
    background: var(--black100);
    mask: url(../../assets/images/main/img-logo-rms-rmsp@2x.png) no-repeat center center / 100%;
}

.main-contact-box .main-title-box .top-box .main-title {
    font-size: min(4.4rem, 2.292vw);
    line-height: min(4.9rem, 2.552vw);
}

.main-address-box a {
    display: inline-block;
    padding: min(2.5rem, 1.302vw) 0 0;
    font-size: min(2.5rem, 1.302vw);
    line-height: min(4rem, 2.083vw);
    font-weight: var(--font-weight-semibold);
    color: var(--black03);
}

.main-contact-box .contact-block + .contact-block {
    position: relative;
    margin: min(14.7rem, 7.656vw) 0 0;
    padding: min(7.65rem, 3.984vw) 0 0;
}

.main-contact-box .contact-block + .contact-block:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: min(1px, 0.052vw);
    background: var(--color13);
    opacity: 0.4;
    transition: width 1s ease;
    transition-delay: 1s;
}

.main-contact-box .contact-block + .contact-block.onTrans:before {
    width: 100%;
}

.main-contact-box .contact-block h3 {
    padding: 0 0 min(1.5rem, 0.781vw);
    font-size: min(3.1rem, 1.615vw);
    line-height: min(4.1rem, 2.135vw);
    color: var(--black03);
    font-weight: var(--font-weight-medium);
}

.main-contact-box .contact-block p {
    padding: 0 0 min(4.6rem, 2.396vw);
    font-size: min(2.5rem, 1.302vw);
    line-height: min(4rem, 2.083vw);
    color: var(--black03);
}

.main-contact-box .contact-block a {
    display: inline-flex;
    align-items: center;
    gap: min(1rem, 0.521vw);
    border-bottom: min(1px, 0.052vw) solid var(--black04);
    font-size: min(2rem, 1.042vw);
    line-height: min(2.5rem, 1.302vw);
    color: var(--black04);
}

.main-contact-box .contact-block a .ico-arrow {
    display: block;
    width: min(1.15rem, 0.599vw);
    height: min(1.15rem, 0.599vw);
    background: var(--black04);
    mask: url(../../assets/images/main/ico-arrow-contact@2x.png) no-repeat center center / 100%;
}

@media screen and (min-width: 1025px) {
    .main-contact-box .main-title-box {
        padding: min(8px, 0.417vw) 0 0;
    }
    
    .main-contact-box .main-title-box .top-box .main-desc {
        padding: min(3.2rem, 1.667vw) 0 0;
    }
    
    .main-contact-box .main-con-box {
        width: 65%;
    }
}

@media screen and (max-width: 1024.98px) {
    /* main visual */
    .main-vi-text-swiper {
        pointer-events: auto;
    }

    .main-vi-text-swiper .swiper-slide-active {
        pointer-events: auto;
    }

    .vi-txt-box {
        padding: 0 2.8rem;
    }

    .vi-txt-box .vi-en-text-box {
        padding: 0 0 min(9rem, 20.455vw);
    }

    .vi-txt-box .vi-en-text-box .txt01 {
        margin: 0 0 min(2rem, 4.545vw);
        height: min(2.45rem, 5.568vw);
    }

    .unique .vi-txt-box .vi-en-text-box .txt01 {
        margin: 0 0 min(1.7rem, 3.864vw);
        height: min(2.75rem, 6.25vw);
    }

    .vi-txt-box .vi-en-text-box .txt02 {
        height: min(7.8rem, 17.727vw);
    }

    .vi-txt-box .vi-en-text-box img.pc {
        display: none;
    }

    .vi-txt-box .vi-en-text-box img.mobile {
        display: inline;
    }

    /*
    .vi-txt-box .vi-en-text-box .txt01 {
        font-size: min(5.4rem, 12.273vw);
        line-height: min(6.2rem, 14.091vw);
    }
    
    .vi-txt-box .vi-en-text-box .txt02 {
        font-size: min(4rem, 9.091vw);
        line-height: min(4.8rem, 10.909vw);
    }
    */

    .vi-txt-box .vi-bottom-text-box {
        bottom: min(13rem, 29.545vw);
        padding: 0 2.8rem;
        max-width: 100%;
    }

    .vi-txt-box .vi-bottom-text-box .txt03 {
        flex-direction: column;
        gap: 0;
        font-size: min(1.8rem, 4.091vw);
        line-height: min(2.5rem, 5.682vw);
    }

    .main-vi-text-swiper .main-vi-text-pagination {
        display: flex;
        position: absolute;
        bottom: min(10.2rem, 23.182vw);
        left: 50%;
        width: 100%;
        max-width: min(30rem, 68.182vw);
        z-index: 10;
        transform: translateX(-50%);
    }

    .main-vi-text-swiper .main-vi-text-pagination span {        
        width: 100%;
        height: min(3px, 0.682vw);
        border-radius: 0;
        background: var(--color12);
        opacity: 0.2;
    }

    .main-vi-text-swiper.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
        margin: 0;
    }

    .main-vi-text-swiper .main-vi-text-pagination .swiper-pagination-bullet-active {
        opacity: 1;
    }

    .main-vi-swiper + .control-wrap {
        display: none;
    }

    /* main common */
    .main-content-wrap {
        padding: 0 2.8rem;
    }

    .main-content-box {
        flex-direction: column;
        align-items: center;
        padding: min(5rem, 11.364vw) 0;
    }

    .main-content-box .main-title-box {
        padding: 0 0 min(6.2rem, 14.091vw);
        width: 100%;
    }

    .main-content-box .main-title-box .top-box {
        padding: 0 0 min(11.6rem, 26.364vw);
    }

    .main-title {
        font-size: min(4.5rem, 10.227vw);
        line-height: min(4.5rem, 10.227vw);
    }

    .main-desc {
        padding: min(1.6rem, 3.636vw) 0 0;
        font-size: min(2rem, 4.545vw);
        line-height: min(3rem, 6.818vw);
    }

    .btn-more {
        font-size: min(1.6rem, 3.636vw);
        line-height: min(2rem, 4.545vw);
    }

    .btn-more:after {
        width: min(0.8rem, 1.818vw);
        height: min(0.8rem, 1.818vw);
        border-width: min(2.5px, 0.568vw);
    }

    .main-content-box .main-con-box {
        width: 100%;
    }

    /* main about */
    .main-about-wrap {
        padding: 0;
    }

    .main-about-box {
        position: relative;
        border-bottom: 0;
        min-height: 90rem;
        box-sizing: border-box;
    }

    .main-about-box:after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 2.8rem;
        width: calc(100% - 5.6rem);
        height: 1px;
        background: var(--black04);
    }

    .main-about-box .main-title-box {
        padding: 0 2.8rem;
        box-sizing: border-box;
    }

    .main-video-wrap {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
    }

    .main-video-box {
        padding: 0 0 min(90rem, 217%);
    }

    /* main work */
    .main-works-box .main-title a {
        display: inline-block;
        position: relative;
        padding: 0 3rem 0 0;
        pointer-events: auto;
    }

    .main-works-box .main-title a .ico-arr {
        content: '';
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        bottom: 1rem;
        right: 0;
        width: 2.5rem;
        height: 2.5rem;
        border-radius: 50%;
        background: var(--black02);
    }

    .main-works-box .main-title a .ico-arr:after {
        content: '';
        position: relative;
        left: -1px;
        width: 1.3rem;
        height: 9px;
        background: var(--white100);
        mask: url(../../assets/images/main/ico-arr-work-link@2x.png) no-repeat center center / 100%;
        transition: transform 0.3s ease-in-out;
    }

    .main-works-box .main-title a.on .ico-arr:after {
        left: 1px;
        transform: rotate(180deg);
    }

    .main-work-link-box {
        display: none;
        padding: min(5rem, 11.364vw) 0 min(3.4rem, 7.727vw);
    }

    .main-work-link-box.pc {
        display: none;
    }

    .main-work-link-box ul li + li {
        padding: min(4rem, 9.091vw) 0 0;
    }

    .main-work-link-box ul li a {
        font-size: min(1.6rem, 3.636vw);
        line-height: min(1.76rem, 4vw);
        font-weight: var(--font-weight-medium);
    }
    .main-work-link-box ul li a .ico-arrow {
        width: min(1rem, 0.227vw);
    }

    .main-work-swiper .swiper-slide {
        width: min(28.4rem, 64.545vw);
    }

    .main-work-swiper .work-img-box {
        padding: 0 0 127.46%;
    }

    .main-work-swiper .work-txt-box {
        padding: min(1rem, 2.273vw) 0 0;
    }

    .main-work-swiper .work-txt-box .txt01 {
        padding: 0 0 min(5px, 1.136vw);
        font-size: min(2rem, 4.545vw);
        line-height: min(3rem, 6.818vw);
    }

    .main-work-swiper .work-txt-box .txt02 {
        display: -webkit-box;
        font-size: min(1.8rem, 4.091vw);
        line-height: min(2.7rem, 6.136vw);
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        white-space: normal;
        text-overflow: ellipsis;
        overflow: hidden;
    }

    /* main clients */
    .main-clients-box .main-con-box {
        padding: 0;
    }

    .main-clients-swiper .swiper-slide {
        margin: 0;
        padding: 0 min(9rem, 20.455vw) 0 0;
        width: min(min(24.6rem, 55.909vw), 55.909vw);
    }

    .main-clients-swiper .clients-logo-box {
        position: relative;
        padding: 0 0 min(3.2rem, 7.273vw);
        height: min(5rem, 11.364vw);
    }

    .main-clients-swiper .clients-txt-box {
        margin: 0 0 min(5rem, 11.364vw);
        padding: 0 0 min(5rem, 11.364vw);
    }

    .main-clients-swiper .clients-txt-box .txt01 {
        font-size: min(1.8rem, 4.091vw);
        line-height: min(2.7rem, 6.136vw);
    }

    .main-clients-swiper .clients-txt-box:after {
        width: min(4rem, 9.091vw);
        height: min(2px, 0.455vw);
    }

    .main-clients-swiper .type01 .clients-sub-logo-box {
        max-width: min(16.3rem, 37.045vw);
    }
    
    .main-clients-swiper .type02 .clients-sub-logo-box {
        max-width: min(11.7rem, 26.591vw);
    }
    
    .main-clients-swiper .type03 .clients-sub-logo-box {
        max-width: min(11.6rem, 26.364vw);
    }
    
    .main-clients-swiper .type04 .clients-sub-logo-box {
        max-width: min(12.7rem, 28.864vw);
    }

    /* main contact */
    .main-contact-box {
        padding-bottom: min(10rem, 22.727vw);
    }

    .main-contact-box .main-title-box .top-box .contact-logo {
        margin: 0 0 min(1.4rem, 3.182vw);
        max-width: min(23.2rem, 52.727vw);
        height: min(3.75rem, 8.523vw);
    }

    .main-contact-box .main-title-box .top-box .main-title {
        font-size: min(2.6rem, 5.909vw);
        line-height: 1;
    }
    
    .main-address-box .main-desc {
        line-height: min(2.4rem, 5.455vw);
    }

    .main-address-box a {
        padding: min(8px, 1.818vw) 0 0;
        font-size: min(2rem, 4.545vw);
        line-height: min(2.4rem, 5.455vw);
        font-weight: var(--font-weight-medium);
    }

    .main-contact-box .contact-block + .contact-block {
        margin: 0;
        padding: min(7rem, 15.909vw) 0 0;
        border-top: 0;
    }

    .main-contact-box .contact-block + .contact-block:before {
        display: none;
    }

    .main-contact-box .contact-block h3 {
        padding: 0 0 min(1.6rem, 3.636vw);
        font-size: min(2.4rem, 5.455vw);
        line-height: min(2.9rem, 6.591vw);
    }

    .main-contact-box .contact-block p {
        padding: 0 0 min(1.38rem, 3.136vw);
        font-size: min(1.8rem, 4.091vw);
        line-height: min(2.7rem, 6.136vw);
    }
    .main-contact-box .contact-block a {
        display: flex;
        justify-content: space-between;
        padding: 0 0 min(1px, 0.227vw);
        font-size: min(1.8rem, 4.091vw);
        line-height: min(2.7rem, 6.136vw);
    }

    .main-contact-box .contact-block a .ico-arrow {
        width: min(1.4rem, 3.182vw);
        height: min(1.3rem, 2.955vw);
    }
}
