@charset "UTF-8";
/* ---------------------------------------
	ACF用ブロックパーツ：CTA
-----------------------------------------*/
.cta-block {
  --cl-text: #121212;
  --cl-white: #fff;
  --cl-link-hover: #121212;
  --opacity: 0.75;
  margin-inline: auto;
  box-shadow: 0.1875rem 0.375rem 1rem rgba(0, 0, 0, 0.16);
}
@media screen and (width > 1280px) {
  .cta-block {
    max-width: 43rem;
    border: var(--cl-text) solid 0.375rem;
    border-radius: 0.5rem;
  }
}
@media screen and (width <= 1280px) {
  .cta-block {
    max-width: 53.75vw;
    border: var(--cl-text) solid 0.46875vw;
    border-radius: 0.625vw;
  }
}
@media screen and (width <= 991px) {
  .cta-block {
    max-width: 89.5833333333vw;
    border: var(--cl-text) solid 0.78125vw;
    border-radius: 1.0416666667vw;
  }
}
@media screen and (width <= 767px) {
  .cta-block {
    max-width: 79.4871794872vw;
    border: var(--cl-text) solid 1.5384615385vw;
    border-radius: 2.0512820513vw;
  }
}
.cta-block__link {
  display: block;
  width: 100%;
}
.cta-block__wrapper {
  display: grid;
  align-items: center;
  grid-template-rows: auto 1fr;
}
@media screen and (width > 1280px) {
  .cta-block__wrapper {
    grid-template-columns: 1fr auto;
    grid-template-areas: "head img" "btn img";
  }
}
@media screen and (width <= 1280px) {
  .cta-block__wrapper {
    grid-template-columns: 1fr auto;
    grid-template-areas: "head img" "btn img";
  }
}
@media screen and (width <= 767px) {
  .cta-block__wrapper {
    grid-template-columns: 1fr;
    grid-template-areas: "img" "head" "btn";
  }
}
.cta-block__head {
  grid-area: head;
}
@media screen and (width > 1280px) {
  .cta-block__head {
    padding: 1.75rem 0 0 2rem;
  }
}
@media screen and (width <= 1280px) {
  .cta-block__head {
    padding: 2.1875vw 0 0 2.5vw;
  }
}
@media screen and (width <= 991px) {
  .cta-block__head {
    padding: 3.6458333333vw 0 0 4.1666666667vw;
  }
}
@media screen and (width <= 767px) {
  .cta-block__head {
    padding: 3.5897435897vw 0 4.1025641026vw 4.6153846154vw;
  }
}
.cta-block__text {
  line-height: 1.5;
  font-weight: bold;
  letter-spacing: 0.04em;
}
@media screen and (width > 1280px) {
  .cta-block__text {
    font-size: 1.1875rem;
  }
}
@media screen and (width <= 1280px) {
  .cta-block__text {
    font-size: 19px;
    font-size: 1.484375vw;
  }
}
@media screen and (width <= 991px) {
  .cta-block__text {
    font-size: 19px;
    font-size: 2.4739583333vw;
  }
}
@media screen and (width <= 767px) {
  .cta-block__text {
    font-size: 14px;
    font-size: 3.5897435897vw;
  }
}
@media screen and (width > 1280px) {
  .cta-block__text .-lg {
    font-size: 1.625rem;
  }
}
@media screen and (width <= 1280px) {
  .cta-block__text .-lg {
    font-size: 26px;
    font-size: 2.03125vw;
  }
}
@media screen and (width <= 991px) {
  .cta-block__text .-lg {
    font-size: 26px;
    font-size: 3.3854166667vw;
  }
}
@media screen and (width <= 767px) {
  .cta-block__text .-lg {
    font-size: 17px;
    font-size: 4.358974359vw;
  }
}
@media screen and (width > 1280px) {
  .cta-block__text .-sm {
    font-size: 1rem;
  }
}
@media screen and (width <= 1280px) {
  .cta-block__text .-sm {
    font-size: 16px;
    font-size: 1.25vw;
  }
}
@media screen and (width <= 991px) {
  .cta-block__text .-sm {
    font-size: 16px;
    font-size: 2.0833333333vw;
  }
}
@media screen and (width <= 767px) {
  .cta-block__text .-sm {
    font-size: 12px;
    font-size: 3.0769230769vw;
  }
}
.cta-block__sub-text {
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media screen and (width > 1280px) {
  .cta-block__sub-text {
    font-size: 0.875rem;
    margin-top: 0.875rem;
  }
}
@media screen and (width <= 1280px) {
  .cta-block__sub-text {
    font-size: 14px;
    font-size: 1.09375vw;
    margin-top: 1.09375vw;
  }
}
@media screen and (width <= 991px) {
  .cta-block__sub-text {
    font-size: 14px;
    font-size: 1.8229166667vw;
    margin-top: 1.8229166667vw;
  }
}
@media screen and (width <= 767px) {
  .cta-block__sub-text {
    font-size: 12px;
    font-size: 3.0769230769vw;
    margin-top: 3.5897435897vw;
  }
}
.cta-block__btn-wrapper {
  grid-area: btn;
}
@media screen and (width > 1280px) {
  .cta-block__btn-wrapper {
    padding-left: 2rem;
  }
}
@media screen and (width <= 1280px) {
  .cta-block__btn-wrapper {
    padding-left: 2.5vw;
  }
}
@media screen and (width <= 991px) {
  .cta-block__btn-wrapper {
    padding-left: 4.1666666667vw;
  }
}
@media screen and (width <= 767px) {
  .cta-block__btn-wrapper {
    padding-left: 4.6153846154vw;
    margin-bottom: 6.1538461538vw;
  }
}
.cta-block__btn {
  letter-spacing: 0.04em;
  font-weight: bold;
}
@media screen and (width > 1280px) {
  .cta-block__btn {
    max-width: 20.625rem;
    height: 3.25rem;
    font-size: 0.875rem;
  }
}
@media screen and (width <= 1280px) {
  .cta-block__btn {
    max-width: 25.78125vw;
    height: 4.0625vw;
    font-size: 14px;
    font-size: 1.09375vw;
  }
}
@media screen and (width <= 991px) {
  .cta-block__btn {
    max-width: 42.96875vw;
    height: 6.7708333333vw;
    font-size: 14px;
    font-size: 1.8229166667vw;
  }
}
@media screen and (width <= 767px) {
  .cta-block__btn {
    max-width: 70.2564102564vw;
    height: 13.3333333333vw;
    font-size: 12px;
    font-size: 3.0769230769vw;
  }
}
.cta-block__btn::after {
  content: "";
  background-image: url("../../../images/parts/icon-chat.svg");
  background-repeat: no-repeat;
  background-size: contain;
  transform: translateY(0.0625rem);
}
@media screen and (width > 1280px) {
  .cta-block__btn::after {
    width: 1.875rem;
    height: 1.5625rem;
    margin-left: 0.75rem;
  }
}
@media screen and (width <= 1280px) {
  .cta-block__btn::after {
    width: 2.34375vw;
    height: 1.953125vw;
    margin-left: 0.9375vw;
  }
}
@media screen and (width <= 991px) {
  .cta-block__btn::after {
    width: 3.90625vw;
    height: 3.2552083333vw;
    margin-left: 1.5625vw;
  }
}
@media screen and (width <= 767px) {
  .cta-block__btn::after {
    width: 6.4102564103vw;
    height: 5.1282051282vw;
    margin-left: 3.0769230769vw;
  }
}
.cta-block__img {
  grid-area: img;
  overflow: hidden;
}
@media screen and (width > 1280px) {
  .cta-block__img {
    width: 14.6875rem;
    aspect-ratio: 235/251;
  }
}
@media screen and (width <= 1280px) {
  .cta-block__img {
    width: 18.359375vw;
    aspect-ratio: 235/251;
  }
}
@media screen and (width <= 991px) {
  .cta-block__img {
    width: 31.25vw;
    aspect-ratio: 240/250;
  }
}
@media screen and (width <= 767px) {
  .cta-block__img {
    width: 100%;
    aspect-ratio: 16/9;
  }
}
.cta-block__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.cta-block :where(a) {
  color: var(--cl-text);
  text-decoration: none;
  word-break: break-all;
  transition: var(--transition);
}
@media (any-hover: hover) {
  .cta-block :where(a):hover {
    color: var(--cl-link-hover);
    opacity: var(--opacity);
    text-decoration: none;
  }
}
.cta-block :where(a):link, .cta-block :where(a):visited, .cta-block :where(a):active {
  text-decoration: none;
}
.cta-block .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  background-color: var(--cl-white);
  color: var(--cl-text);
  font-weight: bold;
  letter-spacing: 0.04em;
  box-sizing: border-box;
  transition: var(--transition);
}
@media (any-hover: hover) {
  .cta-block .btn:hover {
    opacity: var(--opacity);
  }
}
.cta-block .btn--black {
  background-color: var(--cl-text);
  color: var(--cl-white);
}
@media (any-hover: hover) {
  .cta-block .btn--black:hover {
    color: var(--cl-white);
  }
}
.cta-block .btn--shadow {
  box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
}
/*# sourceMappingURL=../../maps/pages/acf-blocks/cta-block.css.map */
