/* ===================================================
&#128313; »ó´Ü ¹è³Ê ÀüÃ¼ ¿µ¿ª
=================================================== */
#cp_top_banner{
    width:100%;
    margin:0 auto;
    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;
    background:#2a2a2a;
    border-bottom:1px solid #ddd;
    overflow:visible;
    /* ÀüÃ¼ ±ôºýÀÓ (ÇöÀç ¹Ì»ç¿ë) */
    /* animation: bannerFlash 2s infinite; */
}
/* ===================================================
&#128313; ÁÂ¿ì ÀÏ¹Ý ÅØ½ºÆ®
=================================================== */
#cp_top_banner .tb_left,
#cp_top_banner .tb_right{
    color:#e0e0e0;
}
/* ===================================================
&#128313; °¡¿îµ¥ °­Á¶ ÅØ½ºÆ®
=================================================== */
#cp_top_banner .tb_center{
    color:#222222;
    background:#ffcc00;
    padding:4px 12px;
    border-radius:6px;
    display:inline-block;
    margin:0 10px;
    animation:flashStrong 1s infinite;
}
/* ===================================================
&#128293; ±¤°íÇü ±ôºýÀÓ
=================================================== */
@keyframes flashStrong{
    0%{
        background:#ffcc00;
        color:#222222;
        transform:scale(1);
        box-shadow:0 0 0 rgba(255,204,0,0);
    }
    50%{
        background:#ffffff;
        color:#000000;
        transform:scale(1.08);
        box-shadow:0 0 12px rgba(255,204,0,0.9);
    }
    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{
    width:100%;
    max-width:1280px;
    margin:0 auto;
    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ÁÙ ¾Ö´Ï¸ÞÀÌ¼Ç
=================================================== */
@keyframes line1_show{
    0%{
        opacity:0;
        transform:translateY(12px);
    }
    20%{
        opacity:1;
        transform:translateY(0);
    }
    100%{
        opacity:1;
        transform:translateY(0);
    }
}
/* ===================================================
&#128313; 2ÁÙ ¾Ö´Ï¸ÞÀÌ¼Ç
=================================================== */
@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;ÇÏÀÌ¶óÀÌÆ® ¹è³Ê ÀüÃ¼
=================================================== */
/* ¹è³Ê ¿µ¿ª */
.highlight_banner{
    width:100%;
    max-width:1280px;
    margin:20px auto 0;
    background-color:#2b2b2b;
    text-align:center;
    padding:clamp(10px,2vw,20px);
    box-sizing:border-box;
}
/* °ñµå ¹ÝÂ¦ÀÌ´Â ÅØ½ºÆ® */
.highlight_text{
    font-family:'Pretendard',sans-serif;
    font-size:clamp(24px,4vw,48px);
    font-weight:900;
    display:inline-block;
    background-image:
        linear-gradient(45deg,rgba(255,255,255,0.9) 0%,rgba(255,255,255,0) 20%),
        linear-gradient(45deg,#d4af37,#ffd700,#ffecb3,#d4af37);
    background-size:200% 100%,300% 300%;
    background-repeat:no-repeat;
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    animation:shine 1.2s infinite linear, blink 1.2s infinite alternate;
}
/* ¹ÝÂ¦ÀÓ */
@keyframes shine{
    0%{background-position:-200% 0,0% 50%;}
    50%{background-position:200% 0,100% 50%;}
    100%{background-position:-200% 0,0% 50%;}
}
/* ±ô¹ÚÀÓ */
@keyframes blink{
    0%{opacity:1;}
    50%{opacity:0.75;}
    100%{opacity:1;}
}
/* ===================================================
&#128313; ÇÏ´Ü ¹è³Ê ÀüÃ¼ ¿µ¿ª
&#10004; footer À§ À§Ä¡
&#10004; 3ºÐÇÒ ±¸Á¶
&#10004; 1280 ¹Ú½ºÇü
=================================================== */
#bottom_banner{
    width:100%;
    max-width:1280px;
    margin:0 auto;
    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; »ö»ó ¼³Á¤
=================================================== */
#bottom_banner .bb_1{
    background:#51138a;
    color:#ffe600;
}
#bottom_banner .bb_2{
    background:#28ebbd;
    color:#7a1f2b;
}
#bottom_banner .bb_3{
    background:#1f4d3a;
    color:#ffffff;
}
/* ===================================================
&#128313; ¾Ö´Ï¸ÞÀÌ¼Ç °øÅë ¼³Á¤
=================================================== */
#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¹ø ¾Ö´Ï¸ÞÀÌ¼Ç
=================================================== */
#bottom_banner .bb_1{
    animation-name:bb_step1;
}
@keyframes bb_step1{
    0%{opacity:0;}
    10%{opacity:1;}
    100%{opacity:1;}
}
/* ===================================================
&#128313; 2¹ø ¾Ö´Ï¸ÞÀÌ¼Ç
=================================================== */
#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¹ø ¾Ö´Ï¸ÞÀÌ¼Ç
=================================================== */
#bottom_banner .bb_3{
    animation-name:bb_step3;
}
@keyframes bb_step3{
    0%{opacity:0;}
    50%{opacity:0;}
    60%{opacity:1;}
    100%{opacity:1;}
}
/* =========================================================
   ½ºÅ¸ÀÏ5 ¸ÞÀÎÆäÀÌÁö ÀüÃ¼ CSS
   ±âÁØ ¾÷Ã¼¸í : ¿À»ê ¼¾Æ®·²½ÃÆ¼ ¿î¾Ï¶ã
   ±âÁØ ÀüÈ­¹øÈ£ : 1855-0080
   ---------------------------------------------------------
   [±¸¼º ¼ø¼­]
   1. ±âº» ÃÊ±âÈ­
   2. °øÅë Å¬·¡½º
   3. Çì´õ
   4. ¸ð¹ÙÀÏ »çÀÌµå ¸Þ´º
   5. ¸ÞÀÎ ºñÁÖ¾ó
   6. ¾÷Ã¼¸í + ÀüÈ­¹øÈ£
   7. 3´Ü ¹è³Ê
   8. Áß¾Ó ±¸ºÐ¼±
   9. °í°´¼¾ÅÍ + »ó´ãÃ¢
   10. È«º¸°ü ¹Ì¸®º¸±â
   11. ÇÁ¸®¹Ì¾ö ¹®±¸
   12. Á¤º¸ Ä«µå ¿µ¿ª
   13. Ç²ÅÍ
   14. ÅÂºí¸´
   15. ¸ð¹ÙÀÏ
   16. ¼ÒÇü ¸ð¹ÙÀÏ
   ========================================================= */
