/* ============ 카카오맵 마커/오버레이 ============ */
.map_marker { position: relative; display: inline-block; }
.my-place-label {
    background: #fff; border: 2px solid var(--mc); padding: 8px 15px;
    border-radius: 30px; font-size: 13px; font-weight: bold; color: #333;
    text-align: center; white-space: nowrap; position: relative; bottom: 50px;
    box-shadow: 0 3px 6px rgba(0,0,0,0.15); cursor: pointer; z-index: 10;
    transform: translateY(-50%);
}
@media screen and (max-width:600px) { .my-place-label { bottom: 50px; } }
.my-place-label:after {
    content: ''; position: absolute; bottom: -8px; left: 50%; transform: translateX(-50%);
    border-top: 8px solid var(--mc); border-left: 8px solid transparent; border-right: 8px solid transparent;
}
.my-place-label:before {
    content: ''; position: absolute; bottom: -5px; left: 50%; transform: translateX(-50%);
    border-top: 8px solid #fff; border-left: 8px solid transparent; border-right: 8px solid transparent; z-index: 1;
}

/* ============ 스크롤바 ============ */
::selection { background-color: var(--mc); color: #fff; }
::-webkit-scrollbar { width: 0.7813vw; }
::-webkit-scrollbar-thumb { background: var(--tc); border-radius: 0px; }

/* ============ Base / Reset ============ */
*, *::before, *::after { box-sizing: unset; margin: 0; }
button { outline: none; border: none; }
html, body { padding: 0; margin: 0; }
ul, ol { list-style: none; padding: 0; margin: 0; }
a { text-decoration: none; color: inherit; }
html { scroll-behavior: smooth; }

.visually-hidden {
    position: absolute !important; width: 1px; height: 1px;
    margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0);
    white-space: nowrap; border: 0;
}

/* ============ Layout Helpers ============ */
section { overflow: hidden; display: flex; justify-content: center; align-items: center; width: 100%; flex-direction: column; }

.pc-mobile { display: flex; }
.mobile-pc { display: none; }
.pc        { display: flex; }
.pc-inline { display: inline; }
.tablet    { display: none; }
.mobile    { display: none; }

.clearfix::before, .clearfix::after { content: ""; display: block; clear: both; }
.flowhid { overflow: hidden; }
.hide    { display: none !important; }
.hideopa { opacity: 0 !important; }
.show    { opacity: 1 !important; }
.absol   { position: absolute; }
.rltv    { position: relative; }
.fwrap   { flex-wrap: wrap; }
.pointer { cursor: pointer; }

.leftflex  { display: flex; justify-content: center; align-items: center; flex-direction: column; width: 50%; }
.rightflex { display: flex; justify-content: center; align-items: center; flex-direction: column; width: 50%; }
.flexrow   { width: 100%; display: flex; justify-content: center; align-items: center; flex-direction: row; }
.flexcol   { width: 100%; display: flex; justify-content: center; align-items: center; flex-direction: column; }

/* 무한 스크롤 (마키) */
.scrX { width: 100%; display: flex; justify-content: center; align-items: center; }
.scrX .scrX_item { animation: marqueeX 20s linear infinite; width: 100%; }
.scrX .scrX_item_absol { right: -100%; width: 100%; }
.scrY { height: 100%; display: flex; justify-content: center; align-items: center; }
.scrY .scrY_item { animation: marqueeY 20s linear infinite; height: 100%; }
.scrY .scrY_item_absol { bottom: -100%; width: 100%; }

/* ============ Fonts ============ */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@400;500;600;700&display=swap");

@font-face { font-family: 'Pretendard'; src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Thin.woff') format('woff'); font-weight: 100; font-style: normal; font-display: swap; }
@font-face { font-family: 'Pretendard'; src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Regular.woff') format('woff'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Pretendard'; src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Bold.woff') format('woff'); font-weight: 700; font-style: normal; font-display: swap; }

body {
    font-family: 'Pretendard','Noto Sans KR',system-ui,-apple-system,Segoe UI,Roboto,Apple SD Gothic Neo,'Noto Serif KR',sans-serif;
}

/* ============ Keyframes (공통 재사용) ============ */
@keyframes marquee    { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes marquee2   { from { transform: translateX(-50%); } to { transform: translateX(0); } }
@keyframes marqueeX   { from { transform: translateX(0); } to { transform: translateX(-100%); } }
@keyframes marqueeY   { from { transform: translateY(0); } to { transform: translateY(-100%); } }
@keyframes rotate360  { 0% { transform: rotate(0); } 100% { transform: rotate(360deg); } }
@keyframes rotate_img { 0% { transform: rotate(0); } 70% { transform: rotate(360deg); } 100% { transform: rotate(360deg); } }
@keyframes bobble     { 0%, 100% { transform: rotate(-3deg); } 50% { transform: rotate(3deg); } }
@keyframes floating   { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(max(-0.8vw, 10px)); } }
@keyframes zoom       { 0% { transform: scale(1); } 50% { transform: scale(1.02); } 100% { transform: scale(1); } }
@keyframes zoom2      { 0% { transform: scale(1); } 50% { transform: scale(1.1); } 100% { transform: scale(1); } }
@keyframes opa        { 0% { opacity: 0; } 50% { opacity: 1; } 100% { opacity: 0; } }
@keyframes opazoom    { 0% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.02); opacity: 0; } 100% { transform: scale(1); opacity: 1; } }
@keyframes ball       { 0% { bottom: 0; } 100% { bottom: 20px; } }
@keyframes blk        { 0%,30% { opacity: 0; } 31%,99% { opacity: 1; } 100% { opacity: 0; } }
@keyframes blk2       { 0%,49% { opacity: 0; } 50%,99% { opacity: 1; } 100% { opacity: 0; } }
@keyframes scaleOpa   {
    0%   { transform: scale(0.5); opacity: 0; }
    50%  { opacity: 1; }
    100% { transform: scale(1);   opacity: 0; }
}
@keyframes scaleOpa2  {
    0%   { transform: scale(1);   opacity: 0; }
    20%  { opacity: 0.4; }
    100% { transform: scale(1.2); opacity: 0; }
}

.rotate    { animation: rotate360 20s linear infinite; }
.blk       { animation: blk 1s infinite; }
.opazoom   { animation: opazoom 1.5s infinite; }
.scaleopa1 { animation: scaleOpa 2s infinite; }
.scaleopa2 { animation: scaleOpa2 2s infinite; }

/* 까딱까딱 캐릭터 모션 — transform-origin 변형 */
.bobble          { animation: bobble 2s ease-in-out infinite; transform-origin: 50% 100%; } /* 발밑 기준 (기본) */
.bobble-top      { animation: bobble 2s ease-in-out infinite; transform-origin: 50% 0%;   } /* 머리 매단 느낌 */
.bobble-left     { animation: bobble 2s ease-in-out infinite; transform-origin: 0% 50%;   } /* 왼쪽 축 회전 */
.bobble-right    { animation: bobble 2s ease-in-out infinite; transform-origin: 100% 50%; } /* 오른쪽 축 회전 */
.bobble-bl       { animation: bobble 2s ease-in-out infinite; transform-origin: 0% 100%;  } /* 왼발 기준 */
.bobble-br       { animation: bobble 2s ease-in-out infinite; transform-origin: 100% 100%;} /* 오른발 기준 */
.bobble-c       { animation: bobble 2s ease-in-out infinite; transform-origin: 50% 50%;} /* 가운데 기준 */

/* 둥둥 떠다니는 모션 */
.floating        { animation: floating 3s ease-in-out infinite; }
.floating-slow   { animation: floating 4.5s ease-in-out infinite; }
.floating-fast   { animation: floating 2s ease-in-out infinite; }

/* 애니메이션 딜레이 — bobble/floating/기타 animation 공용 (0.1s 단위 × 5) */
.ani-d1          { animation-delay: 0.2s; }
.ani-d2          { animation-delay: 0.4s; }
.ani-d3          { animation-delay: 0.6s; }
.ani-d4          { animation-delay: 0.8s; }
.ani-d5          { animation-delay: 1.0s; }
.ani-d6          { animation-delay: 1.2s; }

/* ============ 클라이언트별 섹션 스타일은 아래에 추가 ============ */
.main {
    margin-top: 0; margin-left: 0; width: 100%;
    display: flex; justify-content: flex-start; align-items: center; flex-direction: column;
}

.zin { z-index: 1; }

