/* フォント */
html{
  height: auto!important;
}


body{
  font-family:  "Noto Sans JP" ,serif!important;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings:
    "BNCE" 0,
    "INFM" 0,
    "SPAC" 0;
  width: 100%;
  
}

.wp-singular{
  height: auto;
}

.wp-block-heading{
color: white;
}



/* フォントを個別で設定する */
.noto-serif-regular {
  font-family: "Noto Serif", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}

.noto-serif-semibold {
  font-family: "Noto Serif", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}

.noto-sans-regular {
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}

.noto-sans-semibold {
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}
/* page top btn　装飾 */
 /* .page_top_btn {
  background-image: url(../img/page_top.png);
  background-color: rgba(255, 255, 255, 0);
  background-size: auto;
  box-shadow: none;
  height: 150px;
 } */


/* テキストに影入れる */
.shadow-text{
  text-shadow: 1px 0.1rem #333333;
}
.top-logo{
  display: flex;
  text-align: center;
}
.top-logo >a{
  display: flex;
  text-align: center;
}
.logo1{
  text-align: center!important;
  width: 240px;
  margin: 0 auto;
}

@media screen and (max-width: 768px){
  .logo1{
    width: 240px!important;
  }
}



.top-visual-container{
  padding-left: 0!important;
  padding-right: 0!important;
}
.top-visual-container div{
  padding-left: 0!important;
  padding-right: 0!important;
}

.mobile-background{
  padding: 0!important;
}

.title-padding{
  margin-left: 5%!important;
}

/* スマホのみ改行 */
@media screen and (min-width: 768px){
.br-sp {
  display: none;
}
}


/* who we are */
.we-title{
  font-weight: bold!important;
  font-size: 6rem!important;
}

.we-second-title{
  font-size: 1.7rem!important;
}

@media screen and (max-width: 768px){
  .we-title{
    font-size: 2.8rem!important;
  }
  .we-second-title{
  font-size: 1.1rem!important;
}
}

/* ギャラリーのループスライド */
.stk-slide-gallery {
  display: flex;
  align-items: center;
  overflow: hidden;
  gap: 16px;
  padding: 0 8px !important;
}

.stk-slide-gallery .wp-block-gallery {
  flex-wrap: nowrap;
  animation: loop-slide 30s infinite linear 1s both;
  gap: 16px!important;
}

.stk-slide-gallery .wp-block-image {
  width: 100px!important;
}

.stk-slide-gallery .wp-block-image img{
  border-radius: 20px;
}

@keyframes loop-slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}


/* sp時のロゴサイズ修正 */
@media screen and (max-width:1200px) {
  .top-logo img{
    height: auto!important;
  }
  
}

.grecaptcha-badge{
  bottom: 90px!important;
}

/* company page */
.column-1{
  white-space:nowrap ;
}
@media screen and (max-width: 767px) {
.column-1 ,.column-2{
  font-size: 13px;
}

}

/* 共通 */

/* レシポンブ対応で順番を入れ替える  */
@media screen and (max-width: 767px) {
  .container-1{
    order: 1;
  }

  .container-2{
    order: 2;
  }
  /* ぱっでぃんぐで幅調整 */
  .padding-adjust{
    padding: 0 15px!important;
  }
  /* マージンで幅調整 */
  .margin-adjust{
    margin: 0 20px!important;
  }
}


/* service page 装飾 */
.service-p p{
  margin-bottom: 0!important;
}

.padding-0{
  padding: 0!important;
}
.padding-0 div{
  padding-top: 3px!important;
}

@media screen and (max-width: 767px) {
  .padding-0 div{
  padding: 3px 5px 0 5px!important;
}
  }

.wp-block-vk-blocks-slider-item {
 margin-bottom: 50px;
}

.list-container{
  margin: 0 auto!important;
  width: fit-content;
}

.service-text-container {
  position: relative;
}

.service-text{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  margin: 0!important;
  font-family: "Helvetica", Sans-serif;
}

.number-large{
  font-size: 4rem;
  color: rgba(255, 255, 255, 0.4);
  position: relative;
}


/* カルーセル表示調整 */
.wp-block-list li{
  font-size: 0.93rem!important;
}

.strength-text {
  width: fit-content!important;
}


/* フェードイン */
.fadeIn{
  opacity: 0;
}
.fadeIn.is-show{
opacity: 0;
-webkit-animation: fade-in-bck 2.5s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
animation: fade-in-bck 2.5s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
}

