.mo_btns {display: none;}
.dim {display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100vh; z-index: 7; background: rgba(0, 0, 0, 0.5);}
@media screen and (max-width: 1500px){
  .container {max-width: 100%; padding: 0 20px; box-sizing: border-box;}

  header {height: 70px;}
  header nav ul li a {font-size: 17px;}
  header nav ul li a img {width: 177px;}
  
  .visual {padding: 162px 0 100px;}
  .visual .txt-box {margin-bottom: 100px;}
  .visual .txt-box .tit {margin-bottom: 30px; font-size: 77px;}
  .visual .txt-box .sub {margin-bottom: 30px; font-size: 17px;}
  .visual .txt-box .link_btn {width: 150px; height: 47px; font-size: 17px;}
  .visual .bt_txt {gap: 37px;}
  .visual .bt_txt .txt {font-size: 15px;}

  section {padding: 100px 0;}
  .tit-box {margin-bottom: 60px;}
  .tit-box .sub {margin-bottom: 10px;}
  .tit-box .tit {font-size: 37px;}

  .sec1_ct ul li .child-box {height: auto;}
  .sec1_ct ul li .child-box .txt-box .tit {flex-wrap: wrap; gap: 5px;}

  .banner {padding: 100px 0;}
  .banner .txt-box .tit {margin-bottom: 10px; font-size: 37px;}
  .banner .txt-box .txt {font-size: 17px;}
  .banner .txt-box .link_btn {width: 177px; height: 50px; font-size: 17px;}

  footer {padding: 70px 0;}
  footer .left-box .logo {width: 237px;}
  footer .left-box .left_t {font-size: 15px;}
  .copyright {margin-top: 17px; font-size: 15px;}
  footer .address ul {gap: 60px;}
  footer .address ul li .child-box {gap: 7px;}
  footer .address ul li .child-box .txt {font-size: 15px;}

  /* .detail_ct .bt_box {padding-right: 272px;}
  .detail_ct .bt_box .ct_txt {max-width: 382px;} */
  .detail_sec {padding-top: 150px;}
  .detail_ct .bt_box .none_div {max-width: 23vw;}
  .detail_ct ul li:first-of-type .child-box .txt-box {margin-top: 37px;}
  .detail_ct ul li:first-of-type .child-box .txt-box .name {margin-bottom: 10px; font-size: 17px;}
  .detail_ct ul li:first-of-type .child-box .txt-box .tit {font-size: 37px; max-width: 100%;}

  .Introduction_sec {padding-top: 150px;}
  .sec_banner .tit_icon {width: 37px; margin: 0 auto 20px;}
  .sec_banner .txt-box .txt {margin-bottom: 20px; font-size: 27px;}
  .sec_banner .txt-box .txt2 {margin-bottom: 27px; font-size: 17px;}
  .sec_banner .txt-box .txt3 {font-size: 20px;}
  .sec_banner {padding-bottom: 100px;}
  
  .address_box .left-box .sub {font-size: 60px;}
  .address_box .left-box .tit {font-size: 60px;}

  .guide_sec {padding-top: 150px;}
  .guide_ct .txt-box .tit {word-break: keep-all;}
  .guide_sec2 .gt_tit {margin-bottom: 20px;}
  .guide_sec2 .gt_tit .sub {font-size: 50px;}
  .guide_sec2 .gt_tit .tit {font-size: 50px;}
  .guide_sec2 .guide_ct2 ul li .child-box {padding: 20px 0;}
  .guide_sec2 .guide_ct2 ul li .child-box .num {min-width: 120px; width: 120px; font-size: 20px;}
  .guide_sec2 .guide_ct2 ul li .child-box .tit {min-width: 200px; width: 200px; font-size: 20px;}
  .guide_sec2 .guide_ct2 ul li .child-box .txt {font-size: 17px; word-break: keep-all;}

  .form_sec {padding-top: 150px;}
  .form_sec .form_box .tit-box .txt {font-size: 16px; word-break: keep-all;}
  .form_sec .form_box .form_btn a {height: 45px;}
  .submit_btn {height: 45px; font-size: 16px;}
}

