/* =========================================
   設備・仕様（構造）ページ
========================================= */

/* このページはメタル背景ではなく、ヒーロー〜設備一覧をクリーム地で敷く（Figma実値 #f7f4e9） */
.l-quality-bg {
  background-color: var(--quality-bg-color);
}

/* ==========
ページタイトル
========== */

.section__content--quality-title {
  padding: min(6.4vw, 24px) 0 min(5.3333vw, 20px);
  border-bottom: 4px solid var(--accent-color);
}

.quality-title__en {
  width: min(28vw, 105px);
  margin: 0 auto min(1.0667vw, 4px);
}

.quality-title__ja {
  display: block;
  font-size: min(3.2vw, 0.75rem);
  font-weight: 400;
  text-align: center;
  color: var(--text-color);
}

/* ==========
ヒーロー画像
========== */

.section__content--quality-hero {
  position: relative;
}

/* Figmaでは画像の上に #1b120e 25% の暗幕が重なる */
.section__content--quality-hero::after {
  position: absolute;
  inset: 0;
  background-color: var(--hero-overlay-color);
  content: "";
  pointer-events: none;
  opacity: 0.25;
}

.quality-hero__img img {
  height: min(48vw, 180px);
  object-fit: cover;
}

/* ==========
設備カテゴリータブ
========== */

.section__content--quality-tab {
  padding: min(13.3333vw, 50px) 0 0;
}

.quality-tab__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(5.3333vw, 20px) min(5.0667vw, 19px);
}

.quality-tab__link {
  display: flex;
  justify-content: center;
  align-items: center;
  height: min(10.6667vw, 40px);
  border: 1px solid var(--tab-color);
  background-color: var(--tab-color);
  font-size: min(3.7333vw, 0.875rem);
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
  transition: opacity 0.3s ease;
}

.quality-tab__link:hover {
  opacity: 0.7;
}

/* 現在表示中のカテゴリー */
.quality-tab__link--current {
  background-color: var(--tab-current-color);
  color: var(--text-color);
  pointer-events: none;
}

/* ==========
構造（本文）
========== */

.section__content--quality {
  padding: min(14.1333vw, 53px) 0 min(16vw, 60px);
  border-bottom: 4px solid var(--accent-color);
}

/* ----------
見出し（STRUCTURE ／ 構造 ／ 罫線 ／ リード）
---------- */

.quality-head {
  margin-bottom: min(10.6667vw, 40px);
}

.quality-head__en {
  width: min(50.3053vw, 188.645px);
  margin: 0 auto;
}

.quality-head__ja {
  display: block;
  margin-top: min(1.3333vw, 5px);
  font-family: var(--mincho);
  font-size: min(3.7333vw, 0.875rem);
  font-weight: 500;
  line-height: 1.8;
  color: var(--text-color);
}

.quality-head__line {
  display: block;
  width: min(26.6667vw, 100px);
  height: 1px;
  margin: min(5.0667vw, 19px) auto min(5.3333vw, 20px);
  background-color: var(--text-color);
}

.quality-lead {
  font-size: min(3.7333vw, 0.875rem);
  line-height: 2;
  letter-spacing: 0.4em;
  color: var(--text-color);
}

.quality-lead__gothic {
  font-family: var(--gothic);
  font-weight: 400;
}

.quality-lead__mincho {
  font-family: var(--mincho);
  font-weight: 500;
}

/* ----------
設備カード（共通コンポーネント）
---------- */

.quality-item + .quality-item {
  margin-top: min(8vw, 30px);
}

/* 図版の余白差でセクション間が詰まる箇所（Figma実値 15px / 11px） */
.quality-item + .quality-item--cover {
  margin-top: min(4vw, 15px);
}

.quality-item + .quality-item--wall {
  margin-top: min(2.9333vw, 11px);
}

