@charset "utf-8";
/* sect0, 메인비주얼 */
.main_sect0 {
  background-image: url('../img/main_sect0.png');
  background-repeat: no-repeat;
  background-size: cover;
  height: 800px;
  width: 100vw;
}

.main_visual {
  margin: 130px 0;
}

.mv_back {
  width: 100%;
  z-index: 0;
}

.mv_dots {
  z-index: 1;
}
.mv_dots_item{
  transition: all 0.3s ease;
  cursor:pointer
}
.mv_hover_text{
  transition: all 0.5s ease;
}

.mv_dots_item:hover .mv_hover_text{
  color: #35578d;
  font-weight: bolder;
  transform: scale(1.05);
}

.mv_1_text{
  margin-bottom: 30px;
}

.mv1 {
  position: absolute;
  top: -320px;
  left: -81px;
}
.mv_2_text{
  top: -4px;
  padding-left: 37px;
}

.mv2 {
  position: absolute;
  right: -510px;
  top: -67px;
}

.mv_3_text{
  top: -4px;
  padding-left: 37px;
}

.mv3 {
  position: absolute;
  bottom: -282px;
  left: 150px;
}

.mv_4_text{
padding-right: 37px
}

.mv4 {
  position: absolute;
  bottom: -281px;
  left: -303px;
}
.mv_5_text{
  padding-right: 37px
}
.mv5 {
  position: absolute;
  top: -70px;
  left: -499px;
}

/*.mv_dots{*/
/*  pointer-events: none;*/
/*}*/

/*.mv_dots img {*/
/*  opacity: 0;*/
/*  transition: opacity 1s ease;*/
/*}*/

.fade-in {
  opacity: 1 !important;
}

/* sect1 */
.main_sect1 {
  background-image: url('../img/main_sect1.png');
  background-repeat: no-repeat;
  background-size: cover;
  height: 900px;
  width: 100vw;
}

.ms1_content {
  padding: 100px 0;
}
.ms1_left {
  width: 40%;
}
.ms_right {
  width: 50%;
}

.ms1_slide {
  padding: 0 100px;
}

.swiper {
  position: relative;
  width: 100%;
  font-size: 0;
}

.swiper-slide {
  opacity: 0;
  transition: opacity 0.5s ease;
}

.swiper-slide-active {
  opacity: 1;
}

/* fade 효과를 위한 추가 스타일 */
.swiper-container-fade .swiper-slide {
  pointer-events: none;
}

.swiper-container-fade .swiper-slide-active {
  pointer-events: auto;
}
.swiper_slide_pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: absolute;
  left: 100px;
  bottom: 83px;
  width: 300px;
}

/* 커스텀 슬라이드 바 스타일 */
.custom-pagination {
  display: flex;
  align-items: center;
}

.slide-num-container {
  display: flex;
  align-items: center;
  position: relative;
  padding-bottom: 10px;
}

.current-slide-num,
.total-slide-num {
  color: #999;
}

.current-slide-num {
  margin-right: 5px;
}

.total-slide-num {
  margin-left: 5px;
}

/* 프로그레스 라인 */
.slide-progress {
  position: relative;
  width: 130px;
  height: 1px;
  background-color: #ebebeb;
  margin: 0 5px;
}

.slide-progress::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color: #bbbaba;
}

.slide-progress.animate-progress::after {
  animation: progressAnimation 8s linear forwards;
}

@keyframes progressAnimation {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}

/* 화살표 버튼 스타일 */
.swiper_page_arrow {
  position: relative;
  top: -4px;
}

.swiper-button-prev,
.swiper-button-next {
  position: static;
  width: fit-content !important;
  height: fit-content !important;
  margin: 0 !important;
  top: unset !important;
  cursor: pointer;
}
.swiper-button-prev i,
.swiper-button-next i {
  font-size: 14px !important;
  color: #9f9f9f !important;
}

.swiper-button-prev {
  left: -103px !important;
}

.swiper_page_arrow .mid {
  position: relative;
  height: fit-content !important;
  right: 82px !important;
  color: #9f9f9f !important;
  bottom: 4px;
}

.swiper-button-next {
  right: 61px !important;
}

.swiper-button-prev:after,
.swiper-button-next:after {
  display: none;
}

/* 애니메이션 기본 설정 */
.animate_item,
.animate_img {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s, transform 0.5s;
}

