/*@import url('../../../fonts/GmarketSans/GmarketSans.css');  !* font-family: 'GmarketSans'; *!*/
@import url('https://cdn.jsdelivr.net/gh/leetaewook/gmarket-sans-dynamic-subset/GmarketSans.css');
@import url('../../../fonts/LemonMilk/LemonMilk.css');
@import url('../../../fonts/Pretendard/Pretendard.css');

				
/* #content */
button {cursor: pointer; border: 0; outline: none; padding: 0;}
.img_box img {width: 100%;}
.block {display: block;}

.required_text {color: #713FFF !important; font-style: normal;}
.p_color {color: #713FFF;}
.p_text {font-family: 'Pretendard';}

.highlighter {position: relative; z-index: 1;}
.highlighter::before {content: ''; display: block; width: 100%; height: 60%; background: rgba(255, 234, 42, .3); position: absolute; left: 0; bottom: 0; z-index: -1;}
.video_box {position: relative;}

section > .inner {padding: 120px 16.66%; box-sizing: border-box; font-family: 'Pretendard';}


.sub_visual .inner {--padding-inline: 13%; position: relative; display: flex; align-items: center; justify-content: space-between; padding: 25px var(--padding-inline) 0; width: 100%; max-height: 960px; overflow: hidden; background: url(../images/img_visual_bg.png) no-repeat center / cover;}
.sub_visual .inner .title {z-index: 1; display: grid; gap: 2em; text-align: left; min-width: 0; font-size: 10px; color: #fff;}
.sub_visual .inner .title__top {font-size: 2.4em; font-family: 'LEMONMILK', sans-serif; letter-spacing: 1px;}
.sub_visual .inner .title__main {font-size: 7.2em; font-weight: 700; font-family: 'Pretendard', sans-serif;}
.sub_visual .inner .title__desc {font-size: 2.8em; font-family: 'Pretendard', sans-serif;}
.sub_visual .inner .model {max-width: 826px; width: 100%; align-self: flex-end;}
.sub_visual .inner .model.fade-effect {--mask-property: linear-gradient(135deg, black 80%, transparent 100%); -webkit-mask-image: var(--mask-property); mask-image: var(--mask-property);}
.sub_visual .inner .model__img {display: block; aspect-ratio: 1239 / 1412; width: 100%; height: auto; object-fit: contain; object-position: bottom;}
.sub_visual .inner .notice-ai {position: absolute; right: var(--padding-inline); bottom: 10px; font-size: clamp(9px, 2.2vw, 14px); color: #000; opacity: .3;}

@media screen and (max-width:1540px) {
    .sub_visual .inner {--padding-inline: 5%;}
    .sub_visual .inner .title {font-size: 9px;}
    .sub_visual .inner .model {width: 740px;}
}

@media screen and (max-width:1440px) {
}

@media screen and (max-width:1058px) {
    .sub_visual .inner {--padding-inline: 0; padding-bottom: 100px; justify-content: right; height: auto;}
    .sub_visual .inner .model {width: 90%; align-self: flex-start;}
    .sub_visual .inner .model.fade-effect {--mask-property: linear-gradient(to bottom, black 70%, transparent 90%); -webkit-mask-image: var(--mask-property); mask-image: var(--mask-property);}
    .sub_visual .inner .model__img {transform: translateX(14%);}
    .sub_visual .inner .title {position: absolute; left: 8%; bottom: 8%;}
    .sub_visual .inner .notice-ai {right: auto; left: 50%; transform: translateX(-50%); width: 100%; text-align: center;}
}

@media screen and (max-width:768px) {
    .sub_visual .inner .title {font-size: 8px;}
    .sub_visual .inner .model {width: 100%;}
}

@media screen and (max-width:480px) {
    .sub_visual .inner .title {font-size: min(1.8vw, 8px);}
}


.form_box .inner {background-color: #F7F7F7;}
.form_box .inner p.title_text {font-size: 64px; font-weight: 700; line-height: 1.3em; letter-spacing: -1px; text-align: center; margin-bottom: 60px;}
.form_box .inner p.title_text strong {color: #713FFF;}
.form_box .inner p.notice {font-weight: 350; font-size: 16px; color: #575757; margin-bottom: 14px; text-align: right;}
.form_box .inner form {width: 100%; margin: 0 auto;}
.form_box .inner form .table_container {padding: 50px 15%; border-radius: 30px; background-color: #fff;}
.form_box .inner form .table > li {display: flex; align-items: center; margin-bottom: 20px;}
.form_box .inner form .table > li:last-child {margin-bottom: 0;}
.form_box .inner form .table .table_title {width: 130px; flex-shrink: 0; font-weight: 500; font-size: 26px;}
.form_box .inner form .table .table_title.top {align-self: flex-start;}
.form_box .inner form .table .table_con {flex-grow: 1;}
.form_box .inner form input[type='text'],
.form_box .inner form input[type='tel'] {width: 100%; padding: 18px 3%; box-sizing: border-box;
    font-family: 'Pretendard', sans-serif; font-size: 21px; color: #161617; border-radius: 12px; border: 1px solid #AAADB0; outline: none;}
.form_box .inner form input[type='text']:focus, 
.form_box .inner form input[type='tel']:focus {border-color: #713FFF;}
.form_box .inner form input[type='text']::placeholder, 
.form_box .inner form input[type='tel']::placeholder {color: #D5D5D5;}
.form_box .inner form input[type='checkbox'],
.form_box .inner form label {cursor: pointer;}

.form_box .inner form select {padding: 18px 3%; box-sizing: border-box; appearance: none; outline: none; cursor: pointer;
    font-family: 'Pretendard', sans-serif; font-size: 21px; color: #AAADB0; border-radius: 12px; border: 1px solid #AAADB0; background-color: #fff;
    background-image: url(../images/arrow_down.png); background-repeat: no-repeat; background-position: center right 3%; background-size: 26px 16px;}
.form_box .inner form select.on {background-image: url(../images/arrow_up_on.png);}
.form_box .inner form select:focus {border-color: #713FFF;}

.form_box .inner form select option {color:#713FFF}

.form_box .inner form select option:disabled {background:#f3f3f3}
.form_box .inner form #request_date {width: 100%;}
.form_box .inner form .time_box ul {width: calc(100% - 20px); display: flex; justify-content: space-between; align-items: center; gap: 12px;}
.form_box .inner form .time_box ul li {width: 33%; white-space: nowrap;}
.form_box .inner form .time_box ul li select {width: 85%; padding: 19px 8%; background-position: right 10% center;}
.form_box .inner form .time_box ul li select[name="ampm"] {width: 100%;}
.form_box .inner form .time_box ul li span {font-weight: 500; font-size: 26px; color: #161617; vertical-align: inherit; padding: 0 2px;}

.form_box .inner form .agree_box {margin-top: 14px; display: flex; align-items: center; justify-content: space-between;}
.form_box .inner form .agree_box input[type="checkbox"] {appearance: none; position: relative; margin: 0 7px 0 0;}
.form_box .inner form .agree_box label {vertical-align: middle;}
.form_box .inner form .agree_box input[class="agree"]::after {content:''; display: inline-block; width: 27px; height: 27px; 
    border-radius: 4px; border: 1px solid #A6A6A6; box-sizing: border-box; background-color: #fff; vertical-align: middle;
    background-image: url(../images/icon_chk.png); background-repeat: no-repeat; background-position: center; background-size: 14px 11px;}
.form_box .inner form .agree_box input[class="agree"]:checked::after {background-image: url(../images/icon_chk_on.png); border-color: #713FFF; background-color: #713FFF;}
.form_box .inner form .agree_box label .btn_agree {display: inline-block; font-size: 20px; line-height: 27px; color: #454545; vertical-align: middle;}
.form_box .inner form .agree_box .privacy {display: inline-block; background: #fff; border: 1.5px solid #A6A6A6; box-shadow: 0 2px 1px 0 rgba(44, 39, 56, .04); 
    border-radius: 100px; padding: 7px 20px; color: #272727; font-size: 18px; text-align: center; margin-left: 16px; vertical-align: middle;}
.form_box .inner form .terms {height: 360px; overflow-y: scroll; border-radius: 12px; padding: 25px 3% 0; margin-top: 40px;
    font-weight: 300; font-size: 15px; line-height: normal; color: #454545; background: #F9F9F9; border: 1px solid #AAADB0; display: none;}
.form_box .inner form .terms.on {display: block;}
.form_box .inner form .terms > * {background-color: transparent !important;}

.form_box .inner form textarea {width: 100%; height: 200px; padding: 14px 3%; box-sizing: border-box; overflow-y: scroll; resize: none; 
    border: 1px solid #AAADB0; border-radius: 12px; font-family: 'Noto Sans KR', sans-serif; font-size: 22px; line-height: normal; color: #713FFF; outline: none;}
.form_box .inner form textarea::placeholder {color: #AAADB0;}
.form_box .inner form textarea:focus {border-color: #713FFF;}
.form_box .inner form textarea ~ .notice {color: #2E3032; font-size: 18px; letter-spacing: -1px; margin-top: 12px; text-align: left;}
.form_box .inner form textarea ~ .notice:first-of-type {margin-top: 20px;}

.form_box .inner form .btn_reservation {background: #713FFF; border-radius: 100px; width: 680px; height: 90px; padding: 16px 0 12px;
    font-family: 'Pretendard'; font-weight: 700; font-size: 40px; text-align: center; color: #fff; 
    margin-top: 60px; position: relative; left: 50%; transform: translateX(-50%);}
.form_box .inner form .btn_reservation.on {background: #161617;}

/* 스크롤바 커스텀 [s] */
.form_box .inner form .terms::-webkit-scrollbar,
.form_box .inner form textarea::-webkit-scrollbar {width: 20px; /* 스크롤바 너비 */}
.form_box .inner form .terms::-webkit-scrollbar-thumb,
.form_box .inner form textarea::-webkit-scrollbar-thumb {background: #D9D9D9; /* 스크롤바 색상 */ border-radius: 15px; /* 스크롤바 둥근 테두리 */ border: 7px solid; /* 스크롤바 여백 */}
.form_box .inner form .terms::-webkit-scrollbar-thumb {border-color: #F9F9F9; /* 스크롤바 여백 컬러 */}
.form_box .inner form textarea::-webkit-scrollbar-thumb {border-color: #fff; /* 스크롤바 여백 컬러 */}
.form_box .inner form .terms::-webkit-scrollbar-track,
.form_box .inner form textarea::-webkit-scrollbar-track {border-radius: 15px;}
.form_box .inner form .terms::-webkit-scrollbar-track {background: #F9F9F9; /*스크롤바 뒷 배경 색상*/ }
.form_box .inner form textarea::-webkit-scrollbar-track {background: #fff; /*스크롤바 뒷 배경 색상*/ }
/* 스크롤바 커스텀 [e] */


.video {background: #F5F2FF;}
.video .inner {text-align: center;}
.video .inner p.title_text {font-size: 64px; font-weight: 700; line-height: 1.3em; letter-spacing: -1px; text-align: center; margin-bottom: 20px;}
.video .inner .sub_explain {font-size: 36px; line-height: 48px; letter-spacing: -.48px;}
.video .inner .video_box {width: 100%; padding-top: calc(720/1280 * 100%); margin-top: 100px;}
.video .inner .video_box::after {content: ''; display: block; width: 100%; padding-top: calc(130/1420 * 100%); 
    background: url(../images/img_shadow.png) center no-repeat; background-size: contain; position: absolute; top: 100%; left: 0;}
.video .inner .video_box iframe {width: 100%; height: 100%; position: absolute; top: 0; bottom: 0; left: 0; right: 0;}


.check_point .inner {position: relative; z-index: 1;}
.check_point .inner::after {content: ''; display: block; width: 800px; height: 68%; position: absolute; bottom: 0; left: 7%; z-index: -1; 
    background-image: url(../images/img_model.png); background-repeat: no-repeat; background-position: center bottom; background-size: contain;}
.check_point .inner .title_text {font-weight: 700; font-size: 72px; line-height: 84px; letter-spacing: -2px; color: #000; text-align: center; margin-bottom: 120px;}
.check_point .inner .check_box {margin-left: 40%; padding: 30px 5% 70px; border-radius: 50px; background: rgba(240, 240, 240, .5); -webkit-backdrop-filter: blur(15px); backdrop-filter: blur(15px); box-sizing: border-box;}
.check_point .inner .check_box ul {}
.check_point .inner .check_box ul li {display: flex; align-items: center; gap: 15px; padding: 43px 0; border-bottom: 2px dashed #C4C6C8;}
.check_point .inner .check_box ul li:last-child {border-bottom: none;}
.check_point .inner .check_box ul li p {flex-grow: 1; width: 100%; font-size: 36px; line-height: 1.4; letter-spacing: -.38px;}
.check_point .inner .check_box ul li strong {font-weight: 700;}
.check_point .inner .check_box ul li .check {flex-shrink: 0; aspect-ratio: 122 / 58; width: 83px; background: url(../images/icon_check.png) center no-repeat; background-size: contain;}
.check_point .inner .check_box .text_box {text-align: center;}
.check_point .inner .check_box .text_box p {font-size: 42px; font-weight: 700; letter-spacing: -.36px;}


.recommend {background: #713FFF;}
.recommend .inner .con {width: 83%; color: #fff; text-align: center; margin: 0 auto 80px;}
.recommend .inner .con .icon_box {display: inline-block; width: 12.5%; padding-top: calc(143/156 * 12.5%); background: url(../images/icon_stars.png) center no-repeat; background-size: contain;}
.recommend .inner .con .sub_title {display: block; width: fit-content; margin: 0 auto; padding: .5em 1.3em; font-size: 24px; font-weight: 500; letter-spacing: -1px; border: 1px solid #fff; border-radius: 9999px; color: #fff;}
.recommend .inner .con .title_text {display: block; font-size: 64px; font-weight: 700; letter-spacing: -1px; margin: 17px 0;}
.recommend .inner .con .explain {font-size: 36px; letter-spacing: -1px; margin-bottom: 40px;}
.recommend .inner .con ul li {display: flex;}
.recommend .inner .con ul li .before img {border-radius: 30px 0 0 0;}
.recommend .inner .con ul li .after img {border-radius: 0 30px 0 0;}
.recommend .inner .con ul li .img_box p {height: 73px; line-height: 73px; font-weight: 600; font-size: 32px; letter-spacing: -1.28px;}
.recommend .inner .con ul li .before p {background: #291B50; border-radius: 0 0 0 30px;}
.recommend .inner .con ul li .after p {background: #9570FF; border-radius: 0 0 30px 0;}
.recommend .inner .con .warning {font-size: .9em; font-weight: 400; line-height: 1.3; text-align: center; color: #E0D6FF; padding-top: 17px;}
.recommend .inner .btn_box {display: flex; flex-direction: column; align-items: center; gap: 60px;}
.recommend .inner .btn_box .btn_table {display: inline-block; border-bottom: 1px solid #fff; font-size: 30px; line-height: 36px; letter-spacing: -1px; color: #fff;}
.recommend .inner .btn_box .btn_reservation {display: inline-block; border-radius: 60px; padding: 24px 146px 20px; background: #fff; 
    font-weight: 700; font-size: 33px; letter-spacing: -1px; color: #713FFF;}
.recommend .inner .btn_box .btn_reservation.on {background: #161617; color: #fff;}



/* PC (해상도 1440px ~ 1540px) */
@media screen and (max-width:1540px) {
    .form_box .inner form {width: 100%;}
    .form_box .inner form .table_container {padding-inline: 5%;}
}
/* PC (해상도 1058px ~ 1440px) */
@media screen and (max-width:1440px) {
    /* content */
    section > .inner {padding: 100px 5%;}
    .check_point .inner::after {width: 600px; left: 0;}
}
/* PC (해상도 1024px ~ 1058px) */
@media screen and (max-width:1058px) {
}


/* 태블릿 (해상도 769px ~ 1024px) */
@media screen and (max-width:1024px) {
    .form_box .inner p.title_text {line-height: 1.3em; letter-spacing: -1px; text-align: center; margin-bottom: 60px;}
    .form_box .inner p.title_text i {display: block;}
    .form_box .inner p.notice {font-size: 13px; line-height: 23px; letter-spacing: -1px; margin-bottom: 6px;}
    .form_box .inner form .table_container {padding: 40px 20px;}
    .form_box .inner form .table .table_title {width: 20%; font-size: 26px;}
    .form_box .inner form .table .table_title i {display: block;}
    
    .form_box .inner form .agree_box input[class="agree"]::after {width: 24px; height: 24px;}
    .form_box .inner form .agree_box label .btn_agree {font-size: 18px;}
    .form_box .inner form .agree_box .privacy {border: 1px solid #A6A6A6; padding: 7.5px 20px;}
    .form_box .inner form .terms {border-radius: 6px; padding: 22px 3% 0; margin-top: 28px; font-size: 14px;}

    .video .inner p.title_text i {display: block;}

    .form_box .inner form #treatment {padding: 36px 5%;}
    
    .form_box .inner form textarea {height: 180px; font-size: 18px;}
    
    .form_box .inner form .btn_reservation {border-radius: 60px; width: 100%; padding: 8px 0; line-height: 80px; font-size: 36px;}
    
    /* 스크롤바 커스텀 [s] */
    .form_box .inner form .terms::-webkit-scrollbar-track {border-radius: 8px;}
    .form_box .inner form textarea::-webkit-scrollbar-track {border-radius: 15px;}
    /* 스크롤바 커스텀 [e] */
    

    .video .inner p.title_text {font-size: 34px;}
    .video .inner .video_box {margin-top: 60px;}

    
    .check_point .inner {padding: 100px 5% 630px;}
    .check_point .inner::after {width: 100%; height: 40%; left: 0; bottom: 0;}
    .check_point .inner .title_text {font-size: 56px; line-height: 72px; margin-bottom: 60px;}
    .check_point .inner .title_text .block {display: inline;}
    .check_point .inner .title_text i {display: block;}
    .check_point .inner .check_box {width: 100%; margin-left: 0;}
    .check_point .inner .check_box ul {}
    .check_point .inner .check_box ul li {gap: 40px;}
    .check_point .inner .check_box ul li p {letter-spacing: -.2px;}
    .check_point .inner .check_box .text_box p {letter-spacing: -1px;}
    
    
    .recommend .inner .con {width: 100%; margin: 0 auto 60px;}
    .recommend .inner .con .icon_box {width: 22%; padding-top: calc(143/156 * 22%);}
    .recommend .inner .con .title_text {margin: 16px 0;}
    .recommend .inner .con ul li .img_box p {letter-spacing: -1px;}
    .recommend .inner .con .warning {font-size: .8em;}

    .recommend .inner .btn_box {gap: 61px; margin-top: 71px;}
    .recommend .inner .btn_box .btn_reservation {width: 100%; padding: 20px 0 18px; font-size: 36px; text-align: center;}
}

/* 모바일 가로, 모바일 세로 (해상도 375px ~ 768px)*/
@media screen and (max-width:768px) {
    .wrap { min-width: 375px; }
    /* content */
    section > .inner {padding: 60px 5%;}
    
    
    .form_box .inner p.title_text {font-size: 34px; margin-bottom: 40px;}
    .form_box .inner p.notice {font-size: 13px; margin-bottom: 10px;}
    .form_box .inner form .table > li {flex-direction: column; gap: 12px; margin-bottom: 12px;} 
    .form_box .inner form .table .table_title {width: 100%; font-size: 18px;}
    .form_box .inner form .table .table_title i {display: inline;}
    .form_box .inner form .table .table_con {width: 100%;} 
    .form_box .inner form input[type='text'],
    .form_box .inner form input[type='tel'] {padding: 16px 5%; font-size: 18px; border-radius: 10px;}
    
    .form_box .inner form select {padding: 16px 5%; font-size: 18px; border-radius: 10px; background-size: 14px 9px; background-position: center right 5%;}
    .form_box .inner form .time_box ul {gap: 6px;}
    .form_box .inner form .time_box ul li select {width: 80%; padding: 16px 5%;}
    .form_box .inner form .time_box ul li span {font-size: 18px;}
    
    .form_box .inner form .agree_box label .btn_agree {font-size: 15px; letter-spacing: -1px;}
    .form_box .inner form .agree_box label .btn_agree .required_text {font-size: 15px;}
    .form_box .inner form .agree_box .privacy {padding: 5.5px 12px; font-size: 12px; letter-spacing: -1px; margin-left: 14px;}
    .form_box .inner form .terms {border-radius: 10px; padding: 20px 3% 0; margin-top: 30px; font-size: 14px;}
    
    .form_box .inner form textarea {height: 120px; padding: 14px 3%; border-radius: 10px; font-size: 18px;}
    .form_box .inner form textarea ~ .notice {font-size: 16px; line-height: 24px; margin-top: 7px; margin-bottom: 0; text-align: justify;}
    
    .form_box .inner form .btn_reservation {width: 100%; height: 50px; line-height: 50px; box-sizing: border-box; font-size: 22px; margin-top: 40px; padding: 2px 0;}
    
    /* 스크롤바 커스텀 [s] */
    .form_box .inner form .terms::-webkit-scrollbar-thumb {border-radius: 10px;}
    .form_box .inner form textarea::-webkit-scrollbar-thumb {border-radius: 10px;}
    .form_box .inner form .terms::-webkit-scrollbar-track {border-radius: 10px;}
    .form_box .inner form textarea::-webkit-scrollbar-track {border-radius: 10px;}
    /* 스크롤바 커스텀 [e] */

    
    .video .inner .sub_explain {font-size: 21px; line-height: 28px; letter-spacing: -1px;}
    .video .inner .video_box {margin-top: 30px;}


    .check_point .inner {padding: 60px 5% 315px;}
    .check_point .inner::after {height: 38%;}
    .check_point .inner .title_text {font-size: 32px; line-height: 42px; margin-bottom: 28px;}
    .check_point .inner .title_text i {display: block;}
    .check_point .inner .check_box {padding: 10px 9% 33px;}
    .check_point .inner .check_box ul li {gap: 26px; padding: 16px 0; border-bottom: 1px dashed #C4C6C8;}
    .check_point .inner .check_box ul li p {font-size: 18px; line-height: 26px; letter-spacing: -1px;}
    .check_point .inner .check_box ul li .check {width: 46px; height: 70px;}
    .check_point .inner .check_box .text_box p {font-size: 21px;}


    .recommend .inner .con {margin: 0 auto 30px;}
    .recommend .inner .con .icon_box {width: 22%; padding-top: calc(143/156 * 22%);}
    .recommend .inner .con .sub_title {font-size: 14px;}
    .recommend .inner .con .title_text {font-size: 34px; margin: 7.8px 0;}
    .recommend .inner .con .explain {font-size: 18px; margin-bottom: 20px;}
    .recommend .inner .con ul li .before img {border-radius: 15px 0 0 0;}
    .recommend .inner .con ul li .after img {border-radius: 0 15px 0 0;}
    .recommend .inner .con ul li .img_box p {height: 35px; line-height: 35px; font-size: 16px;}
    .recommend .inner .con ul li .before p {border-radius: 0 0 0 15px;}
    .recommend .inner .con ul li .after p {border-radius: 0 0 15px 0;}
    .recommend .inner .con .warning {font-size: .8em;}
    .recommend .inner .con .warning i {display: block;}

    .recommend .inner .btn_box {gap: 32px; margin-top: 40px;}
    .recommend .inner .btn_box .btn_table {font-size: 16px; line-height: 1;}
    .recommend .inner .btn_box .btn_reservation {padding: 16px 0 14px; font-size: 22px;}
}