/* ============================================================= */
/* ===== MV (Main Visual) ===== */
/* ============================================================= */
@media (min-width: 601px) {
.mv {
    background: #f5efe1;
    padding-top: 13.5958vw;       /* 259/캔버스 — first rltv (clover) y */
    padding-bottom: 0vw;
}

/* mv_clover_top — small green clover icon above title (rltv) */
.mv_clover_top {
    margin-top: 0;
    align-self: center;
    width: 2.1522%;                /* 41/캔버스 */
    /* main_01.webp 41x41 — 완성형 클로버 아이콘 */
}
.mv_clover_top img { width: 100%; display: block; }

/* mv_bg — full background image (absol z:0) */
.mv_bg {
    top: 0;
    left: 0;
    width: 100.7874%;              /* naturalW/캔버스 — main_bg.webp PSD 풀폭 */
    /* main_bg.webp — 베이지+클로버4+점들 베이크 */
}
.mv_bg img { width: 100%; display: block; }

/* mv_title — title image (rltv) */
.mv_title {
    margin-top: 2.0997vw;          /* (340-300)/캔버스 — clover bottom→title top */
    align-self: center;
    width: 32.2310%;               /* 614/캔버스 */
    /* main_02.webp 614×181 — 완성형 */
}
.mv_title img { width: 100%; display: block; }

/* mv_desc — description text (rltv) */
.mv_desc {
    margin-top: 2.4147vw;          /* (567-521)/캔버스 */
    align-self: center;
    font-family: var(--mf), 'SUIT', 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: 1.2598vw;           /* 24/캔버스 */
    line-height: 1.417;
    letter-spacing: -0.07em;
    color: #232020;
    text-align: center;
    white-space: nowrap;
}

/* mv_tags — 3 hashtag pills (rltv flex row) */
.mv_tags {
    margin-top: 2.8346vw;          /* (677-623)/캔버스 */
    align-self: center;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5774vw;                 /* 11/캔버스 */
}

.mv_tag {
    height: 3.8320vw;              /* 73/캔버스 — cssShape 예외 */
    border-radius: 1.8110vw;       /* 34.5/캔버스 */
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    font-family: var(--tf), 'IMCrisujin', 'ImcreSoojinOTFRegular', sans-serif;
    font-weight: 400;
    font-size: 1.4698vw;           /* 28/캔버스 */
    line-height: 1;
    letter-spacing: -0.05em;
    white-space: nowrap;
    background: #f5efe1;
    color: #005293;
    border: 1px solid #005293;
    transition: background-color 240ms ease, color 240ms ease, border-color 240ms ease;
}
.mv_tag1 { width: 9.9738vw;  }  /* 190/캔버스 */
.mv_tag2 { width: 11.2861vw; }  /* 215/캔버스 */
.mv_tag3 { width: 10.0262vw; }  /* 191/캔버스 */

.mv_tag.active {
    background: #005293;
    color: #ffffff;
    border-color: #005293;
}

/* mv_marquee — bottom infinite scroll bar (rltv full width) */
.mv_marquee {
    margin-top: 12.0184vw;         /* (998-750)/캔버스 */
    width: 100%;
    height: 4.4094vw;              /* 84/캔버스 — cssShape 예외 */
    background: #ffffff;
    overflow: hidden;
    display: flex;
    align-items: center;
    border-top: 1px solid #e5e0d4;
    border-bottom: 1px solid #e5e0d4;
}
.mv_marquee_track {
    display: flex;
    flex-shrink: 0;
    width: max-content;
    animation: marquee 30s linear infinite;  /* @keyframes marquee: 0 → -50% */
}
.mv_marquee_track img {
    width: 36.0105vw;              /* 686/캔버스 */
    flex-shrink: 0;
    display: block;
    margin-right: 0;
}

}
/* ============================================================= */
/* ===== CON2 — STEP 01/02/03 카드 ===== */
/* ============================================================= */
@media (min-width: 601px) {
.con2 {
    background: #ffffff;
    padding-top: 5.9186vw;
    padding-bottom: 5.516vw;
}

/* deco layer (absol z:0) — bg + 좌우 emoji */
.c2_deco_layer {
    top: 0;
    left: 0;
    width: 100%;
    height: 60.2099vw;             /* sectionH 1147/캔버스 */
    pointer-events: none;
}
.c2_bg {
    top: 0;
    left: 0;
    width: 100.7874%;
}
.c2_bg img { width: 100%; display: block; }

.c2_emoji {
    z-index: 5;
}
.c2_emoji img { width: 100%; display: block; }
.c2_emoji_left {
    top: 22.5722vw;                /* (3444-3014)/캔버스 */
    left: 10.1312%;                /* 193/캔버스 */
    width: 5.6168%;                /* 107/캔버스 */
}
.c2_emoji_right {
    top: 35.8530vw;                /* (3697-3014)/캔버스 */
    left: 84.4619%;                /* 1609/캔버스 */
    width: 5.4593%;                /* 104/캔버스 */
}

/* c2_eyebrow — small "사진만 찍는 곳? NO!" */
.c2_eyebrow {
    margin-top: 0;
    align-self: center;
    font-family: var(--ff), 'Moneygraphy-Rounded', sans-serif;
    font-weight: 400;
    font-size: 1.5748vw;           /* 30/캔버스 */
    line-height: 0.9;
    letter-spacing: -0.07em;
    color: #232020;
    text-align: center;
    white-space: nowrap;
}

/* c2_title — large "찍고 끝이 아닌 모멘터링!" */
.c2_title {
    margin-top: 1.3123vw;          /* (3274-3249)/캔버스 */
    align-self: center;
    font-family: var(--sf), 'YPairing', serif;
    font-weight: 400;               /* PSD styleRuns[0]: YPairingFontOTF (regular) */
    font-size: 3.1496vw;           /* 60/캔버스 */
    line-height: 0.95;
    letter-spacing: -0.07em;
    color: #232020;
    text-align: center;
    white-space: nowrap;
}
.c2_title strong {
    font-weight: 700;               /* PSD styleRuns[1]: YPairingFontOTF-Bd */
}

/* c2_cards — 3 step cards (rltv flex row) */
.c2_cards {
    margin-top: 2.9396vw;          /* (3411-3274-57)/캔버스 */
    align-self: center;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: center;
    gap: 1.2598vw;                 /* 24/캔버스 */
}
.c2_card {
    width: 45.1rem;              /* 451/캔버스 */
}
.c2_card img { width: 100%; display: block; }

/* 모바일 전용 swiper — PC에서 숨김 */
.c2_cards_swiper,
.c3_stories_swiper {
    display: none;
}

/* c2_outro — "모멘터링은 사진만 찍고 끝나는 게 아니라..." */
.c2_outro {
    margin-top: 2.4147vw;          /* (3878-3832)/캔버스 */
    align-self: center;
    font-family: var(--mf), 'SUIT', 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: 1.1549vw;           /* 22/캔버스 */
    line-height: 1.455;
    letter-spacing: -0.07em;
    color: #232020;
    text-align: center;
    white-space: nowrap;
}
.c2_outro strong {
    font-weight: 800;              /* SUIT-ExtraBold */
}

}
/* ============================================================= */
/* ===== CON3 — 선택받는 무인사진관 STORY 01/02/03 ===== */
/* ============================================================= */
@media (min-width: 601px) {
.con3 {
    background: #ffffff;
    padding-top: 8.5039vw;          /* (4196-4034)/캔버스 */
    padding-bottom: 5.7795vw;
}

/* c3_bg — top gradient strip (absol) */
.c3_bg {
    top: 0.1050vw;                  /* (4036-4034)/캔버스 */
    left: 0;
    width: 100.8924%;               /* 1922/캔버스 (naturalW) */
}
.c3_bg img { width: 100%; display: block; }

/* c3_title — heading (rltv) */
.c3_title {
    margin-top: 0;
    align-self: center;
    font-family: var(--sf), 'YPairing', serif;
    font-weight: 400;               /* PSD: YPairingFontOTF */
    font-size: 3.1496vw;            /* 60/캔버스 */
    line-height: 1.075;
    letter-spacing: -0.07em;
    color: #232020;
    text-align: center;
    white-space: nowrap;
}
.c3_title strong {
    font-weight: 700;               /* PSD: YPairingFontOTF-Bd */
}
.c3_title .c3_title_accent {
    color: #48855e;                 /* "구조" green */
}

/* c3_stories — column stack of 3 stories */
.c3_stories {
    margin-top: 12.4094vw;          /* 유저 보정값 */
    align-self: center;
    width: 63.1496vw;               /* (1562-359)/캔버스 */
    display: flex;
    flex-direction: column;
    align-items: stretch;
    border: 1px solid #e5e5e5;      /* 외곽 실선 테두리 */
    border-radius: 2.6247vw;        /* 50/캔버스 */
}

/* c3_story — single row, two columns */
.c3_story {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    width: 100%;
    position: relative;
}

/* photo column — overflow hidden은 카드 사진 잘림용 */
.c3_story_photo {
    width: 49.8753%;                /* 600/1203 — naturalW 기준 */
    overflow: hidden;
    position: relative;
}
.c3_story_photo img {
    width: 100%;
    display: block;
}

/* text column */
.c3_story_text {
    width: 49.8753%;                /* 600/1203 */
    background: #ffffff;
    box-sizing: border-box;
    position: relative;
}

/* story label (small green eyebrow) */
.c3_story_label {
    margin: 0;
    font-family: var(--tf), 'IMCrisujin', sans-serif;
    font-weight: 400;
    font-size: 1.0499vw;            /* 20/캔버스 */
    line-height: 0.95;
    letter-spacing: 0;
    color: #48855e;
    text-transform: lowercase;
    white-space: nowrap;
}

/* story heading (bold black) */
.c3_story_heading {
    margin: 8rem 0 0 0;
    font-family: var(--mf), 'SUIT', 'Pretendard', sans-serif;
    font-weight: 800;
    font-size: 1.3648vw;
    letter-spacing: -0.05em;
    color: #232020;
    white-space: nowrap;
}

/* story body (multi-segment paragraph) */
.c3_story_body {
    margin: 1.4173vw 0 0 0;         /* (4811-4783)/캔버스 ≈ 28/1905 */
    font-family: var(--mf), 'SUIT', 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: 0.9449vw;            /* 18/캔버스 */
    line-height: 1.667;
    letter-spacing: -0.05em;
    color: #232020;
}
.c3_story_body strong {
    font-weight: 800;               /* PSD: SUIT-ExtraBold */
}

/* story deco (absolute icon) */
.c3_story_deco {
    position: absolute;
    display: block;
}
.c3_story_deco img {
    width: 100%;
    display: block;
}

/* ===== STORY 01 — 좌상 라운드, 우측에 클로버 ===== */
.c3_story1 {
    /* row 1 */
}
.c3_story1_photo {
    background: #000000;
    border-top-left-radius: 2.6247vw;  /* 50/캔버스 */
}
.c3_story1_text {
    border-top-right-radius: 2.6247vw;
    padding: 3.4121vw 3.3596vw;     /* (4614-4559)/캔버스 / (1022-958)/캔버스 */
}
.c3_story1_deco {
    top: 14.8031vw;                 /* (4841-4559)/캔버스 */
    left: 84.6667%;                 /* (1466-958)/600 */
    width: 27.6667%;                /* 166/600 */
}

/* ===== STORY 02 — 라운드 없음, 우측 그린 폴카닷 + 키링 ===== */
.c3_story2 {
    /* row 2 */
}
.c3_story2_text {
    padding: 4.0184vw 3.4121vw;     /* 유저 보정값 */
}
.c3_story2_photo {
    width: 50.0416%;                /* 602/1203 */
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    background: #b7d5b4;            /* polka background fallback */
}
.c3_story2_photo .c3_story2_polka {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;                /* 600/602 — naturalW/parent */
    height: 100%;
    z-index: 0;
}
.c3_story2_photo .c3_story2_keyring {
    /* 키링 webp — naturalW(272) 기준 */
    width: 45.1827%;                /* 272/602 */
    position: absolute;
    top: 2.7297vw;                  /* (5112-5060)/캔버스 */
    left: 28.0731%;                 /* (1128-959)/602 */
    z-index: 1;
}
.c3_story2_deco {
    top: -1.0052vw;                 /* 유저 보정값 */
    left: -21.7219%;                /* 유저 보정값 */
    width: 29.4702%;                /* 178/604 — naturalW */
}

/* ===== STORY 03 — 좌하/우하 라운드, 우측에 별 ===== */
.c3_story3 {
    /* row 3 */
}
.c3_story3_photo {
    background: #000000;
    border-bottom-left-radius: 2.6247vw;

    img {
        height: 100%;
    }
}
.c3_story3_text {
    border-bottom-right-radius: 2.6247vw;
    padding: 2.8871vw 3.3596vw;     /* (5614-5559)/캔버스 / (1022-958)/캔버스 */
}
.c3_story3_deco {
    top: 3.6745vw;
    left: 86.4768%;                 /* 유저 보정값 */
    width: 22.8477%;                /* 138/604 — naturalW */
}

}
/* ============================================================= */
/* ===== CON4 — 비교 보드 ===== */
/* ============================================================= */
@media (min-width: 601px) {
.con4 {
    background: #f5efe1;
    padding-bottom: 5.9318vw;
    overflow: hidden;
}

.con4_edge_lines {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 1;
}

.con4_edge_line {
    position: absolute;
    top: 0;
    width: 0;
    height: 100%;
    border-left: 1px solid #48855e;
    box-sizing: border-box;
}

.con4_edge_line--left-outer {
    left: 3.097113%;
}

.con4_edge_line--left-inner {
    left: 3.569554%;
}

.con4_edge_line--right-inner {
    left: 97.007874%;
}

.con4_edge_line--right-outer {
    left: 97.532808%;
}

.con4_edge_clover {
    display: block;
    z-index: 2;
}

.con4_edge_clover img {
    width: 100%;
    display: block;
}

.con4_edge_clover--left {
    top: 25.564304vw;
    left: 2.572178%;
    width: 1.574803%;
}

.con4_edge_clover--right {
    top: 25.564304vw;
    left: 96.535433%;
    width: 1.574803%;
}

.con4_eyebrow {
    margin: 0;
    margin-top: 7.769029vw;
    align-self: center;
    font-family: var(--ff), "Moneygraphy-Rounded", sans-serif;
    font-weight: 400;
    font-size: 1.5748vw;
    line-height: 0.9;
    letter-spacing: -0.07em;
    color: #232020;
    text-align: center;
    white-space: nowrap;
}

.con4_title {
    margin: 0;
    margin-top: 1.574803vw;
    align-self: center;
    font-family: var(--sf), "YPairing", serif;
    font-weight: 400;
    font-size: 3.1496vw;
    line-height: 0.95;
    letter-spacing: -0.07em;
    color: #232020;
    text-align: center;
    white-space: nowrap;
}

.con4_title strong {
    font-weight: 700;
}

.con4_title_accent {
    color: #48855e;
}

.con4_mobile_break {
    display: none;
}

.con4_board {
    margin-top: 2.414698vw;
    align-self: center;
    width: 92.9rem;
    z-index: 3;
}

.con4_board_pc,
.con4_board_mobile_panel,
.con4_mascot {
    display: flex;
    justify-content: center;
    align-items: center;
}

.con4_board img,
.con4_board_mobile_panel img,
.con4_mascot img {
    width: 100%;
    display: block;
}

.con4_board_pc.pc-mobile {
    width: 100%;
}

.con4_board_mobile.mobile-pc {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}

.con4_board_mobile_panel {
    position: absolute;
}

.con4_board_mobile_panel--left {
    top: 1.259843vw;
    left: 0;
    width: 50.200401%;
}

.con4_board_mobile_panel--right {
    top: 0;
    left: 45.791583%;
    width: 50.100200%;
}

.con4_mascot {
    position: absolute;
    top: 20.997375vw;
    left: 91.282565%;
    width: 19.739479%;
    z-index: 4;
}


}
/* ============================================================= */
/* ===== CON5 — POINT 01/02/03 ===== */
/* ============================================================= */
@media (min-width: 601px) {
.main .con5 {
    background: #ffffff;
    padding-top: 0vw;
    padding-bottom: 5.6168vw;
    height: 100vh;
    justify-content: safe center;
}

/* eyebrow + title */
.c5_eyebrow {
    margin-top: 7%;                 /* 유저 보정값 */
    align-self: center;
    font-family: var(--ff), 'Moneygraphy-Rounded', sans-serif;
    font-weight: 400;
    font-size: 1.5748vw;            /* 30/캔버스 */
    line-height: 0.967;
    letter-spacing: -0.07em;
    color: #232020;
    text-align: center;
    white-space: nowrap;
}
.c5_title {
    margin-top: 1.4698vw;
    align-self: center;
    font-family: var(--sf), 'YPairing', serif;
    font-weight: 400;               /* PSD: YPairing-Bd 일부 */
    font-size: 3.1496vw;            /* 60/캔버스 */
    line-height: 0.95;
    letter-spacing: -0.07em;
    color: #232020;
    text-align: center;
    white-space: nowrap;
}
.c5_title .c5_title_bold,
.c5_title .c5_title_accent {
    font-weight: 700;
}
.c5_title .c5_title_accent {
    color: #48855e;
}

/* points stack */
.c5_points {
    margin-top: 3.4646vw;
    align-self: center;
    width: 69.5013vw;               /* (1622-298)/캔버스 */
    display: flex;
    flex-direction: column;
    gap: 0.8924vw;
    position: relative;
}

/* card base */
.c5_card {
    position: relative;
    width: 100%;
    border-radius: 1.5748vw;        /* 30/캔버스 */
    box-sizing: border-box;
    height: 31.496063vw;            /* 600/캔버스(1905) — 3장 모두 동일 고정 */
    border: 1px solid #e5e5e5;
    /* overflow: hidden; */
}

.c5_card1{ position: relative; z-index: 10;}
.c5_card2{ position: relative; z-index: 20;}
.c5_card3{ position: relative; z-index: 30;}

.c5_card2 {
    border-color: rgba(0, 0, 0, 0.08);
}
.c5_card_bg {
    position: absolute;
    top: -1px;
    left: -1px;
    width: calc(99.6979% + 2px);    /* 1320/1324 + border 보정 */
    height: calc(100% + 2px);
    z-index: 0;
    border-radius: inherit;
    overflow: hidden;
}
.c5_card_bg img {
    width: 100%;
    height: 100%;
    display: block;
}
.c5_card_inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: row;
    width: 100%;
    height: 100%;
    padding: 0vw 5.9843vw;
    box-sizing: border-box;
    align-items: center;
}
.c5_card_left,
.c5_card_right {
    width: 50%;
    display: flex;
    flex-direction: column;
}
/* card label (35px) */
.c5_card_label {
    margin: 0;
    font-family: var(--tf), 'IMCrisujin', sans-serif;
    font-weight: 400;
    font-size: 1.8373vw;            /* 35/캔버스 */
    line-height: 1.114;
    letter-spacing: -0.05em;
    color: #000000;
}
.c5_card_label--white {
    position: absolute;
    top: 3.4068vw;                 /* (8234-8131)/캔버스 */
    left: 50%;
    transform: translateX(-50%);
    color: #ffffff;
    white-space: nowrap;
    text-align: center;
    z-index: 3;
}
.c5_label_accent--green { color: #48855e; }
.c5_label_accent--blue { color: #3d6797; }

/* card heading (24px ExtraBold) */
.c5_card_heading {
    margin: 2.9921vw 0 0 0;         /* (7789-7732)/캔버스 = 57/1905 PSD label_bottom→heading */
    font-family: var(--mf), 'SUIT', 'Pretendard', sans-serif;
    font-weight: 800;
    font-size: 1.2598vw;            /* 24/캔버스 */
    line-height: 1;
    letter-spacing: -0.05em;
    color: #232020;
    white-space: nowrap;
}
.c5_card_heading--white { color: #ffffff; }

/* card body (20px multi-segment) */
.c5_card_body {
    margin: 1.5748vw 0 0 0;         /* (7843-7813)/캔버스 ≈ 30/1905 */
    font-family: var(--mf), 'SUIT', 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: 1.0499vw;            /* 20/캔버스 */
    line-height: 1.5;
    letter-spacing: -0.05em;
    color: #232020;
}
.c5_card_body--white { color: #ffffff; }
.c5_card_body strong {
    font-weight: 800;               /* SUIT-ExtraBold */
}

/* sidebar POINT label — 카드별 top 다름 */
.c5_card_point {
    position: absolute;
    right: unset;
    left: 100%;
    width: 3.2021vw;                /* 61/캔버스 */
    height: auto;
    display: block;
    z-index: 2;
}
.c5_card1 .c5_card_point {
    top: 1.8373vw;                  /* (7571-7536)/캔버스 */
}
.c5_card2 .c5_card_point {
    top: 11.1661vw;                 /* (8338-8131)/캔버스 */
}
.c5_card3 .c5_card_point {
    top: 20.7402vw;                 /* 유저 보정값 */
}

/* ===== POINT 01 ===== */
.c5_card1 {
    background: #fefff1;
}
.c5_card1_chart_wrap {
    position: relative;
    width: 50%;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    margin-right: -6%;
    margin-left: 6%;
}
.c5_card1_chart {
    width: 28.7139vw;               /* 547/캔버스 */
    height: auto;
    display: block;
}
.c5_card1_badge {
    position: absolute;
    top: 16.7454vw;                 /* (7855-7536)/캔버스 */
    left: 78.7009%;                 /* (1340-298)/1324 */
    width: 8.0315vw;                /* 153/캔버스 */
    height: auto;
    z-index: 2;
}

/* ===== POINT 02 ===== */
.c5_card2 {
    background: #48855e;
}
.c5_card2_keyrings_wrap {
    position: relative;
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: -2%;
    margin-right: 6%;
    margin-top: 8rem;
}
.c5_card2_keyrings {
    width: 46rem;               /* 456/캔버스 */
    height: auto;
    display: block;
}
.c5_card2_label_img {
    position: absolute;
    top: 18.7612vw;
    left: 36.6103%;
    width: 17.1rem;
    height: auto;
    z-index: 2;
}

/* ===== POINT 03 ===== */
.c5_card3 {
    background: #ffffff;
    .c5_card_inner{ 
        padding: 0vw 1vw 0 5.9843vw;        
    }
}
.c5_card3_keyrings_wrap {
    position: relative;
    width: 56.9rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: visible;
}

}
/* ============================================================= */
/* ===== CON6 — 키링 하나로 시작되는 확산 ===== */
/* ============================================================= */
@media (min-width: 601px) {
.con6 {
    background: #ffffff;
    padding-top: 0;
    padding-bottom: 0;
}

.con6_stage {
    width: 100%;
    aspect-ratio: 1.851312;
    overflow: hidden;
    margin-top: -3%;
    margin-bottom: -2%;
}

.con6_left_panel {
    top: 1.784777vw;
    left: -0.104987%;
    width: 50.603675%;
    aspect-ratio: 1;
    background: #fdfeee;
}

.con6_decos {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
}

.con6_deco {
    position: absolute;
    display: block;
    opacity: 1;
    transition: transform 820ms cubic-bezier(0.22, 1, 0.36, 1);
}

.con6_deco img {
    display: block;
    width: 100%;
}

.con6_deco_tag_white {
    top: 0;
    left: 1.049869%;
    width: 10.288714%;
}

.con6_deco_ball_pink {
    top: 0.524934vw;
    left: 24.146982%;
    width: 8.976378%;
}

.con6_deco_tag_red {
    top: 13.175853vw;
    left: 38.110236%;
    width: 9.081365%;
}

.con6_deco_ball_blue {
    top: 23.779528vw;
    left: -1.102362%;
    width: 10.341207%;
}

.con6_deco_tag_yellow {
    top: 34.488189vw;
    left: 6.929134%;
    width: 11.233596%;
}

.con6_deco_capsule {
    top: 35.695538vw;
    left: 35.118110%;
    width: 14.593176%;
}

.con6_review_panel {
    top: 10.393701vw;
    left: 17.217848%;
    width: 17.112861%;
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 2;
    transition: transform 860ms cubic-bezier(0.22, 1, 0.36, 1);
}

.con6_review_card {
    width: 100%;
    aspect-ratio: 326 / 634;
    border-radius: 1.574803vw;
    background: #ffffff;
    overflow: hidden;
    box-shadow: 0.0000vw 0.5249vw 0.5249vw 0.0000vw rgba(42, 29, 14, 0.14901960784313725);
}

.con6_review_image {
    display: block;
    width: 99.079755%;
    margin-top: 0.157480vw;
    margin-left: auto;
    margin-right: auto;
}

.con6_review_caption {
    margin: 1.207349vw 0 0 0;
    font-family: var(--mf), 'SUIT', 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: 0.839895vw;
    line-height: 2;
    letter-spacing: -0.07em;
    color: #000000;
    text-align: center;
    white-space: nowrap;
}

.con6_copy {
    top: 12.493438vw;
    left: 58.267717%;
    width: 34.698163%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    z-index: 2;
    transition: transform 900ms cubic-bezier(0.16, 1, 0.3, 1) 120ms;
}

.con6_eyebrow {
    margin: 0 0 0 9.077156%;
    font-family: var(--ff), 'Moneygraphy-Rounded', sans-serif;
    font-weight: 400;
    font-size: 1.574803vw;
    line-height: 0.933;
    letter-spacing: -0.07em;
    color: #232020;
    text-align: left;
    white-space: nowrap;
}

.con6_title {
    margin: 1.574803vw 0 0 6.656581%;
    font-family: var(--sf), 'YPairing', serif;
    font-weight: 400;
    font-size: 3.149606vw;
    line-height: 0.95;
    letter-spacing: -0.07em;
    color: #232020;
    text-align: left;
    white-space: nowrap;
}

.con6_title strong,
.con6_title_accent {
    font-weight: 700;
}

.con6_title_accent {
    color: #48855e;
}

.con6_search_box {
    margin-top: 1.942257vw;
    width: 100%;
    aspect-ratio: 661 / 326;
    border-radius: 1.574803vw;
    background: #ffffff;
    box-shadow: 0.0000vw 0.0000vw 0.8399vw 0.0000vw rgba(42, 29, 14, 0.050980392156862744);
}

.con6_search_icon {
    top: 1.364829vw;
    left: 91.225416%;
    width: 4.236006%;
}

.con6_search_divider {
    top: 3.884514vw;
    left: 0;
    width: 100%;
    height: 2px;
    background: #f1efe4;
}

.con6_search_item {
    margin: 0;
    font-family: var(--mf), 'SUIT', 'Pretendard', sans-serif;
    font-size: 1.259843vw;
    line-height: 0.917;
    letter-spacing: -0.07em;
    text-align: left;
    white-space: nowrap;
}

.con6_search_item_active {
    top: 1.574803vw;
    left: 5.143722%;
    font-weight: 800;
    color: #232020;
}

.con6_search_item_2 {
    top: 6.141732vw;
    left: 5.295008%;
    font-weight: 400;
    color: #a5a5a5;
}

.con6_search_item_3 {
    top: 8.871391vw;
    left: 5.295008%;
    font-weight: 400;
    color: #a5a5a5;
}

.con6_search_item_4 {
    top: 11.601050vw;
    left: 5.143722%;
    font-weight: 400;
    color: #a5a5a5;
}

.con6_search_item_5 {
    top: 14.330709vw;
    left: 5.295008%;
    font-weight: 400;
    color: #a5a5a5;
}

.con6_body {
    margin: 2.572178vw auto 0 auto;
    width: 88.502269%;
    font-family: var(--mf), 'SUIT', 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: 1.154856vw;
    line-height: 1.455;
    letter-spacing: -0.07em;
    color: #232020;
    text-align: center;
    white-space: nowrap;
}

.con6_body strong {
    font-weight: 800;
}


}
/* ============================================================= */
/* ===== CON7 — 사진 퀄리티까지 설계한 모멘터링 ===== */
/* ============================================================= */
@media (min-width: 601px) {
.con7 {
    background: #ffffff;
    padding-top: 0;
    padding-bottom: 0;
}

.con7_stage {
    width: 100%;
    aspect-ratio: 1.976141;
    overflow: hidden;
}

.con7_left_copy {
    top: 13.385827vw;
    left: 9.553806%;
    width: 29.501312%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    z-index: 2;
}

.con7_eyebrow {
    margin: 0;
    width: 100%;
    font-family: var(--ff), 'Moneygraphy-Rounded', sans-serif;
    font-weight: 400;
    font-size: 1.574803vw;
    line-height: 0.967;
    letter-spacing: -0.07em;
    color: #232020;
    text-align: left;
    white-space: nowrap;
}

.con7_title {
    margin: 1.469816vw 0 0 0.052493vw;
    width: 63.701068%;
    font-family: var(--sf), 'YPairing', serif;
    font-weight: 400;
    font-size: 3.149606vw;
    line-height: 1.075;
    letter-spacing: -0.07em;
    color: #232020;
    text-align: left;
    white-space: nowrap;
}

.con7_title strong {
    font-weight: 700;
}

.con7_title_accent {
    color: #48855e;
    font-weight: 700;
}

.con7_body {
    margin: 2.309711vw 0 0 0;
    width: 75.088968%;
    font-family: var(--mf), 'SUIT', 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: 1.154856vw;
    line-height: 1.455;
    letter-spacing: -0.07em;
    color: #232020;
    text-align: left;
    white-space: nowrap;
}

.con7_body strong {
    font-weight: 800;
}

.con7_right_visual {
    top: 0;
    left: 50.393701%;
    width: 50.393701%;
    height: 100%;
    z-index: 1;
    overflow: hidden;
}

.con7_right_bg {
    top: 0.104987vw;
    left: 0;
    width: 100%;
}

.con7_right_bg img,
.con7_top_badge img,
.con7_bottom_badge img,
.con7_slide img {
    width: 100%;
    display: block;
}

.con7_top_badge {
    top: 6.194226vw;
    left: 67.916667%;
    width: 28.333333%;
    z-index: 4;
}

.con7_bottom_badge {
    top: 39.055118vw;
    left: 4.479167%;
    width: 21.979167%;
    z-index: 5;
}

.con7_swiper_shell {
    top: 10.551181vw;
    left: 10.833333%;
    width: 89.166667%;
    aspect-ratio: 1.523132;
    z-index: 3;
}

.con7_swiper,
.con7_swiper .swiper-wrapper {
    width: 100%;
    height: 100%;
    overflow: visible;
}

.con7_swiper .swiper-wrapper {
    align-items: stretch;
}

.con7_slide {
    width: 19.685039vw;
    height: auto;
    flex-shrink: 0;
}

}
/* ============================================================= */
/* ===== CON8 — 영상으로 보는 모멘터링 ===== */
/* ============================================================= */
@media (min-width: 601px) {
.con8 {
    background: #ffffff;
    padding-top: 7.4541vw;          /* (11491-11349)/캔버스 */
    padding-bottom: 6.8766vw;       /* (12316-12185)/캔버스 */
}

/* full-bleed bg */
.c8_bg {
    top: 0;
    left: 0;
    width: 100.7874%;               /* naturalW/캔버스 — con08_bg.webp 풀폭 */
    height: 100%;
    z-index: 0;
}
.c8_bg img {
    width: 100%;
    height: 100%;
    display: block;
}

/* 4모서리 클로버 deco */
.c8_clovers {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
}
.c8_clover {
    position: absolute;
    width: 2.3097vw;                /* 44/캔버스 */
    height: auto;
    display: block;
    animation: rotate_img 4s ease-in-out infinite;
    transform-origin: 50% 50%;
}

.c8_clover_tl {
    top: 3.4121vw;                  /* (11414-11349)/캔버스 */
    left: 3.0971%;                  /* 59/1905 */
}
.c8_clover_tr {
    top: 3.4121vw;
    right: 3.0971%;                 /* 59/1905 (대칭) */
}
.c8_clover_bl {
    bottom: 3.4121vw;               /* (12316-12247)/캔버스 */
    left: 3.0971%;
}
.c8_clover_br {
    bottom: 3.4121vw;
    right: 3.0971%;
}

/* eyebrow */
.c8_eyebrow {
    margin-top: 0;                  /* pt가 7.4541vw로 처리 */
    align-self: center;
    font-family: var(--ff), 'Moneygraphy-Pixel', 'Moneygraphy-Rounded', sans-serif;
    font-weight: 400;
    font-size: 1.5748vw;            /* 30/캔버스 */
    line-height: 0.933;
    letter-spacing: -0.07em;
    color: #232020;
    text-align: center;
    white-space: nowrap;
}

/* title */
.c8_title {
    margin-top: 1.4173vw;           /* (11546-11519)/캔버스 */
    align-self: center;
    font-family: var(--sf), 'YPairing', serif;
    font-weight: 400;               /* PSD: YPairing */
    font-size: 3.1496vw;            /* 60/캔버스 */
    line-height: 0.95;
    letter-spacing: -0.07em;
    color: #232020;
    text-align: center;
    white-space: nowrap;
}
.c8_title strong {
    font-weight: 700;               /* PSD: YPairing-Bd */
}
.c8_title .c8_title_accent {
    color: #48855e;                 /* "영상" green */
}

/* video wrapper */
.c8_video {
    margin-top: 1.9948vw;           /* (11641-11603)/캔버스 */
    align-self: center;
    width: 51.2861vw;               /* 977/캔버스 */
    height: 28.5564vw;              /* 544/캔버스 — iframe ratio 977x544 */
    background: #ffffff;
    border-radius: 1.5748vw;        /* 30/캔버스 */
    overflow: hidden;
    position: relative;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
}
.c8_video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

}
/* ============================================================= */
/* ===== CON9 — 모멘터링 실제 운영 데이터 ===== */
/* ============================================================= */
@media (min-width: 601px) {
.con9 {
    background: #48855e;
    padding-top: 7.1391vw;          /* (12447-12311)/캔버스 */
    padding-bottom: 6.8766vw;       /* (13204-13073)/캔버스 */
}

/* deco layer */
.c9_decos {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
}
.c9_deco {
    position: absolute;
    display: block;
}
.c9_deco_left {
    top: 27.9790vw;                 /* (12844-12311)/캔버스 */
    left: 8.6614%;                  /* 165/1905 */
    width: 12.4934vw;               /* 238/캔버스 */
}
.c9_deco_right {
    top: 11.7060vw;                 /* (12534-12311)/캔버스 */
    left: 76.7979%;                 /* 1463/1905 */
    width: 16.5879vw;               /* 316/캔버스 */
}
.c9_deco_dot1 {
    top: 13.2283vw;                 /* (12563-12311)/캔버스 */
    left: 24.1995%;                 /* 461/1905 */
    width: 2.6772vw;                /* 51/캔버스 */
}
.c9_deco_dot2 {
    top: 33.2283vw;                 /* (12944-12311)/캔버스 */
    left: 59.8425%;                 /* 1140/1905 */
    width: 3.5171vw;                /* 67/캔버스 */
}

/* eyebrow */
.c9_eyebrow {
    margin-top: 0;                  /* pt가 7.1391vw로 처리 */
    align-self: center;
    font-family: var(--sf), 'YPairing', serif;
    font-weight: 700;               /* PSD: YPairing-Bd */
    font-size: 1.5748vw;            /* 30/캔버스 */
    line-height: 0.967;
    letter-spacing: -0.07em;
    color: #ffffff;
    text-align: center;
    white-space: nowrap;
}

/* title */
.c9_title {
    margin-top: 1.4698vw;           /* (12504-12476)/캔버스 */
    align-self: center;
    font-family: var(--sf), 'YPairing', serif;
    font-weight: 400;
    font-size: 3.1496vw;            /* 60/캔버스 */
    line-height: 0.95;
    letter-spacing: -0.07em;
    color: #ffffff;
    text-align: center;
    white-space: nowrap;
}
.c9_title strong {
    font-weight: 700;
}
.c9_title .c9_title_accent {
    color: #d1ff6d;                 /* 형광초록 */
}

/* cards row — absol layout for 3 cards with slight y offset */
.c9_cards {
    margin-top: 4.4042vw;
    align-self: center;
    width: 60.7349vw;
    height: 16.0105vw;
    position: relative;
}
.c9_card {
    position: absolute;
    display: block;
}
.c9_card1 {
    top: 1.9423vw;                  /* (12683-12646)/캔버스 */
    left: 0;
    width: 22.9921vw;               /* 438/캔버스 */
}
.c9_card2 {
    top: 0;                         /* (12646-12646)/캔버스 */
    left: 32.5842%;                 /* (760-383)/1157 */
    width: 22.8871vw;               /* 436/캔버스 */
}
.c9_card3 {
    top: 2.9396vw;                  /* (12702-12646)/캔버스 */
    left: 64.5635%;                 /* (1130-383)/1157 */
    width: 22.9921vw;               /* 438/캔버스 */
}

/* outro */
.c9_outro {
    margin-top: 3.8320vw;
    align-self: center;
    font-family: var(--mf), 'SUIT', 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: 1.2598vw;
    line-height: 1.3;
    letter-spacing: -0.07em;
    color: #ffffff;
    text-align: center;
}
.c9_outro strong {
    font-weight: 800;               /* SUIT-ExtraBold */
}

}
/* ============================================================= */
/* ===== CON10 — 안정적으로 쌓이는 수익 ===== */
/* ============================================================= */
@media (min-width: 601px) {
.con10 {
    background: #000000cc;
    padding-top: 6.6667vw;
    padding-bottom: 5.0394vw;
    overflow: hidden;
    /* height: 100vh; */
    box-sizing: border-box;
}

/* dark store bg */
.c10_bg {
    top: 0;
    left: 0;
    width: 100.7874%;               /* naturalW/캔버스 */
    height: 100%;
    z-index: 0;
    opacity: 0.5;
}
.c10_bg img {
    width: 100%;
    height: 100%;
    display: block;
}

/* eyebrow */
.c10_eyebrow {
    margin-top: 0;
    align-self: center;
    font-family: var(--ff), 'Moneygraphy-Rounded', sans-serif;
    font-weight: 400;
    font-size: 1.5748vw;            /* 30/캔버스 */
    line-height: 0.967;
    letter-spacing: -0.07em;
    color: #ffffff;
    text-align: center;
    white-space: nowrap;
}

/* title */
.c10_title {
    margin-top: 1.4698vw;           /* (185-157)/캔버스 */
    align-self: center;
    font-family: var(--sf), 'YPairing', serif;
    font-weight: 400;
    font-size: 3.1496vw;            /* 60/캔버스 */
    line-height: 0.95;
    letter-spacing: -0.07em;
    color: #ffffff;
    text-align: center;
    white-space: nowrap;
}
.c10_title strong {
    font-weight: 700;
}
.c10_title .c10_title_accent {
    color: #d1ff6d;
}

/* amount black box */
.c10_amount {
    margin-top: 2.9921vw;           /* (299-242)/캔버스 */
    align-self: center;
    width: 52.7034vw;               /* 1004/캔버스 */
    height: 13.1759vw;              /* 251/캔버스 */
    background: #000000;
    border: 1px solid #d1ff6d;
    border-radius: 1.0499vw;        /* 20/캔버스 */
    position: relative;
}
.c10_amount_label {
    position: absolute;
    top: 1.9921vw;                  /* (356-299)/캔버스 */
    left: 25.6972%;                 /* (716-458)/1004 */
    margin: 0;
    font-family: var(--sf), 'YPairing', serif;
    font-weight: 700;
    font-size: 1.3648vw;            /* 26/캔버스 */
    line-height: 0.962;
    letter-spacing: -0.07em;
    color: #d1ff6d;
    white-space: nowrap;
}
.c10_amount_number {
    position: absolute;
    top: 6.0318vw;                  /* (412-299)/캔버스 */
    left: 26.012%;                /* (679-458)/1004 */
    margin: 0;
    font-family: 'proxima-nova', 'ProximaNovaHangeul-Extrabold', var(--mf), 'SUIT', sans-serif;
    font-weight: 800;               /* PSD: ProximaNovaHangeul-Extrabold */
    font-size: 5.2493vw;            /* 100/캔버스 */
    line-height: 0.82;
    letter-spacing: -0.05em;
    color: #ffffff;
    white-space: nowrap;
}
.c10_won_circle {
    position: absolute;
    top: 7.5441vw;
    left: 73.8084%;
    width: 2.7297vw;
    display: block;
}
.c10_won_circle img {
    width: 100%;
    display: block;
}

/* cards row */
.c10_cards {
    margin-top: 2.2572vw;           /* (594-551)/캔버스 — amount h 보정 후 */
    align-self: center;
    width: 74.0157vw;               /* (1664-254)/캔버스 */
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2.4147vw;                  /* (618-572)/캔버스 */
}
.c10_card_wrap {
    position: relative;
    width: 16.6929vw;               /* 318/캔버스 */
    flex-shrink: 0;
    display: block;
}
.c10_card {
    width: 100%;
    display: block;
    z-index: 3;
    position: relative;
}
.c10_card img {
    width: 100%;
    display: block;
}
.c10_card_gate {
    position: absolute;
    top: -0.5774vw;                 /* (583-594)/캔버스 = -11/1905 */
    left: 50%;
    transform: translateX(-50%);
    width: 18.1627vw;               /* 346/캔버스 — naturalW */
    display: block;
    z-index: 2;
    pointer-events: none;
}
.c10_card_gate img {
    width: 100%;
    display: block;
}

}
/* ============================================================= */
/* ===== CON11 — 무인 사진관의 한계를 넘는 수익률 ===== */
/* ============================================================= */
@media (min-width: 601px) {
.con11 {
    background: #fdfeee;
    padding-top: 6.561680vw;
    padding-bottom: 3.517060vw;
    overflow: hidden;
}

.c11_bg {
    top: 0;
    left: -0.052493%;
    width: 100.787402%;
    height: 100%;
    z-index: 0;
}

.c11_bg img {
    width: 100%;
    height: 100%;
    display: block;
}

.c11_eyebrow {
    margin: 0;
    align-self: center;
    font-family: var(--ff), 'Moneygraphy-Rounded', sans-serif;
    font-weight: 400;
    font-size: 1.574803vw;
    line-height: 1;
    letter-spacing: -0.07em;
    color: #232020;
    text-align: center;
    white-space: nowrap;
}

.c11_title {
    margin: 1.469816vw 0 0 0;
    align-self: center;
    font-family: var(--sf), 'YPairing', serif;
    font-weight: 400;
    font-size: 3.149606vw;
    line-height: 0.95;
    letter-spacing: -0.07em;
    color: #232020;
    text-align: center;
    white-space: nowrap;
}

.c11_title strong {
    font-weight: 700;
}

.c11_title .c11_title_accent {
    color: #48855e;
}

.c11_content {
    margin-top: 2.729659vw;
    align-self: center;
    width: 69.343832vw;
    min-height: 28.608924vw;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
}

.c11_photo_card {
    width: 49.356548%;
    aspect-ratio: 652 / 503;
    border-radius: 1.574803vw;
    overflow: hidden;
    background: #1d1d1d;
    position: relative;
}

.c11_photo_bg,
.c11_table_card,
.c11_rate_badge,
.c11_profit_badge,
.c11_strip,
.c11_deco_top {
    display: block;
}

.c11_photo_bg,
.c11_table_card {
    width: 100%;
    height: 100%;
}

.c11_photo_bg img,
.c11_table_card img,
.c11_rate_badge img,
.c11_profit_badge img,
.c11_strip img,
.c11_deco_top img {
    width: 100%;
    display: block;
}

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

.c11_rate_badge {
    top: 4.278215vw;
    left: 9.049080%;
    width: 42.791411%;
    z-index: 2;
}

.c11_profit_badge {
    top: 8.136483vw;
    left: 46.165644%;
    width: 45.552147%;
    z-index: 3;
}

.c11_table_wrap {
    width: 49.507949%;
    aspect-ratio: 654 / 504;
    position: relative;
    background: #ffffff;
    border-radius: 1.574803vw;
    overflow: hidden;
    flex-shrink: 0;
}

.c11_table_card {
    position: absolute;
    top: 2.624672vw;
    left: 6.422018%;
    width: 86.391437%;
    height: auto;
}

.c11_note {
    position: absolute;
    top: 22.677165vw;
    left: 6.727829%;
    width: 54.434251%;
    margin: 0;
    font-family: var(--mf), 'SUIT', 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: 0.839895vw;
    line-height: 1.313;
    letter-spacing: -0.05em;
    color: #000000;
    text-align: left;
    white-space: nowrap;
}

.c11_strip {
    top: 14.540682vw;
    left: -4.920515%;
    width: 10.522332%;
    z-index: 4;
}

.c11_deco_top {
    top: -4.986877vw;
    left: 93.943982%;
    width: 17.411052%;
    z-index: 4;
}

.c5_card3_keyrings {
    flex-grow: 1;
    max-width: unset;
    height: auto;
    display: block;
    flex-shrink: 0;
}

}
/* ============ con12 ============ */

@media (min-width: 601px) {
.con12 {
    background: #ffffff;
    padding-top: 2.7822vw;           /* (2011-1958)/1905 */
    padding-bottom: 4.8819vw;        /* (2611-2518)/1905 */
    overflow: hidden;
}

.c12_inner {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    width: 75.9580vw;                /* (1682-235)/1905 */
    height: 26.2467vw;               /* 500/1905 */
    align-self: center;
    position: relative;
}

.c12_left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding-top: 5.5118vw;           /* (2116-2011)/1905 */
}

.c12_eyebrow {
    margin: 0;
    font-family: var(--ff), 'Moneygraphy-Rounded', sans-serif;
    font-weight: 400;
    font-size: 1.5748vw;             /* 30/1905 */
    line-height: 0.967;
    letter-spacing: -0.07em;
    color: #232020;
    text-align: left;
    white-space: nowrap;
}

.c12_title {
    margin: 1.4698vw 0 0 0;          /* (2173-2145)/1905 */
    font-family: var(--sf), 'YPairing', sans-serif;
    font-weight: 400;
    font-size: 3.1496vw;             /* 60/1905 */
    line-height: 1.067;
    letter-spacing: -0.07em;
    color: #232020;
    text-align: left;
    white-space: normal;
}

.c12_title strong {
    font-weight: 700;
}

.c12_title .c12_title_accent {
    color: #48855e;
}

.c12_title .c12_title_thin {
    font-weight: 400;
}

.c12_body {
    margin: 2.0472vw 0 0 0;          /* (2340-2301)/1905 */
    font-family: var(--mf), 'SUIT', sans-serif;
    font-weight: 400;
    font-size: 1.1549vw;             /* 22/1905 */
    line-height: 1.455;
    letter-spacing: -0.07em;
    color: #232020;
    text-align: left;
    white-space: normal;
}

.c12_body strong {
    font-weight: 800;
}

.c12_card {
    position: relative;
    width: 38.8451vw;                /* 740/1905 */
    height: 26.2467vw;               /* 500/1905 */
    flex-shrink: 0;
    border-radius: 1.5748vw;         /* 30/1905 */
    overflow: hidden;
}

.c12_base {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.c12_base img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.c12_frames {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.c12_frame {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.c12_frame img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}


.c12_circles {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.c12_circle {
    position: absolute;
}

.c12_circle img {
    width: 100%;
    display: block;
}

.c12_circle1 {
    top: 1.9423vw;                   /* (2048-2011)/1905 */
    left: 21.0811%;                  /* (1094-938)/740 */
    width: 22.6772vw;                /* 432/1905 */
}

.c12_circle2 {
    top: 4.3045vw;                   /* (2093-2011)/1905 */
    left: 27.1622%;                  /* (1139-938)/740 */
    width: 17.9528vw;                /* 342/1905 */
}

.c12_circle3 {
    top: 3.4588vw;
    left: 24.9459%;
    width: 19.5441vw;
}




.c12_keychain {
    position: absolute;
}

.c12_keychain img {
    width: 100%;
    display: block;
}

.c12_keychain_left {
    top: 11.6535vw;                  /* (2233-2011)/1905 */
    left: 42.1561%;                  /* (845-235)/1447 */
    width: 8.7139vw;                 /* 166/1905 */
}

.c12_keychain_right {
    top: -2.1522vw;                  /* (1970-2011)/1905 */
    left: 92.9510%;                  /* (1580-235)/1447 */
    width: 7.8740vw;                 /* 150/1905 */
}

}
/* ============ con14 ============ */
@keyframes c14Float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-0.3149vw); }
}

@media (min-width: 601px) {
.con14 {
    background: #b7d5b4;
    overflow: hidden;
}

.c14_stage {
    width: 100%;
    aspect-ratio: 2.187141;
    overflow: hidden;
}

.c14_bg {
    top: 0;
    left: 0;
    width: 100.7874%;
    height: 100%;
}

.c14_bg img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.c14_intro {
    top: 7.1391vw;
    left: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 2;
}

.c14_eyebrow {
    margin: 0;
    font-family: var(--ff), 'Moneygraphy-Rounded', sans-serif;
    font-weight: 400;
    font-size: 1.5748vw;
    line-height: 0.9;
    letter-spacing: -0.07em;
    color: #232020;
    text-align: center;
    white-space: nowrap;
}

.c14_title {
    margin: 1.5748vw 0 0 0;
    font-family: var(--sf), 'YPairing', sans-serif;
    font-weight: 400;
    font-size: 3.1496vw;
    line-height: 0.95;
    letter-spacing: -0.07em;
    color: #232020;
    text-align: center;
    white-space: nowrap;
}

.c14_title strong {
    font-weight: 700;
}

.c14_title_accent {
    color: #274c34;
}

.c14_tabs {
    top: 19.0026vw;
    left: 15.6430%;
    width: 16.4304%;
    display: flex;
    flex-direction: column;
    gap: 0.4724vw;
    z-index: 6;
}

.c14_tab {
    width: 100%;
    height: 5.8268vw;
    padding: 0 1.0499vw;
    padding-left: 10%;
    border: 0;
    border-radius: 1.0499vw;
    background: #ffffff;
    box-shadow: inset 0 0 0 1px rgba(39, 76, 52, 0.08);
    display: flex;
    align-items: center;
    justify-content: flex-start;
    cursor: pointer;
    /* transition: background-color 0.24s ease, box-shadow 0.24s ease, transform 0.24s ease; */
}

.c14_tab span {
    display: block;
    font-family: var(--tf), 'IMCrisujin', 'ImcreSoojinOTFRegular', sans-serif;
    font-weight: 400;
    font-size: 1.3648vw;
    line-height: 0.92;
    letter-spacing: -0.05em;
    color: #bbbbbb;
    text-align: center;
    transition: color 0.24s ease;
    white-space: nowrap;
}

.c14_tab.is-active {
    background: #274c34;
    box-shadow: none;
}

.c14_tab.is-active span {
    color: #ffffff;
}

.c14_tab:focus-visible {
    outline: 0.1050vw solid rgba(255, 254, 192, 0.9);
    outline-offset: 0.1575vw;
}

.c14_panel_stage {
    top: 16.3780vw;
    left: 30.7087%;
    width: 54.2782%;
    height: 23.0446vw;
    position: absolute;
    z-index: 8;
}

.c14_panel {
    position: absolute;
    inset: 0;
    background: #ffffff;
    border-radius: 1.5748vw;
    box-shadow: inset 0 0 0 1px rgba(35, 32, 32, 0.08);
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(0.2625vw);
    transition: opacity 0.24s ease, transform 0.24s ease, visibility 0.24s ease;
}

.c14_panel.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.c14_panel_title {
    position: absolute;
    margin: 0;
    left: 9.1876%;
    color: #232020;
    white-space: nowrap;
    z-index: 2;
}

.c14_panel_title--rounded {
    top: 4.1995vw;
    font-family: var(--ff), 'Moneygraphy-Rounded', sans-serif;
    font-weight: 400;
    font-size: 1.3648vw;
    line-height: 1.385;
    letter-spacing: -0.05em;
    white-space: nowrap;
}

.c14_panel_title--pixel {
    font-family: 'Moneygraphy-Pixel', var(--ff), sans-serif;
    font-weight: 400;
    font-size: 1.3648vw;
    line-height: 1.385;
    letter-spacing: -0.05em;
    white-space: nowrap;
}

.c14_panel--2 .c14_panel_title {
    top: 4.1470vw;
    left: 9.2843%;
}

.c14_panel--3 .c14_panel_title {
    top: 4.1995vw;
}

.c14_mark {
    display: inline-block;
    background: #fffec0;
    padding: 0 0.1575vw;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.c14_body_box {
    position: absolute;
    left: 8.9942%;
    width: 43.6170%;
    background: #fefbf4;
    border-radius: 1.0499vw;
    padding: 1.3648vw 1.5223vw 0.5774vw 1.6273vw;
    box-sizing: border-box;
}

.c14_body_box--1 {
    top: 11.4961vw;
    height: 8.5039vw;
}

.c14_body_box--2 {
    top: 11.6011vw;
    height: 8.3990vw;
}

.c14_body_box--3 {
    top: 14.9081vw;
    height: 5.3543vw;
}

.c14_body_list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.c14_body_list li {
    position: relative;
    padding-left: 0.6824vw;
    font-family: var(--mf), 'SUIT', sans-serif;
    font-weight: 400;
    font-size: 0.9449vw;
    line-height: 1.667;
    letter-spacing: -0.07em;
    color: #232020;
    white-space: nowrap;
    word-break: keep-all;
}

.c14_body_list li::before {
    content: "•";
    position: absolute;
    top: 0;
    left: 0;
}

.c14_visual {
    position: absolute;
}

.c14_visual img {
    width: 100%;
    display: block;
}

.c14_visual--1 {
    top: 3.0822vw;
    left: 63.1528%;
    width: 37.5242%;
    overflow: hidden;
    border-radius: 1.5748vw;
}

.c14_visual--2 {
    top: 4.4619vw;
    left: 57.1567%;
    width: 37.9110%;
}

.c14_visual--3 {
    top: 1.4698vw;
    left: 58.2205%;
    width: 42.4565%;
    overflow: hidden;
    border-radius: 1.5748vw;
}

.c14_clover {
    top: 13.7533vw;
    left: 81.9948%;
    width: 9.1864%;
    z-index: 7;
    transition: opacity 0.24s ease, transform 0.24s ease;
    animation: c14Float 2.6s ease-in-out infinite;
    transform-origin: center center;
}

.c14_clover img {
    width: 100%;
    display: block;
}

.con14[data-active-tab="2"] .c14_clover,
.con14[data-active-tab="3"] .c14_clover {
    opacity: 0;
    transform: translateY(-0.6299vw) scale(0.96);
    animation: none;
}


}
/* ============ con13 ============ */
@media (min-width: 601px) {
.con13 {
    position: relative;
    z-index: 12;
    min-height: 100vh;
    background: #ffffff;
    overflow: hidden;
    isolation: isolate;
}

.c13_pin {
    position: relative;
    z-index: 1;
    display: grid;
    width: 100%;
    grid-template-columns: 50% 50%;
    min-height: 100vh;
    height: 100vh;
    background: linear-gradient(90deg, #2b7dca 0 50.498688%, #fefbf4 50.498688% 100%);
}

.c13_left,
.c13_right {
    position: relative;
    min-width: 0;
    min-height: 100vh;
}

.c13_left {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #2b7dca;
}

.c13_left_bg {
    top: 0;
    left: 0;
    width: 50.498688vw;
    min-width: 100.1%;
    height: 100%;
}

.c13_left_bg img,
.c13_system_badge img,
.c13_tape img,
.c13_card_visual img,
.c13_card_callout img {
    width: 100%;
    display: block;
}

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

.c13_left_copy {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 24.041995vw;
    max-width: 24.041995vw;
    margin: 0 auto;
}

.c13_eyebrow {
    margin: 0;
    font-family: var(--ff), 'Moneygraphy-Rounded', sans-serif;
    font-weight: 400;
    font-size: 1.574803vw;
    line-height: 0.9;
    letter-spacing: -0.07em;
    color: #ffffff;
    text-align: center;
    white-space: nowrap;
}

.c13_title {
    margin: 1.522310vw 0 0 0;
    font-family: var(--sf), 'YPairing', sans-serif;
    font-weight: 400;
    font-size: 3.149606vw;
    line-height: 1.067;
    letter-spacing: -0.07em;
    color: #ffffff;
    text-align: center;
    white-space: nowrap;
}

.c13_title strong {
    font-weight: 700;
}

.c13_title_accent {
    color: #f7f435;
}

.c13_right {
    display: flex;
    justify-content: center;
    background: #fefbf4;
    overflow: hidden;
}

.c13_cards_view {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 5.511811vw 0 0;
    box-sizing: border-box;
}

.c13_cards_track {
    width: 44.094488vw;
    max-width: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5.039370vw;
    will-change: transform;
}

.c13_card {
    position: relative;
    width: 44.094488vw;
    height: 34.855643vw;
    flex-shrink: 0;
    background: #ffffff;
    box-sizing: border-box;
    box-shadow: 0.262467vw 0.454593vw 0.787402vw rgba(0, 0, 0, 0.102);
}

.c13_card--01 {
    width: 44.094488vw;
}

.c13_card--02 {
    width: 44.094488vw;
}

.c13_card--03 {
    width: 44.094488vw;
}

.c13_card--04 {
    width: 44.094488vw;
}

.c13_system_badge,
.c13_tape,
.c13_card_title,
.c13_card_visual,
.c13_card_body,
.c13_card_callout {
    position: absolute;
}

.c13_system_badge {
    left: 50%;
    width: 7.821522vw;
    transform: translateX(-50%);
    z-index: 3;
}

.c13_tape {
    z-index: 2;
}

.c13_card--01 .c13_system_badge {
    top: 2.729659vw;
}

.c13_card--02 .c13_system_badge,
.c13_card--03 .c13_system_badge,
.c13_card--04 .c13_system_badge {
    top: 2.782152vw;
}

.c13_tape--01 {
    top: -2.834646vw;
    left: 6.771654vw;
    width: 4.986877vw;
}

.c13_tape--02 {
    top: -2.152231vw;
    left: 32.283465vw;
    width: 7.506562vw;
}

.c13_tape--03 {
    top: -1.942257vw;
    left: 4.881890vw;
    width: 10.026247vw;
}

.c13_tape--04 {
    top: -2.939633vw;
    left: 31.286089vw;
    width: 4.986877vw;
}

.c13_card_title {
    left: 50%;
    margin: 0;
    font-family: var(--tf), 'IMCrisujin', 'ImcreSoojinOTFRegular', sans-serif;
    font-weight: 400;
    font-size: 1.574803vw;
    line-height: 1.067;
    letter-spacing: -0.05em;
    color: #121212;
    text-align: center;
    white-space: nowrap;
    transform: translateX(-50%);
    z-index: 1;
}

.c13_card_visual {
    left: 50%;
    transform: translateX(-50%);
}

.c13_card_body {
    left: 50%;
    margin: 0;
    font-family: var(--mf), 'SUIT', sans-serif;
    font-weight: 400;
    font-size: 1.049869vw;
    line-height: 1.5;
    letter-spacing: -0.07em;
    color: #121212;
    text-align: center;
    white-space: nowrap;
    word-break: keep-all;
    transform: translateX(-50%);
    z-index: 1;
}

.c13_card_body strong {
    font-weight: 800;
}

.c13_card--01 .c13_card_title {
    top: 6.614173vw;
}

.c13_card--02 .c13_card_title {
    top: 6.666667vw;
}

.c13_card--03 .c13_card_title,
.c13_card--04 .c13_card_title {
    top: 6.614173vw;
}

.c13_card--01 .c13_card_visual,
.c13_card--02 .c13_card_visual,
.c13_card--03 .c13_card_visual {
    top: 9.763780vw;
    width: 56rem;
}

.c13_card--04 .c13_card_visual {
    top: 10.446194vw;
    width: 31.811024vw;
}

.c13_card--01 .c13_card_body {
    top: 25.616798vw;
    width: 29.711286vw;
}

.c13_card--02 .c13_card_body {
    top: 25.721785vw;
    width: 60.3rem;
}

.c13_card--03 .c13_card_body {
    top: 25.669291vw;
    width: 32.440945vw;
}

.c13_card--04 .c13_card_body {
    top: 25.669291vw;
    width: 29.028871vw;
}

.c13_card_callout {
    top: 8.691339vw;
    left: 30.708661vw;
    width: 10.761155vw;
    z-index: 3;
}


}
/* ============ con15 ============ */
@keyframes c15Marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-44.7769vw); }
}

@media (min-width: 601px) {
.con15 {
    background: #ffffff;
    padding-top: 5vw;
    padding-bottom: 0;
    overflow: hidden;
}

.c15_swiper {
    width: 100%;
    height: 24.5144vw;               /* 467/1905 */
    overflow: visible;
}

.c15_swiper_inner {
    width: 100%;
    height: 100%;
    overflow: visible;
}

.c15_slide {
    width: 19.6850vw;                /* 375/1905 */
    height: 24.5144vw;               /* 467/1905 */
    flex-shrink: 0;
}

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

.c15_slide_img img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.c15_marquee {
    margin-top: 4.0945vw;            /* (8229-8151)/1905 */
    width: 100%;
    height: 4.4094vw;                /* 84/1905 */
    background: #fdfeee;
    overflow: hidden;
    display: flex;
    align-items: center;
}

.c15_marquee_track {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0;
    animation: c15Marquee 30s linear infinite;
}

.c15_marquee_unit {
    flex-shrink: 0;
    width: 44.7769vw;                /* 853/1905 */
    height: 1.3648vw;                /* 26/1905 */
}

.c15_marquee_unit img {
    width: 100%;
    height: 100%;
    display: block;
}


}
/* ============ con16 (interior) ============ */
@media (min-width: 601px) {
.con16 {
    background: #ffffff;
    padding-top: 7vw;
    padding-bottom: 4.7979vw;
    overflow: hidden;
}

.c16_subtitle {
    position: relative;
    align-self: center;
    margin-top: 0vw;
    font-family: 'Moneygraphy-Rounded', sans-serif;
    font-size: 1.5748vw;             /* 30/1905 */
    font-weight: 400;
    color: #232020;
    line-height: 0.967;
    letter-spacing: -0.07em;
    white-space: nowrap;
}

.c16_title {
    position: relative;
    align-self: center;
    margin-top: 1.4698vw;            /* (8492-8464)/1905 */
    font-family: 'YPairing', serif;
    font-size: 3.1496vw;             /* 60/1905 */
    line-height: 0.95;
    letter-spacing: -0.07em;
    color: #232020;
    font-weight: 400;
    white-space: nowrap;
}

.c16_title strong {
    color: #48855e;
    font-weight: 700;
}

.c16_desc {
    position: relative;
    align-self: center;
    margin-top: 1.5223vw;            /* (8578-8549)/1905 */
    font-family: 'SUIT', sans-serif;
    font-size: 1.1549vw;             /* 22/1905 */
    line-height: 1.455;
    letter-spacing: -0.07em;
    color: #232020;
    font-weight: 400;
    text-align: center;
    white-space: nowrap;
}

.c16_desc strong {
    font-weight: 800;
}

.c16_swiper_int {
    position: relative;
    align-self: center;
    margin-top: 2.7297vw;            /* (8682-8630)/1905 */
    width: 100%;
    height: 20.1575vw;               /* 384/1905 */
    overflow: hidden;
}

.c16_swiper_out {
    position: relative;
    align-self: center;
    margin-top: 3.0446vw;            /* (9124-9066)/1905 */
    width: 100%;
    height: 20.1575vw;               /* 384/1905 */
    overflow: hidden;
}

.c16_swiper_inner {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.c16_swiper_int .c16_swiper_inner {
    margin-right: 15%;
    margin-left: -13.3%;
    z-index: 6;
    background-color: #fff;
}

.c16_swiper_out .c16_swiper_inner {
    margin-left: 13.7%;
    z-index: 6;
    background-color: #fff;
}

.c16_swiper_inner .swiper-wrapper {
    transition-timing-function: linear !important;
    align-items: center;
    pointer-events: none;
}

.c16_slide {
    height: 20.1575vw;               /* 384/1905 */
    flex-shrink: 0;
}

.c16_slide_img {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.c16_slide_img img {
    width: 100%;
    height: 100%;
    display: block;
}

.c16_int_w_471 { width: 24.7244vw; }       /* con16_01_1 471 */
.c16_int_w_563 { width: 29.5538vw; }       /* con16_01_2/3/4 563 */
.c16_out_w_563 { width: 29.5538vw; }       /* con16_02_1/2/4 563 */
.c16_out_w_472 { width: 24.7769vw; }       /* con16_02_3 472 */
.c16_out_w_521 { width: 27.3491vw; }       /* con16_02_5 521 */

.c16_int_badge {
    position: absolute;
    top: 5.5643vw;                   /* (8788-8682)/1905 */
    left: 86.8241%;                  /* 1654/1905 */
    width: 3.5696vw;                 /* 68/1905 */
    z-index: 5;
    pointer-events: none;
}

.c16_int_badge img {
    width: 100%;
    display: block;
}

.c16_out_badge {
    position: absolute;
    top: 4.7244vw;                   /* (9214-9124)/1905 */
    left: 10.0262%;                  /* 191/1905 */
    width: 3.5696vw;                 /* 68/1905 */
    z-index: 5;
    pointer-events: none;
}

.c16_out_badge img {
    width: 100%;
    display: block;
}

}
/* ============ con17 ============ */
@media (min-width: 601px) {
.con17 {
    background: #2b7ccb;
    padding-top: 7.6115vw;           /* (9746-9601)/1905 */
    padding-bottom: 7.2441vw;        /* (10288-10150)/1905 */
    overflow: hidden;
}

.c17_bg {
    top: 0;
    left: 0;
    width: 100.7874%;
    z-index: 0;
}

.c17_bg img {
    width: 100%;
    display: block;
}

.c17_character {
    top: 5.5118vw;                   /* (9706-9601)/1905 */
    left: 83.9370%;
    width: 5.7743vw;
    z-index: 2;
}

.c17_character img {
    width: 100%;
    display: block;
}

.c17_inner {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    width: 72.4934vw;
    height: 21.2073vw;
    align-self: center;
    position: relative;
}

.c17_left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding-top: 5.2493vw;
}

.c17_title {
    margin: 0;
    font-family: var(--sf), 'YPairing', sans-serif;
    font-weight: 400;
    font-size: 3.1496vw;
    line-height: 1.075;
    letter-spacing: -0.07em;
    color: #ffffff;
    text-align: left;
    white-space: normal;
}

.c17_title strong {
    font-weight: 700;
}

.c17_title .c17_title_accent {
    color: #f7f435;
}

.c17_title .c17_title_thin {
    font-weight: 400;
}

.c17_body {
    margin: 1.4173vw 0 0 0;
    font-family: var(--mf), 'SUIT', sans-serif;
    font-weight: 400;
    font-size: 1.1549vw;
    line-height: 1.455;
    letter-spacing: -0.07em;
    color: #ffffff;
    text-align: left;
    white-space: normal;
}

.c17_body strong {
    font-weight: 800;
}

.c17_pills {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    width: 39.4751vw;
    flex-shrink: 0;
    gap: 0.2625vw;
}

.c17_pill {
    width: 100%;
    height: 4.0420vw;
    border-radius: 1.9685vw;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    transition: background-color 300ms ease, opacity .3s;
}

.c17_pill.active {
    background: #f7f435;
}

.c17_pill_text {
    font-family: var(--ff), 'Moneygraphy-Rounded', sans-serif;
    font-weight: 400;
    font-size: 1.2598vw;
    line-height: 1.417;
    letter-spacing: -0.07em;
    color: #2b7ccb;
    text-align: center;
    white-space: nowrap;
}

}
/* ============ con19 (FAQ - dynamic) ============ */
@media (min-width: 601px) {
.con19 {
    background: #ffffff;
    padding-top: 6.7717vw;
    padding-bottom: 9.5013vw;
    overflow: hidden;
    position: relative;
}

.c19_bg {
    top: 0;
    left: 0;
    width: 100.7874%;
    z-index: 0;
}

.c19_bg img {
    width: 100%;
    display: block;
}

.c19_inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 69.5013vw;
    align-self: center;
    position: relative;
    z-index: 1;
}

.c19_eyebrow {
    margin: 0;
    font-family: var(--ff), 'Moneygraphy-Rounded', sans-serif;
    font-weight: 400;
    font-size: 1.5748vw;
    line-height: 0.967;
    letter-spacing: -0.07em;
    color: #232020;
    text-align: center;
    white-space: nowrap;
}

.c19_title {
    margin: 1.3648vw 0 0 0;
    font-family: var(--sf), 'YPairing', sans-serif;
    font-weight: 400;
    font-size: 3.1496vw;
    line-height: 0.95;
    letter-spacing: -0.07em;
    color: #232020;
    text-align: center;
    white-space: nowrap;
}

.c19_title .c19_title_accent {
    font-weight: 700;
    color: #2b7ccb;
}

.c19_faq_list {
    list-style: none;
    margin: 2.8871vw 0 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 0.3150vw;
    box-sizing: border-box;
}

.c19_faq_item {
    width: 100%;
    border: 1px solid #e5e7eb;
    border-radius: 1.0499vw;
    overflow: hidden;
    background: #fefbf4;
    transition: background 0.3s ease, border-color 0.3s ease;
}

.c19_faq_item.active {
    border-color: #2b7ccb;
}

.c19_faq_item.active {
    background: #ffffff;
}

.c19_faq_q {
    display: flex;
    align-items: center;
    width: 100%;
    height: 3.8845vw;
    padding: 0 2.6247vw;
    background: transparent;
    border: 0;
    cursor: pointer;
    font-family: inherit;
    box-sizing: border-box;
}

.c19_faq_q_text {
    flex: 1;
    text-align: left;
    font-family: var(--mf), 'SUIT', sans-serif;
    font-weight: 800;
    font-size: 0.9423vw;
    line-height: 1.417;
    letter-spacing: -0.07em;
    color: #232020;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.c19_faq_arrow {
    width: 1.9423vw;
    height: 1.9423vw;
    background: #2b7ccb;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: transform 0.3s ease;
}

.c19_faq_arrow svg {
    width: 0.6299vw;
    height: 0.3675vw;
    display: block;
}

.c19_faq_item.active .c19_faq_arrow {
    transform: rotate(180deg);
}

.c19_faq_a {
    width: 100%;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
}

.c19_faq_a_inner {
    padding: 0 2.6247vw 1.4173vw 2.6247vw;
    font-family: var(--mf), 'SUIT', sans-serif;
    font-weight: 400;
    font-size: 0.9423vw;
    line-height: 1.6;
    letter-spacing: -0.07em;
    color: #232020;
    text-align: left;
    white-space: normal;
}

}
/* ============ con20 ============ */
@media (min-width: 601px) {
.con20 {
    background: #000000;
    overflow: hidden;
}

.c20_stage {
    width: 100%;
    aspect-ratio: 2.229698;
    overflow: hidden;
}

.c20_bg {
    top: 0;
    left: 0;
    width: 100.7874%;
    height: 100%;
}

.c20_bg img,
.c20_capsule img {
    width: 100%;
    display: block;
}

.c20_capsule {
    z-index: 2;
}

.c20_capsule_left_open {
    top: 3.6220vw;
    left: 8.0645%;
    width: 18.6264%;
}

.c20_capsule_left_small {
    top: 22.6772vw;
    left: -5.9834%;
    width: 11.9147%;
}

.c20_capsule_left_bottom {
    top: 33.0184vw;
    left: 12.8512%;
    width: 15.5047%;
}

.c20_capsule_right_top_green {
    top: -2.8871vw;
    left: 71.5401%;
    width: 15.3486%;
}

.c20_capsule_right_top_orange {
    top: 8.2940vw;
    left: 94.1207%;
    width: 14.3600%;
}

.c20_capsule_right_open {
    top: 23.2021vw;
    left: 70.0312%;
    width: 19.8231%;
}

.c20_copy {
    top: 12.0210vw;
    left: 37.5650%;
    width: 24.9220%;
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 3;
}

.c20_title {
    margin: 0;
    width: 100%;
    font-family: var(--sf), 'YPairing', sans-serif;
    font-weight: 400;
    font-size: 3.1496vw;
    line-height: 1.058;
    letter-spacing: -0.07em;
    color: #ffffff;
    text-align: center;
    white-space: nowrap;
}

.c20_title strong {
    font-weight: 700;
    color: #d1ff6d;
}

.c20_body {
    margin: 2.7822vw 0 0 0;
    width: 100%;
    font-family: var(--mf), 'SUIT', sans-serif;
    font-weight: 400;
    font-size: 1.1549vw;
    line-height: 1.455;
    letter-spacing: -0.07em;
    color: #ffffff;
    text-align: center;
    white-space: nowrap;
}

.c20_body strong {
    font-weight: 800;
}

}
/* ============ con18 (smart rental) ============ */
@media (min-width: 601px) {
.con18 {
    background: #f9fae6;
    padding-top: 9.1864vw;
    padding-bottom: 6.9291vw;
    overflow: hidden;
}

.c18_bg {
    top: 0vw;
    left: 0%;
    width: 100.7874vw;
    z-index: 0;
}

.c18_bg img {
    width: 100% !important;
    display: block;
}

.c18_left {
    top: 13.5958vw;
    left: 15.5380%;
    width: 30.2624%;
    z-index: 2;
}

.c18_subtitle {
    font-family: 'Moneygraphy-Rounded', sans-serif;
    font-size: 1.5748vw;
    font-weight: 400;
    color: #232020;
    line-height: 0.9;
    letter-spacing: -0.07em;
    white-space: nowrap;
}

.c18_title {
    margin-top: 1.6797vw;
    font-family: 'YPairing', serif;
    font-size: 3.1496vw;
    font-weight: 400;
    color: #232020;
    line-height: 1.067;
    letter-spacing: -0.07em;
    white-space: nowrap;
}

.c18_title strong {
    color: #48855e;
    font-weight: 700;
}

.c18_panel {
    position: relative;
    align-self: flex-start;
    margin-top: 0vw;
    margin-left: 48.6614%;
    width: 39.5800%;
    height: 18.2152vw;
    background: #ffffff;
    border-radius: 1.5748vw;
    z-index: 2;
}

.c18_ribbon {
    position: absolute;
    left: 10.6101%;
    top: 4.4619vw;
    width: 54.1114%;
    height: 1.8373vw;
    background: #fffec0;
    z-index: 1;
}

.c18_headline {
    position: absolute;
    left: 11.2732%;
    top: 4.7244vw;
    font-family: 'Moneygraphy-Rounded', sans-serif;
    font-size: 1.3648vw;
    font-weight: 400;
    color: #232020;
    line-height: 1.385;
    letter-spacing: -0.05em;
    white-space: nowrap;
    z-index: 2;
}

.c18_body {
    position: absolute;
    left: 11.0080%;
    top: 9.9737vw;
    font-family: 'SUIT', sans-serif;
    font-size: 1.0499vw;
    font-weight: 400;
    color: #232020;
    line-height: 1.6;
    letter-spacing: -0.07em;
    white-space: nowrap;
    z-index: 2;
}

.c18_body strong {
    font-weight: 800;
}

.c18_badge {
    position: absolute;
    left: 75.0663%;
    top: 3.8320vw;
    width: 14.2782vw;
    z-index: 3;
}

.c18_badge img {
    width: 100%;
    display: block;
}

.c18_footnote {
    position: relative;
    align-self: flex-start;
    margin-top: 0.6299vw;
    margin-left: 48.8714%;
    font-family: 'SUIT', sans-serif;
    font-size: 0.9459vw;
    font-weight: 400;
    color: #000000;
    line-height: 1.667;
    letter-spacing: -0.05em;
    white-space: nowrap;
}

}
/* ============ con21~23 unified ============ */
@media (min-width: 601px) {
.con2123 {
    position: relative;
    padding-top: 11.443570vw;
    padding-bottom: 6.876640vw;
    background: #48855e;
    overflow: hidden;
}

.c2123_bg {
    top: 0;
    bottom: 0;
    left: -0.052493%;
    width: 100.787402vw;
    z-index: 0;
}

.c2123_bg img,
.c2123_franchise img,
.c2123_step_card img,
.c2123_benefit_amount img,
.c2123_benefit_strike img,
.c2123_benefit_badge img,
.c2123_benefit_card_bg img,
.c2123_benefit_pill img,
.c2123_benefit_headline img,
.c2123_cost_board img,
.c2123_cost_contact img {
    width: 100%;
    display: block;
}

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

.c2123_franchise {
    top: 6.561680vw;
    left: 50%;
    width: 30.971129vw;
    transform: translateX(-50%);
    z-index: 2;
}

.c2123_panel {
    width: 81.942257%;
    background: #ffffff;
    border-radius: 2.624672vw;
    padding: 5.669291vw 0 7.034121vw;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 1;
}

.c2123_block {
    width: 84.817425%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.c2123_block_title {
    margin: 0;
    font-family: var(--sf), 'YPairing', sans-serif;
    font-weight: 700;
    font-size: 2.624672vw;
    line-height: 0.94;
    letter-spacing: -0.07em;
    color: #232020;
    text-align: center;
    white-space: nowrap;
}

.c2123_steps_grid {
    width: 100%;
    margin-top: 2.467192vw;
    display: grid;
    grid-template-columns: repeat(4, 15.905512vw);
    column-gap: 1.889764vw;
    row-gap: 1.889764vw;
    justify-content: center;
}

.c2123_step_card {
    position: relative;
}

.c2123_step_card::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -0.997375vw;
    width: 0.682415vw;
    height: 0.787402vw;
    background: url('/images/con21_02_9.webp') center / contain no-repeat;
    transform: translateY(-50%);
}

.c2123_step_card--last::after {
    display: none;
}

.c2123_verify_box {
    width: 100%;
    min-height: 18.530184vw;
    margin-top: 2.939633vw;
    padding: 4.619423vw 4.199475vw 4.041995vw;
    box-sizing: border-box;
    border-radius: 1.049869vw;
    background: #fdfeee;
}

.c2123_verify_title {
    margin: 0;
    font-family: var(--sf), 'YPairing', sans-serif;
    font-weight: 700;
    font-size: 1.837270vw;
    line-height: 0.971;
    letter-spacing: -0.07em;
    color: #232020;
    text-align: center;
    white-space: nowrap;
}

.c2123_verify_title strong {
    color: #48855e;
}

.c2123_verify_body {
    margin: 1.732283vw 0 0 0;
    font-family: var(--mf), 'SUIT', sans-serif;
    font-weight: 400;
    font-size: 1.154856vw;
    line-height: 1.455;
    letter-spacing: -0.07em;
    color: #232020;
    text-align: center;
    white-space: nowrap;
}

.c2123_verify_body strong {
    font-weight: 800;
}

.c2123_benefits {
    position: relative;
    margin-top: 5.196850vw;
}

.c2123_benefit_cards {
    position: relative;
    width: 100%;
    margin-top: 2.047244vw;
    display: flex;
    justify-content: center;
    gap: 0.419948vw;
}

.c2123_benefit_card {
    position: relative;
    width: 34.540682vw;
    aspect-ratio: 658 / 363;
    border-radius: 1.574803vw;
    overflow: hidden;
    flex-shrink: 0;
    background: #000000 url('/images/con22_01.webp') center / cover no-repeat;
}

.c2123_benefit_card--left {
    background-position: center bottom;
}

.c2123_benefit_card--right {
    background-position: center bottom;
}

.c2123_benefit_card_bg {
    position: absolute;
    inset: 0;
}

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

.c2123_benefit_mascot {
    position: absolute;
    left: -2.257218vw;
    bottom: -0.944882vw;
    width: 7.874016vw;
    z-index: 3;
    pointer-events: none;
}

.c2123_benefit_amount,
.c2123_benefit_strike,
.c2123_benefit_badge,
.c2123_benefit_pill,
.c2123_benefit_headline,
.c2123_benefit_body {
    position: absolute;
}

.c2123_benefit_amount {
    top: 10.193389%;
    left: 18.693009%;
    width: 61.854103%;
    border-radius: 2vw;
    overflow: hidden;
}

.c2123_benefit_strike {
    top: 44.352617%;
    left: 26.595745%;
    width: 46.808511%;
}

.c2123_benefit_badge {
    top: 38.567493%;
    left: 34.802432%;
    width: 30.243161%;
}

.c2123_benefit_pill {
    top: 10.468320%;
    left: 21.124620%;
    width: 57.598784%;
}

.c2123_benefit_headline {
    top: 34.986226%;
    left: 17.325228%;
    width: 65.501520%;
}

.c2123_benefit_body {
    top: 65.840220%;
    left: 17.173253%;
    width: 65.653495%;
    margin: 0;
    font-family: var(--mf), 'SUIT', sans-serif;
    font-weight: 400;
    font-size: 1.049869vw;
    line-height: 1.5;
    letter-spacing: -0.07em;
    color: #ffffff;
    text-align: center;
    white-space: nowrap;
}

.c2123_benefit_note {
    margin: 1.732283vw 0 0 0;
    font-family: var(--mf), 'SUIT', sans-serif;
    font-weight: 400;
    font-size: 0.945932vw;
    line-height: 1.667;
    letter-spacing: -0.05em;
    color: #000000;
    text-align: center;
    white-space: nowrap;
}

.c2123_cost {
    margin-top: 6.509186vw;
}

.c2123_cost_stage {
    position: relative;
    width: 34.8438vw;
    margin-top: 2.099738vw;
}

.cost__link__overlay {
    width: 100%;
    bottom: 0;
    height: 3.6458vw;
}

.con23_03 {
    top: 0vw;
    left: -11vw;
    width: 12.3438vw;
}

.con23_04 {
    bottom: 0vw;
    right: -9vw;
    width: 11.3021vw;
}

.con23_03 img,
.con23_04 img {
    width: 100%;
    display: block;
}

.c2123_cost_board {
    width: 100%;
}

.c2123_cost_contact {
    position: absolute;
    top: 1.889764vw;
    left: 50%;
    width: 29.186352vw;
    transform: translateX(-50%);
}


}
/* ============ con24 (store guide map) ============ */
@media (min-width: 601px) {
.con24 {
    background: #ffffff;
    overflow: hidden;
    padding: 6vw 0;
}

.c24_stage {
    width: 100%;
    aspect-ratio: 2.357673;
    position: relative;
    overflow: hidden;
}

.c24_title {
    top: 0;
    left: 50%;
    margin: 0;
    font-family: var(--sf), 'YPairing', sans-serif;
    font-weight: 400;
    font-size: 3.149606vw;
    line-height: 0.95;
    letter-spacing: -0.07em;
    color: #000000;
    text-align: center;
    white-space: nowrap;
    transform: translateX(-50%);
}

.c24_title strong {
    font-weight: 700;
    color: #48855e;
}

.c24_search_box {
    top: 4.986877vw;
    left: 29.291339%;
    width: 42.204724%;
    height: 3.884514vw;
    border-radius: 1.837270vw;
    background: #ffffff;
    box-shadow: 0 0 0.839895vw rgba(42, 29, 14, 0.05);
    z-index: 3;
}

.c24_search_input {
    width: 100%;
    height: 100%;
    padding: 0 11.815920% 0 5.597015%;
    border: 0;
    outline: none;
    background: transparent;
    box-sizing: border-box;
    font-family: var(--mf), 'SUIT', sans-serif;
    font-weight: 400;
    font-size: 1.049869vw;
    line-height: 1.4;
    letter-spacing: -0.05em;
    color: #232020;
    white-space: nowrap;
}

.c24_search_input::placeholder {
    color: #8a8a8a;
}

.c24_search_button {
    position: absolute;
    top: 0.472441vw;
    right: 0.472441vw;
    width: 2.939633vw;
    height: 2.939633vw;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #48855e;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.c24_search_button img {
    display: block;
    width: 1.469816vw;
}

.c24_board {
    top: 6.824147vw;
    left: 9.291339%;
    width: 82.152231%;
    height: 34.330709vw;
    border-radius: 2.099738vw;
    overflow: hidden;
    background: #ffffff;
    z-index: 2;
}

.c24_list_panel {
    position: absolute;
    top: 0;
    left: 0;
    width: 25.814696%;
    height: 100%;
    background: #ffffff;
    overflow-y: scroll;
}

.c24_list_accent {
    position: absolute;
    top: 2.887139vw;
    right: 0.314961%;
    width: 1.980198%;
    height: 12.283465vw;
    border-radius: 0.131234vw;
    background: #48855e;
    z-index: 2;
}

.c24_store_list {
    overflow-y: auto;
    padding-right: 0.472441vw;
}

.c24_store_list--empty {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding-right: 0;
}

.c24_store {
    position: relative;
    min-height: 8.556430vw;
    border-bottom: 0.052493vw solid #f2f2f2;
    padding: 0.6vw 2vw;
}

.c24_store:last-child {
    border-bottom: 0;
}

.c24_store.is-active {
    background: #f7fbf6;
}

.c24_store.is-hidden {
    display: none;
}

.c24_store_main {
    width: 100%;
    min-height: 8.556430vw;
    /* padding: 0 20% 2.519685vw 14.851485%; */
    background: transparent;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    cursor: pointer;
}

.c24_store_name,
.c24_store_address,
.c24_store_phone {
    display: block;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.c24_store_name {
    font-family: var(--mf), 'SUIT', sans-serif;
    font-weight: 700;
    font-size: 1.051969vw;
    line-height: 0.948;
    letter-spacing: -0.07em;
    color: #131313;
    white-space: nowrap;
}

.c24_store.is-active .c24_store_name {
    color: #48855e;
}

.c24_store_address {
    margin-top: 1.384777vw;
    font-family: var(--mf), 'SUIT', sans-serif;
    font-weight: 400;
    font-size: 0.946982vw;
    line-height: 0.942;
    letter-spacing: -0.07em;
    color: #131313;
    white-space: nowrap;
}

.c24_store_phone {
    margin-top: 1.364829vw;
    font-family: var(--mf), 'SUIT', sans-serif;
    font-weight: 100;
    font-size: 0.841470vw;
    line-height: 0.811;
    letter-spacing: -0.07em;
    color: #131313;
    white-space: nowrap;
}

.c24_store_plus {
    position: absolute;
    top: 3.889764vw;
    right: 8.205128%;
    width: 1.784777vw;
    height: 1.784777vw;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.c24_store_plus img {
    display: block;
    width: 100%;
    height: 100%;
}

.c24_store--empty {
    min-height: 100%;
    border-bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.c24_store_empty_text,
.c24_list_empty {
    margin: 0;
    font-family: var(--mf), 'SUIT', sans-serif;
    font-weight: 400;
    font-size: 1.049869vw;
    line-height: 1.5;
    letter-spacing: -0.07em;
    color: #6f6f6f;
    text-align: center;
    white-space: nowrap;
}

.c24_list_empty {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.c24_map_panel {
    position: absolute;
    top: 0;
    left: 25.814696%;
    width: 74.185304%;
    height: 100%;
    background: #f6f4ee;
    border-radius: 0 2.099738vw 2.099738vw 0;
}

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

.c24_place_label {
    position: relative;
    padding: 0.419948vw 0.787402vw;
    background: #ffffff;
    border: 0.104987vw solid #48855e;
    border-radius: 999vw;
    box-shadow: 0 0.314961vw 0.629921vw rgba(0, 0, 0, 0.15);
    font-family: var(--mf), 'SUIT', sans-serif;
    font-weight: 700;
    font-size: 0.734908vw;
    line-height: 1;
    letter-spacing: -0.05em;
    color: #232020;
    white-space: nowrap;
}

.c24_place_label::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -0.472441vw;
    width: 0.734908vw;
    height: 0.734908vw;
    background: #ffffff;
    border-right: 0.104987vw solid #48855e;
    border-bottom: 0.104987vw solid #48855e;
    transform: translateX(-50%) rotate(45deg);
    box-sizing: border-box;
}


}
/* ============ con25 (final inquiry form) ============ */
@media (min-width: 601px) {
.con25 {
    background: #ffffff;
    padding-top: 7.5066vw;             /* (16770-16627)/1905 */
    padding-bottom: 7.4016vw;          /* (17434-17293)/1905 */
    overflow: hidden;
}

.c25_bg {
    top: 0vw;
    left: 0%;
    width: 100.7874vw;
    z-index: 0;
}

.c25_bg img {
    width: 100% !important;
    display: block;
}

.c25_left {
    top: 11.4961vw;                    /* (16846-16627)/1905 */
    left: 15.7480%;                    /* 300/1905 */
    width: 27.0341%;                   /* 515/1905 */
    z-index: 2;
}

.c25_title {
    font-family: 'YPairing', serif;
    font-size: 3.1496vw;               /* 60/1905 */
    font-weight: 400;
    color: #232020;
    line-height: 1.167;
    letter-spacing: -0.07em;
    white-space: nowrap;
}

.c25_title strong {
    font-weight: 700;
    color: #232020;
}

.c25_title_accent {
    color: #48855e !important;
}

.c25_phone {
    display: block;
    margin-top: 1.5751vw;
    width: 17.9003vw;                  /* 341/1905 */
}

.c25_phone img {
    width: 100%;
    display: block;
}

.c25_left_body {
    margin-top: 1.7323vw;
    font-family: 'SUIT', sans-serif;
    font-size: 1.0493vw;               /* 19.99/1905 */
    font-weight: 400;
    color: #232020;
    line-height: 1.5;
    letter-spacing: -0.07em;
    white-space: nowrap;
}

.c25_left_body strong {
    font-weight: 800;
}

.c25_panel {
    position: relative;
    align-self: flex-start;
    margin-top: 0vw;
    margin-left: 51.9685%;             /* 990/1905 */
    width: 33.2283%;                   /* 633/1905 */
    height: 24.454vw;                 /* 523/1905 */
    background: #ffffff;
    border-radius: 2.0997vw;           /* 40/1905 */
    box-shadow: 0 0 0.8399vw rgba(42, 29, 14, 0.05);  /* PSD dropShadow blur:16 #2a1d0e 5% */
    box-sizing: border-box;
    z-index: 2;
}

.c25_form {
    position: relative;
    width: 100%;
    height: 100%;
}

.c25_div {
    position: absolute;
    left: 9.4787%;
    width: 80.2528%;
    height: 0.052099vw;
    background: #ddd;
    z-index: 1;
}

.c25_div_1 { top: 5.5118vw; }          /* (16875-16770)/1905 */
.c25_div_2 { top: 8.6614vw; }          /* (16935-16770)/1905 */
.c25_div_3 { top: 11.7585vw; }         /* (16994-16770)/1905 */
.c25_div_4 { top: 14.8556vw; }         /* (17053-16770)/1905 */
.c25_div_5 { top: 17.9528vw; }         /* (17112-16770)/1905 */

.c25_row {
    position: absolute;
    left: 0;
    width: 100%;
    height: 0;
    z-index: 2;
}

.c25_row_1 { top: 0; }
.c25_row_2 { top: 0; }
.c25_row_3 { top: 0; }
.c25_row_4 { top: 0; }
.c25_row_5 { top: 0; }

.c25_label {
    position: absolute;
    left: 12.3223%;                    /* (1068-990)/633 */
    font-family: 'SUIT', sans-serif;
    font-size: 0.9454vw;
    font-weight: 800;
    color: #000000;
    line-height: 1;
    letter-spacing: -0.05em;
    white-space: nowrap;
}

.c25_row_1 .c25_label { top: 3.5696vw; }   /* (16838-16770)/1905 */
.c25_row_2 .c25_label { top: 6.7192vw; }   /* (16898-16770)/1905 */
.c25_row_3 .c25_label { top: 9.8688vw; }   /* (16958-16770)/1905 */
.c25_row_4 .c25_label { top: 13.0184vw; }  /* (17018-16770)/1905 */
.c25_row_5 .c25_label { top: 16.1680vw; }  /* (17078-16770)/1905 */

.c25_input {
    position: absolute;
    left: 37.4409%;                    /* (1227-990)/633 */
    width: 50.5530%;                   /* (1547-1227)/633 */
    font-family: 'SUIT', sans-serif;
    font-size: 0.9454vw;
    font-weight: 400;
    color: #000000;
    line-height: 1;
    letter-spacing: -0.05em;
    background: transparent;
    border: 0;
    outline: none;
    padding: 0;
    box-sizing: border-box;
    white-space: nowrap;
}

.c25_row_1 .c25_input { top: 3.5170vw; }   /* (16837-16770)/1905 */
.c25_row_2 .c25_input { top: 6.6667vw; }   /* (16898-16770)/1905 */
.c25_row_3 .c25_input { top: 9.8163vw; }   /* (16958-16770)/1905 */
.c25_row_5 .c25_input { top: 16.1155vw; }  /* (17078-16770)/1905 */

.c25_input::placeholder {
    color: #818181;
}

.c25_select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url('/images/con25_02.webp');
    background-repeat: no-repeat;
    background-position: right 0.4vw center;
    background-size: 0.6299vw auto;
    padding-right: 1.4vw;
    cursor: pointer;
    color: #818181;
}

.c25_select:valid {
    color: #000000;
}

.c25_radio_group {
    position: absolute;
    left: 37.1248%;                    /* (1225-990)/633 */
    top: 12.7034vw;                    /* (17012-16770)/1905 (radio circle top) */
    display: flex;
    align-items: center;
}

.c25_radio:nth-child(2) {
    margin-left: 1.5099vw;             /* (1342-1225-92)/1905 ≈ 25/1905 */
}

.c25_radio {
    display: inline-flex;
    align-items: center;
    gap: 0.45vw;
    cursor: pointer;
    font-family: 'SUIT', sans-serif;
    font-size: 0.9454vw;
    font-weight: 600;
    color: #000000;
    letter-spacing: -0.05em;
    line-height: 1;
    white-space: nowrap;
}

.c25_radio input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.c25_radio_box {
    display: inline-block;
    width: 1.4173vw;                   /* 27/1905 */
    height: 1.4173vw;
    border-radius: 50%;
    background: #ffffff;
    border: 1px solid #d8d8c2;
    position: relative;
    flex-shrink: 0;
    box-sizing: border-box;
}

.c25_radio input:checked + .c25_radio_box::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.9449vw;                   /* 18/1905 */
    height: 0.9449vw;
    border-radius: 50%;
    background: #000000;
    transform: translate(-50%, -50%);
}

.c25_agree {
    position: absolute;
    left: 60.0316%;                    /* (1370-990)/633 */
    top: 16.3926vw;                    /* (17128-16770)/1905 */
    display: inline-flex;
    align-items: center;
    gap: 0.5vw;
    cursor: pointer;
    z-index: 2;
}

.c25_agree input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.c25_agree_box {
    display: inline-block;
    width: 1.4173vw;
    height: 1.4173vw;
    border-radius: 50%;
    background: #ffffff;
    border: 1px solid #d8d8c2;
    position: relative;
    flex-shrink: 0;
    box-sizing: border-box;
}

.c25_agree input:checked + .c25_agree_box::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.9449vw;
    height: 0.9449vw;
    border-radius: 50%;
    background: #000000;
    transform: translate(-50%, -50%);
}

.c25_agree_text {
    font-family: 'SUIT', sans-serif;
    font-size: 0.8399vw;               /* 16/1905 */
    font-weight: 400;
    color: #000000;
    letter-spacing: -0.05em;
    line-height: 1;
    white-space: nowrap;
}

.c25_submit {
    position: absolute;
    left: 25.5924%;                    /* (1152-990)/633 */
    top: 18.5748vw;                    /* (17181-16770)/1905 */
    width: 15.8530vw;                  /* 302/1905 */
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    z-index: 3;
}

.c25_submit img {
    width: 100%;
    display: block;
}

.c25_clover {
    top: 26.8242vw;                    /* (17138-16627)/1905 */
    left: 83.3071%;                    /* 1587/1905 */
    width: 8.2415vw;                   /* 157/1905 */
    z-index: 3;
}

.c25_clover img {
    width: 100%;
    display: block;
}

}


/* ============================================================= */
/* ===== CON1 (template/main/style.css에서 통합) ===== */
/* ============================================================= */

@keyframes con1-strip-back {
    0%, 100% { transform: rotate(-8deg) translateY(0); }
    50% { transform: rotate(-6deg) translateY(-1%); }
}
@keyframes con1-strip-front {
    0%, 100% { transform: rotate(7deg) translateY(0); }
    50% { transform: rotate(9deg) translateY(1%); }
}
@keyframes con1-keyring-back {
    0%, 100% { transform: translateY(0) rotate(-2deg); }
    50% { transform: translateY(-2%) rotate(2deg); }
}
@keyframes con1-keyring-front {
    0%, 100% { transform: translateY(0) rotate(2deg); }
    50% { transform: translateY(2%) rotate(-2deg); }
}
@keyframes con1-keyring-deco-top {
    0%, 100% { transform: rotate(0deg); }
    50% { transform: rotate(4deg); }
}
@keyframes con1-keyring-deco-bottom {
    0%, 100% { transform: rotate(0deg); }
    50% { transform: rotate(-5deg) translateX(-2%); }
}

@media (min-width: 601px) {
.main {}
.main .con1 {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #4a845e;
}
.main .con1_scene {
    position: relative;
    width: 100%;
    aspect-ratio: 1.899302;
}
.main .con1_scene--bottom {
    position: absolute;
    top: 0;
    left: 0;
}
.main .con1_bg,
.main .con1_title,
.main .con1_deco,
.main .con1_strip_wrap,
.main .con1_strip,
.main .con1_keyring_wrap,
.main .con1_keyring,
.main .con1_keyring_deco {
    position: absolute;
}
.main .con1_bg {
    top: 0vw;
    left: -0.052493%;
    width: 100.787402%;
    z-index: 1;
}
.main .con1_bg--bottom {
    width: 100.892388%;
}
.main .con1_bg img,
.main .con1_title img,
.main .con1_deco img,
.main .con1_strip img,
.main .con1_keyring img,
.main .con1_keyring_deco img {
    display: block;
    width: 100%;
}
.main .con1_bg img {
    width: 100% !important;
}
.main .con1_title {
    z-index: 2;
}
.main .con1_title--left {
    top: 22.782152vw;
    left: 26.262467%;
    width: 22.204724%;
}
.main .con1_title--right {
    top: 22.757218vw;
    left: 51.527559%;
    width: 16.955381%;
}
.main .con1_strip_wrap {
    top: 10.125984vw;
    left: 50%;
    transform: translateX(-50%);
    width: 9.595801%;
    aspect-ratio: 1;
    z-index: 3;
}
.main .con1_strip {
    overflow: hidden;
    border-radius: 0.577428vw;
    box-shadow: 0 12px 28px rgba(17, 42, 29, 0.16);
}
.main .con1_strip--back {
    top: 0vw;
    left: 0%;
    width: 100%;
    z-index: 1;
    transform: rotate(-8deg);
    transform-origin: 50% 12%;
}
.main .con1_strip--front {
    top: 0.052493vw;
    left: 3.088803%;
    width: 94.208494%;
    z-index: 2;
    transform: rotate(7deg);
    transform-origin: 50% 12%;
}
.main .con1_deco {
    z-index: 4;
}
.main .con1_deco--spark {
    top: 14.593176vw;
    left: 37.480315%;
    width: 4.251969%;
    transform: rotate(-16deg);
}
.main .con1_deco--zigzag {
    top: 35.800525vw;
    left: 54.908136%;
    width: 6.719160%;
    transform: rotate(10deg);
}
.main .con1_title--bottom-left {
    top: 22.782152vw;
    left: 20.367454%;
    width: 22.099738%;
}
.main .con1_title--bottom-right {
    top: 22.729659vw;
    left: 59.422572%;
    width: 17.007874%;
}
.main .con1_keyring_wrap {
    top: 13.543307vw;
    left: 42.099738%;
    width: 18.320210%;
    aspect-ratio: 0.707911;
    z-index: 3;
}
.main .con1_keyring {
    z-index: 2;
}
.main .con1_keyring--back {
    top: -3.4vw;
    left: -1.398281%;
    width: 22.9rem;
}
.main .con1_keyring--front {
    top: 7.716535vw;
    left: 28.653295%;
    width: 25.5rem;
    z-index: 3;
}
.main .con1_keyring_deco {
    z-index: 4;
}
.main .con1_keyring_deco--top {
    top: 1.259843vw;
    left: 45.272206%;
    width: 54.727794%;
}
.main .con1_keyring_deco--bottom {
    top: 20.209974vw;
    left: 0%;
    width: 29.512894%;
    z-index: 1;
}
.main .con1_strip--back {
    animation: con1-strip-back 4.8s ease-in-out 1s infinite;
}
.main .con1_strip--front {
    animation: con1-strip-front 5s ease-in-out 1.1s infinite;
}
.main .con1_keyring--back {
    animation: con1-keyring-back 4.8s ease-in-out 1s infinite;
}
.main .con1_keyring--front {
    animation: con1-keyring-front 5s ease-in-out 1.15s infinite;
}
.main .con1_keyring_deco--top {
    animation: con1-keyring-deco-top 4.2s ease-in-out 1.2s infinite;
}
.main .con1_keyring_deco--bottom {
    animation: con1-keyring-deco-bottom 4.6s ease-in-out 1.2s infinite;
}
}

@media (prefers-reduced-motion: reduce) {
    .main .con1_strip,
    .main .con1_keyring,
    .main .con1_keyring_deco {
        animation: none !important;
    }
}

.con7_slide {
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
}

.c8_clover {
    display: block;
    animation: rotate_img 4s ease-in-out infinite;
    transform-origin: 50% 50%;
}
.c8_clover_tr { animation-delay: 0.4s; }
.c8_clover_bl { animation-delay: 0.8s; }
.c8_clover_br { animation-delay: 1.2s; }

.c12_circle2 > img {
    animation: scaleOpa 2s infinite;
}
.c12_circle3 > img {
    animation: scaleOpa2 2s infinite;
}
.c15_slide_img {
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
}
.c17_pill {
    filter: opacity(.3);
    transition: background-color 300ms ease, filter .3s;

    &.active {
        filter: opacity(1);
    }
}
.c24_board {
    border: 1px solid #ddd;
}

/* -------------- renew -------------- */

.renew__main {
    background: url(/images/main_bg.webp) no-repeat center/cover;
    height: 100rem;
}
.main_left {
    left: 2rem;
    top: 8rem;
}
.main_right {
    right: 2rem;
    top: 8rem;
}
.main__marquee {
    bottom: 0;
    border-top: 1px solid #ddd;

    img {
        animation: marqueeX 10s linear infinite;
    }
}
.main_02 {
    top: 15rem;
    left: 26rem;
}
.main_03 {
    top: 49rem;
    left: 2rem;
}
.main_04 {
    bottom: 2rem;
    right: 1rem;
}
.main_05 {
    top: 7rem;
    left: 0rem;
}
.main_06 {
    bottom: 3rem;
    left: 20rem;
}


.keyring__system {
    --primary: #d1fc6f;
    display: block;
    background: linear-gradient(to right, #518b65 50%, #48865c 50%);
    background-size: 16rem 100%;
    box-sizing: border-box;
    height: 95rem;
    overflow: hidden;

    @media (width >=600px) {
        padding-top: 28rem;
        padding-left: 24rem;
        padding-bottom: 7rem;
    }
}

.keyring__system .system__box {
    border-radius: 3rem 0 0 3rem;
    max-width: 86.3rem;
    margin-left: auto;

    &:nth-child(1) .box--right {
        right: 8.8rem;
        bottom: -1rem;
    }

    &:not(:last-child) {
        margin-bottom: 3rem;
    }
}

.con_03_3 {
    top: 0;
    right: 0;
}