@charset "utf-8";
/* font */
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css");

@font-face {
    font-family: 'RIDIBatang';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_twelve@1.0/RIDIBatang.woff') format('woff');
    /* font-weight: normal;
    font-style: normal; */
}

@font-face {
    font-family: 'KBIZHanmaumMyungjo';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_one@1.0/KBIZHanmaumMyungjo.woff') format('woff');
}


/* css */
* {
    box-sizing: border-box;
    text-decoration: none;
    list-style: none;
    margin: 0;
    padding: 0;
    line-height: 1.5;
    font-family: var(--rid);
    color: #1a1a1a;
}

body,
html {
    scroll-behavior: smooth;

    ::-webkit-scrollbar {
        display: none;
    }

}

/* .custom-cursor {
    position: fixed;
    width: 64px;
    height: 64px;
    background: url('../1x/cursor.webp') no-repeat center;
    background-size: contain;
    pointer-events: none;
    z-index: 9999;
} */
.np {
    padding: 0;
}

img {
    display: block;
    max-width: 100%;
}

:root {
    --pre: "Pretendard Variable", Pretendard;
    --rid: 'RIDIBatang';
    --kb: 'KBIZHanmaumMyungjo';
    --h: 100px;
}

a {
    display: block;
    width: 100%;
    font-family: var(--pre);
}

em {
    font-style: normal;
    font-family: inherit;
    position: relative;
    display: inline-block;
}

em::after {
    top: -0.25rem;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 5px;
    height: 5px;
    content: '';
    display: block;
    border-radius: 5rem;
    background: #b81d2c;
}

h1,
h2,
h3,
h4,
h5 {
    font-family: var(--kb);
    line-height: 1.4;
}

video {
    width: 100%;
    display: block;
}

p {
    font-family: var(--pre);
}

section {
    width: 100%;
    padding-inline: 10%;
    overflow-x: hidden;
    display: block;
    z-index: 2;
    background: url(../1x/bg2.webp) center / cover;
    position: relative;
}

.m2.gra::after {
    top: 0;
    background: linear-gradient(white, white, transparent 80%, transparent 80%);
}

section.gra::after {
    position: absolute;
    display: block;
    content: '';
    top: -5%;
    width: 100%;
    height: 10%;
    z-index: 3;
    left: 0;
    background: linear-gradient(transparent, white, transparent);
}

section.gra::before {
    position: absolute;
    display: block;
    content: '';
    bottom: -5%;
    width: 100%;
    height: 10%;
    left: 0;
    z-index: 3;
    background: linear-gradient(transparent, white, transparent);
}

.flex_wrap {
    display: flex;
}

header {
    position: relative;
    width: 100%;
}

header .header_wrap {
    padding-left: 5%;
    display: flex;
    align-items: center;
    height: 80px;
    width: 100%;
    justify-content: space-between;
    text-align: center;
}

header .header_wrap nav {
    display: flex;
    align-items: center;
    height: 100%;
}

header .header_wrap nav>ul {
    display: flex;
    height: 100%;
}

header .header_wrap nav>ul>li {
    position: relative;
    width: 100%;
    height: 100%;
    min-width: fit-content;
    z-index: 5;
}

header .header_wrap nav>ul>li>a {
    padding: 1rem 2rem;
    align-content: center;
    height: 100%;
    font-family: var(--rid);
    font-size: 16px;
}

header .header_wrap nav>ul>li>.dep2 {
    position: absolute;
    height: 0;
    overflow: hidden;
    visibility: hidden;
    width: 100%;
    font-family: var(--pre);
    z-index: 2;
}

header .header_wrap nav>ul>li:hover>.dep2 {
    visibility: visible;
    height: auto;
    transition: 0.5s;
    opacity: 1;
    background: rgba(0, 0, 0, 0.5);
    padding-block: 1rem;
}

header .header_wrap nav>ul>li:hover>.dep2 li a {
    color: white;
    padding-block: 0.5rem;
}

header .r_menu {
    display: flex;
    padding-left: 2rem;
    align-items: center;
    gap: 2rem;
    height: 100%;
}

header .r_menu a {
    height: 100%;
    align-content: center;
    font-size: 16px;
}

header .r_menu .ham {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 7px;
    width: 5vw;
    height: 100%;
    padding: 1rem;
    background: #bb1d2c;
    transition: 0.6s;


    sub {
        line-height: 0.5;
        text-align: center;
        color: white;
        text-transform: uppercase;
        font-weight: 700;
    }
}

header .r_menu .ham:hover {
    background: #e4172b;
}

/* gnb */

.ham_wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    margin-left: 2rem;
    cursor: pointer;
    position: relative;
    z-index: 999;
    display: none;
}

.ham_wrap span {
    width: 2rem;
    height: 1px;
    background-color: #bb1d2c;
}

.ham_wrap.ham_cross span {
    background-color: #bb1d2c;
}

.noscroll {
    height: 100dvh;
    overflow: hidden;
}

.gnb .inner .menu_wrap ul .gnb_depth1 ul.open {
    display: block;
}

.ham_cross span:nth-child(1) {
    transform: rotate(45deg) translateY(12px);
    transition: 0.3s;
}

.ham_cross span:nth-child(2) {
    opacity: 0;
    transition: 0.3s;
}

.ham_cross span:nth-child(3) {
    transform: rotate(-45deg) translateY(-12px);
    transition: 0.3s;
}

/* ham end */

/* gnb start */
.gnb {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100dvh;
    background-color: #fff;
    z-index: 9;
    visibility: hidden;
    opacity: 0;
    transition: 0.3s;
}

.gnbopen {
    visibility: visible;
    opacity: 1;
    transition: 0.3s;
}

.gnb .inner {
    width: 100%;
    height: 100%;
    padding-inline: 2vw;
    display: flex;
    align-items: center;
    background: url(../1x/m3_before.webp) left no-repeat;
    background-size: contain;
}

.gnb .inner .menu_wrap {
    width: 100%;
}

.gnb .inner .menu_wrap>ul {
    display: flex;
    gap: 2vw;
}

.gnb .inner .menu_wrap ul .gnb_depth1 {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 1rem;
    position: relative;
    width: 100%;
}

.gnb .inner .menu_wrap ul .gnb_depth1::before {
    width: 1px;
    height: 100%;
    background-color: #d6d6d6;
    content: '';
    display: inline-block;
    position: absolute;
    left: -1rem;
    top: 0;
}

.gnb .inner .menu_wrap ul .gnb_depth1:nth-of-type(1)::before {
    display: none;
}

.gnb .inner .menu_wrap ul .gnb_depth1>a {
    font-size: 26px;
    font-weight: 700;
    font-family: var(--rid);
    color: #1a1a1a;
    width: 100%;
    text-align: center;
}

.gnb .inner .menu_wrap ul .gnb_depth1 ul li a {
    font-size: 18px;
    padding: 1rem;
    width: 100%;
    text-align: center;
    font-family: var(--rid);
}

/* m1 */
.m1 {
    padding-inline: 5vw;
    background: white;
}

.m1 .m1_swiper {
    width: 100%;
    height: 90vh;
}

.m1_swiper .swiper-slide {
    position: relative;
    overflow: hidden;
}

.m1_swiper .swiper-slide video {
    scale: 1.01;
}

.m1_swiper .bt {
    cursor: pointer;
    z-index: 2;
}

.m1_swiper .swiper-slide video {
    height: 100%;
    object-fit: cover;
}

