@media (max-width: 1600px) {
  /* page: main */
  .vision-section__bg {
    height: auto;
    min-height: auto;
    padding-top: 90px;
    padding-bottom: 60px;
  }

  .vision-section__concept .main-page__section--title {
    margin-bottom: 20px;
  }

  .vision-section__sub-title {
    font-size: 34px;
    line-height: 1.2;
  }

  .vision-section__concept {
    width: 100%;
  }

  .vision-section__wrapper {
    flex-direction: column;
    margin-top: 60px;
  }

  .vision-section__concept {
    height: auto;
  }

  .vision-section__wrapper {
    row-gap: 20px
  }

  .vision-section__carousel-controls {
    position: relative;
    justify-content: flex-end;
  }
  
  .vision-section__carousel {
    max-width: 100%;
  }
}

@media (max-width: 1180px) {
  /* page: main */
  .main-page__section--title {
    font-size: 40px;
  }

  .hero-section__sub-title {
    margin-bottom: 0px;
  }

  .hero-section__carousel-controls {
    position: static;
    justify-content: flex-end;
  }

  .job-section__search {
    width: 405px;
  }

  .faq-section__list-summary {
    width: 100%;
  }
}

@media (max-width: 1024px) {
  /* page: main */
  .hero-section, 
  .job-section,
  .vision-section__bg,
  .faq-section {
    height: auto;
  }

  .main-page {
    padding-top: 108px;
  }
  .hero-section__sub-title {
    font-size: 34px;
    line-height: 1.2;
  }
  .hero-carousel-title {
    font-size: 55px;
  }
  .job-section {
    padding-top: 80px;
  }
  
}

