/* 공통체크 */
.check-box {
    width: 100%;
    color: var(--primary-color);
    text-align: left;
}
.check-label {
    display: inline-block;
    vertical-align: top;
    position: relative;
    padding-left: 28px;
    cursor: pointer;}

.form input {
    border: 2px solid #fff;
    width: 360px;
    height: 62px;
    border-radius: 60px;
    margin-bottom: 16px;
    text-indent: 20px;
    color: var(--secondary-color);}

.check-input {
    cursor: pointer;
    border: 1px solid var(--primary-color);
}

.check-input, .check-check {
    display: block;
    position: absolute;
    left: 0px;
    top: 0;
    width: 20px;
    height: 20px;
    border-radius: 100%;
}

.check-check:checked + .check-input::before {
    display: block;
}
.check-input::before {
    display: none;
    content: "";
    width: 4px;
    height: 8px;
    border-right: 2px solid #efefef;
    border-bottom: 2px solid #efefef;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -65%) rotate(45deg);
    transition: 0.2s ease-in-out; }

.check-check:checked + .check-input {
    background:var(--primary-color);
    border-color: var(--primary-color);}

/* 프랜차이즈 ::S:: */

.franchise-sc {transition: all 0.3s; scroll-behavior: smooth;}
.inner1480 {max-width: 1480px; width: 100%; margin: 0 auto; color: #fff; overflow: hidden!important;}
.colorred {color: var(--primary-color);}
.franchise-visual {width: 100%; overflow: hidden; text-align: center;}
.franchise-sc .franchise-secondtxt {background: #fff; text-align: center; padding: 80px 0;}
.fr-vitxt-wrap {padding: 200px 0; display: flex; max-width: 1480px; align-items: center; margin: 0 auto; color: #fff; 
justify-content: center; flex-wrap: wrap;}
.fr-vitxt-wrap p {font-size: 80px; font-weight: 700; margin-right: 12px;}
.fr-vitxt-wrap span {display: block; width: 100%; padding-top: 24px;}
.franchise-visual h3 {font-size: 1.75rem; font-weight: 600; padding-bottom: 32px;}
.franchise-secondtxt {color: var(--primary-color);}
.up-txt {transform: translateY(-40px);}
.down-txt {opacity: 0.7;}
.font-20 {font-size: 1.125rem;}
.second-txtwrap p {padding-bottom: 20px;}
.franchise-2step {background: url(../../resource/img/sub/bk_franchise.png)no-repeat; color: var(--primary-color);
     width: 100%; object-fit: cover; position: relative; }
.franchise-2step .flex-row {display: flex; justify-content: space-between; padding: 40px 0;}

.content-deco {position: relative; margin-top: 40px; }
.content-deco .rotate_loop {animation: rotate_loop 10s linear infinite;}
.content-deco .spin-ani {position: absolute; top: 48px; left: 56px;}
.txt-2step {padding-top: 120px;}
.franchise-sc h2 {font-size: 3rem; font-weight: 800; text-transform: uppercase; padding-bottom: 16px;}
.franchise-sc .franchise-2step .txt-2step p{text-align: left;}
.franchise-3step {padding: 8rem 0 6rem 0; color: #fff;}
.franchise-3step h2, .infotab-detail h2 {text-align: center;}
.areafixed-3step {padding-top: 40px;}


/* 겹치는 인터렉션용 스타일 */
.fixed-2step {max-width: 840px; max-height: 80vh; overflow: hidden; overflow-y: auto;
      scroll-behavior: smooth; /* 내부 스크롤을 부드럽게 */
    -webkit-overflow-scrolling: touch; /* 모바일 대응 */display: flex; flex-wrap: wrap; justify-content: center;}
.fixed-2step::-webkit-scrollbar {display: none;}
.fixed-2step img {margin-top: 80px;}
.fixed-2step img:nth-child(2n) {transform: rotate(5deg) scale(0.9);}
.fixed-2step img:nth-child(2n+1) {transform: rotate(-5deg) scale(0.9);}

.franchise-3step {
    height: 120vh;
    padding-bottom: 100px; 
}

.areafixed-3step {
    position:relative; 
    top: 0;
    left: 0; 
    height: 800px;
}
.areafixed-3step .areafixed-box {position: absolute; top: 40px; left: 0;}

.areafixed-box:nth-child(1) { z-index: 10; }
.areafixed-box:nth-child(2) { z-index: 20; }
.areafixed-box:nth-child(3) { z-index: 30; }


.areafixed-box {position: relative;}
.areafixed-box .boxtxt {position: absolute; padding: 72px; bottom: 0;}
.boxtxt span {display: block; color: #ffd1d1;}
.boxtxt > strong {font-size: 1.5rem; font-weight: 700; padding: 16px 0; display: inline-block;}
.boxtxt > p {font-weight: 300; color: #dfdfdf; text-align: left;} 
.franchise-info {margin-bottom: 6rem;}
.franchise-info .info-tabmenu ul {display: flex; }
.franchise-info .info-tabmenu ul li {border: 1px solid #fff; padding: 12px 40px; border-radius: 10px 10px 0 0; cursor: pointer;}
.franchise-info .info-tabmenu ul li.on {color: var(--primary-color); background: #fff;}
.franchise-info .info-tabmenu ul li:hover {color: var(--primary-color); background: #fff;}
.franchise-info .infotab-detail {padding: 40px; border: 1px solid #fff; border-radius: 0 0 20px 20px;}
.infotab-detail .deatil-box {margin: 40px; background: var(--secondary-color) ; border-radius: 20px; padding: 28px 0;}
.infotab-detail .deatil-box .inner620 {max-width: 620px; width: 100%; margin: 0 auto; color: #555;}
.infotab-detail .deatil-box h3 {max-width: 620px; margin: 0 auto; color: #111; font-size: 1.25rem;
     padding: 1rem 0; border-bottom: 1px solid var(--primary-color);}
.infotab-detail .deatil-box h3 span {font-size: 0.925rem; color: var(--primary-color);}
.input-flex {display: flex; justify-content: space-between; margin-top: 1rem; align-items: center; max-width: 620px;}
.input-flex span {flex-basis: 20%;}
.input-flex .essential::before {content: '*'; color: var(--primary-color); display: inline-block; padding-right:4px;}
.franchise-submit {padding: 0.8rem 3rem; display: block;
      margin: 0 auto; background: #111; color: #fff; border-radius: 50px;}
.input-flex input {flex-basis: 75%!important; min-width: 300px; border: none; border-radius: 5px;}
.input-flex .form-select select {flex-basis: 75%; min-width: 160px; border: 1px solid #fff; border-radius: 5px;}
.path-dropdown {min-width: 300px;} 
.agreetxt {max-width: 620px; width: 100%; margin: 16px auto 0 auto ; text-align: left;}
.agree_body pre {font-family: 'Prentendard'; font-size: 0.925rem; color: #999; max-height: 120px; border-radius: 5px;
       overflow-y: scroll; background: #fff; padding: 20px; }
.agree_body pre::-webkit-scrollbar {
  width: 0;
  background: transparent; 
}
.infotab-cost {display: none;}

.infotab-cost .deatil-box {height: 400px; display: flex; align-items: center;
       justify-content: center; flex-direction: column; }
 .infotab-cost .deatil-box p {padding-top: 12px; color: var(--primary-color);
}



@media all and (max-width: 760px) {
    .fr-vitxt-wrap {padding: 120px 15px;}
    .fr-vitxt-wrap p {font-size: 2.75rem;}
    .inner1480 {padding: 0 15px;}
    .franchise-secondtxt h3 {padding: 0 15px 28px 15px;}
    .franchise-secondtxt > p{padding: 0 15px;}
    .second-txtwrap {padding: 0 15px; font-size: 1rem;}
    .franchise-2step .flex-row {flex-wrap: wrap; justify-content: center; align-items: center;}
    .txt-2step {padding-top: 0; text-align: center;}
    .franchise-sc h2 {font-size: 2.5rem; line-height: 110%;}
    .franchise-sc .franchise-2step .txt-2step p{text-align: center; padding-bottom: 20px;}
    .content-deco {display: none;}
    .fixed-2step {max-height: 60vh;}
    .fixed-2step img {transform: scale(1);}
    .franchise-3step {margin: 40px 0;}
    .areafixed-box .boxtxt {bottom: unset; top: 0; padding: 40px;}
    .areafixed-box img {width: 100%; height: 300px; object-fit: cover; border-radius: 10px;}
    .franchise-info {margin-top: 140px;}
    .franchise-info .infotab-detail {padding: 40px 0; background: #ffeced; border-radius: 0 10px 10px 10px; color: var(--primary-color);}
    .franchise-info .infotab-detail p {color: #111; padding: 10px;}
    .infotab-detail .deatil-box {margin: 0; border-radius: 0; padding: 0 10px;}
    .infotab-detail .deatil-box h3 {font-size: 1.05rem; text-align: center;}
    .infotab-detail .deatil-box span {display: block};
    #emailSelect input {width: 100%; margin-top: 4px;}
    .input-flex span {flex-basis: 40%;}
    .input-flex .essential {flex-basis: 100%;}
    .input-flex:has(.location-nation) {flex-wrap: wrap;}
    .input-flex .location-nation {width: 33%;}
    .input-flex:has(.location-nation) select {min-width: unset; width: 100%;}
    .input-flex input {width: 228px; min-width:unset}
}


@keyframes rotate_loop {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* 프랜차이즈 ::E:: */
/* 갤러리 페이지 */
.gal-header {display: flex; align-items: center; gap: 20px;}
.gal-header h3 {font-size: 2.5rem; font-weight: 800; line-height: 120%;}
.gal-header .franchise-submit {background: #fff; color: var(--primary-color); width: 120px; padding: 12px;}
.galmenu-editor {display: flex; justify-content: space-between; align-items: center;}
.gal-deitbt button {padding: 12px; background: #fff; border: 1px solid #dfdfdf; 
    color: #111; border-radius: 50px; display: none;}
.galmenu-editor{padding-top: 80px;}
.menu-gallery {padding-top: 40px; max-width: 1480px; margin: 0 auto;
    display: flex; flex-wrap: wrap; row-gap: 40px; justify-content: space-between;}
.menu-gallery .menu-sum {background: #fff; padding: 28px; 
    max-width: 31%; height: 456px; overflow:hidden; border-radius: 10px; }
.meo-menuimg {border-radius: 10px; max-width: 415px; max-height: 296px; width: 100%; object-fit: cover; background: rgba(0, 0, 0, 0.8);}
.meo-menutitle {color: #111;}
.meo-menutxt {color: #111; text-align: left;}
.menu-sum h4 {font-size: 1.25rem; font-weight: 600; padding: 20px 0;}
.meo-location {padding-top: 80px; background: var(--third-color); margin-top: 80px;}
.meo-location h3 {font-size: 2.5rem; font-weight: 600; text-align: center;  color: var(--primary-color);}
.location-list {padding-top: 20px; }
.dtail-store .name {color:  var(--primary-color); font-size: 1.25rem; font-weight: 700; padding-bottom: 12px; display: inline-block;}
.location-list .store-item {display: flex; gap: 24px; margin-top: 20px;}
.location-list .store-item .store-sum {max-width: 368px; height: 220px; width: 100%; background: #ffd1d1; border-radius: 10px;
    display: inline-block;}
.dtail-store {padding: 40px; background: #fff; width: 100%; border-radius: 10px; }
#meo-pin { margin-top: 20px;}
#meo-pin iframe {border-radius: 10px;}

body:has(.meo-location) .footer {background: var(--third-color);}

.dtail-store p {display: flex; align-items: center; margin-bottom: 8px; gap: 10px; color: #555; text-align: left;}
.dtail-store p:last-child {margin-bottom: 0;}
.swiper-pagination-bullet-active { background: var(--secondary-color);}

@media screen and (min-width: 720px) {
    .menu-gallery.swiper {
        overflow: visible; /* 슬라이더 가두기 해제 */
    }
    .menu-gallery .swiper-wrapper {
        display: flex; 
        flex-wrap: wrap; /* 3개씩 두 줄 정렬 유지 */
        row-gap: 40px; 
        justify-content: space-between;
        transform: none !important; /* Swiper 이동 강제 방지 */
    }
    .menu-gallery .menu-sum.swiper-slide {
        background: #fff; 
        padding: 28px; 
        width: 31% !important; /* max-width 대신 width 사용 */
        max-height: 456px; 
        height: auto;
        border-radius: 10px;
        margin-right: 0 !important; /* Swiper 간격 제거 */
    }
   
}

@media screen and (max-width: 720px) {
    .menu-gallery {
        padding: 40px 20px; /* 좌우 여백 */
    }
    .menu-sum.swiper-slide {
        width: 100%; /* 모바일에서 한 개씩 */
        max-width: 100%;
        max-height: 380px; 
        height: auto;
    }
     .location-list .store-item {flex-wrap: wrap;}
     .location-list .store-item .store-sum {max-width: unset; object-fit: cover; height: 180px;}
     .meo-menuimg {height: 200px;}
     .location-list .store-item {gap: 0;}
     .dtail-store {padding: 20px;}
     .gal-header {gap: 10px; flex-direction: column; align-items: flex-start;}
     .gal-header > img {display: none;}
     .galmenu-editor {padding: 40px 0;}
     .menu-gallery .menu-sum {padding: 18px;}
     .meo-location {padding-top: 52px;}
     .addresscopy {flex-shrink: 0;}
     .meo-location h3 {font-size: 2rem; font-weight: 700;}
}