@charset "UTF-8";
/*
  [260609 수진]
  - padding, margin em > rem으로 수정
  - :root 색 정의 수정
  - width, hiehgt값 빠진 부분 수정
  - line-height 클래스, 값 수정

  [260319 수진]
  - .scroll_table 수정

  [260202 수진]
  - .search_st5 추가
  - .info_box 추가

  [240806 수진] 
  - .search_wrap 모바일일때 깨지는 현상 수정
  - .btn 텍스트 커서 잡히는 현상 수정

  [240808 수진]
  - .box_multiple 추가 
  - .box_line_top 추가

  [240809 수진]
  - line 스타일 추가 

  [240812 수진]
  - pop-layer  반응형 작업
  - paging style a 태그 추가

  [240828 수진]
  - popupLayer 열릴때 body에 overflow: hidden작업
  - font, bg, line에 main color, sub color 추가
  - box_multiple 반응형 작업

  [240829 수진]
  - input type="file" .filebox 추가
*/

:root {
  /* 폰트 스타일 — 사이트에 사용할 폰트를 여기에 지정 */
  --font-st1: "A2Z";

  /* 컬러 팔레트 */

  /* 무채색 */
  --white: #fff;
  --black: #000;

  /* yellow */
  --yellowLightest: #fffced;
  --yellowLight: #fff89f;
  --yellow: #ffdc27;
  --yellowDark: #ffbe00;
  --yellowDarkest: #8a6a00;

  /* orange */
  --orangeLightest: #ffe6d2;
  --orangeLight: #ffa519;
  --orange: #ff7d1d;
  --orangeDark: #d94800;
  --orangeDarkest: #7a2c00;

  /* red */
  --redLightest: #ffe0dd;
  --redLight: #ff564a;
  --red: #f11100;
  --redDark: #a70c00;
  --redDarkest: #5e0700;

  /* green */
  --greenLightest: #dcf9e2;
  --greenLight: #82ee75;
  --green: #1eb30d;
  --greenDark: #00964e;
  --greenDarkest: #00472a;

  /* blue ~ navy (하나의 파랑 스펙트럼) */
  --blueLightest: #d9edfd;
  --blueLight: #0087e9;
  --blue: #2452ce;
  --navyLight: #243595;
  --navy: #252f68;
  --navyDark: #131a43;
  --navyDarkest: #090c24;

  /* purple */
  --purpleLightest: #edefff;
  --purpleLight: #ba81ed;
  --purple: #8327d5;
  --purpleDark: #500e8b;
  --purpleDarkest: #2e0850;

  /* pink */
  --pinkLightest: #fff3fa;
  --pinkLight: #ffe7f5;
  --pink: #f628a1;
  --pinkDark: #b10068;
  --pinkDarkest: #6b003f;

  /* skyBlue */
  --skyBlueLightest: #e3fdff;
  --skyBlueLight: #c2faff;
  --skyBlue: #55f3ff;
  --skyBlueDark: #11b3c2;
  --skyBlueDarkest: #0a6f78;

  /* blueGray (기본색 없음) */
  --blueGrayLightest: #e8edf5;
  --blueGrayLight: #c5cddc;
  --blueGrayDark: #8d9bae;
  --blueGrayDarkest: #4f5a6a;

  /* brown */
  --brownLightest: #f3e9e1;
  --brownLight: #c8a98e;
  --brown: #8a5a34;
  --brownDark: #5e3a1e;
  --brownDarkest: #3a2412;

  /* gray */
  --grayLightest: #f5f6f9;
  --grayLight: #e7eaf0;
  --gray: #989898;
  --grayDark: #333;
  --grayDarkest: #1a1a1a;

  /* input radio checkbox 색상 */
  --input-color: #0dac56;

  /* 메인 컬러 */
  --main-color: #003592;
  --main-color-dark: #11258b;
  --main-color-light: #4c66e9;

  /* 텍스트 */
  --tit-color: #131720;
  --sub-tit-color: #353e52;
  --txt-color: #666;
  --sub-txt-color: #68707d;
  --sub-txt-color2: #c8cfdd;
  --txt-disabled-color: #a5acb8;
  --tit-main-color: #344dcf;

  /* 배경 */
  --bg-color: #fff;
  --bg-sub-color: #D1D6E2;
  --bg-sub-light: #eceef6;
  --bg-sub-dark: #353e52;

  /* 라인 */
  --line-color: #DDE2EA;
  --line-color-light:#ECEEF6;
  --line-color-dark: #c8cfdd;

  /* 상태 */
  --success-color: var(--green);
  --error-color: var(--red);
  --warning-color: var(--yellowDark);
  --info-color: var(--blue);
}

/* font — 기본 글자색·글자 크기를 여기서 지정 */
body,
html,
a,
button,
table,
input,
select,
textarea {
  font-family: var(--font-st1), sans-serif;
  color: #666;
  font-size: 16px; /* rem 기준값: 1rem = 16px */
}
body {
  letter-spacing: -0.025em;
}

/* 폰트사이즈 반응형 (rem 기준값은 항상 16px 유지) */
/* 일반 데스크탑·노트북 */
@media screen and (max-width: 1600px) {
  body,
  html,
  a,
  button,
  table,
  input,
  select,
  textarea {
    font-size: 16px;
  }
}
/* 좁은 노트북·태블릿 가로 */
@media screen and (max-width: 1200px) {
}
/* 모바일·태블릿 세로 */
@media screen and (max-width: 900px) {
  body,
  html,
  a,
  button,
  table,
  input,
  select,
  textarea {
    font-size: 16px;
  }
}

