body .display-sp {
  display: none;
}

@media screen and (max-width: 767px) {
  body .display-sp {
    display: inline;
  }
}

body .display-pc {
  display: inline;
}

@media screen and (max-width: 767px) {
  body .display-pc {
    display: none;
  }
}

/*
 * マージンとパディングのユーティリティクラス (10px - 180px)
 *
 * ロジック:
 * - デフォルト: [N]px
 * - max-width: 1024px (TB): (2% + ([N] - 10) / 10)%
 * - max-width: 767px (SP): (3% + ([N] - 10) / 10)%
 */

/* ====================
 * margin-bottom (mb)
 * ==================== */
body .mb-10 {
  margin-bottom: 10px;
}

@media screen and (max-width: 1024px) {
  body .mb-10 {
    margin-bottom: 2%;
  }
}

@media screen and (max-width: 767px) {
  body .mb-10 {
    margin-bottom: 3%;
  }
}

body .mb-20 {
  margin-bottom: 20px;
}

@media screen and (max-width: 1024px) {
  body .mb-20 {
    margin-bottom: 3%;
  }
}

@media screen and (max-width: 767px) {
  body .mb-20 {
    margin-bottom: 4%;
  }
}

body .mb-30 {
  margin-bottom: 30px;
}

@media screen and (max-width: 1024px) {
  body .mb-30 {
    margin-bottom: 4%;
  }
}

@media screen and (max-width: 767px) {
  body .mb-30 {
    margin-bottom: 5%;
  }
}

body .mb-40 {
  margin-bottom: 40px;
}

@media screen and (max-width: 1024px) {
  body .mb-40 {
    margin-bottom: 5%;
  }
}

@media screen and (max-width: 767px) {
  body .mb-40 {
    margin-bottom: 6%;
  }
}

body .mb-50 {
  margin-bottom: 50px;
}

@media screen and (max-width: 1024px) {
  body .mb-50 {
    margin-bottom: 6%;
  }
}

@media screen and (max-width: 767px) {
  body .mb-50 {
    margin-bottom: 7%;
  }
}

body .mb-60 {
  margin-bottom: 60px;
}

@media screen and (max-width: 1024px) {
  body .mb-60 {
    margin-bottom: 7%;
  }
}

@media screen and (max-width: 767px) {
  body .mb-60 {
    margin-bottom: 8%;
  }
}

body .mb-70 {
  margin-bottom: 70px;
}

@media screen and (max-width: 1024px) {
  body .mb-70 {
    margin-bottom: 8%;
  }
}

@media screen and (max-width: 767px) {
  body .mb-70 {
    margin-bottom: 9%;
  }
}

body .mb-80 {
  margin-bottom: 80px;
}

@media screen and (max-width: 1024px) {
  body .mb-80 {
    margin-bottom: 9%;
  }
}

@media screen and (max-width: 767px) {
  body .mb-80 {
    margin-bottom: 10%;
  }
}

body .mb-90 {
  margin-bottom: 90px;
}

@media screen and (max-width: 1024px) {
  body .mb-90 {
    margin-bottom: 10%;
  }
}

@media screen and (max-width: 767px) {
  body .mb-90 {
    margin-bottom: 11%;
  }
}

body .mb-100 {
  margin-bottom: 100px;
}

@media screen and (max-width: 1024px) {
  body .mb-100 {
    margin-bottom: 11%;
  }
}

@media screen and (max-width: 767px) {
  body .mb-100 {
    margin-bottom: 12%;
  }
}

body .mb-110 {
  margin-bottom: 110px;
}

@media screen and (max-width: 1024px) {
  body .mb-110 {
    margin-bottom: 12%;
  }
}

@media screen and (max-width: 767px) {
  body .mb-110 {
    margin-bottom: 13%;
  }
}

body .mb-120 {
  margin-bottom: 120px;
}

@media screen and (max-width: 1024px) {
  body .mb-120 {
    margin-bottom: 13%;
  }
}

@media screen and (max-width: 767px) {
  body .mb-120 {
    margin-bottom: 14%;
  }
}

body .mb-130 {
  margin-bottom: 130px;
}

@media screen and (max-width: 1024px) {
  body .mb-130 {
    margin-bottom: 14%;
  }
}

