ul {
  margin: 0;
}
li {
  list-style: none;
}
/* ダイアログは最前面に表示する */
.ui-dialog {
  z-index: 1000 !important;
}
hr {
  margin: 0 0 5px;
  border-top: 1px solid #ccc;
}
label {
  display: inline-block;
  margin: 5px;
}
label input[type="checkbox"],
label input[type="radio"] {
    margin-right: 5px;
}
h3 {
  font-size: 13px;
  line-height: 13px;
  margin: 5px;
}
/*======================================
　ページナビゲーション（全件・ページ番号・次へ・前へ）
=======================================*/
#page_navi {
  margin: 0;
}
#page_all {
  float: left;
}
#page_all span {
  padding: 0 10px;
  background: #0000ff;
  color: #ffffff;
}
#page_number {
  float: left;
}
#page_number a {
  text-decoration: none;
  margin-right: 1em;
  font-size: 14px;
}
#page_number a.change {
  font-size: 12px;
  text-decoration:underline;
}
#page_number strong {
  font-size: 16px;
  margin-right: 1em;
}

.no-border {
  margin: 0 !important;
}
.no-border td {
  padding: 0 !important;
  border: 0 !important;
}

/*セッション切れページ*/

.quit {
  height: 100vh;
  position: relative;
}
.quit div {
  width: 500px;
  height: 250px;
  background-color: #cceeff;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  text-align: center;
  padding-top: 50px;
  max-width: 100%;
}

/* スクロールバーダミー */
#sidebar {
  height: 100vh;
  position: fixed;
  top: 0;
  right: 0;
  background-color: white;
  display: none;
}
/* ヘッダー */
.global-header {
  position: fixed;
  z-index: 900;
  top: 0;
  height: 60px;
  background-color: white;
  box-shadow: 0px 0px 6px 0px #02255529;
  width: 100%;
  min-width: 1000px;
}
.global-header p {
  position: absolute;
  top: 20px;
  left: 250px;
  color: red;
  font-weight: bold;
}
.global-header img {
  cursor: pointer;
  display: block;
  float: left;
}
.global-header img.logo {
  margin-top: 2px;
  margin-left: 30px;
}
.list_btn_staff {
  float: left;
  margin-left: 20px;
  width: 585px;
}
.btn_staff {
  width: 50px;
  text-align: center;
  font-size: 12px;
  border-radius: 3px;
  padding: 2px;
  background-color: #cfeeef;
  display: block;
  color: blue;
  cursor: pointer;  
  margin: 1px;
  float: left;
  border: 1px solid white;
}
.btn_staff.sel {
  background-color: #ffeecc;
  border: 1px dashed red;
}
.btn_staff:hover {
  opacity: 0.8;
}
#notification_base {
  position: absolute;
  top: 10px;
  right: 88px;
  width: 40px;
  height: 40px;
  background-image: url('/img/svg/bell_none.svg?2');
  background-size: 100%;
  cursor: pointer;
}
#notification_base:hover {
  background-image: url('/img/svg/bell_none_hover.svg?2');
}
#notification_base.red {
  background-image: url('/img/svg/bell_red.svg?2');
}
#notification_base.red:hover {
  background-image: url('/img/svg/bell_red_hover.svg?2');
}
#notification_num {
  position: absolute;
  top: 14px;
  right: 90px;
  width: 20px;
  height: 20px;
  color: white;
  font-size: 15px;
  text-align: center;
  cursor: pointer;
  transform: scale(0.7, 0.7);
  font-family: Roboto-Medium;
}
#user_icon {
  position: absolute;
  top: 3px;
  right: 20px;
  width: 40px;
  height: 40px;
  background-size: 40px 40px;
  border-radius: 50%;
  cursor: pointer;
}
#user_icon:hover {
  opacity: 0.8;
}
/* ユーザーアイコンの下の本日の日付 */
#now_date {
  position: absolute;
  top: 40px;
  right: 5px;
  font-weight: bold;
  font-size: 10px;
}
#other_icon {
  position: absolute;
  top: 22px;
  right: 20px;
  width: 20px;
  height: 20px;
  background-image: url('/img/svg/other.svg?1');
  cursor: pointer;
}
#other_icon:hover {
  background-image: url('/img/svg/other_hover.svg?1');
}
#mail_count {
  position: absolute;
  top: 2px;
  right: 55px;
  z-index: 1;
  font-weight: bold;
  font-size: 10px;
  background-color: red;
  border-radius: 10px;
  color: white;
  padding: 2px 4px;
  display: none;
}
#mail_count i {
  margin-right: 2px;
}

