/* ========================================
   基本設定
======================================== */

:root {
  --main-color: #0051B6;
  --main-color-light: #edf6ff;
}

.page_knowledge_article {
  padding: 64px 0 0;
}

.knowledge_article_body {
  padding: 64px 0;
}

.knowledge_article_inner a {
  color: var(--main-color);
}

.knowledge_article_inner a:hover {
  text-decoration: underline;
}

.knowledge_comp_text strong,
.knowledge_comp_text b {
  font-weight: 700;
}
/* パンくず内BR */
.post.post-knowledge.current-item > br {
  display: none;
}

/* SP版 */
@media screen and (max-width: 767px) {
  .knowledge_article_body {
    padding: 20px 0;
  }
}

/* ========================================
   Archiveページ
======================================== */
.knowledge_archive_heading {
  padding: 72px 0 76px;
  background: #f6f9fc;
  border-bottom: 1px solid #d9e4ee;
}

.knowledge_archive_heading_title_wrap {
  display: flex;
  align-items: flex-end;
  gap: 24px;
}

.knowledge_archive_heading_title {
  margin: 0;
  padding: 0;
  font-size: 5rem;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #222;
}

.knowledge_archive_heading_title::after {
  display: none;
}

.knowledge_archive_heading_accent {
  width: 160px;
  border-bottom: 2px solid var(--main-color);
}

.knowledge_archive_heading_label {
  display: block;
  margin: 0 0 7px;

  color: var(--main-color);
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .18em;
}

.knowledge_archive_heading_lead {
  max-width: 760px;
  margin: 30px 0 0;

  font-size: 1.6rem;
  line-height: 1.9;
  color: #555;
}

/* ========================================
   Knowledge Archive：セクション見出し
======================================== */

.knowledge_archive_section_title {
  position: relative;
  margin: 0 0 32px;
  padding-bottom: 10px;
  font-size: 3.2rem;
  line-height: 1.5;
  font-weight: 700;
  color: #222;
}

.knowledge_archive_section_title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: #ddd;
}

.knowledge_archive_section_title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 120px;
  height: 5px;
  background: #ff5722;
}

/* キーワードから探す */
.knowledge_archive_keywords {
  padding: 24px 0 32px;
}

.knowledge_taxonomy_back {
  margin-bottom: 10px;
  text-align: right;
}

.knowledge_taxonomy_back a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--main-color);
  font-size: 1.4rem;
  font-weight: 700;
  text-decoration: none;
}

.knowledge_taxonomy_back a::after {
  content: "→";
  transition: transform .2s ease;
}

.knowledge_taxonomy_back a:hover span {
  text-decoration: underline;
}

.knowledge_taxonomy_back a:hover::after {
  transform: translateX(4px);
}

.knowledge_archive_keyword_box {
  padding: 24px 28px;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  background: #f7f7f7;
}

.knowledge_archive_keyword_title {
  margin: 0 0 16px;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  color: #222;
}

.knowledge_archive_keyword_list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
}

.knowledge_archive_keyword {
  display: inline-flex;
  align-items: center;
  padding: 6px 16px;
  border: 1px solid var(--main-color);
  border-radius: 2em;
  color: var(--main-color);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
  background: #fff;
  transition:
    background-color 0.2s ease,
    color 0.2s ease;
}

.knowledge_archive_keyword:hover {
  background: var(--main-color);
  color: #fff;
}

/* taxonomy */
.knowledge_taxonomy_selected {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 16px;
}

.knowledge_taxonomy_selected_item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border: 1px solid var(--main-color);
  border-radius: 999px;
  background: var(--main-color);
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
}

.knowledge_taxonomy_selected_item span {
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1;
}

.knowledge_taxonomy_selected_item:hover {
  color: #fff;
  background: #666;
  border-color: #666;
}

.knowledge_taxonomy_selected_item:hover span {
  color: #ffed00;
  font-weight: 700;
}

.knowledge_taxonomy_filter_title {
  margin-top: 28px;
}

.knowledge_taxonomy_all {
  margin-top: 20px;
  text-align: right;
}

.knowledge_taxonomy_all a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--main-color);
  font-size: 1.4rem;
  font-weight: 700;
  text-decoration: none;
}

.knowledge_taxonomy_all a::after {
  content: "→";
  transition: transform .2s ease;
}

.knowledge_taxonomy_all a:hover {
  text-decoration: underline;
}

.knowledge_taxonomy_all a:hover::after {
  transform: translateX(4px);
}

/* ----------------------------------------
   Archive：記事一覧
---------------------------------------- */

.knowledge_archive_list {
  padding: 48px 0 56px;
}

.knowledge_archive_list_items {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.knowledge_archive_item {
  min-width: 0;
  background: #fff;
}

.knowledge_archive_item_link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: #222;
  text-decoration: none;
}

/* アイキャッチ */
.knowledge_archive_item_image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #f5f5f5;
}

.knowledge_archive_item_image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .3s ease;
}

/* NEW */
.knowledge_archive_item_new {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  padding: 6px 14px;
  background: #e91e63;
  color: #fff;
  font-size: 1.3rem;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: .05em;
}

/* 本文部分 */
.knowledge_archive_item_content {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 16px 4px 0;
}

/* カテゴリ */
.knowledge_archive_item_categories {
  position: static;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 10px;
}

.knowledge_archive_item_category {
  display: inline-flex;
  align-items: center;
  padding: 3px 12px;
  border-radius: 1em;
  background: var(--main-color);
  color: #fff;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.4;
}

/* タイトル */
.knowledge_archive_item_title {
  margin: 0;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
}

/* 記事を読む */
.knowledge_archive_item_more {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 6px;
  margin-top: auto;
  padding-top: 16px;
  color: var(--main-color);
  font-size: 1.3rem;
  font-weight: 700;
  border-bottom: 1px solid var(--main-color);
}

.knowledge_archive_item_more::after {
  content: "→";
  transition: transform .3s ease;
}
/* hover */
.knowledge_archive_item_link:hover .knowledge_archive_item_title {
  color: var(--main-color);
}


.knowledge_archive_item_link:hover .knowledge_archive_item_image img {
  transform: scale(1.04);
}

.knowledge_archive_item_link:hover .knowledge_archive_item_more::after {
  transform: translateX(4px);
}





/* ========================================
   Knowledge INDEX：関連コンテンツ
======================================== */

.knowledge_archive_related {
  padding: 48px 0;
  background: #f1f6fb;
}
.knowledge_archive_related_label {
  margin-bottom: 6px;
  color: var(--main-color);
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: .08em;
}

.knowledge_archive_related_item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 30px;
  align-items: stretch;
  padding: 20px 0;
  border-bottom: 1px solid #ddd;
  color: #222;
  text-decoration: none;
}
.knowledge_archive_related_item:last-child {
  border-bottom: none;
}

.knowledge_archive_related_image {
  max-width: 200px;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  background: #eee;
}

.knowledge_archive_related_image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;

  transition: transform .3s ease;
}

.knowledge_archive_related_content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}

.knowledge_archive_related_text {
  flex: 1;
}

.knowledge_archive_related_title {
  margin: 0 0 12px;

  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.4;
}

.knowledge_archive_related_description {
  margin: 0;

  font-size: 1.5rem;
  line-height: 1.8;
  color: #666;
}

.knowledge_archive_related_more {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  align-self: self-end;
  min-width: 150px;
  margin-bottom: 10px;
  border-radius: 2em;
  color: #333;
  font-size: 1.4rem;
  font-weight: 700;
  justify-content: center;
}

.knowledge_archive_related_more::after {
  content: "→";
  transition: transform .3s ease;
}

.knowledge_archive_related_item:hover
.knowledge_archive_related_image img {
  transform: scale(1.04);
}
.knowledge_archive_related_item:hover
.knowledge_archive_related_more {
  color: var(--main-color);
}

.knowledge_archive_related_item:hover
.knowledge_archive_related_more::after {
  transform: translateX(4px);
}

/* ========================================
   Knowledge INDEX：イベント・セミナー
======================================== */

.knowledge_archive_event {
  padding: 48px 0 56px;
}


/* 一覧
---------------------------------------- */

.knowledge_archive_event_slider {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
}


/* カード
---------------------------------------- */

.knowledge_archive_event_item {
  min-width: 0;
}

.knowledge_archive_event_link {
  display: block;
  height: 100%;
  color: #222;
  text-decoration: none;
}


/* バナー
---------------------------------------- */

