/*--------------------------------------------------------------
  CONTRACTING
--------------------------------------------------------------*/
.p-contracting .l-main {
  overflow: hidden;
}
.p-contracting .introduction {
  position: relative;
  z-index: -1;
}
.p-contracting .introduction .bg-container {
  width: 26.6666666667%;
  position: absolute;
  top: 0;
  right: 0;
}
.p-contracting .introduction .inner {
  width: 92%;
  margin-inline: auto;
  padding-top: min(50px, 3.125rem, 13.3333333333vw);
}
.p-contracting .introduction .lead {
  /* 9/24 */
  /* font-size: min(18px, 1.125rem, 4.8vw); */
  font-size: min(20px, 1.25rem, 5.33vw);
  /* ------------------ 9/24 */
  line-height: 1.4444444444;
}
.p-contracting .introduction .text {
  /* 9/24 */
  /* font-size: min(14px, 0.875rem, 3.7333333333vw); */
  /* line-height: 2; */
  font-size: min(18px, 1.125rem, 4.8vw);
  line-height: calc(38/18);
  /* ------------------ 9/24 */
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-top: min(25px, 1.5625rem, 6.6666666667vw);
}
.p-contracting .introduction .list {
  display: flex;
  flex-direction: column;
  row-gap: min(19px, 1.1875rem, 5.0666666667vw);
  width: min(345px, 21.5625rem, 92vw);
  margin-top: min(30px, 1.875rem, 8vw);
  margin-inline: auto;
}
.p-contracting .introduction .item {
  display: grid;
  place-content: center;
  background-image: linear-gradient(4.347deg, #2ED0FA, #0051CA);
  border-radius: min(40px, 2.5rem, 10.6666666667vw);
  width: 100%;
  height: min(38px, 2.375rem, 10.1333333333vw);
  position: relative;
}
.p-contracting .introduction .item img {
  width: min(29px, 1.8125rem, 7.7333333333vw);
  position: absolute;
  top: 50%;
  left: min(6px, 0.375rem, 1.6vw);
  transform: translateY(-50%);
}
.p-contracting .introduction .item span {
  /* 9/24 */
  /* font-size: min(12px, 0.75rem, 3.2vw); */
  font-size: min(18px, 1.125rem, 4.8vw);
  /* ------------------ 9/24 */
  line-height: 1.4166666667;
  text-align: center;
  color: #fff;
}
.p-contracting .support .inner {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(3, auto);
  width: 92%;
  margin-inline: auto;
  padding-top: min(50px, 3.125rem, 13.3333333333vw);
  padding-bottom: min(45px, 2.8125rem, 12vw);
}
.p-contracting .support .text-container {
  grid-column: 1;
  grid-row: 2;
  margin-top: min(55px, 3.4375rem, 14.6666666667vw);
}
.p-contracting .support .title-container {
  display: flex;
  flex-direction: column;
  padding-left: min(22px, 1.375rem, 5.8666666667vw);
  position: relative;
  z-index: 0;
}
.p-contracting .support .title-container::before {
  content: "";
  display: block;
  background-image: linear-gradient(to top, #00C85B, #00ADAC);
  width: min(5px, 0.3125rem, 1.3333333333vw);
  height: min(52px, 3.25rem, 13.8666666667vw);
  position: absolute;
  top: 0;
  left: 0;
}
.p-contracting .support .lead {
  font-family: sofia-pro, sans-serif;
  font-size: min(11px, 0.6875rem, 2.9333333333vw);
  font-weight: 600;
  line-height: 1.2727272727;
  color: #00c85b;
}
.p-contracting .support .title {
  font-size: min(20px, 1.25rem, 5.3333333333vw);
  line-height: 1.45;
  margin-top: min(5px, 0.3125rem, 1.3333333333vw);
}
.p-contracting .support .text {
  /* 9/24 */
  /* font-size: min(14px, 0.875rem, 3.7333333333vw); */
  /* line-height: 1.8571428571; */
  font-size: min(18px, 1.125rem, 4.8vw);
  line-height: calc(38/18);
  /* ------------------ 9/24 */
  font-weight: 500;
  width: 95.652173913%;
  margin-top: min(16px, 1rem, 4.2666666667vw);
}
.p-contracting .support .text-item {
  /* 9/24 */
  /* font-size: min(14px, 0.875rem, 3.7333333333vw); */
  /* line-height: 1.8571428571; */
  font-size: min(18px, 1.125rem, 4.8vw);
  line-height: calc(38/18);
  /* ------------------ 9/24 */
  font-weight: 500;
  width: 95.652173913%;
}
.p-contracting .support .image-container {
  grid-column: 1;
  grid-row: 1;
}
.p-contracting .support .list-container {
  grid-column: 1;
  grid-row: 3;
  margin-top: min(120px, 7.5rem, 32vw);
}
.p-contracting .support .list {
  display: flex;
  flex-direction: column;
  row-gap: min(30px, 1.875rem, 8vw);
}
.p-contracting .support .item {
  display: flex;
  flex-direction: column;
  row-gap: min(20px, 1.25rem, 5.3333333333vw);
}
.p-contracting .support .head {
  padding-left: min(33.5px, 2.09375rem, 8.9333333333vw);
  position: relative;
}
.p-contracting .support .head img {
  width: min(21px, 1.3125rem, 5.6vw);
  position: absolute;
  top: min(4px, 0.25rem, 1.0666666667vw);
  left: 0;
}
.p-contracting .support .head span {
  /* 9/24 */
  /* font-size: min(18px, 1.125rem, 4.8vw); */
  font-size: min(20px, 1.25rem, 5.33333333333vw);
  /* ------------------ 9/24 */
  line-height: 1.4444444444;
}
.p-contracting .support .box {
  background-color: #f5f5f5;
  padding-block: min(28px, 1.75rem, 7.4666666667vw);
}
.p-contracting .support .box-list {
  width: 91.3043478261%;
  margin-inline: auto;
}
.p-contracting .support .box-item {
  /* 9/24 */
  /* font-size: min(14px, 0.875rem, 3.7333333333vw); */
  /* line-height: 2; */
  font-size: min(18px, 1.125rem, 4.888888vw);
  line-height: calc(32/18);
  /* ------------------ 9/24 */
  font-weight: 500;
  letter-spacing: 0.05em;
}
.p-contracting .c-contact {
  background-color: transparent;
}

@media (768px <= width) {
  .p-contracting {
    width: 100%;
    margin-inline: auto;
  }
  .p-contracting .introduction .bg-container {
    width: min(344px, 21.5rem, 23.8888888889vw);
  }
  .p-contracting .introduction .inner {
    width: min(1200px, 75rem, 83.3333333333vw);
    padding-top: min(80px, 5rem, 5.5555555556vw);
  }
  .p-contracting .introduction .lead {
    font-size: min(34px, 2.125rem, 2.3611111111vw);
    line-height: 1.4411764706;
  }
  .p-contracting .introduction .text {
    font-size: min(18px, 1.125rem, 1.25vw);
    line-height: 1.8888888889;
    letter-spacing: 0.1em;
    width: min(856px, 53.5rem, 59.4444444444vw);
    margin-top: min(29px, 1.8125rem, 2.0138888889vw);
  }
  .p-contracting .introduction .list {
    row-gap: min(30px, 1.875rem, 2.0833333333vw);
    width: min(540px, 33.75rem, 37.5vw);
    margin-top: min(50px, 3.125rem, 3.4722222222vw);
    margin-inline: 0;
    margin-left: min(158px, 9.875rem, 10.9722222222vw);
  }
  .p-contracting .introduction .item {
    border-radius: min(40px, 2.5rem, 2.7777777778vw);
    height: min(60px, 3.75rem, 4.1666666667vw);
  }
  .p-contracting .introduction .item img {
    width: min(45px, 2.8125rem, 3.125vw);
    left: min(10px, 0.625rem, 0.6944444444vw);
  }
  .p-contracting .introduction .item span {
    font-size: min(20px, 1.25rem, 1.3888888889vw);
    line-height: 1.45;
  }
  .p-contracting .introduction .text-bottom {
    margin-top: min(46.5px, 2.90625rem, 3.2291666667vw);
  }
  .p-contracting .support .inner {
    grid-template-columns: repeat(2, auto);
    grid-template-rows: repeat(2, auto);
    grid-column-gap: min(94px, 5.875rem, 6.5277777778vw);
    width: min(1200px, 75rem, 83.3333333333vw);
    padding-top: min(56px, 3.5rem, 3.8888888889vw);
    padding-bottom: min(100px, 6.25rem, 6.9444444444vw);
  }
  .p-contracting .support .text-container {
    grid-column: 1;
    grid-row: 1;
    width: min(546px, 34.125rem, 37.9166666667vw);
    margin-top: min(46px, 2.875rem, 3.1944444444vw);
  }
  .p-contracting .support .title-container {
    padding-left: min(59px, 3.6875rem, 4.0972222222vw);
  }
  .p-contracting .support .title-container::before {
    width: min(10px, 0.625rem, 0.6944444444vw);
    height: min(157px, 9.8125rem, 10.9027777778vw);
  }
  .p-contracting .support .lead {
    font-size: min(17px, 1.0625rem, 1.1805555556vw);
    line-height: 1.2352941176;
    margin-top: min(12px, 0.75rem, 0.8333333333vw);
  }
  .p-contracting .support .title {
    font-size: min(38px, 2.375rem, 2.6388888889vw);
    line-height: 1.4210526316;
    margin-top: min(3px, 0.1875rem, 0.2083333333vw);
  }
  .p-contracting .support .text {
    font-size: min(18px, 1.125rem, 1.25vw);
    line-height: 1.8333333333;
    width: 100%;
    margin-top: min(40px, 2.5rem, 2.7777777778vw);
  }
  .p-contracting .support .text-item {
    font-size: min(18px, 1.125rem, 1.25vw);
    line-height: 1.8333333333;
    width: 100%;
  }
  .p-contracting .support .image-container {
    grid-column: 2;
    grid-row: 1;
    width: min(560px, 35rem, 38.8888888889vw);
  }
  .p-contracting .support .list-container {
    grid-column: 1/-1;
    grid-row: 2;
    margin-top: min(90px, 5.625rem, 6.25vw);
  }
  .p-contracting .support .list {
    display: grid;
    grid-template-columns: repeat(2, 580fr);
    grid-template-rows: repeat(2, auto);
    grid-column-gap: min(38px, 2.375rem, 2.6388888889vw);
    grid-row-gap: min(14px, 0.875rem, 0.9722222222vw);
  }
  .p-contracting .support .item {
    row-gap: min(18px, 1.125rem, 1.25vw);
  }
  .p-contracting .support .head {
    padding-left: min(38px, 2.375rem, 2.6388888889vw);
  }
  .p-contracting .support .head img {
    width: min(25px, 1.5625rem, 1.7361111111vw);
    top: min(7px, 0.4375rem, 0.4861111111vw);
  }
  .p-contracting .support .head span {
    font-size: min(24px, 1.5rem, 1.6666666667vw);
    line-height: 1.4583333333;
  }
  .p-contracting .support .box {
    padding-block: min(28px, 1.75rem, 1.9444444444vw);
  }
  .p-contracting .support .box-list {
    width: 77.9310344828%;
  }
  .p-contracting .support .box-item {
    font-size: min(17px, 1.0625rem, 1.1805555556vw);
    line-height: 1.6470588235;
    letter-spacing: 0.1em;
  }
}
@media (1441px <= width) {
  .p-contracting .introduction .bg-container {
    width: 23.889%;
  }
}
