/* 全ページ共通の問い合わせボックス */

.contact-bg-img {
  position: absolute;
  top: -28px;
  right: 56px;
  width: 200px;
  z-index: 1;
}

.contact-box {
  position: absolute;
  left: 50%;
  transform: translate(-50%, -15%);
  max-width: var(--container-md);
  width: 100%;
  margin: 280px auto 0;
  padding: var(--space-xl);
  background-color: var(--color-primary);
  border-radius: var(--radius-xl);
}

.contact-box .contact-box-title h3 {
  text-align: center;
  font-size: var(--section-title);
  font-weight: 900;
  color: var(--color-accent);
}

.contact-box .contact-box-wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-sm);
  margin-top: var(--space-md);
}

.contact-box .contact-box-item {
  position: relative;
  background-image: url(../images/common/contact-box.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  height: 231px;
  z-index: 1;
}

.contact-box .contact-box-item .contact-box-icon img {
  position: absolute;
  top: 16px;
  left: 50%;
  transform: translateX(-50%);
  width: 48px;
}

.contact-box .contact-box-item .contact-box-inner {
  text-align: center;
  position: absolute;
  top: 58%;
  left: 50%;
  width: 100%;
  transform: translate(-50%, -50%);
}

.contact-box .contact-box-item .contact-box-inner h4 {
  margin-top: var(--space-xxs);
  font-size: 24px;
}

.contact-box .contact-box-item .contact-box-inner a {
  position: relative;
  display: inline-block;
  margin-top: var(--space-xxs);
  font-size: 42px;
  font-weight: 900;
  line-height: 1;
  color: #e5c101;
  transition: opacity 0.25s;
}

.contact-box .contact-box-item .contact-box-inner a .arrow-icon {
  width: 16px;
}

.contact-box .contact-box-item .contact-box-inner a:hover {
  opacity: 0.7;
}

.contact-box .contact-box-item .contact-box-inner .tel-note {
  font-size: 14px;
  color: #666;
}

.contact-box .contact-box-item.box-item-mail .contact-box-inner a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 300px;
  height: 56px;
  margin: var(--space-xs) auto 0;
  padding: var(--space-xxs) var(--space-xs);
  font-size: var(--font-sm);
  border-radius: var(--radius-round);
  color: var(--color-text);
  background-color: #e5c101;
}

.contact-box .contact-box-bg-text {
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  pointer-events: none;
  border-radius: var(--radius-xl);
  overflow: hidden;
}

.contact-box .contact-box-bg-text .bg-text-left {
  width: 70px;
}

.contact-box .contact-box-bg-text .bg-text-right {
  width: 70px;
}

.contact-box-home {
  margin: 220px auto 0;
}

@media (max-width: 1440px) {
  .contact-box {
    width: 95%;
    padding: clamp(3rem, 0.538rem + 3.85vw, 4rem);
  }

  .contact-box .contact-box-title h3 {
    font-size: clamp(2.5rem, 1.269rem + 1.92vw, 3rem);
  }

  .contact-box .contact-box-wrap {
    margin-top: clamp(1.5rem, 0.269rem + 1.92vw, 2rem);
  }

  .contact-box .contact-box-item {
    height: clamp(13.875rem, 12.49rem + 2.16vw, 14.438rem);
  }

  .contact-box .contact-box-item .contact-box-icon img {
    width: clamp(3rem, 1.769rem + 1.92vw, 3.5rem);
  }

  .contact-box .contact-box-item .contact-box-inner h4 {
    margin-top: 0;
    font-size: clamp(1.5rem, 0.885rem + 0.96vw, 1.75rem);
  }

  .contact-box .contact-box-item .contact-box-inner a {
    font-size: clamp(2.5rem, 1.269rem + 1.92vw, 3rem);
  }

  .contact-box .contact-box-item.box-item-mail .contact-box-inner a {
    margin: clamp(0.75rem, 0.135rem + 0.96vw, 1rem) auto 0;
  }

  .contact-box .contact-box-bg-text .bg-text-left {
    width: 56px;
  }

  .contact-box .contact-box-bg-text .bg-text-right {
    width: 56px;
  }
}

