
/* 変数定義 
:root {
  # デフォルトフォントサイズ 
  --default-font-size: 16px;
  # ヘッダ高さ 
  --header-height: 50px;
  # ナビゲーションメニュー幅 
  --nav-width: 240px;
  # メニューアイテムサイズ 
  --menu-item-size: 30px;
  # メニューラベルフォント色 
  --menu-label-font-color: #fff;
  # メイン高さ 
  --main-height: calc(100% - var(--header-height));
  # メイン幅 
  --main-width: calc(100% - var(--nav-width));
}
*/

::-webkit-scrollbar {
    width: 10px;
}
::-webkit-scrollbar-track {
  border-radius: 10px;
  box-shadow: inset 0 0 5px rgba(0, 0, 0, .15);
}
::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 50, .25);
  border-radius: 10px;
  box-shadow:0 0 0 1px rgba(255, 255, 255, .3);
}

/* 全ての要素においてパディングと線を幅と高さに含める */
* {
  box-sizing: border-box; }

/* フォーカスやアクティブ状態になったときにデフォルトの下線を表示しない */
:focus, :active {
  outline: none; }

html {
  font-size: 13px; }

body {
  margin: 0;
  /* 2025/1/15 KATO DEL START*/
  /*font-family: 'Lato';
  font-style: normal;
  font-weight: 300;
  src: url(https://fonts.gstatic.com/s/lato/v24/S6u9w4BMUTPHh7USSwaPGR_p.woff2) format('woff2');
  font-size: 0.865rem;
  line-height: 1.42857143;
  color: #666;*/
  /* 2025/1/15 KATO DEL END*/
  font-family: "Open Sans", sans-serif;
  background: #fff;
  color: #444444;
}
  
html, body {
  height: calc(100% - 50px); }

th { 
  text-align: center; }

dl, ol, ul {
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin-inline-start: 0px;
  margin-inline-end: 0px; }

.color-reverse {
  color: #fff !important; }

#exec-timer {
  display: none; }

/* ヘッダ要素 */
header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;

  width: 100%;
  height: 50px;

  background: #eee;
  box-shadow: rgba(0, 0, 0, 0.5) 0 -20px 20px 20px; }
  
.header_firebrick {
  background: #000000 !important; }
.header_user {
  /*background: #5d7998 !important; }*/
  background: #0050a0 !important; }
.header_partner {
  background: #aecde7 !important; }
.header_escalation {
  background: #314351 !important; }
.header_kel {
  background: #6c757d !important; }

  
/* ヘッダアイコン */
  header .icon {
    display: block;
    width: 50px;
    height: 50px;
    padding: 0;
    background: none;
    border: 0;
    text-align: center;
    float: left; }

    .icon i {
      display: block;
      line-height: 50px;
      font-size: 18px; }

/* ヘッダタイトル */
  header h1 {
    margin: 0;
    padding: 0 5px;
    height: 50px;
    line-height: 50px;
    font-weight: 400;
    font-size: 15px;
    float: left; }
  
header #info_display {
    display: block;
    position: absolute;
    right: 305px;
    bottom: 7px;
    font-size: 1em; }

 header #login_user_display {
    display: block;
    position: absolute;
    right: 15px;
    bottom: 5px;
    font-size: 1em; }
  
  header #company_display {
    display: block;
    position: absolute;
    right: 5px;
    bottom: 25px;
    font-size: 1em; }


/* ナビゲーション要素 */
/* html 読み込み時に javascript 上にて設定
#vertical_nav , #main {
  -moz-transition: all 0.5s ease-out;
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out; }
*/
#vertical_nav , #main {
  visibility: hidden; }
#vertical_nav , #main {
  transition: none; }

#vertical_nav {
  position: fixed;
  left: -240px;
  top: 50px;
  bottom: 0px;
  min-width: 240px;
  background: #f9f9f9;
  overflow-y: auto;
  z-index: 998; }
  
