/* 1em=10pxにする設定 */
html {
  font-size: 62.5%;
}
/* 幅 767px までなら 1em=9.28px */
@media screen and (max-width: 767px) {
  html {
    font-size: 58%;
  }
}
body {
  font-size: 1.8rem;
  background-color: #EEEEEE;
}
html,
body {
  height: 100%;
  width: 100%;
  margin: 0;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: 500;
}
a {
  cursor: pointer;
}
a:hover {
  color: #CC3300;
}
.container-fluid {
  height: 100%;
  padding-left: 0;
  padding-right: 0;
}
.container-fluid .row {
  margin-left: 0;
  margin-right: 0;
}
.body-container {
  height: calc(100% - 4.5rem);
  display: flex;
}
.ui-widget-overlay {
  opacity: 0.5;
}
.list-group {
  --bs-border-radius: 0;
  --bs-list-group-item-padding-x: 1.25rem;
  --bs-list-group-item-padding-y: 0.75rem;
}
/* Bootstrap5で追加された「.row > *」のスタイルを初期値でリセットする */
.row > * {
  flex-shrink: 1;
  width: auto;
  max-width: none;
  padding-right: 0;
  padding-left: 0;
  margin-top: 0;
}
/* ツールバー */
.toolbar {
  margin: 0;
  background-color: lightgray;
  display: flex;
  flex-wrap: wrap;
}
/* ツールバーアイテム用の共通設定 */
.toolbar-item-base {
  text-decoration: none;
  color: black;
}
.toolbar-item-base:hover,
.toolbar-item-base:active {
  text-decoration: none;
  color: black;
}
.toolbar-button {
  margin: 0.5rem 1rem;
  padding: 0.5rem 0.5rem 0.5rem 2.2rem;
  border-radius: 0.6rem;
  text-decoration: none;
  color: black;
  transition: background-color 0.15s ease-in-out;
  background-repeat: no-repeat;
  background-position-x: 0.3rem;
  background-position-y: center;
  background-size: 1.6rem;
}
.toolbar-button:hover,
.toolbar-button:active {
  text-decoration: none;
  color: black;
}
.toolbar-button:hover {
  background-color: #EEEEEE;
}
.toolbar-button:disabled {
  pointer-events: none;
  cursor: default;
  color: #999999;
}
.toolbar-button.btn {
  font-size: inherit;
  font-weight: inherit;
  box-shadow: none;
  --bs-btn-active-color: black;
  --bs-btn-active-bg: #EEEEEE;
  --bs-btn-active-border-color: transparent;
  --bs-btn-disabled-border-color: transparent;
}
.toolbar-button.btn-create-new {
  background-image: url("/images/create-new.svg");
}
.toolbar-button.btn-import-otherksh {
  background-image: url("/images/import-otherksh.svg");
}
.toolbar-button.btn-datainput {
  background-image: url("/images/datainput.svg");
}
.toolbar-button.btn-delete {
  background-image: url("/images/delete.svg");
}
.toolbar-button.btn-copy {
  background-image: url("/images/copy.svg");
}
.toolbar-button.btn-sort {
  background-image: url("/images/sort.svg");
}
.toolbar-button.btn-preview {
  background-image: url("/images/preview.svg");
}
.toolbar-button.btn-trashbox {
  background-image: url("/images/trashBox.svg");
}
.toolbar-button.btn-reload {
  background-image: url("/images/reload.svg");
}
.toolbar-button.btn-restore {
  background-image: url("/images/restore.svg");
}
.toolbar-button.btn-displaysetting {
  background-image: url("/images/display-setting.svg");
}
.toolbar-button.btn-layout-edit {
  background-image: url("/images/layout-edit.svg");
}
.toolbar-button.btn-layout-reset {
  background-image: url("/images/layout-reset.svg");
}
.toolbar-button.btn-layout-edit-exit {
  border: 0.1rem solid #EA1A1A;
  padding: 0.5rem 1rem;
  color: #EA1A1A;
  --bs-btn-active-color: #EA1A1A;
  --bs-btn-bg: #FFFFFF;
  --bs-btn-active-bg: #FFFFFF;
  --bs-btn-active-border-color: #EA1A1A;
}
.toolbar-button.btn-remoteins {
  background-image: url("/images/remoteins.svg");
}
.toolbar-button.btn-linkphoto {
  background-image: url("/images/linkphoto.svg");
}
.toolbar-button.btn-pdfoutput {
  background-image: url("/images/pdfoutput.svg");
}
.toolbar-button.btn-ictplatform {
  background-image: url("/images/ictplatform.svg");
}
.toolbar-button.btn-rebar {
  background-image: url("/images/rebar.svg");
}
.dropdown-menu .toolbar-dropdown-item {
  font-size: 1.4rem;
  text-decoration: none;
  color: black;
}
.dropdown-menu .toolbar-dropdown-item:hover,
.dropdown-menu .toolbar-dropdown-item:active {
  text-decoration: none;
  color: black;
}
.dropdown-menu .toolbar-dropdown-item:active {
  background-color: #f8f9fa;
}
/* ツールバー下部分 */
.contents {
  width: 100%;
  position: relative;
  height: auto;
  margin-bottom: 6.5rem;
}
/* フッター */
.footer {
  z-index: 9;
  bottom: 0;
  white-space: nowrap;
  display: flex;
  flex-wrap: wrap;
  position: fixed;
  background-color: #3E3A39;
  left: 0;
  right: 0;
  justify-content: center;
  border-top: 0.3rem solid #2E7D32;
}
.footer-button {
  height: 4rem;
  width: 14rem;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 2rem;
  margin: 1rem 0.5rem;
}
.footer-button:focus {
  box-shadow: unset;
}
/* ボタン */
.positive-button1 {
  background-color: #2E7D32;
  border-radius: 0.5rem;
  color: #FFFFFF !important;
}
.positive-button1:disabled {
  pointer-events: none;
  opacity: 0.35;
}
.positive-button1.btn {
  --bs-btn-active-bg: #21A327;
  --bs-btn-active-border-color: transparent;
  --bs-btn-hover-color: #FFFFFF;
  --bs-btn-hover-bg: #21A327;
  --bs-btn-hover-border-color: transparent;
  --bs-btn-disabled-bg: #2E7D32;
  --bs-btn-disabled-border-color: transparent;
}
.positive-button2 {
  background-color: #3889bd !important;
  border-radius: 0.5rem;
  border-color: #3889bd !important;
  color: #FFFFFF;
}
.positive-button2:hover {
  /*CSS変数だけだとhover時に他のスタイルに上書されてしまうため残す*/
  background-color: #74B4D8;
  border-color: #74B4D8 !important;
  color: #FFFFFF;
}
.positive-button2:focus {
  background-color: #3889bd;
  border-color: #3889bd !important;
}
.positive-button2:disabled {
  pointer-events: none;
}
.positive-button2.btn {
  --bs-btn-active-color: #FFFFFF;
  --bs-btn-hover-color: #FFFFFF;
  --bs-btn-hover-bg: #74B4D8;
  --bs-btn-hover-border-color: #74B4D8;
  --bs-btn-disabled-color: #FFFFFF;
}
.cancel-button {
  background-color: #FFFFFF;
  border-color: black;
  border-radius: 0.5rem;
  color: black;
}
.cancel-button:hover {
  /*CSS変数だけだとhover時に他のスタイルに上書されてしまうため残す*/
  border: 0.1rem solid;
}
.cancel-button:active {
  border-color: black !important;
}
.cancel-button:focus {
  background-color: #FFFFFF !important;
  border: 0.1rem solid;
}
.cancel-button.btn {
  --bs-btn-active-color: black;
  --bs-btn-active-bg: #EEEEEE;
  --bs-btn-hover-color: black;
  --bs-btn-hover-bg: #EEEEEE;
  --bs-btn-hover-border-color: black;
}
.negative-button {
  background-color: #CC3300;
  border-radius: 0.5rem;
  border: none !important;
  color: #FFFFFF;
  min-width: 11rem;
  height: 3.5rem;
  line-height: 2rem;
}
.negative-button:hover {
  background-color: #F23A00;
  color: #FFFFFF;
}
.negative-button:focus {
  background-color: #CC3300 !important;
  color: #FFFFFF;
}
.negative-button:disabled {
  pointer-events: none;
}
/* コマンドボタン */
.commandbar {
  display: flex;
}
.command-button {
  background-color: #FFFFFF;
  background-repeat: no-repeat;
  background-position-x: center;
  background-position-y: center;
  background-size: 1.6rem;
  border-radius: 0.5rem;
  border: 0.1rem solid #606060;
  color: #606060 !important;
  margin: 0.5rem 0.2rem;
  min-height: 3.2rem;
  min-width: 3.2rem;
  padding: 0.5rem;
  font-size: inherit;
  font-weight: 500;
}
.command-button.has-text {
  background-position-x: 0.5rem;
  padding-left: 2.5rem;
}
.command-button:hover {
  /*btnクラスと一緒に使用していない箇所があるため残す*/
  background-color: #f2f2f2;
}
.command-button:disabled {
  background-color: #D3D3D3;
  border: none;
  color: #D3D3D3;
}
.command-button.btn {
  --bs-btn-active-bg: #f2f2f2;
  --bs-btn-hover-color: #606060;
  --bs-btn-hover-bg: #f2f2f2;
  --bs-btn-hover-border-color: #606060;
}
.command-button.add {
  background-image: url("/images/command-add.svg");
}
.command-button.edit {
  background-image: url("/images/command-edit.svg");
}
.command-button.delete {
  background-image: url("/images/command-delete.svg");
}
.command-button.copy {
  background-image: url("/images/command-copy.svg");
}
.command-button.setting {
  background-image: url("/images/command-setting.svg");
}
.command-button.recalc {
  background-image: url("/images/command-edit.svg");
}
.command-button.bulk {
  background-image: url("/images/command-bulksetting-sekvalue.svg");
}
.command-button.dropdown {
  background-image: url("/images/command-only-icon.svg");
}
.command-button.calculator {
  background-image: url("/images/command-calculator.svg");
}
.command-button.update-rebarname {
  background-image: url("/images/command-update-rebarname.svg");
}
/* パンくずリスト */
.breadcrumb {
  background-color: unset;
  font-size: 1.4rem;
  margin-bottom: 0;
  padding: 0.5rem 1rem;
}
.breadcrumb-item a {
  text-decoration: none;
}
.breadcrumb-item a:hover {
  text-decoration: underline;
}
.breadcrumb-item + .breadcrumb-item::before {
  content: ">";
}
.hidden {
  display: none !important;
}
.splitter-vertical {
  background: url("/images/vsizegrip.png") center center no-repeat #b3b3b3;
  cursor: col-resize;
  flex-shrink: 0;
  width: 1.2rem;
}
.splitter-vertical.no-image {
  background: none center center no-repeat #b3b3b3;
}
.splitter-horizontal {
  background: url("/images/hsizegrip.png") center center no-repeat #b3b3b3;
  cursor: row-resize;
  flex-shrink: 0;
  height: 1.2rem;
}
.table > :not(caption) > * > * {
  padding: 0.75rem;
}
.table-light {
  --bs-table-bg: #fdfdfe;
}
.table-light th {
  --bs-table-bg: var(--bs-gray-200);
}
.nav-link {
  --bs-nav-link-font-size: 2rem;
}
/* エラー */
[aria-invalid="true"] {
  border: 0.2rem solid red !important;
  border-radius: 0.3rem;
}
.error-message {
  color: red;
  font-weight: bold;
  padding-left: 2.7rem;
  background-image: url("/images/error.png");
  background-repeat: no-repeat;
  background-position-y: 0.1rem;
  background-size: 2.2rem;
}
.error-message:empty {
  display: none;
}
.warning {
  color: red;
}
/* 入力必須 */
.required-mark {
  font-size: 1.6rem;
  color: red;
  height: 2.7rem;
  width: 5rem;
  text-align: center;
  border: 0.1rem solid red;
  padding: 0.1rem 0.6rem;
}
#rkzModal {
  display: none;
  position: fixed;
  background: rgba(0, 0, 0, 0.3);
  top: 0;
  left: 0;
  z-index: 999;
  height: 100%;
  width: 100%;
}
#rkzModal > div {
  display: flex;
  background: white;
  position: absolute;
}
input {
  border: solid 1px rgba(1, 1, 1, 0.2);
}
textarea {
  border: solid 1px rgba(1, 1, 1, 0.2);
}
#loadingDiv {
  display: flex;
  position: absolute;
  z-index: 1000;
  opacity: 0.6;
  background-color: #FFFFFF;
  background-image: url("/images/loading.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 80px 80px;
}