@media screen and (max-width: 767px) {
  body .mb-130 {
    margin-bottom: 15%;
  }
}

body .mb-140 {
  margin-bottom: 140px;
}

@media screen and (max-width: 1024px) {
  body .mb-140 {
    margin-bottom: 15%;
  }
}

@media screen and (max-width: 767px) {
  body .mb-140 {
    margin-bottom: 16%;
  }
}

body .mb-150 {
  margin-bottom: 150px;
}

@media screen and (max-width: 1024px) {
  body .mb-150 {
    margin-bottom: 16%;
  }
}

@media screen and (max-width: 767px) {
  body .mb-150 {
    margin-bottom: 17%;
  }
}

body .mb-160 {
  margin-bottom: 160px;
}

@media screen and (max-width: 1024px) {
  body .mb-160 {
    margin-bottom: 17%;
  }
}

@media screen and (max-width: 767px) {
  body .mb-160 {
    margin-bottom: 18%;
  }
}

body .mb-170 {
  margin-bottom: 170px;
}

@media screen and (max-width: 1024px) {
  body .mb-170 {
    margin-bottom: 18%;
  }
}

@media screen and (max-width: 767px) {
  body .mb-170 {
    margin-bottom: 19%;
  }
}

body .mb-180 {
  margin-bottom: 180px;
}

@media screen and (max-width: 1024px) {
  body .mb-180 {
    margin-bottom: 19%;
  }
}

@media screen and (max-width: 767px) {
  body .mb-180 {
    margin-bottom: 20%;
  }
}

---

/* ====================
  * margin-top (mt)
  * ==================== */
body .mt-10 {
  margin-top: 10px;
}

@media screen and (max-width: 1024px) {
  body .mt-10 {
    margin-top: 2%;
  }
}

@media screen and (max-width: 767px) {
  body .mt-10 {
    margin-top: 3%;
  }
}

body .mt-20 {
  margin-top: 20px;
}

@media screen and (max-width: 1024px) {
  body .mt-20 {
    margin-top: 3%;
  }
}

@media screen and (max-width: 767px) {
  body .mt-20 {
    margin-top: 4%;
  }
}

body .mt-30 {
  margin-top: 30px;
}

@media screen and (max-width: 1024px) {
  body .mt-30 {
    margin-top: 4%;
  }
}

@media screen and (max-width: 767px) {
  body .mt-30 {
    margin-top: 5%;
  }
}

body .mt-40 {
  margin-top: 40px;
}

@media screen and (max-width: 1024px) {
  body .mt-40 {
    margin-top: 5%;
  }
}

@media screen and (max-width: 767px) {
  body .mt-40 {
    margin-top: 6%;
  }
}

body .mt-50 {
  margin-top: 50px;
}

@media screen and (max-width: 1024px) {
  body .mt-50 {
    margin-top: 6%;
  }
}

@media screen and (max-width: 767px) {
  body .mt-50 {
    margin-top: 7%;
  }
}

body .mt-60 {
  margin-top: 60px;
}

@media screen and (max-width: 1024px) {
  body .mt-60 {
    margin-top: 7%;
  }
}

@media screen and (max-width: 767px) {
  body .mt-60 {
    margin-top: 8%;
  }
}

body .mt-70 {
  margin-top: 70px;
}

@media screen and (max-width: 1024px) {
  body .mt-70 {
    margin-top: 8%;
  }
}

@media screen and (max-width: 767px) {
  body .mt-70 {
    margin-top: 9%;
  }
}

body .mt-80 {
  margin-top: 80px;
}

@media screen and (max-width: 1024px) {
  body .mt-80 {
    margin-top: 9%;
  }
}

@media screen and (max-width: 767px) {
  body .mt-80 {
    margin-top: 10%;
  }
}

body .mt-90 {
  margin-top: 90px;
}

@media screen and (max-width: 1024px) {
  body .mt-90 {
    margin-top: 10%;
  }
}

@media screen and (max-width: 767px) {
  body .mt-90 {
    margin-top: 11%;
  }
}

body .mt-100 {
  margin-top: 100px;
}

@media screen and (max-width: 1024px) {
  body .mt-100 {
    margin-top: 11%;
  }
}

