/* ===== NEWS ===== */
  .news-section { background: var(--white); padding: 60px 0; position: relative; overflow: hidden; }

  .news-section::before {
    content: 'NEWS';
    position: absolute;
    right: -8px; bottom: -16px;
    font-family: 'Noto Serif JP', serif;
    font-size: clamp(68px, 16vw, 160px);
    font-weight: 700;
    color: rgba(150,232,188,0.05);
    letter-spacing: 0.08em;
    line-height: 1;
    pointer-events: none;
    white-space: nowrap;
    z-index: 0;
  }

  .news-header { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 28px; }

  .news-more { font-size: 14px; font-weight: 600; color: var(--pink-main); text-decoration: none; letter-spacing: 0.05em; transition: opacity 0.2s; white-space: nowrap; padding-bottom: 2px; }
  .news-more:hover { opacity: 0.7; }

  .news-list { display: flex; flex-direction: column; border-top: 1px solid var(--mint-light); }

  .news-item {
    display: grid;
    grid-template-columns: 108px 1fr 24px;
    align-items: center;
    gap: 24px;
    padding: 18px 12px;
    border-bottom: 1px solid var(--mint-light);
    text-decoration: none;
    color: var(--navy);
    background: #fff;
    transition: background 0.2s, padding-left 0.2s, border-color 0.2s;
    border-radius: 8px;
    animation: fadeUp 0.6s ease both;
    position: relative;
  }

  /* 左端にカテゴリカラーのアクセントライン */
  .news-item::before {
    content: '';
    position: absolute;
    left: 0; top: 20%; bottom: 20%;
    width: 3px;
    border-radius: 2px;
    opacity: 0;
    transition: opacity 0.2s;
  }
  .news-item:hover::before { opacity: 1; }

  /* カテゴリ別ライン色 */
  .news-item:has(.cat-info)::before    { background: var(--pink-main); }
  .news-item:has(.cat-recruit)::before { background: var(--mint); }
  .news-item:has(.cat-voice)::before   { background: var(--yellow); }

  .news-item:nth-child(1) { animation-delay: 0.1s; }
  .news-item:nth-child(2) { animation-delay: 0.2s; }
  .news-item:nth-child(3) { animation-delay: 0.3s; }
  .news-item:nth-child(4) { animation-delay: 0.4s; }
  .news-item:nth-child(5) { animation-delay: 0.5s; }

  .news-item:hover { padding-left: 20px; background: #FAFFFE; }

  .news-meta { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
  .news-date { font-size: 12px; color: #bbb; font-family: 'Noto Serif JP', serif; letter-spacing: 0.08em; white-space: nowrap; font-weight: 300; }

  .news-cat { font-size: 11px; font-weight: 700; padding: 4px 12px; border-radius: 50px; white-space: nowrap; letter-spacing: 0.08em; background: #fff; }
  /* 水色：お知らせ */
  .cat-info    { color: var(--pink-deep);  border: 1.5px solid var(--pink-main); }
  /* ミントグリーン：求人 */
  .cat-recruit { color: #1A9E7A;           border: 1.5px solid var(--mint); }
  /* イエロー：スタッフの声 */
  .cat-voice   { color: #9A6B00;           border: 1.5px solid var(--yellow); }

  .news-text {
    font-size: 14px;
    line-height: 1.75;
    color: var(--gray-text);
    min-width: 0;
    word-break: break-all;
    overflow-wrap: anywhere;
    white-space: normal;
  }

  .news-arrow { font-size: 16px; color: var(--pink-main); opacity: 0; transition: opacity 0.2s, transform 0.2s; transform: translateX(-4px); }
  .news-item:hover .news-arrow { opacity: 1; transform: translateX(0); }

  @media (max-width: 640px) {
    .news-item {
      grid-template-columns: 1fr 24px;
      grid-template-rows: auto auto;
      gap: 4px 8px;
      padding: 16px 4px;
    }
    .news-meta { grid-column: 1; grid-row: 1; }
    .news-text { grid-column: 1; grid-row: 2; font-size: 14px; line-height: 1.7; }
    .news-arrow { grid-column: 2; grid-row: 1 / 3; align-self: center; opacity: 1; }
  }