.knowledge_archive_event_image {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.knowledge_archive_event_image img {
  display: block;
  width: 100%;
  height: auto;

  object-fit: contain;

  transition: opacity .3s ease;
}


/* テキスト
---------------------------------------- */

.knowledge_archive_event_content {
  padding-top: 16px;
}

.knowledge_archive_event_status {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  margin-bottom: 10px;
  padding: 4px 14px;

  background: #EC407A;
  color: #fff;

  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.4;
}

.knowledge_archive_event_title {
  margin: 0;

  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
}

.knowledge_archive_event_more {
  display: inline-flex;
  align-items: center;
  gap: 8px;

  margin-top: 14px;

  color: var(--main-color);

  font-size: 1.4rem;
  font-weight: 700;
}

.knowledge_archive_event_more::after {
  content: "→";

  transition: transform .3s ease;
}


/* hover
---------------------------------------- */

.knowledge_archive_event_link:hover
.knowledge_archive_event_image img {
  opacity: .85;
}

.knowledge_archive_event_link:hover
.knowledge_archive_event_more::after {
  transform: translateX(4px);
}


/* 一覧へのリンク
---------------------------------------- */

.knowledge_archive_event_all {
  margin-top: 30px;
  text-align: right;
}

.knowledge_archive_event_all_link {
  display: inline-flex;
  align-items: center;
  gap: 10px;

  color: var(--main-color);

  font-size: 1.4rem;
  font-weight: 700;
  text-decoration: none;
}

.knowledge_archive_event_all_link::after {
  content: "→";

  transition: transform .3s ease;
}

.knowledge_archive_event_all_link:hover::after {
  transform: translateX(4px);
}

/* ========================================
   Knowledge INDEX：イベント Slick
======================================== */
.knowledge_archive_event_slider.is-slider {
  display: block;
  position: relative;
  margin: 0;
  padding: 0 50px;
}
/* Slick表示領域 */
.knowledge_archive_event_slider.is-slider .slick-list {
  overflow: hidden;
  margin: 0 -10px;
}
/* 各スライド */
.knowledge_archive_event_slider.is-slider .slick-slide {
  padding: 0 15px;
  box-sizing: border-box;
}
/* 左右ボタン */
.knowledge_archive_event_slider.is-slider .slick-prev,
.knowledge_archive_event_slider.is-slider .slick-next {
  position: absolute;
  top: 50%;
  z-index: 5;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid var(--main-color);
  border-radius: 50%;
  background: #fff;

  font-size: 0;
  line-height: 1;
  cursor: pointer;

  transform: translateY(-50%);
}

.knowledge_archive_event_slider.is-slider .slick-prev {
  left: 0;
}

.knowledge_archive_event_slider.is-slider .slick-next {
  right: 0;
}
/* 既存Slickの矢印を上書き */
.knowledge_archive_event_slider.is-slider .slick-prev::before,
.knowledge_archive_event_slider.is-slider .slick-next::before {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  height: 100%;

  opacity: 1;
  color: var(--main-color);

  font-family: Arial, sans-serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 1;
}

.knowledge_archive_event_slider.is-slider .slick-prev::before {
  content: "‹";
}

.knowledge_archive_event_slider.is-slider .slick-next::before {
  content: "›";
}

/* 操作できない矢印 */
.knowledge_archive_event_slider.is-slider .slick-prev.slick-disabled,
.knowledge_archive_event_slider.is-slider .slick-next.slick-disabled {
  border-color: #ccc;
  background: #fff;
  cursor: default;
}

.knowledge_archive_event_slider.is-slider .slick-prev.slick-disabled::before,
.knowledge_archive_event_slider.is-slider .slick-next.slick-disabled::before {
  color: #ccc;
}

/* Archive / Taxonomy：下部CTA */
.knowledge_archive_contact_bottom {
  padding: 64px 0 72px;
  background: #fff;
  text-align: center;
  border-top: 1px solid #ddd;
}

.knowledge_archive_contact_bottom_heading {
  margin: 0 0 32px;
  text-align: center;
}
.knowledge_archive_contact_bottom_heading h2 {
  margin: 0;
  font-size: 2.8rem;
  line-height: 1.5;
  font-weight: 700;
}
.knowledge_archive_contact_bottom_panel{
  max-width: 820px;
  margin: 0 auto;
  padding: 32px 40px;
  background: var(--main-color-light);
  text-align: center;
}
.knowledge_archive_contact_bottom_text{
  margin: 0 0 20px;
  font-size: 1.6rem;
  line-height: 1.75;
}
.knowledge_archive_contact_bottom_button{
  display: flex;
  justify-content: center;
}
.knowledge_archive_contact_bottom_button a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 360px;
  min-height: 60px;
  padding: 12px 48px 12px 28px;
  border-radius: 5px;
  background: var(--main-color);
  color: #fff;
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: 700;
  text-decoration: none;
}

/* ========================================
   記事本文の見出し（Compのみ）
======================================== */

.knowledge_article_body h2.knowledge_comp_title {
  position: relative;
  margin: 64px 0 24px;
  padding-bottom: 18px;
  font-size: 3.2rem;
  line-height: 1.5;
  font-weight: 700;
}

.knowledge_article_body h2.knowledge_comp_title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: #ddd;
}

.knowledge_article_body h2.knowledge_comp_title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 120px;
  height: 5px;
  background: var(--main-color);
}

.knowledge_article_body h3.knowledge_comp_title {
  position: relative;
  margin: 48px 0 20px;
  padding-left: 18px;
  font-size: 2.6rem;
  line-height: 1.5;
  font-weight: 700;
}

.knowledge_article_body h3.knowledge_comp_title::before {
  content: "";
  position: absolute;
  top: 0.15em;
  bottom: 0.15em;
  left: 0;
  width: 5px;
  background: var(--main-color);
}

.knowledge_article_body h4.knowledge_comp_title {
  position: relative;
  margin: 40px 0 16px;
  padding-left: 18px;
  font-size: 2.2rem;
  line-height: 1.5;
  font-weight: 700;
}

.knowledge_article_body h4.knowledge_comp_title::before {
  content: "";
  position: absolute;
  top: 0.55em;
  left: 0;
  width: 8px;
  height: 8px;
  background: var(--main-color);
}
/* ========================================
   Archive / Taxonomy：SP
======================================== */
@media screen and (max-width: 767px) {
  /* ----------------------------------------
    Archive：INDEXヘッダー
  ---------------------------------------- */

  .knowledge_archive_heading {
    padding: 48px 0 52px;
  }

  .knowledge_archive_heading_title_wrap {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }

  .knowledge_archive_heading_title {
    order: 2;
    font-size: 8vw;
    line-height: 1.3;
  }

  .knowledge_archive_heading_accent {
    order: 1;
    width: 120px;
    gap: 6px;
  }

  .knowledge_archive_heading_label {
    font-size: 11px;
    line-height: 1.2;
    letter-spacing: .16em;
  }

  .knowledge_archive_heading_lead {
    margin-top: 24px;
    font-size: 14px;
    line-height: 1.8;
  }

/* ----------------------------------------
   Archive：キーワードから探す
---------------------------------------- */

.knowledge_archive_keywords {
  padding: 24px 0 32px;
}

.knowledge_archive_keyword_box {
  padding: 20px;
}

.knowledge_archive_keyword_title {
  margin-bottom: 14px;
  font-size: 16px;
}

.knowledge_archive_keyword_list {
  gap: 8px;
}

.knowledge_archive_keyword {
  padding: 5px 12px;
  font-size: 12px;
}

/* ----------------------------------------
   Archive：記事一覧
---------------------------------------- */

.knowledge_archive_list {
  padding: 32px 0 48px;
}

/* 記事一覧：2列 */
.knowledge_archive_list_items {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 12px;
}

/* カテゴリ */
.knowledge_archive_item_categories {
  gap: 4px;
}

.knowledge_archive_item_category {
  padding: 2px 7px;
  font-size: 10px;
}

/* 本文部分 */
.knowledge_archive_item_content {
  padding: 12px 10px;
}

/* タイトル */
.knowledge_archive_item_title {
  font-size: 14px;
  line-height: 1.25;
}

/* 記事を読む */
.knowledge_archive_item_more {
  gap: 4px;
  padding-top: 12px;
  font-size: 11px;
}
/* ----------------------------------------
   Archive：関連コンテンツ
---------------------------------------- */

.knowledge_archive_related {
  padding: 40px 0;
}

.knowledge_archive_related_item {
  grid-template-columns: 30% minmax(0, 1fr);
  gap: 16px;
  padding: 18px 0;
  align-items: start;
}

/* 画像 */
.knowledge_archive_related_image {
  width: 100%;
  max-width: none;
  aspect-ratio: 1 / 1;
}

/* テキスト側 */
.knowledge_archive_related_content {
  display: block;
}

/* SOLUTION / PRODUCT */
.knowledge_archive_related_label {
  margin-bottom: 4px;
  font-size: 10px;
}

/* タイトル */
.knowledge_archive_related_title {
  margin: 0;
  font-size: 17px;
  line-height: 1.4;
}

/* 説明文 */
.knowledge_archive_related_text {
  font-size: 12px;
  line-height: 1.5;
}
.knowledge_archive_related_description {
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.25;
}
/* もっと詳しく知る */
.knowledge_archive_related_more {
  justify-content: flex-start;
  min-width: 0;
  margin: 12px 0 0;
  font-size: 12px;
}
/* イベント */
.knowledge_archive_event_slider {
  gap: 20px;
}
.knowledge_archive_event_title {
  font-size: 14px;
}
.knowledge_archive_contact_bottom_heading h2 {
  font-size: 5.3333vw;
  line-height: 1.5;
}

}


/* ========================================
   記事ヘッダー
======================================== */

.knowledge_heading {
  margin-bottom: 32px;
}