@media screen and (max-width: 767px) {
  body .mt-100 {
    margin-top: 12%;
  }
}

body .mt-110 {
  margin-top: 110px;
}

@media screen and (max-width: 1024px) {
  body .mt-110 {
    margin-top: 12%;
  }
}

@media screen and (max-width: 767px) {
  body .mt-110 {
    margin-top: 13%;
  }
}

body .mt-120 {
  margin-top: 120px;
}

@media screen and (max-width: 1024px) {
  body .mt-120 {
    margin-top: 13%;
  }
}

@media screen and (max-width: 767px) {
  body .mt-120 {
    margin-top: 14%;
  }
}

body .mt-130 {
  margin-top: 130px;
}

@media screen and (max-width: 1024px) {
  body .mt-130 {
    margin-top: 14%;
  }
}

@media screen and (max-width: 767px) {
  body .mt-130 {
    margin-top: 15%;
  }
}

body .mt-140 {
  margin-top: 140px;
}

@media screen and (max-width: 1024px) {
  body .mt-140 {
    margin-top: 15%;
  }
}

@media screen and (max-width: 767px) {
  body .mt-140 {
    margin-top: 16%;
  }
}

body .mt-150 {
  margin-top: 150px;
}

@media screen and (max-width: 1024px) {
  body .mt-150 {
    margin-top: 16%;
  }
}

@media screen and (max-width: 767px) {
  body .mt-150 {
    margin-top: 17%;
  }
}

body .mt-160 {
  margin-top: 160px;
}

@media screen and (max-width: 1024px) {
  body .mt-160 {
    margin-top: 17%;
  }
}

@media screen and (max-width: 767px) {
  body .mt-160 {
    margin-top: 18%;
  }
}

body .mt-170 {
  margin-top: 170px;
}

@media screen and (max-width: 1024px) {
  body .mt-170 {
    margin-top: 18%;
  }
}

@media screen and (max-width: 767px) {
  body .mt-170 {
    margin-top: 19%;
  }
}

body .mt-180 {
  margin-top: 180px;
}

@media screen and (max-width: 1024px) {
  body .mt-180 {
    margin-top: 19%;
  }
}

@media screen and (max-width: 767px) {
  body .mt-180 {
    margin-top: 20%;
  }
}

---

/* ====================
  * padding-bottom (pb)
  * ==================== */
body .pdb-10 {
  padding-bottom: 10px;
}

@media screen and (max-width: 1024px) {
  body .pdb-10 {
    padding-bottom: 2%;
  }
}

@media screen and (max-width: 767px) {
  body .pdb-10 {
    padding-bottom: 3%;
  }
}

body .pdb-20 {
  padding-bottom: 20px;
}

@media screen and (max-width: 1024px) {
  body .pdb-20 {
    padding-bottom: 3%;
  }
}

@media screen and (max-width: 767px) {
  body .pdb-20 {
    padding-bottom: 4%;
  }
}

body .pdb-30 {
  padding-bottom: 30px;
}

@media screen and (max-width: 1024px) {
  body .pdb-30 {
    padding-bottom: 4%;
  }
}

@media screen and (max-width: 767px) {
  body .pdb-30 {
    padding-bottom: 5%;
  }
}

body .pdb-40 {
  padding-bottom: 40px;
}

@media screen and (max-width: 1024px) {
  body .pdb-40 {
    padding-bottom: 5%;
  }
}

@media screen and (max-width: 767px) {
  body .pdb-40 {
    padding-bottom: 6%;
  }
}

body .pdb-50 {
  padding-bottom: 50px;
}

@media screen and (max-width: 1024px) {
  body .pdb-50 {
    padding-bottom: 6%;
  }
}

@media screen and (max-width: 767px) {
  body .pdb-50 {
    padding-bottom: 7%;
  }
}

body .pdb-60 {
  padding-bottom: 60px;
}

@media screen and (max-width: 1024px) {
  body .pdb-60 {
    padding-bottom: 7%;
  }
}

@media screen and (max-width: 767px) {
  body .pdb-60 {
    padding-bottom: 8%;
  }
}

body .pdb-70 {
  padding-bottom: 70px;
}

@media screen and (max-width: 1024px) {
  body .pdb-70 {
    padding-bottom: 8%;
  }
}

