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


	/* readonly はテキスト入力系だけに限定（radio/checkbox など input全般に当てない） */
	input.form-control[readonly],
	textarea.form-control[readonly],
	select.form-select[readonly] {
		background-color: var(--readonly-bg) !important;
		color: var(--readonly-text) !important;
		cursor: default;
	}

  /* ✅ JSで el.readOnly=true にしただけのケースも拾う（ただし form-control/form-select のみ） */
  input.form-control:read-only,
  textarea.form-control:read-only,
  select.form-select:read-only {
    background-color: var(--readonly-bg) !important;
    color: var(--readonly-text) !important;
    cursor: default;
  }


  

/* --------------------------------------
  * 文字
  * ------------------------------------ */        
   /* インプット表タイトル　青 */



/* --------------------------------------
  * ボタン（独自クラス）
         * Bootstrapの .btn とは別に運用
 * ------------------------------------ */
 
    
      
       

/* --------------------------------------
 * テーブル（整理版）
 * ------------------------------------ */

		/* ===== 帳票専用テーブル（mm単位） ===== */
		.table-p {
		  position: absolute;
		  left: 20mm;
		  top: calc(var(--header-h, 0mm) + 0mm);
		  border-collapse: collapse;
		  border-spacing: 0;
		  z-index: 1;
		  width: 261mm;
		  font-size: 13px;
		  border: 0.6mm solid #000;
		  table-layout: fixed;
		}
		table.table-p td,
		table.table-p th {
		  border: 0.3mm solid #000;
		  padding: 0;
		  font-size: 13px;
		  line-height: 1.2;
		  vertical-align: middle;
		}
		.center { text-align: center; }
		.right  { text-align: right; }

		


		/* ===== 選択系の軽量テーブル ===== */
		.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 {
		  border-collapse: collapse;
		  margin: 10px auto;
		  font-size: 13px;
		  border: 1px solid #999;
		}
		table.table-base th {
		  background-color: #d3e0f2;
		  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 {
		  border: 1px solid #999;
		  padding: 4px;
		  text-align: center;
		  vertical-align: middle;
		  line-height: 1.2;
		}
		/* th色ユーティリティ（既存互換） */
		.table-base .th-ccc   { background-color: #bfd1ea; color: #333; }
		.table-base .th-ddd   { background-color: #e7eef8; color: #333; }
		.table-base .th-cream { background-color: #E9E1D2; color: #333; }
		/* th-ccc は最終的に #000 に寄せる（元の有効値に合わせる） */
		table.table-base th.th-ccc { background-color:#bfd1ea !important; color:#000 !important; }

		/* ===== コンパクト（入力用） ===== */
		.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;
		}


	

		/* 背景色ユーティリティ */
		td.bg-grey, th.bg-grey { background: #ededed !important; }
		tr.bg-grey > td, tr.bg-grey > th { background: #ededed !important; }
		table.bg-grey td, table.bg-grey th { background: #ededed !important; }

		/* td/th の余白カスタム（data-td） */
		table[data-td] td,
		table[data-td] th{
		  padding: var(--td-py, 1px) var(--td-px, 0) !important;
		}

		/* line-height 1 強制 */
		.lh-1 { line-height: 1 !important; }

	
  

/* --------------------------------------
  * フォームコントロール
  * ------------------------------------ */
    
   
                
        .kana2 {
            font-size: 13px;
            margin: auto;
            height: 22px;
            width: 57px;
            text-align: left;
            border-color:#d0d0d0;
             margin: 0 !important; /* ★外側余白をゼロ */
        }
        .kana3 {
            font-size: 13px;
            margin: auto;
            height: 22px;
            width: 70px;
            text-align: left;
            border-color:#d0d0d0;
             margin: 0 !important; /* ★外側余白をゼロ */
        }  
        
        .kana9 {
            font-size: 13px;
            margin: auto;
            height: 22px;
            width: 150px;
            text-align: left;
            border-color:#d0d0d0;
        }
        
        .kana10 {
            font-size: 13px;
            margin: auto;
            height: 22px;
            width: 160px;
            text-align: left;
            border-color:#d0d0d0;
        }
  
        .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;
            line-height: 1.2;
        }
        
       .suji10 {
            width: 120px !important;
            height: 22px;
            line-height: 1.2;
            }
            
       .suji11{
              width: 132px !important;
              height: 22px !important;
              padding: 0 6px !important;
              line-height: 1.2 !important;
            }

       	/* --- 太線（最優先）--- */
		table td.b-t-strong, table th.b-t-strong { border-top:    2px solid #333 !important; }
		table td.b-r-strong, table th.b-r-strong { border-right:  2px solid #333 !important; }
		table td.b-b-strong, table th.b-b-strong { border-bottom: 2px solid #333 !important; }
		table td.b-l-strong, table th.b-l-strong { border-left:   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-none, table th.b-none { border: none !important; }
		table td.b-t-no, table th.b-t-no { border-top: none !important; }
		table td.b-r-no, table th.b-r-no { border-right: none !important; }
		table td.b-b-no, table th.b-b-no { border-bottom: none !important; }
		table td.b-l-no, table th.b-l-no { border-left: none !important; }
		table td.b-x-no, table th.b-x-no { border-left: none !important; border-right: none !important; }
		table td.b-y-no, table th.b-y-no { border-top: none !important; border-bottom: none !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; }
      
      .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-8 { margin-right: 40px !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; }
      
/* ======================================
 * ふるさとHELPモーダル専用
 * - 退職所得などの長文HELP用
 * ====================================== */

        /* HELP本文の基本行間 */
        #helpModalCommon #helpModalBody .help-text.furu-help-line {
          line-height: 1.2 !important;
        }
        
        /* ○見出し（紺色・太字） */
        #helpModalCommon #helpModalBody .furu-help-head {
          margin-left: 0;
          margin-bottom: 2px;
          line-height: 1.2 !important;
          font-weight: 700 !important;
          color: #192C4B !important;
        }
        
        /* ★見出しの行全体（○見出しより一段右へ） */
        #helpModalCommon #helpModalBody .help-text.furu-help-star {
          padding-left: 1.5em !important;
          margin-top: 5px;
          margin-bottom: 2px;
          line-height: 1.2 !important;
        }
        
        /* ★の後ろの赤文字 */
        #helpModalCommon #helpModalBody .furu-help-star-label {
          color: #701616 !important;
          font-weight: 700 !important;
        }
        
        /* 1段下げ本文 */
        #helpModalCommon #helpModalBody .help-text.furu-help-body {
          padding-left: 2.5em !important;
          margin-bottom: 2px;
          line-height: 1.2 !important;
        }
        
        /* 1段下げ本文（段落末尾を少し広め） */
        #helpModalCommon #helpModalBody .help-text.furu-help-body-last {
          padding-left: 2.5em !important;
          margin-bottom: 4px;
          line-height: 1.2 !important;
        }
        
        /* 番号付き行（①②など） */
        #helpModalCommon #helpModalBody .help-text.furu-help-item {
          padding-left: 4em !important;
          text-indent: -1em !important;
          margin-top: 2px;
          margin-bottom: 1px;
          line-height: 1.2 !important;
        }
        
        /* 番号付き行の末尾 */
        #helpModalCommon #helpModalBody .help-text.furu-help-item-last {
          padding-left: 4em !important;
          text-indent: -1em !important;
          margin-bottom: 4px;
          line-height: 1.2 !important;
        }
        
        /* 数式・補足のさらに下げた行 */
        #helpModalCommon #helpModalBody .help-text.furu-help-formula {
          padding-left: 5em !important;
          margin-bottom: 2px;
          line-height: 1.2 !important;
        }
        
        /* 数式・補足の末尾 */
        #helpModalCommon #helpModalBody .help-text.furu-help-formula-last {
          padding-left: 5em !important;
          margin-bottom: 4px;
          line-height: 1.2 !important;
        }
        
        /* 長めの補足注記 */
        #helpModalCommon #helpModalBody .help-text.furu-help-note {
          padding-left: 5em !important;
          margin-bottom: 4px;
          line-height: 1.2 !important;
        }
        
        /* ※注記用（2行目以降をぶら下がり） */
        #helpModalCommon #helpModalBody .help-text.furu-help-note-hanging {
          padding-left: 2.5em !important;
          text-indent: -1em !important;
          margin-bottom: 4px;
          line-height: 1.2 !important;
        }

  
