/* font */
/* font-family: 'Noto Sans KR', sans-serif; */

/* 기본설정 시작 */
* {
  font: inherit;
}
html {
  background: #fff;
  font-family: "Noto Sans KR", sans-serif;
  overflow-x: hidden;
  max-width: 1920px;
  min-width: 300px;
  width: 100%;
  margin: auto;
}

body {
  overflow: hidden;
}

#aside,
#ft,
#hd {
  display: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
span,
strong {
  font-family: "Noto Sans KR", sans-serif;
}

.ip {
  display: none;
}

/*컴플리트 페이지*/
#hd,
#ft,
#aside {
  display: none;
}

.com_content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100vh;
}

.com_content h1 {
  text-align: center;
  font-size: 3vw;
}

.com_content button {
  display: inline-block;
  border: 9px solid #fff;
  border-radius: 26px;
  height: 108px;
  width: 436px;
  font-size: 38px;
  margin: 30px;
  font-family: "nanumsquare";
  font-weight: bold;
  color: #fff;
  text-align: center;
  display: flex;
  flex-direction: row;
  justify-content: space-evenly;
  align-items: center;
  background: linear-gradient(45deg, #dc5f64, #ae3f91);
  position: relative;
  cursor: pointer;
}

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

main {
  max-width: 700px;
  margin: 0 auto;
  overflow-x: hidden;
}

section {
  max-width: 700px;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

section .big-img.poa {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

section .big-img {
  margin: 0 auto;
  max-width: 1000px;
}

section .big-img img {
  width: 100%;
}

.swiper {
  width: 100%;
  height: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

.swiper-slide {
  text-align: center;
  font-size: 18px;
  background: #fff;
  /* Center slide text vertically */
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}

.swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.swiper .swiper-button-next,
.swiper1 .swiper-button-prev {
  width: 30px;
  height: 30px;
  background-image: none;
  border-bottom: 2px solid rgb(255, 255, 255);
  border-right: 2px solid rgb(255, 255, 255);
  rotate: -45deg;
}

.swiper .swiper-button-prev {
  rotate: -225deg;
}

/*스와이퍼 버튼 공용*/
.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after,
.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  content: none;
}

.swiper_btn {
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
  padding: 0 18px;
}

.swiper_btn .btn {
  position: relative;
  display: block;
  left: 0;
  top: 0;
  width: auto;
  height: auto;
  margin-top: 0;
  padding: 0;
  transform: none;
  color: #173348;
  font-family: var(--NotoSerif);
  font-weight: 600;
  font-size: 14px;
  transition: all 0.3s;
}

.swiper_btn .btn .txt {
  display: flex;
  align-items: center;
}

.swiper_btn .btn .txt span {
  font-family: "Noto Serif KR";
  text-transform: capitalize;
}

.swiper_btn .swiper-button-next .txt {
  justify-content: flex-end;
}

.swiper_btn .swiper-button-next svg {
  margin-left: 10px;
}

.swiper_btn .swiper-button-prev svg {
  margin-right: 10px;
}

.swiper_btn > div svg {
  fill: var(--blue);
  font-size: 10px;
}

.swiper_btn .swiper-button-disabled {
  opacity: 0.3;
}

.sub_swiper-scrollbar {
  margin-top: 2rem;
  background: #e0e0e0;
  border-radius: 0;
  left: 50% !important;
  bottom: 120px !important;
  width: calc(100% - 36px) !important;
  height: 2px !important;
  transform: translateX(-50%);
}

.sub_swiper-scrollbar .swiper-scrollbar-drag {
  height: 2px;
  background: #173348;
  border-radius: 0;
}

/* 기본설정 끝 */
/* 위에까지는 다 기본css 추후 랜딩 작업 시 위 부분 삭제하지 말것 */
/* ******************************************************************************************************** */
/* ******************************************************************************************************** */

/* 각각의 영역을 섹션으로 만드셔서 관리하시면 편합니다. 아래처럼 코드를 적어서 사용하시면 됩니다 */
.w_500 {
  overflow: hidden;
  max-width: 500px;
  width: 100%;
  margin: 0 auto;
  box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.15);
}

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

.section + .section {
  margin-top: -1px;
}

.btn_title {
  text-align: center;
  font-size: 32px;
  padding: 12px 0;
  color: #fff;
  font-weight: 700;
  font-family: Pretendard;
}

.blind {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.po_re {
  position: relative;
}

.d_flex {
  width: 100%;
  display: flex;
}

.flex_1 {
  flex: 1;
}

.gap_20 {
  gap: 20px;
}

.w_50 {
  width: 50% !important;
}

.px_20 {
  padding: 0 20px;
}

.mt_0 {
  margin-top: 0 !important;
}

.mt_16 {
  margin-top: 16px;
}

.mt_40 {
  margin-top: 40px;
}

.link {
  display: block;
  width: 92%;
  margin: 0 auto;
  border-radius: 20px;
  height: 60px;
  box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.1);
  aspect-ratio: 460 / 60;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}

.swiper_btn .swiper-button-next svg,
.swiper_btn .swiper-button-prev svg {
  width: 13px;
  height: 13px;
}

.section_01 {
  position: relative;
  background: url("../img/img_sec01_bg_01.webp") no-repeat center top / 100%
    auto;
  text-align: center;
}

.section_01 .ttl_area {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
}

.section_01 .lotte_area {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 108px;
  left: 80px;
  max-width: 100px;
  aspect-ratio: 1 / 1;
  /* transform: scale(2); */
}

.section_01 .img_txt_01 {
  margin: 44px 0 0;
}

.section_01 .d_flex {
  margin-bottom: 40px;
}

.section_01 .img_04 {
  margin: 40px 0;
}

.section_01 .img_05 {
  margin: 40px 0 16px;
}

.section_01 .link_01 {
  margin: 20px auto 80px;
  background-image: url("../img/img_sec01_btn_01.webp");
}

.section_02,
.section_03 {
  background: #f4f6fa;
}

.section_03 .txt_wrap {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 40px;
}

.section_03 .d_flex + .d_flex {
  margin-top: 20px;
}

.section_03 .img_wrap {
  padding: 20px 0 40px;
}

.section_03 .sc03_swiper {
  height: fit-content;
  background-color: #f4f6fa;
}
.section_03 .swiper-wrapper {
  height: fit-content;
}
.section_03 .swiper-slide {
  padding: 0 18.5px;
  background-color: #f4f6fa;
}
.section_03 .img_wrap {
  display: flex;
  gap: 12px;
}
.section_03 .img_box {
  width: calc((100% - 12px) / 2);
}
.section_03 .img_box img {
  height: fit-content;
  aspect-ratio: 370 / 247;
  object-fit: cover;
}
.section_03 .img_box .txt {
  margin-top: 6px;
  display: block;
  font-family: "Cormorant Garamond", serif;
  font-weight: 700;
  color: #173348;
  font-size: 13px;
}
.section_03 .swiper_btn {
  margin-top: 0;
  padding: 0 18.5px 40px;
}

.section_03 .swiper-button-next,
.section_03 .swiper-button-prev {
  rotate: 0deg;
  border: none;
}

.section_04 .link_02 {
  margin: 0 auto 50px;
  background-image: url("../img/img_sec04_btn_01.webp");
}

.section_05 {
  background: linear-gradient(180deg, #f7f7f7 0%, #fff 100%);
}

.section_05 .img_wrap {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.section_05 .link_03 {
  margin: 40px auto 80px;
  background-image: url("../img/img_sec05_btn_01.webp");
}

.section_07 {
  text-align: center;
  padding: 60px 0 0;
  background: #f5f6fa;
}

.section_07 .top_box .cont_tit {
  color: #173348;
  font-size: 24px;
  font-weight: 700;
}

.section_07 .top_box .cont_txt {
  min-height: 7.5rem;
}

.section_07 .swiper_page {
  margin: 16px 0 40px;
}

.section_07 .swiper_page .swiper-pagination {
  position: static;
  line-height: 1;
  color: #173348;
  font-weight: 600;
  font-size: 12px;
  font-family: "Noto Serif KR";
}

.section_07 .swiper_page .swiper-pagination-current {
  font-family: "Noto Serif KR";
  font-size: 24px;
  font-weight: 600;
  opacity: 1;
}

.section_07 .swiper_page .barSpace {
  margin: 0 0.3em 0 0.7rem;
  opacity: 0.5;
}

.section_07 .swiper_page .swiper-pagination-total {
  font-family: "Noto Serif KR";
  opacity: 0.5;
}

.section_07 .swiper-wrapper {
  height: unset;
}

.section_07 .slide_box .swiper-slide {
  padding-top: 40%;
}

.section_07 .slide_box .swiper-slide img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: unset;
  object-fit: cover;
  object-position: center;
  aspect-ratio: 2.5 / 1;
}

.section_07 .swiper_btn {
  padding-bottom: 10px;
}

.section_07 .swiper_btn .svg {
  width: 13px;
  height: 13px;
}

.section_08 .iframe_area {
  width: 100%;
  aspect-ratio: 1.33 / 1;
}

.section_08 .link_04 {
  margin: 40px auto 0;
  height: 40px;
  aspect-ratio: 460 / 40;
  background-image: url("../img/img_sec08_btn_01.webp");
}

.section_09 {
  background-color: #f5f6fa;
}

.section_09 .btn-wrap.row {
  display: flex;
  gap: 10px;
  padding: 0 18px;
}

.section_09 .btn-wrap.column {
  padding: 20px 0 30px;
}

.section_09 .btn-wrap.column .link + .link {
  margin-top: 12px;
}

.section_09 .btn-wrap .link {
  height: auto;
  background-size: cover;
}

.section_09 .btn-wrap.row .link {
  flex: 1;
  aspect-ratio: 0.8 / 1;
}

.section_09 .btn-wrap .link_05 {
  background-image: url("../img/img_sec09_btn_01.webp");
}

.section_09 .btn-wrap .link_06 {
  background-image: url("../img/img_sec09_btn_02.webp");
}

.section_09 .btn-wrap .link_07 {
  background-image: url("../img/img_sec09_btn_03.webp");
}

.section_09 .btn-wrap .link_08 {
  background-image: url("../img/img_sec09_btn_04.webp");
}

.section_09 .btn-wrap .link_09 {
  background-image: url("../img/img_sec09_btn_05.webp");
}

.floating_area {
  position: fixed;
  bottom: 20px;
  right: calc(50% - 230px);
}

.floating_btn + .floating_btn {
  margin-top: 10px;
}

.floating_btn {
  display: block;
  width: 80px;
  height: 80px;
  border-radius: 50%;
}

@media screen and (max-width: 500px) {
  .link {
    height: auto;
    border-radius: 4vw;
  }

  .section_01 .img_txt_01 {
    margin: 8.8vw 0 0;
  }

  .section_01 .d_flex {
    margin-bottom: 8vw;
  }

  .section_01 .img_04 {
    margin: 8vw 0;
  }

  .section_01 .img_05 {
    margin: 8vw 0 3.2vw;
  }

  .section_01 .lotte_area {
    top: 21.6vw;
    left: 16vw;
    width: 20vw;
  }

  .section_01 .link_01 {
    margin: 4vw auto 16vw;
  }

  .section_03 .txt_wrap {
    gap: 2vw;
    margin-bottom: 8vw;
  }

  .section_03 .d_flex + .d_flex {
    margin-top: 4vw;
  }

  .section_03 .img_wrap {
    padding: 4vw 0 8vw;
  }

  .section_04 .link_02 {
    margin: 0 auto 10vw;
  }

  .section_05 .img_wrap {
    gap: 2.4vw;
  }

  .section_05 .link_03 {
    margin: 8vw auto 16vw;
  }

  .section_07 {
    padding: 12vw 0 0;
  }

  .section_07 .swiper_page {
    margin: 3.2vw 0 8vw;
  }

  .section_07 .swiper_page .swiper-pagination {
    font-size: 2.4vw;
  }

  .section_07 .swiper_page .swiper-pagination-current {
    font-size: 4.8vw;
  }

  .swiper_btn {
    margin-top: 8vw;
    padding: 0 3.6vw;
  }

  .swiper_btn .btn {
    font-size: 2.8vw;
  }

  .swiper_btn .swiper-button-next svg {
    margin-left: 2vw;
  }

  .swiper_btn .swiper-button-prev svg {
    margin-right: 2vw;
  }

  .swiper_btn > div svg {
    font-size: 2vw;
  }

  .sub_swiper-scrollbar {
    margin-top: 4vw;
    bottom: 24vw !important;
    width: calc(100% - 7.2vw) !important;
    height: 0.4vw !important;
  }

  .section_07 .top_box .cont_tit {
    font-size: 4.8vw;
  }

  .section_08 .link_04 {
    margin: 8vw auto 0;
  }

  .section_09 .btn-wrap.row {
    gap: 2vw;
    padding: 0 3.6vw;
  }

  .section_09 .btn-wrap.column {
    padding: 4vw 0 16vw;
  }

  .section_09 .btn-wrap.column .link + .link {
    margin-top: 2.4vw;
  }

  .floating_area {
    bottom: 4vw;
    right: calc(50% - 48vw);
  }

  .floating_btn {
    width: 16vw;
    height: 16vw;
  }
}

/* ******************************************************************************************************** */
/* 밑에 코드들은 빠른상담 관련된 코드들입니다. 삭제하지 마시고 디자인적으로 필요한 요소들만 수정해 사용하시면 됩니다 */
/* ******************************************************************************************************** */

.form_inq {
  width: calc(100% - 40px);
  margin: 20px auto;
  padding: 20px 16px;
  text-align: left;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0px 2px 8px 0px rgba(192, 214, 228, 0.5);
}
.form_ttl {
  display: block;
  margin-bottom: 20px;
  color: #133247;
  font-family: Pretendard;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 1.1px;
}
.form_quest {
  color: #133247;
  font-family: Pretendard;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
}
.btn_result {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  width: 100%;
  height: auto;
  margin-top: 20px;
  padding: 12px 24px;
  border-radius: 9999px;
  color: #fff;
  background: linear-gradient(
      90deg,
      var(--Signature-Sub_Sky, #2fa6ce) 0%,
      var(--Signature-Sub_Pink, #d26fa8) 50%,
      var(--Signature-Sub_Orange, #e57627) 100%
    ),
    linear-gradient(180deg, #396cc7 0%, #1e52af 100%);
  box-shadow: 0px 2px 8px 0px rgba(124, 129, 185, 0.25);
  font-size: 18px;
  font-family: Pretendard;
  font-weight: 400;
  letter-spacing: -0.72px;
  line-height: 1.16;
}
.btn_result .ico {
  width: 24px;
  height: 24px;
  background: url(/img/arw_r_w.svg) no-repeat center center / 100% auto;
}

/*input*/
.form_group {
  display: flex;
  align-items: center;
  gap: 6px;
}
.form_group.column {
  flex-direction: column;
  align-items: flex-start;
}
.form_group.active + .caution {
  opacity: 0;
}
.form_group + .form_group,
.caution + .form_group {
  margin-top: 10px;
}
.form_group .form_label {
  display: flex;
  width: 110px;
  min-width: 110px;
  padding: 10px 0;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: -0.01em;
  color: #363636;
  word-break: break-all;
}
.form_group.column .form_label {
  padding: 0;
}
.form_group .form_label.require::after {
  content: "*";
  display: inline;
  margin-left: 0.1em;
  font-size: inherit;
  line-height: inherit;
  color: var(--color-danger);
}
.form_group .form_box {
  display: flex;
  flex: 1;
  width: 100%;
  gap: 10px;
  align-items: center;
}
.form_group .form_txt {
  font-size: 16px;
  line-height: 1.125;
  color: #999;
  white-space: nowrap;
}
.form_group + .caution {
  display: block;
  margin: 10px 0 0 120px;
  font-size: 12px;
  color: var(--color-danger);
  transition: opacity 0.2s ease;
}

.form_control {
  display: flex;
  width: 100%;
  min-height: 38px;
  align-items: center;
  padding: 5px 13px;
  border: 1px solid #e1e1e1;
  border-radius: 6px;
  background-color: #fff;
  font-family: Pretendard;
  font-size: 14px;
  line-height: 1.4;
  color: #171717;
  outline: none;
  transition: text-indent 0.45s;
}
.form_control::placeholder {
  transition: all 0.25s ease;
  color: #b2b0b6;
}
.form_control:focus::placeholder {
  transform: translate(0.2em);
}

/* form check,radio */
.form_check_list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.form_check {
  display: inline-block;
  position: relative;
}
.form_check .form_check_input {
  position: absolute;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.form_check .form_check_txt {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
  font-size: 14px;
  line-height: 1.5;
  color: #171717;
  -ms-user-select: none;
  -moz-user-select: -moz-none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}
.form_check .form_check_txt::before {
  content: "";
  display: block;
  width: 13px;
  height: 13px;
  margin-right: 6px;
  background-position: left top;
  background-size: 100% auto;
  background-repeat: no-repeat;
}
.form_check .form_check_input[type="checkbox"] ~ .form_check_txt::before {
  border-radius: 2px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='40' viewBox='0 0 20 40' fill='none'%3E%3Crect x='1' y='21' width='18' height='18' rx='3' fill='%23727272' stroke='%23727272' stroke-width='0.7'/%3E%3Cpath d='M14.2901 26.2551C14.4802 26.0897 14.7332 25.9982 14.9956 26C15.2581 26.0018 15.5095 26.0968 15.6968 26.2648C15.8841 26.4328 15.9927 26.6608 15.9996 26.9005C16.0066 27.1403 15.9113 27.3732 15.734 27.5501L10.3499 33.7044C10.2573 33.7955 10.1456 33.8686 10.0214 33.9194C9.89718 33.9702 9.76304 33.9975 9.62699 33.9998C9.49095 34.0021 9.35579 33.9793 9.22961 33.9328C9.10342 33.8863 8.9888 33.817 8.89259 33.729L5.32211 30.4656C5.22268 30.381 5.14293 30.2788 5.08761 30.1654C5.0323 30.0519 5.00256 29.9294 5.00016 29.8052C4.99776 29.681 5.02276 29.5577 5.07366 29.4425C5.12456 29.3273 5.20032 29.2227 5.29642 29.1348C5.39252 29.047 5.507 28.9778 5.63301 28.9312C5.75903 28.8847 5.89401 28.8619 6.02989 28.8641C6.16578 28.8662 6.29979 28.8934 6.42394 28.944C6.54808 28.9945 6.65981 29.0674 6.75246 29.1583L9.57808 31.7397L14.2645 26.2822C14.2729 26.2727 14.2819 26.2636 14.2915 26.2551H14.2901Z' fill='white'/%3E%3Crect x='1' y='1' width='18' height='18' rx='3' fill='white' stroke='%23727272' stroke-width='0.7'/%3E%3C/svg%3E");
}
.form_check .form_check_input[type="radio"] ~ .form_check_txt::before {
  border-radius: 50%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='40' viewBox='0 0 20 40' fill='none'%3E%3Cg clip-path='url(%23clip0_73_807)'%3E%3Crect x='1' y='1' width='18' height='18' rx='9' fill='white' stroke='%23727272' stroke-width='0.7'/%3E%3Crect x='1' y='21' width='18' height='18' rx='9' fill='%23727272' stroke='%23727272' stroke-width='0.7'/%3E%3Cpath d='M14.2901 26.2551C14.4802 26.0897 14.7332 25.9982 14.9956 26C15.2581 26.0018 15.5095 26.0968 15.6968 26.2648C15.8841 26.4328 15.9927 26.6608 15.9996 26.9005C16.0066 27.1403 15.9113 27.3732 15.734 27.5501L10.3499 33.7044C10.2573 33.7955 10.1456 33.8686 10.0214 33.9194C9.89718 33.9702 9.76304 33.9975 9.62699 33.9998C9.49095 34.0021 9.35579 33.9793 9.22961 33.9328C9.10342 33.8863 8.9888 33.817 8.89259 33.729L5.32211 30.4656C5.22268 30.381 5.14293 30.2788 5.08761 30.1654C5.0323 30.0519 5.00256 29.9294 5.00016 29.8052C4.99776 29.681 5.02276 29.5577 5.07366 29.4425C5.12456 29.3273 5.20032 29.2227 5.29642 29.1348C5.39252 29.047 5.507 28.9778 5.63301 28.9312C5.75903 28.8847 5.89401 28.8619 6.02989 28.8641C6.16578 28.8662 6.29979 28.8934 6.42394 28.944C6.54808 28.9945 6.65981 29.0674 6.75246 29.1583L9.57808 31.7397L14.2645 26.2822C14.2729 26.2727 14.2819 26.2636 14.2915 26.2551H14.2901Z' fill='white'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_73_807'%3E%3Crect width='20' height='40' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
}
.form_check .form_check_input:checked ~ .form_check_txt::before {
  background: var(--Signature-Sub_Sky, #2fa6ce);
  border: none;
  position: relative;
}
.form_check .form_check_input:checked ~ .form_check_txt::after {
  content: "";
  position: absolute;
  top: 5.2px;
  left: 4.8px;
  width: 4px;
  height: 8px;
  border-right: 2.5px solid #fff;
  border-bottom: 2.5px solid #fff;
  transform: rotate(45deg);
}

@media (max-width: 500px) {
  .form_inq {
    width: calc(100% - 8vw);
    margin: 4vw auto;
    padding: 4vw 3.2vw;
    border-radius: 3.2vw;
  }
  .form_ttl {
    margin-bottom: 4vw;
    letter-spacing: 0.22vw;
  }
  .btn_result {
    gap: 2vw;
    margin-top: 4vw;
    padding: 2.4vw 4.8vw;
  }
  .btn_result .ico {
    width: 4.8vw;
    height: 4.8vw;
  }

  /*input*/
  .form_group {
    gap: 1.2vw;
  }
  .form_group + .form_group,
  .caution + .form_group {
    margin-top: 2vw;
  }
  .form_group .form_label {
    width: 22vw;
    min-width: 22vw;
    padding: 2vw 0;
  }
  .form_group .form_box {
    gap: 2vw;
  }
  .form_group + .caution {
    margin: 2vw 0 0 24vw;
    color: var(--color-danger);
    transition: opacity 0.2s ease;
  }
  .form_control {
    min-height: 7.6vw;
    padding: 1vw 2.6vw;
    font-size: 2.8vw;
  }

  /* form check,radio */
  .form_check_list {
    gap: 2vw;
  }
  .form_check .form_check_input {
    width: 0.2vw !important;
    height: 0.2vw !important;
    margin: -0.2vw !important;
  }
  /* .form_check .form_check_txt::before { width: 2.6vw; height: 2.6vw; margin-right: 1.2vw;} */
  /* .form_check .form_check_input:checked ~ .form_check_txt::after { top: 1vw; left: 1vw; width: 0.8vw; height: 1.6vw;} */
}

/*modal*/
.modal {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  overflow-y: auto;
  width: 100%;
  height: 100%;
  z-index: 9000;
  opacity: 1;
  animation-timing-function: ease-out;
  animation-name: modal-open;
  background: rgba(0, 0, 0, 0.6);
  font-family: "Noto Sans KR", sans-serif;
}
.modal label,
.modal .btn {
  font-family: "Noto Sans KR", sans-serif;
}
.modal_close {
  display: none;
  opacity: 0;
}
.modal_close .modal_centered {
  transform: translate(0, 100px);
}
.modal h1 {
  font-size: 28px;
  font-weight: 700;
  color: #000;
  text-align: center;
}
.modal_centered {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  width: 100%;
  min-height: 100%;
  padding: 50px 0;
  box-sizing: border-box;
}
.modal_box {
  position: relative;
  z-index: 100;
  width: 80%;
  max-width: 400px;
  margin: auto;
  padding: 40px;
  border-radius: 16px;
  background-color: #fff;
  text-align: center;
  animation-timing-function: ease-out;
  animation-duration: 0.3s;
  animation-name: modal-inner;
  transform: translate(0, 0);
  transition: transform 0.3s ease-out;
}
.modal .btn_wrap {
  display: flex;
  flex-direction: row;
  gap: 16px;
  justify-content: center;
  margin-top: 16px;
}
.modal .txt-area {
  margin-bottom: 16px;
}
.modal .form-box {
  display: flex;
  gap: 10px;
  width: 100%;
}
.modal .form-box + .form-box {
  margin-top: 12px;
}
.modal .form-label {
  width: 100%;
  max-width: 100px;
  color: #333;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.8px;
  text-align-last: left;
}
.modal .form-input {
  width: 100%;
  height: 28px;
  padding: 1px 8px;
  color: #333;
  font-size: 16px;
  border-radius: 5px;
  border: 1px solid #ececec;
  background: #fff;
}
.modal .privacy {
  justify-content: center;
  margin: 16px 0;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.6px;
  color: #333;
}
.modal .privacy a {
  padding: 0;
  color: #333;
  text-decoration: underline;
}
.modal .mark {
  width: 14px;
  height: 14px;
  border: 1px solid #3f9980;
  border-radius: 6px;
  background-color: #fff;
}
.modal .cs_check:checked + .mark {
  background: #3f9980;
}
.modal .cs_check:checked + .mark::after {
  top: 0;
  left: 4px;
  border-color: #fff;
}
.modal .btn_wrap .btn {
  display: flex;
  flex: 1;
  padding: 12px;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
  color: #fff;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
}
.modal .btn_wrap .btn.cancel {
  background: #333;
}
.modal .btn_wrap .btn.apply {
  background: #3f9980;
}

@keyframes modal-open {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes modal-inner {
  from {
    transform: translate(0, 100px);
  }
  to {
    transform: translate(0, 0);
  }
}

/* ******************************************************************************************************** */
/* ******************************************************************************************************** */
/* ******************************************************************************************************** */

/* img{width: 100%;} */

@media (max-width: 500px) {
  .cs_name-1 {
    flex: 3;
  }
  .tele {
    flex: 7;
  }
  .cs_tel1,
  .cs_tel2,
  .cs_tel3 {
    width: 100%;
    min-width: unset;
  }

  .paper1 {
    top: 42.4vw;
    width: 44.8vw;
    height: 55vw;
    transform: translateX(-17px);
  }
  .paper2 {
    bottom: 39vw;
    width: 63.2vw;
    height: 77vw;
    transform: translateX(26.8vw);
  }
  .flag {
    top: 37.6vw;
    width: 67vw;
    height: 103.4vw;
    transform: translateX(-50%) rotate(3.55deg);
  }
  .card1 {
    bottom: 69vw;
    width: 32vw;
    height: 24vw;
    transform: translateX(-10px);
  }
  .card2 {
    bottom: 28vw;
    width: 29vw;
    height: 41vw;
    transform: translateX(-7px);
  }
  .card3 {
    bottom: 38vw;
    width: 44vw;
    height: 40vw;
    transform: translateX(30px);
  }

  .sc-02 .btn {
    gap: 4vw;
    bottom: 30.6vw;
    font-size: 6vw;
  }
  .sc-02 .btn::before,
  .sc-02 .btn::after {
    width: 4.8vw;
  }

  .btn_title {
    padding-bottom: 6px;
    font-size: 22.5px;
  }
  .cs_tel1,
  .inputbox input,
  .inputbox input::placeholder {
    font-size: 12px;
    height: 30px;
  }
  .fbx {
    gap: 6px;
    padding: 6px 30px 16px;
  }
  .privacy,
  .privacy a,
  .sub-btn {
    font-size: 12px;
  }
  .sub-btn {
    width: 32vw;
    height: 30px;
    padding: 4.5px 7.5px;
  }

  .modal_box {
    padding: 8vw;
  }
  .modal .btn_wrap .btn {
    font-size: 12px;
  }
}

@media (max-width: 425px) {
  .sec1_md_num {
    max-width: 325px;
  }

  .sec1_md_num {
    position: absolute;
    top: calc(50% - 130px);
    left: calc(50% - 162.5px);
  }
}

@media (max-width: 400px) {
  .inputbox {
    gap: 6px;
  }

  .tele,
  .cs_tel1,
  .cs_name-1,
  .inputbox input {
    width: 100%;
  }

  .tele {
    width: 100%;
    margin-left: 0;
  }
}

@media (max-width: 375px) {
}

@media (max-width: 320px) {
  .sec1_point_color {
    top: 130px;
    left: calc(50% - 130px);
  }

  .sec1_point_color > img {
    width: 90%;
  }
}

.reCapcha {
  margin-top: 20px;
  transform: scale(0.75);
  transform-origin: left center;
}
