



/* CSS Document */






@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}


@keyframes fadeUp {
  0% {
    opacity: 0;
    transform:translateY(30px)
  }
  100% {
    opacity: 1;
    transform:translateY(0px)
  }
}


/*※共通※*/
html{
  scroll-behavior: smooth;
}


body{
  line-height: 1;
  
     margin-left: auto;
    margin-right: auto;
    overflow-x: hidden;
   
}



*{
margin:0;
padding:0;
  box-sizing: border-box;
}
  
img{
  
  vertical-align: bottom;
  
  display:inline-block;
  margin: auto;
}
    
     

text{
   
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 400;
  color: #1c1b1b;
  
}
  






ul,
li {
  list-style: none;
 
}

a{
    
    font-family: "Zen Kaku Gothic Antique", sans-serif;
  
  font-style: normal;
  text-decoration: none;
}


.container{
 
 width: 100%;
 height: auto;
 

 
}






/* Loading背景画面設定　*/
#splash {
/*fixedで全面に固定*/
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 999;
  background-color:#2B16C9 ;
   text-align:center;
  
  
}


/* Loading画像中央配置　*/
#splash_logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Loading アイコンの大きさ設定　*/
#splash_logo img {
  width:300px;
}

/* fadeUpをするアイコンの動き */
.fadeUp{
animation-name: fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;

opacity: 0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  filter: blur(30px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}



@keyframes fadeUpAnimeforcontainer{
  0% {
    opacity: 0;
  transform: translateY(100%);
  }

  

  100% {
    opacity: 1;
  transform: translateY(-100%);
  }
}


@keyframes kf-animate-chars {
  0% {
    opacity: 0;
    transform: translateY(-50%);
    filter: blur(40px);
    
  }



  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes kf-animate-chars_0 {
  0% {
    opacity: 0;
    transform: translateY(-50%) translateX(10%) translate3d()
  }
  100% {
    opacity: 0;
    transform: translateY(0);
  }
}



.header_top{
    
    width: 100%;
    height: 80px;
    position:fixed;
    top:0;
    left: 0;
  display: flex;
  align-items: center;
   justify-content:space-between;
  padding:0 20px;
  z-index:1000;
    z-index: 900;
    
    
    

}
    

.companylogo-wrap{
    width: 170px;
    
    
    margin-top: 8px;
    z-index: 950;
   
}



.header__inner{
   
   
    width: 100%;
   height: 50px;
    position: fixed;
    left: 0%;
    top: 25px;
     display: flex;
     justify-content: center;
    text-align: center;
    backdrop-filter: none;
    
    
  
    
    
}


.header__inner.active{
  animation: slideinAnimeformenu forwards 0.6s;
}




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

  

  100% {
    opacity: 1;
    transform:translateX(0%);
  
  }


}

@keyframes slideinAnimeformenuclose{
  0% {
    
  opacity: 1;
    transform:translateX(0%);
  }

  

  80% {
    opacity: 0;
    transform:translateX(40%);
  
  }

  100% {
    display: none;
    opacity: 0;
     transform:translateX(100%);
  
  }


}





.header__inner.close{


 animation: slideinAnimeformenuclose forwards 0.5s ;}



.nav li{
  margin:10px 0;
}



.nav-items{
    display: flex;
    flex-direction: row; 
    align-items: center;
    justify-content: center;
    height:40px;
    width: 600px;
    margin-left: 7%;
    z-index: 900;
   font-family: "Zen Kaku Gothic Antique", sans-serif;
    font-weight: 600;
    gap: 30px;
   
   border-radius:3vw ;
   backdrop-filter: blur(20px);
   background-color: #efefefdb;
   

 }

 @media only screen and (min-width:1200px){
  .nav-items { 
    
    margin-left: 3%;
    
    
   }}



    

.nav-items__item a{
    font-size:1rem;
     color: #1c1b1b;
     
    font-optical-sizing: auto;
  
  font-style: normal;
      
   padding-bottom: 0px;
    transition:  0.5s;
   
    font-family: "Zen Kaku Gothic Antique", sans-serif;
    font-weight: 600;   
}
 



.nav-items__item a:hover {
    
 color: #5e53fa;
  
    
}







.menuButton{
 
    top:20px;
    right: 30px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    z-index: 900;
    position: relative;
    
}



#text {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
    letter-spacing: 0.8px;
  color: #fff;
font-size: 0.8rem;
  font-weight: 600;
  font-style: normal;
  position: absolute;
    top:19px;
    right: 10px;
    z-index: 930;
  
}



