:root {
    font-size: clamp(14px, 16/1920*100vw, 16px);
    --font-sans: "Inter", "Pretendard Variable", Pretendard, "Apple SD Gothic Neo", "Malgun Gothic", "맑은 고딕", system-ui, sans-serif;
}
@media screen and (max-width: 1280px) {
    :root {
        font-size: clamp(12px, 14/1280*100vw, 14px);
    }
}
@media screen and (max-width: 1024px) {
    :root {
        font-size: clamp(10px, 12/1024*100vw, 12px);
    }
}

.main {
    overflow: hidden;
}


.s1 {
    position: relative;
    height: 100vh;
}
.s1 .bg {
    position: absolute; top: 0; left: 0; 
    width: 100%; height: 100%;
}
.s1 .bg img {
    width: 100%; height: 100%; 
    object-fit: cover;
}
.s1 .inn {
    width: 100%;
    display: flex; flex-direction: column; align-items: center;
    position: absolute; top: 50%; left: 50%; 
    transform: translate(-50%, -50%); 
    text-align: center;
}
.s1 .inn > span {
    display: inline-block; 
    padding: calc(8/41.59*1em) calc(15/41.59*1em); 
    font-family: 'Nanum'; font-size: calc(41.59/16*1rem); font-weight: 600; color: #fff; 
    background: #b02b32;
    margin-bottom: calc(40/41.59*1em); 
}
.s1 .inn h1 {
    width: calc(904/16*1rem);
}
.s1 .inn p {
    font-family: 'Nanum'; font-size: calc(41.59/16*1rem); font-weight: 700; color: #fff;
    margin-top: calc(90/41.59*1em);
    line-height: calc(72/41.59*1em);
}
.s1 .inn p span {
    letter-spacing: 0.06em;
}
.s1 .inn p b {
    font-size: calc(46.79/41.59*1em); font-weight: 900;
    padding-right: calc(14/46.79*1em);
}
.s1 .inn p b em {
    letter-spacing: 0.05em;
}
.s1 .inn p .inter {
    font-family: var(--font-sans); font-weight: 700; letter-spacing: 0.03em;
    padding-right: calc(15/46.79*1em);
}
@media screen and (max-width: 1024px) {
    .s1 .inn h1 {
        width: clamp(375px, 600/1024*100vw, 600px);
    }
    .s1 .inn > span {
        font-size: calc(31.59/16*1rem);
    }
    .s1 .inn p {
        font-size: calc(31.59/16*1rem);
    }
}
@media screen and (max-width: 500px) {
    .s1 .inn h1 {
        width: 90%;
        max-width: calc(400px);
    }
    .s1 .inn p {
        font-size: clamp(14px, 16/500*100vw, 16px);
    }
}



.s2 {
    padding-top: calc(180/16*1rem);
    background: #fff;
}

.s2 .list {
    box-sizing: border-box;
    position: relative;
    /* background: #fff; */
    /* height: 70vh; */
}
.s2 .list .pin_item {
    position: relative;
    width: 100%;
    /* pin(transform) 그룹 안에서 흰 배경과 blend → 흰 글자가 검정으로 보임 */
    /* background: #fff; */
}
.s2 .list._2{ margin-top: -100vh; }
.s2 .list._2 .pin_item {
    text-align: right;
}
.s2 .list .pin_item .pin_head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: relative; z-index: 90;
    /* position: absolute; top: 0; left: 0; */
    /* padding-top: calc(130/16*1rem); */
    /* margin-top: calc(-130/16*1rem); */
    /* z-index 없이 DOM 순서(imgs → pin_head)로만 위에 올림 */
}
.s2 .list._2 .pin_item .pin_head {
    left: auto; right: 0;
    align-items: flex-end;
}
/* red_btn은 블렌드 제외 → txt에만 적용 */
.s2 .list .pin_item .txt {
    /* mix-blend-mode: difference; */
    color: #000;
}
.s2 .list .pin_item .txt .tit {
    display: flex; flex-direction: column;
}
.s2 .list._2 .pin_item .txt .tit {
    /* opacity: 0; */
}
.s2 .list .pin_item .txt .tit b {
    font-family: 'Nanum'; font-size: calc(52/16*1rem); letter-spacing: 0.05em; font-weight: 700; 
}
.s2 .list .pin_item .txt .tit p {
    font-family: 'Nanum'; font-size: calc(38/16*1rem); font-weight: 700; letter-spacing: 0.035em;
    margin-top: calc(5/38*1em);
}
.s2 .list .pin_item .txt p {
    font-family: 'Nanum'; font-size: calc(19/16*1rem); font-weight: 500; letter-spacing: 0.06em; line-height: calc(35/19*1em);
    margin-top: calc(10/19*1em);
}

