/* =========================
   BASE
   ========================= */
html, body { height: 100%; }

body{
  padding-top: 0px; /* Çì´õ À§ ¿©¹é(¿øÇÏ¸é 100px·Î º¯°æ) */
  margin: 0;
  background: #949AAD;
  font-family: "Nanum Gothic", "Malgun Gothic", sans-serif;
}

/* =========================
   PAGE SCALE (ZOOM ´ëÃ¼)
   ========================= */
:root{ --page-scale: 1; }

@media (max-width: 1920px){
  :root{ --page-scale: 1.15; }
}
@media (min-width: 1921px) and (max-width: 2560px){
  :root{ --page-scale: 1.35; }
}
@media (min-width: 2561px){
  :root{ --page-scale: 1.5; }
}

/* ? Çì´õ~º»¹®~ÇªÅÍ ÀüÃ¼¸¦ °¨½Î´Â ÄÁÅ×ÀÌ³Ê */
.page-scale{
  width: 966px;
  margin: 0 auto;
  transform-origin: top center;
  transform: scale(var(--page-scale));
}

/* ? page-scale ³»ºÎ Æø/Á¤·Ä ¾ÈÁ¤È­ */
.wrapper_hd{ width: 100%; }
.content_hd{ width: 100%; margin: 0; }

.notice-wrap,
.taja-header,
.taja-main,
.taja-footer{
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}
.notice-wrap{
  width: 100%;
  background: #309AAD;
  border: 2px solid #0B4D5B;
  box-shadow: 0 6px 18px rgba(0,0,0,0.25);
  box-sizing: border-box;	
}
.notice-wrap a{
  display: block;
  width: 100%;
}

.notice-wrap a img{
  display: block;
  width: 100%;
  height: auto;
}
.notice-wrap{ margin: 0 !important; }
.notice-wrap img{ margin-bottom: 0 !important; }

/* =========================
   MAIN WRAP (·¹ÀÏ ±âÁØÁ¡)
   ========================= */
.main-wrap{
  min-height: 600px;     /* ? ¹è°æÀÌ º¸ÀÌµµ·Ï ÃÖ¼Ò ³ôÀÌ */
  position: relative; /* ? side-rail absolute ±âÁØÁ¡ */
  width: 100%;
}

/* =========================
   HEADER
   ========================= */
.taja-header{
  height: 74px;
  background: #309AAD;
  border: 2px solid #0B4D5B;
  box-shadow: 0 6px 18px rgba(0,0,0,0.25);
  box-sizing: border-box;
}

.taja-header__inner{
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 14px;
}

/* Å¸ÀÚ¿¬½À Å¸ÀÌÆ² */
.taja-header__left{ margin-left: 20px; }

.taja-title-link{
  font-family: "Nanum Gothic", "Malgun Gothic", sans-serif;
  font-weight: 800;
  font-size: 44px;
  letter-spacing: 1px;
  color: #fff;
  text-decoration: none;

  white-space: nowrap;
  line-height: 1;

  padding: 6px 16px;
  background: rgba(0,0,0,0.18);
  border-radius: 4px;
  text-shadow: 0 3px 0 rgba(0,0,0,0.35);
}

.taja-title-link:hover{
  background: rgba(0,0,0,0.25);
}

/* ¿À¸¥ÂÊ ·Î±×ÀÎ */
.taja-header__right{ white-space: nowrap; }
.taja-header__right a{
  color: #fff;
  text-decoration: none;
}
.taja-header__right a:hover{
  text-decoration: underline;
}

/* =========================
   FOOTER
   ========================= */
.taja-footer{
  min-height: 45px;
  background: #309AAD;
  border: 2px solid #0B4D5B;
  box-shadow: 0 6px 18px rgba(0,0,0,0.25);
  box-sizing: border-box;

  margin-top: -2px;
  padding: 6px 0;

  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 9999;
}

.taja-footer__inner{
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;

  font-size: 14px;
  font-weight: 700;
  color: #fff;

  text-shadow: 0 1px 0 rgba(0,0,0,0.35);
  white-space: nowrap;
  gap: 2px;
}

.taja-footer__block{
  font-weight: 700;
  line-height: 1.35;
}

