@charset "UTF-8";

/*--------------------------------------------------------
　プラグインやテンプレートパーツ等の自作パーツ系のスタイル
--------------------------------------------------------*/

/* =======================================
　ニュースループ（Read more リンク）
======================================= */

.news_desc .news_readmore {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

a.news_readmore {
  text-decoration: none !important;
  font-size: 14px;
}

.news_desc .news_readmore::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url("../../images/common/common-button-arrow-circle.webp") no-repeat center / contain;
  flex-shrink: 0;
  margin-top: 2px;
}

/* =======================================
　パンくずリスト
======================================= */



/* =======================================
　SNSシェアボタン
======================================= */



/* =======================================
　コメント欄
======================================= */



/* =======================================
　サイドバー「最新記事」サムネイル付き
======================================= */

section.archive .archive_list li a {
  display: flex;
}


.archive-latests .archive_list--with-thumb {
  list-style: none;
  margin: 0;
  padding: 0;
}

.archive-latests .archive_list-item {
  margin: 0 0 0.75em;
}

.archive-latests .archive_list-item:last-child {
  margin-bottom: 0;
}

.archive-latests .archive_list-link {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: inherit;
}

.archive-latests .archive_list-link:hover {
  text-decoration: underline;
}

.archive-latests .archive_list-item-thumb {
  display: flex !important;
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: 4px;
  overflow: hidden;
  background: var(--color-gray02, #eee);
}

.archive-latests .archive_list-thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  vertical-align: top;
}

.archive-latests .archive_list-item-title {
  flex: 1;
  min-width: 0;
  font-size: 14px;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}


/* =======================================
　ページャー（前の記事＆後の記事）
======================================= */

/* 

.postLinks {
  display: flex;
  gap: 24px;
  margin-top: 48px;
  flex-wrap: wrap;
} */

.postLink {
  flex: 1;
  min-width: 0;
  background: transparent;
  border: none;
  border-radius: 8px;
  overflow: visible;
  min-height: 100px;
}

.postLink a,
.postLink a:link,
.postLink a:visited {
  display: flex;
  height: 100%;
  align-items: center;
  border: 1px solid var(--color-gray02);
  border-radius: 8px;
  padding: 4px 8px;
  font-size: 13px;
  text-decoration: none !important;
  color: var(--color-bk);
  gap: 16px;
}

.postLink-content-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
}


.postLink.postLink-prev a {
  padding-right: 16px;
}


.postLink.postLink-next a {
  display: flex;
  flex-direction: row;
  padding-left: 16px;
}

.postLink a:hover {
  background: var(--color-gray00);
}

.postLink-arrow {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-gray03);
}

.postLink-arrow img {
  display: block;
  width: 11px;
  height: 16px;
  object-fit: contain;
}

.postLink img {
  filter: none;
}

.postLink-next .postLink-arrow img {
  transform: scaleX(-1);
}

.postLink-thumb {
  flex-shrink: 0;
  width: 80px;
  height: 80px;
  border-radius: 8px;
  overflow: hidden;
  background: var(--color-gray01);
}

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

.postLink.postLink-next img,
.postLink.postLink-prev img {
  margin-left: 0;
  margin-right: 0;
}

.postLink-title {
  flex: 1;
  min-width: 0;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 500;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.postLink-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100px;
  padding: 12px 16px;
  color: var(--color-gray03);
  font-size: 14px;
}

@media (max-width: 639px) {
  .postLinks {
    flex-direction: column;
    gap: 2px;
    margin-top: 32px;
  }

  .postLink {
    max-width: 80%;
    margin: 0 auto;
  }

  .postLink a {
    padding: 10px 12px;
    min-height: 88px;
    gap: 12px;
  }

  .postLink-thumb {
    width: 64px;
    height: 64px;
  }

  .postLink-title {
    font-size: 13px;
    -webkit-line-clamp: 2;
  }
}

/* =======================================
　ページャー（記事数）
======================================= */



/* =======================================
　上に戻るボタン
======================================= */
#scroll-top img {
  background: var(--color-footer-info-bg);
}


/* =======================================
　　固定お問い合わせボタン
======================================= */
/*----- 共通事項 -----*/
#fixed-contact-btn {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 100;
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  transform: translateX(100%);
  transition: transform 0.4s ease-out;
  /* mix-blend-mode: darken; */
}

#fixed-contact-btn.cta-visible {
  transform: translateX(0);
}

#fixed-contact-btn>div {
  display: flex;
  flex: 0 0 auto;
}

#fixed-contact-btn>div a {
  width: auto;
  min-height: 100%;
}

#fixed-contact-btn a::before {
  content: none;
}


@media (max-width: 639px) {
  #fixed-contact-btn {
    width: 100%;
  }

  #fixed-contact-btn>div a {
    width: 100%;
    padding: 12px;
  }


  #fixed-contact-btn>div {
    display: flex;
  }

  /* 幅の割当 左から 2:1:1（639px以下のみ） */
  #fixed-contact-btn>.fixed-contact-btn_phone {
    flex: 1.3 1 0%;
  }

  #fixed-contact-btn>.fixed-contact-btn_mail {
    flex: 1 1 0%;
  }

  #fixed-contact-btn>.fixed-contact-btn_line {
    flex: 1 1 0%;
  }
}

