@charset "utf-8";

/* #content */
.img_box img {width: 100%;}
.block {display: block;}

section > .inner {padding: 160px 16.66%; box-sizing: border-box;}
section .inner .title_text {font-weight: 700; font-size: 64px; letter-spacing: -1px; text-align: center; margin-bottom: 80px;}
section .inner .title_text .add_text {display: block; font-weight: 400; font-size: .63em; line-height: 1.2em; margin-bottom: .5em;}
section .inner .sub_title {font-size: 38px; font-weight: 600; line-height: 50px; letter-spacing: -1px; text-align: center;}
section .inner .sub_explain p {font-size: 28px; line-height: 42px; letter-spacing: -1px; text-align: center; margin-bottom: 1em;}
section .inner .sub_explain p:last-of-type {margin-bottom: 0;}
section .inner .sub_explain p strong {font-weight: 600;}


.sub_visual {width: 100%; height: calc(100vh - 100px); position: relative;
    background-image: url(../images/img_visual_bg.png); background-repeat: no-repeat; background-position: right top; background-size: cover;}
.sub_visual::after {content: ''; display: block; width: 100%; height: calc(950/950 * 95%); position: absolute; right: -16%; bottom: 0;
    background-image: url(../images/img_model.png); background-repeat: no-repeat; background-position: center bottom; background-size: contain;}