@media (max-width: 768px) {
  #contents.full-height {
    min-height: calc(100vh - 155px - 60px);
    min-height: calc(100dvh - 155px - 60px);
  }
  /* page: GNB */
  .gnb-menu-wrap .gnb-menu-header {
    column-gap: 10px;
  }
  .nav {
    height: 60px;
  }
  #lnbLogo img {
    width: 120px;
  }
  .menubar {
    width: 30px;
  }
  .menubar img {
    width: 100%;
  }
  .btn-login {
    right: 40px;
  }
  .btn-login a {
    background-size: 20px;
  }
  .btn-logout a {
    width: 26px;
    height: 26px;
    background-size: 26px;
  }
  .gnb-close {
    width: 28px;
  }
  /* page: drawer menu */
  .gnb-menu-wrap .gnb-menu-header {
    height: 60px;
  }
  .gnb-menu-wrap .gnb-menu {
    font-size: 20px;
  }
  /* page: footer */
  .footer__wrapper {
    gap: 30px;
  }
  .footer__logo {
    width: 120px;
  }
  .footer__logo img {
    width: 100%;
  }
  .footer__family {
    top: 10px;
  }
  .family-dialog {
    width: 90%;
  }
  .family-dialog__head-title {
    font-size: 18px;
  }
  .footer__content-nav > ul > li:not(:last-child)::after,
  .footer__content-nav > ul > li > a, .footer__content-copy {
    font-size: 12px;
  }
  /* page: link Banner */
  .link-banner {
    background-position: 10% center;
  }
  .link-banner__title {
    font-size: 20px;
    margin-bottom: 10px;
  }
  .link-banner__desc {
    font-size: 14px;
  }
  /* page: modal */
  .modalTit {
    font-size: 18px;
  }

  /* page: main */
  .main-page {
    padding-top: 60px;
  }
  .main-page__section--title {
    font-size: 28px;
  }
  .main-page__detail-link {
    font-size: 16px;
  }
  /* hero */
  .hero-section {
    height: auto;
    padding-top: 40px;
  }
  .hero-section__sub-title {
    font-size: 24px;
  }
  .hero-section__carousel-track {
    height: 55dvh;
  }
  .hero-carousel-desc {
    position: absolute;
    width: 90%;
    height: auto;
    bottom: 4%;
    left: 5%;
  }
  .hero-carousel-item.hero-carousel-bg1 {
    background-image: url(/rem/apply/common/images/sub/job_main1.png);
    background-position: center;
  }
  .hero-carousel-item.hero-carousel-bg2 {
    background-image: url(/rem/apply/common/images/sub/job_main2.png);
    background-position: 65% center;
  }
  .hero-carousel-item.hero-carousel-bg3 {
    background-image: url(/rem/apply/common/images/sub/job_main3.png);
    background-position: 60% center;
  }
  .hero-carousel-item.hero-carousel-bg4 {
    background-image: url(/rem/apply/common/images/sub/job_main4.png);
    background-position: 70% center;
  }
  .hero-carousel-item.hero-carousel-bg5 {
    background-image: url(/rem/apply/common/images/sub/job_main5.png);
    background-position: 60% center;
  }
  .hero-carousel-item.hero-carousel-bg6 {
    background-image: url(/rem/apply/common/images/sub/job_main6.png);
    background-position: 73% center;
  }
  .hero-carousel-item.hero-carousel-bg7 {
    background-image: url(/rem/apply/common/images/sub/job_main7.png);
    background-position: center;
  }
  .hero-carousel-item.hero-carousel-bg8 {
    background-image: url(/rem/apply/common/images/sub/job_main8.png);
    background-position: 60% center;
  }
  .hero-carousel-item.hero-carousel-bg9 {
    background-image: url(/rem/apply/common/images/sub/job_main9.png);
    background-position: 54% center;
  }
  .hero-carousel-item.hero-carousel-bg10 {
    background-image: url(/rem/apply/common/images/sub/job_main10.png);
    background-position: 13% center;
  }
  .hero-carousel-title {
    margin-bottom: 10px;
    font-size: 38px;
    line-height: 1.1;
  }
  .hero-carousel-subtitle {
    height: auto;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.1;
  }
  .hero-carousel-link {
    position: relative;
    width: 100%;
    height: 30px;
    margin-top: 16px;
  }
  .hero-carousel-link-text {
    font-size: 13px;
    padding-right: 18px;
    background-size: 16px;
    background-position: right center;
  }
  .hero-section__down-btn {
    width: 50px;
    height: 50px;
    background-size: 50px;
  }
  /* job section */
  .job-section {
    height: auto;
    padding-bottom: 60px;
  }
  .job-section__search-input[type="text"] {
    height: 56px;
    font-size: 18px;
  }
  .job-section__wrapper {
    flex-direction: column;
    padding-bottom: 0;
  }
  .job-section__search {
    position: static;
    width: 100%;
    margin-top: 20px;
  }
  .job-section__tabs-wrapper {
    flex: 1 1 100%;
    width: 100% !important;
    padding-bottom: 40px;
  }
  .job-section__tabs {
    height: 40px;
    line-height: 40px;
    margin-bottom: 10px;
    margin-top: 20px;
  }
  .job-section__tab .job-section__tab--title {
    font-size: 22px;
  }
  .job-section__swiper .job-card {
    height: 200px;
    padding: 20px;
  }
  .job-section__swiper .job-card__title {
    font-size: 20px;
  }
  .job-section__swiper .job-card__date {
    height: auto;
    line-height: unset;
    font-size: 16px;
  }
  .job-section__swiper .job-card__copy-link {
    right: 10px;
    bottom: 10px;
    width: 40px;
    height: 40px;
  }
  .job-section__swiper .swiper-slide {
    /* height: 480px; */
    height: auto;
    max-height: 480px;
  }
  .job-section__no-data {
    height: 140px;
  }

  .job-section__pool {
    flex: 0 0 340px;
    margin-top: 0px;
  }
  .job-section__pool-wrapper {
    padding: 25px;
  }

  .job-section__pool-title {
    font-size: 28px;
    margin-bottom: 10px;
  }

  .job-section__pool-desc {
    margin-bottom: 20px;
    font-weight: 500;
    font-size: 16px;
  }
  .job-section__pool-link {
    height: 60px;
  }

  .job-section__slide--pagination.swiper-pagination-bullets.swiper-pagination-horizontal {
    top: 610px;
  }
  /* vision */
  .vision-section__bg {
    height: auto;
    padding-top: 80px;
  }
  .vision-section__sub-title {
    font-size: 22px;
  }
  .vision-section__desc {
    font-size: 18px;
  }
  .vision-section__carousel-track {
    width: 100%;
    margin: unset;
    padding: unset;
  }

  .vision-section__wrapper {
    column-gap: 20px
  }

  .vision-section__carousel {
    max-width: 100%;
  }

  .vision-slide {
    width: 100%;
    padding-right: 0 !important;
  }

  .vision-slide.large .vision-slide-content,
  .vision-slide.small .vision-slide-content {
    width: 100% !important;
    min-width: 100% !important;
    min-height: 320px;
    height: auto;
    /* height: 400px !important; */
  }

  .vision-slide-content.vision-slide-bg01 {
    background-image: url(/rem/apply/common/images/main/vision_01.png);
  }
  .vision-slide-content.vision-slide-bg02 {
    background-image: url(/rem/apply/common/images/main/vision_02.png);
  }
  .vision-slide-content.vision-slide-bg03 {
    background-image: url(/rem/apply/common/images/main/vision_03.png);
  }
  .vision-slide-content.vision-slide-bg04 {
    background-image: url(/rem/apply/common/images/main/vision_04.png);
  }

  .vision-carousel__wrapper {
    display: flex;
    height: auto;
  }
  .vision-slide-title {
    font-size: 24px;
  }
  .vision-slide .vision-slide-desc {
    opacity: 1;
    visibility: visible;
    height: auto;
    padding: 0 8px;
    font-size: 15px;
  }
  /* faq */
  .faq-section {
    min-height: unset;
    height: auto;
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .faq-section__list-summary {
    font-size: 20px;
  }
  .faq-section__list-question::after {
    height: 24px;
  }

  .faq-section__lists {
    margin-top: 40px;
  }

  .faq-section__list {
    padding-top: 35px;
    padding-bottom: 35px;
  }
  .faq-section__desc {
    margin-top: 30px;
    font-size: 16px;
  }

  .faq-section__link-layout {
    position: static;
    transform: unset;
    margin-top: 10px;
    margin-bottom: 20px;
  }

  /* page: 직무소개 */
  #contents.job-desc-page {
    margin-top: 60px;
    margin-bottom: 20px;
  }
  .job-desc {
    flex-direction: column;
    gap: 0;
  }
  .job-desc__right {
    width: 100%;
    max-width: unset;
    padding: 0;
    box-sizing: border-box;
  }
  .mb-job__menu {
    display: flex;
    justify-content: space-between;
    padding: 30px 16px 30px 16px;
    background-color: #fff;
  }
  .mb-job__menu-current {
    font-size: 18px;
    font-weight: 700;
  }
  .mb-job__menu-more {
    width: 24px;
    height: 24px;
    background: right center url('/rem/apply/common/images/icons/icon_chevron_down.svg') transparent no-repeat;
  }
  .mb-job__menu.on .mb-job__menu-more {
    transform: rotate(180deg);
  }
  .job-desc__tab-list {
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 0;
    padding: 0;
    background-color: #fff;
    overflow: hidden;
    z-index: 1;
    box-sizing: border-box;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
  }
  .mb-job__menu.on + .job-desc__tab-list {
    height: auto;
    padding-left: 16px;
    padding-right: 16px;
    box-shadow: 0px 9px 7px 0px rgb(0 0 0 / 10%);
  }
  .job-desc__tab-list li {
    display: inline-block;
    margin-right: 20px;
    margin-bottom: 14px;
  }
  .job-desc__tab-btn {
    padding-right: 0;
    font-weight: 500;
    font-size: 14px;
  }
  .job-desc__tab-btn[aria-selected="true"] {
    font-weight: 700;
    background-image: unset;
  }
  .job-panel__main-img2 {
    background-position: 65% center;
  }
  .job-panel__main-img3 {
    background-position: 70% center;
  }
  .job-panel__main-img4 {
    background-position: 70% center;
  }
  .job-panel__main-img5 {
    background-position: 60% center;
  }
  .job-panel__main-img6 {
    background-position: 73% center;
  }
  .job-panel__main-img8 {
    background-position: 60% center;
  }
  .job-panel__main-img9 {
    background-position: 68% center;
  }
  .job-panel__main-img10 {
    background-position: 13% center;
  }
  .job-panel__main-title {
    top: unset;
    bottom: 8%;
    left: 8%;
    width: 85%;
    font-size: 22px;
  }
  .job-panel__main-title > strong {
    font-size: 40px;
  }
  .job-panel__tasks .job-panel__sub-title {
    margin-bottom: 20px;
  }
  .job-panel__sub-title {
    font-size: 24px;
  }
  .job-panel__desc-bullet-lists {
    font-size: 15px;
  }
  .job-panel__skills {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  /* page: sub page 공통 */
  #contents {
    margin-top: 60px;
  }
  .sub-page__title {
    margin-top: 0;
  }
  .btn-outline a, .btn-filled a {
    padding: 0 10px;
  }
  /* .recruit-detail-btns .btn-outline,
  .recruit-detail-btns .btn-filled {
    font-size: 14px;
  } */

  /* page: 채용공고 리스트 */
  #contents.recruit-board {
    margin-top: 60px;
  }
  .recruit-board__list .list-wrap {
    gap: 8px;
    padding: 10px 24px 10px 5px;
  }
  .recruit-detail .recruit-board__list .list-wrap {
    padding-bottom: 20px;
  }
  .recruit-board__list .list-wrap:has(.recruit-apply-btn) {
    padding-right: 0;
  }
  .recruit-board__list .list-title {
    font-size: 18px;
  }
  .recruit-board__list .list-copy-url {
    right: 0px;
  }
  .recruit-badge {
    height: 26px;
    font-size: 14px;
  }
  .recruit-date {
    font-size: 15px;
    flex: 0 0 100%;
  }
  .recruit-board__contents-info {
    padding: 0;
  }
  .recruit-board__contents-count {
    font-size: 16px;
  }
  .recruit-board__list .list-info {
    /* padding-right: 120px; */
  }
  .recruit-apply-btn {
    width: 110px;
    height: 36px;
  }
  .recruit-detail-btns .btn-outline,
  .recruit-detail-btns .btn-filled {
    height: 34px;
  }
  .recruit-board__list .recruit-apply-btn {
    top: 36px;
  }
  .recruit-apply-btn img {
    width: 16px;
  }
  .recruit-apply-btn > a {
    font-size: 16px;
  }
  .recruit-detail-view {
    padding: 20px 0;
  } 
  /* page: 로그인 (전형결과확인 */
  .apply__login-info {
    gap: 20px;
    padding: 20px 10px;
  }
  .apply__login-info dd {
    margin-top: 10px;
    margin-left: -30px;
    line-height: 1.2;
  }
  .apply__login-info dl {
    padding-left: 34px;
  }
  /* page: 전형결과 확인 */
  .apply-result__list {
    flex-direction: column;
    align-items: flex-start;
    overflow: hidden;
  }
  .apply-result__list-status {
    flex: initial;
  }
  .apply-result__list-btns {
    flex: initial;
    width: 100%;
    margin-left: unset;
  }
  .apply-result__list-title {
    width: 100%;
  }
  /* page: faq */
  .faq dt a {
    font-size: 18px;
  }
  /* page: 채용문의 */
  .agree-table.tbl-form th {
    width: 60px;
  }
  /* page: 입사지원 동의 */
  .apply_recruit p.agree-chk {
    justify-content: flex-start;
    align-items: flex-start;
  }
  .apply_recruit p.agree-chk label {
    text-align: left;
  }
  .apply_recruit .agree-table .wp30 {
    width: 100% !important;
  }
  .apply_recruit .agree-table.tbl-form th {
    width: 100px;
  }
  .apply_recruit .agree-table .wp20 {
    width: 100% !important;
    margin-bottom: 6px;
  }
  .apply_recruit__pwd-input {
    margin-bottom: 6px;
  }
  .modal-pwd-chg {
    flex-direction: column;
  }

  /* btn-top */
  .btn-top {
    width: 44px;
    height: 44px;
  }
}
