@charset "UTF-8";

.works-title { letter-spacing: 0.05em;}
.inner { max-width: 1050px;}

.text_photo {
  display: flex;
  position: relative;
  width: 100%;
  justify-content: center;
  margin: 80px auto 0;
}
.text_photo .text {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: calc(50% + 400px);
  box-sizing: border-box;
  aspect-ratio: 8 / 7;
}
.text_photo .slickContainer {
  width:calc( 50% + 320px);
  z-index: 2;
}
.pager {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-top: 0;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-100%);
}
.pager a { width: 40px; height: 58px; position: relative;}
.pager a::before {
  content: "";
  position: absolute;
  left: calc(50% - 10px);
  top: calc(50% - 10px);
  width: 20px;
  height: 20px;
  border-top: #000 3px solid;
  border-left: #000 3px solid;
  display: block;
  box-sizing: border-box;
  transform: rotate(-45deg);
}
.pager a.next::before {
  transform: rotate(135deg);
}
.slick {
    margin-top: 0;
}
.slick-slider { touch-action:auto !important; overflow: hidden;}
li.slick-slide {
    overflow: hidden;
    aspect-ratio: 8 / 7;
}
li.slick-slide figure { height: 730px; width: 100%; }
li.slick-slide img { height: 730px; width: 100%; object-fit: contain; font-family: 'object-fit: contain; object-position: 50% top;';}
#js-clone { display: none;}
.slick-dots {
  position: unset;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  gap: 25px;
  margin: 2em auto 0;
  max-width: 850px;
}

body li.slick-slide img { object-position: center; }
li.slick-slide figure { height: 100%; width: 100%; }
li.slick-slide img { height: 100%; width: 100%; max-height: inherit;}

.slick-dots li {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  position: relative;
  margin: 0;
  overflow: hidden;
}
.slick-dots li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform-origin: center center;
  transition: all 0.5s ease;
}
.slick-dots li:hover img {
  transform: scale(1.1);
}
.slick-dots li:not(.slick-active) img {
  cursor: pointer;
}
.slick-dots li.slick-active {
  border:#000 1px solid;
}
.bg_gray {
  margin-top: 80px;
  background: #f5f5f5;
  padding: 80px 100px;
  font-family: YakuHanJP, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
  position: relative;
}

@media only screen and (max-width: 767px) {
  .inner { width: auto;}
  .text_photo { margin-top: 50px;}
  .text_photo .text { padding-bottom: 10px; width: 100vw; z-index: 2;}
  .text_photo .slickContainer {width: 100vw;}
  .pager { transform: translateY(-50%);}
  .slick-dots { gap: 10px;}
  .slick-dots li { width: calc((100vw - 40px) / 5);}
  .bg_gray h3 { text-align: center; font-size:20px; margin-bottom: 2em;}
  .bg_gray {padding: 40px 5% 30px; margin-bottom: 3em;}
}

.js-pointblock.hide { display: none;}
