.u-bl--gray {
  border-bottom: 1px solid var(--color-gray-3);
  padding-bottom: 20px;
  margin-bottom: 20px;
}

.bg-light-pink {
  background-color: var(--color-pink-1);
}

.u-radius-tr--white-pink::before {
  background-color: var(--color-pink-1) !important;
}

.u-radius-bl--white-pink::after {
  background-color: var(--color-pink-1) !important;
}


.u-justify-center {
  justify-content: center;
}

.u-bd--gray {
  border: 1px solid var(--color-gray-3);
}

.row-reverse {
  flex-direction: row-reverse;
}

/* ------------------------------
  CTA - p-box--cta
------------------------------ */
.p-box--cta {
  background: var(--color-primary) url("/assets/images/common/bg-cta-wave.svg") no-repeat right bottom;
  border-radius: 20px;
  padding: 40px;
}

.p-box--cta .c-btn-cta {
  width: 548px;
}

.c-btn-cta.c-btn--line-2 {
  position: relative;
  padding: 40px 48px 12px 48px;
}

.c-btn-cta.c-btn--line-2 span {
  position: absolute;
  font-size: var(--fs-16);
  top: 18px;
}

.c-btn-cta:not(.c-btn--disabled).c-btn--icon-consult::before {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  min-width: 30px;
  min-height: 30px;
  background: url("/assets/images/common/icon-consult.svg") no-repeat center / contain;
  margin-top: 4px;
}

@media (hover: hover) {
  .c-btn-cta:hover:not(.c-btn--disabled).c-btn--icon-consult::before {
    background: url("/assets/images/common/icon-consult-white.svg") no-repeat center / contain;
  }
}

.c-btn-cta:not(.c-btn--disabled).c-btn--icon-register::before {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  min-width: 30px;
  min-height: 30px;
  background: url("/assets/images/common/icon-register.svg") no-repeat center / contain;
}

.p-box--cta__links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
}

.p-box--cta__link {
  color: var(--color-white);
  font-size: var(--fs-16);
  font-weight: var(--fw-bold);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  padding-left: 28px;
  position: relative;
  transition: opacity 0.3s;
}

.p-box--cta__link::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  border: 1.5px solid var(--color-white);
  border-radius: 50%;
  background-color: var(--color-white);
  box-sizing: border-box;
}

.p-box--cta__link::after {
  content: "";
  position: absolute;
  transform: translateY(-50%) rotate(45deg);
  left: 7px;
  top: 50%;
  width: 5px;
  height: 5px;
  border-right: 2px solid var(--color-primary);
  border-top: 2px solid var(--color-primary);
}

@media (hover: hover) {
  .p-box--cta__link:hover {
    text-underline-offset: 6px;
  }
}

.p-box--cta--comment {
  padding: 48px 40px 32px;
}


@media screen and (max-width: 768px) {

  /* CTA荳企Κ */
  .p-box--cta {
    border-radius: 30px;
    background: var(--color-primary) url("/assets/images/common/bg-cta-wave.svg") no-repeat center bottom;
    padding: 40px 20px 32px;
    background-size: contain;
  }

  .p-box--cta .c-btn-cta {
    width: 100%;
    text-align: center;
  }

  .c-btn-cta:not(.c-btn--disabled).c-btn--icon-consult::before {
    width: 30px;
    height: 30px;
    min-width: 30px;
    min-height: 30px;
  }

  .p-box--cta__links {
    gap: 16px;
    flex-direction: column;
    align-items: center;
    margin-top: 24px !important;
  }

  .p-box--cta__link {
    font-size: var(--fs-12);
    padding-left: 20px;
  }

  .p-box--cta__link::before {
    width: 16px;
    height: 16px;
  }

  .p-box--cta__link::after {
    left: 4px;
    width: 6px;
    height: 6px;
  }

  /* CTA荳矩Κ */
  .p-box--cta__lead {
    font-size: var(--fs-20);
  }

  .p-box--cta .p-box--cta--comment {
    padding: 24px 20px 32px;
  }

  .p-box--cta .c-btn-cta.c-btn--line-2 {
    padding: 30px 48px 12px 48px;
  }

  .p-box--cta .c-btn-cta.c-btn--line-2 span {
    top: 10px;
  }

  .c-box--follow .c-btn-cta.c-btn--line-2 {
    padding: 24px 24px 8px 24px;
  }
}

