@charset "utf-8";
.sec_grace {
  padding-top: 57px;
}
.grace__head {
  margin-bottom: 104px;
}
.grace__logo {
  width: 42.12vw;
  max-width: 516px;
  min-width: 270px;
  margin-bottom: 45px;
}
.grace__lead {
  font-size: clamp(22px, 2.24vw, 28px);
  font-weight: 500;
  line-height: 1.96;
  letter-spacing: 0;
  margin-bottom: 84px;
}
.grace__lead p span {
  display: inline-block;
}
/* banner */
.grace__bnr {
  max-width: 913px;
  position: relative;
  border-radius: 20px;
  overflow: hidden;
}
.grace__bnr a {
  position: relative;
  width: 100%;
  aspect-ratio: 913 / 376;
  min-height: 14em;
}
.grace__bnr a::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(144, 143, 143, 0.65);
  mix-blend-mode: multiply;
  z-index: 2;
  transition: background-color 0.3s ease;
}

.grace__bnr img {
  transition: scale 0.5s ease;
}
.grace__bnr-cont {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 8%;
}
.grace__bnr-txt {
  font-size: clamp(20px, 2.04vw, 25px);
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
  margin-bottom: 22px;
  padding: 0 10px;
}
.grace__tel {
  color: #fff;
  border: 1px solid #fff;
  border-radius: clamp(15px, 4vw, 30px);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.2em;
  width: 90%;
  max-width: 38.2em;
  min-height: 5.5em;
}
.grace__tel .sm {
  font-size: clamp(21px, 2.14vw, 27px);
  font-weight: 500;
  letter-spacing: 0.1em;
}
.grace__tel .num {
  font-size: clamp(32px, 3.27vw, 40px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
}
/* hover */
/* .grace__bnr:hover img {
  scale: 1.1;
}
.grace__bnr:hover a::before {
  background-color: rgba(144, 143, 143, 0.9);
} */
.company__ttl {
  font-size: clamp(24px, 2.45vw, 30px);
  font-weight: 700;
  line-height: 1.76;
  letter-spacing: 0.1em;
  display: flex;
  margin-bottom: 20px;
}
.company__ttl::before {
  content: "■";
}
.company_prof {
  border-bottom: 1px solid #707070;
}
.company_prof__item {
  display: flex;
}
.company_prof__item-heading {
  font-size: clamp(20px, 2.04vw, 25px);
  font-weight: 700;
  line-height: 1.48;
  letter-spacing: 0.1em;
  flex-shrink: 0;
  width: clamp(7em, 20.83vw, 8em);
  padding: 1.3em 1.5%;
  border-top: 6px solid #a7944c;
  position: relative;
}
.company_prof__item:last-child .company_prof__item-heading::after {
  content: "";
  display: block;
  width: 100%;
  height: 6px;
  background-color: #a7944c;
  position: absolute;
  top: 100%;
  left: 0;
}
.company_prof__item-detal {
  font-size: clamp(16px, 1.63vw, 20px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  display: flex;
  align-items: center;
  width: calc(100% - 8em);
  min-height: 6.2em;
  border-top: 1px solid #707070;
  padding: 1.8em 5%;
}
.company_prof__item-detal strong {
  font-size: 1.5em;
  font-weight: 700;
  line-height: 1;
}

.company_prof__item-detal span {
  display: inline-block;
}
.company_prof__item-detal dl {
  padding-top: 20px;
}
.company_prof__item-detal dl dt {
  font-size: 1.15em;
  font-weight: 700;
  line-height: 1.48;
  margin-bottom: 0.2em;
}
.company_prof__item-detal dl dt a {
  color: #4062ab;
}
.company_prof__item-detal dl dt a {
  color: #4062ab;
  transition: 0.3s;
}
.company_prof__item-detal dl dt a:hover {
  color: #17a3fe;
}
.company_prof__item-detal dl dd {
  margin-bottom: 2.6em;
}
@media screen and (max-width: 768px) {
  .grace__lead {
    font-size: clamp(18px, 2.86vw, 22px);
  }
  .grace__bnr-txt {
    font-size: clamp(16px, 2.6vw, 20px);
  }
  .grace__tel .sm {
    font-size: clamp(17px, 2.73vw, 21px);
  }
  .grace__tel .num {
    font-size: clamp(25px, 4.17vw, 32px);
  }
  .company__ttl {
    font-size: clamp(19px, 3.13vw, 24px);
  }
  .company_prof__item-heading {
    font-size: clamp(16px, 2.6vw, 20px);
  }
  .company_prof__item-detal {
    font-size: clamp(13px, 3.47vw, 16px);
  }
  .company_prof__item-detal strong {
    font-size: 1.2em;
  }
}
@media screen and (max-width: 450px) {
  .grace__logo {
    width: 100%;
    max-width: 270px;
    min-width: initial;
  }
}
