:root {
  --max-orange: #FF6900;
  --max-orange-light1: #FFA500;
  --max-orange-light2: #FFD700;
  --max-black: #1F1F1F;
  --max-black-light1: #C8C8C8;
  --max-black-light2: #9E9E9E;
}

/* モーダルダイアログ表示時 padding-right が追加されてずれるので上書き */
body { padding-right: 0 !important }

/* スタイル上書き */
.app-header {
  height: 75px;
  flex-wrap: nowrap;
}

.app-header .logo > img {
  width: 130px;
  height: 65px;
  margin-left: 5px;
}

.app-header .news {
  width: 100%;
  position: relative;
}

.app-header .news textarea {
  width: 100%;
  border: 1px solid #d8d8d8;
  resize: none;
  height: 65px;
}

.app-header .news button {
  position: absolute;
  top: 15px;
  right: 30px;
}

.app-header .login-user {
  width: auto;
  margin-right: 20px;
  text-align: right;
}

.app-header .logout {
  margin-right: 20px;
}

.app-menu {
  padding-top: 1rem;
  padding-bottom: 0.8rem;
  background-color: #fff;
  text-align: left;
  position: fixed;
  z-index: 1010;
  width: 100%;
  top: 4.5rem;
}

.app-menu tr {
  margin-top: 0;
  margin-bottom: 0;
}

.app-menu td {
  display: inline;
  font-size: 18px;
  padding: 0rem 1rem;
  margin: 2rem 0.5rem;
  background-color: #B4C7E7;
  border: solid 1.5px #0070C0;
  border-radius: 20px;/*角の丸み*/
}

.app-menu td.active {
  display: inline;
  font-size: 18px;
  padding: 0rem 1rem;
  margin: 2rem 0.5rem;
  background-color: #0070C0;
  border: solid 1.5px #0070C0;
  border-radius: 20px;/*角の丸み*/
}

.app-menu td:hover {
  background-color: #0080FF	;
  border: solid 1.5px #0080FF	;
}

.app-menu a {
  color: #fff;
  text-decoration: none;
}

.app-submenu {
    /* padding-top: 1.75rem; */
    padding-bottom: 0.75rem;
    /* background-color: #c8ced3; */
    /* border-bottom: 1px solid #d8d8d8; */
    text-align: left;
    /* position: fixed; */
    z-index: 1020;
    width: 100%;
    top: 9rem;
    margin-top: -40px;
    margin-left: 30px;
}

.app-submenu-bottom {
  padding-bottom: 2.22rem;
}

.app-submenu tr {
  display: none;
}

.app-submenu tr.active {
  display: block;
  margin-top: 0;
  margin-bottom: 0;
}

.app-submenu td {
  display: inline-block;
  font-size: 15px;
  padding: 0rem 1rem;
  margin: 0.1rem 0.3rem;
  border: solid 1.5px #4D4D4D;
}

.app-submenu td.active {
  display: inline;
  font-size: 15px;
  padding: 0rem 1rem;
  margin: 2rem 0.5rem;
  background-color: #C8C8C8;
  border: solid 1.5px #4D4D4D;
}

.app-submenu td:hover {
  background-color: #C8C8C8;
  border: solid 1.5px #4D4D4D;
}

.app-submenu a {
  color: #23282c;
  text-decoration: none;
}

.app_projectmenu span:hover {
  background-color: var(--max-black-light1);
  border: solid 1.5px var(--max-black-light1);
}

.app_projectmenu span.active_project {
  background-color: var(--max-black-light1);
  border: solid 1.5px var(--max-black-light1);
}

.app_projectmenu a {
  color: #23282c;
  text-decoration: none;
}

/* PC用のヘッダースタイル */
@media only screen and (min-width: 801px) {
  /* PC用ヘッダー表示 */
  #global-navi{
    display: flex;
  }
  /* PC用ヘッダメニューエリア表示 */
  .app-menu{
    display: block;
  }
  /* PC用サブヘッダメニューエリア表示 */
  .app-submenu{
    display: block;
  }
  /* ハンバーガーメニュー非表示 */
  #hamburger-drawer {
    display: none;
  }
}