.s2 .list._2 .pin_item .txt p {
    /* opacity: 0; */
}
.s2 .list .imgs {
    position: relative;
    margin-top: -60vh;
    /* background: #fff; */
    /* transform: translateY(calc(230/16*1rem)); */
    /* height: 100vh; */
}
.s2 .list._2 .imgs {
    margin-top: calc(-300/16*1rem);
}
.s2 .list .imgs::before {
    content: '';
    display: block;
    padding-top: calc(1095/1500*100%);
}
.s2 .list._2 .imgs::before {
    padding-top: calc(1275/1500*100%);
}
.s2 .list .imgs .img {
    position: absolute; top: 0; left: 50%; 
    transform: translate(-50%, 0);
    /* opacity: 0; */
}
.s2 .list .imgs .img img {
    opacity: 0;
    display: block;
}
.s2 .list._1 .imgs .img:nth-child(1) {
    right: 0; left: auto;
    transform: translate(calc(-130/16*1rem), 0);
}
.s2 .list._1 .imgs .img:nth-child(2) {
    left: 0;
    transform: translate(0, 69px);
}
.s2 .list._1 .imgs .img:nth-child(3) {
    left: auto; right: 0;
    transform: translate(0, 135px);
}
.s2 .list._1 .imgs .img:nth-child(4) {
    transform: translate(-58%, 155px);
}
.s2 .list._2 .imgs .img:nth-child(1) {
    left: 0;
    transform: translate(calc(50/16*1rem), 0);
}
.s2 .list._2 .imgs .img:nth-child(2) {
    right: 0; left: auto;
    transform: translate(0, 170px);
}
.s2 .list._2 .imgs .img:nth-child(3) {
    left: 0;
    transform: translate(calc(155/375*100%), 198px);
}
.s2 .list._2 .imgs .img:nth-child(4) {
    right: 0; left: auto;
    transform: translate(calc(-100/738*100%), 238px);
}



@media screen and (max-width: 1280px) {
    /* .s2 .list {
        height: 80vh;
    } */
    .s2 .list .imgs{ margin-top: 0; }
    .s2 .list._2{ margin-top: -40vh; }
    .s2 .list .imgs .img img {
        transform: scale(0.7);
    }
    .s2 .list._2 .imgs .img:nth-child(3){ transform: translate(calc(80 / 375 * 100%)); }
}
@media screen and (max-width: 1024px) {
    .s2 .list .pin_item .txt .tit b {
        font-size: calc(55/16*1rem);
    }
    .s2 .list .pin_item .txt .tit p {
        font-size: calc(28/16*1rem);
    }
    .s2 .list .pin_item .txt p {
        font-size: calc(22/16*1rem);
    }
}
@media screen and (max-width: 820px) {
    .s2 .list {
        height: auto;
    }
    .s2 .list._2 .pin_item .pin_head {
        padding-top: calc(100/16*1rem);
    }
    .s2 .list .pin_item .txt {
        mix-blend-mode: normal;
        color: #000;
    }
    .s2 .list .pin_item .txt .tit b {
        padding-bottom: calc(15/52*1em);
        font-size: clamp(40px, 52/820*100vw, 52px);
    }
    .s2 .list .pin_item .txt .tit p {
        font-size: clamp(18px, 24/820*100vw, 24px);
        font-weight: 600;
    }
    .s2 .list .pin_item .txt p {
        font-weight: 500;
        font-size: clamp(16px, 19/820*100vw, 19px);
    }
    .s2 .list .imgs {
        opacity: 1;
    }
    .s2 .list .imgs .img img{ transform: scale(1); }

    .s2{ padding: 70px 0; }

    .s2 .list .imgs .img{ left: 0; }
    .s2 .list._2{ margin-top: 0; }
    .s2 .list._2 .imgs{ margin-top: 0; }
    .s2 .list .imgs::before{ display: none; }
    .s2 .list .imgs .img{ position: relative; }
    .s2 .list._1 .imgs .img:nth-child(1),
    .s2 .list._1 .imgs .img:nth-child(2),
    .s2 .list._1 .imgs .img:nth-child(3),
    .s2 .list._1 .imgs .img:nth-child(4)
    { transform: translate(0, 0); }

    .s2 .list._1 .imgs .img:nth-child(1){ margin-top: 30px; width: 35%; }
    .s2 .list._1 .imgs .img:nth-child(2){ margin-top: -50px; margin-left: auto; width: 60%; }
    .s2 .list._1 .imgs .img:nth-child(3){ margin-top: -120px; width: 35%; }
    .s2 .list._1 .imgs .img:nth-child(4){ margin-top: -60px; margin-left: auto; width: 40%; }


    .s2 .list._2 .imgs .img:nth-child(1),
    .s2 .list._2 .imgs .img:nth-child(2),
    .s2 .list._2 .imgs .img:nth-child(3),
    .s2 .list._2 .imgs .img:nth-child(4)
    { transform: translate(0, 0); }

    .s2 .list._2 .imgs .img:nth-child(1){ margin-top: 30px; width: 35%; }
    .s2 .list._2 .imgs .img:nth-child(2){ margin-top: -50px; margin-left: auto; width: 60%; }
    .s2 .list._2 .imgs .img:nth-child(3){ margin-top: -60px; width: 35%; }
    .s2 .list._2 .imgs .img:nth-child(4){ margin-top: -20px; margin-left: auto; width: 40%; }

}
@media screen and (max-width: 500px) {
    .s2 .list .pin_item .txt p {
        word-break: keep-all;
        font-size: clamp(14px, 16/500*100vw, 16px);
    }
    .s2 .list .pin_item .txt p br {
        display: none;
    }
    .s2 .list .pin_item .txt .tit p {
        font-size: clamp(16px, 18/820*100vw, 18px);
    }

    .s2 .list._1 .imgs .img:nth-child(2){ margin-top: -5%; }
    .s2 .list._1 .imgs .img:nth-child(3){ margin-top: -30%; }
    .s2 .list._1 .imgs .img:nth-child(4){ margin-top: -2%; }

    .s2 .list._2 .imgs .img:nth-child(2){ margin-top: -5%; }
    .s2 .list._2 .imgs .img:nth-child(3){ margin-top: -20%; }
    .s2 .list._2 .imgs .img:nth-child(4){ margin-top: 2%; }
}

