html {
  font-size: 19px;
  /* 기본 사이즈 설정 */

  /* 크로스 브라우징 위한 트랜지션 */
  -webkit-transition: all 0.3s ease;
  /* 크롬, 사파리 */
  -moz-transition: all 0.3s ease;
  /* 파이어폭스 */
  -o-transition: all 0.3s ease;
  /* 오페라 */
  transition: all 0.3s ease;
  /* 표준 */
}

/* 박스 그림자 (box-shadow) */
.example {
  -webkit-box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  /* 크롬, 사파리 */
  -moz-box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  /* 파이어폭스 */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  /* 표준 */
}

/* 플렉스 박스 레이아웃 */
.container {
  display: -webkit-flex;
  /* 크롬, 사파리 */
  display: -moz-flex;
  /* 파이어폭스 */
  display: -ms-flexbox;
  /* IE */
  display: flex;
  /* 표준 */
  -webkit-justify-content: center;
  /* 크롬, 사파리 */
  justify-content: center;
}

/* 그라디언트 백그라운드 */
.gradient-bg {
  background: -webkit-linear-gradient(top, #ff4b4b, #007bff);
  /* 크롬, 사파리 */
  background: -moz-linear-gradient(top, #ff4b4b, #007bff);
  /* 파이어폭스 */
  background: -o-linear-gradient(top, #ff4b4b, #007bff);
  /* 오페라 */
  background: linear-gradient(to bottom, #ff4b4b, #007bff);
  /* 표준 */
}

/* 카카오톡 아이콘 */
.kakao-icon {
  position: fixed;
  /* 스크롤 내려도 고정 */
  bottom: 1.5rem;
  /* 하단에서 20px 떨어진 위치 */
  right: 1rem;
  /* 오른쪽에서 20px 떨어진 위치 */
  width: 4rem;
  /* 아이콘 크기 */
  height: 4rem;
  border-radius: 50%;
  /* 동그라미 모양 */
  cursor: pointer;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  /* 그림자 효과 */
  transition: transform 0.3s ease;
  /* 애니메이션 효과 */
  z-index: 1000;
}

.kakao-icon:hover {
  transform: scale(1.1);
  /* 호버 시 아이콘 살짝 커짐 */
}

body {
  font-family: "pretendard", sans-serif;
  margin: 0;
  padding: 0;
  background-color: #fff;

  width: 100%;
  overflow-x: hidden;
}

pre {
  font-family: "pretendard", sans-serif;
}

/* 상단 바 스타일 */
.navbar {
  position: fixed;
  /* 고정 위치 */
  top: 0;
  /* 화면의 상단에 위치 */
  width: 100%;
  /* 전체 화면 너비 차지 */
  background-color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-sizing: border-box;
  padding: 1rem 4rem;
  box-shadow: 0px 0.2rem 0.5rem rgba(0, 0, 0, 0.1);
  z-index: 1000;
}

.navbar a {
  text-decoration: none;
  font-weight: bold;
  color: #007bff;
  font-size: 1.8rem;
}

#nav-button1 {
  font-size: 1.8rem;
}

#nav-button2,
#nav-button3 {
  font-size: 1.4rem;
  align-content: center;
}

/* 기본 섹션 스타일 */

#first-section {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100% !important;
  height: 10rem;
  margin-top: 5rem;
  margin-bottom: 5rem;
}

section {
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
}

.section {
  width: 60%;
  height: auto;
  display: grid;
  grid-template-columns: repeat(1, 1fr); /* 2열 구성 */
  justify-content: flex-start;
  align-items: center;
  text-align: center;
  padding: 5rem 0;
}

.section h1 {
  margin-left: 0rem;
  font-size: 1.9rem;
  color: #333;
  text-align: left;
}

.section .highlight {
  line-height: 120%;
  text-align: left;
  align-self: flex-start;
  color: red;
  font-size: 2.2rem;
  font-weight: 600;
}

.lowlight {
  text-align: left;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 150%;
}

.lowlight span {
  color: red;
}

.span-big {
  font-weight: bold;
  font-size: 2.1rem;
  color: red;
  line-height: 0%;
}

.span-medium {
  color: #333;
  font-weight: bold;
  font-size: 1.6rem;
}

/* 섹션 텍스트 스타일 */
.section_text {
  line-height: 280%;
  text-align: left;
  justify-items: flex-start;
  align-items: flex-start;
}
.bottom-box {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  justify-content: flex-start;
  align-items: center;
  gap: 8rem;
  padding: 2rem 0;
}

/* 중앙 텍스트 스타일 */
.main-text {
  text-align: center;
  margin: 0rem 0 1rem 0;
  font-size: 2.5rem;
  color: #333;
  font-weight: 600;
}

/* 서비스 버튼 섹션 */
.services {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin: 3.5rem 6rem;
}

.service {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  position: relative;
  width: 10.5rem;
  height: 9.5rem;
  border: 0.1rem solid #007bff;
  border-radius: 0.5rem;
  padding: 1rem;
  box-shadow: 0.1rem 0.1rem 0.7rem rgba(0, 0, 0, 0.3);
  text-align: bottom;
  transition: transform 0.3s ease, box-shadow 0.3s ease,
    background-color 0.3s ease;
  /* 부드러운 전환 효과 */
}
.service:hover {
  transform: translateY(-5px) scale(1.05); /* 살짝 위로 올라가고 크기 증가 */
  box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.2); /* 그림자 커짐 */
  background-color: #f0f8ff; /* 배경색 변경 (연한 파란색) */
}
.service:active {
  transform: translateY(-5px) scale(0.98);
  /* 위로 살짝 올라가며 크기 줄어드는 효과 */
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.15);
}

