@imoprt url("https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700&display=swap");
html {
    font-size: 10px;
    overflow-x: hidden;
    scroll-behavior: smooth;
    letter-spacing: -1px;
    background-color: #151515;
}

body {
    font-size: 1.6rem;
    font-family: inherit;
    line-height: 1;
    color: #333;
    width: 100%;
    max-width: 92rem;
    margin: 0 auto;
    background-color: #fff;
    overflow-x: clip;
}

root {
    --main-color: ##69944e;
    /* 연두색 계열 */
    --secondary-color: #569146;
    /* 녹색 계열 */
    --highlight-color: #d8f8bd;
    /* 강조 색상 */
}

.sr-only {
    visibility: hidden;
    position: absolute !important;
    width: 0;
    height: 0;
    padding: 0;
    margin: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    /* 텍스트 래핑 방지 */
    border: 0;
}

.visible-none {
    position: absolute !important;
    width: 0;
    height: 0;
    padding: 0;
    margin: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    /* 텍스트 래핑 방지 */
    border: 0;
}

.mo {
    display: none;
}

/* main */

/* mainVisual */

/* mainVisual 전체 */

.mainVisual {
    background: #fff;
    /* padding: 10.5rem 2.5vw; */
    padding: 5rem 2.5vw;
    color: #222;
    position: relative;
}

/* 콘텐츠 컨테이너 */

.mainVisual .mvtxt {
    display: grid;
    align-items: center;
    width: 100%;
    margin: 0 auto;
    gap: 2rem;
    grid-template-columns: auto 1fr;
    position: relative;
    z-index: 1;
}

/* 왼쪽 텍스트 영역 */

.mainVisual .text {
    flex: 1;
    min-width: 300px;
}

/* 브랜드 로고 */

.mainVisual .brand {
    display: inline-block;
    background: #333;
    color: #fff;
    font-size: 3.5rem;
    letter-spacing: -1px;
    margin-bottom: 2rem;
    line-height: 1;
    padding: 0.8rem 1rem 1.2rem;
    font-weight: 700;
}

/* 제목 스타일 */

.mainVisual h2 {
    margin: 0;
    font-size: 6.9rem;
    /* 기본 텍스트 */
    line-height: 1;
    /* h2 텍스트와 박스 높이를 딱 맞춤 */
}

.mainVisual h2 .highlight {
    display: inline-block;
    /* inline-block으로 폭만 텍스트 너비에 맞춤 */
    font-size: 8.5rem;
    /* 강조 텍스트 크기 */
    vertical-align: bottom;
    /* 기준선을 맞춰 위아래 시각적 흔들림 방지 */
    font-weight: 600;
    position: relative;
    /* 강조 텍스트 아래에 선을 추가하기 위해 position 설정 */
    z-index: 1;
    /* 강조 텍스트가 선 위에 오도록 설정 */
}

.mainVisual h2 .highlight:after {
    content: "";
    position: absolute;
    bottom: -3px;
    display: block;
    left: 0;
    width: 100%;
    height: 100%;
    /* 강조 텍스트 아래에 얇은 선 */
    background: #d8f8bd;
    /* 강조 색상 */
    z-index: -1;
    /* 텍스트 위에 선이 오도록 설정 */
}

.mainVisual h2 p {
    font-weight: 400;
    margin-top: 3.2rem;
}

.mainVisual h2 p span.point {
    position: relative;
}

.mainVisual h2 p span.point:before {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    background: #569146;
    left: 38%;
    top: -8px;
    transform: translateX(-50%);
    border-radius: 50%;
}

/* 녹색 텍스트 */

.mainVisual .green {
    color: #569146;
    font-weight: 500;
    line-height: 1.5;
}

/* 부제목 텍스트 */

.mainVisual .subtext {
    font-size: 2rem;
    color: #555;
    margin-bottom: 2.5rem;
    line-height: 1.5;
    font-weight: 500;
}

/* 버튼 그룹 */

.mainVisual .buttons .mvbtn {
    display: inline-block;
    text-decoration: none;
    font-size: 2rem;
    border-radius: 0.8rem;
    width: 13rem;
    height: 4.4rem;
    line-height: 4.4rem;
    margin-right: 1.5rem;
    text-align: center;
    transition: opacity 0.2s ease;
}

/* 주 버튼 */

.mainVisual .btn-primary {
    background: #a0bc88;
    color: #fff;
}

/* 보조 버튼 */

.mainVisual .btn-secondary {
    background: #a0bc88;
    color: #fff;
}

/* 버튼 호버 효과 */

.mainVisual .buttons .mvbtn:hover {
    opacity: 0.8;
}

/* 오른쪽 이미지 영역 */

.mainVisual .image-wrapper {
    flex: 1;
    min-width: 30rem;
    display: flex;
    justify-content: center;
    position: absolute;
    right: -5rem;
    z-index: -1;
}

/* 원형 배경 */

.mainVisual .circle {
    width: 43rem;
    height: auto;
    aspect-ratio: 1/1;
    border-radius: 50%;
}

/* 이미지 */

.mainVisual .circle img {
    width: 100%;
    height: auto;
    position: relative;
    z-index: 2;
    padding-top: 1rem;
}

.mainVisual .circle .main-visual-img {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition: opacity 1s ease-in-out;
}

.mainVisual .circle .main-visual-img.active {
    opacity: 1;
}

/* .mainVisual .circle:after {
  content: "";
  position: absolute;
  bottom: 13px;
  left: 50%;
  width: 75%;
  height: 75%;
  border-radius: 50%;
  background: #d7e4c9;
  z-index: 1;
  transform: translateX(-50%);
} */

/* mainVisual */

/* Hero 섹션 */

.hero-choice {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(to bottom, #ededed 60%, #ededed 100%);
    background-size: 100%;
    min-height: 66rem;
    height: 100%;
    position: relative;
}

.hero-choice:after {
    position: absolute;
    display: block;
    content: "";
    width: 53rem;
    height: 66rem;
    aspect-ratio: 436 / 660;
    background: url(../image/heroRight.svg) no-repeat;
    background-size: cover;
    right: 0;
}

.hero-choice .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 2rem;
    flex-wrap: wrap;
    padding: 0 2.5vw;
}

/* 텍스트 영역 */