/* =========================================================
   1. ±âº» ÃÊ±âÈ­
   ---------------------------------------------------------
   »çÀÌÆ® ÀüÃ¼ ±âº»°ª Á¤¸®
   ========================================================= */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html,
body {
  width: 100%;
  font-family: "Malgun Gothic", "Apple SD Gothic Neo", sans-serif;
  background: #efefef;
  color: #333;
}
ul,
li {
  list-style: none;
}
a {
  text-decoration: none;
  color: inherit;
}
button {
  border: 0;
  background: none;
  font: inherit;
  cursor: pointer;
}
img {
  max-width: 100%;
  vertical-align: top;
  border: 0;
  display: block;
}
/* =========================================================
   2. °øÅë Å¬·¡½º
   ---------------------------------------------------------
   PC / ¸ð¹ÙÀÏ ³ëÃâ Á¦¾î
   ========================================================= */
.pc_only {
  display: block;
}
.mo_only {
  display: none;
}
/* =========================================================
   3. Çì´õ
   ---------------------------------------------------------
   PC : ·Î°í / ¸Þ´º / ¿Â¶óÀÎ¹®ÀÇ
   MO : ¸Þ´º¹öÆ° / ·Î°í / ÀüÈ­¹öÆ° / 5Ä­ ¸Þ´º / ÀüÈ­¹Ù
   ========================================================= */
/* Çì´õ ÀüÃ¼ */
#header {
  width: 100%;
  background: #333;
  color: #fff;
  position: relative;
  z-index: 100;
}
/* Çì´õ ¾ÈÂÊ Á¤·Ä ¹Ú½º
   ¡Ø max-width 1280 ±âÁØ */
.header_inner {
  width: 100%;
  max-width: 1280px;
  height: 80px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  position: relative;
  z-index: 3;
}
/* -------------------------
   PC ·Î°í
   ------------------------- */
.logo {
  flex: 0 0 190px;
}
.logo a {
  display: block;
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.5px;
  white-space: nowrap;
}
/* -------------------------
   PC ¸Þ´º ÀüÃ¼ ¿µ¿ª
   ------------------------- */
