@charset "utf-8";
/* CSS Document */

/* ------------------------- Reset : Start ------------------------- */
html { font-size: 10px; }
html, body { height: 100%; font-family: 'Pretendard Variable', 'MalgunGothic', sans-serif; line-height: 1; color: #000; background-color: #FFF; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
a { text-decoration: none; color: inherit; -webkit-tap-highlight-color: transparent; }
ul, ol, li { list-style: none; }
img, video { max-width: 100%;  height: auto; display: block; }
input, button, textarea, select { font: inherit; color: inherit; background: none; border: none; outline: none; appearance: none; }
button { cursor: pointer; }
table { border-collapse: collapse; border-spacing: 0; }
h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }
strong { font-weight: bold; }
em { font-style: italic; }
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
/* ------------------------- Reset : End ------------------------- */





/* ------------------------- Common : Start ------------------------- */
.wrap {
    overflow: hidden;
    background: url(../images/bg.png) no-repeat center top / cover;
}


small {
    display: inline-block;
}


.fw-medium {
    font-weight: 500;
}
.fw-semibold {
    font-weight: 600;
}
.fw-black {
    font-weight: 900;
}


.fc-green {
    color: #00AA5D;
}


.ico {
    display: inline-block;
}


.marker {
    position: relative;
    z-index: 1;
}
.marker::before {
    content: '';
    position: absolute;
    left: -0.40vw;
    bottom: 0.40vw;
    z-index: -1;
    width: calc(100% + 0.80vw);
    height: 3.20vw;
}


.btn-group {
    display: flex;
    justify-content: center;
    gap: 0.27vw;
}
.btn-group .btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 43.33vw;
    height: 11.47vw;
    padding-right: 0.53vw;
    font-weight: 700;
    font-size: 4vw;
    letter-spacing: -0.065em;
}
.btn-group .btn-01 {
    background: url(../images/btn-bg01.png) no-repeat center / contain;
    color: #FFF;
}
.btn-group .btn-02 {
    background: url(../images/btn-bg02.png) no-repeat center / contain;
}
/* ------------------------- Common : End ------------------------- */





/* ------------------------- Header : Start ------------------------- */
.header {
    display: flex;
    height: 12.67vw;
}
.header .logo {
    display: block;
    width: 33.07vw;
    height: 5.87vw;
    margin: auto;
    font-size: 0;
    background: url(../images/logo.png) no-repeat center / contain;
}
/* ------------------------- Header : End ------------------------- */





/* ------------------------- Visual : Start ------------------------- */
.visual .btn-group {
    position: absolute;
    left: 0.40vw;
    right: 0;
    bottom: 10.27vw;
    margin: auto;
}



/* Swiper : Start */
.swiper-container-01 .swiper-slide {
    padding: 0 5.33vw 5.33vw;
}
.swiper-container-01 .swiper-slide .slide-group {
    height: 103.20vw;
    padding: 8vw 6.40vw;
    box-shadow: 0 1.87vw 2.67vw 0 rgba(0,0,0,0.35);
    border-radius: 0 1.33vw 1.33vw 1.33vw;
}



/* Swiper-Slide-01 : Start */
.swiper-container-01 .swiper-slide-01 .slide-group {
    background: #D1FCC2 url(../images/slide01-bg.png) no-repeat center bottom / contain;
}
.swiper-container-01 .swiper-slide-01 .box-txt {
    color: #252525;
    text-align: right;
}
.swiper-container-01 .swiper-slide-01 .tit {
    margin-bottom: 2.13vw;
    font-weight: 900;
    font-size: 10.27vw;
    letter-spacing: -0.02em;
}
.swiper-container-01 .swiper-slide-01 .tit small {
    font-size: 9.33vw;
}
.swiper-container-01 .swiper-slide-01 .txt-sub {
    font-size: 4.80vw;
    letter-spacing: -0.055em;
}
/* Swiper-Slide-01 : End */



