@charset "utf-8";

/*ユーザーページ*/

/*==========================================================
                        PC用設定
==========================================================*/
/*==========================================================
                         基本設定
==========================================================*/
html {
  height: 100%;
}

body {
  margin: 0;
  padding: 0;
  margin: 0 auto;
  width: 100%;
  height: 100%;
  text-align: center;
  color: RGBA(255,255,255,1);
  font-size: 20px;
  font-family:'メイリオ', 'Meiryo', sans-serif;
  /* ベンダープレフィックス（Chrome、Safari向け）*/
  background: -webkit-linear-gradient(0deg, #757575 0%, #9E9E9E 45%, #E8E8E8 70%, #9E9E9E 85%, #757575 90% 100%);
  /* ベンダープレフィックス（Firefox向け）*/
  background: -moz-linear-gradient(0deg, #757575 0%, #9E9E9E 45%, #E8E8E8 70%, #9E9E9E 85%, #757575 90% 100%);
  background: linear-gradient(0deg, #757575 0%, #9E9E9E 45%, #E8E8E8 70%, #9E9E9E 85%, #757575 90% 100%);
  background-attachment: fixed;
  /* フッターを画面下に固定(#wrapでも関連設定あり) */
  display: flex;
  flex-flow: column;
  min-height: 100vh;

}


p {
  color:black;
  margin: 0;
}

.modal-text{
  color:white;

}

/*==========================================================
           全ページ共通パーツ設定(ボタン・テキストBOXなど)
==========================================================*/
/*
ボタンタイプ
----------------------------------------------------------*/
input[type="submit"] {
    color: RGBA(255,255,255,1);
    font-size: 19px;
    font-family:'メイリオ', 'Meiryo', sans-serif;
    background-color: #2F5597;
    width: 220px;
    height: 50px;
    text-align: center;
    border-radius: 6px;
    margin: 5px;
}

input[type="submit"]:hover {
  text-decoration: none;
  color: RGBA(0,191,255,1);
  background-color: RGBA(255,255,255,1);
}

.button1 {
    color: RGBA(255,255,255,1);
    font-size: 19px;
    font-family:'メイリオ', 'Meiryo', sans-serif;
    background-color: #2F5597;
    width: 220px;
    height: 50px;
    text-align: center;
    border-radius: 6px;
    border: 4px solid RGBA(0,191,255,1);
    margin: 5px;
}

.button1:hover {
  text-decoration: none;
  color: RGBA(0,191,255,1);
  background-color: RGBA(255,255,255,1);
}

/*
ファイル読み込み
----------------------------------------------------------*/
input[type="file"] {
    margin-top: 5px;
    margin-bottom: 5px;
    font-size: 14px;
    width: 300px;
    height: 28px;
    text-align: center;
    background: RGBA(255,255,255,0.1);
    border: 1px solid black;
    color: black;
}


/*
プルダウンリストを整形
----------------------------------------------------------*/
.place_select {
    font-size: 17px;
    width: 220px;
    height: 30px;
    border: 2px solid black;
}


/*
新規ユーザー追加画面名前（日本語）入力ボックス
----------------------------------------------------------*/
.name_text .inputbox {
    margin:5px 0 ;
    font-size: 14px;
    width: 220px;
    height: 20px;
    vertical-align: middle;
    border: 2px solid black;
}

/*
パスワードボックス整形
----------------------------------------------------------*/
input[type="password"] {
    margin-top: 5px;
    width: 220px;
    height: 25px;
    font-size: 14px;
    border: 2px solid black;
}

/*
パスワードボックス整形
----------------------------------------------------------*/
input[type="text"] {
    margin-top: 5px;
    width: 220px;
    height: 25px;
    font-size: 14px;
    border: 2px solid black;
}

/*==========================================================
                       アニメーション
==========================================================*/
/*
フェードイン(全ページ#wrapで使用)
----------------------------------------------------------*/
/* ベンダープレフィックス（Chrome、Safari向け）*/
@-webkit-keyframes FadeIn {
  0% {opacity: 0}
  100% {opacity: 1}
}

/* ベンダープレフィックス（Firefox向け）*/
@-moz-keyframes FadeIn {
  0% {opacity: 0}
  100% {opacity: 1}
}

@keyframes FadeIn {
  0% {opacity: 0}
  100% {opacity: 1}
}

/*
スクロール（スクロールアイコンで使用）
----------------------------------------------------------*/
/* ベンダープレフィックス（Chrome、Safari向け）*/
@-webkit-keyframes sdb {
  0% {
    -webkit-transform: translate(0, 0);
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  80% {
    -webkit-transform: translate(0, 12px);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

/* ベンダープレフィックス（Firefox向け）*/
@-moz-keyframes sdb {
  0% {
    -webkit-transform: translate(0, 0);
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  80% {
    -webkit-transform: translate(0, 12px);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

@keyframes sdb {
  0% {
    transform: translate(0, 0);
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  80% {
    transform: translate(0, 12px);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

.title2 {
  margin: 0 auto;
  width: 400px;
  height: 40px;
  padding-top: 10px;
}

.moji2 {
  float: left;
  text-align: center;
  font-size: 22px;
  margin-top: 2px;
  margin-left: 100px;
  width: 220px;
  color: #44546A;
  text-shadow: #44546A 1px 1px 2px;
}

/* スクロールアイコン２(アニメーション部分は一番下に記載) */
.scroll2 a {
  float: right;
  margin-top: 3px;
  margin-right: 50px;
  height: 14px;
  border: 0.5px solid #44546A;
}

.scroll2 a span {
  position: absolute;
  width: 23.9px;
  height: 32px;
  margin-top: -1px;
  margin-left: -12px;
  background: RGBA(255, 255, 255, 0.3);
  border: 2px solid #44546A;
  border-radius: 50px;
  box-sizing: border-box;
}

.scroll2 span::before {
  position: absolute;
  top: 2px;
  left: 50%;
  margin-left: -3px;
  width: 6px;
  height: 6px;
  white-space: pre;
  content: '  ↓';
  font-size: 18px;
  color: #44546A;
  background-color: #44546A;
  border-radius: 100%;
  -webkit-animation: sdb 4s infinite;
  animation: sdb 4s infinite;
  box-sizing: border-box;
}

/*
ポップアップ(モーダルウィンドウ)
----------------------------------------------------------*/
.modal-wrap {
  z-index: 999;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 60px 10px;
  text-align: center;
}

.modal-wrap:not(:target) {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}

.modal-wrap:target {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.7s, visibility 0.4s;
}

.modal-wrap::after {
  display: inline-block;
  height: 100%;
  margin-left: -.05em;
  vertical-align: middle;
  content: "";
}

.left_move_icon {
  z-index: 20;
  position: absolute;
  top: 50%;
  left: 0;
  width: 35px;
  font-size: 20px;
  font-weight: 700;
  line-height: 35px;
  text-align: center;
  text-indent: 0
}

.modal-wrap .modal-window {
  float: center;
  box-sizing: border-box;
  display: inline-block;
  z-index: 20;
  position: relative;
  /*width: 70%;*/
  max-width: 600px;
  padding: 40px 80px 20px;
  border-radius: 2px;
  vertical-align: middle;
  color: RGBA(255,255,255,1);
  font-size: 20px;
}

.modal-wrap .modal-window2 {
  float: center;
  box-sizing: border-box;
  display: inline-block;
  z-index: 20;
  position: relative;
  max-width: 800px;
  padding: 40px 80px 20px;
  border-radius: 2px;
  vertical-align: middle;
  color: RGBA(255,255,255,1);
  font-size: 20px;
}

.right_move_icon {
  z-index: 20;
  position: absolute;
  top: 50%;
  right: 10px;
  width: 35px;
  font-size: 20px;
  font-weight: 700;
  line-height: 35px;
  text-align: center;
  text-indent: 0
}

.modal-wrap .modal-window .modal-contents {
  max-height: 80vh;
  overflow-y: auto;
}

.modal-wrap .modal-window2 .modal-contents {
  max-height: 80vh;
  overflow-y: auto;
}

.modal-overlay {
  z-index: 10;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: RGBA(0, 0, 0,0.8);
}

/* モーダルウィンドウ内の×ボタン */
.modal-wrap .modal-close {
  z-index: 20;
  position: absolute;
  top: 0;
  right: 35px;
  width: 60px;
  color: #c0c0c0;
  font-size: 40px;
  font-weight: 700;
  line-height: 35px;
  text-align: center;
  text-indent: 0
}

.modal-wrap .modal-close:hover {
  color: #696969;
}


/*==========================================================
                         ヘッダー
==========================================================*/
header {
  margin: 0 auto;
  width: 100%;
  height: 120px;
  padding: 10px 0;
  text-align: center;
  background-color: #44546A;
}


/*
タイトル
----------------------------------------------------------*/
header h1 {
  font-size: 45px;
  margin-top: 20px;
  color:#f5f5f5;

}

header h1 a {
  font-size: 45px;
  margin-top: 20px;
  text-decoration: none;
  color:#f5f5f5;

}

/*
ログイン・ログアウト
----------------------------------------------------------*/
.login {
  font-size: 18px;
  float: left;
  padding: 0;
  margin-left: 20px;
  color:white;
}

.info {
  color: RGBA(255,255,255,1);
  text-decoration: none;
  border-bottom: 1px solid RGBA(173,255,47,1);
  padding-bottom: 1px;
}

.info:hover {
  border-bottom: 2px solid RGBA(173,255,47,1);
  padding-bottom: 1px;
}

.logout {
  font-size: 18px;
  float: left;
  margin-left: 25px;
  padding: 0;
}

.logout a {
  color: RGBA(255,255,255,1);
  text-decoration: none;
  border-bottom: 1px solid RGBA(173,255,47,1);
  padding-bottom: 1px;
}

.logout a:hover {
  border-bottom: 2px solid RGBA(173,255,47,1);
  padding-bottom: 1px;
}

.current_time {
  font-size: 16px;
  float: right;
}
.user_regist {
  font-size:18px;
  float:left;
  margin-left: 25px;
}

.user_regist a {
  color:white;
  text-decoration: none;
  border-bottom: 1px solid RGBA(173,255,47,1);
  padding-bottom: 1px;
}

.user_regist a:hover {
  border-bottom: 2px solid RGBA(173,255,47,1);
  padding-bottom: 1px;
}

/*==========================================================
                    　メインコンテンツ
==========================================================*/
#wrap {
  margin: 50px auto 20px auto;
  width: 800px;
  /*height:60%;*/
  padding: 0;
  background:white;
  /* フッターを画面下に固定(bodyでも関連設定あり) */
  flex: 1;
  /* フェードイン(アニメーション部分は一番下に記載) */
  -webkit-animation: FadeIn 1s ease 0s 1 normal;
  -moz-animation: FadeIn 1s ease 0s 1 normal;
  animation: FadeIn 1s ease 0s 1 normal;


}

#wrap h3{
  color:black;
}


/*
メニューバー関連（index.phpで使用）
----------------------------------------------------------*/
.menu_bar{
  width:100%;
  height:30px;
  background: linear-gradient(to bottom, #FFC778, #ffe4b5);
  font-weight: bold;
}

.menu_box{
  display:flex;
  flex-flow: row wrap;
  margin-top:30px    ;
  justify-content: center;

}

.items{
    width:100px;
    height:0;
    border-bottom: 30px solid orange;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    background-color:rgba(0,0,0,0);
    font-weight: bold;
    margin: 0px 15px ;
    color:white;
    text-decoration: none;
}

.items:hover{
    border-bottom: 30px solid #ffffff;
    color:black;


}

/* 勤怠 */
.item1{
    border-bottom: 30px solid #44546A;
}

/* タスク */
.item2{
    border-bottom: 30px solid #44546A;
}

/* 人事 */
.item3{
    border-bottom: 30px solid #44546A;

}

/* スケジュール */
.item4{
    border-bottom: 30px solid #44546A;

}

/*==========================================================
                       テーブル設定
==========================================================*/
/*
ログインテーブル（login.html で使用）
----------------------------------------------------------*/
.login_tbl {
  margin: 0 auto;
  width: 500px;
  height: 12VH;
  font-size: 24px;
  border-collapse: collapse;
  border: 1px solid black;
 }

.login_tbl th {
  width: 280px;
  color: RGBA(0,255,255,0.8);
  text-shadow: RGBA(0,191,255,1) 1px 1px 2px,
               RGBA(0,191,255,1) -1px -1px 2px,
               RGBA(0,191,255,1) -1px 1px 2px,
               RGBA(0,191,255,1) 1px -1px 2px;
  text-align: center;
  vertical-align: middle;
  background: RGBA(0, 0, 0, 0.1);

}

.login_tbl td {
  width: 220px;
  text-align: center;
  vertical-align: middle;
  padding-left: 15px;
  padding-right: 15px;
  background: RGBA(255, 255, 255, 0.1);
}

/*
メインリンク関連（index.phpで使用）
----------------------------------------------------------*/

.sub_menus{
  color:black;
  font-weight: bold;
  height:80%;
  width:100%;
  border-spacing: 0;
}

.sub_menus td{
  width:25%;
  height:25%;
}


.sub_menu {
  height: 25px;
  font-size: 20px;
  border: 2px solid RGBA(0,191,255,1);
  background-color:#44546A;
  color:white;
}



.link_menu{
  list-style: none;
  padding: 0;
}

.link_menu > li {
    font-size:18px;
    display: block;

}

.link_menu > li > a {
    display:inline-block;
    padding:0;

    color:black;
    margin: 10px 0;
}

.link_menu > li > a:hover {
    color:blue;
}

/*
ユーザー追加テーブル（info.php で使用）
----------------------------------------------------------*/
.user_add_tbl {
  margin: 0 auto;
  width: 500px;
  border-collapse: collapse;
}

.user_add_tbl th {
  width: 200px;
  text-align: left;
  vertical-align: top;
  padding-top: 10px;
  padding-bottom: 5px;
  /* 下線だけ表示 */
  border-width: 0px 0px 1px 0px;
  border-style: solid;
  border-color: RGBA(255, 255, 255, 0.5);
}

.user_add_tbl td {
  width: 300px;
  padding-top: 10px;
  padding-bottom: 5px;
  /* 下線だけ表示 */
  border-width: 0px 0px 1px 0px;
  border-style: solid;
  border-color: RGBA(255, 255, 255, 0.5);
}


/*
ログインユーザー情報テーブル（info.php で使用）
----------------------------------------------------------*/
.login_info_tbl {
  margin: 0 auto;
  width: 500px;
  border-collapse: collapse;
}

.login_info_tbl th {
  width: 200px;
  text-align: left;
  vertical-align: top;
  padding-top: 10px;
  padding-bottom: 5px;
  /* 下線だけ表示 */
  border-width: 0px 0px 1px 0px;
  border-style: solid;
  border-color: RGBA(255, 255, 255, 0.5);
}

.login_info_tbl td {
  width: 300px;
  padding-top: 10px;
  padding-bottom: 5px;
  /* 下線だけ表示 */
  border-width: 0px 0px 1px 0px;
  border-style: solid;
  border-color: RGBA(255, 255, 255, 0.5);
}

/*
パスワード変更時のテーブル（info.php で使用）
----------------------------------------------------------*/
.password_edit_tbl {
  margin: 0 auto;
  width: 500px;
}

.password_edit_tbl th {
  width: 270px;
  font-size: 18px;
  text-align: left;
  padding-top: 15px;
  padding-left: 10px;
  padding-right: 10px;
  padding-bottom: 10px;
}

.password_edit_tbl td {
  width: 230px;
}

/*
パスワード変更チェック時のテーブル（info.php で使用）
----------------------------------------------------------*/
.password_check_tbl {
  margin: 0 auto;
  width: 500px;
  border-collapse: collapse;
}

.password_check_tbl th {
  width: 200px;
  text-align: left;
  /* 下線だけ表示 */
  border-width: 0px 0px 1px 0px;
  border-style: solid;
  border-color: RGBA(255, 255, 255, 0.5);
}

.password_check_tbl td {
  width: 300px;
  font-size: 30px;
  font-weight: bold;
  /* 下線だけ表示 */
  border-width: 0px 0px 1px 0px;
  border-style: solid;
  border-color: RGBA(255, 255, 255, 0.5);
}

/*
ログインユーザー情報テーブル（info.php で使用）
----------------------------------------------------------*/
.info_tbl {
  margin: 0 auto;
  width: 500px;
  border-collapse: collapse;
}

.info_tbl th {
  width: 200px;
  text-align: left;
  vertical-align: top;
  padding-top: 10px;
  padding-bottom: 5px;
  /* 下線だけ表示 */
  border-width: 0px 0px 1px 0px;
  border-style: solid;
  border-color: RGBA(0, 0, 0, 0.5);
}

.info_tbl td {
  width: 300px;
  padding-top: 10px;
  padding-bottom: 5px;
  /* 下線だけ表示 */
  border-width: 0px 0px 1px 0px;
  border-style: solid;
  border-color: RGBA(0, 0, 0, 0.5);
}


/*
パスワード変更時のテーブル（info.php で使用）
----------------------------------------------------------*/
.password_edit_tbl {
  margin: 0 auto;
}

.password_edit_tbl th {
  text-align: left;
  padding-top: 10px;
  padding-left: 10px;
  padding-right: 10px;
  padding-bottom: 10px;
}

.password_edit_tbl td {
}

/*
登録情報変更チェック時に使うテーブル（info.php で使用）
----------------------------------------------------------*/
.edit_tbl {
  margin: 0 auto;
  width: 500px;
  border-collapse: collapse;
}

.edit_tbl th {
  width: 200px;
  text-align: left;
  /* 下線だけ表示 */
  border-width: 0px 0px 1px 0px;
  border-style: solid;
  border-color: RGBA(0, 0, 0, 0.5);
}

.edit_tbl td {
  width: 300px;
  font-size: 18px;
  font-weight: bold;
  /* 下線だけ表示 */
  border-width: 0px 0px 1px 0px;
  border-style: solid;
  border-color: RGBA(0, 0, 0, 0.5);
}




/*
ユーザーリストテーブル（user_list.php で使用）
----------------------------------------------------------*/
.userlist_tbl_contents {
  margin: 0 auto;
/*  width: 550px;*/
  width: 100%;
  height: 420px;
  padding-bottom: 3px;
  background: #e3e1e1;
  border: 1px solid RGBA(105,105,105,0.3);
}

/* Chrome, Safari用スクロールバー非表示 */
.userlist_tbl_contents::-webkit-scrollbar {
  display: none;
}

.userlist_tbl {
  margin: 0 auto;
  width: 800px;
  font-size: 17px;
  color: RGBA(255,255,255,1);
  border-collapse: collapse;
  overflow-y: scroll;
}

.userlist_tbl thead {
  display: block;
}

.userlist_tbl th {
  text-align: center;
  position: sticky;
  /* 下線だけ表示 */
  border-width: 0px 0px 2px 0px;
  border-style: solid;
  border-color: black;
  color:black;
}

.userlist_tbl tbody {
  display: block;
  overflow-y: scroll;
  /* IE, Edge用スクロールバー非表示 */
  /*  スクロール表示 */
  /*-ms-overflow-style: none; */
  -ms-overflow-style: auto;
  /* Firefox用スクロールバー非表示 */
  /*  スクロール表示 */
  /*scrollbar-width: : none;*/
    scrollbar-width:  auto;
  height: 390px;
}

/* Chrome, Safari用スクロールバー非表示 */
.userlist_tbl tbody::-webkit-scrollbar {
  /*  スクロール表示 */
  /*display: auto; */
  display: auto;
}

.userlist_tbl td {
  /* 下線だけ表示 */
  border-width: 0px 0px 2px 0px;
  border-style: solid;
  border-color: black;
}

.userlist_tbl .column1 {
  text-align: center;
}

.userlist_tbl .column2 {
  text-align: center;
}

.userlist_tbl .column3 {
  text-align: center;
}

.userlist_tbl .column4 {
  text-align: center;
}

.userlist_tbl .column5 {
  text-align: center;
}

.user_image {
  margin: 0 auto;
  width: 300px;
  height: 250px;
}

/*==========================================================
                         フッター
==========================================================*/
footer {
  width: 100%;
  height: 27px;
  color: RGBA(255,255,255,1);
  text-align: center;
  background-color: RGBA(128,128,128,1);
  /*position: absolute;*//*←絶対位置*/
  /*bottom: 0; *//*下に固定*/
}

footer small {
  margin: 0 auto;
  font-size: 13px;
}

/*==========================================================
             スマートフォン・タブレット用設定
==========================================================*/
@media screen and (max-width: 768px) {
    /* 全体の器を画面幅いっぱいに */
    #wrap {
      width: 95%; /* 左右に少し余白を持たせる */
      margin: 20px auto;
    }

    /* ヘッダーの調整 */
    header {
      height: auto;
      padding-bottom: 20px;
    }

    header h1, header h1 a {
      font-size: 28px; /* 文字を少し小さく */
    }

    /* ヘッダーの高さ調整 */
    header {
      height: auto;
      min-height: 120px;
      padding-bottom: 10px;
      overflow: hidden;
    }
    
    /* メニューバーの項目を折り返して表示 */
    .menu_box {
      flex-direction: column; /* 縦に並べる場合 */
      align-items: center;
    }

    .items {
      width: 80%; /* 幅を広げる */
      margin: 10px 0;
      border-left: 10px solid transparent;
      border-right: 10px solid transparent;
    }

    /* テーブル類の幅を100%にする */
    .login_tbl, .user_add_tbl, .login_info_tbl, 
    .password_edit_tbl, .info_tbl, .edit_tbl, .userlist_tbl {
      width: 100% !important;
    }

    /* ユーザーリストの横スクロールを許可 */
    .userlist_tbl_contents {
      overflow-x: auto;
    }

    .userlist_tbl {
      width: 600px;
    }

    /* 入力フォームの幅調整 */
    input[type="text"], input[type="password"], 
    input[type="file"], .place_select, .name_text .inputbox {
      width: 90%; 
      box-sizing: border-box; /* 枠線を含めた幅にする */
    }

    input[type="submit"], .button1 {
      width: 90%;
    }
}
