﻿html {
    font-size: 16px;            /* 1920px 前提で基準フォントサイズ固定 */
}

body {
    margin-bottom: 60px;

}

.z-index-10000 {
    z-index: 10000;
}

/* Bootstrap の可変コンテナが 1920px 未満に潰れないように強制 */
.fullhd-wrapper {
    min-width: 1920px;
}

/* FullHD 最低幅・それ以上は可変 */
.fullhd-wrapper {
    width: 100%;
    margin: 0 auto;
    padding-inline: 24px;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

div.prochemist-account-outer {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

div.prochemist-account-inner {
    width: 40%;
}

div.prochemist-profile-inner {
  width: 80%;
}

div.jumbotron {
    background-color: #FFFFFF;
    border-radius: 1rem;
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .5);
    margin: 20px 0 5px 0;
    width: 100%;
    padding: 1rem;
}

/*Edgeでデフォルト表示されるパスワード表示アイコンをoff*/
::-ms-reveal {
    display: none;
}

.flex {
    display: flex;
}

.flex div {
    padding: 10px 50px;
}

.rightHeder {
    width: 450px;
}

.leftHeder {
    width: calc(100% - 450px);
}

.fixed-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1050;
    background: #fff;
    box-sizing: border-box;
    height: var(--header-height);
}

:root {
    /* 実ヘッダー高さ */
    --header-height: 60px;
}

.site-main {
    /* ヘッダーと本文が被らないように調整 */
    padding-top: calc(var(--header-height) + env(safe-area-inset-top));
}


/* 行の色を変更する */
#table {
    font-size: 1rem;
    font-weight: 400;
    font-family: -apply-system,BlinkMacSystemFont,"Segoe UI", Roboto, "Helvetica Nenu",Arial, "Noto Sans JP", sans-serif, "Apple Colre Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

#table thead tr {
    background-color: #CCCCCC;
    padding: 0;
}

#table tbody tr.odd {
    background-color: white;
}

#table tbody tr.even {
    background-color: lightgray;
}

.table td,
.table th {
  padding: 0.1rem;
}

.table thead th {
  background-color: #C2F0FE;
}

.table tbody tr {
  height: 2rem
}

.table tbody tr td button.btn {
  padding: 0.06rem 0.5rem
}

.table tbody tr td.text-ellipsis {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

.wrap-anywhere {
  word-break: break-word;
  white-space: normal;
  overflow-wrap: anywhere;
}

.table-layout-fixed {
  table-layout: fixed;
}

th.column-width-100 {
  min-width: 100px;
}

th.column-width-200 {
  min-width: 200px;
}

th.column-width-300 {
  min-width: 300px;
}

th.column-width-400 {
  min-width: 400px;
}

/* ヘッダが左にあるタイプのテーブル */
.table-header-left th {
  background-color: #c2f0fe;
}

/*theadの罫線を強調表示*/
.bootstrap-table .fixed-table-container.fixed-height .table thead tr th {
  border-bottom: solid 1px #999;
  border-left: solid 1px #999;
  border-right: solid 1px #999;
}

/*一番左端・右端の縦線は除外*/
.bootstrap-table .fixed-table-container.fixed-height .table thead tr th:first-child {
  border-left: solid 1px #dee2e6;
}
.bootstrap-table .fixed-table-container.fixed-height .table thead tr th:last-child {
  border-right: solid 1px #dee2e6;
}

div.table-responsive {
  min-width: 100%;
}
.dropdown-submenu {
  position: relative;
}

/* 二段目以降のドロップダウンメニューの表示位置調整 */
.dropdown-submenu .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -6px;
  margin-left: -1px;
  border-radius: 0 0.25rem 0.25rem 0;
}
.dropdown-submenu:hover .dropdown-menu {
  display: block;
}


/* 全セルの標準罫線を消す */
.table.custom-borderless td,
.table.custom-borderless th {
  border: none !important;
}

/* 個別に枠線を付けたいセル */
.table.custom-borderless .boxed {
  border: 1px solid #6c757d !important;
}

/* 個別に枠線を付けたいセル：上線なし */
.table.custom-borderless .boxed-t-0 {
  border-left: 1px solid #6c757d !important;
  border-right: 1px solid #6c757d !important;
  border-bottom: 1px solid #6c757d !important;
}

/* 個別に枠線を付けたいセル：下線なし */
.table.custom-borderless .boxed-b-0 {
  border-left: 1px solid #6c757d !important;
  border-right: 1px solid #6c757d !important;
  border-top: 1px solid #6c757d !important;
}