.side-menu {
  position: fixed;
  z-index: 901;
  top: 60px;
  width: 60px;
  height: calc(100vh - 60px);
  background-color: #10a1e2;
}
.side-menu table {
  width: 100%;
}
.side-menu .button {
  cursor: pointer;
}
.side-menu td {
  width: 100%;
  height: 50px;
  vertical-align: middle;
  text-align: center;
  padding: 0;
}
/* ★ */
.side-menu .button.star {
  animation: 1s ease-in 0.2s infinite alternate forwards running fade;
}
@keyframes fade {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.side-menu .button.star.sel,
.side-menu .button.star {
  background-image: url('/img/svg/star_active.svg');
  width: 25px;
  height: 25px;
}
.side-menu .button.star.sel:hover,
.side-menu .button.star:hover {
  background-image: url('/img/svg/star_active_hover.svg');
  width: 30px;
  height: 30px;
}
/* PL文字 */
#mark_PL {
  position: absolute;
  left: 0;
  right: 0;
  top: 13px;
  font-size: 12px;
  font-weight: bold;
  color: white;
  cursor: pointer;
  pointer-events: none;
}
/* スケジュール管理 */
.side-menu .court {
  background-image: url('/img/svg/ICON_calendar.svg?1');
}
.side-menu .court:hover {
  background-image: url('/img/svg/ICON_calendar_hover.svg?1');
}
.side-menu .court.sel {
  background-image: url('/img/svg/ICON_calendar_active.svg?1');
}
.side-menu .court.sel:hover {
  background-image: url('/img/svg/ICON_calendar_active_hover.svg?1');
}
/* 予約管理 */
.side-menu .member {
  background-image: url('/img/svg/ICON_human.svg?1');
}
.side-menu .member:hover {
  background-image: url('/img/svg/ICON_human_hover.svg?1');
}
.side-menu .member.sel {
  background-image: url('/img/svg/ICON_human_active.svg?2');
}
.side-menu .member.sel:hover {
  background-image: url('/img/svg/ICON_human_active_hover.svg?1');
}
/* 入金管理 */
.side-menu .sales {
  background-image: url('/img/svg/ICON_bargraph.svg?1');
}
.side-menu .sales:hover {
  background-image: url('/img/svg/ICON_bargraph_hover.svg?1');
}
.side-menu .sales.sel {
  background-image: url('/img/svg/ICON_bargraph_active.svg?1');
}
.side-menu .sales.sel:hover {
  background-image: url('/img/svg/ICON_bargraph_active_hover.svg?1');
}
/* 出欠管理 */
.side-menu .attendance {
  background-image: url('/img/svg/ICON_pencil.svg?1');
}
.side-menu .attendance:hover {
  background-image: url('/img/svg/ICON_pencil_hover.svg?1');
}
.side-menu .attendance.sel {
  background-image: url('/img/svg/ICON_pencil_active.svg?1');
}
.side-menu .attendance.sel:hover {
  background-image: url('/img/svg/ICON_pencil_active_hover.svg?1');
}
/* メール配信・呼出 */
.side-menu .mail {
  background-image: url('/img/svg/ICON_mail.svg');
}
.side-menu .mail:hover {
  background-image: url('/img/svg/ICON_mail_hover.svg');
}
.side-menu .mail.sel {
  background-image: url('/img/svg/ICON_mail_active.svg?1');
}
.side-menu .mail.sel:hover {
  background-image: url('/img/svg/ICON_mail_active_hover.svg');
}
/* レッスン管理 */
.side-menu .lesson {
  background-image: url('/img/svg/ICON_company.svg?2');
}
.side-menu .lesson:hover {
  background-image: url('/img/svg/ICON_company_hover.svg?2');
}
.side-menu .lesson.sel {
  background-image: url('/img/svg/ICON_company_active.svg?2');
}
.side-menu .lesson.sel:hover {
  background-image: url('/img/svg/ICON_company_active_hover.svg?2');
}
/* マスタ管理 */
.side-menu .master {
  background-image: url('/img/svg/ICON_settings.svg?1');
}
.side-menu .master:hover {
  background-image: url('/img/svg/ICON_settings_hover.svg?1');
}
.side-menu .master.sel {
  background-image: url('/img/svg/ICON_settings_active.svg?1');
}
.side-menu .master.sel:hover {
  background-image: url('/img/svg/ICON_settings_active_hover.svg?1');
}
/* レジ管理 */
.side-menu .regi {
  background-image: url('/img/svg/ICON_office.svg?2');
}
.side-menu .regi:hover {
  background-image: url('/img/svg/ICON_office_hover.svg?2');
}
.side-menu .regi.sel {
  background-image: url('/img/svg/ICON_office_active.svg?2');
}
.side-menu .regi.sel:hover {
  background-image: url('/img/svg/ICON_office_active_hover.svg?2');
}
/* 在庫管理 */
.side-menu .stock {
  background-image: url('/img/svg/ICON_stock.svg');
}
.side-menu .stock:hover {
  background-image: url('/img/svg/ICON_stock_hover.svg');
}
.side-menu .stock.sel {
  background-image: url('/img/svg/ICON_stock_active.svg');
}
.side-menu .stock.sel:hover {
  background-image: url('/img/svg/ICON_stock_active_hover.svg');
}
.side-menu .button {
  width: 35px;
  height: 35px;
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
}
.side-menu .button.sel {
  width: 40px;
  height: 40px;
}
.side-menu .button:hover {
  width: 45px;
  height: 45px;
}