/* Material Icon 지정 */
.material-symbols-outlined {
  font-family: "Material Symbols Outlined";
  font-weight: normal;
  font-style: normal;
  font-size: 24px; /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
}
.btn_wrap {
  width: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.btn_wrap > .btn {
  cursor: pointer !important;
}
.btn {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  user-select: none;
  transition: .4s all;
}

/* display layout */
.wFix {
  max-width: 1660px; /* 최대 너비값을 여기에 지정 (디자인 기준 1660px) */
  padding: 0;
  width: 100%;
  margin: 0 auto;
  position: relative;
}

/* 화면 1750px 이하: .wFix 를 여기 지정한 너비로 적용 */
@media screen and (max-width: 1750px) {
  .wFix {
    max-width: 100%; /* 1750px 이하일 때 적용할 너비 */
    padding-left:  3rem !important;
    padding-right:  3rem !important;
  }
}
@media screen and (max-width: 1600px) {
}
@media screen and (max-width: 1200px) {
  .wFix {
    max-width: 100%; /* 1750px 이하일 때 적용할 너비 */
    padding-left:  2rem !important;
    padding-right:  2rem !important;
  }
}
@media screen and (max-width: 900px) {
}

/* 숨김 */
.visibility_hidden {
  visibility: hidden;
} /* 공간은 그대로 */
.blind {
  width: 1px;
  height: 1px;
  overflow: hidden;
  position: absolute;
  top: -9999em;
  left: -9999em;
  display: block;
  text-indent: -9999em;
  font-size: 0px;
  line-height: 0;
}
/* 스크린리더 전용 텍스트 */
.sr_only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

/* padding & margin **************************************************/
.p0 {
  padding: 0 !important;
}
.p1 {
  padding: 0.1rem !important;
}
.p2 {
  padding: 0.2rem !important;
}
.p3 {
  padding: 0.3rem !important;
}
.p4 {
  padding: 0.4rem !important;
}
.p5 {
  padding: 0.5rem !important;
}
.p6 {
  padding: 0.6rem !important;
}
.p7 {
  padding: 0.7rem !important;
}
.p8 {
  padding: 0.8rem !important;
}
.p9 {
  padding: 0.9rem !important;
}
.p10 {
  padding: 1rem !important;
}
.p11 {
  padding: 1.1rem !important;
}
.p12 {
  padding: 1.2rem !important;
}
.p13 {
  padding: 1.3rem !important;
}
.p14 {
  padding: 1.4rem !important;
}
.p15 {
  padding: 1.5rem !important;
}
.p16 {
  padding: 1.6rem !important;
}
.p17 {
  padding: 1.7rem !important;
}
.p18 {
  padding: 1.8rem !important;
}
.p19 {
  padding: 1.9rem !important;
}
.p20 {
  padding: 2rem !important;
}
.p21 {
  padding: 2.1rem !important;
}
.p22 {
  padding: 2.2rem !important;
}
.p23 {
  padding: 2.3rem !important;
}
.p24 {
  padding: 2.4rem !important;
}
.p25 {
  padding: 2.5rem !important;
}
.p26 {
  padding: 2.6rem !important;
}
.p27 {
  padding: 2.7rem !important;
}
.p28 {
  padding: 2.8rem !important;
}
.p29 {
  padding: 2.9rem !important;
}
.p30 {
  padding: 3rem !important;
}
.p31 {
  padding: 3.1rem !important;
}
.p32 {
  padding: 3.2rem !important;
}
.p33 {
  padding: 3.3rem !important;
}
.p34 {
  padding: 3.4rem !important;
}
.p35 {
  padding: 3.5rem !important;
}
.p36 {
  padding: 3.6rem !important;
}
.p37 {
  padding: 3.7rem !important;
}
.p38 {
  padding: 3.8rem !important;
}
.p39 {
  padding: 3.9rem !important;
}
.p40 {
  padding: 4rem !important;
}
.p41 {
  padding: 4.1rem !important;
}
.p42 {
  padding: 4.2rem !important;
}
.p43 {
  padding: 4.3rem !important;
}
.p44 {
  padding: 4.4rem !important;
}
.p45 {
  padding: 4.5rem !important;
}
.p46 {
  padding: 4.6rem !important;
}
.p47 {
  padding: 4.7rem !important;
}
.p48 {
  padding: 4.8rem !important;
}
.p49 {
  padding: 4.9rem !important;
}
.p50 {
  padding: 5rem !important;
}

/* padding-top */
.pt1 {
  padding-top: 0.1rem !important;
}
.pt2 {
  padding-top: 0.2rem !important;
}
.pt3 {
  padding-top: 0.3rem !important;
}
.pt4 {
  padding-top: 0.4rem !important;
}
.pt5 {
  padding-top: 0.5rem !important;
}
.pt6 {
  padding-top: 0.6rem !important;
}
.pt7 {
  padding-top: 0.7rem !important;
}
.pt8 {
  padding-top: 0.8rem !important;
}
.pt9 {
  padding-top: 0.9rem !important;
}
.pt10 {
  padding-top: 1rem !important;
}
.pt11 {
  padding-top: 1.1rem !important;
}
.pt12 {
  padding-top: 1.2rem !important;
}
.pt13 {
  padding-top: 1.3rem !important;
}
.pt14 {
  padding-top: 1.4rem !important;
}
.pt15 {
  padding-top: 1.5rem !important;
}
.pt16 {
  padding-top: 1.6rem !important;
}
.pt17 {
  padding-top: 1.7rem !important;
}
.pt18 {
  padding-top: 1.8rem !important;
}
.pt19 {
  padding-top: 1.9rem !important;
}
.pt20 {
  padding-top: 2rem !important;
}
.pt21 {
  padding-top: 2.1rem !important;
}
.pt22 {
  padding-top: 2.2rem !important;
}
.pt23 {
  padding-top: 2.3rem !important;
}
.pt24 {
  padding-top: 2.4rem !important;
}
.pt25 {
  padding-top: 2.5rem !important;
}
.pt26 {
  padding-top: 2.6rem !important;
}
.pt27 {
  padding-top: 2.7rem !important;
}
.pt28 {
  padding-top: 2.8rem !important;
}
.pt29 {
  padding-top: 2.9rem !important;
}
.pt30 {
  padding-top: 3rem !important;
}
.pt31 {
  padding-top: 3.1rem !important;
}
.pt32 {
  padding-top: 3.2rem !important;
}
.pt33 {
  padding-top: 3.3rem !important;
}
.pt34 {
  padding-top: 3.4rem !important;
}
.pt35 {
  padding-top: 3.5rem !important;
}
.pt36 {
  padding-top: 3.6rem !important;
}
.pt37 {
  padding-top: 3.7rem !important;
}
.pt38 {
  padding-top: 3.8rem !important;
}
.pt39 {
  padding-top: 3.9rem !important;
}
.pt40 {
  padding-top: 4rem !important;
}
.pt41 {
  padding-top: 4.1rem !important;
}
.pt42 {
  padding-top: 4.2rem !important;
}
.pt43 {
  padding-top: 4.3rem !important;
}
.pt44 {
  padding-top: 4.4rem !important;
}
.pt45 {
  padding-top: 4.5rem !important;
}
.pt46 {
  padding-top: 4.6rem !important;
}
.pt47 {
  padding-top: 4.7rem !important;
}
.pt48 {
  padding-top: 4.8rem !important;
}
.pt49 {
  padding-top: 4.9rem !important;
}
.pt50 {
  padding-top: 5rem !important;
}

/* padding-bottom */
.pb1 {
  padding-bottom: 0.1rem !important;
}
.pb2 {
  padding-bottom: 0.2rem !important;
}
.pb3 {
  padding-bottom: 0.3rem !important;
}
.pb4 {
  padding-bottom: 0.4rem !important;
}
.pb5 {
  padding-bottom: 0.5rem !important;
}
.pb6 {
  padding-bottom: 0.6rem !important;
}
.pb7 {
  padding-bottom: 0.7rem !important;
}
.pb8 {
  padding-bottom: 0.8rem !important;
}
.pb9 {
  padding-bottom: 0.9rem !important;
}
.pb10 {
  padding-bottom: 1rem !important;
}
.pb11 {
  padding-bottom: 1.1rem !important;
}
.pb12 {
  padding-bottom: 1.2rem !important;
}
.pb13 {
  padding-bottom: 1.3rem !important;
}
.pb14 {
  padding-bottom: 1.4rem !important;
}
.pb15 {
  padding-bottom: 1.5rem !important;
}
.pb16 {
  padding-bottom: 1.6rem !important;
}
.pb17 {
  padding-bottom: 1.7rem !important;
}
.pb18 {
  padding-bottom: 1.8rem !important;
}
.pb19 {
  padding-bottom: 1.9rem !important;
}
.pb20 {
  padding-bottom: 2rem !important;
}
.pb21 {
  padding-bottom: 2.1rem !important;
}
.pb22 {
  padding-bottom: 2.2rem !important;
}
.pb23 {
  padding-bottom: 2.3rem !important;
}
.pb24 {
  padding-bottom: 2.4rem !important;
}
.pb25 {
  padding-bottom: 2.5rem !important;
}
.pb26 {
  padding-bottom: 2.6rem !important;
}
.pb27 {
  padding-bottom: 2.7rem !important;
}
.pb28 {
  padding-bottom: 2.8rem !important;
}
.pb29 {
  padding-bottom: 2.9rem !important;
}
.pb30 {
  padding-bottom: 3rem !important;
}
.pb31 {
  padding-bottom: 3.1rem !important;
}
.pb32 {
  padding-bottom: 3.2rem !important;
}
.pb33 {
  padding-bottom: 3.3rem !important;
}
.pb34 {
  padding-bottom: 3.4rem !important;
}
.pb35 {
  padding-bottom: 3.5rem !important;
}
.pb36 {
  padding-bottom: 3.6rem !important;
}
.pb37 {
  padding-bottom: 3.7rem !important;
}
.pb38 {
  padding-bottom: 3.8rem !important;
}
.pb39 {
  padding-bottom: 3.9rem !important;
}
.pb40 {
  padding-bottom: 4rem !important;
}
.pb41 {
  padding-bottom: 4.1rem !important;
}
.pb42 {
  padding-bottom: 4.2rem !important;
}
.pb43 {
  padding-bottom: 4.3rem !important;
}
.pb44 {
  padding-bottom: 4.4rem !important;
}
.pb45 {
  padding-bottom: 4.5rem !important;
}
.pb46 {
  padding-bottom: 4.6rem !important;
}
.pb47 {
  padding-bottom: 4.7rem !important;
}
.pb48 {
  padding-bottom: 4.8rem !important;
}
.pb49 {
  padding-bottom: 4.9rem !important;
}
.pb50 {
  padding-bottom: 5rem !important;
}

/* padding-left */
.pl1 {
  padding-left: 0.1rem !important;
}
.pl2 {
  padding-left: 0.2rem !important;
}
.pl3 {
  padding-left: 0.3rem !important;
}
.pl4 {
  padding-left: 0.4rem !important;
}
.pl5 {
  padding-left: 0.5rem !important;
}
.pl6 {
  padding-left: 0.6rem !important;
}
.pl7 {
  padding-left: 0.7rem !important;
}
.pl8 {
  padding-left: 0.8rem !important;
}
.pl9 {
  padding-left: 0.9rem !important;
}
.pl10 {
  padding-left: 1rem !important;
}
.pl11 {
  padding-left: 1.1rem !important;
}
.pl12 {
  padding-left: 1.2rem !important;
}
.pl13 {
  padding-left: 1.3rem !important;
}
.pl14 {
  padding-left: 1.4rem !important;
}
.pl15 {
  padding-left: 1.5rem !important;
}
.pl16 {
  padding-left: 1.6rem !important;
}
.pl17 {
  padding-left: 1.7rem !important;
}
.pl18 {
  padding-left: 1.8rem !important;
}
.pl19 {
  padding-left: 1.9rem !important;
}
.pl20 {
  padding-left: 2rem !important;
}
.pl21 {
  padding-left: 2.1rem !important;
}
.pl22 {
  padding-left: 2.2rem !important;
}
.pl23 {
  padding-left: 2.3rem !important;
}
.pl24 {
  padding-left: 2.4rem !important;
}
.pl25 {
  padding-left: 2.5rem !important;
}
.pl26 {
  padding-left: 2.6rem !important;
}
.pl27 {
  padding-left: 2.7rem !important;
}
.pl28 {
  padding-left: 2.8rem !important;
}
.pl29 {
  padding-left: 2.9rem !important;
}
.pl30 {
  padding-left: 3rem !important;
}
.pl31 {
  padding-left: 3.1rem !important;
}
.pl32 {
  padding-left: 3.2rem !important;
}
.pl33 {
  padding-left: 3.3rem !important;
}
.pl34 {
  padding-left: 3.4rem !important;
}
.pl35 {
  padding-left: 3.5rem !important;
}
.pl36 {
  padding-left: 3.6rem !important;
}
.pl37 {
  padding-left: 3.7rem !important;
}
.pl38 {
  padding-left: 3.8rem !important;
}
.pl39 {
  padding-left: 3.9rem !important;
}
.pl40 {
  padding-left: 4rem !important;
}
.pl41 {
  padding-left: 4.1rem !important;
}
.pl42 {
  padding-left: 4.2rem !important;
}
.pl43 {
  padding-left: 4.3rem !important;
}
.pl44 {
  padding-left: 4.4rem !important;
}
.pl45 {
  padding-left: 4.5rem !important;
}
.pl46 {
  padding-left: 4.6rem !important;
}
.pl47 {
  padding-left: 4.7rem !important;
}
.pl48 {
  padding-left: 4.8rem !important;
}
.pl49 {
  padding-left: 4.9rem !important;
}
.pl50 {
  padding-left: 5rem !important;
}

/* padding-right */
.pr1 {
  padding-right: 0.1rem !important;
}
.pr2 {
  padding-right: 0.2rem !important;
}
.pr3 {
  padding-right: 0.3rem !important;
}
.pr4 {
  padding-right: 0.4rem !important;
}
.pr5 {
  padding-right: 0.5rem !important;
}
.pr6 {
  padding-right: 0.6rem !important;
}
.pr7 {
  padding-right: 0.7rem !important;
}
.pr8 {
  padding-right: 0.8rem !important;
}
.pr9 {
  padding-right: 0.9rem !important;
}
.pr10 {
  padding-right: 1rem !important;
}
.pr11 {
  padding-right: 1.1rem !important;
}
.pr12 {
  padding-right: 1.2rem !important;
}
.pr13 {
  padding-right: 1.3rem !important;
}
.pr14 {
  padding-right: 1.4rem !important;
}
.pr15 {
  padding-right: 1.5rem !important;
}
.pr16 {
  padding-right: 1.6rem !important;
}
.pr17 {
  padding-right: 1.7rem !important;
}
.pr18 {
  padding-right: 1.8rem !important;
}
.pr19 {
  padding-right: 1.9rem !important;
}
.pr20 {
  padding-right: 2rem !important;
}
.pr21 {
  padding-right: 2.1rem !important;
}
.pr22 {
  padding-right: 2.2rem !important;
}
.pr23 {
  padding-right: 2.3rem !important;
}
.pr24 {
  padding-right: 2.4rem !important;
}
.pr25 {
  padding-right: 2.5rem !important;
}
.pr26 {
  padding-right: 2.6rem !important;
}
.pr27 {
  padding-right: 2.7rem !important;
}
.pr28 {
  padding-right: 2.8rem !important;
}
.pr29 {
  padding-right: 2.9rem !important;
}
.pr30 {
  padding-right: 3rem !important;
}
.pr31 {
  padding-right: 3.1rem !important;
}
.pr32 {
  padding-right: 3.2rem !important;
}
.pr33 {
  padding-right: 3.3rem !important;
}
.pr34 {
  padding-right: 3.4rem !important;
}
.pr35 {
  padding-right: 3.5rem !important;
}
.pr36 {
  padding-right: 3.6rem !important;
}
.pr37 {
  padding-right: 3.7rem !important;
}
.pr38 {
  padding-right: 3.8rem !important;
}
.pr39 {
  padding-right: 3.9rem !important;
}
.pr40 {
  padding-right: 4rem !important;
}
.pr41 {
  padding-right: 4.1rem !important;
}
.pr42 {
  padding-right: 4.2rem !important;
}
.pr43 {
  padding-right: 4.3rem !important;
}
.pr44 {
  padding-right: 4.4rem !important;
}
.pr45 {
  padding-right: 4.5rem !important;
}
.pr46 {
  padding-right: 4.6rem !important;
}
.pr47 {
  padding-right: 4.7rem !important;
}
.pr48 {
  padding-right: 4.8rem !important;
}
.pr49 {
  padding-right: 4.9rem !important;
}
.pr50 {
  padding-right: 5rem !important;
}

/* margin-top */
.m0 {
  margin: 0 !important;
}
.m_auto {
  margin: 0 auto !important;
}
.mt1 {
  margin-top: 0.1rem !important;
}
.mt2 {
  margin-top: 0.2rem !important;
}
.mt3 {
  margin-top: 0.3rem !important;
}
.mt4 {
  margin-top: 0.4rem !important;
}
.mt5 {
  margin-top: 0.5rem !important;
}
.mt6 {
  margin-top: 0.6rem !important;
}
.mt7 {
  margin-top: 0.7rem !important;
}
.mt8 {
  margin-top: 0.8rem !important;
}
.mt9 {
  margin-top: 0.9rem !important;
}
.mt10 {
  margin-top: 1rem !important;
}
.mt11 {
  margin-top: 1.1rem !important;
}
.mt12 {
  margin-top: 1.2rem !important;
}
.mt13 {
  margin-top: 1.3rem !important;
}
.mt14 {
  margin-top: 1.4rem !important;
}
.mt15 {
  margin-top: 1.5rem !important;
}
.mt16 {
  margin-top: 1.6rem !important;
}
.mt17 {
  margin-top: 1.7rem !important;
}
.mt18 {
  margin-top: 1.8rem !important;
}
.mt19 {
  margin-top: 1.9rem !important;
}
.mt20 {
  margin-top: 2rem !important;
}
.mt21 {
  margin-top: 2.1rem !important;
}
.mt22 {
  margin-top: 2.2rem !important;
}
.mt23 {
  margin-top: 2.3rem !important;
}
.mt24 {
  margin-top: 2.4rem !important;
}
.mt25 {
  margin-top: 2.5rem !important;
}
.mt26 {
  margin-top: 2.6rem !important;
}
.mt27 {
  margin-top: 2.7rem !important;
}
.mt28 {
  margin-top: 2.8rem !important;
}
.mt29 {
  margin-top: 2.9rem !important;
}
.mt30 {
  margin-top: 3rem !important;
}
.mt31 {
  margin-top: 3.1rem !important;
}
.mt32 {
  margin-top: 3.2rem !important;
}
.mt33 {
  margin-top: 3.3rem !important;
}
.mt34 {
  margin-top: 3.4rem !important;
}
.mt35 {
  margin-top: 3.5rem !important;
}
.mt36 {
  margin-top: 3.6rem !important;
}
.mt37 {
  margin-top: 3.7rem !important;
}
.mt38 {
  margin-top: 3.8rem !important;
}
.mt39 {
  margin-top: 3.9rem !important;
}
.mt40 {
  margin-top: 4rem !important;
}
.mt41 {
  margin-top: 4.1rem !important;
}
.mt42 {
  margin-top: 4.2rem !important;
}
.mt43 {
  margin-top: 4.3rem !important;
}
.mt44 {
  margin-top: 4.4rem !important;
}
.mt45 {
  margin-top: 4.5rem !important;
}
.mt46 {
  margin-top: 4.6rem !important;
}
.mt47 {
  margin-top: 4.7rem !important;
}
.mt48 {
  margin-top: 4.8rem !important;
}
.mt49 {
  margin-top: 4.9rem !important;
}
.mt50 {
  margin-top: 5rem !important;
}

/* margin-bottom */
.mb0{
    margin-bottom: 0 !important;
}
.mb1 {
  margin-bottom: 0.1rem !important;
}
.mb2 {
  margin-bottom: 0.2rem !important;
}
.mb3 {
  margin-bottom: 0.3rem !important;
}
.mb4 {
  margin-bottom: 0.4rem !important;
}
.mb5 {
  margin-bottom: 0.5rem !important;
}
.mb6 {
  margin-bottom: 0.6rem !important;
}
.mb7 {
  margin-bottom: 0.7rem !important;
}
.mb8 {
  margin-bottom: 0.8rem !important;
}
.mb9 {
  margin-bottom: 0.9rem !important;
}
.mb10 {
  margin-bottom: 1rem !important;
}
.mb11 {
  margin-bottom: 1.1rem !important;
}
.mb12 {
  margin-bottom: 1.2rem !important;
}
.mb13 {
  margin-bottom: 1.3rem !important;
}
.mb14 {
  margin-bottom: 1.4rem !important;
}
.mb15 {
  margin-bottom: 1.5rem !important;
}
.mb16 {
  margin-bottom: 1.6rem !important;
}
.mb17 {
  margin-bottom: 1.7rem !important;
}
.mb18 {
  margin-bottom: 1.8rem !important;
}
.mb19 {
  margin-bottom: 1.9rem !important;
}
.mb20 {
  margin-bottom: 2rem !important;
}
.mb21 {
  margin-bottom: 2.1rem !important;
}
.mb22 {
  margin-bottom: 2.2rem !important;
}
.mb23 {
  margin-bottom: 2.3rem !important;
}
.mb24 {
  margin-bottom: 2.4rem !important;
}
.mb25 {
  margin-bottom: 2.5rem !important;
}
.mb26 {
  margin-bottom: 2.6rem !important;
}
.mb27 {
  margin-bottom: 2.7rem !important;
}
.mb28 {
  margin-bottom: 2.8rem !important;
}
.mb29 {
  margin-bottom: 2.9rem !important;
}
.mb30 {
  margin-bottom: 3rem !important;
}
.mb31 {
  margin-bottom: 3.1rem !important;
}
.mb32 {
  margin-bottom: 3.2rem !important;
}
.mb33 {
  margin-bottom: 3.3rem !important;
}
.mb34 {
  margin-bottom: 3.4rem !important;
}
.mb35 {
  margin-bottom: 3.5rem !important;
}
.mb36 {
  margin-bottom: 3.6rem !important;
}
.mb37 {
  margin-bottom: 3.7rem !important;
}
.mb38 {
  margin-bottom: 3.8rem !important;
}
.mb39 {
  margin-bottom: 3.9rem !important;
}
.mb40 {
  margin-bottom: 4rem !important;
}
.mb41 {
  margin-bottom: 4.1rem !important;
}
.mb42 {
  margin-bottom: 4.2rem !important;
}
.mb43 {
  margin-bottom: 4.3rem !important;
}
.mb44 {
  margin-bottom: 4.4rem !important;
}
.mb45 {
  margin-bottom: 4.5rem !important;
}
.mb46 {
  margin-bottom: 4.6rem !important;
}
.mb47 {
  margin-bottom: 4.7rem !important;
}
.mb48 {
  margin-bottom: 4.8rem !important;
}
.mb49 {
  margin-bottom: 4.9rem !important;
}
.mb50 {
  margin-bottom: 5rem !important;
}

/* margin-left */
.ml1 {
  margin-left: 0.1rem !important;
}
.ml2 {
  margin-left: 0.2rem !important;
}
.ml3 {
  margin-left: 0.3rem !important;
}
.ml4 {
  margin-left: 0.4rem !important;
}
.ml5 {
  margin-left: 0.5rem !important;
}
.ml6 {
  margin-left: 0.6rem !important;
}
.ml7 {
  margin-left: 0.7rem !important;
}
.ml8 {
  margin-left: 0.8rem !important;
}
.ml9 {
  margin-left: 0.9rem !important;
}
.ml10 {
  margin-left: 1rem !important;
}
.ml11 {
  margin-left: 1.1rem !important;
}
.ml12 {
  margin-left: 1.2rem !important;
}
.ml13 {
  margin-left: 1.3rem !important;
}
.ml14 {
  margin-left: 1.4rem !important;
}
.ml15 {
  margin-left: 1.5rem !important;
}
.ml16 {
  margin-left: 1.6rem !important;
}
.ml17 {
  margin-left: 1.7rem !important;
}
.ml18 {
  margin-left: 1.8rem !important;
}
.ml19 {
  margin-left: 1.9rem !important;
}
.ml20 {
  margin-left: 2rem !important;
}
.ml21 {
  margin-left: 2.1rem !important;
}
.ml22 {
  margin-left: 2.2rem !important;
}
.ml23 {
  margin-left: 2.3rem !important;
}
.ml24 {
  margin-left: 2.4rem !important;
}
.ml25 {
  margin-left: 2.5rem !important;
}
.ml26 {
  margin-left: 2.6rem !important;
}
.ml27 {
  margin-left: 2.7rem !important;
}
.ml28 {
  margin-left: 2.8rem !important;
}
.ml29 {
  margin-left: 2.9rem !important;
}
.ml30 {
  margin-left: 3rem !important;
}
.ml31 {
  margin-left: 3.1rem !important;
}
.ml32 {
  margin-left: 3.2rem !important;
}
.ml33 {
  margin-left: 3.3rem !important;
}
.ml34 {
  margin-left: 3.4rem !important;
}
.ml35 {
  margin-left: 3.5rem !important;
}
.ml36 {
  margin-left: 3.6rem !important;
}
.ml37 {
  margin-left: 3.7rem !important;
}
.ml38 {
  margin-left: 3.8rem !important;
}
.ml39 {
  margin-left: 3.9rem !important;
}
.ml40 {
  margin-left: 4rem !important;
}
.ml41 {
  margin-left: 4.1rem !important;
}
.ml42 {
  margin-left: 4.2rem !important;
}
.ml43 {
  margin-left: 4.3rem !important;
}
.ml44 {
  margin-left: 4.4rem !important;
}
.ml45 {
  margin-left: 4.5rem !important;
}
.ml46 {
  margin-left: 4.6rem !important;
}
.ml47 {
  margin-left: 4.7rem !important;
}
.ml48 {
  margin-left: 4.8rem !important;
}
.ml49 {
  margin-left: 4.9rem !important;
}
.ml50 {
  margin-left: 5rem !important;
}

/* margin-right */
.mr1 {
  margin-right: 0.1rem !important;
}
.mr2 {
  margin-right: 0.2rem !important;
}
.mr3 {
  margin-right: 0.3rem !important;
}
.mr4 {
  margin-right: 0.4rem !important;
}
.mr5 {
  margin-right: 0.5rem !important;
}
.mr6 {
  margin-right: 0.6rem !important;
}
.mr7 {
  margin-right: 0.7rem !important;
}
.mr8 {
  margin-right: 0.8rem !important;
}
.mr9 {
  margin-right: 0.9rem !important;
}
.mr10 {
  margin-right: 1rem !important;
}
.mr11 {
  margin-right: 1.1rem !important;
}
.mr12 {
  margin-right: 1.2rem !important;
}
.mr13 {
  margin-right: 1.3rem !important;
}
.mr14 {
  margin-right: 1.4rem !important;
}
.mr15 {
  margin-right: 1.5rem !important;
}
.mr16 {
  margin-right: 1.6rem !important;
}
.mr17 {
  margin-right: 1.7rem !important;
}
.mr18 {
  margin-right: 1.8rem !important;
}
.mr19 {
  margin-right: 1.9rem !important;
}
.mr20 {
  margin-right: 2rem !important;
}
.mr21 {
  margin-right: 2.1rem !important;
}
.mr22 {
  margin-right: 2.2rem !important;
}
.mr23 {
  margin-right: 2.3rem !important;
}
.mr24 {
  margin-right: 2.4rem !important;
}
.mr25 {
  margin-right: 2.5rem !important;
}
.mr26 {
  margin-right: 2.6rem !important;
}
.mr27 {
  margin-right: 2.7rem !important;
}
.mr28 {
  margin-right: 2.8rem !important;
}
.mr29 {
  margin-right: 2.9rem !important;
}
.mr30 {
  margin-right: 3rem !important;
}
.mr31 {
  margin-right: 3.1rem !important;
}
.mr32 {
  margin-right: 3.2rem !important;
}
.mr33 {
  margin-right: 3.3rem !important;
}
.mr34 {
  margin-right: 3.4rem !important;
}
.mr35 {
  margin-right: 3.5rem !important;
}
.mr36 {
  margin-right: 3.6rem !important;
}
.mr37 {
  margin-right: 3.7rem !important;
}
.mr38 {
  margin-right: 3.8rem !important;
}
.mr39 {
  margin-right: 3.9rem !important;
}
.mr40 {
  margin-right: 4rem !important;
}
.mr41 {
  margin-right: 4.1rem !important;
}
.mr42 {
  margin-right: 4.2rem !important;
}
.mr43 {
  margin-right: 4.3rem !important;
}
.mr44 {
  margin-right: 4.4rem !important;
}
.mr45 {
  margin-right: 4.5rem !important;
}
.mr46 {
  margin-right: 4.6rem !important;
}
.mr47 {
  margin-right: 4.7rem !important;
}
.mr48 {
  margin-right: 4.8rem !important;
}
.mr49 {
  margin-right: 4.9rem !important;
}
.mr50 {
  margin-right: 5rem !important;
}

/* width 5% ~ 100% 비율 **************************************************/
.w_auto {
  width: auto !important;
  min-width: auto !important;
}
.w5 {
  width: 5% !important;
  min-width: 5% !important;
}
.w6 {
  width: 6% !important;
  min-width: 6% !important;
}
.w7 {
  width: 7% !important;
  min-width: 7% !important;
}
.w8 {
  width: 8% !important;
  min-width: 8% !important;
}
.w9 {
  width: 9% !important;
  min-width: 9% !important;
}
.w10 {
  width: 10% !important;
  min-width: 10% !important;
}
.w11 {
  width: 11% !important;
  min-width: 11% !important;
}
.w12 {
  width: 12% !important;
  min-width: 12% !important;
}
.w13 {
  width: 13% !important;
  min-width: 13% !important;
}
.w14 {
  width: 14% !important;
  min-width: 14% !important;
}
.w15 {
  width: 15% !important;
  min-width: 15% !important;
}
.w16 {
  width: 16% !important;
  min-width: 16% !important;
}
.w17 {
  width: 17% !important;
  min-width: 17% !important;
}
.w18 {
  width: 18% !important;
  min-width: 18% !important;
}
.w19 {
  width: 19% !important;
  min-width: 19% !important;
}
.w20 {
  width: 20% !important;
  min-width: 20% !important;
}
.w21 {
  width: 21% !important;
  min-width: 21% !important;
}
.w22 {
  width: 22% !important;
  min-width: 22% !important;
}
.w23 {
  width: 23% !important;
  min-width: 23% !important;
}
.w24 {
  width: 24% !important;
  min-width: 24% !important;
}
.w25 {
  width: 25% !important;
  min-width: 25% !important;
}
.w26 {
  width: 26% !important;
  min-width: 26% !important;
}
.w27 {
  width: 27% !important;
  min-width: 27% !important;
}
.w28 {
  width: 28% !important;
  min-width: 28% !important;
}
.w29 {
  width: 29% !important;
  min-width: 29% !important;
}
.w30 {
  width: 30% !important;
  min-width: 30% !important;
}
.w31 {
  width: 31% !important;
  min-width: 31% !important;
}
.w32 {
  width: 32% !important;
  min-width: 32% !important;
}
.w33 {
  width: 33% !important;
  min-width: 33% !important;
}
.w33_3 {
  width: 33.3333333% !important;
  min-width: 33.3333333% !important;
}
.w34 {
  width: 34% !important;
  min-width: 34% !important;
}
.w35 {
  width: 35% !important;
  min-width: 35% !important;
}
.w36 {
  width: 36% !important;
  min-width: 36% !important;
}
.w37 {
  width: 37% !important;
  min-width: 37% !important;
}
.w38 {
  width: 38% !important;
  min-width: 38% !important;
}
.w39 {
  width: 39% !important;
  min-width: 39% !important;
}
.w40 {
  width: 40% !important;
  min-width: 40% !important;
}
.w41 {
  width: 41% !important;
  min-width: 41% !important;
}
.w42 {
  width: 42% !important;
  min-width: 42% !important;
}
.w43 {
  width: 43% !important;
  min-width: 43% !important;
}
.w44 {
  width: 44% !important;
  min-width: 44% !important;
}
.w45 {
  width: 45% !important;
  min-width: 45% !important;
}
.w46 {
  width: 46% !important;
  min-width: 46% !important;
}
.w47 {
  width: 47% !important;
  min-width: 47% !important;
}
.w48 {
  width: 48% !important;
  min-width: 48% !important;
}
.w49 {
  width: 49% !important;
  min-width: 49% !important;
}
.w50 {
  width: 50% !important;
  min-width: 50% !important;
}
.w51 {
  width: 51% !important;
  min-width: 51% !important;
}
.w52 {
  width: 52% !important;
  min-width: 52% !important;
}
.w53 {
  width: 53% !important;
  min-width: 53% !important;
}
.w54 {
  width: 54% !important;
  min-width: 54% !important;
}
.w55 {
  width: 55% !important;
  min-width: 55% !important;
}
.w56 {
  width: 56% !important;
  min-width: 56% !important;
}
.w57 {
  width: 57% !important;
  min-width: 57% !important;
}
.w58 {
  width: 58% !important;
  min-width: 58% !important;
}
.w59 {
  width: 59% !important;
  min-width: 59% !important;
}
.w60 {
  width: 60% !important;
  min-width: 60% !important;
}
.w61 {
  width: 61% !important;
  min-width: 61% !important;
}
.w62 {
  width: 62% !important;
  min-width: 62% !important;
}
.w63 {
  width: 63% !important;
  min-width: 63% !important;
}
.w64 {
  width: 64% !important;
  min-width: 64% !important;
}
.w65 {
  width: 65% !important;
  min-width: 65% !important;
}
.w66 {
  width: 66% !important;
  min-width: 66% !important;
}
.w67 {
  width: 67% !important;
  min-width: 67% !important;
}
.w68 {
  width: 68% !important;
  min-width: 68% !important;
}
.w69 {
  width: 69% !important;
  min-width: 69% !important;
}
.w70 {
  width: 70% !important;
  min-width: 70% !important;
}
.w71 {
  width: 71% !important;
  min-width: 71% !important;
}
.w72 {
  width: 72% !important;
  min-width: 72% !important;
}
.w73 {
  width: 73% !important;
  min-width: 73% !important;
}
.w74 {
  width: 74% !important;
  min-width: 74% !important;
}
.w75 {
  width: 75% !important;
  min-width: 75% !important;
}
.w76 {
  width: 76% !important;
  min-width: 76% !important;
}
.w77 {
  width: 77% !important;
  min-width: 77% !important;
}
.w78 {
  width: 78% !important;
  min-width: 78% !important;
}
.w79 {
  width: 79% !important;
  min-width: 79% !important;
}
.w80 {
  width: 80% !important;
  min-width: 80% !important;
}
.w81 {
  width: 81% !important;
  min-width: 81% !important;
}
.w82 {
  width: 82% !important;
  min-width: 82% !important;
}
.w83 {
  width: 83% !important;
  min-width: 83% !important;
}
.w84 {
  width: 84% !important;
  min-width: 84% !important;
}
.w85 {
  width: 85% !important;
  min-width: 85% !important;
}
.w86 {
  width: 86% !important;
  min-width: 86% !important;
}
.w87 {
  width: 87% !important;
  min-width: 87% !important;
}
.w88 {
  width: 88% !important;
  min-width: 88% !important;
}
.w89 {
  width: 89% !important;
  min-width: 89% !important;
}
.w90 {
  width: 90% !important;
  min-width: 90% !important;
}
.w91 {
  width: 91% !important;
  min-width: 91% !important;
}
.w92 {
  width: 92% !important;
  min-width: 92% !important;
}
.w93 {
  width: 93% !important;
  min-width: 93% !important;
}
.w94 {
  width: 94% !important;
  min-width: 94% !important;
}
.w95 {
  width: 95% !important;
  min-width: 95% !important;
}
.w96 {
  width: 96% !important;
  min-width: 96% !important;
}
.w97 {
  width: 97% !important;
  min-width: 97% !important;
}
.w98 {
  width: 98% !important;
  min-width: 98% !important;
}
.w99 {
  width: 99% !important;
  min-width: 99% !important;
}
.w100 {
  width: 100% !important;
  min-width: 100% !important;
}

/* height **************************************************/
.h_auto {
  height: auto !important;
  min-height: auto !important;
}
.h5 {
  height: 5% !important;
  min-height: 5% !important;
}
.h6 {
  height: 6% !important;
  min-height: 6% !important;
}
.h7 {
  height: 7% !important;
  min-height: 7% !important;
}
.h8 {
  height: 8% !important;
  min-height: 8% !important;
}
.h9 {
  height: 9% !important;
  min-height: 9% !important;
}
.h10 {
  height: 10% !important;
  min-height: 10% !important;
}
.h11 {
  height: 11% !important;
  min-height: 11% !important;
}
.h12 {
  height: 12% !important;
  min-height: 12% !important;
}
.h13 {
  height: 13% !important;
  min-height: 13% !important;
}
.h14 {
  height: 14% !important;
  min-height: 14% !important;
}
.h15 {
  height: 15% !important;
  min-height: 15% !important;
}
.h16 {
  height: 16% !important;
  min-height: 16% !important;
}
.h17 {
  height: 17% !important;
  min-height: 17% !important;
}
.h18 {
  height: 18% !important;
  min-height: 18% !important;
}
.h19 {
  height: 19% !important;
  min-height: 19% !important;
}
.h20 {
  height: 20% !important;
  min-height: 20% !important;
}
.h21 {
  height: 21% !important;
  min-height: 21% !important;
}
.h22 {
  height: 22% !important;
  min-height: 22% !important;
}
.h23 {
  height: 23% !important;
  min-height: 23% !important;
}
.h24 {
  height: 24% !important;
  min-height: 24% !important;
}
.h25 {
  height: 25% !important;
  min-height: 25% !important;
}
.h26 {
  height: 26% !important;
  min-height: 26% !important;
}
.h27 {
  height: 27% !important;
  min-height: 27% !important;
}
.h28 {
  height: 28% !important;
  min-height: 28% !important;
}
.h29 {
  height: 29% !important;
  min-height: 29% !important;
}
.h30 {
  height: 30% !important;
  min-height: 30% !important;
}
.h31 {
  height: 31% !important;
  min-height: 31% !important;
}
.h32 {
  height: 32% !important;
  min-height: 32% !important;
}
.h33 {
  height: 33% !important;
  min-height: 33% !important;
}
.h33_3 {
  height: 33.3333333% !important;
  min-height: 33.3333333% !important;
}
.h34 {
  height: 34% !important;
  min-height: 34% !important;
}
.h35 {
  height: 35% !important;
  min-height: 35% !important;
}
.h36 {
  height: 36% !important;
  min-height: 36% !important;
}
.h37 {
  height: 37% !important;
  min-height: 37% !important;
}
.h38 {
  height: 38% !important;
  min-height: 38% !important;
}
.h39 {
  height: 39% !important;
  min-height: 39% !important;
}
.h40 {
  height: 40% !important;
  min-height: 40% !important;
}
.h41 {
  height: 41% !important;
  min-height: 41% !important;
}
.h42 {
  height: 42% !important;
  min-height: 42% !important;
}
.h43 {
  height: 43% !important;
  min-height: 43% !important;
}
.h44 {
  height: 44% !important;
  min-height: 44% !important;
}
.h45 {
  height: 45% !important;
  min-height: 45% !important;
}
.h46 {
  height: 46% !important;
  min-height: 46% !important;
}
.h47 {
  height: 47% !important;
  min-height: 47% !important;
}
.h48 {
  height: 48% !important;
  min-height: 48% !important;
}
.h49 {
  height: 49% !important;
  min-height: 49% !important;
}
.h50 {
  height: 50% !important;
  min-height: 50% !important;
}
.h51 {
  height: 51% !important;
  min-height: 51% !important;
}
.h52 {
  height: 52% !important;
  min-height: 52% !important;
}
.h53 {
  height: 53% !important;
  min-height: 53% !important;
}
.h54 {
  height: 54% !important;
  min-height: 54% !important;
}
.h55 {
  height: 55% !important;
  min-height: 55% !important;
}
.h56 {
  height: 56% !important;
  min-height: 56% !important;
}
.h57 {
  height: 57% !important;
  min-height: 57% !important;
}
.h58 {
  height: 58% !important;
  min-height: 58% !important;
}
.h59 {
  height: 59% !important;
  min-height: 59% !important;
}
.h60 {
  height: 60% !important;
  min-height: 60% !important;
}
.h61 {
  height: 61% !important;
  min-height: 61% !important;
}
.h62 {
  height: 62% !important;
  min-height: 62% !important;
}
.h63 {
  height: 63% !important;
  min-height: 63% !important;
}
.h64 {
  height: 64% !important;
  min-height: 64% !important;
}
.h65 {
  height: 65% !important;
  min-height: 65% !important;
}
.h66 {
  height: 66% !important;
  min-height: 66% !important;
}
.h67 {
  height: 67% !important;
  min-height: 67% !important;
}
.h68 {
  height: 68% !important;
  min-height: 68% !important;
}
.h69 {
  height: 69% !important;
  min-height: 69% !important;
}
.h70 {
  height: 70% !important;
  min-height: 70% !important;
}
.h71 {
  height: 71% !important;
  min-height: 71% !important;
}
.h72 {
  height: 72% !important;
  min-height: 72% !important;
}
.h73 {
  height: 73% !important;
  min-height: 73% !important;
}
.h74 {
  height: 74% !important;
  min-height: 74% !important;
}
.h75 {
  height: 75% !important;
  min-height: 75% !important;
}
.h76 {
  height: 76% !important;
  min-height: 76% !important;
}
.h77 {
  height: 77% !important;
  min-height: 77% !important;
}
.h78 {
  height: 78% !important;
  min-height: 78% !important;
}
.h79 {
  height: 79% !important;
  min-height: 79% !important;
}
.h80 {
  height: 80% !important;
  min-height: 80% !important;
}
.h81 {
  height: 81% !important;
  min-height: 81% !important;
}
.h82 {
  height: 82% !important;
  min-height: 82% !important;
}
.h83 {
  height: 83% !important;
  min-height: 83% !important;
}
.h84 {
  height: 84% !important;
  min-height: 84% !important;
}
.h85 {
  height: 85% !important;
  min-height: 85% !important;
}
.h86 {
  height: 86% !important;
  min-height: 86% !important;
}
.h87 {
  height: 87% !important;
  min-height: 87% !important;
}
.h88 {
  height: 88% !important;
  min-height: 88% !important;
}
.h89 {
  height: 89% !important;
  min-height: 89% !important;
}
.h90 {
  height: 90% !important;
  min-height: 90% !important;
}
.h91 {
  height: 91% !important;
  min-height: 91% !important;
}
.h92 {
  height: 92% !important;
  min-height: 92% !important;
}
.h93 {
  height: 93% !important;
  min-height: 93% !important;
}
.h94 {
  height: 94% !important;
  min-height: 94% !important;
}
.h95 {
  height: 95% !important;
  min-height: 95% !important;
}
.h96 {
  height: 96% !important;
  min-height: 96% !important;
}
.h97 {
  height: 97% !important;
  min-height: 97% !important;
}
.h98 {
  height: 98% !important;
  min-height: 98% !important;
}
.h99 {
  height: 99% !important;
  min-height: 99% !important;
}
.h100 {
  height: 100% !important;
  min-height: 100% !important;
}

/* font style ***************************************************/

/* font-size (18px base, rem) */
.font_12 {
  font-size: 0.6667rem !important;
}   /* caption·label */
.font_13 {
  font-size: 0.7222rem !important;
}
.font_14 {
  font-size: 0.7778rem !important;
}   /* small */
.font_15 {
  font-size: 0.8333rem !important;
}
.font_16 {
  font-size: 0.8889rem !important;
}
.font_18 {
  font-size: 1rem !important;
}   /* body 기본 */
.font_20 {
  font-size: 1.1111rem !important;
}   /* lead */
.font_22 {
  font-size: 1.2222rem !important;
}
.font_24 {
  font-size: 1.3333rem !important;
}
.font_28 {
  font-size: 1.5556rem !important;
}
.font_32 {
  font-size: 1.7778rem !important;
}
.font_36 {
  font-size: 2rem !important;
}
.font_40 {
  font-size: 2.2222rem !important;
}
.font_48 {
  font-size: 2.6667rem !important;
}

/* 의미 단축 (기본 = 1rem = 18px) */
.font_ss {
  font-size: 0.75rem !important;
}
.font_s {
  font-size: 0.875rem !important;
}
.font_m {
  font-size: 1rem !important;
}
.font_l {
  font-size: 1.125rem !important;
}
.font_xl {
  font-size: 1.5rem !important;
}

/* weight */
.font_100 {
  font-weight: 100 !important;
}
.font_200 {
  font-weight: 200 !important;
}
.font_300 {
  font-weight: 300 !important;
}
.font_normal,
.font_400 {
  font-weight: 400 !important;
}
.font_500 {
  font-weight: 500 !important;
}
.font_600 {
  font-weight: 600 !important;
}
.font_bold,
.font_700 {
  font-weight: 700 !important;
}
.font_800 {
  font-weight: 800 !important;
}
.font_900 {
  font-weight: 900 !important;
}

/* line-height (단위 없는 배수 / 숫자/10 = 배수) **************************************************/
.lh0 {
  line-height: 0 !important;
}      /* inline-block 여백 제거용 */
.lh10 {
  line-height: 1 !important;
}
.lh11 {
  line-height: 1.1 !important;
}
.lh12 {
  line-height: 1.2 !important;
}
.lh13 {
  line-height: 1.3 !important;
}
.lh14 {
  line-height: 1.4 !important;
}
.lh15 {
  line-height: 1.5 !important;
}
.lh16 {
  line-height: 1.6 !important;
}
.lh17 {
  line-height: 1.7 !important;
}
.lh18 {
  line-height: 1.8 !important;
}
.lh19 {
  line-height: 1.9 !important;
}
.lh20 {
  line-height: 2 !important;
}

/* text 정렬 **************************************************/
.t_left {
  text-align: left !important;
}
.t_center {
  text-align: center !important;
}
.t_right {
  text-align: right !important;
}
.t_justify {
  text-align: justify !important;
}

/* vertical-align **************************************************/
.v_top {
  vertical-align: top !important;
}
.v_middle {
  vertical-align: middle !important;
}
.v_bottom {
  vertical-align: bottom !important;
}
.v_baseline {
  vertical-align: baseline !important;
}
.v_sub {
  vertical-align: sub !important;
}
.v_super {
  vertical-align: super !important;
}
.v_text-top {
  vertical-align: text-top !important;
}
.v_text-bottom {
  vertical-align: text-bottom !important;
}


/* position ***************************************************/
.p_static {
  position: static !important;
}
.p_relative {
  position: relative !important;
}
.p_absolute {
  position: absolute !important;
}
.p_fixed {
  position: fixed !important;
}
.p_sticky {
  position: sticky !important;
}
.p_unset {
  position: unset !important;
}
/* overflow ***************************************************/
.o_auto {
  overflow: auto !important;
}
.ox_auto {
  overflow-x: auto !important;
}
.oy_auto {
  overflow-y: auto !important;
}
.o_hidden {
  overflow: hidden !important;
}
.ox_hidden {
  overflow-x: hidden !important;
}
.oy_hidden {
  overflow-y: hidden !important;
}
.o_scroll {
  overflow: scroll !important;
}
.ox_scroll {
  overflow-x: scroll !important;
}
.oy_scroll {
  overflow-y: scroll !important;
}
.o_visible {
  overflow: visible !important;
}
.ox_visible {
  overflow-x: visible !important;
}
.oy_visible {
  overflow-y: visible !important;
}
.o_revert {
  overflow: revert !important;
}
.ox_revert {
  overflow-x: revert !important;
}
.oy_revert {
  overflow-y: revert !important;
}
.o_unset {
  overflow: unset !important;
}

/* display ***************************************************/
.d_block {
  display: block !important;
}
.d_inline {
  display: inline !important;
}
.d_inline-block {
  display: inline-block !important;
}
.d_flex {
  display: flex !important;
}
.d_inline-flex {
  display: inline-flex !important;
}
.d_grid {
  display: grid !important;
}
.d_inline-grid {
  display: inline-grid !important;
}
.d_none {
  display: none !important;
}

/* flex ***************************************************/
.f_1 {
  flex: 1 !important;
}
.f_auto {
  flex: auto !important;
}
.f_none {
  flex: none !important;
}
.fd_row {
  flex-direction: row !important;
}
.fd_column {
  flex-direction: column !important;
}
.fd_row-reverse {
  flex-direction: row-reverse !important;
}
.fd_column-reverse {
  flex-direction: column-reverse !important;
}
.fw_nowrap {
  flex-wrap: nowrap !important;
}
.fw_wrap {
  flex-wrap: wrap !important;
}
.ai_center {
  align-items: center !important;
}
.ai_flex-start {
  align-items: flex-start !important;
}
.ai_flex-end {
  align-items: flex-end !important;
}
.ai_stretch {
  align-items: stretch !important;
}
.ai_baseline {
  align-items: baseline !important;
}
.ac_center {
  align-content: center !important;
}
.ac_flex-start {
  align-content: flex-start !important;
}
.ac_flex-end {
  align-content: flex-end !important;
}
.ac_space-around {
  align-content: space-around !important;
}
.ac_space-between {
  align-content: space-between !important;
}
.ac_stretch {
  align-content: stretch !important;
}
.jc_center {
  justify-content: center !important;
}
.jc_flex-start {
  justify-content: flex-start !important;
}
.jc_flex-end {
  justify-content: flex-end !important;
}
.jc_space-between {
  justify-content: space-between !important;
}
.jc_space-around {
  justify-content: space-around !important;
}
.jc_space-evenly {
  justify-content: space-evenly !important;
}


/* cursor style ***************************************************/
.c_auto {
  cursor: auto !important;
}
.c_default {
  cursor: default !important;
}
.c_pointer {
  cursor: pointer !important;
}
.c_text {
  cursor: text !important;
}
.c_crosshair {
  cursor: crosshair !important;
}
.c_help {
  cursor: help !important;
}
.c_wait {
  cursor: wait !important;
}
.c_progress {
  cursor: progress !important;
}
.c_not-allowed {
  cursor: not-allowed !important;
}
.c_zoom-in {
  cursor: zoom-in !important;
}
.c_zoom-out {
  cursor: zoom-out !important;
}
/* 크기 조정 및 이동 관련 커서 */
.c_move {
  cursor: move !important;
}
.c_all-scroll {
  cursor: all-scroll !important;
}
.c_col-resize {
  cursor: col-resize !important;
}
.c_row-resize {
  cursor: row-resize !important;
}
.c_ew-resize {
  cursor: ew-resize !important;
}
.c_ns-resize {
  cursor: ns-resize !important;
}
.c_nesw-resize {
  cursor: nesw-resize !important;
}
.c_nwse-resize {
  cursor: nwse-resize !important;
}
.c_n-resize {
  cursor: n-resize !important;
}
.c_s-resize {
  cursor: s-resize !important;
}
.c_e-resize {
  cursor: e-resize !important;
}
.c_w-resize {
  cursor: w-resize !important;
}
.c_ne-resize {
  cursor: ne-resize !important;
}
.c_nw-resize {
  cursor: nw-resize !important;
}
.c_se-resize {
  cursor: se-resize !important;
}
.c_sw-resize {
  cursor: sw-resize !important;
}
/* 드래그 앤 드롭 관련 커서 */
.c_copy {
  cursor: copy !important;
}
.c_alias {
  cursor: alias !important;
}
.c_no-drop {
  cursor: no-drop !important;
}
.c_grab {
  cursor: grab !important;
}
.c_grabbing {
  cursor: grabbing !important;
}

/* 말줄임 style ***************************************************/
.ellipsis {
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.ellipsis2 {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.ellipsis3 {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  line-clamp: 3 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.ellipsis4 {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 4 !important;
  line-clamp: 4 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* font color ***************************************************/
/* 의미·상태 */
.font_mainColor {
  color: var(--main-color) !important;
}
.font_mainColorDark {
  color: var(--main-color-dark) !important;
}
.font_mainColorLight {
  color: var(--main-color-light) !important;
}
.font_sub01Color {
  color: var(--sub-01-color) !important;
}
.font_sub02Color {
  color: var(--sub-02-color) !important;
}
.font_txtColor {
  color: var(--txt-color) !important;
}
.font_subTxtColor {
  color: var(--sub-txt-color) !important;
}
.font_txtDisabledColor {
  color: var(--txt-disabled-color) !important;
}
.font_successColor {
  color: var(--success-color) !important;
}
.font_errorColor {
  color: var(--error-color) !important;
}
.font_warningColor {
  color: var(--warning-color) !important;
}
.font_infoColor {
  color: var(--info-color) !important;
}
.font_inputColor {
  color: var(--input-color) !important;
}
/* 무채색 */
.font_white {
  color: var(--white) !important;
}
.font_black {
  color: var(--black) !important;
}
/* yellow */
.font_yellowLightest {
  color: var(--yellowLightest) !important;
}
.font_yellowLight {
  color: var(--yellowLight) !important;
}
.font_yellow {
  color: var(--yellow) !important;
}
.font_yellowDark {
  color: var(--yellowDark) !important;
}
.font_yellowDarkest {
  color: var(--yellowDarkest) !important;
}
/* orange */
.font_orangeLightest {
  color: var(--orangeLightest) !important;
}
.font_orangeLight {
  color: var(--orangeLight) !important;
}
.font_orange {
  color: var(--orange) !important;
}
.font_orangeDark {
  color: var(--orangeDark) !important;
}
.font_orangeDarkest {
  color: var(--orangeDarkest) !important;
}
/* red */
.font_redLightest {
  color: var(--redLightest) !important;
}
.font_redLight {
  color: var(--redLight) !important;
}
.font_red {
  color: var(--red) !important;
}
.font_redDark {
  color: var(--redDark) !important;
}
.font_redDarkest {
  color: var(--redDarkest) !important;
}
/* green */
.font_greenLightest {
  color: var(--greenLightest) !important;
}
.font_greenLight {
  color: var(--greenLight) !important;
}
.font_green {
  color: var(--green) !important;
}
.font_greenDark {
  color: var(--greenDark) !important;
}
.font_greenDarkest {
  color: var(--greenDarkest) !important;
}
/* blue ~ navy */
.font_blueLightest {
  color: var(--blueLightest) !important;
}
.font_blueLight {
  color: var(--blueLight) !important;
}
.font_blue {
  color: var(--blue) !important;
}
.font_navyLight {
  color: var(--navyLight) !important;
}
.font_navy {
  color: var(--navy) !important;
}
.font_navyDark {
  color: var(--navyDark) !important;
}
.font_navyDarkest {
  color: var(--navyDarkest) !important;
}
/* purple */
.font_purpleLightest {
  color: var(--purpleLightest) !important;
}
.font_purpleLight {
  color: var(--purpleLight) !important;
}
.font_purple {
  color: var(--purple) !important;
}
.font_purpleDark {
  color: var(--purpleDark) !important;
}
.font_purpleDarkest {
  color: var(--purpleDarkest) !important;
}
/* pink */
.font_pinkLightest {
  color: var(--pinkLightest) !important;
}
.font_pinkLight {
  color: var(--pinkLight) !important;
}
.font_pink {
  color: var(--pink) !important;
}
.font_pinkDark {
  color: var(--pinkDark) !important;
}
.font_pinkDarkest {
  color: var(--pinkDarkest) !important;
}
/* skyBlue */
.font_skyBlueLightest {
  color: var(--skyBlueLightest) !important;
}
.font_skyBlueLight {
  color: var(--skyBlueLight) !important;
}
.font_skyBlue {
  color: var(--skyBlue) !important;
}
.font_skyBlueDark {
  color: var(--skyBlueDark) !important;
}
.font_skyBlueDarkest {
  color: var(--skyBlueDarkest) !important;
}
/* brown */
.font_brownLightest {
  color: var(--brownLightest) !important;
}
.font_brownLight {
  color: var(--brownLight) !important;
}
.font_brown {
  color: var(--brown) !important;
}
.font_brownDark {
  color: var(--brownDark) !important;
}
.font_brownDarkest {
  color: var(--brownDarkest) !important;
}
/* blueGray */
.font_blueGrayLightest {
  color: var(--blueGrayLightest) !important;
}
.font_blueGrayLight {
  color: var(--blueGrayLight) !important;
}
.font_blueGrayDark {
  color: var(--blueGrayDark) !important;
}
.font_blueGrayDarkest {
  color: var(--blueGrayDarkest) !important;
}
/* gray */
.font_grayLightest {
  color: var(--grayLightest) !important;
}
.font_grayLight {
  color: var(--grayLight) !important;
}
.font_gray {
  color: var(--gray) !important;
}
.font_grayDark {
  color: var(--grayDark) !important;
}
.font_grayDarkest {
  color: var(--grayDarkest) !important;
}

/* bg color style ***************************************************/
/* 의미·상태 */
.bg_mainColor {
  background: var(--main-color) !important;
}
.bg_mainColorDark {
  background: var(--main-color-dark) !important;
}
.bg_mainColorLight {
  background: var(--main-color-light) !important;
}
.bg_sub01Color {
  background: var(--sub-01-color) !important;
}
.bg_sub02Color {
  background: var(--sub-02-color) !important;
}
.bg_bgSubColor {
  background: var(--bg-sub-light) !important;
}
.bg_bgSubDark {
  background: var(--bg-sub-dark) !important;
}
.bg_successColor {
  background: var(--success-color) !important;
}
.bg_errorColor {
  background: var(--error-color) !important;
}
.bg_warningColor {
  background: var(--warning-color) !important;
}
.bg_infoColor {
  background: var(--info-color) !important;
}
.bg_inputColor {
  background: var(--input-color) !important;
}
/* 무채색 */
.bg_white {
  background: var(--white) !important;
}
.bg_black {
  background: var(--black) !important;
}
/* yellow */
.bg_yellowLightest {
  background: var(--yellowLightest) !important;
}
.bg_yellowLight {
  background: var(--yellowLight) !important;
}
.bg_yellow {
  background: var(--yellow) !important;
}
.bg_yellowDark {
  background: var(--yellowDark) !important;
}
.bg_yellowDarkest {
  background: var(--yellowDarkest) !important;
}
/* orange */
.bg_orangeLightest {
  background: var(--orangeLightest) !important;
}
.bg_orangeLight {
  background: var(--orangeLight) !important;
}
.bg_orange {
  background: var(--orange) !important;
}
.bg_orangeDark {
  background: var(--orangeDark) !important;
}
.bg_orangeDarkest {
  background: var(--orangeDarkest) !important;
}
/* red */
.bg_redLightest {
  background: var(--redLightest) !important;
}
.bg_redLight {
  background: var(--redLight) !important;
}
.bg_red {
  background: var(--red) !important;
}
.bg_redDark {
  background: var(--redDark) !important;
}
.bg_redDarkest {
  background: var(--redDarkest) !important;
}
/* green */
.bg_greenLightest {
  background: var(--greenLightest) !important;
}
.bg_greenLight {
  background: var(--greenLight) !important;
}
.bg_green {
  background: var(--green) !important;
}
.bg_greenDark {
  background: var(--greenDark) !important;
}
.bg_greenDarkest {
  background: var(--greenDarkest) !important;
}
/* blue ~ navy */
.bg_blueLightest {
  background: var(--blueLightest) !important;
}
.bg_blueLight {
  background: var(--blueLight) !important;
}
.bg_blue {
  background: var(--blue) !important;
}
.bg_navyLight {
  background: var(--navyLight) !important;
}
.bg_navy {
  background: var(--navy) !important;
}
.bg_navyDark {
  background: var(--navyDark) !important;
}
.bg_navyDarkest {
  background: var(--navyDarkest) !important;
}
/* purple */
.bg_purpleLightest {
  background: var(--purpleLightest) !important;
}
.bg_purpleLight {
  background: var(--purpleLight) !important;
}
.bg_purple {
  background: var(--purple) !important;
}
.bg_purpleDark {
  background: var(--purpleDark) !important;
}
.bg_purpleDarkest {
  background: var(--purpleDarkest) !important;
}
/* pink */
.bg_pinkLightest {
  background: var(--pinkLightest) !important;
}
.bg_pinkLight {
  background: var(--pinkLight) !important;
}
.bg_pink {
  background: var(--pink) !important;
}
.bg_pinkDark {
  background: var(--pinkDark) !important;
}
.bg_pinkDarkest {
  background: var(--pinkDarkest) !important;
}
/* skyBlue */
.bg_skyBlueLightest {
  background: var(--skyBlueLightest) !important;
}
.bg_skyBlueLight {
  background: var(--skyBlueLight) !important;
}
.bg_skyBlue {
  background: var(--skyBlue) !important;
}
.bg_skyBlueDark {
  background: var(--skyBlueDark) !important;
}
.bg_skyBlueDarkest {
  background: var(--skyBlueDarkest) !important;
}
/* brown */
.bg_brownLightest {
  background: var(--brownLightest) !important;
}
.bg_brownLight {
  background: var(--brownLight) !important;
}
.bg_brown {
  background: var(--brown) !important;
}
.bg_brownDark {
  background: var(--brownDark) !important;
}
.bg_brownDarkest {
  background: var(--brownDarkest) !important;
}
/* blueGray */
.bg_blueGrayLightest {
  background: var(--blueGrayLightest) !important;
}
.bg_blueGrayLight {
  background: var(--blueGrayLight) !important;
}
.bg_blueGrayDark {
  background: var(--blueGrayDark) !important;
}
.bg_blueGrayDarkest {
  background: var(--blueGrayDarkest) !important;
}
/* gray */
.bg_grayLightest {
  background: var(--grayLightest) !important;
}
.bg_grayLight {
  background: var(--grayLight) !important;
}
.bg_gray {
  background: var(--gray) !important;
}
.bg_grayDark {
  background: var(--grayDark) !important;
}
.bg_grayDarkest {
  background: var(--grayDarkest) !important;
}

/* line (구분선) ***************************************************/
.line_top {
  border-top: 1px solid var(--line-color) !important;
}
.line_bottom {
  border-bottom: 1px solid var(--line-color) !important;
}
.line_left {
  border-left: 1px solid var(--line-color) !important;
}
.line_right {
  border-right: 1px solid var(--line-color) !important;
}
.line_top_dark {
  border-top: 1px solid var(--line-color-dark) !important;
}
.line_bottom_dark {
  border-bottom: 1px solid var(--line-color-dark) !important;
}
.line_left_dark {
  border-left: 1px solid var(--line-color-dark) !important;
}
.line_right_dark {
  border-right: 1px solid var(--line-color-dark) !important;
}

/* button style **************************************************/

/* btn 기본 btn 부모로 div.btn_wrap 기본으로 넣어주기 */
.btn_wrap {
  width: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.btn_wrap > .btn {
  cursor: pointer !important;
}
/* .btn {
  font-size: 0.9rem;
  width: auto;
  min-width: 50px;
  height: 30px;
  padding: 0 10px;
  border-radius: 3px !important;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #5f697e;
  font-weight: 600;
  cursor: pointer;
  user-select: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
} */

/* input 옆이나 함께 쓰는 버튼에 넣으면 input height(50px)에 맞춰짐 */
.input_btn {
  height: 50px;
  padding: 1rem !important;
  font-size: 0.9rem !important;
}

/* .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(104, 112, 138, 0.3);
}

.btn:active {
  transform: translateY(0);
  box-shadow: 0 2px 4px rgba(104, 112, 138, 0.2);
}

.btn > .material-symbols-outlined {
  font-size: 18px;
  margin: 0 0.1em;
  transition: transform 0.2s ease;
}

.btn:hover > .material-symbols-outlined {
  transform: scale(1.1);
} */
/* btn 정렬 */
.btn_right {
  display: flex;
  justify-content: flex-end;
}
.btn_left {
  display: flex;
  justify-content: flex-start;
}

/* btn hover none */
.btn_hover_none {
  cursor: default;
}
.btn_hover_none:hover {
  transform: none !important;
  text-decoration: none;
  box-shadow: none;
}

/* hover underline */
.hover_underline:hover {
  text-decoration: underline;
}

/* btn_sparkle 버튼 깜빡거리는 효과 */
.btn_sparkle {
  animation: sparkle 0.6s infinite;
}
@keyframes sparkle {
  0% {
    opacity: 0.4;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.4;
  }
}

/* btn disabled
<button class="btn btn_l btn_danger" disabled>버튼 비활성화</button>
*/
/* .btn:disabled,
.btn[disabled] {
  background-color: var(--grayLight) !important;
  color: var(--gray) !important;
  cursor: not-allowed !important;
  border-color: var(--gray) !important;
}
.btn:disabled:hover,
.btn[disabled]:hover {
  transform: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
  background-color: var(--grayLight) !important;
  color: var(--gray) !important;
  cursor: not-allowed !important;
  border-color: var(--gray) !important;
} */
/* btn_text 비활성: hover 밑줄 제거 */
/* .btn_text:disabled,
.btn_text[disabled] {
  color: var(--gray) !important;
  cursor: not-allowed !important;
}
.btn_text:disabled:hover,
.btn_text[disabled]:hover {
  text-decoration: none !important;
}
.btn_text:disabled .material-symbols-outlined,
.btn_text[disabled] .material-symbols-outlined {
  color: var(--gray) !important;
} */

/* btn 그림자 */
.btn_shadow {
  box-shadow: 2px 2px 4px rgba(104, 112, 138, 0.1);
}

/* btn_motion */
.btn_motion:hover span {
  animation: btn_motion 1.5s ease-in-out infinite;
}

@keyframes btn_motion {
  0% {
    transform: translate(0px, 0px);
  }

  50% {
    transform: translate(10px, 0px);
  }

  100% {
    transform: translate(0px, 0);
  }
}

/* btn text
[html]
<button class="btn_text">텍스트 버튼<span class="material-symbols-outlined ml3">link</span></button>
*/
.btn_text {
  display: flex;
  align-items: center;
  color: var(--txt-color);
}
.btn_text .material-symbols-outlined {
  font-size: 20px;
  color: var(--txt-color);
}
.btn_text:hover {
  text-decoration: underline;
}
.btn_text:hover .material-symbols-outlined {
  text-decoration: none;
}

/* btn 사이즈 */
.btn_xs {
  min-width: 50px !important;
  padding: 0 0.3rem !important;
  height: 30px !important;
  font-size: 0.75rem !important;
}
.btn_s {
  min-width: 70px !important;
  padding: 0 0.3rem !important;
  height: 30px !important;
  font-size: 0.8rem !important;
}
.btn_m {
  padding: 0 1rem !important;
  height: 40px !important;
  font-size: 0.95rem !important;
  min-width: 90px;
}
.btn_l {
  padding: 0 1rem !important;
  height: 54px !important;
  font-size: 1.1rem !important;
  min-width: 160px;
}
.btn_xl {
  padding: 0 1rem !important;
  height: 65px !important;
  font-size: 1.1rem !important;
  min-width: 190px;
}
/* 반응형 */
@media (max-width: 900px) {
  .btn_xl {
    min-width: auto !important;
    padding: 0 1.5rem !important;
    height: 54px !important;
  }
}

.btn_30 {
  padding: 0 !important;
  width: 30px !important;
  height: 30px !important;
  max-width: 30px !important;
  min-width: 30px !important;
}
.btn_40 {
  padding: 0 !important;
  width: 40px !important;
  height: 40px !important;
  max-width: 40px !important;
  min-width: 40px !important;
}
.btn_50 {
  padding: 0 !important;
  width: 50px !important;
  height: 50px !important;
  max-width: 50px !important;
  min-width: 50px !important;
}
.btn_60 {
  padding: 0 !important;
  width: 60px !important;
  height: 60px !important;
  max-width: 60px !important;
  min-width: 60px !important;
}
.btn_70 {
  padding: 0 !important;
  width: 70px !important;
  height: 70px !important;
  max-width: 70px !important;
  min-width: 70px !important;
}
.btn_80 {
  padding: 0 !important;
  width: 80px !important;
  height: 80px !important;
  max-width: 80px !important;
  min-width: 80px !important;
}
.btn_90 {
  padding: 0 !important;
  width: 90px !important;
  height: 90px !important;
  max-width: 90px !important;
  min-width: 90px !important;
}
.btn_100 {
  padding: 0 !important;
  width: 100px !important;
  height: 100px !important;
  max-width: 100px !important;
  min-width: 100px !important;
}

/* btn_flex_1 버튼 flex:1 btn_wrap이랑 같이 써주기
[html]

<div class="btn_wrap btn_flex_1">
	<button></button>
</div>
 */
.btn_flex_1 > * {
  flex: 1;
}

/* btn 색상 변형 (hover 포함) ***************************************************/
/* 사용: <button class="btn btn_l btn_primary">확인</button> */
.btn_primary {
  background: var(--main-color) !important;
  color: var(--white) !important;
  border: 1px solid var(--main-color) !important;
}
.btn_primary:hover {
  background: var(--main-color-dark) !important;
  border-color: var(--main-color-dark) !important;
}
.btn_danger {
  background: var(--red) !important;
  color: var(--white) !important;
  border: 1px solid var(--red) !important;
}
.btn_danger:hover {
  background: var(--redDark) !important;
  border-color: var(--redDark) !important;
}
.btn_success {
  background: var(--green) !important;
  color: var(--white) !important;
  border: 1px solid var(--green) !important;
}
.btn_success:hover {
  background: var(--greenDark) !important;
  border-color: var(--greenDark) !important;
}
.btn_warning {
  background: var(--orange) !important;
  color: var(--white) !important;
  border: 1px solid var(--orange) !important;
}
.btn_warning:hover {
  background: var(--orangeDark) !important;
  border-color: var(--orangeDark) !important;
}
.btn_gray {
  background: var(--gray) !important;
  color: var(--white) !important;
  border: 1px solid var(--gray) !important;
}
.btn_gray:hover {
  background: var(--grayDark) !important;
  border-color: var(--grayDark) !important;
}
.btn_dark {
  background: var(--grayDark) !important;
  color: var(--white) !important;
  border: 1px solid var(--grayDark) !important;
}
.btn_dark:hover {
  background: var(--black) !important;
  border-color: var(--black) !important;
}
/* 아웃라인 */
.btn_line {
  background: transparent !important;
  color: var(--main-color) !important;
  border: 1px solid var(--main-color) !important;
}
.btn_line:hover {
  background: var(--main-color) !important;
  color: var(--white) !important;
}
.btn_line_gray {
  background: transparent !important;
  color: var(--grayDark) !important;
  border: 1px solid var(--line-color-dark) !important;
}
.btn_line_gray:hover {
  background: var(--grayLight) !important;
}

/* box-shadow * ********************************************************************************************************************/
.shadow_5 {
  box-shadow: 3px 3px 5px rgba(0 0 0 / 13%) !important;
}
.shadow_10 {
  box-shadow: 3px 3px 10px rgba(0 0 0 / 13%) !important;
}

/* border-radius * ********************************************************************************************************************/
.border_r_0 {
  border-radius: 0 !important;
}
.border_r_2 {
  border-radius: 2px !important;
}
.border_r_3 {
  border-radius: 3px !important;
}
.border_r_4 {
  border-radius: 4px !important;
}
.border_r_5 {
  border-radius: 5px !important;
}
.border_r_6 {
  border-radius: 6px !important;
}
.border_r_7 {
  border-radius: 7px !important;
}
.border_r_8 {
  border-radius: 8px !important;
}
.border_r_9 {
  border-radius: 9px !important;
}
.border_r_10 {
  border-radius: 10px !important;
}
.border_r_11 {
  border-radius: 11px !important;
}
.border_r_12 {
  border-radius: 12px !important;
}
.border_r_13 {
  border-radius: 13px !important;
}
.border_r_14 {
  border-radius: 14px !important;
}
.border_r_15 {
  border-radius: 15px !important;
}
.border_r_16 {
  border-radius: 16px !important;
}
.border_r_17 {
  border-radius: 17px !important;
}
.border_r_18 {
  border-radius: 18px !important;
}
.border_r_19 {
  border-radius: 19px !important;
}
.border_r_20 {
  border-radius: 20px !important;
}

.border_t_l_r_2 {
  border-top-left-radius: 2px !important;
}
.border_t_l_r_3 {
  border-top-left-radius: 3px !important;
}
.border_t_l_r_4 {
  border-top-left-radius: 4px !important;
}
.border_t_l_r_5 {
  border-top-left-radius: 5px !important;
}
.border_t_l_r_6 {
  border-top-left-radius: 6px !important;
}
.border_t_l_r_7 {
  border-top-left-radius: 7px !important;
}
.border_t_l_r_8 {
  border-top-left-radius: 8px !important;
}
.border_t_l_r_9 {
  border-top-left-radius: 9px !important;
}
.border_t_l_r_10 {
  border-top-left-radius: 10px !important;
}
.border_t_l_r_11 {
  border-top-left-radius: 11px !important;
}
.border_t_l_r_12 {
  border-top-left-radius: 12px !important;
}
.border_t_l_r_13 {
  border-top-left-radius: 13px !important;
}
.border_t_l_r_14 {
  border-top-left-radius: 14px !important;
}
.border_t_l_r_15 {
  border-top-left-radius: 15px !important;
}
.border_t_l_r_16 {
  border-top-left-radius: 16px !important;
}
.border_t_l_r_17 {
  border-top-left-radius: 17px !important;
}
.border_t_l_r_18 {
  border-top-left-radius: 18px !important;
}
.border_t_l_r_19 {
  border-top-left-radius: 19px !important;
}
.border_t_l_r_20 {
  border-top-left-radius: 20px !important;
}

.border_t_r_r_2 {
  border-top-right-radius: 2px !important;
}
.border_t_r_r_3 {
  border-top-right-radius: 3px !important;
}
.border_t_r_r_4 {
  border-top-right-radius: 4px !important;
}
.border_t_r_r_5 {
  border-top-right-radius: 5px !important;
}
.border_t_r_r_6 {
  border-top-right-radius: 6px !important;
}
.border_t_r_r_7 {
  border-top-right-radius: 7px !important;
}
.border_t_r_r_8 {
  border-top-right-radius: 8px !important;
}
.border_t_r_r_9 {
  border-top-right-radius: 9px !important;
}
.border_t_r_r_10 {
  border-top-right-radius: 10px !important;
}
.border_t_r_r_11 {
  border-top-right-radius: 11px !important;
}
.border_t_r_r_12 {
  border-top-right-radius: 12px !important;
}
.border_t_r_r_13 {
  border-top-right-radius: 13px !important;
}
.border_t_r_r_14 {
  border-top-right-radius: 14px !important;
}
.border_t_r_r_15 {
  border-top-right-radius: 15px !important;
}
.border_t_r_r_16 {
  border-top-right-radius: 16px !important;
}
.border_t_r_r_17 {
  border-top-right-radius: 17px !important;
}
.border_t_r_r_18 {
  border-top-right-radius: 18px !important;
}
.border_t_r_r_19 {
  border-top-right-radius: 19px !important;
}
.border_t_r_r_20 {
  border-top-right-radius: 20px !important;
}

.border_b_l_r_2 {
  border-bottom-left-radius: 2px !important;
}
.border_b_l_r_3 {
  border-bottom-left-radius: 3px !important;
}
.border_b_l_r_4 {
  border-bottom-left-radius: 4px !important;
}
.border_b_l_r_5 {
  border-bottom-left-radius: 5px !important;
}
.border_b_l_r_6 {
  border-bottom-left-radius: 6px !important;
}
.border_b_l_r_7 {
  border-bottom-left-radius: 7px !important;
}
.border_b_l_r_8 {
  border-bottom-left-radius: 8px !important;
}
.border_b_l_r_9 {
  border-bottom-left-radius: 9px !important;
}
.border_b_l_r_10 {
  border-bottom-left-radius: 10px !important;
}
.border_b_l_r_11 {
  border-bottom-left-radius: 11px !important;
}
.border_b_l_r_12 {
  border-bottom-left-radius: 12px !important;
}
.border_b_l_r_13 {
  border-bottom-left-radius: 13px !important;
}
.border_b_l_r_14 {
  border-bottom-left-radius: 14px !important;
}
.border_b_l_r_15 {
  border-bottom-left-radius: 15px !important;
}
.border_b_l_r_16 {
  border-bottom-left-radius: 16px !important;
}
.border_b_l_r_17 {
  border-bottom-left-radius: 17px !important;
}
.border_b_l_r_18 {
  border-bottom-left-radius: 18px !important;
}
.border_b_l_r_19 {
  border-bottom-left-radius: 19px !important;
}
.border_b_l_r_20 {
  border-bottom-left-radius: 20px !important;
}

.border_b_r_r_2 {
  border-bottom-right-radius: 2px !important;
}
.border_b_r_r_3 {
  border-bottom-right-radius: 3px !important;
}
.border_b_r_r_4 {
  border-bottom-right-radius: 4px !important;
}
.border_b_r_r_5 {
  border-bottom-right-radius: 5px !important;
}
.border_b_r_r_6 {
  border-bottom-right-radius: 6px !important;
}
.border_b_r_r_7 {
  border-bottom-right-radius: 7px !important;
}
.border_b_r_r_8 {
  border-bottom-right-radius: 8px !important;
}
.border_b_r_r_9 {
  border-bottom-right-radius: 9px !important;
}
.border_b_r_r_10 {
  border-bottom-right-radius: 10px !important;
}
.border_b_r_r_11 {
  border-bottom-right-radius: 11px !important;
}
.border_b_r_r_12 {
  border-bottom-right-radius: 12px !important;
}
.border_b_r_r_13 {
  border-bottom-right-radius: 13px !important;
}
.border_b_r_r_14 {
  border-bottom-right-radius: 14px !important;
}
.border_b_r_r_15 {
  border-bottom-right-radius: 15px !important;
}
.border_b_r_r_16 {
  border-bottom-right-radius: 16px !important;
}
.border_b_r_r_17 {
  border-bottom-right-radius: 17px !important;
}
.border_b_r_r_18 {
  border-bottom-right-radius: 18px !important;
}
.border_b_r_r_19 {
  border-bottom-right-radius: 19px !important;
}
.border_b_r_r_20 {
  border-bottom-right-radius: 20px !important;
}

/* wrap_between 
.wrap_between 쓰면 좌우로 붙게
*/
.wrap_between {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}
.wrap_between .btn_wrap {
  width: auto !important;
}

/* title style ********************************************************************************************************************/
.title_st1 {
  color: #000;
  font-weight: 500;
  font-size: 1.3rem;
  display: block;
}
.title_st2 {
  color: #000;
  font-weight: 600;
  font-size: 1.1rem;
  display: block;
}
.title_st3 {
  color: #000;
  font-weight: 600;
  font-size: 0.95rem;
  display: block;
}

/* title size */
.title_ss {
  font-size: 0.9rem;
}
.title_s {
  font-size: 1rem;
}
.title_m {
  font-size: 1.3rem;
}
.title_l {
  font-size: 1.5rem;
}
.title_xl {
  font-size: 1.9rem;
}

/* card box style ********************************************************************************************************************/

/* card_box_flex card */
.card_box_flex {
  display: flex;
  justify-content: space-between;
}

/* card */
.card {
  border: 1px solid var(--navyDark);
  border-radius: 3px !important;
}
.card_tit {
  padding: 0.3em 0.5em;
  display: block;
  font-size: 0.9rem;
  text-align: left; /*border-bottom: 1px solid #d8dce5;*/
  color: var(--white);
  background-color: var(--navyDark);
}
.card_cont {
  padding: 0.5em;
}
.card > .top_wrap {
  background-color: var(--navyDark);
}

/* box style ********************************************************************************************************************/
.box_line {
  padding: 0.8em;
  border: 1px solid #d5d5d5;
  position: relative;
}
.box_line_top {
  border-top: 1px solid #000 !important;
}
.box_st1 {
  padding: 0.8em;
  border: 1px solid #e7e7e7;
  box-shadow: 0 0 8px rgb(0 0 0 / 10%);
  position: relative;
}
.box_st2 {
  padding: 0.8em;
  border: 1px solid #dae1f1;
  position: relative;
  background-color: #dae1f1;
}
.box_st3 {
  padding: 0.8em;
  border: 1px solid #dfdfdf;
  position: relative;
  background: #f2f4f8;
}
.box_st4 {
  padding: 0.8em;
  border: 1px dotted #8b8e9c;
  box-shadow: 0 0 8px rgb(14 25 69 / 10%);
  position: relative;
  border-radius: 5px !important;
}
.cont_line_box {
  padding-bottom: 4em;
  margin-bottom: 4em;
  position: relative;
}
.cont_line_box::after {
  content: "";
  height: 2px;
  width: 100%;
  margin-top: 33px;
  background: url(https://gbmeta.or.kr/images/web/common/sub_head_line.gif);
  display: inline-block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
}
.orange_box {
  padding: 1.5em 1.5em;
  background: #f7f6f4;
  position: relative;
}

/* box_multiple 
[html]
<ul class="box_multiple box_st1 box_line_top">
	<li>
		<span class="tit">현재 포인트</span>
		<span class="txt font_600 font_orange font_20">0 P</span>
	</li>
	<li>
		<span class="tit">누적 포인트</span>
		<span class="txt font_600 font_orange font_20">0 P</span>
	</li>
</ul>
*/
.box_multiple {
  display: flex;
}
.box_multiple > li {
  flex: 1;
  text-align: center;
  display: inline-flex;
  flex-direction: column;
  position: relative;
}
.box_multiple > li:after {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  background-color: #e3e3e3;
  position: absolute;
  top: 0;
  right: 0;
}
.box_multiple > li:last-child:after {
  display: none;
}
.box_multiple > li .tit {
  font-size: 0.96rem;
  color: var(--black);
  font-weight: 600;
}
@media screen and (max-width: 900px) {
  .box_multiple {
    flex-direction: column;
  }
  .box_multiple > li {
    padding-bottom: 0.5em;
    margin-bottom: 0.5em;
  }
  .box_multiple > li:after {
    width: 100%;
    height: 1px;
    top: auto;
    right: auto;
    bottom: 0;
    left: 0;
  }
  .box_multiple > li:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
  }
}

/* tip_box
<span class="tip_ic material-symbols-outlined">info</span>
<div class="tip_box" style="display: none;">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
*/
.tip_ic {
  display: flex;
  align-items: center;
  cursor: pointer;
  height: auto;
  width: auto;
  color: #9499a7;
  font-size: 22px !important;
}
.tip_ic:hover {
  color: black;
}
.tip_box {
  padding: 0.3em;
  max-width: 400px;
  position: absolute; /*position: absolute;top: 40px;right: 0;*/
  z-index: 99;
  background-color: #fffbed;
  border-radius: 5px;
  border: 1px solid #e8ddb4;
  box-shadow: 3px 3px 6px rgba(104 112 138 / 30%);
  color: var(--black);
  font-weight: 400;
  font-size: 0.85rem;
  word-break: keep-all;
  display: none;
}

/* file_box
<div class="file_box">
    <span>Drop files here</span>
    <label for="file">Upload a file</label>
    <input type="file" name="file" id="file">
</div>
         
*/
.file_box {
  width: 100%;
  border: 1px dashed #d7dce5;
  background-color: #f2f6fa;
  text-align: center;
  position: relative;
  height: 130px !important;
}
.file_box span {
  font-size: 1.9em;
  color: #cfd4d9;
  line-height: 130px !important;
}
.file_box label {
  padding: 0.8em;
  background: #333;
  color: white;
  font-weight: 600;
  font-size: 0.9em;
  border-radius: 5px;
  position: absolute;
  left: 10px;
  top: 10px !important;
}
.file_box input[type="file"] {
  display: none;
}

/* info_box */
.info_box {
  width: 100%;
  padding: 1.5rem;
  border: 1px solid #000;
  border-radius: 0.5rem;
  background-color: #fff;
  box-shadow: 0 0 1rem rgba(0 0 0 / 15%);
}

.info_box .info_row {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
}

.info_box .info_row + .info_row {
  margin-top: 15px;
}

.info_box .info_row dt {
  flex-shrink: 0;
  min-width: 80px;
  font-size: 0.95rem;
  color: #666;
}

.info_box .info_row dd {
  font-size: 1rem;
  color: #333;
  line-height: 1.5;
}

/* 반응형 */
@media screen and (max-width: 900px) {
  .info_box {
    padding: 1rem;
  }

  .info_box .info_row {
    flex-direction: column;
    gap: 0.3rem;
  }

  .info_box .info_row + .info_row {
    margin-top: 12px;
  }
}

/* table style ********************************************************************************************************************/
:root {
  /* 테이블 색상 */
  --table1-th-th-bg: #d0e4ff;
  --table1-th-th-border: #c3d8f3;
  --table1-th-bg: #eff5fd;
  --table1-th-border: #d7dfe9;
  --table1-td-bg: #fff;
  --table1-td-border: #e7e7e7;
  --table1-tf-th-bg: #d5dfed;
  --table1-tf-th-border: #c0cad7;
  --table1-tf-td-bg: #edf1f6;
  --table1-tf-td-border: #cbd3dd;

  --table2-th-th-bg: #f4f4f4;
  --table2-th-th-border: #d6d8dc;
  --table2-th-bg: #f4f4f4;
  --table2-th-border: #d6d8dc;
  --table2-td-bg: #fff;
  --table2-td-border: #e7e7e7;
  --table2-tf-th-bg: #e2e2e2;
  --table2-tf-th-border: #c9c9c9;
  --table2-tf-td-bg: #f6f6f6;
  --table2-tf-td-border: #e7e7e7;

  --table3-th-th-bg: #3a3a3a;
  --table3-th-th-border: #4c4c4c;
  --table3-th-bg: #f3f3f3;
  --table3-th-border: #e7e7e7;
  --table3-td-bg: #fff;
  --table3-td-border: #e7e7e7;
  --table3-tf-th-bg: #f1f1f1;
  --table3-tf-th-border: #3a3a3a;
  --table3-tf-td-bg: #f9f9f9;
  --table3-tf-td-border: #3a3a3a;

  --table4-th-th-bg: #4d525e;
  --table4-th-th-border: #313541;
  --table4-th-bg: #6b7180;
  --table4-th-border: #5c606a;
  --table4-td-bg: #fff;
  --table4-td-border: #e7e7e7;
  --table4-tf-th-bg: #595f70;
  --table4-tf-th-border: #323848;
  --table4-tf-td-bg: #e3e4eb;
  --table4-tf-td-border: #c8c8cb;

  --table5-th-th-bg: #fff;
  --table5-th-th-border: #c5c9d6;
  --table5-th-bg: #6b7180;
  --table5-th-border: #5c606a;
  --table5-td-bg: #fff;
  --table5-td-border: #e7e7e7;
  --table5-tf-th-bg: #595f70;
  --table5-tf-th-border: #323848;
  --table5-tf-td-bg: #e3e4eb;
  --table5-tf-td-border: #c8c8cb;
}
/* 
[html]

<table class="table_st1">
    <colgroup>
        <col width="*">
    </colgroup>
    <thead>
    	<tr>
    		<th>11</th>
    		<th>22</th>
    	</tr>
    </thead>
    <tbody>
        <tr>
            <th>11</th>
            <td>22</td>
        </tr>
    </tbody>
    <tfoot>
    	<tr>
    		<th>aa</th>
    		<Td>bb</Td>
    	</tr>
    </tfoot>
</table>
 */
/* table style1 */
.table_st1 {
  overflow: hidden;
  width: 100%;
  border-top: 2px solid #2b3456;
  border-bottom: 1px solid #ddd;
  position: relative;
  overflow: hidden;
  width: calc(100% + 1px);
  margin-left: -1px;
  font-weight: 300;
  line-height: 1.25;
  border-collapse: collapse;
}
.table_st1 th {
  padding: 0.4em 0.4em;
  border: 1px solid var(--table1-th-border);
  color: #000620;
  font-weight: 500;
  font-size: 1.2rem;
  padding: 1rem 1.2rem;
}
.table_st1 td {
  word-break: keep-all;
  padding: 1rem 1.2rem;
  background: #fff;
  border: solid #e7e7e7;
  border-width: 1px;
  color: #333;
  position: relative;
  min-height: 3.95rem;
  font-size: 1rem;
  font-weight: 500;
  text-align: left;
  transition: background 0.3s;
  -webkit-transition: background 0.3s;
}
.table_st1 tbody tr:first-child th,
.table_st1 tbody tr:first-child td {
  border-top-width: 0;
}
.table_st1 tbody th {
  text-align: left;
  background: var(--bg-sub-light);
}
.table_st1 thead th {
  background: var(--bg-sub-light);
  border-color: var(--line-color-dark);
  font-weight: 500;
}
.table_st1 tfoot td {
  background: var(--table1-tf-td-bg);
  border-color: var(--table1-tf-td-border);
  color: #000;
}
.table_st1 tfoot th {
  background: var(--table1-tf-th-bg);
  border-color: var(--table1-tf-th-border);
}

/* table style2 */
.table_st2 {
  overflow: hidden;
  width: 100%;
  border-top: 1px solid #000;
  border-bottom: 1px solid #ddd;
  position: relative;
  overflow: hidden;
  width: calc(100% + 1px);
  margin-left: -1px;
  font-weight: 300;
  line-height: 1.25;
  border-collapse: collapse;
}
.table_st2 th {
  padding: 0.4em 0.4em;
  border: 1px solid var(--table2-th-border);
  color: #000620;
  font-weight: 500;
  font-size: 1rem;
}
.table_st2 td {
  word-break: keep-all;
  padding: 0.4rem 0.4rem;
  background: #fff;
  border: solid #e7e7e7;
  border-width: 1px;
  color: #333;
  position: relative;
  min-height: 3.95rem;
  font-size: 1rem;
  font-weight: 400;
  text-align: left;
  transition: background 0.3s;
  -webkit-transition: background 0.3s;
}
.table_st2 tbody tr:first-child th,
.table_st2 tbody tr:first-child td {
  border-top-width: 0;
}
.table_st2 tbody th {
  text-align: left;
  background: var(--table2-th-bg);
}
.table_st2 thead th {
  background: var(--table2-th-th-bg);
  border-color: var(--table2-th-th-border);
  font-weight: 500;
  color: #000;
  border-top: 1px solid #000;
}
.table_st2 tfoot td {
  background: var(--table2-tf-td-bg);
  border-color: var(--table2-tf-td-border);
  color: #000;
}
.table_st2 tfoot th {
  background: var(--table2-tf-th-bg);
  border-color: var(--table2-tf-th-border);
}

/* table style3 */
.table_st3 {
  overflow: hidden;
  width: 100%;
  border-top: 2px solid #000;
  border-bottom: 1px solid #ddd;
  position: relative;
  overflow: hidden;
  width: calc(100% + 1px);
  margin-left: -1px;
  font-weight: 300;
  line-height: 1.25;
  border-collapse: collapse;
}
.table_st3 th {
  padding: 0.4em 0.4em;
  border: 1px solid var(--table3-th-border);
  color: #000620;
  font-weight: 600;
  font-size: 1rem;
  border-width: 1px 0;
}
.table_st3 td {
  word-break: keep-all;
  padding: 0.4rem 0.4rem;
  background: #fff;
  border: solid #e7e7e7;
  border-width: 1px;
  color: #333;
  position: relative;
  min-height: 3.95rem;
  font-size: 1rem;
  font-weight: 500;
  text-align: left;
  transition: background 0.3s;
  -webkit-transition: background 0.3s;
  border-width: 1px 0;
}
.table_st3 tbody tr:first-child th,
.table_st3 tbody tr:first-child td {
  border-top-width: 0;
}
.table_st3 tbody th {
  text-align: left;
  background: var(--table3-th-bg);
  font-weight: 500;
}
.table_st3 thead th {
  background: var(--table3-th-th-bg);
  border-color: var(--table3-th-th-border);
  font-weight: 600;
  color: #fff;
  border-width: 0 1px;
}
.table_st3 tfoot td {
  background: var(--table3-tf-td-bg);
  border-color: var(--table3-tf-td-border);
  color: #000;
}
.table_st3 tfoot th {
  background: var(--table3-tf-th-bg);
  border-color: var(--table3-tf-th-border);
}

/* table style4 */
.table_st4 {
  width: 100%;
  position: relative;
  overflow: auto;
  border-top: 1px solid #313541;
  width: calc(100% + 1px);
  margin-left: -1px;
  font-weight: 300;
  line-height: 1.25;
  border-collapse: collapse;
}
.table_st4 th {
  padding: 0.4em 0.4em;
  border: 1px solid var(--table4-th-border);
  color: #fff;
  font-weight: 600;
  font-size: 1rem;
}
.table_st4 td {
  word-break: keep-all;
  padding: 0.4rem 0.4rem;
  background: #fff;
  border: solid #e7e7e7;
  border-width: 1px;
  color: #333;
  position: relative;
  min-height: 3.95rem;
  font-size: 1rem;
  font-weight: 500;
  text-align: left;
  transition: background 0.3s;
  -webkit-transition: background 0.3s;
}
.table_st4 tbody tr:first-child th,
.table_st4 tbody tr:first-child td {
  border-top-width: 0;
}
.table_st4 tbody th {
  background: var(--table4-th-bg);
  border: 1px solid var(--table4-th-border);
}
.table_st4 thead th {
  background: var(--table4-th-th-bg);
  font-weight: 500;
  border: 1px solid var(--table4-th-th-border);
}
.table_st4 tfoot td {
  background: var(--table4-tf-td-bg);
  border-color: var(--table4-tf-td-border);
  color: #000;
}
.table_st4 tfoot th {
  background: var(--table4-tf-th-bg);
  border-color: var(--table4-tf-th-border);
}

/* table style5 */
.table_st5 {
  overflow: hidden;
  width: 100%;
  border-top: 2px solid #000;
  border-bottom: 1px solid #ddd;
  position: relative;
  overflow: hidden;
  width: calc(100% + 1px);
  margin-left: -1px;
  font-weight: 300;
  line-height: 1.25;
  border-collapse: collapse;
}
.table_st5 th {
  padding: 0.4em 0.4em;
  border: 1px solid var(--table3-th-border);
  color: #000620;
  font-weight: 600;
  font-size: 1rem;
  border-width: 1px 0;
}
.table_st5 td {
  word-break: keep-all;
  padding: 0.4rem 0.4rem;
  background: #fff;
  border: solid #e7e7e7;
  border-width: 1px;
  color: #333;
  position: relative;
  min-height: 3.95rem;
  font-size: 1rem;
  font-weight: 500;
  text-align: left;
  transition: background 0.3s;
  -webkit-transition: background 0.3s;
  border-width: 1px 0;
}
.table_st5 tbody tr:first-child th,
.table_st5 tbody tr:first-child td {
  border-top-width: 0;
}
.table_st5 tbody th {
  text-align: left;
  background: var(--table3-th-bg);
}
.table_st5 thead th {
  background: var(--table5-th-th-bg);
  border-color: var(--table5-th-th-border);
  font-weight: 600;
  color: #000;
  border-width: 0 0 1px 0;
  position: relative;
}
.table_st5 thead th:after {
  content: "";
  width: 1px;
  height: 15px;
  background-color: var(--table5-th-th-border);
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(0, -50%);
}
.table_st5 thead th:last-child:after {
  display: none;
}
.table_st5 tfoot td {
  background: var(--table5-tf-td-bg);
  border-color: var(--table5-tf-td-border);
  color: #000;
}
.table_st5 tfoot th {
  background: var(--table5-tf-th-bg);
  border-color: var(--table5-tf-th-border);
}
@media screen and (max-width: 1200px){
  .table_st1 th{font-size: 1rem;}
  .table_st1 td{font-size: 1rem;}
}
/* 반응형 테이블 클래스 추가: table_responsive

@media screen and (max-width: 1600px) {
  .table_responsive th,
  .table_responsive td {
    padding: 0.35rem 0.3rem;
    font-size: 0.95rem;
  }
}

@media screen and (max-width: 1200px) {
  .table_responsive {
    font-size: 0.9rem;
  }

  .table_responsive th,
  .table_responsive td {
    padding: 0.3rem 0.25rem;
    font-size: 0.9rem;
  }

  .table_responsive colgroup col:nth-child(1) {
    width: 8%;
  }
  .table_responsive colgroup col:nth-child(3),
  .table_responsive colgroup col:nth-child(4),
  .table_responsive colgroup col:nth-child(5),
  .table_responsive colgroup col:nth-child(6) {
    width: 13%;
  }
}

@media screen and (max-width: 900px) {
  .table_responsive {
    border-top: 2px solid #000;
  }

  .table_responsive thead {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
  }

  .table_responsive,
  .table_responsive tbody,
  .table_responsive tr,
  .table_responsive td {
    display: block;
    width: 100%;
  }
  .table_responsive td,
  .table_responsive th {
    text-align: center !important;
    height: auto !important;
  }

  .table_responsive tbody tr {
    margin-bottom: 1.5rem;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    padding: 0.5rem;
  }

  .table_responsive tbody td {
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 0.5rem;
    align-items: center;
    text-align: center !important;
    padding: 0.75rem 0.5rem;
    border-width: 0 0 1px 0;
    border-color: #f0f0f0;
    text-align: left;
    min-height: auto;
  }

  .table_responsive tbody td:first-child {
    border-top-width: 0;
  }

  .table_responsive tbody td:last-child {
    border-bottom-width: 0;
  }

  .table_responsive tbody td::before {
    content: attr(data-cell-header);
    font-weight: 600;
    color: #333;
    font-size: 0.9rem;
  }

  .table_responsive tbody td.table_td_left a {
    display: block;
    word-break: break-all;
    line-height: 1.5;
  }

  .table_responsive tbody td .btn {
    display: inline-block;
    padding: 0.4rem 0.8rem;
    border-radius: 4px;
    font-size: 0.85rem;
    font-weight: 500;
  }
}

@media screen and (max-width: 600px) {
  .table_responsive tbody td {
    padding: 0.6rem 0.8rem;
    font-size: 0.85rem;
  }

  .table_responsive tbody td::before {
    font-size: 0.85rem;
  }

  .table_responsive tbody td .btn {
    padding: 0.35rem 0.7rem;
    font-size: 0.8rem;
  }
}*/

@media (max-width: 900px) {
  .table_responsive thead {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
  }

  .table_responsive colgroup {
    display: none;
  }

  .table_responsive tbody tr {
    display: block;
    margin-bottom: 1rem;
    border-bottom: 1px solid #ccc;
  }

  .table_responsive tbody tr + tr {
    margin-top: 0;
  }

  .table_responsive tbody td {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-direction: column;
    padding: 0.5rem 0;
    border-bottom: 0.0625rem solid #f0f0f0;
    text-align: right;
    width: 100% !important;
  }

  .table_responsive tbody td:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }

  .table_responsive tbody td:first-child {
    padding-top: 0;
  }

  .table_responsive tbody td::before {
    content: attr(data-title);
    font-weight: 600;
    color: #333;
    font-size: 0.875rem;
    flex-shrink: 0;
    margin-right: 1rem;
    text-align: left;
  }

  .table_responsive tbody td.subject {
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
  }

  .table_responsive tbody td.subject a {
    margin-top: 0.25rem;
    font-weight: 500;
  }

  .table_responsive tbody td.num {
    display: none;
  }

  .table_responsive tbody td.go {
    justify-content: center;
  }

  .table_responsive tbody td.go::before {
    display: none;
  }

  .table_responsive tbody td.go .btn {
    width: 100%;
    text-align: center;
  }
}

/* table style 공통 */
/* 
[html]

<table class="table_st1 table_td_center">
 */
.table_td_center td,
td.table_td_center {
  text-align: center !important;
}
.table_td_left td,
td.table_td_left {
  text-align: left !important;
}
.table_td_right td,
td.table_td_right td {
  text-align: right !important;
}
.table_th_left th,
th.table_th_left {
  text-align: left !important;
}
.table_th_right th,
th.table_th_right {
  text-align: left !important;
}
.table_th_center th,
th.table_th_center {
  text-align: center !important;
}

/* 테이블 사이즈 */
/* 
[html]

<table class="table_st1 table_s">
 */
.table_ss > thead > tr > th,
.table_ss > thead > tr > td,
.table_ss > tbody > tr > th,
.table_ss > tbody > tr > td,
.table_ss > tfoot > tr > th,
.table_ss > tfoot > tr > td {
  height: 26px;
  font-size: 0.85rem;
  padding: 0.1em 0.4em;
}
.table_s > thead > tr > th,
.table_s > thead > tr > td,
.table_s > tbody > tr > th,
.table_s > tbody > tr > td,
.table_s > tfoot > tr > th,
.table_s > tfoot > tr > td {
  height: 30px;
  font-size: 0.9rem;
  padding: 0.2em 0.4em;
}
.table_m > thead > tr > th,
.table_m > thead > tr > td,
.table_m > tbody > tr > th,
.table_m > tbody > tr > td,
.table_m > tfoot > tr > th,
.table_m > tfoot > tr > td {
  height: 36px;
  font-size: 0.95rem;
  padding: 0.2em 0.4em;
}
.table_l > thead > tr > th,
.table_l > thead > tr > td,
.table_l > tbody > tr > th,
.table_l > tbody > tr > td,
.table_l > tfoot > tr > th,
.table_l > tfoot > tr > td {
  height: 46px;
  font-size: 1rem;
  padding: 0.2em 0.4em;
}
.table_xl > thead > tr > th,
.table_xl > thead > tr > td,
.table_xl > tbody > tr > th,
.table_xl > tbody > tr > td,
.table_xl > tfoot > tr > th,
.table_xl > tfoot > tr > td {
  height: 56px;
  font-size: 1.05rem;
  padding: 0.2em 0.4em;
}

/* 게시판 테이블 table_board */
/* 
[html]

<table class="table_st1 table_board">
 */
.table_board a:hover {
  text-decoration: underline;
  font-weight: 600;
}
.table_board tbody tr:nth-child(odd) td {
  background-color: var(--skyBlueLight);
}
.table_board tr:hover td {
  background-color: var(--skyBlueDark) !important;
}
.table_board_height td,
.table_board_height th {
  height: 40px !important;
}
.table_board a {
  font-weight: 600;
}
.table_board td,
table_board th {
  line-height: 1.1;
}

/* 게시판 뷰페이지

[html]
<div class="board_view">
	<ul class="view_top">
		<li>
			<div>
				<span class="btn btn_hover_none btn_s bg_white line_black font_black border_r_20">공지</span>
				<h4 class="title mt3">게시물 제목</h4>
				<div class="other_info mt10">
					<span><span class="material-symbols-outlined">person</span><em class="font_black font_600 mr5">작성자</em>${resultVO.user_nm }</span>
					<span><span class="material-symbols-outlined">schedule</span><em class="font_black font_600 mr5">등록</em>${fn:substring(resultVO.bbs_dt,2,fn:length(resultVO.bbs_dt)) }</span>
						<span><span class="material-symbols-outlined">visibility</span><em class="font_black font_600 mr5">조회</em>${resultVO.view_cnt }</span>
				</div>
			</div>
		</li>

		<!-- 링크 사용여부 -->
		<li class="link">
			<span class="tit">관련링크</span>
			<div class="cont">
				<a href="" target="_blank" class="btn btn_s bg_white line_black font_black">원문보기<span class="material-symbols-outlined ml3">link</span></a>
			</div>
		</li>
		<!-- 첨부파일사용여부 -->
		<li class="link">
			<span class="tit">첨부파일</span>
			<div class="cont">
				<a href="" target="_blank" class="btn_text">붙임. 2024년 1분기 섬유제조패션산업 ISC 이슈리포트.pdf(1.5MB)&nbsp;&nbsp;<span class="material-symbols-outlined">download</span></a>
			</div>
		</li>
	</ul><!-- \\view_top -->
	<div class="view_conts" style="min-height: 600px;">
		
	</div>

	<div class="btn_wrap mt10">
			<button class="btn btn_l font_white bg_black" type="button" onclick="fn_location_new('viewForm','','list','/bbs/selectBbsList.do');">목록</button>
	</div>

</div><!-- \\board_view  -->

 */

.board_view .view_top {
  padding: 30px 0px 0 0;
  border-top: 3px solid #333;
  border-bottom: 1px solid #dbdbdb;
  text-align: center;
}
.board_view .view_top li {
  border-bottom: none;
}
.board_view .view_top li:first-child {
  margin-bottom: 2em;
}
.board_view .view_top .tit_cont {
  padding-bottom: 2.5em;
}
.board_view .view_top .title {
  white-space: inherit;
  font-size: 1.5rem;
  color: #000;
  font-weight: 500;
}
.board_view .view_top .other_info {
  font-size: 0.95rem;
}
.board_view .other_info {
  padding: 0 1em;
  width: auto;
  height: 50px;
  border: 1px solid #d7d7d7;
  border-radius: 50px;
  display: inline-flex;
  flex-direction: row;
  justify-content: center;
  :center ;
}
.board_view .other_info > span {
  position: relative;
  font-weight: normal;
  margin-right: 15px;
  padding-right: 15px;
  display: flex;
  flex-direction: row;
  align-items: center;
}
.board_view .other_info > span:last-child {
  margin-right: 0;
  padding-right: 0;
}
.board_view .other_info .material-symbols-outlined {
  margin-right: 2px;
  color: #333;
  font-size: 20px;
}
.board_view .other_info > span::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 4px;
  right: 0;
  width: 1px;
  height: 14px;
  background: #ccc;
}
.board_view .other_info > span:last-child::before {
  display: none;
}
.board_view .view_top .link {
  min-height: 54px;
  padding: 0.5em 1em;
  background: #f5f6f7;
  border-top: 1px dashed #ccc;
  display: flex;
  align-items: center;
}
.board_view .view_top .link > a {
  color: #000;
  margin-right: 1.5em;
}
.board_view .view_top .link > a:hover {
  text-decoration: underline;
}
.board_view .view_top .link .tit {
  font-size: 0.9rem;
  width: 70px;
  color: #000;
  font-weight: 500;
  text-align: left;
}
.board_view .view_top .link .cont {
  width: calc(100% - 70px);
  font-size: 0.9rem;
  text-align: left;
}
.board_view .view_conts {
  color: #000;
  text-align: left;
  padding: 45px 0px;
  margin: 0 0 40px;
  border: 1px solid #c9c9c9;
  border-width: 0 0 1px 0;
}
.board_view .view_conts iframe {
  margin: 0 auto;
}
.board_view .view_conts img {
  display: inline-block;
  text-align: center; /*margin: 0 auto;*/
}
.board_view .view_conts b {
  font-weight: 600;
}

/* 테이블 thead th 고정
[html]

<table class="table_st1 table_thead_fix" style="max-height: 500px"> <!-- max-height로 사이즈 조절 -->
 */
.table_thead_fix {
  display: block;
  max-height: 200px; /* Adjust the height as needed */
  overflow-y: auto;
  width: 100%; /* Ensure the table takes the full width */
}
.table_thead_fix thead tr th,
.table_thead_fix thead tr,
.table_thead_fix thead {
  position: sticky;
  top: 0;
  z-index: 9;
}

/* scroll_table 
[html]
<p class="scroll_txt"><span class="material-symbols-outlined">exclamation</span>좌우로 스크롤하여 전체 내용을 확인하세요.</p>
<div class="scroll_table">
	<table>
	</table>
</div>

*/
.scroll_txt {
  display: none;
}
@media screen and (max-width: 1500px) {
}
@media screen and (max-width: 1200px) {
  /* scroll_table */
  .scroll_txt {
    display: block;
    font-size: 0.85rem;
    margin-bottom: 0.5em;
  }
  .scroll_txt .material-symbols-outlined {
    font-size: 22px;
    background-color: #e5e6ec;
    width: 26px;
    height: 26px;
    border-radius: 50px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    vertical-align: middle;
    margin-right: 0.3em;
  }
  .scroll_table {
  	overflow-x: auto;
  }
  .scroll_table table{
  	min-width: 1200px !important;
  }
}
@media screen and (max-width: 900px) {
}

/* 테이블 input button 높이값 고정 */
/* 
[html]

<table class="table_st1 table_input">
 */
.table_input th .btn,
.table_input td .btn {
  height: 34px !important;
}

/* paging style ********************************************************************************************************************/
/* 페이징 스타일 board paging style 공통 
[html]
<ul class="paging_wrap mt10">
	<li class="first"><button title="첫 페이지 이동" onclick=""><span class="material-symbols-outlined">keyboard_double_arrow_left</span></button></li>
	<li class="prev"><button title="이전 페이지 이동" onclick=""><span class="material-symbols-outlined">keyboard_arrow_left</span></button></li>
	<li class="active"><button readonly="readonly" onclick="">1</button></li>
	<li><button readonly="readonly" onclick="">2</button></li>
	<li><button readonly="readonly" onclick="">3</button></li>
	<li class="next"><button title="다음 페이지 이동" onclick=""><span class="material-symbols-outlined">keyboard_arrow_right</span></button></li>
	<li class="last"><button title="끝 페이지 이동" onclick=""><span class="material-symbols-outlined">keyboard_double_arrow_right</span></button></li>
</ul><!-- \\paging_wrap -->
*/
.paging_wrap {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}
.paging_wrap li button,
.paging_wrap li a {
  width: 30px;
  height: 30px;
  margin: 0 0.2em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.paging_wrap li.first button .material-symbols-outlined,
.paging_wrap li.prev button .material-symbols-outlined,
.paging_wrap li.next button .material-symbols-outlined,
.paging_wrap li.last button .material-symbols-outlined,
.paging_wrap li.first a .material-symbols-outlined,
.paging_wrap li.prev a .material-symbols-outlined,
.paging_wrap li.next a .material-symbols-outlined,
.paging_wrap li.last a .material-symbols-outlined {
  font-size: 20px;
  color: #888;
}
.paging_wrap li.first:hover button .material-symbols-outlined,
.paging_wrap li.prev:hover button .material-symbols-outlined,
.paging_wrap li.next:hover button .material-symbols-outlined,
.paging_wrap li.last:hover button .material-symbols-outlined,
.paging_wrap li.first:hover a .material-symbols-outlined,
.paging_wrap li.prev:hover a .material-symbols-outlined,
.paging_wrap li.next:hover a .material-symbols-outlined,
.paging_wrap li.last:hover a .material-symbols-outlined {
  color: #000;
}
.paging_wrap li button:hover,
.paging_wrap li a:hover {
  font-weight: 500;
}

/* paging_st1 
[html]
<ul class="paging_wrap paging_st1 mt10">
	<li class="first"><button title="첫 페이지 이동" onclick=""><span class="material-symbols-outlined">keyboard_double_arrow_left</span></button></li>
	<li class="prev"><button title="이전 페이지 이동" onclick=""><span class="material-symbols-outlined">keyboard_arrow_left</span></button></li>
	<li class="active"><button readonly="readonly" onclick="">1</button></li>
	<li><button readonly="readonly" onclick="">2</button></li>
	<li><button readonly="readonly" onclick="">3</button></li>
	<li class="next"><button title="다음 페이지 이동" onclick=""><span class="material-symbols-outlined">keyboard_arrow_right</span></button></li>
	<li class="last"><button title="끝 페이지 이동" onclick=""><span class="material-symbols-outlined">keyboard_double_arrow_right</span></button></li>
</ul><!-- \\paging_wrap -->
*/
.paging_st1 li.active button,
.paging_st1 li.active a {
  background-color: #333;
  color: #fff;
  border-radius: 80px;
}

/* paging_st2 
[html]
<ul class="paging_wrap paging_st2 mt10">
	<li class="first"><button title="첫 페이지 이동" onclick=""><span class="material-symbols-outlined">keyboard_double_arrow_left</span></button></li>
	<li class="prev"><button title="이전 페이지 이동" onclick=""><span class="material-symbols-outlined">keyboard_arrow_left</span></button></li>
	<li class="active"><button readonly="readonly" onclick="">1</button></li>
	<li><button readonly="readonly" onclick="">2</button></li>
	<li><button readonly="readonly" onclick="">3</button></li>
	<li class="next"><button title="다음 페이지 이동" onclick=""><span class="material-symbols-outlined">keyboard_arrow_right</span></button></li>
	<li class="last"><button title="끝 페이지 이동" onclick=""><span class="material-symbols-outlined">keyboard_double_arrow_right</span></button></li>
</ul><!-- \\paging_wrap -->
*/
.paging_st2 li:last-child {
  border-right: 1px solid #eee;
}
.paging_st2 li button,
.paging_st2 li a {
  width: 32px;
  height: 32px;
  margin: 0;
  background-color: #fff;
  border: 1px solid #eee;
  border-width: 1px 0 1px 1px;
}
.paging_st2 li.active button,
.paging_st2 li.active a {
  background-color: #333;
  color: #fff;
}

/* paging_st3
[html]
<ul class="paging_wrap paging_st3 mt10">
	<li class="first"><button title="첫 페이지 이동" onclick=""><span class="material-symbols-outlined">keyboard_double_arrow_left</span></button></li>
	<li class="prev"><button title="이전 페이지 이동" onclick=""><span class="material-symbols-outlined">keyboard_arrow_left</span></button></li>
	<li class="active"><button readonly="readonly" onclick="">1</button></li>
	<li><button readonly="readonly" onclick="">2</button></li>
	<li><button readonly="readonly" onclick="">3</button></li>
	<li class="next"><button title="다음 페이지 이동" onclick=""><span class="material-symbols-outlined">keyboard_arrow_right</span></button></li>
	<li class="last"><button title="끝 페이지 이동" onclick=""><span class="material-symbols-outlined">keyboard_double_arrow_right</span></button></li>
</ul><!-- \\paging_wrap -->
*/

.paging_st3 li button,
.paging_st3 li a {
  width: 54px;
  height: 54px;
  margin: 0;
  background-color: #fff;
}

.paging_st3 li.first button,
.paging_st3 li.first a,
.paging_st3 li.prev button,
.paging_st3 li.prev a,
.paging_st3 li.next button,
.paging_st3 li.next a,
.paging_st3 li.last button,
.paging_st3 li.last a {
  width: 54px;
  height: 54px;
  margin: 0;
  background-color: #fff;
  border: 1px solid #eee;
}
.paging_st3 li.prev button,
.paging_st3 li.prev a,
.paging_st3 li.last button,
.paging_st3 li.last a {
  border-left: 0;
}

.paging_st3 li.active button,
.paging_st3 li.active a {
  color: var(--black);
  font-weight: 600;
}

.paging_st3 .material-symbols-outlined {
  font-size: 14px;
}

@media screen and (max-width: 1200px) {
}

@media screen and (max-width: 900px) {
  .paging_st3 li button,
  .paging_st3 li a {
    width: 34px;
    height: 34px;
    font-size: 0.85rem;
  }
  .paging_st3 li.first button,
  .paging_st3 li.first a,
  .paging_st3 li.prev button,
  .paging_st3 li.prev a,
  .paging_st3 li.next button,
  .paging_st3 li.next a,
  .paging_st3 li.last button,
  .paging_st3 li.last a {
    width: 34px;
    height: 34px;
  }
}
/* list style ********************************************************************************************************************/
/*
[html]
<ul class="list_st1">
	<li></li>
	<li></li>
	<li></li>
</ul>
*/
.list_st1 li {
  position: relative;
  padding-left: 9px;
  width: 100% !important;
  font-size: 1rem;
}
.list_st1 > li:before {
  content: "";
  background: #1f59a3;
  width: 4px;
  height: 4px;
  display: inline-block;
  position: absolute;
  left: 0px;
  top: 10px;
  border-radius: 8px !important;
}

.list_st2 > li {
  position: relative;
  padding-left: 0.7em;
  margin-bottom: 0.6em;
  font-size: 1rem;
  color: #444;
}
.list_st2 > li::after {
  content: "";
  display: block;
  position: absolute;
  top: 10px;
  left: 0;
  width: 3px;
  height: 3px;
  background: #555;
}

.list_st3 > li {
  position: relative;
  padding-left: 0.7em;
  margin-bottom: 0.6em;
  font-size: 1rem;
  color: #444;
}
.list_st3 > li::after {
  content: "-";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
/* list_size */
/*
[html]
<ul class="list_st1 list_size_s">
	<li></li>
	<li></li>
	<li></li>
</ul>
*/
.list_size_ss li {
  font-size: 0.8rem;
  margin-bottom: 0.1em;
}
.list_size_s li {
  font-size: 0.85rem;
  margin-bottom: 0.2em;
}
.list_size_m li {
  font-size: 0.95rem;
  margin-bottom: 0.2em;
}
.list_size_l li {
  font-size: 1.1rem;
  margin-bottom: 0.3em;
}
.list_size_xl li {
  font-size: 1.2rem;
  margin-bottom: 0.4em;
}

/* dl_list_st1 style ********************************************************************************************************************/
/*
.dl_list 공통으로 써주고 dl_list_st1 스타일 클래스 넣어주기

[html]
<dl class="dl_list dl_list_st1">
	<dt></dt>
	<dd></dd>
</dl>
*/
.dl_list {
  display: flex;
}
.dl_list dt {
  width: 100px;
} /* width 사이즈 조정 */
.dl_list dd {
  width: calc(100% - 100px);
} /* width 사이즈 조정 */
/* dl_list_st1 */
.dl_list_st1 {
  position: relative;
  padding-left: 9px;
}
.dl_list_st1:before {
  content: "";
  background: #1f59a3;
  width: 4px;
  height: 4px;
  display: inline-block;
  position: absolute;
  left: 0px;
  top: 10px;
  border-radius: 8px !important;
}
.dl_list_st1 dt {
  font-weight: 600;
  color: var(--blue);
}
.dl_list_st1 dd {
  color: #666;
}

/* dl_list_st2 */
.dl_list_st2 {
  position: relative;
  padding-left: 0.7em;
  margin-bottom: 0.6em;
  font-size: 1rem;
  color: #444;
}
.dl_list_st2::after {
  content: "";
  display: block;
  position: absolute;
  top: 10px;
  left: 0;
  width: 3px;
  height: 3px;
  background: #555;
}
.dl_list_st2 dt {
  font-weight: 600;
  color: var(--black);
}
.dl_list_st2 dd {
  color: #666;
}

/* dl_list_st3 */
.dl_list_st3 {
  position: relative;
  padding-left: 0.7em;
  margin-bottom: 0.6em;
  font-size: 1rem;
  color: #444;
}
.dl_list_st3::after {
  content: "-";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.dl_list_st3 dt {
  font-weight: 600;
  color: var(--black);
}
.dl_list_st3 dd {
  color: #666;
}

/* dl_list size */
.dl_list_size_ss dl {
  margin-bottom: 0.1em;
}
.dl_list_size_ss dt,
.dl_list_size_ss dd {
  font-size: 0.8rem;
}
.dl_list_size_s {
  margin-bottom: 0.2em;
}
.dl_list_size_s dt,
.dl_list_size_s dd {
  font-size: 0.85rem;
}
.dl_list_size_m dl {
  margin-bottom: 0.2em;
}
.dl_list_size_m dt,
.dl_list_size_m dd {
  font-size: 0.95rem;
}
.dl_list_size_l dl {
  margin-bottom: 0.3em;
}
.dl_list_size_l dt,
.dl_list_size_l dd {
  font-size: 1.1rem;
}
.dl_list_size_xl dl {
  margin-bottom: 0.4em;
}
.dl_list_size_xl dt,
.dl_list_size_xl dd {
  font-size: 1.2rem;
}

/* none_data style ********************************************************************************************************************/
.none_data {
  padding: 2em 1em;
  background: #dee0e8;
  color: #000;
  font-weight: 500;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 0.5em;
}
.none_data .material-icons {
  font-size: 2rem;
  margin-bottom: 0.2em;
}

/* none_image style 

<div class="none_image">
    <span class="material-symbols-outlined icon">18mp</span>
</div>
********************************************************************************************************************/
.none_image {
  display: flex;
  align-items: center !important;
  justify-content: center !important;
  background-color: #e2e3ec;
}
.none_image .icon {
  font-size: 2.2em;
  color: #b7b8c3;
}

/* input size ********************************************************************************************************************/
input.input_m {
  height: 40px !important;
}
input.input_l {
  height: 50px !important;
  font-size: 1rem !important;
}
input.input_xl {
  height: 54px !important;
  font-size: 1.1rem !important;
}

/* input 모바일 일때 width 100% */
/* @media screen and (max-width: 900px) {
  input[type="text"],
  input[type="tel"],
  input[type="email"],
  input[type="number"],
  input[type="password"],
  input[type="date"],
  input[type="time"],
  select {
    width: 99% !important;
    min-width: 99% !important;
    max-width: 99% !important;
  }
} */

/* input_wrap ********************************************************************************************************************/
/*
input_wrap에 넣으면 다 한줄로 정렬되고, 모바일일때는 width 100%
[html]
<div class="input_wrap">
 <input type="text" class="" maxlength="" id="" name="" title=""  placeholder="" value="">
 <input type="text" class="" maxlength="" id="" name="" title=""  placeholder="" value="">
</div>
*/
.input_wrap {
  display: flex;
  align-items: center;
}
.input_wrap > * {
  margin: 0 0.1em;
}
@media screen and (max-width: 900px) {
  .input_wrap {
    flex-direction: column;
    align-items: flex-start;
  }
  .input_wrap > * {
    margin: 0 0 0.1em 0;
  }
}

/* form size style ********************************************************************************************************************/
.form_ss {
  height: 22px !important;
  min-width: 44px;
  font-size: 0.85rem !important;
}
.form_s {
  min-width: 44px !important ;
  padding: 0 7px !important;
  height: 26px !important;
  font-size: 0.9rem !important;
}
.form_m {
  height: 40px !important;
  font-size: 0.95rem !important;
}
.form_l {
  height: 50px !important;
  font-size: 1.1rem !important;
}
.form_xl {
  height: 65px !important;
  font-size: 1.2rem !important;
}

/* 라디오박스 style ********************************************************************************************************************/
/*
	
[html]
<div class="radi_box">
	<input type="radio" id="a" value="" name="" class="">
	<label for="a">aa</label>
</div>
*/
.radi_box {
  position: relative; /*height:25px;*/
  display: inline-block;
}
.radi_box input[type="radio"] {
  position: absolute;
  width: 1px;
  height: 1px;
  margin-left: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}
.radi_box input[type="radio"] + label {
  width: 100%;
  cursor: pointer;
  float: left;
  position: relative;
  margin-right: 0.3em;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.radi_box input[type="radio"] + label:before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 100%;
  background: #aeaeae;
  border: 5px solid #ececec;
  float: left;
  margin-right: 4px;
  margin-top: 2px !important;
  box-sizing: unset;
}
.radi_box input[type="radio"] + label span {
  width: 100%;
  display: inline-block;
  padding-left: 43px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  line-height: 1.3;
  font-weight: 500;
}
.radi_box input[type="radio"]:checked + label {
  float: left;
  text-align: left;
}
.radi_box input[type="radio"]:checked + label:before {
  content: "";
  background-color: #fff;
  border-color: var(--input-color);
}
.radi_box input[type="radio"]:checked + label span {
  color: #f2443a;
}

/* 라디오박스 switch style */
.switch {
  position: relative;
  display: inline-block;
  width: 48px;
  height: 26px;
}

/*스위치바탕 ie에서 테두리생김방지*/
.switch input {
  display: none;
}
.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  transition: 0.4s;
}
/*스위치버튼 안쪽에 동그란모양*/
.slider:before {
  position: absolute;
  content: "";
  height: 18px;
  width: 18px;
  left: 4px;
  bottom: 4px;
  background: white;
  transition: 0.4s;
}
/*체크된(on된)스위치바탕*/
input:checked + .slider {
  background: var(--greenLight);
}
/*스위치버튼을 클릭하면 버튼주위에 글로우효과*/
input:focus + .slider {
  box-shadow: 0 0 3px #2196f3;
}
/*스위치버튼을 클릭하면 우측으로 26px이동*/
input:checked + .slider:before {
  transform: translateX(22px);
}
/*Rounded sliders*/
.slider.round {
  border-radius: 34px !important;
}
/*스위치버튼 안쪽에 동그란모양*/
.slider.round:before {
  border-radius: 50%;
}

/* 파일 업로드 style ********************************************************************************************************************/
/*
[html]
<div class="filebox">
    <input class="upload-name" value="첨부파일" placeholder="첨부파일">
    <label for="file">파일찾기</label> 
    <input type="file" id="file">
</div>

*/
.filebox .upload-name {
  display: inline-block;
  height: 40px;
  padding: 0 0.4em;
  vertical-align: middle;
  border: 1px solid #dddddd;
  width: 78%;
  color: #999999;
}
.filebox label {
  display: inline-block;
  padding: 10px 20px;
  color: #fff;
  vertical-align: middle;
  background-color: #999999;
  cursor: pointer;
  height: 40px;
  margin-left: 10px;
}
.filebox input[type="file"] {
  position: absolute;
  width: 0;
  height: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
}

/********** 파일 업로드 
[html]
<div class="file_upload_section">
  <div class="file_upload_header">
      <h4 class="file_upload_title">파일 업로드</h4>
      <button type="button" class="btn btn_add">추가</button>
  </div>
  <ul class="file_upload_list">
      <li class="file_upload_item">
          <label class="file_select_btn">
              <span>파일 선택</span>
              <input type="file" class="file_input">
          </label>
          <span class="file_name">사업계획서.hwp</span>
          <button type="button" class="btn_remove"><span class="material-symbols-outlined">close</span></button>
      </li>
      <li class="file_upload_item">
          <label class="file_select_btn">
              <span>파일 선택</span>
              <input type="file" class="file_input">
          </label>
          <span class="file_name">수요조사서.hwp</span>
          <button type="button" class="btn_remove"><span class="material-symbols-outlined">close</span></button>
      </li>
      <li class="file_upload_item">
          <label class="file_select_btn">
              <span>파일 선택</span>
              <input type="file" class="file_input">
          </label>
          <span class="file_name">연구비활용계획서.hwp</span>
          <button type="button" class="btn_remove"><span class="material-symbols-outlined">close</span></button>
      </li>
  </ul>
</div>
**********/
/* file_upload_section */
.file_upload_section {
  width: 100%;
}

.file_upload_header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 15px;
}

.file_upload_title {
  font-size: 1rem;
  font-weight: 600;
  color: #333;
}

.file_upload_list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.file_upload_item {
  display: flex;
  align-items: center;
  padding: 12px 15px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background-color: #fff;
  gap: 15px;
}

.file_select_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 15px;
  border: 1px solid var(--line-color);
  border-radius: 4px;
  background-color: #f5f5f5;
  font-size: 0.9rem;
  color: #333;
  cursor: pointer;
  transition: background-color 0.2s ease;
  white-space: nowrap;
}

.file_select_btn:hover {
  background-color: #f1f1f1;
  color: #000;
}

.file_select_btn .file_input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.file_name {
  flex: 1;
  font-size: 0.95rem;
  color: #333;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.file_name.empty {
  color: #999;
}

.btn_remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: none;
  background: none;
  cursor: pointer;
  color: #888;
  transition: color 0.2s ease;
}

.btn_remove:hover {
  color: #333;
}

.btn_remove .material-symbols-outlined {
  font-size: 1.2rem;
}

/* 반응형 */
@media screen and (max-width: 900px) {
  .file_upload_item {
    padding: 10px 12px;
    gap: 10px;
  }

  .file_select_btn {
    padding: 6px 12px;
    font-size: 0.85rem;
  }

  .file_name {
    font-size: 0.9rem;
  }
}

/********** download_section **********/
.download_section {
  width: 100%;
  padding: 1.5rem;
  border: 1px solid var(--line-color);
  border-radius: 10px;
  background-color: #fafafa;
}

.download_section .download_title {
  font-size: 1rem;
  font-weight: 600;
  color: #000;
  margin-bottom: 15px;
}

.download_section .download_info {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.download_section .download_label {
  font-size: 0.85rem;
  color: #888;
}

.download_section .download_name {
  font-size: 1rem;
  color: #333;
  font-weight: 500;
}

.download_section .download_list li a:hover .download_name {
  text-decoration: underline;
}

.attach_info {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.attach_list li {
  border: 1px solid #ddd;
  margin-bottom: -1px;
}
.attach_list li a {
  display: flex;
  align-items: center;
  gap: 20px;
  transition: background-color 0.2s ease;
  width: 100%;
  height: 100%;
  background-color: #fff;
}

.attach_list li a:hover {
  background-color: #f5f5f5;
}

.attach_list .attach_name {
  font-size: 1rem;
  color: #333;
  font-weight: 500;
}

.attach_list .attach_label {
  font-size: 0.85rem;
  color: #888;
}

.attach_icon {
  font-size: 1.5rem;
  color: #333;
  background: #f7f7f7;
  width: 66px;
  height: 66px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-right: 1px solid var(--line-color);
}

/* 반응형 */
@media screen and (max-width: 900px) {
  .download_section {
    padding: 1rem;
  }

  .download_section .download_list li a {
    padding: 12px 15px;
    gap: 15px;
  }

  .download_section .download_name {
    font-size: 0.95rem;
  }

  .attach_list li a {
    gap: 15px;
  }

  .attach_list .attach_name {
    font-size: 0.95rem;
     display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1
    ;
    overflow: hidden;
  }
}

/* select box style ********************************************************************************************************************/
/* select_box 드롭다운 셀랙트박스 
[html]
<div class="select_box">
    <div class="selected">Select an option</div>
    <div class="options">
        <ul>
            <li>Option 1</li>
            <li>Option 2</li>
            <li>Option 3</li>
            <li>Option 4</li>
        </ul>
    </div>
</div>

[js]
$(".select_box .selected").click(function() {
    //$(".select_box .options ul").toggle();
    var $options = $(this).siblings('.options');
    $options.find('> ul').toggle();
});
// select_box 드롭다운 셀랙트박스-옵션 선택 및 선택 후 옵션 숨기기
$(".select_box .options ul li").click(function() {
    var text = $(this).html();
    //$(".select_box .selected").html(text);
    //$(".select_box .options ul").hide();
    
    var $selected = $(this).closest('.options').siblings('.selected');
    $selected.html(text);
    
    $(this).closest('ul').hide();
}); 
// select_box 드롭다운 셀랙트박스-페이지의 다른 위치를 클릭하면 옵션 숨기기
$(document).bind('click', function(e) {
    var $clicked = $(e.target);
    if (!$clicked.parents().hasClass("select_box")){
            $(".select_box .options ul").hide();
        }
});
*/
.select_box {
  position: relative;
  min-width: 180px;
  display: inline-block;
}
.select_box .selected {
  width: 100%;
  cursor: pointer;
  display: inline-block;
  background: #fff url("../../../images/web/common/select_arr_b.svg")
  calc(100% - 6px) center no-repeat;
  padding: 0 20px 0 10px;
  border-radius: 2px;
  text-decoration: none;
  color: var(--black);
  font-size: 15px;
  box-sizing: border-box;
  height: 36px;
  text-align: left;
  display: flex;
  align-items: center;
  line-height: 1.2;
}
.select_box .options ul {
  width: 100%;
  background: #fff none repeat scroll 0 0;
  display: none;
  list-style: none;
  padding: 0px 0px;
  position: absolute;
  top: 100%;
  left: 0;
  box-sizing: border-box;
  box-shadow: 0 6px 5px rgba(0 0 0 / 15%);
}
.select_box .selected span.value,
.select_box .options span.value {
  display: none;
}
.select_box .options ul li {
  padding: 5px;
  display: block;
  text-decoration: none;
  color: #000;
  box-sizing: border-box;
  padding: 6px 10px 6px 10px;
  text-align: left;
  font-size: 0.95rem;
  cursor: pointer;
  font-weight: 500;
  line-height: 1.3;
  border-bottom: 1px solid #e8e8e8;
}
.select_box .options ul li:first-child {
  border-top: 1px solid #e8e8e8;
}
.select_box .options ul li:last-child {
  border-bottom: 0;
}
.select_box .options ul li:hover {
  background: #cd000b;
  color: #fff;
  transition: 0.2s ease;
}

/* 드롭다운 style ********************************************************************************************************************/
/* 드롭다운 메뉴 공통
[html]
<div class="dropdown_menu_wrap">
	<span class="material-symbols-outlined dropdown_btn">menu</span>
    <div class="dropdown_menu" style="display: block;">
    	<button type="button" class="msg_share mr3 msg_correctio" onclick="modal.msg.open('126');">메세지 수정</button>
	</div>
</div>

[js]
//드롭다운 메뉴
$('부모클래스명').find('.dropdown_menu').hide();
$('부모클래스명').find('.dropdown_btn').on('click', (function() {
	//$('[data-ul=msg]').find('.dropdown_menu').hide();
	$(this).next('.dropdown_menu').toggle();
	$(this).next('.dropdown_menu').find('button').on('click', function() {
		$(this).parent().hide();
	});
}));
*/
.dropdown_menu_wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.dropdown_btn {
  color: #ababab;
  cursor: pointer;
  width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.dropdown_btn:hover {
  color: #000;
}

/* dropdown_menu_st1 
[html]
<div class="dropdown_menu_wrap">
	<span class="material-symbols-outlined dropdown_btn">menu</span>
    <div class="dropdown_menu dropdown_menu_st1">
    	<button type="button" class="msg_share mr3 msg_correctio" onclick="modal.msg.open('126');">메세지 수정</button>
	</div>
</div>
*/
.dropdown_menu_st1 {
  min-width: 84px;
  width: max-content;
  padding: 0.5em 0.3em 0.5em 0.3em;
  position: absolute;
  top: 29px;
  right: 0;
  z-index: 99;
  background-color: var(--white);
  border-radius: 5px;
  border: 1px solid #373f57;
  box-shadow: 3px 3px 6px rgba(104 112 138 / 30%);
}
.dropdown_menu_st1::before {
  content: "";
  display: block;
  position: absolute;
  top: -9px;
  right: 2px;
  width: 18px;
  height: 16px;
  background: url("../../../images/web/common/dropdown_arr.png") no-repeat;
}

/* dropdown_menu_st2 
[html]
<div class="dropdown_menu_wrap">
	<span class="material-symbols-outlined dropdown_btn">menu</span>
	<div class="dropdown_menu dropdown_menu_st2">
		<button type="button" class="d_flex" onclick=""><span class="material-symbols-outlined mr3">delete</span><span>메세지 삭제</span></button>
		<button type="button" class="d_flex" onclick=""><span class="material-symbols-outlined mr3">delete</span><span>메세지 삭제</span></button>
	</div>
</div>
*/
.dropdown_menu_st2 {
  min-width: 180px;
  width: max-content;
  padding: 0.5em 0.3em 0.5em 0.3em;
  position: absolute;
  top: 22px;
  right: 0;
  z-index: 99;
  background-color: var(--white);
  border: 1px solid #e1e1e1;
  box-shadow: 3px 3px 6px rgba(104 112 138 / 30%);
}
.dropdown_menu_st2 > * {
  width: 100%;
  padding-bottom: 0.5em;
  margin-bottom: 0.5em;
  font-size: 0.85rem;
  color: var(--black);
  border-bottom: 1px solid #e5e5e5;
}
.dropdown_menu_st2 > *:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: 0;
}
.dropdown_menu_st2 > *:hover {
  font-weight: 600;
}
.dropdown_menu_st2 > *:hover .material-symbols-outlined {
  color: var(--black);
}
.dropdown_menu_st2 .material-symbols-outlined {
  font-size: 18px;
  color: #5f6368;
}

/* 검색 드롭다운 
[html]
<div class="dropdown_menu_wrap">
	<span class="material-symbols-outlined mr5 dropdown_btn">search</span>
	<div class="dropdown_menu search_dropdown">
		<div class="search_wrap search_st4">
			<input type="text" class="" id="" placeholder="캠페인을 검색해 주세요." name="keyword">
			<button type="submit" class="ic"><span class="material-symbols-outlined">search</span><span class="hide">검색</span></button>
		</div>
	</div>
</div>
[js]
$('부모클래스명').find('.dropdown_menu').hide();
	$('.부모클래스명').find('.dropdown_btn').on('click', (function() {
		//$('[data-ul=msg]').find('.dropdown_menu').hide();
		$(this).next('.dropdown_menu').toggle();
		$(this).next('.dropdown_menu').find('button').on('click', function() {
			$(this).parent().hide();
		});
	}));

*/
.search_dropdown {
  min-width: 100%;
  width: 100%;
  padding: 0.5em 0.3em 0.5em 0.3em;
  position: absolute;
  top: 42px;
  right: 0;
  z-index: 99;
  background-color: var(--white);
  box-shadow: 0 3px 6px rgba(104 112 138 / 30%);
}

/* side_right_wrap 오른쪽 사이드 메뉴 ********************************************************************************************************************/
/*
[html]
<p class="btn btn_50 bg_grayLight font_black side_btn"><span class="material-symbols-outlined">history</span><!-- <em data-em="unidentified-notification-count" class="on">0</em> --></p>

<div class="right_side_wrap">
	<div class="top_wrap mb10">
		<div class="d_inline-flex a-i_center">
			<strong class="title_st1 mr10">활동추적</strong>
 		<form name="searchForm" id="searchForm" class="" method="post" onsubmit="">
            <select name="searchOrder" id="" class="select_st1 w100" title="정렬선택" onchange="search();">
            	<option value="DESC" selected>최신 순</option>
            	<option value="ASC">오래된 순</option>
            </select>
           </form>
       </div>
          <span class="material-symbols-outlined side_close_btn">close</span>
	</div>
      <div class="cont o_y_auto" style="height: calc(100% - 54px);">
      	<div class="box_st5 mb5">
      		<div class="top_wrap">
      			<span class="btn btn_s bg_white font_black line_black btn_hover_none border_r_20 c_default">📨 메세지 수신</span>
      			<span class="date">17:34:00</span>
      		</div>
      		<p class="font_black mt5">기획부서장 홍길동 3에게 14:15분 <span class="message_type mb4 bg_white font_red line_red">보고 메세지</span> 받음</p>
      	</div>
      	<div class="box_st5 mb5">
      		<div class="top_wrap">
      			<span class="btn btn_s bg_white font_black line_black btn_hover_none border_r_20 c_default">📩 메세지 발신</span>
      			<span class="date">17:34:00</span>
      		</div>
      		<p class="font_black mt5">기획부서장 홍길동 3에게 14:23분 <span class="message_type mb4 bg_white font_red line_red">보고 메세지</span> 보냄</p>
      	</div>
      	<div class="box_st5 mb5">
      		<div class="top_wrap">
      			<span class="btn btn_s bg_white font_black line_black btn_hover_none border_r_20 c_default">📝 개인활동일지</span>
      			<span class="date">17:34:00</span>
      		</div>
      		<p class="font_black mt5">기획부서장 홍길동 3에게 14:23분 개인활동일지 작성</p>
      	</div><div class="box_st5 mb5">
      		<div class="top_wrap">
      			<span class="btn btn_s bg_white font_black line_black btn_hover_none border_r_20 c_default">📨 메세지 수신</span>
      			<span class="date">17:34:00</span>
      		</div>
      		<p class="font_black mt5">기획부서장 홍길동 3에게 14:15분 <span class="message_type mb4 bg_white font_red line_red">보고 메세지</span> 받음</p>
      	</div>
      	<div class="box_st5 mb5">
      		<div class="top_wrap">
      			<span class="btn btn_s bg_white font_black line_black btn_hover_none border_r_20 c_default">📩 메세지 발신</span>
      			<span class="date">17:34:00</span>
      		</div>
      		<p class="font_black mt5">기획부서장 홍길동 3에게 14:23분 <span class="message_type mb4 bg_white font_red line_red">보고 메세지</span> 보냄</p>
      	</div>
      </div>
</div><!-- \\right_side_wrap -->
[js]
//side_right_wrap 오른쪽 사이드 메뉴
$(".side_btn").click(function() {
    $(".right_side_wrap").toggleClass("on");
});
$(".side_close_btn").click(function(event) {
    event.stopPropagation();
    $(".right_side_wrap").removeClass("on");
});
$(document).click(function(event) {
    if (!$(event.target).closest('.right_side_wrap, .side_btn').length) {
        $(".right_side_wrap").removeClass("on");
    }
});
$(".right_side_wrap").click(function(event) {
    event.stopPropagation();
});
*/
.side_btn .material-symbols-outlined {
  font-size: 24px;
}
.right_side_wrap {
  width: 400px;
  height: 100%;
  position: fixed;
  top: 0;
  right: -400px /*width값이랑 동일하게*/;
  z-index: 10;
  background-color: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(10px);
  padding: 1em;
  box-shadow: 0 8px 30px rgba(0 0 0 / 60%);
  transition: right 0.5s ease; /* Smooth transition */
}
.right_side_wrap.on {
  right: 0;
}
.side_close_btn {
  cursor: pointer;
}

/* 체크박스 style ********************************************************************************************************************/
/*
[html]
<div class="checkbox">
	<input type="checkbox" id="a" name="" value="" class="">
	<label for="a">aa</label>
</div>
	
*/
.checkbox {
  position: relative;
  display: inline-flex;
}
.checkbox input[type="checkbox"] {
  position: absolute;
  width: 1px;
  height: 1px;
  margin-left: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}
.checkbox input[type="checkbox"] + label {
  width: 100%;
  cursor: pointer;
  position: relative;
  margin-right: 0.5em;
  display: flex;
  align-items: center;
  padding-left: 0;
  justify-content: center;
}
.checkbox input[type="checkbox"] + label:before {
  background-color: var(--grayLight);
  content: "\e5ca";
  font-family: "Material Symbols Outlined";
  color: var(--gray);
  font-size: 20px;
  text-align: center;
  font-weight: 600;
  width: 24px;
  height: 24px;
  border-radius: 100%;
  float: left;
  margin-right: 3px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.checkbox input[type="checkbox"] + label span {
  width: 100%;
  display: inline-block;
  padding-left: 43px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  line-height: 1.3;
  font-weight: 500;
}
.checkbox input[type="checkbox"]:checked + label {
  float: left;
  text-align: left;
  color: var(--black);
}
.checkbox input[type="checkbox"]:checked + label:before {
  background-color: var(--input-color);
  content: "\e5ca";
  font-family: "Material Symbols Outlined";
  color: var(--white);
}
.checkbox.none_txt label {
margin-right: 0;
}

/* textarea ********************************************************************************************************************/
textarea {
  width: 100%;
  box-sizing: border-box;
  height: auto;
  background: #fff;
  border: 1px solid #d7dce5;
  resize: none;
}
textarea:focus {
  background: white;
  color: black;
}

/* input file ********************************************************************************************************************/
.filebox {
  display: inline-flex;
}
.filebox input[type="file"] {
  position: absolute;
  width: 0;
  height: 0;
  padding: 0;
  overflow: hidden;
  border: 0 !important;
  opacity: 0;
}
.filebox .upload-name {
  display: inline-block;
  height: 34px;
  padding: 0 10px;
  vertical-align: middle;
  border: 1px solid #c2c6cd !important;
  border-radius: 3px;
  width: 78%;
  color: #999999;
  font-size: 0.9rem;
}
.filebox label {
  display: inline-block;
  padding: 0 10px;
  color: #fff;
  vertical-align: middle;
  background-color: #333;
  cursor: pointer;
  height: 34px;
  margin-left: 0.2em;
  font-weight: 500;
  font-size: 0.9rem;
  line-height: 32px;
  border-radius: 3px !important;
}

/* 파일업로드 ********************************************************************************************************************/
.qq-upload-file {
  font-size: 12px !important;
}
.qq-btn span {
  font-size: 19px;
  vertical-align: middle;
}
.qq-btn {
  width: 25px;
  height: 25px;
  margin: 0;
  padding: 0px 4px 0px 2px !important;
}

/* input error
[html]
<input type="text" class="error">
<span class="error_txt">오류메세지</span>
*/
input.error {
  border-color: var(--red) !important;
  border-width: 2px !important;
}
.error_txt {
  color: var(--red);
  font-weight: 500;
  margin-top: 2px;
  display: block;
  font-size: 0.95rem;
  display: none;
}

/* 로딩화면 ********************************************************************************************************************/
.loading {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: absolute;
  z-index: 999;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  backdrop-filter: blur(1px);
  -webkit-backdrop-filter: blur(1px);
  min-height: 100vh;
}
.loading span {
  display: inline-block;
  width: 10px;
  height: 10px;
  background-color: gray;
  border-radius: 50%;
  animation: loading 1s linear infinite;
  background-color: black;
}
.loading span:nth-child(1) {
  animation-delay: 0s;
}
.loading span:nth-child(2) {
  animation-delay: 0.2s;
  margin: 0px 10px;
}
.loading span:nth-child(3) {
  animation-delay: 0.4s;
}
.loading .txt {
  color: var(--black);
  display: block;
  margin-top: 1.4em;
  font-size: 1.2rem;
}

@keyframes loading {
  0%,
  100% {
    opacity: 0;
    transform: scale(0.5);
  }
  50% {
    opacity: 1;
    transform: scale(1.2);
  }
}

/* loading_st2 

<span class="loading_st2" id="" style="display:;">
	<span class="load"></span>
</span><!-- \\loading_st2 -->
*/
.loading_st2 {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: absolute;
  z-index: 999;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  backdrop-filter: blur(1px);
  -webkit-backdrop-filter: blur(1px);
}
.loading_st2 .txt {
  color: var(--black);
  display: block;
  margin-top: 1.4em;
  font-size: 1.2rem;
}
.load {
  font-size: 10px;
  width: 1em;
  height: 1em;
  position: absolute;
  z-index: 999;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  text-indent: -9999em;
  animation: mulShdSpin 1.1s infinite ease;
  transform: translateZ(0);
}

@keyframes mulShdSpin {
  0%,
  100% {
    box-shadow: 0em -2.6em 0em 0em #cd000b,
    1.8em -1.8em 0 0em rgba(205, 0, 11, 0.2),
    2.5em 0em 0 0em rgba(205, 0, 11, 0.2),
    1.75em 1.75em 0 0em rgba(205, 0, 11, 0.2),
    0em 2.5em 0 0em rgba(205, 0, 11, 0.2),
    -1.8em 1.8em 0 0em rgba(205, 0, 11, 0.2),
    -2.6em 0em 0 0em rgba(205, 0, 11, 0.5),
    -1.8em -1.8em 0 0em rgba(205, 0, 11, 0.7);
  }
  12.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(205, 0, 11, 0.7),
    1.8em -1.8em 0 0em #cd000b, 2.5em 0em 0 0em rgba(205, 0, 11, 0.2),
    1.75em 1.75em 0 0em rgba(205, 0, 11, 0.2),
    0em 2.5em 0 0em rgba(205, 0, 11, 0.2),
    -1.8em 1.8em 0 0em rgba(205, 0, 11, 0.2),
    -2.6em 0em 0 0em rgba(205, 0, 11, 0.2),
    -1.8em -1.8em 0 0em rgba(205, 0, 11, 0.5);
  }
  25% {
    box-shadow: 0em -2.6em 0em 0em rgba(205, 0, 11, 0.5),
    1.8em -1.8em 0 0em rgba(205, 0, 11, 0.7), 2.5em 0em 0 0em #cd000b,
    1.75em 1.75em 0 0em rgba(205, 0, 11, 0.2),
    0em 2.5em 0 0em rgba(205, 0, 11, 0.2),
    -1.8em 1.8em 0 0em rgba(205, 0, 11, 0.2),
    -2.6em 0em 0 0em rgba(205, 0, 11, 0.2),
    -1.8em -1.8em 0 0em rgba(205, 0, 11, 0.2);
  }
  37.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(205, 0, 11, 0.2),
    1.8em -1.8em 0 0em rgba(205, 0, 11, 0.5),
    2.5em 0em 0 0em rgba(205, 0, 11, 0.7), 1.75em 1.75em 0 0em #cd000b,
    0em 2.5em 0 0em rgba(205, 0, 11, 0.2),
    -1.8em 1.8em 0 0em rgba(205, 0, 11, 0.2),
    -2.6em 0em 0 0em rgba(205, 0, 11, 0.2),
    -1.8em -1.8em 0 0em rgba(205, 0, 11, 0.2);
  }
  50% {
    box-shadow: 0em -2.6em 0em 0em rgba(205, 0, 11, 0.2),
    1.8em -1.8em 0 0em rgba(205, 0, 11, 0.2),
    2.5em 0em 0 0em rgba(205, 0, 11, 0.5),
    1.75em 1.75em 0 0em rgba(205, 0, 11, 0.7), 0em 2.5em 0 0em #cd000b,
    -1.8em 1.8em 0 0em rgba(205, 0, 11, 0.2),
    -2.6em 0em 0 0em rgba(205, 0, 11, 0.2),
    -1.8em -1.8em 0 0em rgba(205, 0, 11, 0.2);
  }
  62.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(205, 0, 11, 0.2),
    1.8em -1.8em 0 0em rgba(205, 0, 11, 0.2),
    2.5em 0em 0 0em rgba(205, 0, 11, 0.2),
    1.75em 1.75em 0 0em rgba(205, 0, 11, 0.5),
    0em 2.5em 0 0em rgba(205, 0, 11, 0.7), -1.8em 1.8em 0 0em #cd000b,
    -2.6em 0em 0 0em rgba(205, 0, 11, 0.2),
    -1.8em -1.8em 0 0em rgba(205, 0, 11, 0.2);
  }
  75% {
    box-shadow: 0em -2.6em 0em 0em rgba(205, 0, 11, 0.2),
    1.8em -1.8em 0 0em rgba(205, 0, 11, 0.2),
    2.5em 0em 0 0em rgba(205, 0, 11, 0.2),
    1.75em 1.75em 0 0em rgba(205, 0, 11, 0.2),
    0em 2.5em 0 0em rgba(205, 0, 11, 0.5),
    -1.8em 1.8em 0 0em rgba(205, 0, 11, 0.7), -2.6em 0em 0 0em #cd000b,
    -1.8em -1.8em 0 0em rgba(205, 0, 11, 0.2);
  }
  87.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(205, 0, 11, 0.2),
    1.8em -1.8em 0 0em rgba(205, 0, 11, 0.2),
    2.5em 0em 0 0em rgba(205, 0, 11, 0.2),
    1.75em 1.75em 0 0em rgba(205, 0, 11, 0.2),
    0em 2.5em 0 0em rgba(205, 0, 11, 0.2),
    -1.8em 1.8em 0 0em rgba(205, 0, 11, 0.5),
    -2.6em 0em 0 0em rgba(205, 0, 11, 0.7), -1.8em -1.8em 0 0em #cd000b;
  }
}

/* 레이어팝업 ********************************************************************************************************************/
/*
[html]
<p class="btn" onClick="popupLayer('layer1');">Open</p>

<div id="layer1" class="dim-layer">
  <div class="dimBg"></div>
  <div class="pop-layer">
    <strong class="pop-head">
    	<span class="tit">레이어팝업창 입니다.</span>
    	<span class="material-symbols-outlined btn-layerClose">close</span>
    </strong>
    <div class="pop-conts">
      간혹 레이어배경 .dimBg이 늦게 떠지는 경우가 있으면 스크립트에 fadein/out 문제임 show/hide로 수정하면됨
    </div>
  </div>
</div>

[js]
function popupLayer(layerId){

    $("#"+layerId).fadeIn();
    $contents = $("#"+layerId).find(".pop-layer");
    $("body").css("overflow", "hidden");
    
    var $elWidth = ~~($contents.outerWidth()),
      $elHeight = ~~($contents.outerHeight());

    $contents.css({
      marginTop: -$elHeight /2,
      marginLeft: -$elWidth/2
    })
    $contents.find(".btn-layerClose").click(function(){
      $("#"+layerId).fadeOut();
      $("body").css("overflow", "");
    });
  
  }
*/
.dim-layer {
  display: none;
}
.pop-layer {
  width: 800px;
  height: auto;
  min-height: 340px;
  max-height: 800px;
  background: #fff;
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 9999;
  border-radius: 5px;
  box-shadow: 0 0 10px rgba(0 0 0 / 50%);
}
.pop-head {
  height: 50px;
  padding: 0.4em 1em;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: rgb(247, 247, 247);
  border-radius: 5px 5px 0 0;
}
.pop-head .tit {
  font-size: 1.1rem;
  color: var(--black);
  font-weight: 500;
}
.pop-conts {
  padding: 1em 1em 70px 1em;
  max-height: 710px;
  overflow-y: auto;
}
.btn-layerClose {
  cursor: pointer;
  font-size: 23px;
  color: #000;
  box-sizing: border-box;
}
.btn-layerClose > span {
  vertical-align: middle;
}
.pop-btns {
  height: 50px;
  background-color: #f6f6f6;
  border-radius: 0 0 5px 5px;
  justify-content: flex-end;
  padding-right: 0.5em;
  position: absolute;
  bottom: 0;
  width: 100%;
  z-index: 2;
}
@media screen and (max-width: 900px) {
  .pop-layer {
    width: 90%;
  }
}

/* tab style ********************************************************************************************************************/
/* 
사용 시 .nav-tabs(기본 스타일) 기본으로 넣어주고 
.nav-tabsSt1 .nav-tabsSt2 등 넣어주면 스타일 적용됨 

[html코드]
<ul class="nav-tabs">
	<li><a href="javascript:void(0);" id="tab_a" class="tab active">a</a></li>
	<li><a href="javascript:void(0);" id="tab_b" class="tab">b</a></li>
	<li><a href="javascript:void(0);" id="tab_c" class="tab">c</a></li>
</ul>
<div class="tab-content active" id="section_a">a
</div><!-- \\tab_a -->
<div class="tab-content" id="section_b">b
</div><!-- \\tab_b -->
<div class="tab-content" id="section_c">c
</div><!-- \\tab_c -->

[js 코드]
$(".tab").click(function(){
  $iid = $(this).attr("id").split("_").pop();
  currentTab = $iid;

  $(".tab-content").hide();
  $("#section_"+$iid).show();

  $(".tab").attr("class","tab");
  $(this).attr("class","tab active");
});
*/

/* tab 레이아웃 */
.top_wrap .navTabsCloseBtn {
  font-size: 10px !important;
  cursor: pointer;
  margin-left: 6px;
  font-style: normal;
  line-height: 20px;
  font-family: inherit;
  position: relative;
  top: 9px;
  color: #a49fba;
  -webkit-appearance: none;
  padding: 0;
  cursor: pointer;
  background: 0 0;
  border: 0;
  float: right;
  line-height: 1;
  text-shadow: 0 1px 0 #fff;
  background: #d8d5e7;
  border-radius: 50%;
  padding: 2px;
  font-weight: 600;
  position: absolute;
  right: 2px;
  z-index: 1;
}
.top_wrap .navTabsCloseBtn:hover {
  color: red !important;
  font-weight: 700;
}
.nav-tabs {
  width: 100%;
  border: 0;
  overflow: hidden;
  height: 35px;
  top: 0;
  position: relative;
}
.nav-tabs > li {
  float: left;
  display: inline-block;
}
.nav-tabs > li > a {
  color: #b8b5c7;
  font-size: 13px;
  display: inline-block;
  margin: 0;
  margin-right: 5px;
  position: relative;
}
.tab-content {
  display: none;
}
.tab-content.active {
  display: block;
}

/* nav-tabsSt1 */
.nav-tabsSt1:after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #e8e8f6;
  position: absolute;
  bottom: 0;
  left: 0;
}
.nav-tabsSt1 > li:first-child a {
  padding: 0 15px !important;
}
.nav-tabsSt1 > li {
  padding-top: 5px !important;
}
.nav-tabsSt1 > li > a {
  padding-top: 5px;
  padding-bottom: 5px;
  color: #b8b5c7;
  padding: 0 15px 0 15px;
  line-height: 30px;
  border-left: 1px solid #e2e2eb;
  border-top: 1px solid #e2e2eb;
  border-right: 1px solid #e2e2eb;
  border-radius: 10px 10px 0 0;
  background: #fafafe;
  font-weight: 500;
}
.nav-tabsSt1 > li > a:before {
  content: "";
  border-bottom: 28px solid #e8e8f6;
  border-right: 14px solid transparent;
  display: inline-block;
  position: absolute;
  right: -13px;
  bottom: 0;
}
.nav-tabsSt1 > li > a:after {
  content: "";
  border-bottom: 28px solid #fafafe;
  border-right: 15px solid transparent;
  display: inline-block;
  position: absolute;
  right: -13px;
  bottom: 0;
}
.nav-tabsSt1 li a.active {
  color: var(--blue);
  font-weight: 600;
  background: #fff;
  box-shadow: 5px 3px 10px rgb(125 127 174 / 29%);
  z-index: 1;
}
.nav-tabsSt1 li a.active .navTabsCloseBtn {
  color: #666666;
}
.nav-tabsSt1 li a.active:after {
  border-bottom-color: #fff;
}
.nav-tabsSt1 li a .navTabsCloseBtn:hover {
  background: #ff9800;
  color: #fff !important;
}

/* nav-tabsSt2 */
.nav-tabsSt2 {
  height: auto;
}
.nav-tabsSt2:after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #e8e8f6;
  position: absolute;
  bottom: 0;
  left: 0;
}
.nav-tabsSt2 > li > a {
  padding: 10px 15px;
  border: 0;
  border-radius: 0;
  box-shadow: none !important;
  background: transparent;
  font-size: 1rem;
}
.nav-tabsSt2 li a.active {
  background: transparent;
  color: var(--black);
  font-weight: 500;
}
.nav-tabsSt2 > li > a:before,
.nav-tabsSt2 li a.active:after,
.nav-tabsSt2 > li > a:after {
  display: none;
}
.nav-tabsSt2 li a.active:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 4px;
  background-color: var(--black);
  display: block;
  bottom: 0;
  left: 0;
  border: 0;
  right: auto;
}