/* 横幅が狭い画面用のヘッダースタイル */
@media only screen and (max-width: 800px) {
  /* PC用ヘッダー非表示 */
  #global-navi{
    display: none;
  }
  /* PC用ヘッダメニューエリア非表示 */
  .app-menu{
    display: none;
  }
  /* PC用サブヘッダメニューエリア非表示 */
  .app-submenu{
    display: block;
  }
  .login-user{
    display : inline-block;
    position: fixed;
    right : 45px;
    top   : 13px;
    max-width: 45vw;
    overflow-wrap: break-word;
    text-align: right;
    vertical-align: middle;
  }
  /* ハンバーガーメニュー表示 */
  #hamburger-drawer {
    position: relative;
    display: block;
  }

  /* スタイル上書き */
  .header-fixed .app-body {
    margin-top: 75px;
  }
}

/* ここからハンバーガメニュー */

/*チェックボックス等は非表示に*/
.nav-unshown {
  display:none;
}

/*アイコンのスペース*/
#nav-open {
    display : inline-block;
    position: fixed;
    z-index : 3;
    right : 13px;
    top   : 16px;
    width : 42px;
    height: 42px;
    cursor: pointer;
    text-align: center;
    vertical-align: middle;
}

/*　ハンバーガーボタン　*/
#nav-open span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  left    : 6px;
  background : var(--max-orange);
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
#nav-open span:nth-child(1) {
  top: 10px;
}
#nav-open span:nth-child(2) {
  top: 20px;
}
#nav-open span:nth-child(3) {
  top: 30px;
}

/* ナビ開いてる時のハンバーガーボタンボタン */
#nav-input:checked ~ #nav-open span:nth-child(1),
#nav-input:checked ~ #nav-open span:nth-child(3) {
  width : 14px;
}
#nav-input:checked ~ #nav-open span:nth-child(1){
  -webkit-transform: translate(17px,5px) rotate(45deg);
  -moz-transform   : translate(17px,5px) rotate(45deg);
  transform        : translate(17px,5px) rotate(45deg);
}
#nav-input:checked ~ #nav-open span:nth-child(3){
  -webkit-transform: translate(17px,-5px) rotate(-45deg);
  -moz-transform   : translate(17px,-5px) rotate(-45deg);
  transform        : translate(17px,-5px) rotate(-45deg);
}

/*閉じる用の薄黒カバー*/
#nav-close {
    display: none;/*はじめは隠しておく*/
    position: fixed;
    z-index: 99;
    top: 0;/*全体に広がるように*/
    left: 0;
    width : -webkit-calc(100% - 330px);
    width : calc(100% - 330px);
    height: 100%;
    background: black;
    opacity: 0;
    transition: .4s ease-in-out;
}

/* ハンバーガーメニューのコンテンツ */
#nav-content {
    overflow: auto;
    position: fixed;
    top: 75px;
    right: 0;
    z-index: 9999;/*最前面に*/
    width: 90%;/*左側に隙間を作る*/
    max-width: 330px;/*最大幅*/
    height : -webkit-calc(100% - 75px);
    height : calc(100% - 75px);
    background: #fff;/*背景色*/
    transition: .4s ease-in-out;/*滑らかに表示*/
    -webkit-transform: translateX(100%);
    transform: translateX(100%);/*右に隠しておく*/
}

/*チェックが入ったらもろもろ表示*/
#nav-input:checked ~ #nav-close {
    display: block;/*カバーを表示*/
    opacity: .5;
}

#nav-input:checked ~ #nav-content {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);/*中身を表示*/
    box-shadow: 6px 0 25px rgba(0,0,0,.15);
}

/* ここまでハンバーガメニュー */