.knowledge_categories {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.knowledge_category-tag {
  display: inline-flex;
  align-items: center;
  padding: 4px 24px;
  background: var(--main-color);
  color: #fff;
  border-radius: 1em;
  font-size: 1.85rem;
  line-height: 1.4;
  font-weight: 700;
}

.knowledge_heading_title {
  margin-bottom: 20px;
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em;
  color: #222;
}

.knowledge_heading_date {
  margin-top: 18px;
}

.knowledge_date {
  font-size: 1.4rem;
  text-align: right;
  line-height: 1.6;
  color: #777;
}


/* ========================================
   リード文
======================================== */

.knowledge_lead {
  margin: 0 40px 18px;
  padding: 1em;
  border: 1px solid var(--main-color);
}

.knowledge_lead p {
  margin: 0;
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: 0.02em;
  color: #333;
}

.knowledge_lead p + p {
  margin-top: 1em;
}


/* ========================================
   SNS
======================================== */

.knowledge_share {
  border-bottom: 3px solid #777;
}


/* ========================================
   目次
======================================== */

.knowledge_toc {
  margin: 24px 0 32px;
  padding: 28px 32px 30px;
  background: var(--main-color-light);
}

.knowledge_toc_title {
  margin: 0 0 20px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  color: #222;
}

.knowledge_toc_list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.knowledge_toc_item {
  margin: 0;
  padding: 0;
}

.knowledge_toc_item + .knowledge_toc_item {
  margin-top: 10px;
}

.knowledge_toc_item a {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: #333;
  line-height: 1.7;
  text-decoration: none;
}

.knowledge_toc_number {
  flex: 0 0 auto;
  font-weight: 700;
}

.knowledge_toc_text {
  min-width: 0;
  color: var(--main-color);
}

.knowledge_toc_item--h2 a {
  font-size: 1.8rem;
}

.knowledge_toc_item--h3 {
  padding-left: 2.8rem;
}

.knowledge_toc_item--h3 a {
  font-size: 1.4rem;
}

.page_knowledge_article--2column
.knowledge_toc--sidebar
.knowledge_toc_item a {
  transition:
    background-color .2s ease,
    color .2s ease;
}

.page_knowledge_article--2column
.knowledge_toc--sidebar
.knowledge_toc_item a.is-current {
  background: #fff;
  color: var(--main-color);
  font-weight: 700;
}


/* ========================================
   本文
======================================== */

.knowledge_article_body > :first-child {
  margin-top: 0;
}

.knowledge_article_body > h2.knowledge_comp_title:first-child,
.knowledge_article_body > h3.knowledge_comp_title:first-child,
.knowledge_article_body > h4.knowledge_comp_title:first-child {
  margin-top: 0;
}

.knowledge_article_body p {
  margin: 0;
  font-size: 1.8rem;
  line-height: 1.75;
}

.knowledge_article_body p + p {
  margin-top: 1em;
}

.knowledge_article_body strong {
  font-weight: 700;
}

.knowledge_article_body .knowledge_comp_image_caption {
  font-size: 1.4rem;
  line-height: 1.5;
}

.knowledge_article_body ul,
.knowledge_article_body ol {
  margin: 24px 0;
  padding-left: 1.6em;
}

.knowledge_article_body li {
  font-size: 1.8rem;
  line-height: 1.75;
}

.knowledge_article_body li + li {
  margin-top: 0.4em;
}

.knowledge_article_body ul {
  list-style-type: disc;
}

.knowledge_article_body ul li::marker {
  color: var(--main-color);
  font-weight: 700;
}

.knowledge_article_body ol {
  list-style-type: decimal;
}

.knowledge_article_body ol li::marker {
  color: var(--main-color);
  font-weight: 700;
}


/* ========================================
   画像＋本文
======================================== */

.knowledge_comp_image_text {
  display: flex;
  align-items: flex-start;
  gap: 40px;
  margin: 40px 0;
}

.knowledge_comp_image_text--il_txt_l {
  flex-direction: row-reverse;
}

.knowledge_comp_image_text--il_txt_r {
  flex-direction: row;
}

.knowledge_comp_image_text_image {
  flex: 0 0 40%;
}

.knowledge_comp_image_text_image img {
  display: block;
  width: 100%;
  height: auto;
}

.knowledge_comp_image_text_content {
  flex: 1;
  min-width: 0;
}

.knowledge_comp_image_text_body .knowledge_comp_image_text_title {
  margin: 0 0 16px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
}


/* ========================================
   POINT
======================================== */

.knowledge_comp_point {
  position: relative;
  width: 90%;
  margin: 48px auto 40px;
  padding: 36px 24px 20px;
  box-sizing: border-box;
  background-color: var(--main-color-light);
  border: 2px solid var(--main-color);
}

.knowledge_comp_point .knowledge_comp_point_label {
  position: absolute;
  top: -18px;
  left: -2px;
  margin: 0;
  padding: 5px 16px;
  background: var(--main-color);
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.08em;
}

.knowledge_comp_point_body {
  margin: 0;
}

.knowledge_comp_point_body > :first-child {
  margin-top: 0;
}

.knowledge_comp_point_body > :last-child {
  margin-bottom: 0;
}

.knowledge_comp_point_body ul,
.knowledge_comp_point_body ol {
  margin: 16px 0 0;
  padding: 0;
}

.knowledge_comp_point_body li {
  position: relative;
  margin: 0;
  padding: 10px 8px 10px 34px;
  font-size: 1.8rem;
  line-height: 1.75;
  border-bottom: 1px dashed #b8c9dc;
}

.knowledge_comp_point_body li:last-child {
  border-bottom: none;
}

/* ul：チェック */
.knowledge_comp_point_body ul {
  list-style: none;
}

.knowledge_comp_point_body ul li::before {
  content: "✓";
  position: absolute;
  top: calc(19px + 0.5em);
  left: 4px;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 3px;
  background: var(--main-color);
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
}

/* ol：番号 */
.knowledge_comp_point_body ol {
  list-style: none;
  counter-reset: point-list;
}

.knowledge_comp_point_body ol li {
  counter-increment: point-list;
}

.knowledge_comp_point_body ol li::before {
  content: counter(point-list) ".";
  position: absolute;
  top: 10px;
  left: 4px;
  color: var(--main-color);
  font-weight: 700;
  line-height: 1.75;
}


/* ========================================
   NOTE
======================================== */

.knowledge_comp_note {
  margin: 40px 0;
  padding: 18px 20px;
  border-left: 4px solid #aaa;
  background: #f7f7f7;
}

.knowledge_comp_note .knowledge_comp_note_label {
  margin: 0 0 8px;
  color: #666;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.knowledge_comp_note_body {
  color: #555;
}

.knowledge_comp_note_body p {
  margin: 0;
  font-size: 1.6rem;
  line-height: 1.75;
}

.knowledge_comp_note_body p + p {
  margin-top: 0.8em;
}

.knowledge_comp_note_body ul,
.knowledge_comp_note_body ol {
  margin: 12px 0 0;
  padding-left: 1.6em;
}

.knowledge_comp_note_body li {
  font-size: 1.6rem;
  line-height: 1.75;
}

.knowledge_comp_note_body li + li {
  margin-top: 0.4em;
}

.knowledge_comp_note_body ul {
  list-style-type: disc;
}

.knowledge_comp_note_body ul li::marker {
  color: #777;
}

.knowledge_comp_note_body ol {
  list-style-type: decimal;
}

.knowledge_comp_note_body ol li::marker {
  color: #777;
  font-weight: 700;
}

.knowledge_comp_note_body > :last-child {
  margin-bottom: 0;
}


/* ========================================
   画像
======================================== */

.knowledge_comp_images {
  width: 90%;
  margin: 40px auto;
}

.knowledge_comp_image {
  min-width: 0;
  margin: 0;
}

.knowledge_comp_image picture {
  display: block;
}

.knowledge_comp_image img {
  display: block;
  max-width: 100%;
  height: auto;
}

.knowledge_comp_image .knowledge_comp_image_caption {
  margin: 8px 0 0;
  font-size: 1.4rem;
  line-height: 1.5;
  color: #666;
}

.knowledge_comp_images--single .knowledge_comp_image img {
  width: auto;
  margin: 0 auto;
}

.knowledge_comp_images--single .knowledge_comp_image_caption,
.knowledge_comp_images--triple .knowledge_comp_image_caption {
  text-align: center;
}

.knowledge_comp_images--double {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.knowledge_comp_images--double .knowledge_comp_image img {
  width: 100%;
}

.knowledge_comp_images--triple {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.knowledge_comp_images--triple .knowledge_comp_image img {
  width: auto;
  margin: 0 auto;
}

/* ========================================
   画像モーダル
======================================== */

.knowledge_image_modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
}

.knowledge_image_modal.is-open {
  display: block;
}

.knowledge_image_modal_overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.85);
}

.knowledge_image_modal_inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 60px;
  box-sizing: border-box;
  pointer-events: none;
}

.knowledge_image_modal_content {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.knowledge_image_modal_image {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.3);
  background: #fff;
}

.knowledge_image_modal_close {
  position: absolute;
  top: 20px;
  right: 24px;
  z-index: 3;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 40px;
  line-height: 1;
  cursor: pointer;
  pointer-events: auto;
}