.gnb_wrap {
  position: relative;
  flex: 1 1 auto;
  height: 80px;
}
.gnb {
  position: relative;
  z-index: 4;
  height: 80px;
}
/* 1Â÷ ¸Þ´º */
.gnb_main {
display: flex;
justify-content: center;
align-items: center; /* &#128293; */
height: 80px;
}
.gnb_main > li {
  position: relative;
  margin: 0 24px;
  text-align: center;
}
.gnb_main > li > a {
  display: block;
  color: #fff;
  font-size: 19px;
  font-weight: 700;
  line-height: 80px;
  white-space: nowrap;
}
/* 2Â÷ ¸Þ´º */
.gnb_sub {
  display: none;
  position: absolute;
  top: 80px;
  left: 50%;
  transform: translateX(-50%);
  min-width: 160px;
  padding-top: 18px;
  z-index: 5;
}
.gnb_sub li {
  margin-bottom: 10px;
}
.gnb_sub li:last-child {
  margin-bottom: 0;
}
.gnb_sub a {
  display: block;
  color: #fff;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
  white-space: nowrap;
  opacity: 0.95;
}
.gnb_sub a:hover {
  text-decoration: underline;
}
/* µå·Ó´Ù¿î ¹è°æ
   ¡Ø ¸Þ´º hover ½Ã ÁÂ¿ì ºó°ø°£±îÁö µ¿ÀÏ ¹è°æ */
.header_dropdown_bg {
  display: none;
  position: absolute;
  top: 80px;
  left: 0;
  width: 100%;
  height: 185px;
  background: #333;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  z-index: 2;
}
/* ¸Þ´º hover µ¿ÀÛ */
#header:hover .header_dropdown_bg {
  display: block;
}
#header:hover .gnb_sub {
  display: block;
}
/* -------------------------
   PC ¿ìÃø ¿Â¶óÀÎ¹®ÀÇ
   ------------------------- */
.header_contact {
  flex: 0 0 170px;
  display: flex;
  justify-content: flex-end;
  position: relative;
  z-index: 6;
}
.contact_link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  height: 80px;
}
.contact_icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 26px;
  border: 2px solid #fff;
  font-size: 15px;
  line-height: 1;
}
.contact_text {
  font-size: 16px;
  font-weight: 700;
  white-space: nowrap;
}
/* -------------------------
   ¸ð¹ÙÀÏ Çì´õ ³»ºÎ
   ------------------------- */