.hero-choice .hero-text {
    flex: 1;
    min-width: 280px;
}

.hero-choice .brand {
    font-size: 2.6rem;
    font-weight: 400;
    color: #69944e;
    margin-bottom: 1rem;
    letter-spacing: 1px;
}

.hero-choice h2 {
    font-size: 7rem;
    line-height: 1.2;
    font-weight: 500;
    color: #222;
}

.hero-choice h2 br {
    /* 줄바꿈 없이도 괜찮지만, 디자인상 강제 줄바꿈 */
}

/* 이미지 영역 */

.hero-choice .hero-image {
    flex: 1;
    min-width: 280px;
    display: flex;
    justify-content: center;
    margin-right: -17%;
}

.hero-choice .hero-image img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    object-fit: cover;
}

/* Hero 섹션 */

/* concerns */

.concerns {
    background: #f2f2f2;
    padding: 9rem 1rem 4rem;
    text-align: center;
    font-family: "Noto Sans KR", sans-serif;
}

/* 타이틀 */

.concerns-title {
    font-size: 6rem;
    line-height: 1.3;
    color: #69944e;
    /* 연두 계열 */
    margin-bottom: 3rem;
}

.concerns-title br {
    display: none;
}

/* 말풍선 컨테이너: 2열 그리드 */

.bubbles {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2.5rem 1.5rem;
    margin: 0 auto;
}

/* 말풍선 박스 */

.bubble {
    position: relative;
    background: #fff;
    border: 2px solid #69944e;
    border-radius: 6.6rem;
    padding: 1.2rem 1.5rem;
    box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.1);
    font-size: 2.4rem;
    line-height: 1.4;
    width: 30.7rem;
    height: 14.7rem;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
}

.bubble:nth-child(even) {
    margin-top: 10%;
}

/* 말풍선 꼬리: 바깥(border)과 안쪽(fill) 둥글게 겹치기 */

.bubble::before,
.bubble::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translate(-50%, 50%);
    width: 0;
    height: 0;
}

.bubble::before {
    bottom: -10px;
    border: 10px solid transparent;
    border-top-color: #69944e;
    filter: drop-shadow(4px 4px 0 #d9d9d9);
}

.bubble::after {
    bottom: -8px;
    border: 8px solid transparent;
    border-top-color: #fff;
}

.newtitstyle {
    font-size: 3.7rem;
    padding: 1rem 2rem;
    background: #3a7e3f;
    width: max-content;
    margin: 0 auto 0.3em;
    color: #fff;
    border-radius: 5rem;
}

/* concerns */

/* Section: why-fail */

.m_fail-circle {
    display: none;
}

.why-fail {
    position: relative;
    background: #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding-top: 9rem;
    flex-wrap: wrap;
    padding-bottom: 9rem;
}

/* 콘텐츠 컨테이너 */

.why-fail .content {
    position: relative;
    max-width: 800px;
    padding: 2rem;
}

/* 메인 타이틀 */

.why-fail .title {
    font-size: 6rem;
    font-weight: 700;
    margin-bottom: 6.5rem;
    line-height: 1.2;
    color: #000;
}

.why-fail .title .highlight {
    color: #69944e;
    /* 초록 강조색 */
}

/* 서브타이틀 */

.why-fail .subtitle {
    font-size: 2.4rem;
    color: #333;
    margin: 0 auto;
    line-height: 1.7;
}

/* Section: why-fail */

.fail-circle {
    display: flex;
    justify-content: center;
    margin: 40px 0;
}

.fail-circle .circle {
    position: relative;
    width: clamp(200px, 41.3vw, 380px);
    aspect-ratio: 1 / 1;
}

.fail-circle .circle img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* border-radius: 50%; */
    display: block;
}

/* 아이템 공통 스타일 */

.fail-circle .item {
    position: absolute;
    width: max-content;
    font-size: clamp(1.4rem, 2.4vw, 2.4rem);
    line-height: 1.4;
    color: #aca4a4;
    font-weight: 600;
    border-radius: 4px;
    text-align: center;
}

/* 상/우/하/좌 위치 지정 */

.fail-circle .item.top {
    top: -1.3vw;
    left: -4.13vw;
    transform: translateX(-50%);
}

.fail-circle .item.right {
    top: -1.3vw;
    right: -4.13vw;
    transform: translateX(50%);
    color: #287051;
}

.fail-circle .item.bottom {
    bottom: -2.4vw;
    left: -4.13vw;
    transform: translateX(-50%);
}

.fail-circle .item.left {
    bottom: -2.4vw;
    right: -4.13vw;
    transform: translateX(50%);
}

/* CTA 섹션 */

.cta {
    --r: 40px;
    /* 컷아웃 반지름 */
    position: relative;
    /* ::before 기준 */
    background: #f0f0f0;
    /* 녹색박스 */
    padding: 11rem 2.5vw;
    text-align: center;
    overflow: hidden;
    /* 파낸 원이 튀어나온 부분 숨김 */
}

.cta p {
    position: relative;
    z-index: 1;
    margin: auto;
    font-size: 4rem;
    line-height: 1.6;
    font-weight: 500;
    color: #333;
    max-width: 55rem;
}

.cta strong {
    color: #388e3c;
}

/* —————————— */

/* ② 흰색 원형 박스 (녹색박스 위에 겹치면서 컷아웃을 만듦) */

.cta::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    /* 중앙에 배치 */
    width: 50%;
    height: 100%;
    background: #cfdfc6;
    /* 페이지 배경색 */
    border-radius: 0 4vw 0 0;
    /* 완전 동그라미 */
    z-index: 0;
}

.cta::after {
    content: "";
    position: absolute;
    top: 0;
    /* 반만 들어오도록 */
    right: 0;
    /* 중앙에 배치 */
    width: 50%;
    height: 100%;
    background: #cfdfc6;
    /* 페이지 배경색 */
    border-radius: 4vw 0 0 0;
    /* 완전 동그라미 */
    z-index: 0;
}

/* main */

.three-step {
    background-color: #265124;
    /* 짙은 녹색 배경 */
    padding: 11rem 0;
    text-align: center;
    font-family: "Noto Sans KR", sans-serif;
    color: #fff;
}

/* 내부 컨테이너 (중앙 정렬, 가로폭 제한) */

