/* common --------------------------------- */
* {
  font-family: 'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
}

h2 {
  font-weight: bold;
}

a {
  text-decoration: none;
}

a:hover {
  opacity: .8;
}

p {
  line-height: 1.7;
}

/* common --------------------------------- */



/* 自作クラス --------------------------------- */
.bg-red {
  background-color: #E54649;
}

.bd-red {
  border: #E54649 1px solid;
}

.bd-red2 {
  border: #E54649 2px solid;
}

.text-red {
  color: #E54649;
}

.text-blk {
  color: #333;
}

.text-right {
  text-align: right !important;
}

.ls005 {
  letter-spacing: 0.05rem;
}

.pl-3 {
  padding-left: 1rem;
}

.px-6 {
  padding-right: 4rem !important;
  padding-left: 4rem !important;
}

.mt-6 {
  margin-top: 4rem !important;
}

.mt-8 {
  margin-top: 5rem !important;
}

.mt-10 {
  margin-top: 6rem !important;
}

.-ml-1 {
  margin-left: -1rem;
}

@media (min-width: 992px) {
  .col-lg-48 {
    flex: 0 0 48%;
    max-width: 48%;
  }
}

.w-49 {
  width: 49% !important;
}

/* 自作クラス --------------------------------- */



/* 汎用 --------------------------------- */
body {
  padding-top: 56px; /* ヘッダーの重なり調整 */
}

.site-title {
  font-size: revert;
  position: relative;
}

.site-title::after {
  content: '';
  position: absolute;
  left: -16px;
  bottom: -4px;
  width: calc(100% + 16px);
  height: 3px;
  background-color: #E54649;
}

.site-title-white {
  position: relative;
}

.site-title-white::after {
  content: '';
  position: absolute;
  left: -16px;
  bottom: -4px;
  width: calc(100% + 16px);
  height: 3px;
  background-color: #fff;
}

.page-link-btn a {
  position: relative; 
  padding-right: 3rem;
}

.page-link-btn a::after {
  content: "▶︎";
  position: absolute;
  right: 1.25rem;
  top: 50%;
  transform: translateY(-50%);
}
/* 汎用 --------------------------------- */



/* TOPページ --------------------------------- */
.kv-bg {
  height: 70vh;
  background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url(/assets/img/kv_pc.jpg);
  background-size: cover;
  background-position: center;
}

@media (max-width: 991.98px) {
  .kv-bg {
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url(/assets/img/kv_sp.jpg);
  }
}
/* TOPページ --------------------------------- */



/* お客様の声 --------------------------------- */
.customer-desc h3 {
  font-size: 1rem;
  margin-bottom: 0px;
}

.customer-desc p {
  font-size: 0.9rem;
}

.review-card {
  padding: 1.4rem;
  background-color: white;
  line-height: 1.6;
  font-size: 0.9rem;
}
/* お客様の声 --------------------------------- */



/* お問い合わせ --------------------------------- */
#contact {
  background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(/assets/img/contact-bg.jpg);
  background-size: cover;
  background-position: center;
}

#contact.individual {
  background-image: none;
}

.contact-btn:hover {
  background-color: #EA7074;
  opacity: 1;
}
/* お問い合わせ --------------------------------- */



/* ハンバーガーメニュー --------------------------------- */
.mobile-nav-link {
  position: relative;
  padding: 1rem 0;
  font-size: 1.1rem;
}

.mobile-nav-link::after {
  content: '▶︎';
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.8rem;
}

.offcanvas {
  width: 80%;
  max-width: 320px;
}

.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28229, 70, 73, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
/* ハンバーガーメニュー --------------------------------- */



/* 事務所概要の表 --------------------------------- */
.border-bottom-table tr {
  border-bottom: 1px solid #dee2e6;
}

.border-bottom-table th,
.border-bottom-table td {
  border: none;
  padding: 1.2rem 0.5rem;
  vertical-align: middle;
}

.border-bottom-table th {
  font-weight: normal;
}

@media (max-width: 991.98px) {
  .table-responsive {
    width: 100% !important;
  }

  .border-bottom-table th {
    width: 35% !important;
  }
}

/* 事務所概要の表 --------------------------------- */



/* ご相談の流れ --------------------------------- */
/* 縦線 */
.timeline-line {
  position: absolute;
  top: 40px;
  left: 18px;
  width: 4px;
  height: calc(100% - 124px);
  background-color: #E54649;
  z-index: 1;
}

/* 丸数字 */
.number {
  width: 40px;
  height: 40px;
  min-width: 40px;
  position: relative;
  z-index: 2;
  background-color: #E54649;
}

.flow-content {
  padding-top: 0.3rem;
}

.info-box {
  font-size: 0.9rem;
}


@media (max-width: 991.98px) {
  .flow-list {
    width: 100% !important;
  }

  .timeline-line {
    height: calc(100% - 140px);
  }
}
/* ご相談の流れ --------------------------------- */



/* お問い合わせフォーム（入力画面） --------------------------------- */
form {
    width: 75%;
    margin: 0 auto;
  }
  
.badge {
  font-weight: normal;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
}

.form-control,
.form-select {
  border-color: #ccc;
}

.form-control:focus,
.form-select:focus {
  border-color: #999;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.3);
}

@media (max-width: 991.98px) {
  form {
    width: 100% !important;
  }
}
/* お問い合わせフォーム（入力画面） --------------------------------- */



/* フッター --------------------------------- */
.footer-nav li {
  border-bottom: 1px solid #fff;
}
/* フッター --------------------------------- */