.menuButton{
  background-color:#2B16C9 ;
  border: 0.5px solid white;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    z-index: 920;
    color: rgb(99, 94, 94);
      position: fixed;
    top:15px;
    right: 17px;
    
     border: none;
    opacity: 1;
    
    transition: all 1s;
    
    
}

.menuButton:hover {
   
   border: solid 0.5px #9e9898aa;
      color: white;
      
      
       background-color: #aeacaadc;
    }



  

/*ヘッダーここまで*/






   
.top{
 min-height: 100vh;
    display:flex;
    flex-direction: column;
   align-items: center;
   
  
  
  
   position: relative;
  z-index: 1;
  
  will-change: transform;
   transform-origin: bottom;
}



.top_top{
    background-color: #EFEFEF;
    background-image: url(SVG2/topback3.svg);
    overflow: hidden;
    background-repeat: no-repeat;
  background-position: right 30% top 30%;
  background-size: 100%;
    
    margin: 0 auto;
    height:inherit;
    margin-top: 10vh;    
    max-width: 1700px;
    gap: var(--space-xl);
   border-radius: 20px;
   
   
    
}

.top_inner{
  width: 100%;
  height: 80vh;
  
  margin-top: 8vh;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  align-items:center;
  justify-content: space-between;
 


  
  
  gap: var(--space-m);
  transition: opacity 0.3s ease-out, filter 0.3s ease-out;
  will-change: opacity, filter;
  

}





.titlecontainer_wrap{
 width: 100%;
  margin: 0;
  
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  position: relative;
  z-index: 1;
  margin-top: -30px;

}







.title_jp{
  
  line-height: 50px;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 600;
  font-size: clamp(37px, 3.6vw, 43px);
  color: #1c1b1b;
  
  white-space: nowrap;
  margin-top: 10vh;
  opacity: 0;
  animation: fadeUpAnime forwards 0.8s;
    animation-delay: 2.8s;
    text-shadow: 0px 0px 1px rgba(195, 194, 196, 0.8);
     margin-left: 52%;
     margin-top: -60px;
    
}



h1{
    font-size: clamp(110px, 10.3vw, 120px);
    white-space: nowrap;
  max-width: 1100px;
    font-family: "Zen Kaku Gothic Antique", sans-serif;
   text-shadow: 1px 1px 1px rgba(241, 236, 236, 0.3);
     color: #1c1b1b;
    
    margin-bottom: 10px -10px 0 0;


    font-weight: 500;
    display: flex;
   
}





.title p{
  margin-left: -0.5px;
}

.title2 p{
  margin-left: -0.5px;
}




.title-1{
  opacity: 0;
}

.title-2{
  opacity: 0;
}

.title-3{
  opacity: 0;
}

.title-4{
  opacity: 0;
}

.title-5{
  opacity: 0;
}

.title-6{
  opacity: 0;
}

.title-7{
  opacity: 0;
}

.title-8{
  opacity: 0;
}

.title-9{
  opacity: 0;
}

.title-10{
  opacity: 0;
}

.title-11{
  opacity: 0;
}

.title-12{
  opacity: 0;
}

.title-13{
  opacity: 0;
}

.title-14{
  opacity: 0;
}

.title-15{
  opacity: 0;
}

.title-16{
  opacity: 0;
}

.title-17{
  opacity: 0;
}

.title-18{
  opacity: 0;
}

.title-19{
  opacity: 0;
}





.title-1{animation: kf-animate-chars forwards 0.1s;
  
  animation-delay: 2s;}

.title-2{animation: kf-animate-chars forwards 0.15s;
  animation-delay: 2s;}

.title-3{animation: kf-animate-chars forwards 0.2s;
  animation-delay: 2s;
opacity: 0;}

.title-4{animation: kf-animate-chars forwards 0.25s;
  animation-delay: 2s;}

.title-5{animation: kf-animate-chars forwards 0.3s;
  animation-delay: 2s;}

.title-6{animation: kf-animate-chars_0 forwards 0.35s;
  animation-delay: 2s;}

.title-7{animation: kf-animate-chars forwards 0.4s;
  animation-delay: 2s;}

.title-8{animation: kf-animate-chars forwards 0.45s;
  animation-delay: 2s;}

.title-9{animation: kf-animate-chars_0 forwards 0.5s;
  animation-delay: 2s;}