.three-step .container {
    margin: 0 auto;
}

/* 보조 제목 */

.three-step .subtitle {
    font-size: 4rem;
    margin-bottom: 1rem;
    opacity: 0.9;
}

/* 메인 타이틀 */

.three-step .main-title {
    font-size: 6.5rem;
    line-height: 1.2;
    font-weight: 700;
    color: #e7dd2d;
    /* 노란색 계열 텍스트 */
}

/* 강조 텍스트 (필요 시 추가 강조) */

.three-step .main-title .accent {
    display: block;
}

.lazy-diet {
    background: #fff;
    padding: 8.3rem 0 0;
    text-align: center;
    font-family: "Noto Sans KR", sans-serif;
    color: #222;
    text-align: left;
}

.lazy-diet .content {
    padding: 0 2.5vw 8rem;
}

.lazy-diet .title {
    font-size: 4.5rem;
    font-weight: 500;
    line-height: 1.2;
    margin-bottom: 3rem;
}

.lazy-diet .highlight {
    display: inline-block;
    color: #69944e;
    /* 연두 강조색 */
}

.lazy-diet .description {
    font-size: 2.4rem;
    color: #555;
    line-height: 1.5;
}

.lazy-diet .description strong {
    color: #222;
    font-weight: 600;
}

.lazy-diet .image-wrap.lazyDiet_img {
    width: 100%;
    height: auto;
    aspect-ratio: 803/600;
    border-radius: 4px;
    object-fit: cover;
}

.lazy-diet .image-wrap img {
    width: 100%;
    height: auto;
    display: block;
}

/* 섹션 전체 */

.system-steps {
    background: #fff;
    /* padding: 7.4rem 5.5vw 6.8rem; */
    padding: 7.4rem 0 6.8rem;
    text-align: center;
}

/* 내부 컨테이너 */

.system-steps .container {
    margin: 0 auto;
}

/* 섹션 타이틀 */

.system-steps .section-title {
    font-size: 4.5rem;
    font-weight: 500;
    line-height: 1.3;
    margin-bottom: 9rem;
}

.system-steps .highlight {
    color: #69944e;
    /* 연두색 강조 */
}

/* STEP 리스트 */

.system-steps .steps {
    display: flex;
    flex-direction: column;
    gap: 5rem;
}

/* 개별 STEP */

.system-steps .step {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 4rem;
}

.system-steps .step .step_infoWrap {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

.system-steps .step .step_infoWrap .step-info {
    flex: 1;
    padding: 0 2rem;
}

.system-steps .step .step_infoWrap .step-info:nth-child(2) {
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
}

/* STEP 이미지 */

.system-steps .step img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

/* STEP 정보 */

.system-steps .step-info h3 {
    font-size: 2.1rem;
    color: #69944e;
    font-weight: 700;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    row-gap: 1rem;
    margin-bottom: 2.3rem;
    letter-spacing: 1px;
    align-items: center;
}

.system-steps .step-info h3:after {
    content: "";
    display: block;
    width: 2rem;
    height: 0.2rem;
    background: #69944e;
}

.system-steps .step-info p {
    font-size: 2.3rem;
    color: #111;
    font-weight: 500;
    line-height: 1.3;
}

.program-28days {
    padding: 9rem 0 9rem;
    text-align: center;
    /* background: linear-gradient(to bottom, #f3f3f3 60%, rgb(255, 255, 255) 100%); */
    background: #e7e7e7;
    color: #222;
}

.program-28days .container {
    margin: 0 auto;
}

/* Header */

.program-28days .subtitle {
    font-size: 2.6rem;
    color: #69944e;
    margin-bottom: 2.5rem;
    text-transform: uppercase;
}

.program-28days .title {
    font-size: 4.5rem;
    font-weight: 600;
    margin-bottom: 5.5rem;
}

/* 다시수정 */

.program-28days .program-grid {
    margin: 3rem 0;
    max-width: 92rem;
    width: 100%;
    padding: 0 6rem;
}

.program-28days .program-grid .row {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 0;
}

.program-28days .program-grid .program-item {
    /* width: 12rem; */
    flex: 1;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    text-align: center;
}

.program-28days .program-grid .program-item img {
    width: 100%;
    display: block;
}

.program-28days .program-grid .program-item p {
    padding: 2rem;
    font-size: 2rem;
    line-height: 1.3;
    color: #333;
}

.program-28days .program-grid .arrow {
    font-size: 2rem;
    color: #a3a3a3;
    user-select: none;
}

.program-28days .program-grid .arrow.right {
    margin: 0 0.5rem;
}

.program-28days .program-grid .arrow.left {
    margin: 0 0.5rem;
}

.program-28days .program-grid .arrow.down {
    display: block;
    text-align: right;
    margin: 2rem auto;
    font-size: 2rem;
    color: #a3a3a3;
    margin-right: 13%;
}

/* Before/After section */

.new_section {
    padding-top: 9rem;
}

.new_section .container {
    width: 100%;
    box-sizing: border-box;
    padding-left: 2.5vw;
    padding-right: 2.5vw;
}

.new_section .container .title {
    font-size: 4.5rem;
    font-weight: 600;
    margin-bottom: 5.5rem;
    text-align: center;
    line-height: 1.3;
}

.new_section .container .title .highlight {
    color: #69944e;
    font-weight: 500;
}

.hashtags {
    background: #a4c991;
    width: max-content;
    padding: 1rem;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    color: #fff;
    margin-bottom: 4rem;
    font-size: 1.3em;
}

.before-after {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
}

/* Each row */

.ba-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
    width: 100%;
}

/* Figure styling */

.ba-row figure {
    margin: 0;
    text-align: center;
    position: relative;
    flex: 1;
}

.ba-row figcaption {
    color: #fff;
    margin-bottom: 0.5rem;
    letter-spacing: -1px;
    position: absolute;
    top: 9px;
    left: 14px;
    font-weight: 600;
    background: #d5d7d9;
    padding: clamp(2px, 1.09vw, 10px) clamp(4px, 1.4vw, 14px);
    font-size: clamp(1.1rem, 1.83vw, 1.2em);
}

.ba-row img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
    object-fit: cover;
}

/* Arrow */