.sub-menu {
  position: fixed;
  z-index: 899;
  top: 60px;
  left: 60px;
  width: 200px;
  height: calc(100vh - 60px);
  background-color: white;
  box-shadow: 0px 0px 6px 0px #02255529;
  overflow: hidden;
}

.sub-menu iframe {
  width: 100%;
  height: 100%;
  border: none;
}
.sub-menu .title {
  font-weight: bold;
  font-size: 13px;
  margin-top: 30px;
  margin-bottom: 10px;
  text-align: center;
  width: 200px;
}
.sub-menu p.line {
  width: 30px;
  border-bottom: 1px solid black;
  margin: 0 85px 20px;
}

.sub-menu ul {
  margin: 0;
}

.sub-menu li {
  padding: 16px 20px;
  font-size: 15px;
  cursor: pointer;
  box-sizing: border-box;
  width: 200px;
  position: relative;
}
.sub-menu li:after {
  position: absolute;
  right: 18px;
  content: url('/img/svg/arrow.svg?1');
;
}
.sub-menu li:hover {
  background-color: #f0f4f7;
}
.sub-menu li.active {
  font-weight: bold;
  background-color: #f0f4f7;
  cursor: pointer;
}
#user_menu {
  position: fixed;
  right: 10px;
  top: 50px;
  background-color: white;
  box-shadow: 0px 0px 6px 0px #02255529;
  display: none;
  z-index: 901;
}
#user_menu li {
  padding: 5px 20px;
  cursor: pointer;
}
#user_menu li:hover {
  background-color: #1ba1e2;
  color: white;
  font-weight: bold;
}