/* Swiper-Slide-02 : Start */
.swiper-container-01 .swiper-slide-02 .slide-group {
    background-color: #BBEFF7;
}
.swiper-container-01 .swiper-slide-02 .box-txt {
    line-height: 1.2;
    text-align: center;
}
.swiper-container-01 .swiper-slide-02 .tit {
    margin-bottom: 2.93vw;
    font-weight: 600;
    font-size: 7.73vw;
    letter-spacing: -0.085em;
    color: #2A2A2A;
}
.swiper-container-01 .swiper-slide-02 .tit .fw-black {
    letter-spacing: -0.035em;
}
.swiper-container-01 .swiper-slide-02 .box-list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1.33vw;
}
.swiper-container-01 .swiper-slide-02 .box-list li {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    width: 22.53vw;
    height: 21.06vw;
    padding: 1.6vw 0;
    background-color: #FFF;
    border-radius: 1.33vw;
}
.swiper-container-01 .swiper-slide-02 .box-list .txt-sub {
    font-weight: 500;
    font-size: 2.27vw;
    letter-spacing: -0.065em;
}
.swiper-container-01 .swiper-slide-02 .box-list li:nth-child(3) {
    padding-bottom: 2.66vw;
}
.swiper-container-01 .swiper-slide-02 .box-list .ico {
    height: 11.2vw;
}
.swiper-container-01 .swiper-slide-02 .box-list .ico-01 {
    width: 12.4vw;
    background: url(../images/slide02-ico01.png) no-repeat center / contain;
}
.swiper-container-01 .swiper-slide-02 .box-list .ico-02 {
    width: 8.26vw;
    background: url(../images/slide02-ico02.png) no-repeat center / contain;
}
.swiper-container-01 .swiper-slide-02 .box-list .ico-03 {
    width: 10.66vw;
    background: url(../images/slide02-ico03.png) no-repeat center / contain;
}
.swiper-container-01 .swiper-slide-02 .box-list .ico-04 {
    width: 6.93vw;
    background: url(../images/slide02-ico04.png) no-repeat center / contain;
}
.swiper-container-01 .swiper-slide-02 .box-list .ico-05 {
    width: 12.93vw;
    background: url(../images/slide02-ico05.png) no-repeat center / contain;
}
/* Swiper-Slide-02 : End */



/* Swiper-Slide-03 : Start */
.swiper-container-01 .swiper-slide-03 .slide-group {
    background-color: #B6FEE8;
}
.swiper-container-01 .swiper-slide-03 .box-txt-01 .tit {
    margin-bottom: 4.67vw;
    font-weight: 600;
    font-size: 7.07vw;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #2A2A2A;
}
.swiper-container-01 .swiper-slide-03 .box-txt-01 .txt-sub {
    font-size: 4vw;
    line-height: 1.4;
    letter-spacing: -0.055em;
    color: #2A2A2A;
}


.swiper-container-01 .swiper-slide-03 .box-txt-02 {
    display: flex;
    flex-direction: column;
    position: absolute;
    bottom: 24.53vw;
    right: 12.27vw;
    width: 41.6vw;
    height: 49.06vw;
    padding-top: 5.07vw;
    padding-bottom: 7.47vw;
    line-height: 1.2;
    background: url(../images/slide03-obj01.png) no-repeat center / contain;
    text-align: center;
}
.swiper-container-01 .swiper-slide-03 .box-txt-02 .tit {
    font-weight: 700;
    font-size: 4.13vw;
    letter-spacing: -0.045em;
}
.swiper-container-01 .swiper-slide-03 .box-txt-02 .txt-sub {
    font-size: 2.80vw;
    letter-spacing: -0.065em;
}
.swiper-container-01 .swiper-slide-03 .box-txt-02 > .txt-sub {
    margin-top: 1.60vw;
    margin-bottom: auto;
}
.swiper-container-01 .swiper-slide-03 .box-txt-02 .group .tit {
    margin-bottom: 0.53vw;
    font-size: 5.07vw;
}
/* Swiper-Slide-03 : End */



/* Swiper-Pagination : Start */
.swiper-container-01 .swiper-pagination {
    display: flex;
    padding-left: 5.33vw;
}
.swiper-container-01 .swiper-pagination .swiper-pagination-bullet {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 19.33vw;
    height: 7.73vw;
    font-weight: 600;
    font-size: 3.87vw;
    letter-spacing: -0.045em;
    color: #4C4C4C;
    background-color: #E1E1E1;
    border-radius: 1.33vw 1.33vw 0 0;
}
.swiper-container-01 .swiper-pagination .swiper-pagination-bullet-active {
    z-index: 1;
    color: #000;
    box-shadow: 0 1.87vw 2.67vw 0 rgba(0,0,0,0.35);
}
.swiper-container-01 .swiper-pagination .swiper-pagination-bullet-active[aria-label="Go to slide 1"] {
    background-color: #D1FCC2;
}
.swiper-container-01 .swiper-pagination .swiper-pagination-bullet-active[aria-label="Go to slide 2"] {
    background-color: #BBEFF7;
}
.swiper-container-01 .swiper-pagination .swiper-pagination-bullet-active[aria-label="Go to slide 3"] {
    background-color: #B6FEE8;
}
/* Swiper-Pagination : End */



