@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;
}

/* 右寄せ：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 {
  body { zoom: 90%; } /* 実務優先：Chromium系でOK */
  .container { width: auto !important; margin: 0; padding: 0; }
  .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; }
}