.m_header {
  display: none;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.m_menu_btn {
flex: 0 0 54px;
height: 54px;
background: #efefef; /* &#128293; Ãß°¡ */
color: #222; /* &#128293; ±Û¾¾ ´ëºñ */
border-radius: 50%; /* &#128293; µ¿±×¶ó¹Ì */
font-weight: 800;
}
.m_logo {
  flex: 1 1 auto;
  text-align: center;
}
.m_logo a {
  display: block;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  line-height: 64px;
  letter-spacing: -0.3px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* &#128293; m_tel_btn ÃÖ¼Ò ¼öÁ¤ (ÀÌ°Í¸¸) */
.m_tel_btn {
flex: 0 0 54px;
  width: 54px;              /* &#128293; Ãß°¡ */
  height: 54px;
  display: flex;            /* &#128293; Ãß°¡ */
  align-items: center;      /* &#128293; Ãß°¡ */
  justify-content: center;  /* &#128293; Ãß°¡ */
  color: #fff;
  text-align: center;
background: #efefef;
color: #222;
border-radius: 50%;
 font-weight: 800;
}
/* -------------------------
   ¸ð¹ÙÀÏ 5Ä­ Äü¸Þ´º
   ------------------------- */
.m_quick_menu {
  display: none;
  width: 100%;
  background: #333;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.m_quick_menu ul {
  display: flex;
  width: 100%;
}
.m_quick_menu li {
  flex: 1 1 20%;
  text-align: center;
}
.m_quick_menu a {
  display: block;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 44px;
  white-space: nowrap;
}
/* -------------------------
   ¸ð¹ÙÀÏ ÆÄ¶õ ÀüÈ­¹Ù
   ------------------------- */
.m_tel_bar {
  display: none;
  width: 100%;
  background: #0457ff;
}
.m_tel_bar a {
  display: block;
  color: #fff;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  line-height: 34px;
  padding: 0 10px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* =========================================================
   4. ¸ð¹ÙÀÏ »çÀÌµå ¸Þ´º
   ---------------------------------------------------------
   ÇÜ¹ö°Å ¹öÆ° Å¬¸¯ ½Ã ¿­¸®´Â ¸Þ´º
   ========================================================= */
.menu_overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.45);
  opacity: 0;
  visibility: hidden;
  transition: 0.25s ease;
  z-index: 9998;
}
.menu_overlay.active {
  opacity: 1;
  visibility: visible;
}
.mobile_side_menu {
  position: fixed;
  top: 0;
  left: -320px;
  width: 300px;
  max-width: 82%;
  height: 100vh;
  background: #fff;
  transition: left 0.28s ease;
  z-index: 9999;
  box-shadow: 4px 0 20px rgba(0, 0, 0, 0.18);
  overflow-y: auto;
}
.mobile_side_menu.active {
  left: 0;
}
/* »çÀÌµå ¸Þ´º »ó´Ü */
.side_menu_top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 16px;
  background: #333;
  color: #fff;
}
.side_menu_top strong {
  font-size: 17px;
  font-weight: 700;
}
.side_menu_close {
  color: #fff;
  font-size: 24px;
  line-height: 1;
}
/* ¸ÞÀÎ ¸Þ´º */
.side_menu_list > li {
  border-bottom: 1px solid #e5e5e5;
}
.side_main_menu {
  display: block;
  position: relative;
  padding: 16px;
  color: #333;
  font-size: 15px;
  font-weight: 700;
}
/* + / - Ç¥½Ã */
.side_main_menu::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  font-size: 18px;
  font-weight: 700;
  color: #333;
}
.side_menu_list > li.active .side_main_menu::after {
  content: "-";
}
/* ÇÏºÎ ¸Þ´º */
.side_sub_menu {
  display: none;
  background: #f7f7f7;
  padding: 8px 0;
  border-top: 1px solid #ececec;
}
.side_sub_menu li a {
  display: block;
  padding: 10px 16px 10px 28px;
  color: #555;
  font-size: 14px;
  font-weight: 500;
}
.side_sub_menu li a:hover {
  background: #efefef;
}
/* ÇÏ´Ü ÀüÈ­ ¹öÆ° */
.side_menu_bottom {
  padding: 20px 16px;
}
.side_menu_bottom a {
  display: block;
  background: #333;
  color: #fff;
  text-align: center;
  padding: 14px 10px;
  font-size: 15px;
  font-weight: 700;
}
/* =========================================================
   5. ¸ÞÀÎ ºñÁÖ¾ó
   ---------------------------------------------------------
   PC / ¸ð¹ÙÀÏ ½½¶óÀÌµå
   ¸¶°¨ÀÓ¹Ú / ¸Þ´Þ 3°³ ¿À¹ö·¹ÀÌ
   ---------------------------------------------------------
   [ÀÌ¹ø ¼öÁ¤ ÇÙ½É]
   ±âÁ¸ : 2000 x 680 ±âÁØ
   º¯°æ : 2000 x 900 ±âÁØ
   ---------------------------------------------------------
   µû¶ó¼­ ¾Æ·¡ .visual_pc ÀÇ aspect-ratio °ªÀ»
   2000 / 900 À¸·Î ¼öÁ¤ÇÔ
   ========================================================= */
#main_visual {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #111;
}
/* PC / ¸ð¹ÙÀÏ °øÅë ¹Ú½º */
.visual_pc,
.visual_mo {
  position: relative;
  width: 100%;
  overflow: hidden;
}
/* ±âº»Àº ¸ð¹ÙÀÏ ºñÁÖ¾ó ¼û±è */
.visual_mo {
  display: none;
}
/* ---------------------------------------------------------
   PC ¸ÞÀÎ ºñÁÖ¾ó ºñÀ²
   ±âÁ¸ : aspect-ratio: 2000 / 680;
   ¼öÁ¤ : aspect-ratio: 2000 / 900;
   ---------------------------------------------------------
   ÀÌÀ¯ :
   - 2000 x 680Àº ¼¼·Î°¡ Âª¾Æ ¹è³ÊÃ³·³ º¸ÀÌ´Â ´À³¦ÀÌ °­ÇßÀ½
   - 2000 x 900À¸·Î º¯°æÇÏ¿© Ã¹ È­¸éÀÌ ´õ ¾ÈÁ¤ÀûÀÌ°í ¹¬Á÷ÇÏ°Ô º¸ÀÌµµ·Ï ¼öÁ¤
   - ÀÌ¹ÌÁö ¿øº»À» 2000 x 900À¸·Î Á¦ÀÛÇÒ °æ¿ì ÀÌ °ª°ú ¹Ýµå½Ã ¸ÂÃç¾ß
     ÀÌ¹ÌÁö°¡ ´­¸®°Å³ª Âî±×·¯ÁöÁö ¾ÊÀ½
   --------------------------------------------------------- */
