/* =========================================
   設備・仕様（キッチン）ページ
========================================= */

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

.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,
.section__content--kitchen {
  background-color: var(--quality-bg-color);
}

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

.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--kitchen {
  padding: min(13.3333vw, 50px) 0 min(14.6667vw, 55px);
  border-bottom: 4px solid var(--accent-color);
}

/* リード（見出し＋キャッチコピー） */
.kitchen-lead {
  margin-bottom: min(10.6667vw, 40px);
  text-align: center;
}

.kitchen-lead__en {
  width: min(43.7333vw, 164px);
  margin: 0 auto min(2.4vw, 9px);
}

.kitchen-lead__ja {
  display: block;
  margin-bottom: min(5.0667vw, 19px);
  font-family: var(--mincho);
  font-size: min(3.7333vw, 0.875rem);
  font-weight: 500;
  line-height: 1.8;
  color: var(--text-color);
}

/* 見出し下の区切り線 */
.kitchen-lead__ja::after {
  display: block;
  width: min(26.6667vw, 100px);
  margin: min(5.0667vw, 19px) auto 0;
  border-top: 1px solid var(--text-color);
  content: "";
}

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

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

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

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

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

/* 2行になる見出し（ハイパーガラストップ ガスコンロ） */
.c-spec-heading--2line {
  min-height: min(15.2vw, 57px);
  margin-bottom: 0;
  line-height: 1.5;
}

.c-spec__figure {
  position: relative;
  margin-bottom: min(2.6667vw, 10px);
}

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

.c-spec__figure img {
  aspect-ratio: 158 / 109;
  object-fit: cover;
}

/* 「参考写真」ラベル（画像左下に重ねる） */
.c-spec__note {
  position: absolute;
  bottom: min(0.5333vw, 2px);
  left: min(1.3333vw, 5px);
  font-size: min(2.6667vw, 0.625rem);
  font-weight: 400;
  line-height: 1.8;
  color: var(--text-color);
}

/* 画像右下に置くパターン */
.c-spec__note--right {
  right: min(1.3333vw, 5px);
  left: auto;
}

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

.c-spec__annotation {
  margin-top: min(2.6667vw, 10px);
  font-size: min(2.6667vw, 0.625rem);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: var(--text-color);
}

/* ----------
設備ブロックのレイアウト
---------- */

/* メイン写真（SPではリード直下に全幅で置く） */
.kitchen-photo {
  margin-bottom: min(10.6667vw, 40px);
}

.kitchen-photo img {
  aspect-ratio: 335 / 340;
  object-fit: cover;
}

/* 設備を2列に並べる（SP）。
   minmax(0, 1fr) にしないと、幅の広いコンロ画像が列幅を押し広げて左右が不均等になる */
.kitchen-block__group,
.kitchen-spec__cols {
  display: grid;
  align-items: start;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: min(5.3333vw, 20px);
}

/* 見出しが2列ぶんを占める設備（ホーローキッチンパネル等） */
.kitchen-spec--wide,
.kitchen-spec--full {
  grid-column: 1 / -1;
}

/* タッチレス水栓のリードのみ全幅（Figma実値：画像335x210・テキスト幅335）。
   下2つとの間隔20pxは、figure の margin-bottom 10px に10px足して作る */
.kitchen-spec__cols--3 .c-spec--lead {
  grid-column: 1 / -1;
  margin-bottom: min(2.6667vw, 10px);
}

/* SPで全幅に置く写真（Figma実値：335x210）。
   タッチレス水栓のリードと、3列指定ブロックの各写真が同じ比率 */
.kitchen-spec__cols--3 .c-spec--lead .c-spec__figure img,
.kitchen-block--3col .c-spec__figure img {
  aspect-ratio: 335 / 210;
}

.kitchen-spec--full {
  margin-top: min(8vw, 30px);
}

/* SPでは3列・4列指定も2列で並べる */
.kitchen-block--3col {
  margin-top: min(8vw, 30px);
}

.kitchen-block--3col .kitchen-spec + .kitchen-spec {
  margin-top: min(8vw, 30px);
}

/* コンロ写真のみアスペクト比が異なる */
.c-spec__figure--stove img {
  aspect-ratio: 159 / 111;
}

.c-spec__figure--stove .c-spec__note {
  bottom: max(-5px, -1.3333vw);
}

/* ==========
注釈（このページは実テキストを入れるため色・書式を上書き）
========== */

.section__content--annotation {
  padding: min(10.6667vw, 40px) 0;
}

.section__content--annotation .annotation__text {
  font-family: var(--main-font);
  font-size: min(3.2vw, 0.75rem);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.1em;
  text-align: left;
  color: var(--text-color);
}

