/* ============================================================
   Spacing Utilities
   使い方: pt-20 → padding-top: 20px
   ============================================================ */

/* ---------- Padding All ---------- */
.p-0  { padding: 0 !important; }
.p-5  { padding: 5px !important; }
.p-10 { padding: 10px !important; }
.p-15 { padding: 15px !important; }
.p-20 { padding: 20px !important; }
.p-25 { padding: 25px !important; }
.p-30 { padding: 30px !important; }
.p-40 { padding: 40px !important; }
.p-50 { padding: 50px !important; }
.p-60 { padding: 60px !important; }
.p-80 { padding: 80px !important; }
.p-100{ padding: 100px !important; }

/* ---------- Padding Top ---------- */
.pt-0  { padding-top: 0 !important; }
.pt-5  { padding-top: 5px !important; }
.pt-10 { padding-top: 10px !important; }
.pt-15 { padding-top: 15px !important; }
.pt-20 { padding-top: 20px !important; }
.pt-25 { padding-top: 25px !important; }
.pt-30 { padding-top: 30px !important; }
.pt-40 { padding-top: 40px !important; }
.pt-50 { padding-top: 50px !important; }
.pt-60 { padding-top: 60px !important; }
.pt-80 { padding-top: 80px !important; }
.pt-100{ padding-top: 100px !important; }
.pt-120{ padding-top: 120px !important; }

/* ---------- Padding Bottom ---------- */
.pb-0  { padding-bottom: 0 !important; }
.pb-5  { padding-bottom: 5px !important; }
.pb-10 { padding-bottom: 10px !important; }
.pb-15 { padding-bottom: 15px !important; }
.pb-20 { padding-bottom: 20px !important; }
.pb-25 { padding-bottom: 25px !important; }
.pb-30 { padding-bottom: 30px !important; }
.pb-40 { padding-bottom: 40px !important; }
.pb-50 { padding-bottom: 50px !important; }
.pb-60 { padding-bottom: 60px !important; }
.pb-80 { padding-bottom: 80px !important; }
.pb-100{ padding-bottom: 100px !important; }
.pb-120{ padding-bottom: 120px !important; }

/* ---------- Padding Left ---------- */
.pl-0  { padding-left: 0 !important; }
.pl-5  { padding-left: 5px !important; }
.pl-10 { padding-left: 10px !important; }
.pl-15 { padding-left: 15px !important; }
.pl-20 { padding-left: 20px !important; }
.pl-25 { padding-left: 25px !important; }
.pl-30 { padding-left: 30px !important; }
.pl-40 { padding-left: 40px !important; }
.pl-50 { padding-left: 50px !important; }
.pl-60 { padding-left: 60px !important; }
.pl-80 { padding-left: 80px !important; }
.pl-100{ padding-left: 100px !important; }

/* ---------- Padding Right ---------- */
.pr-0  { padding-right: 0 !important; }
.pr-5  { padding-right: 5px !important; }
.pr-10 { padding-right: 10px !important; }
.pr-15 { padding-right: 15px !important; }
.pr-20 { padding-right: 20px !important; }
.pr-25 { padding-right: 25px !important; }
.pr-30 { padding-right: 30px !important; }
.pr-40 { padding-right: 40px !important; }
.pr-50 { padding-right: 50px !important; }
.pr-60 { padding-right: 60px !important; }
.pr-80 { padding-right: 80px !important; }
.pr-100{ padding-right: 100px !important; }

/* ---------- Padding X (Left + Right) ---------- */
.px-0  { padding-left: 0 !important;   padding-right: 0 !important; }
.px-5  { padding-left: 5px !important;  padding-right: 5px !important; }
.px-10 { padding-left: 10px !important; padding-right: 10px !important; }
.px-15 { padding-left: 15px !important; padding-right: 15px !important; }
.px-20 { padding-left: 20px !important; padding-right: 20px !important; }
.px-25 { padding-left: 25px !important; padding-right: 25px !important; }
.px-30 { padding-left: 30px !important; padding-right: 30px !important; }
.px-40 { padding-left: 40px !important; padding-right: 40px !important; }
.px-50 { padding-left: 50px !important; padding-right: 50px !important; }
.px-60 { padding-left: 60px !important; padding-right: 60px !important; }
.px-80 { padding-left: 80px !important; padding-right: 80px !important; }

