@charset "utf-8";
/* -----------------------------------------------------------------
 .リスト共通
----------------------------------------------------------------- */
.works_body {
}
.works_item {
  display: block;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.works_item .works_img .more {
  position: absolute;
  bottom: 1em;
  right: 1em;
  display: flex;
  align-items: center;
  gap:.5em;
  font-size: .9em;
  transition: color .3s ease,transform .3s ease;
}
.works_item .works_img .more .icon_dot {
  width: 1em;
  height: 1em;
  position: relative;/*common上書き*/
  top: auto;/*common上書き*/
  left: auto;/*common上書き*/
  transform: translate(0);/*common上書き*/
}
.works_description .name {
  margin-top: .6em;
  font-size: min(.8rem,2vw);
}
.works_description .title {
  margin-top: .2rem;
  font-size: min(1.1rem,3vw);
}
.works_description .tag {
  margin-top: 1em;
  font-size: min(.8rem,2vw);
  color: var(--color_gray);
}
@media screen and (max-width: 767px) {
  .works_body {
    grid-template-columns: 1fr;
    gap:0;
  }
}
@media (hover: hover) and (pointer: fine) {
  a.works_item:hover .works_img .more {
    color: var(--color_kamikoubou);
    transform: translateX(-5px);
  }
  a.works_item:hover .works_description {
    opacity: .8;
  }
}

/* -----------------------------------------------------------------
 .featured
----------------------------------------------------------------- */
.featured {
  margin-bottom: var(--margin_size_150);
}
.featured .works_item.works02 {
  width: min(900px,80%);
}
.featured .works_item .works_img {
  aspect-ratio: 1180 / 600;
}
@media screen and (max-width: 767px) {
  .featured .works_item.works01,
  .featured .works_item.works02,
  .featured .works_btn {
    grid-column: 1;
    grid-row: auto;
    margin-left: auto;
    margin-right: auto;
  }
  .featured .works_item.works01 {
    width: 100%;
  }
  .featured .works_item.works02 {
    width: 60%;
    margin-top: 2rem;
  }
  .featured .works_item .works_img {
    aspect-ratio: 1 / 1;
  }
}

/* -----------------------------------------------------------------
 .works_other
----------------------------------------------------------------- */
.works_other .works_body {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap:5vw;
}
.works_other .works_item .works_img {
  aspect-ratio: 420 / 560;
}
.works_other .works_description .name {
  font-size: min(.7rem,1.6vw);
}
.works_other .works_description .title {
  margin-top: .2rem;
  font-size: min(.9rem,2.2vw);
}
.works_description .tag {
  font-size: min(.7rem,1.6vw);
}

@media screen and (max-width: 767px) {
  .works_other .works_body {
    grid-template-columns: repeat(2, 1fr);
    gap:6vw;
  }
}