/* 設備名の見出しバー */
.c-spec-heading {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: min(9.0667vw, 34px);
  margin-bottom: min(2.6667vw, 10px);
  padding: 0 min(2.6667vw, 10px);
  background-color: var(--spec-heading-color);
  font-size: min(3.7333vw, 0.875rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
}

.c-spec__figure {
  position: relative;
}

/* SP・PCで画像を出し分けている箇所。picture はデフォルト inline のため下に行間の隙間が出る */
.c-spec__figure picture,
picture.quality-hero__img {
  display: block;
}

/* 「参考イラスト」等のラベル（画像の隅に重ねる） */
.c-spec__note {
  position: absolute;
  right: min(2.6667vw, 10px);
  bottom: min(1.3333vw, 5px);
  font-size: min(2.6667vw, 0.625rem);
  font-weight: 400;
  line-height: 1.8;
  white-space: nowrap;
  color: var(--text-color);
}

.c-spec__text {
  font-size: min(3.2vw, 0.75rem);
  font-weight: 400;
  line-height: 1.6;
  color: var(--text-color);
}

/* ----------
基礎構造
---------- */

/* SPは概念図・ボーリング柱状図を縦積み、PCは横並び */
.quality-item__figures {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(8vw, 30px);
  margin-top: min(8vw, 30px);
}

.c-spec__figure--concept {
  width: 93.472%;
}

.quality-item__boring {
  width: 77.433%;
}

/* N値の説明文（本文より小さい） */
.quality-item__note-text {
  width: 91.365%;
  margin-left: 3.855%;
  font-size: min(3.2vw, 0.75rem);
  font-weight: 400;
  line-height: 1.6;
  color: var(--text-color);
}

/* ----------
コンクリート圧縮強度
---------- */

.c-spec__figure--concrete {
  width: 94.018%;
  margin: min(2.6667vw, 10px) auto 0;
}

/* ----------
かぶり厚（劣化対策）
---------- */

.c-spec__figure--cover {
  width: 91.891%;
  margin: min(2.6667vw, 10px) auto 0;
}

.c-spec__figure--cover .c-spec__note {
  right: 2.221%;
  bottom: min(5.0667vw, 19px);
}

/* ----------
自然災害に強いRC壁
---------- */

.c-spec__figure--wall {
  width: 82.829%;
  margin: min(6.6667vw, 25px) auto 0;
}

.c-spec__figure--wall .c-spec__note {
  right: auto;
  bottom: min(1.6vw, 6px);
  left: 0;
}

/* ----------
二重床構造による遮音性
---------- */

.c-spec__figure--floor {
  width: 83.559%;
  margin: min(5.3333vw, 20px) auto 0;
}

/* SPは注記が図の下・左端に出る */
.c-spec__figure--floor .c-spec__note {
  position: static;
  margin-top: min(1.3333vw, 5px);
}

/* ==========
第1期1次販売・先着順申込受付（sale）
========== */

.section__content--sale {
  padding: min(16vw, 60px) 0;
}

.sale__title {
  margin-bottom: min(5.3333vw, 20px);
  font-size: min(6.4vw, 1.5rem);
  font-weight: 300;
  line-height: 1.6;
  text-align: center;
  color: var(--text-color);
}

.sale__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(6.4vw, 24px);
}

.sale__btn {
  font-size: min(3.7333vw, 0.875rem);
  font-weight: 400;
  color: #fff;
}

.sale__btn::after {
  background: url("../images/common/arrow-right.svg") center / contain no-repeat;
}

.sale__btn:hover {
  opacity: 0.7;
}

.sale__btn--gold {
  background: linear-gradient(
    0deg,
    var(--gold-btn-from) 0%,
    var(--gold-btn-to) 100%
  );
}

.sale__btn--red {
  background: linear-gradient(
    0deg,
    var(--red-btn-from) 0%,
    var(--red-btn-to) 100%
  );
}

.sale__btn--navy {
  background: linear-gradient(
    180deg,
    var(--navy-btn-from) 0%,
    var(--navy-btn-to) 100%
  );
}

/* サブページ用：問合せ先電話番号 */
.sale__contact {
  margin-top: min(9.3333vw, 35px);
  text-align: center;
}

.sale__contact-lead {
  margin-bottom: min(2.6667vw, 10px);
  font-size: min(4.2667vw, 1rem);
  font-weight: 400;
  line-height: 1.6;
  color: var(--text-color);
}

