#index.news .c-page-title,
#index.news-detail .c-page-title {
    /* 字面の左右余白を揃える。理由は sp/common.css の .c-page-title を参照 */
    --page-title-heading-padding-end: 0.09rem;
  --page-title-main-lsb: 0.171em; /* 1文字目 N の左サイドベアリング */
    --page-title-notch-x: 0.93rem;
}

  .c-news-layout .content {
      position: relative;
      overflow: hidden;
      background: var(--color-white);
      padding: 0 0 0.4rem;
    }

  .c-news-layout .main__inner {
    display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 0.36rem;
    }

  .c-news-layout .sidebar {
    box-sizing: border-box;
      width: 100%;
      flex: none;
      padding: 0;
    }

  .c-news-layout .sidebar__list {
    --beveled-cut: 0.03rem;
    display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: center;
      gap: 0;
      min-height: 0.44rem;
      padding: 0 0.2rem;
      background: var(--color-primary);
    }

  .c-news-layout .sidebar__link {
    display: block;
    color: var(--color-white);
    transition: opacity 0.2s ease;
      padding: 0;
      font-family: var(--font-family-base);
      font-size: 0.14rem;
      line-height: 0.44rem;
      letter-spacing: 0.02em;
      white-space: nowrap;
    }

  .c-news-layout .sidebar__link:hover {
    opacity: 0.7;
  }

  .c-news-layout .sidebar__link.is-current {
    font-weight: 600;
    opacity: 0.6;
  }

  .c-news-layout .sidebar__link.is-current:hover {
    opacity: 0.6;
  }

  #index.news .list-column {
    flex: 1 1 auto;
    min-width: 0;
      width: auto;
      /* 記事一覧の左右をカテゴリー帯・ページタイトルと同じ位置（l-outer の余白）に揃える */
      margin: 0;
    }

  #index.news .list-panel {
    border-radius: 0.04rem;
    box-sizing: border-box;
      padding: 0;
      background: transparent;
    }

  #index.news .list {
    display: flex;
    flex-direction: column;
      gap: 0.04rem;
    }

  #index.news .list__link {
    --beveled-cut: 0.03rem;
    display: flex;
    align-items: center;
    gap: 0.2rem;
    width: 100%;
    box-sizing: border-box;
    background: var(--color-surface-light);
    transition: opacity 0.2s ease;
      flex-wrap: wrap;
      min-height: 0.96rem;
      padding: 0.22rem;
      column-gap: 0.14rem;
      row-gap: 0.09rem;
    }

  #index.news .list__link:hover {
    opacity: 0.75;
  }

  #index.news .list__badge {
    --beveled-cut: 0.02rem;
    order: 1;
    flex-shrink: 0;
    background: var(--color-primary);
    color: var(--color-white);
      /* PCと同じくラベルによらず固定幅で中央揃え。
左右paddingは幅を固定したぶん 0 にする（0.1rem のままだと RECRUIT が収まらない） */
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 0.56rem;
      font-family: var(--font-family-base);
      font-size: 0.09rem;
      font-weight: 400;
      line-height: 1;
      /* TOPの .news__category と同じ指定。箱の高さは height 0.14rem 固定、letter-spacing は指定しない */
      height: 0.14rem;
      padding: 0;
}

  #index.news .list__divider {
    order: 2;
    flex-shrink: 0;
    width: 0.01rem;
    background: rgba(0, 30, 145, 0.15);
      height: 0.14rem;
      margin-right: 0;
    }

  #index.news .list__title {
    min-width: 0;
    letter-spacing: 0.02em;
    color: var(--color-primary);
    overflow-wrap: break-word;
    word-break: break-word;
      order: 4;
      flex: 1 1 100%;
      width: 100%;
      font-family: var(--font-family-base);
      font-size: 0.16rem;
      line-height: 1.4;
    }

  #index.news .list__date {
    flex-shrink: 0;
      order: 3;
      margin-left: 0;
      font-family: var(--font-family-base);
      font-size: 0.11rem;
      letter-spacing: 0.02em;
      color: #b2c0df;
    }

  #index.news .pagination {
    display: flex;
    align-items: center;
      justify-content: center;
      gap: 0.13rem;
      margin-top: 0.37rem;
      padding-top: 0.38rem;
      border-top: 0.01rem solid rgba(0, 30, 145, 0.12);
    }

  #index.news .pagination__list {
    display: flex;
    align-items: center;
      gap: 0.14rem;
    }

  #index.news .pagination__link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0.44rem;
    height: 0.44rem;
    padding: 0 0.04rem;
    border: 0.01rem solid transparent;
    color: var(--color-primary);
    box-sizing: border-box;
      font-family: var(--font-family-base);
      font-size: 0.13rem;
      font-weight: 600;
    }

  #index.news .pagination__link.is-current {
    --beveled-cut: 0.01rem;
    border-color: var(--color-primary);
  }

  #index.news .pagination__arrow {
    --beveled-cut: 0.02rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 0.44rem;
    height: 0.44rem;
    background: var(--color-primary);
    color: var(--color-white);
      font-size: 0.16rem;
    }

  #index.news .pagination__arrow img {
    display: block;
    width: 100%;
    height: 100%;
  }

  #index.news .pagination__arrow--prev img {
    transform: scaleX(-1);
  }

    .c-news-layout .content::before,
.c-news-layout .content::after {
      --beveled-cut: 0.03rem;
      content: "";
      position: absolute;
      top: 0.8rem;
      bottom: 0;
      width: 0.12rem;
      background: var(--color-primary);
      clip-path: polygon(0 0, calc(100% - var(--beveled-cut)) 0, 100% var(--beveled-cut), 100% calc(100% - var(--beveled-cut)), calc(100% - var(--beveled-cut)) 100%, 0 100%);
    }

    .c-news-layout .content::before {
      left: 0;
    }

    .c-news-layout .content::after {
      right: 0;
      transform: scaleX(-1);
    }

    /* タブを等幅にして文字をその中央に置く */
    .c-news-layout .sidebar__item {
      position: relative;
      flex: 1 1 0;
      min-width: 0;
      padding: 0;
      text-align: center;
    }

    .c-news-layout .sidebar__item + .sidebar__item::before {
      content: "";
      position: absolute;
      left: 0;
      top: 50%;
      width: 0.01rem;
      height: 0.1rem;
      transform: translateY(-50%);
      background: rgba(255, 255, 255, 0.3);
    }

    .c-news-layout .sidebar__item:first-child,
    .c-news-layout .sidebar__item:last-child {
      padding: 0;
    }

    #index.news .pagination__link,
#index.news .pagination__arrow {
      width: 0.25rem;
      min-width: 0.25rem;
      height: 0.25rem;
      padding: 0;
    }
