@charset "UTF-8";

/* Firefox: var() を含む複雑な calc が効かないため clamp + *-vw 変数で上書き */
@-moz-document url-prefix() {
  @media (min-width: 768px) {
    [mt] {
      margin-top: calc(var(--mt-vw) * 1vw);
    }

    [mb] {
      margin-bottom: calc(var(--mb-vw) * 1vw);
    }

    [ml] {
      margin-left: calc(var(--ml-vw) * 1vw);
    }

    [mr] {
      margin-right: calc(var(--mr-vw) * 1vw);
    }

    [pt] {
      padding-top: clamp(0px, calc(var(--pt-vw) * 1vw), var(--pt));
    }

    [pb] {
      padding-bottom: clamp(0px, calc(var(--pb-vw) * 1vw), var(--pb));
    }

    [pl] {
      padding-left: clamp(0px, calc(var(--pl-vw) * 1vw), var(--pl));
    }

    [pr] {
      padding-right: clamp(0px, calc(var(--pr-vw) * 1vw), var(--pr));
    }

    [f] {
      font-size: clamp(calc(var(--f-vw) * 0.5 * 1vw), calc(var(--f-vw) * 1vw), var(--f));
    }
  }

  @media (max-width: 767px) {
    [mtsp] {
      margin-top: calc(var(--mtsp-vw) * 1vw);
    }

    [mbsp] {
      margin-bottom: calc(var(--mbsp-vw) * 1vw);
    }

    [mlsp] {
      margin-left: calc(var(--mlsp-vw) * 1vw);
    }

    [mrsp] {
      margin-right: calc(var(--mrsp-vw) * 1vw);
    }

    [ptsp] {
      padding-top: clamp(0px, calc(var(--ptsp-vw) * 1vw), var(--ptsp));
    }

    [pbsp] {
      padding-bottom: clamp(0px, calc(var(--pbsp-vw) * 1vw), var(--pbsp));
    }

    [plsp] {
      padding-left: clamp(0px, calc(var(--plsp-vw) * 1vw), var(--plsp));
    }

    [prsp] {
      padding-right: clamp(0px, calc(var(--prsp-vw) * 1vw), var(--prsp));
    }

    [fsp] {
      font-size: clamp(calc(var(--fsp-vw) * 0.5 * 1vw), calc(var(--fsp-vw) * 1vw), var(--fsp));
    }

    .compare_row[w] {
      width: var(--w);
    }
  }
}
