/* index */

        /* リンクのスタイル */
        .link {
            display: inline-block;
            position: relative;
            font-size: 24px; /* フォントサイズ */
            font-weight: bold; /* 太字 */
            color: black; /* テキスト色 */
            text-decoration: none; /* アンダーラインを削除 */
            padding-right: 60px; /* 矢印アイコン分のスペースを確保 */
            transition: color 0.3s ease; /* ホバー時の色変化をスムーズに */
            color: #343434;
            font-weight: 400;
            text-decoration: none;
        }

        .link:hover {
            color: gray; /* ホバー時のテキスト色 */
        }

        /* 矢印アイコンの背景画像 */
        .link::after {
            content: '';
            position: absolute;
            top: 50%;
            right: 0;
            transform: translateY(-50%);
            width: 50px; /* 矢印アイコンの幅 */
            height: 20px; /* 矢印アイコンの高さ */
            background-image: url('../img/icon.png'); /* 矢印アイコンの背景画像 */
            background-size: contain; /* 背景画像を要素内に収める */
            background-repeat: no-repeat; /* 背景画像を繰り返さない */
            transition: transform 0.3s ease; /* ホバー時の動きをスムーズに */
        }

        /* ホバー時の矢印の動き */
        .link:hover::after {
            transform: translateY(-50%) translateX(10px); /* 右に10px移動 */
        }



/* 動画を背景全体に広げる */
.video-background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: -1; /* 背景として他の要素の後ろに配置 */
}

.video-background iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none; /* 動画のクリックを無効化 */
}

/* オーバーレイのスタイル */
.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); /* 半透明の黒を重ねる */
  pointer-events: none; /* オーバーレイのクリックを無効化 */
}




/* コンテンツのスタイリング */
.content {
  position: relative;
  z-index: 1; /* 動画の上に表示 */
  color: white;
  text-align: center;
  font-family: Arial, sans-serif;
  padding: 20px;
}


/* indexの追加コード */

.site-header{
  border-bottom:none;
}
.site-content{
  background: #fff;
  max-width:100%;
  margin-top: 100vh;
}

.Ks-index-main{
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 10em;
}
.Ks-index-main section {
  padding: 2rem;
  text-align: center;
}
@media screen and (max-width: 782px) {
  .Ks-index-main section {
    padding: 0rem;
    text-align: center;
  }
}

.KVcopy{
  position: fixed;
  top: 6vh;
  right: 15vw;
  text-align: right;
  z-index: -1;
}
.KVcopy h2{
  font-size: 60px;
  font-weight: 800;
  color: #fff;
}
.KVcopy h2 span{
  font-size: 14px;
}
@media screen and (max-width: 782px) {
    .KVcopy{
    top: 20vh;
    right: 5vw;
  }
  .KVcopy h2{
    font-size: 30px;
    font-weight: 800;
  }
.KVcopy h2 span{
  font-size: 8px;
}

}

.Ks-about,.Ks-Four,.Ks-Bussiness,.Ks-Bussiness{
  margin: 3rem 0;
  padding: 2rem 0;
  flex-wrap: wrap;
  position: relative;
}
@media screen and (max-width: 782px) {
  .Ks-about,.Ks-Four,.Ks-Bussiness,.Ks-Bussiness{
    margin: 3rem 0;
    padding: 1rem 0;
    flex-wrap: wrap;
    position: relative;
  }
}