@media (max-width: 1024px) {
  .contact-box {
    width: 100%;
    margin: 200px auto 0;
    border-radius: 0;
    transform: translate(-50%, -15%);
  }

  /* .contact-bg-img {
      top: -19px;
      right: 40px;
      width: 130px;
    } */

  .contact-box .contact-box-bg-text .bg-text-left {
    width: clamp(4.5rem, 3.324rem + 4.18vw, 6rem);
  }

  .contact-box .contact-box-bg-text .bg-text-right {
    width: clamp(4.5rem, 3.324rem + 4.18vw, 6rem);
  }

  .contact-box .contact-box-title h3 {
    font-size: clamp(1.75rem, 0.689rem + 3.77vw, 2.5rem);
  }

  .contact-box .contact-box-wrap {
    grid-template-columns: repeat(1, 1fr);
  }

  .contact-box .contact-box-wrap .contact-box-item {
    height: clamp(11.563rem, 3.691rem + 27.99vw, 17.125rem);
  }

  .contact-box .contact-box-wrap .contact-box-item .contact-box-icon img {
    top: 24px;
    width: clamp(2.5rem, 1.716rem + 2.79vw, 3.5rem);
  }

  .contact-box .contact-box-wrap .contact-box-item .contact-box-inner {
    top: 58%;
  }

  .contact-box .contact-box-wrap .contact-box-item .contact-box-inner h4 {
    font-size: 28px;
  }

  .contact-box .contact-box-wrap .contact-box-item .contact-box-inner a {
    max-width: 380px;
    font-size: clamp(2.25rem, 1.189rem + 3.77vw, 3rem);
  }

  .contact-box .contact-box-item.box-item-mail .contact-box-inner a {
    width: 62%;
    height: clamp(3rem, 1.585rem + 5.03vw, 4rem);
    font-size: clamp(0.875rem, 0.698rem + 0.63vw, 1rem);
  }

  .contact-box .box-item-mail a .arrow-icon {
    width: clamp(1rem, 0.646rem + 1.26vw, 1.25rem);
  }
}

@media (max-width: 768px) {
  .contact-box .contact-bg-img {
    width: clamp(6.875rem, 3.779rem + 11.01vw, 9.063rem);
  }
}

@media (max-width: 600px) {
  .contact-box {
    width: 100%;
    border-radius: 0;
  }

  .contact-box .contact-box-wrap .contact-box-item .contact-box-inner {
    top: 60%;
  }

  .contact-box .contact-box-wrap .contact-box-item .contact-box-icon img {
    top: 20px;
    width: clamp(2.5rem, 1.716rem + 2.79vw, 3.5rem);
  }

  .contact-box .contact-box-item.box-item-mail .contact-box-inner a {
    width: 80%;
  }
}

@media (max-width: 450px) {
  .contact-box {
    width: 100%;
    margin: 160px auto 0;
    padding: clamp(2rem, 0.25rem + 8vw, 2.5rem);
    border-radius: 0;
  }

  .contact-box .contact-bg-img {
    width: clamp(5rem, -1.563rem + 30vw, 6.875rem);
    top: -16px;
    right: 4px;
  }

  .contact-box .contact-box-title h3 {
    font-size: clamp(1.5rem, 0.625rem + 4vw, 1.75rem);
  }

  .contact-box .contact-box-wrap {
    gap: clamp(1rem, -0.75rem + 8vw, 1.5rem);
    margin-top: clamp(1rem, -0.75rem + 8vw, 1.5rem);
  }

  .contact-box .contact-box-wrap .contact-box-item {
    background-size: contain;
    background-repeat: no-repeat;
    height: clamp(9.375rem, -1.563rem + 50vw, 12.5rem);
  }

  .contact-box .contact-box-wrap .contact-box-item .contact-box-icon img {
    top: clamp(0.75rem, -0.125rem + 4vw, 1rem);
    width: clamp(2rem, 0.25rem + 8vw, 2.5rem);
  }

  .contact-box .contact-box-wrap .contact-box-item .contact-box-inner {
    top: 59%;
  }

  .contact-box .contact-box-wrap .contact-box-item .contact-box-inner h4 {
    font-size: clamp(1.125rem, 0.25rem + 4vw, 1.375rem);
  }

  .contact-box .contact-box-wrap .contact-box-item .contact-box-inner a {
    font-size: clamp(1.625rem, -0.563rem + 10vw, 2.25rem);
  }

  .contact-box .contact-box-wrap .contact-box-item .contact-box-inner .tel-note {
    font-size: 12px;
  }

  .contact-box .contact-box-item.box-item-mail .contact-box-inner a {
    margin: clamp(0.5rem, -0.375rem + 4vw, 0.75rem) auto 0;
  }

  .contact-box .contact-box-wrap .box-item-mail .contact-box-inner a .arrow-icon {
    right: 16px;
    width: 12px;
  }

  .contact-box .contact-box-item.box-item-mail .contact-box-inner a {
    height: clamp(2.5rem, 0.75rem + 8vw, 3rem);
    font-size: clamp(0.75rem, 0.313rem + 2vw, 0.875rem);
  }

  .contact-box .contact-box-bg-text .bg-text-left {
    width: clamp(3.5rem, 1.75rem + 8vw, 4rem);
  }

  .contact-box .contact-box-bg-text .bg-text-right {
    width: clamp(3.5rem, 1.75rem + 8vw, 4rem);
  }
}