/* PC用のフッタースタイル */
@media only screen and (min-width: 801px) {

.max-footer-fixed .app-footer {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1020;
  height: 50px;
}

.max-footer-fixed .app-body {
  margin-bottom: 28px;
  min-height: 671.5px;
}

.app-footer div{
  overflow: hidden;
  margin-right: auto;
  margin-left: auto;
}

.app-footer ul{
  list-style: none;
  padding: 0;
}

.app-footer li {
  float: left;
  padding-right: 0.5rem;
  padding-left: 0.5rem;
  list-style-type: none;
}

.app-footer li:not(:last-child) {
  border-right: 1px solid #d8d8d8;
}

}

/* 横幅が狭い画面用のフッタースタイル */
@media only screen and (max-width: 800px) {

  .app-footer {
    text-align: center;
    padding: 0;
  }

  .app-footer ul{
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .app-footer div{
    width: 100%;
  }

  .app-footer li {
    border-bottom: 1px solid #d8d8d8;
    padding-top: 5px;
    padding-bottom: 5px;
  }

  .app-footer li:last-child {
    padding-bottom: 30px;
  }

}

.overflow-y_scroll {
  overflow-y: scroll;
}

.overflow-x_auto {
  overflow-x : auto;
  white-space: nowrap;
}

.dropdown {
  cursor: pointer;
}

.project_list {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1030;
  display: none;
  float: left;
  min-width: 10rem;
  max-width: 10rem;
  padding: 0 0;
  margin: 0.125rem 0 0;
  font-size: 0.875rem;
  color: #23282c;
  text-align: left;
  list-style: none;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #c8ced3;
  border-radius: 0.25rem;
}

.item-column-orange {
  background-color: var(--max-orange-light1);
}

.btn-radius {
  border-radius: 20px;
}

.font-size-small {
  font-size: 0.8em;
}

.font-size-little {
  font-size: 0.7em;
}

.font-size-tiny {
  font-size: 0.5em;
}

.nowrap {
  display: table-cell;
  vertical-align: top;
  white-space: nowrap;
}

.nav-nowrap {
  flex-wrap: nowrap !important;
}

.text-indent-1 {
  text-indent: 1em;
}

.text-indent-2 {
  text-indent: 2em;
}

.text-indent-3 {
  text-indent: 3em;
}

ol.bracket, ol.half-bracket, ol.hyphen {
  padding: 0 0 0 2em;
  margin: 0;
}

ol.bracket > li {
  list-style-type: none;
  list-style-position: inside;
  counter-increment: cnt_bra;
}

ol.half-bracket > li {
  list-style-type: none;
  list-style-position: inside;
  counter-increment: cnt_half;
}

ol.hyphen > li {
  list-style-type: none;
  list-style-position: inside;
}

ol.bracket > li:before {
  display: marker;
  content: "("counter(cnt_bra) ") ";
}

ol.half-bracket > li:before {
  display: marker;
  content: counter(cnt_half) ") ";
}

ol.hyphen > li:before {
  display: marker;
  content: "-";
}

.agreement {
  height: 550px;
  overflow-y: scroll;
}

.input-date {
  min-width: 100px;
  max-width: 100px;
}

.input-datetime-interval {
  min-width: 100px;
  max-width: 100px;
}

.input-update-interval {
  min-width: 50px;
  max-width: 50px;
}

.dropdown-item {
  white-space: normal !important;
  word-break: break-all;
}

.table-layout-fixed {
  table-layout: fixed;
  overflow-wrap: break-word;
}

.multi-line-btn {
  white-space: pre-line;
  align-items: center;
  justify-content: center;
}

.max-menu {
    position: absolute;
    top: 50px;
    right: 10px;
    display: flex;
    gap: 8px;
    font-size: 16px;
}

.max-menu a {
    padding: 0.5rem 0.5rem 0.5rem;
    text-decoration: none;
    display: block;
    border: solid 1px #4D4D4D;
    border-radius: 10px;/*角の丸み*/
}

.max-menu a:hover {
    color: #000 !important;
    text-decoration: none;
    background: #C8C8C8;
}

.pre_terms {
	font-size: 0.875rem;
	white-space: pre-wrap;
}

.table_terms {
	width: auto;
}
