
    html,
    body {
      margin: 0;
      padding: 0;
      background-color: #051417;
      scroll-behavior: smooth;
      scroll-padding-top: 150px; // ヘッダーの高さ分設定
    }
   /* ---------KV-PC---------- */

    .KV {
      width: 100%;
      height: 780px;
      min-width: 1440px;
      position: relative;
      overflow: hidden;
    }

    .KV .kv-video {
      position: absolute;
      top: 0;
      left: 50%;
      height: 100%;
      width: auto;
      transform: translateX(calc(-720px + 220px));
      object-fit: contain;
      clip-path: inset(0 0 px 0);
      mix-blend-mode: screen;

    }

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

    .KV .hero-text-container {
      width: 1080px;
      position: absolute;
      top: 223px;
      left: 50%;
      transform: translateX(-50%);
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 43px;
      z-index: 10;
    }

    .KV .hero-text {
      width: 638.5px;
      height: auto;
    }

    /* KV hero-textのグリッチエフェクト */
.hero-text-container .hero-text {
    opacity: 0;
    position: relative;
}

.hero-text-container .hero-text.animate {
    animation: heroGlitch 1.5s ease-out forwards;
}

@keyframes heroGlitch {
    0% {
        opacity: 0;
        transform: translate(0) scale(1.1);
        filter: hue-rotate(0deg) contrast(100%);
    }
    5% {
        opacity: 0.3;
        transform: translate(-15px, 10px) scale(1.08);
        filter: hue-rotate(180deg) contrast(300%) brightness(200%);
    }
    10% {
        opacity: 0.6;
        transform: translate(15px, -10px) scale(1.05);
        filter: hue-rotate(-180deg) contrast(250%) saturate(300%);
    }
    15% {
        transform: translate(-10px, 8px) scale(1.03);
        filter: hue-rotate(90deg) contrast(200%) brightness(150%);
    }
    20% {
        transform: translate(12px, -8px) scale(1.02);
        filter: hue-rotate(-90deg) saturate(250%) contrast(180%);
    }
    25% {
        transform: translate(-8px, 6px) scale(1.01);
        filter: hue-rotate(270deg) brightness(180%) contrast(160%);
    }
    30% {
        transform: translate(8px, -6px) scale(1.01);
        filter: hue-rotate(-270deg) saturate(200%) brightness(140%);
    }
    35% {
        transform: translate(-6px, 4px) scale(1);
        filter: contrast(150%) brightness(130%);
    }
    40% {
        transform: translate(6px, -4px) scale(1);
        filter: saturate(180%) contrast(140%);
    }
    45% {
        transform: translate(-4px, 3px) scale(1);
        filter: brightness(120%) contrast(130%);
    }
    50% {
        transform: translate(4px, -3px) scale(1);
        filter: saturate(150%) brightness(115%);
    }
    55% {
        transform: translate(-3px, 2px) scale(1);
        filter: contrast(125%) brightness(110%);
    }
    60% {
        transform: translate(3px, -2px) scale(1);
        filter: saturate(130%) brightness(108%);
    }
    65% {
        transform: translate(-2px, 2px) scale(1);
        filter: contrast(120%) brightness(106%);
    }
    70% {
        transform: translate(2px, -2px) scale(1);
        filter: saturate(120%) brightness(104%);
    }
    75% {
        transform: translate(-1px, 1px) scale(1);
        filter: contrast(115%) brightness(102%);
    }
    80% {
        transform: translate(1px, -1px) scale(1);
        filter: saturate(110%);
    }
    85% {
        transform: translate(-1px, 0) scale(1);
        filter: contrast(108%);
    }
    90% {
        opacity: 1;
        transform: translate(1px, 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;
    }
}

/* RGBずれエフェクト(より派手に) */
.hero-text-container .hero-text.animate::before,
.hero-text-container .hero-text.animate::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: inherit;
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0;
    pointer-events: none;
}

.hero-text-container .hero-text.animate::before {
    animation: heroGlitchRed 1.5s ease-out;
}

.hero-text-container .hero-text.animate::after {
    animation: heroGlitchBlue 1.5s ease-out;
}