.s3 {
    position: relative; margin-top: -100vh;
}
.s3 .bgWrap {
    position: absolute; top: 0; left: 0;
    width: 100%; height: 100vh;
}
.s3 .bgWrap .bg {
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 100%; height: 100%;
    transition: opacity 0.5s ease-in-out;
    opacity: 0;
    overflow: hidden;
}
.s3 .bgWrap .bg.act {
    opacity: 1;
}
.s3 .bgWrap .bg img {
    width: 100%; height: 100%;
    object-fit: cover;
}
.s3 .item {
    position: relative;
    width: 100%; padding-bottom: calc(300/1080*100vh);
}
.s3 .item .bg_mo {
    display: none;
    position: absolute; top: 0; left: 0;
    width: 100%; height: 100%;
}
.s3 .item .bg_mo img {
    width: 100%; height: 100%;
    object-fit: cover;
}
.s3 .item._2 {
    padding-bottom: calc(100/1080*100vh);
}
.s3 .item .txt {
    height: 100%;
    position: relative; z-index: 1;
}
.s3 .item._2 .txt {
    text-align: right;
    padding-bottom: calc(100/1080*100vh);
}
.s3 .item .txt .tit {
    display: flex; flex-direction: column;
}
.s3 .item .txt .tit > * {
    opacity: 0;
}
.s3 .item._2 .txt .tit {
    align-items: flex-end;
}
.s3 .item .txt .tit b {
    font-family: 'Nanum'; font-size: calc(128.97/16*1rem); letter-spacing: 0.06em; font-weight: 800; color: #fff; line-height: 1.1;
    padding-top: calc(140/128.97*1em);
}
.s3 .item._2 .txt .tit b {
    line-height: 1.2;
}
.s3 .item .txt .tit .sub {
    font-family: 'Nanum'; font-size: calc(38/16*1rem); font-weight: 800; letter-spacing: 0em; color: #fff;
    margin-top: calc(10/38*1em);
}
.s3 .item .txt .desc {
    font-family: 'Nanum'; font-size: calc(21/16*1rem); font-weight: 500; letter-spacing: 0em; color: #fff;
    margin-top: calc(70/21*1em); line-height: calc(38/21*1em);
}
.s3 .item._2 .txt .desc {
    margin-top: calc(40/21*1em);
    letter-spacing: 0.06em;
}
.s3 .item .partner_list {
    max-width: 750px;
    margin-top: 35px;
    margin-right: calc(-8/750*100%);
    display: grid; grid-template-columns: repeat(5, 1fr); gap: calc(5/16*1rem) calc(20/16*1rem);
}
@media screen and (max-width: 1280px) {
    .s3{ margin-top: -30vh; }
    .s3 .item .txt .tit b {
        font-size: calc(88.97/16*1rem);
    }
    .s3 .item .txt .tit .sub {
        font-size: calc(28/16*1rem);
    }
}
@media screen and (max-width: 1024px) {
    .s3 .item .partner_list .partner_item {
        width: 100px;
    }
}
@media screen and (max-width: 820px) {
    .s3{ margin-top: 0; }
    .s3 .bgWrap {
        display: none;
    }
    .s3 .item {
        height: auto;
        min-height: 80vh;
        padding-bottom: 0;
    }
    .s3 .item._2 {
        padding-bottom: 0;
    }
    .s3 .item .bg_mo {
        display: block;
    }
    .s3 .item .txt {
        display: flex; align-items: flex-end; justify-content: flex-end;
        padding: 80px 0;
    }
    .s3 .item._1 .txt {
        justify-content: flex-start;
    }
    .s3 .item .txt .tit b {
        padding-top: 0;
        font-size: clamp(45px, 70/820*100vw, 70px);
    }
    .s3 .item .txt .tit .sub {
        font-size: clamp(18px, 28/820*100vw, 28px);
        margin-top: 10px;
    }
    .s3 .item .txt .desc {
        font-size: clamp(15px, 20/820*100vw, 20px);
    }
    .s3 .item .partner_list {
        display: flex; justify-content: flex-end;
        flex-wrap: wrap;
        width: 100%;
        max-width: 660px;
    }
}
@media screen and (max-width: 500px) {
    .s3 .item .txt .tit b {
        font-size: clamp(32px, 48.97/500*100vw, 48.97px);
    }
    .s3 .item .txt .tit .sub {
        font-size: clamp(16px, 24/500*100vw, 24px);
        word-break: keep-all;
    }
    .s3 .item .txt .desc br {
        display: none;
    }
    .s3 .item .txt .desc {
        word-break: keep-all;
        font-size: clamp(14px, 16/500*100vw, 16px);
    }
    .s3 .item .partner_list {
        gap: 10px; justify-content: center;
    }
    .s3 .item .partner_list .partner_item {
        width: calc(100% / 3 - (10px * 2) / 3);
    }
}

