/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Jun 22 2026 | 02:45:04 */
/* =========== 
  기본 세팅 === START
 =========== */
* {
  box-sizing: border-box;
  font-family: 'Noto Sans KR';
}

ol,
ul,
dl,
dd,
dt {
  list-style: none;
  padding: 0;
  margin: 0;
}

a {
  display: inline-block;
  color: inherit;
  text-decoration: none;
}

/* 공통 ==== */

:root {
  --main-color: #003876;
  --main-bg-color: #174c9f14;
  --sub-color01: #90B5EB;
  --sub-color02: #f4f1e94a;
  --gray-color01: #f3f3f3;
  --one-layout: 1200px;
  --one-layout-lg: 1680px;
  --white-color: #f2f2f2;
  --one-txt-color: #232323;
  --one-txt-gray: #555;
  --one-hd1: 48px;
  --one-hd2: 40px;
  --one-hd3: 32px;
  --one-p-tit: 24px;
  --one-body: 18px;
  --one-caption: 15px;
  --one-lh-lg: 1.3;
  --one-lh-r: 1.6;
  --one-space-xl: 120px;
  --one-space-lg: 100px;
  --one-space-r: 80px;
  --one-space-s: 48px;
  --one-space-safe: 16px;
  --one-gap-xl: 32px;
  --one-gap-lg: 24px;
  --one-gap-r: 16px;
  --one-gap-sm: 8px;
}

.mo_v {
  display: none;
}

.mo_v_i {
  display: none;
}

.flx-row {
  display: flex;
  flex-direction: row;
}

.flx-col {
  display: flex;
  flex-direction: column;
}

.txt-wrap {
  color: var(--one-txt-color);
  font-size: var(--one-body);
  line-height: var(--one-lh-r);
  font-weight: 400;
  word-break: keep-all;
  letter-spacing: -0.02em;
}

.txt-lf {
  text-align: left;
}

.txt-rg {
  text-align: right;
}

.txt-ct {
  text-align: center;
}

.txt-wrap a {
  color: inherit;
}

.m-color {
  color: var(--main-color);
}

.sb-color {
  color: var(--sub-color01);
}

.sb02-color {
  color: var(--sub-color02);
}

.w-color {
  color: var(--white-color);
}

.txt-gray {
  color: var(--one-txt-gray);
}

.txt-wrap .hd1 {
  font-size: var(--one-hd1);
  line-height: var(--one-lh-lg);
  font-weight: 700;
}

.txt-wrap .hd2 {
  font-size: var(--one-hd2);
  line-height: var(--one-lh-lg);
  font-weight: 600;
}

.txt-wrap .hd3 {
  font-size: var(--one-hd3);
  line-height: var(--one-lh-r);
  font-weight: 500;
}

.txt-wrap .p-tit {
  font-size: var(--one-p-tit);
  line-height: var(--one-lh-r);
  font-weight: 500;
}

.txt-wrap .body-txt {
  font-size: var(--one-body);
  line-height: var(--one-lh-r);
  font-weight: 500;
}

.txt-wrap .cp-txt {
  font-size: var(--one-caption);
  line-height: var(--one-lh-r);
  font-weight: 400;
}

.txt-underline {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.bg-cover {
  background: no-repeat center / cover;
}

.bg-contain {
  background: no-repeat center / 100% auto;
}

.pdt-0 {
  padding-top: 0 !important;
}

.pdb-0 {
  padding-bottom: 0 !important;
}

.mgt-0 {
  margin-top: 0 !important;
}

.mgb-0 {
  margin-bottom: 0 !important;
}

.idx-lb {
  display: inline-flex;
  width: 2em;
  height: 2em;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background: var(--main-color);
  font-weight: bold;
  text-align: center;
  text-indent: 0.04em;
  font-size: 1.5em;
  line-height: 1;
  padding-bottom: 0.1em;
}

section {
  position: relative;
  padding-left: var(--one-space-safe);
  padding-right: var(--one-space-safe);
  overflow: hidden;
}

p,
h2,
h3 {
  padding: 0;
  margin: 0;
}

.con-inner {
  position: relative;
  margin: 0 auto;
  max-width: var(--one-layout);
  padding: var(--one-space-xl) 0;
}

.ft-b {
  font-weight: 700 !important;
}

.ft-sb {
  font-weight: 600 !important;
}

.ft-md {
  font-weight: 500 !important;
}

.ft-r {
  font-weight: 400 !important;
}

.con-hd-wrap {
  padding-bottom: var(--one-space-s);
}

/* =========== 
  FAQ 섹션
 =========== */
.con-faq .con-hd-wrap .desc {
  padding-top: var(--one-gap-r);
}

/* faq */
/* 탭 버튼 컨테이너 (공통 레이아웃 구조 활용) */
.faq-tab-group {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--one-gap-r);
  margin-bottom: var(--one-space-s);
}

/* 탭 버튼 스타일 */
.faq-tab-btn {
  padding: 14px 36px;
  border: 1px solid var(--one-txt-color);
  border-radius: 50px;
  background-color: var(--gray-color01);
  color: var(--one-txt-color);
  font-size: var(--one-body);
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: none !important;
}

/* 활성화 상태 (메인 컬러 매핑) */
.faq-tab-btn.is-active {
  background-color: var(--sub-color01);
  color: var(--white-color);
  font-weight: 700;
  box-shadow: none !important;
}

.faq-tab-btn:hover {
  box-shadow: none !important;
}

/* 호버 상태 (서브 컬러 매핑) */
.faq-tab-btn:hover:not(.is-active) {
  background-color: var(--main-color);
  color: var(--white-color);
}

