@charset "UTF-8";
.cta {
  position: relative;
  padding: 7rem 0 9rem;
}
@media only screen and (max-width: 767px) {
  .cta {
    margin-top: -3.6rem;
    padding: 8.8rem 0 0.6rem;
  }
}
.cta::before {
  content: "";
  background: #fff4dd;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
@media only screen and (max-width: 767px) {
  .cta::before {
    height: 102%;
  }
}
.cta .inner {
  width: 110rem;
  max-width: 100%;
  margin: auto;
  position: relative;
}
@media print, screen and (min-width: 768px) {
  .cta .inner {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 767px) {
  .cta .inner {
    width: 60.7rem;
    padding: 0;
    margin: auto;
  }
  .cta .inner::after {
    content: "";
    background: url("../img/home/sp/cta-bg.png") no-repeat top right/100%;
    width: 55.4rem;
    height: 19.8rem;
    display: block;
    margin: -3rem auto 0;
    position: relative;
    left: 0.6rem;
  }
}
.cta .tour {
  width: 41rem;
  margin-right: 2.5rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .cta .tour {
    width: 60.8rem;
    margin: 0 0 5.1rem;
  }
}
.cta .tour::before, .cta .tour::after {
  content: "";
  position: absolute;
  width: 5rem;
  height: 11rem;
  z-index: 1;
}
.cta .tour::before {
  top: 0;
  left: 0;
  background: url("../img/common/tour-left.svg") no-repeat center/100%;
}
.cta .tour::after {
  right: 0;
  bottom: 0;
  background: url("../img/common/tour-right.svg") no-repeat center/100%;
}
.cta .tour .box-ttl {
  text-align: center;
  font-size: 5rem;
  font-weight: 500;
  color: rgba(0, 177, 211, 0.3);
  display: block;
  position: absolute;
  bottom: 100%;
  letter-spacing: 0.05em;
  line-height: 0.65;
  width: 100%;
  left: 0;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .cta .tour .box-ttl {
    font-size: 6rem;
    letter-spacing: 0.06em;
  }
}
.cta .tour a {
  display: flex;
  align-items: center;
  background: #00B1DD;
  background: linear-gradient(90deg, rgb(0, 177, 221) 0%, rgb(51, 228, 221) 100%);
  border-radius: 0 4rem 0 4rem;
  line-height: 15rem;
  padding: 3.3rem 4rem 3.3rem 5.3rem;
}
@media only screen and (max-width: 767px) {
  .cta .tour a {
    padding: 4rem 6rem 4.1rem 7.6rem;
  }
}
.cta .tour a::after {
  content: "";
  width: 1.2rem;
  height: 1.2rem;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  margin-left: auto;
}
@media only screen and (max-width: 767px) {
  .cta .tour a::after {
    border-top-width: 2px;
    border-right-width: 2px;
    margin-left: auto;
    width: 1.8rem;
    height: 1.8rem;
  }
}
.cta .tour a .icon {
  width: 8.4rem;
  margin-right: 2.4rem;
}
@media only screen and (max-width: 767px) {
  .cta .tour a .icon {
    width: 10.5rem;
    margin-right: 7.4rem;
  }
}
.cta .tour a .ttl img {
  width: 15.2rem;
}
@media only screen and (max-width: 767px) {
  .cta .tour a .ttl img {
    width: 19.9rem;
  }
}
.cta .phone {
  width: 22.2rem;
  position: absolute;
  right: -8.7rem;
  bottom: -5.2rem;
}
@media only screen and (max-width: 767px) {
  .cta .phone {
    display: none;
  }
}
.cta .pc {
  width: 28.8rem;
  position: absolute;
  bottom: 0;
  left: -12rem;
  bottom: -5.2rem;
}
@media only screen and (max-width: 767px) {
  .cta .pc {
    display: none;
  }
}
.cta .telephone,
.cta .contact-us {
  width: 58.7rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .cta .telephone,
.cta .contact-us {
    width: 100%;
  }
}
.cta .telephone::before, .cta .telephone::after,
.cta .contact-us::before,
.cta .contact-us::after {
  content: "";
  position: absolute;
  z-index: 1;
}
.cta .telephone a,
.cta .contact-us a {
  position: relative;
  padding-left: 6rem;
  border-radius: 0 4rem 0 4rem;
}
.cta .telephone .box-ttl,
.cta .contact-us .box-ttl {
  position: absolute;
  bottom: 100%;
  font-size: 5rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 0.85;
  display: block;
  width: 100%;
  left: 0;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .cta .telephone .box-ttl,
.cta .contact-us .box-ttl {
    font-size: 5.7rem;
  }
}
.cta .telephone {
  width: 68.5rem;
  margin: 2.8rem auto 0;
}
@media only screen and (max-width: 767px) {
  .cta .telephone {
    margin: 4.8rem auto 4.6rem;
    width: 60.8rem;
  }
}
.cta .telephone::before, .cta .telephone:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
}
.cta .telephone::before {
  border-color: #e6e6e6 transparent transparent transparent;
  border-width: 7rem 4rem 0px 0px;
  top: 0;
  left: 0;
}
@media only screen and (max-width: 767px) {
  .cta .telephone::before {
    border-width: 13.5rem 6rem 0 0;
  }
}
.cta .telephone::after {
  border-color: transparent transparent #e6e6e6 transparent;
  border-width: 0px 0px 7rem 4rem;
  right: 0;
  bottom: 0;
}
@media only screen and (max-width: 767px) {
  .cta .telephone::after {
    border-width: 0 0 13.5rem 6rem;
  }
}
.cta .telephone .box-ttl {
  color: rgba(255, 0, 20, 0.15);
}
.cta .telephone a {
  display: flex;
  align-items: center;
  background: #fff;
  padding: 1.4rem 2rem 1.5rem 4rem;
  border: 1px solid #e6e6e6;
}
@media screen and (max-width: 1599px) {
  .cta .telephone a {
    padding: 1.3rem 3rem 2.1rem 2.2rem;
  }
}
@media print, screen and (min-width: 768px) {
  .cta .telephone a {
    pointer-events: none;
  }
}
@media only screen and (max-width: 767px) {
  .cta .telephone a {
    padding: 4.7rem 3rem 4.2rem 3.3rem;
    display: block;
  }
}
.cta .telephone a .icon {
  width: 22rem;
  margin-right: 2.2rem;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .cta .telephone a .icon {
    display: block;
    width: 43.3rem;
    margin: 0 auto 1rem;
  }
}
.cta .telephone a .icon .txt {
  width: 12.2rem;
  margin-right: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .cta .telephone a .icon .txt {
    width: 100%;
    margin: 0;
  }
}
.cta .telephone a .icon .icon-img {
  width: 8rem;
}
@media only screen and (max-width: 767px) {
  .cta .telephone a .icon .icon-img {
    display: none;
  }
}
.cta .telephone a .btn-content {
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .cta .telephone a .btn-content {
    width: 100%;
  }
}
.cta .telephone a .btn-content .ttl img {
  width: 33.3rem;
  margin: auto;
}
@media only screen and (max-width: 767px) {
  .cta .telephone a .btn-content .ttl img {
    width: 43.3rem;
    margin-bottom: 1.3rem;
  }
}
.cta .telephone a .btn-content .num {
  font-size: 5rem;
  font-weight: 400;
  color: #ff0014;
  line-height: 0.8;
  margin: 0.5rem 0 0.4rem;
  letter-spacing: 0.07em;
}
@media screen and (max-width: 1400px) and (min-width: 768px) {
  .cta .telephone a .btn-content .num {
    font-size: 3.17vw;
  }
}
@media only screen and (max-width: 767px) {
  .cta .telephone a .btn-content .num {
    font-size: 6.293rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    letter-spacing: 0.06em;
    margin-bottom: 0;
    flex-wrap: wrap;
    margin-top: 1.4rem;
  }
  .cta .telephone a .btn-content .num::before {
    content: "";
    width: 8rem;
    height: 8rem;
    background: url("../img/home/sp/tel-icon-sp.svg") no-repeat center/cover;
  }
  .cta .telephone a .btn-content .num::after {
    content: "ここを押すとお電話できます";
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 2.8rem;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.02em;
    background: #ff0014;
    text-align: center;
    width: 40.7rem;
    line-height: 5.4rem;
    display: block;
    margin: auto;
  }
}
.cta .telephone a .btn-content span {
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.07em;
}
@media only screen and (max-width: 767px) {
  .cta .telephone a .btn-content span {
    letter-spacing: 0.05rem;
    font-size: 2.8rem;
    display: block;
    margin-top: 1.7rem;
  }
}
.cta .contact-us {
  padding: 0;
  width: 66.5rem;
}
@media only screen and (max-width: 767px) {
  .cta .contact-us {
    width: 60.7rem;
  }
}
.cta .contact-us::before, .cta .contact-us:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
}
.cta .contact-us::before {
  border-color: #ffb141 transparent transparent transparent;
  border-width: 10rem 5rem 0px 0px;
  top: 0;
  left: 0;
}
@media only screen and (max-width: 767px) {
  .cta .contact-us::before {
    border-width: 13.5rem 6rem 0 0;
  }
}
.cta .contact-us::after {
  border-color: transparent transparent #f9be00 transparent;
  border-width: 0px 0px 10rem 5rem;
  right: 0;
  bottom: 0;
}
@media only screen and (max-width: 767px) {
  .cta .contact-us::after {
    border-width: 0 0 13.5rem 6rem;
  }
}
.cta .contact-us .box-ttl {
  color: rgba(255, 150, 0, 0.3);
}
.cta .contact-us a {
  background: #FF9600;
  background: linear-gradient(90deg, rgb(255, 150, 0) 0%, rgb(249, 170, 0) 100%);
  display: flex;
  align-items: center;
  padding: 3.2rem 4rem 3.5rem 6.3rem;
}
@media only screen and (max-width: 767px) {
  .cta .contact-us a {
    justify-content: flex-start;
    padding: 4.2rem 6rem 4.1rem 7.7rem;
  }
}
.cta .contact-us a::after {
  content: "";
  width: 1.2rem;
  height: 1.2rem;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  margin-left: auto;
}
@media only screen and (max-width: 767px) {
  .cta .contact-us a::after {
    border-top-width: 2px;
    border-right-width: 2px;
    margin-left: auto;
    width: 1.8rem;
    height: 1.8rem;
  }
}
.cta .contact-us a .icon {
  margin-right: 3rem;
  width: 8.4rem;
}
@media only screen and (max-width: 767px) {
  .cta .contact-us a .icon {
    width: 10.4rem;
    margin-right: 5.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .cta .contact-us a .ttl {
    width: 23rem;
  }
}
/*# sourceMappingURL=cta.css.map */