.additional-profile {
  display: grid;
  grid-template-rows: auto 1fr;
  margin-top: 20px;
  border: 1px solid rgba(0, 0, 0, .1);
}

.additional-profile-image {
  grid-row: 1 / 3;
  aspect-ratio: 1;
  min-height: 0;
}

.additional-profile-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.additional-profile-description a {
  text-decoration: underline;
}

@media only screen and (min-width: 481px) {
  .additional-profile {
    grid-template-columns: 128px 1fr;
    gap: 10px 20px;
    padding: 30px;
  }

  .additional-profile-title {
    font-size: 18px;
  }

  .additional-profile-description {
    font-size: 15px;
    line-height: 1.5;
  }
}

@media only screen and (max-width: 480px) {
  .additional-profile {
    grid-template-columns: 80px 1fr;
    gap: 10px;
    padding: 15px;
  }

  .additional-profile-title {
    font-size: 15px;
  }

  .additional-profile-description {
    font-size: 12px;
    line-height: 1.5;
  }
}

/*********************************/

.additional-experts {
  margin-block: 30px;
}

/**
 * アイキャッチの表示制御
 */
@media only screen and (max-width: 767px) {
  .eyecatch-main {
    display: none;
  }

  body .l-wrapper {
    margin-block-start: 20px;
  }

  .sp_top_banner {
    padding-block-start: 1em;
  }
}

/**
 * ウィジェット表示制御
 */
.widget:has(.textwidget:empty) {
  margin: 0;
}

/**
 * 2025.03.28 style調整
 */
.content a {
  color: #00B8C8;
}

.content .marker-thickYellow {
  background: none !important;
  font-weight: bold;
  color: #ea5e7b;
}

/**
 * typography
 */
.content {
  font-size: 1.6rem;
}
.content .outline__item,
.content table {
  font-size: 1.6rem;
}
/**
 * writer policy
 */
.writer-policy-parent {
  padding-block: 1.5em;
  padding-inline: 1.5em;
  border: solid 1px #cccccc;
  border-radius: .5em;
  line-height: 1.75;
  text-align: justify;
}

.writer-policy-child {
  font-size: 1.6rem;
}

/**
 * table
 */
.postContents table {
  font-size: 1.4rem;
  line-height: 1.5;
}
.tableScroll table {
  border-collapse: separate;
}

.tableScroll table td,
.tableScroll table th {
  min-width: 100px;
  padding-block: .5em;
  padding-inline: 1em;
}

.postContents table th {
  background-color: #f2f2f2;
}

.postContents table tr:nth-child(odd) td {
  background-color: #fff
}

.postContents .tableScroll table th {
  text-align: center;
}

.postContents .tableScroll table td {
  white-space: nowrap;
}

.postContents .tableScroll td.flex {
  display: table-cell;
}

/* --- for small viewport --- */
@media only screen and (max-width: 767px) {
  .postContents .content .tableScroll table td,
  .postContents .content .tableScroll table th {
    min-width: calc(125 * 100vw / 390) !important;
  }
}