.franchise-form {
    & .franchise-form__group { border: 0; padding: 0; margin: 0; min-width: 0; }
    & .franchise-form__group--consultation { margin-top: calc(var(--px)*37.6); }
    :where(& .franchise-form__legend) { margin-bottom: calc(var(--px)*20); }
    & .franchise-form__legend { padding: 0 calc(var(--px)*28); position: static; text-indent: 0; overflow: visible;
        &::before { content: ''; display: inline-block; width: calc(var(--px)*15); padding-bottom: calc(var(--px)*15); margin-right: calc(var(--px)*10); border-radius: 50%; background: #009e5a; }
    }
    & .franchise-form__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: calc(var(--px)*5) calc(var(--px)*6); }
    & .franchise-form__field { padding: calc(var(--px)*6) calc(var(--px)*52); border: 1px solid #bfd1c9; border-radius: calc(var(--px)*13); background: #fdfdfb; gap: calc(var(--px)*20); min-width: 0; }
    & .franchise-form__field--region { padding-block: calc(var(--px)*6); padding-right: calc(var(--px)*100); }
    & .franchise-form__field--message { grid-column: 1 / -1; padding-block: calc(var(--px)*16); }
    & .franchise-form__label { flex-shrink: 0; }
    & .franchise-form__input { min-height: calc(var(--px)*42); width: 0; min-width: 0; flex: 1 1 0; border: 0; padding: 0; background: transparent; font-family: var(--font-pretendard); font-size: var(--bodyL); line-height: 1.3; color: #020202; }
    & .franchise-form__input::placeholder { color: #020202; opacity: 1; }
    & .franchise-form__input--budget { text-align: center; }
    & .franchise-form__input--message { resize: vertical; min-height: calc(var(--px)*97); }
    & .franchise-form__region-control { flex: 1 1 0; min-width: 0; }
    & .franchise-form__input--region { appearance: none; padding-left: calc(var(--px)*72); padding-right: calc(var(--px)*97); text-align: left; cursor: pointer; }
    & .franchise-form__region-value { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    & .franchise-form__region-picker { right: 0; pointer-events: none; width: calc(var(--px)*77); padding-block: calc(var(--px)*4); border-radius: 50vw; background: #bfd1c9; }
    & .franchise-form__region-arrow { transform: rotate(90deg); transition: transform .2s ease-out; }
    & .is-open .franchise-form__region-arrow { transform: rotate(-90deg); }
    & .franchise-form__region-list { top: calc(100% + calc(var(--px)*12)); left: 0; right: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: calc(var(--px)*6); margin: 0; padding: calc(var(--px)*12); list-style: none; border: 1px solid #bfd1c9; border-radius: calc(var(--px)*13); background: #fff; box-shadow: 0 12px 32px rgb(0 0 0 / 10%); visibility: hidden; opacity: 0; transform: translateY(calc(var(--px)*-6)); transition: opacity .2s ease-out, transform .2s ease-out, visibility .2s; }
    & .is-open .franchise-form__region-list { visibility: visible; opacity: 1; transform: none; }
    & .franchise-form__region-option { padding-block: calc(var(--px)*10); border-radius: calc(var(--px)*8); text-align: center; font-size: var(--bodyM); line-height: 1.3; color: #020202; cursor: pointer; transition: background-color .15s ease-out, color .15s ease-out; }
    & .franchise-form__region-option:focus { outline: none; background: color-mix(in srgb, var(--primary) 12%, transparent); }
    @media (hover: hover) {
        & .franchise-form__region-option:hover { background: color-mix(in srgb, var(--primary) 12%, transparent); }
    }
    & .franchise-form__region-option[aria-selected="true"] { background: var(--primary); color: #fff; font-weight: 600; }
    & .franchise-form__unit { margin-right: calc(var(--px)*120); }
    & .franchise-form__consent-row { padding-right: calc(var(--px)*44); margin-top: calc(var(--px)*22); }
    & .franchise-form__consent { padding-block: calc(var(--px)*4); gap: calc(var(--px)*12); cursor: pointer; }
    & .franchise-form__checkbox { appearance: none; width: calc(var(--px)*24); margin: 0; padding: calc(var(--px)*4); border: 1px solid #a5bdb3; border-radius: 50%; background: #fff; }
    & .franchise-form__checkbox::after { content: ''; display: block; padding-bottom: 100%; border-radius: 50%; transform: scale(0); transition: transform .18s ease-out; }
    & .franchise-form__checkbox:checked::after { background: #009e5a; transform: scale(1); }
    & .franchise-form__consent-text { text-decoration: underline; text-underline-offset: calc(var(--px)*3); }
    & .franchise-form__consent-view { flex-shrink: 0; padding: calc(var(--px)*4) calc(var(--px)*12); border: 1px solid #009e5a; border-radius: 50vw; background: #fff; font: inherit; font-size: var(--bodyS); font-weight: 500; line-height: 1.2; color: #009e5a; cursor: pointer; transition: background-color .2s ease-out, color .2s ease-out; }
    @media (hover: hover) {
        & .franchise-form__consent-view:hover { background-color: #009e5a; color: #fff; }
    }
    & .franchise-form__actions { margin-top: calc(var(--px)*5); }
    & .franchise-form__submit { border: 0; border-radius: 50vw; padding: calc(var(--px)*12) calc(var(--px)*26) calc(var(--px)*12) calc(var(--px)*54); gap: calc(var(--px)*30); background: #009e5a; cursor: pointer; }
    & .franchise-form__arrow { flex-shrink: 0; width: calc(var(--px)*43); aspect-ratio: 1; background: #fff; border-radius: 50%; }
    & .franchise-form__arrow-icon { width: calc(var(--px)*21); aspect-ratio: 21 / 18; }
}

@media (max-width:599px) {
    .franchise-form {
        & .franchise-form__group--consultation { margin-top: 6.4vw; }
        & .franchise-form__legend { padding: 0 4.2667vw;
            &::before { width: 2.1333vw; padding-bottom: 2.1333vw; margin-right: 1.6vw; }
        }
        & .franchise-form__fields { grid-template-columns: minmax(0, 1fr); gap: 2.1333vw; }
        & .franchise-form__field { padding: 1.0667vw 4.2667vw; border-radius: 2.1333vw; gap: 3.2vw; }
        & .franchise-form__field--region { padding-block: 1.0667vw; padding-right: 4.2667vw; }
        & .franchise-form__field--message { padding-block: 2.1333vw; }
        & .franchise-form__input { min-height: 10.6667vw; }
        & .franchise-form__input--message { min-height: 21.3333vw; }
        & .franchise-form__input--region { padding-left: 3.2vw; padding-right: 14.9333vw; }
        & .franchise-form__region-picker { width: 12.8vw; padding-block: 0.5333vw; }
        & .franchise-form__region-list { top: calc(100% + 2.1333vw); gap: 1.0667vw; padding: 2.1333vw; border-radius: 2.1333vw; }
        & .franchise-form__region-option { padding-block: 2.1333vw; border-radius: 1.6vw; }
        & .franchise-form__unit { margin-right: 0; }
        & .franchise-form__consent-row { justify-content: center; padding-right: 0; margin-top: 3.2vw; }
        & .franchise-form__consent { padding-block: 0.5333vw; gap: 2.1333vw; }
        & .franchise-form__checkbox { width: 5.3333vw; padding: 0.5333vw; }
        & .franchise-form__consent-text { text-underline-offset: 0.5333vw; }
        & .franchise-form__consent-view { padding: 1.0667vw 3.2vw; }
        & .franchise-form__actions { margin-top: 4.2667vw; }
        & .franchise-form__submit { padding: 1.6vw 1.6vw 1.6vw 6.4vw; gap: 4.2667vw; border: 1px solid #009e5a; border-radius: 50vw; }
        & .franchise-form__arrow { width: 8.5333vw; height: 8.5333vw; /* HEIGHT: 원형 도형 지름 고정 */ }
        & .franchise-form__arrow-icon { width: 3.2vw; }
    }
}