/* 패널 제어 및 페이드인 */
.faq-panel {
  display: none;
  word-wrap: break-word;
}

.faq-panel.is-active {
  display: block;
  animation: faqFadeIn 0.4s ease;
}

/* 아코디언 아이템 세팅 */
.faq-accordion-item {
  border: 1px solid var(--gray-color01);
  margin-bottom: var(--one-gap-sm);
  border-radius: 1rem;
}

.faq-accordion-item.is-open {
}

/* 질문 트리거 버튼 */
.faq-trigger-btn {
  width: 100%;
  padding: var(--one-gap-lg) var(--one-space-s);
  display: flex;
  justify-content: space-between;
  align-items: start;
  background: none;
  border: none;
  cursor: pointer;
  word-break: break-all;
}

.faq-trigger-btn .q-txt {
  flex: auto;
  align-self: center;
  padding-top: 0.3%;
}
/* Q 아이콘 (공통 메인 컬러 적용) */
.faq-trigger-btn::before {
  content: 'Q.';
  color: var(--sub-color01);
  font-size: var(--one-p-tit);
  margin-right: var(--one-gap-r);
  font-weight: 700;
}

.faq-icon-caret {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  position: relative;
  transition: transform 0.3s ease;
  margin-left: var(--one-gap-r);
  align-self: center;
}
.faq-icon-caret::before {
  content: '';
  display: block;
  width: 8px;
  height: 8px;
  border-right: 2px solid var(--sub-color01);
  border-bottom: 2px solid var(--sub-color01);
  transform: rotate(45deg);
  transition: transform 0.3s ease;
}

/* 활성화(열림) 상태 시 회전 제어 */
.faq-accordion-item.is-open .faq-icon-caret {
  transform: rotate(180deg);
}

/* 답변 패널 슬라이딩 구조 */
.faq-body-panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out;
  background-color: #fafafa;
  border-radius: 0 0 6px 6px;
}

.faq-body-content {
  padding: var(--one-gap-lg) var(--one-space-s);
  background: #f9f9f9;
}

/* A 아이콘 (공통 메인 핑크 컬러 적용) */
.faq-body-content::before {
  content: 'A.';
  color: var(--main-color);
  font-size: var(--one-p-tit);
  margin-right: var(--one-gap-r);
  font-weight: 700;
}

.faq-tab-btn {
  background-color: #fff;
  -webkit-box-shadow: none;
  box-shadow: none;
}

/* =========== 
  애니메이션
 =========== */

@keyframes faqFadeIn {
  from {
    opacity: 0;
    transform: translateY(5px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* =========== 
  반응형: 태블릿
 =========== */

/* 워드프레스 기존 테마 max-width 따라감 */
@media all and (max-width: 1024px) {
  /* 기본 */

  :root {
    --one-hd1: 46px;
    --one-hd2: 38px;
    --one-hd3: 30px;
    --one-p-tit: 20px;
    --one-body: 16px;
    --one-caption: 13px;
    --one-space-xl: 100px;
    --one-space-lg: 80px;
    --one-space-r: 54px;
    --one-gap-xl: 24px;
    --one-gap-lg: 16px;
  }

  .mo_v,
  .mo-v {
    display: block !important;
  }

  .pc-v {
    display: none !important;
  }

  .mo_v_i {
    display: inline-block !important;
  }

  .one-container {
    padding-top: 70px;
  }

  .help-txt {
    font-size: 13px;
    color: var(--gray-color01);
    padding-top: var(--one-gap-sm);
  }

  .con-hd-wrap {
    padding-bottom: var(--one-space-s);
  }

  /* faq */
  .faq-tab-btn {
    padding: 12px 28px;
  }
}

/* =========== 
  반응형: 모바일
 =========== */

/* 워드프레스 기존 테마 max-width 따라감 */
@media all and (max-width: 767px) {
  /* 기본 */

  .mo_v {
    display: block;
  }

  .pc_v {
    display: none;
  }

  .mo_v_i {
    display: inline-block;
  }

  :root {
    --one-hd1: 8.2vw;
    --one-hd2: 7vw;
    --one-layout: 100%;
    --one-layout-lg: 100%;
    --one-hd3: 6vw;
    --one-p-tit: 5vw;
    --one-body: 3.7vw;
    --one-caption: 2.7vw;
    --one-lh-lg: 1.3;
    --one-lh-r: 1.6;
    --one-space-xl: 15vw;
    --one-space-lg: 12.5vw;
    --one-space-r: 11vw;
    --one-space-s: 9.3vw;
    --one-gap-xl: 4.7vw;
    --one-gap-lg: 3.7vw;
    --one-gap-r: 3.2vw;
    --one-gap-sm: 2.5vw;
  }

  .con-inner {
    padding: var(--one-space-r) 0;
  }

  .flx-row {
    flex-direction: column;
  }

  /* faq */
  /* 모바일 가로 스크롤 레이아웃 핏 보정 */
  .faq-tab-group {
    justify-content: center;
    padding-bottom: 8px;
    margin-bottom: var(--one-gap-xl);
    gap: 0 var(--one-gap-sm);
  }

  .faq-tab-group::-webkit-scrollbar {
    display: none;
  }

  .faq-tab-btn {
    width: 45%;
    padding: var(--one-gap-r);
  }

  /* 모바일 가독성을 고려한 본문 여백 제어 */

  .faq-trigger-btn::before,
  .faq-body-content::before {
    font-size: var(--one-body);
    margin-right: var(--one-gap-sm);
  }
}