.ba-row .arrow {
    font-size: clamp(1.5rem, 2.72vw, 2.5rem);
    color: #555;
    font-family: "Helvetica Neue", "Vitesco W05 Roman", Helvetica, Arial, sans-serif;
}

.ingredients {
    background: #fff;
    padding: 13rem 0 0;
    font-family: "Noto Sans KR", sans-serif;
    color: #222;
    text-align: center;
}

.ingredients .container {
    margin: 0 auto;
}

.ingredients .row {
    flex-wrap: nowrap;
    width: 100%;
}

.ingredients .section-title .highlight {
    font-weight: 600;
    position: relative;
}

.system-steps .section-title .highlight {
    font-weight: 600;
    position: relative;
    z-index: 2;
}

.system-steps .section-title .highlight:after {
    content: "";
    display: block;
    position: absolute;
    width: calc(100% + 13px);
    height: 15px;
    background: #cfdfc6;
    bottom: 7px;
    z-index: -1;
    border-radius: 10px;
    transform: translateX(-50%);
    left: 50%;
}

/* 섹션 타이틀 */

.section-title {
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 3rem;
}

.section-title .highlight {
    color: #69944e;
    /* 초록 강조색 */
}

/* 원료를 나열하는 행 */

.row {
    display: flex;
    justify-content: center;
    gap: 2rem;
    flex-wrap: wrap;
    margin-bottom: 2.5rem;
}

/* 개별 원료 카드 */

