/********************************
 Font Include
********************************/
@font-face {
  font-family: 'noto-sans-jp';
  src: url(../fonts/NotoSansJP-Regular.woff) format("woff");
  font-weight: normal;
  font-display: swap;
}
@font-face {
  font-family: 'noto-sans-jp';
  src: url(../fonts/NotoSansJP-Bold.woff) format("woff");
  font-weight: bold;
  font-display: swap;
}
/********************************
 ※ responsive.lessを参照
********************************/
/********************************
 Basic
********************************/
body {
  min-width: 753px;
  color: #333;
  font-family: 'noto-sans-jp', sans-serif;
  line-height: 1;
  background-color: #F0F4F4;
  margin: 0;
}
body.is_mobile {
  min-width: 768px;
}
body * {
  padding: 0;
  margin: 0;
}
img {
  display: block;
  width: 100%;
  height: auto;
}
a {
  color: #00A0E9;
  text-decoration: underline;
  font-weight: bold;
}
/********************************
 Common Layout / Attribute
********************************/
.d_flex {
  display: flex;
  align-items: center;
}
.d_block {
  display: block;
}
.d_inline_block {
  display: inline-block;
}
.disabled,
*:disabled {
  pointer-events: none;
  opacity: 0.75;
}
.container {
  max-width: 1980px;
  padding-left: 2.52525253%;
  padding-right: 2.52525253%;
  margin: 0 auto;
}
/********************************
 Table
********************************/
.table {
  width: 100%;
  vertical-align: top;
  border-color: #000;
  border-collapse: initial;
  border-spacing: 0px 1.30208333rem;
  margin-top: -1.30208333rem;
  word-break: break-all;
}
.table tr {
  position: relative;
}
.table th,
.table td {
  border-style: solid;
  border-width: 0px 1px;
  text-align: left;
  padding: 0.9765625rem;
  position: relative;
}
@media (max-width: 1024px) {
  .table th,
  .table td {
    padding: 8px;
  }
}
.table th:first-child,
.table td:first-child {
  border-left: none;
  border-top-left-radius: 0.65104167rem;
  border-bottom-left-radius: 0.65104167rem;
}
.table th:last-child,
.table td:last-child {
  border-right: none;
  border-top-right-radius: 0.65104167rem;
  border-bottom-right-radius: 0.65104167rem;
}
.table thead th,
.table thead td {
  height: 3.90625rem;
  color: #fff;
  font-size: 1.171875rem;
  white-space: nowrap;
  background-color: #00A0E9;
  position: relative;
}
.table thead th.sorting,
.table thead td.sorting {
  padding-right: 2.47395833rem;
}
.table thead th.sorting:hover,
.table thead td.sorting:hover {
  cursor: pointer;
}
.table thead th.sorting::before,
.table thead td.sorting::before {
  content: "";
  display: block;
  width: 1.04166667rem;
  height: 0.5859375rem;
  background: no-repeat center / cover url(../image/common/icon_chevron-up_wh.svg);
  position: absolute;
  top: 50%;
  right: 1.171875rem;
  transform: translateY(-50%);
  opacity: 0.5;
}
.table thead th.sorting_desc::before,
.table thead td.sorting_desc::before,
.table thead th.sorting_asc::before,
.table thead td.sorting_asc::before {
  opacity: 1;
}
.table thead th.sorting_desc::before,
.table thead td.sorting_desc::before {
  background-image: url(../image/common/icon_chevron-down_wh.svg);
}
.table tbody th,
.table tbody td {
  border-color: #F0F4F4;
  height: 8.72395833rem;
  font-size: 1.3671875rem;
  background-color: #fff;
}
.table tbody .item_priority {
  font-size: 2.34375rem;
  font-weight: bold;
  text-align: center;
}
.table tbody .item_priority {
  color: #fff;
}
.table tbody .item_priority[data-priority="1"] {
  background-color: #005BAC;
}
.table tbody .item_priority[data-priority="2"] {
  background-color: #196BB4;
}
.table tbody .item_priority[data-priority="3"] {
  background-color: #4084C1;
}
.table tbody .item_priority[data-priority="4"] {
  background-color: #669DCD;
}
.table tbody .item_priority[data-priority="5"] {
  background-color: #8CB5DA;
}
.table tbody .item_priority[data-priority="6"] {
  background-color: #B2CDE6;
}
.table tbody .item_device_id {
  font-size: 1.3671875rem;
}
.table tbody .item_device_name {
  font-size: 1.3671875rem;
  line-height: 1.33333333;
}
.table tbody .item_device_name .btn {
  font-size: inherit;
  font-weight: bold;
  color: #00A0E9;
  text-decoration: underline;
}
.table tbody .item_nameplate .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.42708333rem;
  height: 4.42708333rem;
  background-color: #F0F4F4;
  margin: 0 auto;
}
.table tbody .item_nameplate .btn img {
  width: 67.48172859%;
}
.table tbody .item_nameplate .btn:disabled {
  opacity: 0.3;
}
.table tbody .item_nameplate .js_dropdown,
.table tbody .item_nameplate .js_select {
  position: relative;
  display: block;
  width: 4.42708333rem;
  height: 4.42708333rem;
  margin: 0 auto;
}
.table tbody .item_importance {
  font-size: 2.34375rem;
  font-weight: bold;
  text-align: center;
}
.table tbody .item_condition {
  text-align: center;
}
.table tbody .item_condition .condition_value {
  display: none;
}
.table tbody .item_condition .row {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.45572917rem;
}
.table tbody .item_condition .situation {
  margin-right: 1.5625rem;
}
.table tbody .item_condition .situation span {
  display: block;
  font-size: 3.25520833rem;
  line-height: 1;
}
.table tbody .item_condition .situation span.red {
  color: #FF1D25;
}
.table tbody .item_condition .situation span.yellow {
  color: #FCD400;
}
.table tbody .item_condition .situation span.green {
  color: #39B54A;
}
.table tbody .item_condition .situation span.gray {
  color: #BDCCD4;
}
.table tbody .item_condition .situation span.black {
  color: #000000;
}
.table tbody .item_condition .situation span {
  width: 3.25520833rem;
  height: 3.25520833rem;
  border-radius: 50%;
}
.table tbody .item_condition .situation span.red {
  background-color: #FF1D25;
}
.table tbody .item_condition .situation span.yellow {
  background-color: #FCD400;
}
.table tbody .item_condition .situation span.gray {
  background-color: #BDCCD4;
}
.table tbody .item_condition .situation span.green {
  background-color: #39B54A;
}
.table tbody .item_condition .situation span.black {
  background-color: #000000;
}
.table tbody .item_condition .remarks span {
  display: block;
  width: 2.734375rem;
  height: 3.04991536rem;
  background: no-repeat center / cover;
}
.table tbody .item_condition .remarks span.manual {
  background-image: url(../image/common/icon_manual.svg);
}
.table tbody .item_condition .remarks span.api {
  background-image: url(../image/common/icon_api.svg);
}
.table tbody .item_condition .remarks span.stethoscope {
  background-image: url(../image/common/icon_stethoscope.svg);
}
.table tbody .item_condition .date {
  height: 1.3671875rem;
  font-size: 1.3671875rem;
  text-align: center;
}
.table tbody .item_condition .btn_modal {
  width: 100%;
}
.table tbody .item_condition .btn_condition_edit:disabled {
  opacity: 1;
}
.table tbody .item_condition .btn_condition_create {
  width: 1.5625rem;
}
.table tbody .item_condition .btn_condition_create:disabled {
  opacity: 1;
}
.table tbody .item_maintenance_plan {
  font-size: 1.3671875rem;
  line-height: 1.33333333;
  text-align: center;
}
.table tbody .item_maintenance_plan .btn_maintenance_plan {
  font-size: 1.3671875rem;
  text-decoration: underline;
  font-weight: bold;
  color: #00A0E9;
}
.table tbody .item_maintenance_plan .btn_maintenance_plan_edit {
  width: 1.5625rem;
}
.table tbody .item_maintenance_method .main:has(+ .sub) {
  margin-bottom: 0.91145833rem;
}
.table tbody .item_maintenance_method .main .label_TBM {
  color: #fff;
  background-color: #CDB288;
  border-color: #CDB288;
}
.table tbody .item_maintenance_method .main .label_CBM {
  color: #fff;
  background-color: #00A0E9;
  border-color: #00A0E9;
}
.table tbody .item_maintenance_method .main .label_BDM {
  color: #fff;
  background-color: #B3B3B3;
  border-color: #B3B3B3;
}
.table tbody .item_maintenance_method .sub .label_TBM {
  color: #CDB288;
  border-color: #CDB288;
}
.table tbody .item_maintenance_method .sub .label_CBM {
  color: #00A0E9;
  border-color: #00A0E9;
}
.table tbody .item_maintenance_method .sub .label_BDM {
  color: #B3B3B3;
  border-color: #B3B3B3;
}
.table tbody .item_maintenance_history .row {
  display: flex;
}
.table tbody .item_maintenance_history .btn {
  display: flex;
  margin-left: auto;
  margin-right: auto;
}
.table tbody .item_maintenance_history .history_image,
.table tbody .item_maintenance_history .history_txt {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.42708333rem;
  height: 4.42708333rem;
  background-color: #F0F4F4;
}
.table tbody .item_maintenance_history .history_image img,
.table tbody .item_maintenance_history .history_txt img {
  width: 67.48172859%;
}
.table tbody .item_maintenance_history .history_image img {
  width: 64.54774039%;
}
.table tbody .item_maintenance_history .history_txt img {
  width: 49.87779939%;
}
.table tbody .item_maintenance_history .badge {
  background-color: #506E91;
}
.table tbody .item_maintenance_period {
  font-size: 1.3671875rem;
}
.table tbody .item_free {
  font-size: 1.3671875rem;
}
.table tbody .btn_modal .icon_pencil {
  display: block;
  width: 1.5625rem;
  height: 1.5625rem;
  background: url(../image/common/icon_pencil_circle.svg) no-repeat center / cover;
}
.table tbody .btn_modal:disabled {
  opacity: 1;
}
.table tbody .btn_modal:disabled .icon_pencil {
  background-image: url(../image/common/icon_pencil_circle_disabled.svg);
}
.table .item_free_02,
.table .item_free_03 {
  display: none;
}
.dataTables_wrapper .dataTables_scrollBody {
  margin-top: -1.30208333rem;
}
.dataTables_wrapper .dataTables_paginate {
  display: flex;
  justify-content: flex-end;
  margin-top: 2.60416667rem;
  margin-top: 1.953125rem;
}
.dataTables_wrapper .dataTables_paginate > span {
  display: flex;
}
.dataTables_wrapper .dataTables_paginate .paginate_button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.515625rem;
  height: 3.515625rem;
  width: 3.19010417rem;
  height: 3.19010417rem;
  font-size: 1.43229167rem;
  font-weight: normal;
  text-align: center;
  line-height: 1;
  border-top: solid 2px #BDCCD4;
  border-bottom: solid 2px #BDCCD4;
  border-left: solid 1px #BDCCD4;
  border-right: solid 1px #BDCCD4;
  background-color: #fff;
  margin-right: -1px;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.next,
