.cta02 {
  width: 89%;
  max-width: 71.25rem;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  margin-top: -3rem;
}

@media (max-width: 769px) {
  .cta02 {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 0;
  }
}

.cta02__left {
  width: 75%;
  margin-top: 7.5rem;
	position: relative;
    z-index: 1;
}

@media (max-width: 769px) {
  .cta02__left {
    width: 95%;
    margin-top: 2.5rem;
  }
}

.cta02__left__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media (max-width: 769px) {
  .cta02__left__top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.cta02__left__top .top__txt {
  width: 90%;
  margin-right: 3%;
}

@media (max-width: 769px) {
  .cta02__left__top .top__txt {
    width: 70%;
    margin-right: auto;
  }
}

.cta02__left__top .tel__btn {
  background-image: -webkit-gradient(linear, left bottom, left top, from(#f7590c), color-stop(22%, #fd7c45), color-stop(45%, #f85f35), color-stop(92%, #ff6200));
  background-image: linear-gradient(0deg, #f7590c, #fd7c45 22%, #f85f35 45%, #ff6200 92%);
  border-radius: 10px;
  -webkit-box-shadow: 0 .4rem 0 #A73401;
          box-shadow: 0 .4rem 0 #A73401;
}

.cta02__left__top .tel__btn__txt {
  width: 73%;
  display: inline-block;
}

@media (max-width: 769px) {
  .cta02__left__top .btn__container {
    margin-top: 1rem;
  }
}

.cta02__left__bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 1.5rem;
}

@media (max-width: 769px) {
  .cta02__left__bottom {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 0;
  }
}

.cta02__left__bottom .line__btn {
  background-image: -webkit-gradient(linear, left bottom, left top, from(#06c755), color-stop(23%, #45d480), color-stop(38%, #31d273), to(#08c654));
  background-image: linear-gradient(0deg, #06c755, #45d480 23%, #31d273 38%, #08c654);
  -webkit-box-shadow: 0 .4rem 0 #307200;
          box-shadow: 0 .4rem 0 #307200;
}

.cta02__left__bottom .form__btn {
  background-image: -webkit-gradient(linear, left bottom, left top, from(#e80000), color-stop(23%, #f95555), color-stop(38%, #ff6565), to(#e30000));
  background-image: linear-gradient(0deg, #e80000, #f95555 23%, #ff6565 38%, #e30000);
  -webkit-box-shadow: 0 .4rem 0 #9F0000;
          box-shadow: 0 .4rem 0 #9F0000;
}

.cta02__left__bottom .btn__container {
  width: 49%;
}

@media (max-width: 769px) {
  .cta02__left__bottom .btn__container {
    width: 100%;
    margin-top: 1rem;
  }
}

.cta02__left__bottom .btn__txt {
  font-size: 1.5rem;
  color: #fff;
  margin-left: 0.5rem;
}

@media (max-width: 769px) {
  .cta02__left__bottom .btn__txt {
    font-size: 1.25rem;
  }
}

.cta02__left__bottom .btn__icon {
  color: #fff;
  font-size: 2rem;
}

@media (max-width: 769px) {
  .cta02__left__bottom .btn__icon {
    font-size: 1.75rem;
  }
}

.cta02__left .btn__container .--btn {
  width: 100%;
  padding: 0.625rem 0;
  height: 5rem;
  text-align: center;
  border-radius: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  overflow: hidden;
}

.cta02__left .btn__container .--btn::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 10%;
  height: 150%;
  background: #fff;
  /*光の色*/
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  /*45度傾ける*/
  -webkit-animation: reflect 4s ease-in-out infinite;
          animation: reflect 4s ease-in-out infinite;
}

.cta02__left .btn__container .--btn:hover::before {
  opacity: .8;
}

@-webkit-keyframes reflect {
  0%, 75% {
    -webkit-transform: rotate(45deg) scale(0);
            transform: rotate(45deg) scale(0);
    opacity: 1;
  }
  100% {
    -webkit-transform: rotate(45deg) scale(100);
            transform: rotate(45deg) scale(100);
    opacity: 0;
  }
}

@keyframes reflect {
  0%, 75% {
    -webkit-transform: rotate(45deg) scale(0);
            transform: rotate(45deg) scale(0);
    opacity: 1;
  }
  100% {
    -webkit-transform: rotate(45deg) scale(100);
            transform: rotate(45deg) scale(100);
    opacity: 0;
  }
}

@media (max-width: 769px) {
  .cta02__left .btn__container .--btn {
    height: 4.375rem;
  }
}

.cta02__right {
  position: absolute;
  width: 47%;
  right: 0;
}

@media (max-width: 769px) {
  .cta02__right {
    width: 80%;
    z-index: -1;
  }
}