.visual_pc {
  aspect-ratio: 2000 / 900;
}
/* ½½¶óÀÌµå °øÅë */
.visual_slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.8s ease;
}
.visual_slide.active {
  position: relative;
  opacity: 1;
  z-index: 1;
}
/* ---------------------------------------------------------
   ½½¶óÀÌµå ÀÌ¹ÌÁö °øÅë
   width / height 100% + object-fit: cover
   ---------------------------------------------------------
   ÀÌÀ¯ :
   - ºñÀ² ¹Ú½º ¾ÈÀ» ÀÌ¹ÌÁö°¡ ²Ë Ã¤¿ì°Ô ÇÏ±â À§ÇÔ
   - ¸ÞÀÎ ºñÁÖ¾ó / ¸ð¹ÙÀÏ ºñÁÖ¾ó ¸ðµÎ °°Àº ¹æ½ÄÀ¸·Î Ã³¸®
   --------------------------------------------------------- */
.visual_slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* ÁÂÃø »ó´Ü ¸¶°¨ÀÓ¹Ú */
.main_badge_deadline {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 5;
}
.main_badge_deadline img {
  width: 300px;
  height: auto;
}
/* ¿ìÃø ÇÏ´Ü ¸Þ´Þ 3°³ */
.main_badge_medals {
  position: absolute;
  right: 20px;
  bottom: 20px;
  z-index: 5;
  display: flex;
  align-items: flex-end;
  gap: 14px;
}
.medal_item img {
  width: 150px;
  height: auto;
}
/* =========================================================
   6. ¾÷Ã¼¸í + ÀüÈ­¹øÈ£
   ---------------------------------------------------------
   ¸ÞÀÎ ºñÁÖ¾ó ¾Æ·¡ ÅØ½ºÆ® Á¤º¸ ¿µ¿ª
   ========================================================= */
#main_intro {
  padding: 60px 20px 30px;
  background: #efefef;
}
.intro_text {
  text-align: center;
}
.intro_title {
  font-size: 30px;
  color: #333;
  margin-bottom: 12px;
  font-weight: 700;
}
.intro_tel {
  font-size: 32px;
  font-weight: 700;
  color: #222;
}
/* =========================================================
   7. 3´Ü ¹è³Ê
   ---------------------------------------------------------
   È¸»ç¼Ò°³ / ºñÀüºÐ¼® / Æò¸éµµ
   ========================================================= */
#main_banner_3 {
  padding: 20px 20px 60px;
  background: #efefef;
}
.intro_banner_wrap {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  gap: 20px;
}
.intro_banner_item {
  flex: 1;
  background: #fff;
  overflow: hidden;
}
.intro_banner_item a {
  display: block;
}
.banner_img {
  overflow: hidden;
}
.banner_img img {
  width: 100%;
  height: auto;
  transition: transform 0.3s ease;
}
.banner_txt {
  background: #333;
  color: #fff;
  text-align: center;
  padding: 14px 10px;
  font-size: 15px;
  font-weight: 600;
}
.intro_banner_item:hover img {
  transform: scale(1.05);
}
/* =========================================================
   8. Áß¾Ó ±¸ºÐ¼±
   ---------------------------------------------------------
   ¼½¼Ç »çÀÌ ÂªÀº ¶óÀÎ
   ========================================================= */
