#main h2.partners-h2 {
  border-left: none;
  display: flex;
  align-items: center;
  gap: 0.4em;
  padding-left: 0;
}
#main h2.partners-h2 img {
  width: 44px;
  height: 44px;
  object-fit: contain;
  flex-shrink: 0;
  align-self: center;
  display: block;
}

.horizontal-list {
    font-size: 14px;
    line-height: 1.6;
  }
  
  /* 1行ごとの設定 */
  .list-row {
    display: flex;
    border-bottom: 1px solid #eee;
    padding: 12px 0;
  }
  .horizontal-list .list-row:nth-child(even) {
    background-image: linear-gradient(0deg, #f8fbff, #f8fbff);
  }
  
  /* dt（作目名）の幅を広げる（例：140px → 180px） */
  .horizontal-list dt {
    flex: 0 0 180px; 
    font-weight: bold;
    color: #333;
    padding-right: 15px;
    box-sizing: border-box;
    word-wrap: break-word; /* 長い単語の折り返し */
  }
  
  .members {
    flex: 1;
  }
  
  /* 担当者ごとの行 */
  .members dd {
    display: flex;
    margin: 0 0 8px 0;
  }
  
  /* 氏名の幅 */
  .members .name {
    flex: 0 0 110px; 
  }
  
  /* 所属の幅を調整（flex-basis等で制御） */
  .members .affiliation {
    flex: 1;
    color: #555;
    /* 所属テキストが長すぎる場合に備え、少し余白を持たせる */
    padding-right: 10px; 
  }
  
  /* モバイル対応：画面幅が狭い（768px以下）ときは縦並びに */
  @media (max-width: 768px) {
    .list-row {
      flex-direction: column;
    }
    .horizontal-list dt {
      flex: none;
      width: 100%;
      margin-bottom: 8px;
      border-bottom: 1px dashed #ccc;
      padding-bottom: 4px;
    }
    .members dd {
      flex-direction: column;
      margin-bottom: 12px;
    }
    .members .name {
      flex: none;
      width: 100%;
    }
  }