.sub_visual .inner {padding: 0; position: absolute; top: 50%; left: 25%; transform: translateY(-50%); z-index: 2;}
.sub_visual .inner h3 {font-size: 72px; color: #161617; text-align: left;}
.sub_visual .inner p {font-size: 24px; line-height: 40px; letter-spacing: -1px; margin-top: .8em;}


.definition {background: rgba(240, 235, 255, .5);}
.definition .inner .title_text {margin-bottom: 40px;}
.definition .inner .compare_box {display: flex; margin-top: 80px;}
.definition .inner .compare_box li {width: 50%; position: relative;}
.definition .inner .compare_box .new::before {content: 'VS'; display: block; width: 90px; height: 90px; line-height: 90px; background: #5328FF; border-radius: 50%;
    font-weight: 700; font-size: 32px; letter-spacing: -1px; color: #fff; text-align: center; position: absolute; top: 0; right: calc(100% - 45px); z-index: 1;}
.definition .inner .compare_box li p {font-weight: 600; font-size: 32px; line-height: 50px; letter-spacing: -1px; text-align: center; color: #fff; padding: 20px 0; margin-bottom: 60px;}
.definition .inner .compare_box .older p {background: #BBA3FE; border-radius: 100px 0 0 100px;}
.definition .inner .compare_box .new p {background: #713FFF; border-radius: 0 100px 100px 0;}
.definition .inner .compare_box li .img_box {width: 90%; margin: 0 auto;}
.definition .inner .notice {font-size: 20px; line-height: 32px; letter-spacing: -1px; text-align: center; color: #777C81; margin-top: 60px;}


.fat_transfer .inner .table_box {width: 100%; padding-top: calc(1078/1280 * 100%); background-image: url(../images/img_table.png);
    background-repeat: no-repeat; background-position: center; background-size: contain; margin-bottom: 10px;}
.fat_transfer .inner .notice {font-size: 20px; line-height: 32px; letter-spacing: -1px; text-align: center; color: #777C81;}
.fat_transfer .inner .step_box {margin-top: 100px;}
.fat_transfer .inner .step_box li {display: flex; align-items: center; gap: 80px; padding: 40px 5%; background: #FAFAFA; border-radius: 1000px; margin-bottom: 100px;}
.fat_transfer .inner .step_box li:last-child {margin-bottom: 0;}
.fat_transfer .inner .step_box li .icon_box {flex-shrink: 0; width: 30%; position: relative;}
.fat_transfer .inner .step_box li .icon_box::before {content: ''; display: block; width: 100%; padding-top: 100%;}
.fat_transfer .inner .step_box li .icon_box > div {width: 100%; height: 100%; border-radius: 50%; color: #fff; text-align: center;
    display: flex; flex-direction: column; align-items: center; justify-content: center; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);}
.fat_transfer .inner .step_box .step01 .icon_box > div {background: #713FFF;}
.fat_transfer .inner .step_box .step02 .icon_box > div {background: #9570FF;}
.fat_transfer .inner .step_box .step03 .icon_box > div {background: #BBA3FE;}
.fat_transfer .inner .step_box li .icon_box > div .icon {display: block; width: 50%; padding-top: 50%; margin: 0 auto;
    background-repeat: no-repeat; background-position: center; background-size: contain;}
.fat_transfer .inner .step_box li .icon_box > div p {font-weight: 600; font-size: 32px; line-height: 46px; letter-spacing: -1px; margin-top: .4em;}
.fat_transfer .inner .step_box li .detail_box {flex-grow: 1;}
.fat_transfer .inner .step_box li .detail_box dl {padding: 30px 5%; position: relative;}
.fat_transfer .inner .step_box li .detail_box dl::before {content: ''; display: block; background: #DFE0E2; position: absolute;}
.fat_transfer .inner .step_box li .detail_box dl::after {content: ''; display: block; background: #DFE0E2; position: absolute;}
.fat_transfer .inner .step_box li .detail_box dl dt {font-weight: 500; font-size: 28px; line-height: 36px; letter-spacing: -1px; margin-bottom: .33em;}
.fat_transfer .inner .step_box li .detail_box dl dd {font-size: 24px; line-height: 36px; letter-spacing: -1px; color: #46494C;}

.fat_transfer .inner .step_box .step01 .detail_box {display: grid; grid-template-columns: repeat(2, 1fr);}
.fat_transfer .inner .step_box .step01 .detail_box dl:nth-child(2n-1)::after {width: 1px; height: 80%; top: 10%; right: 0;}
.fat_transfer .inner .step_box .step01 .detail_box dl:nth-child(1)::before,
.fat_transfer .inner .step_box .step01 .detail_box dl:nth-child(2)::before {width: 90%; height: 1px; bottom: 0; left: 5%;}

.fat_transfer .inner .step_box .step02 .detail_box {display: flex; flex-direction: column; justify-content: center;}
.fat_transfer .inner .step_box .step02 .detail_box dl:first-child::after {width: 90%; height: 1px; bottom: 0; left: 5%;}

.fat_transfer .inner .step_box .step03 .detail_box {display: grid; grid-template-columns: repeat(2, 1fr);}
.fat_transfer .inner .step_box .step03 .detail_box dl:last-of-type {grid-column: 1/3; padding: 30px 2.5%;}
.fat_transfer .inner .step_box .step03 .detail_box dl:nth-child(1)::after {width: 1px; height: 80%; top: 10%; right: 0;}
.fat_transfer .inner .step_box .step03 .detail_box dl:nth-child(3)::before {width: 90%; height: 1px; top: 0; left: 5%;}


.parts {background: rgba(240, 235, 255, .5);}
.parts .inner {position: relative;}
.parts .inner .title_text {margin-bottom: 40px;}
.parts .inner .sub_explain::after {
    content: '';
    display: block;
    width: 100%;
    padding-top: calc(836/1280 * 100%);
    background-image: url(../images/img_parts.png?v=250728);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: contain;
    margin-top: 80px;
    }
.parts .inner ul {width: 65%; padding: 40px 5%; box-sizing: border-box; background: rgba(255,255,255,.95); border-radius: 30px; box-shadow: 0 20px 50px rgba(0,0,0,.1);
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; justify-items: center; position: absolute; bottom: 160px; left: 50%; transform: translateX(-50%);}
.parts .inner ul li strong {display: block; font-weight: 600; font-size: 32px; line-height: 36px; letter-spacing: -1px; margin-bottom: .4em;}
.parts .inner ul li strong .dot {display: inline-block; width: 20px; height: 20px; border-radius: 50%; margin-right: 16px; vertical-align: middle;}
.parts .inner ul li strong .dot.prp {background: #9570FF;}
.parts .inner ul li strong .dot.grn {background: #00D695;}
.parts .inner ul li strong .dot.pk {background: #FC80FF;}
.parts .inner ul li p {font-size: 24px; line-height: 36px; letter-spacing: -1px; color: #474A4D;}
.parts .inner .table_box {width: 100%; padding-top: calc(800/1420 * 100%); background-image: url(../images/img_parts.png?v=250728);
    background-repeat: no-repeat; background-position: center; background-size: contain;}


.together .inner .title_text span {display: block;}
.together .inner ul {display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px;}
.together .inner ul li {border-radius: 30px; overflow: hidden; padding: 50px 8%; background-repeat: no-repeat; background-position: center right; background-size: auto 100%;}
.together .inner ul li p {font-size: 24px; line-height: 34px; letter-spacing: -1px; margin-bottom: 103px;}
.together .inner ul li p strong {display: block; font-size: 44px; font-weight: 600; line-height: normal; margin-top: 8px;}
.together .inner ul li .btn_more {display: inline-block; height: 62px; line-height: 62px; font-size: 24px; font-weight: 500; 
    padding: 0 30px; border-radius: 180px; background: #fff;}
.together .inner ul li .btn_more span {display: inline-block; vertical-align: middle;}
.together .inner ul li .btn_more span::after {content: ''; display: inline-block; width: 24px; height: 24px; margin-left: 12px;
    background: url(../images/icon_arrow.png) center no-repeat; background-size: contain; vertical-align: -3px;}



/* PC (해상도 1440px ~ 1540px) */
@media screen and (max-width:1540px) {
    section > .inner {padding: 160px 10%;}
    section .inner .sub_explain p {font-size: 20px; line-height: 1.5em;}

    .sub_visual .inner {left: 20%;}

    .fat_transfer .inner .step_box li {gap: 20px;}
    .fat_transfer .inner .step_box li .icon_box > div p {font-size: 26px;}

    .parts .inner ul {width: 90%; padding: 40px 5%; gap: 20px;} 
}
/* PC (해상도 1058px ~ 1440px) */
@media screen and (max-width:1440px) {
    section > .inner {padding: 160px 8%;}
    .sub_visual .inner {left: 10%;}
}
/* PC (해상도 1024px ~ 1058px) */
@media screen and (max-width:1058px) {
    section > .inner {padding: 160px 6%;}
}


/* 태블릿 (해상도 769px ~ 1024px) */
@media screen and (max-width:1024px) {
    /* content */
    section .inner .title_text {margin-bottom: 60px;}
    section .inner .sub_title {font-size: 38px; line-height: 46px;}
    section .inner .sub_explain p {font-size: 24px; line-height: 38px;}
    section > .inner {padding: 120px 5%;}

    .sub_visual {height: calc(var(--vh, 1vh) * 100 - 100px); background-image: url(../images/img_visual_bg_mo.png);}
    .sub_visual::after {height: 77%; right: -22%;}
    .sub_visual .inner {top: 9vh; left: 5%; transform: translateY(0);}
    .sub_visual .inner p span {display: block;}


    .definition .inner .title_text {margin-bottom: 32px;}
    .definition .inner .title_text i {display: block;}
    .definition .inner .sub_explain .block {display: inline;}
    .definition .inner .sub_explain i {display: block;}
    .definition .inner .compare_box .new::before {width: 72px; height: 72px; line-height: 72px; font-size: 28px; right: calc(100% - 36px);}
    .definition .inner .compare_box li p {font-size: 28px; line-height: 38px; padding: 17px 0; margin-bottom: 32px;}
    .definition .inner .compare_box li .img_box {width: 100%;}
    .definition .inner .notice {font-size: 18px; line-height: 22px; margin-top: 40px;}
    .definition .inner .notice i {display: block;}

    
    .fat_transfer .inner .title_text span {display: block;}
    .fat_transfer .inner .table_box {padding-top: calc(1134/680 * 100%); background-image: url(../images/img_table_tab.png); margin: -40px 0;}
    .fat_transfer .inner .notice {font-size: 18px; line-height: 26px;}
    .fat_transfer .inner .notice i {display: block;}
    .fat_transfer .inner .step_box {margin-top: 80px;}
    .fat_transfer .inner .step_box li {flex-direction: column; justify-content: center; gap: 40px; padding: 0 5%; background: none; border-radius: 0; margin-bottom: 60px;}
    .fat_transfer .inner .step_box li .icon_box {width: 40%;}
    .fat_transfer .inner .step_box li .icon_box > div p {font-size: 28px; line-height: 40px; margin-top: 0;}
    .fat_transfer .inner .step_box li .icon_box > div p i {display: block;}
    .fat_transfer .inner .step_box li .detail_box {width: 100%;}
    .fat_transfer .inner .step_box li .detail_box dl {padding: 30px 5%; text-align: center;}
    .fat_transfer .inner .step_box li .detail_box dl dt {font-size: 28px; line-height: 36px; margin-bottom: .33em;}
    .fat_transfer .inner .step_box li .detail_box dl dd {font-size: 21px; line-height: 31px; color: #2E3032;}
    .fat_transfer .inner .step_box li .detail_box dl dd i {display: block;}

    
    .fat_transfer .inner .step_box .step02 .detail_box {display: flex; flex-direction: row;}
    .fat_transfer .inner .step_box .step02 .detail_box dl:first-child::after {width: 1px; height: 80%; bottom: auto; top: 10%; left: 100%;}
    
    .fat_transfer .inner .step_box .step03 .detail_box {display: grid; grid-template-columns: repeat(2, 1fr);}
    .fat_transfer .inner .step_box .step03 .detail_box dl:last-of-type {grid-column: 1/3; padding: 30px 2.5%;}
    .fat_transfer .inner .step_box .step03 .detail_box dl:nth-child(1)::before,
    .fat_transfer .inner .step_box .step03 .detail_box dl:nth-child(2)::before {width: 90%; height: 1px; bottom: 0; left: 5%;}
    .fat_transfer .inner .step_box .step03 .detail_box dl:nth-child(3)::before {display: none;}

        
    .parts .inner .title_text {margin-bottom: 40px;}
    .parts .inner .sub_explain span {display: block;}
    .parts .inner .sub_explain::after {padding-top: calc(745/680 * 100%);background-image: url(../images/img_parts_mo.png?v=250728);margin-top: 60px;margin-bottom: 0;}
    .parts .inner ul {padding: 60px 10%; grid-template-columns: repeat(2, 1fr); column-gap: 40px; row-gap: 40px; justify-items: start; bottom: 120px; left: 50%; transform: translateX(-50%);}
    .parts .inner ul li:last-child {grid-column: 1/3;}
    .parts .inner ul li strong {font-size: 28px; line-height: 1em; margin-bottom: .4em;}
    .parts .inner ul li p {font-size: 21px; line-height: 32px;}


    .together .inner ul {gap: 20px;}
    .together .inner ul li {padding: 24px 8%;}
    .together .inner ul li p {font-size: 16px; line-height: 20px; margin-bottom: 55px;}
    .together .inner ul li p strong {font-size: 30px; line-height: 30px; margin-top: 4px;}
    .together .inner ul li p i {display: block;}
    .together .inner ul li .btn_more {height: 32px; line-height: 32px; font-size: 14px; padding: 0 16px; border-radius: 100px;}
    .together .inner ul li .btn_more span::after {width: 12px; height: 12px; margin-left: 6px; vertical-align: -1px;}
}

/* 모바일 가로, 모바일 세로 (해상도 375px ~ 768px)*/
@media screen and (max-width:768px) {
    .wrap { min-width: 375px; }
    /* content */
    section .inner .title_text {font-size: 34px; line-height: 44px; margin-bottom: 40px;}
    section .inner .sub_title {font-size: 20px; line-height: 1.2em;}
    section .inner .sub_explain p {font-size: 16px; line-height: 24px;}
    section > .inner {padding: 60px 5%;}


    .sub_visual {height: calc(var(--vh, 1vh) * 100 - 129px);}
    .sub_visual::after {width: 110%; height: 100%; right: 12%; background-size: cover;}
    .sub_visual .inner {top: auto; bottom: 45px; left: auto; right: 5%;}
    .sub_visual .inner h3 {font-size: 40px; line-height: 50px; text-align: right;}
    .sub_visual .inner p {font-size: 18px; line-height: 27px; text-align: right;}
    .sub_visual .inner p span:first-of-type {display: inline;}


    .definition .inner .title_text {margin-bottom: 24px;}
    .definition .inner .compare_box {flex-direction: column; margin-top: 40px;}
    .definition .inner .compare_box li {width: 90%; margin: 0 auto;}
    .definition .inner .compare_box .older {display: flex; flex-direction: column-reverse;}
    .definition .inner .compare_box .new::before {width: auto; height: auto; line-height: 46px; background: none; 
        font-size: 30px; color: #713FFF; position: relative; top: 0; left: 50%; transform: translateX(-50%); margin: 10px 0;}
    .definition .inner .compare_box li p {font-size: 22px; line-height: 1em; padding: 21px 0; margin-bottom: 0;}
    .definition .inner .compare_box li p {font-size: 22px; line-height: 1em; padding: 21px 0;}
    .definition .inner .compare_box .older p {border-radius: 100px; margin-top: 20px;}
    .definition .inner .compare_box .new p {border-radius: 100px; margin-bottom: 20px;}
    .definition .inner .notice {font-size: 14px; line-height: 20px; margin-top: 20px;}


    .fat_transfer .inner .table_box {padding-top: calc(1566/327 * 100%); background-image: url(../images/img_table_mo.png);}
    .fat_transfer .inner .notice {font-size: 14px; line-height: 20px;}
    .fat_transfer .inner .notice i {display: inline;}
    .fat_transfer .inner .notice b {display: block;}
    .fat_transfer .inner .step_box {margin-top: 40px;}
    .fat_transfer .inner .step_box li {gap: 20px; padding: 0; margin-bottom: 40px;}
    .fat_transfer .inner .step_box li .icon_box {width: 50%;}
    .fat_transfer .inner .step_box li .icon_box > div p {font-size: 20px; line-height: 28px;}
    .fat_transfer .inner .step_box li .detail_box dl {padding: 15px 5%;}
    .fat_transfer .inner .step_box li .detail_box dl dt {font-size: 20px; line-height: 28px;}
    .fat_transfer .inner .step_box li .detail_box dl dt i {display: block;}
    .fat_transfer .inner .step_box li .detail_box dl dd {font-size: 16px; line-height: 24px;}


    .parts .inner .title_text {margin-bottom: 32px;}
    .parts .inner .title_text i {display: block;}
    .parts .inner .sub_explain::after {margin: 40px 0;}
    .parts .inner .sub_explain span {display: inline;}
    .parts .inner .sub_explain i {display: block;}
    .parts .inner ul {grid-template-columns: repeat(1, 1fr); padding: 30px 10%; border-radius: 15px; gap: 20px; bottom: 60px;}
    .parts .inner ul li {grid-column: 1/3;}
    .parts .inner ul li strong {font-size: 20px; line-height: 24px; margin-bottom: .4em;}
    .parts .inner ul li strong .dot {width: 10px; height: 10px; margin-right: 6px;}
    .parts .inner ul li p {font-size: 16px; line-height: 24px;}
    .parts .inner ul li p i {display: block;}
   

    .together .inner ul {grid-template-columns: repeat(1, 1fr);}
    .together .inner ul li {border-radius: 15px; padding: 24px 5%;}
    .together .inner ul li p {font-size: 16px; line-height: 18px; margin-bottom: 60px;}
    .together .inner ul li p i {display: inline;}
    .together .inner ul li p strong {font-size: 24px; line-height: 28px;}
}