@keyframes heroGlitchRed {
    0%, 100% {
        transform: translate(0);
        opacity: 0;
    }
    10%, 20%, 30%, 40%, 50% {
        transform: translate(-8px, 3px);
        opacity: 0.8;
        filter: brightness(3) sepia(1) hue-rotate(-30deg) saturate(300%);
    }
    15%, 25%, 35%, 45% {
        transform: translate(-12px, -3px);
        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(8px, -3px);
        opacity: 0.8;
        filter: brightness(3) sepia(1) hue-rotate(200deg) saturate(300%);
    }
    17%, 27%, 37%, 47% {
        transform: translate(12px, 3px);
        opacity: 0.6;
        filter: brightness(2.5) sepia(1) hue-rotate(180deg) saturate(250%);
    }
}

/* ノイズエフェクト(追加オプション) */
.hero-text-container .hero-text.animate {
    animation: heroGlitch 1.5s ease-out forwards, noise 0.1s steps(2) infinite;
}

@keyframes noise {
    0% {
        clip-path: inset(0 0 0 0);
    }
    20% {
        clip-path: inset(40% 0 43% 0);
    }
    40% {
        clip-path: inset(92% 0 1% 0);
    }
    60% {
        clip-path: inset(43% 0 1% 0);
    }
    80% {
        clip-path: inset(25% 0 58% 0);
    }
    100% {
        clip-path: inset(58% 0 43% 0);
    }
}

       /* ---------About-PC---------- */

    .about {
      background-color: #051417;
      width: 100%;
      min-width: 1440px;
      padding: 24px 0 120px 0;
      position: relative;
      overflow: hidden;
    }

    .about-content {
      width: 1440px;
      margin: 0 auto;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 40px;
      position: relative;
      z-index: 10;
      padding: 0 180px;
      box-sizing: border-box;
    }

    .about .title {
      display: inline-flex;
      align-items: center;
      gap: 24px;
      position: relative;
    }

    .about .blockicon {
      width: 45px;
      height: 45px;
    }

    .about .text-wrapper {
      font-family: "LINESeedJP_Bd", Helvetica, sans-serif;
      font-weight: 800;
      color: #77e27f;
      font-size: 48px;
      letter-spacing: 0;
      line-height: 48px;
      white-space: nowrap;
      margin: 0;
    }

    .about .union {
        width: 45px;
        height: ;
    }

    .about .subtitle-container {
      width: 1080px;
    }

    .about .subtitle {
      font-family: "LINESeedJP_Rg", Helvetica, sans-serif;
      font-weight: 400;
      color: #ffffff;
      font-size: 24px;
      letter-spacing: 0;
      line-height: 1.625;
      margin: 0;
    }

    .about .english-title-stroke-wrapper {
      position: absolute;
      top: 50%;
      left: 0;
      width: 100%;
      height: 199px;
      transform: translateY(-50%);
      overflow: hidden;
      z-index: 1;
      opacity: 0.5;
      margin-top: -34px;
    }

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

    .about .english-title-stroke {
      height: 199px;
      width: auto;
      flex-shrink: 0;
    }

    @keyframes scrollLeft {
      0% {
        transform: translateX(0);
      }

      100% {
        transform: translateX(-50%);
      }
    }

    /* テキストアニメーション用のスタイル */
    .subtitle .text-wrapper,
.subtitle {
    opacity: 0;
}

.text-wrapper.animate,
.subtitle.animate {
    opacity: 1;
}

.text-wrapper .char,
.subtitle .char {
    display: inline-block;
    opacity: 0;
}


       /* ---------Services-PC---------- */


    .services {
      background-color: #051417;
      width: 100%;
      min-width: 1440px;
      position: relative;
      padding-bottom: 120px;
    }

    .services-content {
      width: 1080px;
      margin: 0 auto;
      position: relative;
    }

    .service-container {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 30px;
      position: relative;
      width: 100%;
    }

    .service-container .service-card {
      display: flex;
      flex-direction: column;
      width: 340px;
      height: 236px;
      align-items: center;
      gap: 17px;
      padding: 24px;
      position: relative;
      background-color: #051417;
      border-radius: 8px;
      border: 1px solid;
      border-color: #ffffff;
      box-sizing: border-box;
    }

    .service-container .service-header {
      display: inline-flex;
      align-items: center;
      gap: 16px;
      position: relative;
      flex: 0 0 auto;
    }

    .service-container .services-icon {
      position: relative;
      width: 51px;
      height: 51px;
      aspect-ratio: 1;
      object-fit: cover;
    }

    .service-container .service-title {
      position: relative;
      width: 223px;
      font-family: "LINESeedJP_Bd", Helvetica, sans-serif;
      font-weight: 700;
      color: #ffffff;
      font-size: 17.5px;
      letter-spacing: 0.72px;
      line-height: 22.5px;
      margin: 0;
      font-feature-settings: 'palt' on;
    }

    .service-container .service-description {
      position: relative;
      width: 290px;
      font-family: "LINESeedJP_Rg", Helvetica, sans-serif;
      font-weight: 400;
      color: #c0c1ca;
      font-size: 16px;
      letter-spacing: 0.64px;
      line-height: 24px;
      margin: 0;
    }

    /* アニメーション用のスタイル */