#my-setting {
  position: fixed;
  top: 50px;
  right: 20px;
  white-space: normal;
  min-width: 215px;
  box-shadow: 0px 0px 6px 0px #02255529;
  z-Index: 9999;
  background-color: white;
  font-size: 13px;
  color: #323c46;
  padding: 20px;
  display: none;
}
#my-setting h2 {
  font-size: 14px;
  margin: 0;
  line-height: 14px;
  padding: 5px 0;
}
#my-setting .info {
  margin-top: 20px;
  margin-bottom: 20px;
}
#my-setting .info div {
  margin-bottom: 20px;
}
#my-setting .info th {
  text-align: left;
  height: 25px;
  white-space: nowrap;
}
#my-setting .info td span {
  font-size: 11px;
}
#my-setting .info td img {
  height: 18px;
}
#my-setting input[name="logout"],
#my-setting input[name="my-image-update"] {
  border: 0;
  background-color: #1ba2e2;
  color: white;
  border-radius: 5px;
  padding: 6px 12px;
  margin-left: 15px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  display: inline-block;
}
#my-setting input[name="logout"]:hover,
#my-setting input[name="my-image-update"]:not(.off):hover {
  transform: translateX(4px);
}
#my-setting .sw {
  margin: 20px 0;
}
#my-setting .sw label {
  margin-right: 30px;
}
#my-setting .detail {
  margin-bottom: 20px;
}
.user-icon-dnd-wrapper {
  position: relative;
  width: 64px;
  height: 64px;
}
#input_file,
#preview_field,
.user-icon-dnd-wrapper img {
  position: absolute;
  top: 0;
  left: 0;
  width: 64px;
  height: 64px;
}
.user-icon-dnd-wrapper img {
  object-fit: cover;
  border-radius: 50%;
}
#drop_area {
  position: absolute;
  top: 0;
  left: 0;
  width: 63px;
  height: 63px;
  border: 1px dashed #aaa;
  border-radius: 50%;
  cursor: pointer;
}
#input_file {
  opacity: 0;
}
input[name="my-image-update"] {
  position: absolute;
  top: 16px;
  left: 70px;
}
input[name="logout"] {
  position: absolute;
  top: 20px;
  right: 20px;
}
#my-setting input[name="my-image-update"].off {
  background-color: #ddd;
  cursor: default;
}

/*TOPメニューページ*/

.mess {
  font-weight: bold;
  color: red;
  margin-left: 10px;
}

.head {
  position: fixed;
  top: 0;
  left:0;
  padding-top: 10px;
  padding-bottom: 10px;
  background-color: white;
  width: 100%;
  z-index: 99;
}
.head p {
  font-weight: bold;
  margin: 8px 0 0 15px;
}
.head p,
.head img {
  float:left;
}
.head img {
  margin-left: 10px;
}
.head p span {
  font-size: 10px;
}
#back-button {
  float: left;
  margin-left: 20px;
  margin-top: 18px;
}
#sep-line {
  height: 1px;
  width: 100%;
  background-color: #999999;
  display: none;
  position: relative;
}

