@charset "utf-8";

body,h1,h2,h3,h4,p,ul,li,dl,dd,figure,figcaption,video{
    margin: 0;
    padding: 0;
    list-style: none;
}

img,video{vertical-align: bottom;}

a{text-decoration: none;}

address{font-style: normal;}

*{box-sizing: border-box;}

body{
    font-size: 14px;
    line-height: 1;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    font-style: normal;
    background-color: transparent;
    color: #221816;
}

h2{
    font-size: 42px;
    letter-spacing: 0.18em;
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    font-style: normal;
    margin-bottom: 50px;
    padding-left: 30px;
}

h3{
    font-size: 20px;
    letter-spacing: 0.12em;
    font-weight: 700;
    padding-left: 30px;
}

.inner{
    max-width: 960px;
    margin: 0 auto;
}

.flex{
    display: flex;
    justify-content: space-between;
}

.bg-white{
    background-color: #fff;
}

.nav_black{
    position: fixed;
    top: 50px;
    right: 20px;
    z-index: 4;
}

.nav_black li{
    text-align: end;
    width: 80px;
    margin: 0 10px;
    height: 28px;
}

.nav_black li a{
    color: #221816;
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.05em;
    transition: all 0.2s;
}

.nav_black li a:hover{
    font-size: 16px;
}

.navpage a {
  color: #9e9b9b !important;
  
}

/* グレーアウトのホバーの動き */
@keyframes navpage-hover {
  0% {
    font-size: 14px;
  }
  10% {
    font-size: 16px;
  }
  100% {
    font-size: 14px;
  }
}

/* 1回だけ大きくなり、再度hoverしても発動しない仕様 */
.navpage a[data-animated="true"] {
  /* 何もしない（アニメーションを発動させない） */
}
.navpage a:hover:not([data-animated="true"]) {
  animation: navpage-hover 1s forwards;
}
/*グレーアウトのホバーの動きはここまで*/

.copyright{
    text-align: center;
    margin-bottom: 30px;
} 

.copyright small{
    font-size: 12px;
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    font-style: normal;
} 

/* .to-top1{
    position: fixed;
    right: 30px;
    bottom: 30px;
    z-index: 100;
} */

.to-top2{
    position: fixed;
    right: 30px;
    bottom: 30px;
    z-index: 99;
}

.to-top2 img {
  width: 50px;   /* お好みのサイズに調整 */
  height: auto;  /* 縦横比を保つ場合 */
}

/* 下層のトップページにmv*/
.kaso_mv{
    position: fixed;
    top: 0;
    left: 0;
    z-index: 98;
    width: 100%;
    height: 20px;
    object-fit: cover;
}

.kaso_tate_mv{
  position: fixed;
  top: 0;
  left: 0;
  z-index: 98;
  width: 15px;
  height: 100vh;
  object-fit: cover;
}

/* ローディング*/
#loader {
    width: 100%;
    height: 100vh;
    transition: all 1s;
    background-color: rgb(34, 24, 22);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9997;
  }

@keyframes spin {
    from {
      transform: rotate(0);
    }
    to{
      transform: rotate(359deg);
    }
  }
  
  .circleborder {
    width: 200px;
    height: 200px;
    padding: 3px;
    position: fixed;
    inset: 0;
    margin: auto;
    z-index: 9998;
    border-radius: 50%;
    background: rgb(255, 255, 255);
    background: linear-gradient(0deg, rgba(34,24,22,0.1) 33%, rgb(255, 255, 255,1) 100%);
    animation: spin 1.3s linear 0s infinite;
  }
  
  .circle-core {
    width: 100%;
    height: 100%;
    background-color: #221816;
    border-radius: 50%;
  }

.loaderlogo{
position: fixed;
inset: 0;
margin: auto;
z-index: 9999;
animation: move 1s infinite;
}

  @keyframes move {
    0% {
      transform: rotate(0deg);
    }
    20% {
      transform: rotate(10deg);
    }

    40% {
        transform: rotate(0deg);
      }

    100% {
      transform: rotate(0deg);
    }
  }

.loaded {
opacity: 0;
visibility: hidden;
}

/* pcとspのオンオフ */
  .sp{
      display: none;
  }

/* ナビゲーションの調整*/
.nav_white{
  color: #fff;
}