@charset "utf-8";
/*===========================================================================

　汎用的に使えるヘルパークラス（微調整や効果）をまとめます。
	
===========================================================================*/

/* スクロールアニメーション
===========================================================================*/

/* アニメーションの基本設定（画面外の状態） */
.scroll-animation {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.8s ease, transform 0.8s ease, filter 1.2s ease;
}
/* 画面内に入った時のスタイル (.is-visibleはJSが付与) */
.scroll-animation.is-visible {
  opacity: 1;
  visibility: visible;
  transform: none; /* transformプロパティをリセット */
  filter: none;    /* filterプロパティをリセット */
}
/* --- アニメーションの種類 --- */
/* 下からフェードイン */
.fade-in-bottom { transform: translateY(50px); }
/* 上からフェードイン */
.fade-in-top { transform: translateY(-50px); }
/* 左からフェードイン */
.fade-in-left { transform: translateX(-50px); }
/* 右からフェードイン */
.fade-in-right { transform: translateX(50px); }
/* ズームイン */
.zoom-in { transform: scale(0.9); }
/* ズームアウト */
.zoom-out { transform: scale(1.1); }
/* フォーカスイン */
.text-focus-in {
  filter: blur(10px);
}
/* --- 遅延 (Delay) --- */
.delay-200 { transition-delay: 200ms; }
.delay-400 { transition-delay: 400ms; }
.delay-600 { transition-delay: 600ms; }
.delay-800 { transition-delay: 800ms; }
.delay-1000{ transition-delay: 1000ms; }