.knowledge_modal_open {
  overflow: hidden;
}


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

  .knowledge_image_modal_inner {
    padding: 50px 16px 20px;
  }

  .knowledge_image_modal_close {
    top: 10px;
    right: 12px;
    width: 40px;
    height: 40px;
    font-size: 34px;
  }

}

/* ========================================
   比較ボックス
======================================== */

.knowledge_comp_compare {
  margin: 40px 0;
}

/* PC：左右 */
.knowledge_comp_compare--horizontal {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: auto 1fr;
  column-gap: 20px;
}

.knowledge_comp_compare--horizontal .knowledge_compare_box {
  display: grid;
  grid-row: span 2;
  grid-template-rows: subgrid;
}

/* 上下 */
.knowledge_comp_compare--vertical {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}

/* 比較ボックス：カラー */
.knowledge_compare_box {
  --compare-color: #777;
  --compare-light: color-mix(in srgb, var(--compare-color) 8%, #fff);

  overflow: hidden;
  border: 1px solid var(--compare-color);
  background: var(--compare-light);
}

.knowledge_compare_box--gray {
  --compare-color: #666;
}

.knowledge_compare_box--blue {
  --compare-color: var(--main-color);
}

.knowledge_compare_box--red {
  --compare-color: #d64545;
}

.knowledge_compare_box--green {
  --compare-color: #2f855a;
}

.knowledge_compare_box--orange {
  --compare-color: #dd6b20;
}

.knowledge_compare_box--yellow {
  --compare-color: #c99700;
}

.knowledge_compare_box--custom {
  --compare-color: #666;
}

/* 比較ボックス：タイトル */
.knowledge_compare_title {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  background: var(--compare-color);
  color: #fff;
}

.knowledge_compare_title_text {
  margin: 0;
  color: inherit;
  font-weight: 700;
}

/* 比較ボックス:タイトルアイコン */
.knowledge_compare_title_icon {
  display: inline-flex;
  flex: 0 0 26px;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
}

.knowledge_compare_title_icon::after {
  display: block;
  width: 24px;
  height: 24px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
}

.knowledge_compare_title_icon--warning::after {
  background-image: url(../img/common/knowledge_icon_warning.svg);
}

.knowledge_compare_title_icon--sad::after {
  background-image: url(../img/common/knowledge_icon_sad.svg);
}

.knowledge_compare_title_icon--idea::after {
  background-image: url(../img/common/knowledge_icon_lightbulb.svg);
}

.knowledge_compare_title_icon--check::after {
  background-image: url(../img/common/knowledge_icon_check.svg);
}

.knowledge_compare_title_icon--info::after {
  background-image: url(../img/common/knowledge_icon_info.svg);
}

.knowledge_compare_title_icon--help::after {
  background-image: url(../img/common/knowledge_icon_help.svg);
}

/* 比較ボックス：本文 */
.knowledge_compare_body {
  padding: 20px 22px;
}

.knowledge_compare_text > :first-child {
  margin-top: 0;
}

.knowledge_compare_text > :last-child {
  margin-bottom: 0;
}


/* 比較ボックス：リスト */
.knowledge_article_body .knowledge_compare_list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.knowledge_article_body .knowledge_compare_list li {
  position: relative;
  margin: 0;
  padding-left: 28px;
  font-size : 16px;
}

.knowledge_article_body .knowledge_compare_list li::marker {
  content: "";
}

.knowledge_article_body .knowledge_compare_list li + li {
  margin-top: 10px;
}

.knowledge_article_body .knowledge_compare_list--none li {
  padding-left: 0;
}

.knowledge_compare_list_icon {
  position: absolute;
  top: .35em;
  left: 0;
  width: 20px;
  height: 20px;
  color: var(--compare-color);
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}

/* × */
.knowledge_compare_list--cross
.knowledge_compare_list_icon::before {
  content: "\00D7";
}

/* ○ */
.knowledge_compare_list--circle
.knowledge_compare_list_icon::before {
  content: "\25CB";
}

/* ✓ */
.knowledge_compare_list--check
.knowledge_compare_list_icon::before {
  content: "\2713";
}

/* → */
.knowledge_compare_list--arrow
.knowledge_compare_list_icon::before {
  content: "\2192";
}


/* SP */
@media screen and (max-width: 767px) {
  .knowledge_comp_compare {
    margin: 32px 0;
  }

  .knowledge_comp_compare--horizontal,
  .knowledge_comp_compare--vertical {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    gap: 16px;
  }

  .knowledge_comp_compare--horizontal .knowledge_compare_box {
    display: block;
  }

  .knowledge_compare_title {
    padding: 12px 16px;
  }

  .knowledge_compare_body {
    padding: 16px;
  }
}


/* ========================================
   TAILWIND利用部分
======================================== */
.knowledge_comp_tailwind {
  margin: 40px 0;
}
@media screen and (max-width: 767px) {
  .knowledge_comp_tailwind {
    margin: 20px 0;
  }
}


/* ========================================
   TABLE
======================================== */

.knowledge_comp_table {
  margin: 40px 0;
}

.knowledge_comp_table .knowledge_comp_table_caption {
  margin: 0 0 10px;
  font-size: 1.5rem;
  line-height: 1.6;
  font-weight: 700;
  color: #555;
}

.knowledge_comp_table table {
  width: 100%;
  margin-bottom: 10px;
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
  font-size: 1.6rem;
  line-height: 1.7;
}

.knowledge_comp_table th,
.knowledge_comp_table td {
  padding: 14px 18px;
  border: 1px solid #ccc;
  text-align: left;
  vertical-align: top;
  overflow-wrap: break-word;
}

.knowledge_comp_table thead th {
  background: var(--main-color);
  color: #fff;
  font-weight: 700;
}

.knowledge_comp_table tbody td {
  background: #fff;
}


/* ========================================
   アコーディオン
======================================== */

.knowledge_comp_accordion {
  margin: 40px 0;
}

.knowledge_comp_accordion .knowledge_comp_accordion_title {
  margin: 0 0 16px;
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 700;
}

.knowledge_comp_accordion--normal .knowledge_comp_accordion_list,
.knowledge_comp_accordion--faq .knowledge_comp_accordion_list {
  border-top: 1px solid #ccc;
}

.knowledge_comp_accordion--normal .knowledge_comp_accordion_item,
.knowledge_comp_accordion--faq .knowledge_comp_accordion_item {
  border-bottom: 1px solid #ccc;
}

.knowledge_comp_accordion--normal .knowledge_comp_accordion_head,
.knowledge_comp_accordion--faq .knowledge_comp_accordion_head {
  display: flex;
  align-items: center;
  width: 100%;
  border: 0;
  background: transparent;
  color: #222;
  text-align: left;
  cursor: pointer;
  position: relative;
}

.knowledge_comp_accordion--normal .knowledge_comp_accordion_head {
  justify-content: space-between;
  gap: 24px;
  padding: 18px 8px;
}

.knowledge_comp_accordion--faq .knowledge_comp_accordion_head {
  align-items: flex-start;
  gap: 16px;
  padding: 20px 8px;
}

.knowledge_comp_accordion--normal .knowledge_comp_accordion_head_text,
.knowledge_comp_accordion--faq .knowledge_comp_accordion_head_text {
  flex: 1;
  min-width: 0;
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 700;
  padding-right: 36px;
}

.knowledge_comp_accordion--faq .knowledge_comp_accordion_head::before {
  content: "Q";
  flex: 0 0 auto;
  color: var(--main-color);
  font-size: 2.2rem;
  line-height: 1.4;
  font-weight: 700;
}

.knowledge_comp_accordion--normal .knowledge_comp_accordion_icon,
.knowledge_comp_accordion--faq .knowledge_comp_accordion_icon {
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
}

.knowledge_comp_accordion--faq .knowledge_comp_accordion_icon {
  margin-left: auto;
}

.knowledge_comp_accordion--normal .knowledge_comp_accordion_icon::before,
.knowledge_comp_accordion--normal .knowledge_comp_accordion_icon::after,
.knowledge_comp_accordion--faq .knowledge_comp_accordion_icon::before,
.knowledge_comp_accordion--faq .knowledge_comp_accordion_icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: var(--main-color);
  transform: translate(-50%, -50%);
}

.knowledge_comp_accordion--normal .knowledge_comp_accordion_icon::before,
.knowledge_comp_accordion--faq .knowledge_comp_accordion_icon::before {
  width: 18px;
  height: 2px;
}

.knowledge_comp_accordion--normal .knowledge_comp_accordion_icon::after,
.knowledge_comp_accordion--faq .knowledge_comp_accordion_icon::after {
  width: 2px;
  height: 18px;
}

.knowledge_comp_accordion--normal
.knowledge_comp_accordion_head[aria-expanded="true"]
.knowledge_comp_accordion_icon::after,
.knowledge_comp_accordion--faq
.knowledge_comp_accordion_head[aria-expanded="true"]
.knowledge_comp_accordion_icon::after {
  opacity: 0;
}

.knowledge_comp_accordion--normal .knowledge_comp_accordion_body_inner {
  padding: 4px 40px 20px 8px;
}