.service-card {
    filter: blur(20px);
    opacity: 0;
    transition: filter 0.6s ease-out, opacity 0.6s ease-out;
}

.service-card.animate {
    filter: blur(0);
    opacity: 1;
}

/* 順番に出現させるための遅延 */
.service-card:nth-child(1) {
    transition-delay: 0s;
}

.service-card:nth-child(2) {
    transition-delay: 0.2s;
}

.service-card:nth-child(3) {
    transition-delay: 0.4s;
}


       /* ---------Company-pc---------- */

    .company {
            background-color: #051417;
            width: 100%;
            min-width: 1440px;
            position: relative;
            padding-bottom: 120px;
        }

        .company-content {
            width: 1080px;
            margin: 0 auto;
            position: relative;
        }

        .container {
            display: flex;
            align-items: flex-start;
            gap: 80px;
            position: relative;
        }

        .container .image-wrapper {
            display: inline-flex;
            align-items: center;
            gap: 40px;
            position: relative;
            flex: 0 0 auto;
        }

        .container .image {
            position: relative;
            width: 172px;
            height: 563px;
            aspect-ratio: 0.31;
            object-fit: cover;
        }

        .container .company-info {
            display: flex;
            flex-direction: column;
            width: 828px;
            align-items: flex-start;
            position: relative;
        }

        .container .info-row {
            display: flex;
            width: 828px;
            align-items: flex-start;
            gap: 50px;
            padding: 32px 16px 33px;
            position: relative;
            flex: 0 0 auto;
            border-bottom-width: 1px;
            border-bottom-style: solid;
            border-color: #aeaeae;
            box-sizing: border-box;
        }

        /* アニメーション用のスタイル */
.company-info {
    filter: blur(20px);
    opacity: 0;
    transition: filter 0.6s ease-out, opacity 0.6s ease-out;
}

.company-info.animate {
    filter: blur(0);
    opacity: 1;
}

/* グリッチエフェクト用のスタイル */
.image-wrapper .image {
    opacity: 0;
    position: relative;
}

.image-wrapper .image.animate {
    animation: glitch 0.8s ease-out forwards;
}

@keyframes glitch {
    0% {
        opacity: 0;
        transform: translate(0);
        filter: hue-rotate(0deg);
    }
    10% {
        opacity: 0.8;
        transform: translate(-5px, 5px);
        filter: hue-rotate(90deg) contrast(150%);
    }
    20% {
        transform: translate(5px, -5px);
        filter: hue-rotate(180deg) contrast(200%);
    }
    30% {
        transform: translate(-3px, 3px);
        filter: hue-rotate(270deg) saturate(200%);
    }
    40% {
        transform: translate(3px, -3px);
        filter: hue-rotate(360deg) brightness(150%);
    }
    50% {
        transform: translate(-2px, 2px);
        filter: contrast(150%) brightness(120%);
    }
    60% {
        transform: translate(2px, -2px);
        filter: saturate(150%);
    }
    70% {
        transform: translate(-1px, 1px);
        filter: contrast(120%);
    }
    80% {
        transform: translate(1px, -1px);
        filter: brightness(110%);
    }
    90% {
        opacity: 1;
        transform: translate(0);
        filter: none;
    }
    100% {
        opacity: 1;
        transform: translate(0);
        filter: none;
    }
}

/* RGBずれエフェクト(オプション) */
.image-wrapper .image.animate::before,
.image-wrapper .image.animate::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: inherit;
    opacity: 0;
}

.image-wrapper .image.animate::before {
    animation: glitchRed 0.8s ease-out;
}

