@charset "UTF-8";

/* ==== color ========================== */
:root {
  --color-black: #000000;
  --color-white: #ffffff;
  --color-primary: #8CBD3D;
  --color-blue: #0081C2;
  --color-bgGray: #F2F2F2;
  --futura: "futura-pt", sans-serif;
}

/*================================================
 *  subVisual
 ================================================*/
#subVisual::before {
  background-image: url(../../images/works/subVisual.png);
}

@media screen and (max-width:767px) {
  #subVisual::before {
    background-position: center right 33%;
  }
}

/*================================================
 *  works
 ================================================*/
#works {
  padding: 7vw 0 16.66vw;
}

.works__list {
  display: grid;
  gap: 2.33vw 0.833vw;
  grid-template-columns: repeat(3, 1fr);
}

.works__list li img {
  height: 13.33vw;
  overflow: hidden;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}

.works__list li p {
  color: var(--color-black);
  font-weight: 500;
}

.works__list li p span {
  display: block;
  color: var(--color-blue);
  margin-top: 0.8em;
}

/* pagination */
.pnavi {
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  margin: 4.5vw auto 0;
  /* 数字 */
  font-family: var(--futura);
  font-size: 2.15em;
  padding: 0 3vw 0 6vw;
}

.pnavi .page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 1.64em;
  height: 1.71em;
  text-align: center;
  line-height: 1;
  margin: 0.3em;
  border: 1px solid var(--color-blue);
  background: var(--color-blue);
  color: var(--color-white);
  font-weight: 400;
  border-radius: 0.46em;
}

.pnavi .current {
  color: var(--color-blue);
  background: var(--color-white);
}

.pnavi .page-numbers.prev,
.pnavi .page-numbers.next {
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  display: inline-block;
  width: 1.1em;
  height: 1.1em;
  border: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  margin: 0;
  background-color: transparent;
}

.pnavi .page-numbers.prev {
  left: 0;
  background-image: url(../../images/works/prev.png);
}

.pnavi .page-numbers.next {
  right: 0;
  background-image: url(../../images/works/next.png);
}

@media screen and (max-width:767px) {
  #works {
    padding: 15vw 0 10vw;
  }

  .works__list {
    width: 66.66%;
    gap: 10vw;
    grid-template-columns: 1fr;
  }

  .works__list li img {
    height: 37.66vw;
  }

  .pnavi {
    margin: 10.5vw auto 0;
    max-width: 92%;
    font-size: 1.86em;
    padding: 0 6vw 0 10vw;
  }
}

/*================================================
 *  works__detail
 ================================================*/

#works__detail .narrow>img {
  height: 40.75vw;
  overflow: hidden;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  margin: 0 auto;
}

#works__detail .grid {
  display: grid;
  gap: 0.8vw;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 0.8vw;
}

#works__detail .grid img {
  height: 13.33vw;
  overflow: hidden;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}

#works__detail dl {
  margin-top: 5.2%;
  line-height: 2;
}

#works__detail dl dt {
  width: 11%;
  background: var(--color-blue);
  color: var(--color-white);
  font-weight: bold;
  letter-spacing: 0.025em;
  display: grid;
  place-content: center;
  padding: 0.5em 0;
  margin-bottom: 1em;
}

#works__detail dl dd {
  width: calc(100% - 11%);
  letter-spacing: 0.05em;
  padding: 0.5em 0 0.5em 1em;
  margin-bottom: 1em;
}

@media screen and (max-width:767px) {
  #works__detail .narrow {
    width: 100%;
  }

  #works__detail .narrow>img {
    width: 83.33%;
    height: 47.166vw;
    margin: 0 auto;
  }

  #works__detail .narrow .sp__scroll {
    overflow-x: scroll;
  }

  .scrollbar::-webkit-scrollbar {
    width: 7px;
    height: 7px;
    background: #F2F2F2;
    border-radius: 1em 0 0 1em;
  }

  .scrollbar-thumb-rounded::-webkit-scrollbar-thumb {
    border-radius: 1em;
  }

  .scrollbar-thumb-black::-webkit-scrollbar-thumb {
    --bg-opacity: 1;
    background-color: #ccc;
  }

  #works__detail .grid {
    width: 143.66vw;
    gap: 1.1vw;
    margin: 10vw auto 10px;
  }

  #works__detail .grid img {
    height: 26.66vw;
  }

  #works__detail dl {
    width: 83.33%;
    margin: 5.2% auto 0;
  }

  #works__detail dl dt {
    width: 18.5%;
    background: var(--color-blue);
    color: var(--color-white);
    font-weight: bold;
    letter-spacing: 0.025em;
    display: grid;
    place-content: center;
    padding: 0.5em 0;
    margin-bottom: 1em;
  }

  #works__detail dl dd {
    width: calc(100% - 18.5%);
    letter-spacing: 0.05em;
    padding: 0.5em 0 0.5em 1em;
    margin-bottom: 1em;
  }
}