.title-10{animation: kf-animate-chars forwards 0.55s;
  animation-delay: 2s;}

.title-11{animation: kf-animate-chars forwards 0.6s;
  animation-delay: 2s;}

  .title-12{animation: kf-animate-chars_0 forwards 0.65s;
  animation-delay: 2s;}

 .title-13{animation:  kf-animate-chars forwards 0.7s;
  animation-delay: 2s;}

.title-14{animation: kf-animate-chars forwards 0.75s;
  animation-delay: 2s;}

.title-15{animation: kf-animate-chars forwards 0.8s;
  animation-delay: 2s;}

.title-16{animation: kf-animate-chars forwards 0.85s;
  animation-delay: 2s;}

.title-17{animation: kf-animate-chars forwards 0.9s;
  animation-delay: 2s;}

.title-18{animation: kf-animate-chars forwards 0.9s;
  animation-delay: 2s;}

  .title-19{animation: kf-animate-chars forwards 0.9s;
  animation-delay: 2s;}

  





.boxes_wrap{
  margin-left: 40%;
  margin-top: -18vh;
}




.boxwrap{
 
  transform:rotate(-20deg);

  

}


@media only screen and (min-width:1200px){
  .boxwrap{ 
    transform: scale(0.93);
   margin-top: -50px;
    margin-left: 120px;

    
    
    
   }}


    /* 各面 */

.box3d{
 position: relative;
  transform-style: preserve-3d;
  width:18.89vw;
  height:11.11vw;

  
  /* transform: rotateX(-20deg) rotateY(-40deg); ←削除OK */

  animation: rotation3d 50s infinite ease-in-out;
position: relative;
  will-change: transform; /* ←これ追加（滑らかになる） */
}
.box3d::after{
  content: "";
  position: absolute;
  top:30%;
  left:80%;
   width: 70%;
   height: 60%;
   background-color: #1c1b1b3a;
     filter: blur(30px);
    z-index: 1;}