.taja-footer__academy{
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  display: inline-block;
  transition: transform 0.15s ease-out;
}
.taja-footer__academy:hover{
  transform: scale(1.06);
}

.taja-footer__copyright{
  font-weight: 400;
  opacity: 0.95;
}

/* =========================
   SIDE RAIL (½½¶óÀÌµå, ¸ÞÀÎ ¿· / È®´ë °°ÀÌ)
   - ? fixed_layer ´ë½Å »ç¿ë
   ========================= */
.side-rail.side-rail--scaled{
  position: absolute;
  top: 50%;
  right: -60px;                 /* ? ¸ÞÀÎ(966) ¿À¸¥ÂÊ¿¡ µü ºÙÀÓ */
  transform: translateY(-50%);
  z-index: 2000;

  width: 60px;
  height: auto;
}

/* ¼ÕÀâÀÌ */
.rail-handle{
  width: 50px;
  height: 60px;
  border: 0;
  cursor: pointer;

  border-radius: 12px 12px 12px 12px;
  background: #309AAD;
  color: #fff;
  font-size: 38px;
  font-weight: 800;
  box-shadow: 0 6px 18px rgba(0,0,0,0.25);
}

/* ½½¶óÀÌµå ÆÐ³Î */
.rail-panel{
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%) translateX(105%);
  transition: transform 0.25s ease;

  width: 130px;
  padding: 12px;
  border-radius: 12px;
  background: #309AAD;
  border: 2px solid #0B4D5B;
  box-shadow: 0 10px 26px rgba(0,0,0,0.28);
}

.side-rail.is-open .rail-panel{
  transform: translateY(-50%) translateX(0);
}

/* ? È­¸éÀÌ Á¼À¸¸é ¸ÞÀÎ Ä§¹ü ¹æÁö: ·¹ÀÏÀ» ¾ÈÂÊÀ¸·Î */
@media (max-width: 1120px){
  .side-rail.side-rail--scaled{
    right: 10px;
  }
}

/* =========================
   INDEX MAIN
   ========================= */
.notice-wrap{
  margin: 0 0 8px 0;
  text-align: center;
}

.notice-link{
  display: inline-block;
  font-weight: 700;
  color: #fff;
  background: rgba(0,0,0,0.35);
  padding: 8px 14px;
  border-radius: 8px;
  text-decoration: none;
  transition: transform 0.15s ease-out;
}
.notice-link:hover{ transform: scale(1.03); }

.taja-main{
  background: #309AAD;
  border: 2px solid #0B4D5B;
  box-shadow: 0 10px 26px rgba(0,0,0,0.28);
  box-sizing: border-box;
}

.taja-main__inner{
  padding: 24px 22px 18px 22px;
  box-sizing: border-box;
  color: #fff;
}

/* 4ÄÃ·³ */
.taja-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 26px;
  align-items: start;
  margin-top: 18px;
}

/* Á¦¸ñ */
.taja-col__title{
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  text-shadow: 0 1px 0 rgba(0,0,0,0.28);
  margin-bottom: 6px;
}

.taja-col__underline{
  width: 70%;
  height: 5px;
  margin: 0 auto 10px auto;
  background: rgba(140, 230, 80, 0.85);
  border-radius: 999px;
  box-shadow: 0 2px 0 rgba(0,0,0,0.15);
}

/* ¹öÆ° °£°Ý */
.taja-center-stack{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin-top: 1px;
}

/* =========================
   PUSH BUTTONS
   ========================= */
a.button, button.button{
  display: inline-flex;
  width: 120px;
  height: 50px;
  justify-content: center;
  align-items: center;

  font-weight: 700;
  font-size: 19px;
  color: #fff;

  border-radius: 6px;
  border: 0;
  cursor: pointer;
  text-decoration: none;

  box-shadow:
    0 6px 0 rgba(0,0,0,0.28),
    0 10px 16px rgba(0,0,0,0.22);

  transition: all 0.2s;
}

.btnPush:hover{
  transform: translateY(3px);
  box-shadow:
    0 3px 0 rgba(0,0,0,0.26),
    0 8px 14px rgba(0,0,0,0.20);
}

