* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;  
  text-rendering: optimizeLegibility;  
}
@font-face { font-family:'GmarketSans'; font-style: normal; font-weight:300; src:url(../fonts/GmarketSansTTFLight.ttf) format('truetype'); font-display: swap;} 
@font-face { font-family:'GmarketSans'; font-style: normal; font-weight:500; src:url(../fonts/GmarketSansTTFMedium.ttf) format('truetype'); font-display: swap;} 
@font-face { font-family:'GmarketSans'; font-style: normal; font-weight:700; src:url(../fonts/GmarketSansTTFBold.ttf) format('truetype'); font-display: swap;} 
@font-face {
  font-family: "Pretendard";
  font-style: normal;
  font-weight: 900;
  src: url('../fonts/Pretendard-Black.woff2') format('woff2');
}
@font-face {
  font-family: "Pretendard";
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/Pretendard-Bold.woff2') format('woff2');
}
@font-face {
  font-family: "Pretendard";
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/Pretendard-SemiBold.woff2') format('woff2');
}
@font-face {
  font-family: "Pretendard";
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/Pretendard-Medium.woff2') format('woff2');
}
@font-face {
  font-family: "Pretendard";
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/Pretendard-Regular.woff2') format('woff2');
}
@font-face {
  font-family: "Pretendard";
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/Pretendard-Light.woff2') format('woff2');
}
@font-face {
  font-family: "Pretendard";
  font-style: normal;
  font-weight: 200;
  src: url('../fonts/Pretendard-ExtraLight.woff2') format('woff2');
}
@font-face {
  font-family: "Retrosans";
  src: url('../fonts/Retrosans.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NanumGothic";
  src: url(../fonts/NanumGothicLight.woff2) format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NanumGothic";
  src: url(../fonts/NanumGothic.woff2) format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NanumGothic";
  src: url(../fonts/NanumGothicBold.woff2) format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NanumGothic";
  src: url(../fonts/NanumGothicExtraBold.woff2) format('woff2');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
html, body {
  font-family: "NanumGothic";    
  height: 100%;
  color: #333;
  background-color: #fff;
}

ul, ol, li {
  list-style: none;
  text-decoration: none;  
}

a {
  text-decoration: none;
  color: inherit;
  border-bottom:navajowhite;
}

button {
  background: none;
  border: none;
  cursor: pointer;
  font: inherit;
}
/* 숨김 처리 (접근성용) */
.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

/* 텍스트 정렬 */
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }

.wd100 {width:100%;}

/* 마진 & 패딩 */
.mt10 { margin-top: 10px !important; }
.mt15 { margin-top: 15px !important; }
.mb0 {margin-bottom:0 !important;}
.mb8 { margin-bottom:8px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 {margin-bottom:20px !important;}
.mb25 {margin-bottom:25px !important;}
.mb30 {margin-bottom:30px !important;}
.mb35 {margin-bottom:35px !important;}
.mb40 {margin-bottom:40px !important;}
.mb45 {margin-bottom:45px !important;}
.mb50 {margin-bottom:50px !important;}
.mr2 {margin-right:2px !important;}
.mr20 {margin-right:20px !important;}
.pt10 { padding-top: 10px !important; }
.pb10 { padding-bottom: 10px !important; }

.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
}

.flex { display: flex; }
.flex02 {display:flex; flex-direction:row; align-items:center; justify-content:space-between;}
.flex03 {display:flex; flex-direction:row; align-items:center;}
.flex-center { display: flex; justify-content: center; align-items: center; }
.flex-start {display:flex; flex-direction:row; align-items:flex-start;}
.between {}
.grid { display: grid; }

:root {
  --color01: #ff9564;
  --color02: #1e2e9f;
  --color03:#3c43c2;
  --gray: #888;
  --font-size-base: 16px;
}
.check_wrap_square label { font-size:14px; font-weight:300; color:#333333; cursor:pointer; position:relative; display:flex; flex-direction:row; align-items:center;}
.check_wrap_square .checkmark { display:inline-block; position: relative; width:26px; height:26px;  vertical-align: middle; background-color: #fff;  border:1px solid #cdcdcd; box-sizing:border-box;  cursor:pointer; overflow:hidden; border-radius:4px; margin-right:8px; cursor:pointer;}
.check_wrap_square input[type='checkbox']{display:none;}
.check_wrap_square label span.checkmark:after {
  content: '';
  display: none;
  position: absolute;
  left: 7px;
  top: 2px;
  width: 7px;
  height: 13px;
  border: solid #336fdf;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.check_wrap_square input[type=checkbox]:checked + label span.checkmark:after { display:block; }
.btnStyle01 {
  border-radius: 4px;
  background-color: rgb(60, 67, 194);
  width: 400px;
  height: 72px;
  font-size: 24px;
  font-family: "NanumGothic";;
  color: rgb(255, 255, 255);
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
.btnStyle01:hover {
    background-color:var(--color01);
}
.partnerLink01 {
  font-size: 14px;
  font-family: "NanumGothic";;
  color: rgb(235, 123, 89);
  font-weight: 700;
  display:flex;
  flex-direction:row;
  align-items:center;
}
.partnerLink01:hover {
    color:#000;
}
.partnerLink01 i {
    font-size:20px;
    margin-left:5px;
}
.btnStyle02 {
  border-radius: 6px;
  background-color: rgb(60, 67, 194);
  width: 100%;
  height: 50px;
  z-index: 192;
  font-size: 16px;
  font-family: "NanumGothic";
  color: rgba(255, 255, 255, 0.702);
  line-height: 1.625;
  text-align: center;
}
.btnStyle02:hover{
    background-color:var(--color01);
    color:#fff;
}
.btn-group {
    gap:5px;
}
.linkType02 {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: end;
    font-size: 15px;
    font-family: "NanumGothic";
    color: #111111;
    font-weight:400;
    text-decoration: none;
    margin-top:28px;
}
.linkType02 img {
    width:20px;
    margin-left:10px;
}
.linkType02:hover {
    color:var(--color02);
}
.linkType02 img.on {
    display:none;
}
.linkType02:hover img.off {
    display:none;
}   
.linkType02:hover img.on {
    display:block;
}   
.search-box {
  display: flex;
  align-items: center;
  background-color:#cdd8ea; /* 연파란 배경 */
  border-radius: 30px;
  padding: 5px 5px 5px 35px;
  width: 380px;
}
.search-box input {
  flex: 1;
  border: none;
  outline: none;
  background: transparent;
  font-size: 14px;
  font-family: "NanumGothic";
  font-weight:700;
  color:#000;
}
.search-box input::placeholder {
  font-size: 14px;
  font-family: "NanumGothic";
  font-weight:400;
  color: rgba(19, 23, 80, 0.502);
  line-height: 1;
  text-align: left;
}
.search-box input::placeholder {
  color: #8e95a2;
}
.search-box button {
  background-color:#3c43c2;
  border: none;
  border-radius: 50%;
  width: 45px;
  height: 45px;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  margin-left:10px;
}
.search-box .search-icon {
  max-width:50%;
  fill: white;
}
.search-box button:hover {
    background-color:#000;
}
.search-box select {
  padding: 0 45px 0 0;
  border:none;
  border-radius: 4px;
  background: transparent url("../../_images/login/search_select_arrow.png") no-repeat right 20px center;
  background-size:12px;
  appearance: none; /* 기본 화살표 제거 */
  -webkit-appearance: none;
  -moz-appearance: none;
  font-size: 16px;
  font-family: "NanumGothic";
  font-weight:400;
  color: rgb(19, 23, 80);
  line-height: 1.2;
  text-align: left;
  outline:none !important;
}