.menu {
  position: relative;
  z-index: 2;
  margin-left: 10px;
  top: 2px;
}
.menu td {
  border: 1px #999999 solid;
  padding: 6px 4px;
  background-color: #eeffff;
  filter:progid:DXImageTransform.Microsoft.gradient(startcolorstr=#eeffff,endcolorstr=#ccffff,gradienttype=0);
  background: linear-gradient(to bottom, #eeffff, #ccffff);
  white-space: nowrap;
  font-weight: bold;
  color: #0000FF;
  font-size: 13px;
  text-align: center;
}
.menu td:hover {
  text-decoration: none;
  filter:progid:DXImageTransform.Microsoft.gradient(startcolorstr=#eeffff,endcolorstr=#ccffff,gradienttype=0);
  background: linear-gradient(to bottom, #88cccc, #66cccc);
  color: #FFF;
  cursor: pointer;
}
.menu .return-top {
  color: gray;
}
.menu .gap:hover,
.menu .gap {
  height: 5px;
  background: #eeffff;
  padding: 0;
  margin: 0;
  cursor: default;
}
.submenu {
  z-index: 1;
  display: none;
  top: 1px;
}
.menu .sel:hover,
.menu .sel {
  background: #eeffff;
  border-bottom: 1px solid #eeffff;
  color: black;
  cursor: default;
}

/*ログページ*/
.log .condition th,
.log .condition td,
.log .result th {
  border: 1px solid #888;
  padding: 2px;
  font-size: 13px;
}
.log .result td {
  border: 1px solid #888;
  padding: 4px;
  font-size: 13px;
}
.log .condition th,
.log .result th {
  background-color: #ddd;
  color: black;
}
.log .condition td {
  text-align: center;
}
.log .condition select {
  margin: 0;
}
.log .condition select[name="dateS1"],
.log .condition select[name="dateE1"] {
  width: 70px;
}
.log .condition select[name="dateS2"],
.log .condition select[name="dateS3"],
.log .condition select[name="dateE2"],
.log .condition select[name="dateE3"] {
  width: 60px;
}

/* 設定ページ */

div.setting {
  height: calc(100vh - 160px);
  padding-top: 160px;
  font-size: 13px;
}
div.setting div {
  width: 100%;
}
.setting table {
  width: 320px;
}
.setting td {
  text-align: center;
  vertical-align: top;
  padding-top: 10px;
  padding-bottom: 10px;
}
.setting td input {
  margin-left: 50px;
  margin-right: 50px;
}
.setting td span {
  color: red;
}
.setting input[name="upfile"],
.setting input[name="upload-tax"],
.setting input[type="text"] {
  margin-right: 0;
}
.setting input[type="text"] {
  text-align: right;
  width: 50px;
}

/* 拠点マスタページ */

div.foothold {
  height: calc(100vh - 160px);
  padding-top: 160px;
  font-size: 13px;
}
div.foothold div {
  width: 100%;
  padding-bottom: 25px;
}
.foothold table {
  margin-left: 10px;
}
.foothold tr {
  background-color: white;
}
.foothold th {
  border: 1px #888888 solid;
  padding: 2px;
  background-color: #dddddd;
  filter:progid:DXImageTransform.Microsoft.gradient(startcolorstr=#eeeeee,endcolorstr=#cccccc,gradienttype=0);
  background: linear-gradient(to bottom, #eeeeee, #cccccc);
}
.foothold td {
  border: 1px #888888 solid;
  padding: 2px;
}
select[name="LessonTime"],
select[name="FrontFlag"] {
  width: 80px;
}
p.mess {
  position: fixed;
  left: 565px;
  top: 28px;
  z-index: 99;
  margin: 0;
  font-size: 13px;
}

/* ページの基本設定 */
#main {
  margin-top: 60px;
  margin-left: 260px;
  padding: 10px 50px 20px 40px;
}
#main > div {
  background-color: white;
  padding: 20px 40px;
  box-shadow: 0px 0px 6px 0px #02255529;
  position: relative;
  max-width: fit-content;
  margin-top: 10px;
}
#main .list {
  width: 100%;
  overflow: auto;
}
.list table {
  border-collapse: separate;
  margin-top: 20px;
  width: 100%;
}
.list th {
  color: gray;
  text-align: left;
  font-weight: normal;
  font-size: 12px;
  white-space: nowrap;
}
.list td {
  background-color: #f0f4f7;
  border-right: 2px solid white;
  border-bottom: 10px solid white;
  white-space: nowrap;
  padding: 10px;
  overflow: hidden;
}
input[type="button"].graph,
#main input[type="button"].cmenu {
  background-color: #1ba2e2;
  color: white;
  border-radius: 20px;
  padding: 6px 12px;
  margin: -6px 0 0;
  font-size: 14px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-block;
  transition: transform 0.2s ease, color 0.2s ease;
  outline: none;
  border: none;
  font-weight: bold;
}
input[type="button"].graph:hover,
#main input[type="button"].cmenu:not(:disabled):hover {
  transform: translateX(4px);
}
#main input[type="button"].cmenu.off {
  background-color: transparent;
  color: gray;
  border: 0;
}
#main input[type="text"] {
  margin: 0;
}
form > p {
  display: inline-block;
  margin-bottom: 5px;
  white-space: nowrap;
  margin-right: 10px;
}
/* 基本的な青色ボタン */
.butn {
  border: none;
  background-color: #1ba2e2;
  border-radius: 5px;
  color: white;
  margin: 0;
  padding: 15px 20px 15px;
  font-size: 14px;
  display: inline-block;
  font-weight: bold;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  cursor: pointer;
  text-align: center;
}
.butn span {
  z-index: 1;
  position: relative;
}
.butn:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  border-radius: 5px;
  transform: translate(-101%,-50%);
  width: 100%;
  height: 100%;
  background-color: #157FB2;
  transition: transform .6s cubic-bezier(.53,.21,0,1);
  box-sizing: border-box;
}
.butn.click:before,
.butn:not(.disable):hover:before {
  transform: translateY(-50%);
}
.butn.disable {
  background-color: #ddd;
  cursor: default;
}
/* 絞込条件 */
#condition {
  margin: 20px 0 0 10px;
  font-weight: bold;
}
#condition p {
  margin: 0 0 5px;
  display: inline-block;
}
.ui-dialog select + span {
  padding-right: 2px;
}
#main select + span {
  background: white;
  padding-right: 2px;
  margin-bottom: 5px;
}
select[name="login"] {
  width: 130px;
}
select[name="job"] {
  width: 100px;
}
select[name="status"] {
  width: 92px;
}
select[name="foothold"],
select[name="employment"] {
  width: 135px;
}
select[name="period"] {
  width: 120px;
}
select[name="limit2"] {
  width: 590px;
}
#main h1 {
  font-weight: bold;
  margin-top: 10px;
  margin-bottom: 0;
  margin-left: 10px;
  margin-right: 20px;
  font-size: 20px;
  display: inline-block;
  height: 41px;
}
.no-border-left {
  border-left: none !important;
}
.border-r {
  border-right: 1px solid #777777;
}
.border-b {
  border-bottom: 1px solid #777777;
}
span.furigana {
  font-size: 8px;
}
#error_mes {
  margin: 10px;
  font-size: 20px;
}
/* テーブルのソート用矢印 */
th.sort {
  cursor: pointer;
}
th.sort.desc:after {
  content: "\25bc";
}
th.sort.asc:after {
  content: "\25b2";
}
/* 後ろを...にする(必ず幅を設定すること。TDはダメ) */
.dot {
  text-overflow: ellipsis;
  overflow: hidden;
  margin: 0;
}
/* テーブル内のボタン */
.list input[type="button"] {
  padding: 10px 20px !important;
  border: 0;
}
.list input[type="button"].edit {
  background-color: #045a7c !important;
}
/* 行選択のときの文字ホバー */
.list.sel td p {
  margin: 0;
  transition: transform 0.2s ease, color 0.2s ease;
  cursor: pointer;
}
.list.sel td p:hover {
  transform: translateX(4px);
  color: #10a1e2;
}

