@charset "utf-8";
/* 沈下速度の比較表（接頭辞 fs-）
 * 使っているページ: products/egisharp（暗い地・fs--dark）/ products/jadohen /
 *                   products/egisharp_alpha / products/longegi と、その11言語版。
 *
 * ⚠ このサイトは base.css で html { font-size: 62.5% }＝ **1rem = 10px**。
 *
 * 【設計】
 *  - 帯は装飾ではなく実データ。0〜15 秒の共通目盛りの上に、その規格の秒数の範囲を置く。
 *    位置と幅は --from / --span としてセルに直接書く（値はデータなので HTML 側）。
 *  - **秒数が公表されていない製品では帯の列ごと出さない。** 数字を作らないため。
 *    その場合は .fs__table に列を減らした形で使う（HTML 側で <td> を出さない）。
 *  - V の段階と呼び方は製品ごとに違う。**この部品を製品どうしの比較に使わないこと。**
 */

.fs {
  --fs-bg:     linear-gradient(135deg, #f7f9fb 0%, #eef2f6 100%);
  --fs-border: #d7dde5;
  --fs-ttl:    #1E3A5F;
  --fs-lead:   #55617180;
  --fs-text:   #1d2733;
  --fs-head:   #1E3A5F;
  --fs-rule:   rgba(30, 58, 95, 0.14);
  --fs-strong: #10203a;
  --fs-sub:    #6c7784;
  --fs-track:  rgba(30, 58, 95, 0.10);
  --fs-grid:   rgba(30, 58, 95, 0.26);

  max-width: 1100px;
  margin: 60px auto;
  padding: 44px 36px;
  background: var(--fs-bg);
  border: 1px solid var(--fs-border);
  border-radius: 16px;
  color: var(--fs-text);
}
.fs--dark {
  --fs-bg:     linear-gradient(135deg, rgba(60, 0, 0, 0.72) 0%, rgba(25, 0, 0, 0.86) 100%);
  --fs-border: rgba(255, 51, 51, 0.4);
  --fs-ttl:    #ffffff;
  --fs-text:   #ececec;
  --fs-head:   #ffb3b3;
  --fs-rule:   rgba(255, 255, 255, 0.12);
  --fs-strong: #ffffff;
  --fs-sub:    #b9a8a8;
  --fs-track:  rgba(255, 255, 255, 0.09);
  --fs-grid:   rgba(255, 255, 255, 0.22);
  border-width: 2px;
  border-radius: 20px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.55);
}
.fs--dark .fs__lead { color: #d8c8c8; }
.fs--dark .fs__ttl  { text-shadow: 0 0 18px rgba(255, 100, 100, 0.5), 2px 2px 4px rgba(0, 0, 0, 0.8); }
.fs--dark .fs__table thead th { border-bottom-color: rgba(255, 51, 51, 0.45); }

.fs__ttl {
  margin: 0 0 8px;
  font-size: clamp(2.0rem, 2.8vw, 3.0rem);
  font-weight: 700;
  color: var(--fs-ttl);
  text-align: center;
  letter-spacing: 0.04em;
  line-height: 1.5;
}
.fs__lead {
  margin: 0 0 32px;
  font-size: 1.7rem;
  line-height: 1.85;
  color: var(--fs-sub);
  text-align: center;
}

.fs__scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.fs__table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
  color: var(--fs-text);
}
.fs__table th, .fs__table td {
  padding: 18px 14px;
  border-bottom: 1px solid var(--fs-rule);
  vertical-align: middle;
  text-align: left;
}
.fs__table thead th {
  padding-bottom: 12px;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--fs-head);
  letter-spacing: 0.08em;
  white-space: nowrap;
  border-bottom: 2px solid var(--fs-head);
}
.fs__table tbody tr:last-child th,
.fs__table tbody tr:last-child td { border-bottom: none; }

/* grade badge（画像がある製品）／ラベル（画像が無い製品） */
.fs__badge { width: 84px; height: 84px; display: block; border-radius: 50%; }
.fs__type  { width: 104px; }
.fs__label {
  display: inline-block;
  min-width: 3.6em;
  padding: 6px 12px;
  border: 2px solid var(--tone, var(--fs-head));
  border-radius: 999px;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  color: var(--tone, var(--fs-head));
}

/* time to sink 1 m */
.fs__time { width: 320px; }
.fs__sec  { display: block; font-size: 2.8rem; font-weight: 700; color: var(--fs-strong); line-height: 1.1; }
.fs__sec small { font-size: 1.6rem; font-weight: 400; color: var(--fs-sub); margin-left: 2px; }
.fs__track {
  display: block;
  position: relative;
  height: 12px;
  margin-top: 12px;
  border-radius: 6px;
  background:
    repeating-linear-gradient(to right, var(--fs-grid) 0 1px, transparent 1px calc(100% / 3)),
    var(--fs-track);
}
.fs__range {
  position: absolute;
  top: 0; bottom: 0;
  left: var(--from);
  width: var(--span);
  min-width: 5px;
  border-radius: 6px;
  background: var(--hue);
  box-shadow: 0 0 12px var(--hue);
}
.fs__axis {
  display: flex;
  justify-content: space-between;
  margin-top: 6px;
  font-size: 1.2rem;
  color: var(--fs-sub);
  letter-spacing: 0.04em;
}

/* weight */
.fs__w { width: 120px; font-size: 1.9rem; color: var(--fs-strong); white-space: nowrap; }
.fs__w b    { display: block; font-weight: 700; line-height: 1.2; }
.fs__w span { display: block; font-size: 1.3rem; color: var(--fs-sub); margin-bottom: 10px; }
.fs__w span:last-child { margin-bottom: 0; }

/* where it works */
.fs__use { font-size: 1.6rem; line-height: 1.75; }

.fs__note {
  margin: 26px 0 0;
  font-size: 1.4rem;
  line-height: 1.8;
  color: var(--fs-sub);
  padding-left: 1.1em;
  text-indent: -1.1em;
}

@media screen and (max-width: 767px) {
  .fs { padding: 32px 18px; margin: 40px auto; }
  .fs__lead { font-size: 1.55rem; margin-bottom: 24px; }
  .fs__badge { width: 64px; height: 64px; }
  .fs__type { width: 80px; }
  .fs__label { font-size: 1.6rem; padding: 5px 10px; }
  .fs__sec { font-size: 2.3rem; }
  .fs__use { font-size: 1.5rem; }
}
