@charset "UTF-8";
/* =========================================================
   ナレッジ一覧（archive-knowledge / taxonomy-knowledge-cat）
   ・レイアウト／絞り込みボタン／カード／ページネーションは導入実績一覧と共通
   ・カード：c-card ベース／SP1列・PC2列
   ========================================================= */
.p-knowledge {
  padding: 40px 0 0;
}
@media only screen and (min-width: 992px) {
  .p-knowledge {
    padding: 60px 0 0;
  }
}

.p-knowledge__inner {
  width: 100%;
  max-width: 1060px;
  margin: 0 auto;
  padding: 0 15px;
}

/* 業種カテゴリー絞り込みボタン（SP2列 / PC横並び・数が増えたら折り返し） */
.p-knowledge__filter {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px 18px;
  margin-bottom: 40px;
  /* PCは5列固定。タブが少なくても1つあたり最大1/5幅（多いときは折り返す） */
}
@media only screen and (min-width: 992px) {
  .p-knowledge__filter {
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
    margin-bottom: 60px;
  }
}

.p-knowledge__filter-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 54px;
  padding: 8px 10px;
  border: 1px solid #C9D3DD;
  border-radius: 8px;
  background-color: #fff;
  color: #7A8CA3;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  transition: border-color 0.2s, color 0.2s;
}
@media only screen and (min-width: 992px) {
  .p-knowledge__filter-btn {
    min-height: 50px;
    font-size: 15px;
  }
}
.p-knowledge__filter-btn:hover {
  border-color: #0E63C4;
  color: #0E63C4;
}

.p-knowledge__filter-btn.is-active {
  border: 2px solid #0E63C4;
  color: #0E63C4;
  font-weight: 700;
}

/* 一覧ブロック（背景グラデーション：全幅・上から60pxは透明） */
.p-knowledge__sec {
  position: relative;
  z-index: 0;
  padding-bottom: 60px;
}
@media only screen and (min-width: 992px) {
  .p-knowledge__sec {
    padding-bottom: 80px;
  }
}

/* カード一覧（c-card ベース） */
.p-knowledge__cards {
  display: grid;
  gap: 30px;
}
@media only screen and (min-width: 992px) {
  .p-knowledge__cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

.p-knowledge__card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 10px 20px rgba(148, 170, 195, 0.16);
}
.p-knowledge__card .c-card__img img {
  aspect-ratio: 2/1;
}

.p-knowledge__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  padding: 20px;
}
@media only screen and (min-width: 992px) {
  .p-knowledge__body {
    padding: 22px 22px 30px;
  }
}

/* カテゴリーラベル（グラデーション・日本語フォント） */
.p-knowledge__cats {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.p-knowledge__cat {
  padding: 2px 10px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-weight: 500;
}
@media only screen and (min-width: 992px) {
  .p-knowledge__cat {
    font-size: 14px;
  }
}

/* 投稿日（一覧の他ページと同じ Montserrat） */
.p-knowledge__date {
  display: block;
  margin-top: 8px;
  color: #0E63C4;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}
@media only screen and (min-width: 992px) {
  .p-knowledge__date {
    font-size: 16px;
  }
}

/* タイトル（区切り線はリード文側の border-top で描く） */
.p-knowledge__ttl {
  width: 100%;
  margin-top: 4px;
  font-size: 16px;
  line-height: 1.6;
}
@media only screen and (min-width: 992px) {
  .p-knowledge__ttl {
    font-size: 20px;
  }
}

/* リード文（上に区切り線。リード文が無いカードでは線ごと出ない） */
.p-knowledge__text {
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid #D9D9D9;
  color: #333;
}

/* 詳細を見る（共通 .c-btn2--card：サイズ・テキスト中央・矢印右端固定は共通側で定義）
   上の余白は固定。margin-top: auto にすると、カードに余白が無いとき（リード文なし等）に
   ボタンが直前の要素とくっついてしまうため使わない */
.p-knowledge__btn {
  margin-top: 20px;
}
@media only screen and (min-width: 992px) {
  .p-knowledge__btn {
    margin-top: 24px;
    font-size: 16px;
  }
}

.p-knowledge__empty {
  padding: 40px 0;
  text-align: center;
}

/* ページネーション（paginate_links の出力・数字のみ／お知らせ一覧と共通） */
.p-knowledge__pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 50px;
}
@media only screen and (min-width: 992px) {
  .p-knowledge__pagination {
    margin-top: 60px;
  }
}

.p-knowledge__pagination .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 40px;
  border-radius: 6px;
  background-color: #DEEBFF;
  color: #666;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  transition: background-color 0.2s, color 0.2s;
}
.p-knowledge__pagination .page-numbers:hover {
  background-color: #0E63C4;
  color: #fff;
}

