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

/* ----- side_list (dl works) ----- */
.page-works .side_list dl 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;
  max-height: 136px;
  margin-bottom: 8px;
}

/* レイアウト: 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%;
}

.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;
  line-height: 1.2;
}

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

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

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

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

.contents_list .list-nenga li: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: 50%;
  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: 14px;
  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 0;
}

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

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

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

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

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

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

/* ----- レスポンシブ（Works,Circle共通） ----- */
@media screen and (max-width: 768px) {
  /* works一覧：共通 */
  .page-works .contents_list {
    margin: 0 10px;
  }

  /* works一覧 */
  .contents_list .list-works li {
    margin: 20px 0;
  }
  /* TODO: list-works SP調整（2026-03） */ /* nengaと同じデザインにする場合に必要 */ /*
  .contents_list .list-works li {
    flex-direction: column;
    max-height: none;
  }

  .contents_list .list-works li figure {
    width: auto;
    display: flex;
    height: calc((100vw - 32px) * 2 / 3);
    overflow: hidden;
  }

  .contents_list .list-works li figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
*/
  .contents_list .list-works li .note {
    margin: 10px 0 10px 20px;
    width: calc(100vw - 272px);
  }

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

  .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 - 36px) * 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.is-column {
    flex-wrap: wrap;
  }

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