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

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

@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;
}
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 .page_top {
  font-size: 18px;
  text-align: center;
  text-decoration: underline;
  font-family: "linotype-didot", serif;
  font-weight: 400;
  font-style: italic;
  margin: 250px auto 50px;
}
.footer .footer_bg {
  background-color: #f0f0f0;
  padding: 100px 0 60px;
}
.footer .link_wrap {
  display: grid;
  gap: 10px;
  width: 260px;
  margin-inline: auto;
}
.footer .link_wrap li a {
  border: 1px solid #000;
  text-align: center;
  font-size: 12px;
  padding: 10px 0;
  border-radius: 5px 0 0 0;
  position: relative;
}
.footer .link_wrap span {
  width: 12px;
  position: absolute;
  translate: 0 -50%;
  top: 50%;
  left: 10px;
}
.footer .logo {
  width: 120px;
  margin: 200px auto 30px;
}
.footer .copy {
  font-size: 10px;
  text-align: center;
}

/*--------------------------------------*
* object
*--------------------------------------*/
/*-------------------
* component
-------------------*/
/*--------------------------------------*
* foundation
*--------------------------------------*/
/*--------------------------------------*
* コンテンツ幅
*--------------------------------------*/
/*--------------------------------------*
* foundation
*--------------------------------------*/
/*--------------------------------------*
* コンテンツ幅
*--------------------------------------*/
.credit {
  display: grid;
  gap: 10px;
}
.credit li a {
  display: flex;
  gap: 5px;
  font-size: 11px;
}
.credit .buy {
  font-size: 12px;
  text-decoration: underline;
}
.credit .item,
.credit .buy {
  font-family: "linotype-didot", serif;
  font-weight: 700;
  font-style: normal;
}
.credit li:has(.com, .shop) a {
  color: #c9c9c9;
}
.credit li:has(.com, .shop) .buy,
.credit li:has(.com, .shop) .price {
  display: none;
}

.double_credit {
  gap: 30px;
}
.double_credit .left,
.double_credit .right {
  display: grid;
  grid-template-columns: 40px auto;
  gap: 25px;
  align-items: center;
}
.double_credit .left > p,
.double_credit .right > p {
  font-family: "linotype-didot", serif;
  font-weight: 400;
  font-style: italic;
  font-size: 14px;
}
.double_credit ul {
  display: grid;
  gap: 10px;
}

/*-------------------
* project
-------------------*/
/*--------------------------------------*
* foundation
*--------------------------------------*/
/*--------------------------------------*
* FV
*--------------------------------------*/
/*--------------------------------------*
* foundation
*--------------------------------------*/
/*--------------------------------------*
* lead
*--------------------------------------*/
/*--------------------------------------*
* foundation
*--------------------------------------*/
/*--------------------------------------*
* セクション共通
*--------------------------------------*/
.credit {
  width: fit-content;
  margin: 20px auto 0;
}

.fv {
  position: relative;
  background-color: #503010;
  overflow: hidden;
}
.fv .title {
  position: absolute;
  z-index: 10;
  translate: -50% -50%;
  top: 45%;
  left: 50%;
  width: 74.6666666667%;
}

.max_container {
  max-width: 768px;
  margin-inline: auto;
  overflow: hidden;
}

[class*=sec] {
  margin-top: 90px;
}

.other_card {
  position: relative;
}

.other_btn {
  position: absolute;
  right: 10px;
  bottom: 10px;
  background-color: #000;
  border: 1px solid #fff;
  color: #fff;
  font-size: 12px;
  border-radius: 5px 0 0 0;
  padding: 5px 25px 5px 8px;
  font-family: "futura-pt", sans-serif;
  font-weight: 300;
  font-style: italic;
  z-index: 10;
}
.other_btn:before, .other_btn:after {
  content: "+";
  color: #fff;
  position: absolute;
  right: 6px;
  translate: 0 -50%;
  top: 45%;
}

.sec1 {
  width: 74.6666666667%;
}

.sec2,
.sec7 {
  overflow: hidden;
}
.sec2 .scroll,
.sec7 .scroll {
  overflow-x: scroll;
}
.sec2 .grid,
.sec7 .grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 150%;
}

.sec3 .Inner {
  width: 74.6666666667%;
  margin-inline: auto;
}

.sec4 .Inner,
.sec6 .Inner {
  width: 74.6666666667%;
  margin: 20px 0 0 auto;
}

