.works {
  color: #fff;
  background-color: #00009e;
  height: 100vh;
  height: 100dvh;
  height: calc(var(--vh, 1vh) * 100);
}

/* MV */
.works-mv {
  background: url('../img/works-bg.jpg') no-repeat center / cover;
  position: relative;
}

._open .works-mv-text {
  transform: translate(-133%, -50%);
}

.works-mv-text h1 {
  width: calc(605 / var(--full-width) * 100vw);
}
.s .works-mv-text h1 {
  width: calc(640 / var(--sp-full-width) * 100vw);
}

.works-mv-text p {
  width: calc(375 / var(--full-width) * 100vw);
}
.s .works-mv-text p {
  width: calc(420 / var(--sp-full-width) * 100vw);
}

/* 一時的 */
.common-title {
  opacity: 0;
}

/* ._open .common-mv-text p {
  visibility: hidden;
  opacity: 0;
} */

/* 絞り込みタイトル */
#works-title-selected img {
  transition: opacity 0.5s;
}

/* PC時絞り込み */
.works-mv-text ul {
  display: flex;
  flex-direction: column;
  row-gap: calc(15 / var(--full-width) * 100vw);
  align-items: center;
  font-size: calc(16 / var(--full-width) * 100vw);
  text-align: center;
  position: absolute;
  top: 65%;
  left: 50%;
  transform: translateX(-50%);
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.6s 1s, visibility 0.6s 1s;
}
._open .works-mv-text ul {
  visibility: visible;
  opacity: 1;
}

.works-mv-text ul li {
  overflow: hidden;
}

.works-mv-text ul li span {
  transform: translateY(101%);
  transition: transform 1s cubic-bezier(0, 0, 0.1, 1);
  display: block;
  padding-bottom: calc(15 / var(--full-width) * 100vw);
}
.s .works-mv-text ul li span {
  padding-bottom: calc(15 / var(--sp-full-width) * 100vw);
}
.works-mv-text ul._show span {
  transform: translateY(0);
}

/* スライドコンテナ */
.works-slideContainer {
  padding: calc(127 / var(--full-width) * 100vw) 0 0 calc(100 / var(--full-width) * 100vw);
  display: flex;
  flex-direction: column;
  row-gap: calc(45 / var(--full-width) * 100vw);
  height: 100vh;
}
.s .works-slideContainer {
  padding: calc(215 / var(--sp-full-width) * 100vw) 0 0 calc(30 / var(--sp-full-width) * 100vw);
  row-gap: calc(45 / var(--sp-full-width) * 100vw);
  /* 高さはJavaScriptで設定 */
}

/* SP時絞り込み */
.works-filter {
  display: none;
}
.s .works-filter {
  display: flex;
  justify-content: flex-start;
  font-size: calc(26 / var(--sp-full-width) * 100vw);
  column-gap: calc(50 / var(--sp-full-width) * 100vw);
  margin-bottom: calc(-23 / var(--sp-full-width) * 100vw);
}
.s .works-filter li {
  width: fit-content;
}

/* WORKS一覧 */
.works-list {
  display: flex;
  flex-direction: column;
  row-gap: calc(80 / var(--full-width) * 100vw);
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: auto;
  overscroll-behavior-y: auto;
  touch-action: pan-y;
  flex: 1 1 auto;
  padding-bottom: 60vh;
  position: relative;
}
.s .works-list {
  row-gap: calc(100 / var(--sp-full-width) * 100vw);
}

.works-item {
  min-height: calc(120 / var(--full-width) * 100vw);
  height: auto;
  padding-top: calc(20 / var(--full-width) * 100vw);
  transform: translateX(12%);
  transition: transform 0.6s ease-out;
}
.s .works-item {
  min-height: calc(240 / var(--sp-full-width) * 100vw);
  padding-top: calc(20 / var(--sp-full-width) * 100vw);
}
.works-item._active {
  transform: translateX(0);
}

/* タグ */
.works-item-tagWrapper {
  display: flex;
  column-gap: calc(8 / var(--full-width) * 100vw);
}
.s .works-item-tagWrapper {
  column-gap: calc(8 / var(--sp-full-width) * 100vw);
}

.works-item-tag {
  font-size: calc(14 / var(--full-width) * 100vw);
  padding: calc(8 / var(--full-width) * 100vw) calc(12 / var(--full-width) * 100vw) !important;
  border: 1px solid #fff;
  display: block;
  width: fit-content;
}
.s .works-item-tag {
  font-size: calc(20 / var(--sp-full-width) * 100vw);
  padding: calc(8 / var(--sp-full-width) * 100vw) calc(12 / var(--sp-full-width) * 100vw) !important;
}

/* タイトル */
.works-item-title {
  font-size: calc(24 / var(--full-width) * 100vw);
  font-weight: 600;
  position: relative;
  display: flex;
  align-items: center;
  column-gap: calc(35 / var(--full-width) * 100vw);
  padding-top: calc(12 / var(--full-width) * 100vw);
}
.s .works-item-title {
  font-size: calc(30 / var(--sp-full-width) * 100vw);
  column-gap: calc(35 / var(--sp-full-width) * 100vw);
  padding-top: calc(12 / var(--sp-full-width) * 100vw);
}

.works-item-title span {
  flex-shrink: 0;
  max-width: 80%;
  word-break: break-all;
}

.works-item-titleLine {
  width: 0%;
  height: 1px;
  margin-bottom: calc(15 / var(--full-width) * 100vw);
  background-color: #fff;
  transition: width 0.8s ease-out;
}
.s .works-item-titleLine {
  height: 1px;
  margin-bottom: calc(7 / var(--sp-full-width) * 100vw);
}
.works-item._active .works-item-titleLine {
  width: 100%;
}

/* テキスト */
.works-item-text {
  font-size: calc(12 / var(--full-width) * 100vw);
  line-height: 1.5;
  display: none;
  width: 75%;
}
.s .works-item-text {
  font-size: calc(18 / var(--sp-full-width) * 100vw);
  width: 95%;
}