.ingredient {
    width: clamp(100px, 13vw, 155px);
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* 원형 이미지 래퍼 */

.ingredient .img-wrap {
    width: 100%;
    height: auto;
    border-radius: 50%;
    overflow: hidden;
    background: #f5f5f5;
    margin-bottom: 0.75rem;
}

.ingredient .img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 원료 이름 */

.ingredient h3 {
    font-size: 2rem;
    color: #222;
    margin-bottom: 0.25rem;
    font-weight: 500;
}

/* 설명 텍스트 */

.ingredient p {
    font-size: initial;
    color: #555;
    line-height: 1.4;
}

.healthy-change {
    position: relative;
    /* 배경 이미지 설정 */
    background: url("../image/healthyChangebg.svg") no-repeat center/cover;
    padding: 10vw 1rem;
    text-align: center;
    font-family: "Noto Sans KR", sans-serif;
    color: #222;
}

/* 배경 위 반투명 오버레이 */

/* .healthy-change::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.7);
} */

/* 콘텐츠 래퍼 */

.healthy-change .content {
    position: relative;
    max-width: 800px;
    margin: 0 auto;
    padding: 0 1rem;
}

/* 제목 */

.healthy-change .title {
    font-size: 6rem;
    line-height: 1.2;
    font-weight: 500;
    margin-bottom: 1.5rem;
}

/* 강조 텍스트 */

.healthy-change .highlight {
    color: #69944e;
}

/* 설명문 */

.healthy-change .description {
    font-size: 2.4rem;
    line-height: 1.6;
    color: #555;
}

.care-three {
    position: relative;
    padding: 6.4rem 2.5vw 0;
    background: #fff;
    text-align: center;
    color: #222;
}

/* 상단 작은 세로선 */

.care-three::before {
    content: "";
    display: block;
    width: 0.1rem;
    height: 7rem;
    background: #69944e;
    margin: 0 auto;
}

/* 컨테이너 중앙 정렬 및 최대폭 */

.care-three .container {
    margin: 4rem auto 0;
}

/* 제목 */

.care-three .title {
    font-size: 4.5rem;
    font-weight: 500;
    line-height: 1.3;
    margin-bottom: 7rem;
}

.care-three .highlight {
    color: #69944e;
    font-weight: 700;
}

/* 카드 레이아웃: 3열 그리드 */

.care-three .cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

/* 개별 카드 */

.care-three .card {
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* 카드 이미지 */

.care-three .img-wrap {
    width: 100%;
    overflow: hidden;
    margin-bottom: 3rem;
}

.care-three .img-wrap img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

/* 카드 제목 */

.care-three .card h3 {
    font-size: 3rem;
    font-weight: 500;
    margin-bottom: 0.5rem;
}

/* 카드 설명 */

.care-three .card p {
    font-size: 1.8rem;
    color: #555;
    line-height: 1.5;
    max-width: 250px;
    text-align: center;
}

.cta-fail-proof {
    background: #fff;
    padding: 18.7rem 0 0;
    text-align: center;
    color: #222;
}

.cta-fail-proof .container {
    max-width: 700px;
    margin: 0 auto;
}

/* 메인 타이틀 */

.cta-fail-proof .title {
    font-size: 6rem;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 4rem;
    color: #222;
}

/* 강조 텍스트 */

.cta-fail-proof .highlight {
    color: #69944e;
    display: inline-block;
}

/* 서브타이틀(설명문) */

.cta-fail-proof .subtitle {
    font-size: 2.4rem;
    line-height: 1.6;
    color: #555;
    max-width: 600px;
    margin: 0 auto;
}

.bna-section {
    background: #fff;
    padding: 20rem 0 0;
    text-align: center;
    color: #222;
}

.bna-section .container {
    margin: 0 auto;
    width: 95%;
}

/* 제목 */

.bna-section .title {
    font-size: 6rem;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 3rem;
}

.bna-section .highlight {
    color: #69944e;
    display: inline-block;
}

/* 소제목 */

.bna-section .subtitle {
    font-size: 2.4rem;
    color: #555;
    margin-bottom: 9rem;
    line-height: 1.5;
}

/* Before & After 이미지 레이아웃 */

.bna-section .bna-images {
    display: flex;
    justify-content: center;
    margin-bottom: 11.5rem;
}

.bna-section .bna-images figure {
    margin: 0;
    text-align: center;
    position: relative;
}

.bna-section .bna-images figure:first-child:before {
    content: "110kg";
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    font-style: normal;
    font-size: 5rem;
    color: #fff;
    text-shadow: -1px 0px #000, 0px 1px #000, 1px 0px #000, 0px -1px #000;
}

.bna-section .bna-images figure:last-child:before {
    content: "62.5kg";
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    font-style: normal;
    font-size: 5rem;
    color: #fff;
    text-shadow: -1px 0px #000, 0px 1px #000, 1px 0px #000, 0px -1px #000;
}

.bna-section .bna-images figcaption {
    font-size: 2rem;
    color: #555;
    letter-spacing: -1px;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    text-align: left;
}

.bna-section .bna-images img {
    display: block;
    width: 100%;
    max-width: 350px;
    height: auto;
    border: 0.2rem solid #69944e;
    object-fit: cover;
}

.bna-section .bna-images img.bna-before {
    border-radius: 14px 0 0 14px;
    border-right: 0;
}

.bna-section .bna-images img.bna-after {
    border-radius: 0 14px 14px 0;
    border-left: 0;
}

/* 후기 (인용구) */

.bna-section .testimonials p {
    font-size: 4rem;
    font-weight: 700;
    color: #222;
    line-height: 1.5;
}

.experience {
    background: #fff;
    padding: 16.6rem 2.5vw 0;
    text-align: center;
    color: #222;
}

.experience .container {
    margin: 0 auto;
}

.experience-title {
    font-size: 6rem;
    font-weight: 700;
    margin-bottom: 7.3rem;
    line-height: 1.1;
    color: #c07e21;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    column-gap: 4rem;
}

.experience-title span {
    display: block;
    margin-top: -10px;
}

.experience-grid {
    display: grid;
    /* grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); */
    grid-template-columns: repeat(2, 1fr);
    gap: 6rem 4rem;
}

.experience-item {
    text-align: left;
    width: 100%;
}

.exp-figure {
    margin: 0 0 1.4rem;
    text-align: center;
    width: 100%;
}

.exp-figure i {
    position: relative;
    width: 100%;
    display: block;
}

.exp-figure i span:first-child {
    position: absolute;
    bottom: 40px;
    left: clamp(10px, 4vw, 50px);
    font-style: normal;
    font-size: clamp(1.5rem, 5.43vw, 5rem);
    color: #fff;
    text-shadow: -1px 0px #000, 0px 1px #000, 1px 0px #000, 0px -1px #000;
}

.exp-figure i span:last-child {
    position: absolute;
    bottom: 40px;
    right: clamp(10px, 4vw, 50px);
    font-style: normal;
    font-size: clamp(1.5rem, 5.43vw, 5rem);
    color: #fff;
    text-shadow: -1px 0px #000, 0px 1px #000, 1px 0px #000, 0px -1px #000;
}

.exp-figure img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 3rem;
    object-fit: cover;
    border: 0.1rem solid #69944e;
}

.exp-figure figcaption {
    margin-top: 1.8rem;
    font-size: 2.5rem;
    font-weight: 500;
    color: #333;
}

.exp-figure figcaption>span {
    color: #69944e;
    font-weight: bold;
}

.exp-text {
    color: #333;
    line-height: 1.3;
    text-align: center;
    font-size: 1.7rem;
}

.why-choose {
    background: #fff;
    padding: 14.3rem 0 0;
    text-align: center;
    color: #222;
}

.why-choose .container {
    max-width: 700px;
    margin: 0 auto;
}

/* 타이틀 */

.why-choose .title {
    position: relative;
    font-size: 7rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -3px;
    margin-bottom: 2rem;
}

/* 큰 따옴표 ::before, ::after */

.why-choose .title::before,
.why-choose .title::after {
    content: "“";
    display: block;
    color: #69944e;
    font-family: "Noto Sans KR";
}

.why-choose .title::before {
    top: -0.5rem;
    left: -1rem;
}

.why-choose .title::after {
    content: "”";
    bottom: -0.5rem;
    right: -1rem;
}

/* 강조 텍스트(필요시) */

/* .why-choose .title .highlight { color: #69944e; } */

/* 특징 리스트 */

.why-choose .features {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    max-width: 500px;
    text-align: left;
}

.why-choose .features li {
    font-size: 2.4rem;
    line-height: 1.3;
    color: #333;
    margin-bottom: 1rem;
    position: relative;
    padding-left: 1.5rem;
    text-align: center;
}

.target-audience {
    background: #fff;
    padding: 9rem 0 6rem;
    text-align: center;
    color: #222;
}

.target-audience .container {
    margin: 0 auto;
}

/* Section title */

.section-title {
    font-size: 4.5rem;
    font-weight: 500;
    line-height: 1.3;
    margin-bottom: 9rem;
}

.section-title .highlight {
    color: #69944e;
    display: inline-block;
}

/* Cases wrapper */

.cases {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
}

/* Individual case */

.case {
    display: flex;
    align-items: center;
    width: 100%;
    height: max-content;
    background: #f7f7f7;
}

/* Alternate image/text order for even cases */

.case:nth-child(even) {
    flex-direction: row-reverse;
}

/* Image box */

.case-image {
    width: 50%;
}

.case-image img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

/* Text box */

.case-text {
    width: 50%;
    padding: 2rem;
    border-radius: 8px;
    text-align: center;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

/* Case number */

.case-number {
    display: block;
    font-size: 6rem;
    font-weight: 700;
    color: #69944e;
    margin-bottom: 1rem;
    border-bottom: 3px solid #69944e;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 1.6rem;
}

/* Description */

.case-text p {
    font-size: 2.4rem;
    color: #555;
    line-height: 1.3;
    margin: 0;
}

.safety-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #cde3c0;
    /* 연한 초록 배경 */
    padding: 4.7rem 0;
    color: #222;
    line-height: 1.6;
}

.safety-info .content {
    flex: 1;
}

.safety-info .content p {
    margin: 0;
    font-size: 2.4rem;
    text-align: center;
}

.reason-section {
    padding: 11rem 6.5vw 0;
    text-align: center;
}

.reason-section .container {
    /* max-width: 720px; */
    margin: 0 auto;
}

.badge {
    display: inline-block;
    background: #388e3c;
    color: #fff;
    font-size: 2.4rem;
    padding: 8px 35px;
    border-radius: 5rem;
    text-transform: lowercase;
    margin-bottom: 12px;
    font-weight: 600;
}

.reason-title {
    font-size: 4.5rem;
    font-weight: 500;
    line-height: 1.3;
    margin: 0 0 4vw;
    color: #222;
}

/* 리스트 스타일 */

.reason-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.reason-item {
    display: flex;
    align-items: center;
    background: #388e3c;
    color: #fff;
    border-radius: 8vw;
    padding: 0.7rem;
}

.icon-wrap {
    flex-shrink: 0;
    width: 8rem;
    height: auto;
    aspect-ratio: 1/1;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    /* margin-right: 16px; */
}

.icon-wrap img {
    width: 80%;
}

.reason-item p {
    margin: auto;
    font-size: 2.2rem;
    line-height: 1.4;
    text-align: center;
    font-weight: 500;
}

/* footer */

.quick-contact {
    position: absolute;
    top: -140px;
    max-width: 92rem;
    width: 100%;
    z-index: 2;
    pointer-events: none;
    right: clamp(0px, 1.74vw, 16px);
}

.quick-contact button {
    border: none;
    background: transparent;
}

.quick-contact .kakao-link {
    display: flex;
    align-items: flex-end;
    justify-content: initial;
    text-decoration: none;
    margin-left: auto;
    flex-direction: column;
    justify-content: center;
    position: relative;
    width: 100px;
    height: 100px;
    pointer-events: auto;
}

.quick-contact .kakao-link .ripple {
    position: absolute;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    animation: rippleEffect 1s linear infinite;
    opacity: 1;
    z-index: -1;
    border: 3px solid rgba(247, 171, 0, 1);
    right: 25px;
}

.quick-contact .kakao-link .ripple:nth-child(1) {
    animation-delay: -1s;
}

.quick-contact .kakao-link .ripple:nth-child(2) {
    animation-delay: -0.5s;
}

.quick-contact .kakao-link .ripple:nth-child(3) {
    animation-delay: 0s;
}

/* 물결 애니메이션 */

@keyframes rippleEffect {
    0% {
        transform: scale(1);
        opacity: 1;
    }
    100% {
        transform: scale(2.5);
        opacity: 0;
    }
}

/* 물결 애니메이션 */

.quick-contact .kakao-link figure {
    display: flex;
    align-items: center;
    justify-content: initial;
    color: #19191959;
    text-decoration: none;
    font-size: 1.2rem;
    width: 10.2rem;
    height: auto;
    aspect-ratio: 1 / 1;
    background: #ffeb4e;
    flex-direction: column;
    justify-content: center;
    border-radius: 50%;
    row-gap: 0.8rem;
    position: relative;
}

.quick-contact .kakao-link i img {
    width: 5rem;
}

.quick-contact .kakao-link span {
    font-size: 1.7rem;
    font-weight: 500;
    color: #111;
}

.quick-contact .kakao-link figure:hover:before {
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 110%;
    height: 110%;
    background-image: linear-gradient( 115deg, #00c0ff 0%, #ffcf00 49%, #fc4f4f 80%, #00c0ff 100%);
    background-size: 200% 200%;
    border-radius: 50%;
    animation: animate_border 0.75s linear infinite;
    z-index: -1;
}

@keyframes animate_border {
    100% {
        background-position: 20vw;
    }
}

/* form 전체 중앙 정렬/최대폭 지정 */

.applicationForm {
    padding: 2rem 2.5vw;
    /* background: #ffe4ae; */
    background: #545454;
    position: sticky;
    bottom: 0;
    width: 100%;
    z-index: 1000;
    box-shadow: none;
    transition: box-shadow 0.2s;
    display: grid;
    grid-template-columns: 1fr 123px;
    animation: slideup 0.4s;
}

@keyframes slideup {
    from {
        opacity: 0;
        bottom: -80px;
    }
    to {
        opacity: 1;
        bottom: 0;
    }
}

/* 행마다 flex 레이아웃, 입력 사이 간격 */

.applicationForm .form-row {
    display: flex;
    /* grid-template-columns: 206px auto auto; */
    align-items: center;
    margin-bottom: 1rem;
    flex-wrap: wrap;
    width: 98%;
    justify-content: space-between;
}

.applicationForm .form-row.personalinfo2 {
    margin-bottom: 0;
}

.applicationForm input[type="text"],
.applicationForm input[type="number"],
.applicationForm select {
    background: #fff;
    border: 1px solid #454545;
    border-radius: 0.5rem;
    height: 4.5rem;
    line-height: 4.5rem;
    color: #454545;
    text-align: left;
    font-size: 1.7rem;
    /* padding-left: 2rem; */
    padding-left: 1.3rem;
}

.personalinfo1 #residence {
    width: 19%;
    color: rgba(0, 0, 0, 0.3);
}

.personalinfo1 #residence:valid,
.personalinfo1 #residence option {
    color: #111;
}

