@charset "UTF-8";
/*-------------------------------------------------------------------
    파일정의 : 컴포넌트
-------------------------------------------------------------------*/
.ico {
  display: inline-flex;
  position: relative;
  vertical-align: middle; }
  .ico.ico-file {
    width: 1.65rem;
    height: 1.8rem;
    background: url("../img/icon/ico_file.png") no-repeat center;
    background-size: contain; }
  .ico.ico-new {
    width: 2.25rem;
    height: 2.2rem;
    background: url("../img/icon/ico_new.png") no-repeat center;
    background-size: contain; }

.btn-wrap {
  display: flex;
  gap: 4.4rem; }
  @media (max-width: 767px) {
    .btn-wrap {
      gap: 2.2rem 1rem; } }
  .btn-wrap.center {
    justify-content: center;
    gap: 1rem 1.6rem; }
  .btn-wrap.jc-sb {
    justify-content: space-between; }
  .btn-wrap.jc-fe {
    justify-content: flex-end; }
  .btn-wrap.column {
    flex-direction: column;
    align-items: flex-start; }
    .btn-wrap.column.center {
      align-items: center; }
    @media (max-width: 767px) {
      .btn-wrap.column .btn {
        width: 100%;
        min-height: 5rem; } }

.btn {
  text-align: center;
  display: flex;
  align-items: center; }
  .btn.sm {
    height: 3.5rem;
    padding: 0 3.5rem;
    display: flex;
    align-items: center;
    font-size: 1.6rem;
    color: #FFFFFF;
    text-align: center;
    border-radius: 160px; }
    @media (max-width: 767px) {
      .btn.sm {
        font-size: 1.4rem;
        padding: 1rem 3rem;
        height: 5.4rem; } }
  .btn.fill-blue {
    background: var(--navy-color);
    color: #fff; }
  .btn.fill-gray {
    background: #E4E4E4;
    border: 1px solid #F0F0F0; }
  .btn.line-gray {
    border: 1px solid #BFBFBF;
    background: #fff;
    color: #878787; }
  .btn.line-blue {
    border: 1px solid var(--navy-color);
    background: #fff;
    color: var(--navy-color); }
  .btn.fill-gradient {
    background: linear-gradient(90deg, var(--blue-gradient-color), var(--green-gradient-color)); }

.btn-ic {
  padding: 0 1rem;
  box-sizing: border-box; }

.flex {
  display: flex; }
  .flex.center {
    justify-content: center; }
  .flex.between {
    justify-content: space-between; }

/* select */
select {
  background: url("../img_en/icon/btn_select_arrow.png") no-repeat right 15px center; }

.tit-wrap.v1 .tit {
  font-size: 5.6rem;
  color: var(--navy-color);
  font-weight: 800;
  text-align: center;
  line-height: 1.2; }
  @media (max-width: 767px) {
    .tit-wrap.v1 .tit {
      font-size: 2.4rem; } }

.tit-wrap.v2 .tit {
  color: #1D1D1D;
  font-size: 3.4rem;
  font-weight: 700; }
  @media (max-width: 767px) {
    .tit-wrap.v2 .tit {
      font-size: 2rem; } }

/* 테이블-table */
table {
  table-layout: fixed; }

/* 스크롤 커스텀 */
.scroll-x.mCustomScrollbar .mCSB_horizontal .mCSB_container {
  margin-bottom: 0; }

.scroll-x .mCSB_scrollTools.mCSB_scrollTools_horizontal {
  height: 0.8rem; }

.scroll-x .mCSB_scrollTools_horizontal .mCSB_draggerContainer {
  width: calc(100% - 1rem);
  left: 0.5rem; }

.scroll-x .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.scroll-x .mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,
.scroll-x .mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.scroll-x .mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.scroll-x .mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  background-color: #ddd;
  height: 0.5rem;
  border-radius: 1rem;
  margin: 0 0;
  opacity: 1; }

.scroll-x .mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  height: 0;
  margin: 0; }

.scroll-y .mCSB_inside > .mCSB_container {
  margin-right: 0; }

.scroll-y .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #DEDEDE;
  border-radius: 1rem; }