/* Swiper-Button : Start */
.swiper-container-01 [class*="swiper-button-"] {
    position: absolute;
    top: 7.73vw;
    bottom: 0;
    z-index: 10;
    width: 3.87vw;
    height: 5.87vw;
    margin: auto;
    background: url(../images/slide-arrow.png) no-repeat center / contain;
}
.swiper-container-01 .swiper-button-prev {
    left: 7.47vw;
    transform: scaleX(-1);
}
.swiper-container-01 .swiper-button-next {
    right: 7.47vw;
}
.swiper-container-01 .swiper-button-disabled {
    background: url(../images/slide-arrow-disabled.png) no-repeat 100% / contain;
}
/* Swiper-Button : End */



.swiper-container {
    overflow: hidden;
    position: relative;
    margin: 0 auto;
}
.swiper-wrapper {
    display: flex;
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    transition-property: transform;
    box-sizing: content-box;
}
.swiper-slide {
    display: inline-block;
    overflow: hidden;
    position: relative;
    width: 100% !important;
    height: 100%;
    transition-property: transform;
    flex-shrink: 0;
}
/* Swiper : End */
/* ------------------------- Visual : End ------------------------- */





/* ------------------------- Section-01 : Start ------------------------- */
.section-01 {
    padding: 0 5.33vw;
}
.section-01 [class*="box-txt-"] {
    display: flex;
    align-items: center;
    width: 89.20vw;
    height: 22vw;
    padding-left: 3.2vw;
    margin-bottom: 4vw;
    line-height: 1.2;
    letter-spacing: -0.045em;
    color: #161616;
    border-radius: 1.33vw;
    box-shadow: 0 1.33vw 2vw 0 rgba(0,0,0,0.2);
}
.section-01 [class*="box-txt-"] .tit {
    font-weight: 500;
    font-size: 5.07vw;
    line-height: 1.4;
}
.section-01 [class*="box-txt-"] .txt-sub {
    font-weight: 500;
    font-size: 3.2vw;
}
.section-01 [class*="box-txt-"] .txt-desc {
    margin-top: 1.33vw;
    font-size: 2.53vw;
}
.section-01 [class*="box-txt-"] .ico {
    width: 19.2vw;
}


.section-01 .box-txt-01 {
    background-color: #FEF1C0;
}
.section-01 .box-txt-01 .tit {
    line-height: 1.1;
}
.section-01 .box-txt-01 .tit .fw-black {
    font-size: 6.67vw;
}
.section-01 .box-txt-01 .marker::before {
    background-color: #F6D500;
}
.section-01 .box-txt-01 .ico-01 {
    height: 14.13vw;
    background: url(../images/sec01-ico01.png) no-repeat center / contain;
}


.section-01 .box-txt-02 {
    background-color: #FFE1C2;
}
.section-01 .box-txt-02 .tit .fw-black {
    font-size: 6.13vw;
}
.section-01 .box-txt-02 .marker::before {
    background-color: #FFC185;
}
.section-01 .box-txt-02 .ico-02 {
    height: 15.6vw;
    background: url(../images/sec01-ico02.png) no-repeat center / contain;
}


.section-01 .box-txt-03 {
    background-color: #C4F49E;
}
.section-01 .box-txt-03 .tit {
    font-size: 4.27vw;
}
.section-01 .box-txt-03 .marker::before {
    height: 2.67vw;
    background-color: #81E147;
}
.section-01 .box-txt-03 .ico-03 {
    height: 16.53vw;
    background: url(../images/sec01-ico03.png) no-repeat center / contain;
}


.section-01 .box-txt-04 {
    background-color: #B9F3E0;
}
.section-01 .box-txt-04 .tit {
    font-size: 4.67vw;
}
.section-01 .box-txt-04 .marker::before {
    height: 2.67vw;
    background-color: #5BD3B0;
}
.section-01 .box-txt-04 .txt-desc {
    color: #505259;
}
.section-01 .box-txt-04 .ico-04 {
    height: 16vw;
    background: url(../images/sec01-ico04.png) no-repeat center / contain;
}
/* ------------------------- Section-01 : End ------------------------- */