.dataTables_wrapper .dataTables_paginate .paginate_button.previous {
  font-size: 0;
  position: relative;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.next::before,
.dataTables_wrapper .dataTables_paginate .paginate_button.previous::before {
  content: "";
  display: block;
  width: 0.65104167rem;
  height: 1.171875rem;
  background: no-repeat center / cover url(../image/common/icon_chevron-left_01.svg);
  position: absolute;
  top: 50%;
  right: 1.171875rem;
  transform: translateY(-50%);
}
.dataTables_wrapper .dataTables_paginate .paginate_button.next {
  border-right-width: 2px;
  border-top-right-radius: 0.65104167rem;
  border-bottom-right-radius: 0.65104167rem;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.next::before {
  background-image: url(../image/common/icon_chevron-right_01.svg);
}
.dataTables_wrapper .dataTables_paginate .paginate_button.previous {
  border-left-width: 2px;
  border-top-left-radius: 0.65104167rem;
  border-bottom-left-radius: 0.65104167rem;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.previous::before {
  background-image: url(../image/common/icon_chevron-left_01.svg);
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current {
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  background-color: #506E91;
  pointer-events: none;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
  cursor: pointer;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled {
  pointer-events: none;
}
/********************************
 Common Parts
********************************/
.btn {
  display: inline-block;
  font-weight: 400;
  line-height: 1;
  color: #333;
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0;
  font-size: 1.04166667rem;
  border-radius: 0.16276042rem;
}
.btn[type=button]:not(:disabled),
.btn[type=reset]:not(:disabled),
.btn[type=submit]:not(:disabled) {
  cursor: pointer;
}
.btn_outline {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 7.8125rem;
  height: 2.21354167rem;
  color: #506E91;
  font-size: 0.9765625rem;
  font-weight: bold;
  border: solid 0.13736979rem;
  border-radius: 1.04166667rem;
  background-color: #fff;
}
.btn_outline .txt {
  position: relative;
  top: 0.09570313rem;
}
.btn_create_new {
  width: 11.71875rem;
  height: 3.25520833rem;
  font-size: 1.171875rem;
  border-radius: 1.62760417rem;
}
.btn_create_new .icon {
  display: block;
  width: 2.04792969rem;
  height: 1.78673828rem;
  background: no-repeat center / cover url(../image/common/icon_create_new.svg);
  margin-right: 1.04166667rem;
}
.btn_create_new .txt {
  position: relative;
  top: 0.13020833rem;
}
a.btn_create_new .txt {
  top: -0.06510417rem;
}
.link_page_back {
  font-size: 1.3671875rem;
}
.badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.82291667rem;
  height: 1.82291667rem;
  color: #fff;
  font-size: 1.21549479rem;
  font-weight: bold;
  background-color: #333;
  border-radius: 50%;
  position: absolute;
  top: -0.91145833rem;
  right: -0.91145833rem;
}
*:has( > .badge) {
  position: relative;
}
.label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 6.8359375rem;
  height: 2.34375rem;
  font-size: 1.3671875rem;
  font-weight: bold;
  border: solid 2px;
  border-radius: 0.32552083rem;
  margin: 0 auto;
}
/********************************
 Form Control
********************************/
.form_control {
  width: 100%;
  font-size: 1.04166667rem;
  border: solid 1px #BDCCD4;
  border-radius: 0.32552083rem;
  padding: 0.32552083rem 0.65104167rem;
  appearance: none;
}
.form_control::placeholder {
  color: #aaa;
}
.form_control:disabled {
  background-color: transparent;
}
.is_mobile .form_control {
  font-size: 16px;
}
select {
  appearance: none;
  background-image: url(../image/common/icon_chevron-down_01.svg);
  background-repeat: no-repeat;
  background-position: right 0.32552083rem center;
  background-size: 0.69444444rem 0.390625rem;
}
.datepicker_wrapper {
  display: flex;
  align-items: center;
  position: relative;
}
.datepicker_wrapper::before {
  content: "";
  display: block;
  width: 1.171875rem;
  height: 1.31835938rem;
  background: no-repeat center / cover url(../image/common/icon_calendar.svg);
  position: absolute;
  top: 50%;
  right: 0.65104167rem;
  transform: translateY(-50%);
}
.datepicker_wrapper .datepicker {
  padding-right: 2.27864583rem;
}
.box_radio_button {
  display: flex;
}
.box_radio_button input {
  display: none;
}
/********************************
 Header
********************************/
.header {
  width: 100%;
  background-color: #005BAC;
}
.header .fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
}
.header .row {
  justify-content: space-between;
  height: 6.51041667rem;
}
.header .left {
  margin-right: 1.30208333rem;
}
.header .h1 {
  width: 22.48097656rem;
  height: 2.08333333rem;
  margin-right: 2.60416667rem;
  position: relative;
}
@media (max-width: 1024px) {
  .header .h1 {
    width: 180px;
  }
}
.header .h1::after {
  content: "";
  width: 0.06510417rem;
  height: 100%;
  background-color: #fff;
  position: absolute;
  top: 0;
  right: -1.30208333rem;
}
.header .h1 a {
  display: block;
  width: 100%;
}
.header .company_name {
  color: #fff;
  font-size: 1.5625rem;
  font-weight: bold;
  line-height: 1.2;
  margin-right: 1.30208333rem;
}
.header .plant > .btn {
  color: #fff;
  font-size: 1.5625rem;
  font-weight: bold;
  padding-right: 2.08333333rem;
  position: relative;
  top: 0.13020833rem;
}
.header .plant > .btn::before {
  content: "";
  display: block;
  width: 1.04166667rem;
  height: 0.5859375rem;
  background: no-repeat center / cover url(../image/common/icon_chevron-up_wh.svg);
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.header .plant.disabled {
  opacity: initial;
}
.header .plant.disabled .btn::before {
  content: none;
}
.header .plan {
  margin-right: 1.953125rem;
}
@media (max-width: 1024px) {
  .header .plan {
    margin-right: 10px;
  }
}
.header .plan > .btn {
  display: block;
  height: 3.25520833rem;
  color: #fff;
  font-size: 1.171875rem;
  font-weight: bold;
  text-decoration: underline;
}
.is_mobile .header .plan .menu {
  transform: translateX(-40%) scale(1.5);
}
@media (max-width: 1024px) {
  .is_mobile .header .plan .menu {
    left: -100px;
  }
}
.header .setting {
  margin-right: 1.953125rem;
}
@media (max-width: 1024px) {
  .header .setting {
    margin-right: 10px;
  }
}
.header .setting > .btn {
  width: 13.02083333rem;
  height: 3.25520833rem;
  color: #506E91;
  font-size: 1.04166667rem;
  font-weight: bold;
  text-align: left;
  background-color: #fff;
  border-radius: 1.62760417rem;
  padding-left: 2.27864583rem;
  position: relative;
}
@media (max-width: 1024px) {
  .header .setting > .btn {
    width: 32.5px;
    height: 32.5px;
    font-size: 0;
    background-color: transparent;
    border-radius: initial;
    background: no-repeat center / cover url(../image/common/icon_gear_02.svg);
  }
}
.header .setting > .btn .icon_gear {
  display: block;
  width: 1.04166667rem;
  height: 1.04166667rem;
  background: no-repeat center / cover url(../image/common/icon_gear_01.svg);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0.91145833rem;
}
@media (max-width: 1024px) {
  .header .setting > .btn .icon_gear {
    display: none;
  }
}
.header .setting > .btn::before {
  content: "";
  display: block;
  width: 1.04166667rem;
  height: 0.5859375rem;
  background: no-repeat center / cover url(../image/common/icon_chevron-down_01.svg);
  position: absolute;
  top: 50%;
  right: 0.91145833rem;
  transform: translateY(-50%);
}
@media (max-width: 1024px) {
  .header .setting > .btn::before {
    content: none;
  }
}
.header .setting > .btn > .txt {
  position: relative;
  top: 0.06510417rem;
}
@media (max-width: 1024px) {
  .header .setting > .btn > .txt {
    display: none;
  }
}
@media (max-width: 1024px) {
  .header .setting .menu {
    transform: translateX(-35%);
  }
}
.is_mobile .header .setting .menu {
  transform: translateX(-40%) scale(1.5);
}
@media (max-width: 1024px) {
  .is_mobile .header .setting .menu {
    left: -100px;
  }
}
.header .account {
  margin-right: 1.953125rem;
}
@media (max-width: 1024px) {
  .header .account {
    margin-right: 10px;
  }
}
.header .account > .btn {
  display: flex;
  align-items: center;
  width: 13.02083333rem;
  height: 3.25520833rem;
  background-color: #fff;
  border-radius: 1.62760417rem;
  padding-right: 1.953125rem;
  position: relative;
}
@media (max-width: 1024px) {
  .header .account > .btn {
    padding-right: 0;
    width: 32.5px;
    background-color: transparent;
  }
}
.header .account > .btn::before {
  content: "";
  display: block;
  width: 1.04166667rem;
  height: 0.5859375rem;
  background: no-repeat center / cover url(../image/common/icon_chevron-down_01.svg);
  position: absolute;
  top: 50%;
  right: 0.78125rem;
  transform: translateY(-50%);
}
@media (max-width: 1024px) {
  .header .account > .btn::before {
    display: none;
  }
}
.header .account > .btn > .name {
  position: relative;
  top: 0.06510417rem;
}
@media (max-width: 1024px) {
  .header .account > .btn > .name {
    display: none;
  }
}
.header .account .menu {
  left: -1.30208333rem;
  padding-bottom: 0;
}
@media (max-width: 1024px) {
  .header .account .menu {
    transform: translateX(-40%);
  }
}
.is_mobile .header .account .menu {
  transform: translateX(-40%) scale(1.5);
}
@media (max-width: 1024px) {
  .is_mobile .header .account .menu {
    left: -100px;
  }
}
.header .account .menu ul.child_list {
  padding-left: 0.9765625rem;
}
.header .account .menu ul.child_list a {
  font-size: 80%;
}
.header .account .image {
  min-width: 2.60416667rem;
  height: 2.60416667rem;
  border-radius: 50%;
  background: url(../image/common/icon_user_02.svg) no-repeat center / cover;
  position: relative;
  left: 0.45572917rem;
  margin-right: 0.65104167rem;
}
@media (max-width: 1024px) {
  .header .account .image {
    margin-right: 0;
    width: 100%;
    height: 100%;
    position: initial;
  }
}
.header .account img {
  object-fit: cover;
}
.header .account .name {
  max-width: 8.46354167rem;
  color: #506E91;
  font-size: 1.04166667rem;
  font-weight: bold;
  text-align: left;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
@media (max-width: 1024px) {
  .header .account .name {
    display: none;
  }
}
.header .account .logout {
  border-top: solid 2px #BDCCD4;
  margin-top: 1.04166667rem;
  padding-top: 1.10677083rem;
  margin-bottom: 0.9765625rem;
}
.header .info {
  width: 2.9296875rem;
  position: relative;
}
.header .info .badge_new {
  display: block;
  width: 3.25520833rem;
  height: 1.30208333rem;
  background: no-repeat center / cover url(../image/common/icon_new_01.svg);
  position: absolute;
  top: -0.65104167rem;
  right: -1.62760417rem;
}
/********************************
 Content Header
********************************/
.content_header {
  width: 100%;
  background-color: #F0F4F4;
  padding-top: 1.953125rem;
  padding-bottom: 1.953125rem;
}
.content_header:has(.breadcrumb) {
  padding-top: 0;
  padding-bottom: 2.21354167rem;
}
.content_header:has(.breadcrumb) .row {
  align-items: end;
}
.content_header .row {
  justify-content: space-between;
}
.content_header .page_title {
  font-size: 2.08333333rem;
}
.breadcrumb {
  padding-top: 0.71614583rem;
  padding-bottom: 0.71614583rem;
}
.breadcrumb ul {
  display: flex;
}
.breadcrumb ul li {
  font-size: 0.91145833rem;
  line-height: 1;
  margin-right: 2.21354167rem;
  position: relative;
}
.breadcrumb ul li::after {
  content: "/";
  display: block;
  position: absolute;
  top: 0;
  right: -1.30208333rem;
}
.breadcrumb ul li:last-child::after {
  content: "";
}
.breadcrumb ul li:last-child a {
  font-weight: bold;
  pointer-events: none;
  text-decoration: none;
}
.breadcrumb ul a {
  color: #333;
  display: block;
  font-weight: normal;
}
/********************************
 My JS：Dropdown / Selectbox
********************************/
.js_dropdown,
.js_select {
  position: relative;
}
.js_dropdown.show > .btn::after,
.js_select.show > .btn::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  opacity: 0;
  cursor: default;
}
.js_dropdown.show .menu,
.js_select.show .menu {
  display: block;
}
.js_dropdown.show .popup_nameplate,
.js_select.show .popup_nameplate {
  display: block;
}
.js_dropdown .menu,
.js_select .menu {
  display: none;
  background-color: #fff;
  white-space: nowrap;
  border: solid 2px #BDCCD4;
  border-radius: 0.32552083rem;
  padding-top: 1.30208333rem;
  padding-bottom: 1.30208333rem;
  position: absolute;
  top: 2.27864583rem;
  left: 0;
  z-index: 1;
}
.is_mobile .js_dropdown .menu,
.is_mobile .js_select .menu {
  transform: scale(1.5);
  transform-origin: top left;
}
.js_dropdown .menu li,
.js_select .menu li {
  overflow: hidden;
}
.js_dropdown .menu .btn,
.js_select .menu .btn {
  width: 100%;
  color: #506E91;
  font-size: 1.3671875rem;
  font-weight: bold;
  line-height: 1.8;
  text-align: left;
  padding-left: 1.953125rem;
  padding-right: 1.953125rem;
}
.js_dropdown .popup_nameplate,
.js_select .popup_nameplate {
  display: none;
  border: solid 2px #BDCCD4;
  border-radius: 0.32552083rem;
  background-color: #fff;
  padding: 1.49739583rem 2.66927083rem;
  left: 0;
  z-index: 1;
}
.js_dropdown .popup_nameplate dl,
.js_select .popup_nameplate dl {
  color: #506E91;
  font-size: 1.60026042rem;
  line-height: 1.49959317;
  white-space: nowrap;
}
.js_dropdown .popup_nameplate dt,
.js_select .popup_nameplate dt {
  font-weight: bold;
}
.js_dropdown .btn,
.js_select .btn {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
/********************************
 Modal
********************************/
body.modal_show {
  overflow: hidden;
}
body.scrollbar:not(.is_mobile) {
  padding-right: 15px;
}
body.scrollbar:not(.is_mobile) .header {
  position: relative;
}
body.scrollbar:not(.is_mobile) .header::before {
  content: "";
  width: 15px;
  height: 100%;
  position: absolute;
  top: 0;
  right: -15px;
  background-color: #005BAC;
}
.modal {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 110;
  display: none;
}
.modal_close_rayer {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 0;
  overflow: hidden;
}
.btn_modal_close {
  display: block;
  width: 2.734375rem;
  height: 2.734375rem;
  background: no-repeat center / cover;
  background-image: url(../image/common/icon_modal_close.svg);
  position: absolute;
  top: -1.3671875rem;
  right: -1.3671875rem;
}
.modal_content {
  min-width: 30%;
  max-width: 90%;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  box-shadow: 0 0 15px rgba(255, 255, 255, 0.1);
}
.modal_header {
  color: #fff;
  background-color: #17529a;
  border-top-left-radius: 0.65104167rem;
  border-top-right-radius: 0.65104167rem;
  padding-left: 1rem;
  padding-right: 1rem;
}
.modal_header .modal_title {
  font-size: 1.5625rem;
  font-weight: normal;
  line-height: 2.5;
  text-align: center;
}
.modal_body {
  background: #fff;
  border-bottom-left-radius: 0.65104167rem;
  border-bottom-right-radius: 0.65104167rem;
  padding: 1.953125rem;
}
.modal_body .inner {
  max-height: 70vh;
  overflow-y: auto;
  padding: 0.32552083rem 0;
}
.is_mobile #modal_delete_alert .modal_content {
  transform: translate(-50%, -50%) scale(1.3);
}
#modal_delete_alert p {
  font-size: 1.3671875rem;
  text-align: center;
  margin-bottom: 0.9765625rem;
}
#modal_delete_alert .btn {
  margin: 0 auto;
}
#modal_nameplate .modal_content {
  width: 80vw;
  max-width: 97.65625rem;
}
#modal_nameplate .modal_body .inner {
  max-height: initial;
  overflow: hidden;
  height: 70vh;
}
#modal_nameplate .modal_body .inner .image {
  height: 100%;
  background-color: #eee;
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC');
  padding: 1.953125rem;
}
#modal_nameplate .modal_body .inner .image img {
  height: 100%;
  object-fit: contain;
}
#modal_nameplate .modal_body .btn_modal_cancel {
  margin: 1.30208333rem auto 0;
}
#modal_info .modal_content {
  min-width: 50%;
  width: 750px;
}
.is_mobile #modal_info .modal_content {
  width: 500px;
  transform: translate(-50%, -50%) scale(1.3);
}
#modal_info .modal_body {
  background-color: #F0F4F4;
}
.is_mobile #modal_info .modal_body .inner {
  max-height: 50vh;
}
#modal_info .table {
  min-width: initial;
}
#modal_info .table tbody td {
  height: initial;
  padding: 0;
}
#modal_info .table tbody .message_header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #00A0E9;
  border-top-left-radius: 0.65104167rem;
  border-top-right-radius: 0.65104167rem;
  padding: 0.9765625rem;
}
#modal_info .table tbody .title {
  color: #fff;
  line-height: 1.3;
}
#modal_info .table tbody .date {
  color: #fff;
  white-space: nowrap;
  font-size: 1.171875rem;
  margin-left: 0.9765625rem;
}
#modal_info .table tbody .message_body {
  line-height: 1.5;
  padding: 0.9765625rem;
}
#modal_info .table tbody .message_footer {
  border-bottom-left-radius: 0.65104167rem;
  border-bottom-right-radius: 0.65104167rem;
  padding: 0 0.9765625rem 1.30208333rem;
}
#modal_info .table tbody .btn_outline {
  width: 19.53125rem;
  margin: 0 auto;
}
/********************************
 Datepicker
********************************/
.ui-datepicker {
  display: none;
  width: 16em;
  font-size: 1.30208333rem;
  background-color: #fff;
  border: solid 2px #BDCCD4;
  border-radius: 5px;
  padding: 1em;
}
.is_mobile .ui-datepicker {
  transform: scale(1.5);
  transform-origin: top left;
}
.ui-datepicker-header {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  margin-bottom: 1em;
}
.ui-datepicker-header .ui-corner-all {
  display: block;
  font-size: 0.8em;
  position: absolute;
}
.ui-datepicker-header .ui-datepicker-prev {
  left: 0;
}
.ui-datepicker-header .ui-datepicker-next {
  right: 0;
}
.ui-datepicker-calendar {
  border-collapse: collapse;
  width: 100%;
}
.ui-datepicker-calendar th,
.ui-datepicker-calendar td {
  padding: 0.3em 0 0.6em;
}
.ui-datepicker-calendar th {
  font-size: 0.8em;
  font-weight: normal;
}
.ui-datepicker-calendar td {
  text-align: center;
  border: solid 1px #BDCCD4;
}
.ui-datepicker-calendar td.ui-datepicker-current-day {
  background-color: #00A0E9;
}
.ui-datepicker-calendar td.ui-datepicker-current-day a {
  color: #fff;
}
.ui-datepicker-calendar td.ui-datepicker-today {
  background-color: #F0F4F4;
}
.ui-datepicker-next:hover,
.ui-datepicker-prev:hover {
  cursor: pointer;
}
/********************************
 Scroll Hint
********************************/
.scroll_hint {
  display: none;
}
.is_mobile * :has( > .scroll_hint) {
  position: relative;
}
.is_mobile .scroll_hint {
  width: 200px;
  color: #28a0e9;
  font-size: 12px;
  text-align: center;
  background: #ffffffbd;
  padding: 10px 20px;
  transform: translateX(-50%);
  border: solid 2px #28a0e9;
  border-radius: 5px;
  position: absolute;
  top: 20px;
  left: 50%;
  animation: fadeOutAnime 1s ease 2s forwards;
}
.is_mobile .scroll_hint img {
  width: 50px;
  margin: 0 auto 10px;
}
@media (max-width: 1023px) {
  .is_mobile .scroll_hint {
    display: block;
  }
}
@keyframes fadeOutAnime {
  0% {
    opacity: 1;
    visibility: visible;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
/********************************
 Aert Message
********************************/
.alert_message {
  position: relative;
  font-size: 1.3671875rem;
  line-height: 1.5;
  background-color: #ffc7c7;
  padding: 2rem 0;
}
body.scrollbar:not(.is_mobile) .alert_message::before {
  content: "";
  width: 15px;
  height: 100%;
  position: absolute;
  top: 0;
  right: -15px;
  background-color: #ffc7c7;
}
.alert_message .container {
  justify-content: space-between;
}
.alert_message:has(+ .alert_message) {
  border-bottom: dotted 0.1rem #fff;
}
.alert_message .btn {
  width: 5.859375rem;
  margin-left: 2.60416667rem;
}
/********************************
 for Safari
********************************/
.btn[data-modal=modal_history] > div {
  position: relative;
}
/********************************
 Maintenance Mode
********************************/
.maintenance_mode::after {
  content: "メンテナンスモード中";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  font-size: 1.04166667rem;
  height: 1.30208333rem;
  text-align: center;
  background-color: #00ffe2;
  box-shadow: 0 -1px 3.25520833rem #000;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 3;
}
/********************************
 textarea + readonly + focus
********************************/
textarea:read-only:focus {
  outline: none;
  /* フォーカス時の枠線を消す */
  -webkit-user-select: none;
  /* Safari, Chrome */
  -moz-user-select: none;
  /* Firefox */
  -ms-user-select: none;
  /* IE */
  user-select: none;
  /* 標準 */
}
/********************************
 モーダル内ボタン 強制センタリング

 単独ボタンの場合は、ボタン要素にCSSクラス``.btn_position_center``を追加
  例）``<button class="btn btn_outline btn_position_center">``

 複数ボタンの場合は、ラップ要素にCSSクラス``.box_btn_center``を追加
 例）``<div class="box_btn box_btn_center">``
********************************/
.modal .btn_outline.btn_position_center {
  margin-left: auto! important;
  margin-right: auto! important;
}
.modal .box_btn.box_btn_center {
  display: flex! important;
  align-items: center! important;
  justify-content: center! important;
}
