.top_menu { margin-top: 1.5rem;}
.top_menu .swiper-slide { width: fit-content !important;  white-space: nowrap;border-bottom: 3px solid transparent; text-align: center; padding: 0.3rem; }
.top_menu .swiper-slide.on { border-bottom: 3px solid #6c97d3;}
.top_menu .swiper-slide a { font-size: 1.8rem; color: #888;}
.top_menu .swiper-slide.on a { color: #333;}
main > a img { width: 100%;}

section { margin-top: 1.5rem;}
section .tit { padding: .8rem 0; border-bottom: 1px solid #ddd;}
section .tit h2 { padding: .5rem; border-radius: 0.5rem; color: #fff; background: #6486ad; width: fit-content; font-size: 1.8rem; font-weight: 600;}
section .blue_box { background: #f0f8ff; padding: 1.5rem 1rem; }
section .blue_box h3 { font-weight: 700; font-size: 2rem; margin-bottom: 1rem;}
section .blue_box pre { font-size: 1.8rem; line-height: 1.5;}
section .blue_box pre span { font-size: 1.8rem; line-height: 1.5; position: relative; font-weight: 600; border-bottom: 3px solid #c4d7f1;}
section .info { padding: 3rem 0; }
section .info pre { font-size: 1.8rem; line-height: 1.5; margin-bottom: 1.5rem;}
section .info p { font-size: 1.8rem; line-height: 1.5; font-weight: 600; color: #50616d; }
section .info img{ width: 100%;}
.home_main {
  padding-top: 6rem;
  padding-bottom: 10rem;
}
.top_banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 15rem;
  background: #2A5EA8;
  padding: 0 1.5rem;
  margin-top: 1.5rem;
}

.top_banner .banner_text p {
  font-size: 1.8rem;
  color: #ffffffa2;
}
.top_banner .banner_text h4 {
  font-size: 2rem;
  font-weight: 600;
  color: #fff;
  margin-top: 1rem;
}
.top_banner img {
  width: 28%;
}
.news_wrap .title {
  font-weight: 700;
  font-size: 2rem;
  margin-bottom: 1rem;
}
.news_wrap ul li {
  background: #F9F9F9;
  padding: 1.5rem;
}
.news_wrap ul li h3 {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #D0D0D0;
}
.news_wrap ul li p {
  font-size: 1.5rem;
  line-height: 1.4;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  padding-top: 0.5rem;
}
.news_wrap ul li p.date {
  font-size: 1.4rem;
  color: #555;
}
/* 카드 레이아웃 */
.cards_wrap {
  display: grid;
  grid-template-columns: 3fr 2fr;    
  gap: 1rem;
  margin: 3rem 0;
}

/* 공통 카드 스타일 */
.card {
  display: flex;
  justify-content: space-between;
  padding: 2rem;
  border-radius: 0.5rem;
  background: #f5f6fa;
}

/* 내용/아이콘 정렬 */
.card_content {
  display: flex;
  flex-direction: column;
}

.card_icon img {
  display: block;
  width: 3.5rem;
  height: auto;
}

/* 텍스트 스타일 */
.card_title {
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.card_subtitle {
  font-size: 1.6rem;
}

/* 큰 파란 카드 */
.card_large {
  grid-row: 1 / 2;   
  background: #2A5EA8;
  color: #ffffff;
  flex-direction: column;
}
.card.card_large .card_content h3 {
  color: #fff;
}
.card.card_large .card_content p {
  color: #fff;
}
.card.card_large .card_icon {
  margin-left: auto;
}
.card.card_large .card_icon img {
  width: 4.8rem;
}
/* 오른쪽 2개 카드 묶음 */
.cards_right {
  display: grid;
  grid-auto-rows: 1fr;
  gap: 1rem;
}

/* 작은 카드 (우측) */
.card_small {
  gap: 2rem;
}
.card_small .card_icon {
  margin-top: 1rem;
}
/* 하단 전체 폭 카드 */
.card_full {
  grid-column: 1 / -1;   
  background: #e9f2ff;
}
.card_full .card_icon {
  width: 20%;
}
.card_full .card_icon img {
  width: 100%;
}
