.elementor-25171 .elementor-element.elementor-element-25341666 .elementor-repeater-item-7d155f5.jet-parallax-section__layout .jet-parallax-section__image{background-size:auto;}.elementor-25171 .elementor-element.elementor-element-05f6c9d > .elementor-container{max-width:1420px;}.elementor-25171 .elementor-element.elementor-element-05f6c9d .elementor-repeater-item-e00f543.jet-parallax-section__layout .jet-parallax-section__image{background-size:auto;}.elementor-25171 .elementor-element.elementor-element-0536dfb > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-bottom:10px;}.elementor-25171 .elementor-element.elementor-element-0536dfb:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap, .elementor-25171 .elementor-element.elementor-element-0536dfb > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F4FFFF;}.elementor-25171 .elementor-element.elementor-element-0536dfb > .elementor-element-populated{border-style:solid;border-color:#F2F4FF;transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:0px 12px 30px 12px;}.elementor-25171 .elementor-element.elementor-element-0536dfb > .elementor-element-populated, .elementor-25171 .elementor-element.elementor-element-0536dfb > .elementor-element-populated > .elementor-background-overlay, .elementor-25171 .elementor-element.elementor-element-0536dfb > .elementor-background-slideshow{border-radius:0px 30px 30px 30px;}.elementor-25171 .elementor-element.elementor-element-0536dfb > .elementor-element-populated > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-25171 .elementor-element.elementor-element-a8c6309{text-align:right;}.elementor-25171 .elementor-element.elementor-element-a8c6309 > .elementor-widget-container{margin:26px 0px 0px 0px;}.elementor-25171 .elementor-element.elementor-element-183c919 > .elementor-widget-container{padding:0px 0px 0px 104px;}.elementor-25171 .elementor-element.elementor-element-7f938b2{font-family:"Verdana", Sans-serif;font-weight:400;letter-spacing:-0.7px;}.elementor-25171 .elementor-element.elementor-element-7f938b2 > .elementor-widget-container{margin:30px 0px 30px 0px;}.elementor-25171 .elementor-element.elementor-element-05f6c9d{margin-top:0px;margin-bottom:70px;}@media(max-width:767px){.elementor-25171 .elementor-element.elementor-element-0536dfb > .elementor-element-populated{padding:0px 20px 0px 20px;}.elementor-25171 .elementor-element.elementor-element-7f938b2{letter-spacing:-0.2px;}}/* Start custom CSS for html, class: .elementor-element-183c919 *//* 모달 배경 */
.custom-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.5); /* 반투명 검정 배경 */
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

/* 모달 내용 박스 */
.modal-content {
  background-color: #fff;
  padding: 20px;
  border-radius: 8px;
  width: 400px; /* 너비 고정 */
  max-width: 90%; /* 작은 화면 대응 */
  height: 400px; /* 높이 고정 */
  overflow-y: auto; /* 세로 스크롤 활성화 */
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  position: relative;
}
/* 닫기 버튼 스타일 */
.close-btn {
  position: absolute;
  z-index: 999;
  top: 5px;
  right: 15px;
  font-size: 30px;
  cursor: pointer;
}

.modal-content {
  height: 400px !important;
  overflow-y: auto !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-7f938b2 */<style>
/* Basic reset 및 컨테이너 스타일 (.elementor-25171 .elementor-element.elementor-element-7f938b2를 .inner로 통일) */
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans KR", Arial, sans-serif; }

/* 1) 기본 레이아웃 */
.inner {
  display: flex;
  gap: 20px;
  align-items: stretch;
}
.inner dl {
  flex: 1;
  min-width: 180px;
  position: relative;
  margin: 0;
  padding: 0;
}
.inner dt {
  font-size: 10px !important;
}

/* 2) 각 항목의 헤더(dt) */
.inner dl dt {
  height: 120px;                 /* 높이 고정: 동일한 모서리 보장 */
  display: flex;
  align-items: center;            /* 수직 가운데 정렬 */
  justify-content: center;        /* 수평 가운데 정렬 */
  text-align: center;
  padding: 0 20px;                /* 좌우 여백 유지 */
  color: #fff;
  font-weight: 600;
  border-radius: 24px;            /* 모서리 둥글게 */
  box-sizing: border-box;
  background: #009de0;             /* 기본 배경(필요 시 각 항목에서 덮어씀) */
  position: relative;
  /* 배경 색상은 각 항목에서 nth-child 로 덮어씌움 */
  margin-bottom: 10px
}
.inner dl dt:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 0 10px 10px;
  border-color: transparent transparent transparent #888;
  position: absolute;
  right: -25px;
  top: 50%;
  transform: translateY(-50%);
  display: none;                    /* 필요 시 표시하도록 조정 가능 */
}
.inner dl:last-child dt:after { display: none; }

