#mainVisual_video{
  width: 100vw;
  overflow: hidden;
}

#mainVisual_video video{
  width: 100%;
}
@media screen and (max-width: 698px) {
  #mainVisual_video {
    position: relative;
    max-width: unset;
    overflow: hidden;
    aspect-ratio: 1/1;
  }
  #mainVisual_video video{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%) scale(4);
  }
}

.kv_stxt,.kv_stxt_nc{
  text-align: center;
}
.kv_stxt img,.kv_stxt_nc img{
  display: block;
}
.kv_stxt img{
  margin: auto;
  filter: invert(100%) sepia(1%) saturate(4%) hue-rotate(309deg) brightness(103%) contrast(104%);
}
@media screen and (max-width: 879px) {
  .kv_stxt img{
    width: 100% !important;
  }
}
.kv_stxt_nc img{
  margin: auto;
  filter: invert(100%) sepia(1%) saturate(4%) hue-rotate(309deg) brightness(103%) contrast(104%);
}

.kv_stxt00{
  position: relative;
}
.kv_stxt00_01,.kv_stxt00_02 {}
.kv_stxt00_01 { margin-top: calc( -2em - 10px); color: #FFF; font-size: 4.4rem; font-weight: 800; line-height: 44px; letter-spacing: 0.075em; transition-delay: 0.2s; font-size: 3.44vw; line-height: 1.02;}

.kv_stxt00_02 { color: #A8A8A8; font-size: 1.4rem; margin-top: 16px !important; transition-delay: 0.4s; font-size: 1.09vw; line-height: 2;}
@media screen and (max-width: 879px) {
  .kv_stxt00_01 { margin-top: calc(-4em - 8px); font-size: 3.2rem;}
  .kv_stxt00_01 span{ display: block; }
  .kv_stxt00_02 {font-size: 1.4rem;}
}


.kv_stxt01{
  margin-top: 182px;
}
@media screen and (max-width: 879px) {
  .kv_stxt01{
    margin: 128px auto 0;
    max-width: calc(540px - 32px);
    width: calc(100% - 32px);
  }
}
.kv_stxt01_01,.kv_stxt01_02,.kv_stxt01_03,.kv_stxt01_04 { width: 500px; height:auto;}
.kv_stxt01_02,.kv_stxt01_03,.kv_stxt01_04 { margin-top: 42px !important;}
@media screen and (max-width: 879px) {
  .kv_stxt01_02,.kv_stxt01_03,.kv_stxt01_04 { margin-top: 32px !important;}
}
.kv_stxt01_02 { transition-delay: 0.2s;}
.kv_stxt01_03 { transition-delay: 0.4s;}
.kv_stxt01_04 { transition-delay: 0.6s;}

.kv_stxt02{
  margin-top: 96px;
  margin-bottom: 416px !important;
}
@media screen and (max-width: 879px) {
  .kv_stxt02{
    margin: 117px auto 0;
    margin-bottom: 309px !important;
    max-width: calc(540px - 32px);
    width: calc(100% - 32px);
  }
}
.kv_stxt02_01 { width:102px; height:auto;}
@media screen and (max-width: 879px) {
  .kv_stxt img.kv_stxt02_01 { 
    margin: 0px 38% !important;
    width: auto !important;
  }
}
.kv_stxt02_02 { width:500px; height:auto; transition-delay: 0.2s;}
.kv_stxt02_03 { width:381px; height:auto; transition-delay: 0.4s;}
@media screen and (max-width: 879px) {
  .kv_stxt img.kv_stxt02_03 {
    margin: 0px 12%;
    width: auto !important;
  }
}
@media screen and (max-width: 879px) {
  .kv_stxt02_01 { width:102px; height:auto;}
  .kv_stxt02_02 { width:500px; height:auto; transition-delay: 0.2s;}
  .kv_stxt02_03 { width:381px; height:auto; transition-delay: 0.4s;}
}
.kv_stxt02_02,.kv_stxt02_03 { margin-top: 23px !important;}





/*==================================
COMMON
==================================*/
footer{
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 0 8px;
  color:#fff;
  background: #000;
}
@media screen and (max-width: 879px) {
  footer{
    padding: 0 8px 16px;
  }
}

.footer_info{
  font-size: 1.2rem;
}

.copyright{
  margin-top: 6px;
  font-size: 1rem;
  transform: scale(0.9);
}
@media screen and (max-width: 879px) {
  .copyright{
    padding: 0;
  }
}

.sct_ttl{
  margin-bottom: 64px;
  text-align: center;
  font-size: 1.4rem;
  color: #fff !important;
}



/*==================================
Individual
==================================*/

/*== sct_kv =======================*/
.sct_kv{
}
.kv_header{
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  margin: 80px 0 137px;
}
.kv_header_logo{
  width: 200px;
  margin: auto;
}
.kv_header_copy{
  margin-top: 20px;
  color: #fff;
  font-size: 1.4rem;
}
@media screen and (max-width: 698px) {
  .kv_header{
    margin: 80px 0 68px;
  }
  .kv_header_logo{
    width: 150px;
  }
  .kv_header_copy{
    font-size: 1rem;
  }
}
@media screen and (min-width: 2499px) {
  .kv_header{
    margin-top: 80px;
  }
}



/*== sct_service =======================*/
#sct_service{
  position: relative;
  background: #000;
  margin-top: 192px;
  width: 100%;
  color: #A8A8A8;
}
.service_layer_ttl{
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  line-height: 24px;
}
.service_layer_txt{
  margin-top: 32px;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 20px;
}
@media screen and (max-width: 879px) {
  #sct_service{
    margin-top: 116px;
  }
  .service_layer_txt{
    margin-bottom: 64px;
  }
  .grid_set .grid.t01:last-of-type .service_layer_txt{
    margin-bottom: 0;
  }
}


/*== sct_ceo =======================*/
#sct_ceo{
  position: relative;
  background: #000;
  margin-top: 182px;
  width: 100%;
  color: #A8A8A8;
}
.ceo_layer_ttl{
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  line-height: 24px;
}
.ceo_layer_txt{
  margin-top: 32px;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 20px;
}
@media screen and (max-width: 879px) {
  #sct_ceo{
    margin-top: 160px;
  }
}


/*== sct_contact =======================*/
#sct_contact{
  position: relative;
  margin: 182px 0 280px;
  width: 100%;
  color: #A8A8A8;
}
.contact_layer_ttl{
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  line-height: 24px;
}
.contact_layer_txt{
  margin-top: 32px;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 20px;
}
@media screen and (max-width: 879px) {
  #sct_contact{
    margin: 160px 0;
  }
}


/*==================================
KV Effect
==================================*/
.sct_kv .kv_header,
.sct_kv .kv_stxt00_01,
.sct_kv .kv_stxt00_02{
  opacity: 0;
	transition: transform 1s ,opacity 1s;
}
.sct_kv #mainVisual_video{
  opacity: 0;
	transition: opacity 3s;
}
.sct_kv .kv_header,
.sct_kv .kv_stxt00_01,
.sct_kv .kv_stxt00_02{
	transform: translate3d(0,50px,0);
}
.sct_kv .kv_header{}
.sct_kv .kv_stxt00_01{ transition-delay: 0.4s;}
.sct_kv .kv_stxt00_02{ transition-delay: 0.8s;}
.sct_kv #mainVisual_video{ transition-delay: 1.2s;}


.sct_kv.init .kv_header,
.sct_kv.init .kv_stxt00_01,
.sct_kv.init .kv_stxt00_02,
.sct_kv.init #mainVisual_video{
  opacity: 1;
	transform: none;
}