.s4 {
    padding-top: calc(100/16*1rem);
    padding-bottom: calc(150/16*1rem);
    background: #aba9a4;
}

.s4 .wrap{ position: relative; }

.s4 .wrap .inn .titleWrap {
    display: flex; align-items: center; justify-content: space-between;
    padding-bottom: calc(45/45.34*1em);
    font-size: calc(45.34/16*1rem);
}
.s4 .wrap .inn .titleWrap > span {
    display: inline-block;
    font-family: 'Nanum'; font-weight: 800; letter-spacing: -0.02em; color: #fff;
}
/* 
.s4 .wrap .inn .titleWrap .navi {
    align-items: center;
    gap: 10px;
    position: relative;
    z-index: 20;
}
.s4 .wrap .inn .titleWrap .navi .prev,
.s4 .wrap .inn .titleWrap .navi .next {
    font-size: 14px;
    width: calc(30/14*1em); height: calc(30/14*1em);
    background: transparent; color: #fff;
    display: flex; align-items: center; justify-content: center;
    border-radius: 50%;
    border: 1px solid #fff;
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
    pointer-events: auto;
    position: relative;
    z-index: 21;
}
*/

.s4 .wrap .inn .titleWrap .navi{ position: absolute; top: 50%; transform: translateY(-50%); z-index: 10; width: 100%; }
.s4 .wrap .inn .titleWrap .navi .prev,
.s4 .wrap .inn .titleWrap .navi .next{
    position: absolute;  font-size: 50px; color: #fff; cursor: pointer;
}

.s4 .wrap .inn .titleWrap .navi .prev{ left: 8%; }
.s4 .wrap .inn .titleWrap .navi .next{ right: 8%; }

