/* ===================================================
   &#128313; ÆùÆ®
=================================================== */
@import url(https://fonts.googleapis.com/earlyaccess/nanumgothic.css);


/* ===================================================
   &#128313; »ó´Ü ¹è³Ê ÀüÃ¼ ¿µ¿ª
=================================================== */
#cp_top_banner {
  text-align: center;
  white-space: nowrap;
  font-weight: 900;
  font-size: clamp(20px, 2.8vw, 40px);
  font-family: 'Noto Sans KR', sans-serif !important;
  letter-spacing: -0.5px;
  padding: 10px 0;
  /* &#128293; ¹è³Ê ÀüÃ¼ ¹è°æ */
  background: #2a2a2a;
  /* &#9888;&#65039; ¾à°£ ¹à¾Æ¼­ ¶ã ¼ö ÀÖÀ½ (ÇÊ¿ä½Ã Á¶Á¤ °¡´É) */
  border-bottom: 1px solid #ddd;
  overflow: visible;
  /* ÀüÃ¼ ±ôºýÀÓ (ÇöÀç ¹Ì»ç¿ë) */
  /* animation: bannerFlash 2s infinite; */
}


/* ===================================================
   &#128313; ÁÂ¿ì ÀÏ¹Ý ÅØ½ºÆ®
=================================================== */
#cp_top_banner .tb_left,
#cp_top_banner .tb_right {
  /* &#128293; ¾îµÎ¿î ¹è°æ¿ë ¹àÀº ÅØ½ºÆ® */
  color: #e0e0e0;
}


/* ===================================================
   &#128313; °¡¿îµ¥ °­Á¶ ÅØ½ºÆ® (&#128293; ¼öÁ¤ ¿Ï·á)
   &#10004; ±âÁ¸ flashBg Á¦°Å
   &#10004; ±¤°íÇü ¾Ö´Ï¸ÞÀÌ¼Ç Àû¿ë
=================================================== */
#cp_top_banner .tb_center {
  color: #222222;
  /* &#128293; °­Á¶ ¹è°æ */
  background: #ffcc00;
  padding: 4px 12px;
  border-radius: 6px;
  display: inline-block;
  margin: 0 10px;
  /* &#128293; ±¤°íÇü ±ôºýÀÓ (¼öÁ¤µÈ ºÎºÐ) */
  animation: flashStrong 1s infinite;
}


/* ===================================================
   &#128293; ±¤°íÇü ±ôºýÀÓ (½Å±Ô Ãß°¡)
   &#10004; »ö ¹ÝÀü + È®´ë + glow È¿°ú
=================================================== */
@keyframes flashStrong {
  0% {
    background: #ffcc00;
    color: #222222;
    transform: scale(1);
    box-shadow: 0 0 0 rgba(255, 204, 0, 0);
  }
  50% {
    background: #ffffff; /* &#128293; °­Á¶ ¹ÝÀü */
    color: #000000;
    transform: scale(1.08); /* &#128293; »ìÂ¦ È®´ë */
    box-shadow: 0 0 12px rgba(255, 204, 0, 0.9); /* &#128293; ºû È¿°ú */
  }
  100% {
    background: #ffcc00;
    color: #222222;
    transform: scale(1);
    box-shadow: 0 0 0 rgba(255, 204, 0, 0);
  }
}


/* ===================================================
   &#128293; ÀüÃ¼ ¹è³Ê ±ôºýÀÓ (¿É¼Ç / ÇöÀç ¹Ì»ç¿ë)
=================================================== */
@keyframes bannerFlash {
  0% { background: #ffcc00; }
  50% { background: #ffcc00; }
  100% { background: #ffcc00; }
}


/* ===================================================
   &#128313; RESET (ÀüÃ¼ ÃÊ±âÈ­)
=================================================== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}


body {
  font-family: 'Nanum Gothic', sans-serif;
  background: #fff;
  color: #222;
}


li {
  list-style: none;
}


a {
  text-decoration: none;
  color: inherit;
}


img {
  width: 100%;
  height: auto;
  display: block;
}


/* ===================================================
   &#128313; Áß¾Ó ¹è³Ê ÀüÃ¼
=================================================== */
#center_banner {
  text-align: center;
  background: #0f3d2e;                /* ´ÙÅ©±×¸° */
  padding: 30px 0;
  font-family: 'Noto Sans KR', sans-serif !important;
}


/* ===================================================
   &#128313; °øÅë ÅØ½ºÆ®
=================================================== */
#center_banner p {
  margin: 0;
  font-weight: 900;
  line-height: 1.4;
}


/* ===================================================
   &#128313; 1ÁÙ (Å« ÅØ½ºÆ®)
=================================================== */
#center_banner .cb_line1 {
  font-size: clamp(28px, 3.5vw, 60px);
  /* ¾Ö´Ï¸ÞÀÌ¼Ç */
  animation: line1_show 2.8s infinite;
  animation-timing-function: ease-out; /* ºÎµå·¯¿î ³¡ Ã³¸® */
}