.service img {
  position: absolute;
  width: 7.2rem;
  height: 5rem;
  right: 1rem;
  bottom: 1rem;
}

.service h3 {
  justify-content: flex-start;
  font-size: 1rem;
  font-weight: bold;
  color: #007bff;
  margin: 0;
}

.size-up {
  font-size: 1.4rem !important;
  font-weight: bold;
}

/* 첫 번째 서비스의 배경색 */
.service.first {
  background-color: #007bff;
  color: #fff;
}

.service.first h3 {
  color: #fff;
}

/*정보 카드 섹션*/
.unique {
  height: 25rem;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 10rem;
}

.unique-container {
  max-width: 25.3rem;
  margin: 0 auto;
  padding: 0.8rem;
}

.info-top {
  margin-right: auto;
}

.info-card {
  margin-bottom: 1.1rem;
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.1);
}

.info-card-title {
  font-size: 1.4rem;
  color: white;
  background-color: #1e88e5;
  padding: 0.6rem;
  text-align: center;
}

.info-card-content {
  font-size: 1.1rem;
  color: #333;
  background-color: #e3f2fd;
  padding: 0.8rem;
  line-height: 1.6;
}

.highlight-bold {
  font-weight: bold;
}

.highlight-blue {
  font-weight: bold;
  color: white;
  background-color: #4ea6f3;
  padding: 0.2rem 0.4rem;
  border-radius: 0.2rem;
}

.highlight-red {
  font-weight: bold;
  color: white;
  background-color: #e65a5a;
  padding: 0.2rem 0.4rem;
  border-radius: 0.2rem;
}

.consultation-card {
  font-size: 1rem;
  color: #333;
  background-color: #ffffff;
  padding: 0.8rem;
  border-radius: 0.2rem;
  text-align: left;
  line-height: 1.6;
  box-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.1);
}

.highlight-redline {
  font-weight: bold;
  color: #e53935;
}

/* 그래프 섹션 스타일 */
.info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 2rem 1rem;
  padding-bottom: 5rem;
  z-index: 1000;
}

.info-container {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding-top: 6rem;
  height: 22rem;
  margin: 0;
}

/* 도넛 그래프 */
.donut-chart-container {
  display: flex;
  justify-content: right;
  align-content: center;
  width: 27rem;
  height: 22rem;
}

.donut-chart {
  position: relative;
  width: 27rem;
  height: 22rem;
  display: flex;
  justify-content: right;
  align-content: bottom;
}

.donut-inner-text {
  position: relative;
  width: 22rem;
  height: 18rem;
}