.scroll-y .mCSB_scrollTools .mCSB_draggerRail {
  background-color: transparent; }

.scroll-y .mCSB_inside > .mCSB_container {
  margin-right: 0; }

.scroll-y .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #DEDEDE;
  border-radius: 1rem; }

.scroll-y .mCSB_scrollTools .mCSB_draggerRail {
  background-color: transparent; }

/* 공통 레이어 팝업 */
/* dim 처리 */
.dim {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  z-index: 10000;
  pointer-events: none; }
  .dim.dim-header {
    z-index: 9998;
    /* 헤더보다 낮게 */ }

.popup {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10000;
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-sizing: border-box;
  box-shadow: 0 0 172px 0 rgba(0, 0, 0, 0.35);
  max-height: 80%;
  max-width: calc(100% - 4rem); }
  .popup.on {
    display: block; }
  .popup .popup-wrap {
    padding: 6rem 4.8rem 6rem 4rem; }
    @media (max-width: 767px) {
      .popup .popup-wrap {
        padding: 3rem 1.6rem 6rem 1.6rem; } }
  .popup .popup-head {
    display: flex;
    justify-content: space-between;
    width: 100%; }
    .popup .popup-head .pop-tit.v1 .tit {
      font-size: 2.4rem;
      font-weight: 700;
      color: #323232; }
      @media (max-width: 767px) {
        .popup .popup-head .pop-tit.v1 .tit {
          font-size: 2rem; } }
    .popup .popup-head .pop-tit.v2 {
      width: 100%; }
      .popup .popup-head .pop-tit.v2 .tit {
        font-size: 3.2rem;
        font-weight: 700;
        text-align: center;
        display: block;
        width: 100%; }
        @media (max-width: 767px) {
          .popup .popup-head .pop-tit.v2 .tit {
            font-size: 2.8rem; } }
      .popup .popup-head .pop-tit.v2 .txt {
        margin-left: auto;
        text-align: right;
        font-size: 1.6rem;
        font-weight: 500;
        display: flex;
        justify-content: flex-end; }
        @media (max-width: 767px) {
          .popup .popup-head .pop-tit.v2 .txt {
            font-size: 1.4rem; } }
    .popup .popup-head .popup-close {
      background: url("../img/common/btn_close_bk.png") no-repeat center;
      background-size: contain;
      width: 3.2rem;
      height: 3.2rem; }
      @media (max-width: 767px) {
        .popup .popup-head .popup-close {
          width: 2.6rem;
          height: 2.6rem; } }
    .popup .popup-head + .popup-body {
      margin-top: 1.6rem; }
  .popup .popup-foot {
    width: 100%;
    margin-top: 4rem; }
    .popup .popup-foot .info-wrap {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 1.2rem 0; }
      @media (max-width: 1199px) {
        .popup .popup-foot .info-wrap {
          align-items: flex-end; } }
      .popup .popup-foot .info-wrap .info-area {
        border: none;
        padding: 0;
        width: calc(100% - 11.5rem); }
        .popup .popup-foot .info-wrap .info-area ul {
          max-width: 100%;
          justify-content: flex-start; }
          @media (max-width: 1199px) {
            .popup .popup-foot .info-wrap .info-area ul {
              flex-direction: column;
              gap: 1rem 0;
              align-items: flex-start; } }
          .popup .popup-foot .info-wrap .info-area ul li {
            width: auto;
            min-width: 26rem; }
            @media (max-width: 1199px) {
              .popup .popup-foot .info-wrap .info-area ul li {
                justify-content: flex-start; } }
    .popup .popup-foot .popup-cont {
      padding: 4.8rem 0;
      border-top: 1px solid var(--border-color);
      border-bottom: 1px solid var(--border-color); }
      @media (max-width: 767px) {
        .popup .popup-foot .popup-cont {
          padding: 2.4rem 0; } }
      .popup .popup-foot .popup-cont .txt {
        font-size: 2rem;
        color: #323232; }
        @media (max-width: 767px) {
          .popup .popup-foot .popup-cont .txt {
            font-size: 1.6rem; } }

.required {
  color: var(--navy-color);
  display: flex;
  align-items: center; }
  .required .tit {
    color: #000000; }
  .required:before {
    content: "";
    width: 0.8rem;
    height: 0.8rem;
    margin-right: 0.5rem;
    display: block;
    background: url("../img/icon/required.png") no-repeat center;
    background-size: contain; }

.required-red {
  color: var(--red-color);
  font-size: 1.6rem;
  display: flex;
  align-items: flex-start; }
  .required-red:before {
    content: '';
    width: 0.8rem;
    height: 0.8rem;
    margin-right: 0.5rem;
    margin-top: 0.5rem;
    background: url("../img/icon/required_red.png") no-repeat center; }

input[type="text"],
input[type="number"],
input[type="password"],
input[type="email"],
input[type="tel"] {
  display: block;
  width: 100%;
  height: 5.4rem;
  border-radius: 8px;
  padding: 0 3.2rem;
  letter-spacing: -0.02em;
  background: #fff;
  font-size: 1.8rem;
  color: #1D1D1D; }
  @media (max-width: 767px) {
    input[type="text"],
    input[type="number"],
    input[type="password"],
    input[type="email"],
    input[type="tel"] {
      padding: 0 1.6rem;
      font-size: 1.4rem; } }
  input[type="text"]::placeholder,
  input[type="number"]::placeholder,
  input[type="password"]::placeholder,
  input[type="email"]::placeholder,
  input[type="tel"]::placeholder {
    color: rgba(142, 142, 142, 0.53); }
    @media (max-width: 767px) {
      input[type="text"]::placeholder,
      input[type="number"]::placeholder,
      input[type="password"]::placeholder,
      input[type="email"]::placeholder,
      input[type="tel"]::placeholder {
        font-size: 1.4rem; } }
  input[type="text"]:disabled,
  input[type="number"]:disabled,
  input[type="password"]:disabled,
  input[type="email"]:disabled,
  input[type="tel"]:disabled {
    background: #EBEBEB;
    color: #909090; }
    @media (max-width: 767px) {
      input[type="text"]:disabled,
      input[type="number"]:disabled,
      input[type="password"]:disabled,
      input[type="email"]:disabled,
      input[type="tel"]:disabled {
        font-size: 1.4rem; } }

input[type="text"]:focus-visible,
input[type="number"]:focus-visible,
input[type="password"]:focus-visible,
input[type="email"]:focus-visible,
input[type="tel"]:focus-visible {
  outline: 1px solid var(--navy-color); }

input[type="text"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus {
  outline: 1px solid var(--navy-color); }

input[type="text"]:focus-within,
input[type="number"]:focus-within,
input[type="password"]:focus-within,
input[type="email"]:focus-within,
input[type="tel"]:focus-within {
  outline: 1px solid var(--navy-color); }

select {
  display: block;
  width: 100%;
  height: 5.4rem;
  padding: 1.6rem 3.2rem;
  border: 1px solid #DEDEDE;
  border-radius: 8px;
  font-size: 1.6rem;
  letter-spacing: -0.03em;
  background: #ffffff url("../img/common/btn_lnb_down_arr.png") no-repeat right 2rem center;
  background-size: 1.4rem; }

textarea {
  display: block;
  padding: 1.6rem;
  width: 100%;
  resize: none;
  border-radius: 8px;
  min-height: 30rem;
  font-size: 1.6rem; }
  @media (max-width: 767px) {
    textarea {
      font-size: 1.4rem;
      min-height: 26rem; } }

/* 라디오버튼 */
input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0; }

input[type="radio"] + label {
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-size: 2rem;
  color: #000000;
  padding-left: 4rem; }
  @media (max-width: 767px) {
    input[type="radio"] + label {
      font-size: 1.6rem;
      padding-left: 3rem; } }

input[type="radio"] + label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 3rem;
  height: 3rem;
  background: url("../img/icon/ico_check.png") no-repeat center;
  background-size: contain; }
  @media (max-width: 767px) {
    input[type="radio"] + label::before {
      width: 2rem;
      height: 2rem; } }

input[type="radio"]:checked + label::before {
  background: url("../img/icon/ico_check_on.png") no-repeat center;
  background-size: contain; }

.radio-group.v1 {
  display: flex;
  gap: 0 4rem; }
  @media (max-width: 767px) {
    .radio-group.v1 {
      gap: 1.5rem 3rem;
      flex-wrap: wrap; } }

/*  체크박스 */
input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0; }

input[type="checkbox"] + label {
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-size: 2rem;
  color: #000000;
  padding-left: 4rem; }
  @media (max-width: 767px) {
    input[type="checkbox"] + label {
      font-size: 1.6rem;
      padding-left: 3rem; } }

input[type="checkbox"] + label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 3rem;
  height: 3rem;
  background: url("../img/icon/ico_check.png") no-repeat center;
  background-size: contain; }
  @media (max-width: 767px) {
    input[type="checkbox"] + label::before {
      width: 2rem;
      height: 2rem; } }

input[type="checkbox"]:checked + label::before {
  background: url("../img/icon/ico_check_on.png") no-repeat center;
  background-size: contain; }

/* input 기본 스타일 제거 */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0; }

input[type="number"] {
  -moz-appearance: textfield; }

input[type="number"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none; }

/* 비활성화 */
.disable {
  display: flex;
  position: relative;
  border-radius: 8px;
  background: #EBEBEB;
  color: #909090;
  padding: 0 3.2rem 0 0; }
  @media (max-width: 767px) {
    .disable {
      padding: 0 1.6rem 0 0; } }
  .disable input[type="text"],
  .disable input[type="password"],
  .disable input[type="number"],
  .disable input[type="email"],
  .disable input[type="tel"] {
    flex: 1 0;
    border: none; }

/* 셀렉트 */
.select {
  border-radius: 8px; }
  .select.v1 {
    width: 17rem;
    height: 100%;
    position: relative;
    z-index: 5; }
    .select.v1.active {
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0; }
      .select.v1.active .btn-active {
        border: 1px solid var(--border-color);
        border-bottom: none;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0; }
      .select.v1.active ul {
        border: 1px solid var(--border-color);
        border-top: none; }
    .select.v1 .btn-active {
      height: 6rem;
      width: 100%;
      display: block;
      border-radius: 8px;
      font-size: 1.8rem;
      color: #606060;
      text-align: left;
      padding: 0 4rem 0 1.6rem;
      background: url("../img/common/btn_search_select.png") no-repeat right 2rem center #fff;
      background-size: auto 1rem;
      cursor: pointer; }
      @media (max-width: 767px) {
        .select.v1 .btn-active {
          font-size: 1.4rem; } }
    .select.v1 ul {
      position: absolute;
      top: 6rem;
      width: 100%;
      border-bottom-left-radius: 8px;
      border-bottom-right-radius: 8px;
      overflow: hidden;
      display: none; }
      .select.v1 ul li {
        font-size: 1.8rem;
        color: #606060;
        background: #fff;
        width: 100%; }
        @media (max-width: 767px) {
          .select.v1 ul li {
            font-size: 1.4rem; } }
        .select.v1 ul li:hover {
          background: #F8F8F8;
          color: #1D1D1D; }
        .select.v1 ul li button {
          display: block;
          width: 100%;
          text-align: left;
          padding: 1.6rem 1.2rem; }
    .select.v1.active ul {
      display: block; }

.txt-normal {
  font-size: 2rem;
  color: #323232;
  line-height: 1.4;
  letter-spacing: -0.04em; }
  @media (max-width: 767px) {
    .txt-normal {
      font-size: 1.6rem; } }

.txt-list li {
  font-size: 2rem;
  color: #323232;
  line-height: 1.4;
  letter-spacing: -0.04em; }

.txt-sub {
  font-size: 1.8rem;
  color: #8E8E8E;
  line-height: 1.2;
  letter-spacing: -0.04em;
  display: block; }
  @media (max-width: 767px) {
    .txt-sub {
      font-size: 1.6rem; } }
  .txt-sub.disc-sub {
    display: list-item;
    list-style: disc;
    list-style-position: outside; }

.disc {
  display: flex; }
  .disc:before {
    content: '';
    display: block;
    flex: none;
    margin-top: 1rem;
    margin-right: 1.6rem;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background-color: #D9D9D9; }
    @media (max-width: 767px) {
      .disc:before {
        width: 0.7rem;
        height: 0.7rem;
        margin-right: 1rem; } }

/* 탭 */
.tab-wrap .tab-btn-wrap {
  width: 90%;
  margin: 0 auto; }
  @media (max-width: 767px) {
    .tab-wrap .tab-btn-wrap {
      width: 100%; } }
  .tab-wrap .tab-btn-wrap.v1 {
    display: flex;
    justify-content: center;
    gap: 1.2rem;
    flex-wrap: wrap; }
    @media (max-width: 767px) {
      .tab-wrap .tab-btn-wrap.v1 {
        flex-direction: column; } }
    .tab-wrap .tab-btn-wrap.v1 .btn-tab {
      padding: 1.6rem 4.9rem;
      font-size: 2rem;
      background-color: #F8F8F8;
      color: #C7C7C7;
      font-weight: 500;
      text-align: left;
      border-radius: 70px; }
      @media (max-width: 767px) {
        .tab-wrap .tab-btn-wrap.v1 .btn-tab {
          padding: 1rem 2.6rem;
          font-size: 1.6rem; } }
      .tab-wrap .tab-btn-wrap.v1 .btn-tab.active {
        color: #FFFFFF;
        background-color: var(--navy-color); }
  .tab-wrap .tab-btn-wrap.v2 {
    display: flex;
    justify-content: center;
    gap: 1.2rem; }
    @media (max-width: 767px) {
      .tab-wrap .tab-btn-wrap.v2 {
        flex-direction: column;
        flex-wrap: wrap; } }
    .tab-wrap .tab-btn-wrap.v2 .btn-tab {
      padding: 1.6rem 3.2rem;
      font-size: 2rem;
      background-color: #fff;
      color: #C7C7C7;
      font-weight: 500;
      text-align: left;
      border-radius: 70px; }
      @media (max-width: 767px) {
        .tab-wrap .tab-btn-wrap.v2 .btn-tab {
          font-size: 1.6rem; } }
      .tab-wrap .tab-btn-wrap.v2 .btn-tab.active {
        color: #FFFFFF;
        background-color: var(--navy-color); }

.tab-wrap .tab-content .tab-cont {
  display: none; }
  .tab-wrap .tab-content .tab-cont:first-of-type {
    display: block; }

/* 테이블 */
.tbl-wrap.v1 table {
  border: 1px solid var(--border-color);
  background-color: #fff;
  min-width: 85rem; }
  .tbl-wrap.v1 table th,
  .tbl-wrap.v1 table td {
    padding: 1rem;
    border-bottom: 1px solid var(--border-color);
    border-right: 1px solid var(--border-color);
    vertical-align: middle;
    text-align: center;
    font-size: 1.8rem;
    color: #323232; }
    @media (max-width: 767px) {
      .tbl-wrap.v1 table th,
      .tbl-wrap.v1 table td {
        font-size: 1.4rem;
        padding: 0.5rem 1rem; } }
  .tbl-wrap.v1 table thead {
    background-color: #F5F9FF; }