/* ==================================================
balloonBox
================================================== */
.balloonBox {
  padding: 25px 0 40px;
  background: var(--color-pink-1);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  display: flex;
  justify-content: center;
}

.balloon2 {
  position: relative;
  width: 750px;
  min-height: 100px;
  border: 1px solid #ccc;
  padding: 30px 30px;
  background-color: #FFF;
  -webkit-border-radius: 7px;
  -moz-border-radius: 7px;
  border-radius: 7px;
  max-width: 90%;
}

.balloon2:before,
.balloon2:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  top: 20px;
  border: solid transparent;
  border-width: 7px 10px 7px 10px;
}

/*position--left
-------------------------------------------------- */
.balloonBox__inner.position--left {
  padding: 28px 0 2px 170px;
  background: no-repeat left 30px top 0;
}

.balloonBox__inner.position--left .balloon2:before {
  right: 100%;
  border-right-color: #ccc;
}

.balloonBox__inner.position--left .balloon2:after {
  right: 100%;
  border-right-color: #FFF;
  margin-right: -2px;
}

/*icon*/
.balloonBox__inner.icon--client_01 {
  background-image: url('/assets/images/pages/business/efficiency/cashless/illust_clerk_01.png');
}

@media screen and (max-width:767px) {

  /* ==================================================
balloonBox
================================================== */
  .balloonBox {
    padding: 10px 0 20px;
    background: #f7f7db;
  }

  .balloonBox__inner {
    min-height: 70px;
    margin-bottom: 10px;
  }

  .balloonBox__inner:last-child {
    margin-bottom: 0;
  }

  .balloon {
    position: relative;
    border: 1px solid #ccc;
    padding: 10px;
    background-color: #FFF;
    -webkit-border-radius: 7px;
    -moz-border-radius: 7px;
    border-radius: 7px;
    line-height: 1.5em;
  }

  .balloon2 {
    max-width: 100%;
  }

  .balloon:before,
  .balloon:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    top: 15px;
    border: solid transparent;
    border-width: 7px 10px 7px 10px;
  }

  /*position--left
-------------------------------------------------- */
  .balloonBox__inner.position--left {
    padding: 10px 10px 0 85px;
    background: no-repeat 10px 0;
    background-size: 60px 70px;
  }

  .balloonBox__inner.position--left .balloon:before {
    right: 100%;
    border-right-color: #ccc;
  }

  .balloonBox__inner.position--left .balloon:after {
    right: 100%;
    border-right-color: #FFF;
    margin-right: -2px;
  }

  /*icon*/
  .balloonBox__inner.icon--client_01 {
    background-image: url(/assets/images/pages/business/efficiency/cashless/illust_clerk_01.png);
  }
  .c-point-box__image--full{
    width: 100%;
  }
}

.p-loan-intro {
  display: flex;
  align-items: center;
  gap: 56px;
  @media screen and (max-width: 767px) {
    flex-direction: column-reverse;
    gap: 32px;
  }
}
.p-loan-intro__content {
  flex: 40 1 0%;
  width: 100%;
}
.p-loan-intro__title {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: var(--fs-44);
  font-weight: var(--fw-bold);
  color: var(--color-black);
  line-height: 1.6;
  letter-spacing: var(--space-xxs);
  @media screen and (max-width: 767px) {
    font-size: var(--fs-26);
  }
}
.p-loan-intro__image {
  /* flex: 0 0 auto; */
  flex: 36 1 0%;
  width: 580px;
  border-radius: 20px;
  overflow: hidden;
  @media screen and (max-width: 767px) {
    width: 100%;
  }
}
.p-loan-intro__image img {
  width: 100%;
  height: auto;
  display: block;
}