.s4 .wrap .inn .imgsWrap {
    position: relative;
    user-select: none;
    -webkit-user-select: none;
    overflow: hidden;
}
.s4 .wrap .inn .imgsWrap::before {
    content: '';
    display: block;
    pointer-events: none;
    padding-top: calc(750/1290*100%);
}
.s4 .wrap .inn .imgsWrap .imgs {
    --gap: 20;
    display: flex; gap: calc(var(--gap)*1px);
    position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    width: 100%; height: 100%;
    z-index: 1;
}
.s4 .wrap .inn .imgsWrap .imgs,
.s4 .wrap .inn .imgsWrap .imgs .imgItem,
.s4 .wrap .inn .imgsWrap .imgs .imgItem * {
    /* pointer-events: none !important; */
}
.s4 .wrap .inn .imgsWrap .s4Hit {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    width: 100%; height: 100%;
    z-index: 5;
    margin: 0;
    padding: 0;
    border: 0;
    background: rgba(0, 0, 0, 0.001);
    cursor: grab;
    touch-action: none;
    -webkit-appearance: none;
    appearance: none;
}
.s4 .wrap .inn .imgsWrap .s4Hit:active {
    cursor: grabbing;
}
/* 모바일: 드래그 레이어 끄기 → 버튼만 사용, act 링크는 직접 클릭 */
.s4 .wrap .inn .imgsWrap.s4-mobile .s4Hit {
    pointer-events: none !important;
    display: none;
}
.s4 .wrap .inn .imgsWrap.s4-mobile .imgs .imgItem.act,
.s4 .wrap .inn .imgsWrap.s4-mobile .imgs .imgItem.act * {
    pointer-events: auto !important;
}
.s4 .wrap .inn .imgsWrap .imgs .imgItem {
    width: 4px;
    filter: brightness(0);
    position: relative;
    -webkit-user-drag: none;
    user-select: none;
    text-decoration: none;
    color: inherit;
}
.s4 .wrap .inn .imgsWrap .imgs .imgItem.act {
    flex-grow: 1;
    width: auto;
    filter: brightness(1);
}
.s4 .wrap .inn .imgsWrap .imgs .imgItem .img {
    position: absolute; top: 0; left: 0;
    width: 100%; height: 100%;
}
.s4 .wrap .inn .imgsWrap .imgs .imgItem .img img {
    width: 100%; height: 100%;
    object-fit: cover;
    -webkit-user-drag: none;
    user-select: none;
}
.s4 .wrap .inn .imgsWrap .imgs .imgItem .txt {
    position: absolute; top: 0; left: 0;
    overflow: hidden;
    z-index: 1;
    width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.2);
    display: flex; align-items: center; justify-content: center; text-align: center;
}
.s4 .wrap .inn .imgsWrap .imgs .imgItem .txt span {
    font-family: 'Nanum'; font-size: clamp(40px, 76.78/1500*100vw, 76.78px); font-weight: 800; letter-spacing: -0.02em; color: #fff;
    white-space: nowrap;
}

.s4 .pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 20px;
}
.s4 .pagination .dot {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(0, 0, 0, .25);
    cursor: pointer;
    transition: width .3s ease, background .3s ease;  /* 활성 시 캡슐형으로 늘어남 */
}
.s4 .pagination .dot.act {
    width: 22px;
    border-radius: 4px;
    background: #111;   /* 사이트 포인트 컬러로 교체 */
}

.s4 .projsw{ width: 100%; overflow: visible; margin-top: 100px; }
.s4 .projsw .swiper-slide{ transition-duration: 0.8s; }