/* nav-tabsSt3 */
.nav-tabsSt3 {
  width: auto;
  height: 30px;
  border: 1px solid var(--blue);
  border-radius: 3px !important;
}
.nav-tabsSt3 li {
  height: 100%;
}
.nav-tabsSt3 li a {
  padding: 0 0.5em;
  background-color: #fff;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
.nav-tabsSt3 li a.active {
  background-color: var(--blue);
  color: var(--white);
  font-weight: 500;
  border-right: 1px solid #2148b1;
}
.nav-tabsSt3 li:last-child a.active {
  border-right: 0;
}

/* nav-tabsSt4 */
.nav-tabsSt4 {
  height: 56px;
  display: flex;
}
.nav-tabsSt4 li {
  height: 100%;
  flex: 1;
}
.nav-tabsSt4 li a {
  display: block;
  width: 100%;
  height: 100%;
  margin-right: 0;
  background-color: #f4f5f9;
  border: 1px solid #e0e3eb;
  border-width: 1px 0 1px 1px;
  font-size: 1.2rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
.nav-tabsSt4 li:last-child a {
  border-right-width: 1px;
}
.nav-tabsSt4 li a.active {
  background-color: var(--white);
  color: var(--black);
  border-bottom-width: 0;
}

/* nav-tabsSt5 */
.nav-tabsSt5 {
  display: flex;
  flex-wrap: wrap;
  height: auto;
}

.nav-tabsSt5 li {
  flex: 0 0 33.3333%;
  height: 70px;
}

.nav-tabsSt5 li a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background-color: #fff;
  border: 1px solid var(--line-color);
  border-width: 1px 0 1px 1px;
  font-size: 1.1rem;
  color: var(--black);
  transition: all 0.3s ease;
}

.nav-tabsSt5 li a:hover {
  background-color: var(--grayDark);
  color: var(--white);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}

/* 각 줄의 마지막 항목 (3번째, 6번째...) */
.nav-tabsSt5 li:nth-child(3n) a {
  border-right-width: 1px;
}

/* 마지막 항목도 오른쪽 테두리 */
.nav-tabsSt5 li:last-child a {
  border-right-width: 1px;
}

/* 두 번째 줄부터 위쪽 테두리 제거 (겹침 방지) */
.nav-tabsSt5 li:nth-child(n + 4) a {
  border-top-width: 0;
}

.nav-tabsSt5 li a.active {
  background-color: var(--grayDark);
  color: var(--white);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}

/* 1200px 이하 */
@media (max-width: 1200px) {
  .nav-tabsSt5 {
    height: 60px;
  }
  .nav-tabsSt5 li {
    height: 100%;
  }

  .nav-tabsSt5 li a {
    font-size: 1rem;
  }
}

/* 900px 이하 */
@media (max-width: 900px) {
  .nav-tabsSt5 {
    height: 50px;
  }

  .nav-tabsSt5 li a {
    font-size: 0.95rem;
    padding: 0 10px;
  }
}

/* search_wrap style ********************************************************************************************************************/
/*
.search_wrap를 공통으로 무조건 써주고, 
search_st1 search_st2 등 스타일 넣어주기

[html]
<div class="search_wrap search_st1">
    <input type="text" class="" id="" placeholder="캠페인을 검색해 주세요." name="keyword">
    <button type="submit" class="ic"><span class="material-symbols-outlined">search</span><span class="hide">검색</span></button>
</div><!-- \\search_wrap -->
*/
.search_wrap {
  /* display: flex;
  align-items: center; */
}
.search_wrap select {
  appearance: auto;
  /* min-width: 130px;
  max-width: 130px; */
}
.search_wrap input[type="text"] {
  /* min-width: 200px;
  max-width: 200px; */
}
/* .search_wrap input[type="text"],
.search_wrap input[type="password"],
.search_wrap input[type="tel"],
.search_wrap input[type="number"],
.search_wrap input[type="price"],
.search_wrap input[type="search"],
.search_wrap input[type="email"],
.search_wrap input[type="time"],
.search_wrap input[type="month"],
.search_wrap input[type="date"],
.search_wrap input[type="url"],
.search_wrap input[type="image"],
.search_wrap input[type="button"],
.search_wrap input[type="submit"],
.search_wrap input[type="reset"],
.search_wrap input[type="file"],
.search_wrap input[type="price"],
.search_wrap input[type="button"],
.search_wrap input[type="submit"],
.search_wrap input[type="reset"] {
  padding: 0;
  width: auto;
} */
/* input 모바일 일때 width 100% */
/* @media screen and (max-width: 900px) {
  .search_wrap {
    flex-direction: column;
  }
  .search_wrap input[type="text"],
  .search_wrap input[type="password"],
  .search_wrap input[type="tel"],
  .search_wrap input[type="number"],
  .search_wrap input[type="price"],
  .search_wrap input[type="search"],
  .search_wrap input[type="email"],
  .search_wrap input[type="time"],
  .search_wrap input[type="month"],
  .search_wrap input[type="date"],
  .search_wrap input[type="url"],
  .search_wrap input[type="image"],
  .search_wrap input[type="button"],
  .search_wrap input[type="submit"],
  .search_wrap input[type="reset"],
  .search_wrap input[type="file"],
  .search_wrap input[type="price"],
  .search_wrap input[type="button"],
  .search_wrap input[type="submit"],
  .search_wrap input[type="reset"],
  .search_wrap select {
    margin: 0 0 0.2em 0 !important;
  }

  .search_wrap.search_st1,
  .search_wrap.search_st2 {
    flex-direction: row;
  }
} */
/* search_st1 

[html]
<div class="search_wrap search_st1">
    <input type="text" class="" id="" placeholder="캠페인을 검색해 주세요." name="keyword">
    <button type="submit" class="ic"><span class="material-symbols-outlined">search</span><span class="hide">검색</span></button>
</div><!-- \\search_wrap -->
*/
.search_st1 {
  height: 36px;
  border-bottom: 2px solid var(--black);
}
.search_st1 input[type="text"],
.search_st1 input[type="password"],
.search_st1 input[type="tel"],
.search_st1 input[type="number"],
.search_st1 input[type="price"],
.search_st1 input[type="search"],
.search_st1 input[type="email"],
.search_st1 input[type="time"],
.search_st1 input[type="month"],
.search_st1 input[type="date"],
.search_st1 input[type="url"],
.search_st1 input[type="image"],
.search_st1 input[type="button"],
.search_st1 input[type="submit"],
.search_st1 input[type="reset"],
.search_st1 input[type="file"],
.search_st1 input[type="price"],
.search_st1 input[type="button"],
.search_st1 input[type="submit"],
.search_st1 input[type="reset"],
.search_st1 select {
  border: 0 !important;
  width: calc(100% - 40px) !important;
  min-width: auto !important;
  max-width: none !important;
}
.search_st1 button {
  width: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.search_st1 .ic {
  color: var(--black);
  font-size: 20px;
}
/* search_st2 

[html]
<div class="search_wrap search_st2 mb5">
    <input type="text" class=" id=" "="" placeholder="캠페인을 검색해 주세요." name="keyword">
    <button type="submit" class="ic"><span class="material-symbols-outlined">search</span><span class="hide">검색</span></button>
</div>
*/
.search_st2 {
  border-radius: 3px;
  border: 1px solid #000;
}
.search_st2 button {
  width: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.search_st2 input[type="text"],
.search_st2 input[type="password"],
.search_st2 input[type="tel"],
.search_st2 input[type="number"],
.search_st2 input[type="price"],
.search_st2 input[type="search"],
.search_st2 input[type="email"],
.search_st2 input[type="time"],
.search_st2 input[type="month"],
.search_st2 input[type="date"],
.search_st2 input[type="url"],
.search_st2 input[type="image"],
.search_st2 input[type="button"],
.search_st2 input[type="submit"],
.search_st2 input[type="reset"],
.search_st2 input[type="file"],
.search_st2 input[type="price"],
.search_st2 input[type="button"],
.search_st2 input[type="submit"],
.search_st2 input[type="reset"] {
  border: 0 !important;
  width: calc(100% - 40px) !important;
  min-width: auto !important;
  max-width: none !important;
}
.search_st2 input[type="text"]:focus {
  border: 0 !important;
  box-shadow: none;
}
/* search_st3 
[html]
<div class="search_wrap search_st3 mb10 box_st2 bg_skyBlueLight"><!-- bg 빼고 싶으면 box_st2 bg_skyBlueLight 클래스 빼주기  -->
	<select name="searchBbscate_tcd" id="searchBbscate_tcd" onchange="" valign="bottom" align="absmiddle" title="분류"></select>
	<select name="searchCondition" id="searchCondition" title="검색조건선택">
		<option value="title">제목</option>
		<option value="context">내용</option>
	</select>
	<input id="searchKeyword" type="text" value="" name="searchKeyword" title="검색어를 입력해주세요" placeholder="검색어를 입력해주세요">
	<button onclick="" class="bg_blue btn font_white"><span class="material-symbols-outlined">search</span>검색</button>
</div>
*/
.search_st3 input[type="text"],
.search_st3 input[type="password"],
.search_st3 input[type="tel"],
.search_st3 input[type="number"],
.search_st3 input[type="price"],
.search_st3 input[type="search"],
.search_st3 input[type="email"],
.search_st3 input[type="time"],
.search_st3 input[type="month"],
.search_st3 input[type="date"],
.search_st3 input[type="url"],
.search_st3 input[type="image"],
.search_st3 input[type="button"],
.search_st3 input[type="submit"],
.search_st3 input[type="reset"],
.search_st3 input[type="file"],
.search_st3 input[type="price"],
.search_st3 input[type="button"],
.search_st3 input[type="submit"],
.search_st3 input[type="reset"],
.search_st3 select {
  margin: 0 0.1em;
  font-size: 0.95rem;
}
.search_st3 .btn {
  height: 34px;
}
@media screen and (max-width: 900px) {
  .search_wrap.search_st3 .btn {
    width: 100%;
  }
}

/* search_st4 
[html]
<div class="search_wrap search_st4 mb25">
    <select name="searchCondition" id="searchCondition" title="검색조건선택">
        <option value="">장비명</option>
    </select>
    <input id="searchKeyword" type="text" value="" name="searchKeyword" title="검색어를 입력해주세요" placeholder="검색어를 입력해주세요">
    <button onclick="" class="bg_navy btn font_white"><span class="material-symbols-outlined">search</span></button>
</div><!-- search_wrap -->
*/
.search_st4 {
  padding: 1.2rem 1rem;
  background-color: #f1f4fa;
  justify-content: center;
}
.search_st4 input[type="text"],
.search_st4 input[type="password"],
.search_st4 input[type="tel"],
.search_st4 input[type="number"],
.search_st4 input[type="price"],
.search_st4 input[type="search"],
.search_st4 input[type="email"],
.search_st4 input[type="time"],
.search_st4 input[type="month"],
.search_st4 input[type="date"],
.search_st4 input[type="url"],
.search_st4 input[type="image"],
.search_st4 input[type="button"],
.search_st4 input[type="submit"],
.search_st4 input[type="reset"],
.search_st4 input[type="file"],
.search_st4 input[type="price"],
.search_st4 input[type="button"],
.search_st4 input[type="submit"],
.search_st4 input[type="reset"],
.search_st4 select {
  margin: 0 0.1em;
  font-size: 1rem;
  height: 50px;
}
.search_st4 input[type="text"],
.search_st4 input[type="password"],
.search_st4 input[type="tel"],
.search_st4 input[type="number"],
.search_st4 input[type="price"],
.search_st4 input[type="search"],
.search_st4 input[type="email"],
.search_st4 input[type="time"],
.search_st4 input[type="month"],
.search_st4 input[type="date"],
.search_st4 input[type="url"],
.search_st4 input[type="image"],
.search_st4 input[type="button"],
.search_st4 input[type="submit"],
.search_st4 input[type="reset"],
.search_st4 input[type="file"],
.search_st4 input[type="price"],
.search_st4 input[type="button"],
.search_st4 input[type="submit"],
.search_st4 input[type="reset"] {
  min-width: 400px;
}

.search_st4 select {
  min-width: 200px;
}
.search_st4 .btn {
  height: 50px;
}
@media screen and (max-width: 900px) {
  .search_wrap.search_st4 .btn {
    width: 100%;
  }
}

/* search_st5 
[html]
<div class="search_wrap search_st5 mb25">
    <div class="search_row">
        <div class="search_item">
            <label class="search_label">접수기간</label>
            <input type="date" id="startDate" name="startDate" title="시작일">
            <span class="date_separator">~</span>
            <input type="date" id="endDate" name="endDate" title="종료일">
        </div>
        <div class="search_item">
            <span class="search_label">접수상태</span>
            <div class="radio_group">
                <span class="radi_box">
                    <input type="radio" name="status" id="statusAll" class="" value="all" checked="checked">
                    <label for="statusAll" class="">전체</label>
                </span>
                <span class="radi_box">
                    <input type="radio" name="status" id="statusIng" class="" value="ing">
                    <label for="statusIng" class="">접수중</label>
                </span>
                <span class="radi_box">
                    <input type="radio" name="status" id="statusEnd" class="" value="end">
                    <label for="statusEnd" class="">접수마감</label>
                </span>
            </div>
        </div>
    </div>
    <div class="search_row">
        <div class="search_item">
            <label for="searchCondition" class="search_label">키워드</label>
            <select name="searchCondition" id="searchCondition" title="검색조건선택">
                <option value="">전체</option>
            </select>
            <input id="searchKeyword" type="text" value="" name="searchKeyword" title="검색어를 입력해주세요" placeholder="검색어를 입력해주세요">
            <button type="button" onclick="" class="bg_navy btn font_white"><span class="material-symbols-outlined">search</span></button>
        </div>
    </div>
</div><!-- search_wrap -->

*/
.search_st5 {
  padding: 1.2rem 1rem;
  background-color: #f1f4fa;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}

.search_st5 .search_row {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

.search_st5 .search_item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.search_st5 .search_label {
  font-size: 0.9rem;
  color: #333;
  white-space: nowrap;
}

.search_st5 .date_separator {
  color: #666;
}

.search_st5 input[type="date"] {
  min-width: 160px;
  height: 50px;
  padding: 0 10px;
  border: 1px solid #ddd;
  font-size: 1rem;
}

.search_st5 .radio_group {
  display: flex;
  align-items: center;
  gap: 5px;
}

.search_st5 .radio_group label {
  margin-right: 15px;
  font-size: 1rem;
  cursor: pointer;
}

.search_st5 select {
  min-width: 120px;
  height: 50px;
  padding: 0 10px;
  border: 1px solid #ddd;
  font-size: 1rem;
}

.search_st5 input[type="text"] {
  min-width: 300px;
  height: 50px;
  padding: 0 15px;
  border: 1px solid #ddd;
  font-size: 1rem;
}

.search_st5 .btn {
  height: 50px;
  width: 50px;
  padding: 0 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* 반응형 */
@media screen and (max-width: 900px) {
  .search_st5 .search_row {
    flex-direction: column;
    align-items: stretch;
  }

  .search_st5 .search_item {
    flex-wrap: wrap;
  }

  .search_st5 input[type="date"],
  .search_st5 input[type="text"],
  .search_st5 select {
    min-width: auto;
    flex: 1;
  }

  .search_st5 .btn {
    width: 100%;
  }
}

/* 최근검색어, 자동검색 autocomplete_list
[html]
<div class="search_wrap search_st2 border_r_0">
    <input type="text" class="search_autocomplete" id="" autocomplete="off" placeholder="메세지 통합검색" name="keyword">
    <button type="submit" class="ic"><span class="material-symbols-outlined">search</span><span class="hide">검색</span></button>
	<div class="autocomplete_list">
		<span class="tit mb5">최근 검색어</span>
		<div class="recent_list mb10">
			<span class="recent_ic btn btn_ss btn_hover_none bg_grayLight font_black">기획부서장<span class="material-symbols-outlined delete_ic ml3">close</span></span>
			<span class="recent_ic btn btn_ss btn_hover_none bg_grayLight font_black">기획부서장<span class="material-symbols-outlined delete_ic ml3">close</span></span>
			<span class="recent_ic btn btn_ss btn_hover_none bg_grayLight font_black">기획부서장<span class="material-symbols-outlined delete_ic ml3">close</span></span>
			<span class="recent_ic btn btn_ss btn_hover_none bg_grayLight font_black">기획부서장<span class="material-symbols-outlined delete_ic ml3">close</span></span>
			<span class="recent_ic btn btn_ss btn_hover_none bg_grayLight font_black">기획부서장<span class="material-symbols-outlined delete_ic ml3">close</span></span>
			<span class="recent_ic btn btn_ss btn_hover_none bg_grayLight font_black">기획부서장<span class="material-symbols-outlined delete_ic ml3">close</span></span>
			<span class="recent_ic btn btn_ss btn_hover_none bg_grayLight font_black">기획부서장<span class="material-symbols-outlined delete_ic ml3">close</span></span>
		</div>
		<span class="tit mb5">연관 검색어</span>
		<ul class="relation_list">
			<li><a href="javascript:void(0);" class="ellipsis txt">위기상황</a><span class="material-symbols-outlined delete_ic">close</span></li>
			<li><a href="javascript:void(0);" class="ellipsis txt">위기상황</a><span class="material-symbols-outlined delete_ic">close</span></li>
			<li><a href="javascript:void(0);" class="ellipsis txt">위기상황</a><span class="material-symbols-outlined delete_ic">close</span></li>
		</ul>
	</div>
</div>

[js]
//검색창 자동검색
$('.autocomplete_list').hide();
$('.search_autocomplete').on('click', function () {
    $('.autocomplete_list').show();
});
$(document).on('click', function (e) {
    if (!$(e.target).closest('.search_wrap').length) {
        $('.autocomplete_list').hide();
    }
});
$('.search_wrap > .ic').on('click', function () {
    $('.autocomplete_list').hide();
});
$('.autocomplete_list').on('click', '.delete_ic', function () {
    $(this).closest('.recent_ic, li').remove();
});
*/

.autocomplete_list {
  padding: 0.5em;
  position: absolute;
  top: 44px;
  left: 0;
  width: 100%;
  z-index: 1;
  background-color: var(--white);
  box-shadow: 0 3px 6px rgba(104 112 138 / 30%);
}
.autocomplete_list .tit {
  display: block;
  margin: 0;
  font-weight: 600;
  color: var(--black);
  font-size: 0.85rem;
  vertical-align: -webkit-baseline-middle;
}
.autocomplete_list .relation_list .delete_ic {
  cursor: pointer;
  background-color: var(--grayLight);
  color: var(--black);
  font-size: 14px;
  width: 18px;
  height: 18px;
  border-radius: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 0.5em;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0.6;
}
.autocomplete_list .relation_list > li {
  border-bottom: 1px solid #e8e8e8;
  margin-bottom: 0.3em;
  padding-bottom: 0.3em;
  position: relative;
}
.autocomplete_list .relation_list > li .txt {
  font-size: 0.9rem;
  width: calc(100% - 30px);
}
.autocomplete_list .relation_list > li:last-child {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}
.autocomplete_list .relation_list > li:hover a {
  font-weight: 500;
}
.autocomplete_list .relation_list > li:hover .delete_ic {
  opacity: 1;
}

.autocomplete_list .recent_list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.2em;
}
.autocomplete_list .recent_list .recent_ic {
  cursor: pointer;
  margin: 0;
}
.autocomplete_list .recent_list .delete_ic {
  cursor: pointer;
  font-size: 14px;
  opacity: 0.6;
}
.autocomplete_list .recent_list .recent_ic:hover .delete_ic {
  opacity: 1;
}

/*========================수집동의 박스========================
[html]
<ul class="agree_box mt30">
  <li>개인정보의 수집 및 이용에 대한 동의</li>
  <li>
      <article class="policy">
  
          <strong class="font_500 font_black mb5 d_block">개인정보 수집․이용 및 제3자 제공 동의서</strong>
          <p class="mb30">본 『영천스파밸리 지식산업혁신센터』은 개인정보보호법 제 15조(개인정보
              수집,이용)에 따라 플랫폼 시설 및 장비 공유·개방과 관련하여 사용자의 개인정보를 수집·이용 및 제3자에게 제공하는데 동의를
              받고자 합니다.</p>
  
          <strong class="font_500 font_black mb5 d_block">개인정보 수집․이용 내역</strong>
          <table class="table_st2">
              <thead>
                  <tr>
                      <th>항목</th>
                      <th>수집•이용 목적</th>
                      <th>보유•이용 기간</th>
                  </tr>
              </thead>
              <tbody>
                  <tr>
                      <td>기업명(기관명), 대표자, 주소, 담당자명, 사업자등록번호, 연락처(이메일, 연락처)</td>
                      <td>장비 예약</td>
                      <td class="blue">1년</td>
                  </tr>
              </tbody>
          </table>
          <p class="mt5 mb30">※ 위의 개인정보 수집‧이용에 대한 동의를 거부할 권리가 있습니다. 그러나 동의를
              거부할 경우 플랫폼 장비 이용 시 제한을 받을 수 있습니다.</p>
      </article>
  </li>
  <li>
      <span class="radi_box">
          <input type="radio" name="agree" id="ag_1" class="" value="Y" checked="checked">
          <label for="ag_1" class="">동의합니다</label>
      </span>
      <span class="radi_box">
          <input type="radio" name="agree" id="ag_2" class="" value="N">
          <label for="ag_2" class="">동의하지 않습니다</label>
      </span>
  </li>
</ul>
*/
.agree_box {
}
.agree_box li:nth-child(1) {
  font-size: 1.2rem;
  font-weight: 500;
  border: 1px solid #ddd;
  border-bottom: none;
  padding: 1.2rem;
  color: var(--black);
}
.agree_box li:nth-child(2) {
  padding: 20px;
  border: 1px solid #ddd;
  height: 220px;
  overflow: auto;
  background: #f9f9f9;
}
.agree_box li:nth-child(2) b {
  display: inline-block;
  margin-bottom: 5px;
}
.agree_box li:nth-child(2) p {
  margin-bottom: 20px;
}
.agree_box li:nth-child(3) {
  padding: 1.2rem;
  border: 1px solid #ddd;
  border-top: none;
}
.agree_box .policy {
  padding: 0.8rem;
}

/*========================파일 다운로드========================
[html]
<div id="fileListArea">
    <button type="button" class="file_load" onclick="downloadAndRefresh(); return false;">
        <span class="left">
                    <span class="material-symbols-outlined">vertical_align_bottom</span>
        </span>
        <span class="right">
            Download
            <b>대회의실 시설 사용신청서 파일.hwp</b>
            <!-- <span class="download-count">(191회 다운로드)</span> -->
        </span>
    </button>
</div><!-- fileListArea -->
*/
.file_load {
  width: 100%;
  border: 1px solid #d7d7d7;
  display: flex;
  align-items: stretch;
  margin: 0 auto;
  transition: all 0.3s ease;
}
.file_load:hover b {
  text-decoration: underline;
}
.file_load .left {
  border-right: 1px solid #ddd;
  padding: 20px;
  background: #f7f7f7;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.file_load .left img {
  width: 30px;
}
.file_load .right {
  width: calc(100% - 40px);
  padding: 0.4rem 1rem;
  text-align: left;
  color: #888;
  font-size: 0.9rem;
}
.file_load .right b {
  width: 100%;
  display: inline-block;
  font-size: 1.1rem;
  text-align: left;
  color: #000;
}


/* ============================================================================
 * [추가 2026-08-24] 카이누리 공용 화면용 전역 보완
 *
 * 배경 : 카이누리 공용 템플릿(front/bbs · front/me · front/auth · front/pages)은
 *        `simple` 테마 기준 클래스로 작성돼 있다. 시안(ktdi_26)에 없는 이름이라
 *        KTDI 테마에선 **무스타일로 노출**됐다(버튼·팝업·검색정렬·신청/설문 폼).
 * 방침 : 시안 버튼 규약(`background/color/border` + !important + CSS 변수)을 그대로 따른다.
 *        기존 정의가 있는 클래스는 건드리지 않고, **없는 것만** 추가한다.
 * ==========================================================================*/

/* ── 버튼 색상 변형 보완 ─────────────────────────────────────
   시안 정의분: btn_primary · btn_gray · btn_dark · btn_line · btn_line_gray
               btn_danger · btn_success · btn_warning · btn_naver · btn_google
   아래는 공용 템플릿이 쓰지만 시안에 없던 것들. */

/* 메인 다크 — 강조 CTA (pages/page.html '홈으로' 등) */
.btn_main_dark {
  background: var(--main-color-dark) !important;
  color: var(--white) !important;
  border: 1px solid var(--main-color-dark) !important;
}
.btn_main_dark:hover {
  background: var(--navy) !important;
  border-color: var(--navy) !important;
}

/* 다크 라인 — 보조 액션 (게시판 '원문 보기'·'신고') */
.btn_line_dark {
  background: transparent !important;
  color: var(--grayDark) !important;
  border: 1px solid var(--grayDark) !important;
}
.btn_line_dark:hover {
  background: var(--grayDark) !important;
  color: var(--white) !important;
}

/* 취소 — 뮤트 블루그레이 (게시판 삭제·모달 취소·글쓰기 취소) */
.btn_cancel {
  background: var(--blueGrayDark) !important;
  color: var(--white) !important;
  border: 1px solid var(--blueGrayDark) !important;
}
.btn_cancel:hover {
  background: var(--blueGrayDarkest) !important;
  border-color: var(--blueGrayDarkest) !important;
}
.btn_line_cancel {
  background: transparent !important;
  color: var(--blueGrayDark) !important;
  border: 1px solid var(--blueGrayDark) !important;
}
.btn_line_cancel:hover {
  background: var(--blueGrayDark) !important;
  color: var(--white) !important;
}

/* 위험 액션 — 회원 탈퇴(me/withdraw.html) */
.btn_sub1 {
  background: var(--red) !important;
  color: var(--white) !important;
  border: 1px solid var(--red) !important;
}
.btn_sub1:hover {
  background: var(--redDark) !important;
  border-color: var(--redDark) !important;
}

/* 전체폭 — 로그인 등 폼 제출 (auth/login.html) */
.btn_full {
  width: 100% !important;
}

/* 아이콘 전용 원형 버튼 (me/home.html 등) */
.btn_icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0 !important;
  min-width: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: var(--sub-txt-color) !important;
  cursor: pointer;
  box-shadow: none;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.btn_icon .material-symbols-outlined { font-size: 20px; }
.btn_icon:hover {
  background: var(--bg-sub-light) !important;
  color: var(--tit-color) !important;
}
.btn_icon.btn_icon_s { width: 28px; height: 28px; }
.btn_icon.btn_icon_s .material-symbols-outlined { font-size: 17px; }
.btn_icon.btn_icon_l { width: 44px; height: 44px; }
.btn_icon.btn_icon_l .material-symbols-outlined { font-size: 24px; }

/* btn_shine — hover 시 빛이 좌→우로 스침 (채움 버튼용) */
.btn_shine {
  position: relative;
  overflow: hidden;
}
.btn_shine::before {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(120deg, transparent, rgba(255, 255, 255, 0.5), transparent);
  transform: skewX(-20deg);
  pointer-events: none;
}
.btn_shine:hover::before {
  animation: btn_shine 0.8s;
}
@keyframes btn_shine {
  to { left: 125%; }
}

/* btn-motion1 — 버튼 안 화살표 아이콘이 살짝 반복 이동 */
.btn-motion1 {
  animation: btn-motion1 1.5s ease-in-out infinite;
}
@keyframes btn-motion1 {
  0%, 100% { transform: translate(0, 0); }
  50%      { transform: translate(3px, -3px); }
}

/* ── 검색폼 정렬 ─────────────────────────────────────────────
   .search_wrap 에 함께 부여 (통합검색 pages/search.html 이 search_st5 와 같이 쓴다) */
.search_wrap.search_center {
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
}
.search_wrap.search_center.search_st5 { align-items: stretch; }
.search_wrap.search_center.search_st5 .search_row { justify-content: center; }

/* ── 사용자 사이트 팝업 (_layout/_popup.html) ────────────────
   위치·형태(레이어/코너/바)·자동닫기는 js/front-popup.js 가 inline style 로 처리한다.
   여기서는 박스·하단바 시각만 담당. */
.front-popup .front-popup-box {
  background: #fff;
  border-radius: 0.6rem;
  box-shadow: 0 14px 44px rgba(20, 28, 55, 0.22);
}
/* 상단 띠형(PDSP003)은 화면 폭을 꽉 채우므로 라운드 제거 */
.front-popup[data-type="PDSP003"] .front-popup-box { border-radius: 0; }
.front-popup .front-popup-content {
  background: #fff;
  overflow: hidden;
}
.front-popup .front-popup-content img { max-width: 100%; height: auto; }
.front-popup .front-popup-bar {
  width: 100%;
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.2rem 0.8rem;
  background: var(--grayLightest);
  border-top: 1px solid var(--line-color-light);
}
.front-popup .front-popup-bar .checkbox label {
  font-size: 0.88rem;
  color: var(--sub-txt-color);
}
.front-popup .front-popup-close {
  color: #555;
  font-size: 0.85rem;
}

/* ── 신청서·설문 화면 최소 스타일 (front/pages/apply.html · survey.html) ──
   🔴 이 두 화면은 카이누리 제품 화면으로 Bootstrap/Tabler 클래스(form-control,
      btn-primary, mb-3 …)를 쓰는데 프론트에 Bootstrap 이 로드되지 않는다.
      그대로 두면 브라우저 기본 input/button 이 그대로 노출된다.
      Bootstrap 을 새로 얹지 않고 **쓰이는 클래스만** KTDI 톤으로 채운다.
   참고 : 현재 KTDI 메뉴에는 신청서·설문 연결이 없다(관리자가 만들면 노출됨). */
.form-label {
  display: block;
  margin-bottom: 0.4rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--sub-tit-color);
}
.form-control,
.form-select {
  width: 100%;
  padding: 0.6rem 0.8rem;
  border: 1px solid var(--line-color);
  border-radius: 0.4rem;
  background: #fff;
  color: #333;
  font-family: inherit;
  font-size: 0.95rem;
  box-sizing: border-box;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.form-control:focus,
.form-select:focus {
  outline: none;
  border-color: var(--main-color);
  box-shadow: 0 0 0 3px rgba(52, 77, 207, 0.14);
}
textarea.form-control { min-height: 120px; resize: vertical; line-height: 1.6; }
.form-check {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.form-check-input {
  width: 16px;
  height: 16px;
  margin: 0;
  cursor: pointer;
  accent-color: var(--main-color);
}
.form-check-label { cursor: pointer; font-size: 0.92rem; color: #333; }
.btn-primary {
  background: var(--main-color) !important;
  color: var(--white) !important;
  border: 1px solid var(--main-color) !important;
}
.btn-primary:hover {
  background: var(--main-color-dark) !important;
  border-color: var(--main-color-dark) !important;
}
.btn-dark {
  background: var(--grayDark) !important;
  color: var(--white) !important;
  border: 1px solid var(--grayDark) !important;
}
.btn-lg {
  padding: 0 1.2rem !important;
  height: 50px !important;
  min-width: 120px;
  font-size: 1.05rem !important;
}
.alert {
  padding: 0.9rem 1.1rem;
  margin-bottom: 1rem;
  border: 1px solid var(--line-color);
  border-radius: 0.4rem;
  background: var(--bg-sub-light);
  color: var(--sub-tit-color);
  font-size: 0.95rem;
}
.alert-success { border-color: #b7e4c0; background: var(--greenLightest); color: var(--greenDarkest); }
.alert-warning { border-color: #ffe08a; background: var(--yellowLightest); color: var(--yellowDarkest); }
/* 유틸리티 — 🔴 `row`·`col-*`·`mb-*`·`small` 같은 범용 이름은 auth/me 화면과 레거시
   본문에서도 쓰여 전역 정의하면 다른 화면을 건드린다. 신청/설문 래퍼 안으로 한정한다. */
.apply-wrap .row,
.survey-wrap .row {
  display: flex;
  flex-wrap: wrap;
}
.apply-wrap .g-2 { gap: 0.5rem; }
.apply-wrap [class*="col-"],
.survey-wrap [class*="col-"] { box-sizing: border-box; }
.apply-wrap .col-12 { width: 100%; }
.apply-wrap .col-9  { width: 75%; }
.apply-wrap .col-8  { width: 66.6667%; }
.apply-wrap .col-6,
.apply-wrap .col-md-6 { width: calc(50% - 0.25rem); }
.apply-wrap .col-4  { width: 33.3333%; }
.apply-wrap .col-3  { width: 25%; }
.apply-wrap .text-center,
.survey-wrap .text-center { text-align: center; }
.apply-wrap .text-muted,
.survey-wrap .text-muted { color: var(--sub-txt-color); }
.apply-wrap .small { font-size: 0.85rem; }
.apply-wrap .mt-1 { margin-top: 0.25rem; }
.apply-wrap .mb-0,
.survey-wrap .mb-0 { margin-bottom: 0; }
.apply-wrap .mb-2 { margin-bottom: 0.5rem; }
.apply-wrap .mb-3 { margin-bottom: 1rem; }
.apply-wrap .mb-4,
.survey-wrap .mb-4 { margin-bottom: 1.5rem; }
.apply-wrap .px-4,
.survey-wrap .px-4 { padding-left: 1.5rem; padding-right: 1.5rem; }
@media screen and (max-width: 768px) {
  .apply-wrap .col-6,
  .apply-wrap .col-md-6,
  .apply-wrap .col-4,
  .apply-wrap .col-3,
  .apply-wrap .col-8,
  .apply-wrap .col-9 { width: 100%; }
}