.m1_swiper .swiper-slide .desc {
    position: absolute;
    overflow: hidden;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    z-index: 1;
    letter-spacing: -0.4px;
    background: radial-gradient(#25252521 10%, transparent 80%) no-repeat center;
}

.m1_swiper .swiper-slide .desc h3 {
    color: white;
    font-size: 58px;
    white-space: nowrap;
    line-height: 1.38;
    text-align: center;
    font-weight: 700;
    animation: opacity 1s forwards;
    background: radial-gradient(#4343435d 40%, transparent 70%);
}

.m1_swiper .swiper-slide .desc p {
    margin-top: 1.1rem;
    color: white;
    text-align: center;
    font-weight: 300;
    font-size: 22px;
    line-height: 1.3;
    animation: opacity 1s forwards;
}

.m1_swiper .swiper-slide>img {
    width: 100%;
}

.m1_swiper .m1_bar {
    position: absolute;
    z-index: 2;
    display: flex;
    width: 100%;
    margin: 0 auto;
    bottom: 0;
    border-top: 1px solid #fff;
    padding: 1rem 2vw;
    color: white;
    align-items: center;
}

.m1 .swiper-pagination {
    position: static;
}

.m1 .swiper-pagination-bullet-active {
    background: #bb1d2c;
}

.m1 .swiper-pagination-fraction {
    position: static;
    letter-spacing: 1px;
}

.m1 .swiper-pagination-fraction span {
    color: white;
    font-size: 1.125rem;
}

.m2 {
    padding-block: 10rem 15%;
}

.m2::after {
    position: absolute;
    width: 100%;
    bottom: 0;
    height: 10vh;
    left: 0;
    background: linear-gradient(to top, white, transparent);
}

.m2_after {
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
    opacity: 0;
    transition: 4s;
}

.m2_after.active {
    opacity: 1;
}

.m2 .flex_wrap {
    display: flex;
    gap: 3.25rem;
    justify-content: space-between;
    flex-wrap: wrap;
}

.m2 .flex_wrap .f_left {}

.m_title {
    position: relative;
    letter-spacing: -0.1px;
}


.m_title span {
    font-size: 1.25rem;
    color: #bb1d2c;
    font-weight: 700;
    font-family: var(--kb);
    display: block;
    margin-bottom: 0.5rem;
}

.m_title h3 {
    font-size: max(2rem, 2.7vw);
    font-weight: bold;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}


.m_title h4 {
    font-size: max(2rem, 1.7vw);
    font-weight: bold;
    line-height: 1.3;
}

.m_title p {
    font-weight: 300;
    font-size: 20px;
    color: #4d4d4d;
    letter-spacing: -0.25px;
    line-height: 1.5;
    margin-block: 2.2rem;
}

.m_title .golink {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 20px;
    padding-top: 2.25rem;
    color: #bb1d2c;
}

.m2 .flex_wrap .f_left .m2_his {
    margin-top: 5rem;
    display: flex;
    align-items: flex-end;
    gap: 0.5rem;
}

.m2 .flex_wrap .f_left .m2_his ul {
    display: flex;
    position: relative;
    flex-direction: column;
}

.m2 .flex_wrap .f_left .m2_his ul:nth-of-type(2) {
    transform: translateY(40%);
}

.m2 .flex_wrap .f_left .m2_his ul li {
    position: relative;
    display: flex;
    gap: 2rem;
    padding-bottom: 2rem;
}


.m2 .flex_wrap .f_left .m2_his ul li::before {
    position: absolute;
    content: '';
    left: 14px;
    height: 100%;
    background-color: #a9121a;
    z-index: -1;
    width: 1px;
    transform: translateY(16px);
}

.m2 .flex_wrap .f_left .m2_his ul li span {
    width: 10px;
    height: 10px;
    flex-shrink: 0;
    margin-top: 1rem;
    background: #a9121a;
    border-radius: 50%;
    position: relative;
    display: block;
    margin-left: 9px;
}


.m2 .flex_wrap .f_left .m2_his ul li:last-child span::before {
    display: none;
}


.m2 .flex_wrap .f_left .m2_his ul li h5 {
    color: #333333;
    display: block;
    font-family: var(--rid);
    font-size: max(1.8rem, 1.65vw);
    font-weight: 500;
}

.m2 .flex_wrap .f_left .m2_his ul li p {
    display: block;
    font-size: 18px;
    color: #666;
    font-weight: 300;
    line-height: 1.6;
}

.m2 .flex_wrap .f_right {
    display: flex;
    position: absolute;
    right: 8%;
    top: 0;
    gap: 1.8rem;
}

.m2 .flex_wrap .f_right ul {
    display: flex;
    flex-direction: column;
    gap: 1.8rem;
}

.m2 .flex_wrap .f_right ul li {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1.8rem;
    /* box-shadow: 0px 0px 15px rgba(29, 29, 29, 0.48); */
}

.m2 .flex_wrap .f_right ul:first-of-type li {
    animation: carousel 50s infinite linear reverse;
}

.m2 .flex_wrap .f_right ul:last-of-type li {
    animation: carousel 50s infinite linear;
}

.m2 .flex_wrap .f_right ul li.abs {
    position: absolute;
    bottom: calc(-100% - 1.8rem);
}

@keyframes carousel {
    0% {
        transform: translateY(0);
    }

    100% {
        transform: translateY(-100%);
    }
}

/* .m2 .flex_wrap .f_right ul li:nth-of-type(odd) {
    transform: translateY(30%);
} */

.m3 {
    background: white;
    padding-block: 7rem;
    padding-right: 0;
}

.m3 .m3_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.m3 .m_title {
    min-width: 40%;
}

.m3 .m_title h3 {
    line-height: 1.28;
}

.m3 .m3_before {
    position: absolute;
    left: 0;
    bottom: 0;
}


.m4 {
    padding-block: 7rem 10rem;
    padding-inline: 0;
}

.m4 .m_title {
    position: relative;
    text-align: center;
}

.m4 .m_title h3 {
    position: relative;
    display: inline-block;
    line-height: 1.3;
}

.m4 .m_title p {
    margin-block: 1rem;
}

.m4 .m4_swiper {
    margin-top: 5rem;
    cursor: grab;
}

.m4 .m4_swiper .swiper-slide {
    position: relative;
}

.m4 .m4_swiper .swiper-slide .desc {
    position: absolute;
    bottom: 8%;
    left: 5%;
}

.m4 .m4_swiper .swiper-slide .desc h4 {
    font-size: 2.5rem;
    color: white;
    font-weight: 700;
}

.m4 .m4_swiper .swiper-slide .desc p {
    font-weight: 300;
    font-size: 20px;
    color: white;
}

.m5 {
    background: white;
    padding-block: 7rem 8rem;
}

.m5 .flex_wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

.m5 .m_title h3 {
    line-height: 1.25;
}

.m5 .m_title h4 {
    font-size: 2rem;
    padding-top: 0.5rem;
    overflow: hidden;
    display: inline-block;
}

.m5 .m_title h4 span {
    font-size: 2rem;
    display: inline-block;
    padding-top: 0.5rem;
}

.m5 .m_title p {
    border-left: 2px solid #b31d2c;
    padding-left: 1.1rem;
}

.m5 .m_title {
    width: 100%;
}

.m5 article {
    display: flex;
    width: 100%;
    gap: 5vw;
    margin-top: 3rem;
    align-items: center;
}

.m5 .swiper_cont {
    width: 50%;
    flex: 1;
}

.m5_thumb .swiper-slide {
    cursor: pointer;
}

.m5 .swiper_desc {
    width: 50%;
}

.m5 .swiper_desc .m_title {
    display: none;
}

.m5 .swiper_desc .m_title.active {
    display: block;
}

.m6 {
    padding: 0;
}

.m6 .flex_wrap {
    display: flex;
    width: 100%;
}

.m6 .flex_wrap>div {
    display: flex;
    flex-direction: column;
    padding: 7.25rem;
    max-height: 420px;
    flex-basis: 50%;
    transition: 0.7s;
}

.m6 .flex_wrap>div .desc {
    display: flex;
    flex-direction: column;
    position: relative;
}

.m6 .flex_wrap>div .desc h5 {
    display: block;
    color: white;
    font-size: 32px;
    font-weight: 400;
    line-height: 1;
    margin-bottom: 2.25rem;
}

.m6 .flex_wrap>div .desc p {
    display: inline-block;
    color: white;
    font-weight: 400;
    font-size: 20px;
    padding-bottom: 1rem;
}

.m6 .flex_wrap>div .desc span {
    display: inline-block;
    color: white;
    font-weight: 400;
    font-size: 20px;
    margin-right: 2rem;
    min-width: 17%;
    letter-spacing: 1px;
    font-family: var(--pre);
}

.m6 .flex_wrap>div:hover {
    filter: brightness(1.2);
}

.m6 .flex_wrap .f_left {
    background: url(../1x/m6_left.webp) no-repeat center / cover;
}

.m6 .flex_wrap .f_left a {
    margin-top: 2.5rem;
}

.m6 .flex_wrap .f_right {
    background: url(../1x/m6_right.webp) no-repeat center / cover;
}

.m6 .flex_wrap .f_right a {
    display: flex;
    justify-content: flex-end;
    position: absolute;
    right: 0;
    bottom: 0;
}


/* sub  */
.sub section {
    background-image: none;
}

.sub .sub_top {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 360px;
}

.sub .sub_top.sub1 {
    background: url(../1x/s1_top.webp) no-repeat center / cover;
}

.sub .sub_top.sub2 {
    background: url(../1x/s2_top.webp) no-repeat center / cover;
}

.sub .sub_top.sub3 {
    background: url(../1x/s3_top.webp) no-repeat center / cover;
}

.sub .sub_top.sub4 {
    background: url(../1x/s4_top.webp) no-repeat center / cover;
}

.sub .sub_top.sub5 {
    background: url(../1x/s5_top.webp) no-repeat center / cover;
}

.sub .sub_top p {
    font-size: 38px;
    color: white;
    text-align: center;
    line-height: 1.35;
    font-family: var(--kb);
    font-weight: bold;
}

.sub .sub_menu h3 {
    font-family: var(--rid);
    font-size: 50px;
    font-weight: normal;
    text-align: center;
    margin-block: 8.5vh;
}

.sub .sub_menu ul {
    display: flex;
    justify-content: center;
    align-items: center;
    border-bottom: 1px solid #ccc;
    gap: 3rem;
}

.sub .sub_menu ul li {
    flex: 0 1 auto;
    text-align: center;
    flex-basis: 100px;
    transition: 0.5s;
    background-size: 0px 2px;
    background-position: bottom;
    background-repeat: no-repeat;
}

.sub .sub_menu ul li.active,
.sub .sub_menu ul li:hover {
    background-size: 100% 2px;
    background-image: linear-gradient(#b91d2c, #b91d2c);
}

.sub .sub_menu ul a {
    font-family: var(--pre);
    font-weight: 600;
    width: 100%;
    padding-bottom: 1rem;
    font-size: 20px;
    text-align: center;
}

.sub .sub_menu ul li:not(.active) {
    opacity: 0.7;
}

.sub .s_title {
    text-align: left;
}

.sub .s_title span {
    font-size: 20px;
    color: #b91d2c;
    font-family: var(--kb);
    font-weight: 700;
    margin-bottom: 0.3rem;
    display: block;
}

.sub .s_title h3 {
    font-size: 3rem;
    font-family: var(--kb);
    font-weight: bold;
    line-height: 1.35;
    letter-spacing: 0;
    display: inline-block;
}

.sub .s_title h4 {
    font-size: 2.5rem;
    font-family: var(--kb);
    font-weight: bold;
}

.sub .s_title p {
    color: #999999;
    font-size: 20px;
    font-weight: 300;
    padding-top: 2rem;
    letter-spacing: -0.4px;
    max-width: 90%;
    line-height: 1.5;
}

.sub .s_title .txt_grid {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1.5rem;

}

.sub .s1 {
    padding-top: 100px;
    padding-right: 0;
    padding-bottom: 4.75rem;
    overflow: hidden;
}

.sub .s1 .flex_wrap {
    display: flex;
    gap: 6vw;
    align-items: flex-end;
    margin-bottom: 2rem;
}

.sub .s1 .flex_wrap .flex_left {
    /* flex-basis: 50%; */
    max-width: 74%;
}


.sub .s1 .flex_wrap .flex_right h4 {
    font-size: 1.75rem;
    color: #1a1a1a;
    margin-bottom: 0.5rem;
}

.sub .s1 .flex_wrap .flex_right p {
    color: #999999;
    font-size: 20px;
    font-weight: 300;
    letter-spacing: -0.4px;
}

.sub .s1.s1_2 {
    background: url(../1x/s1_2_bg.webp) no-repeat bottom right / contain;
}

.sub .s2:has(.vidbox) {
    /* padding-right: 0; */
    overflow-x: visible;
}


.sub .s2 .vidbox {
    position: relative;
    margin-top: 2rem;
    margin-bottom: 10rem;
    width: 100%;
    background: rgb(24, 24, 24);
    border-radius: 3vw;
    /* border-top-left-radius: 5rem; */
    overflow-x: hidden;
}

.sub .s2 .vidbox video {
    display: block;
    width: 100%;
    position: relative;
}

.sub .play_icon {
    position: absolute;
    top: -3rem;
    left: 15%;
    display: block;
}

/* .sub .s2 .vidbox::after {
    background: url(../1x/play.webp) no-repeat center / 100px;
    position: absolute;
    inset: 0;
    content: '';
    z-index: 2;
    cursor: pointer;
} */

.sub .s3 {
    padding-block: 0 15%;
}

.sub .s3 .desc {
    width: 100%;
    margin: 0 auto;
    padding-left: 10%;
}

.sub .s3 .desc h6 {
    display: block;
    width: 95%;
    border-bottom: 1px solid #999;
    letter-spacing: 4px;
    font-size: 24px;
    line-height: 2;
    font-weight: 300;
    font-family: var(--pre);
    color: #b91d2c;
}

.sub .s3 .desc p {
    color: #999999;
    font-size: 22px;
    font-weight: 300;
    padding-top: 1.5rem;
    letter-spacing: -0.4px;
    max-width: 92%;
    line-height: 1.4;
}

.sub .s1_3_bg {
    background: url(../1x/s1_2_s3.webp) no-repeat center / cover;
}

/* history */
.sub .his_section {
    overflow: visible;
    padding-left: 0;
}

.sub .history {
    gap: 5rem;
    display: flex;
    position: relative;
}

.sub .history>.flex_left {
    height: fit-content;
    position: sticky;
    top: 12%;
    margin-top: 7rem;
    left: 0;
    flex: 1;
}

.sub .history>.flex_left .s_title {
    padding-left: 15%;
}

.sub .history>ul {
    position: relative;
    flex: 1;
    padding-bottom: 5rem;
}

.sub .history>ul::before {
    width: 1px;
    height: 100%;
    background: #cccccc;
    content: '';
    display: block;
    left: 7.2rem;
    position: absolute;
    z-index: -1;
}

.sub .history ul li {
    padding-bottom: 3rem;
}

.sub .history ul li .his_wrap {
    display: flex;
    padding-top: 8rem;
    gap: 30px;
}

.sub .history ul li .his_wrap .flex_left {
    font-size: 2.25rem;
    color: #b91d2c;
}

.sub .history .his_wrap .flex_right {
    padding-top: 0.75rem;
}

.sub .history .his_wrap .flex_right li {
    display: flex;
    padding-bottom: 0.75rem;
    gap: 1rem;
}

.sub .history .his_wrap .flex_right li:first-child span {
    opacity: 1;
}

.sub .history .his_wrap .flex_right li span {
    width: 10px;
    height: 10px;
    opacity: 0;
    border-radius: 10rem;
    background: #b91d2c;
    isolation: isolate;
    z-index: 2;
    flex-shrink: 0;
    margin-top: 0.6rem;
}

.sub .history .his_wrap .flex_right li p {
    color: #333333;
    display: block;
    font-size: 1.25rem;
}

/* factory */

.factory_section {
    background: #f2f2f2;
    border-top-left-radius: 5rem;
    padding-block: 5rem 7rem;
}

.sub .s1_factory {
    padding-inline: 0;
    max-width: 1400px;
    margin: 0 auto;
}

.sub .factory_s3 {
    padding-right: 0;
    padding-bottom: 0;
}

.sub .factory_s3 .s_title span {
    color: #1a1a1a;
}

.sub .wrap {
    padding-left: 7rem;
}

.sub .wrap .s_title.v2 {
    margin-block: 0 3rem;
}

.sub .wrap .s_title.v2 h4 {
    line-height: 1.3;
    color: #1a1a1a;
}

.sub .wrap .s_title.v2 h4 span {
    display: inline-block;
    color: #1a1a1a;
    font-weight: bold;
}

.sub .wrap .flex_wrap {
    gap: 2.5rem;
}

.sub .wrap ul {
    display: flex;
}

.sub .wrap ul li {
    cursor: pointer;
}

.sub .wrap .fc_a .vidbox {
    max-width: 860px;
    display: block;
}

.sub .wrap .fc_a .vidbox li {
    display: none;
}

.sub .wrap .fc_a .vidbox li.active {
    display: block;
}

.sub .wrap .fc_b {
    margin-top: 2rem;
}

.sub .wrap .fc_b li {
    padding-top: 0.75rem;
    border-top: 4px solid #e5e5e5;
    text-align: center;
    transition: 0.3s;
    flex: 1;
}

.sub .wrap .fc_b li.active {
    border-color: #b91d2c;
    color: #b91d2c;
}

.sub .wrap .fc_c {
    /* min-width: 426px;
    min-height: 577px; */
}

.sub .wrap .fc_c li {
    position: absolute;
    cursor: auto;
    opacity: 0;
}

.sub .wrap .fc_c li.active {
    opacity: 1;
    transition: 0.25s;
    z-index: 1;
}

.sub .wrap .fc_d {
    position: relative;
    padding-top: 9rem;
    gap: 2rem;
}

.sub .wrap .fc_d .d_intro {
    position: absolute;
    top: 3rem;
    left: 2rem;
}

.sub .wrap .fc_d li:hover,
.sub .wrap .fc_d li:focus {
    transition: 0.6s;
    box-shadow: 5px 15px 22px rgba(0, 0, 0, 0.1);
}

/* product */
.pro_s2 {
    margin: 0 auto;
    padding-bottom: 5.5rem;
}

.pro_s2 .pro_swiper {
    padding-bottom: 3.5rem;
}

.pro_s2 .pro_swiper a {
    position: relative;
}

.pro_s2 .pro_swiper img {
    margin: 0 auto;
}

.pro_s2 .pro_swiper p {
    position: absolute;
    bottom: 5%;
    text-align: center;
    width: 100%;
    left: 50%;
    transform: translateX(-50%);
    font-family: var(--rid);
    font-size: 26px;
    color: #1a1a1a;
}

/* .pro_s2 .pro_swiper .swiper-slide-active img,
.pro_s2 .pro_swiper .swiper-slide:hover img {
    box-shadow: 5px 15px 25px rgba(0, 0, 0, 0.18);
    transition: 0.7s;
} */
.pro_s2 .pro_swiper .swiper-slide:hover img {
    scale: 1.05;
    transition: 0.6s;
}

.pro_s2 .pro_swiper .swiper-scrollbar-drag {
    background: #b91d2c !important;
}

.pro_s3 {
    padding-inline: 5% 0;
    padding-bottom: 0 !important;
}

.pro_s3 .pro_s3_wrap {
    background: #f2f2f2;
    border-top-left-radius: 5rem;
    padding-block: 6rem 8rem;
    display: flex;
    gap: 3.5rem;
    align-items: flex-end;
}

.pro_s3 .pro_s3_wrap .s3_wrap_left {
    flex-basis: 50%;
    max-width: 720px;
    margin-left: 7rem;
}

.pro_s3 .pro_s3_wrap .vidbox video {
    width: 100%;
    border: 1px solid #ddd;
}

.s3_wrap_left .vidbox {
    position: relative;
}

.s3_wrap_left .vidbox .vid {
    position: absolute;
    top: 22%;
    content: '';
    display: block;
    height: auto;
    left: 0;
}


.pro_s3 .pro_s3_wrap.pro_tab_cont {
    display: none;
}

.pro_s3 .pro_s3_wrap.pro_tab_cont.active {
    display: flex;
}

.pro_s3_wrap .s3_wrap_right {
    flex-basis: 50%;
    position: relative;
}

.s3_wrap_right>a {
    display: inline-flex;
    justify-content: flex-end;
    padding-right: 17%;
    margin-bottom: 3rem;
}

.pro_s3_wrap .s3_wrap_right .desc_1 {
    position: relative;
    display: flex;
    width: 100%;
    justify-content: space-between;
}

.pro_s3_wrap .s3_wrap_right .desc_1 h3 {
    font-size: 60px;
    margin-block: 2rem 1rem;
}

.pro_s3_wrap .s3_wrap_right .desc_1 p {
    font-size: 24px;
    font-weight: 300;
    color: #999999;
    font-family: var(--pre);
    margin-bottom: 2rem;
}

.pro_s3_wrap .s3_wrap_right .desc_1 span {
    background: white;
    color: #ef9779;
    font-size: 20px;
    font-family: var(--rid);
    padding: 0.5rem 1.5rem;
    border-radius: 5rem;
    display: inline-block;
    margin-right: 1rem;
}

.pro_s3_wrap .s3_wrap_right .desc_1 a {
    width: auto;
    position: absolute;
    right: 25%;
    top: 0;
}

.pro_s3_wrap .s3_wrap_right .desc_2 {
    margin-top: 2rem;
}

.pro_s3_wrap .s3_wrap_right .desc_3 {
    max-width: 75%;
    padding-top: 2rem;

    details {
        border-block: 1px solid #999;
        cursor: pointer;
        padding: 0.25rem 1rem 0.25rem 0;
        transition: 0.5s;
    }

    details:nth-of-type(2) {
        border: none;
    }

    details img {
        margin: 0 auto;
    }

    summary {
        padding: 0.75rem;
        font-size: 26px;
        color: #333333;
        position: relative;
        transition: 0.5s;
    }

    summary::after {
        content: '+';
        position: absolute;
        right: 0;
        transition: all 0.5s, color 0.4s;
        scale: 1.2;
        color: #ddd;
    }

    summary:hover::after {
        color: inherit;
        transition: 0.4s;
    }

    details p {
        padding-left: 0.5rem;
        margin-top: 0.75rem;
        color: rgb(151, 151, 151);
    }

    details[open] {
        padding: 0.25rem 1rem 2rem 0;
        transition: 0.5s;
    }

    details[open] summary {
        padding-bottom: 1rem;
    }

    details[open] summary::after {
        content: '-';
        transition: 0.5s;
    }
}

.sub .media .flex_wrap {
    align-items: center;
    justify-content: space-between;
    padding-left: 10%;
}

.sub .media .flex_left {
    width: 100%;
}

.sub .media .flex_right {
    max-width: 62%;
}

.sub .media .flex_right .swiper {
    max-height: 600px;
    border-top-left-radius: 5rem;
    overflow: hidden;
    cursor: pointer;
}

.sub .media_Swiper1 .swiper-slide img {
    width: 100%;
}

.sub .media_Swiper2 .swiper-slide {
    cursor: pointer;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 
.med_s2 .grid_wrap {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(48%, 1fr));
    gap: 3.25rem;
    margin-block: 1rem 12rem;
}

.med_s2 .grid_wrap li a .imgbox {
    background: #333333b2;
    height: 380px;
}

.med_s2 .grid_wrap li a .desc {
    display: flex;
    padding-top: 1rem;
    justify-content: space-between;
    width: 100%;
    align-items: center;
}

.med_s2 .grid_wrap li a .desc h5 {
    font-size: 1.5rem;
    font-family: var(--pre);
    color: #333333;
}

.med_s2 .grid_wrap li a .desc span {
    color: #999;
    font-size: 18px;
    line-height: -0.25px;
} */

.form_section {
    width: 100%;
    margin: 0 auto;
    max-width: 1340px;
}

.form_section h2 {
    text-align: center;
    margin-top: 5rem;
}

.form_section .form_wrap {
    background: #f7f7f7;
    padding: max(1rem, 5vw);
    margin-block: 4rem;
}

.form_section .form_wrap .form_cont {
    display: flex;
    align-items: center;
    margin-bottom: 2rem;
    gap: 1em;
}

.form_section .form_wrap .form_cont input {
    min-height: 3rem;
    outline: none;
    border: 1px solid #ccc;
    appearance: none;
    background: white;
    width: 100%;
    padding: 0 0.75rem;
    font-family: var(--pre);
    font-size: 1rem;
    min-width: 120px;
}

.form_section .form_wrap .form_cont input:hover,
.form_section .form_wrap .form_cont input:focus {
    border-color: #333333;
    transition: 0.3s;
}

.form_section .form_wrap .form_cont label {
    font-size: clamp(1rem, 1.146vw, 1.25rem);
    font-weight: 500;
    color: #3e3a39;
    width: 100%;
    min-width: 100px;
    max-width: 20%;
}

.form_section .form_wrap .form_cont label::after {
    content: '*';
    color: #bb1d2c;
    vertical-align: middle;
    margin-left: 0.125rem;
    display: inline-block;
}

.form_section .form_wrap .form_cont textarea {
    padding: 0.5rem;
    width: 100%;
    font-size: 1rem;
    max-width: 80%;
    font-family: var(--pre);
    min-height: 200px;
    border: #ccc 1px solid;
}

.form_section .form_wrap button {
    display: block;
    text-align: center;
    margin: 4rem auto 0;
    appearance: none;
    border: none;
    outline: none;
    color: white;
    font-family: var(--pre);
    font-size: 1.25rem;
    background: #b91d2c;
    padding: 0.75rem 1rem;
    min-width: 150px;
    cursor: pointer;
    border-radius: 5rem;
}

/* footer  */
footer {
    border-top: 0.1rem solid #ccc;
    position: relative;
    font-size: 16px;
}

footer .gotop {
    position: absolute;
    background-color: var(--sub-color);
    border-radius: 9rem;
    right: 10%;
    top: -3.5rem;
    transform: translateY(50%);
    z-index: 2;
}

footer .gotop a {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 9rem;
}

footer .gotop a img {
    width: 100%;
}

footer>* {
    font-family: var(--pre);
}

footer .footer_inner {
    padding: 2rem 10%;
    margin: 0 1.5rem;
    padding-right: 15%;
}

footer .footer_inner .footer_info {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

footer .footer_inner .footer_info .footer_desc {
    display: flex;
    gap: 4.5rem;
}

footer .footer_inner .footer_info .footer_desc span {
    color: #1A1A1A;
    font-size: 0.95vw;
    font-weight: 500;
}

footer .footer_inner .footer_info .footer_desc h5 {
    font-size: 2rem;
    font-weight: 800;
    color: #bb1d2c;
    margin: 0.5rem 0;
    letter-spacing: -0.8px;
    font-family: var(--pre);
}

footer .footer_inner .footer_info .footer_desc p {
    color: #999;
    font-weight: 300;
}

footer .footer_inner .footer_info .footer_nav {
    display: flex;
    gap: 2.5vw;
}

footer .footer_inner .footer_info .footer_nav li {
    flex: 1 1 auto;
}

footer .footer_inner .footer_info .footer_nav li a {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    gap: 0.8rem;
    height: 100%;
}

footer .footer_inner .footer_info .footer_nav li a img {
    height: 2.25rem;
}

footer .footer_inner .footer_info .footer_nav li a p {
    font-weight: 500;
    color: #999999;
}

footer .footer_inner .footer_info .footer_list li {
    padding: 0.5rem;
}

footer .footer_inner .footer_info .footer_list li a {
    color: #999;
    font-weight: 500;
}

footer .footer_inner2 {
    border-top: 0.1rem solid #ccc;
    padding: 2rem 10%;
}

footer .footer_inner2 .footer_address {
    margin: 1.5rem;
    color: #999;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

footer .footer_inner2 .footer_address .add p {
    color: #999;
    font-weight: 300;
}

footer .footer_inner2 .footer_address .add p span {
    color: #999;
    font-weight: 500;
}

footer .footer_inner2 .footer_address .fam {
    display: flex;
    gap: 0.8rem;
}

footer .footer_inner2 .footer_address .fam img {
    height: 2.1rem;
}

/* 그누보드 때문에 추가 */
.sub5_1>section {
    background: none !important;
}

.nobg {
    background: none !important;
}

/* 반응형 */

@media screen and (max-width : 1441px) {
    .m1_swiper .swiper-slide .desc h3 {
        font-size: 48px;
    }

    .m1_swiper .swiper-slide .desc p {
        font-size: 20px;
    }

    section {
        padding-inline: 5%;
    }

    .m2 .flex_wrap .f_right {
        right: 5%;
    }

    .m_title p {
        font-size: 18px;
    }

    .m2 .flex_wrap .f_left .m2_his ul li p {
        font-size: 16px;
    }

    .m2 .flex_wrap .f_right ul li {
        max-width: 300px;
    }

    .m_title .golink {
        font-size: 18px;
    }

    .m_title .golink img {
        width: 56px;
    }

    .m4 .m4_swiper .swiper-slide .desc h4 {
        font-size: 2.25rem;
    }

    .m4 .m4_swiper .swiper-slide .desc p {
        font-size: 18px;
    }

    .m6 .flex_wrap>div {
        padding: 5rem;
    }

    .m6 .flex_wrap>div .desc p {
        font-size: 18px;
    }

    .m6 .flex_wrap .f_left a img,
    .m6 .flex_wrap .f_right a img {
        max-width: 52px;
    }

    footer .gotop {
        right: 4%;
    }

    footer .footer_inner {
        padding: 2rem 4%;
        padding-right: 7%;
    }

    footer .footer_inner2 {
        padding: 2rem 4%;
    }

    /* 메인 end */

    /* 서브 시작 */
    .sub .sub_top p {
        font-size: 36px;
    }

    .sub .sub_menu h3 {
        font-size: 46px;
    }

    .sub .sub_menu ul a {
        font-size: 18px;
    }

    .sub .s_title h3 {
        font-size: 2.75rem;
    }

    .sub .s1 .flex_wrap .flex_right p {
        font-size: 18px;
    }

    .sub .play_icon {
        left: 11%;
    }

    /* 연혁 시작 */

    .sub .history ul li .his_wrap {
        gap: 34px;
    }

    .sub .history ul li .his_wrap .flex_left {
        font-size: 2.125rem;
    }

    .sub .history .his_wrap .flex_right li p {
        font-size: 1.125rem;
    }

    /* 연혁 끝 */

    .sub .media .flex_wrap {
        padding-left: 5%;
    }

    /* 미디어룸 끝 */

    /* 서브 끝 */
}

@media screen and (max-width: 1281px) {
    header .header_wrap {
        height: 69px;
    }

    header .logo img {
        width: 155px;
    }

    .m1_swiper .swiper-slide .desc {
        top: 50%;
    }

    .m1_swiper .swiper-slide .desc h3 {
        font-size: 44px;
    }

    section {
        padding-inline: 3%;
    }

    .m2 .flex_wrap .f_right {
        right: 3%;
    }

    .m2 .flex_wrap .f_left .m2_his ul li {
        gap: 1rem;
    }

    .m4 .m4_swiper .swiper-slide .desc h4 {
        font-size: 1.875rem;
    }

    .m5 .m_title h3 {
        margin-bottom: 0.25rem;
    }

    .m6 .flex_wrap>div {
        padding: 3rem;
    }

    footer .footer_inner {
        padding: 2rem 20px;
    }

    .footer_info {
        flex-wrap: wrap;
    }

    .footer_info .footer_desc {
        flex-wrap: wrap;
        gap: 2rem;
    }

    footer .footer_inner .footer_info .footer_desc {
        justify-content: space-between;
        width: 100%;
    }

    footer .footer_inner .footer_info .footer_desc span {
        font-size: 1.125rem;
    }

    .footer_info .footer_desc h5 {
        display: block;
        font-size: 16px;
        font-weight: 500;
        color: #bb1d2c;
        margin: 2rem;
    }

    .footer_info .footer_list {
        display: none;
    }

    .footer_info .footer_nav {
        gap: 3.2vw;
    }

    .footer_info .footer_nav li a img {
        height: 7.25rem;
        max-height: 25px;
    }

    footer .footer_inner2 {
        padding: 1rem 20px;
    }

    footer .footer_inner2 .footer_address {
        margin: 1.125rem;
    }

    /* 메인 끝 */

    /* 서브 시작 */
    .sub .s_title h3 {
        font-size: 2.5rem;
    }

    .sub .s_title h3 img {
        width: 34px;
    }

    .sub .play_icon {
        width: 80px;
        top: -2.5rem;
    }

    .sub .s1 .flex_wrap {
        padding-inline: 6% 0;
    }

    .sub .factory_s3 .wrap {
        padding-left: 5rem;
    }

    .sub .wrap .fc_a .vidbox {
        max-width: 750px;
    }

    .s3_wrap_right>a img {
        max-width: 110px;
    }

    .sub .media .flex_wrap {
        gap: 3vw;
        padding-left: 5%;
    }

    /* 서브 끝 */
}

@media screen and (max-width : 1025px) {
    header .header_wrap {
        padding-left: 0;
        padding-inline: 20px;
    }

    header .r_menu .ham {
        width: 70px;
    }

    header .header_wrap nav {
        justify-content: flex-end;
        flex-basis: 80%;
    }

    header .header_wrap nav>ul {
        display: none;
    }

    .ham_wrap {
        display: flex;
    }

    .m1 {
        padding-inline: 20px;
    }

    .m1_swiper .swiper-slide .desc {
        top: 55%;
    }

    .m1_swiper .swiper-slide .desc h3 {
        font-size: 38px;
    }

    .m_title h3 {
        font-size: 1.875rem;
    }

    .m_title h4 {
        font-size: 1.875rem;
    }

    .m_title p {
        font-size: 16px;
    }

    .m2 .flex_wrap .f_left .m2_his {
        margin-top: 3rem;
    }

    .m2 .flex_wrap .f_right {
        right: 20px;
    }

    .m2 .flex_wrap .f_right ul li {
        max-width: 190px;
    }

    .m2 .flex_wrap .f_left .m2_his ul li h5 {
        font-size: 1.5rem;
    }

    .m3 .m3_wrap .m_title h4 {
        font-size: 1.5rem;
    }

    .m_title .golink {
        font-size: 16px;
    }

    .m_title .golink img {
        width: 50px;
    }

    .m4 {
        padding-block: 5rem 9rem;
    }

    .m4 .m4_swiper .swiper-slide .desc h4 {
        font-size: 1.5rem;
    }

    .m4 .m4_swiper .swiper-slide .desc p {
        font-size: 16px;
    }

    .m5 {
        padding-block: 5rem 8rem;
    }

    .m5 .m_title h3 {
        font-size: 1.75rem;
    }

    .m5 .m_title h4 {
        font-size: 1.5rem;
    }

    .m5 article {
        margin-top: 2rem;
        gap: 4vw;
    }

    .m5 .swiper_cont {
        width: 55%;
    }

    .m6 .flex_wrap>div {
        padding: 2rem;
        padding-bottom: 3rem;
    }

    .m6 .flex_wrap>div .desc h5 {
        font-size: 28px;
    }

    .m6 .flex_wrap>div .desc span {
        font-size: 18px;
    }

    .m6 .flex_wrap>div .desc p {
        font-size: 16px;
    }

    .m6 .flex_wrap .f_left a img,
    .m6 .flex_wrap .f_right a img {
        max-width: 48px;
    }

    footer .footer_inner .footer_info .footer_desc h5 {
        font-size: 1.75rem;
    }

    /* 메인 끝 */

    /* 서브 시작 */
    .sub .sub_top p {
        font-size: 34px;
    }

    .sub .sub_menu h3 {
        font-size: 40px;
    }

    .sub .s1 .flex_wrap {
        padding-inline: 20px 0;
    }

    .sub .s_title h3 {
        font-size: 2.25rem;
    }

    .sub .s_title p {
        font-size: 16px;
    }

    .sub .s1 .flex_wrap .flex_right p {
        font-size: 16px;
    }

    .sub .play_icon {
        width: 65px;
        top: -1.85rem;
    }

    .sub .history>.flex_left .s_title {
        padding-left: 20px;
    }

    .sub .history ul li .his_wrap .flex_left {
        font-size: 2rem;
    }

    .sub .history ul li .his_wrap {
        gap: 40px;
    }

    .sub .history .his_wrap .flex_right li p {
        font-size: 1rem;
    }

    .sub .s1_factory .flex_wrap .imgbox img {
        max-width: 85%;
    }

    .sub .wrap .fc_a .vidbox {
        max-width: 100%;
    }

    .sub .factory_s3 .flex_wrap {
        display: flex;
        flex-direction: column;
    }

    .sub .wrap .fc_d {
        padding-top: 43rem;
    }

    .sub .wrap .fc_d .d_intro {
        top: 38rem;
    }

    .pro_s3 .pro_s3_wrap {
        padding-block: 4rem 8rem;
    }

    .sub .media .flex_wrap {
        gap: 1rem;
    }

    /* 서브 끝 */

}

@media screen and (max-width:900px) {
    header .header_wrap {
        padding-inline: 1.125rem;
    }

    section {
        padding-inline: 1.125rem;
    }

    .m_title> :not(span, h3) {
        padding-left: 0;
    }

    .m1 .flex_wrap .desc {
        writing-mode: unset;
        flex-basis: 100%;
        padding-top: 1.5rem;
    }

    .m1 .flex_wrap .desc>div {
        flex-direction: row-reverse;
        align-items: center;
        gap: 0.75rem;
        justify-content: center;
    }

    .m1 .flex_wrap .desc h2>img,
    .m1 .flex_wrap .desc .rotate {
        display: none;
    }

    .m2 .flex_wrap {
        justify-content: flex-start;
    }

    .m2 .flex_wrap .f_right ul:nth-of-type(2) {
        display: none;
    }

    .m2 {
        padding-top: 5rem;
    }

    .m2 .flex_wrap .f_right .imgbox {
        padding-top: 2rem;
    }

    .m2_after {
        top: auto;
    }

    .m3 .m3_wrap {
        flex-direction: column;
        align-items: flex-start;
        gap: 2rem;
    }

    .m3 ul:not(.m3_swiper ul) {
        flex-direction: column;
    }

    .m3 ul li .desc {
        top: 4rem;
    }

    .m3 .m3_swiper {
        width: 100%;
    }

    .m5 .flex_wrap {
        flex-direction: column;
    }

    .m5 article {
        flex-direction: column;
        gap: 4rem;
    }

    .m5 .swiper_cont {
        width: calc(100% - 64px);
    }

    .m5 .swiper_desc {
        width: calc(100% - 64px);
    }

    .m6 .flex_wrap {
        flex-direction: column;
    }

    .m_title .golink {
        font-size: 1.25rem;
    }

    /* main end */
    .sub .s_title h3 {
        font-size: 2.25rem;
    }

    .sub .s1 .flex_wrap .flex_right h4 {
        font-size: 1.5rem;
    }

    .sub .s1 .flex_wrap {
        flex-direction: column;
        align-items: start;
    }

    .sub .s2 .vidbox {
        border-top-left-radius: 3rem;
    }

    .sub .history {
        flex-direction: column;
        align-items: center;
    }

    .sub .history>.flex_left {
        position: relative;
        left: 50%;
        transform: translateX(-50%);
        text-align: center;
        width: 100%;
    }

    .sub .history>.flex_left .imgbox {
        position: absolute;
        top: 10rem;
    }

    .sub .history>ul {
        width: calc(100% - 40px);
    }

    .factory_section {
        border-radius: 3rem 0 0 0;
    }

    .sub .s1_factory .flex_wrap {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .sub .s1_factory .imgbox {
        display: none;
    }

    .sub .wrap .fc_b {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 2rem 1rem;
    }

    .sub .wrap .fc_d {
        flex-wrap: wrap;
        padding-top: 45rem;
    }

    .sub .wrap .fc_d .d_intro {
        top: 40rem;
    }

    .pro_s3 .pro_s3_wrap {
        border-radius: 3rem 0 0 0;
        flex-direction: column;
        position: relative;
        align-items: start;
        padding-inline: 20px;
    }

    .pro_s3 .pro_s3_wrap .s3_wrap_left {
        flex-basis: initial;
        max-width: 480px;
        margin-left: 1rem;
    }

    .pro_s3_wrap .s3_wrap_right {
        width: calc(100% - 40px);
        flex-basis: initial;
        position: initial;
    }

    .s3_wrap_right>a {
        position: absolute;
        top: 2rem;
        left: 5rem;
    }

    .sub .media .flex_wrap {
        gap: 2rem;
    }

    .sub .media .flex_left {
        max-width: 100%;
    }

    .sub .media .flex_right {
        max-width: 100%;
    }
}

@media screen and (max-width : 500px) {
    .gnb .inner {
        padding-inline: 20px;
        padding-top: 3.5rem;
        align-items: start;
        background-position: bottom;
    }

    .gnb .inner .menu_wrap>ul {
        flex-direction: column;
        gap: 2rem;
    }

    .gnb .inner .menu_wrap ul .gnb_depth1 ul {
        display: none;
    }

    .gnb .inner .menu_wrap ul .gnb_depth1>a {
        text-align: left;
        font-size: 20px;
    }

    .gnb .inner .menu_wrap ul .gnb_depth1 ul li a {
        text-align: left;
        font-size: 16px;
    }

    /* gnb */
    header .logo img {
        width: 170px;
    }

    header .r_menu {
        gap: 1rem;
    }

    header .r_menu a.lang {
        font-size: 14px;
    }

    header .r_menu .ham sub {
        font-size: 12px;
    }

    .ham_wrap {
        margin-left: 1rem;
    }

    .m1_swiper .swiper-slide .desc {
        top: 50%;
    }

    .m1_swiper .swiper-slide .desc h3 {
        font-size: 23px;
    }

    .m1_swiper .swiper-slide:nth-of-type(3) .desc h3 {
        font-size: 20px;
    }

    .m1_swiper .swiper-slide .desc p {
        font-size: 16px;
    }

    .m2 .flex_wrap .f_right ul:first-of-type li {
        display: none;
    }

    .m_title span {
        font-size: 1rem;
    }

    .m_title h3 {
        font-size: 1.5rem;
        margin-bottom: 0.25rem;
    }

    .m_title h4 {
        font-size: 1.625rem;
    }

    .m_title p {
        word-break: keep-all;
    }

    .m2 .m_title p {
        padding-right: 1rem;
    }

    .m2 .m_title p br:nth-of-type(2) {
        display: none;
    }

    .m2 .flex_wrap .f_left .m2_his {
        flex-direction: column;
        gap: 0;
        align-items: start;
    }

    .m2 .flex_wrap .f_left .m2_his ul:nth-of-type(2) {
        transform: translateY(0%);
    }

    .m2 .flex_wrap .f_left .m2_his ul li h5 {
        font-size: 1.375rem;
    }

    .m2 .flex_wrap .f_left .m2_his ul li p {
        font-size: 14px;
    }

    .m3 {
        padding-block: 4rem 7rem;
    }

    .m4 {
        padding-block: 5rem 7rem;
    }

    .m4 .m_title {
        padding-inline: 20px;
    }

    .m4 .m_title p {
        word-break: keep-all;
    }

    .m4 .m4_swiper {
        padding-inline: 20px;
        height: 280px;
        margin-top: 4rem;
    }

    .m4 .m4_swiper .swiper-slide {
        height: 100%;
        border-radius: 1rem;
        overflow: hidden;
    }

    .m4 .m4_swiper .swiper-slide img {
        height: 100%;
        object-fit: cover;
    }

    .m4 .m4_swiper .swiper-slide .desc {
        left: 20px;
        padding-inline: 0 20px;
    }

    .m4 .m4_swiper .swiper-slide .desc p br {
        display: none;
    }

    .m5 .m_title h4 span {
        font-size: 1.5rem;
    }

    .m5 article {
        gap: 3.2rem;
    }

    .m5 .swiper_cont {
        width: 100%;
    }

    .m5 .swiper_desc {
        width: 100%;
    }

    .m5 .m_title h3 {
        font-size: 1.5rem;
        margin-block: 1rem 0.25rem !important;
    }

    .m5 .m_title h4 {
        font-size: 1.375rem;
    }

    .m5 .m_title p {
        font-size: 14px;
        margin-block: 1.5rem 2.5rem;
    }

    .m5 .m_title .golink {
        padding-top: 0.25rem
    }

    .m6 .flex_wrap>div .desc h5 {
        margin-bottom: 1.25rem;
        font-size: 24px;
    }

    .m6 .flex_wrap>div .desc span {
        font-size: 16px;
    }

    .m6 .flex_wrap>div .desc p {
        display: flex;
        flex-direction: column;
        font-size: 14px;
    }

    .m6 .flex_wrap .f_left a img,
    .m6 .flex_wrap .f_right a img {
        max-width: 40px;
    }

    footer .footer_inner {
        margin: 0;
    }

    footer .footer_inner2 .footer_address .add p {
        gap: 2.5rem;
    }

    footer .footer_inner .footer_info .footer_desc {
        flex-direction: column;
        gap: 2.25rem;
    }

    footer .footer_inner .footer_info .footer_desc h5 {
        font-size: 1.375rem;
        margin: 0;
    }

    footer .footer_inner .footer_info .footer_desc p {
        font-size: 14px;
    }

    footer .footer_inner .footer_info .footer_nav {
        gap: 2rem;
    }

    footer .footer_inner2 .footer_address {
        margin: 0;
    }

    footer .footer_inner2 .footer_address .add p {
        font-size: 14px;
        line-height: 1.5;
    }

    /* 공통 */
    .m2,
    .m3,
    .m4 {
        overflow: hidden;
    }

    .m_title .golink {
        font-size: 16px;
    }

    /* 공통 끝 */

    .sub .sub_top {
        min-height: 280px
    }

    .sub .sub_top p {
        font-size: 24px;
    }

    .sub .sub_menu h3 {
        font-size: 24px;
        margin-block: 3rem 4.5rem;
    }

    .sub .sub_menu ul {
        padding-inline: 20px;
    }

    .sub .sub_menu ul a {
        font-size: 16px;
    }

    .sub .s1 {
        padding-right: 20px;
    }

    .sub .s1 .flex_wrap {
        padding-inline: 0;
    }

    .sub .s1 .flex_wrap .flex_left {
        max-width: 85%;
    }

    .sub .s_title span {
        font-size: 16px;
    }

    .sub .s_title h3 {
        font-size: 1.5rem;
    }

    .sub .s_title h3 img {
        width: 24px;
    }

    .sub .s1 .flex_wrap .flex_right p {
        word-break: keep-all;
        padding-right: 1rem;
    }

    .sub .s1 .flex_wrap .flex_right p br:nth-of-type(1),
    .sub .s1 .flex_wrap .flex_right p br:nth-of-type(4),
    .sub .s1 .flex_wrap .flex_right p br:nth-of-type(5) {
        display: none;
    }

    .sub .play_icon {
        width: 50px;
        top: -1.5rem;
    }

    .sub .s2 .vidbox {
        border-top-left-radius: 2rem;
    }

    .sub .his_section .s_title p {
        word-break: keep-all;
        padding-right: 1rem;
    }

    .sub .his_section .s_title p br {
        display: none;
    }

    .sub .history ul li {
        padding-bottom: 0rem;
    }

    .sub .history ul li .his_wrap {
        padding-top: 2rem;
    }

    .sub .history>ul::before {
        left: 6.45rem;
    }

    .sub .history ul li .his_wrap .flex_left {
        font-size: 1.625rem;
    }

    .sub .history .his_wrap .flex_right li p {
        font-size: 0.875rem;
    }

    .sub .s1_factory {
        padding-left: 20px;
    }

    .sub .s1_factory .flex_wrap .flex_right h4 {
        font-size: 1.25rem;
    }

    .sub .factory_s3 {
        padding-left: 0;
    }

    .factory_section {
        border-radius: 0;
    }

    .sub .factory_s3 .wrap {
        padding-left: 0px;
    }

    .sub .factory_s3 .s_title {
        padding-left: 20px;
    }

    .sub .wrap .s_title.v2 h4 {
        font-size: 1.375rem;
        padding-right: 2rem;
    }

    .sub .factory_s3 .flex_wrap {
        gap: 7rem;
    }

    .sub .wrap .fc_b {
        padding-inline: 20px;
    }

    .sub .wrap .fc_b li {
        font-size: 14px;
    }

    .sub .wrap .fc_c li {
        width: 70%;
        transform: translateX(-50%);
        left: 50%;
    }

    .sub .wrap .fc_d {
        padding-top: 30rem;
        gap: 1rem;
        display: grid;
        grid-template-columns: 1fr 1fr;
        padding-inline: 20px;
    }

    .sub .wrap .fc_d .d_intro {
        top: 26rem;
    }

    .sub .wrap .fc_d li {
        width: 94%;
        margin: 0 auto;
    }

    .sub3_1 .s1 {
        padding-bottom: 1.75rem;
    }

    .sub3_1 .s1 .flex_wrap .flex_right p br {
        display: none;
    }

    .s3_wrap_right>a {
        top: 1rem;
        left: initial;
        width: 60px;
        padding-right: 0;
        right: 2rem;
    }

    .s3_wrap_right>a img {
        max-width: 100%;
    }

    .pro_s2 {
        padding-bottom: 5rem;
    }

    .pro_s3 .pro_s3_wrap {
        padding-block: 6rem 8rem;
        border-radius: 2rem 0 0 0;
    }

    .sub .media {
        padding-left: 20px;
        padding-right: 0;
    }

    .sub4_1 .s_title h4 {
        font-size: 1.5rem;
    }

    .sub4_1 .s_title p {
        max-width: 100%;
    }

    .sub4_1 .s_title p br {
        display: none;
    }

    .sub .media .flex_right .swiper {
        border-top-left-radius: 2rem;
    }

    .form_section h2 {
        font-size: 20px;
        max-width: 85%;
        margin: 0 auto;
        margin-top: 5rem;
    }

    .form_section .form_wrap {
        padding: 3rem 2rem;
    }

    .form_section .form_wrap .form_cont {
        flex-direction: column;
        align-items: start;
        gap: 0;
    }

    .form_section .form_wrap .form_cont input {
        min-height: 40px;
    }

    .form_section .form_wrap .form_cont textarea {
        max-width: 100%;
    }

    .form_section .form_wrap button {
        font-size: 1rem;
    }
}

@media screen and (max-width : 361px) {
    .m1_swiper .swiper-slide .desc h3 {
        font-size: 22px;
    }

    .m1_swiper .swiper-slide:nth-of-type(3) .desc h3 {
        font-size: 18px;
    }

    .m1_swiper .swiper-slide .desc p {
        font-size: 14px;
    }

    .m_title h3 {
        font-size: 22px;
    }

    .m3 .m3_wrap .m_title h4 {
        font-size: 20px;
    }

    .m_title p {
        font-size: 14px;
    }

    .m_title .golink {
        font-size: 14px;
    }

    .m4 .m4_swiper .swiper-slide .desc h4 {
        font-size: 22px;
    }

    .m4 .m4_swiper .swiper-slide .desc p {
        font-size: 14px;
    }

    .sub .history ul li .his_wrap {
        gap: 1rem;
    }

    .sub .history ul li .his_wrap .flex_left {
        min-height: 60px;
    }

    .sub .history>ul::before {
        left: 5rem;
    }

    .s3_wrap_right>a {
        left: initial;
        right: 2rem;
    }

    .sub .wrap .s_title.v2 h4 {
        padding-right: 2rem;
    }

    .sub .wrap .fc_b {
        gap: 2rem 0.5rem;
    }

    .sub4_1 .s1 .flex_wrap .flex_left {
        max-width: 94%;
    }

    .form_section h2 {
        max-width: 92%;
    }
}

/* animation start */

@keyframes opacity {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}