/* ===================================================
   &#128313; 2ÁÙ (¼­ºê ÅØ½ºÆ®)
=================================================== */
#center_banner .cb_line2 {
  font-size: clamp(22px, 3vw, 60px);
  margin-top: 8px;
  /* ¾Ö´Ï¸ÞÀÌ¼Ç */
  animation: line2_show 2.8s infinite;
  animation-timing-function: ease-out;
}


/* ===================================================
   &#128313; ±âº» ÅØ½ºÆ®
=================================================== */
#center_banner .cb_normal {
  color: #ffffff;
}


/* ===================================================
   &#128313; °­Á¶ »ö»ó
=================================================== */
#center_banner .cb_red {
  color: #ff3b3b;
}


#center_banner .cb_yellow {
  color: #ffe600;
}


#center_banner .cb_orange {
  color: #ff8c00;
}


/* ===================================================
   &#128313; 1ÁÙ ¾Ö´Ï¸ÞÀÌ¼Ç
   &#10004; ¾Æ·¡¿¡¼­ ÀÚ¿¬½º·´°Ô ¿Ã¶ó¿À¸ç µîÀå
=================================================== */
@keyframes line1_show {
  0% {
    opacity: 0;
    transform: translateY(12px);  /* ¾Æ·¡¿¡¼­ ½ÃÀÛ */
  }
  20% {
    opacity: 1;
    transform: translateY(0);     /* ÀÚ¿¬½º·´°Ô ¿Ã¶ó¿È */
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}


/* ===================================================
   &#128313; 2ÁÙ ¾Ö´Ï¸ÞÀÌ¼Ç
   &#10004; 1ÁÙ ÀÌÈÄ µîÀå
=================================================== */
@keyframes line2_show {
  0% {
    opacity: 0;
    transform: translateY(12px);
  }
  40% {
    opacity: 0;
    transform: translateY(12px);  /* ´ë±â */
  }
  65% {
    opacity: 1;
    transform: translateY(0);     /* µîÀå */
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}


/* ===================================================
   &#128313; ÇÏ´Ü ¹è³Ê ÀüÃ¼ ¿µ¿ª
   &#10004; footer À§ À§Ä¡
   &#10004; 3ºÐÇÒ ±¸Á¶
   &#10004; ÁÂ¿ì ¿©¹é Å©°Ô / Áß°£ °£°Ý Á¼°Ô
=================================================== */
#bottom_banner {
  display: flex;
  justify-content: center;
  gap: 10px;                /* Áß°£ °£°Ý */
  padding: 20px 40px;       /* ÁÂ¿ì ¿©¹é Å©°Ô */
  background: #ffffff;
}


/* ===================================================
   &#128313; °¢ ¹Ú½º °øÅë ½ºÅ¸ÀÏ
=================================================== */
#bottom_banner .bb_item {
  flex: 1;
  text-align: center;
  font-weight: 900;
  font-size: clamp(20px, 2.5vw, 60px);
  font-family: 'Noto Sans KR', sans-serif !important;
  padding: 14px 0;
  border-radius: 8px;
}


/* ===================================================
   &#128313; »ö»ó ¼³Á¤
=================================================== */
/* 1¹ø: ´ë´ÜÁö (Ã»º¸¶ó + ¿¤·Î¿ì) */
#bottom_banner .bb_1 {
  background: #51138a;
  color: #ffe600;
}


/* 2¹ø: ÀÚ°Ý¹« (¹ÎÆ® + È­ÀÌÆ® ¡æ ¿äÃ» ¼öÁ¤ ¹Ý¿µ: ¿ÍÀÎÅæ ÅØ½ºÆ®) */
#bottom_banner .bb_2 {
  background: #28ebbd;
  color: #7a1f2b;
}


/* 3¹ø: ¼±Âø¼ø (´ÙÅ©±×¸° + È­ÀÌÆ®) */
#bottom_banner .bb_3 {
  background: #1f4d3a;
  color: #ffffff;
}