.box3d div{
position:absolute;
box-sizing:border-box;
border:0.1px solid #e7eae7e6;

}
.box3dfront{
width:18.6vw;
height:11.11vw;
background: linear-gradient(to bottom, #F5F5F5 10%, #EEEDED 100%);
transform:translateZ(1.11vw);
}
.box3dback{
width:18.6vw;
height:11.11vw;
background: linear-gradient(to bottom, #F5F5F5 10%, #EEEDED 100%);
transform:rotateY(180deg) translateZ(1.11vw);
}
.box3dright{
width:2.22vw;
height:11.11vw;
background: linear-gradient(to bottom,  #dadeed 10%, #9a9999f4 100%);
transform:rotateY(90deg) translateZ(17.44vw);
}
.box3dleft{
width:2.22vw;
height:11.11vw;
background: linear-gradient(to top,  #9a9999f4 10%, #9a9999f4 10%);
transform:rotateY(-90deg) translateZ(1.11vw);
}
.box3dtop{
width:18.6vw;
height:2.22vw;
background: linear-gradient(to bottom,  #dadeed 10%, #9a9999f4 100%);
transform:rotateX(90deg) translateZ(1.11vw);
}
.box3dbottom{
width:18.6vw;
height:2.22vw;
background: linear-gradient(to bottom, #dadeed 10%, #9a9999f4 100%);
transform:rotateX(-90deg) translateZ(10vw);
}

@keyframes rotation3d {
    from,
    0% {
        transform: rotateX(80deg) rotateY(-300deg) rotateZ(20deg) scale(2.6) ;
    }
    10% {
        transform: rotateX(40deg) rotateY(-180deg) rotateZ(15deg) scale(2.6);
    }

  40% {
        transform: rotateX(20deg) rotateY(0deg) rotateZ(10deg) scale(2.6);
    }

  80% {
        transform: rotateX(40deg) rotateY(-180deg) rotateZ(15deg) scale(2.6) ;
        
    }
    100% {
        transform: rotateX(80deg) rotateY(-300deg) rotateZ(20deg) scale(2.6) ;
        
    }


 
  
   

}


/*ここからメイン*/

.zoom-wrap{
  position: absolute;
  top:150px;
  left: 120px;
  z-index: -1;
}


.zoom-wrap img {
  width: 96%;
  display: block;
  transform: scale(1);
  transition: transform 0.2s linear;
  will-change: transform;
}



.about{
    width: 100%;
    font-family: "Zen Kaku Gothic Antique", sans-serif;
 position: relative;
    padding-block: var(--space-xl) 0;
   
 position: relative;
  z-index: 10;
   /* 最初ちょっと下 */
 transform: translateY(0px);
 will-change: transform;
 /*background-image: url(SVG2/aboutback.svg);*/
 background-repeat: no-repeat;
 background-size: 95%;
 
 
 padding-top:10vh ;
 background-position: left 110% bottom 50%;
 padding-bottom: 80px;
}
      

.about_inner1{

    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
  
  
  height: auto;
  padding: 120px 0;

  
}


.enabout_title{
  position: relative;
  font-size: clamp(20px, 2.8vw, 23px);
  z-index: 1;
  margin-left: 70px;
}




.enabout_title::after{
  content:"";
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background-color: #2B16C9 ;
  position: absolute;
  top:5px;
  left: -25px;


}


.aboutupper_flex{
 width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: var(--space-m);
  margin-left: 40px;

}


.about_headtext_title{
  font-size: clamp(48px, 5vw, 53px);
  font-weight: 600;
  line-height:50px ;
  
  opacity: 0;
}


.about_headtext{

font-size: clamp(19px, 1.6vw, 21px);
font-weight: 500;
width: 67%;
line-height: 40px;
margin-bottom: -10px;


}

#about_headtext_title2{
  margin-bottom: 30px;
  animation-delay: 0.2s;
}









.about_headtext_title.show{
    animation: fadeUp  forwards ease-in-out 0.9s;
    animation-delay: 0.3s;
     
}









.feature{

  width: 100%;
  height: auto;
  padding-block: var(--space-xl) 0;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
 
  background-repeat: no-repeat;
  background-size: cover;
  background-color: #EFEFEF;
  background-image: url(SVG2/sircke.svg);
  background-size: 80%;
  background-position: left 300% bottom 820px;
border-radius: 20px;
  
  
  padding-bottom: 250px;
  
  
  
}

 @media only screen and (min-width:1200px){
 .feature { 
    
    background-position: left 340% bottom 640px;
    background-size: 85%;
    
    
   }}





.feature_inner{
  width: 100%;
  display: flex;
  flex-direction: column;
  
    justify-content: space-around;
  padding-block: var(--space-xl) 0;
  height: auto;
  
  
  


}



.stitle_wrap{


width: 350px;
margin-bottom: 100px;



}






.stitle_en{
font-size: 110px;
margin-bottom: 25px;
position: relative;
margin-top: 30px;
opacity: 0;


}

.stitle_en.show{
    animation: fadeUp  forwards ease-in-out 0.8s;
}

.stitle_jp.show{
    animation: fadeUp  forwards ease-in-out 0.8s;
}

.contacttitle.show{
    animation: fadeUp  forwards ease-in-out 0.8s;
}

.feature_text_m.show{
    animation: fadeUp  forwards ease-in-out 0.8s;
}



.stitle_en::after{
position: absolute;
top:-50px;
left: -100px;
content: "";
background-color: #1c1b1b;
height: 0.4px;
width: 250px;

}




.stitle_jp{
font-size: clamp(20px, 2.09vw, 23px);
margin-top: -10px;
position: relative;
margin-left: 30px;
opacity: 0;

}

.stitle_jp::before{
 content:"";
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background-color: #2B16C9 ;
  position: absolute;
  top:2px;
  left: -25px;

}


H3{font-size: clamp(17px, 1.54vw, 20px);
  margin-bottom: 25px;
}







.feature_wrap{
 display: flex;
 flex-direction: column;
 
 width: 70%;
  
  
  
  
  
}


.feature_text_m{
font-size: clamp(38px, 3.7vw, 40px);
font-weight: 600;
margin-bottom: 20px;
white-space: nowrap;
line-height: 60px;
opacity: 0;
}

.feature_text_s{
font-size: clamp(17px, 1.54vw, 20px);
font-weight: 500;
line-height: 45px;}




.teamimg img{
  
  width: 400px;
  margin-left: -100px;
  margin-top: 30px;
  margin-right: 40px;
  
}

.teamimg{
  width: 102%;
  margin-top: 80px;
padding: 60px 80px;
background-color:white;
   box-shadow: 5px 5px 5px 5px rgba(0, 0, 0, 0.012);
border-radius: 3vw;
display: flex;
align-items: flex-start;
justify-content: space-around;
}

.teamtexts{
  font-size: clamp(17px, 1.54vw, 20px);
font-weight: 500;
line-height: 30px;

margin-top: 70px;}

.teamtext{
  margin-bottom: 20px;
}












.doneimg{
  margin-left: -20px;
   box-shadow: 3px 3px 10px 10px rgba(167, 164, 164, 0.141);
  
}





.strengthtoworks{
 
  width: 100%;
  height: auto;
  
  font-family: "Zen Kaku Gothic Antique", sans-serif;
 
 
 background-repeat: no-repeat;
background-size: cover;


font-weight: 500;

}


.strength{
  width: 100%;
   
  
  
  color:rgb(8, 8, 8);
  
  
  
 
  background-size: 1100px;
  background-repeat: no-repeat;
  background-position: left 80% top 530px;
 
 padding-block: var(--space-xl) 0;
 padding-bottom: 100px;
  
}

.strength_inner{
  width: 100%;
  
  padding-block: var(--space-xl) 0;
  height: auto;
  padding: 120px 20px 120px 20px;
  
position: relative;
display: flex;
flex-direction: column;



}

.back_object{
  position: absolute;
  top:30px;
  left: 60%;
  z-index: 2;
  width:360px;
  opacity: 0;
}

.back_object.show{
  animation: fadeUp  forwards  ease-in 0.3s;
  animation-delay: 0.3s;
}




#strength_titlewrap{
  width: 300px;
  display: inline-block;
  
  position: relative;
  color:rgb(8, 8, 8);
 
}

#jp_strengthtitle{
  margin-top: 10px;
}


#en_strengthtitle::before{

  position: absolute;
top:-10px;
left: -25px;
content: "";
background-color: rgb(9, 9, 9);
height: 0.8px;
width: 185px;
}


.strength_allflexwrap{
  display: flex;
  flex-direction: column;
  width: 110%;
  margin-top: 100px;
  margin-left: -5%;
  
  z-index: 3;
  
  gap:70px;
  color: #2c2a2a;
  
   
  
}





.strength_flex_wrap{
  display: flex;
  flex-direction: row;
   
   padding-right: 50px;
   align-items: center;
   justify-content: flex-start;
   
   border-radius: 20px;
   
}







.leftitems{
  display: flex;
  flex-direction: column;
  gap: 10px;
  justify-content: center;
  
}




.righttems{
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  
  width: 100%;
  margin-top: -40px;
   

}

.righttems_upper{
  display: flex;
  flex-direction: column;
  
  align-items: flex-end;
  margin-bottom: 15px;
  

 
}



.strength_tema_lm{
font-size: clamp(50px, 4.2vw, 58px);

font-weight: 600;

line-height: 60px;
white-space: nowrap;

margin-left: 20px;


}

.strength_tema_sm{
font-size: clamp(26px, 3.6vw, 28px);
font-weight: 600;
line-height: 37px;
margin-bottom: 10px;



  
}

.strength_text_s{
font-size: clamp(17px, 1.54vw, 19px);
font-weight: 500;
line-height: 37px;
margin-bottom: 20px;

margin-top: -40px;
width: 55%;

}



.strength_tema_s{
  font-size: clamp(17px, 1.54vw, 20px);
font-weight: 500;
line-height: 37px;
width: 90%;}

.left_m{
  font-size: clamp(70px, 6.81vw, 75px);

font-weight: 600;
line-height: 140px;
position: relative;
}

.left_m::before{
  content: "";
  width: 270px;
  height: 0.8px;
  background-color: rgb(12, 12, 12);
  position: absolute;
  top:80px;
  left: -280px;
}


.strengthimagwrap{
width: 400px;
height: 520px;

margin-left: 0%;
margin-right: 0%;

border-radius: 1%;
overflow: hidden;

}



.leftitems img{
  object-fit: cover;
  background-color:#efefefe1 ;

}





/* 紙芝居風 */
/* 初期状態 */
.strength_flex_wrap {
  opacity: 0;
  transform: translateY(80px);
  transition: all 0.8s ease;
}

/* 表示状態（専用クラス） */
.strength_flex_wrap.strength-show {
  opacity: 1;
  transform: translateY(0);
}

/* テキスト遅延 */
.strength_flex_wrap .righttems {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.6s ease;
  transition-delay: 0.3s;
}

.strength_flex_wrap.strength-show .righttems {
  opacity: 1;
  transform: translateY(0);
}

/* 画像ズーム */
.strengthimagwrap img {
  transform: scale(1);
  transition: transform 1s ease;
}

.strength_flex_wrap.strength-show img {
  transform: scale(1.05);
}





.works{
 
 width: 100%;
 height: auto; 

  border-top:0.5px solid rgba(221, 219, 219, 0.011);
   border-bottom:5px solid rgba(0, 0, 0, 0.011);
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  padding-block: var(--space-xl) 0;

background-color: #EFEFEF;
 background-size: 100%;
 background-position: bottom 30%;
background-repeat: no-repeat;
border-radius: 20px;
   padding-bottom: 200px;
}



.works_innner{
width: 100%;
  
  padding-block: var(--space-xl) 0;
  height: auto;
  
  
position: relative;
display: flex;
flex-direction: column;

}


.works_headtext_m{
  font-size: clamp(34px, 3.01vw, 38px);
  font-weight: 600;
margin-bottom: 40px;
margin-top: 60px;
margin-left:60px;
line-height:50px;}

.works_headtext_s{
font-size: clamp(17px, 1.54vw, 20px);
font-weight: 500;
line-height: 37px;
margin-left: 60px;

}

 







.works a{
  color: #1c1b1b;
transition: 2;

}

.slider {
  margin-top: 50px;
  overflow: hidden;
  width: 104%;
}

.slider-track {
  display: flex;
  width: max-content;
  animation: scroll 45s linear infinite;
}

.worksimgwrap_wrap {
  display: flex;   /* ← gridやめる */
  gap: 10px;
  margin-right: 20px;

}

.worksimgwrap_wrap img {
  width: 200px;
  height: 250px;
  object-fit: cover;
  border-radius: 1%;
}



@keyframes scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}














.company{
   
   font-family: "Zen Kaku Gothic Antique", sans-serif;
    
   font-weight: 500;
   
  
 padding-block: var(--space-xl) 0;
 padding-bottom: 80px;
 
 
}


.company_inner{
  
   padding-block: var(--space-xl) 0;
    margin: auto;
    
    display: flex;
   flex-direction: column;
   align-items: flex-start;
   justify-content: space-around;
}

.companytitle_wrap{
  margin-bottom: 30px;
}


.company_textswrap{
    
   
   margin-top: 40px;
   margin-left: 10%;
   width: 90%;
    
}




.subtitle{
    font-weight: 500;
    font-size: 1.9vw;
    width: 19%;
     white-space: nowrap;
    
}







.company_text{
    font-weight: 400;
    font-size: 1.7vw;
   width: 65%;
    margin-right: 40px;
    text-align: start;
    line-height: 2rem;
   
}










.company_line1{
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    height: 130px;
    border-bottom: #5e5d5de5 0.9px solid;
    column-gap:30px;
    
   padding-top: 20px;
    padding-bottom: 20px;
 
}



.company_line2{
   display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    height: 130px;
    border-bottom: #5e5d5de5 0.9px solid;
    column-gap:30px;
    
   padding-top: 20px;
    padding-bottom: 20px;
   
}



.company_line3{
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    height: 130px;
    border-bottom: #5e5d5de5 0.9px solid;
    column-gap:30px;
   
   padding-top: 20px;
    padding-bottom: 20px;
    
}



.company_line4{
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    height: 250px;
   border-bottom: #5e5d5de5 0.9px solid;
    gap:-10px;
    margin-bottom: 50px;
    padding-top: 20px;
    padding-bottom: 20px;
    
    
}


#subtitle_sp_seturitu{
  margin-left: 0px;
}


