.p-svcIntro {
  padding-block-start: clamp(2.875rem, 2.5rem + 1.88vw, 4.375rem);
  position: relative;
}
.p-svcIntro__fig {
  position: relative;
  z-index: 0;
  margin-block-start: clamp(1.75rem, 1.55rem + 1.02vw, 2.5625rem);
  margin-inline-start: calc(50% - 50vw);
}
.p-svcIntro__fig::after {
  content: "";
  position: absolute;
  inset-block-start: 50%;
  inset-inline: 0;
  width: 100vw;
  height: max(49.5rem, 50vw);
  background: linear-gradient(135deg, var(--cl-color01) 0%, var(--cl-color02) 100%);
  z-index: -1;
}
.p-svcIntro__body {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  align-items: start;
  margin-inline: calc(50% - 50vw);
  padding-inline: calc(50vw - 50%) calc(50vw - 50%);
  padding-block: clamp(3rem, 2.5rem + 2.5vw, 5rem);
  row-gap: clamp(1.625rem, 1.41rem + 1.09vw, 2.5rem);
}
@media screen and (min-width: 769px) {
  .p-svcIntro__body {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
.p-svcIntro__lead {
  margin-block: 0;
}
.p-svcIntro__lead > span {
  display: block;
  width: fit-content;
  font-size: var(--fs-36);
  letter-spacing: 0;
  line-height: 1.75;
  font-weight: 700;
  color: var(--cl-color01);
  background: var(--cl-white);
  padding-inline: 0.4166666667em 0;
  padding-block: 0.1em;
  margin-block: 0;
}
.p-svcIntro__lead span + span {
  margin-block-start: 0.5em;
}
.p-svcIntro__txt {
  color: var(--cl-white);
  font-size: var(--fs-16);
  letter-spacing: 0;
  line-height: 2.125;
  font-weight: 700;
  margin-block: 0;
}

.p-svcBlk {
  position: relative;
  z-index: 1;
  background: var(--cl-white);
  padding-block-start: clamp(1.5rem, 1.41rem + 0.47vw, 1.875rem);
  padding-block-end: clamp(1.625rem, 1.41rem + 1.09vw, 2.5rem);
  filter: drop-shadow(0px 25px 40px rgba(0, 0, 0, 0.16));
}
.p-svcBlk__head {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
  flex-direction: column;
  gap: 1.25em;
  margin-block-end: clamp(1.5rem, 1.38rem + 0.63vw, 2rem);
}
@media screen and (min-width: 769px) {
  .p-svcBlk__head {
    flex-direction: row;
    justify-content: center;
    align-items: center;
  }
}
.p-svcBlk__num {
  font-size: var(--fs-27);
  letter-spacing: 0;
  line-height: 1.1111111111;
  color: var(--cl-white);
  width: fit-content;
  background: linear-gradient(160deg, var(--cl-color01) 0%, var(--cl-color02) 100%);
  margin-block: 0;
  padding-block: 0.5185185185em;
  padding-inline: 0.8888888889em 1.4814814815em;
  clip-path: polygon(0 0, 100% 0, 88% 100%, 0% 100%);
}
.p-svcBlk__ttl {
  font-size: var(--fs-32);
  letter-spacing: 0;
  line-height: 1.3125;
  color: var(--cl-color02);
  font-weight: 700;
  margin-block: 0;
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .p-svcBlk__ttl {
    text-align: left;
  }
}
.p-svcBlk__body {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.5rem, 1.17rem + 1.64vw, 2.8125rem);
  width: min(68.75rem, 92%);
  margin-inline: auto;
}
@media screen and (min-width: 769px) {
  .p-svcBlk__body {
    grid-template-columns: minmax(0, min(50%, 31.5625rem)) minmax(0, 1fr);
  }
}
.p-svcBlk__lead {
  font-size: var(--fs-25);
  letter-spacing: 0;
  line-height: 1.44;
  color: var(--cl-color02);
  font-weight: 700;
  margin-block: 0 clamp(1.875rem, 1.66rem + 1.09vw, 2.75rem);
}
.p-svcBlk__txt {
  font-size: var(--fs-16);
  letter-spacing: 0;
  line-height: 1.75;
  font-weight: 500;
  margin-block: 0;
}
.p-svcBlk + .p-svcBlk {
  margin-block-start: clamp(2.125rem, 1.88rem + 1.25vw, 3.125rem);
}

.p-flow {
  margin-block-start: clamp(1.75rem, 1.41rem + 1.72vw, 3.125rem);
  width: min(68.75rem, 98%);
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1rem, 0.94rem + 0.31vw, 1.25rem);
}
@media screen and (min-width: 1101px) {
  .p-flow {
    grid-template-columns: repeat(2, 1fr);
  }
}
.p-flow__col {
  border: 2px solid var(--cl-color02);
  padding-block-end: clamp(1.5rem, 1.41rem + 0.47vw, 1.875rem);
}
.p-flow__head {
  background: var(--cl-color02);
  padding-block: 1.40625rem;
}
.p-flow__label {
  font-size: var(--fs-16);
  letter-spacing: 0;
  line-height: 1.875;
  font-weight: 500;
  color: var(--cl-white);
  text-align: center;
  margin-block: 0;
}
.p-flow__ttl {
  font-size: var(--fs-28);
  letter-spacing: 0;
  line-height: 1.5;
  font-weight: 700;
  color: var(--cl-white);
  text-align: center;
  margin-block: 0;
}
.p-flow__body {
  padding-inline: clamp(1rem, 0.78rem + 1.09vw, 1.875rem);
}
.p-flow__txt {
  font-size: var(--fs-16);
  letter-spacing: 0;
  line-height: 1.75;
  font-weight: 700;
  text-align: center;
  margin-block: 1.875em 0;
}
.p-flow__subTtl {
  font-size: var(--fs-22);
  letter-spacing: 0;
  line-height: 1.9090909091;
  font-weight: 700;
  color: var(--cl-color02);
  text-align: center;
  background: #dbe9ff;
  margin-block: 1.8181818182em 0;
  padding-block: 0.4545454545em;
}
.p-flow__list {
  list-style: none;
  margin-block: 1.6875em 0;
  padding-inline-start: 0;
}
.p-flow__item {
  position: relative;
  display: grid;
  grid-template-columns: clamp(2rem, 3.64vw, 2.5rem) clamp(1.375rem, 2.72vw, 1.875rem) minmax(0, 1fr);
  grid-template-areas: "num ico ttl" ". . body";
  column-gap: 0.8125rem;
  row-gap: 0.4375rem;
  align-items: start;
  padding-block-end: 2.125em;
}
.p-flow__item::before {
  content: "";
  background: var(--cl-color01);
  top: 0;
  left: 15px;
  width: 2px;
  height: 100%;
  position: absolute;
  z-index: -1;
}
@media screen and (min-width: 769px) {
  .p-flow__item::before {
    left: 20px;
  }
}
.p-flow__item:last-child {
  padding-block-end: 0;
}
.p-flow__item:last-child::before {
  display: none;
}
.p-flow__num {
  font-size: var(--fs-16);
  letter-spacing: 0;
  line-height: 1.3125;
  color: var(--cl-white);
  border-radius: 50%;
  aspect-ratio: 1/1;
  background: var(--cl-color01);
  width: min(2.5rem, calc(32 / 375 * 100vw));
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  margin-block: 0;
  grid-area: num;
  align-self: center;
}
.p-flow__itemBody {
  grid-area: body;
  width: 100%;
}
.p-flow__itemTtl {
  grid-area: ttl;
  font-size: var(--fs-22);
  letter-spacing: 0;
  line-height: 1.9090909091;
  font-weight: 700;
  color: var(--cl-color01);
  margin-block: 0;
  align-self: center;
}
.p-flow__itemIco {
  grid-area: ico;
  align-self: center;
  justify-self: center;
  display: block;
  max-width: 100%;
}
.p-flow__itemTxt {
  font-size: var(--fs-16);
  letter-spacing: -0.01em;
  line-height: 1.625;
  font-weight: 700;
  margin-block: 0;
}
.p-flow__itemNote {
  font-size: var(--fs-14);
  letter-spacing: 0;
  line-height: 1.8571428571;
  font-weight: 500;
  margin-block: 1.1428571429em 0;
}
.p-flow__contact {
  background: var(--cl-white);
  border-radius: 0.625rem;
  filter: drop-shadow(0px 10px 15px rgba(0, 0, 0, 0.06));
  padding-block: 1rem 1.375rem;
  padding-inline: 0.75rem;
  margin-block-start: 1rem;
}
.p-flow__contactTel {
  font-size: var(--fs-43);
  letter-spacing: 0.05em;
  color: var(--cl-color02);
  line-height: 1;
  font-weight: 700;
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0.1851851852em;
  font-family: Helvetica, Arial, sans-serif;
}
.p-flow__contactTel img {
  width: min(2.375rem, calc(17 / 375 * 100vw));
  aspect-ratio: 1/1;
}
.p-flow__contactBtns {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.625rem;
  margin-block-start: 0.75em;
}
@media screen and (min-width: 769px) {
  .p-flow__contactBtns {
    grid-template-columns: 1fr;
  }
}
.p-flow__contactBtn {
  font-size: var(--fs-14);
  letter-spacing: 0.05em;
  color: var(--cl-white);
  font-weight: 700;
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  gap: 2px;
  padding-inline: 0;
  padding-block: 0.9285714286em;
}
.p-flow__contactBtn.--mail {
  background: var(--cl-color01);
}
.p-flow__contactBtn.--line {
  background: #03c755;
}

