#purchase-2025 {
  background-color: #1c5998;
  padding: 7rem 0;
  margin-bottom: 7rem;
}
#purchase-2025 > * {
  margin-left: auto;
  margin-right: auto;
}
#purchase-2025 > * + * {
  margin-top: 5rem;
}

.prch__ttl-1 {
  font-size: 3rem;
  color: #ffea00;
  font-weight: 700;
  text-align: center;
}
.prch__ttl-1 .__lg {
  color: #ffea00;
  font-size: 200%;
}
.prch__ttl-2 {
  font-size: 2rem;
  color: #ffffff;
  text-align: center;
  font-weight: 700;
}
.prch__desc {
  font-size: 1.6rem;
  color: #ffffff;
}
.prch__desc span {
  color: inherit;
  font-size: inherit;
}
.prch__c {
  text-align: center;
}
.prch__line-btn {
  width: min(90%, 225px);
  border: 2px solid #ffffff !important;
}
.prch__line-btn:hover, .prch__line-btn:active, .prch__line-btn:focus {
  border: 2px solid #06c755 !important;
}
.prch__area-1--ttl {
  font-size: 2rem;
  padding: 0.8rem;
  background-color: #333333;
  color: #ffffff;
  text-align: center;
}
.prch__area-1--ttl .__ye {
  font-size: 100%;
  color: #ffea00;
}
.prch__area-1--ul {
  list-style: none;
  margin: 0;
  padding: 1.6rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto;
  background-color: #ffffff;
  gap: 0.8rem;
}
.prch__area-1--ul li {
  font-size: 1.6rem;
  font-weight: 700;
  color: #4b7bad;
  text-align: center;
  padding: 0.5em 0.75em;
  border: 2px solid #4b7bad;
}
.prch__area-2 {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto;
  gap: 0.8rem;
  padding-left: 0;
}
.prch__area-2 img {
  width: 100%;
  height: auto;
}
.prch__area-2 li {
  background-color: #ffffff;
  padding: 0.8rem;
}
.prch__area-2--ttl {
  display: block;
  font-size: 1.5rem;
  padding: 0.8rem 0 0;
  text-align: center;
}
.prch__area-2--price {
  display: block;
  font-size: 2rem;
  color: #d31818;
  font-weight: 900;
  text-align: center;
}
.prch__w-inn {
  background-color: #ffffff;
  padding: 2.4rem 4vw;
}

.prch-sec__f {
  margin-top: 5rem;
  text-align: center;
}
.prch-sec__f > * + * {
  margin-top: 1.6rem;
}

[class^=prch-sec-] > * + *:not(.prch-sec__f),
[class*=" prch-sec-"] > * + *:not(.prch-sec__f) {
  margin-top: 1.6rem;
}

.prch__area-3 {
  padding-left: 0;
}
.prch__area-3 > li {
  list-style-type: none;
  position: relative;
  padding-left: calc(60px + min(4vw, 1.6rem));
}
.prch__area-3 > li:not(:last-child) {
  padding-bottom: 3.5rem;
}
.prch__area-3 .prch__area-3__squ {
  font-size: 1.5rem;
  font-weight: 500;
  position: absolute;
  left: 0;
  z-index: 2;
  color: #fff;
  width: 60px;
  height: 60px;
  text-align: center;
}
.prch__area-3 .prch__area-3__squ::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  width: 60px;
  height: 60px;
  display: inline-block;
  background: #333333;
}
.prch__area-3 .prch__area-3__squ--txt {
  color: #ffffff;
  position: absolute;
  left: 30px;
  top: 30px;
  transform: translate(-49%, -50%);
  width: 100%;
}
.prch__area-3 .prch__area-3__squ .__lg {
  color: #ffffff;
  font-size: 200%;
  line-height: 1;
}
.prch__area-3 > li:not(:last-child)::before {
  content: "";
  background: #333333;
  width: 4px;
  height: 100%;
  position: absolute;
  top: calc(50% + 30px);
  left: 30px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.prch__area-3__dt-f {
  font-weight: 700;
  font-size: 2rem;
  color: #333333;
  line-height: 1.25;
}
.prch__area-3__dt-f .prch__area-3__circle--txt {
  line-height: 1;
}
.prch__area-3__dt-f.prch__area-3__dt-f--c {
  display: flex;
  align-items: center;
}
.prch__area-3__dd > * + * {
  margin-top: 1.6rem;
}
.prch__area-3__dd p {
  font-size: 1.6rem;
}
.prch__area-3__dt {
  font-weight: 400;
  font-size: 3rem;
  color: #4b7bad;
  line-height: 1.25;
  margin-top: 1.6rem;
}
.prch__area-3 > li dd {
  margin-top: 1.6rem;
  margin-left: 0;
}
@media screen and (max-width: 640px) {
  #purchase-2025 {
    margin: 0 calc(50% - 50vw) 5rem;
    padding: 5rem calc(50vw - 50%) 5rem;
    width: 100vw;
  }
}
@media screen and (min-width: 640px) {
  #purchase-2025 > * {
    max-width: 90%;
  }
  #purchase-2025 > * > p {
    color: #ffffff;
  }
  #purchase-2025 > * + * {
    margin-top: 7rem;
  }
  .prch__ttl-1 {
    font-size: 4.5rem;
  }
  .prch__ttl-2 {
    font-size: 3rem;
  }
  .prch__area-1--ttl {
    font-size: 3rem;
  }
  .prch__area-1--ul {
    gap: 1.6rem;
    padding: 2.4rem;
  }
  .prch__area-1--ul li {
    font-size: 2rem;
  }
  .prch__area-2 {
    gap: 1.6rem;
  }
  .prch__area-2 li {
    padding: 1.6rem;
  }
  .prch__area-2--ttl {
    font-size: 1.6rem;
  }
  .prch__area-2--price {
    font-size: 2rem;
  }
  .prch__w-inn {
    padding: 3.5rem;
  }
  .prch-sec__f > * + * {
    margin-top: 2.4rem;
  }
  [class^=prch-sec-] > * + *:not(.prch-sec__f),
  [class*=" prch-sec-"] > * + *:not(.prch-sec__f) {
    margin-top: 2.4rem;
  }
  .prch__area-3 > li {
    padding-left: calc(90px + min(4vw, 1.6rem));
  }
  .prch__area-3 .prch__area-3__squ {
    font-size: 2rem;
    width: 90px;
    height: 90px;
  }
  .prch__area-3 .prch__area-3__squ::after {
    width: 90px;
    height: 90px;
  }
  .prch__area-3 .prch__area-3__squ--txt {
    left: 45px;
    top: 45px;
  }
  .prch__area-3 > li:not(:last-child)::before {
    left: 45px;
  }
  .prch__area-3__dt-f {
    font-size: 3rem;
  }
  .prch__area-3__dd-f {
    display: flex;
    justify-content: center;
    margin-right: calc(90px + min(4vw, 1.6rem));
  }
}
@media screen and (min-width: 640px) and (min-width: 769px) {
  #purchase-2025 > * {
    max-width: 80%;
  }
}
@media screen and (min-width: 769px) {
  .prch__area-3 > li:not(:last-child) {
    padding-bottom: 5rem;
  }
}