@media (max-width: 769px) {
    .s1 .center_box>div img {
        width: 90%;
    }
    .s2 {
        display: none;
    }
    .s2m {
        display: block;
    }
    .s2m .bot_box {
        position: relative;
        height: 80dvh;
        justify-items: end;
    }
    .s2m .bot_box div {
        display: grid;
        width: 70%;
        padding: 40px;
        gap: 20px;
    }
    .s2m .bot_box div h2 {
        font-size: clamp(26px, 3vw, 36px);
        color: #fff;
        letter-spacing: 10px;
        font-weight: 500;
    }
    .s2m .s2bgimg {
        position: absolute;
        max-width: 400px;
        left: -50px;
        bottom: 0;
        z-index: 0;
    }
    .s2m .s2mimg {
        position: relative;
        z-index: 1;
        padding: 50px;
        width: 70%;
    }
    .s3 .bot_box div {
        justify-items: end;
    }
    .s3 .bot_box>img {
        left: 0;
    }
    .s3 .bot_box .text_box {
        width: 70%;
        flex-direction: column;
        gap: 10px;
        align-items: start;
        padding: 30px 0;
    }
    .s3 .bot_box .text_box div,
    .s6 .bot_box .text_box div {
        width: 100%;
        height: 1px;
    }
    .s5 {
        padding: 0;
    }
    .s5-outside {
        display: block;
        margin: 0;
    }
    .s5 .right_box {
        height: 80dvh;
        flex-direction: column;
        padding: 40px 20px;
        padding-bottom: 0;
    }
    .s5 .right_box div {
        position: relative;
    }
    .s5 .right_box div>img {
        transform: unset;
    }
    .s5bgimg {
        display: block;
        position: relative;
        width: 50%;
        left: -100px;
        bottom: 0;
    }
    .s4 div img,
    .s8 div img {
        width: 80%;
        margin: 0 auto;
    }
    .team-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .member-info {
        position: static;
        padding: 8px 0;
        text-align: center;
        background: none;
        color: #000;
    }
    .overlay-m {
        display: block;
    }
    .s4 {
        position: relative;
        aspect-ratio: 18 / 28;
        background: url(../images/mobile/s4-bg.webp);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }
    .s6 .top_box>img:nth-child(2) {
        position: unset;
        padding-left: 20px;
        width: 90%;
        max-width: 600px;
    }
    .s6 .bot_box .text_box {
        gap: 15px;
        align-items: start;
        flex-direction: column;
    }
    .s6 .bot_box>div {
        width: 70%;
    }
    .s7 .s7top {
        margin-top: 0px;
        padding-top: 50px;
    }
    .s7 .s7top {
        flex-direction: column-reverse;
        align-items: center;
    }
    .s7 .s7top .s7top2 {
        width: 80%;
    }
    .s7 .s7top .s7top1 {
        width: 80%;
        z-index: 1;
    }
    .s7 .text_box {
        width: 100%;
        padding: 30px 0;
        padding-right: 20px;
    }
    .s7 .s7bot {
        flex-direction: column;
        align-items: start;
    }
    .s7 .s7bot1 {
        width: 80%;
        height: auto;
    }
    .s7 .s7top .s7bot2 {
        width: 70%;
        text-align: right;
        margin: auto;
    }
    .s7 .newstyle {
        width: 76%;
        top: 50%;
        left: 26%;
    }
    .s7::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
    }
    .s8 {
        position: relative;
        aspect-ratio: 18 / 28;
        background: url(../images/mobile/s8-bg.webp);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }
    .s4 div,
    .s8 div {
        position: absolute;
        top: 30%;
    }
    .s9 {
        aspect-ratio: 1772/2992;
        background: url(../images/mobile/s9-bg2.webp);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }
    .s9 .outside>div {
        position: absolute;
        right: 0;
        top: 5vh;
        width: 70%;
        max-width: 700px;
    }
    .s9 .outside>div .text_box {
        padding-left: 0px;
    }
    .s10 {
        display: none;
    }
    .s10m {
        display: block;
        width: 100%;
        padding: 80px 0;
        background: url(../images/desktop/s10bg1.jpg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        justify-self: end;
    }
    .s10-grid {
        display: grid;
        grid-template-columns: 235px 1fr;
        grid-template-rows: auto auto;
        gap: 10px 10px;
        max-width: 768px;
        margin: auto;
    }
    .s10-left {
        grid-column: 1;
        grid-row: 1;
        display: flex;
        justify-content: flex-end;
    }
    .s10-right {
        grid-column: 2;
        grid-row: 1;
    }
    .s10-empty {
        grid-column: 1;
        grid-row: 2;
    }
    .s10-bottom {
        grid-column: 2;
        grid-row: 2;
        padding: 30px 0;
        padding-right: 30px;
    }
    .s10-bottom h2,
    .s10-bottom-2 h2 {
        font-size: 32px;
        margin-bottom: 20px;
        color: #173e53;
    }
    .s10-bottom div,
    .s10-bottom-2 div {
        width: 100%;
        height: 1px;
        background-color: rgb(62, 58, 57);
        margin-bottom: 20px;
    }
    .s10-bottom p,
    .s10-bottom-2 p {
        font-size: 18px;
        line-height: 1.8;
        max-width: 768px;
        color: rgb(62, 58, 57);
        margin: auto;
    }
    .s10-left img {
        width: 40%;
        height: auto;
        display: block;
    }
    .s10-right img {
        width: 100%;
        height: auto;
        display: block;
    }
    .s10-right-2 img {
        width: 50%;
        height: auto;
        display: block;
    }
    .s10-left-2 img {
        width: 100%;
        height: auto;
        display: block;
    }
    .s10m .s10mtopleft {
        width: 20%;
        max-width: 400px;
    }
    .s10m .s10mtopright {
        width: 80%;
        max-width: 400px;
    }
    .s10-grid-2 {
        display: grid;
        grid-template-columns: 430px 1fr;
        grid-template-rows: auto auto;
        gap: 10px 10px;
        max-width: 768px;
        margin: auto;
    }
    .s10-left-2 {
        grid-column: 1;
        grid-row: 1;
    }
    .s10-right-2 {
        grid-column: 2;
        grid-row: 1;
    }
    .s10-bottom-2 {
        grid-column: 1;
        grid-row: 2;
        text-align: end;
        padding: 30px 0;
        padding-left: 30px;
    }
    .s10-mob {
        display: block;
        background: url(../images/desktop/s10bg1.jpg);
        background-position: center;
        background-size: cover;
        width: 100%;
        padding: 50px 0;
        display: flex;
        flex-direction: column;
        gap: 100px;
    }
    .s10-mob .top_box,
    .s10-mob .bot_box {
        width: 100%;
        display: flex;
        gap: 20px;
    }
    .s10-mob .top_box .left_box,
    .s10-mob .bot_box .right_box {
        width: 30%;
        display: flex;
        justify-content: end;
    }
    .s10-mob .bot_box .right_box {
        justify-content: start;
    }
    .s10-mob .top_box .left_box>div,
    .s10-mob .bot_box .right_box>div {
        width: 80%;
        max-width: 150px;
    }
    .s10-mob .top_box .right_box,
    .s10-mob .bot_box .left_box {
        width: 70%;
    }
    .s10-mob .bot_box .left_box {
        display: flex;
        flex-direction: column;
        align-items: end;
    }
    .s10-mob .top_box .right_box .text_box,
    .s10-mob .bot_box .left_box .text_box {
        display: flex;
        margin-top: 20px;
        flex-direction: column;
        gap: 10px;
        width: 90%;
        max-width: 450px;
    }
    .s10-mob .top_box .right_box .text_box h2,
    .s10-mob .bot_box .left_box .text_box h2 {
        color: #176278;
        font-weight: 500;
        letter-spacing: 3px;
        font-size: clamp(19px, 3vw, 30px);
    }
    .s10-mob .bot_box .left_box .text_box h2 {
        text-align: end;
    }
    .s10-mob .top_box .right_box .text_box p,
    .s10-mob .bot_box .left_box .text_box p {
        color: rgb(62, 58, 57);
        /* letter-spacing: 1px; */
        text-align: justify;
        font-weight: 300;
        line-height: 200%;
        font-size: clamp(15px, 1vw, 16px);
    }
    .s10-mob .fixswiper {
        display: block;
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }
    .s11 {
        grid-template-columns: unset;
    }
    .s11 .logos {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }
    .s12 {
        aspect-ratio: unset;
        padding: 20px;
    }
    .s12 .center_box {
        padding-top: 100px;
    }
    .s12 .fb {
        width: 50%;
        vertical-align: middle;
    }
    .form-row {
        flex-direction: column;
    }
    .phone.info-item p {
        font-size: 14px;
    }
    .s12 .center_box>.s12top p {
        font-size: 1rem;
    }
    .s2-mob {
        display: block;
        width: 100%;
        /* background-color: #043a50; */
        /* height: 100dvh; */
        position: relative;
        background: url(../images/desktop/s7bg.webp);
        background-position: top left;
        background-repeat: no-repeat;
        background-size: cover;
        /* z-index: 0; */
    }
    .s2-mob .top_box {
        position: relative;
        /* width: 100%;
    height: 50%; */
    }
    /* .s2-mob .top_box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  } */
    .s2-mob .bot_box {
        padding: 60px 40px 100px 40px;
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: end;
        width: 100%;
        height: 50%;
        max-width: 600px;
        margin: 0 auto;
        z-index: 999;
        gap: 80px;
    }
    .s2-mob .bot_box>div {
        width: 90%;
        max-width: 400px;
        display: flex;
        flex-direction: column;
        gap: 15px;
    }
    .s2-mob .bot_box>div h2 {
        color: #fff;
        font-weight: 400;
        letter-spacing: 4px;
        font-size: clamp(23px, 3vw, 35px);
        line-height: 130%;
    }
    .s2-mob .bot_box>div p {
        font-size: clamp(15px, 1vw, 20px);
        color: #fff;
        letter-spacing: 1px;
        font-weight: 300;
        text-align: justify;
        line-height: 200%;
    }
    .s2-mob .bot_box>div hr {
        border-color: #ffffff48;
    }
    .s2-mob .decorate {
        position: absolute;
        left: -15%;
        bottom: 50px;
        width: 70%;
        max-width: 400px;
        z-index: 1;
        opacity: 0.5;
    }
}