.p-knowledge__pagination .page-numbers.current {
  background-color: #0E63C4;
  color: #fff;
  pointer-events: none;
}

.p-knowledge__pagination .page-numbers.dots {
  background: none;
  pointer-events: none;
}

/* =========================================================
   ナレッジ詳細（single-knowledge）
   ========================================================= */
.p-knowledge-single {
  padding: 40px 0 60px;
}
@media only screen and (min-width: 992px) {
  .p-knowledge-single {
    padding: 60px 0 80px;
  }
}

.p-knowledge-single__inner {
  width: 100%;
  max-width: 810px;
  margin: 0 auto;
  padding: 0 15px;
}

/* 日付・カテゴリーのラベル（グラデーションの帯） */
.p-knowledge-single__meta {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 15px;
  background: linear-gradient(90deg, #8AD4EF 0%, #4F93E0 100%);
}

.p-knowledge-single__date {
  display: flex;
  align-items: center;
  padding: 5px 12px;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1;
}

.p-knowledge-single__cat {
  display: flex;
  align-items: center;
  padding: 5px 12px 5px 0;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
}

.p-knowledge-single__ttl {
  margin-bottom: 20px;
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media only screen and (min-width: 992px) {
  .p-knowledge-single__ttl {
    margin-bottom: 24px;
    font-size: 24px;
  }
}

/* 本文（the_content） */
.p-knowledge-single__content {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.8571428571;
}
@media only screen and (min-width: 992px) {
  .p-knowledge-single__content {
    font-size: 16px;
    line-height: 1.875;
  }
}

.p-knowledge-single__content > * + * {
  margin-top: 24px;
}
@media only screen and (min-width: 992px) {
  .p-knowledge-single__content > * + * {
    margin-top: 30px;
  }
}

/* 見出し（.c-heading と同じ見た目を h2 に適用） */
.p-knowledge-single__content h2 {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 50px;
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media only screen and (min-width: 992px) {
  .p-knowledge-single__content h2 {
    gap: 18px;
    margin-top: 60px;
    font-size: 30px;
  }
}

/* 縦長の平行四辺形（.c-heading と共通のデザイン） */
.p-knowledge-single__content h2::before {
  content: "";
  flex-shrink: 0;
  width: 7px;
  height: 1.1em;
  background-color: #101F70;
  transform: skewX(-12deg);
}
@media only screen and (min-width: 992px) {
  .p-knowledge-single__content h2::before {
    width: 8px;
  }
}

/* h3：青の下線 */
.p-knowledge-single__content h3 {
  padding-bottom: 10px;
  border-bottom: 2px solid #0E63C4;
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media only screen and (min-width: 992px) {
  .p-knowledge-single__content h3 {
    padding-bottom: 12px;
    font-size: 22px;
  }
}

/* h4：青文字 */
.p-knowledge-single__content h4 {
  color: #0E63C4;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media only screen and (min-width: 992px) {
  .p-knowledge-single__content h4 {
    font-size: 18px;
  }
}

.p-knowledge-single__content img {
  width: 100%;
  height: auto;
}

.p-knowledge-single__content figcaption {
  margin-top: 10px;
  color: #999;
  font-size: 12px;
  line-height: 1.5;
}

.p-knowledge-single__content a {
  color: #0E63C4;
  text-decoration: underline;
  transition: opacity 0.2s;
}
.p-knowledge-single__content a:hover {
  opacity: 0.7;
}

/* お知らせ一覧に戻る */
.p-knowledge-single__back {
  margin: 60px auto 0;
}
@media only screen and (min-width: 992px) {
  .p-knowledge-single__back {
    margin-top: 80px;
  }
}

/*# sourceMappingURL=knowledge.css.map */
