/* Shared by the main section and its board preview. 1905px desktop canvas. */
.con07_benefits, .benefit-preview {
    --benefit-pink: #ff1493;
    font-family: "Pretendard Variable", "Pretendard", sans-serif;
    color: #000;
    letter-spacing: -0.042vw;
}
.con07_benefits { display: block; width: 100%; padding: 5.302vw 0 2vw; background: #fff; box-sizing: border-box; }
.con07_benefits *, .benefit-preview * { box-sizing: border-box; }
.con07_benefits .benefits-inner { width: 75.696%; margin: 0 auto; }
.con07_benefits .benefits-title { margin: 0 0 2.572vw; text-align: center; font-size: 2.835vw; line-height: 1.24; font-weight: 800; letter-spacing: -0.126vw; overflow-wrap: anywhere; }
.con07_benefits .benefits-title > span { display: block; }
.con07_benefits .benefits-title .benefits-title__highlight { display: flex; align-items: center; justify-content: center; gap: 0.630vw; color: var(--benefit-pink); }
.con07_benefits .benefits-title__icon { flex: 0 0 auto; width: 3.307vw; height: 2.940vw; object-fit: contain; }
.con07_benefits .benefits-slider { overflow: visible; width: 100%; }
.con07_benefits .benefits-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.522vw; align-items: stretch; }
.con07_benefits .benefits-grid > .benefit-card { height: auto; }
.con07_benefits .benefits-controls { display: none; }
.benefit-card { min-width: 0; padding: 3.675vw 3.622vw 3.517vw; border-radius: 2.205vw; background: #fff; box-shadow: 0 0 28px rgba(0,0,0,.095); }
.benefit-card .benefit-card__image { width: 100%; height: 11.496vw; display: flex; align-items: center; justify-content: center; overflow: hidden; color: #999; font-size: 0.840vw; }
.benefit-card .benefit-card__image img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center; }
.benefit-card .benefit-card__image--cover img { object-fit: cover; }
.benefit-card [hidden], .benefits-title [hidden] { display: none !important; }
.benefit-card .benefit-card__name { margin: 2.625vw 0 1.995vw; color: #000; text-align: center; font-size: 1.470vw; font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
.benefit-card .benefit-card__prices { display: grid; gap: 0.472vw; margin: 0; font-size: 0.945vw; line-height: 1.45; font-weight: 500; }
.benefit-card .benefit-card__prices > div { display: flex; align-items: baseline; justify-content: space-between; gap: 0.525vw; }
.benefit-card dt { min-width: 0; overflow-wrap: anywhere; }
.benefit-card dd { flex-shrink: 0; margin: 0; text-align: right; font-variant-numeric: tabular-nums; }
.benefit-card .benefit-card__final { color: var(--benefit-pink); font-weight: 700; }
.benefit-card .benefit-card__support { margin-top: 1.050vw; padding-top: 1.102vw; border-top: 1px solid #ffb6de; text-align: right; }
.benefit-card .benefit-card__badge { display: inline-block; max-width: 100%; padding: 0.158vw 0.682vw; border: 1px solid var(--benefit-pink); border-radius: 0.367vw; color: var(--benefit-pink); font-size: 0.682vw; line-height: 1.2; font-weight: 500; overflow-wrap: anywhere; }
.benefit-card .benefit-card__amount { display: block; margin-top: 0.105vw; color: var(--benefit-pink); font-size: 1.575vw; line-height: 1.12; font-weight: 750; }
.benefit-card .benefit-card__note { margin: 0.105vw 0 0; color: #bdbdbd; font-size: 0.735vw; line-height: 1.3; font-weight: 500; overflow-wrap: anywhere; }
.con07_benefits .benefits-empty { margin: 0; padding: 5.249vw 1.050vw; color: #777; text-align: center; font-size: 1.050vw; }
.con07_benefits .benefits-manage { display: block; width: fit-content; margin: 1.575vw auto 0; color: #777; text-decoration: underline; font-size: 0.840vw; }
@media (max-width: 1199px) {
    .con07_benefits .benefits-inner { width: 90%; }
    .con07_benefits .benefits-title { margin-bottom: 2.5rem; font-size: 2.25rem; letter-spacing: -.06rem; }
    .con07_benefits .benefits-title .benefits-title__highlight { gap: .5rem; }
    .con07_benefits .benefits-title__icon { width: 2.625rem; height: 2.333rem; }
    .con07_benefits .benefits-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
    .benefit-card { padding: 2.5rem 1.5rem; border-radius: 1.75rem; letter-spacing: -.025rem; }
    .benefit-card .benefit-card__image { height: 11.5rem; font-size: .875rem; }
    .benefit-card .benefit-card__name { margin: 1.75rem 0; font-size: 1.375rem; }
    .benefit-card .benefit-card__prices { gap: .625rem; font-size: 1rem; }
    .benefit-card .benefit-card__prices > div { gap: .5rem; }
    .benefit-card .benefit-card__support { margin-top: 1.25rem; padding-top: 1.25rem; }
    .benefit-card .benefit-card__badge { padding: .1875rem .75rem; border-radius: .4rem; font-size: .75rem; }
    .benefit-card .benefit-card__amount { margin-top: .25rem; font-size: 1.75rem; }
    .benefit-card .benefit-card__note { margin-top: .1875rem; font-size: .8125rem; }
    .con07_benefits .benefits-empty { padding: 3rem 1rem; font-size: 1rem; }
    .con07_benefits .benefits-manage { margin-top: 1.5rem; font-size: .875rem; }
}
@media (min-width: 768px) and (max-width: 1199px) {
    .con07_benefits .benefits-inner { width: calc(100% - 3rem); }
    .con07_benefits .benefit-card { padding: 2rem 1rem; border-radius: 1.5rem; }
    .con07_benefits .benefit-card__image { height: 9rem; }
    .con07_benefits .benefit-card__name { font-size: 1.125rem; }
    .con07_benefits .benefit-card__prices { font-size: .875rem; }
}
@media (max-width: 767px) {
    .con07_benefits { padding: 3.75rem 0 3.25rem; }
    .con07_benefits .benefits-inner { width: 100%; }
    .con07_benefits .benefits-title { padding: 0 1.25rem; font-size: clamp(1.625rem, 7.2vw, 2rem); margin-bottom: 2rem; }
    .con07_benefits .benefits-title__highlight > span { min-width: 0; }
    .con07_benefits .benefits-title__icon { width: 2.125rem; height: 1.889rem; }
    .con07_benefits .benefits-slider { width: calc(100% - 3.5rem); max-width: 26.25rem; }
    .con07_benefits .benefits-slider.swiper-initialized { touch-action: pan-y; -webkit-user-select: none; user-select: none; }
    .con07_benefits .benefits-slider.swiper-initialized .benefits-grid { will-change: transform; }
    .con07_benefits .benefits-slider img { -webkit-user-drag: none; pointer-events: none; }
    .con07_benefits .benefits-grid { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
    .con07_benefits .benefits-slider.swiper-initialized .benefits-grid { display: flex; gap: 0; align-items: stretch; }
    .con07_benefits .benefit-card { display: flex; flex-direction: column; padding: 1.75rem 1.5rem; border-radius: 1.5rem; box-shadow: 0 3px 22px rgba(0,0,0,.08); }
    .con07_benefits .benefit-card__image { height: clamp(10rem, 46vw, 12rem); flex-shrink: 0; }
    .con07_benefits .benefit-card__name { margin: 1.5rem 0; font-size: 1.25rem; line-height: 1.4; word-break: keep-all; overflow-wrap: anywhere; }
    .con07_benefits .benefit-card__prices { margin-bottom: 1rem; }
    .con07_benefits .benefit-card__prices > div { gap: .5rem; }
    .con07_benefits .benefit-card__support { margin-top: auto; padding-top: 1rem; }
    .con07_benefits .benefit-card__note { color: #898989; line-height: 1.5; }
    .con07_benefits .benefits-controls:not([hidden]) { display: flex; align-items: center; justify-content: center; gap: .5rem; margin: 1.5rem auto 0; padding: 0 1.25rem; }
    .con07_benefits .benefits-controls button { display: inline-flex; align-items: center; justify-content: center; min-width: 2.75rem; min-height: 2.75rem; padding: .375rem .75rem; border: 1px solid #f8d7e9; border-radius: 50%; background: #fff; color: var(--benefit-pink); font-family: inherit; cursor: pointer; touch-action: manipulation; transition: background-color .2s, color .2s, box-shadow .2s; box-shadow: 0 2px 8px rgba(245,26,145,.05); }
    .con07_benefits .benefits-controls svg { display: block; width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
    .con07_benefits .benefits-controls button:active { background: var(--benefit-pink); color: #fff; box-shadow: none; }
    .con07_benefits .benefits-controls button:focus-visible { outline: 2px solid var(--benefit-pink); outline-offset: 3px; }
    .con07_benefits .benefits-controls .benefits-autoplay { border-radius: 1.5rem; font-size: .8125rem; font-weight: 600; margin-left: .375rem; color: #777; border-color: #eee; box-shadow: none; }
    .con07_benefits .benefits-pagination { width: auto; min-width: 3.25rem; text-align: center; font-size: .875rem; color: #888; font-variant-numeric: tabular-nums; }
    .con07_benefits .swiper-pagination-current { color: var(--benefit-pink); font-weight: 700; }
}
