@charset "UTF-8";
/* サブメニューを右横に出す配置 */
.dropdown-submenu { position: relative; }

.dropdown-submenu > .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -0.125rem; /* 微調整は環境に合わせて */
}

/* 例：readonly の入力を淡色背景＆フォーカス影なしに */
.form-control[readonly] {
  background-color: var(--bs-secondary-bg); /* 5.3 以降 */
  color: var(--bs-body-color);
  opacity: 1;                 /* disabled と違い薄くしない */
}
.form-control[readonly]:focus {
  box-shadow: none;
}

/* label、spanの設定 */
/* 太字（BS3の .control-label と BS5の .col-form-label の両方に適用） */
label.control-label,
label.col-form-label,
label.form-check-label,
th,
td,
span.col-form-label {
  font-weight: 700;
}

.small-text-btn {
  font-size: 0.8rem;
  padding: 2px 6px;
}

/* 右寄せ：BS5は576px～、BS3に寄せるなら768px～に変更 */
@media (min-width: 576px) {
  label.control-label,
  label.col-form-label,
  span.col-form-label {
    text-align: right;
    display: block; /* 安定化用 */
  }
}

/* 任意: アスペクト比はOK */
.aspect-ratio-block { aspect-ratio: 4 / 3; }

/* プロジェクトユーティリティ */
.bg-odd { background-color: #fff; }

/* --- print --- */
@media print {
  /* 1. zoomは一旦やめる */
  /* body { zoom: 90%; } */

  /* 2. レイアウト用要素を紙幅いっぱいに */
  body {
    margin: 0;
  }

  .container,
  .container-fluid,
  main,
  .content {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .table {
    font-size: 10pt;
    table-layout: fixed;
    width: 100%;
  }
  .table th, .table td {
    white-space: normal !important;
    word-break: break-word;
  }

  .print-hidden { display: none !important; }
  .navbar, .header, .footer,
  .btn, input[type="button"], input[type="submit"] {
    display: none !important;
  }
}
