/*====================
mixin
====================*/
main {
  background: #fff;
  width: 1390px;
  max-width: 100%;
  padding-bottom: 40px;
  margin-right: auto;
  margin-left: auto;
  color: #343434;
}

@media (max-width: 767px) {
  main {
    padding-bottom: 10px;
  }
}

@media (max-width: 767px) {
  .kabushiki-joto .service__title-sub--colorSp {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }
}

.sub-difference {
  padding-top: 70px;
  padding-bottom: 110px;
}

@media (max-width: 767px) {
  .sub-difference {
    padding-top: 54px;
    padding-bottom: 88px;
  }
}

.difference__inner {
  width: 1000px;
  max-width: 100%;
  padding-right: 25px;
  padding-left: 25px;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .difference__inner {
    padding-right: 12px;
    padding-left: 12px;
  }
}

.difference__text {
  margin-top: 30px;
}

@media (max-width: 767px) {
  .difference__text {
    margin-top: 18px;
  }
}

.difference__text p {
  color: #343434;
  margin-top: 25px;
  line-height: 1.5;
}

@media (max-width: 767px) {
  .difference__text p {
    font-size: 13px;
  }
}

.difference__text p:not(:first-child) {
  margin-top: 30px;
}

@media (max-width: 767px) {
  .difference__text p:not(:first-child) {
    margin-top: 16px;
  }
}

.difference__image-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 37px;
  margin-top: 37px;
}

@media (max-width: 767px) {
  .difference__image-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 30px;
    margin-top: 20px;
  }
}

.difference__image-title {
  font-size: 14px;
  color: #204678;
}

.difference__image {
  max-width: 455px;
  width: 100%;
  height: auto;
  overflow: hidden;
  margin-top: 8px;
}

.difference__image img {
  -o-object-fit: cover;
  object-fit: cover;
}

.sub-difference-table {
  margin-top: 50px;
}

@media (max-width: 767px) {
  .sub-difference-table {
    margin-top: 30px;
  }
}

.difference-table__inner {
  width: 1000px;
  max-width: 100%;
  padding-right: 25px;
  padding-left: 25px;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .difference-table__inner {
    padding-right: 20px;
    padding-left: 20px;
  }
}

.difference-table__items {
  margin-top: 35px;
}

@media (max-width: 767px) {
  .difference-table__items {
    margin-top: 50px;
    width: 100%;
  }
}

.merit-demerit {
  background-color: #f5f4f0;
}

.sub-merit-demerit {
  padding-top: 30px;
  padding-bottom: 48px;
}

@media (max-width: 767px) {
  .sub-merit-demerit {
    padding-top: 25px;
    padding-bottom: 38px;
  }
}

.merit-demerit__inner {
  width: 1000px;
  max-width: 100%;
  padding-right: 25px;
  padding-left: 25px;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .merit-demerit__inner {
    padding-right: 12px;
    padding-left: 12px;
  }
}

.merit,
.demerit {
  background-color: #fff;
  margin-top: 50px;
  padding-top: 18px;
  padding-right: 25px;
  padding-bottom: 25px;
  padding-left: 25px;
  border-radius: 15px;
}

@media (max-width: 767px) {

  .merit,
  .demerit {
    margin-top: 32px;
    padding-top: 10px;
    padding-right: 16px;
    padding-bottom: 23px;
    padding-left: 16px;
  }
}

.merit__title {
  font-size: 26px;
  color: #e84f4f;
  text-align: center;
  padding-bottom: 10px;
  border-bottom: 2px solid #e2e1de;
}

@media (max-width: 767px) {
  .merit__title {
    font-size: 19px;
    line-height: 1.39;
    padding-bottom: 2px;
  }
}

.merit__text-block,
.demerit__text-block {
  margin-top: 22px;
}

@media (max-width: 767px) {

  .merit__text-block,
  .demerit__text-block {
    margin-top: 18px;
  }
}

.merit__text:not(:first-child),
.demerit__text:not(:first-child) {
  margin-top: 32px;
}

@media (max-width: 767px) {

  .merit__text:not(:first-child),
  .demerit__text:not(:first-child) {
    margin-top: 25px;
  }
}

.merit__sub-title {
  font-size: 22px;
  font-weight: bold;
  color: #e84f4f;
}

@media (max-width: 767px) {
  .merit__sub-title {
    font-size: 17px;
  }
}

.merit__description,
.demerit__description {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.39;
  margin-top: 17px;
}

@media (max-width: 767px) {

  .merit__description,
  .demerit__description {
    font-size: 14px;
    line-height: 1.33;
    margin-top: 13px;
  }
}

@media (max-width: 767px) {

  .merit__description:not(:first-of-type),
  .demerit__description:not(:first-of-type) {
    margin-top: 20px;
  }
}

.demerit {
  margin-top: 30px;
}

@media (max-width: 767px) {
  .demerit {
    margin-top: 28px;
  }
}

.demerit__title {
  font-size: 26px;
  color: #1f73ff;
  text-align: center;
  padding-bottom: 10px;
  border-bottom: 2px solid #e2e1de;
}

@media (max-width: 767px) {
  .demerit__title {
    font-size: 19px;
    line-height: 1.39;
    padding-bottom: 2px;
  }
}

.demerit__sub-title {
  font-size: 22px;
  font-weight: bold;
  color: #1f73ff;
}

@media (max-width: 767px) {
  .demerit__sub-title {
    font-size: 17px;
    line-height: 1.39;
    padding-left: 1.2em;
    text-indent: -1.2em;
  }
}

.flow {
  padding-top: 110px;
  padding-bottom: 35px;
}

@media (max-width: 767px) {
  .flow {
    padding-top: 70px;
    padding-bottom: 0;
  }
}

.flow__blocks {
  margin-top: 56px;
}

.flow__inner {
  width: 1000px;
  max-width: 100%;
  padding-right: 25px;
  padding-left: 25px;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .flow__inner {
    padding-right: 12px;
    padding-left: 12px;
  }
}