.c-page-hdr {
  background-image: url("../img/ttl_bg.png");
}
@media screen and (max-width: 767px) {
  .c-page-hdr {
    background-image: url("../img/ttl_bg_sp.png");
  }
}

.p-tech {
  border-radius: 60px;
  background: #fff;
  margin-bottom: 240px;
  padding: 60px 70px 50px 70px;
}
@media screen and (max-width: 1120px) {
  .p-tech {
    margin-bottom: 21.4285714286vw;
    padding: 5.3571428571vw 6.25vw 4.4642857143vw 6.25vw;
  }
}
@media screen and (max-width: 767px) {
  .p-tech {
    margin-bottom: 24.4897959184vw;
    padding: 6.6666666667vw 4vw;
    border-radius: 8vw;
  }
}
@media screen and (min-width: 768px) {
  .p-tech__list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.p-tech__list > li {
  border-radius: 30px;
  background: #edf4fa;
  margin-top: 1.25em;
  padding: 0.625em;
  text-align: center;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-tech__list > li {
    width: 48.8372093023%;
  }
}
@media screen and (max-width: 767px) {
  .p-tech__list > li {
    padding: 1.3333333333vw;
    margin-top: 4vw;
    border-radius: 4vw;
  }
}
.p-tech__list > li.is-f {
  width: 100%;
}
.p-tech__list > li.is-frow {
  margin-top: 0;
}
.p-tech__list dl {
  padding: 1.625em 0.625em;
  border: 1px solid #fff;
  border-radius: 30px;
}
@media screen and (min-width: 768px) {
  .p-tech__list dl {
    height: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-tech__list dl {
    border-radius: 4vw;
    padding: 3.0666666667vw 4.8vw;
  }
}
.p-tech__list dt {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-tech__list dt {
    margin-bottom: 3.3333333333vw;
    justify-content: flex-start;
  }
}
.p-tech__list dt > * {
  display: inline-block;
  margin: 0 0.4em;
}
@media screen and (min-width: 768px) {
  .p-tech__list dd.is-l {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-tech__list dd {
    font-size: 3.4666666667vw;
    text-align: left;
    line-height: 1.6;
  }
}
@media screen and (max-width: 767px) {
  .p-tech__item1 dl {
    padding-top: 8.6666666667vw;
    padding-bottom: 8.6666666667vw;
  }
}
.p-tech__item1 dt {
  font-size: 2.8rem;
}
@media screen and (min-width: 768px) {
  .p-tech__item1 dt {
    margin-bottom: 0.5357142857em;
  }
}
@media screen and (max-width: 1120px) {
  .p-tech__item1 dt {
    font-size: 2.5vw;
  }
  .p-tech__item1 dt img {
    width: 7.3214285714vw;
  }
}
@media screen and (max-width: 767px) {
  .p-tech__item1 dt {
    font-size: 5.0666666667vw;
  }
  .p-tech__item1 dt img {
    width: 10.9333333333vw;
  }
}
.p-tech__item2 dt {
  font-size: 2.4rem;
}
@media screen and (min-width: 768px) {
  .p-tech__item2 dt {
    margin-bottom: 0.8333333333em;
  }
}
@media screen and (max-width: 1120px) {
  .p-tech__item2 dt {
    font-size: 2.1428571429vw;
  }
  .p-tech__item2 dt img {
    width: 6.25vw;
  }
}
@media screen and (max-width: 767px) {
  .p-tech__item2 dt {
    font-size: 4.2666666667vw;
  }
  .p-tech__item2 dt img {
    width: 10.1333333333vw;
  }
}
.p-tech__item3 dt {
  text-align: left;
  font-size: 2rem;
}
@media screen and (min-width: 768px) {
  .p-tech__item3 dt {
    margin-bottom: 1.25em;
  }
}
@media screen and (max-width: 1120px) {
  .p-tech__item3 dt {
    font-size: 1.7857142857vw;
  }
  .p-tech__item3 dt img {
    width: 7.4107142857vw;
  }
}
@media screen and (max-width: 767px) {
  .p-tech__item3 dt {
    font-size: 4.2666666667vw;
  }
  .p-tech__item3 dt img {
    width: 10.9333333333vw;
  }
}

@media screen and (max-width: 767px) {
  .p-strong {
    padding-top: 14.6666666667vw;
    padding-bottom: 17.3333333333vw;
  }
}
.p-strong__list {
  padding: 30px 0 60px 0;
}
@media screen and (max-width: 1120px) {
  .p-strong__list {
    padding: 2.6785714286vw 0 5.3571428571vw 0;
  }
}
@media screen and (max-width: 767px) {
  .p-strong__list {
    padding: 10.6666666667vw 0 0 0;
  }
}

.p-works {
  padding-top: 75px;
  padding-bottom: 40px;
}
@media screen and (max-width: 1120px) {
  .p-works {
    padding-top: 6.6964285714vw;
    padding-bottom: 3.5714285714vw;
  }
}
@media screen and (max-width: 767px) {
  .p-works {
    padding-top: 14.6666666667vw;
    padding-bottom: 5.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .p-works__list.is-col4 {
    width: 340vw;
  }
}
.p-works__item {
  margin-top: 1.8em;
  border-radius: 40px;
  background: #fff;
  box-shadow: 0px 0px 20px rgba(39, 39, 39, 0.15);
}
@media screen and (min-width: 768px) {
  .p-works__item {
    padding: 2.8125em 2.5em;
  }
}
@media screen and (max-width: 767px) {
  .p-works__item {
    padding: 4vw;
    margin-top: 4vw;
    border-radius: 5.3333333333vw;
  }
}
.p-works__ittl {
  margin-bottom: 0.3em;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.5;
}
@media screen and (max-width: 1120px) {
  .p-works__ittl {
    font-size: 1.7857142857vw;
  }
}
@media screen and (max-width: 767px) {
  .p-works__ittl {
    font-size: 4.2666666667vw;
  }
}
.p-works__iwtable table {
  width: 100%;
}
.p-works__iwtable tr th,
.p-works__iwtable tr td {
  padding: 0.6666666667em 0;
  border-bottom: 1px solid #B0BDD3;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-works__iwtable tr th,
.p-works__iwtable tr td {
    display: block;
    font-size: 3.7333333333vw;
  }
}
.p-works__iwtable tr:last-child th,
.p-works__iwtable tr:last-child td {
  border-bottom: 0;
}
.p-works__iwtable tr th {
  text-align: left;
}
@media screen and (min-width: 768px) {
  .p-works__iwtable tr th {
    width: 15em;
  }
}
@media screen and (max-width: 767px) {
  .p-works__iwtable tr th {
    padding-bottom: 0;
    border-bottom: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-works__iwtable tr td {
    padding-left: 0.3em;
  }
}
@media screen and (max-width: 767px) {
  .p-works__iwtable tr td {
    padding-bottom: 1em;
  }
}
.p-works__wbtn {
  margin-top: 60px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-works__wbtn a {
    min-width: 430px;
  }
}
@media screen and (max-width: 767px) {
  .p-works__wbtn {
    margin-top: 6.6666666667vw;
  }
  .p-works__wbtn a {
    min-width: 76vw;
  }
}

.en .p-tech__list dt > span:last-child {
  max-width: calc(100% - 10vw);
}
@media screen and (max-width: 767px) {
  .en .p-tech__list dt > span:last-child {
    max-width: calc(100% - 25vw);
    text-align: left;
  }
}
@media screen and (max-width: 980px) {
  .en .c-hdr-a__ttl {
    max-width: 66vw;
  }
  .en .c-hdr-a__ttl::after {
    top: 0.6em;
  }
}