/* page-works.css - Works,Circleページ固有のスタイル */

/* ----- side_list (dl works) ----- */
.page-works .side_list dl:not(.old) dd a::after,
.page-works .side_list dl dd span:not(.c-current-linktext)::after {
  content: " / ";
  color: #fff;
}

/* ----- contents_list（ works, nenga, nenga-old 一覧用 )----- */

.contents_list .list-works,
.contents_list .list-nenga,
.contents_list .list-nenga-old {
  margin: 20px 5px;
}

/* works, nenga一覧（カードはliで統一） */

.contents_list .list-works li,
.contents_list .list-nenga li {
  position: relative;
  overflow: hidden;
  border: 1px dotted #eef1ee;
  border-radius: 8px;
  margin-bottom: 10px;
}

/* レイアウト: worksはliをflex、nengaはli直下のaをflexに */
.contents_list .list-works li {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.contents_list .list-nenga li > a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.contents_list .list-works li figure,
.contents_list .list-nenga li figure {
  width: 200px;
  display: flex;
  overflow: hidden;
  aspect-ratio: 3 / 2;
}

.contents_list .list-works li figure img,
.contents_list .list-nenga li figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 2枚並び（HTML側で figure.is-two を付与） */
.contents_list .list-nenga li figure.is-two img {
  width: 50%;
}

.contents_list .list-works li .note,
.contents_list .list-nenga li .note {
  margin: 20px;
  flex: 1;
}

.contents_list .list-works li .title,
.contents_list .list-nenga li .title {
  position: relative;
  margin-bottom: 5px;
  padding: 0 10px 5px 0;
  border-bottom: 1px dotted #ccc;
}

.contents_list .list-works li .title {
  display: inline-flex;
}

.contents_list .list-nenga li .title {
  font-size: 1.1rem;
  line-height: 1.2;
}

.contents_list .list-nenga li p:not(.title) {
  color: #ccc;
  cursor: text;
}

/*リンク無効時 */

.contents_list .list-nenga li.no-link > a {
  pointer-events: none;
}

/*リンク有効時 */

.contents_list .list-nenga li:not(.no-link) .title::after {
  content: "";
  position: absolute;
  right: 2px;
  top: 42%;
  width: 6px;
  height: 6px;
  border-top: 2px solid #ddd;
  border-right: 2px solid #ddd;
  transform: translateY(-50%) rotate(45deg);
}

.contents_list .list-nenga li:not(.no-link):hover {
  background-color: #539664;
}

.contents_list .list-nenga li:not(.no-link):hover .title::after {
  border-color: #006644;
}

/*旧nenga　一覧 */

.contents_list .list-nenga-old li a {
  overflow: hidden;
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  margin-bottom: 8px;
  gap: 5px;
  min-height: 108px;
}

.contents_list .list-nenga-old li figure {
  width: 160px;
  overflow: hidden;
}

.contents_list .list-nenga-old li figure img {
  max-width: 100%;
  max-height: 118px;
}

.contents_list .list-nenga-old li .note {
  padding: 10px;
  border: 1px dotted #ccc;
  line-height: 1.2;
  flex: 1;
}

.contents_list .list-nenga-old .title {
  position: relative;
  width: calc(100% - 10px);
  margin-bottom: 5px;
  padding: 0 10px 5px 0;
  border-bottom: 1px solid #ddd;
}

.contents_list .list-nenga-old .title::after {
  content: "";
  position: absolute;
  right: 2px;
  top: 42%;
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}

.contents_list .list-nenga-old li p:not(.title) {
  font-size: 0.9rem;
  line-height: 1.2;
  color: #ccc;
  cursor: text;
}

.contents_list .list-nenga-old li a:hover {
  background-color: #539664;
}

.contents_list .list-nenga-old a:hover .title::after {
  border-color: #006644;
}

/* ----- contents_inner（ works, nenga　記事用 )----- */

/* nenga 詳細 */
.contents_inner .item-nenga {
  margin: 20px 5px;
}

.contents_inner .item-nenga img {
  max-width: 100%;
}

.contents_inner .item-nenga .caption {
  margin-bottom: 15px;
  font-size: 0.85rem;
}

.contents_inner .item-nenga dt:not(.caption) {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  border-bottom: 1px solid #ccc;
  font-size: 0.85rem;
}

.contents_inner .item-nenga dt span {
  font-size: 1.1rem;
  color: #fff;
}

.contents_inner .item-nenga dd {
  padding: 5px 0 15px 15px;
}

/* nenga 2カラム用 */
.contents_inner .item-nenga.is-column {
  display: flex;
}

.contents_inner .item-nenga.is-column dl {
  padding: 5px 0 15px 15px;
}

/* ----- レスポンシブ（SP） ----- */
@media screen and (max-width: 639px) {
  /* works一覧 */
  .contents_list .list-works li {
    margin: 20px 0;
  }

  .contents_list .list-works li .note {
    margin: 10px 0 10px 20px;
    width: calc(100vw - 272px);
  }

  /* nenga一覧 */
  .contents_list .list-nenga li > a {
    max-height: none;
    flex-direction: column;
  }

  .contents_list .list-nenga li {
    max-height: none;
  }

  .contents_list .list-nenga li .note {
    margin: 10px;
    width: calc(100% - 20px);
  }

  .contents_list .list-nenga li figure {
    align-items: center;
    width: auto;
    height: calc((100vw - 22px) * 2 / 3);
  }

  /*旧nenga一覧*/
  .contents_list .list-nenga-old {
    margin: 20px 0;
  }

  .contents_list .list-nenga-old li figure {
    width: 79px;
  }

  .contents_list .list-nenga-old li figure img {
    max-width: none;
  }

  /* nenga 記事用 */
  .contents_inner .item-nenga {
    width: 100%;
    margin: 20px 5px;
  }

  .contents_inner .item-nenga.is-column {
    flex-wrap: wrap;
  }

  .contents_inner .item-nenga img {
    max-width: calc(100vw - 30px);
  }

  .contents_inner .item-nenga.is-column dl {
    padding: 5px 0 0;
  }
}