.s4 .projsw .swiper-slide > a{ display: flex; align-items: center; justify-content: center; text-align: center; width: 100%; height: 100%; position: relative; transition-duration: 0.8s; }
.s4 .projsw .swiper-slide > a::after{ content: ''; display: block; position: absolute; width: 100%; height: 100%; background-color: rgba(0,0,0,0.6); z-index: 2; transition-duration: 0.6s; }
.s4 .projsw .swiper-slide > a .img{ width: 100%; height: 100%; }
.s4 .projsw .swiper-slide > a .img img{ width: 100%; height: 1005; object-fit: cover; }
.s4 .projsw .swiper-slide > a .txt{ width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; position: absolute; left: 0; top: 0; text-align: center; font-family: 'Nanum'; font-size: clamp(40px, 60 / 1500 * 100vw, 60px); font-weight: 800; letter-spacing: -0.02em; color: #fff; }

.s4 .projsw .swiper-slide.swiper-slide-active{ transform: scale(1.3); z-index: 5;  }
.s4 .projsw .swiper-slide.swiper-slide-active > a::after{ opacity: 0; }

.s4 .projsw .swiper-button-next{ position: absolute; top: 50%; right: 13%; color: #fff; font-size: 50px; z-index: 10; cursor: pointer; }
.s4 .projsw .swiper-button-prev{ position: absolute; top: 50%; left: 13%; color: #fff; font-size: 50px; z-index: 10; cursor: pointer; }
.swiper-pagination{ position: relative; margin-top: 140px; }
.swiper-pagination span{ border-radius: 20px; transition-duration: 0.4s; }
.swiper-pagination-bullet-active{ background-color: #000; width: 20px; }

@media screen and (max-width: 1280px){
    .s4 .wrap .inn .titleWrap .navi .prev{ left: 12%; }
    .s4 .wrap .inn .titleWrap .navi .next{ right: 12%; }
}

@media screen and (max-width: 820px) {
    .s4 {
        padding: calc(80/16*1rem) 0;
    }
    .s4 .wrap .inn .titleWrap {
        padding-bottom: 0;
        margin-bottom: calc(30/16*1rem);
    }
    .s4 .wrap .inn .titleWrap .navi {
        display: flex;
        position: relative;
        transform: translateY(0);
        width: auto;
        gap: 10px;
    }

    .s4 .wrap .inn .titleWrap .navi .prev,
    .s4 .wrap .inn .titleWrap .navi .next {
        font-size: 14px;
        position: relative;
        width: calc(30/14*1em); height: calc(30/14*1em);
        background: transparent; color: #fff;
        display: flex; align-items: center; justify-content: center;
        border-radius: 50%;
        border: 1px solid #fff;
        cursor: pointer;
        user-select: none;
        -webkit-user-select: none;
        pointer-events: auto;
        position: relative;
        z-index: 21;
        left: auto;
        right: auto;
    }
    .s4 .wrap .inn .imgsWrap .imgs .imgItem .txt span {
        font-size: calc(40/16*1rem);
    }

    .s4 .projsw{ margin-top: 70px; }
    .s4 .projsw .swiper-slide > a .txt{
        font-size: calc(40/16*1rem);
    }
    .swiper-pagination{ margin-top: 70px; }
}
@media screen and (max-width: 500px) {
    .s4 .wrap .inn .imgsWrap .imgs {
        --gap: 10;
    }
    .s4 .wrap .inn .imgsWrap .imgs .imgItem {
        width: 2px;
    }
    .s4 .wrap .inn .titleWrap {
        font-size: clamp(24px, 30.35/500*100vw, 30.35px);
    }
    .s4 .wrap .inn .titleWrap .navi {
        gap: 5px;
    }
    .s4 .wrap .inn .titleWrap .navi .prev, .s4 .wrap .inn .titleWrap .navi .next {
        font-size: clamp(10px, 14/500*100vw, 14px);
    }
    .s4 .wrap .inn .imgsWrap .imgs .imgItem .txt span {
        font-size: clamp(21px, 28/500*100vw, 28px);
    }

    .s4 .projsw .swiper-slide > a .txt{
        font-size: clamp(21px, 28/500*100vw, 28px);
    }

    .s4 .projsw{ margin-top: 50px; }
    .swiper-pagination{ margin-top: 50px; }
    .swiper-button-prev:after, .swiper-button-next:after{ font-size: 26px; }
}
@media screen and (max-width: 360px) {
    .s4 .wrap .inn .imgsWrap .imgs {
        --gap: 5;
    }
    
}

.s5 {
    position: relative;
}
.s5 .bg {
    width: 100%;
}
.s5 .bg img {
    width: 100%; height: 100%;
    object-fit: cover;
}
.s5 .wrap {
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    height: 100%;
    display: flex; align-items: center;
    padding-top:  calc(81/16*1rem);
    box-sizing: border-box;
}
.s5 .wrap .inn {
    display: flex; flex-direction: column; align-items: flex-start;
}
.s5 .wrap .inn .title {
    display: flex; flex-direction: column;
}
.s5 .wrap .inn .title span {
    font-family: 'Nanum'; font-size: calc(44.35/16*1rem); font-weight: 700; letter-spacing: -0.02em; color: #fff;
    padding-bottom: calc(20/41.59*1em);
}
.s5 .wrap .inn .title b {
    font-family: 'Nanum'; font-size: calc(55.44/16*1rem); letter-spacing: 0.06em; font-weight: 800; color: #fff;
}
.s5 .wrap .inn .desc {
    display: flex; flex-direction: column;
}
.s5 .wrap .inn .desc p {
    font-family: 'Nanum'; font-size: calc(20/16*1rem); font-weight: 500; letter-spacing: 0.02em; color: #fff; line-height: calc(35/20*1em);
    padding-top: calc(30/20*1em);
}
.s5 .red_btn img {
    margin-left: calc(30/21*1em);
}
@media screen and (max-width: 1280px) {
    .s5 .wrap .inn .title span {
        font-size: calc(34.35/16*1rem);
    }
}
@media screen and (max-width: 820px) {
    .s5 .bg {
        position: absolute;
        top: 0; left: 0;
        width: 100%; height: 100%;
    }
    .s5 .bg img {
        object-fit: cover;
    }
    .s5 .wrap {
        position: relative;
        top: auto; left: auto;
        transform: none;
        padding-top: calc(80/16*1rem);
        padding-bottom: calc(80/16*1rem);
    }
    .s5 .wrap .inn .title span {
        font-size: clamp(24px, 30.35/820*100vw, 30.35px);
    }
    .s5 .wrap .inn .title b {
        font-size: clamp(32px, 55.44/820*100vw, 55.44px);
    }
    .s5 .wrap .inn .desc p {
        word-break: keep-all;
        font-size: clamp(14px, 18/820*100vw, 18px);
    }
}
@media screen and (max-width: 500px) {
    .s5 .wrap .inn .title b {
        line-height: 1.1;
    }
    .s5 .wrap .inn .desc p {
        font-size: clamp(14px, 15/500*100vw, 15px);
    }
    .s5 .wrap .inn .desc p br {
        display: none;
    }
}

.s6 {
    padding-top: calc(100/16*1rem);
    padding-bottom: calc(65/16*1rem);
    background-color: #fff;
}
.s6 .inn {
    position: relative;
}
.s6 .inn .swiper {
    width: 100%;
    overflow: hidden;
}
.s6 .inn .swiper .swiper-wrapper {
    transition-timing-function: linear;
}
.s6 .inn .swiper .swiper-slide .img {
    border-radius: 50px;
    overflow: hidden;
}

.s6 .inn .imgs{ display: flex; gap: 25px; width: 110%; margin-left: -5%; }
.s6 .inn .imgs li{ border-radius: 30px; overflow: hidden; width: 100%; }
.s6 .inn .imgs li img{ width: 100%; height: 100%; object-fit: cover; }

@media screen and (max-width: 1024px) {
    .s6 .inn .swiper .swiper-slide .img {
        border-radius: 30px;
    }
}

@media screen and (max-width: 820px) {
    .s6 {
        padding-top: calc(80/16*1rem);
        padding-bottom: calc(80/16*1rem);
    }
    .s6 .inn .swiper .swiper-slide .img {
        border-radius: 20px;
    }
    .s6 .inn .imgs{ gap: 10px; }
    .s6 .inn .imgs li{ border-radius: 12px; }
}


.s7 {
    background-color: #fff;
}
.s7 .wrap{
    border-bottom: 1px solid #4a4a4a;
    padding-bottom: calc(150/16*1rem);
}
.s7 .wrap .inn {
    display: flex; align-items: flex-end;
}
.s7 .wrap .inn .img {
    width: 100%;
    border-radius: 40px;
    overflow: hidden;
    padding-left: calc(100/16*1rem);
}
.s7 .wrap .inn .txt {
    width: 100%;
    max-width: 695px;
    display: flex; flex-direction: column;
    align-items: center;
    text-align: center;
}
.s7 .wrap .inn .txt .contact {
    display: flex; flex-direction: column;
    align-items: center;
    text-align: center;
}
.s7 .wrap .inn .txt .contact b {
    font-family: 'Nanum'; font-size: calc(45.57/16*1rem); font-weight: 900; letter-spacing: 0; color: #000; padding-top: calc(20/45.57*1em);
}
.s7 .wrap .inn .txt .contact p {
    font-family: 'Nanum'; font-size: calc(20.47/16*1rem); font-weight: 700; letter-spacing: 0; color: #221815;
    margin-top: calc(10/21*1em);
    margin-bottom: calc(10/21*1em);
}
.s7 .wrap .inn .txt .contact .red_btn {
    margin-top: calc(10/30.47*1em);
}
.s7 .wrap .inn .txt .info {
    display: flex; flex-direction: column;
    align-items: center;
    text-align: center;
}
.s7 .wrap .inn .txt .info .tit {
    display: flex; align-items: center;
    padding-bottom: calc(22/31.76*1em);
    padding-top: calc(125/31.76*1em);
    font-size: calc(31.76/16*1rem);
}
.s7 .wrap .inn .txt .info .tit .tit_txt {
    font-family: 'Nanum'; font-weight: 900; letter-spacing: 0; color: #000;;
}
.s7 .wrap .inn .txt .info .tit .tit_txt b {
    color: #b02b32;
}
.s7 .wrap .inn .txt .info .tit .mapBtn {
    display: flex; align-items: center;
    margin-left: calc(15/13*1em);
    font-size: 13px;
    background: #d7d7d7;
    padding: calc(3/13*1em) calc(10/13*1em);
}
.s7 .wrap .inn .txt .info .tit .mapBtn .icon {
    width: calc(20/13*1em);
    margin-right: calc(4/13*1em);
}
.s7 .wrap .inn .txt .info .tit .mapBtn > b {
    font-family: 'Nanum'; font-weight: 800; letter-spacing: 0; font-size: calc(13/16*1rem); color: #221815
}
.s7 .wrap .inn .txt .info .desc {
    width: 100%; text-align: left;
    font-family: 'Nanum'; font-size: calc(22.38/16*1rem); font-weight: 600;  color: #221815; 
    /* margin-top: calc(10/19*1em); */
}

@media screen and (max-width: 1440px) {
    .s7 .wrap{
        padding-bottom: calc(100/16*1rem);
    }
}
@media screen and (max-width: 1280px) {
    .s7 .wrap .inn {
        align-items: center;
    }
    .s7 .wrap .inn .txt .info .tit {
        font-size: calc(21.76/16*1rem);
    }
    .s7 .wrap .inn .txt .info .tit .mapBtn {
        font-size: 12px;
    }
}

@media screen and (max-width: 820px) {
    .s7 .wrap{
        padding-bottom: calc(80/16*1rem);
    }
    .s7 .wrap .inn {
        flex-direction: column;
    }
    .s7 .wrap .inn .img {
        padding-left: 0;
        display: flex; justify-content: center;
    }
    .s7 .wrap .inn .img img {
        max-width: 480px;
        width: 80%;
    }
    .s7 .wrap .inn .txt {
        margin-top: calc(100/16*1rem);
    }
    .s7 .wrap .inn .txt .contact b {
        font-size: calc(85.57/16*1rem);
    }
    .s7 .wrap .inn .txt .contact p {
        font-size: calc(35.47/16*1rem);
        margin-bottom: calc(30/35.47*1em);
    }
    .s7 .wrap .inn .txt .info .tit {
        flex-direction: column; align-items: center;
        padding-top: calc(70/31.76*1em);
    }
    .s7 .wrap .inn .txt .info .tit .mapBtn {
        margin-left: 0;
        margin-top: calc(10/13*1em);
    }
}
@media screen and (max-width: 500px) {
    .s7 .wrap .inn .txt .contact p {
        font-size: clamp(14px, 16/500*100vw, 16px);
    }
    .s7 .wrap .inn .txt .info .desc {
        text-align: center;
        word-break: keep-all;
        line-height: 1.3;
    }
}
.red_btn {
    display: inline-flex; align-items: center;
    background: #b02b32;
    padding: calc(17/16*1rem) calc(20/16*1rem) calc(20/16*1rem);
    font-family: 'Nanum'; font-size: calc(21/16*1rem); font-weight: 700; letter-spacing: 0.06em; color: #fff;
    margin-top: calc(30/21*1em);
}
.red_btn img {
    width: calc(105/21*1em); height: auto;
    margin-left: calc(60/21*1em);
    padding-bottom: calc(4/21*1em);
}
.red_btn.small {
    width: calc(321/30*1em);
    padding: calc(10/30*1em) calc(30/30*1em);
    font-size: calc(30/16*1rem);
    justify-content: space-between;
    align-items: flex-end;
    font-weight: 500;
    box-sizing: border-box;
    letter-spacing: 0em;
}
.red_btn.small img {
    width: calc(38/30*1em);
    margin-left: 0;
}
@media screen and (max-width: 820px) {
    .red_btn {
        font-size: clamp(16px, 20/820*100vw, 20px);
    }
}
@media screen and (max-width: 500px) {
    .red_btn {
        font-size: clamp(14px, 16/500*100vw, 16px);
    }
}