#section_wrap {
  width: 100%;

  color: #141414;

  font-family: 'Pretendard Variable';
  font-weight: 400;
  font-size: 0.9vw;
  letter-spacing: -1px;
  line-height: 1.3;
}

#section_wrap>section {
  position: relative;
  overflow: hidden;
  width: 100%;
}

.container #ctt {
  display: none !important;
}



/* -------------------------------------------------- 스와이퍼 -------------------------------------------------- */

.swiper {
  width: 100%;
  z-index: 0;
  margin: 0;
}

div.swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.swiper-wrapper.flow {
  pointer-events: none;
  transition-timing-function: linear;
}

/* ===== 공통 네비 + 페이지네이션 (.swiper_btn_wrap) — swiper-slide 스킬 §7 ===== */
.swiper_btn_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
  user-select: none;
}

.swiper_btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  pointer-events: all;
}

/* 호버 = 원형 선이 퍼져나가는 링 (컬러는 --sbtn-ring 로 섹션별 지정) */
.swiper_btn::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid var(--sbtn-ring, #141414);
  border-radius: 50%;
  opacity: 0;
  transition: inset 0.4s ease, opacity 0.4s ease;
  pointer-events: none;
}

.swiper_btn:hover::after {
  inset: -0.5vw;
  opacity: 0.5;
}

.pgnt_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
}

.pgnt {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.4vw;
  opacity: 0.8;
}

.pgnt .swiper-pagination-total {
  opacity: 0.4;
}

.pgnt>span {
  min-width: calc(var(--px) * 11);
  text-align: center;
}

/* -------------------------------------------------- 레이아웃 ----------------------------------------------------- */

.z01 {
  z-index: 1;
}

.z02 {
  z-index: 2;
}

.z03 {
  z-index: 3;
}

.z04 {
  z-index: 4;
}

.z05 {
  z-index: 5;
}

.z06 {
  z-index: 6;
}

.z07 {
  z-index: 7;
}

.z08 {
  z-index: 8;
}

.z09 {
  z-index: 9;
}

.z10 {
  z-index: 10;
}

.position_reset {
  left: unset;
  top: unset;
  right: unset;
  bottom: unset;
}

.ovhd {
  overflow: hidden;
}

.show {
  display: flex !important;
}

.absol {
  position: absolute;
}

.rltv {
  position: relative;
}

.w100 {
  width: 100%;
}

.h100 {
  height: 100%;
}

.wh100 {
  width: 100%;
  height: 100%;
}

.wd_unset {
  width: unset;
}

.wd_unset>img {
  width: unset;
  height: 100%;
}

.h100_obc {
  height: 100%;
  object-fit: cover;
}

.bd50 {
  border-radius: 50%;
}

.fcc {
  display: flex;
  justify-content: center;
  align-items: center;
}

.fdc {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}

.fdcc {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}

.fdccc {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

*::selection {
  background: #3235cd;
  color: #fff;
}


/* --------------------------------------------------------------------------------------- */

.cusor_p {
  cursor: pointer;
}

.rot180 {
  transform: rotate(180deg);
}

.rvs_x {
  transform: scaleX(-1);
}



/* --------------------------------------------------------------------------------------- */

.c_fff {
  color: #fff;
}

.bg_fff {
  background: #fff;
}

.c_000 {
  color: #000;
}

.bg_000 {
  background: #000;
}

.c_111 {
  color: #111;
}

.bg_111 {
  background: #111;
}

.c_777 {
  color: #777;
}

.c_ddd {
  color: #ddd;
}

.c_blue {
  color: #3235cd;
}

.bg_blue {
  background: #3235cd;
}

.opa04 {
  opacity: 0.4;
}

.opa05 {
  opacity: 0.5;
}

.opa06 {
  opacity: 0.6;
}

/* 공통 그림자 */
.box_sdw {
  box-shadow: 0.388vw 0.555vw 0.469vw rgba(23, 24, 59, 0.09);
}

.box_sdw2 {
  box-shadow: 0 0 1.6vw 0.2vw rgba(50, 53, 205, 0.4);
}

/* PC */
@media screen and (min-width:600px) {

  /* 재사용 가능한 버튼 호버 효과 (좌→우 배경 슬라이드) */
  .btn_hover {
    position: relative;
    overflow: hidden;
  }

  .btn_hover::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 120%;
    height: 120%;
    background-color: #3235cd;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s ease;
    z-index: 0;
    pointer-events: none;
  }

  .btn_hover>* {
    position: relative;
    z-index: 1;
    transition: color 0.3s ease;
  }

  .btn_hover:hover::before {
    transform: scaleX(1);
  }

  .btn_hover:hover>* {
    color: #ffffff;
  }

  .quick_submit_div.btn_hover:hover>* {
    color: #3235cd;
  }

  .quick_submit_div.btn_hover::before {
    background: #fff;
  }



}

/* 모바일 */
@media screen and (max-width:599px) {
  .box_sdw {
    box-shadow: 2vw 2vw 2vw rgba(23, 24, 59, 0.04);
  }

  .box_sdw2 {
    box-shadow: 0 0 4vw 4vw rgba(50, 53, 205, 0.4);
  }

  .swiper_btn:hover::after {
    inset: -2.5vw;
    opacity: 0.5;
  }
}

/* 게시판 본문 첨부 이미지 - 원본 크기 유지 (확대 금지) */
#bo_v_img {
  text-align: center;
}

#bo_v_img a.view_image {
  display: inline-block;
}

#bo_v_img img {
  width: auto !important;
  height: auto !important;
  max-width: 100%;
}