.p-concept {
  background-color: rgba(204, 204, 204, 0.22);
  padding-block: 3rem 13.5rem;
}
@media (min-width: 768px) {
  .p-concept {
    padding-block: 8rem 11rem;
  }
}
.p-concept__inner {
  margin: 0 auto;
  max-width: 67.2rem;
  padding-inline: 1.6rem;
  width: 100%;
}
.p-concept .c-title {
  margin-bottom: 7.5rem;
}
@media (min-width: 768px) {
  .p-concept .c-title {
    margin-bottom: 6.5rem;
  }
}
.p-concept__head {
  font-size: 3rem;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.3em;
  margin-bottom: 6rem;
}
@media (min-width: 768px) {
  .p-concept__head {
    font-size: 3.3rem;
  }
}
.p-concept__ttl {
  font-size: 3.2rem;
  font-family: var(--font-secondary);
  font-weight: 600;
  letter-spacing: 0.18em;
  margin-bottom: 3.5rem;
}
@media (min-width: 768px) {
  .p-concept__ttl {
    font-size: 3.6rem;
    line-height: 1.5833333333;
    margin-bottom: 2.5rem;
  }
}
.p-concept__txt {
  font-size: 1.6rem;
  font-family: var(--font-secondary);
  font-weight: 600;
  line-height: 1.875;
  letter-spacing: 0.18em;
  margin-bottom: 1.6rem;
}
@media (min-width: 768px) {
  .p-concept__txt {
    font-size: 1.7rem;
    line-height: 1.8235294118;
    margin-bottom: 3rem;
  }
}
.p-concept__txt span {
  font-size: 2.1rem;
}
@media (min-width: 768px) {
  .p-concept__txt span {
    font-size: 2.2rem;
  }
}
.p-concept__media figcaption {
  font-size: 1.5rem;
  font-family: var(--font-secondary);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.18em;
  text-align: right;
  margin-top: 1rem;
}
@media (min-width: 768px) {
  .p-concept__media figcaption {
    font-size: 1.5rem;
    margin-top: 1.5rem;
  }
}
.p-concept__media figcaption span {
  font-size: 2.6rem;
  margin-left: 1.5rem;
}
@media (min-width: 768px) {
  .p-concept__media figcaption span {
    font-size: 2.6rem;
  }
}

.p-company {
  padding-block: 10rem 12rem;
}
.p-company__inner {
  margin: 0 auto;
  max-width: 67.7rem;
  padding-inline: 1.6rem;
  width: 100%;
}
.p-company__head {
  font-size: 3rem;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.3em;
  margin-bottom: 4.5rem;
}
@media (min-width: 768px) {
  .p-company__head {
    font-size: 3.3rem;
    margin-bottom: 7rem;
  }
}
.p-company__row {
  border-bottom: 1px solid #b3b3b3;
  display: flex;
  row-gap: 1.5rem;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.7857142857;
  letter-spacing: 0.1em;
  padding-block: 3.5rem;
}
.p-company__row:first-child {
  border-top: 1px solid #b3b3b3;
}
@media (min-width: 768px) {
  .p-company__row {
    font-size: 1.6rem;
    line-height: 1.625;
    gap: 3rem;
    padding-block: 2.6rem;
  }
}
@media (max-width: 767px) {
  .p-company__row--wrap {
    flex-direction: column;
  }
  .p-company__row--wrap .p-company__ttl {
    width: auto;
  }
}
.p-company__ttl {
  flex-shrink: 0;
  width: 9rem;
  padding-inline: 0.4rem;
}
@media (min-width: 768px) {
  .p-company__ttl {
    width: 12rem;
  }
}
@media (max-width: 767px) {
  .p-company__content--pl {
    padding-left: 8.5rem;
  }
}
.p-company__txt--flexbox {
  display: flex;
  gap: 1rem;
}