body.modal--show {
  height: 100vh;
  overflow: hidden;
}

@media (max-width: 750px) {
  .mainContents {
    padding: 0;
  }
}
.mainContents .page__ttl {
  text-align: center;
  font-size: 1.5rem;
  font-weight: 200;
  letter-spacing: 0.1em;
  margin-bottom: 30px;
}
@media screen and (min-width: 751px) {
  .mainContents .page__ttl {
    font-size: 2.4rem;
    margin-bottom: 60px;
  }
}
.mainContents .lookbook-ttl {
  font-size: 1.2rem;
  text-align: center;
  letter-spacing: 0.05em;
  margin-bottom: 66px;
}
@media screen and (min-width: 751px) {
  .mainContents .lookbook-ttl {
    font-size: 1.8rem;
    margin-bottom: 128px;
  }
}
.mainContents .lookbook-list {
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 750px) {
  .mainContents .lookbook-list {
    justify-content: space-between;
  }
}
.mainContents .lookbook-list li {
  width: 49%;
}
@media (max-width: 750px) {
  .mainContents .lookbook-list li:nth-child(n+3) {
    margin-top: 50px;
  }
}
@media screen and (min-width: 751px) {
  .mainContents .lookbook-list li {
    width: calc(25% - (27px)/4);
    margin: 9px 9px 0 0;
  }
  .mainContents .lookbook-list li:nth-child(4n) {
    margin-right: 0;
  }
  .mainContents .lookbook-list li:nth-child(n+5) {
    margin-top: 50px;
  }
}
.mainContents .lookbook-list li a {
  display: block;
  position: relative;
  transition: 0.3s ease;
}
.mainContents .lookbook-list li a img {
  width: 100%;
}
.mainContents .lookbook-list li a .lookbook__info {
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-content: center;
  color: white;
  text-align: center;
  font-size: 2.7rem;
  transition: 0.3s ease;
}
.mainContents .lookbook-list li a .lookbook__info .separate {
  border-bottom: solid 1px white;
  width: 45px;
  text-align: center;
  margin: 0 auto;
}
.mainContents .lookbook-list li a:hover {
  opacity: 1;
}
@media screen and (min-width: 751px) {
  .mainContents .lookbook-list li a:hover .lookbook__info {
    opacity: 1;
  }
}

.modal {
  visibility: hidden;
  pointer-events: none;
  display: block;
  width: 100%;
  height: calc(100vh);
  height: calc( var(--vh) * 100);
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  background: white;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  padding-top: 60px;
  z-index: 1001;
  opacity: 0;
  transition: 0.3s ease;
  /*
  	.look-swiper-container.hide
  	{
  		opacity: 0;
  	}
  */
}
.modal.show {
  visibility: visible;
  pointer-events: auto;
  opacity: 1;
}
@media screen and (min-width: 751px) {
  .modal {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .modal .modal__inner,
.modal .look-slider-container,
.modal .look-slider,
.modal .slick-list,
.modal .slick-track,
.modal .slick-slide,
.modal .slick-slide > div,
.modal .look-slide,
.modal .look-slide__inner,
.modal .look__pic {
    height: 100%;
  }
}
@media (max-width: 750px) {
  .modal .modal__inner {
    padding-bottom: 50px;
  }
}
.modal .modal--close {
  position: absolute;
}
@media (max-width: 750px) {
  .modal .modal--close {
    width: 28px;
    right: 16px;
    top: 16px;
  }
}
@media screen and (min-width: 751px) {
  .modal .modal--close {
    right: 60px;
    top: 50px;
  }
}
.modal .slick-slide {
  margin: 0 10px;
  outline: none;
  position: relative;
}
@media screen and (min-width: 751px) {
  .modal .slick-slide {
    padding: 0 9.8vw;
  }
}
@media screen and (min-width: 751px) and (min-width: 1501px) {
  .modal .slick-slide {
    padding: 0 147px;
  }
}
.modal .slick-slide img {
  width: 100%;
}
.modal .look__pic {
  margin-bottom: 65px;
  position: relative;
}
@media screen and (min-width: 751px) {
  .modal .look__pic {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 751px) and (max-width: 1023px) {
  .modal .look__pic {
    display: flex;
    align-items: center;
    height: fit-content;
  }
}
@media screen and (min-width: 751px) {
  .modal .look__pic img {
    height: 100%;
    width: auto;
  }
}
@media screen and (min-width: 751px) and (max-width: 1023px) {
  .modal .look__pic img {
    width: 100%;
    height: auto;
  }
}
.modal .look__pic .look__pic__num {
  position: absolute;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  right: 0;
  top: 0;
}
@media screen and (min-width: 751px) {
  .modal .look__pic .look__pic__num {
    font-size: 1.8rem;
    right: -48px;
  }
}
.modal .look__pic .look__pic__num .separate {
  border-bottom: solid 1px black;
  width: 30px;
  text-align: center;
  margin: 0 auto;
}
@media screen and (min-width: 751px) {
  .modal .look-slide__inner {
    display: flex;
    align-items: flex-end;
    width: 100%;
    justify-content: center;
  }
}
@media screen and (min-width: 751px) and (max-width: 1023px) {
  .modal .look-slide__inner {
    align-items: center;
  }
}
@media screen and (min-width: 751px) {
  .modal .look__item-info {
    margin-left: 24px;
  }
}
.modal .slick-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  cursor: pointer;
  width: 37px;
  height: 37px;
  text-indent: -9999px;
}
@media (max-width: 750px) {
  .modal .slick-arrow {
    width: 12px;
    height: 12px;
  }
}
.modal .slick-prev {
  left: 6px;
  background: url(../img/top/slide-prev-black.png) no-repeat center center;
  background-size: 6px;
}
@media screen and (min-width: 751px) {
  .modal .slick-prev {
    left: 22.1333333333%;
    background-size: contain;
  }
}
@media screen and (min-width: 751px) and (max-width: 1920px) {
  .modal .slick-prev {
    left: 17vw;
  }
}
@media screen and (min-width: 751px) and (max-width: 1680px) {
  .modal .slick-prev {
    left: 12vw;
  }
}
@media screen and (min-width: 751px) and (max-width: 1023px) {
  .modal .slick-prev {
    left: 5vw;
  }
}
.modal .slick-next {
  right: 6px;
  background: url(../img/top/slide-next-black.png) no-repeat center center;
  background-size: 6px;
}
@media screen and (min-width: 751px) {
  .modal .slick-next {
    right: 22.1333333333%;
    background-size: contain;
  }
}
@media screen and (min-width: 751px) and (max-width: 1920px) {
  .modal .slick-next {
    right: 17vw;
  }
}
@media screen and (min-width: 751px) and (max-width: 1680px) {
  .modal .slick-next {
    right: 12vw;
  }
}
@media screen and (min-width: 751px) and (max-width: 1023px) {
  .modal .slick-next {
    right: 5vw;
  }
}
.modal .look__item-list * {
  line-height: 2;
}
.modal .look__item-list a {
  text-decoration: underline;
}

.overlay {
  background: black;
  opacity: 0.5;
  z-index: 1000;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  display: none;
}
