@media screen and (min-width: 769px) {
  .project-section {
    padding-bottom: 30px;
  }
}
@media screen and (max-width: 768px) {
  .project-section {
    padding: 30px 0;
  }
}

@media screen and (max-width: 768px) {
  .project-section__list {
    max-width: 550px;
    margin: 0 auto;
  }
}

.project-section__item:nth-child(n+2) {
  margin-top: 30px;
}

.project-section__anchor {
  display: block;
  position: relative;
  -webkit-transition: background-color 0.25s;
  transition: background-color 0.25s;
  background-color: #F5F5F5;
}
.project-section__anchor:before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-mask: url("../img/common/common_bg.svg") repeat-y right 25% top/84%;
          mask: url("../img/common/common_bg.svg") repeat-y right 25% top/84%;
  background-color: #CCC;
}
@media screen and (min-width: 769px) {
  .project-section__anchor {
    min-height: 494px;
    padding: 60px 20px;
  }
  .project-section__anchor:hover {
    color: #fff;
    background-color: #064EA2;
  }
  .project-section__anchor:hover:before {
    background-color: #333;
  }
}
@media screen and (max-width: 768px) {
  .project-section__anchor {
    padding: 30px 20px;
  }
}
@media screen and (min-width: 769px) {
  .project-section__anchor:hover .project-section__numberWrap {
    color: #fff;
  }
  .project-section__anchor:hover .project-section__more {
    color: #fff;
  }
  .project-section__anchor:hover .project-section__more:after {
    background-color: #fff;
  }
}

.project-section__row {
  max-width: 1050px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 769px) {
  .project-section__row {
    padding-left: 48px;
  }
}

.project-section__imageWrap {
  max-width: 620px;
}
@media screen and (min-width: 769px) {
  .project-section__imageWrap {
    width: 59%;
    position: absolute;
    top: 0;
    right: 0;
  }
  .project-section__imageWrap.--reverse {
    right: auto;
    left: 0;
  }
}

.project-section__description {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
@media screen and (min-width: 769px) {
  .project-section__description {
    padding-right: 65%;
  }
  .project-section__description.--reverse {
    padding-right: 0;
    padding-left: 65%;
  }
}
@media screen and (max-width: 768px) {
  .project-section__description {
    margin-top: 15px;
  }
}

.project-section__numberWrap {
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  color: #064EA2;
}
@media screen and (max-width: 768px) {
  .project-section__numberWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: absolute;
    top: -53px;
    left: 0;
  }
}

.project-section__category {
  font-size: 20px;
}

.project-section__number {
  line-height: 1;
}
@media screen and (min-width: 769px) {
  .project-section__number {
    margin-top: 20px;
    font-size: 80px;
  }
}
@media screen and (max-width: 768px) {
  .project-section__number {
    margin-left: 10px;
    font-size: 48px;
  }
}

.project-section__heading {
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .project-section__heading {
    margin-top: 16px;
    font-size: 24px;
  }
}
@media screen and (max-width: 768px) {
  .project-section__heading {
    margin-top: 10px;
    font-size: 20px;
  }
}

.project-section__more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  font-size: 15px;
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
.project-section__more:after {
  content: "";
  width: 30px;
  height: 10px;
  display: inline-block;
  -webkit-mask: url("../img/common/icon-arrow.svg") no-repeat center/contain;
          mask: url("../img/common/icon-arrow.svg") no-repeat center/contain;
  background-color: #333;
}
@media screen and (min-width: 769px) {
  .project-section__more {
    margin-top: 70px;
  }
  .project-section__more:after {
    margin-left: 24px;
  }
}
@media screen and (max-width: 768px) {
  .project-section__more {
    margin-top: 30px;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .project-section__more:after {
    margin-left: 10px;
  }
}