/* ==========
第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-bottom: 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--kitchen {
    padding: min(5.1245vw, 70px) 0 min(7.3206vw, 100px);
  }

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

  /* リード */
  .kitchen-lead {
    margin-bottom: min(5.8565vw, 80px);
  }

  .kitchen-lead__en {
    width: min(14.9487vw, 204px);
    margin-bottom: min(0.4392vw, 6px);
  }

  .kitchen-lead__ja {
    margin-bottom: min(2.1972vw, 30px);
    font-size: clamp(0.75rem, 1.1713vw, 1rem);
  }

  .kitchen-lead__ja::after {
    width: min(7.3206vw, 100px);
    margin-top: min(2.1972vw, 30px);
  }

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

  /* ----------
  設備カード
  ---------- */

  .c-spec-heading {
    min-height: min(2.4158vw, 33px);
    margin-bottom: min(1.098vw, 15px);

    /* PCは最大18pxまで拡大し行高だけで33pxに達するため、上下paddingは持たせない */
    padding: 0 min(0.7321vw, 10px);
    font-size: clamp(0.875rem, 1.3177vw, 1.125rem);
  }

  /* PCでは1行に収まるため2行用の高さ指定を戻す */
  .c-spec-heading--2line {
    min-height: min(4.246vw, 58px);
    margin-bottom: 0;
  }

  /* 文字数が多く帯幅に余裕がないため共通の字間（0.1em）を外す */
  .c-spec-heading--tight {
    letter-spacing: normal;
  }

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

  .c-spec__figure img {
    aspect-ratio: 307 / 230;
  }

  /* メインブロック内は幅223pxのため、Figma実値の比率を個別に指定する */
  .kitchen-block__group .c-spec__figure img {
    aspect-ratio: 223 / 170;
  }

  /* レンジフードのみ画像が縦に長い（Figma実値 223x195）。
     上のグループ指定と同じ詳細度で勝たせるため親クラスから書く */
  .kitchen-block__group .kitchen-spec--hood .c-spec__figure img {
    aspect-ratio: 223 / 195;
  }

  /* コンロ画像はカード幅より広いので比率も個別（Figma実値 245.16x171） */
  .kitchen-block__group .c-spec__figure--stove img {
    aspect-ratio: 245 / 171;
  }

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

  /* SPのコンロ専用指定（詳細度が高くPCにも残る）を共通値へ戻す */
  .c-spec__figure--stove .c-spec__note {
    bottom: max(-5px, -0.366vw);
  }

  .c-spec__note--right {
    right: min(0.7321vw, 10px);
    left: auto;
  }

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

  /* PCは字間を詰めてFigma同様に1行で収める（実値19px＝1行） */
  .c-spec__annotation {
    margin-top: min(0.5857vw, 8px);
    font-size: clamp(0.625rem, 0.8785vw, 0.75rem);
    letter-spacing: normal;
  }

  /* ----------
  メインブロック：左に大きな写真、右に設備を2列
  ---------- */

  .kitchen-block--main {
    display: grid;
    align-items: start;
    grid-template-columns: min(34.8462vw, 476px) 1fr;
    column-gap: min(2.2694vw, 31px);
  }

  .kitchen-photo {
    margin-bottom: 0;
  }

  .kitchen-photo img {
    aspect-ratio: 476 / 795;
  }

  /* 行間はFigma実値：row1下端(48+305=353) → row2上端(386) = 33px */
  .kitchen-block__group {
    gap: min(2.4158vw, 33px) min(2.2694vw, 31px);
  }

  /* ホーローキッチンパネルは右側2列を占め、内側でさらに2列に分かれる */
  .kitchen-spec__cols {
    gap: min(2.4158vw, 33px) min(2.2694vw, 31px);
  }

  /* 3列・4列レイアウト */
  .kitchen-spec__cols--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: min(2.1972vw, 30px);
  }

  /* PCではリードも他の2つと同じ1列ぶん。SPの全幅指定を打ち消す */
  .kitchen-spec__cols--3 .c-spec--lead {
    grid-column: auto;
    margin-bottom: 0;
  }

  /* PCではSPの全幅比率（335x210）を打ち消し、共通の1列ぶん比率に戻す */
  .kitchen-spec__cols--3 .c-spec--lead .c-spec__figure img,
  .kitchen-block--3col .c-spec__figure img {
    aspect-ratio: 307 / 230;
  }

  .kitchen-spec__cols--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: min(2.1972vw, 30px);
  }

  /* 4列（シンク）の画像は横長比率が異なる */
  .kitchen-spec__cols--4 .c-spec__figure img {
    aspect-ratio: 223 / 170;
  }

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

  .kitchen-block--3col {
    display: grid;
    align-items: start;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: min(2.1972vw, 30px);
    margin-top: min(2.9283vw, 40px);
  }

  .kitchen-block--3col .kitchen-spec + .kitchen-spec {
    margin-top: 0;
  }

  /* コンロ画像はFigmaではカード幅(223px)より広く、左へ食み出す（245.16x171） */
  .c-spec__figure--stove {
    width: min(17.9473vw, 245.16px);
    margin-left: max(-0.8053vw, -11px);
  }

  /* ==========
  第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;
  }

  /* ==========
  注釈
  ========== */

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

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

  .section__content--annotation .annotation__text {
    font-size: clamp(0.875rem, 1.1713vw, 1rem);
    text-align: center;
  }
}
