.ui-wrapper {
    padding-top: 100px;
}

.ui-footer {
    margin-top: 0;
}

/* 인사말 */
.section-greeting {
    height: 934px;
    position: relative;
    overflow: hidden;
}

.section-greeting .background {
    height: 934px;
    transform: scale(1.5);
    background: url("../images/image_about_greeting_1.jpg") no-repeat center / cover;
    transition: transform 8s ease-in-out;
}

.section-greeting .background.is-active {
    transform: scale(1);
}

.section-greeting .ui-inner {
    display: flex;
    justify-content: center;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    color: #333;
    transform: translateX(-50%);
    gap: 40px;
}

.section-greeting .title {
    font-size: 26px;
    font-weight: 700;
    color: #fff;
    line-height: 64px;
}

@keyframes zoomOut {
    from {
        transform: scale(1.5);
    }
    to {
        transform: scale(1);
    }
}

.section-greeting .text {
    font-size: 64px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.2);
    line-height: 84px;
}

.section-greeting .text span {
    color: rgba(255, 255, 255, 0.2);
    transition: color 0.3s ease;
}

.section-greeting .text .is-active span {
    color: #fff;
}

.section-overview {
    height: 1093px;
    position: relative;
    overflow: hidden;
}

.section-overview .background {
    height: 1093px;
    transform: scale(1.5);
    background: url("../images/image_about_greeting_2.jpg") no-repeat center / cover;
    transition: transform 8s ease-in-out;
}

.section-goal {
    height: auto;
}

.section-overview .background.is-active {
    transform: scale(1);
}

.section-overview .ui-inner {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    color: #333;
    transform: translateX(-50%);
}

.section-overview .text {
    font-size: 40px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.2);
    line-height: 60px;
}

.section-overview .text span {
    color: rgba(255, 255, 255, 0.2);
    transition: color 0.4s ease;
}

.section-overview .text .is-active span {
    color: #fff;
}

.section-goal {
    height: 1271px;
    position: relative;
    overflow: hidden;
}

.section-goal .background-text {
    width: max-content;
    position: absolute;
    top: 100px;
    left: 50%;
    z-index: -1;
    font-size: 350px;
    font-weight: 700;
    color: #f7f8fd;
    transform: translateX(-50%);
}

.section-goal .ui-inner {
    justify-content: center;
    height: 100%;
}

