/* #content */
section .more_btn {display: inline-block; font-weight: 500; font-size: 24px; color: #8556E3; padding: 24px 36px; 
    border: 1px solid #8556E3; border-radius: 8px; box-sizing: border-box;}
.block {display: block;}

section .main_title {letter-spacing: -0.02em; line-height: 56px; margin-bottom: 20px; color: #29203B;}
section .sub_text {letter-spacing: -0.02em; color: #29203B; margin-bottom: 1em;}

.injection .inner {padding: 0 16.66% 120px;}
.injection .inner ul {display: flex; justify-content: space-between;}
.injection .inner ul li {width: 48%;}
.injection .inner ul .img_box img {width: 100%; border-radius: 16px;}

.resistance {background: #F5F5F5;}
.resistance .inner {padding: 0 14%;}
.resistance .inner ul {display: flex; justify-content: space-between; align-items: center;}
.resistance .inner ul li {width: 48%;}
.resistance .inner ul .img_box {padding-top: calc(476/572*48%); background: url(../images/sub03_01_img_fat.png) center no-repeat; background-size: contain;}
.resistance .inner ul .text_box {padding: 80px 0;}

.method {background: #fff;}
.method .inner {padding: 120px 16.66%;}
.method .step_box {display: grid; grid-template-columns: repeat(2, 1fr); margin-top: 48px;}
.method .step_box > li {margin-bottom: 48px; display: flex; justify-content: space-between;}
.method .step_box > li:last-child {margin-bottom: 0;}
.method .step_box > li:nth-child(1) {grid-column: 1/4; grid-row: 1/2;}
.method .step_box > li:nth-child(2) {grid-column: 1/4; grid-row: 2/3;}
.method .step_box > li:nth-child(3) {grid-column: 1/4; grid-row: 3/4;}
.method .step_box > li:nth-child(4) {grid-column: 1/4; grid-row: 4/4;}
.method .step_box > li .img_box {width: 48%; border-radius: 16px;}
.method .step_box > li .img_box img {width: 100%; height: 100%; object-fit: cover; border-radius: 16px;}
.method .step_box > li .sub_text {margin-bottom: 40px;}
.method .step_box > li .daeat_step {width: 48%; min-height: 410px; border-radius: 16px;}
.method .step_box > li .daeat_step dl {padding: 40px 5%; color: #29203B;}
.method .step_box > li .daeat_step dl dt {font-weight: 700; font-size: 32px; letter-spacing: -0.04em; margin-bottom: 16px;}
.method .step_box > li .daeat_step dl dt span {display: block; font-family: 'Inter'; font-size: 16px; color: #7435FF; letter-spacing: 0; margin-bottom: 8px;}
.method .step_box > li .daeat_step dl dt .block {display: inline;}
.method .step_box > li .daeat_step dl dd {margin-bottom: 16px; font-weight: 300; font-size: 16px; line-height: 24px; letter-spacing: -0.04em;}
.method .step_box > li .daeat_step dl dd span {display: block;}
.method .step_box > li .daeat_step dl dd:last-of-type {margin-bottom: 0;}
.method .step_box li .daeat_step {position: relative; background: #F5F5F5;}
.method .step_box li .daeat_step::after {content: ''; display: block; width: 76px; height: 76px;
    background-position: center; background-repeat: no-repeat; background-size: contain; position: absolute; bottom: 40px; right: 4%;}
.method .step_box li:nth-child(1) .daeat_step::after {background-image: url(../images/sub03_01_icon01.png);}
.method .step_box li:nth-child(2) .daeat_step::after {background-image: url(../images/sub03_01_icon02.png);}
.method .step_box li:nth-child(3) .daeat_step::after {background-image: url(../images/sub03_01_icon03.png);}
.method .step_box li:nth-child(4) .daeat_step::after {background-image: url(../images/sub03_01_icon04.png);}
.method .notice {font-weight: 300; font-size: 11px; line-height: 15px; text-align: right; color: #47346B; margin-top: 48px;}

.reason {background: #F5F5F5;}
.reason .inner {padding: 120px 16.66%;}
.reason .inner ul {display: flex;}
.reason .inner ul.top_box {justify-content: space-between; align-items: center; margin-bottom: 40px;}
.reason .inner ul.top_box li {width: 48%;}
.reason .inner ul.top_box li .sub_text {margin-bottom: 1em;}
.reason .inner ul.top_box .img_box img {width: 100%; border-radius: 16px;}
.reason .inner .text_box {background: #fff; border-radius: 16px; padding: 68px 4%; position: relative;}
.reason .inner .text_box::after {content: ''; width: 90%; height: 1px; background: #8556E3; position: absolute; top: 96px; left: 5%;}
.reason .inner .text_box .main_title {font-size: 32px; margin-bottom: 50px; padding-right: 20px; background: #fff; display: inline-block; position: relative; z-index: 10;}
.reason .inner .text_box ul {justify-content: space-between;}
.reason .inner .text_box ul li {width: 30%;}
.reason .inner .text_box ul li dl dt {font-weight: 700; font-size: 32px; letter-spacing: -0.02em; margin-bottom: 16px; color: #29203B;}
.reason .inner .text_box ul li dl dt span {display: block; font-family: 'Inter'; font-size: 16px; color: #7435FF; letter-spacing: 0; margin-bottom: 8px;}
.reason .inner .text_box ul li dl dd {font-weight: 300; font-size: 18px; line-height: 26px; letter-spacing: -0.02em; color: #29203B;}

.beforeafter .inner {padding: 120px 16.66%;}
.beforeafter .inner .main_title {margin-bottom: 56px;}
.beforeafter .inner ul {display: grid; grid-template-columns: repeat(2, 1fr); column-gap: 40px; row-gap: 56px;}
.beforeafter .inner ul li {border: 1px solid #D4C4F5; border-radius: 16px; display: flex; overflow: hidden;}
.beforeafter .inner ul li .img_box img {width: 100%;}
.beforeafter .inner ul li .img_box:nth-of-type(1) img {border-radius: 16px 0 0 0;}
.beforeafter .inner ul li .img_box:nth-of-type(2) img {border-radius: 0 16px 0 0;}
.beforeafter .inner ul li .img_box p {font-weight: 500; font-size: 24px; line-height: 32px; letter-spacing: -0.02em; text-align: center; padding: 30px 0;}
.beforeafter .inner ul li .img_box:nth-of-type(1) p {background: #D9D9D9; color: #8556E3;}
.beforeafter .inner ul li .img_box:nth-of-type(2) p {background: #8556E3; color: #FFFFFF;}

.banner_area {height: 458px; background: url(../images/sub03_01_img_banner.png) bottom center no-repeat; background-size: cover; position: relative;}
.banner_area .text_box {position: absolute; top: 50%; transform: translateY(-50%); left: 16.66%;}


/* PC (해상도 1440px ~ 1540px) */
@media screen and (max-width:1540px) {
    .injection .inner {padding: 0 12% 120px;}
    .resistance .inner {padding: 0 12%;}
    .method .inner {padding: 120px 12%;}
    .reason .inner {padding: 120px 12%;}
    .beforeafter .inner {padding: 120px 12%;}
    .banner_area .text_box {left: 12%;}
}
/* PC (해상도 1058px ~ 1440px) */
@media screen and (max-width:1440px) {
    .injection .inner {padding: 0 8% 120px;}
    .resistance .inner {padding: 0 8%;}
    .method .inner {padding: 120px 8%;}
    .reason .inner {padding: 120px 8%;}
    .beforeafter .inner {padding: 120px 8%;}
    .banner_area .text_box {left: 8%;}
}
/* PC (해상도 1024px ~ 1058px) */
@media screen and (max-width:1058px) {
    .injection .inner {padding: 0 6% 120px;}
    .resistance .inner {padding: 0 6%;}
    .method .inner {padding: 120px 6%;}
    .reason .inner {padding: 120px 6%;}
    .beforeafter .inner {padding: 120px 6%;}
    .banner_area .text_box {left: 6%;}
}


/* 태블릿 (해상도 769px ~ 1024px) */
@media screen and (max-width:1024px) {
    /* content */
    section .main_title {font-size: 28px; margin-bottom: 12px; line-height: 36px;}
    section .sub_text {font-size: 14px; line-height: 20px;}
    section .more_btn {font-size: 18px; padding: 22px 36px;}

    .injection .inner {padding: 0 5% 80px;}
    .injection .inner .text_box .sub_text .block {display: inline;}
    .injection .inner .text_box .sub_text i {display: block;}

    .resistance .inner {padding: 0 5%;}
    .resistance .inner ul {flex-direction: row-reverse;}
    .resistance .inner .img_box {margin: 80px 0;}
    .resistance .inner .text_box .sub_text .block {display: inline;}
    .resistance .inner .text_box .sub_text i {display: block;}

    .method .inner {padding: 80px 5%;}
    .method .step_box {margin-top: 16px; gap: 16px;}
    .method .step_box > li {margin-bottom: 0; border: 1px solid rgba(46, 21, 102, 0.15); border-radius: 16px; flex-direction: column-reverse;}
    .method .step_box > li:nth-child(1) {grid-column: 1/2; grid-row: 1/2;}
    .method .step_box > li:nth-child(2) {grid-column: 2/3; grid-row: 1/2; flex-direction: column;}
    .method .step_box > li:nth-child(3) {grid-column: 1/2; grid-row: 2/3;}
    .method .step_box > li:nth-child(4) {grid-column: 2/3; grid-row: 2/3; flex-direction: column;}
    .method .step_box > li .img_box {width: 100%; min-height: 230px; border-radius: 0 0 16px 16px;}
    .method .step_box > li .img_box img {border-radius: 0 0 16px 16px;}
    .method .step_box > li .sub_text {margin-bottom: 32px;}
    .method .step_box > li .daeat_step {width: 100%; min-height: 140px;}
    .method .step_box > li .daeat_step dl {padding: 32px 5%;}
    .method .step_box > li .daeat_step dl dt {font-size: 18px; line-height: 26px; letter-spacing: -0.02em;}
    .method .step_box > li .daeat_step dl dt i {display: block;}
    .method .step_box > li .daeat_step dl dt span {font-size: 12px; margin-bottom: -4px;}
    .method .step_box > li .daeat_step dl dd {font-size: 14px; line-height: 20px; letter-spacing: -0.02em;}
    .method .step_box > li .daeat_step dl dd span {display: inline;}
    .method .step_box > li .daeat_step dl dd i {display: block;}
    .method .step_box li .daeat_step {background: #fff;}
    .method .step_box li .daeat_step::after {width: 60px; height: 60px; top: 32px; right: 5%;}
    .method .notice {font-size: 7px; line-height: 14px; text-align: center; margin-top: 16px;}

    .reason .inner {padding: 80px 6%;}
    .reason .inner .text_box::after {top: 58px;}
    .reason .inner .text_box .main_title {font-size: 28px; margin-bottom: 20px;}
    .reason .inner .text_box {padding: 40px 5%;}
    .reason .inner .text_box ul {justify-content: space-between; gap: 0;}
    .reason .inner .text_box ul li {width: 30%;}   
    .reason .inner .text_box ul li dl dt {font-size: 18px; letter-spacing: -0.02em; margin-bottom: 4px;}
    .reason .inner .text_box ul li dl dt span {font-size: 12px; margin-bottom: 6px;}
    .reason .inner .text_box ul li dl dd {font-size: 13px; line-height: 18px;}

    .beforeafter .inner {padding: 80px 5%;}
    .beforeafter .inner .main_title {margin-bottom: 28px;}
    .beforeafter .inner ul {column-gap: 24px; row-gap: 28px;}
    .beforeafter .inner ul li .img_box p {font-size: 15px; line-height: 22px; letter-spacing: 0; padding: 16px 0;}

    .banner_area {height: 330px; background: url(../images/sub03_01_img_banner.png) right 30% center no-repeat; background-size: cover; position: relative;}
    .banner_area .text_box {position: absolute; top: 50%; transform: translateY(-50%); left: 5%;}
    .banner_area .text_box .more_btn {margin-top: 12px;}
}

/* 모바일 가로, 모바일 세로 (해상도 375px ~ 768px)*/
@media screen and (max-width:768px) {
    #wrap { min-width: 375px; }
    /* content */
    section .more_btn {font-size: 14px; padding: 18px 28px;}
    
    .injection .inner {padding: 60px 5%; gap: 24px;}
    .injection .inner ul {flex-direction: column;}
    .injection .inner ul li {width: 100%;}
    .injection .inner .text_box .sub_text i {display: inline;}

    .resistance .inner {padding: 60px 5% 0; gap: 24px;}
    .resistance .inner ul {flex-direction: column-reverse;}
    .resistance .inner ul li {width: 100%;}
    .resistance .inner ul .img_box {padding-top: calc(282/339*100%); margin: 0;}
    .resistance .inner ul .text_box {padding: 0;}
    .resistance .inner ul .text_box .sub_text i {display: inline;}

    .method .inner {padding: 60px 5%;}
    .method .inner .main_title i {display: block;}
    .method .inner .sub_text span {display: inline;}
    .method .inner .sub_text i {display: block;}
    .method .step_box {margin-top: 16px; gap: 16px;}
    .method .step_box > li {margin-bottom: 0; border: 1px solid rgba(46, 21, 102, 0.15); border-radius: 16px; overflow: hidden;}
    .method .step_box > li:nth-child(1) {grid-column: 1/4; grid-row: 1/2;}
    .method .step_box > li:nth-child(2) {grid-column: 1/4; grid-row: 2/3;}
    .method .step_box > li:nth-child(3) {grid-column: 1/4; grid-row: 3/4;}
    .method .step_box > li:nth-child(4) {grid-column: 1/4; grid-row: 4/4;}
    .method .step_box > li .img_box {width: 100%;}
    .method .step_box > li .sub_text {margin-bottom: 32px;}
    .method .step_box > li .daeat_step {width: 100%; min-height: 140px;}
    .method .step_box > li .daeat_step dl dt {font-size: 18px; line-height: 26px; letter-spacing: -0.02em;}
    .method .step_box > li .daeat_step dl dt span {font-size: 12px; margin-bottom: -4px;}
    .method .step_box > li .daeat_step dl dd {font-size: 14px; line-height: 20px; letter-spacing: -0.02em;}
    .method .step_box > li .daeat_step dl dd i {display: inline;}
    .method .step_box li .daeat_step {background: #fff;}

    .reason .inner {padding: 60px 5%;}
    .reason .inner .main_title i {display: inline;}
    .reason .inner .main_title b {display: block;}
    .reason .inner .sub_text span {display: inline;}
    .reason .inner ul {flex-direction: column;}
    .reason .inner ul .img_box {width: 100%; margin: 0;}
    .reason .inner ul li img {width: 100%;}
    .reason .inner ul.top_box li, .willingness .inner .text_box li {width: 100%;}
    .reason .inner ul li .sub_text i {display: block;} 
    .reason .inner .text_box {padding: 30px 5%;}
    .reason .inner .text_box::after {top: 62px;}
    .reason .inner .text_box .main_title {font-size: 24px; line-height: 32px;}
    .reason .inner .text_box .main_title i {display: block;}
    .reason .inner .text_box ul {gap: 20px;}
    .reason .inner .text_box ul li {width: 100%;}
    .reason .inner .text_box ul li dl dt {font-size: 18px; margin-bottom: 4px;}
    .reason .inner .text_box ul li dl dd {font-size: 13px; line-height: 18px;}
    .reason .inner ul.top_box .img_box img {border-radius: 8px;}

    .beforeafter .inner {padding: 60px 5%;}
    .beforeafter .inner .main_title {margin-bottom: 24px;}
    .beforeafter .inner ul {grid-template-columns: repeat(1, 1fr); gap: 24px;}
    .beforeafter .inner ul li {border-radius: 8px;}
    .beforeafter .inner ul li .img_box:nth-of-type(1) img {border-radius: 8px 0 0 0;}
    .beforeafter .inner ul li .img_box:nth-of-type(2) img {border-radius: 0 8px 0 0;}

    .banner_area {height: 565px; background: url(../images/sub03_01_img_banner_mo.png) center no-repeat; background-size: cover; position: relative;}
    .banner_area .text_box {text-align: center; position: relative; top: 60px; transform: translateX(-50%); left: 50%;}
    .banner_area .text_box .more_btn {background: #F5F5F5;}
}


/* ------------------------------------------- /
/ 1. 모바일 (mo) - 세로형 + 가로형 모두 포함 (기본값) /
/ ------------------------------------------- */
.mo-block { display: block !important; }
.mo-inline { display: inline !important; }
.mo-inline-block { display: inline-block !important; }
.mo-none { display: none !important; }
/* ------------------------------------------- /
/ 2. 태블릿 (tb) 및 상위 Breakpoint 클래스 /
/ min-width: 768px 부터 적용됩니다. /
/ ------------------------------------------- */
@media (min-width: 768px) { /* 직접 768px 값 적용 */
    .tb-block { display: block !important; }
    .tb-inline { display: inline !important; }
    .tb-inline-block { display: inline-block !important; }
    .tb-none { display: none !important; }
}
/* ------------------------------------------- /
/ 3. PC (pc) 및 상위 Breakpoint 클래스 /
/ min-width: 1024px 부터 적용됩니다.
이 스타일은 1024px 이상인 모든 화면(대형 PC 포함)에 적용됩니다. /
/ ------------------------------------------- */
@media (min-width: 1024px) { /* 직접 1024px 값 적용 */
    .pc-block { display: block !important; }
    .pc-inline { display: inline !important; }
    .pc-inline-block { display: inline-block !important; }
    .pc-none { display: none !important; }
}