 @media (max-width: 899px) {
            .KV {
                width: 100%;
                min-width: 100vw;
                height: 119.47vw; /* 448px ÷ 375px × 100 */
                min-height: 119.47vw;
            }

            .KV .kv-video {
                display: none;
            }

            .KV .kv-video-sp {
                display: block;
                position: absolute;
                top: 0;
                left: 0;
                width: 100vw;
                height: 119.47vw;
                object-fit: cover;
                mix-blend-mode: none;
            }

            .KV .hero-text-container {
                width: 88.53vw; /* 332px ÷ 375px × 100 */
                position: absolute;
                top: 38.67vw; /* 145px ÷ 375px × 100 */
                left: 50%;
                transform: translateX(-50%);
                display: flex;
                flex-direction: column;
                align-items: flex-start;
                gap: 6.4vw; /* 24px ÷ 375px × 100 */
                z-index: 10;
            }

            .KV .hero-text {
                width: 88.53vw; /* 332px ÷ 375px × 100 */
                height: auto;
            }

            /* SP版グリッチエフェクトの調整 */
            @keyframes heroGlitch {
                0% {
                    opacity: 0;
                    transform: translate(0) scale(1.1);
                    filter: hue-rotate(0deg) contrast(100%);
                }
                5% {
                    opacity: 0.3;
                    transform: translate(-4vw, 2.67vw) scale(1.08);
                    filter: hue-rotate(180deg) contrast(300%) brightness(200%);
                }
                10% {
                    opacity: 0.6;
                    transform: translate(4vw, -2.67vw) scale(1.05);
                    filter: hue-rotate(-180deg) contrast(250%) saturate(300%);
                }
                15% {
                    transform: translate(-2.67vw, 2.13vw) scale(1.03);
                    filter: hue-rotate(90deg) contrast(200%) brightness(150%);
                }
                20% {
                    transform: translate(3.2vw, -2.13vw) scale(1.02);
                    filter: hue-rotate(-90deg) saturate(250%) contrast(180%);
                }
                25% {
                    transform: translate(-2.13vw, 1.6vw) scale(1.01);
                    filter: hue-rotate(270deg) brightness(180%) contrast(160%);
                }
                30% {
                    transform: translate(2.13vw, -1.6vw) scale(1.01);
                    filter: hue-rotate(-270deg) saturate(200%) brightness(140%);
                }
                35% {
                    transform: translate(-1.6vw, 1.07vw) scale(1);
                    filter: contrast(150%) brightness(130%);
                }
                40% {
                    transform: translate(1.6vw, -1.07vw) scale(1);
                    filter: saturate(180%) contrast(140%);
                }
                45% {
                    transform: translate(-1.07vw, 0.8vw) scale(1);
                    filter: brightness(120%) contrast(130%);
                }
                50% {
                    transform: translate(1.07vw, -0.8vw) scale(1);
                    filter: saturate(150%) brightness(115%);
                }
                55% {
                    transform: translate(-0.8vw, 0.53vw) scale(1);
                    filter: contrast(125%) brightness(110%);
                }
                60% {
                    transform: translate(0.8vw, -0.53vw) scale(1);
                    filter: saturate(130%) brightness(108%);
                }
                65% {
                    transform: translate(-0.53vw, 0.53vw) scale(1);
                    filter: contrast(120%) brightness(106%);
                }
                70% {
                    transform: translate(0.53vw, -0.53vw) scale(1);
                    filter: saturate(120%) brightness(104%);
                }
                75% {
                    transform: translate(-0.27vw, 0.27vw) scale(1);
                    filter: contrast(115%) brightness(102%);
                }
                80% {
                    transform: translate(0.27vw, -0.27vw) scale(1);
                    filter: saturate(110%);
                }
                85% {
                    transform: translate(-0.27vw, 0) scale(1);
                    filter: contrast(108%);
                }
                90% {
                    opacity: 1;
                    transform: translate(0.27vw, 0) scale(1);
                    filter: brightness(101%);
                }
                95% {
                    transform: translate(0) scale(1);
                    filter: contrast(102%);
                }
                100% {
                    opacity: 1;
                    transform: translate(0) scale(1);
                    filter: none;
                }
            }

            @keyframes heroGlitchRed {
                0%, 100% {
                    transform: translate(0);
                    opacity: 0;
                }
                10%, 20%, 30%, 40%, 50% {
                    transform: translate(-2.13vw, 0.8vw);
                    opacity: 0.8;
                    filter: brightness(3) sepia(1) hue-rotate(-30deg) saturate(300%);
                }
                15%, 25%, 35%, 45% {
                    transform: translate(-3.2vw, -0.8vw);
                    opacity: 0.6;
                    filter: brightness(2.5) sepia(1) hue-rotate(-50deg) saturate(250%);
                }
            }

            @keyframes heroGlitchBlue {
                0%, 100% {
                    transform: translate(0);
                    opacity: 0;
                }
                12%, 22%, 32%, 42%, 52% {
                    transform: translate(2.13vw, -0.8vw);
                    opacity: 0.8;
                    filter: brightness(3) sepia(1) hue-rotate(200deg) saturate(300%);
                }
                17%, 27%, 37%, 47% {
                    transform: translate(3.2vw, 0.8vw);
                    opacity: 0.6;
                    filter: brightness(2.5) sepia(1) hue-rotate(180deg) saturate(250%);
                }
            }
        }



        

        /* SP版スタイル (899px以下) */
        @media (max-width: 899px) {
            .about {
                width: 100%;
                min-width: 100vw;
                padding: 0 0 18vw 0;
                position: relative;
                overflow: hidden;
            }

            .about-content {
                width: 88.8vw; /* 333px ÷ 375px × 100 */
                margin: 0 auto;
                display: flex;
                flex-direction: column;
                align-items: flex-start;
                gap: 6.4vw; /* 24px ÷ 375px × 100 */
                position: relative;
                z-index: 10;
                padding: 0;
            }

            .about .title {
                display: flex;
                align-items: flex-start;
                gap: 4vw; /* 15px ÷ 375px × 100 */
                position: relative;
                width: 100%;
            }

            .about .blockicon {
                width: 14.933333333333335vw; /* 56px ÷ 375px × 100 */
                height: 14.933333333333335vw;
                flex-shrink: 0;
            }

            .about .union {
                width: 14vw; /* 56px ÷ 375px × 100 */
                height: 14vw;
                margin-top: 1.5vw;
            }

            .about .text-wrapper {
                font-family: "LINESeedJP_eb", Helvetica, sans-serif;
                font-weight: 800;
                color: #77e27f;
                font-size: 6.4vw; /* 24px ÷ 375px × 100 */
                letter-spacing: 0;
                line-height: 8.32vw; /* 31.2px ÷ 375px × 100 */
                white-space: normal;
                margin: 0;
                width: 69.6vw; /* 261px ÷ 375px × 100 */
                flex-shrink: 0;
                font-feature-settings: 'palt' on;
            }

            .about .subtitle-container {
                width: 100%;
                display: flex;
                flex-direction: column;
                gap: 10.67vw; /* 40px ÷ 375px × 100 */
            }

            .about .subtitle {
                font-family: "LINESeedJP_Rg", Helvetica, sans-serif;
                font-weight: 400;
                color: #ffffff;
                font-size: 4.27vw; /* 16px ÷ 375px × 100 */
                letter-spacing: 0;
                line-height: 1.75;
                margin: 0;
                width: 88.53vw; /* 332px ÷ 375px × 100 */
            }

            .about .english-title-stroke-wrapper {
                position: absolute;
                top: 0;
                left: -5.6vw; /* -21px ÷ 375px × 100 */
                width: 100vw;
                height: 17.6vw; /* 66px ÷ 375px × 100 */
                transform: none;
                overflow: hidden;
                z-index: 1;
                opacity: 0.5;
                margin-top: 0;
            }

            .about .english-title-stroke-container {
                display: flex;
                position: absolute;
                animation: scrollLeft 30s linear infinite;
                will-change: transform;
            }

            .about .english-title-stroke {
                height: 17.6vw; /* 66px ÷ 375px × 100 */
                width: auto;
                flex-shrink: 0;
            }
        }


        /* SP版スタイル (899px以下) */
        @media (max-width: 899px) {
            .company {
                width: 100%;
                min-width: 100vw;
            }

            .company-content {
                width: 100vw;
                margin: 0 auto;
            }

            .container {
                display: flex;
                flex-direction: column;
                align-items: flex-start;
                gap: 13.6vw; /* 51px ÷ 375px × 100 */
                position: relative;
                padding: 0 5.73vw; /* 左右21.5px程度の余白 */
            }

            .container .image-wrapper {
                display: flex;
                align-items: center;
                gap: 0;
                position: relative;
                width: 100%;
                transform: rotate(90deg);
                margin-bottom: -65vw;

            }

            .container .image {
                position: relative;
                width: 26vw;; /* 332px ÷ 375px × 100 */
                height: 86vw;
                object-fit: cover;
                
            }

            .container .company-info {
                display: flex;
                flex-direction: column;
                width: 100%;
                align-items: flex-start;
            }

            .container .info-row {
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                width: 100%;
                gap: 3.4vw; /* 24px ÷ 375px × 100 */
                padding: 6.4vw 0 6.4vw; /* 8px 0 24px ÷ 375px × 100 */
                border-bottom: 1px solid #a9afc4;
                box-sizing: border-box;
            }

            .container .company-info-row {
                position: relative;
                width: 82.13vw; /* 308px ÷ 375px × 100 */
                height: 5.87vw; /* 22px ÷ 375px × 100 */
            }

            .container .dt-dt {
                display: flex;
                width: 82.13vw; /* 308px ÷ 375px × 100 */
                align-items: center;
                gap: 2.13vw; /* 8px ÷ 375px × 100 */
                padding: 0;
            }

            .container .info-label {
                position: relative;
                display: flex;
                align-items: center;
                justify-content: center;
                width: fit-content;
                font-family: "Lato-Bold", Helvetica, sans-serif;
                font-weight: 700;
                color: #ffffff;
                font-size: 4.27vw; /* 16px ÷ 375px × 100 */
                letter-spacing: 0;
                line-height: 5.87vw; /* 22px ÷ 375px × 100 */
                white-space: nowrap;
                margin: 0;
            }

            .container .dd-dd {
                display: flex;
                flex-direction: column;
                width: 82.13vw; /* 308px ÷ 375px × 100 */
                align-items: flex-start;
                gap: 2.13vw; /* 8px ÷ 375px × 100 */
                padding: 0; /* 8px 0 24px ÷ 375px × 100 */
                position: relative;
                flex: 0 0 auto;
            }

            .container .dd-KARINONAMAE-dd {
                display: flex;
                width: 82.13vw; /* 308px ÷ 375px × 100 */
                align-items: center;
                gap: 2.13vw; /* 8px ÷ 375px × 100 */
                position: relative;
                flex: 0 0 auto;
            }

            .container .info-value {
                position: relative;
                flex: 1;
                font-family: "Lato-Regular", Helvetica, sans-serif;
                font-weight: 400;
                color: #ffffff;
                font-size: 4.27vw; /* 16px ÷ 375px × 100 */
                letter-spacing: 0.27vw; /* 1px ÷ 375px × 100 */
                line-height: 5.87vw; /* 22px ÷ 375px × 100 */
                margin: 0;
                white-space: normal;
            }

            .container .text-wrapper {
                position: relative;
                flex: 1;
                font-family: "Lato-Regular", Helvetica, sans-serif;
                font-weight: 400;
                color: #ffffff;
                font-size: 4.27vw; /* 16px ÷ 375px × 100 */
                letter-spacing: 0.27vw; /* 1px ÷ 375px × 100 */
                line-height: 6.4vw; /* 24px ÷ 375px × 100 */
                margin: 0;
            }

            .container .div {
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                width: 100%;
                gap: 3.4vw; /* 24px ÷ 375px × 100 */
                padding: 6.4vw 0 6.4vw; /* 8px 0 24px ÷ 375px × 100 */
                border-bottom: 1px solid #a9afc4;
                box-sizing: border-box;
            }

            .container .info-value-2 {
                position: relative;
                flex: 1;
                font-family: "Lato-Regular", Helvetica, sans-serif;
                font-weight: 400;
                color: #ffffff;
                font-size: 4.27vw; /* 16px ÷ 375px × 100 */
                letter-spacing: 0.27vw; /* 1px ÷ 375px × 100 */
                line-height: 6.4vw; /* 24px ÷ 375px × 100 */
                margin: 0;
            }
        }




        /* SP版スタイル (899px以下) */
        @media (max-width: 899px) {
            .services {
                width: 100%;
                min-width: 100vw;
            }

            .services-content {
                width: 100vw;
                margin: 0 auto;
                padding: 0;
            }

            .service-container {
                display: flex;
                flex-direction: column;
                align-items: center;
                gap: 0;
                width: 100%;
            }

            .service-container .service-card {
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                gap: 5.33vw; /* 20px ÷ 375px × 100 */
                padding: 8.53vw 0; /* 32px ÷ 375px × 100 */
                width: 88.53vw;
                height: auto;
                background-color: #051417;
                border-radius: 0;
                border: none;
                border-top: 1px solid #ffffff;
                border-bottom: 1px solid #ffffff;
                box-sizing: border-box;
            }

            .service-container .service-card:nth-child(2) {
                border-top: none;
            }

            .service-container .service-header {
                position: relative;
                width: 79.73vw; /* 299px ÷ 375px × 100 */
                height: 13.6vw; /* 51px ÷ 375px × 100 */
                display: block;
            }

            .service-container .services-icon {
                position: absolute;
                top: 0;
                left: 0;
                width: 13.6vw; /* 51px ÷ 375px × 100 */
                height: 13.6vw;
            }

            .service-container .service-title {
                position: absolute;
                top: 0.8vw; /* 3px ÷ 375px × 100 */
                left: 17.87vw; /* 67px ÷ 375px × 100 */
                width: 61.33vw; /* 230px ÷ 375px × 100 */
                font-family: "LINE Seed JP_TTF-Bold", Helvetica, sans-serif;
                font-weight: 700;
                color: #ffffff;
                font-size: 4.8vw; /* 18px ÷ 375px × 100 */
                letter-spacing: 0.19vw; /* 0.72px ÷ 375px × 100 */
                line-height: 6vw; /* 22.5px ÷ 375px × 100 */
                margin: 0;
            }

            .service-container .service-description {
                position: relative;
                width: 81.07vw; /* 304px ÷ 375px × 100 */
                font-family: "LINE Seed JP_TTF-Regular", Helvetica, sans-serif;
                font-weight: 400;
                color: #c0c1ca;
                font-size: 4.27vw; /* 16px ÷ 375px × 100 */
                letter-spacing: 0.17vw; /* 0.64px ÷ 375px × 100 */
                line-height: 175%; /* 24px ÷ 375px × 100 */
                margin: 0;
            }
        }

             /* ------------------------------ */