.donut-inner-text img {
  top: 1rem;
}

.donut-inner-text span {
  position: absolute;
}

.chart-top {
  right: 22%;
  top: 6.8rem;
  font-size: 1.4rem;
}

.chart-bottom {
  right: 25.5%;
  top: 8.5rem;
  font-size: 1rem;
  color: #6865ca;
}

.chart-pre {
  position: absolute;
  left: 0%;
  top: 0%;
  font-size: 1rem;
}

.chart-left {
  left: 7%;
  bottom: 26%;
  font-size: 1.4rem;
}

.chart-left-bottom {
  font-size: 1rem;
  left: 14.5%;
  bottom: 18%;
  color: #4ea6f3;
}

.small {
  font-size: 0.82rem;
}

/* 하단 텍스트 */
.info-footer {
  width: 100%;
  font-size: 1rem;
  color: #333;
  line-height: 1.6;
  background-color: #e3f2fd;
  padding: 1rem 0rem;
  padding-left: 2rem;
  z-index: 1000;
  text-align: left;
  text-indent: 1rem;
}

/* 말풍선과 이미지 배치 */
.balloon {
  display: flex;
  flex-direction: column;
  /* 세로 방향으로 정렬 */
  align-items: flex-start;
  /* 기본적으로 왼쪽 정렬 */
  width: 27%;
  margin-top: 2rem;
}

/* 말풍선 이미지 스타일 */
.balloon-item {
  width: 13rem;
  height: auto;
  position: relative;
  float: right;
}

.balloon-item pre {
  color: #007bff;
  position: absolute;
  text-align: left;
  font-size: 1.1rem;
  font-weight: 600;
  top: 6%;
  left: 18%;
}

#chat2,
#chat3 {
  align-self: flex-end;
  /* 말풍선 오른쪽 정렬 */
}

#image1 {
  display: none;
  /*두 번째 말풍선 안 보이기*/
}

#chat3 pre {
  top: -4%;
}

.balloon img {
  border-radius: 1rem;
}

#image2 {
  width: 90%;
  top: 1rem;
  right: 3.2rem;
}

/* 이미지 정렬 */
.image-container {
  display: flex;
  justify-content: center;
  margin-top: 2rem;
}

.image-container img {
  max-width: 25rem;
  height: auto;
}

#section_text3 h1 {
  font-size: 1.7rem;
}

/* 하단 텍스트 */
.bottom-text {
  font-size: 1.2rem;
  font-weight: 600;
  margin-top: 1.5rem;
  color: #333;
  text-align: left;
  /* 텍스트 왼쪽 정렬 */
}

.bottom-text span {
  color: red;
  /* 강조된 텍스트 색상 */
}

.bottom-text-big {
  font-size: 1.5rem;
  font-weight: 500;
  text-align: left;
  line-height: 180%;
}

.bottom-text-big span {
  font-size: 2rem;
  font-weight: bold;
  color: red;
}

/* 리뷰 컨테이너 */

.review-container {
  overflow: hidden;
  /* 슬라이드가 영역을 벗어나지 않도록 */
  width: 100%;
  display: flex;
  gap: 1rem;
  /* 박스 사이 간격 */
}

.review-slider {
  width: 100%;
  height: 120%;
  display: flex;
  justify-content: center;
  gap: 2rem;
  margin: 2rem;
  margin-bottom: 1rem;
  transition: transform 0.4s ease-in-out;
  /* 애니메이션 효과 */
}

.review-box {
  position: relative;
  height: 20rem;
  background-color: #ffffff;
  /* 박스 배경색 */
  padding: 1rem 2rem;
  border-radius: 1rem;
  /* 둥근 모서리 */
  box-shadow: 0px 0.2rem 0.5rem rgba(0, 0, 0, 0.1);
  /* 그림자 효과 */
  text-align: left;
  /* 텍스트 정렬 */
  justify-items: flex-start;
  align-content: flex-start;
  font-weight: 600;
}

.review-box pre {
  width: 100%;
  color: #555;
  font-size: 1.7rem;
  margin: 0.5rem;
}

.review-box img {
  position: absolute;
  width: 5rem;
  height: auto;
  right: 0.5rem;
  bottom: 1.7rem;
}