@media screen and (max-width: 767px) {
  body .pdb-70 {
    padding-bottom: 9%;
  }
}

body .pdb-80 {
  padding-bottom: 80px;
}

@media screen and (max-width: 1024px) {
  body .pdb-80 {
    padding-bottom: 9%;
  }
}

@media screen and (max-width: 767px) {
  body .pdb-80 {
    padding-bottom: 10%;
  }
}

body .pdb-90 {
  padding-bottom: 90px;
}

@media screen and (max-width: 1024px) {
  body .pdb-90 {
    padding-bottom: 10%;
  }
}

@media screen and (max-width: 767px) {
  body .pdb-90 {
    padding-bottom: 11%;
  }
}

body .pdb-100 {
  padding-bottom: 100px;
}

@media screen and (max-width: 1024px) {
  body .pdb-100 {
    padding-bottom: 11%;
  }
}

@media screen and (max-width: 767px) {
  body .pdb-100 {
    padding-bottom: 12%;
  }
}

body .pdb-110 {
  padding-bottom: 110px;
}

@media screen and (max-width: 1024px) {
  body .pdb-110 {
    padding-bottom: 12%;
  }
}

@media screen and (max-width: 767px) {
  body .pdb-110 {
    padding-bottom: 13%;
  }
}

body .pdb-120 {
  padding-bottom: 120px;
}

@media screen and (max-width: 1024px) {
  body .pdb-120 {
    padding-bottom: 13%;
  }
}

@media screen and (max-width: 767px) {
  body .pdb-120 {
    padding-bottom: 14%;
  }
}

body .pdb-130 {
  padding-bottom: 130px;
}

@media screen and (max-width: 1024px) {
  body .pdb-130 {
    padding-bottom: 14%;
  }
}

@media screen and (max-width: 767px) {
  body .pdb-130 {
    padding-bottom: 15%;
  }
}

body .pdb-140 {
  padding-bottom: 140px;
}

@media screen and (max-width: 1024px) {
  body .pdb-140 {
    padding-bottom: 15%;
  }
}

@media screen and (max-width: 767px) {
  body .pdb-140 {
    padding-bottom: 16%;
  }
}

body .pdb-150 {
  padding-bottom: 150px;
}

@media screen and (max-width: 1024px) {
  body .pdb-150 {
    padding-bottom: 16%;
  }
}

@media screen and (max-width: 767px) {
  body .pdb-150 {
    padding-bottom: 17%;
  }
}

body .pdb-160 {
  padding-bottom: 160px;
}

@media screen and (max-width: 1024px) {
  body .pdb-160 {
    padding-bottom: 17%;
  }
}

@media screen and (max-width: 767px) {
  body .pdb-160 {
    padding-bottom: 18%;
  }
}

body .pdb-170 {
  padding-bottom: 170px;
}

@media screen and (max-width: 1024px) {
  body .pdb-170 {
    padding-bottom: 18%;
  }
}

@media screen and (max-width: 767px) {
  body .pdb-170 {
    padding-bottom: 19%;
  }
}

body .pdb-180 {
  padding-bottom: 180px;
}

@media screen and (max-width: 1024px) {
  body .pdb-180 {
    padding-bottom: 19%;
  }
}

@media screen and (max-width: 767px) {
  body .pdb-180 {
    padding-bottom: 20%;
  }
}

---

/* ====================
  * padding-top (pt)
  * ==================== */
body .pdt-10 {
  padding-top: 10px;
}

@media screen and (max-width: 1024px) {
  body .pdt-10 {
    padding-top: 2%;
  }
}

@media screen and (max-width: 767px) {
  body .pdt-10 {
    padding-top: 3%;
  }
}

body .pdt-20 {
  padding-top: 20px;
}

@media screen and (max-width: 1024px) {
  body .pdt-20 {
    padding-top: 3%;
  }
}

@media screen and (max-width: 767px) {
  body .pdt-20 {
    padding-top: 4%;
  }
}

body .pdt-30 {
  padding-top: 30px;
}

@media screen and (max-width: 1024px) {
  body .pdt-30 {
    padding-top: 4%;
  }
}