/* ------------------------- Section-02 : Start ------------------------- */
.section-02 {
    padding: 6vw 5.33vw 8vw;
}
.section-02 .btn-group {
    margin-top: 6.66vw;
}
.section-02 .btn-group .btn-02 {
    width: 44.66vw;
    background: url(../images/btn-bg02-1.png) no-repeat center / contain;
}



/* Accordion : Start */
.section-02 .comp-accordion .panel-title > a {
    height: 16.67vw;
    padding-left: 4.27vw;
}
.section-02 .comp-accordion .panel-title .tit {
    display: flex;
    align-items: center;
    gap: 2.40vw;
    font-weight: 700;
    font-size: 4.80vw;
}
.section-02 .comp-accordion .panel-title .tit .num {
    margin-bottom: -1px;
    font-size: 4.27vw;
    color: #00A85A;
    border-bottom: 1px solid #00A85A;
}


.section-02 .comp-accordion .panel-body {
    padding: 6.13vw 4.27vw;
    line-height: 1.5;
    letter-spacing: -0.045em;
    background: #FFF url(../images/bg-dashed.png) no-repeat center top / 81.20vw 0.27vw;
    color: #3C3C3C;
}
.section-02 .comp-accordion .panel-body .box-list {
    display: flex;
    flex-direction: column;
}
.section-02 .comp-accordion .panel-body .box-list li {
    position: relative;
}
.section-02 .comp-accordion .panel-body .box-list li::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
}
.section-02 .comp-accordion .panel-body .box-list > li::before {
    content: '-';
}
.section-02 .comp-accordion .panel-body .box-list .depth-list.dot li {
    padding-left: 1.6vw;
}
.section-02 .comp-accordion .panel-body .box-list .depth-list.dot li::before {
    top: 1.87vw;
    width: 0.53vw;
    height: 0.53vw;
    background-color: #3C3C3C;
    border-radius: 50%;
}


.comp-accordion .acc-panel-01 .panel-body .box-list {
    gap: 2.67vw;
}
.comp-accordion .acc-panel-01 .panel-body .box-list li {
    padding-left: 2.13vw;
    font-size: 3.47vw;
}


.comp-accordion .acc-panel-02 .panel-body {
    padding: 3.2vw 4.27vw;
    background: url(../images/sec02-bg01.png) no-repeat center / 74.40vw 45.20vw, url(../images/bg-dashed.png) no-repeat center top / 81.20vw 0.27vw #FFF;
}
.comp-accordion .acc-panel-02 .panel-body .box-txt {
    display: flex;
    flex-wrap: wrap;
    text-align: center;
}
.comp-accordion .acc-panel-02 .panel-body .group {
    padding: 3.20vw 0;
    flex-basis: 50%;
}
.comp-accordion .acc-panel-02 .panel-body .tit {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 29.87vw;
    height: 6.40vw;
    margin: 0 auto 2.93vw;
    font-weight: 700;
    font-size: 3.60vw;
    background-color: #D6F8CB;
    border-radius: 3.20vw;
}
.comp-accordion .acc-panel-02 .panel-body .txt-sub {
    font-size: 2.93vw;
    letter-spacing: -0.065em;
}
.comp-accordion .acc-panel-02 .panel-body .group:nth-child(1) .txt-sub {
    padding: 2.13vw 0;
}


.comp-accordion .acc-panel-03 .panel-body .box-list {
    gap: 5.33vw;
    margin-top: 4.26vw;
}
.comp-accordion .acc-panel-03 .panel-body .box-list li {
    display: flex;
    align-items: center;
    gap: 1.6vw;
}
.comp-accordion .acc-panel-03 .panel-body .box-list > li::before {
    content: '';
}
.comp-accordion .acc-panel-03 .panel-body .box-list .depth-list.dot {
    margin-bottom: 2.66vw;
}
.comp-accordion .acc-panel-03 .panel-body .box-list .depth-list.dot li {
    letter-spacing: -0.025em;
}
.comp-accordion .acc-panel-03 .panel-body .tit {
    margin-bottom: 1.86vw;
    font-weight: 600;
    font-size: 3.6vw;
    text-decoration: underline;
}
.comp-accordion .acc-panel-03 .panel-body .txt-sub {
    font-size: 3.06vw;
}
.comp-accordion .acc-panel-03 .panel-body .txt-desc {
    display: inline-block;
    padding: 1.06vw 2.13vw;
    font-weight: 500;
    font-size: 2.66vw;
    background-color: #FFF5A0;
}
.comp-accordion .acc-panel-03 .panel-body .fc-green {
    font-weight: 500;
    font-size: 2.4vw;
    color: #00974F;
}
.comp-accordion .acc-panel-03 .panel-body .ico {
    display: inline-block;
}
.comp-accordion .acc-panel-03 .panel-body .ico-01 {
    width: 14.66vw;
    height: 12vw;
    background: url(../images/sec03-ico01.png) no-repeat center / contain;
}
.comp-accordion .acc-panel-03 .panel-body .ico-02 {
    width: 13.86vw;
    height: 12.93vw;
    background: url(../images/sec03-ico02.png) no-repeat center / contain;
}
.comp-accordion .acc-panel-03 .panel-body .ico-03 {
    width: 13.6vw;
    height: 10.93vw;
    background: url(../images/sec03-ico03.png) no-repeat center / contain;
}
/* Accordion : End */