.Ks-about section{
  display: flex;
}
.Ks-about section .Ttl{
  text-align:left;
  width: 50%;
}
.Ks-about section .Ttl h2{
  font-size: 100px;
  margin-top:1em;
  margin-bottom:0;
}
.Ks-about section .Ttl span{
  font-size: 14px;
  font-weight: bold;
}
.Ks-about section .Txt{
  float: right;
  width: 50%;
  margin-top: 5em;
  text-align: left;
}
.Ks-about section .Txt h3{
  font-size: 30px;
}
@media screen and (max-width: 782px) {
  .Ks-about{
    margin-bottom: 5em;
  }
  .Ks-about section{
    display: block;
  }
  .Ks-about section .Ttl{
    width: 100%;
  }
  .Ks-about section .Ttl h2{
    font-size: 60px;
  }
  .Ks-about section .Txt{
    float: none;
    width: 100%;
    margin-top: 0em;
  }
  .Ks-about section .Txt h3{
    font-size: 20px;
  }
}
.Ks-Four{
  text-align:right;
  width: 50%;
  position: relative;
  height: 110vh;
}
.Ks-Four section{
  text-align:right;
  position: relative;
  left: 100%;
}
.Ks-Four section .Ttl{
  margin-bottom:4em;
}
.Ks-Four section .Ttl h2{
  font-size: 100px;
  margin-top:0;
  margin-bottom:0;
}
.Ks-Four section .Ttl span{
  font-size: 14px;
  font-weight: bold;
}
.Ks-Four section .Txt{
  text-align: left;
  margin-left: 5em;
}
.Ks-Four section .img{
  width: 75%;
  margin-left: 5em;
  text-align: center;
}
.Ks-Four section .img img{
  margin:0 auto;
}
@media screen and (max-width: 782px) {
  .Ks-Four section .Ttl{
    margin-bottom:2em;
  }
  .Ks-Four section .Ttl h2{
    font-size: 60px;
  }
  .Ks-Four section .img{
    width: 75%;
    margin: 0 auto;
    text-align: center;
  }
}
@media screen and (max-width: 782px) {
  .Ks-Four{
    width: 100%;
    height: auto;
    height: 140vh;
  }
  .Ks-Four section{
    top:55vh;
    left: 0;
  }
  .Ks-Four section .Ttl h2{
    line-height:1.1em;
  }
  .Ks-Four section .Ttl span{
    margin-top: 1.5em;
  }
  .Ks-Four section .Txt{
    margin-left: 0em;
  }
}

.Ks-Bussiness{
  width: 100%;
  position: revert;
}
.Ks-Bussiness section .Ttl{
  text-align:right;
  width: 100%;
  margin-top: 5em;
}
.Ks-Bussiness section .Ttl h2{
  font-size: 100px;
  margin-top:0;
  margin-bottom:0;
}
.Ks-Bussiness section .Ttl span{
  font-size: 14px;
  font-weight: bold;
}
.Bussiness-card{
  width: 100%;
  margin-top: 5em;
  display: inline-block;
  flex-wrap:wrap;
}
.Bussiness-card dd {
  width: 45%;
  height: 415px;
  display: inline-flex;
  overflow: hidden; /* dd要素で枠内に収める */
  position: relative; /* dd要素にrelativeを設定 */
}

.Bussiness-card dd a {
  width: 100%;
  height: 100%;
  display: block;
  background: #343434;
  padding: 2em;
  text-decoration: none;
  color: #fff;
  text-align: left;
  position: relative;
  overflow: hidden; /* a要素でも枠内に収める */
  z-index: 1; /* テキストより背景画像を後ろに配置 */
}

.Bussiness-card dd a::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('../img/bussiness01.jpg'); /* 背景画像を指定 */
  background-size: cover;
  background-position: center;
  opacity: 0; /* 初期状態で透明 */
  transform: scale(1.1); /* 拡大率を調整 */
  transition: opacity 0.5s ease, transform 0.5s ease; /* フェードインとズームインのアニメーション */
  z-index: 0; /* 背景を表示 */
}
.Bussiness-card dd.Web a::before {
  background-image: url('../img/bussiness02.jpg'); /* 背景画像を指定 */
}
.Bussiness-card dd.ParsDesign a::before {
  background-image: url('../img/bussiness03.jpg'); /* 背景画像を指定 */
}

.Bussiness-card dd a:hover::before {
  opacity: 0.5; /* 背景画像を表示 */
  transform: scale(1); /* ズームイン */
}

.Bussiness-card dd h3 {
  font-size: 40px;
  color: #fff;
  margin-top: 0;
  position: relative; /* h3を相対位置に設定 */
  z-index: 10; /* 背景画像より前面に表示 */
}
.Bussiness-card dd span {
  position: relative; /* h3を相対位置に設定 */
  z-index: 10; /* 背景画像より前面に表示 */
}


@media screen and (max-width: 782px) {
  .Ks-Bussiness{
    margin: 3rem 0;
    padding: 1rem 0;
  }

  .Ks-Bussiness section .Ttl h2{
    font-size: 60px;
  }
  .Bussiness-card dd{
    width: 100%;
    height: 300px;
    display: block;
    margin:0;
  }
  .Bussiness-card dd a{
    height: 200px;
  }
  .Bussiness-card dd h3{
    font-size:30px;
    margin:0 ;
  }

  /* スマホ版で背景画像を常に表示 */
  .Bussiness-card dd a::before {
    opacity: 0.5; /* 背景画像を常に表示 */
    transform: scale(1); /* ズーム効果を無効化 */
  }

}