@media (max-width: 769px) {
    .project-info {
        grid-template-columns: repeat(1, 1fr);
    }
}

@media (min-width: 769px) {
    .overlay-d {
        display: block;
    }
}

@media (max-width: 430px) {
    p {
        letter-spacing: 1px;
        font-size: clamp(12px, 1vw, 16px);
    }
    hr {
        border-color: #ffffff48;
    }
    .mobnone {
        /* display: none; */
    }
    .s1 .top_nav img {
        max-width: 20px;
    }
    .case_name {
        position: absolute;
        bottom: 5px;
        right: 10px;
        color: #fff;
        font-size: 6px;
        letter-spacing: 1px;
    }
    .s1 {
        width: 100%;
        height: 100dvh;
        background: url(../images/mobile/012bg.webp);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }
    .s1 .center_box>div img {
        width: 75%;
        /* margin-top: 180px; */
    }
    .s1 .center_box>img {
        width: 30%;
        max-width: 60px;
    }
    .s1 .top_nav {
        position: absolute;
        top: 15px;
        right: 10px;
        display: flex;
        flex-direction: row;
        align-items: center;
        z-index: 5;
    }
    .s1 .top_nav p {
        color: #fff;
        margin-right: 10px;
        font-size: 14px;
        font-weight: 500;
    }
    .s1 .center_box>div h2 {
        font-size: clamp(24px, 3vw, 30px);
        letter-spacing: 2px;
    }
    .fix {
        position: relative;
    }
    .s2-mob .bot_box {
        align-items: center;
    }
    .s2-mob .bot_box>div h2 {
        letter-spacing: 3px;
    }
    .s2-mob .bot_box>div {
        width: 100%;
    }
    .s3 .bot_box .text_box {
        width: 100%;
    }
    .s3 .bot_box>img {
        top: 0px;
    }
    .s3 .bot_box .text_box h2 {
        font-weight: 400;
        letter-spacing: 4px;
        font-size: clamp(23px, 3vw, 35px);
        line-height: 130%;
    }
    .s3 .bot_box .text_box p {
        font-size: clamp(15px, 1vw, 20px);
        font-weight: 300;
        line-height: 200%;
    }
    .s4 {
        height: 100dvh;
        aspect-ratio: unset;
        background: url(../images/mobile/s4m-bg.webp);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }
    .s4 div {
        gap: 34px;
    }
    .s5 .right_box div {
        width: 84%;
        gap: 15px;
        padding-top: 28px;
    }
    .s5 .right_box div h2 {
        font-size: clamp(23px, 3vw, 35px);
        color: #fff;
        letter-spacing: 3px;
        font-weight: 400;
        line-height: 130%;
        margin-top: 10px;
    }
    .s5 .right_box div p {
        letter-spacing: 1px;
        line-height: 200%;
        font-weight: 300;
        font-size: clamp(15px, 1vw, 20px);
    }
    .s5 .right_box div *:not(img) {
        margin-left: 0px;
    }
    .s5 .right_box {
        height: auto;
        padding: 10px 10px;
    }
    .s5 .right_box {
        height: auto;
        padding: 10px 10px;
    }
    .s5bgimg {
        left: -63px;
        bottom: 41px;
        width: 63%;
    }
    .s5 .right_box div>img {
        width: 82%;
    }
    .s6 .bot_box .text_box h2 {
        font-size: clamp(23px, 3vw, 35px);
        color: #fff;
        letter-spacing: 4px;
        font-weight: 400;
        line-height: 130%;
        padding-top: 10px;
    }
    .s6 .top_box>img:nth-child(2) {
        margin: 0 auto;
    }
    .s6 .bot_box .text_box p {
        letter-spacing: 1px;
        font-weight: 300;
        line-height: 200%;
        font-size: clamp(15px, 1vw, 20px);
    }
    .s6 .bot_box .text_box {
        gap: 10px;
        width: 84%;
        margin: 0 auto;
    }
    .s6 .bot_box>div {
        width: 100%;
    }
    .s6 .bot_box {
        padding: 10px;
        padding-bottom: 55px;
    }
    .s7 .s7top {
        margin-top: 0px;
        padding-top: 40px;
    }
    .s7 .text_box {
        padding-top: 0;
        padding-right: 0px;
        text-align: center;
        /* justify-items: center; */
    }
    .s7 .s7top .s7top1 .text_box {
        padding: 0 10px 30px 10px;
    }
    .s7 .text_box {
        min-width: 75%;
    }
    .s7 .s7top .s7top1 {
        padding-right: 0;
        justify-items: center;
    }
    .s7 .s7bot2 {
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .s7 .s7bot2 .text_box {
        width: 75%;
        padding: 0px;
        position: relative;
        z-index: 1;
    }
    .s7 .s7top .s7top2,
    .s7 .s7bot .s7bot1 {
        width: 75%;
    }
    .s7bgimg {
        width: 50%;
    }
    .s7 .s7bot {
        flex-direction: column;
        align-items: center;
    }
    .fade-in-box.visible.s7bgimg {
        width: 70%;
        z-index: 0;
        bottom: 13px;
        right: -55px;
        opacity: 0.5;
    }
    .s7 .newstyle {
        position: absolute;
        z-index: 2;
        width: 88%;
        top: 45%;
        right: 10px;
        left: unset;
    }
    .s7 .text_box h2 {
        font-size: clamp(22px, 3vw, 35px);
        letter-spacing: 4px;
        font-weight: 400;
        line-height: 130%;
        padding-top: 18px;
        margin-bottom: 15px;
        text-align: start;
        color: #176278;
    }
    .s7 .text_box p {
        letter-spacing: 1px;
        line-height: 200%;
        font-weight: 300;
        font-size: clamp(15px, 1vw, 20px);
    }
    .s8 {
        height: 100dvh;
        aspect-ratio: unset;
        background: url(/images/mobile/s8m-bg.webp);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }
    .s8 div img {
        width: 100%;
    }
    .s8 div {
        gap: 30px;
    }
    .s10-mob .bot_box {
        flex-direction: row-reverse;
    }
    .s10-mob .bot_box .right_box {
        justify-content: end;
    }
    .s10-mob .bot_box .left_box {
        align-items: start;
    }
    .s10-mob .bot_box .left_box .text_box h2 {
        text-align: start;
    }
    .s10-mob .top_box .right_box .text_box h2,
    .s10-mob .bot_box .left_box .text_box h2 {
        font-weight: 400;
    }
    .s11 .s11left {
        padding: 0px 20px;
        padding-top: 53px;
        padding-bottom: 50px;
    }
    .s11 .s11title {
        width: 90%;
    }
    .s11 .s11left .text_box h2 {
        font-size: clamp(23px, 3vw, 35px);
        letter-spacing: 3px;
        font-weight: 400;
        line-height: 26px;
        padding-top: 15px;
        margin-bottom: 15px;
        color: #176278;
    }
    .s11 .s11left .text_box p {
        letter-spacing: 1px;
        font-size: clamp(15px, 1vw, 20px);
        font-weight: 300;
        line-height: 200%;
    }
    .s11 .s11left .text_box {
        gap: 12px;
        width: 84%;
    }
    .s11 .logos .logo p {
        font-size: 10px;
    }
    .s11 .logos .logo img {
        margin-bottom: 10px;
    }
    .s12bot {
        margin: 4px auto;
    }
    .s12 .privacy-text-container {
        width: 100%;
        margin: 0 auto;
    }
    .s12 .center_box>div h2 {
        margin-top: 0px;
    }
    .s12 .privacy-text {
        text-align: start;
    }
    .s9 .outside>div {
        top: 1vh;
    }
    .s9 .outside>div {
        top: 1vh;
        width: 88%;
    }
    .s9 .outside>div .text_box h2 {
        font-size: clamp(20px, 3vw, 36px);
        letter-spacing: 4px;
        font-weight: 400;
        line-height: 120%;
    }
    .s9 .outside>div .text_box p {
        font-size: clamp(15px, 1vw, 20px);
        font-weight: 300;
        line-height: 200%;
    }
    .s9 .outside>div .text_box {
        gap: 10px;
        width: 86%;
    }
    .s11 .logos .logo {
        width: 70%;
        max-width: 200px;
        margin: 0 auto;
        justify-items: center;
    }
    .info-item h3,
    .info-item p {
        font-size: 0.8rem;
    }
    .s11 .logos .logo {
        width: 90%;
    }
    .s12 .custom-form P.privacy-text {
        text-align: start;
    }
    .s1 .center_box>div h2.subtitleletter,
    .s12 .center_box>div p.subtitleletter {
        letter-spacing: 5px;
    }
}