@charset "utf-8";

.cta__container {
  background: var(--color-accent);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

@media screen and (min-width: 600px) {
  .cta__container {
    flex-direction: row;
    justify-content: space-between;
  }
}

.cta__header {
  width: 100%;
  height: 250px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

@media screen and (min-width: 600px) {
  .cta__header {
    height: 350px;
  }
}

@media screen and (min-width: 900px) {
  .cta__header {
    width: 44%;
  }
}

.cta__title-en {
  font-family: var(--font-en);
  font-size: clamp(30px, 3.67vw, 50px);
  font-weight: 700;
  letter-spacing: calc(-10 / 1000 * 1em);
}

.cta__title-ja {
  margin-top: 20px;
  font-size: clamp(14px, 1.18vw, 16px);
  font-weight: 700;
  letter-spacing: calc(80 / 1000 * 1em);
  line-height: calc(23 / 18);
}

.cta__tel {
  height: 250px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 29px;
  border-top: 1px solid #e5e5e5;
}

@media screen and (min-width: 600px) {
  .cta__tel {
    border-left: 1px solid #e5e5e5;
    border-top: none;
    height: 350px;
  }
}

@media screen and (min-width: 900px) {
  .cta__tel {
    width: 28%;
  }
}

.cta__number {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 25px;
  font-size: clamp(19px, 1.76vw, 24px);
  font-weight: 500;
  line-height: calc(50 / 24);
}

.cta__number::before {
  content: "";
  aspect-ratio: 30/30;
  width: 30px;
  height: auto;
  background: url(../images/tel-icon.svg) no-repeat center center/contain;
}

.cta__tel-text {
  font-size: clamp(12px, 1.03vw, 14px);
  font-weight: 400;
  letter-spacing: calc(80 / 1000 * 1em);
  line-height: calc(20 / 14);
}

.cta__tel:hover {
  opacity: 1;
}

.cta__mail {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 250px;
  border-top: 1px solid #e5e5e5;
}

@media screen and (min-width: 600px) {
  .cta__mail {
    width: 100%;
    height: 350px;
    border-left: 1px solid #e5e5e5;
    border-top: none;
  }
}

@media screen and (min-width: 900px) {
  .cta__mail {
    width: 28%;
  }
}

.cta__mail-text-wrapper {
  margin-top: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 30px;
}

@media screen and (min-width: 600px) {
  .cta__mail-text-wrapper {
    gap: 43px;
  }
}

.cta__mail-text-wrapper::before,
.cta__mail-text-wrapper::after {
  content: "";
}

.cta__mail-text-wrapper::before {
  width: 27px;
  height: auto;
  aspect-ratio: 27/18;
  background: url(../images/mail-icon.svg) no-repeat center center / contain;
}

.cta__mail-text-wrapper::after {
  aspect-ratio: 57/31;
  width: 57px;
  height: auto;
  background: url(../images/c-button-icon-w.svg) no-repeat center center /
    contain;
  transition: background 0.5s ease;
}

.cta__mail:hover {
  opacity: 1;
}

.cta__mail:hover .cta__mail-text-wrapper::after {
  background: url(../images/c-button-icon-b.svg) no-repeat center center /
    contain;
}

.cta__mail-text {
  font-size: clamp(14px, 1.18vw, 16px);
  font-weight: 400;
  letter-spacing: calc(80 / 1000 * 1em);
  line-height: calc(23 / 16);
}

.cta__tel:hover .hover-underline::after,
.cta__mail:hover .hover-underline::after {
  width: 100%;
}

.footer {
  margin-top: 90px;
  padding-block: 59px 39px;
  border-top: 3px solid var(--color-base);
}

.footer__inner {
  padding-inline: 20px;
}

@media screen and (min-width: 768px) {
  .footer__inner {
    padding-inline: 56px 55px;
    margin-inline: auto;
  }
}

.footer__container {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

@media screen and (min-width: 768px) {
  .footer__container {
    flex-direction: row;
    justify-content: space-between;
  }
}

.footer__logo {
  aspect-ratio: 230/110;
  width: clamp(150px, 16.84vw, 230px);
  height: auto;
}

.footer__logo img {
  aspect-ratio: 230/110;
  object-fit: contain;
  object-position: center;
  width: 100%;
  height: auto;
}

.footer__wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 72px;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .footer__wrapper {
    flex-direction: row;
    align-items: start;
    justify-content: flex-end;
  }
}

.footer__sns {
  display: flex;
  align-items: center;
  gap: 16px;
}

.footer__nav {
  display: flex;
  align-items: start;
  gap: 55px;
}

.footer__nav-content {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.cta__nav-item p {
  font-size: 16px;
  font-weight: 400;
  letter-spacing: calc(80 / 1000 * 1em);
  line-height: calc(23 / 16);
}

.footer__copyright {
  margin-top: 54px;
}

.footer__copyright p {
  font-size: 10px;
  font-weight: 400;
  line-height: calc(25 / 10);
  text-align: center;
}

@media screen and (min-width: 768px) {
  .footer__copyright p {
    text-align: left;
  }
}
