/* *********** */
/* o_style CSS */
/* *********** */

/* wecaLogo */
#wecaLogo {
  position: absolute;
  top: 3.2rem;
  right: 5%;
  width: 8.5rem;
  z-index:10
}
@media all and (max-width: 767px) {
  #wecaLogo {
    top: 7vmin;
    width: 15vmin;
  }
}

/* 빛가루/보케 컨테이너 */
.petal-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 2;
  pointer-events: none;
}
/* 빛방울 입자 공통 스타일  */
.petal-container .petal {
  position: absolute;
  bottom: 0%; 
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,0.8) 0%, rgba(255,235,200,0.2) 60%, rgba(255,235,200,0) 100%);
  filter: blur(4px);
  animation: twinkleUp 12s linear infinite;
}
/* 입자별 크기, 위치, 속도 다양화 */
.petal-container .petal.bokeh1 {
  width: 40px;
  height: 40px;
  left: 15%;
  animation-duration: 10s;
  animation-delay: 0s;
}
.petal-container .petal.bokeh2 {
  width: 25px;
  height: 25px;
  left: 45%;
  animation-duration: 14s;
  animation-delay: 2s;
  filter: blur(2px);
}
.petal-container .petal.bokeh3 {
  width: 60px;
  height: 60px;
  left: 75%;
  animation-duration: 18s;
  animation-delay: 4s;
  filter: blur(6px); 
}
/* 뒤쪽 추가 입자들 레이아웃 분산 */
.petal-container .petal:nth-child(4) { left: 30%; width: 30px; height: 30px; animation-duration: 6s; animation-delay: 1s; }
.petal-container .petal:nth-child(5) { left: 60%; width: 50px; height: 50px; animation-duration: 10s; animation-delay: 0.2s; }
.petal-container .petal:nth-child(6) { left: 85%; width: 20px; height: 20px; animation-duration: 9s; animation-delay: 3s; }
.petal-container .petal:nth-child(7) { left: 10%; width: 45px; height: 45px; animation-duration: 12s; animation-delay: 2s; }

/* ✨ 키프레임 애니메이션: 은은하게 반짝이며 위로 둥둥 떠오름 */
@keyframes twinkleUp {
  0% {bottom: 20%;transform: translateX(0) scale(0.8);opacity: 0;}
  20% {opacity: 0.6; }
  50% {transform: translateX(30px) scale(1.1); opacity: 0.4;}
  80% {opacity: 0.6;}
  100% { bottom: 110%;transform: translateX(-20px) scale(0.8);opacity: 0;}
}
/* 모바일 반응형 (max-width: 767px) */
@media all and (max-width: 767px) {
  .petal-container .petal.bokeh1 { width: 25px; height: 25px; }
  .petal-container .petal.bokeh2 { width: 15px; height: 15px; }
  .petal-container .petal.bokeh3 { width: 40px; height: 40px; }
}

/* o_section_1 */
.o_section_1 .o_container { 
  display: flex;  
  align-items: stretch;  
  justify-content: center;  
  min-height: 66em; 
  height: auto;
}
.o_section_1 .o_container .contentBox {
  position: relative;
  width: 100%;
  height: auto;
  background-image: url("../image/01/pc/img_1.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.o_section_1 .o_container .contentBox .textBox { 
  padding: 10% 0 0 10%; 
}
.o_section_1 .o_container .contentBox .textBox .o_title { 
  font-family: yisunshin_dotum, sans-serif !important; 
  color: var(--t-color);
}
.o_section_1 .o_container .contentBox .textBox .o_title span {
  font-family: inherit;
  display: block;
  font-weight: 400;
  position: relative;
}
.o_section_1 .o_container .contentBox .textBox .o_title span strong {
  font-family: inherit;
  color: var(--m1-color);
  font-weight: 700;
}
.o_section_1 .o_container .contentBox .textBox .o_title span em {
  font-family: inherit;
  color: var(--m1-color);
  font-size: 3.2rem;
  font-weight: 400;
}
.o_section_1 .o_container .contentBox .textBox .o_title span b {
  font-family: Pretendard, sans-serif;
  font-size: 2.8rem;
  font-weight: 500;
}
.o_section_1 .o_container .contentBox .textBox .o_title._2 { 
  font-weight: 400;
}
.o_section_1 .o_container .contentBox .textBox h4 {  
  color: var(--t-color);  
  font-weight: 500;
}
.o_section_1 .o_container .contentBox .textBox .o_title span._1 {  
  padding-bottom: 10%;
}
.o_section_1 .o_container .contentBox .textBox .o_title span._2 {  
  padding-top: 2.5%;
}
.o_section_1 .o_container .contentBox .textBox .o_title span._1::before {
  content: "";
  height: 50%;
  width: 0.2rem;
  background-color: var(--m1-color);
  position: absolute;
  bottom: 0;
  left: 5%;
}
.o_section_1 .o_container .contentBox .imgBox {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1; 
  pointer-events: none; 
}
.o_section_1 .o_container .contentBox .imgBox .o_btnBox_on_img {
  position: absolute;
  bottom: 10%;
  right: 10%; 
  width: auto;
  min-width: 35rem; 
  z-index: 10;
  pointer-events: auto; 
}
.o_section_1 .o_container .contentBox .imgBox .o_btnBox_on_img a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 8.33rem;
  background-color: var(--m1-color);
  border-radius: 5rem; 
  text-decoration: none;
  box-shadow: 0 1rem 3rem rgba(0,0,0,0.15); 
  transition: all 0.3s ease;
}
.o_section_1 .o_container .contentBox .imgBox .o_btnBox_on_img a:hover {
  transform: translateY(-0.3rem); 
  box-shadow: 0 1.5rem 3.5rem rgba(0,0,0,0.2);
}
.o_section_1 .o_container .contentBox .imgBox .o_btnBox_on_img a span {
  color: var(--w-color);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  padding: 0 3rem;
}
/* 태블릿 반응형 (max-width: 991px) */
@media all and (max-width: 991px) {
  .o_section_1 .o_container {
    height: 50rem;
  }
  .o_section_1 .o_container .contentBox {
    width: 100%; /* 너비가 쪼개지던 걸 전체로 확장 */
  }
  .o_section_1 .o_container .contentBox .textBox {
    padding: 10% 0 0 10%;
  }
  .o_section_1 .o_container .contentBox .imgBox .o_btnBox_on_img {
    right: 5%;
    bottom: 5%;
    min-width: 30rem;
  }
}

