.p-works-content01 {
  padding-top: calc(100vw / 375 * 60);
  position: relative;
}

.p-works-content01::before {
  content: "";
  display: block;
  width: calc(100vw / 375 * 300);
  height: calc(100vw / 375 * 215);
  background-image: url("../img/works/bgImg.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  right: 0;
}

.p-works-content01__inner {
  padding: 0 calc(100vw / 375 * 20);
  position: relative;
  z-index: 10;
}

.p-works-content01__inner__container01__heading {
  font-weight: 400;
  font-size: calc(100vw / 375 * 22);
  line-height: 1.67;
  letter-spacing: 0.04em;
}

.p-works-content01__inner__container01__text {
  margin-top: calc(100vw / 375 * 20);
  line-height: 2.5;
  text-align: justify;
}

.p-works-content01__inner__container02 {
  margin-top: calc(100vw / 375 * 40);
}

.p-works-content01__inner__container02__item + .p-works-content01__inner__container02__item {
  margin-top: calc(100vw / 375 * 40);
}

.p-works-content01__inner__container02__item__heading {
  font-weight: 400;
  font-size: calc(100vw / 375 * 20);
  line-height: 1.6;
  letter-spacing: 0.04em;
}

.p-works-content01__inner__container02__item__text {
  margin-top: calc(100vw / 375 * 20);
  line-height: 2.5;
  text-align: justify;
}

@media print, (min-width: 768px) {
  .p-works-content01 {
    padding-top: calc(100vw / 1600 * 166);
  }
  .p-works-content01::before {
    width: calc(100vw / 1600 * 800);
    height: calc(100vw / 1600 * 571);
  }
  .p-works-content01__inner {
    padding: 0;
    width: calc(100vw / 1600 * 1160);
    margin: 0 auto;
  }
  .p-works-content01__inner__container01__heading {
    font-size: calc(100vw / 1600 * 30);
  }
  .p-works-content01__inner__container01__text {
    margin-top: calc(100vw / 1600 * 53);
  }
  .p-works-content01__inner__container02 {
    margin-top: calc(100vw / 1600 * 172);
    display: flex;
    justify-content: space-between;
  }
  .p-works-content01__inner__container02__item {
    width: calc(100vw / 1600 * 530);
  }
  .p-works-content01__inner__container02__item + .p-works-content01__inner__container02__item {
    margin-top: 0;
  }
  .p-works-content01__inner__container02__item__heading {
    font-size: calc(100vw / 1600 * 25);
  }
  .p-works-content01__inner__container02__item__text {
    margin-top: calc(100vw / 1600 * 40);
  }
}

.p-works-content02 {
  margin-top: calc(100vw / 375 * 60);
  padding-bottom: calc(100vw / 375 * 60);
}

.p-works-content02__heading {
  padding: 0 calc(100vw / 375 * 20);
}

.p-works-content02__heading__inner {
  font-weight: 400;
  font-size: calc(100vw / 375 * 22);
  line-height: 1.58;
  padding-bottom: calc(100vw / 375 * 10);
  border-bottom: 1px solid #2F6DA1;
}

.p-works-content02__container {
  margin-top: calc(100vw / 375 * 40);
  padding: calc(100vw / 375 * 40) 0;
  position: relative;
}

.p-works-content02__container::before {
  content: "";
  display: block;
  width: calc(100vw / 375 * 300);
  height: 100%;
  background: #F3F2F8;
  position: absolute;
  top: 0;
  right: 0;
}

.p-works-content02__container__list {
  padding: 0 calc(100vw / 375 * 20);
  position: relative;
  z-index: 10;
}

.p-works-content02__container__list__item + .p-works-content02__container__list__item {
  margin-top: calc(100vw / 375 * 60);
}

.p-works-content02__container__list__item__right {
  margin-top: calc(100vw / 375 * 10);
}

.p-works-content02__container__list__item__right__heading {
  display: flex;
  flex-direction: column;
}

.p-works-content02__container__list__item__right__heading__text01 {
  font-family: 'Abel', sans-serif;
  font-weight: 400;
  font-size: calc(100vw / 375 * 22);
  line-height: 1.275;
  letter-spacing: 0.053em;
  color: #0E6DA6;
}

.p-works-content02__container__list__item__right__heading__text02 {
  font-weight: 500;
  font-size: calc(100vw / 375 * 18);
  line-height: 1.5;
  margin-left: calc(100vw / 375 * -1);
}

.p-works-content02__container__list__item__right__text {
  margin-top: calc(100vw / 375 * 10);
}

.p-works-content02__container__list__item__right__button {
  display: flex;
  justify-content: center;
  margin-top: calc(100vw / 375 * 20);
}

.p-works-content02__container__list__item__right__button__link {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(100vw / 375 * 250);
  height: calc(100vw / 375 * 55);
  background: #0E6DA6;
  position: relative;
}

.p-works-content02__container__list__item__right__button__link::after {
  content: "";
  display: block;
  width: calc(100vw / 375 * 8);
  height: calc(100vw / 375 * 13);
  background-image: url("../img/works/arrowIcon.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  right: calc(100vw / 375 * 30);
  transform: translateY(-50%);
}

.p-works-content02__container__list__item__right__button__link__text {
  color: #ffffff;
}

@media print, (min-width: 768px) {
  .p-works-content02 {
    margin-top: calc(100vw / 1600 * 192);
    padding-bottom: calc(100vw / 1600 * 167);
  }
  .p-works-content02__heading {
    padding: 0;
    width: calc(100vw / 1600 * 1160);
    margin: 0 auto;
  }
  .p-works-content02__heading__inner {
    font-size: calc(100vw / 1600 * 24);
    padding-bottom: calc(100vw / 1600 * 35);
  }
  .p-works-content02__container {
    margin-top: calc(100vw / 1600 * 79);
    padding: calc(100vw / 1600 * 100) 0;
  }
  .p-works-content02__container::before {
    width: calc(100vw / 1600 * 1285);
  }
  .p-works-content02__container__list {
    padding: 0;
    width: calc(100vw / 1600 * 1160);
    margin: 0 auto;
  }
  .p-works-content02__container__list__item {
    display: flex;
    justify-content: space-between;
  }
  .p-works-content02__container__list__item + .p-works-content02__container__list__item {
    margin-top: calc(100vw / 1600 * 50);
  }
  .p-works-content02__container__list__item__left {
    width: calc(100vw / 1600 * 516);
  }
  .p-works-content02__container__list__item__right {
    margin-top: 0;
    width: calc(100vw / 1600 * 564);
  }
  .p-works-content02__container__list__item__right__heading__text01 {
    font-size: calc(100vw / 1600 * 40);
  }
  .p-works-content02__container__list__item__right__heading__text02 {
    font-size: calc(100vw / 1600 * 24);
    margin-left: 0;
    margin-top: calc(100vw / 1600 * 5);
  }
  .p-works-content02__container__list__item__right__text {
    margin-top: calc(100vw / 1600 * 39);
    line-height: 2;
  }
  .p-works-content02__container__list__item__right__button {
    justify-content: flex-start;
    margin-top: calc(100vw / 1600 * 54);
  }
  .p-works-content02__container__list__item__right__button__link {
    width: calc(100vw / 1600 * 250);
    height: calc(100vw / 1600 * 55);
    transition: 0.3s;
  }
  .p-works-content02__container__list__item__right__button__link::after {
    width: calc(100vw / 1600 * 8);
    height: calc(100vw / 1600 * 13);
    right: calc(100vw / 1600 * 30);
  }
  .p-works-content02__container__list__item__right__button__link:hover {
    opacity: 0.7;
  }
}

.p-works-mainVisual {
  height: calc(100vw / 375 * 320);
  padding-top: calc(100vw / 375 * 20);
  background-image: url("../img/works/mainImg.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.p-works-mainVisual__inner {
  padding: 0 calc(100vw / 375 * 20);
}

.p-works-mainVisual__inner__heading {
  display: flex;
  flex-direction: column;
}

.p-works-mainVisual__inner__heading__text01 {
  font-family: 'Abel', sans-serif;
  font-weight: 400;
  font-size: calc(100vw / 375 * 30);
  line-height: 1.34;
  letter-spacing: 0.053em;
  color: #ffffff;
}

.p-works-mainVisual__inner__heading__text02 {
  font-weight: 500;
  font-size: calc(100vw / 375 * 20);
  color: #ffffff;
}

@media print, (min-width: 768px) {
  .p-works-mainVisual {
    height: calc(100vw / 1600 * 672);
    padding-top: calc(100vw / 1600 * 148);
  }
  .p-works-mainVisual__inner {
    padding: 0;
    width: calc(100vw / 1600 * 1160);
    margin: 0 auto;
  }
  .p-works-mainVisual__inner__heading__text01 {
    font-size: calc(100vw / 1600 * 50);
  }
  .p-works-mainVisual__inner__heading__text02 {
    font-size: calc(100vw / 1600 * 30);
    margin-top: calc(100vw / 1600 * 5);
  }
}