.section-goal .block {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.section-goal .image {
    width: 510px;
    height: 700px;
}

.section-goal .image img {
    width: 100%;
    height: 100%;
}

.section-goal .text {
    font-size: 37px;
    font-weight: 700;
    color: #1946b9;
    line-height: 55px;
}

.section-goal .description {
    margin-top: 40px;
    font-size: 26px;
    line-height: 45px;
}

.section-goal .text,
.section-goal .description,
.section-goal .image {
    transform: translateY(40px);
    opacity: 0;
    transition: all 0.6s ease;
}

.section-goal .text.is-active,
.section-goal .description.is-active,
.section-goal .image.is-active {
    transform: translateY(0);
    opacity: 1;
}

.section-philosophy .ui-inner {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
    height: 100%;
    padding: 0;
    gap: 30px;
}

.section-philosophy .block {
    height: 150px;
    background: no-repeat center / cover;
    transition: all 0.2s;
}

.block.philosophy {
    background-image: url("../images/image_about_greeting_4.jpg");
}

.block.vision {
    background-image: url("../images/image_about_greeting_5.jpg");
}

.block.mission {
    background-image: url("../images/image_about_greeting_6.jpg");
}

.section-philosophy .title {
    display: flex;
    align-items: center;
    width: 100%;
    height: 150px;
    font-size: 48px;
    font-weight: 700;
    color: #fff;
    line-height: 64px;
    background: url("data:image/svg+xml,%3Csvg width='42' height='42' viewBox='0 0 42 42' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='21' width='2' height='42' fill='white'/%3E%3Crect x='42' y='20' width='2' height='42' transform='rotate(90 42 20)' fill='white'/%3E%3C/svg%3E%0A")
        no-repeat right center;
}

.section-philosophy .text {
    display: none;
    font-size: 32px;
    color: #fff;
    line-height: 50px;
}

.section-philosophy .block.is-active {
    height: 1076px;
}

.section-philosophy .block.is-active .title {
    font-size: 64px;
    line-height: 84px;
    background-image: url("data:image/svg+xml,%3Csvg width='42' height='2' viewBox='0 0 42 2' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='42' width='2' height='42' transform='rotate(90 42 0)' fill='white'/%3E%3C/svg%3E%0A");
}

.section-philosophy .block.is-active .text {
    display: block;
}


.section-value .ui-inner {
    align-items: normal;
    width: 100%;
    padding: 150px 80px 100px;
    max-width: 2440px;
    min-width: 1600px;
    gap: 50px;
    
}

.section-value h3 {
    font-size: 48px;
    line-height: 64px;
}

.section-value ul {
    display: flex;
    width: 100%;
    height: 800px;
    overflow: hidden;
    background: url("../images/image_about_greeting_7.jpg") no-repeat center / cover;
    border-radius: 40px;
}

.section-value li {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: center;
    color: #fff;
    transition: all 0.3s;
    flex: 1;
}

.section-value li > * {
    transition: all 0.3s;
}

.section-value .alphabet {
    font-size: 300px;
    font-weight: 900;
    color: transparent;
    -webkit-text-stroke: 2px #fff;
}

.section-value .badge {
    padding: 5px 30px;
    font-size: 28px;
    line-height: 48px;
    background: #002f87;
    border-radius: 29px;
}

.section-value .title {
    margin-top: 40px;
    font-size: 40px;
    font-weight: 700;
    line-height: 48px;
}

.section-value .text {
    height: 0;
    overflow: hidden;
    margin-top: 10px;
    font-size: 30px;
    line-height: 48px;
}

.section-value li.is-active {
    background: rgba(0, 47, 135, 0.8);
}

.section-value li.is-active .alphabet {
    color: #fff;
    -webkit-text-stroke: none;
}

.section-value li.is-active .badge {
    color: #000;
    background: #fff;
}

.section-value li.is-active .text {
    height: 144px;
}

.section-value .box-doing {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 400px;
    font-size: 80px;
    font-weight: 900;
    color: transparent;
    line-height: 100px;
    background: url("../images/image_about_greeting_7.jpg") no-repeat center / cover;
    border-radius: 40px;
    -webkit-text-stroke: 1px #fff;
}

/* 시스템 */
.section-hero {
    height: 560px;
    background: no-repeat center / cover;
}

.section-shortcut ul {
    display: flex;
    align-items: flex-start;
    width: 100%;
    padding-top: 20px;
    gap: 10px;
}

.section-shortcut li {
    height: 56px;
    border-bottom: 1px solid #000;
    flex: 1;
    box-sizing: content-box;
}

.section-shortcut a {
    display: block;
    width: 56px;
    width: 100%;
    font-size: 22px;
    text-align: center;
    color: #4b4b4b;
    line-height: 56px;
}

.section-shortcut li.is-active {
    border-bottom: 3px solid #004098;
}

.section-shortcut li.is-active a {
    font-weight: 700;
    color: #004098;
}

.block-intro {
    display: flex;
    align-items: center;
    flex-direction: column;
    padding: 30px 0;
    text-align: center;
    gap: 20px;
}

.block-intro .sub-title {
    width: fit-content;
    padding: 5px 20px;
    font-size: 20px;
    color: #002f87;
    line-height: 32px;
    border: 1px solid #002f87;
    border-radius: 21px;
}

.block-intro h3 {
    font-size: 40px;
    color: #002f87;
    line-height: 56px;
}

.block-intro .text {
    font-size: 24px;
    color: #333;
    line-height: 36px;
    word-break: keep-all;
}

.block-background {
    width: 100%;
    height: 600px;
    margin-top: 30px;
    margin-bottom: 50px;
    background: no-repeat center / cover;
    border-radius: 20px;
}

.list-step {
    display: grid;
    padding: 0 80px;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 110px;
    grid-row-gap: 30px;
}
.scr_moveY {transform: translateY(0);transition: transform 0.7s ease;}
.scr_moveY.active {transform: translateY(-120px);}
.list-step li {
    position: relative;
}

.list-step .card {
    height: 100%;
    padding: 30px;
    background: #fff;
    border-radius: 20px;
}

.list-step .image {
    height: 248.89px;
    overflow: hidden;
    border-radius: 20px;
}

.list-step .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.list-step .badge {
    width: 97px;
    height: 30px;
    margin-top: 40px;
    font-weight: 700;
    text-align: center;
    color: #002f87;
    line-height: 30px;
    border: 1px solid #002f87;
    border-radius: 15px;
}

.list-step .title {
    margin-top: 20px;
    font-size: 24px;
    font-weight: 700;
    color: #002f87;
    line-height: 36px;
}

.list-step .text {
    margin-top: 20px;
    font-size: 18px;
    color: #333;
    line-height: 28px;
}
.list-step .text em {display: block; font-size: 14px;font-style: normal;}
.list-step .speech-bubble {
    /*display: flex;
    justify-content: center;
    flex-direction: column;
    width: 320px;
    height: 100px;
    position: absolute;
    bottom: 133.5px;
    left: -340px;
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    color: #fff;
    line-height: 20px;
    background: #16c9ab;
    border-radius: 20px;*/
      display: flex;
    justify-content: center;
    flex-direction: column;
    width: 235px;
    height: 100px;
    position: absolute;
    bottom: -130px;
    left: -155px;
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    color: #fff;
    line-height: 20px;
    background: #002F87;
    border-radius: 20px;
}
.list-step li:nth-child(2) .speech-bubble {background:#16C9AB}
.list-step li:nth-child(3) .speech-bubble {background:#4696FF}
.list-step .speech-bubble::before {
    display: block;
    width: 40px;
    height: 31px;
    position: absolute;
    top: -31px;
    left: 50%;
    transform: translateX(-50%);
    background: url("../images/icon_bubble_tail_blue.png") no-repeat center;
    content: "";
}

.list-step li:not(:first-child)::before {
    display: block;
    width: 50px;
    height: 50px;
    position: absolute;
    top: 50%;
    left: -80px;
    z-index: 1;
    border: 1px solid #cfcfcf;
    transform: translateY(-50%);
    background: url("../images/icon_chevron_right.png") #fff no-repeat center;
    content: "";
    border-radius: 50%;
}

.list-step li:nth-child(3n + 1)::before {
    display: none;
}
.list-step li:nth-child(2) .speech-bubble::before {
  background: url("../images/icon_bubble_tail.png") no-repeat center;
}
.list-step li:nth-child(3) .speech-bubble::before {
  background: url("../images/icon_bubble_tail_sky.png") no-repeat center;
}
.list-step li.is-full {
    grid-column: 1 / -1;
}

.list-step li.is-full .card {
    display: flex;
    align-items: center;
    gap: 40px;
}

.list-step li.is-full .image {
    width: 600px;
    height: 300px;
}

.list-step li.is-full .badge {
    margin: 0;
}

.block-slide {
    width: 100%;
}

/* 원외탕전실 시스템 */
.section-hero.system {
    background-image: url("../images/image_about_system_hero.jpg");
}

.section-system {
    background: #f7f8fd;
}

.section-system .ui-inner {
    padding: 80px 0;
    gap: 0;
}

.section-system .block-background {
    background-image: url("../images/image_about_system_background.jpg");
}

/* 포장 관리 */
.section-packaging {
    background: #f7f8fd;
}

.section-packaging .ui-inner {
    padding: 80px 0;
    gap: 0;
}

.section-packaging .block-background {
    background-image: url("../images/image_about_packaging_background.jpg");
}

/* 수처리 관리 */
.section-water {
    background: #f7f8fd;
}

.section-water .ui-inner {
    padding: 80px 0;
    gap: 0;
}

.section-water .block-background {
    background-image: url("../images/image_about_water_background.jpg");
}

.section-water .list-step {
    width: calc(100% - 80px);
    padding: 40px 40px 180px;
    background: #fff;
    grid-template-columns: repeat(4, 1fr);
    grid-column-gap: 80px;
    grid-row-gap: 0;
    border-radius: 20px;
}

.section-water .list-step .card {
    background: #f7f8fd;
}

.section-water .list-step .box-text {
    display: flex;flex-direction: column;
    align-items: center;
    gap: 10px;
}

.section-water .list-step .badge {
    margin: 0;
}

.section-water .list-step .title {
    margin: 0;
}

.section-water .list-step .image {
    height: 220px;
    margin-top: 20px;
}

.section-water .list-step .group-text {
    display: none;
    /*width: calc(100% - 60px);
    height: calc(100% - 116px);*/
  width:100%;height: 100%;
    position: absolute;
    /*bottom: 30px;
    left: 30px;*/
  left:0;bottom: 0;
    padding: 20px;
    background: rgba(25, 70, 185, 0.85);
    border-radius: 20px;
}

.section-water .list-step .group-text .title {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    line-height: 28px;
}

.section-water .list-step .group-text .title:nth-child(n + 2) {
    margin-top: 20px;
}

.section-water .list-step .group-text .text {
    margin-top: 5px;
    font-size: 16px;
    color: #fff;
    line-height: 26px;
}

.section-water .list-step li:hover .group-text {
    display: block;
}

.section-water .list-step li:not(:first-child)::before {
    /*top: 158.5px;
    left: -205px;
    border-color: #002f87;
    background-image: url("../images/icon_chevron_right_white.png");
    background-color: #002f87;*/
  top: 180px;
  left: -65px;
  border-color: #002f87;
  background-image: url("../images/icon_chevron_right_white.png");
  background-color: #002f87;
}

.section-water .list-step li:nth-child(3n + 1)::before {
    display: block;
}
.section-water .list-step li:nth-child(2)::before {background-color:#16C9AB;border-color:#16C9AB}
.section-water .list-step li:nth-child(3)::before {background-color:#4696FF;border-color:#4696FF}
/*.section-water .list-step li:nth-child(3)::before {
    display: none;
}*/

.section-water .list-step li:not(:first-child)::after {
    /*display: block;
    width: 320px;
    height: 1px;
    position: absolute;
    top: 158.5px;
    left: -340px;
    border-top: 1px dashed #000;
    content: "";*/
    display: block;
    width: 80px;
    height: 1px;
    position: absolute;
    top: 180px;
    left: -80px;
    border-top: 1px dashed #000;
    content: "";
}

.section-slider .ui-inner {
    padding: 80px 0;
    gap: 0;
}

.main-swiper {
    width: 100%;
    border-radius: 20px;
}

.main-swiper .swiper-slide {
    width: 1400px;
    height: 640px;
}

.main-swiper .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.thumb-swiper {
    margin-top:50px;
}

.thumb-swiper .swiper-wrapper {
    padding: 0 20px;
    gap: 5px;
}

.section-slider.water .thumb-swiper .swiper-slide {
    width: 157px !important;
}

.thumb-swiper .card {
    height: 253px;
    padding: 20px;
    background: #f3f3f3;
    border-radius: 20px;
    cursor: pointer;
}

.thumb-swiper .thumbnail {
    width: 100%;
    height: 117px;
    overflow: hidden;
    border-radius: 20px;
}

.thumb-swiper .thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.thumb-swiper .title {
    margin-top: 20px;
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    color: #666;
    line-height: 25px;
    word-break: keep-all;
}

.thumb-swiper .text {
    display: none;
    margin-top: 20px;
    font-size: 16px;
    line-height: 28px;
}

.text-swiper {
    width: 100%;
    margin-top: 20px;transform: translateY(-100px)
}

.text-swiper .swiper-slide {
    padding: 0 50.5px;
}

.text-swiper .card {
    padding: 20px;
    background: #f7f8fd;
    border-radius: 20px;
}

.text-swiper .title {
    font-size: 32px;
    font-weight: 700;
    color: #002f87;
    line-height: 46px;
}

.text-swiper .text {
    margin-top: 20px;
    font-size: 20px;
    line-height: 32px;
}

.section-slider.water .thumb-swiper .swiper-slide-thumb-active {
    width: 319px !important;
}

.section-slider.water .thumb-swiper .swiper-slide-thumb-active .thumbnail {
    display: none;
}

.section-slider.water .thumb-swiper .swiper-slide-thumb-active .card {
    background: #f7f8fd;
}

.section-slider.water .thumb-swiper .swiper-slide-thumb-active .title {
    margin-top: 0;
    font-size: 24px;
    text-align: left;
    color: #002f87;
}

.section-slider.water .thumb-swiper .swiper-slide-thumb-active .title br {
    display: none;
}

.section-slider.water .thumb-swiper .swiper-slide-thumb-active .text {
    display: block;
}

.swiper-button-prev,
.swiper-button-next {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    cursor: pointer;
}

.swiper-button-next:after,
.swiper-button-prev:after {
    display: none;
}

.swiper-button-prev {
    left: 100px;
    color: #000;
    border: 1px solid #cfcfcf;
    transform: scaleX(-1);
    background: #fff;
}

.swiper-button-next {
    right: 100px;
    color: #fff;
    background: #002f87;
}

.swiper-button-next svg,
.swiper-button-prev svg {
    width: 24px;
    height: 24px;
}

.section-quality {
    background: #f7f8fd;
}

.section-quality .ui-inner {
    padding: 80px 0;
    gap: 0;
}

.section-quality .block-background {
    background-image: url("../images/image_about_quality_background.jpg");
}

.list-summary {
    display: grid;
    padding: 0 100px;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.list-summary li {
    position: relative;
    padding: 30px;
    background: #fff;
    border-radius: 20px;
}

.list-summary .image {
    height: 240px;
    overflow: hidden;
    border-radius: 20px;
}

.list-summary .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.list-summary .title {
    margin-top: 20px;
    font-size: 24px;
    font-weight: 700;
    text-align: center;
    color: #002f87;
    line-height: 36px;
}

.list-summary .text {
    display: none;
    width: calc(100% - 60px);
    height: calc(100% - 116px);
    position: absolute;
    top: 30px;
    left: 30px;
    padding: 20px;
    font-size: 16px;
    color: #fff;
    line-height:1.4;
    background: rgba(25, 70, 185, 0.85);
    border-radius: 20px;
  word-break: keep-all
}

.list-summary li:hover .text {
    display: block;
}

.section-slider.quality .thumb-swiper .swiper-slide {
    width: 142.22px !important;
}

.section-slider.quality .thumb-swiper .card {
    height: 212.22px;
    padding: 20px 0;
}

.section-slider.quality .thumb-swiper .thumbnail {
    width: calc(100% - 40px);
    height: 102.22px;
    margin: 0 auto;
}

.section-slider.quality .thumb-swiper .swiper-slide-thumb-active .card {
    background: #002f87;
}

.section-slider.quality .thumb-swiper .swiper-slide-thumb-active .title {
    color: #fff;
}

/* 무균실 관리 */
.section-cleanroom {
    background: #f7f8fd;
}

.section-cleanroom .ui-inner {
    padding: 80px 0;
    gap: 0;
}

.section-cleanroom .block-background {
    background-image: url("../images/image_about_cleanroom_background.jpg");
}

.section-cleanroom .list-summary {
    padding: 0 40px;
}

.section-cleanroom .list-summary .image {
    height: 300px;
}

.section-cleanroom .list-summary .title {
    margin-top: 10px;
    text-align: left;
}

.section-cleanroom .list-summary .text {
    height: calc(100% - 106px);
}

.section-slider.cleanroom .thumb-swiper .swiper-wrapper {
    gap: 5px;
}

.section-slider.cleanroom .thumb-swiper .swiper-slide {
    width: 157px !important;
}

.section-slider.cleanroom .thumb-swiper .card {
    height: 227px;
}

.section-slider.cleanroom .thumb-swiper .swiper-slide-thumb-active .card {
    background: #002f87;
}

.section-slider.cleanroom .thumb-swiper .swiper-slide-thumb-active .title {
    color: #fff;
}

.block-grade {
    width: 100%;
    height: 263px;
    position: relative;
}

.block-grade .grade {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: 100%;
    padding: 20px;
    color: #fff;
    border-radius: 20px;
}

.block-grade .grade.d {
    width: 100%;
    padding-right: 30px;
    padding-left: 30px;
    background: #aecaff;
}

.block-grade .grade.c {
    width: 1025px;
    background: #7da4ed;
}

.block-grade .grade.b {
    width: 665px;
    background: #4b75c2;
}

.block-grade .grade.a {
    width: 305px;
    background: #002f87;
}

.block-grade .group-text {
    font-size: 20px;
    line-height: 32px;
    flex: 1;
}

.block-grade .title {
    font-weight: 700;
    text-align: center;
}

.block-grade .alphabet {
    font-size: 48px;
    font-weight: 700;
    line-height: 64px;
}

.block-grade .text {
    display: none;
    width: 305px;
    position: absolute;
    top: 214px;
    padding: 30px;
    font-size: 20px;
    color: #fff;
    line-height: 32px;
    background: rgba(0, 0, 0, 0.8);
    border-radius: 20px;
}

.block-grade .text.grade-d {
    left: 20px;
}

.block-grade .text.grade-c {
    left: 365px;
}

.block-grade .text.grade-b {
    right: 390px;
}

.block-grade .text.grade-a {
    right: 70px;
}

.grade-swiper {
    width: 100%;
    margin-top: 60px;
    padding-bottom: 40px;
}

.grade-swiper .card {
    padding: 30px;
    background: #002f87;
    border-radius: 20px;
}

.grade-swiper .title {
    width: 152px;
    height: 56px;
    margin-left: -30px;
    font-size: 24px;
    font-weight: 700;
    text-align: center;
    color: #fff;
    line-height: 56px;
    background: #09c9bf;
    border-top-right-radius: 28px;
    border-bottom-right-radius: 28px;
}

.grade-swiper .text {
    margin-top: 20px;
    font-size: 16px;
    color: #fff;
    line-height: 24px;
}

.swiper-pagination {
    top: auto !important;
    bottom: -2px !important;
}

.swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    border: 1px solid #cfcfcf;
    background: #fff;
    opacity: 1;
}

.swiper-pagination-bullet-active {
    border-color: #002f87;
    background: #002f87;
}

/* 위치 안내 */
.section-location {
    position: relative;
}

.section-location .block-map {
    height: 760px;
}

.section-location iframe {
    width: 100%;
    height: 100%;
}

.section-location .box-text {
    position: absolute;
    top: 50%;
    left: calc(50% + 120px);
    padding: 59px 30px;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    transform: translateY(-50%);
    background: #fff;
}

.section-location ul {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.section-location .title {
    font-size: 20px;
    font-weight: 700;
    line-height: 32px;
}

.section-location .text {
    margin-top: 12px;
    font-size: 16px;
    line-height: 24px;
}

.section-location .ui-button-primary {
    margin-top: 12px;
}

@media (max-width: 1023px) {
    .ui-wrapper {
        padding-top: 68px;
    }

    .section-greeting {
        height: 800px;
    }

    .section-greeting .ui-inner {
        width: 100% !important;
        padding: 0 20px;
    }

    .section-greeting .background {
        height: 800px;
    }

    .section-greeting .title {
        font-size: 35px;
    }

    .section-greeting .text {
        font-size: 36px;
        line-height: 48px;
        word-break: keep-all;
    }

    .section-greeting .text br {
        display: none;
    }

    .section-overview {
        height: 800px;
    }

    .section-overview .background {
        height: 800px;
    }

    .section-overview .ui-inner {
        width: 100% !important;
        padding: 0 20px;
    }

    .section-overview .text {
        font-size: 36px;
        line-height: 48px;
        word-break: keep-all;
    }

    .section-overview .text br {
        display: none;
    }

    .section-goal {
        height: auto;
    }

    .section-goal .background-text {
        height: 141px;
        top: 93px;
    }

    .section-goal .ui-inner {
        justify-content: normal;
        padding: 140px 20px 72px;
    }

    .section-goal .block {
        justify-content: normal;
        flex-direction: column-reverse;
    }

    .section-goal .image {
        width: 100%;
        height: auto;
        margin: 0 auto;
        max-width: 400px;
    }

    .section-goal .text {
        margin-top: 30px;
        font-size: 24px;
        line-height: 36px;
    }

    .section-goal .text br {
        display: none;
    }

    .section-goal .description {
        font-size: 24px;
        line-height: 36px;
      word-break: keep-all
    }

    .section-philosophy .ui-inner {
        padding: 0 40px;
    }

    .section-philosophy .title {
        font-size: 36px;
        line-height: 48px;
    }

    .section-philosophy .text {
        font-size: 24px;
        line-height: 40px;
        word-break: keep-all;
    }

    .section-philosophy .block.is-active {
        height: 820px;
    }

    .section-philosophy .block.is-active .title {
        height: 64px;
        font-size: 48px;
        line-height: 64px;
    }

    .section-value .ui-inner {
        padding: 100px 20px;
        min-width: auto;
    }

    .section-value ul {
        flex-direction: column;
        height: auto;
        background: none;
        gap: 30px;
    }

    .section-value .alphabet {
        font-size: 160px;
        color: transparent !important;
        -webkit-text-stroke: 2px #002f87;
    }

    .section-value .badge {
        padding: 5px 30px;
        font-size: 24px;
        font-weight: 700;
        color: #fff !important;
        line-height: 36px;
        background: #002f87 !important;
        border-radius: 23px;
    }

    .section-value .title {
        margin-top: 10px;
        font-size: 36px;
        color: #000;
        line-height: 48px;
    }

    .section-value .text {
        height: 108px !important;
        margin-top: 10px;
        font-size: 28px;
        color: #000;
        line-height: 36px;
    }

    .section-value li.is-active {
        background: none;
    }

    .section-hero {
        height: 300px;
    }

    .section-shortcut .ui-inner {
        align-items: flex-start;
        padding: 30px 20px;
        overflow-y: scroll;
    }

    .section-shortcut ul {
        width: max-content;
    }

    .section-shortcut li {
        flex: auto;
    }

    .section-shortcut a {
        padding: 15px 20px;
        font-size: 18px;
        line-height: 28px;
    }

    .section-system .ui-inner {
        padding: 60px 20px;
    }

    .block-intro {
        padding: 0;
    }

    .block-intro .sub-title {
        font-size: 16px;
        line-height: 24px;
        border-radius: 18px;
    }

    .block-intro h3 {
        font-size: 32px;
        line-height:38px;
    }

    .block-intro .text {
        font-size: 16px;
        line-height: 24px;
    }

    .block-background {
        height: 400px;
        margin-top: 60px;
    }

    .list-step {
        display: flex;
        flex-direction: column;
        width: 100%;
        padding: 0 20px;
        gap: 110px;
    }

    .list-step li:not(:first-child)::before {
        top: -80px;
        left: 50%;
        transform: translateX(-50%) rotate(90deg);
    }

    .list-step li:nth-child(3n + 1)::before {
        display: block;
    }

    .list-step .card {
        padding: 20px;
    }

    .list-step .image {
        height: 226.67px;
    }

    .list-step .badge {
        margin-top: 20px;
        font-size: 16px;
    }

    .list-step .box-text {
        width: 100%;
    }

    .list-step .title {
        margin-top: 10px;
        font-size: 20px;
        line-height: 32px;
    }

    .list-step .text {
        margin-top: 10px;
        font-size: 16px;
        line-height: 24px;
    }

    .list-step li.is-full .card {
        flex-direction: column;
    }

    .list-step li.is-full .image {
        width: 100%;
        height: 226.67;
    }

    .section-water .ui-inner {
        padding: 60px 20px 30px;
    }

    .section-water .list-step {
        width: calc(100% - 40px);
        padding: 0;
        background: none;
        gap: 160px;
    }

    .section-water .list-step .group-text {
        display: block;
        width: auto;
        height: auto;
        position: static;
        margin-top: 10px;
        padding: 0;
        background: none;
    }

    .section-water .list-step .group-text .title {
        font-size: 18px;
        color: #333;
        line-height: 28px;
    }

    .section-water .list-step .group-text .title:nth-child(n + 2) {
        margin-top: 10px;
    }

    .section-water .list-step .group-text .text {
        font-size: 16px;
        color: #333;
        line-height: 24px;
    }

    .section-water .list-step li:not(:first-child)::before {
        top: -105px;
        left: 12px;
        border-color: #cfcfcf;
        transform: rotate(90deg);
        background-image: url("../images/icon_chevron_right.png");
        background-color: #fff;
    }

    .section-water .list-step li:nth-child(3)::before {
        display: block;
    }

    .section-water .list-step li:nth-child(2n)::after {
        display: none;
    }

  .section-water .list-step li:not(:first-child)::after {display: none;}
    .list-step .speech-bubble {
        width: calc(100% - 106px);
        height: 100px;
        top: -130px;
        right: 0;
        left: auto;
        padding: 0 10px;
        font-size: 16px;
        line-height: 20px;
        border-radius: 30px;
    }

    .list-step .speech-bubble::before {
        top: 50%;
        left: -35px;
        transform: translateY(-50%) rotate(-90deg);
    }

    .list-step li:nth-child(3) .speech-bubble {
        background: #4696ff;
    }
    .list-step li:nth-child(3) .speech-bubble::before {
        background-image: url("../images/icon_bubble_tail_sky.png");
    }

    .list-step li:nth-child(4) .speech-bubble {
        background: #1946b9;
    }

    .list-step li:nth-child(4) .speech-bubble::before {
        background-image: url("../images/icon_bubble_tail_blue.png");
    }

    .section-water .list-step .card {
        padding: 30px;
        background: #fff;
    }

    .section-water .list-step .image {
        height: 240px;
    }

    .section-slider {
        padding: 0 40px;
        background: #f7f8fd;
    }

    .section-slider .ui-inner {
        padding: 0 0 60px;
    }

    .main-swiper {
        display: none;
    }

    .thumb-swiper {
        width: 100%;
        margin: 0;
    }

    .thumb-swiper .swiper-wrapper {
        flex-direction: column;
        padding: 0;
        gap: 30px;
    }

    .section-slider.water .thumb-swiper .swiper-slide {
        width: 100% !important;
    }

    .thumb-swiper .card {
        height: auto;
        background: #fff;
    }

    .thumb-swiper .thumbnail {
        height: 240px;
    }

    .thumb-swiper .title {
        font-size: 24px;
        text-align: left;
        color: #002f87;
        line-height: 36px;
    }

    .thumb-swiper .text {
        display: block;
        margin-top: 10px;
        font-size: 16px;
        line-height: 24px;
    }

    .section-slider.water .thumb-swiper .swiper-slide-thumb-active {
        width: 100% !important;
    }

    .section-slider.water .thumb-swiper .swiper-slide-thumb-active .thumbnail {
        display: block;
    }

    .section-slider.water .thumb-swiper .swiper-slide-thumb-active .card {
        background: #fff;
    }

    .section-slider.water .thumb-swiper .swiper-slide-thumb-active .title {
        margin-top: 20px;
        font-size: 24px;
    }

    .section-slider.water .thumb-swiper .swiper-slide-thumb-active .title br {
        display: block;
    }

    .section-slider.water .thumb-swiper .swiper-slide-thumb-active .text {
        display: block;
    }

    .section-quality .ui-inner {
        padding: 60px 20px 30px;
    }

    .list-summary {
        display: flex;
        flex-direction: column;
        width: 100%;
        padding: 0 20px;
    }

    .list-summary .title {
        text-align: left;
    }

    .list-summary .text {
        display: block;
        width: 100%;
        height: auto;
        position: static;
        margin-top: 10px;
        padding: 0;
        font-size: 16px;
        color: #333;
        line-height: 24px;
        background: none;
    }

    .section-slider.quality .thumb-swiper .swiper-slide {
        width: 100% !important;
        margin: 0 !important;
    }
    .section-slider.quality .thumb-swiper .card {
        height: auto;
    }

    .section-slider.quality .thumb-swiper .thumbnail {
        height: 296px;
    }

    .section-slider.quality .thumb-swiper .title {
        padding: 0 20px;
    }

    .section-slider.quality .thumb-swiper .swiper-slide-thumb-active .card {
        background: #fff;
    }

    .section-slider.quality .thumb-swiper .swiper-slide-thumb-active .thumbnail {
        height: 296px;
    }

    .section-slider.quality .thumb-swiper .swiper-slide-thumb-active .title {
        color: #002f87;
    }

    .section-cleanroom .ui-inner {
        padding: 60px 20px 30px;
    }

    .section-cleanroom .list-summary {
        padding: 0 20px;
    }

    .section-cleanroom .list-summary li {
        padding: 20px;
    }

    .section-cleanroom .list-summary .image {
        height: 240px;
    }

    .section-cleanroom .list-summary .title {
        margin-top: 20px;
    }

    .section-slider.cleanroom .thumb-swiper .swiper-wrapper {
        gap: 30px;
    }

    .section-slider.cleanroom .thumb-swiper .swiper-slide {
        width: 100% !important;
    }

    .section-slider.cleanroom .thumb-swiper .card {
        height: auto;
    }

    .section-slider.cleanroom .thumb-swiper .swiper-slide-thumb-active .card {
        background: #fff;
    }

    .section-slider.cleanroom .thumb-swiper .swiper-slide-thumb-active .title {
        color: #002f87;
    }

    .section-location .block-map {
        height: 650px;
    }

    .section-location .box-text {
        position: static;
        padding: 40px 20px 80px;
        border: none;
        transform: none;
        inset: 0;
    }

    .section-location .ui-button-primary {
        width: 100%;
        margin-top: 30px;
    }
}

@media screen and (max-width:768px){
  .section-goal .description br {display: none}
  .section-goal .description strong {display: block;margin-top: 30px;}
}