/* Accordion (Bootstrap) : Start */
.collapse {
    display: none;
}
.collapse.in {
    display: block;
}
.collapsing {
    overflow: hidden;
    position: relative;
    height: 0;
    transition-timing-function: ease;
    transition-duration: .3s;
    transition-property: height, visibility;
}
.comp-accordion .panel {
    margin-bottom: 5.33vw;
}
.comp-accordion .panel:last-child {
    margin-bottom: 0;
}
.comp-accordion .panel-title {
    overflow: hidden;
    min-height: auto;
    padding: 0;
    border: none;
    text-align: left;
    border-radius: 1.33vw;
    box-shadow: 0 1.87vw 2.67vw 0 rgba(0,0,0,0.2);
}
.comp-accordion .panel-title > a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    background-color: #FFF;
}
.comp-accordion .panel-body {
    overflow: hidden;
    background-color: #FFF;
    border-radius: 1.3vw;
    box-shadow: 0 1.87vw 2.67vw 0 rgba(0,0,0,0.2);
}


.comp-accordion .panel-title > a > .ico-arrow {
    display: inline-block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 4.8vw;
    width: 4.67vw;
    height: 2.93vw;
    margin: auto;
    background: url(../images/ico-arrow.png) no-repeat center / contain;
}
.comp-accordion .panel-title > a[aria-expanded="true"]:not([class]) > .ico-arrow,
.comp-accordion .panel-title > a[aria-expanded="true"][class] > .ico-arrow {
    transform: rotate(180deg);
}
/* Accordion (Bootstrap) : End */
/* ------------------------- Section-02 : End ------------------------- */





/* ------------------------- Footer : Start ------------------------- */
.footer {
    line-height: 1.5;
    letter-spacing: -0.035em;
    color: #505259;
}
.footer .inner {
    padding: 0 5.33vw 13.33vw;
}
.footer .btn-term {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 10.67vw;
    margin: 0 auto 7.73vw;
    border: 1px solid #828282;
    font-weight: 700;
    font-size: 4.40vw;
    color: #828282;
    border-radius: 1.33vw;
}
.footer .top {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.footer .box-title {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 1.6vw;
}
.footer .box-title .title {
    font-weight: 700;
    font-size: 4vw;
    letter-spacing: -0.015em;
}
.footer .box-title .number {
    font-size: 2vw;
    letter-spacing: 0;
}
.footer .dot {
    position: relative;
    padding-left: 1.8vw;
    margin-bottom: 2vw;
    font-size: 2.7vw;
}
.footer .dot::before {
    content: '';
    position: absolute;
    top: 1.6vw;
    left: 0;
    width: 0.4vw;
    height: 0.4vw;
    background-color: #505259;
    border-radius: 50%;
}
.footer .sub {
    display: block;
    margin-bottom: 1.06vw;
    font-weight: 600;
    font-size: 2.67vw;
}
.footer .sub-desc {
    display: block;
    font-size: 2.67vw;
    line-height: 1.8;
}
.footer .group-number {
    margin-top: 2.4vw;
    margin-bottom: 6.67vw;
    font-size: 2.67vw;
    line-height: 1.8;
}
.footer .bottom {
    padding-top: 4.2vw;
}
.footer .bottom p {
    font-size: 2.7vw;
}
.footer .bottom .text-list {
    margin-top: 4.2vw;
}
.footer .bottom .text-list span {
    display: inline-block;
    margin-left: 2.7vw;
    font-size: 2.7vw;
}
.footer .bottom .text-list .title {
    font-size: 3.33vw;
}
.footer .bottom .text-list span:last-child {
    margin-left: 0;
}
/* ------------------------- Footer : End ------------------------- */