.grab-bing {
  cursor : -webkit-grab;
  cursor : -moz-grab;
  cursor : -o-grab;
  cursor : grab;
}
.grab-bing:active {
  cursor : -webkit-grabbing;
  cursor : -moz-grabbing;
  cursor : -o-grabbing;
  cursor : grabbing;
}

/* 編集画面の横幅はウィンドウによる */
.panel {
  width: auto;
}
/* 編集画面は表は境界線共有 */
.panel table {
  border-collapse: collapse;
  margin-top: 0;
  width: 100%;
}
/* 編集画面は行の間を白で8px空け、境界線無し */
.panel td {
  background-color: white;
  padding: 0 0 8px 0;
  border: 0;
  white-space: nowrap;
  vertical-align: top;
  line-height: 21px;
}
.panel th {
  padding-top: 0;
  padding-bottom: 8px;
  padding-right: 6px;
  vertical-align: top;
}
.master_caption,
.panel li p,
.panel th p {
  width: 80px;
  height: 22px;
  color: white;
  padding: 10px 15px;
  text-align: left;
  background-color: #71a9c7;
  border-radius: 3px;
  margin: 0;
  white-space: nowrap;
  display: inline-block;
  font-weight: bold;
  font-size: 13px;
  letter-spacing: 0.05em;
}
.panel input {
  margin: 0;
}
.panel label {
  font-weight: bold;
}
.panel input[type="text"] {
  padding: 10px;
}
.panel input[type="radio"] {
  margin: -2px 10px 0 0;
}
/* 日付の入力欄（幅以外） */
.panel td div.date {
  height: 40px;
  padding-left: 10px;
  padding-right: 20px;
  display: table-cell;
  vertical-align: middle;
  font-family: FontAwesome;
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  cursor: pointer;
}
/* パネル内のプルダウンの高さ調整 */
.panel .select2-container--default .select2-selection--single {
  padding-top: 5px;
  height: 42px;
}
/* パネル内のプルダウンの矢印の位置 */
.panel .select2-container--default .select2-selection--single .select2-selection__arrow b {
  margin-top: -4px;
}
/* 日付のリセットボタン */
.reset {
  border: 1px solid #ccc;
  padding: 5px;
  margin-left: 5px;
  border-radius: 5px;
  cursor: pointer;
  font-size: 10px;
}
.reset:hover {
  background-color: #1ba2e2;
  color: white;
}
.date {
  display: inline-block;
  border: 1px solid #cccccc;
  border-radius: 5px;
  padding: 2px 10px;
  cursor: pointer;
  margin-bottom: 5px;
}
#tab {
  background-color: transparent;
}
/* キーワードのテキストボックスの虫眼鏡アイコン表示 */
#main input[name="keyword"] {
  padding: 10px;
  font-family: FontAwesome;
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  border-radius: 25px;
  width: 200px;
  margin-bottom: 5px;
  height: 10px;
}
/* 左上の新規作成ボタン */
#new {
  padding-top: 5px;
  padding-bottom: 5px;
  margin-right: 10px;
}
/* マスタの件数 */
#ichiran_count {
  float: right;
  font-weight: bold;
  font-size: 12px;
}
.buttons {
  display: inline-block;
  margin-bottom: 11px;
}
/* モーダルダイアログ */
.modal{
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  width: 100%;
  left: 0;
  padding: 0;
  box-shadow: none;
  margin: 0;
  border: 0;
  text-align: center;
  background-color: transparent;
}
.modal__bg {
  background: rgba(0,0,0,0.4);
  height: 100vh;
  position: absolute;
  width: 100%;
}
.modal__content {
  background: #fff;
  left: 50%;
  padding: 20px 40px 20px 40px;
  position: absolute;
  top: 50%;
  transform: translate(-50%,-50%);
}
.modal__content > div {
  margin-top: 10px;
}
.modal__content b {
  display: block;
}
/* ポップアップメニュー */
.dot-menu-content {
  position: absolute;
  border-radius: 5px;
  box-shadow: 1px 1px 4px 0px #02255529;
  padding: 9px 11px 13px 14px;
  background-color: white;
  display: none;
  z-index: 100;
}
.dot-menu-content li {
  color: #484848;
  padding: 8px 30px;
  cursor: pointer;
  white-space: nowrap;
}
.dot-menu-content li:hover {
  background-color: #e3edf7;
}