.image-wrapper .image.animate::after {
    animation: glitchBlue 0.8s ease-out;
}

@keyframes glitchRed {
    0%, 100% {
        transform: translate(0);
        opacity: 0;
    }
    20%, 40%, 60% {
        transform: translate(-3px, 0);
        opacity: 0.5;
        filter: brightness(2) sepia(1) hue-rotate(-50deg);
    }
}

@keyframes glitchBlue {
    0%, 100% {
        transform: translate(0);
        opacity: 0;
    }
    30%, 50%, 70% {
        transform: translate(3px, 0);
        opacity: 0.5;
        filter: brightness(2) sepia(1) hue-rotate(180deg);
    }
}


        .container .dt-dt {
            display: flex;
            width: 136px;
            align-items: center;
            gap: 8px;
            position: relative;
            flex-shrink: 0;
        }

        .container .info-label {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            width: fit-content;
            font-family: "LINESeedJP_Bd", Helvetica, sans-serif;
            font-weight: 700;
            color: #ffffff;
            font-size: 16px;
            letter-spacing: 0;
            line-height: 137.5%;
            white-space: nowrap;
            margin: 0;
        }

        .container .dd-dd {
            display: flex;
            flex: 1;
            align-items: center;
            gap: 8px;
            position: relative;
        }

        .container .info-value {
            position: relative;
            width: fit-content;
            font-family: "LINESeedJP_Rg", Helvetica, sans-serif;
            font-weight: 400;
            color: #ffffff;
            font-size: 16px;
            letter-spacing: 1px;
            line-height: 137.5%;
            white-space: nowrap;
            margin: 0;
        }

        .container .text-wrapper {
            position: relative;
            width: fit-content;
            font-family: "LINESeedJP_Rg", Helvetica, sans-serif;
            font-weight: 400;
            color: #ffffff;
            font-size: 16px;
            letter-spacing: 1px;
            line-height: 137.5%;
            margin: 0;
        }

        .container .div {
            display: flex;
            align-items: flex-start;
            gap: 50px;
            padding: 32px 16px;
            position: relative;
            align-self: stretch;
            width: 100%;
            flex: 0 0 auto;
            box-sizing: border-box;
        }

        .container .info-value-2 {
            position: relative;
            width: fit-content;
            font-family: "LINESeedJP_Rg", Helvetica, sans-serif;
            font-weight: 400;
            color: #ffffff;
            font-size: 16px;
            letter-spacing: 1px;
            line-height: 150%;
            margin: 0;
        }

        /* アニメーション用のスタイル */
.contact-container {
    filter: blur(20px);
    opacity: 0;
    transition: filter 0.6s ease-out, opacity 0.6s ease-out;
}

