@media screen and (max-width: 767px) {

  .sub-sns__wrap1 {
    flex-wrap: wrap;
  }

  .knowledge-contents ul:has(li:not(.knowledge-contents__list-sub-title, .knowledge-contents__list-title)),
  .knowledge-contents ol:has(li:not(.knowledge-contents__list-sub-title, .knowledge-contents__list-title)) {
    list-style: disc !important;
    margin: 2em;
  }

  .knowledge-contents nav ul,
  .knowledge-contents nav ol {
    list-style: disc !important;
    margin: .4em 0 .4em .5em !important;
  }

  .knowledge-contents.layout-knowledge-contents {
    max-width: 44.375rem;
    width: 100%;
    margin-inline: auto;
    padding-inline: 1.25rem;
    padding-top: 0 !important; /* コンテンツ全体の上の隙間を削除 */
  }

  .knowledge-contents.layout-knowledge-contents > p {
    margin-bottom: 1.875rem;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.8;
    color: #333333;
    overflow-wrap: break-word;
  }

  /* --- h2: 余白を上下で微調整 --- */
  .knowledge-contents.layout-knowledge-contents > h2 {
    font-size: 20px;
    /* 上を10px、下を15pxにして、見た目の重心を調整 */
    padding: 10px 20px 15px;
    color: #6e0054ff;
    background-color: #f8f3f6ff;
    border-top: 2px solid #6e0054ff;
    border-bottom: 2px solid #6e0054ff;
    margin-top: 2.5em;
    margin-bottom: 1.0rem;
    display: block;
  }

  .knowledge-contents.layout-knowledge-contents > h3 {
    font-size: 20px;
    color: #6e0054ff;
    border-left: 5px solid #6e0054ff;
    padding-left: 10px;
    margin-top: 2.5rem;
    margin-bottom: 0.5rem;
  }

  /* --- h4: スマホ版の余白を修正 --- */
  .knowledge-contents.layout-knowledge-contents > h4 {
    font-size: 18px;
    color: #6e0054ff;
    border-bottom: 1px solid #6e0054ff;
    padding-bottom: 3px;
/*    margin-top: 2.0rem;*/
    margin-bottom: 0.5rem;
    font-weight: 700;
    display: inline-block;
    width: auto;
  }

  /* --- h5: スマホ版の余白を修正 --- */
  .knowledge-contents.layout-knowledge-contents > h5 {
    color: #6e0054ff;
    font-weight: 700;
    font-size: 18px;
    margin-top: 2.0rem;
    margin-bottom: 0.3rem;
    display: flex;
    align-items: center;
  }

  .knowledge-contents.layout-knowledge-contents > h5::before {
    content: "■";
    margin-right: 8px;
    font-size: 0.8em;
  }

  .knowledge-contents.layout-knowledge-contents > p + h3 {
    margin-top: 2.5rem;
  }

  .knowledge-contents nav ul,
  .knowledge-contents nav ol {
    padding: 0 0 0 20px;
    margin-left: 2em;
    margin-bottom: 20px;
  }

  .knowledge-contents nav ul li {
    list-style: disc;
  }

  .knowledge-contents a {
    color: #0077b4;
    text-decoration: underline;
    transition: opacity 0.2s;
  }

  .knowledge-contents a:hover {
    opacity: 0.7;
    font-weight: normal;
  }

  /* CTA・ボタン系リンクはSPでも本文リンク装飾から除外 */
  .knowledge-contents a.service-button,
  .knowledge-contents a.button__article__inquiry,
  .knowledge-contents a.button__article__download,
  .knowledge-contents a.button__article__quote,
  .knowledge-contents a.button-inquiry,
  .knowledge-contents a.button-download,
  .knowledge-contents a.button-quote,
  .knowledge-contents a.btn_paper,
  .knowledge-contents a.btn_detail,
  .knowledge-contents a.download__cta__btn__01,
  .knowledge-contents a.download__cta__btn__std {
    color: #fff;
    text-decoration: none;
  }

  .knowledge-contents a.service-button:hover,
  .knowledge-contents a.button__article__inquiry:hover,
  .knowledge-contents a.button__article__download:hover,
  .knowledge-contents a.button__article__quote:hover,
  .knowledge-contents a.button-inquiry:hover,
  .knowledge-contents a.button-download:hover,
  .knowledge-contents a.button-quote:hover,
  .knowledge-contents a.btn_paper:hover,
  .knowledge-contents a.btn_detail:hover,
  .knowledge-contents a.download__cta__btn__01:hover,
  .knowledge-contents a.download__cta__btn__std:hover {
    text-decoration: none;
    opacity: 1;
    font-weight: normal;
  }

  /* 目次サブリストの折り返しインデントを補正 */
  .knowledge-contents__list ul {
    padding-left: 1.25rem;
  }

  .knowledge-contents__list .knowledge-contents__list-sub-title {
    text-indent: 0;
    padding-left: 0;
  }
}