.knowledge_comp_accordion--faq .knowledge_comp_accordion_body_inner {
  position: relative;
  padding: 18px 40px 20px 48px;
  background: #f7f7f7;
}

.knowledge_comp_accordion--faq .knowledge_comp_accordion_body_inner::before {
  content: "A";
  position: absolute;
  top: 17px;
  left: 12px;
  color: var(--main-color);
  font-size: 2.2rem;
  line-height: 1.4;
  font-weight: 700;
}

.knowledge_comp_accordion--normal .knowledge_comp_accordion_body_inner p,
.knowledge_comp_accordion--faq .knowledge_comp_accordion_body_inner p {
  margin: 0;
  font-size: 1.6rem;
  line-height: 1.75;
}

.knowledge_comp_accordion--normal .knowledge_comp_accordion_body_inner p + p,
.knowledge_comp_accordion--faq .knowledge_comp_accordion_body_inner p + p {
  margin-top: 1em;
}


/* ========================================
   用語解説
======================================== */

.knowledge_comp_glossary {
  margin-left: 24px;
  margin-right: 24px;
}

.knowledge_comp_glossary_title {
  margin-bottom: 10px;
  font-weight: 700;
}

.knowledge_comp_glossary_list {
  margin-bottom: 40px;
  border-top: 1px solid #ddd;
}

.knowledge_comp_glossary_item {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 24px;
  padding: 18px 0;
  border-bottom: 1px solid #ddd;
}

.knowledge_comp_glossary_item .knowledge_comp_glossary_term {
  margin: 0;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 700;
  color: var(--main-color);
}

.knowledge_comp_glossary_item .knowledge_comp_glossary_description {
  margin: 0;
  font-size: 1.6rem;
  line-height: 1.75;
  color: #444;
}


/* ========================================
   動画
======================================== */

.knowledge_comp_video {
  width: 70%;
  margin: 40px auto;
  aspect-ratio: 16 / 9;
}

.knowledge_comp_video iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}


/* ========================================
   出典・参考資料
======================================== */

.knowledge_sources {
  margin-top: 64px;
}

.knowledge_sources_list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.knowledge_sources_item {
  margin: 0;
  padding: 14px 16px;
  background: #f7f7f7;
}

.knowledge_sources_item + .knowledge_sources_item {
  margin-top: 6px;
}

.knowledge_sources_detail {
  margin: 0;
}

.knowledge_sources_detail_item {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  gap: 12px;
  margin: 0;
  padding: 0;
  font-size: 1.4rem;
  line-height: 1.7;
}

.knowledge_sources_detail_item dt {
  margin: 0;
  color: #555;
  font-weight: 700;
}

.knowledge_sources_detail_item dd {
  min-width: 0;
  margin: 0;
  color: #555;
}

.knowledge_sources_detail_item dd a {
  overflow-wrap: anywhere;
}

.knowledge_sources_item .knowledge_sources_note {
  margin: 6px 0 0;
  padding-top: 6px;
  border-top: 1px solid #ddd;
  color: #777;
  font-size: 1.3rem;
  line-height: 1.6;
}

/* ========================================
   監修 / 文責
======================================== */

.knowledge_written {
  margin-top: 48px;
  margin-bottom: 20px;
}

.knowledge_article_main .knowledge_written_title {
  margin: 0 0 14px;
  padding: 0;
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: 700;
}

.knowledge_article_main .knowledge_written_title::before,
.knowledge_article_main .knowledge_written_title::after {
  display: none;
}

.knowledge_written_text {
  margin: 0;
  font-size: 1.4rem;
  line-height: 1.7;
  color: #555;
}

.knowledge_written + .knowledge_keywords {
  margin-top: 0;
}


/* ========================================
   関連キーワード
======================================== */

.knowledge_keywords {
  margin-top: 48px;
  padding: 24px 0;
  border-top: 1px dotted #aaa;
  border-bottom: 1px dotted #aaa;
}

.knowledge_article_main .knowledge_keywords_title {
  margin: 0 0 14px;
  padding: 0;
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: 700;
}

.knowledge_article_main .knowledge_keywords_title::before,
.knowledge_article_main .knowledge_keywords_title::after {
  display: none;
}

.knowledge_keywords_list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.knowledge_keywords_item {
  margin: 0;
}

.knowledge_keywords_item a {
  display: inline-flex;
  align-items: center;
  padding: 3px 12px;
  border: 1px solid #777;
  border-radius: 9999px;
  color: #444;
  font-size: 1.3rem;
  line-height: 1.4;
  text-decoration: none;
}

.knowledge_keywords_item a::before {
  content: "#";
  margin-right: 2px;
}

.knowledge_keywords_item a:hover {
  border-color: var(--main-color);
  color: var(--main-color);
  text-decoration: none;
}


/* ========================================
   問い合わせCTA（記事内）
======================================== */

.knowledge_contact--article {
  margin: 48px 0 20px;
  padding: 28px 32px;
  background: #f7f7f7;
  text-align: center;
}

.knowledge_contact--article .knowledge_contact_lead {
  margin: 0 0 16px;
  font-size: 1.6rem;
  line-height: 1.7;
  font-weight: 700;
}

.knowledge_contact--article .knowledge_contact_button {
  display: flex;
  justify-content: center;
}

.knowledge_contact--article .knowledge_contact_button a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 320px;
  min-height: 52px;
  padding: 10px 42px 10px 24px;
  background: var(--main-color);
  color: #fff;
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 700;
  text-decoration: none;
}

.knowledge_contact--article .knowledge_contact_button a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}

.knowledge_contact--article .knowledge_contact_button a:hover {
  opacity: 0.8;
  text-decoration: none;
}


/* ========================================
   関連コンテンツ共通
======================================== */

.knowledge_related_articles .knowledge_related_title,
.knowledge_related_solutions .knowledge_related_title,
.knowledge_related_products .knowledge_related_title {
  margin: 0 0 32px;
  padding: 0;
  font-size: 2.8rem;
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
}

.knowledge_related_articles .knowledge_related_title::before,
.knowledge_related_articles .knowledge_related_title::after,
.knowledge_related_solutions .knowledge_related_title::before,
.knowledge_related_solutions .knowledge_related_title::after,
.knowledge_related_products .knowledge_related_title::before,
.knowledge_related_products .knowledge_related_title::after {
  display: none;
}


/* ========================================
   おすすめ記事
======================================== */

.knowledge_related_articles {
  margin-top: 64px;
  padding: 56px 0;
  background: #f7f7f7;
}

.knowledge_related_articles_list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.knowledge_related_articles_item {
  min-width: 0;
  margin: 0;
}

.knowledge_related_articles_item:only-child {
  grid-column: 1 / -1;
  width: 40%;
  justify-self: center;
}

.knowledge_related_articles_list:has(
  > .knowledge_related_articles_item:nth-child(2):last-child
) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: calc(66.666% - 8px);
  margin-left: auto;
  margin-right: auto;
}

.knowledge_related_articles_link {
  display: block;
  height: 100%;
  background: #fff;
  color: #222;
  text-decoration: none;
}

.knowledge_related_articles_link:hover {
  text-decoration: none;
}

.knowledge_related_articles_content {
  padding: 20px;
}

.knowledge_related_articles_content .knowledge_related_articles_title {
  margin: 0;
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 700;
}

.knowledge_related_articles_tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}

.knowledge_related_articles_tag {
  margin: 0;
  padding: 3px 10px;
  border-radius: 9999px;
  background: #f2f5f8;
  color: #555;
  font-size: 1.2rem;
  line-height: 1.4;
}


/* ========================================
   関連ソリューション
======================================== */

.knowledge_related_solutions {
  padding: 56px 0;
  background: #f1f6fb;
}

.knowledge_related_solutions_list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.knowledge_related_solutions_item {
  min-width: 0;
  margin: 0;
}

.knowledge_related_solutions_item:only-child {
  grid-column: 1 / -1;
  width: 70%;
  justify-self: center;
}

.knowledge_related_solutions_item:only-child .knowledge_related_solutions_image {
  flex: 0 0 42%;
  max-width: 250px;
}

.knowledge_related_solutions_link {
  position: relative;
  display: flex;
  align-items: stretch;
  height: 100%;
  overflow: hidden;
  border: 1px solid #ddd;
  background: #fff;
  color: #222;
  text-decoration: none;
}

.knowledge_related_solutions_link:hover {
  text-decoration: none;
}

.knowledge_related_solutions_image {
  flex: 0 0 42%;
  overflow: hidden;
}

.knowledge_related_solutions_image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.knowledge_related_solutions_link:hover .knowledge_related_solutions_image img {
  transform: scale(1.03);
}

.knowledge_related_solutions_content {
  position: relative;
  flex: 1;
  min-width: 0;
  padding: 20px 36px 20px 20px;
}

.knowledge_related_solutions_content .knowledge_related_solutions_title {
  margin: 0;
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 700;
}

.knowledge_related_solutions_content .knowledge_related_solutions_description {
  margin: 10px 0 0;
  color: #555;
  font-size: 1.4rem;
  line-height: 1.7;
}