/* ===================================================
   &#128313; ¾Ö´Ï¸ÞÀÌ¼Ç °øÅë ¼³Á¤
   &#10004; ÀüÃ¼ Èå¸§ µ¿ÀÏÇÏ°Ô ¸ÂÃã
=================================================== */
#bottom_banner .bb_1,
#bottom_banner .bb_2,
#bottom_banner .bb_3 {
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}


/* ===================================================
   &#128313; 1¹ø ¾Ö´Ï¸ÞÀÌ¼Ç
   &#10004; ¸ÕÀú µîÀå ¡æ °è¼Ó À¯Áö
=================================================== */
#bottom_banner .bb_1 {
  animation-name: bb_step1;
}


@keyframes bb_step1 {
  0%   { opacity: 0; }
  10%  { opacity: 1; }   /* µîÀå */
  100% { opacity: 1; }   /* ³¡±îÁö À¯Áö */
}


/* ===================================================
   &#128313; 2¹ø ¾Ö´Ï¸ÞÀÌ¼Ç
   &#10004; µÎ¹øÂ° µîÀå
=================================================== */
#bottom_banner .bb_2 {
  animation-name: bb_step2;
}


@keyframes bb_step2 {
  0%   { opacity: 0; }
  25%  { opacity: 0; }
  35%  { opacity: 1; }   /* µîÀå */
  100% { opacity: 1; }
}


/* ===================================================
   &#128313; 3¹ø ¾Ö´Ï¸ÞÀÌ¼Ç
   &#10004; ¸¶Áö¸· µîÀå ¡æ ÀüÃ¼ ¿Ï¼º
=================================================== */
#bottom_banner .bb_3 {
  animation-name: bb_step3;
}


@keyframes bb_step3 {
  0%   { opacity: 0; }
  50%  { opacity: 0; }
  60%  { opacity: 1; }   /* µîÀå */
  100% { opacity: 1; }
}


/* ===================================================
   &#128313; ¼­ºêÆäÀÌÁö ºñÁÖ¾ó Å¸ÀÌÆ² (¸ÞÀÎ ºñÁÖ¾ó À§ Ç¥½Ã)
   &#10004; Å¾ ¼öÁ¤ ¾øÀÌ CSS·Î Ã³¸®
   &#10004; body class ±â¹ÝÀ¸·Î ÆäÀÌÁö ±¸ºÐ
=================================================== */
/* &#128313; ±âº» À§Ä¡ ¼³Á¤ */
.sub_page #img_box {
  position: relative;
}


/* &#128313; °øÅë ½ºÅ¸ÀÏ */
.sub_page #img_box::after {
  content: "";
  position: absolute;
  top: 40%;              /* &#128293; À§ ±âÁØÀ¸·Î º¯°æ (ÇÙ½É) */
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 56px;
  font-weight: 800;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
  z-index: 10;
}


/* ===================================================
   &#128313; ÆäÀÌÁöº° Å¸ÀÌÆ²
   &#10004; body class¿¡ ¸Â°Ô ÀÚµ¿ Ãâ·Â
=================================================== */
/* »ç¾÷¼Ò°³ */
.sub_overview #img_box::after {
  content: "»ç¾÷¼Ò°³";
}


/* ÀÔÁöÁ¶°Ç */
.sub_vision #img_box::after {
  content: "ÀÔÁöÁ¶°Ç";
}


/* ºñÀüºÐ¼® */
.sub_premium #img_box::after {
  content: "ºñÀüºÐ¼®";
}


/* Æò¸éµµ */
.sub_compose #img_box::after {
  content: "Æò¸éµµ";
}


/* À¯´Ö */
.sub_unit #img_box::after {
  content: "À¯´Öº¸±â";
}


/* ===================================================
   &#128313; WRAP (ÀüÃ¼ ÃÖ´ëÆø)
=================================================== */
#wrap {
  max-width: 1280px;
  margin: 0 auto;
  background: #fff;
}


/* ===================================================
   &#128313; HEADER
=================================================== */
.top_title {
  text-align: center;
  padding: 20px 0;
}


.top_title .sub {
  font-size: clamp(14px, 2.5vw, 30px);
  color: #666;
}


.top_title h1 {
  font-size: clamp(24px, 5vw, 60px);
  font-weight: 800;
}


.top_title h1 a {
  color: #000;
}


/* ===================================================
   &#128313; ÀüÈ­¹Ù
=================================================== */
.top_call {
  background: #0c1c5a;
  color: #fff;
  text-align: center;
  padding: 12px;
  font-size: clamp(14px, 2.5vw, 24px);
}


