.section-wrapper {
  max-width: 1280px;
  margin: 0 auto;
}

.office-list_headline .headline__title {
  font-size: 26px;
  font-weight: 600;
}

.office-list {
}
.office-list_head {
  text-align: left;
}

.office-list_body {
}

.office-list_wrap {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}

.office-list_card {
  padding: 20px 0;
  box-sizing: border-box;
  text-align: left;
  position: relative;
  font-size: 16px;
}
.office-list_card::after,
.office-list_card::before {
  content: "";
  position: absolute;
  background-color: #ddd;
}

.office-list_card_name {
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 6px;
}

.office-list_card_address {
}

.office-list_card_map,
.office-list_card_tel {
  display: block;
}

.office-list_card_map a,
.office-list_card_tel a {
  font-weight: 500;

  display: flex;
  align-items: center;
  gap: 4px;
}

.office-list_card_map a::before {
  content: "";
  display: inline-block;
  background: url(/jp/company/sales-office-list/img/icon-map.svg) no-repeat center center / contain;
  width: 16px;
  height: 16px;
}

.office-list_card_tel a::before {
  content: "";
  display: inline-block;
  background: url(/jp/company/sales-office-list/img/icon-tel.svg) no-repeat center center / contain;
  width: 16px;
  height: 16px;
}

@media screen and not (min-width: 641px) {
  .office-list_card:not(:last-child)::after {
    width: 100%;
    height: 1px;
    bottom: 0;
  }

  .office-list_card:first-child {
    padding-top: 8px;
  }
}

@media screen and (min-width: 641px) {
  a[href^="tel:"] {
    pointer-events: none;
  }

  .office-list_headline .headline__title {
    font-size: 40px;
    font-weight: 500;
  }

  .office-list_accordion_head {
    text-align: center;
  }

  .office-list_wrap {
    grid-template-columns: repeat(4, 1fr);

    margin: 0 auto;
  }

  .office-list_card::after {
    width: calc(100% - 40px);
    height: 1px;
    bottom: 0;
    left: 20px;
    display: block;
  }

  /* 最後の行の要素の下線を非表示（ただし4つ目は除く） */
  .office-list_wrap .office-list_card:nth-last-child(1):not(:nth-child(4))::after,
  .office-list_wrap .office-list_card:nth-last-child(2):not(:nth-child(4))::after,
  .office-list_wrap .office-list_card:nth-last-child(3):not(:nth-child(4))::after {
    display: none;
  }

  /* 8個（2行完全）の場合のみ、最後の行の処理 */
  .office-list_wrap:has(.office-list_card:nth-child(8):last-child) .office-list_card:nth-child(n+5):nth-child(-n+8)::after {
    display: none;
  }

  .office-list_card {
    padding: 20px;
  }

  .office-list_card::before {
    width: 1px;
    height: calc(100% - 40px);
    top: 20px;
    right: 0;
  }

  .office-list_card:nth-child(4n)::before {
    display: none;
  }
}