.contact-container.animate {
    filter: blur(0);
    opacity: 1;
}




           /* ---------header---------- */

        .header {
            position: fixed;
            width: 100%;
            z-index: 999;
            
          }
          
          
          .header01 {
            padding: 24px 64px 64px 64px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-right: auto;
          margin-left : auto;
          background: linear-gradient(180deg, #051417 25%, rgba(5, 20, 23, 0.00) 100%);
          
          }
          
          .header-menu-sp {
            display:none;
          }
          
          .sp-menu-open{
            display:none;
          }
          
          
          
          .header01-logo {
            width: auto;
            height:40px;
          }
          
          .header01-logo-sp{
            display: none;
          }
          
          .header01-swich{
            width: 54px;
            padding-bottom: 10px;
          }
          
          
          .header01-list {
            display: flex;
            align-items: center;
            gap: 32px;
          
            
          }
          
          .header01-item {
            transition: 0.5s;
          }

          .header01-item-none {
            display:none;
          }
          
          .header01-item a {
            font-size: 14px;
            color:#fff;
            font-family: "LINESeedJP_Bd";
              font-weight: 700;
          }
          
          
          .header01-item--contact {
            margin-left: 16px;
          }
          
          /* スクロール前のホバー効果 (デフォルト状態) */
          .header01-item a:hover {
            color: #77E27F !important;
            transition: color 0.3s ease;
          }
          
          .langage-btn:hover {
            border-color: #77E27F !important;
            border-radius: 4px;
            transition: border-color 0.3s ease;
          }
          

          
          /* 問い合わせボタン */
          .contact-btn {
            position: relative;
            background: #77E27F;
            display: flex;
            flex-direction: row;
            justify-content: center;
            width: 100%;
            border-radius: 4px;
            overflow: hidden;
            z-index: 1;
            transition: box-shadow 0.3s ease, transform 0.3s ease;
          }
          
  
          
          /* ホバー時のエフェクト */
          .contact-btn:hover {
            box-shadow: 0px 0px 12px 0px #00841d, 
                        0px 0px 20px 0px rgba(14, 255, 22, 0.3);
            transform: scale(1.02); /* わずかに拡大 */
          }
          
          
          .contact-btn .div {
            overflow-x: hidden;
            width: 180px;
            height: 54px;
            position: relative;
          }
          
          .contact-btn .group {
            position: absolute;
            width: 98px;
            height: 26px;
            top: 13px;
            left: 60px;

          }
          
          .contact-btn .text-wrapper {
            position: absolute;
            top: 0;
            left: 0;
            font-family: "LINESeedJP_Bd";
            font-weight: 700;
            color: #051417;
            font-size: 16px;
            letter-spacing: 0;
            line-height: normal;
          }
          
          .contact-btn .overlap-group {
            position: absolute;
            width: 34px;
            height: 34px;
            top: 10px;
            left: 10px;
            background-color: #051417;
            border-radius: 4px;
            transition: background-color 0.3s ease;
          }
          
     
          
          .contact-btn .img {
            position: absolute;
            width: 20px;
            height: 16px;
            top: 9px;
            left: 7px;
          }
          
        
          
          
          /* 言語切り替え */
          
          .langage-btn {
            display:flex;
            width:72px;
            height:30px;
            align-items:center;
            justify-content: center;
            gap: 8px;
            padding: 4px ;
            position: relative;
            border-radius: 4px;
            border: 1px solid;
            border-color: #ffffff;
          }
            
            .langage-btn .text-wrapper {
              position:relative;
              width: fit-content;
              color: #ffffff;
              font-size: 14px; 
              line-height: 100%; 
              white-space:nowrap;
              font-family: "LINESeedJP_Bd";
              font-weight: 700;
            }
          
            
          
            a {
                text-decoration: none;
                color: inherit;
              }
              
              ul {
                list-style: none;
              }



                 /* ---------Contact-pc---------- */

              .contact {
                background-color: #051417;
                width: 100%;
                min-width: 1440px;
                position: relative;
                display: flex;
                justify-content: center;
                align-items: center;
                padding-bottom: 120px;
            }
    
            .contact-container {
                display: flex;
                height: 260px;
                align-items: center;
                justify-content: center;
                gap: 40px;
                position: relative;
                background-color: #77e27f;
                border-radius: 16px;
                width: 1080px;
                overflow: hidden;
            }
    
            .contact-container .image {
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                width: 1065px;
                height: 176px;
                aspect-ratio: 6.03;
                object-fit: cover;
            }
    
            .contact-container .contact-text {
                position: relative;
                display: flex;
                align-items: center;
                justify-content: center;
                width: fit-content;
                font-family: "LINESeedJP_Bd", Helvetica, sans-serif;
                font-weight: 700;
                color: #000000;
                font-size: 24px;
                letter-spacing: 0;
                line-height: 150%;
                margin: 0;
                z-index: 10;
            }
    
            .contact-container .img {
                position: relative;
                width: 451px;
                height: 80px;
                aspect-ratio: 5.64;
                object-fit: cover;
                z-index: 10;
                transition: filter 0.8s ease, transform 0.8s ease;
            }

            .contact-container .img:hover {
                filter: invert(100%);
    transform: scale(1.02); /* わずかに拡大 */
            }

             /* ---------Footer-pc---------- */


            footer {
                background-color: #051417;
                color: white;
                padding: 120px 64px 120px 64px;
                border-top: 1px solid #808080;
              }
              
              .footer-mobile {
                display: none;
              }
              
              .footer-container {
                display: flex;
                justify-content: space-between;
                align-items: flex-start;
              }
              
              .footer-left {
                display: flex;
                flex-direction: column;
                align-items: flex-start;
                gap: 80px;
              }
              
              .footer-logo img {
                height: 40px;
              }
              
              .footer-copyright {
                font-size: 12px;
                opacity: 0.5;
                font-family: "LINESeedJP_Rg";
              }
              
              .footer-right {
                display: flex;
                flex-direction: column;
                align-items: flex-end;
                gap: 56px;
              }
              
              .footer-menu ul {
                display: flex;
                list-style-type: none;
                gap: 32px;
                margin: 0;
                padding: 0;
              }
              
              .footer-menu a {
                color: white;
                text-decoration: none;
                font-size: 14px;
                opacity: 1;
                transition:0.5s;
                
              }
              
              .footer-menu a:hover {
                opacity: 0.5;
                transition:0.5s;
              }
              
              
              .footer-top-btn{
                opacity: 1;
                transition:0.5s;
              }
              
              .footer-top-btn:hover{
                opacity: 0.5;
                transition:0.5s;
              }
              
              
              .top-btn {
                background-color: white;
                width: 140px;
                height: 48px;
                display: flex;
                align-items: center;
                justify-content: center;
                border-radius: 4px;
              }
              
              .top-btn .polygon {
                width: 21px;
                height: 14px;
              }

                     /* ローディング画面 */
        #loading {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: #051417;
            display: flex;
            justify-content: center;
            align-items: center;
            z-index: 9999;
            transition: opacity 0.5s ease-out;
        }

        #loading.fade-out {
            opacity: 0;
            pointer-events: none;
        }

        /* ローディングシンボル */
        .loader {
            position: relative;
            width: 100px;
            height: 100px;
        }

        /* 外側の円(白) */
        .loader-ring {
            position: absolute;
            width: 100%;
            height: 100%;
            border: 4px solid transparent;
            border-top-color: #fff;
            border-radius: 50%;
            animation: spin 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
        }

        /* 内側の円(緑) */
        .loader-ring:nth-child(2) {
            border-top-color: #77E27F;
            animation-delay: -0.4s;
            width: 80%;
            height: 80%;
            top: 10%;
            left: 10%;
        }

        /* 中央のドット(緑) */
        .loader-dot {
            position: absolute;
            top: 50%;
            left: 50%;
            width: 12px;
            height: 12px;
            background-color: #77E27F;
            border-radius: 50%;
            transform: translate(-50%, -50%);
            animation: pulse 1.2s ease-in-out infinite;
        }

        @keyframes spin {
            0% {
                transform: rotate(0deg);
            }
            100% {
                transform: rotate(360deg);
            }
        }

        @keyframes pulse {
            0%, 100% {
                transform: translate(-50%, -50%) scale(1);
                opacity: 1;
            }
            50% {
                transform: translate(-50%, -50%) scale(1.5);
                opacity: 0.5;
            }
        }

        /* ローディングテキスト(オプション) */
        .loading-text {
            position: absolute;
            bottom: -60px;
            left: 50%;
            transform: translateX(-50%);
            font-family: "LINE Seed JP_TTF-Bold", Helvetica, sans-serif;
            font-size: 14px;
            color: #fff;
            letter-spacing: 2px;
            animation: fadeInOut 1.5s ease-in-out infinite;
        }

        @keyframes fadeInOut {
            0%, 100% {
                opacity: 0.3;
            }
            50% {
                opacity: 1;
            }
        }

             /* ---レスポンシブ-pc------------------------------------------------------ */


        @media (max-width: 1440px) {
            .KV {
                height: 54.17vw; /* 780px → 54.17vw */
                min-width: 100vw;
            }
        
            .KV .kv-video {
                height: 100%;
                min-width: 100vw;
                transform: translateX(calc(-50vw + 10vw)); /* -720px + 400px */
            }
        
            .KV .hero-text-container {
                width: 75vw; /* 1080px → 75vw */
                top: 15.49vw; /* 223px → 15.49vw */
                gap: 2.99vw; /* 43px → 2.99vw */
            }
        
            .KV .hero-text {
                width: 44.34vw; /* 638.5px → 44.34vw */
            }

            .about {
                min-width: 100vw;
                padding: 5.1vw 0; /* 120px → 8.33vw */
            }
        
            .about-content {
                width: 100vw;
                padding: 0 12.5vw; /* 180px → 12.5vw */
            }
        
            .about .title {
                gap: 1.67vw; /* 24px → 1.67vw */
            }
        
            .about .union {
                width: 3.13vw; /* 45px → 3.13vw */
                height: 3.13vw;
            }
        
            .about .text-wrapper {
                font-size: 3.33vw; /* 48px → 3.33vw */
                line-height: 3.33vw;
            }
        
            .about .subtitle-container {
                width: 73.82vw; /* 1063px → 73.82vw */
                gap: 2.78vw; /* 40px → 2.78vw */
            }
        
            .about .subtitle {
                font-size: 1.63vw; /* 24px → 1.67vw */
            }
        
            .about .english-title-stroke-wrapper {
                height: 13.82vw; /* 199px → 13.82vw */
            }
        
            .about .english-title-stroke {
                height: 13.82vw;
            }

            .services {
                min-width: 100vw;
            }
        
            .services-content {
                width: 75vw; /* 1080px → 75vw */
            }
        
            .service-container {
                gap: 2.08vw; /* 30px → 2.08vw */
            }
        
            .service-container .service-card {
                width: 23.61vw; /* 340px → 23.61vw */
                height: 16.39vw; /* 236px → 16.39vw */
                gap: 1.18vw; /* 17px → 1.18vw */
                padding: 1.67vw 0.97vw; /* 24px 14px → 1.67vw 0.97vw */
                border-radius: 0.56vw; /* 8px → 0.56vw */
            }
        
            .service-container .service-header {
                gap: 1.11vw; /* 16px → 1.11vw */
            }
        
            .service-container .services-icon {
                width: 3.54vw; /* 51px → 3.54vw */
                height: 3.54vw;
            }
        
            .service-container .service-title {
                width: 16.46vw; /* 237px → 16.46vw */
                font-size: 1.25vw; /* 18px → 1.25vw */
                letter-spacing: 0.05vw; /* 0.72px → 0.05vw */
                line-height: 1.56vw; /* 22.5px → 1.56vw */
            }
        
            .service-container .service-description {
                width: 21.11vw; /* 304px → 21.11vw */
                font-size: 1.11vw; /* 16px → 1.11vw */
                letter-spacing: 0.04vw; /* 0.64px → 0.04vw */
                line-height: 1.67vw; /* 24px → 1.67vw */
            }

                .company {
                    min-width: 100vw;
                }
            
                .company-content {
                    width: 75vw; /* 1080px → 75vw */
                }
            
                .container {
                    gap: 5.56vw; /* 80px → 5.56vw */
                }
            
                .container .image-wrapper {
                    gap: 2.78vw; /* 40px → 2.78vw */
                }
            
                .container .image {
                    width: 11.94vw; /* 172px → 11.94vw */
                    height: 39.10vw; /* 563px → 39.10vw */
                }
            
                .container .company-info {
                    width: 57.5vw; /* 828px → 57.5vw */
                }
            
                .container .info-row {
                    width: 57.5vw;
                    gap: 3.47vw; /* 50px → 3.47vw */
                    padding: 2.22vw 1.11vw 2.29vw; /* 32px 16px 33px → 2.22vw 1.11vw 2.29vw */
                }
            
                .container .dt-dt {
                    width: 9.44vw; /* 136px → 9.44vw */
                    gap: 0.56vw; /* 8px → 0.56vw */
                }
            
                .container .info-label {
                    font-size: 1.11vw; /* 16px → 1.11vw */
                }
            
                .container .dd-dd {
                    gap: 0.56vw; /* 8px → 0.56vw */
                }
            
                .container .info-value,
                .container .text-wrapper {
                    font-size: 1.11vw; /* 16px → 1.11vw */
                    letter-spacing: 0.07vw; /* 1px → 0.07vw */
                }
            
                .container .div {
                    gap: 3.47vw; /* 50px → 3.47vw */
                    padding: 2.22vw 1.11vw; /* 32px 16px → 2.22vw 1.11vw */
                }
            
                .container .info-value-2 {
                    font-size: 1.11vw; /* 16px → 1.11vw */
                    letter-spacing: 0.07vw; /* 1px → 0.07vw */
                }

                    .contact {
                        min-width: 100vw;
                    }
                
                    .contact-container {
                        height: 18.06vw; /* 260px → 18.06vw */
                        gap: 2.78vw; /* 40px → 2.78vw */
                        border-radius: 1.11vw; /* 16px → 1.11vw */
                        width: 75vw; /* 1080px → 75vw */
                    }
                
                    .contact-container .image {
                        width: 73.96vw; /* 1065px → 73.96vw */
                        height: 12.22vw; /* 176px → 12.22vw */
                    }
                
                    .contact-container .contact-text {
                        font-size: 1.67vw; /* 24px → 1.67vw */
                    }
                
                    .contact-container .img {
                        width: 31.32vw; /* 451px → 31.32vw */
                        height: 5.56vw; /* 80px → 5.56vw */
                    }

                        .loader {
                            width: 6.94vw; /* 100px → 6.94vw */
                            height: 6.94vw;
                        }
                    
                        .loader-ring {
                            border-width: 0.28vw; /* 4px → 0.28vw */
                        }
                    
                        .loader-dot {
                            width: 0.83vw; /* 12px → 0.83vw */
                            height: 0.83vw;
                        }
                    
                        .loading-text {
                            bottom: -4.17vw; /* -60px → -4.17vw */
                            font-size: 0.97vw; /* 14px → 0.97vw */
                            letter-spacing: 0.14vw; /* 2px → 0.14vw */
                        }
                    }








