/* ==============================================
   SEED Billing System - Print & Template Styles
   ============================================== */

/* ---------- 帳票テンプレート共通 ---------- */
.invoice-template {
  width: 210mm;
  min-height: 297mm;
  padding: 18mm 16mm;
  background: #fff;
  margin: 0 auto;
  color: #1a1a1a;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 10.5pt;
  line-height: 1.6;
  box-shadow: 0 0 24px rgba(0, 0, 0, 0.08);
  position: relative;
}

.tpl-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 16mm;
}

.tpl-doc-title {
  font-size: 26pt;
  font-weight: 700;
  letter-spacing: 0.3em;
}

.tpl-doc-meta {
  text-align: right;
  font-size: 10pt;
}

.tpl-doc-meta .meta-row {
  margin-bottom: 4px;
}

.tpl-doc-meta .meta-label {
  display: inline-block;
  width: 80px;
  color: #555;
  font-size: 9.5pt;
}

.tpl-doc-meta .meta-value {
  font-weight: 500;
}

.tpl-parties {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12mm;
  margin-bottom: 14mm;
}

.tpl-customer {
  padding-right: 8mm;
}

.tpl-customer-name {
  font-size: 16pt;
  font-weight: 600;
  margin-bottom: 6px;
  padding-bottom: 6px;
  border-bottom: 1px solid #1a1a1a;
}

.tpl-customer-meta {
  font-size: 9pt;
  color: #555;
  line-height: 1.7;
}

.tpl-issuer {
  text-align: right;
  font-size: 9.5pt;
}

.tpl-issuer-name {
  font-size: 12pt;
  font-weight: 600;
  margin-bottom: 4px;
}

.tpl-issuer-line {
  margin-bottom: 2px;
  color: #333;
}

.tpl-issuer-invoice-no {
  margin-top: 6px;
  font-size: 9pt;
  color: #666;
  font-family: 'Inter', monospace;
}

.tpl-summary {
  margin-bottom: 12mm;
}

.tpl-subject {
  font-size: 11pt;
  margin-bottom: 8px;
}

.tpl-total-display {
  background: #f5f3ee;
  padding: 14px 20px;
  border-left: 4px solid #1a1a1a;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.tpl-total-label {
  font-size: 11pt;
  font-weight: 500;
}

.tpl-total-amount {
  font-size: 20pt;
  font-weight: 700;
  font-family: 'Inter', sans-serif;
}

.tpl-items {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 10mm;
}

.tpl-items thead th {
  background: #f5f3ee;
  padding: 8px 10px;
  font-size: 9.5pt;
  font-weight: 600;
  text-align: left;
  border-top: 1.5px solid #1a1a1a;
  border-bottom: 1px solid #1a1a1a;
}

.tpl-items thead th.right { text-align: right; }
.tpl-items thead th.center { text-align: center; }

.tpl-items tbody td {
  padding: 8px 10px;
  font-size: 10pt;
  border-bottom: 1px solid #d4d0c4;
  vertical-align: top;
}

.tpl-items tbody td.right {
  text-align: right;
  font-family: 'Inter', sans-serif;
}

.tpl-items tbody td.center { text-align: center; }

.tpl-totals-area {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 12mm;
}

.tpl-totals {
  width: 80mm;
  font-size: 10pt;
}

.tpl-totals-row {
  display: flex;
  justify-content: space-between;
  padding: 5px 10px;
  border-bottom: 1px solid #e5e2da;
}

.tpl-totals-row.tpl-tax-detail {
  font-size: 9pt;
  color: #555;
  padding: 3px 10px;
}

.tpl-totals-row.tpl-grand {
  background: #f5f3ee;
  font-size: 12pt;
  font-weight: 700;
  border-top: 1.5px solid #1a1a1a;
  border-bottom: 1.5px solid #1a1a1a;
  padding: 9px 10px;
}

.tpl-totals-row span:last-child {
  font-family: 'Inter', sans-serif;
}

.tpl-remarks {
  border: 1px solid #d4d0c4;
  border-radius: 4px;
  padding: 12px 16px;
  font-size: 9.5pt;
  background: #faf9f5;
  margin-bottom: 8mm;
  white-space: pre-wrap;
}

.tpl-remarks-title {
  font-weight: 600;
  font-size: 10pt;
  margin-bottom: 4px;
}

.tpl-bank {
  border: 1px solid #d4d0c4;
  padding: 12px 16px;
  font-size: 9.5pt;
  background: #faf9f5;
  margin-bottom: 8mm;
}

.tpl-bank-title {
  font-weight: 600;
  margin-bottom: 4px;
}

.tpl-receipt-note {
  text-align: center;
  font-size: 11pt;
  margin: 14mm 0;
}

.tpl-receipt-note .note-label {
  display: inline-block;
  width: 100px;
  border-bottom: 1px solid #333;
  padding-bottom: 4px;
  margin: 0 12px;
  font-weight: 500;
}

.tpl-stamp-area {
  position: absolute;
  right: 16mm;
  top: 50mm;
  width: 24mm;
  height: 24mm;
  border: 1.5px solid #b04030;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #b04030;
  font-size: 8pt;
  font-weight: 600;
  opacity: 0.7;
}

/* ========== Modern Template ========== */
.invoice-template.template-modern .tpl-doc-title {
  font-family: 'Inter', sans-serif;
  font-weight: 300;
  font-size: 32pt;
  color: #8a6d3b;
  letter-spacing: 0.15em;
}

.invoice-template.template-modern .tpl-customer-name {
  border-bottom: 2px solid #8a6d3b;
}

.invoice-template.template-modern .tpl-total-display {
  background: #fff;
  border-left: 5px solid #8a6d3b;
  border-top: 1px solid #e5e2da;
  border-right: 1px solid #e5e2da;
  border-bottom: 1px solid #e5e2da;
}

.invoice-template.template-modern .tpl-total-amount {
  color: #8a6d3b;
}

.invoice-template.template-modern .tpl-items thead th {
  background: #fff;
  border-top: 2px solid #8a6d3b;
  border-bottom: 1px solid #d4d0c4;
  color: #8a6d3b;
}

.invoice-template.template-modern .tpl-totals-row.tpl-grand {
  background: #fff;
  color: #8a6d3b;
  border-top: 2px solid #8a6d3b;
  border-bottom: 2px solid #8a6d3b;
}

/* ========== Classic Template ========== */
.invoice-template.template-classic {
  font-family: 'Noto Serif JP', serif;
}

.invoice-template.template-classic .tpl-doc-title {
  font-size: 28pt;
  letter-spacing: 0.5em;
  border-bottom: 3px double #1a1a1a;
  padding-bottom: 8px;
  display: inline-block;
}

.invoice-template.template-classic .tpl-customer-name {
  border-bottom: 3px double #1a1a1a;
}

.invoice-template.template-classic .tpl-total-display {
  background: #fff;
  border: 3px double #1a1a1a;
  border-left: 3px double #1a1a1a;
}

.invoice-template.template-classic .tpl-items thead th {
  background: #ebe8e0;
  border-top: 3px double #1a1a1a;
  border-bottom: 2px solid #1a1a1a;
}

.invoice-template.template-classic .tpl-totals-row.tpl-grand {
  border-top: 3px double #1a1a1a;
  border-bottom: 3px double #1a1a1a;
  background: #ebe8e0;
}