/* 리뷰 화살표 버튼 */
.navigation-buttons {
  display: flex;
  justify-content: center;
  /* 가운데 정렬 */
  gap: 1rem;
  /* 버튼 사이 간격 */
  margin-top: 2rem;
  /* 상단 여백 */
}

.prev-button,
.next-button {
  background-color: transparent;
  /* 배경색 투명 */
  border: none;
  /* 테두리 제거 */
  cursor: pointer;
  /* 클릭할 수 있도록 포인터 모양 변경 */
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  /* 버튼 크기 */
  height: 2.5rem;
  transition: transform 0.3s ease;
  /* 호버 시 애니메이션 효과 */
}

.prev-button:hover,
.next-button:hover {
  transform: scale(1.1);
  /* 호버 시 버튼 확대 */
}

.prev-button img,
.next-button img {
  width: 100%;
  /* 이미지 크기 조정 */
  height: auto;
}

.footer {
  background-color: #ffffff;
  max-height: 300rem;
  padding: 1.5rem;
  text-align: center;
  font-size: 0.9rem;
  line-height: 100%;
  color: #333;
  box-shadow: 0px -4px 10px rgba(0, 0, 0, 0.1);
  /* 위쪽에만 그림자 */
}

.footer-header {
  display: flex;
  justify-content: left;
}

#arrow {
  margin-left: 0.7rem;
  width: 1rem;
}

.footer-logo {
  text-align: left;
  font-weight: bold;
  margin-left: 1.6rem;
  margin-bottom: 1rem;
}

.footer-header:hover {
  cursor: pointer;
  color: #888;
}

.footer-content {
  display: none;
  /* 처음에는 숨겨진 상태 */
}

.footer-content pre {
  margin-left: 2rem;
  color: #666;
  font-size: 0.9rem;
  line-height: 120%;
  text-align: left;
}

.footer-content pre .red {
  color: #ff4b4b;
}

.footer_button:hover {
  color: #007bff;
  cursor: pointer;
}

.call {
  font-size: 1.8rem;
  font-weight: bold;
}

/* 개인정보처리방침 또는 이용약관 */
/* 모달 기본 스타일 */
.modal {
  display: none;
  position: fixed;
  z-index: 1001;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}

/* 모달 콘텐츠 박스 */
.modal-content {
  position: relative;
  background-color: white;
  margin: 2rem auto; /* 15% -> 약 7.89rem (15% 화면 높이를 rem으로 변환) */
  padding: 2rem;
  border-radius: 0.53rem; /* 10px -> 0.53rem */
  width: 80%;
  height: 40rem;
  max-width: 50rem; /* 60rem (1140px) -> 약 31.58rem */
  box-shadow: 0 0.21rem 0.42rem rgba(0, 0, 0, 0.2); /* 4px 8px -> 0.21rem 0.42rem */
  overflow-y: auto; /* 세로 스크롤 활성화 */
}

/* 닫기 버튼 */
.close {
  position: absolute;
  top: 0.53rem; /* 10px -> 0.53rem */
  right: 0.79rem; /* 15px -> 0.79rem */
  font-size: 2rem; /* 15px -> 0.79rem */
  cursor: pointer;
}

/*애니메이션*/
.fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1.2s ease-out, transform 1.2s ease-out;
}

.fade-in.show {
  opacity: 1;
  transform: translateY(0);
}

/* 인라인 태그 */

.inline1 {
  margin-bottom: 2rem;
}

.inline5 {
  align-self: flex-start;
  /* 왼쪽 정렬 */
}

.inline8 {
  width: 30%;
}

.inline9,
.inline10 {
  font-size: 1.6rem !important;
  margin: 0.5rem auto;
}

.inline10 {
  font-size: 1.9rem !important;
}

.inline13 {
  font-size: 1.3rem !important;
}

.inline14 {
  color: #333;
  line-height: 120%;
  width: 100%;
}

.margin {
  margin: 0.5rem 0rem;
}

.bold {
  font-weight: bold;
}

.nomal {
  font-weight: 400;
}

.purple {
  color: #6865ca;
}