.privacy-contact{
    font-size: 16px;
    font-family: "LINESeedJP_Rg";
    line-height: 200%;
    font-feature-settings: 'palt' on;
    text-align: left;
    color: #77E27F;
    text-decoration:underline;
    padding-top: 64px;
}



.privacy-contact:hover {
    color: #ace277 !important;
    transition: color 0.3s ease;
  }


                    .cover-page {
                        width: 100%;
                        height: 380px;
                        position: relative;
                        background-size: cover;
                        background-position: center;
                        overflow: hidden;
                        z-index: -1;
                      }
                      
                      .page-contents{
                        top: -220px;
                        margin: 0 auto -220px;
                        position: relative;
                        z-index: 1;
                      }
                      
                      
                      .section-privacy {
                        display: flex;
                        width: 1200px;
                        flex-direction: column;
                        align-items: center;
                        justify-content: space-between;
                        padding: 80px 90px 120px 90px;
                        position: relative;
                        background-color: #051417;
                        margin: 0 auto;
                      }
                      
                      
                      .section-privacy .privacy-h1 {
                      margin-bottom: 80px;
                      }
                      
                      
                      .page-h2{
                        display: inline-block;
                        font-size: 32px;
                        font-weight: bold;
                        background: #77E27F;
                        -webkit-background-clip: text;
                        -webkit-text-fill-color: transparent;
                      text-align: center;
                      margin-bottom: 40px;
                      }
                      
                      .privacy-text{
                        font-size: 14px;
                        font-family: "LINESeedJP_Rg";
                        line-height: 200%;
                        font-feature-settings: 'palt' on;
                        text-align: left;
                        color: #fff;
                      }
                      
                      .privacy-section1{
                        margin: 40px 0px 0px;
                        text-align: center;
                      }
                      
                      .privacy-section2{
                        margin: 0px 0px 80px;
                      }
                      
                      .page-h3{
                        display: inline-block;
                        font-size: 24px;
                        font-weight: bold;
                        background: #77E27F;
                        -webkit-background-clip: text;
                        -webkit-text-fill-color: transparent;
                        margin-top: 56px;
                        margin-bottom: 16px;
                      }
                      
                      
                      @media screen and (max-width: 899px) {
                      
                        .cover-page {

                            height: 48.27vw;
                            width: auto;
                        }
                        
                        .page-contents{
                          top: -28.54vw;
                          margin: 0 auto -28.54vw;
                        }
                        
                        
                        .section-privacy {
                          width:88.27vw;
                          padding:10.67vw 5.87vw 17.07vw 5.87vw;
                        }
                        
                        .section-privacy .privacy-h1 {
                        margin-bottom: 10.67vw;
                        height: 12.80vw;
                        width: auto;
                        }
                        
                        
                        .page-h2{
                          display: inline-block;
                          font-size: 5.33vw;
                        margin-bottom: 4.27vw;
                        }
                        
                        .privacy-text{
                          font-size: 3.20vw;
                          line-height: 225%;
                        }
                        
                        .privacy-section1{
                          margin: 8.53vw 0px 0px;
                          text-align: center;
                        }
                        
                        .privacy-section2{
                          margin: 0px 0px 10vw;
                        }
                        
                        .page-h3{
                          font-size: 4.27vw;
                          line-height: 175%;
                          margin-top: 10.67vw;
                          margin-bottom: 4.27vw;
                          
                        }
                      
                      
                      }
                      
                      
                      