@charset "UTF-8";
/* ==========================================================================
   noteカード（DsNoteCard）
   variant：feature（大）／row（一覧）。カード全体が外部リンク、hover でタイトルが青。サムネ比 1.91:1。
   row を並べる親には border-bottom: 1px solid var(--lab-line) を付ける。
   ========================================================================== */
.lab-note-card {
  color: var(--lab-ink);
  transition: color var(--lab-dur-fast) var(--lab-ease-out);

  &:hover {
    color: var(--lab-primary);
  }

  &:focus-visible {
    outline-offset: 4px;
  }

  & .lab-note-card__thumb {
    aspect-ratio: 1.91 / 1;

    /* note のアイキャッチ（1280×670）。比率が違う画像は中央で切り抜く */
    &.lab-note-card__thumb--image {
      display: block;
      overflow: hidden;
      border-radius: var(--lab-radius-md);
      background: var(--lab-bg-1);

      & img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
    }
  }

  & .lab-note-card__body {
    min-width: 0;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  & .lab-note-card__title {
    max-width: 100%;
    overflow-wrap: anywhere;
    font-weight: 700;
    line-height: 1.6;
  }

  & .lab-note-card__date {
    font-size: var(--lab-fs-label);
    line-height: 1.4;
    letter-spacing: .08em;
    color: var(--lab-ink-3);
  }

  & .lab-note-card__more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: var(--lab-fs-small);
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: .04em;
    color: var(--lab-primary);

    @media (max-width: 767px) {
      min-height: 44px;
    }
  }

  /* feature（大） */
  &.lab-note-card--feature {
    display: flex;
    flex-direction: column;
    gap: 24px;

    @media (max-width: 767px) {
      gap: 16px;
    }

    & .lab-note-card__body {
      @media (max-width: 767px) {
        gap: 8px;
      }
    }

    & .lab-note-card__title {
      font-size: var(--lab-fs-h4);
      letter-spacing: .02em;

      @media (max-width: 767px) {
        font-size: var(--lab-fs-title);
      }
    }
  }

  /* row（一覧の1行） */
  &.lab-note-card--row {
    display: grid;
    grid-template-columns: 304px minmax(0, 1fr);
    column-gap: 32px;
    align-items: start;
    padding: 24px 0;
    border-top: 1px solid var(--lab-line);

    @media (max-width: 1023px) {
      grid-template-columns: 240px minmax(0, 1fr);
      column-gap: 24px;
    }

    @media (max-width: 767px) {
      grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
      column-gap: 16px;
      padding: 16px 0;
    }

    & .lab-note-card__thumb {
      @media (max-width: 767px) {
        padding: 4px;
        border-radius: var(--lab-radius-sm);
      }

      &.lab-note-card__thumb--image {
        padding: 0;
      }
    }

    & .lab-note-card__body {
      @media (max-width: 767px) {
        gap: 4px;
      }
    }

    & .lab-note-card__title {
      font-size: var(--lab-fs-title);
      letter-spacing: .04em;

      @media (max-width: 767px) {
        font-size: var(--lab-fs-body);
      }
    }
  }
}

/* row を縦に並べるリスト（最後の行の下罫） */
.lab-note-list {
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid var(--lab-line);
}