/* ---------- Padding Y (Top + Bottom) ---------- */
.py-0  { padding-top: 0 !important;    padding-bottom: 0 !important; }
.py-5  { padding-top: 5px !important;  padding-bottom: 5px !important; }
.py-10 { padding-top: 10px !important; padding-bottom: 10px !important; }
.py-15 { padding-top: 15px !important; padding-bottom: 15px !important; }
.py-20 { padding-top: 20px !important; padding-bottom: 20px !important; }
.py-25 { padding-top: 25px !important; padding-bottom: 25px !important; }
.py-30 { padding-top: 30px !important; padding-bottom: 30px !important; }
.py-40 { padding-top: 40px !important; padding-bottom: 40px !important; }
.py-50 { padding-top: 50px !important; padding-bottom: 50px !important; }
.py-60 { padding-top: 60px !important; padding-bottom: 60px !important; }
.py-80 { padding-top: 80px !important; padding-bottom: 80px !important; }

/* ============================================================ */

/* ---------- Margin All ---------- */
.m-0  { margin: 0 !important; }
.m-5  { margin: 5px !important; }
.m-10 { margin: 10px !important; }
.m-15 { margin: 15px !important; }
.m-20 { margin: 20px !important; }
.m-25 { margin: 25px !important; }
.m-30 { margin: 30px !important; }
.m-40 { margin: 40px !important; }
.m-50 { margin: 50px !important; }
.m-60 { margin: 60px !important; }
.m-80 { margin: 80px !important; }
.m-100{ margin: 100px !important; }

/* ---------- Margin Top ---------- */
.mt-0  { margin-top: 0 !important; }
.mt-5  { margin-top: 5px !important; }
.mt-10 { margin-top: 10px !important; }
.mt-15 { margin-top: 15px !important; }
.mt-20 { margin-top: 20px !important; }
.mt-25 { margin-top: 25px !important; }
.mt-30 { margin-top: 30px !important; }
.mt-40 { margin-top: 40px !important; }
.mt-50 { margin-top: 50px !important; }
.mt-60 { margin-top: 60px !important; }
.mt-80 { margin-top: 80px !important; }
.mt-100{ margin-top: 100px !important; }
.mt-120{ margin-top: 120px !important; }

/* ---------- Margin Bottom ---------- */
.mb-0  { margin-bottom: 0 !important; }
.mb-5  { margin-bottom: 5px !important; }
.mb-10 { margin-bottom: 10px !important; }
.mb-15 { margin-bottom: 15px !important; }
.mb-20 { margin-bottom: 20px !important; }
.mb-25 { margin-bottom: 25px !important; }
.mb-30 { margin-bottom: 30px !important; }
.mb-40 { margin-bottom: 40px !important; }
.mb-50 { margin-bottom: 50px !important; }
.mb-60 { margin-bottom: 60px !important; }
.mb-80 { margin-bottom: 80px !important; }
.mb-100{ margin-bottom: 100px !important; }
.mb-120{ margin-bottom: 120px !important; }

/* ---------- Margin Left ---------- */
.ml-0    { margin-left: 0 !important; }
.ml-5    { margin-left: 5px !important; }
.ml-10   { margin-left: 10px !important; }
.ml-15   { margin-left: 15px !important; }
.ml-20   { margin-left: 20px !important; }
.ml-25   { margin-left: 25px !important; }
.ml-30   { margin-left: 30px !important; }
.ml-40   { margin-left: 40px !important; }
.ml-50   { margin-left: 50px !important; }
.ml-60   { margin-left: 60px !important; }
.ml-80   { margin-left: 80px !important; }
.ml-auto { margin-left: auto !important; }