#companytext_sp_seturitu{
  margin-left: 30px;
}









/*カンパニーここまで*/




/*joinusここから*/

.recruit{
 
 width: 100%;
 height: auto;
 font-family: "Zen Kaku Gothic Antique", sans-serif;
    background-color: #EFEFEF;
   font-weight: 500;
   padding-block: var(--space-l) 0;
 
 position: relative;
box-shadow: 10px 10px 10px 2px rgba(95, 95, 95, 0.149);
border-top:0.5px solid rgba(221, 219, 219, 0.011);
 border-top-left-radius: 20px;
 border-top-right-radius: 20px;
 
}

.recruit_inner{
  width: 100%;
  
   padding-block: var(--space-xl) 0;
    margin: auto;
    padding-bottom: 120px;
    
   
   
   
  
}






.recruit_flexwrap{
  display: flex;
flex-direction: row;
  align-items:flex-start;
  
  margin-top: 80px;
  margin-left: 0px;
  
  

}

#en_recruitetitle

{
font-size: clamp(100px, 9.02vw, 110px);}


#jp_recruitetitle

{
font-size: clamp(25px, 2.27vw, 28px);
margin-bottom: 40px;
}



/* タイトル */


/* 小さいテキスト */
.recruit_small{
  margin-bottom: 20px;
}