/* 個別に枠線を付けたいセル：上下線なし */
.table.custom-borderless .boxed-tb-0 {
  border-left: 1px solid #6c757d !important;
  border-right: 1px solid #6c757d !important;
}

td.input-ignored-cell {
  background-color: var(--bs-gray-700) !important;
}

/* 共通ボタン幅調整 */
.btn-fixed-width-90 {
  min-width: 90px; /* 文字長差吸収 */
  text-align: center;
}
  /* 共通ボタン高さ調整 */
.btn-fixed-width-90.btn-sm {
  line-height: 1.2;
  padding: .25rem .5rem;
}

/* テーブル内のボタン定義（bootstrpのボタンは透過になるためカスタマイズ） */
.btn-outline-primary.btn-solid {
  background-color: #fff;
  color: var(--bs-primary);
  border-color: var(--bs-primary);
}

.btn-outline-primary.btn-solid:hover,
.btn-outline-primary.btn-solid:focus {
  background-color: var(--bs-primary);
  color: #fff;
}

.btn-outline-primary.btn-solid:active {
  background-color: var(--bs-primary);
  color: #fff;
}

.btn-outline-primary.btn-solid:disabled {
  background-color: #e9ecef;
  color: #6c757d;
  border-color: #ced4da;
}

.btn-no-wrap {
  white-space: nowrap;
}

.navbar-guide-bg {
    background-color: #e3f2fd;
}

.container-guide-group {
    width: 30%;
    margin-inline: 1%;
    margin-bottom: 2%;
}

.d-flex.justify-content-evenly {
    gap: 0;
}


/* NOTE: 本来Font Awesomeアイコンはfa-spinで回転するが何故か機能しないためワークアラウンド */
.custom-spin {
  animation: spin 2s linear infinite;
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}



/* form入力項目　項目名ラベル */
.form-group > label {
  font-size: 90%;
  font-weight: bold;
}

/* form入力項目　項目名ラベル */
fieldset > legend {
  font-size: 90%;
  font-weight: bold;
  padding: 0 5px;
  margin-bottom: 0;
  width: auto;
  background-color: #fff;
  float: none;
  display: inline-block;
}

/* form入力項目　チェックボックスラベル */
.form-check > .form-check-label {
  margin-right: 10px;
}

/* form入力項目　チェックボックスグループ */
fieldset {
  border: 1px solid #dddddd;
  border-radius: 4px;
  padding: 10px;
  margin-bottom: 15px;
  position: relative;
}

/* メンテナンストグルスイッチのスタイル */
.form-switch .form-check-input {
  cursor: pointer;
}

.form-switch .form-check-label {
  cursor: pointer;
  margin-left: 0.5rem;
}

/* 表示切り替え範囲ヘッダー */
.bs-toggle-header {
  background-color: #C2F0FE;
}

/* ローディング表示設定 */
div.loading {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999;
  width: 100%;
  height: 100%;
  display: none;
  background: rgba(0, 0, 0, 0.6);
}

  div.loading div.spinner-border {
    width: 5rem;
    height: 5rem;
    border-width: 0.5rem;
  }

/* ローディング表示中はスクロールを無効化 */
body.loading-active {
  overflow: hidden;
}

/* アラートエリア表示場所の設定 */
#alert-container {
  position: fixed;
  top: 50px;
  left: 15%;
  right: 15%;
}

#alert-container .alert {
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

/* 選択子画面用の各種設定 */
.search-modal-content {
  background: #fff;
  margin: 60px auto;
  padding: 24px;
  border-radius: 8px;
  max-width: 800px;
  min-width: 650px;
  position: relative;
  box-shadow: 0 4px 16px rgba(0,0,0,0.2);
}
.search-modal-content-middle {
  background: #fff;
  margin: 60px auto;
  padding: 24px;
  border-radius: 8px;
  max-width: 1100px;
  min-width: 900px;
  position: relative;
  box-shadow: 0 4px 16px rgba(0,0,0,0.2);
}
.search-modal-content-wide {
  background: #fff;
  margin: 60px auto;
  padding: 24px;
  border-radius: 8px;
  max-width: 1500px;
  min-width: 1200px;
  position: relative;
  box-shadow: 0 4px 16px rgba(0,0,0,0.2);
}

.text-warning-yl2 {
  color: #927200;
}