/* 画像ホバーエフェクト
===========================================================================*/
/*
<!-- 全体をリンクにしたい場合は a タグを使います -->
<a href="#" class="hover-icon">
  
  <!-- 背景となる画像 -->
  <img src="https://placehold.co/600x400/74c69d/fff?text=Hover+Me" alt="説明文">

  <!-- ホバー時に表示されるマスク（黒い半透明の背景） -->
  <div class="hover-icon__mask">
    
    <!-- マスクの中に表示されるテキスト -->
    <div class="hover-icon__caption">
      <p>ここにキャプションが入ります</p>
      <i class="fa-solid fa-arrow-up-right-from-square"></i> <!-- Font Awesomeアイコンの例 -->
    </div>

  </div>
</a>
*/
.hover-icon {
  display: block;
  overflow: hidden;
  position: relative;
}
.hover-icon__mask {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  background-color: rgba(0, 0, 0, 0.5);
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.hover-icon__caption {
  text-align: center;
  color: #fff;
}
.hover-icon:hover .hover-icon__mask {
  opacity: 1;
}

/*
<!-- 全体をリンクにしたい場合は a タグを使います -->
<a href="#" class="zoom-hover">
  <img src="https://placehold.co/600x400/74c69d/fff?text=Zoom+Only" alt="説明文">
</a>
*/
.zoom-hover {
  display: block;
  overflow: hidden; /* はみ出した画像を隠す */
}
.zoom-hover img {
  transition: transform 0.6s ease; /* アニメーションを設定 */
}
.zoom-hover:hover img {
  transform: scale(1.1); /* ホバー時に画像を1.1倍に拡大 */
}

/* リストスタイル
===========================================================================*/

/*
<ul class="list-disc">
  <li>最初の項目です。</li>
  <li>2番目の項目です。テキストが長くなっても改行後は綺麗に揃います。</li>
  <li>3番目の項目です。</li>
</ul>
*/
.list-disc {
}
.list-disc li {
  padding-left: 1em; /* インデントを確保 */
}
.list-disc li::before {
  content: "";
  width: 5px;
  height: 5px;
  display: inline-block;
  background-color: var(--color-primary);
  border-radius: 50%;
  vertical-align: middle;
  margin-right: 0.5em;
  margin-left: -1em; /* インデント分を戻して先頭に配置 */
}

/*
<ol class="list-decimal">
  <li>最初の項目です。</li>
  <li>2番目の項目です。テキストが長くなっても改行後は綺麗に揃います。</li>
  <li>3番目の項目です。</li>
</ol>
*/

.list-decimal {
  counter-reset: list-counter; /* 連番をリセットして1から始める準備 */
}
.list-decimal li {
  counter-increment: list-counter; /* li要素ごとに連番を1増やす */
  padding-left: 1em; /* インデントを確保 */
  position: relative;
}
.list-decimal li::before {
  content: counter(list-counter); /* "1." "2." のように表示 */
  position: absolute;
  left: 0;
  top: 0;
  font-weight: 600;
  color: var(--color-primary);
  text-align: right;
}

/* ディスプレイ
===========================================================================*/
.d-block { display: block !important; }
.d-block { display: inline-block !important; }
.d-flex  { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; }
.d-grid  { display: -ms-grid !important; display: grid !important; }
.d-none  { display: none !important; }

/* Flexbox
===========================================================================*/
.justify-center { -webkit-box-pack: center !important; -ms-flex-pack: center !important; justify-content: center !important; }
.justify-between{ -webkit-box-pack: justify !important; -ms-flex-pack: justify !important; justify-content: space-between !important; }
.items-center   { -webkit-box-align: center !important; -ms-flex-align: center !important; align-items: center !important; }

/* フォントサイズ
===========================================================================*/
.text-14   { font-size: 1.4rem; } /* 14px相当 */
.text-15   { font-size: 1.5rem; } /* 15px相当 */
.text-16 { font-size: 1.6rem; } /* 16px相当 (基本) */
.text-18   { font-size: 1.8rem; } /* 18px相当 */
.text-20   { font-size: 2.0rem; } /* 20px相当 */
.text-24  { font-size: 2.4rem; } /* 24px相当 */
.text-25  { font-size: 2.5rem; } /* 25px相当 */

/* フォントウェイト 
===========================================================================*/
.font-400 { font-weight: 400; }
.font-700   { font-weight: 700; }
.font-800 { font-weight: 800; }
.font-bold { font-weight: bold; }

/* フォント位置
===========================================================================*/

/*
<div class="text-left md:text-center"></div>
*/

.text-center { text-align: center; }
.text-right  { text-align: right; }
@media (min-width: 768px) {
  .md\:text-center { text-align: center; }
  .md\:d-flex { display: flex !important; }
  /* 他にも必要なクラスを追加 */
}
@media (min-width: 1200px) {
  .lg\:text-left { text-align: left; }
}

/* 色
===========================================================================*/
.text-primary { color: var(--color-primary) !important; }
.text-gray{ color:#666; }
.text-error { color: var(--color-error) !important; }
.text-white { color: #fff !important; }
.bg-primary   { background-color: var(--color-primary) !important; }
.bg-light     { background-color: var(--color-bg-light) !important; }
.bg-white     { background-color: #fff !important; }

/* ぶら下げインデント
===========================================================================*/
.indent-1 { padding-left: 1em; text-indent: -1em; }
.indent-2 { padding-left: 2em; text-indent: -2em; }

/* ポジション
===========================================================================*/
.relative { position: relative; }
.absolute { position: absolute; }
.fixed    { position: fixed; }

/* レスポンシブ表示切替
===========================================================================*/
/* 768px以上で非表示（スマホ・タブレットのみ表示） */
@media (min-width: 768px) {
  .hidden-pc {
    display: none !important;
  }
}
/* 767px以下で非表示（PCのみ表示） */
@media (max-width: 767px) {
  .hidden-sp { display: none !important;
  }
}
/* PCのみ表示 (普段は表示、スマホサイズで隠す) */
@media (max-width: 767px) {
  .pc-only {
    display: none !important;
  }
}
/* スマホのみ表示 (普段は非表示、スマホサイズで表示させる) */
.sp-only {
  display: none !important;
}
@media (max-width: 767px) {
  .sp-only {
    display: block !important; /* または inline, flex など表示したい形式に合わせる */
  }
}

/* 幅
===========================================================================*/

.wt5 {
	width: 5%;
}
.wt10 {
	width: 10%;
}
.wt15 {
	width: 15%;
}
.wt20 {
	width: 20%;
}
.wt25 {
	width: 25%;
}
.wt30 {
	width: 30%;
}
.wt35 {
	width: 35%;
}
.wt40 {
	width: 40%;
}
.wt45 {
	width: 45%;
}
.wt50 {
	width: 50%;
}
.wt55 {
	width: 55%;
}
.wt60 {
	width: 60%;
}
.wt65 {
	width: 65%;
}
.wt70 {
	width: 70%;
}
.wt75 {
	width: 75%;
}
.wt80 {
	width: 80%;
}
.wt85 {
	width: 85%;
}
.wt90 {
	width: 90%;
}
.wt95 {
	width: 95%;
}
.wt100 {
	width: 100%;
}
/* スペーシング (マージン)
===========================================================================*/

.m-auto {
	margin: auto;
}
.m-1 {
	margin: var(--space-1);
}
.m-2 {
	margin: var(--space-2);
}
.m-3 {
	margin: var(--space-3);
}
.m-4 {
	margin: var(--space-4);
}
.m-5 {
	margin: var(--space-5);
}
.m-6 {
	margin: var(--space-6);
}
.m-7 {
	margin: var(--space-7);
}
.m-8 {
	margin: var(--space-8);
}
.m-9 {
	margin: var(--space-9);
}
.m-10 {
	margin: var(--space-10);
}
.m-11 {
	margin: var(--space-11);
}
.m-12 {
	margin: var(--space-12);
}
.m-13 {
	margin: var(--space-13);
}
.m-14 {
	margin: var(--space-14);
}
.m-15 {
	margin: var(--space-15);
}
.m-16 {
	margin: var(--space-16);
}
.m-17 {
	margin: var(--space-17);
}
.m-18 {
	margin: var(--space-18);
}
.m-19 {
	margin: var(--space-19);
}
.m-20 {
	margin: var(--space-20);
}
.m-21 {
	margin: var(--space-21);
}
.m-22 {
	margin: var(--space-22);
}
.m-23 {
	margin: var(--space-23);
}
.m-24 {
	margin: var(--space-24);
}
.m-25 {
	margin: var(--space-25);
}
.m-26 {
	margin: var(--space-26);
}
.m-27 {
	margin: var(--space-27);
}
.m-28 {
	margin: var(--space-28);
}
.m-29 {
	margin: var(--space-29);
}
.m-30 {
	margin: var(--space-30);
}
/* Margin Top */

.mt-1 {
	margin-top: var(--space-1);
}
.mt-2 {
	margin-top: var(--space-2);
}
.mt-3 {
	margin-top: var(--space-3);
}
.mt-4 {
	margin-top: var(--space-4);
}
.mt-5 {
	margin-top: var(--space-5);
}
.mt-6 {
	margin-top: var(--space-6);
}
.mt-7 {
	margin-top: var(--space-7);
}
.mt-8 {
	margin-top: var(--space-8);
}
.mt-9 {
	margin-top: var(--space-9);
}
.mt-10 {
	margin-top: var(--space-10);
}
.mt-11 {
	margin-top: var(--space-11);
}
.mt-12 {
	margin-top: var(--space-12);
}
.mt-13 {
	margin-top: var(--space-13);
}
.mt-14 {
	margin-top: var(--space-14);
}
.mt-15 {
	margin-top: var(--space-15);
}
.mt-16 {
	margin-top: var(--space-16);
}
.mt-17 {
	margin-top: var(--space-17);
}
.mt-18 {
	margin-top: var(--space-18);
}
.mt-19 {
	margin-top: var(--space-19);
}
.mt-20 {
	margin-top: var(--space-20);
}
.mt-21 {
	margin-top: var(--space-21);
}
.mt-22 {
	margin-top: var(--space-22);
}
.mt-23 {
	margin-top: var(--space-23);
}
.mt-24 {
	margin-top: var(--space-24);
}
.mt-25 {
	margin-top: var(--space-25);
}
.mt-26 {
	margin-top: var(--space-26);
}
.mt-27 {
	margin-top: var(--space-27);
}
.mt-28 {
	margin-top: var(--space-28);
}
.mt-29 {
	margin-top: var(--space-29);
}
.mt-30 {
	margin-top: var(--space-30);
}
/* Margin Bottom */

.mb-1 {
	margin-bottom: var(--space-1);
}
.mb-2 {
	margin-bottom: var(--space-2);
}
.mb-3 {
	margin-bottom: var(--space-3);
}
.mb-4 {
	margin-bottom: var(--space-4);
}
.mb-5 {
	margin-bottom: var(--space-5);
}
.mb-6 {
	margin-bottom: var(--space-6);
}
.mb-7 {
	margin-bottom: var(--space-7);
}
.mb-8 {
	margin-bottom: var(--space-8);
}
.mb-9 {
	margin-bottom: var(--space-9);
}
.mb-10 {
	margin-bottom: var(--space-10);
}
.mb-11 {
	margin-bottom: var(--space-11);
}
.mb-12 {
	margin-bottom: var(--space-12);
}
.mb-13 {
	margin-bottom: var(--space-13);
}
.mb-14 {
	margin-bottom: var(--space-14);
}
.mb-15 {
	margin-bottom: var(--space-15);
}
.mb-16 {
	margin-bottom: var(--space-16);
}
.mb-17 {
	margin-bottom: var(--space-17);
}
.mb-18 {
	margin-bottom: var(--space-18);
}
.mb-19 {
	margin-bottom: var(--space-19);
}
.mb-20 {
	margin-bottom: var(--space-20);
}
.mb-21 {
	margin-bottom: var(--space-21);
}
.mb-22 {
	margin-bottom: var(--space-22);
}
.mb-23 {
	margin-bottom: var(--space-23);
}
.mb-24 {
	margin-bottom: var(--space-24);
}
.mb-25 {
	margin-bottom: var(--space-25);
}
.mb-26 {
	margin-bottom: var(--space-26);
}
.mb-27 {
	margin-bottom: var(--space-27);
}
.mb-28 {
	margin-bottom: var(--space-28);
}
.mb-29 {
	margin-bottom: var(--space-29);
}
.mb-30 {
	margin-bottom: var(--space-30);
}
/* 水平方向のマージン */

.mx-auto {
	margin-left: auto !important;
	margin-right: auto !important;
}
.mx-1 {
	margin-left: var(--space-1);
	margin-right: var(--space-1);
}
.mx-2 {
	margin-left: var(--space-2);
	margin-right: var(--space-2);
}
.mx-3 {
	margin-left: var(--space-3);
	margin-right: var(--space-3);
}
.mx-4 {
	margin-left: var(--space-4);
	margin-right: var(--space-4);
}
.mx-5 {
	margin-left: var(--space-5);
	margin-right: var(--space-5);
}
.mx-6 {
	margin-left: var(--space-6);
	margin-right: var(--space-6);
}
.mx-7 {
	margin-left: var(--space-7);
	margin-right: var(--space-7);
}
.mx-8 {
	margin-left: var(--space-8);
	margin-right: var(--space-8);
}
.mx-9 {
	margin-left: var(--space-9);
	margin-right: var(--space-9);
}
.mx-10 {
	margin-left: var(--space-10);
	margin-right: var(--space-10);
}
.mx-11 {
	margin-left: var(--space-11);
	margin-right: var(--space-11);
}
.mx-12 {
	margin-left: var(--space-12);
	margin-right: var(--space-12);
}
.mx-13 {
	margin-left: var(--space-13);
	margin-right: var(--space-13);
}
.mx-14 {
	margin-left: var(--space-14);
	margin-right: var(--space-14);
}
.mx-15 {
	margin-left: var(--space-15);
	margin-right: var(--space-15);
}
.mx-16 {
	margin-left: var(--space-16);
	margin-right: var(--space-16);
}
.mx-17 {
	margin-left: var(--space-17);
	margin-right: var(--space-17);
}
.mx-18 {
	margin-left: var(--space-18);
	margin-right: var(--space-18);
}
.mx-19 {
	margin-left: var(--space-19);
	margin-right: var(--space-19);
}
.mx-20 {
	margin-left: var(--space-20);
	margin-right: var(--space-20);
}
.mx-21 {
	margin-left: var(--space-21);
	margin-right: var(--space-21);
}
.mx-22 {
	margin-left: var(--space-22);
	margin-right: var(--space-22);
}
.mx-23 {
	margin-left: var(--space-23);
	margin-right: var(--space-23);
}
.mx-24 {
	margin-left: var(--space-24);
	margin-right: var(--space-24);
}
.mx-25 {
	margin-left: var(--space-25);
	margin-right: var(--space-25);
}
.mx-26 {
	margin-left: var(--space-26);
	margin-right: var(--space-26);
}
.mx-27 {
	margin-left: var(--space-27);
	margin-right: var(--space-27);
}
.mx-28 {
	margin-left: var(--space-28);
	margin-right: var(--space-28);
}
.mx-29 {
	margin-left: var(--space-29);
	margin-right: var(--space-29);
}
.mx-30 {
	margin-left: var(--space-30);
	margin-right: var(--space-30);
}
/* 垂直方向のマージン */

.my-1 {
	margin-top: var(--space-1);
	margin-bottom: var(--space-1);
}
.my-2 {
	margin-top: var(--space-2);
	margin-bottom: var(--space-2);
}
.my-3 {
	margin-top: var(--space-3);
	margin-bottom: var(--space-3);
}
.my-4 {
	margin-top: var(--space-4);
	margin-bottom: var(--space-4);
}
.my-5 {
	margin-top: var(--space-5);
	margin-bottom: var(--space-5);
}
.my-6 {
	margin-top: var(--space-6);
	margin-bottom: var(--space-6);
}
.my-7 {
	margin-top: var(--space-7);
	margin-bottom: var(--space-7);
}
.my-8 {
	margin-top: var(--space-8);
	margin-bottom: var(--space-8);
}
.my-9 {
	margin-top: var(--space-9);
	margin-bottom: var(--space-9);
}
.my-10 {
	margin-top: var(--space-10);
	margin-bottom: var(--space-10);
}
.my-11 {
	margin-top: var(--space-11);
	margin-bottom: var(--space-11);
}
.my-12 {
	margin-top: var(--space-12);
	margin-bottom: var(--space-12);
}
.my-13 {
	margin-top: var(--space-13);
	margin-bottom: var(--space-13);
}
.my-14 {
	margin-top: var(--space-14);
	margin-bottom: var(--space-14);
}
.my-15 {
	margin-top: var(--space-15);
	margin-bottom: var(--space-15);
}
.my-16 {
	margin-top: var(--space-16);
	margin-bottom: var(--space-16);
}
.my-17 {
	margin-top: var(--space-17);
	margin-bottom: var(--space-17);
}
.my-18 {
	margin-top: var(--space-18);
	margin-bottom: var(--space-18);
}
.my-19 {
	margin-top: var(--space-19);
	margin-bottom: var(--space-19);
}
.my-20 {
	margin-top: var(--space-20);
	margin-bottom: var(--space-20);
}
.my-21 {
	margin-top: var(--space-21);
	margin-bottom: var(--space-21);
}
.my-22 {
	margin-top: var(--space-22);
	margin-bottom: var(--space-22);
}
.my-23 {
	margin-top: var(--space-23);
	margin-bottom: var(--space-23);
}
.my-24 {
	margin-top: var(--space-24);
	margin-bottom: var(--space-24);
}
.my-25 {
	margin-top: var(--space-25);
	margin-bottom: var(--space-25);
}
.my-26 {
	margin-top: var(--space-26);
	margin-bottom: var(--space-26);
}
.my-27 {
	margin-top: var(--space-27);
	margin-bottom: var(--space-27);
}
.my-28 {
	margin-top: var(--space-28);
	margin-bottom: var(--space-28);
}
.my-29 {
	margin-top: var(--space-29);
	margin-bottom: var(--space-29);
}
.my-30 {
	margin-top: var(--space-30);
	margin-bottom: var(--space-30);
}
/* スペーシング (パディング)
===========================================================================*/

.p-1 {
	padding: var(--space-1);
}
.p-2 {
	padding: var(--space-2);
}
.p-3 {
	padding: var(--space-3);
}
.p-4 {
	padding: var(--space-4);
}
.p-5 {
	padding: var(--space-5);
}
.p-6 {
	padding: var(--space-6);
}
.p-7 {
	padding: var(--space-7);
}
.p-8 {
	padding: var(--space-8);
}
.p-9 {
	padding: var(--space-9);
}
.p-10 {
	padding: var(--space-10);
}
.p-11 {
	padding: var(--space-11);
}
.p-12 {
	padding: var(--space-12);
}
.p-13 {
	padding: var(--space-13);
}
.p-14 {
	padding: var(--space-14);
}
.p-15 {
	padding: var(--space-15);
}
.p-16 {
	padding: var(--space-16);
}
.p-17 {
	padding: var(--space-17);
}
.p-18 {
	padding: var(--space-18);
}
.p-19 {
	padding: var(--space-19);
}
.p-20 {
	padding: var(--space-20);
}
.p-21 {
	padding: var(--space-21);
}
.p-22 {
	padding: var(--space-22);
}
.p-23 {
	padding: var(--space-23);
}
.p-24 {
	padding: var(--space-24);
}
.p-25 {
	padding: var(--space-25);
}
.p-26 {
	padding: var(--space-26);
}
.p-27 {
	padding: var(--space-27);
}
.p-28 {
	padding: var(--space-28);
}
.p-29 {
	padding: var(--space-29);
}
.p-30 {
	padding: var(--space-30);
}
/* Padding Top */

.pt-1 {
	padding-top: var(--space-1);
}
.pt-2 {
	padding-top: var(--space-2);
}
.pt-3 {
	padding-top: var(--space-3);
}
.pt-4 {
	padding-top: var(--space-4);
}
.pt-5 {
	padding-top: var(--space-5);
}
.pt-6 {
	padding-top: var(--space-6);
}
.pt-7 {
	padding-top: var(--space-7);
}
.pt-8 {
	padding-top: var(--space-8);
}
.pt-9 {
	padding-top: var(--space-9);
}
.pt-10 {
	padding-top: var(--space-10);
}
.pt-11 {
	padding-top: var(--space-11);
}
.pt-12 {
	padding-top: var(--space-12);
}
.pt-13 {
	padding-top: var(--space-13);
}
.pt-14 {
	padding-top: var(--space-14);
}
.pt-15 {
	padding-top: var(--space-15);
}
.pt-16 {
	padding-top: var(--space-16);
}
.pt-17 {
	padding-top: var(--space-17);
}
.pt-18 {
	padding-top: var(--space-18);
}
.pt-19 {
	padding-top: var(--space-19);
}
.pt-20 {
	padding-top: var(--space-20);
}
.pt-21 {
	padding-top: var(--space-21);
}
.pt-22 {
	padding-top: var(--space-22);
}
.pt-23 {
	padding-top: var(--space-23);
}
.pt-24 {
	padding-top: var(--space-24);
}
.pt-25 {
	padding-top: var(--space-25);
}
.pt-26 {
	padding-top: var(--space-26);
}
.pt-27 {
	padding-top: var(--space-27);
}
.pt-28 {
	padding-top: var(--space-28);
}
.pt-29 {
	padding-top: var(--space-29);
}
.pt-30 {
	padding-top: var(--space-30);
}
/* Padding Bottom */

.pb-1 {
	padding-bottom: var(--space-1);
}
.pb-2 {
	padding-bottom: var(--space-2);
}
.pb-3 {
	padding-bottom: var(--space-3);
}
.pb-4 {
	padding-bottom: var(--space-4);
}
.pb-5 {
	padding-bottom: var(--space-5);
}
.pb-6 {
	padding-bottom: var(--space-6);
}
.pb-7 {
	padding-bottom: var(--space-7);
}
.pb-8 {
	padding-bottom: var(--space-8);
}
.pb-9 {
	padding-bottom: var(--space-9);
}
.pb-10 {
	padding-bottom: var(--space-10);
}
.pb-11 {
	padding-bottom: var(--space-11);
}
.pb-12 {
	padding-bottom: var(--space-12);
}
.pb-13 {
	padding-bottom: var(--space-13);
}
.pb-14 {
	padding-bottom: var(--space-14);
}
.pb-15 {
	padding-bottom: var(--space-15);
}
.pb-16 {
	padding-bottom: var(--space-16);
}
.pb-17 {
	padding-bottom: var(--space-17);
}
.pb-18 {
	padding-bottom: var(--space-18);
}
.pb-19 {
	padding-bottom: var(--space-19);
}
.pb-20 {
	padding-bottom: var(--space-20);
}
.pb-21 {
	padding-bottom: var(--space-21);
}
.pb-22 {
	padding-bottom: var(--space-22);
}
.pb-23 {
	padding-bottom: var(--space-23);
}
.pb-24 {
	padding-bottom: var(--space-24);
}
.pb-25 {
	padding-bottom: var(--space-25);
}
.pb-26 {
	padding-bottom: var(--space-26);
}
.pb-27 {
	padding-bottom: var(--space-27);
}
.pb-28 {
	padding-bottom: var(--space-28);
}
.pb-29 {
	padding-bottom: var(--space-29);
}
.pb-30 {
	padding-bottom: var(--space-30);
}
/* 水平方向のパディング */

.px-1 {
	padding-left: var(--space-1);
	padding-right: var(--space-1);
}
.px-2 {
	padding-left: var(--space-2);
	padding-right: var(--space-2);
}
.px-3 {
	padding-left: var(--space-3);
	padding-right: var(--space-3);
}
.px-4 {
	padding-left: var(--space-4);
	padding-right: var(--space-4);
}
.px-5 {
	padding-left: var(--space-5);
	padding-right: var(--space-5);
}
.px-6 {
	padding-left: var(--space-6);
	padding-right: var(--space-6);
}
.px-7 {
	padding-left: var(--space-7);
	padding-right: var(--space-7);
}
.px-8 {
	padding-left: var(--space-8);
	padding-right: var(--space-8);
}
.px-9 {
	padding-left: var(--space-9);
	padding-right: var(--space-9);
}
.px-10 {
	padding-left: var(--space-10);
	padding-right: var(--space-10);
}
.px-11 {
	padding-left: var(--space-11);
	padding-right: var(--space-11);
}
.px-12 {
	padding-left: var(--space-12);
	padding-right: var(--space-12);
}
.px-13 {
	padding-left: var(--space-13);
	padding-right: var(--space-13);
}
.px-14 {
	padding-left: var(--space-14);
	padding-right: var(--space-14);
}
.px-15 {
	padding-left: var(--space-15);
	padding-right: var(--space-15);
}
.px-16 {
	padding-left: var(--space-16);
	padding-right: var(--space-16);
}
.px-17 {
	padding-left: var(--space-17);
	padding-right: var(--space-17);
}
.px-18 {
	padding-left: var(--space-18);
	padding-right: var(--space-18);
}
.px-19 {
	padding-left: var(--space-19);
	padding-right: var(--space-19);
}
.px-20 {
	padding-left: var(--space-20);
	padding-right: var(--space-20);
}
.px-21 {
	padding-left: var(--space-21);
	padding-right: var(--space-21);
}
.px-22 {
	padding-left: var(--space-22);
	padding-right: var(--space-22);
}
.px-23 {
	padding-left: var(--space-23);
	padding-right: var(--space-23);
}
.px-24 {
	padding-left: var(--space-24);
	padding-right: var(--space-24);
}
.px-25 {
	padding-left: var(--space-25);
	padding-right: var(--space-25);
}
.px-26 {
	padding-left: var(--space-26);
	padding-right: var(--space-26);
}
.px-27 {
	padding-left: var(--space-27);
	padding-right: var(--space-27);
}
.px-28 {
	padding-left: var(--space-28);
	padding-right: var(--space-28);
}
.px-29 {
	padding-left: var(--space-29);
	padding-right: var(--space-29);
}
.px-30 {
	padding-left: var(--space-30);
	padding-right: var(--space-30);
}
/* 垂直方向のパディング */

.py-1 {
	padding-top: var(--space-1);
	padding-bottom: var(--space-1);
}
.py-2 {
	padding-top: var(--space-2);
	padding-bottom: var(--space-2);
}
.py-3 {
	padding-top: var(--space-3);
	padding-bottom: var(--space-3);
}
.py-4 {
	padding-top: var(--space-4);
	padding-bottom: var(--space-4);
}
.py-5 {
	padding-top: var(--space-5);
	padding-bottom: var(--space-5);
}
.py-6 {
	padding-top: var(--space-6);
	padding-bottom: var(--space-6);
}
.py-7 {
	padding-top: var(--space-7);
	padding-bottom: var(--space-7);
}
.py-8 {
	padding-top: var(--space-8);
	padding-bottom: var(--space-8);
}
.py-9 {
	padding-top: var(--space-9);
	padding-bottom: var(--space-9);
}
.py-10 {
	padding-top: var(--space-10);
	padding-bottom: var(--space-10);
}
.py-11 {
	padding-top: var(--space-11);
	padding-bottom: var(--space-11);
}
.py-12 {
	padding-top: var(--space-12);
	padding-bottom: var(--space-12);
}
.py-13 {
	padding-top: var(--space-13);
	padding-bottom: var(--space-13);
}
.py-14 {
	padding-top: var(--space-14);
	padding-bottom: var(--space-14);
}
.py-15 {
	padding-top: var(--space-15);
	padding-bottom: var(--space-15);
}
.py-16 {
	padding-top: var(--space-16);
	padding-bottom: var(--space-16);
}
.py-17 {
	padding-top: var(--space-17);
	padding-bottom: var(--space-17);
}
.py-18 {
	padding-top: var(--space-18);
	padding-bottom: var(--space-18);
}
.py-19 {
	padding-top: var(--space-19);
	padding-bottom: var(--space-19);
}
.py-20 {
	padding-top: var(--space-20);
	padding-bottom: var(--space-20);
}
.py-21 {
	padding-top: var(--space-21);
	padding-bottom: var(--space-21);
}
.py-22 {
	padding-top: var(--space-22);
	padding-bottom: var(--space-22);
}
.py-23 {
	padding-top: var(--space-23);
	padding-bottom: var(--space-23);
}
.py-24 {
	padding-top: var(--space-24);
	padding-bottom: var(--space-24);
}
.py-25 {
	padding-top: var(--space-25);
	padding-bottom: var(--space-25);
}
.py-26 {
	padding-top: var(--space-26);
	padding-bottom: var(--space-26);
}
.py-27 {
	padding-top: var(--space-27);
	padding-bottom: var(--space-27);
}
.py-28 {
	padding-top: var(--space-28);
	padding-bottom: var(--space-28);
}
.py-29 {
	padding-top: var(--space-29);
	padding-bottom: var(--space-29);
}
.py-30 {
	padding-top: var(--space-30);
	padding-bottom: var(--space-30);
}