.inner dl dt strong {
  font-size: 1.08rem;
  color: #fff;
  width: 100%;
  font-weight: 600;
  display: inline-block;
  text-align: center;

  padding: 6px 0;
  border-bottom: 0px solid rgba(255,255,255,.25);
  background: transparent;
  border-radius: 8px;
  line-height: 1.2;
}

/* 3) 12개 색상 적용 (배경 색상으로 border-radius가 돋보이게 함) */
.inner dl:nth-child(1) dt { background: #1e3a81; }   /* Indigo */
.inner dl:nth-child(2) dt { background: #0d65ba; }   /* Blue */
.inner dl:nth-child(3) dt { background: #0f8b56; }   /* Green */
.inner dl:nth-child(4) dt { background: #d97706; }   /* Orange */
.inner dl:nth-child(5) dt { background: #991b1b; }   /* Red */
.inner dl:nth-child(6) dt { background: #6b3bd8; }   /* Purple */
.inner dl:nth-child(7) dt { background: #374151; }   /* Stone */
.inner dl:nth-child(8) dt { background: #14b8a6; }   /* Teal */
.inner dl:nth-child(9) dt { background: #16a34a; }   /* Emerald */
.inner dl:nth-child(10) dt { background: #0ea5e9; }  /* Sky */
.inner dl:nth-child(11) dt { background: #e11d48; }  /* Pink-Red */
.inner dl:nth-child(12) dt { background: #f59e0b; }  /* Amber */

/* 4) dd(목차) 스타일 */
.inner dl dd > ul {
  padding: 6px 10px;
  margin: 0 0 10px;
  font-size: 0.95rem;
  border: 1px solid #b3b3b3;
  border-radius: 6px;
  background: #fff;
}
.inner dl dd > ul > li {
  text-align: left;
  font-size: 13px;
  font-weight: 500;
  color: #000;
}
.inner dl dd > ul > li + li {
  margin-top: 12px;
  border-top: 1px solid #d9d9d9;
  padding-top: 12px;
}
.inner dl dd > ul > li strong {
  background: #888;
  color: #fff;
  padding: 6px 10px;
  display: inline-block;
  border-radius: 20px;
  margin-bottom: 6px;
  font-size: 0.8rem;
  line-height: 1;
}

/* 5) 반응형 보정 */
@media (max-width: 1024px) {
  .inner {
    flex-wrap: wrap;
    gap: 30px;
  }
  .inner dl {
    width: calc(50% - 15px);
  }
  .inner dl dt {
    padding: 12px;
  }
  .inner dl dt:after { right: -21px; }
  .inner dl:nth-child(2) dt:after { display: none; }
}
@media (max-width: 767px) {
  .inner {
    gap: 50px;
  }
  .inner dl {
    width: 100%;
  }
  .inner dl dt:after { display: none; }
  .inner dl:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 10px 0 10px;
    border-color: #999 transparent transparent transparent;
    position: absolute;
    left: 50%;
    bottom: -30px;
    transform: translateX(-50%);
  }
  .inner dl:last-child:after { display: none; }
}

/* 보조 색상 클래스(선택적) */
.yel { color: #FFF600; }
  </style>/* End custom CSS */
/* Start custom CSS for column, class: .elementor-element-0536dfb */.inner ul .modal-trigger{
    border: 0px !important;
    background-color: #fff !important;
    font-size: 0.8rem !important;
    text-align: left !important;
}

button, input, optgroup, select, textarea {
     border: 0px !important;
    background-color: #fff !important;
    font-size: 0.8rem !important;
    text-align: center !important;
    font-family: inherit;

    line-height: 1.5;
    margin: 0;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-183c919 *//* 모달 배경 */
.custom-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.5); /* 반투명 검정 배경 */
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

/* 모달 내용 박스 */
.modal-content {
  background-color: #fff;
  padding: 20px;
  border-radius: 8px;
  width: 400px; /* 너비 고정 */
  max-width: 90%; /* 작은 화면 대응 */
  height: 400px; /* 높이 고정 */
  overflow-y: auto; /* 세로 스크롤 활성화 */
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  position: relative;
}
/* 닫기 버튼 스타일 */
.close-btn {
  position: absolute;
  z-index: 999;
  top: 5px;
  right: 15px;
  font-size: 30px;
  cursor: pointer;
}

.modal-content {
  height: 400px !important;
  overflow-y: auto !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-7f938b2 */<style>
/* Basic reset 및 컨테이너 스타일 (.elementor-25171 .elementor-element.elementor-element-7f938b2를 .inner로 통일) */
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans KR", Arial, sans-serif; }

/* 1) 기본 레이아웃 */
.inner {
  display: flex;
  gap: 20px;
  align-items: stretch;
}
.inner dl {
  flex: 1;
  min-width: 180px;
  position: relative;
  margin: 0;
  padding: 0;
}
.inner dt {
  font-size: 10px !important;
}

/* 2) 각 항목의 헤더(dt) */
.inner dl dt {
  height: 120px;                 /* 높이 고정: 동일한 모서리 보장 */
  display: flex;
  align-items: center;            /* 수직 가운데 정렬 */
  justify-content: center;        /* 수평 가운데 정렬 */
  text-align: center;
  padding: 0 20px;                /* 좌우 여백 유지 */
  color: #fff;
  font-weight: 600;
  border-radius: 24px;            /* 모서리 둥글게 */
  box-sizing: border-box;
  background: #009de0;             /* 기본 배경(필요 시 각 항목에서 덮어씀) */
  position: relative;
  /* 배경 색상은 각 항목에서 nth-child 로 덮어씌움 */
  margin-bottom: 10px
}
.inner dl dt:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 0 10px 10px;
  border-color: transparent transparent transparent #888;
  position: absolute;
  right: -25px;
  top: 50%;
  transform: translateY(-50%);
  display: none;                    /* 필요 시 표시하도록 조정 가능 */
}
.inner dl:last-child dt:after { display: none; }

.inner dl dt strong {
  font-size: 1.08rem;
  color: #fff;
  width: 100%;
  font-weight: 600;
  display: inline-block;
  text-align: center;

  padding: 6px 0;
  border-bottom: 0px solid rgba(255,255,255,.25);
  background: transparent;
  border-radius: 8px;
  line-height: 1.2;
}

/* 3) 12개 색상 적용 (배경 색상으로 border-radius가 돋보이게 함) */
.inner dl:nth-child(1) dt { background: #1e3a81; }   /* Indigo */
.inner dl:nth-child(2) dt { background: #0d65ba; }   /* Blue */
.inner dl:nth-child(3) dt { background: #0f8b56; }   /* Green */
.inner dl:nth-child(4) dt { background: #d97706; }   /* Orange */
.inner dl:nth-child(5) dt { background: #991b1b; }   /* Red */
.inner dl:nth-child(6) dt { background: #6b3bd8; }   /* Purple */
.inner dl:nth-child(7) dt { background: #374151; }   /* Stone */
.inner dl:nth-child(8) dt { background: #14b8a6; }   /* Teal */
.inner dl:nth-child(9) dt { background: #16a34a; }   /* Emerald */
.inner dl:nth-child(10) dt { background: #0ea5e9; }  /* Sky */
.inner dl:nth-child(11) dt { background: #e11d48; }  /* Pink-Red */
.inner dl:nth-child(12) dt { background: #f59e0b; }  /* Amber */

/* 4) dd(목차) 스타일 */
.inner dl dd > ul {
  padding: 6px 10px;
  margin: 0 0 10px;
  font-size: 0.95rem;
  border: 1px solid #b3b3b3;
  border-radius: 6px;
  background: #fff;
}
.inner dl dd > ul > li {
  text-align: left;
  font-size: 13px;
  font-weight: 500;
  color: #000;
}
.inner dl dd > ul > li + li {
  margin-top: 12px;
  border-top: 1px solid #d9d9d9;
  padding-top: 12px;
}
.inner dl dd > ul > li strong {
  background: #888;
  color: #fff;
  padding: 6px 10px;
  display: inline-block;
  border-radius: 20px;
  margin-bottom: 6px;
  font-size: 0.8rem;
  line-height: 1;
}

/* 5) 반응형 보정 */
@media (max-width: 1024px) {
  .inner {
    flex-wrap: wrap;
    gap: 30px;
  }
  .inner dl {
    width: calc(50% - 15px);
  }
  .inner dl dt {
    padding: 12px;
  }
  .inner dl dt:after { right: -21px; }
  .inner dl:nth-child(2) dt:after { display: none; }
}
@media (max-width: 767px) {
  .inner {
    gap: 50px;
  }
  .inner dl {
    width: 100%;
  }
  .inner dl dt:after { display: none; }
  .inner dl:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 10px 0 10px;
    border-color: #999 transparent transparent transparent;
    position: absolute;
    left: 50%;
    bottom: -30px;
    transform: translateX(-50%);
  }
  .inner dl:last-child:after { display: none; }
}

/* 보조 색상 클래스(선택적) */
.yel { color: #FFF600; }
  </style>/* End custom CSS */
/* Start custom CSS for column, class: .elementor-element-0536dfb */.inner ul .modal-trigger{
    border: 0px !important;
    background-color: #fff !important;
    font-size: 0.8rem !important;
    text-align: left !important;
}

button, input, optgroup, select, textarea {
     border: 0px !important;
    background-color: #fff !important;
    font-size: 0.8rem !important;
    text-align: center !important;
    font-family: inherit;

    line-height: 1.5;
    margin: 0;
}/* End custom CSS */