.personalinfo1 #username {
    width: 19%;
}

.applicationForm .form-row i {
    color: #fff;
    background: #fff;
    width: 10px;
    height: 1px;
}

.personalinfo1 #tel1 {
    width: 10%;
}

.personalinfo1 #tel2 {
    width: 21%;
}

.personalinfo1 #tel3 {
    width: 21%;
}

.personalinfo2 #gender {
    width: calc((100% / 5) - 0.5em);
}

.personalinfo2 #age {
    width: calc((100% / 5) - 0.5em);
}

.personalinfo2 #target {
    width: calc((100% / 5) - 0.5em);
}

.personalinfo2 #myweight {
    width: calc((100% / 5) - 0.5em);
}

.personalinfo2 #bodyheight {
    width: calc((100% / 5) - 0.5em);
}

.applicationForm input::-webkit-input-placeholder,
.applicationForm input:-ms-input-placeholder {
    color: rgba(0, 0, 0, 0.3);
}

.applicationForm input::placeholder {
    color: rgba(0, 0, 0, 0.3);
}

/* 버튼 스타일 */

.applicationForm button {
    flex: 0 0 auto;
    background: #77ac60;
    color: #fff;
    border: none;
    border-radius: 0.5rem;
    padding: 0.75rem 1.5rem;
    font-size: 2.4rem;
    cursor: pointer;
    /* transition: opacity 0.2s; */
    transition: 0.2s;
    position: relative;
    overflow: hidden;
    font-weight: 600;
}

.applicationForm button:hover {
    /* opacity: 0.85; */
    background: #fff;
    outline: 1px solid #77ac60;
    color: #77ac60;
    transition: 0.2s;
}

