/*public/css/style.css*/
        /* ==========================================================================
           furusato style.css (Essential Set)
           - Based on 「ビル」から“必須セット”のみ抽出・再構成
           - Bootstrap の基本クラス (.btn, .table, .form-control 等) は上書きしない
           - data_master / data_create / data_copy で即時効果が出るものに限定
           ========================================================================== */

:root {
    --readonly-bg:  #E0E0E0;
    --readonly-text: #212529;
    /* spacing（帳票で var(--sp-3,20px) 等を使うため） */
    --sp-1: 4px;
    --sp-2: 8px;
    --sp-3: 12px;
    --sp-4: 16px;
    --sp-5: 24px;
    --sp-8: 36px;
    --sp-10: 48px;
    /* 見出し高さ（重なり防止用／必要に応じて 8〜12mm で調整） */
    --header-h: 8mm;
}
   /* A4横／余白なし（印刷時）styleから移動 */
    @page { size: A4 landscape; margin: 0; }
    html, body { height: 100%; margin: 0; background: #fff; }
    body { -webkit-print-color-adjust: exact; print-color-adjust: exact; }

    
    /* 用紙キャンバス */
    .sheet {
      width: 297mm;
      height: 210mm;
      margin: 0 auto;
      position: relative;
      background: #fff;
      /* DomPDFではOSフォント参照が不安定なので埋め込みフォントを先頭に */
      font-family: ipaexg, "Hiragino Kaku Gothic ProN","Meiryo",system-ui,sans-serif;
    }
/*ここまでstyleから移動 */

    .form-control[readonly],
    input[readonly],
    textarea[readonly],
    select[readonly] {
        background-color: var(--readonly-bg) !important;
        color: var(--readonly-text) !important;
        cursor: default;
    }
    
    .vtext {
        writing-mode: vertical-rl;
        text-orientation: mixed;
        white-space: nowrap;
    }
    
    .readonly-span {
        display: block;
        width: 100%;
        background-color:  #E0E0E0 !important;
        color: var(--readonly-text);
        padding: 4px;
        box-sizing: border-box;
        min-height: 26px;
    }
    
    .readonly-stack {
        display: flex;
        flex-direction: column;
        gap: 4px;
    }
    
    .form-control[readonly]::placeholder,
    input[readonly]::placeholder,
    textarea[readonly]::placeholder,
    select[readonly]::placeholder {
        color: var(--readonly-text);
        opacity: 1;
    }
    
    .form-control.bg-light[readonly],
    input.bg-light[readonly],
    textarea.bg-light[readonly],
    select.bg-light[readonly] {
        background-color: var(--readonly-bg) !important;
        color: var(--readonly-text) !important;
    }
   
   /* ✅ ここが本丸：
     - Bootstrap の .bg-light と衝突しやすいので「フォーム部品だけ」狙い撃ち
     - readonly / :read-only / server-lock / 表示専用(data-*) を  #E0E0E0 に統一 */
      input.form-control.bg-light[readonly],
      textarea.form-control.bg-light[readonly],
      select.form-select.bg-light[readonly],
      input.form-control.bg-light:read-only,
      textarea.form-control.bg-light:read-only,
      select.form-select.bg-light:read-only,
      input.form-control[data-server-lock="1"],
      textarea.form-control[data-server-lock="1"],
      select.form-select[data-server-lock="1"],
      input.form-control[data-display-only="1"],
      textarea.form-control[data-display-only="1"],
      input.form-control[data-ui-only="1"],
      textarea.form-control[data-ui-only="1"] {
        background-color: #E0E0E0 !important;
        color: var(--readonly-text) !important;
      }  
      
 /* --------------------------------------
  * レイアウト
  * ------------------------------------ */
        .container {
            width: 700px;
            margin: 0px auto;
            padding: 0px;
            font-size: 13px;
            background-color: #ffffff; /* 白背景 */
            border: 1px solid #ddd;    /* 薄いグレー枠 */
            border-radius: 8px;        /* 角丸 */
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* 軽い影 */
        }
        
        .container-blue {
            width: 700px;
            margin: 0px auto;
            padding: 0px;
            font-size: 13px;
            background-color: #ffffff; /* 白背景 */
            border: 2px solid #4193d0;    /* 太い青枠 */
            border-radius: 8px;        /* 角丸 */
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* 軽い影 */
        }

        .container-grey {
            width: 700px;
            margin: 0px auto;
            padding: 0px;
            font-size: 13px;
            background-color: #ffffff; /* 白背景 */
            border: 2px solid #7f7f7f;    /* 太い青枠 */
            border-radius: 8px;        /* 角丸 */
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* 軽い影 */
        }
        
        .container-tya {
            width: 700px;
            margin: 0px auto;
            padding: 0px;
            font-size: 13px;
            background-color: #ffffff; /* 白背景 */
            border: 2px solid #895827;    /* 太い青枠 */
            border-radius: 8px;        /* 角丸 */
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* 軽い影 */
        }
        
        .wrapper {
          width: 95%;
          max-width: 1200px;
          margin: 0 auto;
          background-color: #ffffff;
        }
        
        /* Alpine.js 初期化前のちらつき防止 */
        [x-cloak] { display: none !important; }
        
        /* 選択divの背景色　ベージュ*/
        .bg-cream {
          width: 95%;
          margin: 0 auto;
          background-color: #E9E1D2;
        
        /* htmlの指定はclass="bg-cream"*/
        }
        
         /* 選択divの背景色　薄水色*/
        .bg-blue {
          width: 95%;
          margin: 0 auto;
          background-color: #e7eef8;
        
        /* htmlの指定はclass="bg-blue"*/
        }
        
        /* 選択divの背景色　もっと薄い水色*/
        .bg-pale {
          width: 95%;
          margin: 0 auto;
          background-color: #D3E0F2;
        
        /* htmlの指定はclass="bg-pale"*/
        }
        
        /* 処理メニュー設定：rowの枠線だけ消す（このrow限定） */
          .syori-row-no-frame {
            border: 0 !important;
            outline: 0 !important;
            box-shadow: none !important;
            background: transparent !important;
          }


      /* --------------------------------------
        * 文字
        * ------------------------------------ */        
         /* インプット表タイトル　青 */
        h0 {
            font-size: 16px;
            font-weight: bold;
            margin-bottom: 10px;
            text-align: left;
            color: #4193d0; /* 濃い青 */
        }
        
    /* 小見出し　太 */
        h1 {
            font-size: 14px;
            font-weight: bold;
            margin-bottom: 10px;
            text-align: left;
            color: #000; /* 濃いグレー */
        }
        
    /* ただの太文字 */    
        hb {
            font-size: 13px;
            font-weight: bold;
            color: #000;
            margin-bottom: 0px;
        }
        
    /* 説明文　少々薄い */
        hs {
            font-size: 13px;
            color: #333333;
            margin-bottom: 0px;
        }
    
    /* マスタータイトル　グレー */    
        hm {
            font-size: 13px;
            color: #7f7f7f;
            margin-bottom: 0px;
        }
        
        
    /* ※注 文字*/
        p-small {
            font-size: 12px;
            text-align: left;
            color: #555555; /* 黒 */
        } 
        
    /* ※注 1文字下げる*/
         .indent-1 { padding-left: 1em; }
   
   /* 丸囲み番号（フォント依存を回避） */
      .marubox{
        display: inline-block;
        width: 2.6mm;
        height: 2.6mm;
        line-height: 2.6mm;
        border: 0.1mm solid #000;
        border-radius: 50%;
        text-align: center;
        font-size: 1.6mm;
        font-weight: 600;
        vertical-align: middle;
        margin: 0;
        padding: 0;
      }

　/* リンクのタイトル文字 */
    /* 通常時：未訪問/訪問済み 両方を固定 */
        a.title-link,
        a.title-link:link,
        a.title-link:visited {
          color: #004466 !important;
          text-decoration: none !important;
        }
        
        /* hover時 */
        a.title-link:hover,
        a.title-link:active,
        a.title-link:focus {
          color: #5c3d3d !important;
          text-decoration: none !important;
        }

   /* 非標準タグ（h14u等）を使う前提：ブロック化 */
      h13,h14,h14u,h15,h15b,h16,h18,h18u,h20,h24,h30,p-small,hb,hs,hm,h0 {
        display: block;
      }
   
      h30 { font-size: 30px; font-weight: bold; color: #000; }
      h24 { font-size: 24px; font-weight: bold; color: #000; }
      h20 { font-size: 20px; font-weight: bold; color: #000; }
      h18 { font-size: 18px; font-weight: bold; color: #000; }
      h18u{ font-size: 18px; color: #000; }
      h16 { font-size: 16px; font-weight: bold; color: #000; }
      h15 { font-size: 15px; color: #000; }
      h15b{ font-size: 15px; font-weight: bold; color: #000; }
      h15bb{ font-size: 15px; font-weight: bold; color: #002776; }
      h14 { font-size: 14px; font-weight: bold; color: #000; }
      h14u{ font-size: 14px; color: #000; }
      h14bb{ font-size: 14px; font-weight: bold; color: #002776; }
      h13 { font-size: 13px; color: #000; }
      h13b { font-size: 13px; font-weight: bold; color: #000; }
      h12 { font-size: 12px; color: #000; }
      h11 { font-size: 11px; color: #000; }
      h11b { font-size: 11px; color: #002776; }
      h9 { font-size: 9px; color: #000; }
      h9u { font-size: 9px; color: #666; }
    /* ===== DomPDFでも太字を太く見せる（class不要） ===== */
      h30, h24, h20, h18, h16, h15b, h14, hb {
        font-weight: 700 !important;
        text-shadow: 0 0 0 #000 !important;
      }
      
      /* ※文字の下に波線*/
        .u-wave {
		  text-decoration-line: underline;
		  text-decoration-style: wavy;  /* ← ここが“波線”の指定 */
		  text-decoration-color: #999;  /* 色 */
		  text-decoration-thickness: 0.4px; /* 太さ（お好みで） */
		  text-underline-offset: 2px;  /* 文字からの距離（少し離す） */
		}
		/* 使い方　<p>ここが <span class="u-wave">波線の下線</span> です。</p>*/  
      
       /* --- 配置／書式 --- */
        .text-center { text-align: center; }
        .text-end  { text-align: right; }
        .text-start   { text-align: left; }
        .nowrap    { white-space: nowrap; }     
   
     /* 汎用ユーティリティ（どこに置いても効く） */
    		td.text-start,  th.text-start  { text-align: left   !important; }
    		td.text-center, th.text-center { text-align: center !important; }
    		td.text-end,    th.text-end    { text-align: right  !important; }     

      
    
/* --------------------------------------
  * ボタン（独自クラス）
         * Bootstrapの .btn とは別に運用
 * ------------------------------------ */
 
        .btn-base {
          display: inline-block;
          padding: 3px 10px;
          font-size: 13px;
          font-weight: normal;
          text-align: center;
          text-decoration: none;
          border-radius: 5px;
          transition: all 0.3s ease;
          border: 1px solid #ccc;
          background-color: #fff;
          color: #000;
          cursor: pointer;
          line-height: 1.2;
        }
        
        /* 共通：ベースボタン（button/a 両対応で高さが揃う） */
        .btn-base-blue,
        .btn-base-red,
        .btn-base-green,
        .btn-base-pink{
          display: inline-flex;
          align-items: center;
          justify-content: center;
          padding: 3px 10px;
          font-size: 13px;
          font-weight: 400;
          text-align: center;
          text-decoration: none;
          border-radius: 5px;
          transition: all 0.3s ease;
          border: 1px solid #ccc;
          cursor: pointer;
          line-height: 1.2;
          min-height: 24px;              /* ★ここで高さを固定 */
          box-sizing: border-box;
          vertical-align: middle;
        }
        
        /* button のUAスタイル差を潰す（高さが伸びるのを防ぐ） */
        button.btn-base-blue,
        button.btn-base-red,
        button.btn-base-green,
        .btn-base-pink{
          -webkit-appearance: none;
          appearance: none;
        }
        
        .btn-base-blue { background-color:#e7eef8; color:#000; }
        .btn-base-red  { background-color:#e7eef8; color:#d90000; }
        .btn-base-green{ background-color:#CFDFD7; color:#000; }
        .btn-base-pink { background-color:#e7eef8; color:#000; }
        
        /* ============================================
         * ボタン共通（LOW / FREE）
         * - クラス名は既存のまま（HTML変更不要）
         * - 色だけ派生で上書き
         * ============================================ */
        
        /* ▼ LOW 系の共通 */
        .btn-base-low-blue,
        .btn-base-low-green {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          padding: 0 0px;
          min-width: 52px;          /* ★内訳/HELP などを同幅に寄せる */
          height: 16px;
          font-size: 13px;
          font-weight: normal;
          text-align: center;
          text-decoration: none;
          border-radius: 3px;
          transition: all 0.3s ease;
          border: 1px solid #ccc;
          color: #000;
          cursor: pointer;
          white-space: nowrap;
          box-sizing: border-box;
        }
        .btn-base-low-blue  { background-color: #e7eef8; }
        .btn-base-low-green { background-color: #CFDFD7; }
        
        /* ▼ FREE 系の共通（FREE も low と同等に揃える） */
        .btn-base-free-blue,
        .btn-base-free-cream,
        .btn-base-free-cream_u,
        .btn-base-free-green {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          padding: 0 0px;
          min-width: 52px;          /* ★必要ならここは free 用に別値にしてもOK */
          font-size: 13px;
          font-weight: normal;
          text-align: center;
          text-decoration: none;
          border-radius: 3px;
          transition: all 0.3s ease;
          border: 1px solid #ccc;
          color: #000;
          cursor: pointer;
          line-height: 1;           /* 文字の上下ブレ防止 */
          box-sizing: border-box;
          white-space: nowrap;
          -webkit-appearance: none; /* button のUA差を潰す */
          appearance: none;
        }
        .btn-base-free-blue  { background-color: #e7eef8; }
        .btn-base-free-green { background-color: #CFDFD7; }
        .btn-base-free-cream { background-color: #E9E1D2; }
        .btn-base-free-cream_u { background-color: #F4F1E8; }
        
        /* ▼ もし .btn-base-low（白）も使うなら、LOW系の共通を継承した“色だけ違う”として残す */
        .btn-base-low {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          padding: 0 10px;
          min-width: 52px;
          font-size: 13px;
          font-weight: normal;
          text-align: center;
          text-decoration: none;
          border-radius: 3px;       
          transition: all 0.3s ease;
          border: 1px solid #ccc;
          background-color: #fff;
          color: #000;
          cursor: pointer;
          white-space: nowrap;
          box-sizing: border-box;
        }   
        
        /* 非活性リンク風（クリック不可） */
        .btn-disabled {
          display: inline-block;
          padding: 3px 10px;
          font-size: 13px;
          font-weight: normal;
          text-align: center;
          text-decoration: none;
          border-radius: 5px;
          transition: all 0.3s ease;
          border: 1px solid #ccc;
          background-color: #ddd !important;
          color: #666 !important;
          line-height: 1.2;
        }
        .btn-disabled-link { pointer-events: none; opacity: 0.4; }
        .disabled-link     { pointer-events: none; opacity: 0.2; }
        
        /* ボタングループ（ラベル付）の縦並び補助 */
        .btn-vgroup { display: inline-flex; flex-direction: column; align-items: flex-start; }
        .btn-group-label {
          min-width: 88px;
          padding: 0 3px;
          text-align: center;
          font-size: 13px;
          display: inline-block;
          height: 18px;
        }
        .btn-group-label.create { background: #999999; color: #fff; }
        .btn-group-label.delete { background: #999999; color: #d90000; }
        /* 2行ボタン用（改行許可） */
        .btn-change { white-space: normal; line-height: 1.15; }
        
        /* メニュー用ボタン_グレー地白字 */
        .btn-menu {
            display: inline-flex;              /* ← フレックスで中央寄せ */
            align-items: center;               /* ← 縦中央 */
            justify-content: center;           /* ← 横中央 */
            width: 150px;
            height: 40px;
            line-height: 1;
            font-size: 15px;
            font-weight: bold;
            text-align: center;
            text-decoration: none;
            border-radius: 5px;
            transition: all 0.3s ease;
            border: 1px solid #ccc; 
            background-color: #666666; 
            color: #ffffff; 
            cursor: pointer;
            vertical-align: middle;            /* ← 行内での縦位置（隣の要素と揃える用） */
        }
        
        /* マスター見出しイメージ_ボタンとしての機能無し */
        .btn-vp {
            display: inline-block;
            /* 縦横のパディングを抑えつつ高さを調整 */
            cursor: default;          /* 通常の矢印に固定 */
            font-size: 12px;
            height: 22px;
            font-weight: bold;
            text-align: center;
            vertical-align: middle;
            text-decoration: none;
            border-radius: 10px;
            transition: all 0.3s ease;
            border: 2px solid #ccc; 
            background-color: #e7eef8; 
            color: #444444; 
            padding: 0 5px;            /* 左右の余白だけ設定 */
            line-height: 1;
            border-color:#a9a9a9;
        }
        
        .btn-vp:hover,
        .btn-vp:focus {
            cursor: default;
            outline: none;            /* フォーカス枠が邪魔な場合は消す */
        }

 
           /* ギヤ-ボタン：ホバーでカチッと回転 */
          .gear-wrap a,
          .gear-wrap button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            transform-origin: 50% 50%;
            transition: transform 120ms ease;
          }
          
          .gear-wrap a:hover,
          .gear-wrap button:hover {
            transform: rotate(20deg);
          }
        
      /* 申込み確認画面上のステップ矢印（固定サイズ版） */
            .apply-steps{
              display:flex;
              justify-content:center; /* ←これで中央寄せ */
              gap:10px;
              margin:10px 0 18px;
            }
            
            .apply-step{
              position:relative;
            
              width:180px;     /* ←四角の幅を固定（ここだけ調整） */
              height:50px;
            
              display:flex;
              align-items:center;
              justify-content:center;
            
              padding:0 6px 0 10px;
              border:1px solid #999999;
              background:#e7eef8;
              color:#2f5597;
              font-weight:700;
              font-size:14px;
              line-height:1.2;
              text-align:center;
            }
            
            /* 本体色の三角（高さ=50px → 上下25pxずつ） */
            .apply-step::after{
              content:"";
              position:absolute;
              top:-1px;
              right:-28px;                /* ←矢印幅固定 */
              width:0;height:0;
              border-top:25px solid transparent;
              border-bottom:25px solid transparent;
              border-left:28px solid #e7eef8;
              z-index:2;
            }
            
            /* 枠線用の三角（1px大きく） */
            .apply-step::before{
              content:"";
              position:absolute;
              top:-1px;
              right:-30px;                /* 28px + 枠線ぶん */
              width:0;height:0;
              border-top:25px solid transparent;
              border-bottom:25px solid transparent;
              border-left:30px solid #999999;
              z-index:1;
            }
            
            .apply-step:last-child::after,
            .apply-step:last-child::before{ display:none; }
            
            .apply-step.is-active{
              border-color:#999999;
              background:#f1f5f5;
              color:#333333;
            }
            .apply-step.is-active::after{ border-left-color:#f1f5f5; }
            .apply-step.is-active::before{ border-left-color:#999999; }
            	  
/* --------------------------------------
  * テーブル
  * ------------------------------------ */         
      
   /* 帳票専用テーブル */
            .table-p {
              position: absolute;
              left: 20mm;         /* 必要に応じて調整 */
              top: calc(var(--header-h, 8mm) + 8mm);  /* 見出し高さ + 余白（重なる場合は値を増やす/詰める） */
              border-collapse: collapse;
              border-spacing: 0;
              z-index: 1;
              width: 261mm;       /* 見出しと同じ幅に寄せる */
              font-size: 11px;
        	    border: 0.6mm solid #000;
            }
        
             table.table-p td,
             table.table-p th {
              border: 0.3mm solid #000;   /* 罫線太さは要件に応じ調整可 */
              padding: 0mm 0mm;           /* Excel見た目に合わせて微調整 */
              font-size: 13px;            /* おおむね9pt相当。必要に応じて調整 */
              line-height: 1.2;
              vertical-align: middle;
            }
            .center { text-align: center; }
            .right  { text-align: right;  }
        	  
        /*セルの罫線を太くするためのユーティリティ */
            .bl-strong { border-left: 0.6mm solid #000 !important; }
            .br-strong { border-right: 0.6mm solid #000 !important; } 
        	  .bt-strong { border-top: 0.6mm solid #000 !important; }
            .bb-strong { border-bottom: 0.6mm solid #000 !important; }
        	  
        /* ▼ 行全体（tr）の罫線を太くするために付けるバージョン：セル(td/th)へ適用して安定化 */
            .bt-row > td, .bt-row > th { border-top: 0.6mm solid #000 !important; }
            .bb-row > td, .bb-row > th { border-bottom: 0.6mm solid #000 !important; }
        
         /* ▼ 左パディング用ユーティリティ（Bootstrapのps-*が効かないため自前で上書き） */
            .pl-1 { padding-left: 1mm !important; }
            .pl-2 { padding-left: 2mm !important; }
            .pl-3 { padding-left: 3mm !important; }
            .pl-5 { padding-left: 5mm !important; }
            
      /* インプット表テーブル */      
        /* 選択系の軽量テーブル（行間詰め、左寄せ） */
        .table-m-sentaku {
          background-color: #fff;
          color: #000;
          padding: 2px;
          margin: 3px auto;
          border-bottom: 1px solid #999;
        }
         .table-m-sentaku td {
          vertical-align: middle !important;
          text-align: left;
          padding-left: 10px;
        }
        
        
        .table-base {
        /* 幅を100%にせず、テーブル自体を中央寄せ */
          border-collapse: collapse;
          margin: 10px auto; /* 上下10px, 左右 auto */
          font-size: 13px;
          border: 1px solid #999;
          /* padding/text-align/vertical-alignはセル側に移動 */
          /* display: table は <table> では不要 */
        }
        
        /* セル共通設定（Bootstrapの.tableを上書きできるよう強めのセレクタに） */
        table.table-base th {
          background-color: #E7EEF8;
          border: 1px solid #999;
          color: #333;
          font-weight: bold;
          padding: 2px;           /* セル内余白 */
          text-align: center;     /* 横方向中央寄せ */
          vertical-align: middle; /* 縦方向中央寄せ */
          line-height: 1.2;
        }
        
        table.table-base td {
          padding: 4px;           /* セル内余白 */
          border: 1px solid #999;
          text-align: center;     /* 横方向中央寄せ */
          vertical-align: middle; /* 縦方向中央寄せ */
          line-height: 1.2;
        }
        
        /* 上下の余白0のインプット表のテーブル */
        .table-input {
        /* 幅を100%にせず、テーブル自体を中央寄せ */
          border-collapse: collapse;
          margin: 0px auto; /* 上下0px, 左右0px */
          font-size: 13px;
          border: 1px solid #999;
        }
        
        /* ★セルの上下余白を消すのはここ */
          table.table-input td,
          table.table-input th{
            padding-top: 0 !important;
            padding-bottom: 0 !important;
            vertical-align: middle !important;
          }
        
        /* table-input：セル余白だけ 0、それ以外は同様 */
          table.table-input th {
            background-color: #e7eef8;
            border: 1px solid #999;
            color: #333;
            font-weight: bold;
            padding: 0 !important;
            text-align: center;
            vertical-align: middle;
            line-height: 1.2;
          }
          
          table.table-input td {
            border: 1px solid #999;
            padding: 0 !important;
            text-align: center;
            vertical-align: middle;
            line-height: 1.2;
          }
     
      /* table-input 内では ps-* を確実に勝たせる（th/td限定） */
          table.table-input th.ps-0, table.table-input td.ps-0 { padding-left: 0 !important; }
          table.table-input th.ps-1, table.table-input td.ps-1 { padding-left: 4px !important; }
          table.table-input th.ps-2, table.table-input td.ps-2 { padding-left: 8px !important; }
          table.table-input th.ps-3, table.table-input td.ps-3 { padding-left: 12px !important; }


       /* ===========================
         セル背景色（テーブル非依存・汎用）
         使い方：<th class="th-ccc">...</th> / <td class="th-cream">...</td>
         =========================== */
            th.th-ccc,  td.th-ccc  { background-color: #bfd1ea !important;     color: #000 !important; }
            th.th-ddd,  td.th-ddd  { background-color: #e7eef8 !important; color: #333 !important; }
            th.th-cream,td.th-cream{ background-color: #E9E1D2 !important; color: #333 !important; }
            
            
          /* 背景色（帳票の見出しセル等） */
            td.bg-grey, th.bg-grey { background: #ededed !important; }
            tr.bg-grey > td, tr.bg-grey > th { background: #ededed !important; }
            tr.bg-cream > td, tr.bg-cream > th { background: #E9E1D2 !important; }
      
        /* ============================
         *  縦書きTH（rowgroup見出し用）
         * ============================ */
        .th-vertical {
          writing-mode: vertical-rl;     /* 縦書き（右→左） */
          text-orientation: mixed;       /* 数字は横向き混在（自然な見え方） */
          white-space: nowrap;           /* 改行させない */
          letter-spacing: 0.05em;        /* 視認性微調整（不要なら削除OK） */
          padding: 6px 4px;              /* 横幅を詰める */
          min-width: 28px;               /* 縦書き列の最小幅（必要なら調整） */
        }
        
       
        
      /* ===== 帳票用コンパクト ===== */
    		.table-compact-p {
    		  border-collapse: collapse;
    		  font-size: 13px;
    		  border: 1px solid #999 !important;
    		}
    		/* セル格子線（ここが基準） */
    		table.table-compact-p td,
    		table.table-compact-p th {
    		  border: 1px solid #999 !important;
    		  padding: 1px 2px !important;
    		  font-size: 13px;
    		  text-align: center;
    		  vertical-align: middle;
    		}

        /* table-compact-p14（jintekikojosatyosei で使用） */
        .table-compact-p14 {
          border-collapse: collapse;
          font-size: 14px;
          border: none !important;
        }
        table.table-compact-p14 td,
        table.table-compact-p14 th {
          border: 1px solid #999;
          padding: 1px 2px !important;
          font-size: 14px;
          vertical-align: middle;
        }

 
        /* コンパクト化ユーティリティ */
        .table-compact td,
        .table-compact th {
          padding: 1px 2px !important;
        }
        
      		/* ===== 全透明テーブル（既存互換） ===== */
    		.g-table--none {
    		  table-layout: fixed;
    		  border: 0 !important;
    		  outline: 0 !important;
    		  font-size: 12pt;
    		  line-height: 1.2;
    		  margin-left: auto;
    		  margin-right: auto;
    		}
    		.g-table--none th,
    		.g-table--none td {
    		  border: 0 !important;
    		}
    		/* g-table--none の中でそのtdだけ囲む */
    		.g-table--none td.box-strong {
    		  border: 1px solid #000 !important;
    		  border-collapse: separate;
    		}
    		
		
        /* 偶数ストライプ/ホバーを無効化（他所の指定がある場合に打消し） */
        .no-stripe tbody tr:nth-child(even),
        .no-stripe tbody tr:hover {
          background-color: transparent !important;
        }
        
        /* 固定ヘッダ＋tbodyスクロール（表幅を揃える構成） */
        .scroll-body-table thead tr {
          display: table;
          width: 100%;
          table-layout: fixed;
        }
        .scroll-body-table tbody {
          display: block;
          max-height: var(--scroll-height, 420px);
          overflow-y: auto;
        }
        .scroll-body-table tbody tr {
          display: table;
          width: 100%;
          table-layout: fixed;
        }
        
      /* 下部バー */  
        .table-i-bottom {
          background-color: #666666;
          color: #ffffff;
          text-align: right;
          height: 40px;
          width: 100%;
        }
        
        .table-i-bottom td {
          padding: 8px;
          text-align: right;
          border-bottom: 1px solid #ddd;
        }
      
      /* ベージュ */  
        .table-beige {
            border-collapse: collapse;
            margin: 10px auto;     /* 上下10px, 左右 auto */
            border: 1px solid #DDDDDD; /* ★ 追加 */
            text-align: center;
            vertical-align: middle !important;
            font-size: 13px;
            padding: 6px; /* cellpaddingと同様の効果 */
            background-color: #E9E1D2 !important;
          }
    
    
  		
        /* collapse境界で負けないよう、太線は左右/上下どちら側でも勝つように強制 */
        table.table-compact-p td.b-r-strong, table.table-compact-p th.b-r-strong { border-right-width: 2px !important; border-right-style: solid !important; border-right-color: #333 !important; }
        table.table-compact-p td.b-l-strong, table.table-compact-p th.b-l-strong { border-left-width:  2px !important; border-left-style:  solid !important; border-left-color:  #333 !important; }
        table.table-compact-p td.b-t-strong, table.table-compact-p th.b-t-strong { border-top-width:   2px !important; border-top-style:   solid !important; border-top-color:   #333 !important; }
        table.table-compact-p td.b-b-strong, table.table-compact-p th.b-b-strong { border-bottom-width:2px !important; border-bottom-style:solid !important; border-bottom-color:#333 !important; }

　　　　/* collapse境界でも確実に消す（table-compact-p向け） */
        table.table-compact-p td.b-none, table.table-compact-p th.b-none { border: none !important; }
        table.table-compact-p td.b-t-no, table.table-compact-p th.b-t-no { border-top: none !important; }
        table.table-compact-p td.b-r-no, table.table-compact-p th.b-r-no { border-right: none !important; }
        table.table-compact-p td.b-b-no, table.table-compact-p th.b-b-no { border-bottom: none !important; }
        table.table-compact-p td.b-l-no, table.table-compact-p th.b-l-no { border-left: none !important; }
        table.table-compact-p td.b-x-no, table.table-compact-p th.b-x-no { border-left: none !important; border-right: none !important; }
   
   

  	    table td.b-x-strong, table th.b-x-strong { border-left: 2px solid #333 !important; border-right: 2px solid #333 !important; }
    		table td.b-y-strong, table th.b-y-strong { border-top:  2px solid #333 !important; border-bottom:2px solid #333 !important; }
    
    		table td.b-strong,   table th.b-strong   { border: 2px solid #333 !important; }
    		table td.b-strong-1, table th.b-strong-1 { border: 1px solid #333 !important; }
    		table td.b-r-strong-1, table th.b-r-strong-1 { border-right: 1px solid #333 !important; }
    		
/* --------------------------------------
  * タブ
  * ------------------------------------ */

        /*タブのスタイル　後で消す。*/
        .tab_menu {
          width: calc(100%/5);
          height: 30px;
          line-height: 30px;
          font-size: 13px;
          text-align: center;
          color: #000;
          border-bottom: 3px solid #4193d0;
          background-color: #d9d9d9;
          display: block;
          float: left;
          font-weight: bold;
          transition: all 0.2s ease;
        }
        .tab_menu:hover {
          opacity: 0.75;
        }
        
        /* ① タブ全体を 100% 幅に */
        .nav-tabs {
          width: 100%;
          display: flex;      /* これは Bootstrap がもともと付与している場合が多いです */
          justify-content: flex-start; /* タブを左から詰めるなど必要に応じ変更 */
        }
        
        /* ② li 要素(.nav-item)を均等幅にする */
        .nav-tabs .nav-item {
          flex: 1;  /* 各アイテムが等分に伸びる */
        }
        
        /* ③ ボタン(.nav-link)を幅いっぱいに広げ、中央寄せしたい場合 */
        .nav-tabs .nav-link {
          width: 100%;
          text-align: center;
          /* 高さ中央揃えのために flex 指定するなら */
          display: flex;
          justify-content: center;
          border-bottom: 3px solid #4193d0;
          background-color: #e8e3e6;
          color: #000 !important; 
          align-items: center;
          font-weight: bold;
          height: 40px;         /* 好みの高さ */
          line-height: 16px;    /* 同上 */
        }
        
        /* nav-link がアクティブ（選択されているタブ）の場合 */
        .nav-tabs .nav-link.active {
          background-color: #4193d0 !important;   /* 背景色：青 */
          color: #fff !important;          /* 文字色：白 */
          border-bottom: 3px solid #4193d0;
        }


/* --------------------------------------
  * フォームコントロール
  * ------------------------------------ */
        .form-control {
            font-size: 13px;
            height: 30px;
            text-align: right;
            display: inline-block;
            border-radius: 0px;
            border-color:#d0d0d0;
            margin: 0 !important; /* ★外側余白をゼロ */
        }
        
       /* さらに個別に“部品だけ”を締めたい場合の補助クラス */
        .form-control-compact {
          padding-top: 1px !important;
          padding-bottom: 1px !important;
          line-height: 1.0 !important;
          margin-top: 0 !important;
          margin-bottom: 0 !important;
          height: calc(1em + 4px) !important;
          margin: 0 !important; /* ★外側余白をゼロ */
        }
        /* 使用法 
        <input type="text" class="form-control form-control-compact">*/
       
       /* ============================================
         * 0.5pxギャップの超コンパクト版（ボーダー非考慮・最小指定）
         * 使い方：<input  class="form-control form-control-compact-05
         テーブルの-05と同時に使用しなければ効かない
        * ============================================*/
        .form-control-compact-05 {
          padding-top: 1px !important;
          padding-bottom: 1px !important;
          line-height: 1.0 !important;
          margin-top: 0 !important;
          margin-bottom: 0 !important;
          height: calc(1em + 4px) !important;
        }

        .form-control-sm {
          padding-top: 1px !important;
          padding-bottom: 1px !important;
          line-height: 1.0 !important;
          margin-top: 0 !important;
          margin-bottom: 0 !important;
          height: calc(1em + 4px) !important;
          font-size: 13px;
        }

        /* ▼ 第一表・第三表（table-compact-05）内だけ、
           .form-control-compact-05 と同じコンパクト高さに揃える */
        table.table-base.table-compact-05 td > .form-control.form-control-sm {
          padding-top: 1px !important;
          padding-bottom: 1px !important;
          line-height: 1.0 !important;
          margin-top: 0 !important;
          margin-bottom: 0 !important;
          height: calc(1em + 4px) !important;
        }
        
         /* ============================================
          * 0.5pxギャップの超コンパクト版（ボーダー非考慮・最小指定）
          * 使い方：<table class="table-base table-compact-05">…</table>
          フォームコントロールの-05と同時に使用しなければ効かない
          * ============================================*/
         table.table-base.table-compact-05 th,
         table.table-base.table-compact-05 td {
           padding: 0.5px;   /* ★ここが“0.5px の隙間” */
           line-height: 1.0;
         }
         table.table-base.table-compact-05 td > .form-control,
         table.table-base.table-compact-05 td > .form-control.form-control-sm,
         table.table-base.table-compact-05 td > .form-select,
         table.table-base.table-compact-05 td > .input-group,
         table.table-base.table-compact-05 td > .form-check {
           margin: 0;        /* 入力側の上下マージンをゼロに */
         }
        
        /* Bootstrapの高さ・余白に負けないようセレクタ強化（任意） */
        table.table-base.table-compact-05 td > .form-control.form-control-compact,
        table.table-base.table-compact-05 td > .form-control.form-control-compact-05,
        table.table-base.table-compact-05 td > .form-control.form-control-sm {
          padding-top: 0 !important;
          padding-bottom: 0 !important;
          height: calc(1em + 2px) !important; /* さらに低く */
          line-height: 1.0 !important;
          margin-top: 0 !important;
          margin-bottom: 0 !important;
        }
        
        /* 数値入力はUA差で高さがブレやすいので見た目統一（任意） */
        table.table-base.table-compact-05 input[type="number"].form-control {
          -moz-appearance: textfield;
        }
        table.table-base.table-compact-05 input[type="number"].form-control::-webkit-outer-spin-button,
        table.table-base.table-compact-05 input[type="number"].form-control::-webkit-inner-spin-button {
          -webkit-appearance: none;
          margin: 0;
        }
        
        /* ▼ select版フォームコントロールのベース */
        .form-select {
          font-size: 13px;
          height: 22px;
          line-height: 1.2;
          display: inline-block;
          border-radius: 5px;
          border: 1px solid #d0d0d0;
          box-sizing: border-box;
          padding: 0 18px 0 4px;      /* 左4px, 右は▼矢印ぶんを多めに */
          background-color: #fff;
        
          /* ブラウザのデフォルトUIを殺して自前スタイル優先 */
          -webkit-appearance: none;
          -moz-appearance: none;
          appearance: none;
        
          /* ▼ 右側の▼マーク（必要なければ消してOK） */
          background-image: linear-gradient(45deg, transparent 50%, #666 50%),
                            linear-gradient(135deg, #666 50%, transparent 50%);
          background-position: right 8px center, right 4px center;
          background-size: 6px 6px, 6px 6px;
          background-repeat: no-repeat;
        }
        
        /* 高さをさらに詰めたいときのコンパクト版 */
        .form-select-compact {
          padding-top: 1px !important;
          padding-bottom: 1px !important;
          margin-top: 0 !important;
          margin-bottom: 0 !important;
          height: calc(1em + 4px) !important;
        }
        
        /* ▼ 数値8桁くらいが入る select 幅（フォーム単体用） */
        .sel4 {
          width: 60px !important;   /* suji8 と合わせたいなら 100px */
          height: 22px;
          line-height: 1.2;
        }
        
        .sel8 {
          width: 100px !important;   /* suji8 と合わせたいなら 100px */
          height: 22px;
          line-height: 1.2;
        }
        
        .input-group .form-select.sel8 {
          flex: 0 0 auto !important;
          width: 100px !important;
          height: 22px;
          line-height: 1.2;
        }
        
        /* ▼ 数値9桁くらいが入る select 幅 */
        .sel9 {
          width: 110px !important;   /* suji9 と合わせる */
          height: 22px;
          line-height: 1.2;
        }
        
        .input-group .form-select.sel9 {
          flex: 0 0 auto !important;
          width: 110px !important;
          height: 22px;
          line-height: 1.2;
        }
        
        
        .kana2 {
            font-size: 13px;
            height: 22px;
            width: 57px;
            text-align: left;
            border-color:#d0d0d0;
            margin: 0 !important; /* ★外側余白をゼロ */
        }
        .kana3 {
            font-size: 13px;
            height: 22px;
            width: 70px;
            text-align: left;
            border-color:#d0d0d0;
            margin: 0 !important; /* ★外側余白をゼロ */
        }  
        
        .kana9 {
            font-size: 13px;
            height: 22px;
            width: 150px;
            text-align: left;
            border-color:#d0d0d0;
            margin: 0 !important; /* ★外側余白をゼロ */
        }
        
        .kana10 {
            font-size: 13px;
            height: 22px;
            width: 160px;
            text-align: left;
            border-color:#d0d0d0;
            margin: 0 !important; /* ★外側余白をゼロ */
        }
  
       .kana20 {
            font-size: 13px;
            height: 22px;
            width: 300px;
            text-align: left;
            border-color:#d0d0d0;
            margin: 0 !important; /* ★外側余白をゼロ */
        }
        
        .kana25 {
            font-size: 13px;
            height: 22px;
            width: 360px;
            text-align: left;
            border-color:#d0d0d0;
            margin: 0 !important; /* ★外側余白をゼロ */
        }
        
         .kana35 {
            font-size: 13px;
            height: 22px;
            width: 500px;
            text-align: left;
            border-color:#d0d0d0;
            margin: 0 !important; /* ★外側余白をゼロ */
        }
        
        .suji2 {
            width: 45px !important;
            height: 22px;
            line-height: 1.2;
            }
        
        .input-group .form-control.suji2 {
            flex: 0 0 auto !important; /* 横幅を自動拡張しない */
            width: 40px !important;    /* 幅を強制固定 */
            height: 22px;
            line-height: 1.2;
        }
        
        .suji3 {
            width: 52px !important;
            height: 22px;
            line-height: 1.2;
            }
        
        .input-group .form-control.suji3 {
            flex: 0 0 auto !important; /* 横幅を自動拡張しない */
            width: 52px !important;    /* 幅を強制固定 */
            height: 22px;
            line-height: 1.2;
        }
        
        .suji4 {
            width: 60px !important;
            height: 22px;
            line-height: 1.2;
            }
        .input-group .form-control.suji4 {
            flex: 0 0 auto !important; /* 横幅を自動拡張しない */
            width: 60px !important;    /* 幅を強制固定 */
            height: 22px;
            line-height: 1.2;
        }
                 
        .suji5 {
            width: 70px !important;
            height: 22px;
            line-height: 1.2;
            }
        
        
        .input-group .form-control.suji5 {
            flex: 0 0 auto !important; /* 横幅を自動拡張しない */
            width: 70px !important;    /* 幅を強制固定 */
            height: 22px;
            line-height: 1.2;
        }

    
        .suji6 {
            width: 80px !important;
            height: 22px;
            line-height: 1.2;
            }
        
        .input-group .form-control.suji6 {
            flex: 0 0 auto !important; /* 横幅を自動拡張しない */
            width: 80px !important;    /* 幅を強制固定 */
            height: 22px;
            line-height: 1.2;
        }
            
        .suji7 {
            width: 93px !important;
            height: 22px;
            line-height: 1.2;
            }
        
        .input-group .form-control.suji7 {
            flex: 0 0 auto !important; /* 横幅を自動拡張しない */
            width: 93px !important;    /* 幅を強制固定 */
            height: 22px;
            line-height: 1.2;
        }
        
        .suji8 {
            width: 100px !important;
            height: 22px;
            line-height: 1.2;
            }
        
        .input-group .form-control.suji8 {
            flex: 0 0 auto !important; /* 横幅を自動拡張しない */
            width: 100px !important;    /* 幅を強制固定 */
            height: 22px;
            line-height: 1.2;
        }
        
        .suji9 {
            width: 110px !important;
            height: 22px;
            line-height: 1.2;
            }
        
        .input-group .form-control.suji9 {
            flex: 0 0 auto !important; /* 横幅を自動拡張しない */
            width: 110px !important;    /* 幅を強制固定 */
            height: 22px;
        }
        
       .suji10 {
            width: 120px !important;
            height: 22px;
            line-height: 1.2;
            }
            
        .suji11 {
            width: 124px !important;
            height: 22px !important;
            line-height: 1.2 !important;
                  }
                  
        /* ============================================
         * 数値入力（共通）：suji11s
         * - suji11 は他用途で保持
         * - ふるさと等のテーブル入力を 132px に統一するための汎用クラス
         * ============================================ */
        .suji11s {
          width: 122px !important;
          min-width: 122px !important;
          max-width: 122px !important;
          padding-top: 1px !important;
          padding-bottom: 1px !important;
          line-height: 1.0 !important;
          margin-top: 0 !important;
          margin-bottom: 0 !important;
          height: calc(1em + 4px) !important;
          box-sizing: border-box !important;
        }
 
/* --- HELPモーダル共通 --- */
        #helpModalCommon .modal-content {
          font-family: inherit;
          font-size: 15px;
        }
        
        #helpModalCommon .modal-title {
          font-size: inherit;
          font-weight: 700;
          line-height: 1.2;
        }
        
        #helpModalCommon .modal-body {
          padding-left: 2rem;
          padding-right: 2rem;
        }
        
        #helpModalCommon .modal-dialog {
          max-width: 650px;
        }
        
        #helpModalCommon #helpModalBody strong {
          font-weight: 700;
          color: #192C4B;
        }
        
        #helpModalCommon #helpModalBody .help-text {
          margin: 0 0 12px 0;
          line-height: 1.5;
        }
        
        #helpModalCommon #helpModalBody .help-tax-table {
          width: 100%;
          margin: 0 0 12px 0;
          border-collapse: collapse;
          table-layout: auto;
          font-size: 13px;
          background: #fff;
        }
        
        #helpModalCommon #helpModalBody .help-tax-table th,
        #helpModalCommon #helpModalBody .help-tax-table td {
          border: 1px solid #777;
          padding: 4px 6px;
          text-align: center;
          vertical-align: middle;
          line-height: 1.3;
          white-space: nowrap;
        }
        
        #helpModalCommon #helpModalBody .help-tax-table thead th {
          background: #e7eef8;
          font-weight: 700;
        }
        
        #helpModalCommon #helpModalBody .help-tax-table tbody th {
          background: #D3E0F2;
          font-weight: 700;
          width: 72px;
        } 
 
 
  
  /* --- 罫線をセル単位で透明化する --- */
        .b-none   { border: none !important; }
        .b-t-no   { border-top:    none !important; }
        .b-r-no   { border-right:  none !important; }
        .b-b-no   { border-bottom: none !important; }
        .b-l-no   { border-left:   none !important; }
        .b-x-no   { border-left:   none !important; border-right: none !important; }
        .b-y-no { border-top: none !important; border-bottom: none !important; }
        
    /* --- 罫線をセル単位で太線にする --- */
        .b-t-strong { border-top:    2px solid #333 !important; }
        .b-r-strong { border-right:  2px solid #333 !important; }
        .b-b-strong { border-bottom: 2px solid #333 !important; }
        .b-l-strong { border-left:   2px solid #333 !important; }
        .b-y-strong { border-top: 2px solid #333 !important; border-bottom: 2px solid #333 !important; }    
   
        table td.b-x-strong, table th.b-x-strong { border-left: 2px solid #333 !important; border-right: 2px solid #333 !important; }
    		table td.b-y-strong, table th.b-y-strong { border-top:  2px solid #333 !important; border-bottom:2px solid #333 !important; }
    
    		table td.b-strong,   table th.b-strong   { border: 2px solid #333 !important; }
    		table td.b-strong-1, table th.b-strong-1 { border: 1px solid #333 !important; }
    		table td.b-r-strong-1, table th.b-r-strong-1 { border-right: 1px solid #333 !important; }
    
    /* --- 点線（最優先）--- */
    		table td.b-dot, table th.b-dot { border: 1px dotted #000 !important; }
    		table td.b-t-dot, table th.b-t-dot { border-top: 1px dotted #000 !important; }
    		table td.b-r-dot, table th.b-r-dot { border-right: 1px dotted #000 !important; }
    		table td.b-b-dot, table th.b-b-dot { border-bottom: 1px dotted #000 !important; }
    		table td.b-l-dot, table th.b-l-dot { border-left: 1px dotted #000 !important; }
    		table td.b-x-dot, table th.b-x-dot { border-left: 1px dotted #000 !important; border-right: 1px dotted #000 !important; }
    		table td.b-y-dot, table th.b-y-dot { border-top: 1px dotted #000 !important; border-bottom: 1px dotted #000 !important; }

          
    /* margin-top/bottom/left/right */
      .mt-0 { margin-top: 0 !important; }
      .mt-1 { margin-top: 4px !important; }
      .mt-2 { margin-top: 8px !important; }
      .mt-3 { margin-top: 12px !important; }
      .mt-4 { margin-top: 16px !important;  }
      .mt-5 { margin-top: 24px !important;}
      .mt-8 { margin-top: 36px !important;}
      .mt-10 { margin-top: 48px !important; }
      .mt-11 { margin-top: 54px !important; }
      .mt-12 { margin-top: 60px !important; }
      .mt-20 { margin-top: 96px !important; }
      
      .mb-0 { margin-bottom: 0 !important; }
      .mb-1 { margin-bottom: 4px !important; }
      .mb-2 { margin-bottom: 8px !important; }
      .mb-3 { margin-bottom: 12px !important;; }
      .mb-4 { margin-bottom: 16px !important; }
      .mb-5 { margin-bottom: 24px !important;}
      .mb-10 { margin-bottom: 48px !important; }

      .ms-0 { margin-left: 0 !important; }
      .ms-1 { margin-left: 4px !important; }
      .ms-2 { margin-left: 8px !important; }
      .ms-3 { margin-left: 12px !important; }
      .ms-4 { margin-left: 16px !important;  }
      .ms-5 { margin-left: 24px !important; }
      .ms-10 { margin-left: 48px !important; }
      .ms-12 { margin-left: 62px !important; }
      .ms-20 { margin-left: 96px !important; }
      .ms-40 { margin-left: 192px !important; }
      .mx-2 { margin-left: 8px; margin-right: 8px !important; }
      .mx-8 { margin-left: 36px; margin-right: 36px !important; }
      
      .me-0 { margin-right: 0 !important; }
      .me-1 { margin-right: 4px !important; }
      .me-2 { margin-right: 8px !important; }
      .me-3 { margin-right: 12px !important; }
      .me-4 { margin-right: 16px !important; }
      .me-5 { margin-right: 24px !important;}
      .me-10 { margin-right: 48px !important; }
      .me-40 { margin-right: 192px !important; }
      

      /* padding top/bottom/左右のスケール */
      .pt-0 { padding-top: 0 !important; }
      .pt-1 { padding-top: 4px !important; }
      .pt-2 { padding-top: 8px !important;  }
      .pt-3 { padding-top: 12px !important;  }
      .pt-4 { padding-top: 16px !important;}
      .pt-5 { padding-top: 24px !important; }
      .pt-10 { padding-top: 48px !important; }
      
      .pb-0 { padding-bottom: 0 !important; }
      .pb-1 { padding-bottom: 4px !important; }
      .pb-2 { padding-bottom: 8px !important;  }
      .pb-3 { padding-bottom: 12px !important; }
      .pb-4 { padding-bottom: 16px !important; }
      .pb-5 { padding-bottom: 24px !important; }
      
      .ps-0 { padding-left: 0 !important; }
      .ps-1 { padding-left: 4px !important;}
      .ps-2 { padding-left: 8px !important; }
      .ps-3 { padding-left: 12px !important;}
      .ps-4 { padding-left: 16px !important; }
      .ps-5 { padding-left: 24px !important; }
      .ps-10 { padding-left: 48px !important; }
      .ps-20 { padding-left: 80px !important; }
      .ps-130 { padding-left: 130px !important; }
      
      .pe-0 { padding-right: 0 !important; }
      .pe-1 { padding-right: 4px !important; }
      .pe-2 { padding-right: 8px !important;} 
      .pe-3 { padding-right: 12px !important; }
      .pe-4 { padding-right: 16px !important; }
      .pe-5 { padding-right: 24px !important; }
      .pe-10 { padding-right: 48px !important; }
      .pe-11 { padding-right: 52px !important; }
      
   /* これを「他のCSSより後」に置く */
th.pe-1 { padding-right: 4px !important; }
th.ps-1 { padding-left: 4px !important; }   