.top_call span {
  font-size: clamp(22px, 5vw, 50px);
  color: #ffd400;
  font-weight: 800;
}


/* ===================================================
   &#128313; PC ¸Þ´º
=================================================== */
.top_menu {
  display: flex;
  justify-content: center;
  gap: 60px;
  background: #fff;
  padding: 18px 0;
}


.top_menu a {
  font-size: 22px;
  font-weight: 700;
  color: #222;
  position: relative;
}


.top_menu a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 0;
  height: 3px;
  background: #0c1c5a;
  transition: 0.3s;
}


.top_menu a:hover::after {
  width: 100%;
}


/* ===================================================
   &#128313; ¸ð¹ÙÀÏ »ó´Ü
=================================================== */
.mobile_bar {
  display: none;
  align-items: center;
  justify-content: space-between;
  padding: 10px 15px;
}


.m_logo {
  flex: 1;
  text-align: center;
  font-size: 18px;
  font-weight: 800;
}


/* ===================================================
   &#128313; ¹öÆ°
=================================================== */
.menu_btn,
.call_btn {
  width: 80px;
  height: 40px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: #0c1c5a;
  color: #fff;
}


.call_btn {
  background: #ffd400;
  color: #000;
}


/* ===================================================
   &#128313; ¸ð¹ÙÀÏ ¸Þ´º (±âÁ¸)
=================================================== */
.mobile_menu {
  position: fixed;
  left: -80%;
  top: 0;
  width: 80%;
  height: 100%;
  background: #f4f8ff;
  z-index: 9999;
  transition: 0.3s;
}


.mobile_menu.active {
  left: 0;
}


/* ===================================================
   &#128293; ¸ð¹ÙÀÏ ¸Þ´º ³»ºÎ ½ºÅ¸ÀÏ (Ãß°¡µÈ ºÎºÐ)
=================================================== */
.menu_header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px;
  background: #0c1c5a;
  color: #fff;
}


.menu_logo {
  font-size: 18px;
  font-weight: 800;
}


.menu_close {
  background: none;
  border: none;
  color: #fff;
  font-size: 20px;
  cursor: pointer;
}


.menu_inner a {
  display: block;
  padding: 18px 20px;
  font-size: 16px;
  font-weight: 600;
  color: #222;
  border-bottom: 1px solid #eee;
  background: #fff;
}


.menu_inner a:hover {
  background: #f5f5f5;
}


/* ===================================================
   &#128293; ¸Þ´º ¿À¹ö·¹ÀÌ (Ãß°¡)
=================================================== */
.menu_overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9998;
  display: none;
}


.menu_overlay.active {
  display: block;
}


/* ===================================================
   &#128313; ¸ÞÀÎ ºñÁÖ¾ó
=================================================== */
#img_box {
  width: 100%;
}


/* ===================================================
   &#128293; »ó´Ü 3°³ Ä«µå
=================================================== */
.mainbn1 {
  display: flex;
  justify-content: center;
  gap: 60px;
  margin-top: 40px;
}


.mainbn1 .bn_item {
  width: 250px;
  text-align: center;
}


.mainbn1 img {
  border-radius: 50%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}


.title_box {
  margin-top: 10px;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
}


/* ===================================================
   &#128293; 6°³ Ä«µå ¿µ¿ª
=================================================== */
.mainbn {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  margin-top: 40px;
  background: #F2FFED;
  padding: 20px;
}


.mainbn .bn_item {
  width: calc(50% - 15px);
  display: flex;
  flex-direction: column;
}


.mainbn img {
  aspect-ratio: 3 / 2;
  object-fit: cover;
}


/* ===================================================
   &#128293; ½½¶óÀÌµå Ä«µå (º¹±¸µÈ ºÎºÐ)
=================================================== */
.text_slider {
  position: relative;
}


.card_area {
  position: relative;
  overflow: hidden;
}


.card_area::before {
  content: "";
  display: block;
  padding-top: 66.66%;
}


.slider_inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


.slide {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  transition: 0.5s;
  background: #0c1c5a;
}


.slide.active {
  opacity: 1;
}


/* =========================
   &#128313; ÅØ½ºÆ® Áß¾Ó Á¤·Ä (Ãß°¡)
========================= */
.text_box {
  display: flex;              /* &#128293; ÇÙ½É */
  flex-direction: column;     /* ¼¼·Î Á¤·Ä */
  justify-content: center;    /* ¼¼·Î °¡¿îµ¥ */
  align-items: center;        /* °¡·Î °¡¿îµ¥ */
  text-align: center;          /* ÅØ½ºÆ® °¡¿îµ¥ */
  height: 100%;               /* ºÎ¸ð ±âÁØ Ã¤¿ì±â */
}