.animate_img {
  transform: scale(0.9);
  transition: opacity 0.5s, transform 0.8s;
}

/* 활성화된 슬라이드에서 애니메이션 적용 */
.swiper-slide-active .animate_item {
  opacity: 1;
  transform: translateY(0);
}

.swiper-slide-active .animate_img {
  opacity: 1;
  transform: scale(1);
}

/* 개별 항목 지연 적용 */
.swiper-slide-active .animate_item:nth-child(1) {
  transition-delay: 0.2s;
}

.swiper-slide-active .animate_item:nth-child(2) {
  transition-delay: 0.6s;
}

.swiper-slide-active .animate_item:nth-child(3) {
  transition-delay: 1s;
}

.swiper-slide-active .animate_img {
  transition-delay: 1.5s;
}

/* 슬라이드가 비활성화 될 때 애니메이션 초기화 */
.swiper-slide-prev .animate_item,
.swiper-slide-next .animate_item,
.swiper-slide-prev .animate_img,
.swiper-slide-next .animate_img {
  opacity: 0;
  transform: translateY(20px);
}

.swiper-slide-prev .animate_img,
.swiper-slide-next .animate_img {
  transform: scale(0.9);
}

.ms2_content1 {
}
.ms2_content1 {
  padding-left: 12.56%;
}
.ms2_content1_child1 {
  height: 465px;
}

.ms2_left_img {
  width: calc(100% / 4.4);
  height: 60px;
}
.ms2_left_img img {
  max-width: 90%;
  width: fit-content;
  object-fit: contain;
}

.main_sect3 {
  background-image: url('../img/ms3_back.webp');
  background-size: cover;
  background-repeat: no-repeat;
  height: 789px;
}

.ms3_content {
  padding: 120px 0;
}

.ms3_left {
  width: 30%;
}
.ms3_right {
  padding: 50px;
  width: 70%;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}
.ms_right_box {
}
.ms_input {
  border: 1px solid #d7d7d7;
  border-radius: 7px;
  padding: 10px;
  background-color: transparent;
  width: 100%;
}

.ms_input::placeholder {
  color: #fff;
}

.ms_textarea {
  border: 1px solid #fff;
  border-radius: 7px;
  padding: 10px;
  background-color: transparent;
  width: 100%;
  height: 305px;
}

.ms3_submit_btn {
  border-radius: 50px;
  padding: 20px 50px;
  background-color: #fff;
}

/* 기본 체크박스 숨기기 */
input[type='checkbox'] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 20px;
  height: 22px;
  background-color: transparent;
  border: 1px solid white;
  border-radius: 3px;
  outline: none;
  cursor: pointer;
  vertical-align: middle;
  position: relative;
}

/* 체크박스가 체크되었을 때  */
input[type='checkbox']:checked {
  background-color: transparent;
}

/* 체크 표시  */
input[type='checkbox']:checked::after {
  content: '';
  position: absolute;
  left: 7px;
  top: 3px;
  width: 5px;
  height: 12px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* 체크박스 포커스 상태 */
input[type='checkbox']:focus {
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.3);
}

/* mobile */
@media screen and (max-width: 767px) {

  .mv_back img {
    width: 189px;
  }

  .mv1 {
    transform: scale(0.7);
    position: absolute;
    top: -104px;
    left: -37px;
    width: 76px;
  }

  .mv2 {
    transform: scale(0.7);
    position: absolute;
    right: -128px;
    top: -22px;
    width: 105px;
  }
  .mv_2_text {
    top: -4px;
    padding-left: 9px;
  }

  .mv3 {
    transform: scale(0.7);
    position: absolute;
    bottom: -65px;
    left: 8px;
    width: 91px;
  }

  .mv_3_text {
    top: -4px;
    padding-left: 9px;
  }

  .mv4 {
    transform: scale(0.7);
    position: absolute;
    bottom: -65px;
    left: -98px;
    width: 62px;
  }
  .mv_4_text {
    padding-right: 9px;
  }

    .mv5 {
      transform: scale(0.7);
      position: absolute;
      top: -21px;
      left: -168px;
      width: 107px;
    }
  .mv_5_text {
    padding-right: 9px;
  }

  .main_sect0 {
    height: 300px;
  }
  .main_sect1 {
    height: 673px;
  }

  .ms1_slide {
    padding: 0 33px;
  }

  .ms1_left {
    width: 100%;
    margin-bottom: 30px;
  }

  .ms1_content {
    padding: 50px 0;
  }

  .ms1_right img {
    width: 100%;
  }
  .swiper_slide_pagination {
    left: 42px;
    bottom: 5px;
    width: 100%;
  }

  .ms2_left_img {
    width: calc(100% / 2.2);
    height: 45px;
  }
  .ms2_left_img img {
    width: 60%;
    height: 100%;
    object-fit: contain;
  }
  .ms3_content {
    padding: 15px 0;
  }

  .ms3_right {
    padding: 17px;
    width: 90%;
    margin-top: 30px;
  }
  .ms_input {
    border-radius: 7px;
  }
  .ms3_right_right {
    margin-top: 20px;
  }
  .ms3_submit_btn {
    padding: 9px 33px;
    margin-top: 20px;
  }

  .main_sect3 {
    max-height: 1066px;
    min-height: 900px;
  }
}

