@media screen and (max-width: 1280px) {
    .ul-listb1,
    .ul-listb2,
    .ul-about03 {
        margin-left: 0;
        margin-right: 0;
    }

    .ul-listb1 li,
    .ul-listb2 li,
    .ul-about03 li {
        padding-left: 0;
        padding-right: 0;
    }

    .row-about03 {
        padding-left: 0;
        padding-right: 0;
    }
}

@media screen and (min-width: 801px) and (max-width: 1280px) {
    html,
    body,
    .header {
        min-width: 0;
    }

    body {
        overflow-x: hidden;
    }

    .wp1,
    .wp2,
    .wp3 {
        max-width: none;
        padding-left: 32px;
        padding-right: 32px;
    }

    .row-news-page .news-category-wrap {
        padding-left: 0;
        padding-right: 0;
    }

    .row-news-page .news-category-wrap > .list {
        position: relative;
        border-top: 0;
    }

    .row-news-page .news-category-wrap > .list::before {
        content: "";
        position: absolute;
        top: 0;
        left: 32px;
        right: 32px;
        height: 1px;
        background: #e8e8e8;
        pointer-events: none;
    }

    .row-news-page .news-category-wrap .slick-service-1 {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 30px 40px;
        margin-left: 0;
        margin-right: 0;
        padding-left: 40px;
        padding-right: 40px;
    }

    .row-news-page .news-category-wrap .slick-service-1 .item {
        float: none;
        width: auto;
        padding-left: 0;
        padding-right: 0;
        margin-bottom: 0;
    }

    .header .wp3 {
        display: block;
        max-width: 1920px;
        padding-left: clamp(32px, 4.6875vw, 60px);
        padding-right: clamp(32px, 4.6875vw, 60px);
    }

    .header .logo {
        float: left;
    }

    .header .hd-right {
        float: right;
    }

    .header .hdr {
        display: block;
        text-align: center;
    }

    .header .nav {
        display: inline-block;
        white-space: nowrap;
    }

    .header .nav li {
        margin-left: clamp(18px, 2.5vw, 32px);
        margin-right: clamp(18px, 2.5vw, 32px);
    }

    .header .nav .v1 {
        padding: 0;
    }

    .page-service,
    .service-main {
        min-width: 0;
        overflow-x: hidden;
    }

    .row-inner {
        padding-top: 72px;
        padding-bottom: 108px;
    }

    .m-products .top .info .left,
    .m-products .top .info .right,
    .fd-t .left,
    .fd-t .right {
        float: none;
    }

    .g-tab-con .top {
        padding-bottom: 44px;
    }

    .row-work-page .m-work .top .wp2.fix,
    .row-news-page .m-work .top .wp2.fix {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
        justify-content: space-between;
        gap: 28px;
    }

    .row-work-page .m-work .top .g-tit01,
    .row-news-page .m-work .top .g-tit01,
    .row-work-page .m-work .top .right,
    .row-news-page .m-work .top .right {
        float: none;
    }

    .row-work-page .m-work .top .right,
    .row-news-page .m-work .top .right {
        min-width: max-content;
        flex: 0 1 auto;
        display: flex;
        justify-content: flex-end;
    }

    .row-work-page .m-work .top .ul-list5,
    .row-news-page .m-work .top .ul-list5 {
        padding-top: 0;
        display: flex;
        align-items: flex-end;
        justify-content: flex-end;
        gap: clamp(24px, 4vw, 56px);
        white-space: nowrap;
    }

    .row-work-page .m-work .top .ul-list5 a,
    .row-news-page .m-work .top .ul-list5 a {
        margin-left: 0;
    }

    .row-work-page .m-work .top .g-tit01,
    .row-news-page .m-work .top .g-tit01 {
        flex: 0 1 auto;
    }

    .service-title-row.wp3 {
        max-width: none;
        padding: 72px 32px 44px;
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
        justify-content: space-between;
        gap: 28px;
    }

    .service-title-copy {
        line-height: 0;
    }

    .service-title-cn {
        font-size: 70px;
        line-height: .95;
    }

    .service-title-en {
        margin-top: 10px;
        font-size: 48px;
        line-height: .9;
    }

    .service-tabs {
        min-width: max-content;
        margin: 0;
        padding-bottom: 0;
        flex: 0 1 auto;
        display: flex;
        align-items: flex-end;
        justify-content: flex-end;
        gap: clamp(24px, 4vw, 56px);
        overflow: visible;
        white-space: nowrap;
    }

    .service-tabs a {
        height: auto;
        min-height: 48px;
        padding: 0;
        line-height: 48px;
    }

    .service-tabs a.on {
        padding: 0 20px;
    }

	.anli_index .ban.in1 {
	    position: relative;
	    top: auto;
	    left: 0;
	    right: 0;
	    width: 100%;
	    max-width: none;
	    height: 700px;
	    min-height: 700px;
	    margin: 0;
	    overflow: hidden;
	    background: none;
	}

	.anli_index .ban.in1 img {
	    width: 100%;
	    height: 100%;
	    min-height: 700px;
	    display: block;
	    object-fit: cover;
	    object-position: center center;
	}

    .anli_index .ban-placeholder {
        display: none;
        height: 0;
    }

    .products-list-1 {
        column-gap: 28px;
        row-gap: 56px;
    }

    .row-a1 .products-list {
        column-gap: 32px;
        row-gap: 72px;
    }

    .m-products .top {
        margin-bottom: 72px;
    }

    .m-products .top .info {
        display: grid;
        gap: 22px;
    }

    .g-tip-f01,
    .g-tip-f02 {
        display: flex;
        flex-wrap: wrap;
        gap: 12px 20px;
    }

    .g-tip-f02 {
        margin-top: 40px;
    }

    .g-tip-f01 .item,
    .g-tip-f02 .item {
        margin-right: 0;
    }

    .m-serve::after {
        width: 46vw;
        height: 46vw;
        right: -6vw;
        opacity: .45;
    }

    .m-serve {
        overflow: hidden;
    }

    .m-serve .inner {
        height: auto;
        min-height: 520px;
    }

    .m-news .slick-service,
    .slick-service-1 {
        width: auto;
        margin-left: 0;
        margin-right: 0;
    }

    .m-news .slick-service {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 34px;
        overflow: visible;
    }

    .m-news .slick-service .item {
        flex: none;
        width: auto;
    }

    .page-index .m-news .slick-service {
        display: inline-flex;
        flex-wrap: nowrap;
        align-items: flex-start;
        gap: 0;
        width: max-content;
        max-width: none;
        margin: 0 -300px 116px -30px;
        overflow: visible;
        cursor: grab;
        user-select: none;
        -webkit-user-select: none;
        touch-action: pan-y;
    }

    .page-index .m-news .slick-service .item {
        flex: 0 0 clamp(645px, 52.5vw, 750px);
        width: clamp(645px, 52.5vw, 750px);
        max-width: none;
    }

    .news-all-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 34px;
    }

    .news-all-card-large {
        grid-column: span 1;
    }

    .news-detail-wrap {
        grid-template-columns: minmax(0, 1fr);
        gap: 58px;
        margin-bottom: 108px;
    }

    .news-detail-side {
        position: static;
    }

    .service-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .service-process-list {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .service-process-item {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
    }

    .service-process-item .service-process-card,
    .service-process-item:nth-child(even) .service-process-card {
        order: 1;
    }

    .service-process-item .service-process-pic,
    .service-process-item:nth-child(even) .service-process-pic {
        order: 2;
    }

    .service-process-card {
        min-height: 0;
    }

    .ul-listb1 {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 36px 28px;
        margin: 0 0 72px;
        overflow: visible;
    }

    .ul-listb1 li {
        float: none;
        width: auto;
    }

    .ul-listb1 .con {
        margin: 0;
    }

    .ul-listb2 {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 36px;
        margin: 0;
        overflow: visible;
    }

    .ul-listb2 li {
        float: none;
        width: auto;
        padding: 0;
    }

    .ul-about03 {
        margin: 0;
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        align-items: center;
    }

    .ul-about03 li {
        width: auto;
        padding: 0 18px;
    }

    .m-about03 {
        display: flex;
        align-items: center;
        line-height: 1;
    }

    .m-about03 > .wp2 {
        width: 100%;
    }

    .ul-about03 .con {
        display: flex;
        min-height: 132px;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .ul-iconb2 {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 18px;
        margin: 0;
        overflow: visible;
    }

    .ul-iconb2 li {
        float: none;
        width: auto;
        margin-bottom: 0;
        padding: 0;
    }

    .ul-iconb1 {
        display: flex;
        flex-wrap: nowrap;
        gap: 0;
        margin: 0 calc(clamp(18px, 2.34375vw, 30px) * -1) 72px;
    }

    .ul-iconb1 li {
        float: none;
        flex: 0 0 33.33333333333%;
        width: 33.33333333333%;
        padding-left: clamp(18px, 2.34375vw, 30px);
        padding-right: clamp(18px, 2.34375vw, 30px);
    }

    .m-contact .wp2 {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

    .m-contact .g-tit01 {
        margin-bottom: 50px;
    }

    .m-infob2 {
        display: block;
        overflow: hidden;
    }

    .m-infob2 .right {
        float: right;
        width: clamp(360px, 37.5vw, 480px);
        margin-left: clamp(56px, 7.8125vw, 100px);
        overflow: visible;
    }

    .m-infob2 .left {
        float: none;
        width: auto;
        margin: 0;
        overflow: hidden;
    }

    .row-contact {
        max-width: none;
        padding: 0 32px;
    }

    .m-contact-map {
        height: auto;
        min-height: 640px;
        margin-bottom: 96px;
        padding: 56px 0 80px;
        background-size: cover;
    }

    .g-btn-contact.g-btn-contact-sumaart,
    .g-btn-contact.g-btn-contact-sumaart.is-expanded,
    .g-btn-contact.g-btn-contact-sumaart.is-collapsed {
        width: min(100%, 640px);
        height: 132px;
        padding: 0 44px;
        font-size: 48px;
        gap: 30px;
        border-width: 5px;
    }

    .footer > .wp3 {
        padding-left: 32px;
        padding-right: 32px;
    }

    .fd-logo {
        margin-bottom: 54px;
    }

    .fd-t {
        display: block;
        overflow: visible;
    }

    .fd-t .left,
    .fd-t .right {
        float: none;
        width: 100%;
    }

    .fd-t .right {
        margin-top: clamp(42px, 5.2vw, 68px);
    }

	.fd-t .left > .fd-nav {
	    display: grid;
	    grid-template-columns: minmax(86px, .7fr) minmax(92px, .76fr) minmax(92px, .76fr) minmax(240px, 1.32fr) minmax(86px, .7fr);
	    column-gap: clamp(18px, 3.2vw, 52px);
	    row-gap: 0;
	    align-items: start;
	}

    .fd-t .right > .fd-nav {
        display: block;
    }

    .fd-t .left > .fd-nav > li,
    .fd-t .left > .fd-nav > li:first-child,
    .fd-t .right > .fd-nav > li {
        float: none;
        width: auto;
        min-width: 0;
        margin-left: 0;
    }

	.fd-t .left > .fd-nav > li:nth-child(4) .sub.nowrap dd {
	    white-space: normal;
	    overflow-wrap: anywhere;
	}

    .fd-big-word {
        overflow: hidden;
    }

    .fd-big-word-text {
        font-size: 96px;
        letter-spacing: 0;
        transform: none;
        -webkit-transform: none;
    }
}

@media screen and (min-width: 801px) and (max-width: 980px) {
    .row-work-page .m-work .top .wp2.fix,
    .row-news-page .m-work .top .wp2.fix,
    .service-title-row.wp3 {
        align-items: flex-start;
        gap: 24px;
    }

    .row-work-page .m-work .top .g-tit01,
    .row-news-page .m-work .top .g-tit01,
    .row-work-page .m-work .top .right,
    .row-news-page .m-work .top .right,
    .service-title-copy,
    .service-tabs {
        flex: 0 0 100%;
    }

    .row-work-page .m-work .top .right,
    .row-news-page .m-work .top .right,
    .service-tabs {
        min-width: 0;
        justify-content: flex-start;
    }

    .row-work-page .m-work .top .ul-list5,
    .row-news-page .m-work .top .ul-list5,
    .service-tabs {
        justify-content: flex-start;
    }
}

@media screen and (max-width: 800px) {
	.pt {
	    padding-top: 64px;
	}

	.g-load-page img {
	    height: 63px;
	}

	.g-load-page .jvds-loader-logo-stage {
	    height: 63px;
	}

	.g-load-page .jvds-loader-logo-stage img {
	    height: 100%;
	}

	.wp1,
	.wp2,
	.wp3,
    .footer > .wp3 {
        padding-left: 18px;
        padding-right: 18px;
    }

    .g-tit01 h1,
    .g-tit01 h2 {
        margin-left: 0;
    }

    .g-tit01 .g-home-title {
        padding-left: 10px;
        font-size: 34px;
        line-height: 1.24;
    }

    .g-tit01 .g-home-title::before {
        width: 78px;
        height: 78px;
        left: -6px;
        top: -6px;
    }

    .g-tit01 .g-home-title span,
    .g-tit01 .g-code-title span {
        white-space: normal;
    }

    .g-tit01 .g-code-title {
        padding-left: 10px;
    }

    .g-tit01 .g-code-title-line {
        font-size: 38px;
        line-height: 1.08;
    }

    .g-tit01 .g-code-title-line::before {
        width: 44px;
        height: 44px;
        left: -4px;
        top: -4px;
    }

    .g-tit01 .g-code-title-stack::before {
        width: 72px;
        height: 72px;
        left: -5px;
        top: -5px;
    }

    .g-tit01 .g-code-title-stack .g-code-cn {
        font-size: 52px;
        line-height: 1;
    }

    .g-tit01 .g-code-title-stack .g-code-en {
        margin-top: 6px;
        font-size: 34px;
        line-height: 1;
    }

    .g-more,
    .row-a1 .g-more {
        width: 100%;
        max-width: 260px;
        height: 56px;
        line-height: 54px;
    }

    .g-more span,
    .row-a1 .g-more span {
        font-size: 17px;
        line-height: 54px;
    }

    .jvds-hero {
        min-height: 620px;
        height: 100svh;
        z-index: 3;
    }

    .jvds-hero-inner {
        inset: 0;
    }

    .jvds-hero-title {
        top: 44%;
        width: calc(100% - 36px);
    }

    .jvds-hero-actions {
        left: 18px;
        right: 18px;
        bottom: 74px;
        align-items: center;
    }

    .jvds-hero-quote {
        flex: 1 1 auto;
        min-width: 0;
        padding: 0 18px;
    }

    .jvds-hero-proof {
        display: none;
    }

    .jvds-hero-proof-text span {
        display: none;
    }

    .jvds-hero-down {
        display: none;
    }

    .row-a1 {
        padding: 82px 0 96px;
    }

    .m-products .top {
        margin-bottom: 52px;
    }

    .row-a1 .g-tip-f02 {
        margin-top: 40px;
    }

    .row-a1 .products-list {
        display: grid;
        grid-template-columns: 1fr;
        row-gap: 52px;
        padding-bottom: 44px;
    }

    .row-a1 .products-list .jvds-work-card {
        grid-column: 1 !important;
        margin: 0 !important;
    }

    .row-a1 .products-list .jvds-work-meta {
        gap: 12px;
    }

    .row-serve {
        margin-bottom: 92px;
    }

    .m-serve .bg {
        display: none;
    }

    .m-serve::after {
        display: block;
        width: min(76vw, 360px);
        height: min(69vw, 326px);
        position: absolute;
        left: 50%;
        right: auto;
        top: auto;
        bottom: -26px;
        margin: 0;
        opacity: 1;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
    }

    .m-serve .inner {
        min-height: 0;
        padding: 42px 24px min(82vw, 376px);
    }

    .m-serve .txt {
        max-width: none;
    }

    .m-serve h2.g-dark-title {
        margin-bottom: 18px;
        font-size: 32px;
    }

    .m-serve .item {
        line-height: 1.35;
        padding: 20px 0;
    }

    .m-serve .item .icon {
        width: 38px;
        margin-right: 16px;
    }

    .m-serve .item .icon img {
        width: 38px;
        height: 38px;
    }

    .m-serve .item h3 {
        font-size: 18px;
        line-height: 1.35;
    }

    .row-news {
        padding-bottom: 60px;
    }

    .m-news .top {
        margin-bottom: 34px;
    }

    .m-news .slick-service {
        display: grid;
        grid-template-columns: 1fr;
        gap: 30px;
        width: auto;
        margin: 0 0 64px;
        overflow: visible;
    }

    .m-news .slick-service .item {
        width: auto;
        flex: none;
    }

    .slick-service .con {
        margin: 0;
    }

    .slick-service .pic {
        margin-bottom: 16px;
    }

    .slick-service .txt {
        height: auto;
    }

    .slick-service .tit {
        margin-bottom: 12px;
        font-size: 18px;
        line-height: 1.45;
    }

    .page-index .m-news .slick-service {
        display: inline-flex;
        flex-wrap: nowrap;
        align-items: flex-start;
        gap: 0;
        width: max-content;
        max-width: none;
        margin: 0 -160px 0 0;
        overflow: visible;
        cursor: grab;
        user-select: none;
        -webkit-user-select: none;
        touch-action: pan-y;
    }

    .page-index .m-news .slick-service .item {
        flex: 0 0 min(82vw, 340px);
        width: min(82vw, 340px);
        max-width: none;
    }

    .page-index .m-news .slick-service .con {
        margin: 0 16px 0 0;
    }

    .g-tab-con .list {
        padding-top: 38px;
    }

    .g-tab-con .g-tit01,
    .g-tab-con .right {
        float: none;
    }

    .g-tab-con .right {
        margin-top: 34px;
    }

    .ul-list5 {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 22px 12px;
        padding-top: 0;
        overflow: visible;
        text-align: center;
        white-space: normal;
    }

    .ul-list5::-webkit-scrollbar {
        display: none;
    }

    .ul-list5 a {
        display: flex;
        min-width: 0;
        margin-left: 0;
        align-items: center;
        justify-content: center;
        text-align: center;
    }

    .ul-list5 li {
        width: 100%;
        text-align: center;
    }

    .ul-list5 .icon {
        margin-left: auto;
        margin-right: auto;
    }

    .ul-list5 .tit {
        display: block;
        text-align: center;
    }

    .row-work-page .ul-list5 a,
    .row-news-page .ul-list5 a {
        touch-action: manipulation;
        -webkit-tap-highlight-color: transparent;
    }

    .row-work-page .ul-list5 li:not(.on):hover .icon .img1,
    .row-news-page .ul-list5 li:not(.on):hover .icon .img1 {
        display: block;
    }

    .row-work-page .ul-list5 li:not(.on):hover .icon .img2,
    .row-news-page .ul-list5 li:not(.on):hover .icon .img2 {
        display: none;
    }

    .row-work-page .ul-list5 li:not(.on):hover .tit,
    .row-news-page .ul-list5 li:not(.on):hover .tit {
        color: #666;
    }

    .row-work-page {
        padding-bottom: 60px;
    }

    .row-news-page {
        padding-bottom: 40px;
    }

    .products-list-1 {
        grid-template-columns: 1fr;
        row-gap: 44px;
        margin-bottom: 54px;
    }

    .products-list-1 .con .pic {
        margin-bottom: 16px;
    }

    .products-list-1 .tit {
        margin-bottom: 8px;
        font-size: 18px;
        line-height: 1.35;
        white-space: normal;
    }

    .m-work .js-loading {
        margin-top: 54px;
        margin-bottom: 40px;
    }

    .ban {
        position: relative;
        height: auto;
        min-height: 0;
    }

    .ban img {
        position: relative;
        width: 100%;
        height: auto;
        min-height: 0;
        display: block;
        object-fit: contain;
    }

    .anli_index .ban.in1 {
        height: 600px;
        min-height: 600px;
        overflow: hidden;
    }

    .anli_index .ban.in1 img {
        width: 100%;
        height: 100%;
        min-height: 600px;
        object-fit: cover;
        object-position: center center;
    }

    .ban-placeholder {
        display: none;
        height: 0;
    }

    .ban .g-ban-top {
        width: 44px;
        height: 44px;
        margin-left: -22px;
        bottom: 12px;
        z-index: 3;
    }

    .m-work-detail {
        padding-top: 62px;
        margin-bottom: 92px;
    }

    .m-work-detail h1 {
        margin-bottom: 28px;
        font-size: 34px;
        line-height: 1.2;
    }

    .m-work-detail .desc {
        margin-bottom: 30px;
        font-size: 15px;
        line-height: 1.8;
    }

    .m-work-detail .info .left,
    .m-work-detail .info .right {
        float: none;
    }

    .m-work-detail .info .right {
        margin-top: 8px;
    }

    .m-work-detail .detail img {
        width: 100% !important;
        max-width: 100%;
        height: auto !important;
    }

    .ul-list7 {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
        margin: 0;
        overflow: visible;
    }

    .ul-list7 li {
        float: none;
        width: auto;
        padding: 0;
    }

    .ul-list7 li a {
        height: auto;
        min-height: 52px;
        padding: 14px 16px;
        line-height: 1.35;
        white-space: normal;
    }

    .row-work-more {
        padding-bottom: 96px;
    }

    .row-work-more .g-tit01 {
        margin-bottom: 54px;
    }

    .row-work-more .products-list-1 {
        margin-bottom: 72px;
    }

    .page-service .service-title-row.wp3 {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding-top: 64px;
        padding-left: 18px;
        padding-right: 18px;
        gap: 24px;
    }

    .page-service .service-title-copy,
    .page-service .service-tabs {
        width: 100%;
        flex: 0 0 auto;
    }

    .page-service .service-title-heading {
        padding-left: 10px;
    }

    .page-service .service-title-heading::before {
        width: 72px;
        height: 72px;
        left: -5px;
        top: -5px;
    }

    .page-service .service-title-cn {
        font-size: 46px;
        line-height: 1;
    }

    .page-service .service-title-en {
        margin-top: 6px;
        font-size: 30px;
        line-height: 1;
    }

    .page-service .service-tabs {
        margin-top: 0;
        padding-bottom: 0;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: flex-start;
        gap: 28px;
        overflow-x: auto;
        overflow-y: hidden;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .page-service .service-tabs::-webkit-scrollbar {
        display: none;
    }

    .page-service .service-tabs a {
        height: 48px;
        min-height: 48px;
        padding: 0;
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        font-size: 15px;
        line-height: 48px;
    }

    .page-service .service-tabs a.on {
        padding: 0 22px;
    }

    .page-service .service-hero-desc {
        width: auto;
        max-width: none;
        left: 20px;
        right: 20px;
    }

    .page-service,
    .service-main {
        overflow-x: hidden;
    }

    .service-card-grid,
    .service-process-list {
        grid-template-columns: 1fr;
    }

    .service-process-item {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
    }

    .service-process-item .service-process-card,
    .service-process-item:nth-child(even) .service-process-card {
        order: 1;
    }

    .service-process-item .service-process-pic,
    .service-process-item:nth-child(even) .service-process-pic {
        order: 2;
    }

    .page-service .service-process-card {
        padding-left: 0;
        align-items: flex-start;
        text-align: left;
    }

    .page-service .service-process-card h3,
    .page-service .service-process-card p {
        text-align: left;
    }

    .service-card {
        min-height: 0;
    }

    .service-cta-inner p {
        white-space: normal;
    }

    .m-about01 {
        margin-bottom: 78px;
    }

    .m-about01 > .desc {
        margin-bottom: 30px;
    }

    .m-about01 > .desc,
    .m-about01 > .desc p {
        text-align-last: auto;
        font-size: 15px;
        line-height: 1.8;
    }

    .m-about01 > .pic {
        min-height: 320px;
        overflow: hidden;
    }

    .m-about01 > .pic img {
        width: 100%;
        min-height: 320px;
        object-fit: cover;
    }

    .m-about02 {
        margin-bottom: 82px;
    }

    .m-about02 .g-tit01 {
        margin-bottom: 46px;
    }

    .ul-listb1,
    .ul-listb2 {
        display: grid;
        grid-template-columns: 1fr;
        margin: 0;
        overflow: visible;
    }

    .ul-listb1 {
        gap: 40px;
        margin-bottom: 60px;
    }

    .ul-listb2 {
        gap: 60px;
    }

    .ul-listb1 li,
    .ul-listb2 li {
        float: none;
        width: auto;
        padding: 0;
    }

    .ul-listb1 .con {
        margin: 0;
    }

    .ul-listb2 .pic {
        height: auto;
        aspect-ratio: 16 / 10;
    }

    .row-about03 {
        margin: 0 18px 78px;
        padding: 0;
    }

    .m-about03 {
        height: auto;
        line-height: 1;
        padding: 42px 0;
        background-size: cover;
    }

    .ul-about03 {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 34px 0;
        margin: 0;
        overflow: visible;
    }

    .ul-about03 li {
        width: auto;
        padding: 0 12px;
        display: block;
    }

    .ul-about03 .num {
        font-size: 48px;
    }

    .row-about04 {
        padding-bottom: 90px;
    }

    .row-about04 .g-tit01 {
        margin-bottom: 44px;
    }

    .m-par {
        margin-bottom: 0;
    }

    .ul-iconb2 {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 24px 14px;
        margin: 0;
        overflow: visible;
    }

    .m-par .ul-iconb2 > .ul-iconb2 + .ul-iconb2 {
        margin-top: 28px;
    }

    .ul-iconb2 li {
        float: none;
        width: auto;
        padding: 0;
        margin-bottom: 0;
    }

    .news-all-list {
        padding-top: 30px;
    }

    .news-all-section {
        margin-bottom: 78px;
    }

    .news-all-grid,
    .news-related-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .slick-service-1 {
        display: grid;
        grid-template-columns: 1fr;
        gap: 30px;
        padding-bottom: 0;
        overflow: visible;
    }

    .slick-service-1 .item {
        float: none;
        width: auto;
        padding: 0;
        margin-bottom: 0;
    }

    .pages ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 8px;
    }

    .pages ul li {
        float: none;
        margin: 0;
    }

    .pages ul li a,
    .pages ul li.next a,
    .pages ul li.prev a {
        width: auto;
        min-width: 44px;
        height: 44px;
        padding: 0 14px;
        line-height: 42px;
        font-size: 14px;
    }

    .row-news-page .news-category-wrap .pages {
        margin-top: 40px;
    }

    .row-news-page .news-category-wrap .pages ul li:not(.prev):not(.next) {
        display: none;
    }

    .news-detail-hero {
        height: 48vh;
        min-height: 300px;
        margin-bottom: 62px;
    }

    .news-detail-wrap {
        gap: 50px;
        margin-bottom: 86px;
    }

    .news-detail-head h1 {
        font-size: 34px;
        line-height: 1.22;
    }

    .news-detail-content {
        font-size: 15px;
        line-height: 1.82;
    }

    .news-detail-content h2 {
        font-size: 26px;
    }

    .news-detail-content h3 {
        font-size: 22px;
    }

    .news-detail-switch {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .news-detail-switch a.next {
        text-align: left;
    }

    .news-related,
    .news-detail-contact {
        margin-bottom: 96px;
        padding-bottom: 0;
    }

    .ul-iconb1 {
        display: grid;
        grid-template-columns: 1fr;
        gap: 16px;
        margin: 0 0 12px;
        overflow: visible;
    }

    .ul-iconb1 li {
        float: none;
        width: auto;
        padding: 0;
    }

    .ul-iconb1 .con {
        height: auto;
        min-height: 134px;
        padding: 24px 16px;
    }

    .ul-iconb1 .icon {
        height: 56px;
        line-height: 56px;
        margin-bottom: 14px;
    }

    .m-infob2 {
        display: flex;
        flex-direction: column;
        gap: 30px;
        margin-bottom: 72px;
    }

    .m-infob2 .right,
    .m-infob2 .left {
        float: none;
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    .m-infob2 .right {
        display: flex;
        justify-content: center;
    }

    .m-infob2 .right .img {
        width: min(78vw, 280px);
        margin-left: auto;
        margin-right: auto;
    }

    .m-infob2 .right .img img {
        width: 100%;
        height: auto;
    }

    .m-infob2 .g-more {
        width: 100%;
        max-width: none;
        margin-top: 26px;
    }

    .row-contact {
        padding: 0 18px;
    }

    .m-contact {
        padding-bottom: 0;
    }

    .m-contact + .row-x2 + .row-contact {
        margin-bottom: 0;
    }

    .row-contact-page {
        padding-bottom: 0;
    }

    .m-contact-map {
        height: auto;
        min-height: 0;
        margin-bottom: 60px;
        padding: 60px 0;
    }

    .m-contact-map .g-tit01 {
        margin-bottom: 36px;
    }

    .m-contact-map .g-tit01 h1.g-dark-title,
    .m-contact-map .g-tit01 h2.g-dark-title {
        font-size: 30px;
        line-height: 1.2;
    }

    .m-contact-map .g-tit01 .desc {
        font-size: 14px;
        line-height: 1.7;
    }

    .m-contact-map .map {
        overflow: hidden;
    }

    .m-contact-map .map img {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        height: auto;
    }

    .g-btn-contact.g-btn-contact-sumaart,
    .g-btn-contact.g-btn-contact-sumaart.is-expanded,
    .g-btn-contact.g-btn-contact-sumaart.is-collapsed {
        width: 100%;
        max-width: 360px;
        height: 96px;
        padding: 0 24px;
        font-size: 30px;
        gap: 18px;
        border-width: 4px;
    }

    .service-cta.site-cta .g-btn-contact-sumaart {
        width: calc(100% - 36px);
        max-width: none;
        margin-left: auto;
        margin-right: auto;
        color: #fff;
        background: #000;
        background-color: #000;
        border-color: #000;
    }

    .service-cta.site-cta .g-btn-contact-sumaart:hover {
        color: #fff;
        background: #000;
        background-color: #000;
        border-color: #000;
    }

    .service-cta.site-cta .g-btn-contact-sumaart .g-btn-contact-text span,
    .service-cta.site-cta .g-btn-contact-sumaart:hover .g-btn-contact-text span,
    .service-cta.site-cta .g-btn-contact-sumaart .stroke,
    .service-cta.site-cta .g-btn-contact-sumaart:hover .stroke {
        color: inherit;
        -webkit-text-fill-color: currentColor;
        text-stroke: 0 currentColor;
        -webkit-text-stroke: 0 currentColor;
        text-stroke-color: currentColor;
        -webkit-text-stroke-color: currentColor;
        text-stroke-width: 0;
        -webkit-text-stroke-width: 0;
        font-weight: inherit;
        paint-order: normal;
        text-shadow: none;
    }

    .service-cta.site-cta .g-btn-contact-sumaart .g-btn-contact-arrow,
    .service-cta.site-cta .g-btn-contact-sumaart:hover .g-btn-contact-arrow {
        transform: none;
        -webkit-transform: none;
    }

    .service-cta.site-cta .service-cta-inner h2,
    .service-cta.site-cta .service-cta-inner p {
        width: 100%;
        box-sizing: border-box;
        padding-left: 20px;
        padding-right: 20px;
    }

    .service-cta.site-cta .g-btn-contact-sumaart .g-btn-contact-text {
        min-width: 0;
        font-size: clamp(20px, 6.8vw, 28px);
        line-height: 1.05;
        white-space: nowrap;
    }

    .service-cta.site-cta .g-btn-contact-sumaart .g-btn-contact-arrow {
        width: 28px;
        height: 28px;
        margin-left: 12px;
    }

    .fd-top {
        padding-top: 70px;
    }

    .fd-logo {
        margin-bottom: 44px;
    }

    .fd-t {
        margin-bottom: 38px;
    }

    .fd-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 30px 24px;
    }

    .fd-nav .v1 {
        margin-bottom: 14px;
        font-size: 15px;
    }

    .fd-nav .sub dd {
        font-size: 13px;
        line-height: 1.75;
    }

    .fd-nav .sub.nowrap dd {
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .fd-link dt {
        float: none;
        margin-bottom: 10px;
    }

    .fd-link dd {
        display: flex;
        flex-wrap: wrap;
        gap: 8px 16px;
        overflow: visible;
    }

    .fd-link dd a {
        float: none;
        margin-right: 0;
    }

    .fd-big-word {
        width: 100%;
        overflow: hidden;
    }

    .fd-copy {
        display: flex;
        flex-wrap: wrap;
        gap: 8px 12px;
        padding-bottom: 42px;
        line-height: 1.7;
    }

    .fd-copy .g-top {
        margin-left: auto;
        bottom: 72px;
    }

    .fd-big-word-text {
        display: inline-block;
        max-width: none;
        font-size: clamp(40px, calc(14.84vw - 5.34px), 116px);
        line-height: .96;
        letter-spacing: -.07em;
        white-space: nowrap;
        overflow-wrap: normal;
        word-break: normal;
        transform: none;
        -webkit-transform: none;
    }
}

@media screen and (max-width: 390px) {
    .wp1,
    .wp2,
    .wp3,
    .footer > .wp3 {
        padding-left: 16px;
        padding-right: 16px;
    }

    .g-tit01 .g-home-title {
        font-size: 30px;
    }

    .g-tit01 .g-code-title-stack .g-code-cn {
        font-size: 46px;
    }

    .g-tit01 .g-code-title-stack .g-code-en {
        font-size: 30px;
    }

    .jvds-hero-proof {
        display: none;
    }

    .jvds-hero-actions {
        gap: 10px;
    }

    .jvds-hero-icon-btn,
    .jvds-hero-quote {
        height: 54px;
    }

    .jvds-hero-icon-btn {
        width: 54px;
    }

    .row-a1 .products-list .jvds-work-meta {
        display: block;
    }

    .row-a1 .products-list .tit,
    .row-a1 .products-list .desc {
        max-width: none;
        text-align: left;
    }

    .row-a1 .products-list .desc {
        margin-top: 6px;
    }

    .service-hero-stats {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .service-stat {
        width: auto;
        padding-left: 6px;
        padding-right: 6px;
    }

    .ul-about03 {
        grid-template-columns: 1fr;
    }

    .ul-iconb2 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 22px 10px;
    }

    .m-par .ul-iconb2 > .ul-iconb2 + .ul-iconb2 {
        margin-top: 26px;
    }

    .g-btn-contact.g-btn-contact-sumaart,
    .g-btn-contact.g-btn-contact-sumaart.is-expanded,
    .g-btn-contact.g-btn-contact-sumaart.is-collapsed {
        max-width: none;
        height: 86px;
        padding: 0 20px;
        font-size: 24px;
    }

    .g-btn-contact-sumaart .g-btn-contact-arrow {
        width: 34px;
        height: 34px;
    }

    .service-cta.site-cta .g-btn-contact-sumaart .g-btn-contact-arrow,
    .service-cta.site-cta .g-btn-contact-sumaart:hover .g-btn-contact-arrow {
        width: 23px;
        height: 23px;
    }

	.fd-nav {
	    grid-template-columns: 1fr;
	}

	.fd-t .left > .fd-nav {
	    grid-template-columns: minmax(70px, .5fr) minmax(0, 1.5fr);
	    gap: 34px clamp(8px, 3vw, 14px);
	}

	.fd-t .left > .fd-nav > li:nth-child(4) .sub.nowrap dd {
	    font-size: clamp(11px, 3.6vw, 13px);
	    line-height: 1.9;
	    white-space: nowrap;
	    overflow-wrap: normal;
	}

	.fd-big-word-text {
	    font-size: clamp(40px, calc(14.84vw - 4.75px), 54px);
	}
}