@media screen and (max-width: 1024px) {
 .mo_btns {display: flex; flex-flow: row-reverse; align-items: center; justify-content: space-between; height: 100%;}
 .mo_btns .logo {width: 170px; height: auto;}
 header.open:before {position: absolute; top: 0; left: 0; content: ''; display: block; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); z-index: 2;}
 header nav {position: fixed; top: 0; left: -300px; width: 300px; height: 100vh; background: var(--wt_fa); transition: all .5s;}
 header.open nav {left: 0; z-index: 3;}
 header nav ul {flex-flow: column; justify-content: center; gap: 20px; height: 100%;}
 header nav ul li:nth-child(3) {display: none; order: -1;}
 .mo_btn {position: relative; right: -10px; z-index: 5;}
 header nav ul li:nth-child(1) {margin-right: 0;}

 .ny-menu-btn {
    cursor: pointer;
    /* 부드러운 전환을 위한 공통 설정 */
  }

  .ny-menu-btn .hamburger-line {
    transform-origin: center;
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.3s ease;
  }

  /* --- 활성화(클릭) 되었을 때의 모션 상태 --- */

  /* 1. 상단 바: 아래로 내려오면서 45도 회전 (X자의 한쪽 축) */
  .ny-menu-btn.is-active .line-top {
    transform: translateY(10px) rotate(45deg);
    stroke: var(--wt);
  }

  /* 2. 중앙 바: 우아하게 투명해지며 사라짐 */
  .ny-menu-btn.is-active .line-mid {
    opacity: 0;
    transform: scaleX(0.5); /* 작아지면서 사라지는 디테일 */
    stroke: var(--wt);
  }

  /* 3. 하단 바: 위로 올라오면서 -45도 회전 (X자의 다른쪽 축) */
  .ny-menu-btn.is-active .line-bottom {
    transform: translateY(-10px) rotate(-45deg);
    stroke: var(--wt);
  }


  .visual {padding: 100px 0 70px;}
  .visual .txt-box .tit {margin-bottom: 20px; font-size: 50px;}
  .visual .txt-box .link_btn {width: 127px; height: 37px; font-size: 16px;}
  .visual .txt-box {margin-bottom: 70px;}
  .visual .bt_txt {gap: 20px;}
  .visual .bt_txt .txt br {display: none;}

  section {padding: 70px 0;}
  .tit-box {margin-bottom: 50px;}
  .tit-box .tit {font-size: 30px;}
  
  .category_tab ul li a {height: 37px; margin-bottom: 37px; font-size: 17px;}
  .sec1_ct ul li:nth-child(even) .child-box .txt-box {padding: 20px 0 10px;}
  .sec1_ct ul li .child-box .txt-box {padding: 20px 0 10px;}
  .sec1_ct ul {gap: 14px 0; margin: 0 -7px;}
  .sec1_ct ul li {width: calc(100% / 2); padding: 0 7px;}
  .sec1_ct ul li .child-box .txt-box .tit {flex-flow: column; align-items: flex-start; gap: 3px; margin-bottom: 10px;}

  .banner {padding: 70px 0;}
  .banner .txt-box .tit {margin-bottom: 7px; font-size: 30px;}
  .banner .txt-box .link_btn {width: 147px; height: 45px; margin: 30px auto 0;}

  footer {padding: 30px 0;}
  footer .d-flex {flex-flow: column; align-items: flex-start; gap: 50px;}
  footer .address ul {flex-flow: column; gap: 20px;}

  .detail_ct ul {flex-flow: column; gap: 50px;}
  .detail_ct ul li:first-of-type .child-box .txt-box {margin-top: 20px;}
  .detail_ct ul li:last-of-type .child-box {gap: 10px; padding-top: 0;}
  .detail_ct ul li:last-of-type .child-box .img-box {gap: 10px;}
  .detail_ct .bt_box {flex-flow: column-reverse; justify-content: flex-start; align-items: flex-start; margin-top: 20px;}
  .detail_ct .bt_box .none_div {display: none;}
  .detail_ct .bt_box .ct_txt {justify-content: flex-start; align-items: flex-start; text-align: left; max-width: 100%; height: auto;}

  .Introduction_sec {padding-top: 100px;}
  .address_box {padding-right: 0;}
  .address_box .left-box .tit {padding-left: 17px; font-size: 37px;}
  .address_box .left-box .sub {font-size: 37px;}
  .address_box .address_list dl dd {flex-flow: column;}
  .sec_banner .txt-box .txt2 {word-break: keep-all;}
  .it_ct ul {gap: 14px 0; margin: 0 -7px;}
  .it_ct ul li {width: calc(100% / 2); padding: 0 7px;}
  .it_ct ul li:nth-child(even) {top: 20px;}

  .guide_sec {padding-top: 100px;}
  .guide_ct {padding: 20px;}
  .guide_ct .txt-box .tit {font-size: 20px;}
  .guide_ct .txt-box .sub {font-size: 17px;}
  .guide_sec2 .gt_tit .sub {font-size: 30px;}
  .guide_sec2 .gt_tit .tit {font-size: 30px;}
  .guide_sec2 .guide_ct2 ul li .child-box {padding: 10px 0;}
  .guide_sec2 .guide_ct2 ul li .child-box .num {min-width: 100px; width: 100px; font-size: 17px;}
  .guide_sec2 .guide_ct2 ul li .child-box .tit {min-width: 150px; width: 150px; font-size: 17px; word-break: keep-all;}
  .guide_sec2 .guide_ct2 ul li .child-box .txt {font-size: 15px;}

  .form_sec {padding-top: 100px;}
  .input-box {flex-flow: column; align-items: flex-start; gap: 10px; padding-bottom: 10px; margin-bottom: 10px;}
  .input-box input {text-align: left; width: 100%; font-size: 15px;}
  .input-box textarea {word-break: keep-all; font-size: 15px;}
  .form_sec .form_box .form_btn {justify-content: center;}
  .form_sec .form_box .form_btn a {gap: 0; text-indent: -9999px; width: 50px; height: 50px; border-radius: 100%;}
}