.btnOrange{ background: #FFAA40; }
.btnPurple{ background: #A74982; }

/* ¾È³» */
.taja-notes{
  margin: 16px auto 14px auto;
  width: 88%;
  background: rgba(0,0,0,0.10);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 10px;
  padding: 14px 16px;
  box-sizing: border-box;
}

.taja-notes ol{
  margin: 0;
  padding-left: 18px;
  color: rgba(255,255,255,0.95);
  font-size: 12px;
  line-height: 1.55;
  text-shadow: 0 1px 0 rgba(0,0,0,0.22);
}

/* =========================
   SIDE MENU (Ä«µåÇü)
   ========================= */
.side-card{
  width: 92%;
  margin: 0 auto 14px auto;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 10px 26px rgba(0,0,0,0.28);
  border: 1px solid rgba(0,0,0,0.10);
  overflow: hidden;
}

.side-grid{
  display: grid;
  grid-template-columns: 1.1fr 1.1fr 1.3fr 0.9fr;
}

.side-head{
  padding: 12px 10px;
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  color: #666;
  border-bottom: 2px solid #ddd;
}

.side-col{
  padding: 10px 10px 14px 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  border-right: 1px solid #eee;
}

/* ? 4¹øÂ° ÄÃ·³(±âÅ¸) ¿À¸¥ÂÊ º¸´õ Á¦°Å */
.side-links{
  padding: 10px 10px 14px 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
}

/* mini ¹öÆ° */
.mini-btn{
  width: 112px;
  height: 26px;
  border: 0;
  border-radius: 999px;
  cursor: pointer;	
  font-weight: 700;
  font-size: 12px;
  color: #0B4D5B;

  background: linear-gradient(#CFF6E8, #8ADCC6);

  box-shadow:
    0 3px 0 rgba(0,0,0,0.18),
    0 7px 12px rgba(0,0,0,0.12);

  transition: all 0.15s;
}

a.mini-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.mini-btn:hover{
  transform: translateY(2px);
  box-shadow:
    0 2px 0 rgba(0,0,0,0.16),
    0 6px 10px rgba(0,0,0,0.11);
}

/* mini2 ¹öÆ° */
.mini2-btn{
  width: 112px;
  height: 26px;
  border: 0;
  border-radius: 999px;
  cursor: pointer;

  font-weight: 700;
  font-size: 12px;
  color: #0B4D5B;

  background: linear-gradient(#FFD8DF, #FFAAB8);

  box-shadow:
    0 3px 0 rgba(0,0,0,0.18),
    0 7px 12px rgba(0,0,0,0.12);

  transition: all 0.15s;
}

a.mini2-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.mini2-btn:hover{
  transform: translateY(2px);
  box-shadow:
    0 2px 0 rgba(0,0,0,0.16),
    0 6px 10px rgba(0,0,0,0.11);
}

/* mini3 ¹öÆ° */
.mini3-btn{
  width: 112px;
  height: 26px;
  border: 0;
  border-radius: 999px;
  cursor: pointer;

  font-weight: 700;
  font-size: 12px;
  color: #0B4D5B;

  background: linear-gradient(#B7F0B1, #86E57F);

  box-shadow:
    0 3px 0 rgba(0,0,0,0.18),
    0 7px 12px rgba(0,0,0,0.12);

  transition: all 0.15s;
}

a.mini3-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.mini3-btn:hover{
  transform: translateY(2px);
  box-shadow:
    0 2px 0 rgba(0,0,0,0.16),
    0 6px 10px rgba(0,0,0,0.11);
}

 /* ¾Æ¹Ù´ÙÀÌµ¿ */
.marqueeBox{
  width: 200px;
  overflow: hidden;
  position: relative;
}

.marqueeMove{
  width: 120px;         /* iframe Æø */
  position: relative;
  animation: moveLR 3s ease-in-out infinite alternate;
}

@keyframes moveLR{
  from { transform: translateX(-60); }
  to   { transform: translateX(60px); } /* 200-120=80 */
}
 /* ¸Þ½ÃÁö¹Ú½º ¹öÆ° µðÀÚÀÎ */
.swal-big-confirm{
  font-size: 20px !important;
  font-weight: 900 !important;
  padding: 14px 32px !important;
  border-radius: 14px !important;
}