.section_line_center {
  width: 200px;
  height: 2px;
  background: linear-gradient(to right, transparent, #ccc, transparent);
  margin: 60px auto;
  border-radius: 2px;
}
/* =========================================================
   9. °í°´¼¾ÅÍ + »ó´ãÃ¢
   ---------------------------------------------------------
   ºü¸¥»ó´ãÀº ÃßÈÄ ¸ðµâ »ðÀÔ ¿¹Á¤
   ========================================================= */
#main_cs {
  padding: 0 20px 80px;
  background: #efefef;
margin-top:10px;
}
.cs_inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  gap: 40px;
}
.cs_box {
  flex: 1;
  padding: 5px 30px;
  text-align: center;
}
.cs_title {
  font-size: 20px;
  color: #333;
  margin-bottom: 20px;
  font-weight: 700;
  border-bottom: 2px solid #333;
  display: inline-block; /* ±ÛÀÚ ±æÀÌ¸¸Å­¸¸ ¹ØÁÙ */
  padding-bottom: 6px;
 position:relative;
z-index:2;
}
.cs_tel {
  font-size: 50px;
  font-weight: 700;
  color: #6b4b4b;
  margin-bottom: 20px;
}
.cs_time {
  font-size: 15px;
  color: #666;
  line-height: 2;
  font-weight: 700;
}
.cs_desc {
  font-size: 15px;
  color: #777;
  line-height: 2;
  font-weight: 700;
}
.cs_form_placeholder {
  width: 100%;
  background: #eaeaea;
  border: 1px solid #ccc;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  color: #888;
}
/* =========================================================
   10. È«º¸°ü ¹Ì¸®º¸±â (ÃÖÁ¾ ¾ÈÁ¤ ¹öÀü)
   ---------------------------------------------------------
   &#10004; 5°³ °íÁ¤ ³ëÃâ
   &#10004; ¹«ÇÑ ·Ñ¸µ Á¤»ó
   &#10004; ºñÀ² ±úÁü ¹æÁö
   ========================================================= */
#main_preview {
  padding: 0 0 80px;
  background: #efefef;
}
.preview_title {
  text-align: center;
  margin-bottom: 30px;
}
.preview_title a {
  font-size: 20px;
  font-weight: 600;
  color: #333;
}
.preview_container{
max-width:1280px;
margin:0 auto;
}
/* º¸¿©Áö´Â ¿µ¿ª */
.preview_wrap {
  overflow: hidden;
  width: 100%;
}
/* ¿òÁ÷ÀÌ´Â Æ®·¢ */
.preview_track {
  display: flex;
  gap: 10px; /* &#128293; °£°Ý */
  width: max-content;
  animation: previewSlide 30s linear infinite;
}
/* ÀÌ¹ÌÁö 1°³ */
.preview_item {
  width: 260px;   /* &#128293; °íÁ¤°ª (ÇÙ½É) */
  flex-shrink: 0;
}
.preview_item img {
  width: 100%;
  height: 180px;   /* &#128293; »ìÂ¦ Å°¿ò */
  object-fit: cover;
}
/* ¹«ÇÑ ·Ñ¸µ */
@keyframes previewSlide {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
/* =========================================================
   11. ÇÁ¸®¹Ì¾ö ¹®±¸
   ---------------------------------------------------------
   °­Á¶ ¹®±¸ 3ÁÙ
   ========================================================= */
#main_infra {
  text-align: center;
  padding: 40px 20px 80px;
  background: #efefef;
}
.infra_title {
  font-size: 26px;
  font-weight: 600;
  color: #333;
  margin-bottom: 12px;
}
.infra_sub {
  font-size: 16px;
  color: #666;
  margin-bottom: 8px;
}
.infra_desc {
  font-size: 14px;
  color: #999;
}
/* =========================================================
   12. Á¤º¸ Ä«µå ¿µ¿ª
   ---------------------------------------------------------
   ¿ÞÂÊ 3Ä­ / ¿À¸¥ÂÊ 2Ä­ ºñÀ²
   ¿ÞÂÊ °¡¿îµ¥ : ÀÔÁöÁ¶°Ç + À¯´Öº¸±â 2ºÐÇÒ
   ========================================================= */
