:root {
  --main-color: #4CB52C;
  --bg-color: #F9F9F9;
  --black-color: #2A2A2A;
  --sub-txt-color-01: #555555;
  --sub-txt-color-02: #777777;
  --sub-txt-color-03: #999999;
  --sub-txt-color-04: #DDDDDD;
  --border-color: #D9D9D9;
  --red-color: #df3333;
  --mb-color: #A1D3F3;
  --mb-sub-color: #3E557B;
}

@media screen and (max-width: 1520px) {
    .wrap {
        padding: 0 16px;
    }
    .header-wrap .container .hd {
        padding: 0 16px;
    }
    .gnb {
        padding: 0 16px;
    }
    .footer-wrap .hd .box {
        padding: 48px 16px;
    }
    .footer-wrap .bt {
        padding: 36px 16px;
    }
    .main-01 .content {
        padding: 0 16px;
    }
    .main-02 .content {
        padding: 0 16px;
    }
    .main-04 .content .box {
        padding: 0 16px;
    }
    .nav-btn {
        border: 1px solid var(--border-color);
    }
    .nav-btn.prev {
        left: 24px;
    }
    .nav-btn.next {
        right: 24px;
    }
}
@media screen and (max-width: 1280px) {
    /*header*/
    .ham {
        display: block;
    }
    .header-wrap {
        background-color: #212332 !important;
        height: auto;
        overflow: visible;
    }
    .header-wrap:hover {
        height: auto;
    }
    .header-wrap:hover #ham_btn + label > span {
        background-color: #fff !important;
    }
    .header-wrap #ham_btn + label > span {
        background-color: #fff !important;
    }
    .header-wrap:hover #ham_btn + label > span:nth-child(3) {
        background-color: var(--main-color) !important;
    }
    .header-wrap #ham_btn + label > span:nth-child(3) {
        background-color: var(--main-color) !important;
    }
    .header-wrap .container .hd {
        justify-content: space-between;
        height: 80px;
    }
    .logo-area {
        position: relative;
        top: unset;
        left: unset;
        transform: unset;
        align-items: flex-start;
        gap: 8px;
    }
    .logo-area .h-logo {
        width: 150px;
        height: 30px;
        background-position: left center;
        background-image: url('../images/logo/logo_wc.png') !important;
    }
    .header-wrap:hover .logo-area .h-logo {
        background-image: url('../images/logo/logo_wc.png') !important;
    }
    .rolling-slider {
        height: 14px;
    }
    .rolling-slider .swiper-slide {
        font-size: 12px;
        text-align: left;
        color: #fff !important;
    }
    .header-wrap.is-main .lang a.on, .header-wrap.is-main .lang a:hover {
        color: #fff !important;
    }
    .header-wrap:hover .rolling-slider .swiper-slide {
        color: #fff !important;
    }
    .lang a.on, .lang a:hover {
        color: #fff !important;
    }
    .gnb {
        width: 100%;
        height: calc(100vh - 80px);
        position: fixed;
        top: 80px;
        left: 0;
        z-index: 99;
        display: block;
        padding: 24px 16px 150px;
        overflow: hidden;
        overflow-y: auto;
        background-color: #fff;
        transition: none;
        display: none;
    }
    .gnb > li {
        padding-bottom: 24px;
        border-bottom: 1px solid var(--border-color);
    }
    .gnb > li:not(:first-child) {
        padding: 24px 0;
    }
    .gnb > li::after {
        display: none;
    }
    .gnb > li > a {
        transition: none;
        font-size: 18px;
        font-weight: 600;
        color: var(--black-color) !important;
        padding: 0;
    }
    .gnb > li > a:active {
        color: var(--sub-txt-color-02);
    }
    .gnb-sub {
        position: relative;
        top: unset;
        left: unset;
        transform: unset;
        padding-top: 16px;
        align-items: flex-start;
        gap: 12px;
    }
    .gnb-sub > li > a br {
        display: none;
    }
    /*footer*/
    .footer-wrap .hd .box {
        flex-direction: column;
        gap: 24px;
    }
    .footer-wrap .hd .box > a img {
        width: 130px;
    }
    .fnb-area {
        align-items: center;
        gap: 16px;
    }
    .fnb-area .fnb-terms a {
        font-size: 16px;
    }
    .fnb-area .fnb li a {
        font-size: 14px;
    }
    .fnb-area .fnb {
        flex-wrap: wrap;
        justify-content: center;
        gap: 12px 16px;
    }
    .footer-wrap .bt {
        flex-direction: column;
        align-items: center;
        gap: 48px;
    }
    .footer-wrap .bt .lt {
        align-items: center;
    }
    .footer-wrap .bt .lt .info {
        gap: 12px 16px;
        justify-content: center;
    }
    .footer-wrap .bt .rt {
        flex-direction: column-reverse;
        align-items: center;
        gap: 24px;
    }
    /*main*/
    .material-slider a .hd p {
        font-size: 20px;
    }
    .material-slider a .content {
        font-size: 14px;
    }
    .main-01-grid .item > p {
        font-size: 20px;
    }
    .main-01-grid .item .num {
        font-size: 48px;
    }
    .main-01 .content .txt h2:first-child {
        font-size: 20px;
    }
    .main-tit h2 {
        font-size: 32px;
        word-break: keep-all;
    }
    .main-04 .content .box {
        gap: 24px;
    }
    .main-04-list .item p:first-child {
        font-size: 20px;
    }
    /*pages*/
    .page-area {
        padding: 80px 0 120px;
    }
    .page-tit {
        padding: 150px 0 100px;
    }
    .page-tit .tit {
        font-size: 48px;
    }
    .page-category {
        white-space: nowrap;
        overflow: hidden;
        overflow-x: auto;
        gap: 12px;
    }
    .page-category a {
        width: 100%;
        text-align: center;
        letter-spacing: -1px;
    }
    .page-category a {
        font-size: 18px;
        font-weight: 500;
    }
    .tit-box .tit {
        font-size: 32px;
    }
    .flex-tit .expl {
        max-width: 800px;
        gap: 16px;
    }
    .flex-tit .expl p {
        font-size: 16px;
    }
    .tit-box .sm-tit {
        font-size: 14px;
    }
    .tit-box .sub-tit {
        font-size: 16px;
    }
    .about-01-01-grid .item .txt p:first-child {
        font-size: 20px;
    }
    .rt-list {
        width: 800px;
        min-width: 800px;
    }
    .rt-list .item p:first-child {
        font-size: 20px;
    }
    .about-01-03 .banner .txt p:first-child {
        font-size: 32px;
    }
    .cross-grid {
        width: 800px;
        min-width: 800px;
    }
    .cross-grid .item p:first-child {
        font-size: 14px;
    }
    .cross-grid .item p:nth-child(2) {
        font-size: 20px;
    }
    .about-02-01 .txt p:first-child {
        font-size: 32px;
    }
    .about-02-02-list {
        width: 800px;
        min-width: 800px;
    }
    .about-02-02-list .item .lt > p {
        font-size: 20px;
    }
    .oem-01-01-grid .item .txt p:first-child {
        font-size: 20px;
    }
    .support-banner .txt p:first-child {
        font-size: 32px;
    }
    .oem-02-01 .item .txt .tp span {
        font-size: 20px;
    }
    .oem-banner .content p:first-child {
        font-size: 32px;
    }
    .cdmo-01-01 .txt p:first-child {
        font-size: 32px;
    }
    .cdmo-01-02 .box .list {
        width: 800px;
        min-width: 800px;
    }
    .cdmo-01-02 .box .list p.lg-tit {
        font-size: 20px;
    }
    .service-01-01 {
        gap: 24px;
    }
    .service-01-01 .item .txt {
        padding:24px;
    }
    .service-01-01 .item .txt p:first-child {
        font-size: 14px;
    }
    .service-01-01 .item .txt p:nth-child(2) {
        font-size: 20px;
    }
    .service-02-01 .rt {
        width: 800px;
        min-width: 800px;
    }
    .service-02-01 .rt .item p.lg-tit {
        font-size: 20px;
    }
    .service-02-02 {
        gap: 24px;
    }
    .service-02-02 .item .txt {
        padding: 24px;
    }
    .service-02-02 .item .txt p:first-child {
        font-size: 20px;
    }
    .service-02-03 .img-grid {
        gap: 24px;
    }
    .material-modal .modal-box {
        padding: 24px;
    }
    .material-modal .modal-box .box {
        gap: 24px;
    }
    .esg-01-01 .txt p:first-child.esg-tit {
        font-size: 80px;
    }
    .ccm-01-01 .txt p:first-child {
        font-size: 32px;
        line-height: 1.3;
    }
    .rt-list .item .flex-img {
        gap: 24px;
    }
    .ccm-01-03 .ccm-video {
        width: 800px;
        min-width: 800px;
    }
    .tour-01 {
        height: 600px;
        padding: 24px 48px;
    }
    .tour-01 .content {
        gap: 48px;
    }
    .portfolio-grid {
        grid-template-columns: repeat(4, 1fr);
    }
    .main-05 {
        flex-direction: column;
        gap: 100px;
    }
    .main-05 .lt > h2 {
        font-size: 32px;
        margin-bottom: 24px;
    }
    .tour-banner {
        height: auto;
        aspect-ratio: 16 / 9;
    }
    .tour-banner .txt p:first-child {
        font-size: 32px;
    }
}
@media screen and (max-width: 1024px) {
    /*header*/
    .ham {
        display: block;
    }
    .header-wrap {
        background-color: #212332 !important;
        height: auto;
        overflow: visible;
    }
    .header-wrap:hover {
        height: auto;
    }
    .header-wrap:hover #ham_btn + label > span {
        background-color: #fff !important;
    }
    .header-wrap #ham_btn + label > span {
        background-color: #fff !important;
    }
    .header-wrap:hover #ham_btn + label > span:nth-child(3) {
        background-color: var(--main-color) !important;
    }
    .header-wrap #ham_btn + label > span:nth-child(3) {
        background-color: var(--main-color) !important;
    }
    .header-wrap .container .hd {
        justify-content: space-between;
        height: 80px;
    }
    .logo-area {
        position: relative;
        top: unset;
        left: unset;
        transform: unset;
        align-items: flex-start;
        gap: 8px;
    }
    .logo-area .h-logo {
        width: 150px;
        height: 30px;
        background-position: left center;
        background-image: url('../images/logo/logo_wc.png') !important;
    }
    .header-wrap:hover .logo-area .h-logo {
        background-image: url('../images/logo/logo_wc.png') !important;
    }
    .rolling-slider {
        height: 14px;
    }
    .rolling-slider .swiper-slide {
        font-size: 12px;
        text-align: left;
        color: #fff !important;
    }
    .header-wrap.is-main .lang a.on, .header-wrap.is-main .lang a:hover {
        color: #fff !important;
    }
    .header-wrap:hover .rolling-slider .swiper-slide {
        color: #fff !important;
    }
    .lang a.on, .lang a:hover {
        color: #fff !important;
    }
    .gnb {
        width: 100%;
        height: calc(100vh - 80px);
        position: fixed;
        top: 80px;
        left: 0;
        z-index: 99;
        display: block;
        padding: 24px 16px 150px;
        overflow: hidden;
        overflow-y: auto;
        background-color: #fff;
        transition: none;
        display: none;
    }
    .gnb > li {
        padding-bottom: 24px;
        border-bottom: 1px solid var(--border-color);
    }
    .gnb > li:not(:first-child) {
        padding: 24px 0;
    }
    .gnb > li::after {
        display: none;
    }
    .gnb > li > a {
        transition: none;
        font-size: 18px;
        font-weight: 600;
        color: var(--black-color) !important;
        padding: 0;
    }
    .gnb > li > a:active {
        color: var(--sub-txt-color-02);
    }
    .gnb-sub {
        position: relative;
        top: unset;
        left: unset;
        transform: unset;
        padding-top: 16px;
        align-items: flex-start;
        gap: 12px;
    }
    .gnb-sub > li > a br {
        display: none;
    }
    

    /*main*/
    .banner-slider .swiper-slide .txt .txt-hidden span {
        font-family: 'yg330';
        font-size: 32px;
        font-weight: 500;
    }
    .banner-slider .swiper-slide .txt > p {
        font-family: 'yg310';
        font-size: 14px;
    }
    .material-slider a {
        padding: 0 24px;
    }
    .material-slider a .hd p {
        font-size: 16px;
    }
    .main-01-grid .item > p {
        font-size: 16px;
    }
    .main-01-grid .item .num {
        font-size: 38px;
    }
    .main-01 .content .txt p:nth-child(2) {
        font-size: 14px;
    }
    .main-02 .content > h2 {
        font-size: 24px;
        margin-bottom: 24px;
    }
    .main-02-slider .swiper-slide .txt p:nth-child(2) {
        font-size: 20px;
    }
    .main-03 {
        flex-direction: column;
        align-items: center;
        gap: 36px;
    }
    .main-03 .fac-video {
        max-width: 100%;
    }
    .main-tit h2 {
        font-size: 24px;
        text-align: center;
        margin-bottom: 12px;
    }
    .main-tit .sub-tit {
        font-size: 14px;
        text-align: center;
    }
    .main-04 .content > h2 {
        margin-bottom: 36px;
    }
    .main-04 .content .box {
        width: 100%;
        flex-direction: column;
    }
    .main-04 .content .box .img-box {
        display: none;
    }
    
    .main-04-list {
        width: 100%;
    }
    .main-04-list .item {
        padding: 16px 0;
    }
    .main-04-list .item p:first-child {
        text-align: center;
    }
    .main-04-list .item p:nth-child(2) {
        font-size:  14px;
        text-align: center;
    }
    .main-04-list .item a {
        font-size: 20px;
        justify-content: center;
        margin-bottom: 0;
    }
    .main-04-list .item a img {
        display: none;
    }
    /*pages*/
    .page-tit .tit {
        font-size: 38px;
    }
    .page-category a {
        font-size: 16px;
    }
    .flex-tit {
        flex-direction: column;
        align-items: center;
        gap: 16px;
    }
    .flex-tit .tit-box {
        position: relative;
        top: unset;
        left: unset;
    }
    .tit-box .tit {
        font-size: 24px;
        text-align: center;
    }
    .tit-box .tit br {
        display: none;
        text-align: center;
    }
    .tit-box .sub-tit {
        font-size: 14px;
        margin-top: 16px;
        text-align: center;
    }
    .tit-box .sub-tit br {
        display: none;
    }
    .flex-tit .expl {
        max-width: 100%;
        gap: 8px;
    }
    .flex-tit .expl p {
        font-size: 14px;
        text-align: center;
    }
    .flex-tit .expl p br {
        display: none;
    }
    .about-01-01 {
        margin: 100px 0;
    }
    .about-01-01 .banner {
        height: 200px;
    }
    .tit-box {
        position: relative;
        top: unset;
        left: unset;
    }
    .tit-box .sm-tit {
        text-align: center;
    }
    .tit-box .sm-tit b {
        font-size: 20px;
    }
    .about-01-01-grid {
        gap: 16px;
    }
    .about-01-01-grid .item .txt p:first-child {
        font-size: 16px;
    }
    .about-01-01-grid .item .txt p:nth-child(2) {
        font-size: 14px;
    }
    .about-01-02 {
        flex-direction: column;
        align-items: center;
        gap: 36px;
    }
    .rt-list {
        width: 100%;
        min-width: 100%;
    }
    .rt-list .item:first-child {
        padding: 24px 0;
        border-top: 1px solid var(--black-color);
    }
    .rt-list .item {
        padding: 24px 0;
        gap: 12px
    }
    .rt-list .item p:first-child {
        font-size: 16px;
    }
    .rt-list .item p {
        font-size: 14px;
    }
    .rt-list .item p br {
        display: none;
    }
    .about-01-03 .banner .txt p:first-child {
        font-size: 24px;
    }
    .about-01-03 .banner .txt p:nth-child(2) {
        font-size: 14px;
    }
    .about-01-03 .banner {
        height: 350px;
        margin-bottom: 100px;
    }
    .cross-grid .item {
        padding: 24px;
    }
    .cross-grid .item p:nth-child(2) {
        font-size: 16px;
    }
    .cross-grid .item p:nth-child(3) {
        font-size: 14px;
    }
    .about-02-01 {
        height: 350px;
    }
    .about-02-01 .txt p:first-child {
        font-size: 24px;
    }
    .about-02-01 .txt p:nth-child(2) {
        font-size: 14px;
        margin-top: 16px;
    }
    .about-02-02 {
        flex-direction: column;
        align-items: center;
        gap: 36px;
    }
    .about-02-02-list {
        width: 100%;
        min-width: 100%;
    }
    .about-02-02-list .item .lt > p {
        font-size: 16px;
        margin-bottom: 16px;
    }
    .about-02-02-list .item .lt .list span {
        font-size: 14px;
    }
    .cross-grid {
        width: 100%;
        min-width: 100%;
    }
    .oem-01-01-grid .item {
        height: 200px;
    }
    .oem-01-01-grid .item .txt p:first-child {
        font-size: 16px;
    }
    .oem-01-01-grid .item .txt p:last-child {
        font-size: 14px;
    }
    .oem-01-01-grid .item .txt.reverse {
        align-items: flex-start;
    }
    .oem-01-01-grid .item .txt.reverse p:first-child {
        text-align: left;
    }
     .oem-01-01-grid .item .txt.reverse p:last-child {
        text-align: left;
    }
    .support-banner {
        height: 350px;
    }
    .support-banner .txt p:first-child {
        font-size: 24px;
        margin-bottom: 16px;
    }
    .support-banner .txt p:nth-child(2) {
        font-size: 14px;
    }
    .oem-02-01 .item .txt .tp span {
        font-size:  16px;
    }
    .oem-02-01 .item .txt .bt {
        font-size: 14px;
        text-align: center;
    }
    .oem-banner {
        height: 350px;
    }
    .oem-banner .content p:first-child {
        font-size: 24px;
    }
    .oem-banner .content p:last-child {
        font-size: 14px;
    }
    .cdmo-01-01 {
        height: 350px;
        margin-bottom: 36px;
    }
    .cdmo-01-01 .txt p:first-child {
        font-size: 24px;
    }
    .cdmo-01-02 {
        gap: 100px;
    }
    .cdmo-01-02 .box {
        flex-direction: column;
        align-items: center;
        gap: 36px;
    }
    .cdmo-01-02 .box .list {
        width: 100%;
        min-width: 100%;
    }
    .cdmo-01-02 .box .list .img-box {
        width: 100%;
        height: 200px;
        object-fit: cover;
    }
    .cdmo-01-02 .box .list .img-box img {
        object-fit: cover;
    }
    .cdmo-01-02 .box .list p {
        font-size: 14px;
    }
    .cdmo-01-02 .box .list .item {
        padding: 24px 0;
    }
    .cdmo-01-02 .box .list p.lg-tit {
        font-size: 16px;
        margin-bottom: 0;
    }
    .service-01-01 {
        margin-top: 36px;
        gap: 16px;
    }
    .service-01-01 .item .txt p:nth-child(2) {
        font-size: 16px;
    }
    .service-01-01 .item .txt p:nth-child(3) {
        font-size: 14px;
    }
    .service-02-01 {
        flex-direction: column;
        align-items: center;
    }
    .service-02-01 .rt {
        width: 100%;
        min-width: 100%;
    }
    .service-02-01 .rt .item p.lg-tit {
        font-size: 16px;
    }
    .service-02-01 .rt .item p {
        font-size: 14px;
    }
    .service-02-01 .rt .item span {
        font-size: 14px;
    }
    .service-02-02 {
        gap: 16px;
    }
    .service-02-02 .item .txt p:first-child {
        font-size: 16px;
    }
    .service-02-02 .item .txt p:nth-child(2) {
        font-size: 14px;
    }
    .service-02-03 .img-grid {
        gap: 16px;
        margin-top: 36px;
    }
    .service-02-03 .img-grid .img-box img {
        height: 60px;
    }
    .service-02-04 .img-box {
        margin: 36px auto 0;
    }
    .board-grid {
        margin-top: 36px;
        grid-template-columns: repeat(3, 1fr);
        gap: 60px 16px;
    }
    .material-modal .modal-box {
        max-width: calc(100% - 32px);
    }
    .esg-01-01 {
        height: 350px;
    }
    .esg-01-02 {
        flex-direction: column;
        align-items: center;
        gap: 36px;
    }
    .ccm-01-01 {
        height: 350px;
    }
    .ccm-01-01 .txt p:first-child {
        font-size: 24px;
    }
    .ccm-01-02 {
        flex-direction: column;
        align-items: center;
        gap: 36px;
    }
    .rt-list .item .flex-img .img-box img {
        height: 60px;
    }
    .ccm-01-03 {
        flex-direction: column;
        align-items: center;
        gap: 36px;
    }
    .ccm-01-03 .ccm-video {
        width: 100%;
        min-width: 100%;
    }
    .tit-box .tit.wc {
        font-size: 24px;
    }
    .tit-box .sub-tit.wc {
        font-size: 14px;
    }
    .tour-01 {
        height: 800px;
    }
    .tour-01 .content {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 36px;
    }
    .tour-02-grid {
        margin-top: 36px;
        gap: 16px;
    }
    .tour-02-grid .item .icon {
        width: 64px;
        height: 64px;
    }
    .tour-02-grid .item .icon img {
        width: 24px;
    }
    .tour-02-grid .item p {
        font-size: 16px;
    }
    .form-hd {
        padding-bottom: 16px;
    }
    .form-hd span:first-child {
        font-size: 20px;
    }
    .form-terms .hd {
        padding-bottom: 16px;
    }
    .form-hd span:last-child {
        font-size: 14px;
    }
    .form-grid {
        gap: 24px 16px;
    }
    .form-grid .input-box input[type="text"], .form-grid .input-box input[type="password"], .form-grid .input-box input[type="email"], .form-grid .input-box input[type="file"], .form-grid .input-box select {
        font-size: 14px;
        padding: 0 12px;
    }
    .file-upload .file-btn {
        height: 50px;
        line-height: 50px;
        max-width: 100px;
    }
    .form-grid .input-box textarea {
        font-size: 14px;
        padding: 12px;
    }
    .form-terms .hd {
        font-size: 20px;
    }
    .form-terms .content {
        padding: 12px;
    }
    .sub-category a {
        gap: 8px;
        font-size: 16px;
    }
    .sub-category a::before {
        width: 6px;
        height: 6px;
    }
    .portfolio-grid .item img {
        max-width: 100px;
    }
    .support-process {
        padding: 24px 0;
        margin: 36px 0 80px;
    }
    .support-process .item {
        padding: 16px;
    }
    .support-process .item p:first-child {
        font-size: 14px;
    }
    .support-process .item p:nth-child(2) {
        font-size: 16px;
        margin-bottom: 12px;
    }
    .support-process .item p:nth-child(3) {
        font-size: 14px;
    }
    .support-banner .txt p:first-child {
        font-size: 24px;
    }
    .main-05 .lt > h2 {
        font-size: 24px;
    }
    .tour-banner .txt p:first-child {
        font-size: 24px;
    }
    .tour-banner .txt p:nth-child(2) {
        font-size: 14px;
    }

}
@media screen and (max-width: 840px) {
    .floating a {
        font-size: 12px;
        padding: 12px;
    }
    .floating a br {
        display: block;
    }
    .floating a img {
        width: 14px;
    }
    /*메인*/
    .main-banner {
        height: auto;
        margin-top: 80px;
    }
    .banner-slider .swiper-slide .img-box {
        aspect-ratio: 16 / 9;
        height: auto;
    }
    .banner-slider .swiper-slide .img-box video {
        vertical-align: bottom;
    }
    .banner-slider .swiper-slide .img-box img {
        vertical-align: bottom;
    }
    .banner-slider .swiper-slide .txt {
        gap: 12px;
    }
    .banner-slider .swiper-slide .txt .txt-hidden span {
        font-size: 24px;
        color: var(--mb-color);
    }
    .main-01-grid .item {
        gap: 16px;
    }
    .main-01-grid .item > p {
        font-size: 14px;
    }
    .main-01-grid .item .num {
        font-size: 32px;
    }
    .main-01 .content .txt h2:first-child {
        font-size: 24px;
    }
    .main-01 .content .txt h2:first-child br {
        display: block;
    }
    .main-01 .content .txt p:nth-child(2) {
        font-family: 'yg320';
        font-size: 12px;
        font-weight: 300;
        line-height: 1.7;
        letter-spacing: -1px;
    }
    .main-02-slider .swiper-slide {
        padding: 16px;
    }
    .main-02-slider .swiper-slide .txt p:nth-child(2) {
        font-size: 16px;
    }
    .main-02-slider .swiper-slide .txt p:nth-child(3) {
        font-size: 14px;
        margin-bottom: 16px;
    }
    .main-03 {
        padding: 50px 0;
    }
    .mark-grid {
        margin-top: 24px;
        grid-template-columns: repeat(4, 1fr);
    }
    .mark-grid .item img {
        width: 48px;
    }
    .main-04 .content > h2 {
        font-size: 24px;
    }
    .main-04-list .item p:first-child {
        font-size: 16px;
    }
    .main-04-list .item a {
        font-size: 16px;
    }
    /*pages*/
    .page-tit {
        flex-direction: column;
        align-items: center;
    }
    .page-tit .tit {
        font-size: 32px;
        text-align: center;
    }
    .page-tit .tit br {
        display: none;
    }
    .page-tit .location {
        font-size: 14px;
        gap: 12px;
    }
    .page-tit .location img {
        width: 16px;
    }
    .page-category {
        gap: 24px;
    }
    .page-category a {
        font-size: 14px;
    }
    .about-01-02 {
        margin-bottom: 100px;
    }
    .rt-list .item p:first-child {
        margin-bottom: 0;
        word-break: normal;
    }
    .about-01-03 .banner .txt p:first-child {
        font-size: 20px;
    }
    .about-01-03 .banner .txt p:nth-child(2) br {
        display: none;
    }
    .about-02-01 {
        height: 250px;
    }
    .about-02-02-list .item .lt {
        max-width: 450px;
    }
    .support-banner .txt p:first-child {
        font-size: 20px;
    }
    .oem-02-01 .item .txt .tp span:first-child::after {
        margin: 0 12px;
    }
    .oem-banner {
        height: 250px;
    }
    .oem-banner .content p:first-child {
        font-size: 20px;
    }
    .oem-banner .content p:last-child br {
        display: none;
    }
    .cdmo-01-01 {
        height: 250px;
    }
    .cdmo-01-01 .txt p:first-child {
        font-size: 20px;
    }
    .service-02-01 {
        gap: 36px;
        margin-bottom: 100px;
    }
    .service-01-01 .item .txt {
        padding: 16px;
        justify-content: flex-start;
    }
    .service-02-02 {
        margin-bottom: 100px;
    }
    .service-02-02 .item .txt {
        padding: 16px;
        justify-content: flex-start;
    }
    .service-02-02 .item:nth-child(2) {
        transform: translateY(0);
    }
    .service-02-03 {
        margin-bottom: 100px;
    }
    .service-02-03 .img-grid .img-box img {
        height: 40px;
    }
    .service-02-01 .rt .item img {
        margin-bottom: 16px;
    }
    .esg-01-01 {
        height: 250px;
    }
    .esg-01-01 .txt p:first-child.esg-tit {
        font-size: 58px;
    }
    .ccm-01-01 {
        height: 250px;
    }
    .ccm-01-01 .txt p:first-child {
        font-size: 20px;
    }
    .ccm-01-01 .txt p:first-child br {
        display: none;
    }
    .rt-list .item .double-img .img-box img {
        height: 250px;
    }
    .rt-list .item .flex-img .img-box img {
        height: 40px;
    }
    .ccm-01-03 {
        margin-top: 100px;
    }
    .tour-01 {
        padding: 24px;
    }
    .tit-box .tit.wc {
        font-size: 20px;
    }
    .form-hd span:first-child {
        font-size: 16px;
    }
    .tour-02 {
        margin-bottom: 100px;
    }
    .form-grid .input-box .radio-box {
        gap: 4px 16px;
    }
    .form-terms label span {
        font-size: 14px;
    }
    .form-grid .input-box input[type="text"], .form-grid .input-box input[type="password"], .form-grid .input-box input[type="email"], .form-grid .input-box input[type="file"], .form-grid .input-box select {
        height: 50px;
    }
    .btn-wrap a, .btn-wrap button {
        height: 50px;
    }
    .form-terms .hd {
        font-size: 16px;
    }
    .form-terms > p {
        font-size: 14px;
    }
    .tour-02-grid .item p {
        font-size: 14px;
    }
    .portfolio-grid .item {
        padding: 36px 16px;
    }
    .portfolio-grid .item img {
        max-width: 100%;
    }
    .search input[type="text"] {
        height: 50px;
        font-size: 14px;
    }
    .support-banner .txt p:first-child {
        font-size: 20px;
    }
    .tour-banner .txt p:first-child {
        margin-bottom: 8px;
    }
    .tour-banner .txt a {
        margin-top: 36px;
    }
    .terms-area .item > p {
        font-size: 16px;
        font-weight: 500;
    }
    .terms-area .item .list p {
        font-size: 14px;
    }
    .table-box table th, .table-box table tr, .table-box table td {
        font-size: 14px;
    }
}
@media screen and (max-width: 480px) {
    /*header*/
    .header-wrap {
        background-color: #212332 !important;
    }
    .header-wrap .container .hd {
        padding: 0 8px;
    }
    .logo-area .h-logo {
        width: 120px;
        height: 25px;
    }
    .lang a {
        font-size: 12px;
    }
    .lang a:not(:last-child)::after {
        margin: 0 6px;
    }
    .rolling-slider .swiper-slide {
        font-size: 10px;
        letter-spacing: -1px;
    }
    .rt-area {
        gap: 16px;
    }
    #ham_btn + label {
        width: 36px;
    }
    /*메인*/
    .banner-slider .swiper-slide .txt {
        height: 100%;
        justify-content: center;
        gap: 8px;
    }
    .banner-slider .swiper-slide .txt .txt-hidden span {
        font-size: 16px;
    }
    .banner-slider .swiper-slide .txt > p {
        font-size: 12px;
        font-weight: 300;
    }
    .material-slider {
        padding: 0px 0 0;
        margin-top: -32px;
        background-color: transparent;
    }
    .material-slider a {
        padding: 12px;
        background-color: rgba(40, 54, 83, 0.8);
        gap: 8px;
    }
    .material-slider a .content {
        font-size: 10px;
    }
    .material-slider a .hd p {
        font-size: 12px;
    }
    .material-slider a .hd img {
        width: 12px;
    }
    .material-slider .swiper-slide:not(:last-child) {
        border-right: none;
    }
    .control {
        display: none;
    }
    .main-01 {
        height: 650px;
    }
    .main-01 .content .txt h2:first-child {
        font-size: 16px;
        color: var(--mb-color);
    }
    .main-01 .content .txt p:nth-child(2) br {
        display: none;
    }
    .main-01-grid {
        grid-template-columns: repeat(1, 1fr);
        gap: 24px;
    }
    .main-01-grid .item {
        gap: 12px;
        padding: 16px 12px;
    }
    .main-01-grid .item:not(:last-child) {
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    }
    .main-01-grid .item .num {
        font-size: 24px;
        color: var(--mb-color);
    }
    .main-01 .content {
        padding: 80px 16px 0;
    }
    .main-01 .content .txt {
        padding-top: 60px;
        margin-bottom: 24px;
    }
    .main-01 .content .txt h2:first-child {
        font-family: 'yg330';
        font-weight: 400;
        margin-bottom: 12px;
        line-height: 1.3;
    }
    .main-02 {
        height: 500px;
    }
    .main-02 .content > h2 {
        font-size: 20px;
    }
    .main-tit h2 {
        font-size: 20px;
    }
    .main-04 {
        height: 550px;
    }
    .main-04 .content > h2 {
        font-size: 20px;
    }
    .main-05 {
        padding: 50px 0;
        gap: 50px;
    }
    .main-05 .lt > h2 {
        font-size: 16px;
    }
    .tour-banner .txt p:first-child {
        font-size: 16px;
    }
    /*pages*/
    .page-area {
        padding: 60px 0 100px;
    }
    .page-tit {
        padding: 120px 0 60px;
        gap: 16px;
    }
    .page-tit .tit {
        font-size: 24px;
        word-break: keep-all;
        letter-spacing: -1px;
    }
    .page-tit .location {
        font-size: 12px;
        gap: 8px;
        word-break: keep-all;
    }
    .page-tit .location a {
        letter-spacing: -1px;
        text-align: center;
    }
    .tit-box .tit {
        font-size: 20px;
        font-weight: 600;
    }
    .tit-box .tit br {
        display: none;
    }
    .about-01-01-grid {
        grid-template-columns: repeat(1, 1fr);
        gap: 24px;
    }
    .about-01-01-grid .item {
        gap: 12px;
    }
    .about-01-01-grid .item .img-box {
        aspect-ratio: 16 / 9;
    }
    .about-01-01-grid .item .txt p:first-child {
        margin-bottom: 6px;
    }
    .cross-grid .item {
        padding: 16px 8px;
    }
    .about-01-03 .banner .txt p:first-child {
        font-size: 18px;
    }
    .about-02-01 .txt p:first-child {
        font-size: 18px;
    }
    .about-02-02-list .item {
        width: 100%;
        padding: 24px 0;
        flex-direction: column;
    }
    .about-02-02-list .item:first-child {
        padding: 0 0 24px;
    }
    .about-02-02-list .item .lt {
        max-width: 100%;
    }
    .rt-list .item .double-img .img-box img {
        height: 150px;
    }
    .rt-list .item .flex-img .img-box {
        gap: 8px;
    }
    .rt-list .item .flex-img .img-box .box {
        padding: 16px;
    }
    .rt-list .item .sub-list p:first-child {
        font-size: 14px;
    }
    .oem-01-01-grid {
        margin-top: 36px;
    }
    .oem-01-01-grid .item .txt {
        padding: 24px 16px;
        gap: 8px;
    }
    .oem-01-01-grid .item .txt.reverse {
        align-items: flex-start;
    }
    .oem-banner .content p:first-child {
        font-size: 18px;
    }
    .cdmo-01-01 .txt p:first-child {
        font-size: 18px;
    }
    .support-banner {
        height: 250px;
    }
    .support-banner .txt p:first-child {
        font-size: 18px;
        margin-bottom: 8px;
    }
    .support-banner .txt a {
        font-size: 12px;
        width: 150px;
        margin-top: 36px;
    }
    .oem-02-01 {
        margin-top: 36px;
        gap: 100px;
    }
    .oem-02-01 .item .txt .tp {
        flex-direction: column;
        align-items: center;
    }
    .oem-02-01 .item .txt .tp span:first-child {
        flex-direction: column;
        align-items: center;
    }
    .oem-02-01 .item .txt .tp span:first-child::after {
        width: 36px;
        height: 1px;
        margin: 16px 0;
    }
    .oem-banner {
        height: 350px;
    }
    .oem-banner .content {
        gap: 16px;
    }
    .cdmo-01-01 .txt p:first-child {
        word-break: keep-all;
        padding: 0 16px;
    }
    .service-01-01 {
        grid-template-columns: repeat(1, 1fr);
        gap: 24px;
    }
    .service-01-01 .item .bg {
        aspect-ratio: 16 / 9;
    }
    .service-02-01 .rt .item p.lg-tit {
        margin-bottom: 8px;
    }
    .service-02-01 .rt .item span:first-child::after {
        margin: 0 8px;
    }
    .service-02-02 {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: 24px;
    }
    .service-02-02 .item .bg {
        aspect-ratio: 16 / 9;
    }
    .service-02-02 .item .txt p:first-child {
        margin-bottom: 8px;
    }
    .service-02-03 .img-grid .img-box {
        padding: 24px 16px;
    }
    .service-02-03 .img-grid .img-box img {
        width: 100%;
        height: auto;
    }
    .service-02-04 .img-box {
        width: 100%;
    }
    .board-grid {
        grid-template-columns: repeat(1, 1fr);
        gap: 48px 8px;
    }
    .material-modal .modal-box {
        padding: 24px 16px;
    }
    .material-modal .modal-box .box {
        flex-direction: column;
        max-height: 600px;
        overflow: hidden;
        overflow-y: auto;
    }
    .material-modal .modal-box .hd span {
        font-size: 20px;
    }
    .material-modal .modal-box .hd button {
        width: 38px;
        height: 38px;
    }
    .material-modal .modal-box .box .img-box {
        width: 100%;
        aspect-ratio: 4 / 3;
        overflow: hidden;
    }
    .material-modal .modal-box .box .img-box img {
        object-fit: contain;
    }
    .material-modal .modal-box .box .rt {
        width: 100%;
    }
    .tour-slider .swiper-pagination {
        bottom: 8px;
    }
    .view-tit-box .info span {
        font-size: 12px;
    }
    .view-tit-box .tit {
        font-size: 16px;
    }
    .file-box a {
        gap: 6px;
    }
    .file-box a img {
        height: 14px;
    }
    .file-box a span {
        font-size: 12px;
    }
    .other-area a {
        padding: 16px 0;
        gap: 16px;
    }
    .other-area a .other-front {
        font-size: 14px;
    }
    .other-area a .other-tit {
        font-size: 14px;
    }
    .editor-area {
        font-size: 14px;
    }
    .search {
        max-width: 100%;
    }
    .tour-01 {
        height: 550px;
    }
    .tour-02-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .tour-02-grid .item {
        padding: 24px 16px;
    }
    .form-grid {
        grid-template-columns: repeat(1, 1fr);
        gap: 16px 8px;
    }
    .support-process  {
        grid-template-columns: repeat(2, 1fr);
    }
    .support-process .item:not(:last-child) {
        border-right: none;
    }
    .support-process .item:first-child, .support-process .item:nth-child(2) {
        border-bottom: 1px solid var(--border-color);
    }
    .support-process .item:nth-child(odd) {
        border-right: 1px solid var(--border-color);
    }
    .support-process .item p:first-child {
        font-size: 12px;
    }
    .esg-01-01 .txt p:first-child.esg-tit {
        letter-spacing: 4px;
    }
    .ccm-01-01 .txt p:first-child {
        font-size: 18px;
    }
    .tit-box .tit.wc {
        font-size: 18px;
    }
    .sub-category {
        gap: 16px;
    }
    .sub-category a {
        font-size: 14px;
        gap: 4px;
    }
    .portfolio-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .main-05 .lt > h2 {
        margin-bottom: 16px;
        text-align: center;
    }
    .support-list li {
        padding: 16px 0;
    }
    .support-list li .sp-tit-box {
        gap: 8px;
    }
    .support-list li .sp-tit-box .tit {
        font-size: 14px;
    }
    .support-list li .date {
        font-size: 12px;
        display: inline-block;
        min-width: 65px;
        width: 65px;
        text-align: right;
    }
    .tour-banner {
        aspect-ratio: 4 / 3;
    }
    .rt-list .item p {
        text-align: center;
    }
    .board-grid .item.empty {
        font-size: 14px;
    }
}

@media screen and (max-width: 345px) {
    /*footer*/
    .fnb-area .fnb li a {
        font-size: 12px;
    }
    .footer-wrap .bt .lt .info span {
        font-size: 12px;
    }
    .footer-wrap .bt .rt .copy {
        font-size: 12px;
        text-align: center;
    }
    /*pages*/
    .about-01-03 .banner .txt {
        padding: 24px 16px;
    }
    .tit-box .sm-tit {
        font-size: 12px;
    }
    .tit-box .sm-tit b {
        font-size: 16px;
    }
    .about-02-01 .txt {
        padding: 16px;
    }
    .about-02-01 .txt p:nth-child(2) br {
        display: none;
    }

}