@media (max-width: 480px) {
  #fixed-contact-btn>div a {
    padding: 10px 6px !important;
  }
}


@media (max-width: 375px) {
  span.sp-no {
    display: none;
  }

  /* 幅の割当 左から 2:1:1（639px以下のみ） */
  #fixed-contact-btn>.fixed-contact-btn_phone {
    flex: 1.6 1 0%;
  }

  #fixed-contact-btn>.fixed-contact-btn_mail {
    flex: 1 1 0%;
  }

  #fixed-contact-btn>.fixed-contact-btn_line {
    flex: 1 1 0%;
  }
}


/*----- 電話ボタン -----*/
.fixed-contact-btn_phone a {
  display: flex !important;
  align-items: flex-end;
  justify-content: space-between;
  gap: 8px;
  background: #483F26 !important;
}


/* 左コンテンツ */
.fixed-contact-btn_phone_content_lefft_content {
  display: flex;
  flex-direction: column;
}

span.fixed-contact-btn_phone_number {
  font-size: 22px;
  font-weight: 600;
  line-height: 1;
}

/* 右コンテンツ */
.fixed-contact-btn_phone_content_right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 2px;
}


span.fixed-contact-btn_phone_content_right_label {
  font-size: 12px;
  border: 1px solid #FFF;
  line-height: 1;
  padding: 4px 8px;
}


@media (max-width: 639px) {
  .fixed-contact-btn_phone>a {
    justify-content: center;
    align-items: center;
  }

  span.fixed-contact-btn_label {
    font-size: 12px;
    top: 7px;
    position: relative;
  }

  .fixed-contact-btn_phone_content_left_tel_content img {
    width: 48px !important;
    height: auto !important;
    margin-right: 0 !important;
  }

  span.fixed-contact-btn_phone_number {
    font-size: 15px;
    line-height: 1;
  }

  .fixed-contact-btn_phone_content_right {
    display: none;
  }
}

@media (max-width: 480px) {
  span.fixed-contact-btn_phone_number {
    font-size: 14px;
  }

  .fixed-contact-btn_phone_content_left_tel_content img {
    width: 32px !important;
  }

}



/*----- メールボタン -----*/
.fixed-contact-btn_mail a {
  display: flex !important;
  align-items: center;
  justify-content: space-between !important;
  background: #FF0075 !important;
}

/* コンテンツ */
.fixed-contact-btn_mail_content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1;
  gap: 8px;
}


@media (max-width: 639px) {
  .fixed-contact-btn_mail_content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
  }

  .fixed-contact-btn_mail a {
    display: flex;
    flex-direction: column;
  }

  .fixed-contact-btn_mail img {
    width: 24px !important;
    height: auto !important;
    margin-bottom: 2px;
  }

  span.fixed-contact-btn_mail_label {
    font-size: 12px !important;
  }

  span.fixed-contact-btn_mail_title {
    font-size: 14px !important;
  }
}



/*----- LINEボタン -----*/
.fixed-contact-btn_line a {
  display: flex !important;
  align-items: center;
  justify-content: space-between !important;
  background: #34BB07 !important;
}

/* コンテンツ */
.fixed-contact-btn_line_content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1;
  gap: 8px;
}


@media (max-width: 639px) {
  .fixed-contact-btn_line a {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .fixed-contact-btn_line img {
    width: 27px !important;
    height: auto !important;
    margin-bottom: 2px;
  }

  .fixed-contact-btn_line_content {
    gap: 4px;
    align-items: center;
  }

  span.fixed-contact-btn_line_label {
    font-size: 12px;
  }

  span.fixed-contact-btn_line_title {
    font-size: 14px;
  }
}


/* =======================================
　アコーディオン別バージョン（経歴折りたたみ）
======================================= */
.wp-block-accordion.history-aco {
  border: none !important;
}

.wp-block-accordion.history-aco .wp-block-accordion-item.is-layout-flow.wp-block-accordion-item-is-layout-flow {
  border-top: none;
  padding-top: 24px;
  margin-top: 0;
}

.wp-block-accordion.history-aco span.wp-block-accordion-heading__toggle-title {
  font-size: 14px;
  letter-spacing: 0.5px;
  font-weight: 400;
}

.wp-block-accordion.history-aco .wp-block-accordion-heading__toggle-title::before {
  content: none;
}

.wp-block-accordion.history-aco .wp-block-accordion-heading__toggle-title::after {
  content: "▼";
  font-size: 12px;
  color: var(--color-gray03);
  margin-left: 8px;
}

.wp-block-accordion.history-aco span.wp-block-accordion-heading__toggle-icon {
  display: none;
}

.wp-block-accordion.history-aco .wp-block-accordion .wp-block-accordion-panel {
  padding: 16px 0;
}

.wp-block-accordion.history-aco .wp-block-accordion-panel::before {
  content: none;
}