/* ======================================
download.css
ダウンロードページの共通スタイル
====================================== */

#contact-section {
  padding: 2rem 0;
  position: relative;
  overflow: hidden;
}

.background-image {
  height: 74rem;
}

@media (min-width: 481px) {
  #contact-section {
    padding: 3rem 0;
  }

  .background-image {
    height: auto;
  }
}

/* サムネなしのみ：h2 起点の従来挙動（フォールバック）。狭い幅は top を下げる（モバイルファースト） */
#contact-section.contact-section--no-hero::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 0;
  right: 0;
  top: clamp(19rem, calc(56vw + 5.5rem), 30rem);
  bottom: 0;
  background-image: url("../img/mabiz_bg.jpg");
  background-image: url("../img/mabiz_bg.webp");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

@media (min-width: 401px) {
  #contact-section.contact-section--no-hero::before {
    top: clamp(15rem, 56vw, 30rem);
  }
}

@media (min-width: 1024px) {
  #contact-section.contact-section--no-hero::before {
    top: clamp(15rem, 28vw, 26rem);
  }
}

.contact-heading {
  position: relative;
  z-index: 2;
}

.contact-inner {
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr;
  gap: 4rem;
  justify-items: center;
}
@media (min-width: 1024px) {
  .contact-inner {
    grid-template-columns: 1fr 30rem;
  }
}

.contact-right {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 50rem;
  box-sizing: border-box;
  background: var(--white-color);
  padding: 2rem 0;
  border-radius: var(--border-radius);
  box-shadow: var(--box-shadow);
}
@media (min-width: 1024px) {
  .contact-right {
    padding: 2rem;
  }
}

.contact-heading h2 {
  font-size: 1.8rem;
}

/* サムネあり：セクション直下の全幅レイヤー（左カラム中央基準の 100vw ずれ・引き伸ばしを防ぐ） */
#contact-section.contact-section--has-hero .contact-section__hero-bg {
  position: absolute;
  z-index: 0;
  left: 0;
  right: 0;
  top: var(--download-hero-bg-top, 0);
  bottom: 0;
  background-color: #f0b90a;
  background-image: url("../img/mabiz_bg.jpg");
  background-image: url("../img/mabiz_bg.webp");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  pointer-events: none;
}

.contact-numbers {
  margin-bottom: 3rem;
}

.contact-numbers .number-item {
  position: relative;
  z-index: 1;
}

.contact-recommend {
  position: relative;
  z-index: 1;
  margin-bottom: 2rem;
}

.contact-recommend h3 {
  color: var(--white-color);
  margin-bottom: 2rem;
}


.contact-recommend li {
  margin-bottom: 10px;
  color: var(--white-color);
  background: url("../img/check_w.svg") no-repeat 2px;
  padding-left: 2rem;
}

.contact-form-wrapper h3 {
  font-size: 24px;
  text-align: center;
}

