.container {
  background: #f7f5f5;
}

.title {
  display: flex;
  padding-top: 155px;
  border-bottom: 1px solid #346c9c;
  margin-bottom: 100px;
}

.title > div {
  flex: 1;
}

.title > div > h1 {
  text-align: right;
  font-size: 40px;
  color: #346c9c;
  border-bottom: solid 12px #346c9c;
}

.title > div > h1 > span {
  font-size: 48px;
  font-weight: 600px;
  color: #249fe6;
}

.section1_content {
  width: inherit;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.section1_content > h2 {
  display: flex;
  align-items: center;
  column-gap: 24px;
  width: 100%;
  padding-left: 93px;
  text-align: left;
  color: #008ad4;
  font-size: 30px;
  font-weight: 600px;
}

.section1_content > h2 > svg {
  fill: #008ad4;
}

.content_card_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 34px;
  row-gap: 68px;
  width: 1140px;
  margin: 56px 0 128px;
}

.content_card {
  width: 552px;
  height: 320px;
  overflow: hidden;
  border-radius: 25px;
  background: #fff;
  cursor: pointer;
}

.content_card > img {
  width: 100%;
}

#popup_bg {
  position: fixed;
  z-index: 3;
  left: 0;
  top: -100%;
  width: 100dvw;
  height: 100dvh;
  display: flex;
  justify-content: center;
  background: rgba(0, 0, 0, 0.3);
  transition: opacity 0.4s ease-in-out;
  opacity: 0;
  padding-top: 100px;
}

.popup_wrap {
  max-height: calc(100dvh - 200px);
  width: 0px;
  padding: 20px;
  background: #fff;
  overflow: auto;
  border-radius: 25px;
  transform: scaleY(0.005);
}

#popup_bg.active {
  top: 0;
  backdrop-filter: blur(5px);
  opacity: 1;
}

#popup_bg.active .popup_wrap {
  width: 1280px;
  transform: scaleY(1);
  transition: width 0.1s ease-out 0.2s, transform 0.2s ease-out 0.375s;
}

.popup_wrap > img {
  width: 100%;
}

::-webkit-scrollbar {
  width: 12px;
}

::-webkit-scrollbar-thumb {
  background: #e8e8e8; /* 스크롤바의 색상 설정 */
  border-radius: 6px; /* 스크롤바의 모양 설정 */
}

::-webkit-scrollbar-thumb:hover {
  background: #555; /* 스크롤바에 호버할 때 색상 변경 */
}

/* 파이어폭스 브라우저 */
/* 파이어폭스에서 스크롤바 스타일을 설정하려면 -moz 스타일을 사용합니다. */
/* 파이어폭스에서도 마우스 호버 시 스타일 변경이 가능합니다. */
/* 스크롤바의 색상과 모양을 설정 */
* {
  scrollbar-color: #888 #333;
}

/* 스크롤바의 너비 설정 */
* {
  scrollbar-width: thin;
}

@media screen and (max-width: 768px) {
  .title {
    padding-top: 75px;
  }

  .title > div {
    flex: none;
  }

  .title > div:first-child {
    flex: 2;
  }

  .title > div > h1 {
    text-align: right;
    font-size: 20px;
    color: #346c9c;
    border-bottom: solid 6px #346c9c;
  }

  .title > div > h1 > span {
    font-size: 24px;
    font-weight: 600px;
    color: #249fe6;
  }

  .section1_content > h2 {
    padding-left: 20px;
    font-size: 20px;
    column-gap: 12px;
  }

  .section1_content > h2 > svg {
    width: 35px;
    height: 38px;
  }

  .content_card_wrap {
    width: 100%;
    row-gap: 25px;
  }

  .content_card {
    width: 90%;
    height: auto;
    margin-right: 0 !important;
  }
  .content_card > img {
    width: 100%;
  }

  /* popup */

  #popup_bg.active .popup_wrap {
    width: 90dvw;
  }

  .popup_wrap > img {
    width: auto;
    height: 100%;
    object-fit: cover;
  }
}