.white {
  background-color: #ffffff;
}

.gray {
  background-color: #fafafa;
}

/* 반응형 미디어 쿼리 */
@media only screen and (max-width: 1800px) {
  .section {
    width: 70%;
  }
}
@media only screen and (max-width: 1600px) {
  .section {
    width: 80%;
  }
}
@media only screen and (max-width: 1400px) {
  .section {
    width: 90%;
  }
}
@media only screen and (max-width: 1280px) {
  html {
    font-size: 17px;
  }
}
/* 태블릿 버전 (화면 너비가 1100px 이하일 때) */
@media only screen and (max-width: 1100px) {
  html {
    font-size: 14.5px;
  }
}

@media only screen and (max-width: 950px) {
  .section {
    width: 80%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: left;
  }
  #first-section {
    margin-top: 4rem;
  }
  .donut-chart {
    width: 95%;
  }
  .bottom-box {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .info-top {
    margin-right: 0;
  }
  .bottom-text-big {
    margin-right: auto;
  }
}

@media only screen and (max-width: 768px) {
  html {
    font-size: 15px;
  }
  .services {
    display: grid;
    grid-template-columns: repeat(2, 0fr);
  }

  .main-text {
    font-size: 2.1rem;
  }

  .unique-container {
    padding: 1.2rem;
  }

  .info-card-title,
  .info-card-content,
  .consultation-card {
    font-size: 1rem;
  }
}

@media only screen and (max-width: 600px) {
  html {
    font-size: 14px;
  }

  .section {
    height: auto;
    padding-top: 4rem;
  }

  .main-text {
    font-size: 2rem;
  }

  .info-footer {
    padding: 1rem 0;
    width: 100%;
    overflow: hidden;
  }

  .footer-logo {
    margin-left: 0rem;
  }

  .footer-content pre {
    font-size: 1.1rem;
    text-align: left;
    margin-left: 0rem;
  }

  .call {
    font-size: 2rem;
    font-weight: bold;
  }

  /* 스마트폰 버전 */
  @media only screen and (max-width: 480px) {
    #first-section {
      height: 35rem;
      margin-top: 5rem;
      margin-bottom: 0;
      padding-bottom: 0;
    }

    .main-text {
      font-size: 1.8rem;
    }
    .info-top,
    .bottom-text-big {
      margin-right: auto;
      text-align: left;
    }
    .section_text {
      position: relative;
      left: 0px;
      margin-right: auto;
    }
    .unique-container {
      padding-top: 5rem;
    }
    .unique,
    .info {
      height: 130%;
      padding: 0rem;
    }

    .info-card-content,
    .consultation-card {
      font-size: 1rem;
    }

    .info-card-title,
    .info-highlight {
      font-size: 1.4rem;
    }
    .section {
      width: 90%;
    }
    .section h1,
    .section .highlight {
      font-size: 1.4rem;
      line-height: 120%;
    }

    .bottom-text-big {
      font-size: 1rem;
    }

    .bottom-text-big span {
      font-size: 1.4rem;
    }

    .bottom-text-big {
      margin-left: 0rem;
      /* 왼쪽 여백을 0으로 설정해서 왼쪽으로 붙이기 */
    }

    .inline14 {
      font-size: 1.9rem;
    }

    h1,
    p,
    pre,
    .highlight {
      text-align: left;
      padding-left: 0rem;
    }

    .balloon-item pre {
      padding-left: 0;
    }

    #section_text2 pre {
      font-size: 1rem;
    }

    .review-box pre {
      font-size: 1rem;
    }

    .review-box {
      height: 13.5rem;
    }

    .review-box img {
      width: 4rem;
    }

    #section_text3 h1 {
      font-size: 1.4rem;
      color: #333;
    }

    #section_text2 {
      line-height: 80% !important;
    }

    .lowlight {
      font-size: 1rem;
    }
  }
}
/* 400px 이하일 때 */
@media only screen and (max-width: 400px) {
  html {
    font-size: 13px;
  }

  #section_text3 {
    width: 90%;
  }
}

@media only screen and (max-width: 350px) {
  html {
    font-size: 11px;
  }
}