/* プラスマークのスタイル */
.plus {
    position: absolute;
    bottom: 6em; /* ボックスの下から10px */
    left: 2em;  /* ボックスの左から10px */
    width: 40px; /* プラスマークの幅 */
    height: 40px; /* プラスマークの高さ */
    transition: all 0.3s ease; /* 変化をスムーズに */
}

.plus::before,
.plus::after {
    content: '';
    position: absolute;
    background-color: white; /* 線の色 */
    transition: all 0.3s ease; /* 変化をスムーズに */
}

/* 横線 */
.plus::before {
    width: 100%;
    height: 1px; /* 線の太さ */
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

/* 縦線 */
.plus::after {
    width: 1px; /* 線の太さ */
    height: 100%;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

/* hover時の矢印の形状 */
.plus:hover::before {
    width: 50%; /* 横線を短くする */
    transform: rotate(45deg); /* 斜めに回転 */
    top: 50%;
    left: 25%; /* 矢印の先端を形成 */
}

.plus:hover::after {
    height: 50%; /* 縦線を短くする */
    transform: rotate(45deg); /* 斜めに回転 */
    top: 62%;
    left: 49%; /* 矢印の先端を形成 */
}
@media screen and (max-width: 782px) {
  .plus {
      bottom: 2em; /* ボックスの下から10px */
  }

}


.Ks-Info {
}
.Info-ttl{
    max-width: 1120px;
    margin: 0 auto;
}
.Info-ttl h2{
  font-size: 100px;
  margin-top:1em;
  margin-bottom:0;
}
.Info-ttl span{
  font-size: 14px;
  font-weight: bold;
}

@media screen and (max-width: 782px) {
  .Info-ttl{
    margin-bottom: 2em;
  }
  .Info-ttl h2{
    font-size: 55px;
  }
}
.Info-Box{
    margin: 0 auto;
    background: #fff;
     border:1px solid #343434;
    display: table;
}
.InfoMassage-Box{
    display: table-cell;
    width: 30%;
    padding: 3rem;
    font-weight: 400;
    position: relative;
}
.InfoMassage-Box h3{
    font-size:50px;
    flex-flow: row nowrap;
    margin-top:0;
}
.InfoMassage-Box h3 a{
    color: #232323;
    text-decoration: none;
}
.InfoList-Box{
    display: table-cell;
    padding: 3rem;
    border-left:1px solid #343434;
    text-align: left;
}
.InfoList-Box .sidebar-area{
  border: none;
  margin: 0;
  padding: 0;
}
.InfoList-Box .wp-block-heading{
  display: none;
}

.Info-All-LinkBox{
  position: absolute;
  bottom: 2em;
  left: 2em;
}

.InfoList-Box li,
.InfoList-Box li::marker,
.InfoList-Box li a{
  border: 0;
  text-decoration: none;
  list-style: none;
  color: #343434;
}
.InfoList-Box li a.link{
  display: block;
}
.InfoList-Box li a.link:hover{
  opacity: 0.5;
  transition:opacity 0.3s;
}
.InfoList-Box li a h4{
  font-size: 20px;
  margin-bottom:0 ;
}
.InfoList-Box li a time{
  font-size: 14px;
}
@media screen and (min-width: 783px) {
  .Info-Box{
      max-width: 1120px;
  }

}
@media screen and (max-width: 782px) {
  .Info-Box{
      width: 80vw;
      margin: 0 auto;
      background: #fff;
       border:1px solid #343434;
      display: table;
  }
  .InfoMassage-Box{
    padding:1rem;
  }
  .InfoMassage-Box h3{
      font-size:13px;
      flex-flow: none;
      margin-top:0;
  }
  .InfoList-Box{
    padding:1rem;
  }
  .InfoList-Box li a h4{
    font-size: 16px;
  }
  .Info-All-LinkBox .link{
    display: none;
  }
}


.jumbotron{display: none}

.Ks-Contact { /* indexのみ適応 */
    background-color: rgba(255, 255, 255, 0.5) !important; /* 半透明の白を重ねる */
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
}






    /* 背景動画用のスタイル */
    #video-background {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: -1; /* 背景として他の要素の後ろに配置 */
    }









.slider-container {
  position: absolute;
  left: 0;
  width: 100%;
  height: 100vh; /* 全画面の高さ */
  overflow: hidden; /* コンテナ外の要素を隠す */
  display: flex;
}
.slider-track {
  width: 50%;
  display: flex;
  flex-direction: column; /* 縦方向に配置 */
  list-style: none; /* リストのデフォルトスタイルを無効化 */
  padding: 0;
  margin: 0;
  padding-left: 6px;
  will-change: transform;
  transition: transform 0.1s linear; /* 必要に応じて調整 */

}
.slider-item-up,.slider-item-down {
  height: auto; /* アイテムの高さ */
  width: 100%; /* アイテムの幅 */
  flex-shrink: 0;
  padding: 3px;
}
.slider-item-up img,.slider-item-down img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* 画像をコンテナにフィット */
}