/* tablet 세로기준 */
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .main_visual {
    margin: 80px 0;
  }
  .mv_back img {
    width: 424px;
  }

  .mv1 {
    position: absolute;
    top: -178px;
    left: -46px;
    width: 94px;
  }

  .mv2 {
    position: absolute;
    right: -234px;
    top: -27px;
    width: 128px;
  }

  .mv3 {
    position: absolute;
    bottom: -131px;
    left: 67px;
    width: 107px;
  }

  .mv4 {
    position: absolute;
    bottom: -131px;
    left: -182px;
    width: 78px;
  }

  .mv5 {
    position: absolute;
    top: -27px;
    left: -293px;
    width: 128px;
  }

  .main_sect0 {
    height: 380px;
  }
  .main_sect1 {
    height: 673px;
  }

  .ms1_slide {
    padding: 0 33px;
  }

  .ms1_left {
    width: 100%;
    margin-bottom: 30px;
  }

  .ms1_content {
    padding: 50px 0;
  }

  .ms1_right img {
    width: 100%;
  }
  .swiper_slide_pagination {
    left: 42px;
    bottom: 5px;
    width: 100%;
  }

  .ms2_left_img {
    width: calc(100% / 2.2);
    height: 45px;
  }
  .ms2_left_img img {
    width: 60%;
    height: 100%;
    object-fit: contain;
  }
  .ms3_content {
    padding: 15px 0;
  }

  .ms3_right {
    padding: 17px;
    width: 94%;
    margin-top: 30px;
  }
  .ms_input {
    border-radius: 7px;
  }
  .ms3_right_right {
    margin-top: 20px;
  }
  .ms3_submit_btn {
    padding: 9px 33px;
    margin-top: 20px;
  }

  .main_sect3 {
    height: 928px;
  }
  .ms2_left_img {
    width: calc(100% / 3.3);
    height: 60px;
  }
  .ms2_left_img img {
    width: 60%;
    height: 100%;
    object-fit: contain;
  }

  .ms3_right_right{
    width:100% !important;
  }
}

/* 태블릿 아이패드미니 가로부터 ~ , 노트북 : 11인치  ~ 15인치 */
@media screen and (min-width: 1024px) and (max-width: 1440px) {
  .mv_dots {
    display: block !important;
    position: absolute !important;
    z-index: 1 !important;
    width: 100% !important;
    height: 100% !important;
  }
  .ms2_left_img {
    width: calc(100% / 3.3);
    height: 60px;
  }
  .ms2_left_img img {
    width:60%;
    height: 100%;
    object-fit: contain;
  }
  .ms1_left {
    width: 49%;
  }
  .ms1_right{
    width: 49%;
    display:flex;
    justify-content: flex-end;
  }
  .ms1_left1_img{
    width: 100%;
  }
  .ms1_left1_img img{
    width:100%;
  }
  .swiper_slide_pagination {

    bottom: 40px;
  }
  .ms2_left{
    width: 50%;
  }

  .mv1 {
    position: absolute;
    top: -28px;
    left: 495px;
  }

  .mv2 {
    position: absolute;
    right: 69px;
    top: 230px;
  }

  .mv3 {
    position: absolute;
    bottom: 17px;
    left: 727px;
  }

  .mv4 {
    position: absolute;
    bottom: 19px;
    left: 274px;
  }

  .mv5 {
    position: absolute;
    top: 229px;
    left: 77px;
  }
}
