/*==================================================
    ページ共通
==================================================*/
.title-h2 {
  font-size: 2.6rem;
  font-weight: 600;
  padding-left: 2.6rem;
  position: relative;
  line-height: 1;
  padding-bottom: 2.2rem;
  border-bottom: 1px solid #000;
}

.title-h2::before {
  content: '';
  background-color: var(--color-orange);
  width: 1.3rem;
  height: 1.3rem;
  position: absolute;
  left: 0;
  top: 0.5rem;
  border-radius: 50%;
}

@media screen and (max-width: 767px) {
  .title-h2 {
    font-size: 4.8vw;
    padding-bottom: 4.2667vw;
    padding-left: 3.2vw;
  }

  .title-h2::before {
    width: 2.1333vw;
    height: 2.1333vw;
    top: 1.2vw;
  }
}

/*==================================================
    パンくず
==================================================*/
.breadcrumb {
  padding: 2.8rem 0;
}

/*==================================================
    ページタイトル
==================================================*/
.pageHead {
  padding: 2.2rem 0 3.2rem;

  .inner {
    width: 1100px;
  }
}

@media screen and (max-width: 767px) {
  .pageHead {
    padding: 17.8667vw 0 0 0;
  }
}

/*==================================================
    会社概要
==================================================*/
#companyHead {
  padding: 5rem 0 8rem;

  .companyHead__inner {
    display: flex;
    gap: 1.8rem;
  }

  .companyHead__list {
    display: flex;
  }

  .companyHead__table {
    flex: 1;
  }

  dt {
    background-color: #626262;
    color: #fff;
    font-weight: 700;
    font-size: 2rem;
    border-bottom: 1px solid #fff;
    min-height: 5.6rem;
    padding: 0.6rem 1.6rem;
    display: flex;
    align-items: center;
    width: 100%;
    flex: 0 1 15.2rem;
  }

  dd {
    width: 100%;
    display: flex;
    align-items: center;
    font-size: 1.8rem;
    font-weight: 500;
    border-bottom: 1px solid #efebe9;
    background-color: #fff;
    padding: 1rem 1.6rem;
    flex: 1;
  }

  .companyHead__img {
    flex: 0 1 38%;
  }

  @media screen and (max-width: 767px) {
    padding: 8.533vw 0 15.733vw 0;

    .companyHead__inner {
      flex-direction: column;
      gap: 9.6vw;
    }

    dl {
      order: 2;
    }

    dt {
      font-size: 3.733vw;
      padding: 3.2vw 2.133vw;
      flex: 0 1 29.7267vw;
      min-height: auto;
    }

    dd {
      font-size: 3.733vw;
      padding: 3.0667vw;
    }

    .companyHead__img {
      width: 50.8vw;
      margin: 0 auto;
    }
  }
}

/*==================================================
    店舗所在地
==================================================*/
#shop {
  padding-bottom: 12rem;

  .shop__contents {
    max-width: 95%;
    margin: 1rem auto 0;
  }

  .shopList {
    border-bottom: 2px solid var(--color-orange);
    padding: 3rem 0 2rem;
    display: flex;
    justify-content: space-between;
    position: relative;
  }

  .shopList__name {
    font-weight: 600;
    font-size: 1.8rem;
    line-height: 1.667;
  }

  .shopList__address,
  .shopList__tel {
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.667;
  }

  .shopList__button {
    margin-top: auto;
  }

  .shop__button {
    border: 1px solid #000;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.5rem;
    background-color: #fff;
    position: relative;
    justify-content: space-between;
    gap: 2rem;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1;
    padding: 1.4rem 1.6rem 1.2rem 2.8rem;
    height: 5.5rem;
    transition: .3s;
  }

  .shop__button:hover {
    opacity: 1;
    background: #000;
    color: #fff;
  }

  .shop__button::after {
    content: '';
    background: url(../img/common/arrow_dot_black.svg) no-repeat center center / contain;
    width: 2rem;
    height: 1.1rem;
    display: inline-block;
  }

  .shop__button:hover::after {
    background: url(../img/common/arrow_dot_white.svg) no-repeat center center / contain;
  }

  @media screen and (max-width: 767px) {
    padding-bottom: 18.533vw;

    .shopList {
      padding: 4.2vw 1.2vw 3.2vw;
      min-height: 32.8vw;
    }

    .shopList:last-of-type {
      min-height: 38.8vw;
    }

    .shopList__name,
    .shopList__address,
    .shopList__tel,
    .shopList__text {
      font-size: 3.733vw;
    }

    .shopList__button {
      position: absolute;
      bottom: 6vw;
      right: 0;
      margin-top: 0;
    }

    .shop__button {
      gap: 3.2vw;
      font-size: 3.733vw;
      padding: 3vw 2.67vw 2.93vw 3.733vw;
      height: 9.2vw;
    }
  }
}

/*==================================================
    沿革
==================================================*/
#history {
  padding-top: 6.5vw;
	margin-bottom: 12rem;

  .history__contents {
    margin-top: 5.2rem;
  }

  .historyList {
    background-color: #efebe9;
    display: grid;
    grid-template-columns: 13.5rem auto;
    padding: 2rem 2.6rem;
  }

  .historyList + .historyList {
    margin-top: 0.5rem;
  }

  .historyList__time {
    color: var(--color-orange);
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    font-size: 2.6rem;
    border-right: 1px solid #aca9a9;
  }

  .historyList__text {
    display: flex;
    align-items: center;
    font-size: 1.8rem;
    margin-left: 4.6rem;
  }

  @media screen and (max-width: 767px) {
    padding-top: 14vw;

    .history__contents {
      margin-top: 6.2667vw;
    }

    .historyList {
      grid-template-columns: 14vw auto;
      padding: 3vw;
    }

    .historyList__time {
      font-size: 4.267vw;
    }

    .historyList__text {
      font-size: 3.733vw;
      margin-left: 3.467vw;
    }
  }
}