@media screen and (max-width: 782px) {
  .slider-container {
    height: 50vh; /* 全画面の高さ */
  }
  .slider-track {
    width: 100%;
  }
}




    /* メインビジュアルの動画 */
.p-mv {
  /*background: url(../img/mv.jpg) no-repeat center center/cover;*/
  background: url(../img/mv2.png) no-repeat center center/cover;
  position: relative;
  background-attachment: fixed;
  overflow: hidden;

  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: -1; /* 背景として他の要素の後ろに配置 */

}
@media screen and (max-width: 767px) {
  .p-mv {
    height: calc(100vh - 3.125rem);
  }
}
@media screen and (min-width: 768px) {
  .p-mv {
    height: calc(100vh - 4.75rem);
  }
}

.p-mv::before {
  content: "";
  background-color: rgba(0, 0, 0, .3);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}

.p-mv__movie {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  background-attachment: fixed;
  height: 100%;
}

.p-mv__inner.l-inner {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 3;
  height: 100dvh;
  overflow: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center;
  padding: 0;
  color: #fff;
  height: 100%;
  /*IE(Internet Explorer)・Microsoft Edgeへの対応*/
  -ms-overflow-style: none;
  /*Firefoxへの対応*/
  scrollbar-width: none;
  /*Google Chrome、Safariへの対応*/
}
.p-mv__inner.l-inner::-webkit-scrollbar {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-mv__inner.l-inner {
    padding-inline: 0.625rem;
  }
}
@media screen and (min-width: 768px) {
  .p-mv__inner.l-inner {
    padding-top: 10.625rem;
    max-width: 80rem;
  }
}

.p-mv__head {
  margin-inline: auto;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-mv__head {
    margin-top: 15rem;
  }
}
.p-mv__head img {
  margin-inline: auto;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-mv__head img {
    max-width: 12.8125rem;
    aspect-ratio: 205/12;
  }
}
@media screen and (min-width: 768px) {
  .p-mv__head img {
    max-width: 21.375rem;
  }
}

.p-mv__title {
  position: relative;
  line-height: 1.5;
  letter-spacing: 0.5em;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .p-mv__title {
    margin-top: 1.25rem;
    font-size: 1.3125rem;
  }
}
@media screen and (min-width: 768px) {
  .p-mv__title {
    margin-top: 3.125rem;
    font-size: 2.1875rem;
  }
}

.p-mv__title::after {
  content: "";
  position: absolute;
  top: 10.625rem;
  left: 50%;
  height: 7.5rem;
  background-color: #fff;
  z-index: 2;
  -webkit-animation: anime 3s ease-in-out forwards infinite;
          animation: anime 3s ease-in-out forwards infinite;
}
@media screen and (max-width: 767px) {
  .p-mv__title::after {
    top: 6.25rem;
    width: 0.0625rem;
    height: 4.75rem;
  }
}
@media screen and (min-width: 768px) {
  .p-mv__title::after {
    top: 9.0625rem;
    width: 0.125rem;
    height: 7.5rem;
  }
}

@-webkit-keyframes anime {
  0% {
    height: 100%;
  }
  50% {
    height: 0;
  }
  100% {
    height: 100%;
  }
}

@keyframes anime {
  0% {
    height: 100%;
  }
  50% {
    height: 0;
  }
  100% {
    height: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-mv__body {
    margin-top: 7.5rem;
    margin-bottom: 4.6875rem;
  }
}
@media screen and (min-width: 768px) {
  .p-mv__body {
    margin-bottom: 7.5rem;
    margin-top: 10rem;
  }
}

.p-mv__body-text {
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .p-mv__body-text {
    font-size: 0.625rem;
    line-height: 2.1;
  }
}
@media screen and (min-width: 768px) {
  .p-mv__body-text {
    font-size: 1.125rem;
    line-height: 1.9444444444;
  }
}

@media screen and (max-width: 767px) {
  .p-mv__body-text + .p-mv__body-text {
    margin-top: 1.5625rem;
  }
}
@media screen and (min-width: 768px) {
  .p-mv__body-text + .p-mv__body-text {
    margin-top: 2.1875rem;
  }
}



.p-mv__youtube-wrap {
  position: relative;
  background-color: #e3e0db;
}