@-webkit-keyframes fade-in-bck {
  0% {
    -webkit-transform: translateZ(80px);
            transform: translateZ(80px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
    opacity: 1;
  }
}
@keyframes fade-in-bck {
  0% {
    -webkit-transform: translateZ(80px);
            transform: translateZ(80px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
    opacity: 1;
  }
}



/* メイン1行目文字アニメーション */
/* .text-focus-in-1{
  opacity: 0;
} */

.text-focus-in-1 {
	-webkit-animation: text-focus-in 1s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
	        animation: text-focus-in 1s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
}

 @-webkit-keyframes text-focus-in {
  0% {
    -webkit-filter: blur(12px);
            filter: blur(12px);
    opacity: 0;
  }
  100% {
    -webkit-filter: blur(0px);
            filter: blur(0px);
    opacity: 1;
  }
}
@keyframes text-focus-in {
  0% {
    -webkit-filter: blur(12px);
            filter: blur(12px);
    opacity: 0;
  }
  100% {
    -webkit-filter: blur(0px);
            filter: blur(0px);
    opacity: 1;
  }
}

/* メイン2行目文字装飾 */
.text-focus-in-2{
	-webkit-animation: text-focus-in 1s 1s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
	        animation: text-focus-in 1s 1s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
  
}

/* メイン3行目文字装飾 */
.text-focus-in-3{
	-webkit-animation: text-focus-in 1s 2s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
	        animation: text-focus-in 1s 2s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
  
}



.focus-in-expand{
  opacity: 0;
}

.focus-in-expand.is-show {
	-webkit-animation: focus-in-expand 0.8s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
	        animation: focus-in-expand 0.8s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}

@-webkit-keyframes focus-in-expand {
  0% {
    letter-spacing: -0.5em;
    -webkit-filter: blur(12px);
            filter: blur(12px);
    opacity: 0;
  }
  100% {
    -webkit-filter: blur(0px);
            filter: blur(0px);
    opacity: 1;
  }
}
@keyframes focus-in-expand {
  0% {
    letter-spacing: -0.5em;
    -webkit-filter: blur(12px);
            filter: blur(12px);
    opacity: 0;
  }
  100% {
    -webkit-filter: blur(0px);
            filter: blur(0px);
    opacity: 1;
  }
}



/* 下からフェードイン */
.fadeIn_up {
  opacity: 0;
  
}
.fadeIn_up.is-show {
  -webkit-animation: slide-in-bottom 1.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
	        animation: slide-in-bottom 1.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}
@-webkit-keyframes slide-in-bottom {
  0% {
    -webkit-transform: translateY(30%);
            transform: translateY(30%);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@keyframes slide-in-bottom {
  0% {
    -webkit-transform: translateY(30%);
            transform: translateY(30%);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

/* h2装飾 */
.tracking-in-expand{
  /* letter-spacing: -0.5em; */
    opacity: 0;
}

.tracking-in-expand.is-show {
	-webkit-animation: tracking-in-expand 1.5s cubic-bezier(0.215, 0.610, 0.355, 1.000) both;
	        animation: tracking-in-expand 1.5s cubic-bezier(0.215, 0.610, 0.355, 1.000) both;
}

@-webkit-keyframes tracking-in-expand {
  0% {
    letter-spacing: -0.5em;
    opacity: 0;
  }
  40% {
    opacity: 0.6;
  }
  100% {
    opacity: 1;
  }
}
@keyframes tracking-in-expand {
  0% {
    letter-spacing: -0.5em;
    opacity: 0;
  }
  40% {
    opacity: 0.6;
  }
  100% {
    opacity: 1;
  }
}

/* フェードイン左から */
.fade-in-left{
  opacity: 0;
}

.fade-in-left.is-show {
	-webkit-animation: fade-in-left 1.2s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
	        animation: fade-in-left 1.2s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
}

@-webkit-keyframes fade-in-left {
  0% {
    -webkit-transform: translateX(-50px);
            transform: translateX(-50px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}
@keyframes fade-in-left {
  0% {
    -webkit-transform: translateX(-50px);
            transform: translateX(-50px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}

/* スケールインセンター */
.scale-in-center {
  opacity: 0;
}

.scale-in-center.is-show {
	-webkit-animation: scale-in-center 1.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
	        animation: scale-in-center 1.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}

 @-webkit-keyframes scale-in-center {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@keyframes scale-in-center {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