.vertical_nav_blue {
  background: #000080 !important; }
.vertical_nav_green {
  background: #00ACA7 !important; }
.vertical_nav_gray {
  background: #8f8f8f !important; }
/*.vertical_nav_gray #b4b4b4*/
.vertical_nav_esc {
  background: #ecebea !important; }

.vertical_nav__closed {
  left: -240px !important; }

.toggle-menu {
  cursor: pointer; }

#menu {
  position: absolute;
  top: 0;
  bottom: 0;
  overflow-y: auto;
  width: 100%;
  margin: 0;
  padding: 20px 0 0 0;
  list-style-type: none; }

.menu--section {
  position: relative;
  padding: 10px 0; }

.menu--section-title {
  position: relative;
  display: block;
  padding: 5px 8px;
  font-weight: 700; }

.menu--item {
  position: relative;
  min-height: 30px;
  color: #000;
  line-height: 30px; }

.menu--item__has_sub_menu .menu--link:after {
  height: 30px;
  line-height: 30px; }

.menu--link {
  display: block;
  overflow: hidden;
  font-size: 0.9rem;
  color: #000;
  text-decoration: none;
  font-weight: 400;
  white-space: nowrap;
  cursor: pointer; }
  
.sub_menu--item {
  padding-left: 5px; }

.sub_menu--link { 
  padding-right: 8px;
  font-size: 0.72rem;
  color: #000; }

.none--icon {
  margin-left: 37.5px;}
  
.menu--label {
  display: block;
  height: 30px;
  line-height: 30px;
  font-weight: 600; }
  
.menu--label-wrap {
  display: block;
  height: 16px;
  line-height: calc(16px / 2);
  padding-right: 15px;
  text-align: right; }

.menu--icon {
  display: block;
  float: left;
  width: 37.5px;
  height: 16px;
  line-height: 25px;
  font-size: 18px; }

div.spacer {
  margin: 20px 0px; }

/* メインコンテンツ要素 */
  
#main {
  position: absolute;
  width: 100%;
  height: calc(100% - 60px);
  top: 50px;
  left: 0;
  padding: 15px 30px;
  overflow-y: auto; }
  
.toggle-content {
  left: 240px !important;
  width: calc(100% - 240px) !important; }

.clearfix:after {
  content: "";
  display: block;
  clear: both;
}


#main_title {
  margin-top: 1px;
  font-size: 1.3em;
  font-weight: 700; }

/* 編集項目 */
.edit_btn {
  position: relative;
  display: inline-block;
  font-weight: bold;
  margin: 0.1 0.1;
  padding: 0.1 0.1;
  text-decoration: none;
  border: none;
  color: #778899;
  background: #fff;
  cursor: pointer; }
.edit_btn:before {
  position: absolute;
  content: '';
  width: 100%;
  height: 2px;
  top: 100%;
  left: 0;
  border-radius: 3px;
  background: #778899;
  transition: .2s; }
.edit_btn:hover:before {
  top: -webkit-calc(100% - 3px);
  top: calc(100% - 3px); }
.edit_btn:disabled {
  color: #dcdcdc;
  cursor: default; }
.edit_btn:disabled:before {
  background: #dcdcdc; }
.edit_btn:disabled:hover:before {
  top: 100%; }

.edit_update_btn {
  position: relative;
  display: inline-block;
  font-weight: bold;
  margin: 0 0;
  padding: 0 0;
  text-decoration: none;
  border: none;
  color: #000;
  background: #7da4cd;
  cursor: pointer; }

.edit_update_diabled_btn {
  position: relative;
  display: inline-block;
  font-weight: bold;
  margin: 0.5em 0.25em;
  padding: 0.25em 0;
  text-decoration: none;
  border: none;
  color: #636262;
  background: #7da4cd;
  cursor: pointer; }

#page_refresh_btn {
  position: absolute;
  top: 8px;
  right: 20px; }
  
.edit_box {
  position: relative;
  margin: 2.5em 0 0.5em 0;
  padding: 0.5em 1em;
  border: solid 3px #888888; }
.edit_box .edit_box_title {
  position: absolute;
  display: inline-block;
  top: -27px;
  left: -3px;
  padding: 0 9px;
  height: 25px;
  line-height: 25px;
  font-size: 13px;
  background: #888888;
  color: #ffffff;
  font-weight: bold;
  border-radius: 5px 5px 0 0; }
.edit_box .edit_box_contents {
  margin: 0; 
  padding: 0; }
  
@keyframes tabAnim{
  0%{opacity:0;}
  100%{opacity:1;}
}

@keyframes add_tab_property {
  0% {
    visible: true;
    opacity: 0%;
  }
  100% {
    opacity: 100%;
  }
}

tr.tab_properties:hover {
  background-color: transparent !important;
  cursor: default !important; }
tr.no-records-found {
  pointer-events: none; }
td.tab_properties {
  animation: add_tab_property 0.3s ease-out;
  padding: 0;
  padding-left: 15px;
  padding-right: 15px;
  border-right-style: none;
  border-left-style: none; }
td.tab_properties:last-child {
  border-bottom-style: none; }
td.tab_properties .tab_wrap {
  margin: 0; }
td.tab_properties .tab_area {
  margin: 0;
  border-left: 1px solid #dcdcdc;
  text-align: left; }
td.tab_properties .tab_area label {
  margin: 0;
  padding: 2px 10px;
  border-right: 1px solid #dcdcdc;
  border-top-left-radius:0px; border-top-right-radius:0px; }
td.tab_properties .panel_area {
  margin-bottom:15px;
  border: 2px solid #dcdcdc; }
td.tab_properties .tab_panel {
  padding: 0 10px 10px 10px;
  text-align: left; }
td.tab_properties .tab_panel  div.box {
  height: 150px;
  padding: 3px;
  overflow-y: auto; }
td.tab_properties >  div.box {
  height: 250px;
  padding: 0 15px;
  margin-bottom: 15px;
  overflow-y: auto;
  background:#f8f8f8;
  border: 2px solid #dcdcdc;
  border-bottom-right-radius:10px;
  border-bottom-left-radius:10px; }

.tab_wrap{
  width:100%;
  min-width:500px;
  margin:0px auto; }
.tab_area{
  font-size:0; margin:0 5px; }
.tab_area label{
  display: inline-block;
  min-width: 100px;
  margin:10px 5px 0;padding:6px 10px;
  color:#888; background:#ddd;
  text-align:center; font-size: 1rem; font-weight: 500; cursor:pointer; transition:ease 0.2s opacity;
  border-top-left-radius:10px; border-top-right-radius:10px; vertical-align:bottom; transition:ease 0.2s; }
.tab_area label:hover{
  opacity:0.5; }
.panel_area{
  background:#fff;
  border: 2px solid #888;
  border-bottom-right-radius:10px;
  border-bottom-left-radius:10px; }
.tab_panel{
  width:100%; padding: 15px; display:none; font-size: 1.0rem; }

.tab_area label.active{
  color:#fff;
  background:#888; }
.tab_panel.active{
  display:block;
  animation:tabAnim ease 0.6s forwards; -ms-animation:tabAnim ease 0.6s forwards; }

.anim_none{
  width:100%; padding: 15px; display:none; font-size: 1.0rem; }
.anim_active{
  display:block;
  animation:tabAnim ease 0.6s forwards; -ms-animation:tabAnim ease 0.6s forwards; }

#s_s_dialog {
  transition: all 0.3s ease-out;
  display: none;
  position: fixed;
  top: 50px;
  left: 240px;
  width: calc(100% - 240px);
  height: calc(100% - 50px); }
#s_s_back {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.5;
  z-index: 900; }
#s_s_body {
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  width: 75%;
  height: 80%;
  border-radius: 6px 6px 6px 6px;
  background: #fff;
  box-shadow: 6px 6px 6px rgba(0,0,0,0.4);
  margin: auto;
  padding: 15px;
  z-index: 901; }
.s_s_contents_main {
  width: 100%;
  height: 100%;
  padding: 5px; }
.s_s_contents_main_title {
  font-size: 1.5em;
  font-weight: 800; }
.s_s_contents_main_body {
  padding: 0 10px 20px 10px;
  min-width: 300px;
  height: calc(100% - 75px);
  overflow-y: auto;
  border: thick double }
.s_s_contents_main_item {
  margin: 2px; }
.s_s_contents_main_item_description {
  font-size: 1.05em;
  font-weight: 600;
  margin: 5px 0; }
.s_s_contents_main_item_group_title {
  font-size: 1.25em;
  font-weight: 600;
  margin: 20px 0 10px 0; }
.s_s_contents_main_item_body {
  min-height: 1em;
  margin: 0 10px; }
.s_s_contents_main_item_body_right {
  margin-top: 10px;
  margin-right: -10px;
  text-align: right; }
#s_s_close {
  position: absolute;
  top: -16px;
  right: -20px;
  margin: 0 0;
  padding: 0 5px;
  font-size: 2.1em;
  border: outset 4px;
  border-radius: 25px 25px 25px 25px;
  background: #fff;
  color: #aaa;
  line-height: 28px;
  text-decoration: none;
  text-align: center;
  cursor: pointer; }
.s_s_ok_btn {
  display: inline-block;
  padding: 0.5em 1em;
  text-decoration: none;
  border: none;
  color: #FFF;
  background-image: linear-gradient(#6795fd 0%, #67ceff 100%);
  transition: .4s;
  cursor: pointer; }
.s_s_ok_btn:hover {
  background-image: linear-gradient(#6795fd 0%, #67ceff 70%); }
.s_s_ok_btn:disabled {
  background-image: linear-gradient(#dcdcdc 0%, #e5e5e5 100%);
  cursor: default; }
.s_s_ok_btn:disabled:hover {
  background-image: linear-gradient(#dcdcdc 0%, #e5e5e5 100%); }
.s_s_cancel_btn {
  display: inline-block;
  padding: 0.5em 1em;
  text-decoration: none;
  border: none;
  color: #FFF;
  background-image: linear-gradient(#8e8e8e 0%, #a8a8a8 100%);
  transition: .4s;
  cursor: pointer; }
.s_s_cancel_btn:hover {
  background-image: linear-gradient(#8e8e8e 0%, #a8a8a8 70%); }
.s_s_cancel_btn:disabled {
  background-image: linear-gradient(#dcdcdc 0%, #e5e5e5 100%);
  cursor: default; }
.s_s_cancel_btn:disabled:hover {
  background-image: linear-gradient(#dcdcdc 0%, #e5e5e5 100%); }

.s_s_sub_dialog {
  transition: all 0.3s ease-out;
  display: block;
  position: fixed;
  top: 50px;
  left: 240px;
  width: calc(100% - 240px);
  height: calc(100% - 50px); }
.s_s_sub_contents {
  width: 100%;
  height: 100%; } 
.s_s_sub_back {
  position: absolute;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.5;
  z-index: 905; }
.s_s_sub_body {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100px;
  height: 100px;
  border-radius: 6px 6px 6px 6px;
  background: #fff;
  box-shadow: 6px 6px 6px rgba(0,0,0,0.4);
  margin: auto;
  padding: 15px;
  z-index: 906; }
.s_s_sub_bar {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 15px;
  border-radius: 6px 6px 0 0;
  background: #dcdcdc; }
.s_s_sub_close {
  position: absolute;
  top: -16px;
  right: -16px;
  margin: 0 0;
  padding: 0 5px;
  font-size: 1.5em;
  border: outset 3px;
  border-radius: 25px 25px 25px 25px;
  background: #fff;
  color: #aaa;
  line-height: 28px;
  text-decoration: none;
  text-align: center;
  cursor: pointer; }
  
.s_s_tbl_keyinput {
  position: absolute;
  z-index: -10;
  height: 0;
  border: none; }

.s_s_tbl {
  width: 100%;
  border-collapse: collapse; }
.s_s_tbl th, .s_s_tbl td {
  border: solid 1px #899198; }
.s_s_tbl tbody tr:hover {
  background: #f2f7ff;
  cursor: pointer; }
.s_s_tbl_selected {
  background: #e5efff !important; }
.s_s_tbl_right {
  text-align: right; }
.s_s_tbl_center {
  text-align: center; }
  
  
/* 部品、定義、その他 */
.flex > div {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  -moz-flex-items: center;
  -ms-flex-items: center;
  -o-flex-tems: center;
  align-items: center;
}


.contents_title {
  display: flex;
  align-items: center;
  font-size: 1.15em;
  font-weight: 600; }

.contents_title:after {
  content: "";
  flex-grow: 1;
  display: block;
  height: 1px;
  margin-left: 1em;
  background: #888; }

.balloon-left {
  display: inline-block;
  position: relative; 
  margin: 0 0 0 50px;
  padding: 10px;
  max-width: 80%;
  border-radius: 12px;
  background: #edf1ee;
  text-align: left;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: #000000;
}

.balloon-left {
  margin: 0.5em 0 1.5em 15px; }

.balloon-left:after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 3px; 
  left: -19px;
  border: 8px solid transparent;
  border-right: 18px solid #edf1ee;
  -webkit-transform: rotate(35deg);
  transform: rotate(35deg);
  transform-origin: right;
}

.balloon-right {
  display: inline-block;
  position: relative; 
  margin: 0 10px 0 0;
  padding: 8px;
  max-width: 80%;
  border-radius: 12px;
  background:  #9bee8c;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}

.balloon-right {
  margin: 1.5em 2.0em 1.5em 15px; }

.balloon-right:after {
  content: "";
  position: absolute;
  top: 3px; 
  right: -19px;
  border: 8px solid transparent;
  border-left: 18px solid  #9bee8c;
  -webkit-transform: rotate(-35deg);
  transform: rotate(-35deg);
  transform-origin: left;
}

.balloon-left > p, .balloon-right > p {
  text-align: left;
  margin: 0;
  padding: 0;
  white-space: pre-wrap;
}

.speechBubble {
  position: relative;
  display: inline-block;
  margin-left: 16px;
  padding: 16px;
  border-radius: 12px;
  background-color: #9bee8c;
  text-align: left;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: #000000;
}

.element_left {
  width: 100%;
  height: 100%;
  text-align: left; }

.element_left .faceicon {
  float: left;
  margin-right: -50px;
  width: 40px; }
  
.element_left .faceicon img{
  width: 100%;
  height: auto;
  border-radius: 50%; }
  
.element_right {
  width: 100%;
  height: 100%;
  text-align: right; }

.switch-button {
  background-color: #fff;
  width: 400px;
  height: 40px;
  text-align: center;
  will-change: transform;
  z-index: 197 !important;
  cursor: pointer;
  -webkit-transition: .3s ease all;
  transition: .3s ease all;
  border: 1px solid #000;
}
.switch-button-case {
  display: inline-block;
  background: none;
  width: 49%;
  height: 100%;
  color: black;
  position: relative;
  border: none;
  -webkit-transition: .3s ease all;
  transition: .3s ease all;
  text-transform: uppercase;
  letter-spacing: 5px;
  padding-bottom: 1px;
}
.switch-button-case:hover {
  color: grey;
  cursor: pointer;
}
.switch-button-case:focus {
  outline: none;
}
.switch-button .active {
  color: #151515;
  background-color: #fdd49a;
  position: absolute;
  left: 0;
  top: 0;
  width: 50%;
  height: 100%;
  z-index: -1;
  -webkit-transition: .3s ease-out all;
  transition: .3s ease-out all;
}
.switch-button .active-case {
  color: #151515;
}

.midashi1 {
  padding: 5px 10px;
  border-bottom: 3px dashed #000;
  background-color: #fff8dc; }
  

.b--orange {
  display: inline-block;
  position: relative;
  font-weight: 700;
  color: #fff;
  background-color: #000080;
  margin-bottom: 3px;
  padding: 0.5em 15px;
  vertical-align: middle;
  text-align: center;
  line-height: 1.5;
  user-select: none;
  border-radius: 0.5rem; }

div.p_list {
  position: relative;
  padding: 0; }

div.p_list div.li {
  width: 100%;
  padding: 0.5em;
  line-height: 1.5;
  border-left: solid 6px #12a37ea8;
  background: #80deea40;
  color: #1a237e; }

div.p_list div.value {
  width: 100%;
  padding: 0.5em;
  line-height: 1.5;
  border-left: solid 6px #12a37ea8;
  background: #00000010;
  color: #1a237e; }

.flex {
  display: flex;
  flex-flow: row wrap; }

.flex > div {
  flex-basis: calc(50% - 10px);
  margin: 5px; }

button.icon--btn {
  width: 32px;
  height: 32px;
  background-color: grey;
  border-radius: 10px; }

.search_input {
  width: 100%;
  height: 32px;
  border-radius: 8px; }

/* ===========================
 汎用ボタン
 =============================*/
.common-btn {
  display: inline-block;
  border: none;
  cursor: pointer;
  font-size: 0.98em;
  outline: none;
  padding: 6px 8px;
  appearance: none;
  border: solid 1px #858585;
  border-radius: 4px;
  background: #efefef;
  transition: 0.3s;
}

.common-btn:hover {
    background: #f7f7f7;
}

.common-btn:active {
    background: #bebebe;
    box-shadow: 0.5px 0.5px 0.5px 0.5px inset #666;
}

.common-btn:focus {
  box-shadow: 0 0 4px #004AA1;
}

/* ===========================
 selectbox
 =============================*/
select {
  padding: 4px 8px;
  border-radius: 5px;
  border: solid 1px #858585;
}

.select-box select {
  border: none;
  outline: none;
  background-image: none;
  box-shadow: none;
  background-color: #fff;
  
  height: 2.2em;
  padding: 0 calc(35px + 8px) 0 8px;
  vertical-align: middle;
}

.select-box {
  position: relative;
  border: 1px solid #b5b5b5;
  border-radius: 5px;
}

.select-box::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 35px;
  height: 100%;
  content: '';
  border: solid 1px #000080;
  border-radius: 0 5px 5px 0;
  background: #000080;
  pointer-events: none;
}

.select-box::before {
  position: absolute;
  z-index: 2;
  top: 0.25em;
  right: 0.7em;
  width: 10px;
  height: 10px;
  content: '';
  border-right: 4px solid #fff;
  border-bottom: 4px solid #fff;
  transform: rotate(45deg);
  pointer-events: none;
}

select:focus {
  box-shadow: 0 0 4px #004AA1;
}

select option {
  background: #fff;
  margin: 0 -8px;
  padding: 3 20px;
  transition: 0.5s;
}

select option:checked {
  background: #314351;
  color: #fff;
}


/* ===========================
    input,textarea 
 =============================*/
input[type="text"], input[type="mail"], input[type="number"], input[type="password"],
input[type="email"], input[type="date"], input[type="datetime-local"], input[type="month"],
input[type="search"], input[type="tel"], input[type="time"], input[type="url"],
input[type="week"], input[type="datetime"], 
textarea, .txt-box {
  display: inline-block;
  padding: 6px 6px;
  border-radius: 3:px;
  border: solid 1px #858585;
}

input[type="text"]:focus, input[type="mail"]:focus, input[type="number"]:focus, input[type="password"]:focus,
input[type="email"]:focus, input[type="date"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus,
input[type="search"]:focus, input[type="tel"]:focus, input[type="time"]:focus, input[type="url"]:focus,
input[type="week"]:focus, input[type="datetime"]:focus, 
textarea:focus, .txt-box:focus {
  box-shadow: 0 0 4px #004AA1;
}

textarea {
  line-height: 1.6em;
  overflow: auto;
  resize: none;
}

/* ===========================
    radio-button
 =============================*/
input[type="radio"].common-radio {
  filter: alpha(opacity=0);
  -moz-opacity:0;
  opacity:0;
  -webkit-appearance: none;
  appearance: none;
  position: absolute;
}

input[type="radio"].common-radio + label.common-radio {
  position: relative;
  margin-bottom: 0;
  padding: 3px 3px 3px 30px;
  cursor: pointer;
  width: auto;
  border-bottom: 0px solid #0171bd;
  transition: 0.2s;
}

input[type="radio"].common-radio + label.common-radio:hover {
  padding-bottom: 0px;
  border-bottom: 3px solid #0171bd;
}

input[type="radio"].common-radio + label.common-radio::before {
  content: "";
  display: block;
  position: absolute;
  top: 4px;
  left: 5px;
  width: 1.2em;
  height: 1.2em;
  border: solid 1px #000080;
  border-radius: 50%;
  background: #fff;
  transition: 0.5s;
}

input[type="radio"].common-radio:checked + label.common-radio::before {
  background: #000080;
}

input[type="radio"].common-radio + label.common-radio::after {
  content: "";
  display: block;
  position: absolute;
  top: 8px;
  left: 9.5px;
  width: 0.6em;
  height: 0.6em;
  opacity: 0;
  background: #fff;
  border-radius: 50%;
  transition: 0.5s;
}

input[type="radio"].common-radio + label.common-radio:hover:after {
  border-color: #0171bd;
}

input[type="radio"].common-radio:checked + label.common-radio::after {
  opacity: 1;
}

input[type="radio"].common-radio:focus + label.common-radio::before {
  box-shadow: 0 0 4px #004AA1;
}

/* ===========================
    check-box
 =============================*/

input[type="checkbox"].common-chk {
  filter: alpha(opacity=0);
  -moz-opacity:0;
  opacity:0;
  -webkit-appearance: none;
  appearance: none;
  position: absolute;
}

input[type="checkbox"].common-chk + label.common-chk {
  position: relative;
  margin-bottom: 0;
  padding: 3px 3px 3px 30px;
  cursor: pointer;
  width: auto;
  border-bottom: 0px solid #0171bd;
  transition: 0.2s;
}

input[type="checkbox"].common-chk + label.common-chk:hover {
  padding-bottom: 0px;
  border-bottom: 3px solid #0171bd;
}

input[type="checkbox"].common-chk + label.common-chk::before {
  content: '';
  display: block;
  position: absolute;
  top: 4px;
  left: 5px;
  width: 1em;
  height: 1em;
  border: solid 1px #000080;
  border-radius: 4px;
  background: #fff;
}

input[type="checkbox"].common-chk + label.common-chk::after {
  content: '';
  display: block;
  position: absolute;
  top: 1px;
  left: 10px;
  width: 7px;
  height: 14px;
  transform: rotate(40deg);
  opacity: 0;
  border-bottom: 3px solid #000080;
  border-right: 3px solid #000080;
  transition: 0.5s;
}

input[type="checkbox"].common-chk + label.common-chk:hover:after {
  border-color: #0171bd;
}

input[type="checkbox"].common-chk:checked + label.common-chk::after {
  opacity: 1;
}

input[type="checkbox"].common-chk:focus + label.common-chk::before {
  box-shadow: 0 0 4px #004AA1;
}

/*KMS-2 おしらせ・手順書のNewマーク表示させる為のクラス*/
.menuList{
  background     : #ff0000;
  color          : #ffffff;
  font-weight    : bold;
  font-size      : 8pt;
  letter-spacing : -1px;
  line-height    : 30px;
  height         :30px;
  vertical-align : top;
  margin         : 0;
  padding        : 3px;
  border-radius  : 3px;
  margin-left    : 5px;
}

/*KMS-2 点滅させる為のクラス*/
.custom-blink{
  animation: blink-slow 3s infinite;
}

@keyframes blink-slow {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

/*KMS-3 Baudge*/

#icon{
  width: 13px;
  height: 13px;
  background-color: #fff;
  border-radius: 12px;
  position: relative;
  margin: 20px;
}
#icon[data-num="0"]::before {
  display: none;
}
#icon::before {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    content: attr(data-num);
    min-width: 20px;
    height: 20px;
    box-sizing: border-box;
    padding: 4px;
    font-size: 15px;
    font-weight: bold;
    background-color: #ef5350;
    border: 1px solid #fff;
    border-radius: 10px;
    top: 0;
    right: 0;
    transform: translate(40%, -40%);
    z-index: 1;
}

/*KMS 2025-04-30 お知らせ機能追加CSS*/  
.collapse-info {
  margin:0 auto;
  display:block;
  font-size:0.9rem;
  padding: 2px;
  width: 220px;
  color: #fff !important;
  background: #7f7f7f;
  box-shadow: none !important;
  margin-bottom: 3px;
}
.past-info{
  color: #727272 !important;
}

.info-badge{
  margin-left: 3px;
  border-radius: 4px;
  box-shadow: 0 2px 2px rgba(0, 0, 0, .4);
  padding: 2px 6px;
  overflow: hidden;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
}

.form-control {
  border-radius: 0 !important;
}

.input-group-text{
  border-radius: 0 !important;
}

.kms-danger-badge{
  display: inline-block;
  padding: 0.25em 0.4em;
  font-size: 60%;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.25rem;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  color: #212529;
  background-color: #dc3545;
  color:#fff;
  margin-left: 3px;
}

.badge-orange {
  color: #daa520;
}