/* ---------- Margin Right ---------- */
.mr-0    { margin-right: 0 !important; }
.mr-5    { margin-right: 5px !important; }
.mr-10   { margin-right: 10px !important; }
.mr-15   { margin-right: 15px !important; }
.mr-20   { margin-right: 20px !important; }
.mr-25   { margin-right: 25px !important; }
.mr-30   { margin-right: 30px !important; }
.mr-40   { margin-right: 40px !important; }
.mr-50   { margin-right: 50px !important; }
.mr-60   { margin-right: 60px !important; }
.mr-80   { margin-right: 80px !important; }
.mr-auto { margin-right: auto !important; }

/* ---------- Margin X (Left + Right) ---------- */
.mx-0    { margin-left: 0 !important;    margin-right: 0 !important; }
.mx-5    { margin-left: 5px !important;  margin-right: 5px !important; }
.mx-10   { margin-left: 10px !important; margin-right: 10px !important; }
.mx-15   { margin-left: 15px !important; margin-right: 15px !important; }
.mx-20   { margin-left: 20px !important; margin-right: 20px !important; }
.mx-25   { margin-left: 25px !important; margin-right: 25px !important; }
.mx-30   { margin-left: 30px !important; margin-right: 30px !important; }
.mx-40   { margin-left: 40px !important; margin-right: 40px !important; }
.mx-50   { margin-left: 50px !important; margin-right: 50px !important; }
.mx-60   { margin-left: 60px !important; margin-right: 60px !important; }
.mx-80   { margin-left: 80px !important; margin-right: 80px !important; }
.mx-auto { margin-left: auto !important; margin-right: auto !important; }

/* ---------- Margin Y (Top + Bottom) ---------- */
.my-0  { margin-top: 0 !important;    margin-bottom: 0 !important; }
.my-5  { margin-top: 5px !important;  margin-bottom: 5px !important; }
.my-10 { margin-top: 10px !important; margin-bottom: 10px !important; }
.my-15 { margin-top: 15px !important; margin-bottom: 15px !important; }
.my-20 { margin-top: 20px !important; margin-bottom: 20px !important; }
.my-25 { margin-top: 25px !important; margin-bottom: 25px !important; }
.my-30 { margin-top: 30px !important; margin-bottom: 30px !important; }
.my-40 { margin-top: 40px !important; margin-bottom: 40px !important; }
.my-50 { margin-top: 50px !important; margin-bottom: 50px !important; }
.my-60 { margin-top: 60px !important; margin-bottom: 60px !important; }
.my-80 { margin-top: 80px !important; margin-bottom: 80px !important; }

/* ============================================================
   Font Utilities
   ============================================================ */

/* ---------- Font Size ---------- */
.fs-10 { font-size: 10px !important; }
.fs-11 { font-size: 11px !important; }
.fs-12 { font-size: 12px !important; }
.fs-13 { font-size: 13px !important; }
.fs-14 { font-size: 14px !important; }
.fs-15 { font-size: 15px !important; }
.fs-16 { font-size: 16px !important; }
.fs-18 { font-size: 18px !important; }
.fs-20 { font-size: 20px !important; }
.fs-22 { font-size: 22px !important; }
.fs-24 { font-size: 24px !important; }
.fs-26 { font-size: 26px !important; }
.fs-28 { font-size: 28px !important; }
.fs-30 { font-size: 30px !important; }
.fs-32 { font-size: 32px !important; }
.fs-36 { font-size: 36px !important; }
.fs-40 { font-size: 40px !important; }
.fs-48 { font-size: 48px !important; }
.fs-56 { font-size: 56px !important; }
.fs-64 { font-size: 64px !important; }

/* ---------- Font Weight ---------- */
.fw-100 { font-weight: 100 !important; }
.fw-200 { font-weight: 200 !important; }
.fw-300 { font-weight: 300 !important; }
.fw-400 { font-weight: 400 !important; }
.fw-500 { font-weight: 500 !important; }
.fw-600 { font-weight: 600 !important; }
.fw-700 { font-weight: 700 !important; }
.fw-800 { font-weight: 800 !important; }
.fw-900 { font-weight: 900 !important; }
.fw-normal { font-weight: normal !important; }
.fw-bold   { font-weight: bold !important; }