#main_info_cards {
  height: 800px;
  padding: 0 20px 80px;
  background: #efefef;
}
.info_cards_inner {
  max-width: 1280px;
  height: 100%;
  margin: 0 auto;
  display: flex;
  gap: 20px;
  display: flex;
flex-direction: row-reverse; /* &#128293; ÀÌ°Å ÇÑ ÁÙÀÌ¸é ³¡ */
}
.info_col {
  display: flex;
  flex-direction: column;
}
.info_col_left {
  width: 50%;
  gap: 20px;
}
.info_col_right {
  width: 50%;
  gap: 20px;
}
/* ¿ÞÂÊ 3Ä­ ³ôÀÌ */
.info_col_left .info_box {
  height: calc((100% - 40px) / 3);
}
/* ¿À¸¥ÂÊ 2Ä­ ³ôÀÌ */
.info_col_right .info_box {
  height: calc((100% - 20px) / 2);
}
/* °øÅë ¹Ú½º */
.info_box {
  background: #fff;
  overflow: hidden;
}
/* ÅØ½ºÆ®Çü ¹Ú½º */
.info_box_text {
  text-align: center;
  padding: 30px 20px;
}
.info_title {
  font-size: 18px;
  margin-bottom: 12px;
}
.info_tel {
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 10px;
}
.info_desc {
  font-size: 14px;
  color: #666;
  line-height: 1.6;
}
/* °øÁö»çÇ× ¸ðµâ ÀÚ¸® */
.info_notice {
  height: 120px;
  background: #f3f3f3;
  border: 1px solid #ddd;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  color: #888;
text-align:left;
}
/* ÀÔÁöÁ¶°Ç + À¯´Öº¸±â ¹­À½ */
.info_group {
  padding: 0;
}
.group_2 {
  display: flex;
  height: 100%;
}
.group_2 .info_card {
  width: 50%;
  height: 100%;
}
.group_2 .info_card + .info_card {
  border-left: 1px solid #e5e5e5;
}
/* ÀÌ¹ÌÁöÇü Ä«µå */
.info_card a,
.info_box > a {
  display: block;
  height: 100%;
}
.info_card_img {
  height: calc(100% - 50px);
}
.info_card_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.info_card_txt {
  height: 50px;
  line-height: 50px;
  background: #333;
  color: #fff;
  text-align: center;
  font-size: 15px;
  font-weight: 600;
}
/* hover È®´ë */
.info_box:hover img {
  transform: scale(1.05);
}
/* =========================================================
   13. Ç²ÅÍ
   ---------------------------------------------------------
   °øÅë Ç²ÅÍ
   ========================================================= */
#footer {
  background: #333;
  padding: 50px 20px;
}
.footer_inner {
  max-width: 1280px;
  margin: 0 auto;
  text-align: center;
}
.footer_logo {
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 20px;
}
.footer_info p {
  font-size: 13px;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.75);
}
.footer_copy {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 12px;
  color: rgba(255, 255, 255, 0.5);
}
#bottom_cta{
display:none;
}
/* =========================================================
   14. ÅÂºí¸´
   ---------------------------------------------------------
   Áß°£ ±¸°£¿¡¼­ ÀÌ¹ÌÁö/¿À¹ö·¹ÀÌ Å©±â¸¸ Á¶Á¤
   ========================================================= */
@media screen and (max-width: 1024px) {
  .main_badge_deadline {
    top: 16px;
    left: 16px;
  }
  .main_badge_deadline img {
    width: 190px;
  }
  .main_badge_medals {
    right: 16px;
    bottom: 16px;
    gap: 10px;
  }
  .medal_item img {
    width: 140px;
  }
}
/* =========================================================
   &#128293; ÇÏ´Ü ¹Ý¹Ý CTA
   ========================================================= */
#bottom_cta{
  display:none;
}
/* ¹öÆ° °øÅë */
.cta_item{
  flex:1;                        /* &#128293; ¹Ý¹Ý ÇÙ½É */
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  height:60px;
  font-size:14px;
  font-weight:600;
  text-decoration:none;
}
/* ¿ÞÂÊ */
.cta_left{
  background:#444;
  color:#fff;
}
/* ¿À¸¥ÂÊ */
.cta_right{
  background:#333;
  color:#fff;
}
/* ¾ÆÀÌÄÜ */
.cta_icon{
  font-size:16px;
}
/* hover */
.cta_item:hover{
  opacity:0.9;
}
/* =========================================================
   15. ¸ð¹ÙÀÏ
   ---------------------------------------------------------
   PC ±¸Á¶ ¡æ ¸ð¹ÙÀÏ ±¸Á¶·Î ÀüÈ¯
   ========================================================= */
