@media screen and (max-width: 1655px){
  .visual {height: 600px;}
  .visual .img-box {max-width: 720px;}
  .visual:before {width: 530px;}
  .visual .txt-box .txt {font-size: 50px;}
  .visual .txt-box .sub {margin-top: 20px; font-size: 28px;}
}

@media screen and (max-width: 1200px) {
  .container {max-width: 100%; padding: 0 20px; box-sizing: border-box;}
  section {padding: 80px 0 !important;}
  .tit-box .tit {font-size: 36px; word-break: keep-all;}
  .tit-box .sub {margin-top: 8px; font-size: 17px; word-break: keep-all;}

  header {padding: 15px 0;}
  header .logo {width: 80px;}

  .visual {height: 637px;}
  .visual:before {width: 446px; height: 637px;}
  .visual .img-box {width: 590px;}
  .visual .txt-box .txt {font-size: 40px;}
  .visual .txt-box .sub {margin-top: 15px; font-size: 24px;}

  .form-area {padding: 20px 0;}
  .form-area .form-box {gap: 10px;}
  .input-wrap {padding: 20px 30px;}
  .submit-btn {height: 211px; font-size: 20px;}
  .submit-btn img {width: 50px;}

  .sec1 .container {padding: 128px 20px;}
  .sec1_ct .img-box {width: 440px;}
  .sec1_ct .txt-box .sub {margin-bottom: 15px; font-size: 22px;}
  .sec1_ct .txt-box .tit {margin-bottom: 15px; font-size: 36px;}
  .sec1_ct .txt-box .txt {font-size: 18px;}
  .sec1_ct .txt-box .description {margin-top: 80px; font-size: 15px; text-align: left;}

  .sec2 {padding: 80px 0 170px !important;}
  .sec2_ct ul .sec_img {width: 210px;}
  .sec2_ct ul .vs_img {width: 140px;}
  .sec2_ct .g80_img {bottom: -95px; width: 460px;}

  .sec3_ct ul li .child-box .img-box {padding: 20px;}
  .sec3_ct ul li .child-box .list_box {padding: 20px 20px 30px;}
  .sec3_ct ul li .child-box .list_box .name {font-size: 20px;}
  .sec3_ct ul li .child-box .list_box .dt_box {font-size: 15px;}
  .sec3_ct ul li .child-box .list_box .dl-box {gap: 10px; margin-top: 15px;}
  .sec3_ct ul li .child-box .list_box .dl-box dl dt {font-size: 16px;}
  .sec3_ct ul li .child-box .list_box .dl-box dl dd {font-size: 16px;}
  .description {margin-top: 18px; font-size: 15px;}

  .fixed-btn {right: 0; bottom: 0;}
  .fixed-btn a {width: 90px;}

  .sec5_ct ul {gap: 40px;}
  .sec5_ct ul li .child-box .icon {width: 65px; margin: 0 auto 20px;}
  .sec5_ct ul li .child-box .txt-box .tit {font-size: 22px;}
  .sec5_ct ul li .child-box .txt-box .num_txt {width: 220px; height: 55px; margin-top: 15px; font-size: 21px;}
  .sec5_ct ul li .child-box .txt-box .num_txt .num {font-size: 30px;;}
  .sec5_ct ul li .child-box .txt-box .num_txt .txt {margin-top: 3px;}
}

