@charset "UTF-8";
.modelCard {
  position: relative;
}

.modelCard__ttl {
  color: #ffffff;
  font-family: "EB Garamond", serif;
  letter-spacing: .08em;
  position: absolute;
  line-height: 1.25;
}

.modelCard__ttl:before {
  content: '';
  margin-top: calc((1 - 1.25) * .5em);
}

.modelCard__ttl:after {
  margin-bottom: calc((1 - 1.25) * .5em);
}

.modelCard__ttl:before, .modelCard__ttl:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media screen and (min-width: 768px) {
  .modelCard__ttl {
    bottom: 15px;
    font-size: 28px;
    right: 5px;
  }
}

@media screen and (max-width: 768px) {
  .modelCard__ttl {
    bottom: 15px;
    font-size: 22px;
    right: 5px;
  }
}

.modelCard__cap.caption {
  color: #333333;
  padding-top: 5px;
  text-align: right;
}

.modelCard .photo__image {
  width: 100%;
}

.modelSwiper {
  margin: 0 30px;
  position: relative;
  z-index: 1;
}

.modelSwiper .swiper-container {
  overflow: visible;
}

.modelSwiper .swiper-slide .photo {
  height: 100%;
  width: 100%;
}

.modelSwiper .swiper-slide .photo__capOut {
  color: #333333;
  font-family: "Shippori Mincho", serif;
  opacity: 0;
  -webkit-transition: .2s linear opacity;
  transition: .2s linear opacity;
}

@media screen and (min-width: 768px) {
  .modelSwiper .swiper-slide .photo__capOut {
    font-size: 14px;
  }
}

@media screen and (max-width: 768px) {
  .modelSwiper .swiper-slide .photo__capOut {
    font-size: 12px;
  }
}

.modelSwiper .swiper-slide.swiper-slide-active .photo__capOut {
  opacity: 1;
}

.modelSwiper__ttl {
  bottom: 100%;
  color: #b4b3b2;
  font-family: "EB Garamond", serif;
  line-height: .7;
  position: absolute;
}

@media screen and (min-width: 768px) {
  .modelSwiper__ttl {
    font-size: 120px;
  }
}

@media screen and (max-width: 768px) {
  .modelSwiper__ttl {
    font-size: calc(80/750*100vw);
  }
}

@media screen and (min-width: 768px) {
  .modelSwiper__ttl small {
    font-size: 64px;
  }
}

@media screen and (max-width: 768px) {
  .modelSwiper__ttl small {
    font-size: calc(48/750*100vw);
  }
}

.modelSwiper__controller {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (min-width: 768px) {
  .modelSwiper__controller {
    gap: 30px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    left: 50%;
    position: absolute;
    top: calc(50% - 36px);
    -webkit-transform: translate(-50%);
            transform: translate(-50%);
    width: calc(100% + 72px);
    z-index: 2;
  }
}

@media screen and (max-width: 768px) {
  .modelSwiper__controller {
    gap: 20px;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin-top: 40px;
  }
}

.modelSwiper__controller .swiper-button-next,
.modelSwiper__controller .swiper-button-prev {
  background: rgba(17, 18, 17, 0.5);
  color: #ffffff;
  left: auto;
  margin-top: 0;
  position: relative;
  right: auto;
  top: auto;
}

@media screen and (min-width: 768px) {
  .modelSwiper__controller .swiper-button-next,
  .modelSwiper__controller .swiper-button-prev {
    height: 72px;
    width: 72px;
  }
}

@media screen and (max-width: 768px) {
  .modelSwiper__controller .swiper-button-next,
  .modelSwiper__controller .swiper-button-prev {
    height: 40px;
    width: 40px;
  }
}

.modelSwiper__controller .swiper-button-next:after,
.modelSwiper__controller .swiper-button-prev:after {
  content: none;
}

.modelSwiper__controller .swiper-button-prev .prevSVG {
  height: auto;
}

@media screen and (min-width: 768px) {
  .modelSwiper__controller .swiper-button-prev .prevSVG {
    width: 48px;
  }
}

@media screen and (max-width: 768px) {
  .modelSwiper__controller .swiper-button-prev .prevSVG {
    width: 24px;
  }
}

.modelSwiper__controller .swiper-button-next .nextSVG {
  height: auto;
}

@media screen and (min-width: 768px) {
  .modelSwiper__controller .swiper-button-next .nextSVG {
    width: 48px;
  }
}

@media screen and (max-width: 768px) {
  .modelSwiper__controller .swiper-button-next .nextSVG {
    width: 24px;
  }
}

@-webkit-keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.15);
            transform: scale(1.15);
  }
}

@keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.15);
            transform: scale(1.15);
  }
}

.swiperWrapper {
  overflow-x: clip;
}

@media screen and (min-width: 768px) {
  .swiperWrapper + .swiperWrapper {
    margin-top: 160px;
  }
}

@media screen and (max-width: 768px) {
  .swiperWrapper + .swiperWrapper {
    margin-top: calc(162/750*100vw);
  }
}

.modelThumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (min-width: 768px) {
  .modelThumb {
    gap: 24px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 58px;
  }
}

@media screen and (max-width: 768px) {
  .modelThumb {
    gap: 20px;
    margin-top: 40px;
  }
}

.modelThumb__item {
  cursor: pointer;
  opacity: .4;
  position: relative;
  -webkit-transition: .2s linear opacity;
  transition: .2s linear opacity;
}

@media screen and (min-width: 768px) {
  .modelThumb__item {
    width: 234px;
  }
}

@media screen and (max-width: 768px) {
  .modelThumb__item {
    width: calc(50% - 10px);
  }
}

.modelThumb__item.is-active {
  opacity: 1;
}

.pageIntroduction {
  position: relative;
  z-index: 1;
}

/*
下層ページ実装に関して
・テンプレート各セクション(.keyVisual,.generalSect)のCSSはcommon.css内に追記しています。
・各ページの.keyVisualに関しては画像追加・情報の流し込みのみお願いします。細かいレイアウトの微調整はまとめてこちらで対応します。
・各コンテンツはダミーの命名としてunique-連番という命名を行なっていますが、固有の要素に合わせて命名変更をお願いします。
・metaと.header、.bottomArea(フッター注釈含む)、.footerの各共通要素に関してもこちらでまとめ調整するので、基本的に.container内のみを調整する形でコンテンツを実装していただけると助かります。
*/
@media screen and (min-width: 768px) {
  .modelroom-introduction {
    padding: 160px 0;
  }
}

@media screen and (max-width: 768px) {
  .modelroom-introduction {
    padding: 80px 0;
  }
}

@media screen and (min-width: 768px) {
  .modelroom-showroom {
    padding: 0 0 160px;
  }
}

@media screen and (max-width: 768px) {
  .modelroom-showroom {
    padding: 0 0 80px;
  }
}