/* コマのカラー */
.fill {
  background: linear-gradient(to bottom, #ffffff, #ff7700);
}
.limited {
  background: linear-gradient(to bottom, #ffffff, #ff9999);
}
.sufficient {
  background: linear-gradient(to bottom, #ffffff, #bbddff);
}
.absence {
  background: #ccc;
}

/* 会員ページのヘッダーに表示する会員情報 */
#memberInfo {
  border: 1px solid #ccc;
  padding: 4px 10px;
  border-radius: 7px;
  width: fit-content;
  line-height: 20px;
  display: inline-block;
  margin: 2px 7px;
  background-color: #ffeecc;
}
#memberInfo > div{
  display: inline-block;
  margin-right: 10px;
}
#memberInfo img {
  width: 7px;
  float: none;
  display: inline-block;
}
/* グラフ領域の隙間 */
#main .graph {
  table-layout: fixed;
  margin-top: 5px;
  margin-bottom: 15px;
}
/* 表を上詰めになるように配置 */
#main .graph td {
  vertical-align: top;
}
/* 表の形式 */
.detail {
  width: 100%;
  min-width: 300px;
  table-layout: fixed;
  border-collapse: separate;
}
/* 表のヘッダーがスクロールしないようにする */
.detail th {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  border-top: 1px solid #cccccc;
  border-bottom: 1px solid #cccccc;
  border-right: 1px solid #cccccc;
  background-color: #f7f8f8;
  color: #757575;
  font-size: 12px;
}
/* 罫線 */
.detail td:first-child,
.detail th:first-child {
  border-left: 1px solid #cccccc;
}
.detail td {
  border-bottom: 1px solid #cccccc;
  border-right: 1px solid #cccccc;
  text-align: center;
  padding: 10px;
  font-size: 15px;
  white-space: nowrap;
  background-color: white;
}
.detail tfoot td {
  background-color: azure;
}
/* ツールチップが中央のラベルより優先順位が高くなるようにする */
canvas {
  position: relative;
  z-index: 1;
}
/* 円グラフの中央 */
.label-box {
  /* box-sizing はプラグインで padding-top を付与したときに height を変えないようにするために付けています */
  box-sizing: border-box;
  height: 340px;
  width: 340px;
  /* 縦横中央揃え */
  display: flex;
  align-items: center;
  justify-content: center;
  /* グラフ上に配置 */
  margin-top: -340px;
}
/* タイトル、値 */
.label-box .label {
  color: #323c46;
  text-align: center;
  background-color: white;
  padding-bottom: 15px;
}
.label-box .label .title {
  font-size: 17px;
  letter-spacing: .05em;
  margin-bottom: 10px;
}
.label-box .label .value {
  font-family: Roboto-Medium;
  font-size: 16px;
  line-height: 1em;
  font-weight: normal;
}
.label-box .label .value .per {
  font-size: 12px;
  font-weight: bold;
}
/* エクスポートボタン */
p.export {
  background-color: white;
  color: #323c46;
  border-radius: 3px;
  float: right;
  padding: 4px 12px 4px;
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
  margin-top: 13px;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  transition: 1s;
}
p.export span {
  z-index: 1;
  position: relative;
}
p.export:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  border-radius: 5px;
  transform: translate(-101%,-50%);
  width: 100%;
  height: 100%;
  background-color: #157FB2;
  transition: transform .6s cubic-bezier(.53,.21,0,1);
  box-sizing: border-box;
}
p.export.click:before,
p.export:hover:before {
  transform: translateY(-50%);
}
p.export:hover {
  color: white;
}
/* 点滅 */
.blinking {
	-webkit-animation:blink 1.5s ease-in-out infinite alternate;
    -moz-animation:blink 1.5s ease-in-out infinite alternate;
    animation:blink 1.5s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
/* ダイアログによるダイアログがパーツが出ないようにするため */
#confirmDialog,
#alertDialog {
  display: none;
}