.yellow {
  display: inline-block;
  background: linear-gradient(transparent 60%, #fde844 30%);
}

.--purchase {
  border: 2px solid var(--cl-color03);
}
.--purchase .p-flow__head {
  background: var(--cl-color03);
}
.--purchase .p-flow__subTtl {
  color: var(--cl-color03);
}

.p-cta {
  margin-block-start: clamp(4.125rem, 3.28rem + 4.22vw, 7.5rem);
  padding-block: clamp(4.125rem, 3.28rem + 4.22vw, 7.5rem);
  background: transparent linear-gradient(97deg, var(--cl-color01) 0%, var(--cl-color02) 100%) 0% 0% no-repeat padding-box;
}
.p-cta .c-ttl {
  color: var(--cl-white);
  margin-block: 0 clamp(1.625rem, 1.41rem + 1.09vw, 2.5rem);
}
.p-cta .c-ttl .c-ttl__en {
  font-size: var(--fs-70);
}
.p-cta .c-ttl .c-ttl__en::first-letter {
  color: var(--cl-white);
}
.p-cta .c-ttl__ja::before {
  background: var(--cl-white);
}
.p-cta__txt {
  font-size: var(--fs-18);
  letter-spacing: 0;
  line-height: 1.8333333333;
  font-weight: 700;
  color: var(--cl-white);
  margin-block: 0;
}
.p-cta__body {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  flex-direction: column;
  gap: clamp(1.625rem, 1.41rem + 1.09vw, 2.5rem);
}
@media screen and (min-width: 769px) {
  .p-cta__body {
    flex-direction: row;
  }
}
