.features {
  background-image: linear-gradient(to right, black 50%, transparent 50%);
  background-size: 9px 1px;
  background-repeat: repeat-x;
  background-position: left top;
  margin: 0 2rem;
  padding-top: 8rem;
}
@media (768px <= width) {
  .features {
    margin-left: max(50% - 80rem, 6rem);
    margin-right: max(50% - 80rem, 6rem);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
.features__lead {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 140%;
  text-align: center;
}
@media (768px <= width) {
  .features__lead {
    font-size: 5.2rem;
    padding-left: calc(2em + 12.5%);
    text-indent: -2em;
    text-align: left;
  }
}
.features__text {
  margin-top: 3rem;
  font-size: 1.6rem;
  line-height: 250%;
}
@media (768px <= width) {
  .features__text {
    margin-top: 0;
    padding-right: 12.5%;
  }
}

.franchise {
  margin-top: 4rem;
  padding: 4rem 2rem;
  border-radius: 2rem;
  background: var(--color-bg);
}
@media (768px <= width) {
  .franchise {
    margin-top: 12rem;
    padding-top: 12rem;
    padding-bottom: 12rem;
    grid-column: span 2;
  }
}
.franchise__label {
  text-align: center;
}
.franchise__label .label {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 200%;
  text-decoration: underline;
  text-underline-offset: 0.4rem;
}
@media (768px <= width) {
  .franchise__label .label {
    font-size: 2.4rem;
  }
  .franchise__label .label br {
    display: none;
  }
}
.franchise__copy {
  margin-top: 4rem;
  display: grid;
  justify-content: center;
  gap: 2rem;
  text-align: center;
}
@media (768px <= width) {
  .franchise__copy {
    margin-top: 6rem;
    grid-template-columns: repeat(3, auto);
    align-items: center;
  }
}
.franchise__copy span {
  font-size: 1.8rem;
  font-weight: 700;
}
@media (768px <= width) {
  .franchise__copy span {
    font-size: 3.8rem;
  }
}
.franchise__copy span.red {
  color: var(--color-red);
}
.franchise__copy span.green {
  color: var(--color-green);
}
.franchise__copy span.kakeru {
  width: 3rem;
  height: 3rem;
  background: url('data:image/svg+xml;charset=utf8, <svg width="29" height="29" viewBox="0 0 29 29" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.29312 27.8701C-0.0974045 27.4795 -0.0974044 26.8464 0.29312 26.4558L26.4561 0.292893C26.8466 -0.0976308 27.4798 -0.0976312 27.8703 0.292893L28.5774 1C28.9679 1.39052 28.9679 2.02369 28.5774 2.41421L2.41444 28.5772C2.02392 28.9677 1.39075 28.9677 1.00023 28.5772L0.29312 27.8701Z" fill="%233E3A2A"/><path d="M1 0.292909C1.39052 -0.0976154 2.02369 -0.0976153 2.41421 0.292909L28.5772 26.4559C28.9677 26.8464 28.9677 27.4795 28.5772 27.8701L27.8701 28.5772C27.4795 28.9677 26.8464 28.9677 26.4558 28.5772L0.292893 2.41423C-0.0976311 2.0237 -0.097631 1.39054 0.292893 1.00002L1 0.292909Z" fill="%233E3A2A"/></svg>') center/contain no-repeat;
  display: block;
  margin: 0 auto;
}
.franchise__copy span strong {
  font-size: 2.4rem;
}
@media (768px <= width) {
  .franchise__copy span strong {
    font-size: 4.8rem;
  }
}
.franchise__explanation {
  margin-top: 3rem;
  aspect-ratio: 295/560;
  background: url(../images/concept/franchise_bg_sp.webp) center/contain no-repeat;
  display: grid;
  gap: 1rem;
  padding: 2rem 5rem 3rem;
}
@media (768px <= width) {
  .franchise__explanation {
    max-width: 115rem;
    margin-left: auto;
    margin-right: auto;
    aspect-ratio: 1150/620;
    background-image: url(../images/concept/franchise_bg.webp);
    background-image: -webkit-image-set(url(../images/concept/franchise_bg.webp) 1x, url(../images/concept/franchise_bg@2x.webp) 2x);
    background-image: image-set(url(../images/concept/franchise_bg.webp) 1x, url(../images/concept/franchise_bg@2x.webp) 2x);
    grid-template-columns: repeat(2, 1fr);
    gap: 0 max(17.3913043478%, 17rem);
    padding-left: min(11.3043478261%, 13rem);
    padding-right: min(11.3043478261%, 13rem);
  }
}
.franchise__explanation-wrap {
  align-self: center;
}
.franchise__explanation .explanation__list {
  margin-top: 1rem;
  display: grid;
  gap: 0.5rem 0;
}
@media (768px <= width) {
  .franchise__explanation .explanation__list {
    margin-top: 3rem;
    gap: 1rem 0;
  }
}
.franchise__explanation .explanation__item {
  background: #fff 0 0/auto 100% no-repeat;
  text-align: center;
  height: 2.8rem;
  display: grid;
  align-items: center;
  font-size: 1.1rem;
  font-weight: 700;
  border-radius: 0.3rem;
  padding: 0 2.5rem;
}
@media (768px <= width) {
  .franchise__explanation .explanation__item {
    height: 5rem;
    font-size: 1.8rem;
    padding: 0 4rem;
    border-radius: 1rem;
  }
}
.franchise__explanation .explanation--universalme .explanation__logo {
  margin: 0 2.5rem;
}
.franchise__explanation .explanation--universalme .explanation__item {
  background-image: url('data:image/svg+xml;charset=utf8, <svg width="195" height="28" viewBox="0 0 195 28" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="195" height="28" rx="3" fill="white"/><path d="M15 19C14.0111 19 13.0444 18.7068 12.2222 18.1573C11.3999 17.6079 10.759 16.827 10.3806 15.9134C10.0022 14.9998 9.90315 13.9945 10.0961 13.0245C10.289 12.0546 10.7652 11.1637 11.4645 10.4645C12.1637 9.76521 13.0546 9.289 14.0246 9.09608C14.9945 8.90315 15.9998 9.00217 16.9134 9.3806C17.827 9.75904 18.6079 10.3999 19.1573 11.2222C19.7068 12.0444 20 13.0111 20 14C20 14.8 19.8122 15.5556 19.4778 16.2261C19.2261 16.7322 19.5761 17.415 19.7094 17.9133C19.739 18.0235 19.739 18.1396 19.7095 18.2498C19.6799 18.36 19.6219 18.4605 19.5412 18.5412C19.4605 18.6219 19.36 18.6799 19.2498 18.7095C19.1396 18.739 19.0235 18.739 18.9133 18.7094C18.415 18.5761 17.7322 18.2261 17.2261 18.4783C16.5343 18.8218 15.7724 19.0004 15 19Z" stroke="%233E3A2A" stroke-linecap="round" stroke-linejoin="round"/><path d="M13.6113 14.1795L14.3774 15.0545C14.394 15.073 14.4144 15.0877 14.4373 15.0973C14.4602 15.1069 14.485 15.1113 14.5098 15.1102C14.5346 15.109 14.5589 15.1023 14.5808 15.0905C14.6026 15.0788 14.6216 15.0623 14.6363 15.0422L16.1919 12.8889" stroke="%23E6001B" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}
.franchise__explanation .explanation--tophome .explanation__logo {
  margin: 0 2.9rem;
}
.franchise__explanation .explanation--tophome .explanation__item {
  background-image: url('data:image/svg+xml;charset=utf8, <svg width="195" height="28" viewBox="0 0 195 28" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="195" height="28" rx="3" fill="white"/><path d="M15 19C14.0111 19 13.0444 18.7068 12.2222 18.1573C11.3999 17.6079 10.759 16.827 10.3806 15.9134C10.0022 14.9998 9.90315 13.9945 10.0961 13.0245C10.289 12.0546 10.7652 11.1637 11.4645 10.4645C12.1637 9.76521 13.0546 9.289 14.0246 9.09608C14.9945 8.90315 15.9998 9.00217 16.9134 9.3806C17.827 9.75904 18.6079 10.3999 19.1573 11.2222C19.7068 12.0444 20 13.0111 20 14C20 14.8 19.8122 15.5556 19.4778 16.2261C19.2261 16.7322 19.5761 17.415 19.7094 17.9133C19.739 18.0235 19.739 18.1396 19.7095 18.2498C19.6799 18.36 19.6219 18.4605 19.5412 18.5412C19.4605 18.6219 19.36 18.6799 19.2498 18.7095C19.1396 18.739 19.0235 18.739 18.9133 18.7094C18.415 18.5761 17.7322 18.2261 17.2261 18.4783C16.5343 18.8218 15.7724 19.0004 15 19Z" stroke="%233E3A2A" stroke-linecap="round" stroke-linejoin="round"/><path d="M13.6113 14.1795L14.3774 15.0545C14.394 15.073 14.4144 15.0877 14.4373 15.0973C14.4602 15.1069 14.485 15.1113 14.5098 15.1102C14.5346 15.109 14.5589 15.1023 14.5808 15.0905C14.6026 15.0788 14.6216 15.0623 14.6363 15.0422L16.1919 12.8889" stroke="%2300AE83" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

.merit {
  margin-top: 8rem;
  padding: 8rem 2rem;
  background: var(--color-bg);
}
@media (768px <= width) {
  .merit {
    margin-top: 16rem;
    padding: 16rem max(50% - 80rem, 6rem);
  }
}
.merit__content {
  margin-top: 3.5rem;
  display: grid;
  gap: 2rem;
}
@media (768px <= width) {
  .merit__content {
    margin-top: 10rem;
    grid-template-columns: repeat(2, 1fr);
    gap: 4rem;
  }
}
.merit__item {
  background-color: #f4f1e9;
  border-radius: 12rem 2rem 2rem;
  padding: 2rem 2rem 4rem;
  position: relative;
}
@media (768px <= width) {
  .merit__item {
    border-radius: 16rem 3rem 3rem;
    padding: 3rem 3rem 6rem;
  }
}
.merit__label {
  border-radius: 100rem;
  background-color: var(--color-green);
  color: #fff;
  aspect-ratio: 1;
  width: 7rem;
  display: grid;
  place-content: center;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
}
@media (768px <= width) {
  .merit__label {
    width: 10rem;
  }
}
.merit__label .lbl {
  font-size: 1rem;
}
@media (768px <= width) {
  .merit__label .lbl {
    font-size: 1.4rem;
  }
}
.merit__label .num {
  font-size: 2.6rem;
}
@media (768px <= width) {
  .merit__label .num {
    font-size: 3.6rem;
  }
}
.merit__img-wrap {
  border-radius: 10rem 1rem 1rem;
  overflow: hidden;
}
@media (768px <= width) {
  .merit__img-wrap {
    border-radius: 14rem 2rem 2rem;
  }
}
.merit__textbox {
  margin-top: 3rem;
}
@media (768px <= width) {
  .merit__textbox {
    margin-top: 5rem;
  }
}
.merit__title {
  font-size: 2rem;
  font-weight: 700;
}
@media (768px <= width) {
  .merit__title {
    font-size: 2.6rem;
  }
}
.merit__text {
  margin-top: 2rem;
  line-height: 200%;
}
@media (768px <= width) {
  .merit__text {
    margin-top: 3rem;
  }
}

.technology {
  padding: 8rem 2rem;
}
@media (768px <= width) {
  .technology {
    padding: 16rem max(50% - 80rem, 6rem);
  }
}
.technology__content {
  margin-top: 2rem;
}
.technology__item {
  border-bottom: 1px solid var(--color-gray);
  padding: 5rem 0;
}
@media (768px <= width) {
  .technology__item {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
    padding: 8rem 0;
  }
}
.technology__img-wrap {
  border-radius: 1rem;
  overflow: hidden;
}
@media (768px <= width) {
  .technology__img-wrap {
    padding-right: 15%;
    border-radius: 0;
  }
  .technology__img-wrap img {
    border-radius: 2rem;
  }
}
.technology__textbox {
  margin-top: 3rem;
}
@media (768px <= width) {
  .technology__textbox {
    margin-top: 0;
  }
}
.technology__title {
  font-size: 2rem;
  font-weight: 700;
}
@media (768px <= width) {
  .technology__title {
    font-size: 2.6rem;
  }
}
.technology__text {
  margin-top: 2rem;
  line-height: 200%;
}
@media (768px <= width) {
  .technology__text {
    margin-top: 4rem;
  }
}
.technology__btn {
  margin-top: 3rem;
}
@media (768px <= width) {
  .technology__btn {
    margin-top: 5rem;
    width: 32rem;
  }
}

.afterservice {
  padding: 8rem 0;
  position: relative;
}
@media (768px <= width) {
  .afterservice {
    padding: 16rem 0;
  }
}
.afterservice::before {
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 12rem 0 0 2rem;
  background: var(--color-bg);
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
@media (768px <= width) {
  .afterservice::before {
    width: max(50% + 60rem, 6rem);
    left: auto;
    right: 0;
  }
}
.afterservice__headline {
  margin: 0 2rem;
}
@media (768px <= width) {
  .afterservice__headline {
    margin-left: max(50% - 80rem, 6rem);
    margin-right: max(50% - 80rem, 6rem);
  }
}
.afterservice__content {
  padding-top: 4rem;
}
@media (768px <= width) {
  .afterservice__content {
    margin-top: 10rem;
    padding-top: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
.afterservice__img-wrap {
  margin-right: 2rem;
  border-radius: 0 1rem 12rem 0;
  overflow: hidden;
}
@media (768px <= width) {
  .afterservice__img-wrap {
    margin: 0;
    border-radius: 0 2rem 16rem 0;
  }
}
.afterservice__textbox {
  padding: 4rem 2rem 0;
}
@media (768px <= width) {
  .afterservice__textbox {
    padding: 0;
  }
}
.afterservice__title {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 160%;
}
.afterservice__title span {
  font-size: 4.8rem;
  margin-right: 0.4rem;
}
@media (768px <= width) {
  .afterservice__title {
    padding-left: max(20%, 6rem);
    padding-right: max(20%, 6rem);
  }
}
.afterservice__text {
  margin-top: 2rem;
  line-height: 200%;
}
@media (768px <= width) {
  .afterservice__text {
    padding-left: max(20%, 6rem);
    padding-right: max(20%, 6rem);
  }
}
.afterservice__imgs-wrap {
  margin-top: 4rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 0.4rem;
}
.afterservice__imgs-wrap img {
  border-radius: 0.5rem;
}
@media (768px <= width) {
  .afterservice__imgs-wrap {
    padding-left: max(20%, 6rem);
  }
}

.certifiedprofessionals {
  padding: 8rem 2rem 0;
}
@media (768px <= width) {
  .certifiedprofessionals {
    padding: 16rem max(50% - 80rem, 6rem) 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
.certifiedprofessionals__disc {
  margin-top: 3.5rem;
}
@media (768px <= width) {
  .certifiedprofessionals__disc {
    margin-top: 10rem;
  }
}
.certifiedprofessionals__disc p:not([class]) {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 166%;
}
@media (768px <= width) {
  .certifiedprofessionals__disc p:not([class]) {
    font-size: 3.2rem;
  }
}
.certifiedprofessionals__disc p.remarks {
  margin-top: 1rem;
  font-size: 1.4rem;
}
@media (768px <= width) {
  .certifiedprofessionals__disc p.remarks {
    margin-top: 2rem;
    font-size: 1.6rem;
  }
}
.certifiedprofessionals__content {
  margin-top: 3rem;
}
@media (768px <= width) {
  .certifiedprofessionals__content {
    margin-top: 0;
  }
}
.certifiedprofessionals__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2rem 0;
  border-bottom: 1px solid var(--color-gray);
}
@media (768px <= width) {
  .certifiedprofessionals__item {
    padding: 4rem 0;
  }
}
.certifiedprofessionals__item .name {
  font-weight: 700;
}
@media (768px <= width) {
  .certifiedprofessionals__item .name {
    font-size: 2rem;
  }
}
.certifiedprofessionals__item .num {
  font-weight: 700;
}
.certifiedprofessionals__item .num .bold {
  font-size: 2.6rem;
}
@media (768px <= width) {
  .certifiedprofessionals__item .num {
    font-size: 2rem;
  }
  .certifiedprofessionals__item .num .bold {
    font-size: 3.2rem;
    margin-right: 1rem;
  }
}