.applicationForm button:before {
    content: "";
    position: absolute;
    top: 0;
    left: -75%;
    width: 35%;
    height: 100%;
    background: linear-gradient(120deg, rgba(255, 255, 255, 0.2) 100%);
    transform: skewX(-20deg);
    animation: shine 2s infinite;
}

@keyframes shine {
    0% {
        left: -75%;
    }
    100% {
        left: 125%;
    }
}

/* 2025.07.17 리뷰후기 추가 */

#reviewAll {
    position: absolute;
    top: -44px;
    left: 5%;
}

#reviewAll button {
    border-radius: 1.5rem 1.5rem 0 0;
    background: #ffe727;
    color: #222;
    font-weight: 600;
}

/* 2025.07.17 리뷰후기 추가 */

/* footer */

/* popup 추가 */

#popupLayer {
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 92rem;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.popupinner {
    position: relative;
    background: #fafafa;
    padding: 2vw 16px 16px 16px;
    border-radius: 8px;
    max-width: 60rem;
    width: 100%;
    height: 87.5vh;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: 3rem;
}

.closeBtn {
    position: absolute;
    top: 8px;
    right: 8px;
    background: transparent;
    border: none;
    font-size: 18px;
    cursor: pointer;
}

.popupContent {
    height: 100%;
    overflow: hidden;
}

.popupContent .pp_tit {
    text-align: center;
}

.popupContent .pp_tit h2 {
    color: #000;
    text-align: center;
    font-size: 4rem;
    font-style: normal;
    font-weight: 800;
    line-height: 1;
    /* 83.333% */
    letter-spacing: -0.9px;
}

.popupContent .pp_tit h2 span {
    color: #4a8939;
}

.popupContent .pp_tit p {
    color: #4a8939;
    font-size: 1.8rem;
    font-style: normal;
    font-weight: 400;
    line-height: 3;
    letter-spacing: -0.6px;
}

section.review-section {
    margin: 2.2vw 0.9rem 0.9rem;
    overflow: auto;
    /* 기존 스크롤 유지 */
    -ms-overflow-style: none;
    /* IE, Edge */
    scrollbar-width: none;
    /* Firefox */
    height: 100%;
}

/* WebKit 계열 (Chrome, Safari, Opera) */

section.review-section::-webkit-scrollbar {
    display: none;
}

.review-list {
    padding-bottom: 30%;
}

.review-item {
    background: #fff;
    margin-bottom: 2vw;
}

.review_star {
    display: flex;
    flex-wrap: wrap;
}

.review_star figure {
    display: flex;
    align-items: center;
    gap: 3px;
    margin-right: 8px;
}

.review_star figure svg {
    width: 1.8rem;
    height: auto;
}

.star-rating {
    color: #000;
    font-family: "Noto Sans KR";
    font-size: inherit;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: -0.39px;
}

.reviewer-info {
    display: grid;
}

.review_star {
    margin-bottom: 0.8rem;
}

.reviewer-name {
    margin-bottom: 2rem;
    color: #555;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    letter-spacing: -0.39px;
}

.reviewer-image {
    display: flex;
    align-items: flex-start;
    align-content: flex-start;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 2vw;
}

.reviewer-image picture {
    width: 100%;
    flex: 1 2 40%;
    height: auto;
    aspect-ratio: 1/1;
    object-fit: cover;
    flex-shrink: 0;
    border-radius: 5px;
    overflow: hidden;
    position: relative;
    background: #f5f5f5;
}

.reviewer-image picture.picture3 {
    flex: 1 3 20%;
    aspect-ratio: 1/1.3;
}