@media screen and (max-width: 1024px) {
  .visual {height: 485px;}
  .visual:before {width: 340px; height: 487px;}
  .visual .img-box {width: 450px;}
  .visual .txt-box .txt {font-size: 30px;}
  .visual .txt-box .sub {margin-top: 10px; font-size: 18px;}

  .form-area .form-box {flex-flow: column;}
  .submit-btn {flex-flow: row; gap: 10px; width: 100%; height: 45px; font-size: 16px;}
  .submit-btn img {width: 20px;}
  .ckd-box label {justify-content: left;}
  .input-box {gap: 10px;}
  .input-box .tit {min-width: 65px; width: 65px; font-size: 15px;}

  .sec1 {padding-bottom: 0 !important;}
  .sec1_ct {flex-flow: column-reverse; gap: 30px;}
  .sec1_ct .img-box {position: initial;}
  .sec1 .container {padding: 0 20px;}
  .sec1_ct .txt-box {text-align: center;}
  .sec1_ct .txt-box .sub {margin-bottom: 10px; font-size: 18px;}
  .sec1_ct .txt-box .tit {margin-bottom: 10px; font-size: 28px;}
  .sec1_ct .txt-box .txt {font-size: 16px;}
  .sec1_ct .txt-box .description {text-align: center; margin-top: 30px; font-size: 14px;}

  .tit-box .tit {font-size: 28px;}
  
  .sec2_ct ul {flex-flow: column; align-items: center;}
  .sec2_ct ul .sec_img {max-width: 310px; width: 100%;}
  .sec2_ct ul .sec_img .img2 {top: -40px; right: -20px; width: 85px;}
  .sec2_ct .g80_img {bottom: -122px; width: 395px;}
  .sec3_ct ul {gap: 15px 0; margin: 0 -5px;}
  .sec3_ct ul li {width: calc(100% / 2); padding: 0 5px; box-sizing: border-box;}
  .description {font-size: 14px;}

  .sec4_ct ul {flex-wrap: wrap; gap: 20px 0; justify-content: center; margin: 0 -5px;}
  .sec4_ct ul li {width: calc(100% / 3); padding: 0 5px; box-sizing: border-box; text-align: center;}
  .sec4_ct ul:before {display: none;}
  .sec4_ct ul li:before {display: none;}

  .sec5_ct ul {flex-flow: column; gap: 20px;}
  .sec5_ct ul li .child-box .icon {width: 35px; margin: 0 auto 10px;}
  .sec5_ct ul li .child-box .txt-box .tit {font-size: 18px;}
  .sec5_ct ul li .child-box .txt-box .num_txt {width: 165px; height: 40px; margin-top: 10px; font-size: 16px;}
  .sec5_ct ul li .child-box .txt-box .num_txt .num {font-size: 20px;}

  footer {padding: 30px 0;}

  .fixed-btn {right: 20px; bottom: 20px;}
  /* .fixed-btn a {width: 80px;} */
}

@media screen and (max-width: 768px) {
  .visual {height: auto; padding: 100px 0;}
  .visual .container {flex-flow: column;}
  .visual .txt-box {text-align: center;}
  .visual .txt-box .txt {font-size: 26px;}
  .visual .txt-box .sub {font-size: 16px;}
  .visual .img-box {position: relative; bottom: 0; right: 0; max-width: 320px; width: 100%;}
  .visual:before {width: 383px; height: 534px;}

  .sec1_ct .txt-box {word-break: keep-all;}
  .sec1_ct .txt-box .sub {font-size: 16px;}
  .sec1_ct .txt-box .description {margin-top: 20px;}

  .popup_area {max-width: calc(100% - 40px); padding: 20px;}
  .popup_area .submit_btn {height: 45px; font-size: 16px;}
  /* .popup_area .popup_body {height: 370px;} */
  .radio_box {flex-flow: column; align-items: flex-start; gap: 10px;}
  .radio_box label:before {width: 15px;}
  .popup_area .popup_item .txt-box {height: 150px;}
  .popup_area .popup_item .txt-box p {padding: 10px;}
  .popup_area .popup_item .tit {padding: 10px;}
  .radio_box .radio_tit2 {font-size: 15px;}
  .radio_box .radio_tit {word-break: keep-all; line-height: 1.3;}
  .popup_area .popup_hd .close_btn {top: 20px; right: 20px;}
}

@media screen and (max-width: 600px) {
  .sec1_ct .img-box {width: 100%;}
  .sec2_ct .g80_img {width: 100%;}

  .sec3_ct ul li {width: 100%;}

  .sec4_ct ul li {width: calc(100% / 2);}
  .sec4_ct ul li .child-box .img-box {height: 210px;}

  .visual {padding: 75px 0;}
  .visual:before {top: auto; bottom: 0; width: 243px; height: 337px;}

  .input-box {flex-flow: column; align-items: flex-start; gap: 10px; margin-bottom: 20px;}
  .input-box .d-flex {gap: 4px;}
  .sec1_ct .img-box img {position: relative; left: -8vw;}
}

@media screen and (max-width: 340px) {
  .visual:before {width: 208px; height: 296px;}
}