.section .text + .table {
  margin-top: 32px
}
.section .tableHeading {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 30px;
  margin-bottom: 42px;
  font-size: 28px;
  font-weight: 500;
  line-height: 1.42;
  text-align: center;
  letter-spacing: 0
}
.section .tableHeading--low {
  padding-top: 12px
}
.section .tableHeading--2 {
  padding-top: 50px;
  margin-bottom: 60px
}
.section .tableHeading__en {
  position: absolute;
  top: 0;
  left: 50%;
  height: 100%;
  min-height: 137px;
  transform: translateX(-50%)
}
.section .tableHeading__en img {
  max-width: initial
}
.section .table {
  display: grid;
  gap: 20px;
  font-family: "Noto Sans JP",sans-serif;
  font-size: 14px;
  letter-spacing: 0
}
.section .table__head {
  display: none
}
.section .table__title {
  padding: 20px;
  line-height: 1.25;
  text-align: center;
  background: var(--color-table-main)
}
.section .table__title--sub {
  display: flex;
  align-items: center;
  height: 100%;
  background: var(--color-table-sub);
  border: 1px solid #bbb
}
.section .table__item {
  display: grid;
  grid-template-columns: 105px 1fr
}
.section .table__category {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 15px;
  line-height: 1.9;
  text-align: center;
  background: var(--color-table-main);
  border: 1px solid #fff;
  border-width: 1px 0 0
}
.section .table__category--empty {
  background: 0 0
}
.section .table__content {
  display: flex;
  align-items: center;
  padding: 20px;
  line-height: 1.3;
  border: 1px solid #bbb
}
.section .table__content .c-link::before {
  height: 1em
}
.section .note {
  padding-left: 1em;
  margin-top: 7px;
  font-family: "Noto Sans JP",sans-serif;
  font-size: 12px;
  text-indent: -1em
}
.section .grid {
  display: grid;
  gap: 36px;
  margin-top: 40px
}
.section .grid .image img {
  width: 100%;
  height: auto
}
.section .grid .section__heading {
  margin-top: 20px
}
@media (min-width:768px) {
  .section .text--center {
    text-align: center
  }
  .section .tableHeading {
    height: 137px;
    padding: 0;
    margin-bottom: 30px;
    font-size: 42px
  }
  .section .tableHeading__en img {
    width: auto;
    height: 100%
  }
  .section .table {
    grid-template-columns: 313px 215px 1fr 174px 225px;
    gap: 0
  }
  .section .table__head,
  .section .table__row {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: span 5
  }
  .section .table__row:not(:last-child) .table__content,
  .section .table__row:not(:last-child) .table__title--sub {
    border-bottom-width: 0
  }
  .section .table__title {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    border-top: 1px solid #fff
  }
  .section .table__title--sub {
    border-top-color: #bbb
  }
  .section .table__item {
    display: block
  }
  .section .table__item .table__category {
    display: none
  }
  .section .table__item:not(:last-child) .table__content,
  .section .table__item:not(:last-child) .table__title--sub {
    border-right-width: 0
  }
  .section .table__category {
    padding: 4px;
    border-width: 0 0 0 1px
  }
  .section .table__content {
    justify-content: center;
    height: 100%;
    text-align: center
  }
  .section .table__content--left {
    justify-content: flex-start;
    text-align: left
  }
  .section .table--2 {
    grid-template-columns: 230px 350px 1fr 144px
  }
  .section .note {
    margin-top: 14px
  }
  .section .grid {
    grid-template-columns: repeat(2,1fr);
    gap: 40px;
    margin-top: 50px
  }
  .section .grid .table {
    grid-template-columns: 120px 113px 1fr 100px 122px
  }
}
@media (max-width:767.98px) {
  .section .table__item:not(:last-child) .table__content,
  .section .table__item:not(:last-child) .table__title--sub {
    border-bottom-width: 0
  }
}