@import url(https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Titillium+Web:ital,wght@0,200;0,300;0,400;0,600;0,700;0,900;1,200;1,300;1,400;1,600;1,700&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap);
@import url(https://maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css);
@import url(https://fonts.googleapis.com/css2?family=Kosugi&display=swap);
@import url(https://fonts.googleapis.com/css2?family=BIZ+UDPGothic:wght@400;700&display=swap);
@charset "UTF-8";
/* FSCC common styles (SCSS) */
/* Fonts / external CSS imports */
/*@import url('https://fonts.googleapis.com/css2?family=Yellowtail&display=swap');*/
/*@import url('https://fonts.googleapis.com/css2?family=BIZ+UDGothic:wght@400;700&display=swap');*/
/* -----------------------------------------------------------------------------
   FSCC common styles (SCSS)
   - 既存CSSの順序をできるだけ維持しつつ、セクションコメントを追加
   - コメントアウトは原則そのまま残す
----------------------------------------------------------------------------- */
/*@font-face {*/
/*    font-family: 'Noto Sans Japanese';*/
/*    font-style: thin;*/
/*    font-weight: 100;*/
/*    src: url("/fonts/NotoSansCJKjp-Thin.eot");*/
/*    src: url("/fonts/NotoSansCJKjp-Thin.eot?#iefix") format("embedded-opentype"), url("/fonts/NotoSansCJKjp-Thin.woff") format("woff"), url("/fonts/NotoSansCJKjp-Thin.ttf") format("truetype"), url("/fonts/NotoSansCJKjp-Thin.otf") format("opentype");*/
/*}*/
/*@font-face {*/
/*    font-family: 'Noto Sans Japanese';*/
/*    font-style: normal;*/
/*    font-weight: 400;*/
/*    src: url("/fonts/NotoSansCJKjp-Regular.eot");*/
/*    src: url("/fonts/NotoSansCJKjp-Regular.eot?#iefix") format("embedded-opentype"), url("/fonts/NotoSansCJKjp-Regular.woff") format("woff"), url("/fonts/NotoSansCJKjp-Regular.ttf") format("truetype"), url("/fonts/NotoSansCJKjp-Regular.otf") format("opentype");*/
/*}*/
/*@font-face {*/
/*    font-family: 'Noto Sans Japanese';*/
/*    font-style: bold;*/
/*    font-weight: 700;*/
/*    src: url("/fonts/NotoSansCJKjp-Bold.eot");*/
/*    src: url("/fonts/NotoSansCJKjp-Bold.eot?#iefix") format("embedded-opentype"), url("/fonts/NotoSansCJKjp-Bold.woff") format("woff"), url("/fonts/NotoSansCJKjp-Bold.ttf") format("truetype"), url("/fonts/NotoSansCJKjp-Bold.otf") format("opentype");*/
/*}*/
/* SCSS variables (既存の色定義から抽出) */
/* Base / global */
/* Base typography / font variables */
:root {
  /*--font-base: "Yu Gothic UI", "Yu Gothic", "Kosugi", "Hiragino Kaku Gothic Pro", "Noto Sans JP";*/
  --font-base: "Kosugi", "Yu Gothic UI", "Hiragino Kaku Gothic Pro", "Noto Sans JP";
  --font-heading: var(--font-base);
  --font-brand: "Titillium Web", sans-serif;
}

html,
body {
  /*font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", 'Noto Sans Japanese', sans-serif;*/
  /*font-family: "BIZ UDPゴシック","游ゴシック Medium", "Yu Gothic Medium", 'Noto Sans Japanese', sans-serif;*/
  /*font-family: "BIZ UDPGothic", sans-serif;*/
  /*font-family: "BIZ UDGothic", sans-serif;*/
  /*font-family: 'Kosugi','Noto Sans JP', sans-serif;*/
  font-family: var(--font-base), system-ui, sans-serif;
  font-size: 13px;
  /*font-size: 1rem;*/
}

h3.operation_stats {
  font-size: 1.3rem !important;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading) sans-serif;
}

/*select {*/
/*    font-family: 'FontAwesome', 'Noto Sans JP', sans-serif;*/
/*}*/
/* PC用ロゴ（sm以上）。スマホでは表示されない */
.navbar-brand-logo-img {
  height: 16px; /* お好みで 24〜36px 程度 */
  width: auto;
  display: inline-block;
}

/* クリックすると選択されるケースがあるためselectを無効にする */
label {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.margin-bottom-0 {
  margin-bottom: 0;
}

input[type=checkbox],
input[type=radio] {
  vertical-align: text-top;
}

/* 入力フォーカス時の視認性 */
input:focus,
select:focus,
textarea:focus {
  background-color: aliceblue !important;
  /*outline: none; !* デフォルトの枠を削除する場合 *!*/
}

p.upload_link {
  margin-top: 10px;
  font-size: 1.1rem;
}

/* 削除時のパスフレーズ用 */
pre.passphrase {
  display: block;
  margin: 0;
  padding: 5px;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  text-align: center;
  border: 1px;
  border-radius: 5px;
  font-size: 16px;
  background-color: white;
}

pre.delete-passphrase {
  background-color: pink;
}

.content-header h1 {
  /*font-family: 'Noto Sans JP', sans-serif;*/
  font-family: var(--font-heading), sans-serif;
  font-weight: 700;
}

.brand-text {
  /*font-family: 'BIZ UDPGothic', sans-serif;*/
  font-family: var(--font-brand), sans-serif;
  line-height: normal;
  font-size: 1.8rem;
  font-weight: 400 !important;
  top: 3px;
  display: block;
  position: absolute;
  left: 56px;
}

/* Primary action color */
.btn-primary {
  color: #fff !important;
  background-color: #00887E !important;
  border-color: #00887E !important;
}

#btnShowCustomerSelect {
  background-color: #e9ecef !important;
  border: 1px solid #ced4da !important;
}

.main-content {
  margin-bottom: 25px;
}

.nowrap {
  white-space: nowrap;
}

.card-primary.card-outline {
  border-top: 3px solid #00887E !important;
}

.card-header {
  /*background-color: rgba(0,0,0,.03);*/
  background-color: rgba(0, 0, 0, 0.07);
  border-bottom: 1px solid rgba(0, 0, 0, 0.125);
  padding: 0.75rem 1.25rem;
  position: relative;
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}

.card-title {
  /*width: 100%;*/
  font-size: 1.2rem;
  font-weight: 600;
}

.card-body {
  background-color: rgba(0, 0, 0, 0.03) !important;
}

.card-body-title {
  width: 100%;
  /*height: 24px;*/
  /*overflow: hidden;*/
  /*text-overflow: ellipsis;*/
}

div.item__thumbnail_box {
  position: relative;
  width: 100%;
  height: 180px;
  overflow: hidden;
  cursor: pointer;
}

div.item__filetype_badge {
  position: absolute;
  top: 10px;
  left: 10px;
}

div.item__filetype_badge > .badge {
  font-size: 1.2rem;
  background-color: rgba(220, 53, 69, 0.8);
}

img.item__thumbnail {
  width: 100%;
  /*border-radius: 5px;*/
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  display: block;
}

@media (max-width: 768px) {
  .modal-dialog {
    max-width: 100vw;
    height: 100vh;
    margin: 0;
  }
  .modal-content {
    height: 100vh;
    border-radius: 0;
  }
}
.badge {
  font-size: 0.9rem;
  font-weight: 400;
}
.badge.badge-office {
  font-weight: bold;
  color: #fff;
  border: none;
}
.badge.badge-category {
  color: #6c757d;
  background-color: #eee;
  border: 1px solid #6c757d;
}

.badge-red {
  color: #ffffff !important;
  background-color: rgba(237, 28, 36, 0.8) !important;
}

.badge-blue {
  color: #ffffff !important;
  background-color: rgba(43, 87, 154, 0.8) !important;
}

.badge-green {
  color: #ffffff !important;
  background-color: rgba(33, 115, 70, 0.8) !important;
}

.badge-orange {
  color: #ffffff !important;
  background-color: rgba(208, 68, 35, 0.8) !important;
}

.badge-gray {
  color: #ffffff !important;
  background-color: rgba(85, 85, 85, 0.8) !important;
}

/* サイドバーの開閉時のちらつきがうざいので対策 */
.sidebar-collapse .nav-header {
  display: block !important;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
}

.sidebar .nav-item i.fa,
.sidebar .nav-item i.fas,
.sidebar .nav-item i.bi {
  font-size: 20px;
  min-width: 22px;
  text-align: center;
}

.nav-sidebar .nav-link p {
  margin-left: 10px !important;
  white-space: nowrap !important;
}

.nav-bottom {
  width: 100%;
  height: 5px;
  margin-bottom: 5px;
  background-color: white;
  border-left: 1px solid #DFE2E6;
  border-right: 1px solid #DFE2E6;
  border-bottom: 1px solid #DFE2E6;
}

.nav-brand-logo {
  padding: 0 1rem 0 0 !important;
  vertical-align: middle;
  font-size: 1.2rem;
  font-weight: 800;
  font-style: normal;
}
.nav-brand-logo > .nav-link {
  padding: 0 1rem 0 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-align: center;
}

aside.main-sidebar {
  font-size: 1.25rem !important;
}
aside.main-sidebar .brand-link {
  font-size: 1.5rem !important;
  padding: 0.6rem 0.5rem !important;
}
aside.main-sidebar .brand-link .brand-image {
  margin-left: 0.5rem !important;
}

/** Sizing Utility **/
.wd-150,
.width-150 {
  width: 150px;
  max-width: 150px;
  min-width: 150px;
}

.wd-200,
.width-200 {
  width: 200px;
  max-width: 200px;
  min-width: 200px;
}

.wd-250,
.width-250 {
  width: 250px;
  max-width: 250px;
  min-width: 250px;
}

/* Utilities */
/**********************************************************************************************************************/
/*スクロールバー*/
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-track {
  /*border-radius: 10px;*/
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
}

::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 50, 0.5);
  /*border-radius: 10px;*/
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.3);
}