.knowledge_related_solutions_link::after {
  content: "";
  position: absolute;
  right: 16px;
  bottom: 16px;
  width: 7px;
  height: 7px;
  border-top: 2px solid var(--main-color);
  border-right: 2px solid var(--main-color);
  transform: rotate(45deg);
}

.knowledge_related_solutions_link:hover .knowledge_related_solutions_title {
  color: var(--main-color);
}


/* ========================================
   関連製品
======================================== */

.knowledge_related_products {
  padding: 56px 0;
}

.knowledge_related_products_list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.knowledge_related_products_item {
  min-width: 0;
  margin: 0;
}

.knowledge_related_products_item:only-child {
  grid-column: 1 / -1;
  width: calc(33.333% - 16px);
  justify-self: center;
}

.knowledge_related_products_list:has(
  > .knowledge_related_products_item:nth-child(2):last-child
) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: calc(66.666% - 8px);
  margin-left: auto;
  margin-right: auto;
}

.knowledge_related_products_link {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  border: 1px solid #ddd;
  background: #fff;
  color: #222;
  text-decoration: none;
}

.knowledge_related_products_link:hover {
  text-decoration: none;
}

.knowledge_related_products_image {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 240px;
  padding: 20px;
  overflow: hidden;
}

.knowledge_related_products_image img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 200px;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.knowledge_related_products_link:hover .knowledge_related_products_image img {
  transform: scale(1.03);
}

.knowledge_related_products_content {
  flex: 1;
  padding: 18px 40px 20px 20px;
  border-top: 1px solid #eee;
}

.knowledge_related_products_content .knowledge_related_products_title {
  margin: 0;
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 700;
}

.knowledge_related_products_link::after {
  content: "";
  position: absolute;
  right: 16px;
  bottom: 20px;
  width: 0;
  height: 0;
  border: 4.5px solid transparent;
  border-left: 9px solid var(--main-color);
}

.knowledge_related_products_link:hover .knowledge_related_products_title {
  color: var(--main-color);
}


/* ========================================
   下部CTA
======================================== */

.knowledge_contact_bottom {
  padding: 64px 0 72px;
  background: var(--main-color-light);
}

.knowledge_contact_bottom_heading {
  margin: 0 0 32px;
  text-align: center;
}

.knowledge_contact_bottom_heading h2 {
  margin: 0;
  font-size: 2.8rem;
  line-height: 1.5;
  font-weight: 700;
}

.knowledge_contact_bottom_heading p {
  margin: 12px 0 0;
  font-size: 1.6rem;
  line-height: 1.7;
}

.knowledge_contact_bottom_panel {
  max-width: 820px;
  margin: 0 auto;
  padding: 32px 40px;
  background: #fff;
  text-align: center;
}

.knowledge_contact_bottom_icon {
  display: none;
}

.knowledge_contact_bottom_text {
  margin: 0 0 20px;
  font-size: 1.6rem;
  line-height: 1.75;
}

.knowledge_contact_bottom_button {
  display: flex;
  justify-content: center;
}

.knowledge_contact_bottom_button a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 360px;
  min-height: 60px;
  padding: 12px 48px 12px 28px;
  border-radius: 5px;
  background: var(--main-color);
  color: #fff;
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: 700;
  text-decoration: none;
}

.knowledge_contact_bottom_button a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 22px;
  width: 0;
  height: 0;
  border: 4.5px solid transparent;
  border-left: 9px solid #fff;
  transform: translateY(-50%);
}

.knowledge_contact_bottom_button a:hover {
  opacity: 0.8;
  text-decoration: none;
}


/* ========================================
   アンカーリンク位置調整
======================================== */

.knowledge_comp_title {
  scroll-margin-top: 100px;
}


/* ========================================
   Single：SP
======================================== */
@media screen and (max-width: 767px) {

  .page_knowledge_article {
    padding: 60px 0 48px;
  }

  /* ----------------------------------------
     記事ヘッダー
  ---------------------------------------- */
  .knowledge_heading {
    margin-bottom: 24px;
  }

  .knowledge_categories {
    gap: 6px;
    margin-bottom: 12px;
  }

  .knowledge_category-tag {
    padding: 4px 14px;
    font-size: 13px;
    line-height: 1.4;
  }

  .knowledge_heading_title {
    margin-bottom: 14px;
    font-size: 26px;
    line-height: 1.5;
    letter-spacing: 0.02em;
  }

  .knowledge_heading_date {
    margin-top: 10px;
  }

  .knowledge_date {
    font-size: 12px;
  }

  /* ----------------------------------------
     リード
  ---------------------------------------- */
  .knowledge_lead {
    margin-right: -2.5vw;
    margin-bottom: 24px;
    margin-left: -2.5vw;
  }

  .knowledge_lead p {
    font-size: 15px;
    line-height: 1.8;
  }

  /* ----------------------------------------
     SNS
  ---------------------------------------- */
  .knowledge_share {
    gap: 12px;
    margin-bottom: 32px;
    padding-bottom: 20px;
    border-bottom: 3px solid #ccc;
  }

  .knowledge_share_label {
    font-size: 12px;
  }

  /* ----------------------------------------
     目次
  ---------------------------------------- */
  .knowledge_toc {
    margin-bottom: 40px;
    padding: 20px 18px 22px;
  }

  .knowledge_toc_title {
    margin-bottom: 14px;
    font-size: 18px;
  }

  .knowledge_toc_item + .knowledge_toc_item {
    margin-top: 8px;
  }

  .knowledge_toc_item a {
    gap: 6px;
    font-size: 14px;
    line-height: 1.7;
  }

  .knowledge_toc_item--h3 {
    padding-left: 16px;
  }

  .knowledge_toc_item--h3 a {
    font-size: 13px;
  }

/* ----------------------------------------
   本文
---------------------------------------- */
.knowledge_article_body p {
  font-size: 4.2666vw;
  line-height: 1.8;
}


.knowledge_article_body h2.knowledge_comp_title {
  margin: 40px 0 18px;
  padding-bottom: 14px;
  font-size: 6.4vw;
  line-height: 1.5;
}

.knowledge_article_body h2.knowledge_comp_title::after {
  height: 4px;
  width: 80px;
}

.knowledge_article_body h3.knowledge_comp_title {
  margin: 36px 0 16px;
  padding-left: 14px;
  font-size: 5.3333vw;
  line-height: 1.5;
}

.knowledge_article_body h3.knowledge_comp_title::before {
  top: 0.15em;
  bottom: 0.15em;
}

.knowledge_article_body h4.knowledge_comp_title {
  margin: 30px 0 14px;
  padding-left: 14px;
  font-size: 4.8vw;
  line-height: 1.5;
}

/* 本文＋画像 */
.knowledge_comp_image_text {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin: 32px 0;
}

/* 画像 → 本文 */
.knowledge_comp_image_text--sp-image_first {
  flex-direction: column;
}

/* 本文 → 画像 */
.knowledge_comp_image_text--sp-text_first {
  flex-direction: column-reverse;
}

.knowledge_comp_image_text_image,
.knowledge_comp_image_text_body {
  width: 100%;
  flex: none;
}

/* 小見出し */
.knowledge_comp_image_text_body .knowledge_comp_image_text_title {
  margin: 0 0 12px;
  font-size: 4.8vw;
  line-height: 1.6;
}

/* 画像キャプション */
.knowledge_comp_image_text_image .knowledge_comp_image_caption {
  margin-top: 8px;
  font-size: 3.2vw;
  line-height: 1.5;
}

/* ----------------------------------------
   通常リスト
---------------------------------------- */
.knowledge_article_body ul,
.knowledge_article_body ol {
  margin: 20px 0;
  padding-left: 1.5em;
}

.knowledge_article_body li {
  font-size: 4.2666vw;
  line-height: 1.8;
}

.knowledge_article_body li + li {
  margin-top: 0.4em;
}

/* ----------------------------------------
   POINT
---------------------------------------- */
.knowledge_comp_point {
  width: 100%;
  margin: 40px 0 32px;
  padding: 32px 16px 18px;
}

.knowledge_comp_point_body p {
  font-size: 4.2666vw;
  line-height: 1.7;
}

/* リスト */
.knowledge_comp_point_body ul,
.knowledge_comp_point_body ol {
  margin: 16px 0 0;
  padding-left: 0;
}

/* リスト1項目 */
.knowledge_comp_point_body ul li,
.knowledge_comp_point_body ol li {
  font-size: 4.2666vw;
  line-height: 1.6;
}

/* POINTのチェックリスト */
.knowledge_comp_point_body ul li {
  padding: 14px 4px 14px 34px;
}

/* チェック位置 */
.knowledge_comp_point_body ul li::before {
  top: calc(14px + 0.8em);
  left: 2px;
}

/* 番号リスト */
.knowledge_comp_point_body ol {
  padding-left: 1.5em;
}

.knowledge_comp_point_body ol li {
  padding: 14px 4px;
}
/* ----------------------------------------
   NOTE / 補足・注意事項
---------------------------------------- */
.knowledge_comp_note {
  margin: 32px 0;
  padding: 16px 18px;
}

.knowledge_comp_note p,
.knowledge_comp_note li {
  font-size: 3.7333vw;
  line-height: 1.6;
}

.knowledge_comp_note ul,
.knowledge_comp_note ol {
  margin: 12px 0;
}

.knowledge_comp_note li + li {
  margin-top: 0.3em;
}

/* ----------------------------------------
   画像
---------------------------------------- */
  /* デフォルト：縦並び */
  .knowledge_comp_images--sp-stack {
    display: block;
  }

  .knowledge_comp_images--sp-stack .knowledge_comp_images_item + .knowledge_comp_images_item {
    margin-top: 16px;
  }

  /* 横並び維持 */
  .knowledge_comp_images--sp-row {
    display: grid;
    gap: 10px;
  }

  .knowledge_comp_images--double.knowledge_comp_images--sp-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .knowledge_comp_images--triple.knowledge_comp_images--sp-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .knowledge_comp_image .knowledge_comp_image_caption {
    margin-top: 8px;
    font-size: 3.2vw;
    line-height: 1.5;
  }

  /* 表 */
  .knowledge_comp_table table {
    font-size: 3.7333vw;
    line-height: 1.6;
  }

  .knowledge_comp_table th,
  .knowledge_comp_table td {
    padding: 10px 12px;
  }

  .knowledge_comp_table_scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* FAQ */
  .knowledge_comp_accordion--faq .knowledge_comp_accordion_head_text {
    font-size: 4.2666vw;
    line-height: 1.6;
  }

  .knowledge_comp_accordion--faq .knowledge_comp_accordion_body {
    font-size: 4.2666vw;
    line-height: 1.8;
  }

  .knowledge_comp_accordion--faq .knowledge_comp_accordion_body p {
    font-size: 4.2666vw;
    line-height: 1.8;
  }

  /* 動画 */
  .knowledge_comp_video {
    width: 85%;
    margin: 32px auto;
  }

/* 用語解説 */
  .knowledge_comp_glossary {
    margin-left: 0;
    margin-right: 0;
  }

  .knowledge_comp_glossary_list {
    margin-bottom: 32px;
  }

  .knowledge_comp_glossary_item {
    display: block;
    padding: 16px 0;
  }

  .knowledge_comp_glossary_item .knowledge_comp_glossary_term {
    margin: 0 0 6px;
    font-size: 4.2666vw;
    line-height: 1.5;
  }

  .knowledge_comp_glossary_item .knowledge_comp_glossary_description {
    margin: 0;
    font-size: 3.7333vw;
    line-height: 1.7;
  }

  .knowledge_comp_glossary_title {
    margin-bottom: 10px;
    font-size: 4.2666vw;
    line-height: 1.6;
    font-weight: 700;
  }

  /* 問い合わせCTA（記事内） */
  .knowledge_contact--article {
    margin-top: 32px;
    padding: 20px 18px;
  }

  .knowledge_contact--article .knowledge_contact_lead {
    margin-bottom: 12px;
  }

/* ----------------------------------------
   おすすめ記事
---------------------------------------- */
  .knowledge_related_articles {
    margin-top: 48px;
    padding: 36px 0;
  }

  .knowledge_related_articles .knowledge_related_title {
    margin-bottom: 20px;
    font-size: 5.3333vw;
    line-height: 1.5;
  }

  .knowledge_related_articles_list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    width: 100%;
  }

  /* PC用の件数別幅指定を解除 */
  .knowledge_related_articles_item:only-child {
    grid-column: auto;
    width: 100%;
  }

  .knowledge_related_articles_list:has(
    > .knowledge_related_articles_item:nth-child(2):last-child
  ) {
    grid-template-columns: 1fr;
    width: 100%;
  }

  /* カードを横並び */
  .knowledge_related_articles_link {
    display: flex;
    align-items: stretch;
  }

  /* 画像 */
  .knowledge_related_articles_image {
    flex: 0 0 32%;
    max-width: 120px;
  }

  .knowledge_related_articles_image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  /* 文章側 */
  .knowledge_related_articles_content {
    flex: 1;
    min-width: 0;
    padding: 12px 14px;
  }

  .knowledge_related_articles_content .knowledge_related_articles_title {
    font-size: 4.2666vw;
    line-height: 1.55;
  }

  .knowledge_related_articles_tags {
    gap: 5px;
    margin-top: 8px;
  }

  .knowledge_related_articles_tag {
    padding: 2px 8px;
    font-size: 3.2vw;
  }