/* キャッチコピー */
.recruit_subtitle{
  margin-top: 40px;
  font-size: clamp(30px, 3.7vw, 50px);
  line-height: 1.4;
  margin-bottom: 30px;

  
}

.recruit_left p{
  font-size: clamp(20px, 2vw, 24px);
font-weight: 500;
line-height: 37px;}





.recruitform_text{
  color: rgb(11, 11, 11);
}


.viewmore_topslide{
  display: flex;
  flex-direction: column-reverse;

  margin-top:0px;
  
  width: 50%;
  margin-left: 70px;
  
}

.viewmore{
 
 position: relative;
   
  width: 300px;
    margin-top: 0px;
  transform: scale(0.56);
  
 
  height: auto;
  align-self: flex-end;
  margin-top: -130px;
  
    
  
  
  
}





.viewmore p{
  
  margin-top: 0;
    margin-bottom: 0;
    position: absolute;
    margin-top: -96px;
    left: 200px;
    width: 300px;
    font-size: 40px;
    font-weight: 600;
    
}

.viewmore img{

  width: 150px;
  height: auto;
  aspect-ratio: 1/1;
  margin-left: 200px;
 border-radius: 50%;
 border: solid 1px #fdfcfcaa;
 padding:  40px;
margin-left: 5px;
transition: all 0.8s;
background-color:#2B16C9;
 
  
}