@media screen and (max-width: 767px) {
  body .pdt-30 {
    padding-top: 5%;
  }
}

body .pdt-40 {
  padding-top: 40px;
}

@media screen and (max-width: 1024px) {
  body .pdt-40 {
    padding-top: 5%;
  }
}

@media screen and (max-width: 767px) {
  body .pdt-40 {
    padding-top: 6%;
  }
}

body .pdt-50 {
  padding-top: 50px;
}

@media screen and (max-width: 1024px) {
  body .pdt-50 {
    padding-top: 6%;
  }
}

@media screen and (max-width: 767px) {
  body .pdt-50 {
    padding-top: 7%;
  }
}

body .pdt-60 {
  padding-top: 60px;
}

@media screen and (max-width: 1024px) {
  body .pdt-60 {
    padding-top: 7%;
  }
}

@media screen and (max-width: 767px) {
  body .pdt-60 {
    padding-top: 8%;
  }
}

body .pdt-70 {
  padding-top: 70px;
}

@media screen and (max-width: 1024px) {
  body .pdt-70 {
    padding-top: 8%;
  }
}

@media screen and (max-width: 767px) {
  body .pdt-70 {
    padding-top: 9%;
  }
}

body .pdt-80 {
  padding-top: 80px;
}

@media screen and (max-width: 1024px) {
  body .pdt-80 {
    padding-top: 9%;
  }
}

@media screen and (max-width: 767px) {
  body .pdt-80 {
    padding-top: 10%;
  }
}

body .pdt-90 {
  padding-top: 90px;
}

@media screen and (max-width: 1024px) {
  body .pdt-90 {
    padding-top: 10%;
  }
}

@media screen and (max-width: 767px) {
  body .pdt-90 {
    padding-top: 11%;
  }
}

body .pdt-100 {
  padding-top: 100px;
}

@media screen and (max-width: 1024px) {
  body .pdt-100 {
    padding-top: 11%;
  }
}

@media screen and (max-width: 767px) {
  body .pdt-100 {
    padding-top: 12%;
  }
}

body .pdt-110 {
  padding-top: 110px;
}

@media screen and (max-width: 1024px) {
  body .pdt-110 {
    padding-top: 12%;
  }
}

@media screen and (max-width: 767px) {
  body .pdt-110 {
    padding-top: 13%;
  }
}

body .pdt-120 {
  padding-top: 120px;
}

@media screen and (max-width: 1024px) {
  body .pdt-120 {
    padding-top: 13%;
  }
}

@media screen and (max-width: 767px) {
  body .pdt-120 {
    padding-top: 14%;
  }
}

body .pdt-130 {
  padding-top: 130px;
}

@media screen and (max-width: 1024px) {
  body .pdt-130 {
    padding-top: 14%;
  }
}

@media screen and (max-width: 767px) {
  body .pdt-130 {
    padding-top: 15%;
  }
}

body .pdt-140 {
  padding-top: 140px;
}

@media screen and (max-width: 1024px) {
  body .pdt-140 {
    padding-top: 15%;
  }
}

@media screen and (max-width: 767px) {
  body .pdt-140 {
    padding-top: 16%;
  }
}

body .pdt-150 {
  padding-top: 150px;
}

@media screen and (max-width: 1024px) {
  body .pdt-150 {
    padding-top: 16%;
  }
}

@media screen and (max-width: 767px) {
  body .pdt-150 {
    padding-top: 17%;
  }
}

body .pdt-160 {
  padding-top: 160px;
}

@media screen and (max-width: 1024px) {
  body .pdt-160 {
    padding-top: 17%;
  }
}

@media screen and (max-width: 767px) {
  body .pdt-160 {
    padding-top: 18%;
  }
}

body .pdt-170 {
  padding-top: 170px;
}

@media screen and (max-width: 1024px) {
  body .pdt-170 {
    padding-top: 18%;
  }
}

@media screen and (max-width: 767px) {
  body .pdt-170 {
    padding-top: 19%;
  }
}

body .pdt-180 {
  padding-top: 180px;
}

@media screen and (max-width: 1024px) {
  body .pdt-180 {
    padding-top: 19%;
  }
}

@media screen and (max-width: 767px) {
  body .pdt-180 {
    padding-top: 20%;
  }
}