/* ----------------------------------------
   関連ソリューション
---------------------------------------- */
  .knowledge_related_solutions {
    padding: 36px 0;
  }

  .knowledge_related_solutions .knowledge_related_title {
    margin-bottom: 20px;
    font-size: 5.3333vw;
    line-height: 1.5;
  }

  .knowledge_related_solutions_list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
  }

  /* PCの1件表示用設定を解除 */
  .knowledge_related_solutions_item:only-child {
    grid-column: auto;
    width: 100%;
  }

  /* カード */
  .knowledge_related_solutions_link {
    display: flex;
    flex-direction: row;
    align-items: center;
    min-height: 110px;
    padding: 12px;
  }

  /* 画像 */
  .knowledge_related_solutions_image,
  .knowledge_related_solutions_item:only-child .knowledge_related_solutions_image {
    display: flex;
    flex: 0 0 30%;
    align-items: center;
    justify-content: center;
    width: 30%;
    max-width: 110px;
    overflow: visible;
  }

  .knowledge_related_solutions_image img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 90px;
    object-fit: contain;
  }

  /* テキスト */
  .knowledge_related_solutions_content {
    flex: 1;
    min-width: 0;
    padding: 4px 24px 4px 14px;
  }

  .knowledge_related_solutions_content .knowledge_related_solutions_title {
    margin: 0;
    font-size: 4.2666vw;
    line-height: 1.5;
  }

  .knowledge_related_solutions_content .knowledge_related_solutions_description {
    margin: 6px 0 0;
    font-size: 3.7333vw;
    line-height: 1.6;
  }

  /* 矢印 */
  .knowledge_related_solutions_link::after {
    right: 12px;
    bottom: 12px;
  }

/* ----------------------------------------
   関連製品
---------------------------------------- */
  .knowledge_related_products {
    padding: 36px 0;
  }

  .knowledge_related_products .knowledge_related_title {
    margin-bottom: 20px;
    font-size: 5.3333vw;
    line-height: 1.5;
  }

  .knowledge_related_products_list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    width: 100%;
  }

  /* PC用の件数別幅指定を解除 */
  .knowledge_related_products_item:only-child {
    grid-column: auto;
    width: 100%;
  }

  .knowledge_related_products_list:has(
    > .knowledge_related_products_item:nth-child(2):last-child
  ) {
    grid-template-columns: 1fr;
    width: 100%;
  }

  /* 横カード */
  .knowledge_related_products_link {
    display: flex;
    flex-direction: row;
    align-items: center;
  }

  /* 製品画像 */
  .knowledge_related_products_image {
    flex: 0 0 32%;
    width: 32%;
    height: auto;
    min-height: 100px;
    max-width: 120px;
    padding: 10px;
  }

  .knowledge_related_products_image img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 110px;
    object-fit: contain;
  }

  /* 文章 */
  .knowledge_related_products_content {
    flex: 1;
    min-width: 0;
    padding: 12px 30px 12px 14px;
    border-top: 0;
    border-left: 1px solid #eee;
  }

  .knowledge_related_products_content .knowledge_related_products_title {
    font-size: 4.2666vw;
    line-height: 1.55;
  }

  .knowledge_related_products_link::after {
    right: 12px;
    bottom: 12px;
  }

/* ----------------------------------------
   CTA②
---------------------------------------- */
  .knowledge_contact_bottom {
    padding: 40px 0 48px;
  }

  .knowledge_contact_bottom_heading {
    margin-bottom: 24px;
  }

  .knowledge_contact_bottom_heading h2 {
    font-size: 5.3333vw;
    line-height: 1.5;
  }

  .knowledge_contact_bottom_heading p {
    margin-top: 8px;
    font-size: 3.7333vw;
    line-height: 1.7;
  }

}



/* ========================================
   コラム記事：2カラム（右サイドバー）
======================================== */

.page_knowledge_article--2column .knowledge_article_columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 48px;
  align-items: start;
}

.page_knowledge_article--2column .knowledge_article_main {
  min-width: 0;
}

.page_knowledge_article--2column .knowledge_article_sidebar {
  position: sticky;
  top: 100px;
  min-width: 0;
  align-self: start;
  margin-top: 64px;
  margin-bottom: 24px;
}


/* ----------------------------------------
   PC / SP 出し分け
---------------------------------------- */

/* SP用コンテンツはPCでは非表示 */
.page_knowledge_article--2column .knowledge_toc--sp,
.page_knowledge_article--2column .knowledge_sidebar_section--sp {
  display: none;
}


/* ----------------------------------------
   サイドバー：目次
---------------------------------------- */

.page_knowledge_article--2column .knowledge_toc--sidebar {
  margin: 0;
  padding: 24px 20px;
}

.page_knowledge_article--2column
.knowledge_toc--sidebar
.knowledge_toc_title {
  margin-bottom: 16px;
  font-size: 1.8rem;
}