@media screen and (max-width: 700px) {
  header {height: 50px;}
  .mo_btn {position: relative; right: -10px;}
  .mo_btns .logo {width: 150px;}
  .mo_btn svg {width: 50px;}

  .visual .txt-box {margin-bottom: 50px;}
  .visual .txt-box .tit {margin-bottom: 5px; font-size: 37px;}
  .visual .txt-box .sub {margin-bottom: 20px; font-size: 16px; word-break: keep-all;}
  .visual .txt-box .link_btn {width: 110px; height: 35px; font-size: 15px;}
  .visual .bt_txt {flex-flow: column; gap: 10px;}
  .visual .bt_txt .scroll_an {order: 3; min-width: 50px; width: 50px; margin-top: 50px;}

  .sec1_ct ul li .child-box .txt-box .date {width: 87px;}

  .banner .txt-box .tit {font-size: 25px;}
  .banner .txt-box .txt {word-break: keep-all;}
  
  .sec1_ct ul li:nth-child(even) .child-box {flex-flow: column;}

  .detail_ct ul li:first-of-type .child-box .txt-box .tit {font-size: 27px;}

  .detail_sec {padding-top: 100px;}
  
  .sec_banner {padding-bottom: 70px;}

  .guide_ct {flex-flow: column; gap: 20px;}
  .guide_ct .txt-box {padding-top: 0;}
  .guide_sec2 .gt_tit {margin-bottom: 10px;}
  .guide_sec2 .gt_tit .sub {font-size: 20px;}
  .guide_sec2 .gt_tit .tit {font-size: 20px;}
  .guide_sec2 .guide_ct2 ul li .child-box {flex-wrap: wrap;}
  .guide_sec2 .guide_ct2 ul li .child-box .txt {width: 100%; margin-top: 10px;}
  .guide_sec2 .guide_ct2 ul li .child-box .num {min-width: auto; width: auto; margin-right: 10px;}
}

@media screen and (max-width: 600px) {
  .address_box {flex-flow: column;}
}

@media screen and (max-width: 500px) {
  .category_tab ul {overflow: auto;}
  .category_tab ul li {flex: 0 0 auto; width: 100px;}
  .category_tab ul li a {width: 100%;}
}