header nav ul li.services {
  border-bottom: 2px solid #fff;
}

.titleArea {
  background-image: url(../images/mainimg.jpg);
}

.aboutArea {
  margin: 80px max(5vw, 20px) 30px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  flex-direction: row-reverse;
  align-items: center;
}
@media screen and (max-width: 960px) {
  .aboutArea {
    margin: 40px max(5vw, 20px);
    align-items: flex-start;
  }
}
.aboutArea .text {
  width: 50%;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 668px) and (orientation: portrait) {
  .aboutArea .text {
    width: 100%;
    margin-bottom: 20px;
  }
}
.aboutArea .text .inner h3 {
  font-size: 5rem;
}
@media screen and (max-width: 1200px) {
  .aboutArea .text .inner h3 {
    font-size: clamp(23px, 4.1666666667vw, 100px);
  }
}
.aboutArea .text .inner h3 {
  font-weight: 600;
  margin-bottom: 50px;
}
@media screen and (max-width: 960px) {
  .aboutArea .text .inner h3 {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 668px) and (orientation: portrait) {
  .aboutArea .text .inner h3 {
    text-align: center;
  }
}
.aboutArea .text .inner p {
  line-height: 220%;
}
@media screen and (max-width: 1367px) {
  .aboutArea .text .inner p br.pcL {
    display: none;
  }
}
.aboutArea .graph {
  width: calc(50% - 50px);
}
@media screen and (max-width: 960px) {
  .aboutArea .graph {
    width: calc(50% - 25px);
  }
}
@media screen and (max-width: 668px) and (orientation: portrait) {
  .aboutArea .graph {
    width: 100%;
  }
}

.serviceArea > section {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 100px;
}
@media screen and (max-width: 960px) {
  .serviceArea > section {
    margin-bottom: 40px;
  }
}
.serviceArea > section .text {
  width: 50%;
  max-width: 800px;
  margin: 0 auto;
  padding: 0 clamp(20px, 5vw, 100px);
}
@media screen and (max-width: 668px) and (orientation: portrait) {
  .serviceArea > section .text {
    width: 100%;
    margin-bottom: 25px;
  }
}
.serviceArea > section .text .num {
  width: 2em;
  text-align: center;
  font-family: "Afacad", sans-serif;
  line-height: 100%;
  font-size: 7.8rem;
}
@media screen and (max-width: 1200px) {
  .serviceArea > section .text .num {
    font-size: clamp(35px, 6.5vw, 100px);
  }
}
.serviceArea > section .text .num::after {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 15.38%;
  margin: 15px 0 10px;
  background: url(../../common/images/icon_down.svg) no-repeat center/contain;
}
.serviceArea > section .text h4 {
  margin-bottom: 50px;
  font-size: 6rem;
}
@media screen and (max-width: 1200px) {
  .serviceArea > section .text h4 {
    font-size: clamp(23px, 5vw, 100px);
  }
}
.serviceArea > section .text h4 {
  font-weight: 600;
  line-height: 120%;
  display: inline-block;
}
@media screen and (max-width: 960px) {
  .serviceArea > section .text h4 {
    margin-bottom: 20px;
  }
}
.serviceArea > section .text h4.size_S {
  min-width: max(2.6em, 70px);
  text-align: center;
}
.serviceArea > section .text .comment {
  line-height: 200%;
}
@media screen and (max-width: 960px) {
  .serviceArea > section .text .comment {
    line-height: 180%;
  }
}
.serviceArea > section .photo {
  width: 50%;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
@media screen and (max-width: 668px) and (orientation: portrait) {
  .serviceArea > section .photo {
    width: 100%;
    margin-left: max(5vw, 20px);
  }
}
.serviceArea > section .photo .photoS {
  width: 31%;
}
@media screen and (max-width: 1200px) {
  .serviceArea > section .photo .photoS {
    width: 40%;
  }
}
.serviceArea > section .photo .photoM {
  width: 60%;
  margin-bottom: 50px;
}
@media screen and (max-width: 1200px) {
  .serviceArea > section .photo .photoM {
    width: calc(60% - 30px);
  }
}
@media screen and (max-width: 668px) {
  .serviceArea > section .photo .photoM {
    width: calc(60% - 20px);
  }
}
@media screen and (max-width: 668px) and (orientation: portrait) {
  .serviceArea > section .photo .photoM {
    margin-bottom: 30px;
  }
}
.serviceArea > section.wBg .text .num::after {
  filter: brightness(0);
}
.serviceArea > section.bBg {
  background-color: #2A4576;
  color: #fff;
  flex-direction: row-reverse;
  align-items: flex-start;
  padding: 100px 0;
  margin-top: -1px;
}
@media screen and (max-width: 960px) {
  .serviceArea > section.bBg {
    padding: 40px 0;
  }
}
.serviceArea > section.bBg .text {
  margin-top: -100px;
}
@media screen and (max-width: 1200px) {
  .serviceArea > section.bBg .text {
    margin-top: -40px;
  }
}
@media screen and (max-width: 668px) and (orientation: portrait) {
  .serviceArea > section.bBg .text {
    margin-top: 0;
  }
}
.serviceArea > section.gBg {
  background-color: #333;
  color: #fff;
  flex-direction: row-reverse;
  align-items: flex-start;
  padding: 100px 0;
  margin-top: -1px;
  margin-bottom: 0;
}
@media screen and (max-width: 960px) {
  .serviceArea > section.gBg {
    margin-bottom: 0;
    padding: 40px 0;
  }
}
.serviceArea > section.gBg .text {
  margin-top: -100px;
}
@media screen and (max-width: 1200px) {
  .serviceArea > section.gBg .text {
    margin-top: -40px;
  }
}
@media screen and (max-width: 668px) and (orientation: portrait) {
  .serviceArea > section.gBg .text {
    margin-top: 0;
  }
}
.serviceArea .blue,
.serviceArea .gray {
  width: calc(100% - 850px);
  min-width: 680px;
  margin-left: auto;
}
@media screen and (max-width: 1200px) {
  .serviceArea .blue,
  .serviceArea .gray {
    min-width: 70%;
  }
}
.serviceArea .blue span,
.serviceArea .gray span {
  display: block;
  clip-path: polygon(220px 0, 100% 0, 100% 100%, 0 100%);
  margin-top: -25px;
  width: 100%;
  height: 0;
  padding-top: 20%;
}
@media screen and (max-width: 1200px) {
  .serviceArea .blue span,
  .serviceArea .gray span {
    clip-path: polygon(150px 0, 100% 0, 100% 100%, 0 100%);
    padding-top: 12%;
  }
}
@media screen and (max-width: 668px) {
  .serviceArea .blue span,
  .serviceArea .gray span {
    margin-top: -18px;
  }
}
.serviceArea .blue span {
  background-color: #2A4576;
}
.serviceArea .gray span {
  background-color: #333;
}
.serviceArea .memo {
  text-align: center;
  margin-bottom: 100px;
}