@media screen and (max-width: 768px) {
  /* PC / ¸ð¹ÙÀÏ ÀüÈ¯ */
  .pc_only {
    display: none !important;
  }
  .mo_only {
    display: block !important;
  }
  /* -------------------------
     ¸ð¹ÙÀÏ Çì´õ
     ------------------------- */
  .header_inner {
    height: 64px;
    padding: 0 10px;
  }
  .logo,
  .gnb_wrap,
  .header_contact {
    display: none !important;
  }
  .m_header {
    display: flex !important; 
  }
  .m_quick_menu {
    display: block;
  }
  .m_tel_bar {
    display: block;
  }
  /* -------------------------
     ¸ð¹ÙÀÏ ¸ÞÀÎ ºñÁÖ¾ó
     ¡Ø °¡·ÎÇü À¯Áö
     ------------------------- */
  .visual_pc {
    display: none;
  }
  .visual_mo {
    display: block;
    aspect-ratio: 16 / 9;
  }
  .main_badge_deadline {
    top: 10px;
    left: 10px;
  }
  .main_badge_deadline img {
    width: 110px;
  }
  .main_badge_medals {
    right: 10px;
    bottom: 10px;
    gap: 6px;
  }
  .medal_item img {
    width: 90px;
  }
  /* ¾÷Ã¼¸í + ÀüÈ­¹øÈ£ */
  #main_intro {
    padding: 40px 12px 20px;
  }
  .intro_title {
    font-size: 20px;
  }
  .intro_tel {
    font-size: 24px;
  }
  /* 3´Ü ¹è³Ê */
  #main_banner_3 {
    padding: 20px 12px 40px;
  }
  .intro_banner_wrap {
    flex-direction: column;
    gap: 12px;
  }
  /* Áß¾Ó ±¸ºÐ¼± */
  .section_line_center {
    width: 80px;
    margin: 40px auto;
  }
  /* °í°´¼¾ÅÍ + »ó´ãÃ¢ */
  #main_cs {
    padding: 0 12px 50px;
  }
  .cs_inner {
    flex-direction: column;
    gap: 20px;
  }
  .cs_box {
    padding: 30px 20px;
  }
  .cs_tel {
    font-size: 36px;
  }
  /* È«º¸°ü ¹Ì¸®º¸±â */
  #main_preview {
    padding: 0 0 50px;
  }
  .preview_item {
width: 80vw;
}
.preview_item img {
height: 200px;
}
  /* ÇÁ¸®¹Ì¾ö ¹®±¸ */
  #main_infra {
    padding: 30px 12px 60px;
  }
  .infra_title {
    font-size: 20px;
  }
  .infra_sub {
    font-size: 14px;
  }
  .infra_desc {
    font-size: 13px;
  }
  /* Á¤º¸ Ä«µå */
  #main_info_cards {
    height: auto;
    padding: 0 12px 50px;
  }
  .info_cards_inner {
    flex-direction: column;
    height: auto;
    gap: 16px;
  }
  .info_col {
    width: 100%;
    gap: 16px;
  }
  .info_box {
    height: auto !important;
  }
  .group_2 {
    flex-direction: column;
  }
  .group_2 .info_card {
    width: 100%;
    height: auto;
  }
  .info_card_img {
    height: auto
  }
  .info_card_txt {
    height: 44px;
    line-height: 44px;
    font-size: 14px;
  }
  .info_customer_tel,
  .info_tel {
    font-size: 26px;
  }
  /* Ç²ÅÍ */
  #footer {
    padding: 40px 12px;
  }
  .footer_logo {
    font-size: 18px;
    margin-bottom: 16px;
  }
  .footer_info p {
    font-size: 12px;
    line-height: 1.7;
  }
  .footer_copy {
    margin-top: 16px;
    padding-top: 16px;
    font-size: 11px;
  }
  .footer_cta_btns{
    flex-direction:column;
    gap:10px;
  }
}
@media (max-width:768px){
#bottom_cta{
display:flex !important;
width:100%;
}
}
/* =========================================================
   16. ¼ÒÇü ¸ð¹ÙÀÏ
   ---------------------------------------------------------
   ¾ÆÁÖ ÀÛÀº È­¸é Ãß°¡ Á¶Á¤
   ========================================================= */
@media screen and (max-width: 480px) {
  .m_logo a {
    font-size: 14px;
  }
  .m_quick_menu a {
    font-size: 12px;
  }
  .m_tel_bar a {
    font-size: 12px;
  }
  .main_badge_deadline img {
    width: 100px;
  }
  .medal_item img {
    width: 60px;
  }
  .main_badge_medals {
    gap: 4px;
  }
}