.sale__tel {
  margin-bottom: min(2.6667vw, 10px);
}

.sale__tel-link {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: min(2.1333vw, 8px);
}

.sale__tel-icon {
  width: min(10.4vw, 39px);
}

.sale__tel-num {
  font-size: min(10.6667vw, 2.5rem);
  font-weight: 600;
  line-height: 1.6;
  color: var(--text-color);
}

.sale__hours {
  font-size: min(3.7333vw, 0.875rem);
  font-weight: 400;
  line-height: 1.6;
  text-align: center;
  color: var(--text-color);
}

/* 第1期1次販売・先着順申込受付（フッター内・上下にボーダー付与） */
.section__content--sale-bottom {
  /* border-top: 4px solid var(--accent-color);
  background-color: var(--sale-bottom-bg); */
}

@media (min-width: 768px) {
  /* ==========
  ページタイトル
  ========== */

  .section__content--quality-title {
    padding: min(2.489vw, 34px) 0 min(2.0498vw, 28px);
    border-top: 4px solid var(--accent-color);
  }

  .quality-title__en {
    width: min(9.9026vw, 135px);
    margin-bottom: min(0.7321vw, 10px);
  }

  .quality-title__ja {
    font-size: clamp(0.5625rem, 0.8785vw, 0.75rem);
  }

  /* ==========
  ヒーロー画像
  ========== */

  .quality-hero__img img {
    height: min(25.6223vw, 350px);
  }

  /* ==========
  設備カテゴリータブ
  ========== */

  .section__content--quality-tab {
    padding: min(4.3924vw, 60px) 0 0;
  }

  .section__content--quality-tab .section-space {
    width: min(70.2782vw, 960px);
    max-width: calc(100% - 40px);
  }

  .quality-tab__list {
    grid-template-columns: repeat(4, 1fr);
    gap: min(1.4641vw, 20px);
  }

  .quality-tab__link {
    height: min(3.8067vw, 52px);
    font-size: clamp(0.75rem, 1.1713vw, 1rem);
    transition:
      background-color 0.3s ease,
      color 0.3s ease;
  }

  /* PCのホバーは現在地と同じ配色になる（Figma実値：背景 #d0cdc8 / 枠線 #827653 / 文字 #3d3a39）。
     枠線は通常時から --tab-color で引いてあるため、背景と文字色の変化で現れる */
  .quality-tab__link:hover {
    background-color: var(--tab-current-color);
    color: var(--text-color);
    opacity: 1;
  }

  /* ==========
  構造（本文）
  ========== */

  .section__content--quality {
    padding: min(5.8565vw, 80px) 0 min(7.3206vw, 100px);
  }

  .section__content--quality .section-space {
    width: min(71.8887vw, 982px);
    max-width: calc(100% - 40px);
  }

  /* ----------
  見出し
  ---------- */

  .quality-head {
    margin-bottom: min(5.8565vw, 80px);
  }

  .quality-head__en {
    width: min(20.0951vw, 274.5px);
  }

  .quality-head__ja {
    margin-top: min(0.366vw, 5px);
    font-size: clamp(0.75rem, 1.1713vw, 1rem);
  }

  .quality-head__line {
    margin: min(2.1962vw, 30px) auto min(1.8302vw, 25px);
  }

  .quality-lead {
    font-size: clamp(1.125rem, 1.757vw, 1.5rem);
    line-height: 1.8;
  }

  /* ----------
  設備カード（PCは2列。基礎構造のみ2列分）
  ---------- */

  .quality-list {
    display: grid;
    align-items: start;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: min(2.9283vw, 40px);
    column-gap: min(2.1962vw, 30px);
  }

  .quality-item + .quality-item {
    margin-top: 0;
  }

  .quality-item--foundation {
    grid-column: 1 / 3;
    /* 基礎構造の下だけ他の行間より広い（Figma実値 40px） */
    margin-bottom: min(0.8785vw, 12px);
  }

  .c-spec-heading {
    min-height: min(2.635vw, 36px);
    margin-bottom: min(1.098vw, 15px);
    padding: 0 min(0.7321vw, 10px);
    font-size: clamp(0.875rem, 1.3177vw, 1.125rem);
    line-height: 1.8;
  }

  .c-spec__note {
    right: min(0.7321vw, 10px);
    bottom: min(0.366vw, 5px);
    font-size: clamp(0.625rem, 0.8785vw, 0.75rem);
  }

  /* 二重床の注記だけ他より小さい（Figma実値 10px） */
  .c-spec__note--sm {
    font-size: clamp(0.5rem, 0.7321vw, 0.625rem);
  }

  .c-spec__text {
    font-size: clamp(0.75rem, 1.1713vw, 1rem);
    line-height: 1.5;
  }

  /* ----------
  基礎構造
  ---------- */

  .quality-item__figures {
    flex-direction: row;
    align-items: flex-start;
    gap: min(5.0512vw, 69px);
  }

  .c-spec__figure--concept {
    width: 49.898%;
  }

  .quality-item__boring {
    width: 37.38%;
  }

  .quality-item__note-text {
    width: 92.079%;
    margin-top: min(0.2196vw, 3px);
    margin-left: 3.269%;
    font-size: clamp(0.6875rem, 1.0249vw, 0.875rem);
    line-height: 1.5;
  }

  /* ----------
  コンクリート圧縮強度
  ---------- */

  .c-spec__figure--concrete {
    width: 99.694%;
    margin: min(0.6589vw, 9px) 0 0;
  }

  /* ----------
  かぶり厚（劣化対策）
  ---------- */

  .c-spec__figure--cover {
    width: 86.072%;
    margin: min(1.8302vw, 25px) 0 0 6.723%;
  }

  .c-spec__figure--cover .c-spec__note {
    right: 6.273%;
    bottom: min(1.3177vw, 18px);
  }

  /* ----------
  自然災害に強いRC壁
  ---------- */

  .c-spec__figure--wall {
    width: 95.389%;
    margin: min(2.1962vw, 30px) 0 0 2.311%;
  }

  .c-spec__figure--wall .c-spec__note {
    bottom: min(0.6589vw, 9px);
    left: 1.762%;
  }

  /* ----------
  二重床構造による遮音性
  ---------- */

  .c-spec__figure--floor {
    width: 61.941%;
    margin: min(2.1962vw, 30px) 0 0 18.908%;
  }

  /* PCは注記が図の内側・右下に戻る */
  .c-spec__figure--floor .c-spec__note {
    position: absolute;
    right: 3.336%;
    bottom: min(0.366vw, 5px);
    margin-top: 0;
  }

  /* ==========
  第1期1次販売・先着順申込受付
  ========== */

  .section__content--sale {
    padding: min(7.3206vw, 100px) 0;
  }

  .section__content--sale .section-space {
    width: min(65.9vw, 900px);
    max-width: calc(100% - 40px);
  }

  .sale__title {
    margin-bottom: min(2.9283vw, 40px);
    font-size: clamp(2.1563rem, 3.3675vw, 2.875rem);
  }

  .sale__list {
    flex-direction: row;
    justify-content: center;
    gap: min(2.1972vw, 30px);
  }

  .sale__btn {
    font-size: clamp(0.75rem, 1.1713vw, 1rem);
  }

  .sale__contact {
    margin-top: min(2.9283vw, 40px);
  }

  .sale__contact-lead {
    margin-bottom: min(0.7321vw, 10px);
    font-size: clamp(1rem, 1.7607vw, 1.5rem);
  }

  .sale__tel {
    margin-bottom: min(0.7321vw, 10px);
  }

  .sale__tel-link {
    gap: min(0.5857vw, 8px);
  }

  .sale__tel-icon {
    width: min(2.8551vw, 39px);
  }

  .sale__tel-num {
    font-size: clamp(2.25rem, 3.5139vw, 3rem);
  }

  .sale__hours {
    font-size: clamp(0.75rem, 1.1713vw, 1rem);
  }

  /* 第1期1次販売・先着順申込受付（フッター内） */
  .section__content--sale-bottom {
    padding: min(4.3924vw, 60px) 0;
    border-bottom: 4px solid var(--accent-color);
  }
}