.viewmore:hover img {
   
   border: solid 1px  #e4e7e8c0;
  background-color: #aeacaadc;
   transform:  translateY(-5px) rotate(-45deg);
   box-shadow: 0px 10px 10px 2px rgba(0, 0, 0, 0.047);
  


   
    
}


.topslid_left{
  position: relative;
  width: 50%;
  height: 600px; /* 好きに調整 */
  
  
}

.topslid_left::after{
  content: "";
  position: absolute;
  top:0px;
  left: 40px;
  width: 380px;
  height:430px;
  background-color: #2B16C9;
  border-radius: 1%;
  z-index: 1;
  transform: rotate(10deg);
box-shadow: 20px 20px 20px 2px rgba(0, 0, 0, 0.326);

}

.topslid_left img{
  position: absolute;
  top: 0;
  left: 0;
  width: 380px;
  height:430px;
transform: rotate(0deg);
  object-fit: cover;
box-shadow: 20px 20px 20px 2px rgba(0, 0, 0, 0.326);
  opacity: 0;
  transition: opacity 1s ease;
  background-color: #050505;
    border-radius: 1%;
}

/* 表示中 */
.topslid_left img.current{
  opacity: 1;
  z-index: 2;
}










.contactandfooterback{
background-image: url(SVG2/footerback.svg);
background-size: 105%;
   background-position: right 5% top -5%;
   background-repeat: no-repeat;
  background-color: #C1C2C3;
  
 
   
  
   
   
}



/*ここからcontact*/

.contact{
   
   font-family: "Zen Kaku Gothic Antique", sans-serif;
    width: 100%;
   height: auto;
   
    
    
   
   font-weight: 500;
   
   
  color: white;
 padding-block: var(--space-xl) 0;
 padding-bottom: 40px;


 

}


.contact_inner{
  
   
    width: 100%;
    display: flex;
   flex-direction: column;
   align-items: flex-start;
   justify-content: space-around;
   padding-block: var(--space-xl) 0;
    padding-top: 80px;
}


.contact_flexwrap{
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  
  
}

#contacten{
  font-size: 90px;
margin-bottom: 20px;
position: relative;
}


.contact_titletext{
 font-size: clamp(20px, 1.7vw, 24px);
font-weight: 500;
line-height: 30px
}


.contact_right{
  display: flex;
  flex-direction: column;
  justify-content: end;
  align-items: center;
}

.contact_tell{
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  text-align: end;
  margin-top: -30px;
  display: flex;
  flex-direction: column;
 
  
}




.contact_tell a{
   color: #fff;
  font-size: 3.5vw;
  font-weight: 600;
  margin-bottom: 20px;
  white-space: nowrap;
  transition: all 0.6s;
  
}


.contact_tell a:hover{
  opacity: 0.7;
  color:#2B16C9;
}

.contact_tell p{
  font-size: 1.9vw;
  margin-top: 10px;
  color: #fff;
}