/* =========================
   &#128313; ÅØ½ºÆ® ±âº» (PC)
========================= */
.text_box p {
  font-size: 30px;
  margin: 6px 0;
  font-weight: 600;
  color: #fff;
  line-height: 1.4; /* &#128293; ÁÙ°£°Ý Ãß°¡ */
}


.slider_card .title_box {
  margin-top: 10px;
  color: #222;
}


/* ===================================================
   &#128313; »ó´ãÆû
=================================================== */
#community {
  margin-top: 40px;
}


/* ===================================================
   &#128313; FOOTER
=================================================== */
#footer {
  background: #0c1c5a;
  color: #fff;
  padding: 40px 20px;
}


.footer_inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
}


.footer_left {
  width: 30%;
  text-align: right;
  padding-right: 20px;
}


.footer_title {
  font-size: 36px;
  font-weight: 900;
}


.footer_line {
  width: 1px;
  height: 70px;
  background: #fff;
  opacity: 0.3;
}


.footer_right {
  width: 70%;
  text-align: left;
  padding-left: 20px;
}


.footer_tel {
  font-size: 42px;
  font-weight: 900;
  color: #ffd400;
}


.footer_addr {
  font-size: 14px;
}


/* ===================================================
   &#128293; ¸ð¹ÙÀÏ ¹ÝÀÀÇü
=================================================== */
@media screen and (max-width: 768px) {
  .top_title,
  .top_menu {
    display: none;
  }


  .mobile_bar {
    display: flex;
  }


  .mainbn1 {
    gap: 10px;
  }


  .mainbn1 .bn_item {
    width: 33.333%;
  }


  .mainbn {
    flex-direction: column;
    gap: 15px;
  }


  .mainbn .bn_item {
    width: 100%;
  }


  .text_box p {
    font-size: 20px; /* &#128293; ¸ð¹ÙÀÏ ÆùÆ® */
    line-height: 1.6; /* &#128293; ¸ð¹ÙÀÏÀº Á» ´õ ¿©À¯ */
  }
}


/* ===================================================
   &#128293; Ç²ÅÍ ¹ÝÀÀÇü (Ãß°¡µÈ ºÎºÐ)
=================================================== */
/* &#11088; 850px ÀÌÇÏ¿¡¼­ ±Û¾¾ ÁÙÀÌ±â */
@media screen and (max-width: 850px) {
  .footer_title {
    font-size: 28px;
  }


  .footer_tel {
    font-size: 34px;
  }
}


/* &#11088; ¸ð¹ÙÀÏ Ç²ÅÍ ÃÖÀûÈ­ */
@media screen and (max-width: 768px) {
  .footer_inner {
    flex-direction: column;
    text-align: center;
    gap: 10px;
  }


  .footer_left,
  .footer_right {
    width: 100%;
    text-align: center;
    padding: 0;
  }


  .footer_line {
    display: none;
  }


  .footer_title {
    font-size: 20px;
  }


  .footer_tel {
    font-size: 26px;
  }


  .footer_addr {
    font-size: 12px;
  }


  #footer {
    padding: 25px 15px;
  }
}


/* ===================================================
   &#128313; ¼­ºêÆäÀÌÁö Àü¿ë ½ºÅ¸ÀÏ (Ãß°¡)
=================================================== */
/* Å¸ÀÌÆ² ¿µ¿ª */
#title {
  text-align: center;
  background: #0c1c5a;
  padding: 20px 10px;
  margin-top: 20px;
}


/* Å¸ÀÌÆ² ÅØ½ºÆ® */
#title .title,
#title .sub_title {
  font-size: 24px;
  font-weight: 700;
  color: #fff;
}


/* ÄÜÅÙÃ÷ ÀÌ¹ÌÁö ¿µ¿ª */
#content_img img {
  width: 100%;
  margin-bottom: 10px;
}


/* ===================================================
   &#128293; ÇÏ´Ü °íÁ¤ ÀüÈ­ ¹öÆ°
=================================================== */
#top_tel {
  position: fixed;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  width: 90%;
  max-width: 500px;
  z-index: 9999;
  transition: 0.3s;
}


#top_tel a {
  display: flex;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  background: #0c1c5a;
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  padding: 15px 20px;
  border-radius: 50px;
  gap: 10px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}


#top_tel span {
  font-size: 20px;
  font-weight: 800;
  color: #ffd400;
}