/**********************************************************************************************************************/
.rm5 {
  margin-right: 5px;
}

.rm10 {
  margin-right: 10px;
}

.col-no-padding {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

/* Schedule list / tables */
.category-nav {
  width: 100%;
}

/* スケジュール一覧のレイアウト */
.schedule-wrapper,
.listtable-wrapper {
  width: 100%;
  display: flex;
}

.col-worker-side {
  max-width: 210px;
  min-width: 210px;
  /*margin-top: 10px;*/
  margin-right: 5px;
  overflow-y: auto;
}
.col-worker-side table {
  border: 1px solid #ddd;
}
.col-worker-side table thead {
  position: sticky;
  top: 0;
  z-index: 1;
  background-color: #fff;
  border-bottom: 1px #eee;
}
.col-worker-side table th {
  padding: 2px 2px;
  text-align: center;
}
.col-worker-side table td {
  padding: 3px 3px;
}

.col-schedule-side,
.col-list-side {
  width: 100%;
  flex: 1;
  /*margin-top: 10px;*/
  overflow: scroll;
}

.col-vertical-list {
  width: 100%;
  flex: 1;
  /*margin-top: 10px;*/
  overflow: scroll;
  overflow-y: auto;
  overflow-x: hidden;
}

th.worker-cell,
td.worker-cell {
  width: auto;
  vertical-align: middle;
}

th.worker-cell span.worker-name,
td.worker-cell span.worker-name {
  display: block;
  width: 87px;
  max-width: 87px;
  min-width: 87px;
  vertical-align: middle;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

th.worker-select-cell,
td.worker-select-cell {
  width: 35px;
  max-width: 35px;
}

div.card-worker {
  height: 30px;
  padding: 5px 5px;
  text-align: center;
  vertical-align: middle;
  background: #eee;
  border-radius: 5px;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  cursor: pointer;
}

div.schedule-wrapper.search div.card-worker {
  cursor: default;
}

div.card-worker.card-worker-select {
  width: 30px;
  min-width: 30px;
  color: transparent;
}

div.card-worker.worker-assign {
  width: 80px;
  min-width: 80px;
  padding: 5px 1px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

div.card-worker.worker-assign.worker-assigned {
  /*background-color: peachpuff;*/
  cursor: pointer;
}

div.card-worker.worker-assign.worker-unassigned {
  color: #ccc;
  background-color: #eee;
  border: 2px dashed #ccc;
  padding: 3px;
}

div.card-worker.worker-available {
  /*background-color: peachpuff;*/
  color: black;
  cursor: pointer;
}

div.card-worker.worker-selected {
  line-height: 1.1;
  border: 3px solid rgba(255, 0, 0, 0);
  animation: blink 0.5s ease-in-out infinite alternate;
}

@keyframes blink {
  0% {
    border: 3px solid rgba(255, 0, 0, 0);
  }
  100% {
    border: 3px solid rgba(255, 0, 0, 0.8);
  }
}
div.card-worker.worker-selected.select-am {
  background-color: #fd7e14 !important;
}

div.card-worker.worker-selected.select-pm {
  background-color: #28a745 !important;
}

div.card-worker.worker-selected.select-final {
  background-color: #008db7 !important;
}

div.card-worker.worker-available.select-am.worker-already-assigned,
div.card-worker.worker-available.select-pm.worker-already-assigned,
div.card-worker.worker-available.select-final.worker-already-assigned {
  /* opacity: 0.3 !important; */
  background-color: #cccccc !important;
  color: #000000 !important;
  cursor: default;
}

div.card-worker span.card-worker-name {
  width: 100%;
  margin: 0;
  text-align: center;
  /*transform: scaleX(0.8);*/
  white-space: nowrap;
}

input[type=radio].worker-select {
  display: none;
}

label.worker-select {
  font-weight: normal !important;
}

div.postpended-text {
  height: 30px;
  padding: 5px 5px;
  text-align: center;
  vertical-align: middle;
  background: #edd;
  /*border: 1px solid #000000;*/
  border-radius: 5px;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  color: #000000;
}

div.canceled-text {
  height: 30px;
  padding: 5px 5px;
  text-align: center;
  vertical-align: middle;
  background: #edd;
  /*border: 1px solid #000000;*/
  border-radius: 5px;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  color: #000000;
}

div.provisional-text {
  height: 30px;
  padding: 5px 5px;
  text-align: center;
  vertical-align: middle;
  background: #edd;
  /*border: 1px solid #000000;*/
  border-radius: 5px;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  color: #000000;
}

.tip {
  padding: 5px 5px;
  text-align: center;
  vertical-align: middle;
  background: #fff;
  border-radius: 5px;
  box-shadow: 0 2px 5px 0 rgba(60, 64, 67, 0.16);
}

table.table-detail th {
  width: 200px;
  background-color: #eee;
}

table.table-detail th:nth-child(1) th,
table.table-detail th:nth-child(1) td {
  border-top: 1px solid #dee2e6;
}

table.table-detail td,
table.table-detail th {
  padding: 0.75rem;
  vertical-align: top;
  border-bottom: 1px solid #dee2e6;
}

table.table-customer-unit-price.input-unit-price th,
table.table-customer-unit-price.input-unit-price td {
  padding: 0;
}

table.table-customer-unit-price td.title {
  width: 50%;
}

table.table-customer-unit-price td.unit_price,
table.table-customer-unit-price td.payment {
  width: 25%;
  text-align: right;
}

table.table-customer-unit-price td input {
  border-top: none !important;
  border-radius: 0 !important;
}

table.table-customer-unit-price td input.unit_price,
table.table-customer-unit-price td input.payment {
  text-align: right;
}

/*div.schedule-list-container {*/
/*    font-size: 13px;*/
/*}*/
/* worker table */
.table.worker-table {
  /*display: table;*/
  background-color: #fff;
  /*width: 100%;*/
  /*overflow: hidden;*/
  /*table-layout: fixed;*/
  border: 1px solid #ddd;
  /*border-radius: 6px;*/
  /*-webkit-border-radius: 6px;*/
  /*-moz-border-radius: 6px;*/
  border-collapse: separate;
  border-spacing: 0;
}

.table.worker-table .card-worker {
  /*background-color: peachpuff;*/
}

.select-am {
  /* background-color: #EAAC6E !important; */
  background-color: #99ccff !important;
  color: #000000 !important;
}

.select-pm {
  /* background-color: #9DC68A !important; */
  background-color: #EAAC6E !important;
  color: #000000 !important;
}

.select-final {
  /* background-color: #99B5D3 !important; */
  background-color: #003366 !important;
  color: #FFFFFF !important;
}

.select-provisional {
  background-color: #F6C7D9 !important;
  color: #000000 !important;
}

.not-select-am,
.not-select-pm,
.not-select-final {
  /*color: #D70702 !important;*/
  /*background-color: #F9EAEA !important;*/
  color: #FFFFFF !important;
  background-color: #D70702 !important;
}

.not-select-am > span,
.not-select-pm > span,
.not-select-final > span {
  /* 元のテキストを非表示にする */
  visibility: hidden;
  position: relative;
}

.not-select-am > span::before,
.not-select-pm > span::before,
.not-select-final > span::before {
  /* ::before疑似要素を使って新しいテキストを追加 */
  content: "×";
  visibility: visible;
  position: absolute;
  top: -3px;
  left: -3px;
}

.table.worker-table thead th {
  border: none;
}

.table.worker-table th,
.table.worker-table td {
  border-bottom: 1px solid #ddd;
}

/* schedule table */
.vue-list-table-wrapper {
  /* スクロール制御はJSで高さ調整する */
  /*margin-left: 160px;*/
  /*height: 100vh;*/
  /*overflow-x: scroll;*/
  /*overflow-y: scroll;*/
  /*overflow: scroll;*/
}

.table.vue-list-table {
  display: table;
  background-color: #fff;
  /*width: auto;*/
  /*overflow: hidden;*/
  /*overflow: scroll;*/
  table-layout: fixed;
  /*border: 1px solid #ddd;*/
  /*border-radius: 6px;*/
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-collapse: separate;
  border-spacing: 0;
}

.vue-list-table__default {
  width: 100%;
}

.vue-list-table__scrollable {
  width: auto;
}

.vue-list-table .grip,
.vue-list-table .grip-disabled {
  font-size: 1.1rem;
  color: #ddd;
  width: 20px;
  min-width: 20px;
  vertical-align: middle !important;
  background-color: #fff;
}

.vue-list-table tbody tr:nth-child(even) .grip,
.vue-list-table tbody tr:nth-child(even) .grip-disabled {
  background-color: #eee;
}

.vue-list-table td.grip {
  cursor: grab;
}

.vue-list-table td.grip:hover {
  color: black;
}

.vue-list-table .id {
  width: 20px;
  min-width: 20px;
  text-align: right;
  vertical-align: middle !important;
}

.vue-list-table .check,
.vue-list-table .estimate,
.vue-list-table .report,
.vue-list-table .indicator-single {
  width: 45px;
  min-width: 45px;
  text-align: center;
  vertical-align: middle !important;
}

.vue-list-table .wk_lock {
  width: 30px;
  min-width: 30px;
  text-align: center;
  vertical-align: middle !important;
}

.vue-list-table .check .far,
.vue-list-table .check .bi,
.vue-list-table .estimate .fas,
.vue-list-table .estimate .bi,
.vue-list-table .report .fas,
.vue-list-table .report .bi,
.vue-list-table .indicator-single .fas,
.vue-list-table .indicator-single .bi,
.vue-list-table .wk_lock .bi {
  font-size: 1.4rem !important;
  color: #ddd !important;
}

.vue-list-table .check .far.active,
.vue-list-table .check .bi.active,
.vue-list-table .estimate .fas.active,
.vue-list-table .estimate .bi.active,
.vue-list-table .report .fas.active,
.vue-list-table .indicator-single .fas.active,
.vue-list-table .indicator-single .bi.active {
  font-size: 1.4rem !important;
  color: #ff0000 !important;
}

.vue-list-table .category {
  width: 100px;
  min-width: 100px;
  text-align: center;
  vertical-align: middle !important;
}

.vue-list-table .number {
  width: 20px;
  min-width: 20px;
  text-align: center;
  vertical-align: middle !important;
}

.vue-list-table .number_50 {
  width: 50px;
  min-width: 50px;
  text-align: center;
  vertical-align: middle !important;
}

.vue-list-table .times {
  width: 50px;
  min-width: 50px;
  text-align: center;
  vertical-align: middle !important;
}

.vue-list-table .times .badge {
  font-size: 1.1rem;
}

.vue-list-table .map {
  width: 32px;
  min-width: 32px;
  text-align: center;
}

.vue-list-table .indicator {
  width: 75px;
  min-width: 75px;
  text-align: center;
  vertical-align: middle !important;
}

.vue-list-table .indicator .fas,
.vue-list-table .indicator .bi {
  font-size: 1.4rem !important;
  color: #ddd !important;
}

.vue-list-table .indicator-single .fas.maps--registered,
.vue-list-table .indicator-single .bi.maps--registered {
  cursor: pointer !important;
}

.vue-list-table .indicator-single .fas.maps--registered,
.vue-list-table .indicator-single .bi.maps--registered {
  color: red !important;
}

.vue-list-table .indicator .fas.file--attached,
.vue-list-table .indicator .bi.file--attached {
  cursor: pointer !important;
}

.vue-list-table .indicator .fas.file_maps--attached,
.vue-list-table .indicator .bi.file_maps--attached {
  color: red !important;
}

.vue-list-table .indicator .fas.file_ngchart--attached,
.vue-list-table .indicator .bi.file_ngchart--attached {
  color: green !important;
}

.vue-list-table .indicator .fas.file_etcdocs--attached,
.vue-list-table .indicator .bi.file_etcdocs--attached {
  color: blue !important;
}

.vue-list-table .indicator .fa-map-marked-alt.active {
  color: dodgerblue !important;
}

.vue-list-table .indicator .fa-file-signature.active {
  color: red !important;
}

.vue-list-table .wk_lock .worker--locked {
  color: red !important;
}

.vue-list-table td.indicator {
  letter-spacing: 2px !important;
}

.vue-list-table td.indicator i {
  width: auto !important;
}

.vue-list-table th.flexible {
  width: 100%;
}

.vue-list-table td.flexible {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.vue-list-table .flexible div.flex__zip_cd,
.vue-list-table .flexible div.flex__address {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.vue-list-table .max-line-2 {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.vue-list-table .send {
  width: 40px;
  min-width: 40px;
  text-align: center;
  vertical-align: middle !important;
}

.vue-list-table .send span.badge {
  width: 30px;
}

.vue-list-table .am,
.vue-list-table .pm,
.vue-list-table .final {
  width: 85px;
  min-width: 85px;
  text-align: center;
  vertical-align: middle !important;
}

.vue-list-table .am .card-worker {
  /*background-color: palegoldenrod;*/
}

.vue-list-table .pm .card-worker {
  /*background-color: palegreen;*/
}

.vue-list-table .final .card-worker {
  /*background-color: paleturquoise;*/
}

.vue-list-table .postpended,
.vue-list-table .canceled {
  /*width: 255px;*/
  /*min-width: 255px;*/
  text-align: center;
  vertical-align: middle !important;
}

.vue-list-table .provisional {
  width: 135px;
  min-width: 135px;
  text-align: center;
  vertical-align: middle !important;
}

.vue-list-table .estimate_no,
.vue-list-table .invoice_no {
  width: 70px;
  min-width: 70px;
  text-align: center;
  vertical-align: middle !important;
}

.vue-list-table .estimate_no a.btn,
.vue-list-table .invoice a.btn {
  min-width: 50px;
}

.vue-list-table .total_amount,
.vue-list-table .subtotal,
.vue-list-table .tax_amount {
  width: 90px;
  min-width: 90px;
  text-align: right;
  vertical-align: middle !important;
}

.vue-list-table .date {
  width: 80px;
  min-width: 80px;
  text-align: center;
  vertical-align: middle !important;
}

.vue-list-table .datetime {
  width: 150px;
  min-width: 150px;
  text-align: center;
  vertical-align: middle !important;
}

.vue-list-table .office-short,
.vue-list-table .priority,
.vue-list-table .time,
.vue-list-table .period {
  width: 45px;
  min-width: 45px;
  text-align: center;
  vertical-align: middle !important;
}

.vue-list-table .contractor,
.vue-list-table .client {
  width: 250px;
  min-width: 250px;
  text-align: left;
}

.vue-list-table .name,
.vue-list-table .company_name {
  width: 150px;
  min-width: 150px;
  text-align: left;
}

.vue-list-table .uuid {
  width: 280px;
  min-width: 280px;
  text-align: left;
}

.vue-list-table .company {
  width: 300px;
  min-width: 300px;
  text-align: left;
}

.vue-list-table th.address {
  width: 400px;
  min-width: 400px;
  text-align: left;
}

.vue-list-table td.address {
  width: 400px;
  min-width: 400px;
  text-align: left;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.vue-list-table .tel {
  width: 110px;
  min-width: 110px;
  text-align: left;
}

.vue-list-table .email {
  width: 200px;
  min-width: 200px;
  text-align: left;
}

.vue-list-table .office,
.vue-list-table .construction_cd,
.vue-list-table .site_cd,
.vue-list-table .order_cd,
.vue-list-table .notes,
.vue-list-table .memo,
.vue-list-table .contents,
.vue-list-table .operation_time,
.vue-list-table .message,
.vue-list-table .expenses,
.vue-list-table .am_detail,
.vue-list-table .pm_detail,
.vue-list-table .final_detail {
  width: 250px;
  min-width: 250px;
  text-align: left;
}

.vue-list-table .sales,
.vue-list-table .update,
.vue-list-table .create {
  width: 150px;
  min-width: 150px;
  text-align: left;
}

.vue-list-table .estimate_setting,
.vue-list-table .orderform_setting,
.vue-list-table .invoice_setting {
  width: 100px;
  min-width: 100px;
  text-align: left;
}

.vue-list-table .amount {
  width: 80px;
  min-width: 80px;
  text-align: right;
}
.vue-list-table .amount .currency {
  float: left; /* 通貨記号を左に固定 */
  padding-right: 4px; /* 少し余白 */
}
.vue-list-table .amount .value {
  display: inline-block;
}

.vue-list-table .cutoff,
.vue-list-table .tax_type {
  width: 45px;
  min-width: 45px;
  text-align: center;
  vertical-align: middle !important;
}

.vue-list-table .pic_count {
  width: 45px;
  min-width: 45px;
  text-align: center;
  vertical-align: middle !important;
}

.vue-list-table .menu {
  white-space: nowrap;
  text-align: left;
  vertical-align: middle;
}
.vue-list-table .menu__single {
  width: 45px;
  min-width: 45px;
}
.vue-list-table .menu__double {
  width: 90px;
  min-width: 90px;
}
.vue-list-table .menu__triple {
  width: 135px;
  min-width: 135px;
}
.vue-list-table .menu__quadruple {
  width: 180px;
  min-width: 180px;
}

.vue-list-table .clerk-name,
.vue-list-table .clerk-email,
.vue-list-table .clerk-contact,
.vue-list-table .worker-name,
.vue-list-table .worker-email,
.vue-list-table .worker-contact {
  width: 200px;
  min-width: 200px;
  text-align: left;
}

.vue-list-table .worker-invoice {
  width: 100px;
  min-width: 100px;
  text-align: center;
  vertical-align: middle;
}

.vue-list-table .clerk-category,
.vue-list-table .worker-category {
  width: 100%;
  text-align: left;
  vertical-align: middle;
}

.table.vue-list-table td div.cell-container-half {
  height: 20px;
  max-height: 20px;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}
.table.vue-list-table td div.cell-container {
  height: 40px;
  max-height: 40px;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.table.vue-list-table thead,
.table.vue-list-table tbody {
  display: block;
}

.table.vue-list-table thead {
  border-spacing: 0;
  /*border-bottom: 1px solid #ddd;*/
  border: 1px solid #ddd;
  background-color: #fff;
  /*border-radius: 6px 6px 0 0;*/
  /*-webkit-border-radius: 6px 6px 0 0;*/
  /*-moz-border-radius: 6px 6px 0 0;*/
  border-collapse: separate;
  position: sticky;
  top: 0;
  z-index: 3;
}

.table.vue-list-table tbody {
  /*border-spacing: 0px 5px;*/
  /*overflow-x: scroll;*/
  /*overflow-y: hidden;*/
}

.table.vue-list-table thead tr,
.table.vue-list-table tbody tr {
  /*background-color: #fff;*/
  /*border: 1px solid #ddd;*/
  border-left: 1px solid #eee;
  border-right: 1px solid #eee;
  border-bottom: 1px solid #eee;
}

.table.vue-list-table tbody tr {
  border: 1px solid #ddd;
  /*border-radius: 5px;*/
  /*box-shadow: 0px 2px 5px 0px rgba(60, 64, 67, 0.16);*/
}

.table.vue-list-table tbody tr.is_period:nth-child(odd) {
  background-color: #ffffcc !important;
}

.table.vue-list-table tbody tr.is_period:nth-child(even) {
  background-color: #ffff99 !important;
}

.table.vue-list-table tbody tr.is_postpend:nth-child(odd) {
  /*background-color: #cccccc !important;*/
}

.table.vue-list-table tbody tr.is_postpend:nth-child(even) {
  /*background-color: #eeeeee !important;*/
}

.table.vue-list-table tbody tr.is_cancel:nth-child(odd) {
  /*background-color: #cccccc !important;*/
}

.table.vue-list-table tbody tr.is_cancel:nth-child(even) {
  /*background-color: #eeeeee !important;*/
}

.table.vue-list-table tbody tr.is_provisional:nth-child(odd) {
  background-color: #ffddee !important;
}

.table.vue-list-table tbody tr.is_provisional:nth-child(even) {
  background-color: #ffeeff !important;
}

.table.vue-list-table tbody tr:nth-child(odd) {
  background-color: transparent;
}

.table.vue-list-table tbody tr:nth-child(even) {
  background-color: #eeeeee;
}

.table.vue-list-table tbody tr.schedule-data:hover {
  background-color: #fcfade !important;
}

.table.vue-list-table tbody tr.schedule-data.is_construction_provisional:hover {
  background-image: repeating-linear-gradient(135deg, rgba(255, 192, 203, 0.6), rgba(255, 192, 203, 0.6) 10px, rgba(255, 255, 255, 0) 10px, rgba(255, 255, 255, 0) 20px);
}

.table.vue-list-table th {
  white-space: nowrap;
  text-align: center;
  vertical-align: middle;
  border: none;
}

.table.vue-list-table thead th {
  /*position: sticky;*/
  /*position: -webkit-sticky;*/
  /*top: 0;*/
  /*z-index: 1;*/
}

/*.table.vue-list-table th:first-child {*/
/*    !* 横スクロール時に固定する *!*/
/*    position: -webkit-sticky;*/
/*    position: sticky;*/
/*    left: 0;*/
/*}*/
/*.table.vue-list-table thead th:first-child {*/
/*    !* ヘッダー行内の他のセルより手前に表示する *!*/
/*    z-index: 2;*/
/*}*/
/*.table.vue-list-table thead th:first-child {*/
/*    position: sticky;*/
/*    position: -webkit-sticky;*/
/*    top: 0;*/
/*    left: 0;*/
/*    z-index: 2;*/
/*}*/
.table.vue-list-table tbody td:first-child.sticky {
  position: sticky;
  left: 0;
  z-index: 2;
}

.table.vue-list-table tfoot {
  bottom: 0;
  position: sticky;
  z-index: 999;
}

.table.vue-list-table tfoot tr {
  display: flex;
}

.table.vue-list-table tfoot td:first-child.sticky {
  flex: 0 0 auto;
  white-space: nowrap;
  position: sticky;
  left: 0;
  background-color: white;
  z-index: 10;
  min-width: -moz-fit-content;
  min-width: fit-content; /* 内容に応じた最小幅を確保 */
}

.table.vue-list-table tfoot td.filler {
  flex: 1;
  min-width: 0;
}

.table.vue-list-table th,
.table.vue-list-table td {
  padding: 2px;
  /*border: 1px solid #ddd;*/
}

/*セル間の罫線*/
.table.vue-list-table th {
  border-top: none;
  border-bottom: none;
  border-left: none;
  border-right: 1px solid #eee;
  -o-border-image: linear-gradient(to bottom, #fff 0%, #fff 10%, #ccc 50%, #fff 90%, #fff 100%);
     border-image: linear-gradient(to bottom, #fff 0%, #fff 10%, #ccc 50%, #fff 90%, #fff 100%);
  border-image-slice: 1;
}

.table.vue-list-table th.office-short,
.table.vue-list-table th.priority,
.table.vue-list-table th.time,
.table.vue-list-table th.sales {
  border-left: 1px solid #eee;
  -o-border-image: linear-gradient(to bottom, #fff 0%, #fff 10%, #ccc 50%, #fff 90%, #fff 100%);
     border-image: linear-gradient(to bottom, #fff 0%, #fff 10%, #ccc 50%, #fff 90%, #fff 100%);
  border-image-slice: 1;
}

.table.vue-list-table th.grip,
.table.vue-list-table th.assign-user,
.table.vue-list-table th.assign-time,
.table.vue-list-table th.final,
.table.vue-list-table th.assign-final {
  border-right: none;
}

.table.vue-list-table th:last-child {
  border: none;
}

.table.vue-list-table tbody td i {
  width: 16px;
  color: #aaa;
  text-align: center;
}

.table.vue-list-table tbody tr.added {
  background-color: #ffffff;
  animation: change-color-anim 3s linear;
}

@keyframes change-color-anim {
  0% {
    background-color: #ffddbc;
  }
  100% {
    background-color: #ffffff;
  }
}
.table.vue-list-table tbody tr.context_select {
  background-color: #d6ffd6;
}

.table.vue-list-table th.assign-time {
  /*-webkit-box-sizing: border-box;*/
  /*-moz-box-sizing: border-box;*/
  /*-o-box-sizing: border-box;*/
  /*-ms-box-sizing: border-box;*/
  /*box-sizing: border-box;*/
  /*width: 390px !important;*/
}

.table.vue-list-table th.assign-am,
.table.vue-list-table th.assign-noon,
.table.vue-list-table th.assign-pm,
.table.vue-list-table th.assign-dusk,
.table.vue-list-table th.assign-final {
  padding-left: 0px !important;
  padding-right: 0px !important;
  /*border-top: none;*/
  /*border-bottom: none;*/
  /*border-right: 1px solid #eee;*/
  /*border-left: 1px solid #eee;*/
  /*border-image: linear-gradient(to bottom, #fff 0%, #eee 25%, #eee 75%, #fff 100%);*/
  /*border-image-slice: 1;*/
}

.table.vue-list-table td.assign-am,
.table.vue-list-table td.assign-noon,
.table.vue-list-table td.assign-pm,
.table.vue-list-table td.assign-dusk,
.table.vue-list-table td.assign-final {
  white-space: nowrap;
  vertical-align: middle;
  padding-left: 0px !important;
  padding-right: 0px !important;
}

.table.vue-list-table th.assign-am,
.table.vue-list-table td.assign-am {
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  width: 90px;
}

.table.vue-list-table th.assign-pm,
.table.vue-list-table td.assign-pm,
.table.vue-list-table th.assign-final,
.table.vue-list-table td.assign-final {
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  width: 120px;
}

.table.vue-list-table th.assign-noon,
.table.vue-list-table td.assign-noon,
.table.vue-list-table th.assign-dusk,
.table.vue-list-table td.assign-dusk {
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  width: 30px;
}

.table.vue-list-table td.worker-invoice i.active {
  color: #0c84ff !important;
  font-size: 1.2rem;
}

.table.vue-list-table tfoot tr {
  /*padding: 5px;*/
  background-color: #fff;
  /*border: 1px solid #eee;*/
}

.table.vue-list-table tfoot td.bottom-menu {
  padding: 10px;
  background-color: #fff;
}

.assign-cell-header-wrapper,
.assign-cell-wrapper {
  padding: 0;
  height: 20px;
}

.assign-cell-header {
  font-size: 8pt;
  color: #aaa;
  width: 30px;
  height: 20px;
  text-align: center;
  vertical-align: middle;
  display: inline-block;
  border: 1px solid #ddd;
}

.assign-cell {
  width: 15px;
  height: 20px;
  display: inline-block;
  border: 1px solid #ddd;
  cursor: pointer;
}

.assign-cell.assigned {
  cursor: pointer;
}

.assign-am .assign-cell.assigned {
  background-color: #EAAC6E;
}

.assign-noon .assign-cell.assigned {
  background-color: #EAAC6E;
}

.assign-pm .assign-cell.assigned {
  background-color: #9DC68A;
}

.assign-dusk .assign-cell.assigned {
  background-color: #9DC68A;
}

.assign-final .assign-cell.assigned {
  background-color: #99B5D3;
}

.assign-cell.active {
  cursor: pointer;
}

div.schedule-wrapper.search div.assign-cell.active {
  cursor: default;
}

.assign-cell.inactive {
  width: 15px;
  height: 20px;
  background: #eee;
  background-image: linear-gradient(to left top, transparent 50%, #ccc 50%, #ccc calc(50% + 1px), transparent calc(50% + 1px));
  cursor: not-allowed;
}

div.schedule-wrapper.search div.assign-cell.inactive {
  cursor: default;
}

/* schedule card */
.schedule-card {
  width: 100%;
}

/* temporary */
.add-category {
  color: green;
}

.add-category i {
  font-size: 1.2rem;
}

.content-header h1 {
  display: inline-block;
}

.alert {
  width: 100%;
}

.alert-warning {
  color: #856404;
  background-color: #fff3cd;
  border-color: #ffeeba;
}

.alert-info {
  color: #0c5460;
  background-color: #d1ecf1;
  border-color: #bee5eb;
}

#map-canvas {
  width: 100%;
  height: 80vh;
}

input.editable_input,
textarea.editable_input {
  width: 100%;
  border: none !important;
}

input.editable_input:focus,
textarea.editable_input:focus {
  /*outline: none;*/
  outline: 1px dashed red;
  border-radius: 2px;
}

.required::after {
  content: "必須";
  color: #ffffff;
  background: #cc0000;
  font-size: 0.75em;
  padding: 0.3em 0.5em 0.3em;
  border-radius: 0.5em;
  margin-left: 0.5em;
}

.recommended::after {
  content: "推奨";
  color: #ffffff;
  background: goldenrod;
  font-size: 0.75em;
  padding: 0.3em 0.5em 0.3em;
  border-radius: 0.5em;
  margin-left: 0.5em;
}

.date-navi {
  /*margin-left: 10px;*/
  /*margin-bottom: 10px;*/
  margin-top: 2px;
}

/*.content {*/
/*    overflow: hidden;*/
/*    position: relative;*/
/*}*/
/*#loader {*/
/*    position: fixed;*/
/*    !*position: absolute;*!*/
/*    left: 0;*/
/*    top: 0;*/
/*    z-index: 2000;*/
/*    !*display: none;*!*/
/*}*/
/*#loading {*/
/*    width: 100vw;*/
/*    height: 100vh;*/
/*    transition: all 1s;*/
/*    background: rgba(200,200,200,0.8);*/
/*    position: absolute;*/
/*    left: 0;*/
/*    top: 0;*/
/*    z-index: 2001;*/
/*}*/
/*.loading{*/
/*    position: absolute;*/
/*    top: 50%;*/
/*    left: 50%;*/
/*    transform: translate(-50%,-50%);*/
/*    height: 40px;*/
/*    display: flex;*/
/*    align-items: center;*/
/*    z-index: 2002;*/
/*}*/
/*.obj{*/
/*    width: 5px;*/
/*    height: 40px;*/
/*    background: #699E92;*/
/*    margin: 0 3px;*/
/*    border-radius: 10px;*/
/*    animation: loading 0.8s infinite;*/
/*    z-index: 2003;*/
/*}*/
/*.obj:nth-child(2){animation-delay: 0.1s;}*/
/*.obj:nth-child(3){animation-delay: 0.2s;}*/
/*.obj:nth-child(4){animation-delay: 0.3s;}*/
/*.obj:nth-child(5){animation-delay: 0.4s;}*/
/*.obj:nth-child(6){animation-delay: 0.5s;}*/
/*.obj:nth-child(7){animation-delay: 0.6s;}*/
/*.obj:nth-child(8){animation-delay: 0.7s;}*/
/*@keyframes loading{*/
/*    0%{height: 0;}*/
/*    50%{height: 40px;}*/
/*    100%{height: 0;}*/
/*}*/
/* datepicker */
.datepicker-days th.dow:first-child,
.datepicker-days td:first-child {
  color: #f00;
}

.datepicker-days th.dow:last-child,
.datepicker-days td:last-child {
  color: #00f;
}

.bootstrap-datetimepicker-widget table td.active,
.bootstrap-datetimepicker-widget table td.active:hover {
  background-color: #337ab7;
  color: #fff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}

.bootstrap-datetimepicker-widget table td span.active,
.bootstrap-datetimepicker-widget table td i.active {
  background-color: #337ab7;
  color: #fff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}

/* schedules */
div.message_schedule_empty {
  margin: 10px;
}

/* vue.draggable.next ghost class */
.ghost {
  opacity: 0.75;
  background: #c8ebfb;
}

/* vue v-cloak */
[v-cloak] {
  opacity: 0;
}

.nav-sidebar-custom-menu-quickadd,
.nav-sidebar-custom-menu-todayschedule {
  /*background-color: #5B8881;*/
  border: 1px solid #56606a;
  color: #fff;
  border-radius: 0.25rem;
}

.nav-sidebar-custom-menu-quickadd a,
.nav-sidebar-custom-menu-todayschedule a {
  margin-bottom: 0 !important;
}

.small-box .icon > i {
  font-size: 55px;
  position: absolute;
  right: 15px;
  top: 15px;
  transition: transform 0.3s linear;
}

/**
Context Menu
 */
.context-menu {
  /*display: none;*/
  position: absolute;
  width: auto;
  min-width: 240px;
  overflow: auto;
  padding: 5px 0;
  background-color: rgb(255, 255, 255);
  /*border: 1px solid rgb(238, 238, 238);*/
  border-radius: 5px;
  box-shadow: 0 0 8px gray;
  z-index: 9999;
}
.context-menu ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.context-menu ul li {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  height: 24px;
  line-height: 24px;
  padding: 2px 20px 2px 20px;
  vertical-align: middle;
  cursor: pointer;
}
.context-menu ul li.context-menu-item__disabled {
  color: #ccc;
}
.context-menu ul li span.context_icon {
  display: inline-block;
  width: 20px;
}
.context-menu ul li span.context_title {
  min-width: 65px;
  display: inline-block;
}
.context-menu ul li span.context_description {
  display: inline-block;
  float: right;
  font-size: 0.8rem;
  color: #666;
  text-align: right;
  vertical-align: middle;
}
.context-menu ul li:hover {
  background-color: #ddd;
}
.context-menu hr {
  margin: 2px 0;
}

/* Vendor integrations */
/** FullCalendar ----------------------------------------------------------------------------------------------------**/
/* フレックスボックス全体の基本構造 */
.fc-toolbar {
  display: flex; /* ツールバーをフレックスとして扱う */
  flex-wrap: nowrap; /* 改行を防ぐ */
  justify-content: space-between; /* 各セクションを左右＆中央に配置 */
  align-items: center; /* 縦方向の中央揃え */
}

/* 各セクション（left, center, right）が横に並ぶように指定 */
.fc-toolbar .fc-toolbar-chunk {
  display: flex;
  align-items: center; /* セクション内の縦揃え */
  white-space: nowrap; /* 要素内のテキスト改行を防ぐ */
}

/* タイトルとボタン（中央部分）の上下余白と位置調整 */
.fc .fc-toolbar-title {
  /*font-family: 'Noto Sans JP', sans-serif;*/
  font-weight: bold;
  display: inline-block;
  vertical-align: middle;
  margin: 0 1rem !important;
}

.fc-button-primary {
  background-color: #f8f9fa !important;
  color: #444 !important;
  border-color: #ddd !important;
}

/* ボタン間のマージンと基本スタイル */
.fc-prev-button,
.fc-next-button,
.fc-today-button {
  margin: 0 5px; /* ボタン間のスペース調整 */
}

.fc .fc-daygrid-day-top {
  flex-direction: row !important;
}

td.fc-day {
  background-color: #f8f9fa;
}

td.fc-day-mon a.fc-daygrid-day-number,
td.fc-day-tue a.fc-daygrid-day-number,
td.fc-day-wed a.fc-daygrid-day-number,
td.fc-day-thu a.fc-daygrid-day-number,
td.fc-day-fri a.fc-daygrid-day-number {
  color: black;
  /*background-color: #f8f9fa;*/
  /*border: 1px solid black;*/
  /*background-color: #f7f7f7; !* 薄いグレー *!*/
}

td.fc-day-sat {
  background-color: #eaf4ff !important;
}

td.fc-day-sat a.fc-daygrid-day-number {
  color: blue;
  /*border: 1px solid blue;*/
  /*background-color: #E3F2FD; !* より薄いブルー *!*/
}

td.fc-day-sun {
  background-color: #ffeaea !important;
}

td.fc-day-sun a.fc-daygrid-day-number {
  color: red;
  /*border: 1px solid red;*/
  /*background-color: #ffe5e5; !* 映える薄いレッド *!*/
}

td.fc-day-other {
  background-color: #eee !important;
}

.fc .fc-daygrid-day.fc-day-today {
  background-color: rgba(255, 220, 40, 0.15) !important;
}

a.fc-daygrid-day-number {
  margin-bottom: 4px !important;
  padding: 2px 4px !important;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  /*padding: 2px 5px;*/
  /*margin: 5px;*/
  /*border-radius: 5px;*/
  /*font-size: 1.0rem;*/
  font-size: 1.2rem;
  font-weight: bold;
  text-align: right;
  width: 30px;
  border-bottom-right-radius: 5px;
}

.fc .fc-event-title {
  font-size: 1rem;
}

.fc .fc-daygrid-day {
  position: relative;
}

.fc .custom-content {
  position: absolute;
  top: 0;
  right: 0;
  background: transparent;
  padding: 4px 2px;
  z-index: 2;
}

.fc .custom-content > a {
  padding: 2px;
  font-size: 1rem;
  font-weight: bold;
  color: gray;
  /* border: 1px solid orangered; */
  /* border-radius: 2px; */
  z-index: 5;
  position: relative;
  transition: color 0.3s ease;
}

.fc .custom-content > a:hover {
  color: orange;
  /* border: 1px solid orange; */
}

/** [END] FullCalendar ----------------------------------------------------------------------------------------------**/
/** Dropzone --------------------------------------------------------------------------------------------------------**/
/*.dropzone {*/
/*    width: 100%;*/
/*    cursor: pointer;*/
/*    overflow: hidden;*/
/*    position: relative;*/
/*    box-sizing: border-box;*/
/*    min-height: 250px;*/
/*    border: dashed rgba(0, 0, 0, 0.12);*/
/*    border-radius: 4px;*/
/*    background-color: #eee;*/
/*}*/
.dropzone {
  border-radius: 0.25rem;
  /*border: 2px dashed #0087f7 !important;*/
  border: 1px solid #ced4da !important;
  width: 100% px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1em;
}

.dropzone .dz-preview {
  margin: 0 !important;
}

.dropzone .dz-preview.dz-file-preview,
.dropzone .dz-preview.dz-image-preview {
  width: 320px;
  height: 120px;
}

.dropzone .dz-preview .dz-image {
  border-radius: 5px !important;
  width: 100% !important;
  height: 100% !important;
}

.dropzone .dz-preview .dz-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.dz-success-mark {
  background-color: rgba(102, 187, 106, 0.8) !important;
}

.dz-success-mark svg {
  font-size: 54px;
  fill: #fff !important;
}

.dz-error-mark {
  background-color: rgba(239, 83, 80, 0.8) !important;
}

.dz-error-mark svg {
  font-size: 54px;
  fill: #fff !important;
}

.dropzone .dz-preview .dz-error-message {
  left: 0 !important;
  width: 100% !important;
}

#dropzone_error.error-message {
  color: rgb(239, 83, 80);
  margin-bottom: 10px;
  text-align: center;
  font-size: 1.2rem;
  font-weight: bold;
}

.dz-clickable {
  height: 200px;
  width: 100%;
  margin: 20px 0 20px;
  border-style: dashed;
  border-width: 2px;
  text-align: center;
  cursor: pointer;
}

/* TinyMCE */
.tox-tinymce {
  border: 1px solid #D0D4D9 !important;
  border-radius: 5px !important;
}

/*.tox-icon.tox-tbtn__icon-wrap svg {*/
/*    width: 20px !important;*/
/*    height: 20px !important;*/
/*}*/
.tox-tinymce.tinymce-focused {
  outline: 1px solid #80bdff !important;
  background-color: aliceblue !important;
}

.tox-tinymce.tinymce-focused iframe {
  background-color: aliceblue !important;
}

.tox-tinymce.tinymce-focused .tox.tox-edit-area__iframe {
  background-color: transparent !important;
}

/* OpenLayers Map */
.ol-popup {
  position: absolute;
  background-color: white;
  filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.2));
  padding: 15px;
  border-radius: 10px;
  border: 1px solid #cccccc;
  bottom: 30px;
  left: -50px;
  min-width: 250px;
  font-size: 0.8em;
}

.ol-popup:after, .ol-popup:before {
  top: 100%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}

.ol-popup:after {
  border-top-color: white;
  border-width: 10px;
  left: 48px;
  margin-left: -10px;
}

.ol-popup:before {
  border-top-color: #cccccc;
  border-width: 11px;
  left: 48px;
  margin-left: -11px;
}

/*ポップアップ閉じるボタン*/
.ol-popup-closer {
  text-decoration: none;
  position: absolute;
  top: 2px;
  right: 8px;
}

.ol-popup-closer:after {
  content: "✖";
}

.map {
  width: 100%;
  height: 480px;
}

.map.placeholder {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #eee;
}

.map.placeholder .message {
  text-align: center;
  font-size: 24px;
  color: #ddd;
}

.multiselect, .multiselect__input, .multiselect__single {
  font-size: 12px !important;
}

.multiselect__select {
  width: 32px !important;
  height: 32px !important;
}

.multiselect__tags {
  min-height: 32px !important;
  padding: 4px 32px 0 6px !important;
  font-size: 12px !important;
}

.multiselect__tag {
  padding: 4px 26px 4px 10px !important;
  margin-right: 10px !important;
  margin-bottom: 2px !important;
}

div.multiselect_am .multiselect__tag,
div.multiselect_am .multiselect__option--highlight {
  color: #000000 !important;
  background-color: #EAAC6E !important;
}

div.multiselect_pm .multiselect__tag,
div.multiselect_pm .multiselect__option--highlight {
  color: #000000 !important;
  background-color: #9DC68A !important;
}

div.multiselect_fn .multiselect__tag,
div.multiselect_fn .multiselect__option--highlight {
  color: #000000 !important;
  background-color: #99B5D3 !important;
}

div.multiselect_am .multiselect__option--selected.multiselect__option--highlight,
div.multiselect_pm .multiselect__option--selected.multiselect__option--highlight,
div.multiselect_fn .multiselect__option--selected.multiselect__option--highlight {
  background: #ff6a6a !important;
  color: #fff !important;
}

.multiselect__tag-icon::after {
  color: #000000 !important;
}

/* Components / forms / lists */
/* テーブル全体に対するスタイル */
table.estimate__table {
  border-collapse: collapse; /* セルの境界線を隠す */
  width: 100%; /* テーブルの幅を100%に設定 */
}

/* テーブルのヘッダーセルに対するスタイル */
table.estimate__table th {
  background-color: #f2f2f2; /* ヘッダーセルの背景色 */
  text-align: left; /* ヘッダーセル内のテキストを左寄せに */
  padding: 8px; /* セルの余白 */
}

/* データセルに対するスタイル */
table.estimate__table td {
  border: 1px solid #dddddd; /* セルの境界線 */
  text-align: left; /* データセル内のテキストを左寄せに */
  padding: 8px; /* セルの余白 */
}

table.estimate__table td.input_field {
  padding: 0;
}

table.estimate__table td input[type=text],
table.estimate__table td input[type=number] {
  width: 100%; /* 入力フィールドの幅をセルの幅に合わせる */
  height: 100%; /* 入力フィールドの高さをセルの高さに合わせる */
  box-sizing: border-box; /* 幅と高さにボーダーボックスモデルを使用 */
  padding: 12px; /* 余白を設定（オプション） */
  border: none;
}

table.estimate__table td input[type=number] {
  text-align: right;
}

input[type=text].input__number {
  text-align: right;
}

div.input_readonly {
  display: block;
  width: 100%;
  height: calc(2.25rem + 2px);
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: rgba(239, 239, 239, 0.3019607843);
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  box-shadow: inset 0 0 0 transparent;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

div.input_readonly.multiline {
  height: auto !important;
}

.form-check {
  position: relative;
  display: block;
  padding-left: 0;
}
.form-check-input {
  position: absolute;
  margin-top: 0.3rem;
  /*margin-left: -1.25rem;*/
  margin-left: 0rem;
}
.form-check-label {
  margin-bottom: 0;
  margin-left: 1.25rem;
}

.form-check-star {
  position: relative;
  display: block;
  padding-left: 1.25rem;
}
.form-check-star-input {
  position: absolute;
  margin-top: 0.3rem;
  margin-left: -1.25rem;
}
.form-check-star-label {
  margin-bottom: 0;
  margin-left: 1.25rem;
}

.form-radio-input {
  position: absolute;
  margin-top: 0.3rem;
  /*margin-left: -1.25rem;*/
  margin-left: 0rem;
}
.form-radio-label {
  font-weight: 400 !important;
  margin-bottom: 0;
  margin-left: 1.25rem;
}

.checkbox-star {
  /*position: relative;*/
}
.checkbox-star input[type=checkbox] {
  display: none;
}
.checkbox-star span::after {
  content: "\f586"; /* You change the content value to change the icon */
  font-family: "bootstrap-icons";
  color: #eeeeee;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  line-height: 20px;
  background-color: transparent;
  border: none;
}
.checkbox-star input[type=checkbox]:checked + span {
  /*display: none;*/
}
.checkbox-star input[type=checkbox]:checked + span::after {
  content: "\f586"; /* You change the content value to change the icon */
  font-family: "bootstrap-icons";
  color: #FFD700;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
}

i.icon-star {
  color: #FFD700 !important;
}

div.panel-no-available-workers-container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 150px;
}
div.panel-no-available-workers-container > div.panel-no-available-workers {
  text-align: center;
  vertical-align: middle;
}

div.panel-no-available-workers-icon {
  font-size: 3rem;
  color: #6c757d;
}

div.operation_stats_header {
  position: sticky;
  top: 46px;
  z-index: 1000;
  background-color: #ffffff;
  /*background-color: #f5f5f5;*/
  /*background-color: transparent;*/
  margin-bottom: 10px;
}

tr.table-row-clickable {
  cursor: pointer;
}

.width_marker {
  height: 0;
  visibility: hidden;
}

.width_marker::after {
  content: "";
  visibility: visible;
  font-size: 14px;
  letter-spacing: normal;
  word-break: break-all;
  white-space: normal;
}

.flexible_width_text {
  flex: 1 1 auto;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  flex-shrink: 1;
  text-align: left;
}
.flexible_width_text p {
  margin-top: 1px;
  margin-bottom: 1px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.flexible {
  position: relative;
}

.flexible_flex_wrapper {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
}

.kana-button-group {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.kana-button-group .row {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
  justify-content: flex-start;
  margin-bottom: 5px;
}
.kana-button-group .button-group {
  display: flex;
  flex: 1;
  justify-content: space-between;
}
.kana-button-group button {
  flex: 1;
  margin: 2px;
  max-width: calc(10% - 4px); /* ボタンを10個並べる */
}

.kana-space {
  /*width: 5px; !* 5pxのスペース *!*/
  /*margin: 2px;*/
}

.full-space {
  flex: 1;
  margin: 2px;
  max-width: calc(10% - 4px); /* 他のボタンと同じ幅のスペース */
}

.construction_category_1 {
  background-color: #7BB572 !important; /* ダークペールグリーン */
  color: black !important;
  border: 1px solid #7BB572 !important;
}

.construction_category_1_text {
  color: #2E4D28 !important; /* 濃いグリーン */
}

.construction_category_2 {
  background-color: #7EB9D0 !important; /* ダークパウダーブルー */
  color: black !important;
  border: 1px solid #7EB9D0 !important;
}

.construction_category_2_text {
  color: #3E6B7D !important; /* 濃いブルー */
}

.construction_category_3 {
  background-color: #D28A8A !important; /* ダークミストローズ */
  color: black !important;
  border: 1px solid #D28A8A !important;
}

.construction_category_3_text {
  color: #6B4A4A !important; /* 濃いピンク */
}

.construction_category_4 {
  background-color: #D7A86E !important; /* ダークモカ */
  color: black !important;
  border: 1px solid #D7A86E !important;
}

.construction_category_4_text {
  color: #704A2E !important; /* 濃いブラウン */
}

.fscc-header-information {
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}

.schedule-information {
  width: 100%;
  height: 32px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  /*margin: 0.25rem;*/
  /*padding: 0.25rem;*/
  padding: 0.4rem;
  border: 1px solid #DEE2E6;
  border-radius: 2px;
}

.nav-wrapper {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.nav-wrapper .nav-text-end {
  display: flex;
  /*margin-right: 0.25rem;*/
}

.last-updated {
  align-self: flex-end;
  padding-bottom: 0.25rem;
  color: #6c757d;
  font-size: 0.9rem;
  white-space: nowrap;
  border-bottom: 1px solid #DEE2E6;
  cursor: pointer;
}

span.clickable {
  cursor: pointer;
}

.kana-index-buttons {
  display: grid;
  grid-template-columns: repeat(5, 1fr); /* 横に5列 */
  gap: 4px; /* ボタン間の余白 */
  width: 100%;
}
.kana-index-buttons button {
  margin: 0 5px 5px 5px;
}

.kana-index-button,
.kana-index-button-filler {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 36px; /* ボタン高さを統一 */
  font-size: 1rem;
  border-radius: 4px;
}

.kana-index-button.active {
  background-color: #aaddaa; /* アクティブな色 */
}
.kana-index-button:disabled {
  border-color: #aaaaaa !important;
  background-color: #cccccc !important;
}

.kana-index-button-filler {
  background: transparent;
  border: none;
  pointer-events: none; /* クリック無効 */
}

span.kana-index-button-filler {
  width: 44px;
  display: inline-block;
}

.customer-list {
  min-height: 400px;
  max-height: 400px;
  overflow-y: auto;
  border: 1px solid #ddd;
  padding: 0;
  list-style-type: none;
}
.customer-list .customer-item {
  padding: 10px;
  cursor: pointer;
}
.customer-list .customer-item:hover {
  background-color: #f0f0f0;
}
.customer-list .customer-item.odd {
  background-color: #f9f9f9;
}
.customer-list .customer-item.even {
  background-color: #ffffff;
}
.customer-list .customer-item.selected-odd {
  background-color: #e0f8e0; /* さらに薄い緑 */
}
.customer-list .customer-item.selected-even {
  background-color: #f0fbf0; /* さらに薄い緑 */
}
.customer-list .customer-item:hover {
  background-color: #ffffe0; /* 薄い黄色 */
}

#worker-collapsible-list .table-header.header-date.today {
  border-top: 1px solid orange;
  border-left: 2px solid orange;
  border-right: 2px solid orange;
}
#worker-collapsible-list .table-header.header-weekday.today {
  border-left: 2px solid orange;
  border-right: 2px solid orange;
}
#worker-collapsible-list .cell-am.today,
#worker-collapsible-list .cell-pm.today {
  border-left: 2px solid orange;
  border-right: 2px solid orange;
}
#worker-collapsible-list .cell-fn.today {
  border-left: 2px solid orange;
  border-right: 2px solid orange;
  border-bottom: 1px solid orange;
}

.popover {
  font-family: var(--font-base), system-ui, sans-serif;
}

i.popover_question {
  color: gray;
  cursor: pointer;
  font-size: 1.1rem;
}

/* サイドバー下端にログアウトボタンを表示する調整 （うまくいかない）*/
.main-sidebar {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  width: 250px; /* サイドバーの幅を調整 */
}

.logout-btn-wrapper {
  position: absolute;
  bottom: 0; /* サイドバーの下端に固定 */
  left: 0;
  right: 0;
  padding: 10px;
}
.logout-btn-wrapper .btn {
  width: 100%;
  white-space: nowrap !important;
}
.logout-btn-wrapper .fas,
.logout-btn-wrapper .bi {
  font-size: 1.2rem; /* アイコンサイズ調整 */
}
.logout-btn-wrapper .logout-text {
  margin-left: 10px !important;
  white-space: nowrap !important;
}

/* オーバーレイの基本スタイル */
.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); /* 半透明の黒背景 */
  z-index: 1000; /* ヘッダーやサイドバーの上に表示 */
  display: flex;
  justify-content: center;
  align-items: center;
}
.overlay .overlay-content {
  color: white;
  background-color: rgba(0, 0, 0, 0.5);
  padding: 20px;
  border-radius: 8px;
  font-size: 1em;
  text-align: center;
}
.overlay .overlay-content p.lock_title {
  font-size: 1.2em;
}

.tab-line {
  border-bottom: 1px solid #dee2e6; /* タブの下線の色と一致させる */
  /*padding-bottom: 8px; !* 下線の位置を調整 *!*/
  height: 100%; /* 高さを統一 */
  display: flex;
  align-items: end;
}

.cursor--pointer {
  cursor: pointer !important;
}

#qrCodeModal .modal-body img {
  max-width: 100%;
  height: auto;
  display: inline-block;
  margin: 0 auto;
}

button[data-target="#qrCodeModal"] {
  margin-top: 10px;
}

textarea.input__placeholder {
  color: white;
  background-color: white;
}

#pdf-viewer-header header {
  padding: 10px;
  background: #f5f5f5;
  text-align: center;
}

#pdf-viewer-header header > h2 {
  font-size: 1.2rem;
}

#pdf-container {
  width: 100%;
  height: 90vh;
  overflow: auto;
  background: #333;
}

#pdf-container canvas {
  display: block;
  margin: 0 auto 20px auto;
  background: #fff;
}

/* Floating Label */
/*.form-group {*/
/*    position: relative;*/
/*    margin-top: 1.5rem;*/
/*}*/
/*.form-group input,*/
/*.form-group textarea,*/
/*.form-group select {*/
/*    padding-top: 1.25rem;*/
/*    padding-bottom: 0.25rem;*/
/*}*/
/*.form-group label {*/
/*    position: absolute;*/
/*    top: 0.75rem;*/
/*    left: 0.75rem;*/
/*    font-size: 1rem;*/
/*    color: #999;*/
/*    pointer-events: none;*/
/*    transition: all 0.2s ease;*/
/*    background: white;*/
/*    padding: 0 0.25rem;*/
/*}*/
/*.form-group input:focus + label,*/
/*.form-group input:not(:placeholder-shown) + label,*/
/*.form-group textarea:focus + label,*/
/*.form-group textarea:not(:placeholder-shown) + label {*/
/*    top: -0.6rem;*/
/*    font-size: 0.75rem;*/
/*    color: #333;*/
/*}*/
/*input:focus,*/
/*select:focus,*/
/*textarea:focus  {*/
/*    background-color: #fffacd !important;*/
/*    border-color: #007BFF !important;*/
/*    outline: none !important;*/
/*    box-shadow: 0 0 3px rgba(0, 123, 255, 0.5) !important;*/
/*}*/
.badge-category {
  max-width: 80px;
  overflow: hidden;
  vertical-align: middle;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* クロッパーのメインコンテナ */
.cropper-container {
  width: 90vw !important;
  height: 80vh !important;
  max-width: 1200px !important;
  max-height: 800px !important;
  margin: 20px auto !important;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  background-color: #f8f9fa !important;
}

/* クロッパーの操作UI改善 */
.cropper-view-box {
  outline: 2px solid #0066cc !important;
  border-radius: 2px;
}

.cropper-face {
  background-color: rgba(0, 102, 204, 0.1);
}

/* ドラッグハンドルを見やすく */
.cropper-line, .cropper-point {
  background-color: #0066cc;
}

.cropper-point {
  width: 8px;
  height: 8px;
  opacity: 0.8;
}

/* クロッパーのキャンバス背景 */
.cropper-bg {
  background-image: linear-gradient(45deg, #f0f0f0 25%, transparent 25%), linear-gradient(-45deg, #f0f0f0 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #f0f0f0 75%), linear-gradient(-45deg, transparent 75%, #f0f0f0 75%);
  background-size: 20px 20px;
  background-position: 0 0, 0 10px, 10px -10px, -10px 0px;
}

/* タブレットサイズのデバイス向け調整 */
@media screen and (max-width: 768px) {
  .cropper-container {
    width: 95vw !important;
    height: 70vh !important;
    margin: 15px auto !important;
  }
  .cropper-point {
    width: 12px;
    height: 12px;
  }
  .point-e,
  .point-n,
  .point-w,
  .point-s {
    width: 14px;
    height: 14px;
  }
}
/* iPhone縦向き特有の調整 */
@media screen and (max-width: 428px) and (orientation: portrait) {
  .cropper-container {
    width: 95vw !important;
    height: 45vh !important;
    margin: 10px auto !important;
    min-height: 300px !important;
  }
  .cropper-wrap-box,
  .cropper-canvas,
  .cropper-drag-box,
  .cropper-crop-box {
    max-width: 95vw !important;
  }
  .cropper-point {
    width: 20px !important;
    height: 20px !important;
    opacity: 0.9 !important;
  }
  .cropper-line {
    height: 3px !important;
  }
  /* ドラッグ操作の視認性向上 */
  .cropper-face {
    background-color: rgba(0, 102, 204, 0.15) !important;
  }
}
/* iPhone横向き特有の調整 */
@media screen and (max-width: 926px) and (orientation: landscape) {
  .cropper-container {
    width: 85vw !important;
    height: 80vh !important;
    margin: 10px auto !important;
  }
}
/* ドラッグ操作時のカーソルスタイル */
.cropper-move {
  cursor: move;
  cursor: grab;
}

.cropper-move:active {
  cursor: grabbing;
}

/* 画像がはみ出すのを防ぐ */
.cropper-canvas {
  max-width: 100% !important;
}

/* モバイルでのズーム操作を改善 */
.cropper-drag-box {
  background-color: transparent !important;
}

/* AdminLTE overrides / layout tweaks */
/* ------------------------------------------------------------------------------------------------------------------ */
/* Customize Side Bar                                                                                                 */
/* ------------------------------------------------------------------------------------------------------------------ */
.sidebar {
  margin-top: 0 !important;
}

.sidebar-collapse .main-sidebar, .sidebar-collapse .main-sidebar::before {
  margin-left: 0 !important;
}

.sidebar-collapse.sidebar-mini .main-sidebar .nav-sidebar .nav-link, .sidebar-collapse.sidebar-mini-md .main-sidebar .nav-sidebar .nav-link, .sidebar-collapse.sidebar-mini-xs .main-sidebar .nav-sidebar .nav-link {
  width: auto;
}

/* サイドバーの基本スタイル */
body .main-sidebar {
  transform: translateX(-300px);
  transition: transform 0.3s ease-in-out;
  /* 追加: 初期表示を確保 */
  display: block !important;
  /* 追加: z-indexを高く設定 */
  z-index: 1038;
}

/* サイドバーが表示される時のスタイル */
body.sidebar-shown .main-sidebar {
  transform: translateX(0);
  /* 追加: 初期表示を確保 */
  display: block !important;
  /* 追加: z-indexを高く設定 */
  z-index: 1038;
}

/* サイドバー表示時のオーバーレイ */
body::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1037;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
  pointer-events: none;
}

body.sidebar-shown::after {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* AdminLTEのデフォルトの動作を上書き */
body.sidebar-collapse .main-sidebar {
  transform: translateX(-300px) !important;
}

body.sidebar-shown .main-sidebar {
  transform: translateX(0) !important;
}

body .content-wrapper {
  background-color: #ffffff !important;
}

/* コンテンツエリアを常に全幅で表示 */
body .content-wrapper,
body .main-header,
body .main-footer {
  margin-left: 0 !important;
  transition: none !important;
}

/* AdminLTEの既存のサイドバー関連クラスを上書き */
.sidebar-mini .main-sidebar,
.sidebar-mini-md .main-sidebar,
.sidebar-mini-xs .main-sidebar,
.sidebar-collapse .main-sidebar {
  transform: translateX(-300px) !important;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* STEP BAR */
.stepBar {
  position: relative;
  list-style: none;
  margin: 0 0 1em;
  padding: 0;
  text-align: center;
  width: 100%;
  overflow: hidden;
  *zoom: 1;
}

.stepBar .step {
  position: relative;
  float: left;
  display: inline-block;
  line-height: 40px;
  padding: 0 40px 0 20px;
  background-color: #eee;
  box-sizing: border-box;
}

.stepBar .step:before, .stepBar .step:after {
  position: absolute;
  left: -15px;
  display: block;
  content: "";
  background-color: #eee;
  border-left: 4px solid #FFF;
  width: 20px;
  height: 20px;
}

.stepBar .step:after {
  top: 0;
  transform: skew(30deg);
}

.stepBar .step:before {
  bottom: 0;
  transform: skew(-30deg);
}

.stepBar .step:first-child {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}

.stepBar .step:first-child:before, .stepBar .step:first-child:after {
  content: none;
}

.stepBar .step:last-child {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}

.stepBar .step.current {
  color: #FFF;
  background-color: #26bfa1;
}

.stepBar .step.current:before, .stepBar .step.current:after {
  background-color: #26bfa1;
}

.stepBar.step2 .step {
  width: 50%;
}

.stepBar.step3 .step {
  width: 33.333%;
}

.stepBar.step4 .step {
  width: 25%;
}

.stepBar.step5 .step {
  width: 20%;
}

@media (max-width: 768px) {
  .stepBar {
    font-size: 0.8rem; /* フォントサイズを調整 */
  }
  .stepBar .step {
    padding: 0 20px 0 0;
  }
}
/* ------------------------------------------------------------------------------------------------------------------ */