.reviewer-image picture img {
    width: 100%;
    height: auto;
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

p.review-text {
    color: #111;
    font-size: inherit;
    font-style: normal;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: -0.39px;
    word-break: keep-all;
}

p.review-text .review-text-strong {
    background-color: #d9fecf;
}

/* Floating 컴포넌트 */

.floating-container {
    position: sticky;
    bottom: 0;
    width: 100%;
    max-width: 920px;
    background: #212121;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    z-index: 1000;
}

.floating-container .floating-content {
    padding: clamp(0px, 1.74vw, 16px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(0px, 0.87vw, 8px);
}

/* 리뷰 롤링 섹션 */

.floating-container .review-rolling {
    background: #fff;
    padding: clamp(0px, 1.3vw, 12px);
    position: relative;
    height: 60px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%;
    display: flex;
    align-items: center;
    gap: clamp(0px, 0.87vw, 8px);
    margin-bottom: clamp(0px, 0.87vw, 8px);
}

.floating-container .review-container {
    position: relative;
    height: 100%;
    width: 100%;
}

.floating-container .review-item {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.5s ease;
    background-color: transparent;
    cursor: pointer;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.floating-container .review-item.active {
    opacity: 1;
    transform: translateY(0);
}

.floating-container .review-item {
    display: flex;
    align-items: center;
    gap: clamp(0px, 0.87vw, 8px);
}

.floating-container .review-image {
    width: clamp(20px, 3.48vw, 32px);
    height: auto;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.floating-container .review-info {
    font-size: clamp(13px, 1.9vw, 16px);
    color: #666;
    flex-shrink: 0;
    font-weight: 500;
    min-width: clamp(10px, 5.43vw, 50px);
}

.floating-container .gender {
    font-weight: 700;
    position: relative;
}

.floating-container .gender-female {
    color: #ff6b6b;
}

.floating-container .gender-male {
    color: #2e69ac;
}

.floating-container .review-text {
    font-size: clamp(13px, 1.9vw, 16px);
    color: #212121;
    line-height: 1.4;
    transition: all 0.2s ease;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
    position: relative;
}

.floating-container .review-item:hover .review-text {
    text-decoration: underline;
}

/* 버튼 그룹 */

.floating-container .floating-buttons {
    display: flex;
    width: 100%;
    height: 60px;
    gap: clamp(0px, 0.87vw, 8px);
}

.floating-container .floating-buttons button {
    width: 100%;
    padding: clamp(0px, 1.3vw, 12px) 0;
    border: none;
    font-size: clamp(13px, 2.17vw, 18px);
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
    overflow: hidden;
}

.floating-container .floating-buttons button::before {
    content: "";
    position: absolute;
    top: -1%;
    left: -75%;
    width: 25%;
    height: 100%;
    background: linear-gradient(120deg, rgba(255, 255, 255, 0.5) 100%);
    transform: skewX(-20deg);
    animation: shine 2s infinite;
    opacity: 0.5;
}

@keyframes shine {
    0% {
        left: -75%;
    }
    100% {
        left: 125%;
    }
}

.floating-container .btn-kakao {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(0px, 0.87vw, 8px);
}

.floating-container .floating-buttons button img {
    display: inline-block;
    width: clamp(15px, 2vw, 22px);
    position: relative;
    top: 1px;
}

.floating-container .btn-more {
    background-color: #FF6B57;
    color: #fff;
    border-radius: 30px;
    border: none;
    padding: clamp(5px, 0.54vw, 5px) clamp(12px, 1.3vw, 12px);
    cursor: pointer;
    font-size: clamp(11px, 1.63vw, 15px);
}

.floating-container .btn-apply {
    background: #55913F;
    color: #fff;
}

.floating-container .btn-kakao {
    background: #FFE93A;
    color: #000;
}

footer {
    background-color: #fff;
    padding: 1.5vw 2.5vw;
}

.footer_inner001 {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 20px;
}

.footer_inner001 .fLbox .fLogo {
    width: 200px;
    margin-bottom: 20px;
}

.footer_inner001 .fLbox .fLogo img {
    width: 100%;
    height: auto;
    display: block;
}

.footer_inner001 .fLbox .fCompany {
    margin: 10px 0;
    font-weight: 500;
    color: #656565;
    font-size: 16px;
}

.footer_inner001 .fInfoLst {
    margin: 15px 0;
    color: #999;
    font-size: 14px;
}

.footer_inner001 .fLbox .fInfoLst li {
    margin-bottom: 10px;
}

.footer_inner001 .fRbox {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    font-size: 14px;
}

.footer_inner001 .fRbox .fLnkLst li {
    margin-bottom: 5px;
}

.footer_inner001 .fRbox .fLnkLst li a {
    color: #999;
}

.footer_inner001 .fRbox .fLnkLst li:last-child a {
    color: #333;
    font-weight: 600;
}

.footer_inner001 .fRbox .fInfoBox .call {
    font-size: 24px;
    color: #333;
    font-weight: 600;
}

.footer_inner001 .fRbox .fInfoBox .timeInfo {
    margin-top: 10px;
    color: #999;
}

.footer_inner001 .fRbox .fInfoBox .timeInfo li {
    margin-bottom: 5px;
}

.fCopyright {
    font-size: 14px;
    color: #999;
}

.new_form {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: clamp(0px, 0.87vw, 8px);
}

.new_form input {
    font-size: clamp(11px, 1.63vw, 15px);
}

.new_form input::placeholder {
    font-size: clamp(11px, 1.63vw, 15px);
}

.form-row1 {
    display: flex;
    gap: clamp(0px, 0.87vw, 8px);
}

.form-row1 input,
.form-row1 select {
    width: 25%;
    outline: none;
    border: none;
    padding: clamp(0px, 1.3vw, 12px);
    height: 45px;
    background: #fff;
    font-size: 14px;
    cursor: pointer;
    font-size: clamp(11px, 1.63vw, 15px);
    border-radius: 0;
    -webkit-border-radius: 0;
    /* 일부 구형 iOS 대응 */
}

.form-row1 select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url('data:image/svg+xml;utf8,<svg fill="%23666" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M8.71 11.71L12 15l3.29-3.29c.39-.39.39-1.02 0-1.41-.39-.39-1.02-.39-1.41 0L12 12.17l-1.88-1.88c-.39-.39-1.02-.39-1.41 0-.39.39-.39 1.02 0 1.41z"/></svg>');
    background-repeat: no-repeat;
    background-position: right clamp(8px, 1.2vw, 12px) center;
    background-size: clamp(20px, 1.5vw, 28px);
    padding-right: clamp(25px, 3vw, 35px);
}

.form-row1 select:invalid {
    color: #666;
}

.form-row1 select:valid {
    color: #000;
}

.form-row2 {
    display: flex;
    gap: clamp(0px, 0.87vw, 8px);
}

.form-row2 input {
    outline: none;
    border: none;
    padding: clamp(0px, 1.3vw, 12px);
    height: 45px;
    border-radius: 0;
    -webkit-border-radius: 0;
    /* 일부 구형 iOS 대응 */
}

.form-row2 .row2-1 {
    width: calc((100% - 2 * clamp(0px, 0.87vw, 8px)) * 0.25);
}

.form-row2 .row2-2 {
    width: calc((100% - 2 * clamp(0px, 0.87vw, 8px)) * 0.51);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(0px, 0.87vw, 8px);
}

.form-row2 .row2-2 input {
    width: calc((100% - 2 * clamp(0px, 0.87vw, 8px)) * 0.3333333);
}

.form-row2 .row2-3 {
    width: calc((100% - 2 * clamp(0px, 0.87vw, 8px)) * 0.25);
    font-weight: bold;
}

.form-row2 .btn-apply {
    border: none;
    cursor: pointer;
    font-size: clamp(13px, 1.9vw, 16px)
}

/* 이용약관페이지 */

#ctt {
    width: 95%;
    margin: 0 auto;
    padding: 50px 0;
}

#ctt header {
    margin-bottom: 30px;
}

#ctt #ctt_con {
    padding: 10px 0;
    line-height: 1.6em;
}

/* Swiper Experience Slider */

.experience-swiper {
    width: 100%;
    max-width: 640px;
    height: auto;
    margin: 20px 0;
}

.experience-swiper .swiper-wrapper {
    display: flex;
    align-items: center;
}

.experience-swiper .swiper-slide {
    width: 100%;
}

.experience-swiper .exp-figure_new {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1.1;
    margin: 0 auto;
}

.experience-swiper .exp-figure_new i {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.experience-swiper .exp-figure_new img {
    width: 100%;
    height: auto;
    overflow: hidden;
    border-radius: 10px;
    will-change: transform, opacity;
    border: 1px solid #69944e;
}

.experience-swiper .exp-figure_new figcaption {
    text-align: center;
    margin-top: 1.8rem;
    font-size: 2.5rem;
    color: #333;
}

.experience-swiper .exp-figure_new figcaption>span {
    color: #69944e;
    font-weight: bold;
}