@media screen and (min-width: 768px) {

  .knowledge-contents.layout-knowledge-contents {
    padding-top: 0 !important;
  }

  .knowledge-contents.layout-knowledge-contents > p {
    margin-bottom: 2.0rem;
    font-size: 16px;
    line-height: 1.875;
    color: #333333;
  }

  /* --- h2: PC版もpaddingを微調整 --- */
  .knowledge-contents.layout-knowledge-contents > h2 {
    font-size: 26px;
    margin-top: 2.5rem;
    margin-bottom: 1.0rem;
    background-color: #f8f3f6ff;
    border-top: 2px solid #6e0054ff;
    border-bottom: 2px solid #6e0054ff;
    color: #6e0054ff;
    padding: 12px 20px 18px;
    display: block;
  }

  .knowledge-contents.layout-knowledge-contents > h3 {
    font-size: 24px;
    color: #6e0054ff;
    border-left: 5px solid #6e0054ff;
    padding-left: 10px;
    margin-top: 2.5rem;
    margin-bottom: 0.5rem;
  }

  .knowledge-contents.layout-knowledge-contents > h4 {
    font-size: 22px;
    color: #6e0054ff;
    border-bottom: 1px solid #6e0054ff;
    padding-bottom: 3px;
    margin-top: 0.2rem;
    margin-bottom: 0.5rem;
    font-weight: 700;
    display: inline-block;
    width: auto;
  }

  .knowledge-contents.layout-knowledge-contents > h5 {
    font-size: 20px;
    color: #6e0054ff;
    margin-top: 2.0rem;
    margin-bottom: 0.2rem;
    font-weight: 700;
    display: flex;
    align-items: center;
  }

  .knowledge-contents.layout-knowledge-contents > h5::before {
    content: "■";
    margin-right: 10px;
    font-size: 0.8em;
  }

  .knowledge-contents nav ul,
  .knowledge-contents nav ol {
    padding: 0 0 0 20px;
    margin-left: 2em;
    margin-bottom: 20px;
  }

  .knowledge-contents nav ul li {
    list-style: disc;
  }

  .knowledge-contents ul:has(li:not(.knowledge-contents__list-sub-title, .knowledge-contents__list-title)),
  .knowledge-contents ol:has(li:not(.knowledge-contents__list-sub-title, .knowledge-contents__list-title)) {
    list-style: disc !important;
    margin: 2em;
  }

  .knowledge-contents nav ul,
  .knowledge-contents nav ol {
    list-style: disc !important;
    margin: .8em 0 .8em 1em !important;
  }

  .knowledge-contents a {
    color: #0077b4;
    text-decoration: underline;
    transition: opacity 0.2s;
  }

  .knowledge-contents a:hover {
    opacity: 0.7;
    font-weight: normal;
  }

  .knowledge-side__tag-list .knowledge-side__tag-item {
    height: 2em;
    margin-top: 0 !important;
    display: flex;
    align-items: center;
  }

  /* 目次サブリストの折り返しインデントを補正 */
  .knowledge-contents__list ul {
    padding-left: 1.25rem;
  }

  .knowledge-contents__list .knowledge-contents__list-sub-title {
    text-indent: 0;
    padding-left: 0;
  }
}
