/* ----------------------------------------------------------------
	Custom CSS

	Add all your Custom Styled CSS here for New Styles or
	Overwriting Default Theme Styles for Better Handling Updates
-----------------------------------------------------------------*/

/* 会社概要ページ：代表挨拶の見出し（heading-block内のラベル構成）
-----------------------------------------------------------------*/
.heading-label {
  position: relative;
  display: block;
  font-size: 15px;
  color: #04371f;
  font-weight: bold;
  padding: 0 40px;
}

/* h2 > span:not(.nocolor):not(.badge) (style.css) が同等の詳細度で色を上書きするため、
   要素・クラスを揃えて確実に効かせる */
h2.heading-block > span.heading-label {
  color: #04371f;
}

.heading-label::before,
.heading-label::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 30px;
  height: 2px;
  background-color: #04371f;
  transform: translateY(-50%);
}

.heading-label::before { left: 0; }
.heading-label::after { right: 0; }

.heading-main {
  justify-content: center;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 10px;
}

.heading-jp {
  font-size: 35px;
  color: #4A4846;
  font-weight: bold;
}

.heading-highlight {
  font-size: 50px;
  color: #04371f;
  font-weight: bold;
  line-height: 1;
}

.message-wrap p {
  margin-bottom: 10px;
}

/* 会社概要ページ：情報テーブルの背景・保有資格/保証体制セクション
-----------------------------------------------------------------*/
.bg-content {
  background: #f2f7f4;
}

.page-section.bg-content {
  padding: 40px;
}

@media (max-width: 991.98px) {
  .page-section.bg-content {
    padding: 20px !important;
  }
}

@media (max-width: 640px) {
  .page-section.bg-content {
    padding: 20px 15px !important;
  }
  .row.shikaku.gap-3 {
    gap: 0.5rem !important;
  }
}