/* 모바일 반응형 (max-width: 767px) */
@media all and (max-width: 767px) {
  .o_section_1 .o_container {
    display: block;
    height: 100vmin;
    background-image: url("../image/01/mo/img_bg.png");
    background-repeat: no-repeat;
    background-position: bottom center;
    background-size: cover;
  }  
  .o_section_1 .o_container .contentBox {
    width: 100%;
    height: 100%;
    background-image: none;
  }  
  .o_section_1 .o_container .contentBox .textBox {
    padding: 15vmin 5vmin 0 10vmin;
    position: relative;
    z-index: 5;
  }
  .o_section_1 .o_container .contentBox .textBox .o_title span em {
    font-size: 6.2vmin;
  }  
  .o_section_1 .o_container .contentBox .textBox .o_title span b {
    font-size: 6.2vmin;
  }
  .o_section_1 .o_container .contentBox .textBox h4 {
    font-size: 3.8vmin;
  }  
  .o_section_1 .o_container .contentBox .textBox .o_title span._1 {
    padding-bottom: 9vmin;
  }  
  .o_section_1 .o_container .contentBox .textBox .o_title span._2 {
    padding-top: 2vmin;
  }
  .o_section_1 .o_container .contentBox .textBox .o_title span._1::before {
    height: 7.5vmin;
    width: 0.5vmin;
    left: 3.5vmin;
  }
  /* 모바일 환경에서의 이미지박스 및 버튼 리정렬 */
  .o_section_1 .o_container .contentBox .imgBox {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .o_section_1 .o_container .contentBox .imgBox .o_btnBox_on_img {
    display: none; /* 기본 구조 유지 */
    position: absolute;
    bottom: 0;
    left: 0;
    right: auto;
    width: 100%;
    min-width: auto;
    transform: translate(0, 100%);
  }  
  .o_section_1 .o_container .contentBox .imgBox .o_btnBox_on_img a {
    height: 18vmin;
    border-radius: 0; /* 모바일 전면 하단일 때는 꽉 차게 */
    box-shadow: none;
  }  
  .o_section_1 .o_container .contentBox .imgBox .o_btnBox_on_img a span {
    font-size: 4.8vmin;
    padding: 0;
  }
}

/* o_section_2 */
.o_section_2 { background-color: #fafafa; }
.o_section_2 .identity_content {display: flex; align-items: center; justify-content: space-between; gap: 6rem; }  
.o_section_2 .identity_content .textBox { flex: 1;  width: 50%;  padding: 10px 0 10px 0;}
.o_section_2 .identity_content .textBox .o_h3 { font-family: yisunshin_dotum, sans-serif !important;  font-size: 3rem;  color: var(--t-color);}
.o_section_2 .identity_content .textBox .o_h3 strong {  color: var(--m1-color); }
.o_section_2 .identity_content .textBox .o_h4 {  line-height: 1.7;  margin-top:10px; color: #424242; font-weight:500; }
.o_section_2 .identity_content .textBox .o_h4 span {  display: inline-block;  margin-top: 1rem;}
.o_section_2 .identity_content .identity_imgBox {
  flex: 1;
  width: 50%;
  height: 32rem; 
  border-radius: 2rem; 
  overflow: hidden;
  box-shadow: 0 2rem 4rem rgba(0, 0, 0, 0.08); 
}
.o_section_2 .identity_content .identity_imgBox img {  width: 100%;  height: 100%;  object-fit: cover;   transition: transform 0.5s ease;}
.o_section_2 .identity_content .identity_imgBox:hover img {  transform: scale(1.04);}

@media all and (max-width: 991px) {
  .o_section_2 .identity_content { gap: 4rem; }
  .o_section_2 .identity_content .identity_imgBox { height: 35rem;}
}
@media all and (max-width: 767px) {
  .o_section_2 {padding-top: 15vmin; padding-bottom: 15vmin;}
  .o_section_2 .identity_content {display: block;}
  .o_section_2 .identity_content .textBox { width: 90%; text-align: center;   }
  .o_section_2 .identity_content .textBox .o_h4 {    font-size: 3.8vmin;  }  
  .o_section_2 .identity_content .identity_imgBox {    width: 100%;    height: 60vmin;     margin-top: 8vmin;     border-radius: 3vmin;  }
}

/* o_section_3 */
.o_section_3 .o_container {display: flex; align-items: center; justify-content: space-between; padding-top: 8rem; padding-bottom: 8rem; position: relative;}
.o_section_3 .o_container .contentBox { width: 50%; padding: 0 8% ;}
.o_section_3 .o_container .contentBox .titleItem { position: relative;}
.o_section_3 .o_container .contentBox .titleItem h3 { color: var(--t-color); font-size: 1.87rem; font-weight: 400;}
.o_section_3 .o_container .contentBox .titleItem h2 { color: var(--m1-color); font-size: 3.07rem; font-weight: 400;}
.o_section_3 .o_container .contentBox .tagItem { display: flex; margin-top: 1.2rem;}
.o_section_3 .o_container .contentBox .tagItem p { margin-right: 0.6rem;}
.o_section_3 .o_container .contentBox .tagItem p span {  
  display: block;  
  color: var(--w-color);  
  background-color: var(--m1-color);  
  padding: 0.2em 0.6em;
  font-size: 1.4rem;
  font-weight: 500;
}
.o_section_3 .o_container .contentBox .textItem {margin-top: 1.6rem;}
.o_section_3 .o_container .contentBox .textItem p {color: var(--t-color); font-weight: 400; line-height: 1.7;}
.o_section_3 .o_container .contentBox .step-process {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #fcfbf9; 
  padding: 2.5rem 2rem;
  border-radius: 1.5rem;
  border: 1px solid #f2ede7;
}
.o_section_3 .o_container .contentBox .step-process .step-item {  text-align: center;  flex: 1;}
.o_section_3 .o_container .contentBox .step-process .step-item .step-icon {
  width: 5.5rem;
  height: 5.5rem;
  margin: 0 auto 1rem;
  background-color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0.4rem 1rem rgba(0,0,0,0.04);
}
.o_section_3 .o_container .contentBox .step-process .step-item .step-icon img {  width: 55%;  height: auto;}
.o_section_3 .o_container .contentBox .step-process .step-item p {  font-size: 1.3rem;  line-height: 1.4;  color: #666;}
.o_section_3 .o_container .contentBox .step-process .step-item p strong {  color: var(--t-color);  font-weight: 700;}
.o_section_3 .o_container .contentBox .step-process .step-arrow {
  width: 1.5rem;
  height: 1.5rem;
  background-image: url("../image/icon/arrow_right.png"); 
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.4;
}
/* 오른쪽: 이미지 박스 */
.o_section_3 .o_container figure { width: 50%; z-index: 1;border-radius: 2rem; overflow: hidden;  box-shadow: 0 1.5rem 3.5rem rgba(0,0,0,0.06);}
.o_section_3 .o_container figure img {  width: 100%;  height: auto;  display: block;}
.o_section_3 .o_container .flower-shape-wrap {  
  width: 50%;  z-index: 1;  position: relative;  display: flex;  align-items: center;  justify-content: center;  padding: 2rem;   box-shadow: none;   overflow: visible; }
.o_section_3 .o_container .flower-shape-wrap::before {
  content: "";  position: absolute;  top: 5%;  left: 5%;
  width: 90%;  height: 90%;
  background-color: #f7ede2; 
  clip-path: url(#flower-clip);
  z-index: -1;
  transform: rotate(-15deg); 
  opacity: 0.7;
}
.o_section_3 .o_container .flower-shape-wrap .flower-masked-img {  
  width: 90%;  
  height: auto;  
  display: block;
  aspect-ratio: 1 / 1; 
  object-fit: cover;
  clip-path: url(#flower-clip); 
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}
/* 호버 시 꽃 이미지가 안에서 살짝 회전 */
.o_section_3 .o_container .flower-shape-wrap:hover .flower-masked-img {
  transform: scale(1.05) rotate(5deg);
}

/*  모바일 반응형 (max-width: 767px) 수정 */
@media all and (max-width: 767px) {
  .o_section_3 .o_container {display: flex;flex-direction: column-reverse; padding-bottom: 15vmin; padding-top: 15vmin;}  
  .o_section_3 .o_container .flower-shape-wrap {width: 80vmin; margin: 0 auto 8vmin; border-radius: 0; padding: 3vmin;}  
  .o_section_3 .o_container .flower-shape-wrap .flower-masked-img {width: 100%;}
}
/* 모바일 반응형 (max-width: 767px) */
@media all and (max-width: 767px) {
  .o_section_3 .o_container {    
    display: flex;
    flex-direction: column-reverse;
    padding-bottom: 15vmin;    
    padding-top: 15vmin;  
  }  
  /* 모바일 이미지 배치 */
  .o_section_3 .o_container figure {    
    width: 100%;    
    margin: 0 auto 8vmin;  
    border-radius: 3vmin;
  }  
  /* 모바일 텍스트 박스 */
  .o_section_3 .o_container .contentBox {    
    width: 100%;    
    margin: 0 auto;    
    padding-right: 0;  
  }  
  .o_section_3 .o_container .contentBox .titleItem {    
    position: static;    
    transform: none;    
    text-align: left;  
  }
  .o_section_3 .o_container .contentBox .titleItem h3 {    
    font-size: 4.5vmin;  
  }
  .o_section_3 .o_container .contentBox .titleItem h2 {    
    font-size: 7.5vmin;  
    margin-top: 1vmin;
  }
  .o_section_3 .o_container .contentBox .tagItem {    
    width: 100%;    
    margin-top: 3vmin;    
    justify-content: flex-start;  
  }
  .o_section_3 .o_container .contentBox .tagItem p {    
    margin-right: 2vmin;    
    font-size: 3.5vmin;    
    text-align: left;  
  }
  .o_section_3 .o_container .contentBox .textItem {    
    margin-top: 4vmin;    
    text-align: left;  
  }
  .o_section_3 .o_container .contentBox .textItem p {    
    font-size: 3.8vmin;  
  }
  /* 모바일 프로세스 가로 배열 최적화 */
  .o_section_3 .o_container .contentBox .step-process {
    margin-top: 6vmin; margin-right:5vmin;
    padding: 3vmin 3vmin;
  }
  .o_section_3 .o_container .contentBox .step-process .step-item .step-icon {
    width: 11vmin;
    height: 11vmin;
    margin-bottom: 1.5vmin;
  }
  .o_section_3 .o_container .contentBox .step-process .step-item p {
    font-size: 3vmin;
  }
  .o_section_3 .o_container .contentBox .step-process .step-arrow {
    width: 3vmin;
    height: 3vmin;
  }
}

/* ==========================================================================
   4번 섹션 
   ========================================================================== */
.o_section_4 {  background-color: #fffaf6;   border-top: 1px solid #fcf2e8;  border-bottom: 1px solid #fcf2e8;}
.o_section_4 .o_container {  display: block;  padding: 10rem 4rem;  max-width: 1152px;  margin: 0 auto;}
.o_section_4 .o_container .textItem {  text-align: center;  margin-bottom: 6rem;}
.o_section_4 .o_container .textItem h2 {  font-size: 3.2rem;  color: var(--t-color);  font-weight: 400;  line-height: 1.4;}
.o_section_4 .o_container .textItem h2 strong {  color: var(--m1-color);  font-weight: 700;}
.o_section_4 .o_container .gridContainer {  display: flex;  justify-content: space-between;  gap: 3rem;}
.o_section_4 .o_container .gridContainer .contentBox {
  width: 31%;
  background-color: var(--w-color); 
  border-radius: 2rem;
  overflow: hidden;
  box-shadow: 0 1.5rem 3.5rem rgba(217, 192, 173, 0.15);
  display: flex;
  flex-direction: column;
}
.o_section_4 .o_container .gridContainer .contentBox figure {  width: 100%;  aspect-ratio: 1 / 1;  overflow: hidden;}
.o_section_4 .o_container .gridContainer .contentBox figure img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease;}
.o_section_4 .o_container .gridContainer .contentBox:hover figure img {  transform: scale(1.06); }

.o_section_4 .o_container .gridContainer .contentBox .cardText {
  padding: 3rem 2rem;
  text-align: center;
}
.o_section_4 .o_container .gridContainer .contentBox .cardText h5 {
  font-size: 1.6rem;
  color: var(--t-color);
  font-weight: 400;
  line-height: 1.5;
}
.o_section_4 .o_container .gridContainer .contentBox .cardText h5 strong {
  color: var(--m1-color);
  font-weight: 700;
}
.o_section_4 .o_container .renew_btnBox {
  margin-top: 6rem;
  display: flex;
  justify-content: center;
}
.o_section_4 .o_container .renew_btnBox a {
  position: relative;
  background-color: var(--m1-color);
  color: var(--w-color);
  font-size: 1.8rem;
  font-weight: 700;
  padding: 1.8rem 4rem;
  border-radius: 5rem;
  display: inline-block;
  line-height: 1;
  text-align: center; 
  transition: background-color 0.3s ease, box-shadow 0.3s ease; 
  box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.05);
}
.o_section_4 .o_container .renew_btnBox a:hover {
  background-color: var(--m1-color); 
  box-shadow: 0 1.2rem 3rem rgba(0, 0, 0, 0.12); 
  filter: brightness(1.03); 
}

@media all and (max-width: 767px) {
  .o_section_4 .o_container {
    padding: 12vmin 5vmin;
  }  
  .o_section_4 .o_container .textItem {
    margin-bottom: 8vmin;
  }
  .o_section_4 .o_container .textItem h2 {
    font-size: 6vmin;
  }  
  .o_section_4 .o_container .gridContainer {
    flex-direction: column;
    gap: 5vmin;
  }  
  .o_section_4 .o_container .gridContainer .contentBox {
    width: 100%;
    flex-direction: row; 
    align-items: center;
    border-radius: 3vmin;
  }
  .o_section_4 .o_container .gridContainer .contentBox._2 { flex-direction: row-reverse;}
  .o_section_4 .o_container .gridContainer .contentBox figure { width: 45%; aspect-ratio: 1 / 1;}
  .o_section_4 .o_container .gridContainer .contentBox .cardText { width: 55%; padding: 0 3vmin;}
  .o_section_4 .o_container .gridContainer .contentBox .cardText h5 {font-size: 3.8vmin;}
  .o_section_4 .o_container .renew_btnBox { margin-top: 8vmin; }
 .o_section_4 .o_container .renew_btnBox a {font-size: 4.5vmin; width: 100%; padding: 4vmin 0; box-sizing: border-box;}
}

/* o_section_5 */
.o_section_5 {background-color: #fff; border-top: 1px solid #f2ede7; border-bottom: 1px solid #f2ede7;}
.o_section_5 .o_container {  padding: 10rem 4rem;   max-width: 1152px;   margin: 0 auto;}
.o_section_5 .o_container .topTextBox {  text-align: center;  margin-bottom: 5rem; }
.o_section_5 .o_container .topTextBox .titleItem h2 { font-size: 3.2rem; color: var(--t-color); line-height: 1.3;}
.o_section_5 .o_container .topTextBox .titleItem h2 strong { color: var(--m1-color);}
.o_section_5 .o_container .topTextBox .priceItem { margin-top: 1.6rem;}
.o_section_5 .o_container .topTextBox .priceItem h5 { font-size: 1.8rem; color: #555;}
.o_section_5 .o_container .topTextBox .priceItem h5 strong { color: var(--m1-color); font-size: 2.4rem; font-weight: 800; margin-right: 0.2rem;}
.o_section_5 .o_container .bottomGridBox {  display: flex;  align-items: center;   justify-content: space-between;}
.o_section_5 .o_container .bottomGridBox .o_slickSlider { 
  width: 40%;   
  border-radius: 20rem 20rem 0 0; 
  overflow: hidden;  
  box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.08);    
  aspect-ratio: 1 / 1.1; 
}
.o_section_5 .o_container .bottomGridBox .o_slickSlider .slide img { display: block;  }
/* 하단 오른쪽: 리워드 카드 리스트 */
.o_section_5 .o_container .bottomGridBox .contentBox { width: 48%; padding-left: 2%;}
/* 웰컴 기프트 리스트 카드 영역 */
.o_section_5 .o_container .contentBox .package_list_renew { background-color: #faf8f5; padding: 2.5rem; border-radius: 1.5rem; border: 1px solid #ede7e0;}
.o_section_5 .o_container .contentBox .package_list_renew .package_badge {
  display: inline-block; 
  background-color: var(--m2-color);
  color: var(--w-color); 
  font-size: 1.2rem; 
  font-weight: 700; 
  padding: 0.4rem 1.2rem; 
  border-radius: 5rem; 
  margin-bottom: 1.5rem;
}
.o_section_5 .o_container .contentBox .package_list_renew ul.list_1 { display: block;}
.o_section_5 .o_container .contentBox .package_list_renew ul.list_1 li { 
  font-size: 1.5rem; font-weight: 600; color: var(--t-color); margin-bottom: 1rem;position: relative;  padding-left: 2.5rem;   display: flex;  align-items: center;}
  .o_section_5 .o_container .contentBox .package_list_renew ul.list_1 li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1.4rem;
  height: 1.4rem;
  background-color: #fff;
  border: 1px solid var(--m2-color); 
  border-radius: 0.3rem;
  box-sizing: border-box;
}
.o_section_5 .o_container .contentBox .package_list_renew ul.list_1 li::after {
  content: "";
  position: absolute;
  left: 0.45rem; /* 체크박스 내부 중앙 정렬 */
  top: 0.35rem;
  width: 0.5rem;
  height: 0.8rem;
  border: solid var(--m1-color); 
  border-width: 0 2px 2px 0; 
  transform: rotate(45deg); 
  box-sizing: border-box;
}
.o_section_5 .o_container .contentBox .package_list_renew ul.list_1 li:last-child {
  margin-bottom: 0;
}
/* 펫 프렌들리 옵션 배너 카드화 */
.o_section_5 .o_container .contentBox .pet_friendly_card {
  display: flex; align-items: center; margin-top: 2rem; padding: 2rem; background-color: #fff8f3; border: 1px solid #fceade; border-radius: 1.5rem;
}
.o_section_5 .o_container .contentBox .pet_friendly_card .imgItem { width: 12%; margin-right: 4%;}
.o_section_5 .o_container .contentBox .pet_friendly_card .imgItem img { width: 100%; height: auto;}
.o_section_5 .o_container .contentBox .pet_friendly_card .pet_text_wrap { width: 84%;}
.o_section_5 .o_container .contentBox .pet_friendly_card .pet_text_wrap h6 { font-size: 1.4rem; font-weight: 700; color: #d97d41; margin-bottom: 0.4rem;}
.o_section_5 .o_container .contentBox .pet_friendly_card .pet_text_wrap p { font-size: 1.3rem; line-height: 1.4; color: #7a6e65;}
.o_section_5 .o_container .contentBox .package_list_renew .package_sub_tip { font-size: 1.1rem; color: #999; margin-top: 1.5rem; border-top: 1px dashed #e0d9d0; padding-top: 1rem;}

@media all and (max-width: 767px) {
  .o_section_5 .o_container { padding: 12vmin 5vmin; }  
  .o_section_5 .o_container .topTextBox { margin-bottom: 6vmin; }
  .o_section_5 .o_container .topTextBox .titleItem h2 { font-size: 6.5vmin; }
  .o_section_5 .o_container .topTextBox .priceItem h5 { font-size: 4vmin; }
  .o_section_5 .o_container .topTextBox .priceItem h5 strong { font-size: 5.5vmin; }
  .o_section_5 .o_container .bottomGridBox { flex-direction: column; }
  .o_section_5 .o_container .bottomGridBox .o_slickSlider { width: 100%; margin-bottom: 6vmin; border-radius: 2vmin; }
  .o_section_5 .o_container .bottomGridBox .contentBox { width: 100%; padding-left: 0; }
  .o_section_5 .o_container .contentBox .package_list_renew { padding: 5vmin; border-radius: 3vmin; }
  .o_section_5 .o_container .contentBox .package_list_renew .package_badge { font-size: 3vmin; padding: 0.8vmin 2.5vmin; margin-bottom: 3vmin; }
  .o_section_5 .o_container .contentBox .package_list_renew ul.list_1 li { font-size: 3.8vmin; margin-bottom: 2vmin; padding-left:6vmin;}  
  .o_section_5 .o_container .contentBox .package_list_renew ul.list_1 li::before { width: 3.8vmin; height: 3.8vmin; border-radius: 0.8vmin;}
  .o_section_5 .o_container .contentBox .package_list_renew ul.list_1 li::after {left: 1.3vmin; top: 0.8vmin; width: 1.2vmin; height: 1.8vmin; border-width: 0 0.4vmin 0.4vmin 0;}
  .o_section_5 .o_container .contentBox .pet_friendly_card { margin-top: 4vmin; padding: 4vmin; border-radius: 3vmin; }
  .o_section_5 .o_container .contentBox .pet_friendly_card .pet_text_wrap h6 { font-size: 3.6vmin; }
  .o_section_5 .o_container .contentBox .pet_friendly_card .pet_text_wrap p { font-size: 3.2vmin; }
}

/* ==========================================================================
   🌸 06.section (순정 배경 유지 + 넘버링 인포그래픽 리뉴얼)
   ========================================================================== */
.o_section_6 {
  background-image: url("../image/06/pc/img_bg.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100%;
  padding: 8rem 0;
}
.o_section_6 .titleBox { text-align: center; }
.o_section_6 .titleBox h2 { color: var(--t-color); font-weight: 300; font-size: 3rem; line-height: 1.3; }
.o_section_6 .titleBox h2 strong { color: var(--m1-color); font-weight: 400; }

.o_section_6 .o_container { 
  display: flex; 
  justify-content: space-between; 
  margin-top: 5.2rem;
}

/* 3단 흰색 콘텐츠 박스 */
.o_section_6 .o_container .contentBox { 
  width: 32%; 
  padding: 1.6rem; 
  background-color: var(--w-color); 
  box-shadow: 0.2rem 0.2rem 0.8rem rgba(0, 0, 0, 0.15); /* 그림자를 조금 더 부드럽고 깊게 튜닝 */
  border-radius: 1.5rem; /* 딱딱한 각진 모서리를 부드럽게 라운딩 */
  box-sizing: border-box;
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}

/* 카드 호버 시 부드러운 업 모션 */
.o_section_6 .o_container .contentBox:hover {
  transform: translateY(-0.8rem);
  box-shadow: 0 1.5rem 3rem rgba(0, 0, 0, 0.2);
}

/* 이미지 영역 (상단 배지 배치를 위해 기준점 relative 부여) */
.o_section_6 .o_container .contentBox figure { 
  position: relative; /* 💡 넘버링 배지 고정을 위해 필수 */
  display: block; 
  height: 56%; 
  line-height: 0;
  border-radius: 0.8rem;
  overflow: hidden;
}
.o_section_6 .o_container .contentBox figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 💡 신설: 트렌디한 카드 포인트 넘버 배지 (01, 02, 03) */
.o_section_6 .o_container .contentBox figure .num_badge {
  position: absolute;
  top: 1.2rem;
  left: 1.2rem;
  z-index: 5;
  background-color: var(--m1-color);
  color: var(--w-color);
  font-size: 1.1rem;
  font-weight: 700;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0.3rem 0.8rem rgba(0,0,0,0.2);
}

/* 하단 텍스트 영역 */
.o_section_6 .o_container .contentBox .textItem {
  padding-top: 1.2rem;
  height: 44%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.o_section_6 .o_container .contentBox .textItem h4 { 
  color: var(--t-color); 
  font-size: 1.4rem; 
  font-weight: 500; 
  line-height: 1.6; 
  text-align: center;
}
.o_section_6 .o_container .contentBox .textItem h4 strong {
  color: var(--m1-color);
  font-weight: 600;
}

@media all and (max-width: 767px) {
  .o_section_6 {background-image: url('../image/06/mo/img_bg.jpg'); padding: 12.5vmin 0 10vmin; overflow: hidden; }
  .o_section_6 .titleBox h2 {font-size: 6.2vmin;}
  .o_section_6 .titleBox h2 strong {display: block;}
  .o_section_6 .o_container {
    display: flex; 
    margin-top: 6vmin;
    padding: 0 10vmin;
    overflow-x: auto; 
    scroll-snap-type: x mandatory; 
    scroll-behavior: smooth;   
    -ms-overflow-style: none; 
    scrollbar-width: none;
  }
  .o_section_6 .o_container::-webkit-scrollbar {display: none; }
  .o_section_6 .o_container .contentBox {
    flex-shrink: 0; 
    width: 76vmin;  
    height: 90vmin;
    padding: 3.8vmin;
    margin: 0 2vmin; 
    border-radius: 3vmin;
    scroll-snap-align: center; 
  }  
  .o_section_6 .o_container .contentBox:hover { transform: none; }
  .o_section_6 .o_container .contentBox figure { height: 56%; }  
  .o_section_6 .o_container .contentBox figure .num_badge {top: 2.5vmin; left: 2.5vmin; width: 6.5vmin; height: 6.5vmin;  font-size: 3vmin;}
  .o_section_6 .o_container .contentBox .textItem { padding-top: 2.5vmin; height: 44%;}
  .o_section_6 .o_container .contentBox .textItem h4 { font-size: 3.3vmin; line-height: 1.5;}
}

/* o_section_7 */
.o_section_7 .titleBox {text-align: center;}
.o_section_7 .titleBox h2 {  color: var(--t-color);  font-size: 3rem;  font-weight: 700;  line-height: 1.3;}
.o_section_7 .titleBox h2 strong {  color: var(--m1-color);}

/* o_btnBox */
.o_section_7 .o_btnBox a {
  display: inline-block;
  width: 19.2rem;
  height: 5.67rem;
  margin: 0 auto;
  background-color: var(--m1-color);
  display: flex;
  align-items: center;
  justify-content: center;
}
.o_section_7 .o_btnBox a span {  color: var(--w-color);  font-size: 1.4rem;  font-weight: 700;  line-height: 1;}


/* o_section_acco */
.o_accordion .o_acco-item .o_acco-header {
  padding: 2.8rem 0;
  cursor: pointer;
  position: relative;
  display: flex;
  border: 1px solid var(--m1-color);
  margin-top: 2rem;
}
.o_accordion .o_acco-item .o_acco-header h6 {  font-size: 2rem;}
.o_accordion .o_acco-item .o_acco-header h6._1 {  color: var(--m1-color);  font-weight: 700;  width: 10%;  text-align: center;}
.o_accordion .o_acco-item .o_acco-header h6._2 {  color: var(--t-color);  font-weight: 500;  width: 80%;}
.o_accordion .o_acco-item .o_acco-header::after {
  content: "";
  background-image: url("../image/icon/arrow_1.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 2rem;
  height: 2rem;
  position: absolute;
  top: 50%;
  right: 2.5%;
  transform: translate3d(0, -50%, 0) rotate(0deg);
  transition: all 0.3s;
}
.o_accordion .o_acco-item .o_acco-header.active::after {  transform: translate3d(0, -50%, 0) rotate(180deg);}
/* 내용 */
.o_accordion .o_acco-item .o_acco-content {  border: 1px solid var(--t-color);  padding: 2.8rem 0;  width: 100%;  margin-top: 1rem;  display: none;}
.o_accordion .o_acco-item .o_acco-content .o_inner {  display: flex;}
.o_accordion .o_acco-item .o_acco-content .o_inner .o_text_1 {  width: 10%;  text-align: center;}
.o_accordion .o_acco-item .o_acco-content .o_inner .o_text_1 p {  color: var(--m1-color);  font-size: 2rem;  font-weight: 700;}
.o_accordion .o_acco-item .o_acco-content .o_inner .o_text_2 {  width: 80%; }
.o_accordion .o_acco-item .o_acco-content .o_inner .o_text_2 ul {}
.o_accordion .o_acco-item .o_acco-content .o_inner .o_text_2 ul li {  position: relative;  font-size: 1.6rem;  font-weight: 400;  padding-left: 1.2em;}
.o_accordion .o_acco-item .o_acco-content .o_inner .o_text_2 ul li span {  display: block;  font-size: 1.4rem;  padding-top: 0.5em;}
.o_accordion .o_acco-item .o_acco-content .o_inner .o_text_2 ul li em {  position: absolute;  top: 0;  left: 0;}
.o_accordion .o_acco-item .o_acco-content .o_inner .o_text_2 ul li + li {  margin-top: 0.4em;}
.o_accordion .o_acco-item .o_acco-content .o_inner .o_text_2 .subText {  color: var(--m1-color);  font-size: 1.6rem;  font-weight: 500;  padding-top: 1.4rem;}

@media all and (max-width: 767px) {
  .o_section_7 .titleBox h2 {    font-size: 6.4vmin;  }
  /* o_btnBox */
  .o_section_7 .o_btnBox a {    width: 56vmin;    height: 12.8vmin;  }
  .o_section_7 .o_btnBox a span {    font-size: 5vmin;  }
  /* o_accordion */
  .o_accordion .o_acco-item .o_acco-header {    padding: 5vmin 0;    margin-top: 3vmin;  }
  .o_accordion .o_acco-item .o_acco-header h6 {    font-size: 3.8vmin;  }
  .o_accordion .o_acco-item .o_acco-header h6._1 {    width: 10%;  }
  .o_accordion .o_acco-item .o_acco-header h6._2 {    width: 80%;  }
  .o_accordion .o_acco-item .o_acco-header::after {    width: 3.8vmin;    height: 3.8vmin;  }

  /* 내용 */
  .o_accordion .o_acco-item .o_acco-content {    padding: 5vmin 0;    margin-top: 3vmin;  }
  .o_accordion .o_acco-item .o_acco-content .o_inner .o_text_1 {    width: 10%;  }
  .o_accordion .o_acco-item .o_acco-content .o_inner .o_text_1 p {    font-size: 3.8vmin;  }
  .o_accordion .o_acco-item .o_acco-content .o_inner .o_text_2 {    width: 80%;  }
  .o_accordion .o_acco-item .o_acco-content .o_inner .o_text_2 ul li {    font-size: 3.8vmin;    padding-left: 1.2em;  }
  .o_accordion .o_acco-item .o_acco-content .o_inner .o_text_2 ul li span {    font-size: 3.3vmin;  }
  .o_accordion .o_acco-item .o_acco-content .o_inner .o_text_2 .subText {    font-size: 3.8vmin;    padding-top: 5vmin;  }
}