.sec8 {
  margin-top: 0;
}

.sec9_10 .img1 {
  width: 94.6666666667%;
  margin: 90px auto 0;
}
.sec9_10 .img2 {
  width: 74.6666666667%;
  margin: 90px 0 0 auto;
}

.sec11_12 {
  margin-top: 0;
}
.sec11_12 .grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.sec11_12 .grid li {
  overflow: hidden;
}
.sec11_12 .grid li:nth-child(1) a {
  height: 101%;
}
.sec11_12 .grid img {
  object-fit: cover;
  height: 101%;
  width: 101%;
}

.sec13 .Inner {
  width: 74.6666666667%;
  margin: 20px auto 0;
}

.sec14_15 .grid,
.sec16_17 .grid,
.sec19_20 .grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.sec21 .img1 {
  width: 74.6666666667%;
  margin: 0 auto 20px;
}

.bg {
  background-color: #38435c;
  margin-top: 90px;
  padding-bottom: 90px;
}
.bg .credit a {
  color: #fff;
}

.modal_wrap {
  padding-top: 50px;
  margin-bottom: 110px;
}

.modal_slider {
  position: relative;
}

.swiper-button-prev,
.swiper-button-next {
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
  background-position: center;
  height: 8px;
  width: 45px;
  translate: 0 -50%;
  top: 50%;
  padding: 20px 0;
}
.swiper-button-prev:after,
.swiper-button-next:after {
  content: "";
}

.swiper-button-prev {
  background-image: url(../assets/images/prev.svg);
  left: 25px;
}

.swiper-button-next {
  background-image: url(../assets/images/next.svg);
  right: 25px;
}

.close {
  cursor: pointer;
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 101;
  font-size: 45px;
  font-family: "linotype-didot", serif;
  font-weight: 400;
  font-style: italic;
  border-bottom: 1px solid #000;
}

.slow_slider .swiper-wrapper {
  transition-timing-function: linear;
}

@media screen and (min-width: 958px) {
  .max_container {
    max-width: 53.3333333333vw;
  }
  .fv {
    height: 100vh;
  }
  .fv .grid {
    height: 100vh;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .fv .grid img {
    height: 100%;
    object-fit: cover;
  }
  .fv .title {
    width: 31.6666666667vw;
    top: 50%;
  }
  .pc_flex {
    display: grid;
    grid-template-columns: 50vw 50vw;
  }
  .pc_flex > .spNone .left {
    position: sticky;
    top: 0;
    height: 100vh;
    display: grid;
    place-content: center;
    mix-blend-mode: difference;
  }
  .pc_flex > .spNone .left svg {
    fill: #38435c;
    width: 100%;
  }
  .pc_flex > .spNone .left figure {
    margin: 0 auto;
    width: 17.3611111111vw;
  }
  .bg {
    width: 100vw;
    margin: 90px calc(50% - 75vw) 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .bg .max_container {
    width: 50vw;
  }
  .other_card {
    overflow: hidden;
  }
  .other_card img {
    transition: all 0.4s;
  }
  .other_card:hover img {
    scale: 1.05;
    transition: all 0.4s;
  }
  .other_btn {
    transform-origin: right bottom;
    scale: 1.2;
    bottom: 20px;
    right: 20px;
  }
}
.fixed_number {
  position: fixed;
  bottom: 15px;
  right: 10px;
  width: 85px;
  height: 85px;
  z-index: 120;
}
.fixed_number span {
  display: block;
  height: 100%;
  transition: transform 0.5s ease;
}
.fixed_number .now {
  display: flex;
  font-size: 56px;
  position: absolute;
  top: 0;
  left: 0;
  height: 56px;
  overflow: hidden;
}
.fixed_number .now span {
  height: 100%;
}
.fixed_number .all {
  font-size: 24px;
  position: absolute;
  right: 0;
  bottom: 0;
}
.fixed_number:after {
  content: "";
  position: absolute;
  width: 56px;
  height: 1px;
  background-color: #000;
  rotate: -30deg;
  bottom: 30px;
  right: 0;
}

.archive {
  text-align: center;
  width: 90%;
  max-width: 500px;
  margin: 100px auto;
}
.archive p {
  padding-top: 10px;
  font-size: clamp(13px, 3.4666666667vw, 20px);
  text-decoration: underline;
}/*# sourceMappingURL=style.css.map */