/* footer */
/* ------------------------------ */      

@media (max-width: 899px) {

    .header {
        display: none;
     }
     html {
        overflow-x: hidden;
    }     
    .footer-desktop {
        display: none;
    }
  
    .footer-mobile {
        display: block;
        padding: 17.07vw 5.87vw 8.53vw;
    }
  
    .footer-mobile-container {
        display: grid;
        grid-template-areas: 
            "logo topbtn"
            "menu menu"
            "copyright copyright";
    }
  
    .footer-mobile-logo {
        grid-area: logo;
        justify-self: start;
    }
  
    .footer-mobile-logo img {
        height: 8vw;
        margin-top: 1vw;
    }
  
    .footer-mobile-topbtn {
        grid-area: topbtn;
        justify-self: end;
    }
  
    .footer-mobile-topbtn .top-btn {
        background-color: white;
        width: 32vw;
        height: 10.67vw;
        display: flex;
        align-items: center;
        justify-content: center;
    }
  
    .footer-mobile-topbtn .top-btn .polygon {
        width: 21px;
        height: 14px;
    }
  
    .footer-mobile-menu {
        grid-area: menu;
    }
  
    .footer-mobile-menu ul {
        list-style-type: none;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        column-gap: 8.53vw;
        row-gap: 4.27vw;
        width: 72vw;
        margin:10.6vw 0px
    }
  
    .footer-mobile-menu a {
        color: white;
        text-decoration: none;
        font-size: 3.5vw;
        opacity: 1;
        transition: 0.5s;
        line-height:1;
    }
  
    .footer-mobile-menu a:hover {
        opacity: 0.5;
    }
  
    .footer-mobile-copyright {
        grid-area: copyright;
        text-align: center;
        font-size: 2.67vw;
        opacity: 0.5;
        font-family: "LINESeedJP_Rg";
    }
  
  
  
          }


          @media (max-width: 899px) {
          .sp-header-menu {
            transition: 
                transform 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                opacity 0.4s ease;
            transform: translateX(50px);
            opacity: 0;
            width:100%;
            padding:0vw 11.73vw;
            margin-top: 25.60vw;
            
          }
     
          .header-menu-sp {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: space-between;
            background-color: transparent;
            padding: 5.60vw 5.87vw;
            box-sizing: border-box;
            z-index: 1000;
            transition: all 0.5s ease;
            background-color: #051417;
          }

          .header-menu-sp .header-logo img {
            width: auto;
            height: 6.40vw;
            transition: opacity 0.5s ease;
          }

          
          .header-right-sp {
            display: flex;
            align-items: center;
            gap: 2.13vw;
          }
          .header-right-sp .image {
            width: auto;
            height: 8.53vw;
          }
          .sp-menu-btn {
            width: 8.53vw;
            height: 8.53vw;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            gap: 4px;
            cursor: pointer;
            background-color: white;
            border-radius: 1.07vw;
            transition: all 0.5s ease;
          }


          .sp-menu-btn .group {
            width: 4.27vw;
                    display: flex;
                    flex-direction: column;
                    justify-content: space-between;
                    height: 2.5vw;
                    position: relative;
          }
          .sp-menu-btn .rectangle,
          .sp-menu-btn .div {
            height: 0.6vw;
            width: 100%;
            background: linear-gradient(93deg, #6612DC 1.49%, #009CF0 94.42%);
            position: absolute;
            transition: all 0.5s ease;
          }


          .sp-menu-btn .rectangle {
            top: 0;
            transform-origin: center;
          }
          .sp-menu-btn .div {
            bottom: 0;
            transform-origin: center;
          }


          .contact-btn-sp {
            height: 8.53vw;
            width: auto;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.5s ease;
          }
          .contact-btn-sp img {
            height: 8.53vw;
            width: auto;
            transition: all 0.5s ease;
            margin-top: 1.1vw;
          }

        }



        /* SP版スタイル (899px以下) */
        @media (max-width: 899px) {
            .contact {
                width: 100%;
                min-width: 100vw;
                padding-bottom: 0px;
            }

            .contact-container {
                display: flex;
                flex-direction: column;
                height: 72vw; /* 270px ÷ 375px × 100 */
                align-items: center;
                justify-content: center;
                gap: 5.33vw; /* 20px ÷ 375px × 100 */
                background-color: #77e27f;
                border-radius: 0;
                width: 100vw;
                overflow: hidden;
                position: relative;
            }

            .contact-container .image {
                position: absolute;
                top: 33%;
                left: 50%;
                transform: translate(-50%, -50%);
                width: 110.4vw; /* 414px ÷ 375px × 100 */
                height: 18.13vw; /* 68px ÷ 375px × 100 */
                object-fit: cover;
            }

            .contact-container .frame {
                display: inline-flex;
                flex-direction: column;
                align-items: center;
                position: relative;
                z-index: 10;
            }
            .contact-container.animate {
                filter: blur(0);
                opacity: 1;
                border-radius: 8px 8px 0 0;
            }

            .contact-container .contact-text {
                position: relative;
                display: flex;
                align-items: center;
                justify-content: center;
                width: 88.8vw; /* 333px ÷ 375px × 100 */
                font-family: "LINE Seed JP_TTF-Bold", Helvetica, sans-serif;
                font-weight: 700;
                color: #051417;
                font-size: 5.33vw; /* 20px ÷ 375px × 100 */
                letter-spacing: 0;
                line-height: 9.33vw; /* 35px ÷ 375px × 100 */
                margin: 0;
                text-align: center;
            }

            .contact-container .img {
                position: relative;
                width: 90.67vw; /* 340px ÷ 375px × 100 */
                height: 19.2vw; /* 72px ÷ 375px × 100 */
                object-fit: contain;
                z-index: 10;
            }
        }

                /* SP版スタイル (899px以下) */
                @media (max-width: 899px) {
                    .loader {
                        width: 26.67vw; /* 100px ÷ 375px × 100 */
                        height: 26.67vw;
                    }
        
                    .loader-ring {
                        border-width: 1.07vw; /* 4px ÷ 375px × 100 */
                    }
        
                    .loader-dot {
                        width: 3.2vw; /* 12px ÷ 375px × 100 */
                        height: 3.2vw;
                    }
        
                    .loading-text {
                        bottom: -16vw; /* -60px ÷ 375px × 100 */
                        font-size: 3.73vw; /* 14px ÷ 375px × 100 */
                        letter-spacing: 0.53vw; /* 2px ÷ 375px × 100 */
                    }
                }