/* バッヂの設定 */  
        .badge-jibun,
        .badge-yukou,
        .badge-teishi,
        .badge-riyou,
        .badge-syotai {
            display: inline-block;
            min-width: 48px;
            padding: 2px 5px;
            border-radius: 6px;
            font-size: 12px;
            font-weight: 700;
            line-height: 1.4;
            text-align: center;
            white-space: nowrap;
            border: 2px solid transparent;
        }
        
        .badge-jibun {
            background-color: #6A3435;
            color: #ffffff;
            border-color: #1ab1c6;
        }
        
        .badge-yukou {
            background-color: #2f5597;
            color: #ffffff;
            border-color: #1ab1c6;
            width:50px;
        }
        
        .badge-teishi {
            background-color: #6c757d;
            color: #ffffff;
            border-color: #1ab1c6;
            width:50px;
        }
        
        .badge-riyou {
            background-color: #3B5B4A;
            color: #ffffff;
            border-color: #1ab1c6;
            width:50px;
        }
        
        .badge-syotai {
            background-color: #f3c64d;
            color: #222222;
            border-color: #1ab1c6;
            width:50px;
        }

/* ポップアップ */ 
     /* 通常ベージュ */ 
         .guide-popup {
            width: 90%;
            max-width: 100%;
            margin: 10px auto 10px;
            padding: 14px 18px;
            background-color: #F4EDD4;
            border: 1px solid #d8cdb7;
            border-radius: 6px;
            line-height: 1.7;
          } 
          
    /* 注意赤 */ 
         .guide-popup-tyu {
            width: 90%;
            max-width: 100%;
            margin: 16px auto 10px;
            padding: 14px 18px;
            background-color: #F3E5E8;
            border: 1px solid #C38391;
            border-radius: 6px;
            line-height: 1.7;
          } 