.gotoform{
 
 position: relative;
   
  width: 100%;
    margin-top: 0px;
  transform: scale(0.56);
  
 margin-left: -130px;
  height: auto;
  
  
    
  
  
  
}


.gotoform a{
  
   color: #fff;
   
}


.gotoform p{
  
  margin-top: 0;
    margin-bottom: 0;
    position: absolute;
    margin-top: -96px;
    left: 200px;
    width: 300px;
    font-size: 40px;
    font-weight: 600;
    
}

.gotoform img{

  width: 150px;
  height: auto;
  
  margin-left: 200px;
 border-radius: 50%;
 border: solid 1px #fdfcfcaa;
 background-color:#2B16C9;
 padding:  40px;
margin-left: 5px;
transition: all 0.8s;

 
 
  
}





.gotoform:hover img {
   
   border: solid 1px  #e4e7e8c0;
  background-color: #aeacaadc;
   transform:  rotate(-45deg);
   box-shadow: 0px 10px 10px 2px rgba(0, 0, 0, 0.047);
  
  

   
    
}






.footer{

 
  font-family: "Zen Kaku Gothic Antique", sans-serif;
 color: white;
 
position: relative;
z-index: 3;

padding-bottom: 100px;
margin-top: 100px;


 



   
}

.footer::before{
  content: "";
  position: absolute;
  top:0px;
  left: 20%;
  width: 60%;
  height: 1px;
  background-color: white;
}


.footer_inner{
width: 100%;
  padding-block: var(--space-xl) 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  
 

}

.footerupper_upper{
width: 100%;
display: flex;
  flex-wrap: wrap;
  text-align: start;
  
}

.footer_texts{
font-size: clamp(17px, 1.54vw, 20px);
font-weight: 500;
line-height: 37px;
width: 70%;
border-right: white solid 0.5px;}

.footernav__inner{
  width:30%;
  padding-left: 40px;

 

}

.footernav-items{

  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
 
  
}

.footernav-items a{

 color: white;
 font-weight: 500;
 font-size: 20px;
 width: 50%;
 margin-right: 40px;
 line-height: 50px;
 display: inline;
 
 transition: all 0.8s;

 
}


.footernav-items a:hover{
  color: #2B16C9 ;
}



.imgfooter{
  width: 100%;
  height: 80vh;
background:#1c1b1b;
background-size:130%;
background-repeat: no-repeat;
background-position: top -50%; left: 0%;

background-image: url(syasin/img1.jpg);

position: relative;
z-index: 0;
padding-top:40px;
padding-bottom:40px;
padding-left: 40px;
padding-right: 40px;




}

.footerlogo{
width: 40%;
max-width: 600px;


}


.imgfooter_texts_frex{
  width: 100%;
   margin: auto;
  margin-top: 46vh;
  max-width: 1250px;
 
  display: flex;
  flex-direction: row;
  align-items: end;
  justify-content: space-between;
}

.imgfooter_texts{

  
  font-size: clamp(38px, 3.7vw, 40px);
font-weight: 600;
width: 70%;
color: white;



}


.imgfooter_texts_s{

margin-top: 10px;
  font-size: 20px;
}

.copyright{
    font-size: 14px;
    font-weight: 500;
    text-align: end;
   
   
    

width: 40%;
color:white;
}






.footer_icons{
    width:300px;
    height: auto;
   display: flex;
   flex-wrap: nowrap;
   align-items: center;
  
  margin-bottom: 10px;
  margin-left: 60px;
  margin-top: 40px;
  
  
}

.footer_icons img{
  
    transition: 0.4s;
}

.footer_icons img:hover{
    transform: translateY(-5px);
}











/* AIからの共通要素 */

:root {
  --space-s: 16px;
  --space-m: 24px;
  --space-l: 40px;
  --space-xl: 80px;
}

:root {
  --container-padding: clamp(16px, 5vw, 64px);
}

.container_on {
  width: min(100%, 1180px);
  margin-inline: auto;
  padding-inline: var(--container-padding);
  padding-left: 60px;
  padding-left: 60px;
}


.top_top::after{
  content: "";
  position: absolute;
  inset: 0;
  background: #000;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
}

.top_top::after{
  opacity: var(--dark, 0);
}

.top{
  position: relative;
  z-index: 1;
}

.about{
  position: relative;
  z-index: 2; /* ←上にくる */
  margin-top: -2vh; /* ←これで重ねる */
}