/* ========== 印刷時 ========== */
@media print {
  body * { visibility: hidden; }

  #printArea, #printArea * {
    visibility: visible;
  }

  #printArea {
    display: block !important;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
  }

  .invoice-template {
    box-shadow: none;
    width: 100%;
    min-height: auto;
    padding: 12mm 14mm;
    margin: 0;
  }

  @page {
    size: A4;
    margin: 0;
  }
}


/* ========== SEED Billing 印影表示 ========== */
.tpl-seal-row {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
  min-height: 70px;
}

.tpl-seal-img {
  width: 72px;
  height: 72px;
  object-fit: contain;
  opacity: 0.9;
}

.tpl-seal-kakuin {
  width: 76px;
  height: 76px;
}

.tpl-seal-shain {
  width: 72px;
  height: 72px;
}

@media print {
  .tpl-seal-img {
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
}

/* ========== SEED Billing 角印位置・拝啓敬具文 ========== */
.tpl-issuer {
  position: relative;
  padding-right: 26mm;
  min-height: 32mm;
}

.tpl-seal-row.tpl-seal-over-issuer {
  position: absolute;
  right: -2mm;
  top: 8mm;
  width: 24mm;
  height: 24mm;
  display: block;
  margin: 0;
  min-height: 0;
  z-index: 3;
  pointer-events: none;
}

.tpl-seal-row.tpl-seal-over-issuer .tpl-seal-img {
  position: absolute;
  object-fit: contain;
  opacity: 0.88;
  mix-blend-mode: multiply;
}

.tpl-seal-row.tpl-seal-over-issuer .tpl-seal-kakuin {
  width: 24mm;
  height: 24mm;
  right: 0;
  top: 0;
}

.tpl-seal-row.tpl-seal-over-issuer .tpl-seal-shain {
  width: 20mm;
  height: 20mm;
  right: 15mm;
  top: 3mm;
  opacity: 0.82;
}

.tpl-greeting-box {
  width: 58%;
  border: 1px solid #d4d0c4;
  border-radius: 4px;
  padding: 9px 12px;
  margin: 6mm 0 5mm 0;
  background: #fff;
  font-size: 9pt;
  line-height: 1.75;
  color: #222;
}

.tpl-greeting-box p {
  margin: 0;
}

.tpl-greeting-keigu {
  text-align: right;
  margin-top: 2px !important;
}

@media print {
  .tpl-seal-row.tpl-seal-over-issuer .tpl-seal-img {
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
}

/* ========== SEED Billing 角印位置調整 CSS only ========== */

/* 会社情報ブロックを角印配置の基準にする */
.tpl-issuer {
  position: relative !important;
  padding-right: 25mm !important;
  min-height: 34mm !important;
}

/* 角印・社印を会社情報右側に重ねる */
.tpl-seal-row {
  position: absolute !important;
  right: 0mm !important;
  top: 17mm !important;
  width: 23mm !important;
  height: 23mm !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  display: block !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

/* 印影画像 */
.tpl-seal-img {
  position: absolute !important;
  object-fit: contain !important;
  opacity: 0.88 !important;
  mix-blend-mode: multiply;
}

/* 角印 */
.tpl-seal-kakuin {
  width: 23mm !important;
  height: 23mm !important;
  right: 0 !important;
  top: 0 !important;
}

/* 社印も使う場合は角印の左側に少しずらす */
.tpl-seal-shain {
  width: 19mm !important;
  height: 19mm !important;
  right: 13mm !important;
  top: 3mm !important;
  opacity: 0.78 !important;
}

@media print {
  .tpl-seal-img {
    print-color-adjust: exact !important;
    -webkit-print-color-adjust: exact !important;
  }
}

/* ===== SEED_KAKUIN_OVERLAP_START ===== */
/* 発行者ブロックを基準に角印を重ねる */
.tpl-issuer {
  position: relative;
}

/* 角印全体の配置 */
.tpl-seal-row {
  position: absolute;
  right: -2mm;
  top: 28mm;
  width: 28mm;
  height: 28mm;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

/* 角印画像 */
.tpl-seal-kakuin {
  width: 26mm;
  height: 26mm;
  object-fit: contain;
  opacity: 0.38;     /* ← 薄さ。もっと薄くするなら 0.28 ～ 0.35 */
  filter: saturate(0.9) brightness(1.05);
}

/* 社印を使う場合は少し小さめ */
.tpl-seal-shain {
  width: 18mm;
  height: 18mm;
  object-fit: contain;
  opacity: 0.38;
  filter: saturate(0.9) brightness(1.05);
}

/* ===== SEED_KAKUIN_OVERLAP_END ===== */


/* ===== SEED_KAKUIN_FORCE_OVERLAP_START ===== */
/* 角印を住所〜メールアドレスに重ねる：強制上書き */
.invoice-template .tpl-issuer {
  position: relative !important;
  padding-right: 0 !important;
  min-height: 34mm !important;
}

.invoice-template .tpl-issuer .tpl-seal-row {
  position: absolute !important;
  right: 0mm !important;      /* 数字を大きくすると左へ寄る */
  top: 14mm !important;       /* 数字を小さくすると上へ行く */
  width: 24mm !important;
  height: 24mm !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  display: block !important;
  z-index: 20 !important;
  pointer-events: none !important;
}

.invoice-template .tpl-issuer .tpl-seal-img,
.invoice-template .tpl-issuer .tpl-seal-kakuin {
  position: absolute !important;
  width: 24mm !important;
  height: 24mm !important;
  right: 0 !important;
  top: 0 !important;
  object-fit: contain !important;
  opacity: 0.58 !important;   /* 薄さ。もっと薄くするなら0.28 */
  filter: saturate(0.8) brightness(1.08) !important;
  mix-blend-mode: multiply !important;
}

.invoice-template .tpl-issuer .tpl-seal-shain {
  width: 18mm !important;
  height: 18mm !important;
  opacity: 0.34 !important;
}
/* ===== SEED_KAKUIN_FORCE_OVERLAP_END ===== */

/* ===== SEED_ENVELOPE_WINDOW_START ===== */
/* 窓付き封筒対応：請求先宛名エリア */
.invoice-template .tpl-customer-window {
  width: 88mm !important;
  min-height: 35mm !important;
  padding-top: 2mm !important;
  padding-left: 0 !important;
  box-sizing: border-box !important;
}

/* 郵便番号 */
.invoice-template .tpl-customer-window .tpl-customer-postal {
  font-size: 9.2pt !important;
  line-height: 1.35 !important;
  margin: 0 0 1mm 0 !important;
  color: #222 !important;
}

/* 住所 */
.invoice-template .tpl-customer-window .tpl-customer-address {
  font-size: 9.8pt !important;
  line-height: 1.45 !important;
  margin: 0 0 2.5mm 0 !important;
  color: #222 !important;
  word-break: keep-all !important;
}

/* 宛名 */
.invoice-template .tpl-customer-window .tpl-customer-name {
  font-size: 14pt !important;
  line-height: 1.35 !important;
  margin: 0 0 2mm 0 !important;
  padding-bottom: 2mm !important;
  border-bottom: 1.4px solid #999 !important;
}

/* 担当者 */
.invoice-template .tpl-customer-window .tpl-customer-contact {
  font-size: 8.8pt !important;
  color: #666 !important;
  margin-top: 1mm !important;
}

/* 窓付き封筒に合わせて左側の情報を少し締める */
.invoice-template .tpl-parties {
  align-items: flex-start !important;
}

/* ===== SEED_ENVELOPE_WINDOW_END ===== */

/* ===== SEED_GREETING_BOX_START ===== */
.invoice-template .tpl-greeting-box {
  width: 60% !important;
  border: 1px solid #d4d0c4 !important;
  border-radius: 4px !important;
  padding: 7px 10px !important;
  margin: 5mm 0 5mm 0 !important;
  background: #fff !important;
  font-size: 8.4pt !important;
  line-height: 1.55 !important;
  color: #222 !important;
  box-sizing: border-box !important;
}

.invoice-template .tpl-greeting-box p {
  margin: 0 !important;
}

.invoice-template .tpl-greeting-keigu {
  text-align: right !important;
  margin-top: 2px !important;
}
/* ===== SEED_GREETING_BOX_END ===== */


/* ===== SEED_INVOICE_COMPACT_POLISH_START ===== */

/* 全体を少しだけコンパクトにして1ページに収める */
.invoice-template {
  padding-top: 10mm !important;
  padding-bottom: 8mm !important;
  box-sizing: border-box !important;
}

/* タイトル周辺の余白を圧縮 */
.tpl-header {
  margin-bottom: 8mm !important;
}

.tpl-doc-title {
  margin-bottom: 0 !important;
}

/* 請求先・発行者エリアを少し詰める */
.tpl-parties {
  margin-bottom: 5mm !important;
}

/* 窓付き封筒宛名エリア */
.tpl-customer-window {
  min-height: 30mm !important;
}

.tpl-customer-window .tpl-customer-postal {
  margin-bottom: 0.5mm !important;
  font-size: 8.8pt !important;
}

.tpl-customer-window .tpl-customer-address {
  margin-bottom: 6mm !important;
  font-size: 9.2pt !important;
  line-height: 1.35 !important;
}

.tpl-customer-window .tpl-customer-name {
  font-size: 13pt !important;
  padding-bottom: 6mm !important;
  margin-bottom: 1mm !important;
}

.tpl-customer-window .tpl-customer-contact {
  font-size: 8.2pt !important;
}

/* 発行者側を少し小さく */
.tpl-issuer {
  min-height: 28mm !important;
}

.tpl-issuer-name {
  font-size: 11pt !important;
  margin-bottom: 1mm !important;
}

.tpl-issuer-line,
.tpl-issuer-invoice-no {
  font-size: 8.1pt !important;
  line-height: 1.35 !important;
  margin: 0 !important;
}

/* 角印は現状の位置を維持しつつ少しだけ締める */
.invoice-template .tpl-issuer .tpl-seal-row {
  width: 23mm !important;
  height: 23mm !important;
}

.invoice-template .tpl-issuer .tpl-seal-img,
.invoice-template .tpl-issuer .tpl-seal-kakuin {
  width: 23mm !important;
  height: 23mm !important;
}

/* 拝啓文をコンパクト化 */
.invoice-template .tpl-greeting-box {
  width: 58% !important;
  padding: 5px 8px !important;
  margin: 3mm 0 4mm 0 !important;
  font-size: 7.8pt !important;
  line-height: 1.38 !important;
}

/* 件名・合計金額周辺 */
.tpl-summary {
  margin-top: 0 !important;
  margin-bottom: 6mm !important;
}

.tpl-subject {
  margin-bottom: 2mm !important;
  font-size: 9pt !important;
}

.tpl-total-display {
  padding: 8px 14px !important;
  min-height: 17mm !important;
}

.tpl-total-label {
  font-size: 9pt !important;
}

.tpl-total-amount {
  font-size: 22pt !important;
}

/* 明細表を少し詰める */
.tpl-items {
  margin-top: 0 !important;
  margin-bottom: 5mm !important;
}

.tpl-items th {
  padding: 5px 7px !important;
  font-size: 8.3pt !important;
}

.tpl-items td {
  padding: 5px 7px !important;
  font-size: 8.4pt !important;
}

/* 合計欄を詰める */
.tpl-totals-area {
  margin-top: 3mm !important;
  margin-bottom: 4mm !important;
}

.tpl-totals-row {
  padding: 3px 8px !important;
  font-size: 8.4pt !important;
}

.tpl-totals-row.tpl-grand {
  padding: 5px 8px !important;
  font-size: 10.5pt !important;
}

/* 振込先を少し見やすく、でも高さは抑える */
.tpl-bank {
  padding: 7px 10px !important;
  margin-top: 4mm !important;
  margin-bottom: 0 !important;
  font-size: 8.2pt !important;
  line-height: 1.35 !important;
}

.tpl-bank-title {
  margin-bottom: 2px !important;
}

/* PDF・印刷時に余計な改ページを避ける */
#documentToExport,
.invoice-template {
  page-break-after: avoid !important;
  break-after: avoid !important;
  overflow: hidden !important;
}

/* ===== SEED_INVOICE_COMPACT_POLISH_END ===== */


/* ===== SEED_BANK_UNDER_ISSUER_START ===== */

/* 右上の会社情報エリア */
.invoice-template .tpl-issuer {
  position: relative !important;
  padding-right: 0 !important;
  min-height: 45mm !important;
}

/* 角印：住所〜メール付近に固定 */
.invoice-template .tpl-issuer .tpl-seal-row {
  position: absolute !important;
  right: 0mm !important;
  top: 14mm !important;
  width: 23mm !important;
  height: 23mm !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  display: block !important;
  z-index: 20 !important;
  pointer-events: none !important;
}

.invoice-template .tpl-issuer .tpl-seal-img,
.invoice-template .tpl-issuer .tpl-seal-kakuin {
  position: absolute !important;
  width: 23mm !important;
  height: 23mm !important;
  right: 0 !important;
  top: 0 !important;
  object-fit: contain !important;
  opacity: 0.58 !important;
  filter: saturate(0.9) brightness(1.03) !important;
  mix-blend-mode: multiply !important;
}

/* 振込先：会社情報の下へ */
.invoice-template .tpl-issuer .tpl-bank-under-issuer {
  width: 60mm !important;
  margin: 5mm 0 0 auto !important;
  padding: 6px 8px !important;
  border: 1px solid #d4d0c4 !important;
  border-radius: 4px !important;
  background: #fffdf7 !important;
  font-size: 7.5pt !important;
  line-height: 1.35 !important;
  color: #222 !important;
  box-sizing: border-box !important;
  text-align: left !important;
}

.invoice-template .tpl-issuer .tpl-bank-under-issuer .tpl-bank-title {
  font-size: 7.8pt !important;
  font-weight: 700 !important;
  margin: 0 0 2px 0 !important;
}

/* 下部に残った振込先は表示しない。移動後だけ表示 */
.invoice-template > .tpl-bank:not(.tpl-bank-under-issuer) {
  display: none !important;
}

/* ===== SEED_BANK_UNDER_ISSUER_END ===== */

/* ===== SEED_BANK_FIELDS_START ===== */
.invoice-template .tpl-bank-fields {
  margin: 0 !important;
  padding: 0 !important;
}

.invoice-template .tpl-bank-field-row {
  display: grid !important;
  grid-template-columns: 18mm 1fr !important;
  gap: 2mm !important;
  margin: 0 0 1px 0 !important;
  padding: 0 !important;
  line-height: 1.32 !important;
}

.invoice-template .tpl-bank-field-row dt {
  margin: 0 !important;
  padding: 0 !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

.invoice-template .tpl-bank-field-row dd {
  margin: 0 !important;
  padding: 0 !important;
  word-break: break-all !important;
}

/* 右上に置く振込先を少し読みやすく */
.invoice-template .tpl-issuer .tpl-bank-under-issuer {
  width: 62mm !important;
  font-size: 7.2pt !important;
  line-height: 1.3 !important;
  padding: 6px 8px !important;
}

.invoice-template .tpl-issuer .tpl-bank-under-issuer .tpl-bank-title {
  font-size: 7.7pt !important;
  margin-bottom: 3px !important;
}
/* ===== SEED_BANK_FIELDS_END ===== */

/* ===== SEED_SMARTPHONE_GREETING_BANK_ALIGN_START ===== */

/* 拝啓文と振込先を同じ高さに横並び */
.invoice-template .tpl-greeting-bank-row {
  display: flex !important;
  align-items: stretch !important;
  justify-content: space-between !important;
  gap: 8mm !important;
  margin: 4mm 0 4mm 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* 左：拝啓文 */
.invoice-template .tpl-greeting-bank-row .tpl-greeting-box {
  flex: 1 1 auto !important;
  width: auto !important;
  min-height: 23mm !important;
  margin: 0 !important;
  padding: 5px 8px !important;
  font-size: 7.6pt !important;
  line-height: 1.35 !important;
  box-sizing: border-box !important;
}

/* 右：振込先 */
.invoice-template .tpl-greeting-bank-row .tpl-bank {
  flex: 0 0 66mm !important;
  width: 66mm !important;
  min-height: 23mm !important;
  margin: 0 !important;
  padding: 6px 8px !important;
  border: 1px solid #d4d0c4 !important;
  border-radius: 4px !important;
  background: #fffdf7 !important;
  font-size: 7pt !important;
  line-height: 1.25 !important;
  box-sizing: border-box !important;
  text-align: left !important;
  letter-spacing: normal !important;
}

.invoice-template .tpl-greeting-bank-row .tpl-bank-title {
  font-size: 7.4pt !important;
  font-weight: 700 !important;
  margin: 0 0 2px 0 !important;
  padding: 0 !important;
}

.invoice-template .tpl-greeting-bank-row .tpl-bank-fields {
  margin: 0 !important;
  padding: 0 !important;
}

.invoice-template .tpl-greeting-bank-row .tpl-bank-field-row {
  display: grid !important;
  grid-template-columns: 17mm 1fr !important;
  gap: 2mm !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.23 !important;
}

.invoice-template .tpl-greeting-bank-row .tpl-bank-field-row dt {
  margin: 0 !important;
  padding: 0 !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  letter-spacing: normal !important;
}

.invoice-template .tpl-greeting-bank-row .tpl-bank-field-row dd {
  margin: 0 !important;
  padding: 0 !important;
  word-break: break-all !important;
  letter-spacing: normal !important;
}

/* 右上会社情報 */
.invoice-template .tpl-issuer {
  position: relative !important;
  padding-right: 23mm !important;
  min-height: 29mm !important;
}

/* 角印：住所〜メール付近に固定 */
.invoice-template .tpl-issuer .tpl-seal-row {
  position: absolute !important;
  right: 0mm !important;
  top: 13mm !important;
  width: 23mm !important;
  height: 23mm !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  display: block !important;
  z-index: 20 !important;
  pointer-events: none !important;
}

.invoice-template .tpl-issuer .tpl-seal-img,
.invoice-template .tpl-issuer .tpl-seal-kakuin {
  position: absolute !important;
  width: 23mm !important;
  height: 23mm !important;
  right: 0 !important;
  top: 0 !important;
  object-fit: contain !important;
  opacity: 0.58 !important;
  filter: saturate(0.9) brightness(1.03) !important;
  mix-blend-mode: multiply !important;
}

/* 以前の右上振込先用余白を打ち消す */
.invoice-template .tpl-issuer .tpl-bank-under-issuer {
  margin: 0 !important;
}

/* 全体を少しだけ詰めて1ページ化しやすくする */
.invoice-template .tpl-parties {
  margin-bottom: 4mm !important;
}

.invoice-template .tpl-summary {
  margin-top: 0 !important;
  margin-bottom: 5mm !important;
}

.invoice-template .tpl-total-display {
  min-height: 16mm !important;
  padding: 8px 14px !important;
}

.invoice-template .tpl-items {
  margin-bottom: 4mm !important;
}

.invoice-template .tpl-bank:not(.tpl-bank-under-issuer) {
  display: block !important;
}

/* ===== SEED_SMARTPHONE_GREETING_BANK_ALIGN_END ===== */







/* ===== SEED_SEAL_FORCE_OVERLAP_FINAL_START ===== */
/* 角印：登録番号の下端に合わせ、住所/TEL/FAX/メール/登録番号へ重ねる */
.invoice-template .tpl-issuer {
  position: relative !important;
  padding-right: 0 !important;
  min-height: 34mm !important;
}

.invoice-template .tpl-issuer .tpl-seal-row {
  position: absolute !important;
  right: 9mm !important;     /* 大きくすると左へ。文字に重ねる */
  top: 14mm !important;      /* 下げるなら15mm */
  width: 23mm !important;
  height: 23mm !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  display: block !important;
  pointer-events: none !important;
  z-index: 99 !important;
}

.invoice-template .tpl-issuer .tpl-seal-img,
.invoice-template .tpl-issuer .tpl-seal-img.tpl-seal-kakuin,
.invoice-template .tpl-issuer .tpl-seal-kakuin {
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  width: 22mm !important;
  height: 22mm !important;
  object-fit: contain !important;
  opacity: 0.56 !important;
  filter: saturate(0.92) brightness(1.04) !important;
  mix-blend-mode: multiply !important;
}

.invoice-template .tpl-issuer .tpl-seal-img.tpl-seal-shain,
.invoice-template .tpl-issuer .tpl-seal-shain {
  display: none !important;
}
/* ===== SEED_SEAL_FORCE_OVERLAP_FINAL_END ===== */

/* ===== SEED_SEAL_RIGHT_BOTTOM_FIX_START ===== */
.invoice-template .tpl-issuer {
  position: relative !important;
  padding-right: 0 !important;
  min-height: 37mm !important;
}

/* 角印全体の置き場所 */
.invoice-template .tpl-issuer .tpl-seal-row {
  position: absolute !important;
  right: 0mm !important;      /* 右端 */
  top: auto !important;
  bottom: 0mm !important;     /* 下を登録番号ライン付近へ */
  width: 23mm !important;
  height: 23mm !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  pointer-events: none !important;
  z-index: 99 !important;
}

/* 角印本体 */
.invoice-template .tpl-issuer .tpl-seal-img,
.invoice-template .tpl-issuer .tpl-seal-img.tpl-seal-kakuin,
.invoice-template .tpl-issuer .tpl-seal-kakuin {
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  width: 22mm !important;
  height: 22mm !important;
  object-fit: contain !important;
  opacity: 0.58 !important;
  mix-blend-mode: multiply !important;
}

/* 社印は非表示 */
.invoice-template .tpl-issuer .tpl-seal-img.tpl-seal-shain,
.invoice-template .tpl-issuer .tpl-seal-shain {
  display: none !important;
}
/* ===== SEED_SEAL_RIGHT_BOTTOM_FIX_END ===== */
/* ===== SEED_SEAL_BOTTOM_ALIGN_FINAL_START ===== */
/* 右位置は維持しつつ、下端を登録番号の下ラインに合わせる */
.invoice-template .tpl-issuer {
  position: relative !important;
  min-height: 36mm !important;
}

.invoice-template .tpl-issuer .tpl-seal-row {
  position: absolute !important;
  right: 0mm !important;
  top: auto !important;
  bottom: 6mm !important;   /* ← 下合わせ用。微調整はここだけ */
  width: 22mm !important;
  height: 22mm !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 50 !important;
  pointer-events: none !important;
}

.invoice-template .tpl-issuer .tpl-seal-img.tpl-seal-kakuin,
.invoice-template .tpl-issuer .tpl-seal-kakuin {
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;
  top: auto !important;
  width: 22mm !important;
  height: 22mm !important;
  object-fit: contain !important;
  opacity: 0.58 !important;
  mix-blend-mode: multiply !important;
}

.invoice-template .tpl-issuer .tpl-seal-img.tpl-seal-shain,
.invoice-template .tpl-issuer .tpl-seal-shain {
  display: none !important;
}
/* ===== SEED_SEAL_BOTTOM_ALIGN_FINAL_END ===== */


/* ===== SEED_SEAL_BOTTOM_ALIGN_FINAL_START ===== */
/* 右位置は維持しつつ、下端を登録番号の下ラインに合わせる */
.invoice-template .tpl-issuer {
  position: relative !important;
  min-height: 36mm !important;
}

.invoice-template .tpl-issuer .tpl-seal-row {
  position: absolute !important;
  right: 0mm !important;
  top: auto !important;
  bottom: 6mm !important;
  width: 22mm !important;
  height: 22mm !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 50 !important;
  pointer-events: none !important;
}

.invoice-template .tpl-issuer .tpl-seal-img.tpl-seal-kakuin,
.invoice-template .tpl-issuer .tpl-seal-kakuin {
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;
  top: auto !important;
  width: 22mm !important;
  height: 22mm !important;
  object-fit: contain !important;
  opacity: 0.58 !important;
  mix-blend-mode: multiply !important;
}

.invoice-template .tpl-issuer .tpl-seal-img.tpl-seal-shain,
.invoice-template .tpl-issuer .tpl-seal-shain {
  display: none !important;
}
/* ===== SEED_SEAL_BOTTOM_ALIGN_FINAL_END ===== */



/* ===== SEED_BANK_RIGHT_COMPACT_START ===== */
/* 拝啓文と振込先の間隔を詰め、振込先を右寄せ */
.invoice-template .tpl-greeting-bank-row {
  gap: 4mm !important;
  justify-content: space-between !important;
}

/* 左の拝啓文を少し広げる */
.invoice-template .tpl-greeting-bank-row .tpl-greeting-box {
  flex: 1 1 auto !important;
  margin-right: 0 !important;
}

/* 振込先を右端へ寄せる */
.invoice-template .tpl-greeting-bank-row .tpl-bank {
  flex: 0 0 62mm !important;
  width: 62mm !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  padding: 5px 7px !important;
}

/* 振込先内部の余白も少し詰める */
.invoice-template .tpl-greeting-bank-row .tpl-bank-field-row {
  grid-template-columns: 16mm 1fr !important;
  gap: 1.5mm !important;
  line-height: 1.2 !important;
}

.invoice-template .tpl-greeting-bank-row .tpl-bank-title {
  margin-bottom: 1.5px !important;
}

/* ===== SEED_BANK_RIGHT_COMPACT_END ===== */

/* ===== SEED_GREETING_BANK_TIGHT_START ===== */
/* 拝啓文の枠を文章幅に近づけ、振込先の右余白を減らす */

/* 横並び全体 */
.invoice-template .tpl-greeting-bank-row {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 3mm !important;
  margin: 4mm 0 4mm 0 !important;
}

/* 拝啓文：横に伸ばしすぎない */
.invoice-template .tpl-greeting-bank-row .tpl-greeting-box {
  flex: 0 0 98mm !important;
  width: 98mm !important;
  min-height: auto !important;
  margin: 0 !important;
  padding: 4px 7px !important;
  font-size: 7.5pt !important;
  line-height: 1.33 !important;
  box-sizing: border-box !important;
}

/* 振込先：右側に寄せつつ、箱の右余白を削る */
.invoice-template .tpl-greeting-bank-row .tpl-bank {
  flex: 0 0 56mm !important;
  width: 56mm !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  padding: 5px 5px !important;
  font-size: 7.2pt !important;
  line-height: 1.22 !important;
  box-sizing: border-box !important;
}

/* 振込先タイトル */
.invoice-template .tpl-greeting-bank-row .tpl-bank-title {
  font-size: 7.5pt !important;
  margin: 0 0 2px 0 !important;
  padding: 0 !important;
}

/* 振込先の項目ラベルと内容の幅を詰める */
.invoice-template .tpl-greeting-bank-row .tpl-bank-field-row {
  display: grid !important;
  grid-template-columns: 14mm 1fr !important;
  gap: 1mm !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
}

/* ラベル */
.invoice-template .tpl-greeting-bank-row .tpl-bank-field-row dt {
  margin: 0 !important;
  padding: 0 !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

/* 内容：右側の空きを減らす */
.invoice-template .tpl-greeting-bank-row .tpl-bank-field-row dd {
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  word-break: normal !important;
  letter-spacing: normal !important;
}

/* ===== SEED_GREETING_BANK_TIGHT_END ===== */
/* ===== SEED_BANK_ALIGN_TO_REGNO_START ===== */
.invoice-template .tpl-issuer {
  position: relative;
}

.invoice-template .tpl-issuer .tpl-issuer-invoice-no {
  display: block;
  margin-top: 1.2mm;
  margin-bottom: 1.2mm;
}

.invoice-template .tpl-issuer .tpl-bank-under-issuer {
  display: block;
  width: 100%;
  max-width: 64mm;
  margin-top: 1.2mm;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 2.2mm 2.8mm;
  align-self: flex-start !important;
  text-align: left !important;
  box-sizing: border-box;
}

.invoice-template .tpl-issuer .tpl-bank-under-issuer .tpl-bank-title {
  margin: 0 0 1mm 0;
  text-align: left !important;
}

.invoice-template .tpl-issuer .tpl-bank-under-issuer .tpl-bank-field-row {
  display: grid;
  grid-template-columns: 12mm 1fr;
  column-gap: 2.5mm;
  row-gap: 0.4mm;
  margin: 0;
  text-align: left !important;
}

.invoice-template .tpl-issuer .tpl-bank-under-issuer .tpl-bank-field-row dt,
.invoice-template .tpl-issuer .tpl-bank-under-issuer .tpl-bank-field-row dd {
  margin: 0;
  text-align: left !important;
}
/* ===== SEED_BANK_ALIGN_TO_REGNO_END ===== */


/* ===== SEED_BANK_TEXT_RIGHT_START ===== */
/* お振込先の枠内文字だけ右へ寄せる */
.invoice-template .tpl-bank,
.invoice-template .tpl-bank-under-issuer,
.invoice-template .tpl-greeting-bank-row .tpl-bank {
  padding-left: 8mm !important;
}

.invoice-template .tpl-bank-title {
  padding-left: 0 !important;
}

.invoice-template .tpl-bank-field-row {
  grid-template-columns: 15mm 1fr !important;
  column-gap: 2mm !important;
}

.invoice-template .tpl-bank-field-row dt,
.invoice-template .tpl-bank-field-row dd {
  text-align: left !important;
}
/* ===== SEED_BANK_TEXT_RIGHT_END ===== */


/* ===== SEED_ISSUER_ZIP_ALIGN_START ===== */
/* 〒980-0021 の頭を住所行（仙台市…）の頭に合わせる */
.invoice-template .tpl-issuer {
  text-align: right !important;
}

.invoice-template .tpl-issuer .tpl-issuer-line {
  width: 44mm !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  text-align: left !important;
  box-sizing: border-box !important;
}

.invoice-template .tpl-issuer .tpl-issuer-name {
  margin-right: 0 !important;
}
/* ===== SEED_ISSUER_ZIP_ALIGN_END ===== */


/* ===== SEED_MAIL_REGNO_ALIGN_START ===== */
/* MAIL表記と登録番号の左頭を住所行に揃える */
.invoice-template .tpl-issuer .tpl-issuer-line,
.invoice-template .tpl-issuer .tpl-issuer-invoice-no,
.invoice-template .tpl-issuer .tpl-issuer-regno-line {
  width: 44mm !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  text-align: left !important;
  box-sizing: border-box !important;
}

.invoice-template .tpl-issuer .tpl-issuer-mail-line {
  width: 44mm !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  text-align: left !important;
}
/* ===== SEED_MAIL_REGNO_ALIGN_END ===== */


/* ===== SEED_COMPANY_IMAGE_AND_BANK_LEFT_START ===== */

/* 会社情報ブロック */
.invoice-template .tpl-issuer {
  align-items: flex-start;
}

/* 会社名画像 */
.invoice-template .tpl-issuer .tpl-issuer-name-wrap {
  width: 50mm;
  margin: 0 0 1.5mm auto;
  text-align: left;
}

.invoice-template .tpl-issuer .tpl-issuer-name-image {
  display: block;
  width: 100%;
  max-width: 50mm;
  height: auto;
  object-fit: contain;
}

/* 会社情報の各行を左揃え */
.invoice-template .tpl-issuer .tpl-issuer-line,
.invoice-template .tpl-issuer .tpl-issuer-invoice-no {
  width: 50mm;
  margin-left: auto;
  margin-right: 0;
  text-align: left;
  box-sizing: border-box;
}

/* お振込先ブロック全体 */
.invoice-template .tpl-issuer .tpl-bank-under-issuer {
  width: 50mm !important;
  margin: 4mm 0 0 auto !important;
  text-align: left !important;
  box-sizing: border-box !important;
  padding: 3mm 4mm !important;
}

/* タイトル */
.invoice-template .tpl-issuer .tpl-bank-under-issuer .tpl-bank-title {
  text-align: left !important;
  margin-bottom: 1.5mm !important;
}

/* 項目行 */
.invoice-template .tpl-issuer .tpl-bank-under-issuer .tpl-bank-field-row {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  gap: 2mm !important;
  margin-bottom: 0.8mm !important;
}

/* 左側ラベル */
.invoice-template .tpl-issuer .tpl-bank-under-issuer .tpl-bank-field-row dt {
  width: 12mm !important;
  min-width: 12mm !important;
  text-align: left !important;
  margin: 0 !important;
}

/* 右側内容 */
.invoice-template .tpl-issuer .tpl-bank-under-issuer .tpl-bank-field-row dd {
  flex: 1 1 auto !important;
  margin: 0 !important;
  text-align: left !important;
}

/* ===== SEED_COMPANY_IMAGE_AND_BANK_LEFT_END ===== */


/* ===== SEED_SEAL_DOWN_5MM_START ===== */
/* 角印を現在位置から約5mm下げる */
.invoice-template .tpl-issuer .tpl-seal-row {
  bottom: 1mm !important;
}
/* ===== SEED_SEAL_DOWN_5MM_END ===== */


/* ===== SEED_RIGHT_INFO_SIZEUP_START ===== */
/* 右上の会社情報・ロゴ・振込先を少し大きくする */

/* 会社ロゴ */
.invoice-template .tpl-issuer .tpl-issuer-name-wrap {
  width: 54mm !important;
  max-width: 54mm !important;
  margin-bottom: 1.8mm !important;
}

.invoice-template .tpl-issuer .tpl-issuer-name-image {
  width: 54mm !important;
  max-width: 54mm !important;
}

/* 会社情報 */
.invoice-template .tpl-issuer .tpl-issuer-line,
.invoice-template .tpl-issuer .tpl-issuer-invoice-no,
.invoice-template .tpl-issuer .tpl-issuer-regno-line,
.invoice-template .tpl-issuer .tpl-issuer-mail-line {
  width: 48mm !important;
  font-size: 8.8pt !important;
  line-height: 1.32 !important;
}

/* 角印は少しだけ大きく */
.invoice-template .tpl-issuer .tpl-seal-row {
  width: 23.5mm !important;
  height: 23.5mm !important;
}

.invoice-template .tpl-issuer .tpl-seal-img.tpl-seal-kakuin,
.invoice-template .tpl-issuer .tpl-seal-kakuin {
  width: 23.5mm !important;
  height: 23.5mm !important;
}

/* お振込先 */
.invoice-template .tpl-bank,
.invoice-template .tpl-bank-under-issuer,
.invoice-template .tpl-greeting-bank-row .tpl-bank {
  width: 60mm !important;
  flex-basis: 60mm !important;
  font-size: 7.8pt !important;
  line-height: 1.28 !important;
  padding: 5.5px 7px !important;
}

/* お振込先タイトル */
.invoice-template .tpl-bank-title {
  font-size: 8.1pt !important;
  margin-bottom: 2px !important;
}

/* お振込先の中身 */
.invoice-template .tpl-bank-field-row {
  grid-template-columns: 15mm 1fr !important;
  gap: 1.5mm !important;
  line-height: 1.27 !important;
}

.invoice-template .tpl-bank-field-row dt,
.invoice-template .tpl-bank-field-row dd {
  font-size: 7.8pt !important;
}

/* ===== SEED_RIGHT_INFO_SIZEUP_END ===== */

/* SEED invoice final layout override 20260515 */
.invoice-template .tpl-greeting-bank-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 60mm !important;
  gap: 5mm !important;
  align-items: stretch !important;
  margin: 2.5mm 0 3.5mm !important;
}

.invoice-template .tpl-greeting-bank-row .tpl-greeting-box {
  margin: 0 !important;
  padding: 3.2mm 4.5mm 3mm !important;
  min-height: auto !important;
  height: auto !important;
  box-sizing: border-box !important;
}

.invoice-template .tpl-greeting-bank-row .tpl-greeting-box p {
  margin: 0 0 1mm !important;
  line-height: 1.55 !important;
}

.invoice-template .tpl-greeting-bank-row .tpl-greeting-keigu {
  text-align: right !important;
  margin: 1.6mm 6mm 0 0 !important;
}

.invoice-template .tpl-greeting-bank-row .tpl-bank {
  margin: 0 !important;
  padding: 3mm 3.5mm !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-self: stretch !important;
  box-sizing: border-box !important;
}

.invoice-template .tpl-greeting-bank-row .tpl-bank-title {
  text-align: center !important;
  margin: 0 0 1.6mm !important;
  line-height: 1.2 !important;
}

.invoice-template .tpl-greeting-bank-row .tpl-bank-fields {
  margin: 0 auto !important;
  width: max-content !important;
  max-width: 100% !important;
}

.invoice-template .tpl-greeting-bank-row .tpl-bank-field-row {
  display: grid !important;
  grid-template-columns: 18mm minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 2mm !important;
  margin: 0 0 .8mm !important;
  line-height: 1.35 !important;
}

.invoice-template .tpl-greeting-bank-row .tpl-bank-field-row dt,
.invoice-template .tpl-greeting-bank-row .tpl-bank-field-row dd {
  margin: 0 !important;
  padding: 0 !important;
}

.invoice-template .tpl-greeting-bank-row .tpl-bank-body {
  text-align: center !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}
/* /SEED invoice final layout override 20260515 */

/* SEED bank box true center adjust 20260515 */
.invoice-template .tpl-greeting-bank-row .tpl-bank {
  align-items: center !important;
  text-align: center !important;
}

.invoice-template .tpl-greeting-bank-row .tpl-bank-title {
  width: 100% !important;
  text-align: center !important;
}

.invoice-template .tpl-greeting-bank-row .tpl-bank-fields {
  display: inline-block !important;
  width: auto !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: left !important;
}

.invoice-template .tpl-greeting-bank-row .tpl-bank-field-row {
  justify-content: center !important;
}

/* SEED doc source info 20260515 */
.invoice-template .tpl-source-info {
  margin-top: 1.2mm !important;
  font-size: 7.6pt !important;
  line-height: 1.35 !important;
  color: #555 !important;
  text-align: right !important;
}
/* /SEED doc source info 20260515 */

/* SEED quote greeting 20260515 */
.invoice-template .tpl-greeting-box-quote {
  width: 100mm !important;
  margin: 3mm 0 4mm !important;
  padding: 3.2mm 4.5mm 3mm !important;
  border: 1px solid #dddddd !important;
  border-radius: 3mm !important;
  box-sizing: border-box !important;
  background: #ffffff !important;
}

.invoice-template .tpl-greeting-box-quote p {
  margin: 0 0 1mm !important;
  line-height: 1.55 !important;
  font-size: 8.4pt !important;
}

.invoice-template .tpl-greeting-box-quote .tpl-greeting-keigu {
  text-align: right !important;
  margin: 1.6mm 6mm 0 0 !important;
}
/* /SEED quote greeting 20260515 */







/* SEED receipt layout tune 20260516 */

/* 領収書：但し書き周辺を整える */
.invoice-template.doc-type-receipt .tpl-receipt-simple {
  margin: 7mm 0 4mm !important;
}

.invoice-template.doc-type-receipt .tpl-receipt-note {
  max-width: 142mm !important;
  margin: 0 auto !important;
  text-align: center !important;
  font-size: 9.2pt !important;
  line-height: 1.75 !important;
}

.invoice-template.doc-type-receipt .tpl-receipt-confirm {
  margin-bottom: 2.5mm !important;
}

.invoice-template.doc-type-receipt .tpl-receipt-method {
  margin-bottom: 2.2mm !important;
  font-weight: 700 !important;
}

.invoice-template.doc-type-receipt .tpl-receipt-method span {
  display: inline-block !important;
  min-width: 26mm !important;
  padding: 0 2mm 0.4mm !important;
  border-bottom: none !important;
  font-weight: 800 !important;
}

/* 但し書きを1本線で綺麗に見せる */
.invoice-template.doc-type-receipt .tpl-receipt-tadashi {
  display: grid !important;
  grid-template-columns: 14mm 1fr 17mm !important;
  column-gap: 3mm !important;
  align-items: end !important;
  width: 100% !important;
  max-width: 140mm !important;
  margin: 0 auto !important;
  line-height: 1.45 !important;
  font-size: 9pt !important;
}

.invoice-template.doc-type-receipt .tpl-receipt-tadashi .note-label {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 3mm 0.7mm !important;
  border-bottom: 1px solid #222 !important;
  font-weight: 800 !important;
  text-align: center !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: break-word !important;
  box-sizing: border-box !important;
}

/* 収入印紙欄 */
.invoice-template.doc-type-receipt .tpl-revenue-stamp {
  width: 30mm !important;
  height: 25mm !important;
  margin-top: 5mm !important;
}

/* 領収書では品名明細だけ非表示 */
.invoice-template.doc-type-receipt .tpl-items {
  display: none !important;
}

/* 税額内訳は表示して、少し上に詰める */
.invoice-template.doc-type-receipt .tpl-totals-area {
  display: flex !important;
  justify-content: flex-end !important;
  margin-top: 1mm !important;
}

.invoice-template.doc-type-receipt .tpl-totals {
  display: block !important;
  width: 78mm !important;
}

.invoice-template.doc-type-receipt .tpl-totals-row,
.invoice-template.doc-type-receipt .tpl-tax-detail,
.invoice-template.doc-type-receipt .tpl-grand {
  display: flex !important;
  justify-content: space-between !important;
  gap: 8mm !important;
}

/* /SEED receipt layout tune 20260516 */



/* SEED receipt layout reset v2 20260516 */

.invoice-template.doc-type-receipt {
  position: relative !important;
  display: block !important;
  min-height: 250mm !important;
}

.invoice-template.doc-type-receipt .tpl-header {
  margin-bottom: 9mm !important;
}

.invoice-template.doc-type-receipt .tpl-parties {
  margin-bottom: 9mm !important;
}

.invoice-template.doc-type-receipt .tpl-summary {
  margin-bottom: 16mm !important;
}

.invoice-template.doc-type-receipt .tpl-items,
.invoice-template.doc-type-receipt .tpl-item-table,
.invoice-template.doc-type-receipt .tpl-items-table,
.invoice-template.doc-type-receipt .tpl-table,
.invoice-template.doc-type-receipt .tpl-detail,
.invoice-template.doc-type-receipt .tpl-details {
  display: none !important;
}

.invoice-template.doc-type-receipt .tpl-receipt-simple {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-height: 82mm !important;
  margin: 0 !important;
}

.invoice-template.doc-type-receipt .tpl-receipt-note {
  width: 150mm !important;
  max-width: 150mm !important;
  margin: 0 auto !important;
  text-align: center !important;
  font-size: 9pt !important;
  line-height: 1.75 !important;
}

.invoice-template.doc-type-receipt .tpl-receipt-note p {
  margin: 0 0 2.4mm !important;
}

.invoice-template.doc-type-receipt .tpl-receipt-method {
  font-weight: 700 !important;
}

.invoice-template.doc-type-receipt .tpl-receipt-method span {
  display: inline-block !important;
  min-width: 32mm !important;
  padding: 0 2mm 0.6mm !important;
  border-bottom: 1px solid #222 !important;
  font-weight: 700 !important;
}

.invoice-template.doc-type-receipt .tpl-receipt-tadashi {
  display: grid !important;
  grid-template-columns: 13mm minmax(0, 1fr) 17mm !important;
  column-gap: 3mm !important;
  align-items: end !important;
  width: 150mm !important;
  max-width: 150mm !important;
  margin: 4mm auto 0 !important;
  line-height: 1.45 !important;
}

.invoice-template.doc-type-receipt .tpl-tadashi-label,
.invoice-template.doc-type-receipt .tpl-tadashi-as {
  white-space: nowrap !important;
  text-align: center !important;
  font-weight: 700 !important;
  padding-bottom: 0.7mm !important;
}

.invoice-template.doc-type-receipt .tpl-receipt-tadashi .note-label {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 2mm 0.7mm !important;
  border-bottom: 1px solid #222 !important;
  text-align: center !important;
  font-weight: 700 !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: break-word !important;
  box-sizing: border-box !important;
}

.invoice-template.doc-type-receipt .tpl-revenue-stamp {
  position: absolute !important;
  left: 0 !important;
  top: 48mm !important;
  width: 30mm !important;
  height: 25mm !important;
  margin: 0 !important;
  border: 1px dashed #777 !important;
  border-radius: 1mm !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #666 !important;
  font-size: 7.5pt !important;
  box-sizing: border-box !important;
}

.invoice-template.doc-type-receipt .tpl-stamp-title {
  font-weight: 800 !important;
  margin-bottom: 1mm !important;
}

.invoice-template.doc-type-receipt .tpl-stamp-note {
  font-size: 7pt !important;
}

.invoice-template.doc-type-receipt .tpl-totals-area {
  display: flex !important;
  justify-content: flex-end !important;
  width: 100% !important;
  margin-top: -32mm !important;
}

.invoice-template.doc-type-receipt .tpl-totals {
  display: block !important;
  width: 78mm !important;
}

.invoice-template.doc-type-receipt .tpl-totals-row,
.invoice-template.doc-type-receipt .tpl-tax-detail,
.invoice-template.doc-type-receipt .tpl-grand {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 8mm !important;
}

.invoice-template.doc-type-receipt .tpl-bank,
.invoice-template.doc-type-receipt .tpl-remarks {
  display: none !important;
}

/* /SEED receipt layout reset v2 20260516 */

/* SEED receipt fine tune 20260516 */

/* 収入印紙欄を少し下げる */
.invoice-template.doc-type-receipt .tpl-revenue-stamp {
  top: 56mm !important;
}

/* 税額内訳を少し下げる */
.invoice-template.doc-type-receipt .tpl-totals-area {
  margin-top: -24mm !important;
}

/* /SEED receipt fine tune 20260516 */

/* SEED receipt final adjust 20260516 */

/* 領収文を少しだけ上へ */
.invoice-template.doc-type-receipt .tpl-receipt-simple {
  margin-top: -3mm !important;
}

/* 収入印紙と税額内訳は現在の自然な位置を維持 */
.invoice-template.doc-type-receipt .tpl-revenue-stamp {
  top: 54mm !important;
}

.invoice-template.doc-type-receipt .tpl-totals-area {
  margin-top: -26mm !important;
}

/* /SEED receipt final adjust 20260516 */

/* SEED receipt last balance 20260516 */

/* 領収文・但し書きを少しだけ上へ */
.invoice-template.doc-type-receipt .tpl-receipt-simple {
  margin-top: -4mm !important;
}

/* 収入印紙も少しだけ上へ */
.invoice-template.doc-type-receipt .tpl-revenue-stamp {
  top: 44mm !important;
}

/* 税額内訳も少しだけ上へ */
.invoice-template.doc-type-receipt .tpl-totals-area {
  margin-top: -36mm !important;
}

/* /SEED receipt last balance 20260516 */

/* SEED receipt final balance 20260516 */

/* 領収書の中段を少しだけ下へ */
.invoice-template.doc-type-receipt .tpl-receipt-simple {
  margin-top: 7mm !important;
  min-height: 86mm !important;
}

/* 収入印紙を少し下へ */
.invoice-template.doc-type-receipt .tpl-revenue-stamp {
  top: 55mm !important;
}

/* 税額内訳も少し下へ */
.invoice-template.doc-type-receipt .tpl-totals-area {
  margin-top: -25mm !important;
}

/* 但し書きの横幅は維持 */
.invoice-template.doc-type-receipt .tpl-receipt-tadashi {
  width: 150mm !important;
  max-width: 150mm !important;
}

/* /SEED receipt final balance 20260516 */

/* SEED receipt balance final 20260516 */

/* 領収文は今の位置を維持 */
.invoice-template.doc-type-receipt .tpl-receipt-simple {
  min-height: 90mm !important;
}

/* 収入印紙だけ少し下げる */
.invoice-template.doc-type-receipt .tpl-revenue-stamp {
  top: 60mm !important;
}

/* 税額内訳も少し下げる */
.invoice-template.doc-type-receipt .tpl-totals-area {
  margin-top: -24mm !important;
}

/* /SEED receipt balance final 20260516 */

/* SEED receipt last adjust 20260516 */

/* 今の但し書き位置は維持し、下側だけ少し使う */
.invoice-template.doc-type-receipt .tpl-receipt-simple {
  min-height: 96mm !important;
}

/* 収入印紙を少し下へ */
.invoice-template.doc-type-receipt .tpl-revenue-stamp {
  top: 68mm !important;
}

/* 税額内訳も少し下へ */
.invoice-template.doc-type-receipt .tpl-totals-area {
  margin-top: -16mm !important;
}

/* /SEED receipt last adjust 20260516 */

/* SEED receipt stamp between tax total 20260516 */

/* 収入印紙だけを少し下へ移動
   右下の「消費税合計」と「合計」の間くらいの高さに寄せる */
.invoice-template.doc-type-receipt .tpl-revenue-stamp {
  top: 62mm !important;
}

/* /SEED receipt stamp between tax total 20260516 */























/* SEED receipt space tune 20260516 */

/* 合計金額バーから領収文までの余白を詰める */
.invoice-template.doc-type-receipt .tpl-summary {
  margin-bottom: 10mm !important;
}

/* 領収文エリア全体を少しコンパクトに */
.invoice-template.doc-type-receipt .tpl-receipt-simple {
  min-height: 78mm !important;
}

/* 領収文の行間を少しだけ締める */
.invoice-template.doc-type-receipt .tpl-receipt-note {
  line-height: 1.65 !important;
}

.invoice-template.doc-type-receipt .tpl-receipt-note p {
  margin: 0 0 2mm !important;
}

/* 但し書きの上下余白を少し締める */
.invoice-template.doc-type-receipt .tpl-receipt-tadashi {
  margin-top: 3mm !important;
}

/* 税額内訳も少し上に寄せる */
.invoice-template.doc-type-receipt .tpl-totals-area {
  margin-top: -35mm !important;
}

/* 収入印紙は87mmを維持 */
.invoice-template.doc-type-receipt .tpl-revenue-stamp {
  top: 87mm !important;
}

/* /SEED receipt space tune 20260516 */











/* SEED receipt stamp position final 53mm 20260516 */
.invoice-template.doc-type-receipt .tpl-revenue-stamp {
  top: 53mm !important;
}
/* /SEED receipt stamp position final 53mm 20260516 */
