@charset "UTF-8";
/*--------------------------------------*
* foundation
*--------------------------------------*/
/*--------------------------------------*
* ベースカラー
*--------------------------------------*/
/*--------------------------------------*
* フォント
*--------------------------------------*/
/*--------------------------------------*
* ブレイクポイント
*--------------------------------------*/
/*--------------------------------------*
* vw変換(SP用)
*--------------------------------------*/
/*--------------------------------------*
* vw変換(PC用)
*--------------------------------------*/
/*--------------------------------------*
* デフォルトスタイル
*--------------------------------------*/
html,
body {
  width: 100%;
  font-size: 16px;
  margin: 0 auto;
  font-family: "nimbus-sans", sans-serif;
  font-weight: 300;
  font-style: normal;
}

img,
video,
object {
  width: 100%;
  border: none;
  display: block;
  height: auto;
}

@media screen and (min-width: 958px) {
  .spNone {
    display: block;
  }
}
@media screen and (max-width: 960px) {
  .spNone {
    display: none;
  }
}

@media screen and (min-width: 958px) {
  .pcNone {
    display: none;
  }
}
@media screen and (max-width: 960px) {
  .pcNone {
    display: block;
  }
}

/*--------------------------------------*
* aタグ
*--------------------------------------*/
a {
  display: block;
  text-decoration: none;
  transition: all 0.4s;
  color: #000;
}
@media screen and (min-width: 958px) {
  a:hover {
    opacity: 0.6;
    transition: all 0.4s;
  }
}
a[href=""] {
  pointer-events: none;
}

/*--------------------------------------*
* ローディング
*--------------------------------------*/
#loading-bg {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #fff;
  z-index: 999;
}

/*--------------------------------------*
* layout
*--------------------------------------*/
/*--------------------------------------*
* foundation
*--------------------------------------*/
/*--------------------------------------*
* ヘッダー
*--------------------------------------*/
/*--------------------------------------*
* foundation
*--------------------------------------*/
/*--------------------------------------*
* フッター
*--------------------------------------*/
footer {
  position: relative;
  text-align: center;
}
footer .bg {
  height: 100vh;
  background-color: #9a0007;
  display: grid;
  place-content: center;
}
footer .staff_credit {
  line-height: 2;
  font-size: 11px;
}
footer .logo {
  width: 150px;
  margin: 100px auto 0;
}
footer .copy {
  padding-top: 30px;
  font-size: 2.1333333333vw;
}

@media screen and (min-width: 958px) {
  footer .copy {
    padding-top: 30px;
    font-size: 0.5555555556vw;
  }
}
/*--------------------------------------*
* object
*--------------------------------------*/
/*-------------------
* component
-------------------*/
/*--------------------------------------*
* foundation
*--------------------------------------*/
/*--------------------------------------*
* コンテンツ幅
*--------------------------------------*/
/*--------------------------------------*
* foundation
*--------------------------------------*/
.credit {
  background-color: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  display: none;
  justify-content: center;
  align-items: flex-end;
}
.credit ul {
  width: fit-content;
  height: fit-content;
  margin-bottom: 60px;
}
@media screen and (min-width: 958px) {
  .credit ul {
    margin-bottom: 80px;
  }
}
.credit li:not(li:last-child) {
  margin-bottom: 10px;
}
.credit li:has(.only) .only {
  background-color: #fff;
  color: #000;
  margin-left: 10px;
  padding: 1px 5px 1px 5px;
}
.credit a {
  color: #fff;
  font-size: 16px;
}

/*-------------------
* project
-------------------*/
/*--------------------------------------*
* foundation
*--------------------------------------*/
/*--------------------------------------*
* FV
*--------------------------------------*/
.fv {
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  position: relative;
}
@media screen and (max-width: 960px) {
  .fv {
    height: 100svh;
    max-height: 100svh;
  }
}
.fv .main {
  position: fixed;
  inset: 0;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
}
@media screen and (max-width: 960px) {
  .fv .main {
    height: 100svh;
  }
}
.fv .main .red_bg {
  background-color: #9a0007;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  z-index: 1;
}
.fv .main img {
  height: 100%;
  object-fit: cover;
}
.fv .title {
  width: 23.9583333333vw;
  position: absolute;
  translate: 0 -50%;
  top: 50%;
  left: 11.8055555556vw;
  z-index: 10;
}
@media screen and (max-width: 960px) {
  .fv .title {
    translate: -50% 0;
    top: inherit;
    left: 50%;
    width: 64vw;
    bottom: 21.3333333333vw;
  }
}

/*--------------------------------------*
* foundation
*--------------------------------------*/
/*--------------------------------------*
* セクション共通
*--------------------------------------*/
.grid {
  position: relative;
  z-index: 11;
  display: grid;
  grid-template-columns: 1fr 1fr;
  background-color: #000;
}
@media screen and (max-width: 960px) {
  .grid {
    display: block;
  }
}
.grid > li {
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  overflow: hidden;
  cursor: pointer;
  position: relative;
  z-index: 2;
}
.grid > li img {
  transition: all 0.4s;
}
@media screen and (min-width: 958px) {
  .grid > li:hover img {
    scale: 1.1;
    transition: all 0.4s;
  }
}
@media screen and (max-width: 960px) {
  .grid > li {
    height: 100svh;
  }
}
.grid img {
  height: 100%;
  object-fit: cover;
  object-position: center;
}
@media screen and (max-width: 960px) {
  .grid .sec3,
  .grid .sec5,
  .grid .sec6,
  .grid .sec8,
  .grid .sec9,
  .grid .sec10,
  .grid .sec11,
  .grid .sec14 {
    position: sticky;
    top: 0;
    z-index: -1;
  }
}

.open {
  width: 20px;
  height: 20px;
  position: absolute;
  bottom: 25px;
  right: 25px;
  z-index: 12;
}
.open:before, .open:after {
  content: "";
  position: absolute;
  translate: -50% -50%;
  top: 50%;
  left: 50%;
  background-color: #fff;
}
.open:before {
  width: 20px;
  height: 1px;
}
.open:after {
  width: 1px;
  height: 20px;
}

@media screen and (min-width: 958px) {
  .grid .sec7,
  .grid .sec14 {
    grid-column: 1/3;
  }
  .grid .sec5,
  .grid .sec6,
  .grid .sec7,
  .grid .sec12,
  .grid .sec13,
  .grid .sec14 {
    position: sticky;
    top: 0;
  }
}/*# sourceMappingURL=style.css.map */