.page_knowledge_article--2column
.knowledge_toc--sidebar
.knowledge_toc_item + .knowledge_toc_item {
  margin-top: 8px;
}

.page_knowledge_article--2column
.knowledge_toc--sidebar
.knowledge_toc_item--h2 a {
  font-size: 1.4rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
}

.page_knowledge_article--2column
.knowledge_toc--sidebar
.knowledge_toc_item--h3 {
  padding-left: 1.8rem;
}

.page_knowledge_article--2column
.knowledge_toc--sidebar
.knowledge_toc_item--h3 a {
  font-size: 1.3rem;
  line-height: 1.6;
}


/* ----------------------------------------
   サイドバー：共通
---------------------------------------- */

.page_knowledge_article--2column .knowledge_sidebar_section {
  margin-top: 32px;
}

.page_knowledge_article--2column .knowledge_sidebar_title {
  position: relative;
  margin: 0 0 16px;
  padding: 0 0 10px;
  border-bottom: 1px solid #ddd;
  color: #222;
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: 700;
}

/* 記事本文用h2装飾を解除 */
.page_knowledge_article--2column .knowledge_sidebar_title::before,
.page_knowledge_article--2column .knowledge_sidebar_title::after {
  display: none;
}


/* ----------------------------------------
   サイドバー：お問い合わせCTA
---------------------------------------- */

.page_knowledge_article--2column .knowledge_sidebar_contact {
  margin-top: 20px;
  padding: 24px 16px;
  border: 1px solid #ddd;
  background: #fff;
  text-align: center;
}

.page_knowledge_article--2column .knowledge_sidebar_contact_heading {
  margin-bottom: 18px;
}

.page_knowledge_article--2column .knowledge_sidebar_contact_heading h2 {
  position: static;
  margin: 0;
  padding: 0;
  color: #222;
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: 700;
}

.page_knowledge_article--2column .knowledge_sidebar_contact_heading h2::before,
.page_knowledge_article--2column .knowledge_sidebar_contact_heading h2::after {
  display: none;
}

.page_knowledge_article--2column .knowledge_sidebar_contact_button a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 46px;
  padding: 10px 12px;
  box-sizing: border-box;
  border-radius: 5px;
  background: var(--main-color);
  color: #fff;
  font-size: 1.5rem;
  line-height: 1.5;
  font-weight: 700;
  text-decoration: none;
}

.page_knowledge_article--2column .knowledge_sidebar_contact_button a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 0;
  height: 0;
  border: 4.5px solid transparent;
  border-left: 9px solid #fff;
  transform: translateY(-50%);
}

.page_knowledge_article--2column .knowledge_sidebar_contact_button a:hover {
  color: #fff;
  opacity: .8;
  text-decoration: none;
}

/* ----------------------------------------
   サイドバー：関連ソリューション
---------------------------------------- */

.page_knowledge_article--2column .knowledge_sidebar_solutions {
  margin: 0;
  padding: 0;
  list-style: none;
}

.page_knowledge_article--2column .knowledge_sidebar_solution {
  margin: 0;
}

.page_knowledge_article--2column
.knowledge_sidebar_solution + .knowledge_sidebar_solution {
  margin-top: 16px;
}

.page_knowledge_article--2column .knowledge_sidebar_solution_link {
  display: block;
  overflow: hidden;
  border: 1px solid #ddd;
  background: #fff;
  color: #222;
  text-decoration: none;
}

.page_knowledge_article--2column
.knowledge_sidebar_solution_link:hover {
  text-decoration: none;
}

.page_knowledge_article--2column .knowledge_sidebar_solution_image {
  overflow: hidden;
  background: #f7f7f7;
}

.page_knowledge_article--2column
.knowledge_sidebar_solution_image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.page_knowledge_article--2column
.knowledge_sidebar_solution_content {
  padding: 14px;
}

.page_knowledge_article--2column
.knowledge_sidebar_solution_title {
  margin: 0;
  color: #222;
  font-size: 1.5rem;
  line-height: 1.5;
  font-weight: 700;
}

.page_knowledge_article--2column
.knowledge_sidebar_solution_description {
  margin: 8px 0 0;
  color: #555;
  font-size: 1.3rem;
  line-height: 1.6;
}

.page_knowledge_article--2column
.knowledge_sidebar_solution_link:hover
.knowledge_sidebar_solution_title {
  color: var(--main-color);
}


/* ----------------------------------------
   2カラム：関連製品 PC横型カード
---------------------------------------- */
@media screen and (min-width: 768px) {

  .page_knowledge_article--2column
  .knowledge_sidebar_product + .knowledge_sidebar_product {
    margin-top: 12px;
  }

  .page_knowledge_article--2column
  .knowledge_sidebar_product_link {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    min-height: 100px;
    overflow: hidden;
    border: 1px solid #ddd;
    background: #fff;
    color: #222;
    text-decoration: none;
  }

  /* 画像 */
  .page_knowledge_article--2column
  .knowledge_sidebar_product_image {
    display: flex;
    flex: 0 0 105px;
    align-items: center;
    justify-content: center;
    width: 105px;
    height: auto;
    min-height: 100px;
    padding: 10px;
    box-sizing: border-box;
    border-right: 1px solid #eee;
  }

  .page_knowledge_article--2column
  .knowledge_sidebar_product_image img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    max-height: 80px;
    object-fit: contain;
  }

  /* タイトル */
  .page_knowledge_article--2column
  .knowledge_sidebar_product_content {
    display: flex;
    flex: 1;
    align-items: center;
    min-width: 0;
    padding: 12px 14px;
    border-top: 0;
  }

  .page_knowledge_article--2column
  .knowledge_sidebar_product_title {
    margin: 0;
    font-size: 1.4rem;
    line-height: 1.5;
    font-weight: 700;
  }

}

/* ========================================
   コラム記事：2カラム（右サイドバー）SP
======================================== */

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

  /* 2カラムを解除 */
  .page_knowledge_article--2column .knowledge_article_columns {
    display: block;
  }

  /* PCサイドバーを非表示 */
  .page_knowledge_article--2column .knowledge_article_sidebar {
    display: none;
  }

  /* SP用目次を表示 */
  .page_knowledge_article--2column .knowledge_toc--sp {
    display: block;
  }

  /* SP用関連コンテンツを表示 */
  .page_knowledge_article--2column .knowledge_sidebar_section--sp {
    display: block;
  }


  /* ----------------------------------------
     SP：関連コンテンツ共通
  ---------------------------------------- */

  .page_knowledge_article--2column
  .knowledge_sidebar_section--sp {
    margin-top: 36px;
  }

  .page_knowledge_article--2column
  .knowledge_sidebar_section--sp
  .knowledge_sidebar_title {
    margin: 0 0 16px;
    padding: 0 0 10px;
    font-size: 5.3333vw;
    line-height: 1.5;
  }


  /* ----------------------------------------
     SP：関連ソリューション
  ---------------------------------------- */

  .page_knowledge_article--2column
  .knowledge_sidebar_section--sp
  .knowledge_sidebar_solution_link {
    display: flex;
    align-items: center;
    min-height: 100px;
  }

  .page_knowledge_article--2column
  .knowledge_sidebar_section--sp
  .knowledge_sidebar_solution_image {
    flex: 0 0 32%;
    width: 32%;
  }

  .page_knowledge_article--2column
  .knowledge_sidebar_section--sp
  .knowledge_sidebar_solution_image img {
    width: 100%;
    height: auto;
    aspect-ratio: auto;
    object-fit: contain;
  }

  .page_knowledge_article--2column
  .knowledge_sidebar_section--sp
  .knowledge_sidebar_solution_content {
    flex: 1;
    min-width: 0;
    padding: 12px 14px;
  }

  .page_knowledge_article--2column
  .knowledge_sidebar_section--sp
  .knowledge_sidebar_solution_title {
    font-size: 4.2666vw;
  }

  .page_knowledge_article--2column
  .knowledge_sidebar_section--sp
  .knowledge_sidebar_solution_description {
    margin-top: 6px;
    font-size: 3.7333vw;
  }


  /* ----------------------------------------
     SP：関連製品
  ---------------------------------------- */

  .page_knowledge_article--2column
  .knowledge_sidebar_section--sp
  .knowledge_sidebar_product_link {
    display: flex;
    align-items: center;
    min-height: 100px;
  }

  .page_knowledge_article--2column
  .knowledge_sidebar_section--sp
  .knowledge_sidebar_product_image {
    flex: 0 0 32%;
    width: 32%;
    height: auto;
    min-height: 100px;
    padding: 10px;
  }

  .page_knowledge_article--2column
  .knowledge_sidebar_section--sp
  .knowledge_sidebar_product_image img {
    max-height: 90px;
  }

  .page_knowledge_article--2column
  .knowledge_sidebar_section--sp
  .knowledge_sidebar_product_content {
    flex: 1;
    min-width: 0;
    padding: 12px 14px;
    border-top: 0;
    border-left: 1px solid #eee;
  }

  .page_knowledge_article--2column
  .knowledge_sidebar_section--sp
  .knowledge_sidebar_product_title {
    font-size: 4.2666vw;
  }

}

