@charset "UTF-8";
/**
 * Dart Sass でコンパイルし、CSSファイルを生成する。
 * dart-sass\sass.bat project\scss:project\css --style=compressed
 */
/**
 * ページ上部えんじ色の帯
 */
/**
 * 主要な色
 */
/**
 * 変数
 */
/**
 * メディアクエリ
 * 使用例:
 * @include config.mq(pc) {
 *   PC向けのスタイル
 * }
 */
.l-statusbar {
  display: flex;
  justify-content: space-between;
  background-color: #990033;
  border: 2px solid #990033;
}
.l-statusbar__logo {
  padding: 7px 0 7px 10px;
}
.l-statusbar__top-link {
  font-size: 16px;
  font-family: "Meiryo UI", "Osaka", sans-serif;
  line-height: 1;
}
.l-statusbar__top-link:link, .l-statusbar__top-link:visited, .l-statusbar__top-link:hover, .l-statusbar__top-link:active {
  color: #fff;
  background-color: transparent;
  text-decoration: none;
}
.l-statusbar__ish {
  height: 28px;
  width: auto;
  margin-right: 8px;
  vertical-align: text-bottom;
}
.l-statusbar__corp {
  margin-left: 5px;
  color: #fff;
}
.l-statusbar__corp::before {
  content: "(";
  margin-right: 0.2em;
}
.l-statusbar__corp::after {
  content: ")";
  margin-left: 0.2em;
}
.l-statusbar__user {
  display: flex;
  align-items: center;
  padding: 10px 2em;
  background-color: #fff;
}
.l-statusbar__userinfo {
  display: flex;
  align-items: center;
}
.l-statusbar__username {
  margin: 0 1em 0 5px;
}
.l-statusbar__info-link {
  font-weight: bold;
}
.l-statusbar__level {
  margin: 0 3em 0 5px;
  color: #990033;
}
.l-statusbar__logout-icon {
  width: 12px;
  height: 12px;
  margin-right: 5px;
}
body div#loginuser .l-statusbar__local {
  background-color: #0d693b;
}

/**
 * グローバルメニューボタン
 */
.l-menubar {
  box-sizing: border-box;
}
.l-menubar * {
  box-sizing: border-box;
}
.l-menubar__list {
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
@media screen and (min-width: 1006px) {
  .l-menubar__list {
    width: 1006px;
  }
}
@media screen and (max-width: calc(1006px - 1px)) {
  .l-menubar__list {
    width: 98%;
    flex-wrap: wrap;
    row-gap: 10px;
  }
}
.l-menubar__item {
  height: 36px;
  list-style-type: none;
}
@media screen and (min-width: 1006px) {
  .l-menubar__item {
    flex: 0 0 12%;
  }
}
@media screen and (max-width: calc(1006px - 1px)) {
  .l-menubar__item {
    flex: 0 0 24%;
  }
}
.l-menubar__link {
  width: 100%;
  height: 100%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: 13px;
  font-weight: bold;
  font-family: "Meiryo UI", "Osaka", sans-serif;
  text-decoration: none;
  border-top: 1px solid #ccc;
  border-right: 1px solid #999;
  border-bottom: 1px solid #999;
  border-left: 1px solid #ccc;
  border-radius: 4px;
}
.l-menubar__link:link, .l-menubar__link:visited, .l-menubar__link:active {
  color: #333;
  background: linear-gradient(to bottom, #fff, #f1f1f1 50%, #dfdfdf 90%, #ccc);
}
.l-menubar__link:hover {
  color: #fff;
  background: linear-gradient(to bottom, #990033, 80%, #600);
}
.l-menubar__sticky {
  position: sticky;
  top: 0;
}

/**
 * フッター
 */
.l-footer {
  margin-top: 2em;
  padding: 1em;
  text-align: right;
}
.l-footer__pagetop::before {
  content: "▲";
  margin-right: 0.2em;
}

/**
 * ボタン類
 */
.c-button {
  padding: 8px 2em;
  font-size: 15px;
  font-weight: bold;
  line-height: 1.5;
}
.c-button-secondary {
  font-size: 12px;
}

.c-button-mini {
  padding: 2px 0.8em;
}
.c-button-mini-secondary {
  font-size: 0.8em;
}

a.c-link-button {
  display: inline-block;
  padding: 0.2em 1em;
  color: #000;
  background-color: #e5e5e5;
  border: 1px solid #4f4f4f;
  border-radius: 5px;
}
a.c-link-button:hover {
  background-color: #efefef;
}

.c-dl-button {
  padding: 0.3em 1em;
}

/**
 * パンくずリスト
 */
.c-breadlink-gt {
  margin: 0 0.5em;
}

/**
 * テーブル共通スタイル
 */
.c-common-tbl {
  width: 100%;
  box-sizing: border-box;
  border-collapse: collapse;
  border: 1px solid #c0c0c0;
}
.c-common-tbl__hd, .c-common-tbl__data {
  padding: 5px;
  font-size: 12px;
  border: 1px solid #c0c0c0;
}
.c-common-tbl__hd {
  text-align: center;
  font-weight: normal;
  color: #000;
  background-color: #dcdcdc;
}
.c-common-tbl__row--alt {
  background-color: #f5f5f5;
}
.c-common-tbl__cell-center {
  text-align: center;
}
.c-common-tbl__nowrap {
  white-space: nowrap;
}
.c-common-tbl__sticky {
  position: sticky;
  top: 0;
  z-index: 10;
}

/**
 * 細かなパーツ類
 */
.c-msg {
  display: none;
}
.c-msg.msg-show {
  display: block;
}
.c-msg__txt {
  vertical-align: middle;
  color: #990033;
  font-weight: bold;
}
.c-msg__chk {
  display: none;
}
.c-msg__close {
  display: inline-block;
  width: 16px;
  height: 16px;
  vertical-align: middle;
  cursor: pointer;
}
.c-msg__close img {
  width: 100%;
  height: auto;
}
.c-msg__chk:checked + .c-msg__close, .c-msg__chk:checked + .c-msg__close + .c-msg__txt {
  display: none;
}

.c-from {
  margin: 0 0.3em;
}

/**
 * 一覧ページ上部の抽出条件指定などのパネル
 */
.c-control {
  box-sizing: border-box;
  padding: 0.5em 1em;
  background-color: #dcdcdc;
  border: 1px solid #c0c0c0;
  border-radius: 8px;
}

/**
 * ヘルプメッセージ
 */
/* ヘルプ表示リンク */
.c-help-btn__open {
  padding-right: 1.6em;
  cursor: pointer;
  font-size: 12px;
  color: #990033;
  background-image: url("../../img/icon-help.svg");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: contain;
  border: none;
}

/* ヘルプウィンドウ (フローティング) */
.c-help {
  display: none;
  width: fit-content;
  position: absolute;
  z-index: 9999;
  background-color: #fff;
  border: 1px solid #666;
  box-shadow: 10px 10px 10px #c0c0c0;
}
.c-help__hd {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
  background-color: #f5f5f5;
  border-bottom: 1px solid #666;
  font-weight: bold;
}
.c-help__close {
  cursor: pointer;
  width: 10px;
  height: auto;
}
.c-help__body {
  padding: 10px;
}
.c-help__memo {
  margin-bottom: 0.5em;
  line-height: 1.4;
}

/**
 * カレンダー (flatpickr)
 */
.flatpickr-calendar .flatpickr-current-month {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: center;
}
.flatpickr-calendar .flatpickr-day:not(.prevMonthDay):not(.nextMonthDay).sunday, .flatpickr-calendar .flatpickr-day:not(.prevMonthDay):not(.nextMonthDay).holiday {
  color: #fff;
  background-color: #f78e73;
}
.flatpickr-calendar .flatpickr-day:not(.prevMonthDay):not(.nextMonthDay).saturday {
  color: #fff;
  background-color: #73a2de;
}

/**
 * トップページのスタイル
 */
/* 打刻ボタン */
.p-top-timestamp {
  width: 860px;
  margin: 15px auto 0;
  font-size: 15px;
}
.p-top-timestamp__hd {
  margin-bottom: 10px;
  font-weight: bold;
  color: #990033;
}
.p-top-timestamp__button:nth-child(2) {
  margin-left: 1em;
}

/* トップメニューボタン */
.p-top-menu {
  width: 860px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: 8px;
}
.p-top-menu__item {
  border-radius: 4px;
  border-width: 1px;
  border-style: solid;
  border-color: #eee #333 #333 #eee;
  box-shadow: 1px 1px 2px #666;
}
.p-top-menu__item--default {
  flex: 0 0 19%;
  height: 44px;
}
.p-top-menu__item--default .p-top-menu__btn {
  font-size: 15px;
}
.p-top-menu__item--shared {
  height: 60px;
}
.p-top-menu__item--shared .p-top-menu__btn {
  font-size: 20px;
}
.p-top-menu__btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  text-align: center;
  font-weight: bold;
  font-family: "Meiryo UI", "Osaka", sans-serif;
}
.p-top-menu__btn:link, .p-top-menu__btn:visited, .p-top-menu__btn:hover, .p-top-menu__btn:active {
  color: #fff;
}
.p-top-menu__btn:hover {
  background-color: #be1d40;
}
.p-top-menu__btn--green {
  background-color: #0d693b;
}
.p-top-menu__btn--gray {
  background-color: #535961;
}
.p-top-menu__btn--yellow {
  background-color: #cf9a06;
}
.p-top-menu__btn--blue {
  background-color: #053680;
}

.p-shared-menu {
  width: 80%;
  margin: 2em auto 0;
}

/**
 * 打刻ページ
 */
.p-timestamp {
  width: 1006px;
  margin: 1em auto 0;
}
.p-timestamp.shared-device {
  width: 90%;
  margin: 0 auto;
  padding: 1em;
}
.p-timestamp__title {
  margin-bottom: 1em;
  font-size: 2em;
}
.p-timestamp__title-type {
  color: #990033;
  font-weight: bold;
}
.p-timestamp__time {
  margin-bottom: 1em;
  font-size: 2.5em;
  font-weight: bold;
  color: #990033;
}
.p-timestamp__btn {
  font-size: 2em;
}
.p-timestamp__cancel {
  margin-left: 2em;
  font-size: 1.5em;
}
.p-timestamp__staff {
  margin-bottom: 1em;
  font-size: 1.5em;
}

.breadlink.shared-device {
  display: none;
}

.p-timestamp-menu {
  width: 90%;
  margin: 0 auto;
  padding: 1em;
}
.p-timestamp-menu__title {
  margin-bottom: 0.5em;
  font-size: 2em;
  color: #990033;
}
.p-timestamp-menu__body {
  display: flex;
  flex-wrap: wrap;
  gap: 1em 1%;
}
.p-timestamp-menu__item {
  flex: 0 0 32%;
}
.p-timestamp-menu__link {
  display: block;
  padding: 1em 0;
  text-align: center;
  text-decoration: none;
  font-size: 2em;
  border: 1px solid #053680;
}
.p-timestamp-menu__link:link, .p-timestamp-menu__link:visited {
  color: #fff;
  background-color: #053680;
}
.p-timestamp-menu__link:hover, .p-timestamp-menu__link:focus, .p-timestamp-menu__link:active {
  color: #053680;
  background-color: #fff;
}
.p-timestamp-menu__back {
  margin-top: 1em;
  text-align: right;
}
.p-timestamp-menu__back-link {
  font-size: 2em;
}

/**
 * 日報
 */
#box_daily {
  font-size: 16px;
}

.p-daily-workingtime {
  display: flex;
  padding: 4px 10px;
  justify-content: space-between;
}
.p-daily-workingtime__ts {
  display: flex;
  flex-wrap: wrap;
  column-gap: 1em;
}
.p-daily-workingtime__ts-hd {
  font-size: 14px;
  color: #006;
}
.p-daily-workingtime__ts-num {
  width: 40px;
}
.p-daily-workingtime__ts-submit {
  padding-left: 1em;
  padding-right: 1em;
}
.p-daily-workingtime__msg {
  flex: 0 0 100%;
}
.p-daily-workingtime__breaktime {
  margin-left: 0.3em;
}
.p-daily-workingtime__home-all-days {
  margin-right: 0.3em;
}

.p-daily-history {
  width: 94%;
  margin: 10px auto 0;
  padding: 4px 10px;
  border: 1px solid #696969;
  background-color: #dcdcdc;
}
.p-daily-history__item:nth-child(n+2) {
  margin-left: 1em;
}
.p-daily-history__time {
  margin-left: 0.2em;
  font-style: normal;
  font-weight: bold;
}
.p-daily-history--admin {
  text-align: center;
}

.p-daily-boss-check {
  display: flex;
  align-items: center;
  margin-top: 10px;
  border: 1px solid #999;
}
.p-daily-boss-check__hd {
  padding: 5px;
  font-size: 12px;
  background-color: #dcdcdc;
  border-right: 1px solid #999;
}
.p-daily-boss-check__items {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  flex: 1 0 auto;
  padding: 5px;
  font-size: 14px;
}
.p-daily-boss-check__mark {
  display: inline-block;
  width: 2em;
  padding-left: 3px;
  color: #990033;
}

/**
 * 設定
 */
/* 設定トップ */
.p-config-top__list {
  box-sizing: border-box;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 4%;
  gap: 1em 4%;
}
.p-config-top__item {
  list-style-type: none;
  flex: 0 0 30%;
}

/* 担当者 */
.p-config-staff td[data-daily=off] {
  background-color: #c0c0c0;
}
.p-config-staff tr[data-bg-color=gray] {
  background-color: #c0c0c0;
}
.p-config-staff tr[data-bg-color=yellow] {
  background-color: #ffffcc;
}
.p-config-staff__right {
  text-align: right;
}
.p-config-staff__auth {
  display: flex;
}
.p-config-staff__auth-item {
  list-style-type: none;
  counter-increment: authcounter;
}
.p-config-staff__auth-item::before {
  content: "(" counter(authcounter) ")";
  margin-right: 0.2em;
}
.p-config-staff__auth-item:nth-child(n+2) {
  margin-left: 1.5em;
}
.p-config-staff__submit-btn:nth-child(n+2) {
  margin-top: 1.5em;
}
.p-config-staff__worktime {
  display: flex;
}
.p-config-staff__worktime-hd {
  padding: 6px 1em;
  color: #fff;
  background-color: #696969;
}
.p-config-staff__worktime-data {
  padding: 6px 2em 6px 5px;
}

/* 定休日/計画年休 */
.p-config-holiday__ctrl {
  display: flex;
  justify-content: space-between;
}
.p-config-holiday__ctrl-l, .p-config-holiday__ctrl-r {
  flex: 0 0 48%;
}
.p-config-holiday__select:nth-child(1) {
  margin: 0 10px 10px 0;
}
.p-config-holiday__cal {
  display: flex;
  justify-content: space-between;
}
.p-config-holiday__cal-l, .p-config-holiday__cal-r {
  flex: 0 0 48%;
}
.p-config-holiday__chk-holiday {
  accent-color: #00f;
}
.p-config-holiday__chk-scheduled-leave {
  accent-color: #990033;
}
.p-config-holiday__other-type {
  margin-top: 1em;
  font-size: 16px;
}
.p-config-holiday__disabled {
  transform-origin: 0 50%;
  scale: 2;
  margin-right: 2em;
}

/* 勤務時間・分 */
.p-config-ts-round {
  width: 1006px;
  margin: 0 auto;
}
.p-config-ts-round__title {
  font-size: 16px;
  font-weight: bold;
  color: #006;
}
.p-config-ts-round__note {
  margin-bottom: 1em;
  font-size: 14px;
  text-indent: 1em;
  line-height: 1.5;
  color: #666;
}
.p-config-ts-round__item {
  display: flex;
  align-items: center;
  margin-bottom: 1em;
}
.p-config-ts-round__hd {
  margin-right: 0.5em;
}
.p-config-ts-round__min {
  margin-left: 0.2em;
}
.p-config-ts-round__msg {
  margin-bottom: 1em;
  font-weight: bold;
  color: #990033;
}

/**
 * 勤怠申請
 */
/* 勤怠申請フォーム */
.p-attendance__header {
  display: flex;
  justify-content: space-between;
}
.p-attendance__left {
  display: flex;
  font-size: 18px;
  font-weight: bold;
}
.p-attendance__staff-name-hd {
  flex: 0 0 150px;
  color: #990033;
}
.p-attendance__remaining-days {
  display: flex;
}
.p-attendance__remaining-days-attention {
  color: #cc0000;
}

/* 勤怠申請一覧 */
.p-attendance-list__ctrl {
  width: 1006px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
.p-attendance-list__staff-select {
  margin-left: 1em;
}
.p-attendance-list__common-btn {
  text-align: right;
}
.p-attendance-list__entry-btn {
  margin-left: 1em;
}
.p-attendance-list__admin-btn {
  margin-top: 1em;
  text-align: right;
}

/* 出勤簿 */
.p-attendance-rec {
  margin: 0 8px;
}
.p-attendance-rec__record {
  margin-top: 40px;
}
.p-attendance-rec__header {
  display: flex;
  justify-content: space-between;
  font-size: 16px;
}
.p-attendance-rec__title {
  margin: 0 0 10px 10px;
  font-size: 16px;
}
.p-attendance-rec__title-sub {
  margin-left: 80px;
}
.p-attendance-rec__month-wrap {
  margin: 0 35px 0 45px;
}
.p-attendance-rec__staff {
  display: flex;
  margin-bottom: 5px;
}
.p-attendance-rec__staff-id {
  font-weight: bold;
}
.p-attendance-rec__staff-name {
  margin-left: 30px;
  border-bottom: 1px solid #000;
}
.p-attendance-rec__staff-name-wrap {
  margin: 0 30px;
}
.p-attendance-rec__worktime {
  text-align: right;
  font-weight: bold;
}
.p-attendance-rec__worktime-sep {
  margin: 0 10px;
}
.p-attendance-rec__tbl {
  table-layout: fixed;
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #000;
}
.p-attendance-rec__tbl-hd, .p-attendance-rec__tbl-data {
  padding: 0;
  vertical-align: middle;
  text-align: center;
  font-size: 10px;
  font-weight: normal;
  border: 1px solid #000;
}
.p-attendance-rec__tbl-hd:first-child, .p-attendance-rec__tbl-hd:last-child {
  width: 5%;
}
.p-attendance-rec__tbl-data {
  height: 32px;
}
.p-attendance-rec__date {
  padding: 8px 0;
}
.p-attendance-rec__date:first-child {
  border-bottom: 1px solid #000;
}
.p-attendance-rec__nodata {
  background-color: #fdfad2;
}
.p-attendance-rec__holiday {
  background-color: #ffdbed;
}
.p-attendance-rec__footer {
  margin-top: 1em;
}
.p-attendance-rec__fixed {
  text-align: right;
}
.p-attendance-rec__fixed-select {
  margin-right: 0.5em;
}
.p-attendance-rec__msg {
  display: flex;
  justify-content: flex-end;
}
.p-attendance-rec__no-fixed {
  padding: 1em;
  text-align: center;
  color: #990033;
}
@media print {
  .p-attendance-rec__record:not(:last-child) {
    break-after: page;
  }
  .time_slide .p-attendance-rec__tbl-data:first-child br {
    display: none;
  }
}

/* 勤怠一覧 */
.p-attendance-monthly {
  box-sizing: border-box;
  width: 100%;
  overflow: auto;
  padding: 0 1em;
}
.p-attendance-monthly__control {
  width: 1006px;
  margin: 0 auto 1em;
}
.p-attendance-monthly__button {
  margin-left: 1em;
}
.p-attendance-monthly__notice {
  margin-left: 1em;
  color: #990033;
}
.p-attendance-monthly__tbl {
  width: auto;
}
.p-attendance-monthly__total {
  text-align: right;
}
.p-attendance-monthly__chk-no {
  color: #990033;
}
.p-attendance-monthly__chk-no::before {
  content: "▲";
}
.p-attendance-monthly__teikyubi {
  color: #990033;
}

/* 印刷設定 */
@page {
  size: A4 landscape;
  margin: 5mm;
}
/**
 * 集計・分析
 */
.p-analysis {
  width: 1006px;
  margin: 0 auto;
}
.p-analysis * {
  box-sizing: border-box;
}
.p-analysis__btns {
  display: flex;
  margin: 1em 0;
  align-items: center;
}
.p-analysis__btn {
  list-style-type: none;
}
.p-analysis__btn:nth-child(n+2) {
  margin-left: 10px;
}
.p-analysis__btn:last-child {
  margin-left: 50px;
}
.p-analysis__submit {
  padding: 0.3em 1em;
}
.p-analysis__reset {
  padding: 0.3em;
}
.p-analysis__where-item {
  display: flex;
  border: 1px solid #dcdcdc;
}
.p-analysis__where-item:nth-child(n+2) {
  margin-top: 10px;
}
.p-analysis__where-hd {
  flex: 0 0 20%;
  padding: 3px 3px 3px 10px;
  color: #fff;
  background-color: #696969;
}
.p-analysis__where-cri {
  flex: 0 0 80%;
  padding: 5px 5px 5px 10px;
}
.p-analysis__freeword {
  margin-right: 2em;
}
.p-analysis__input-text {
  width: 300px;
}
.p-analysis__checkbox:nth-child(n+2) {
  margin-left: 1em;
}
.p-analysis__ch-submit {
  margin-left: 1em;
  padding: 0 1em;
}
.p-analysis__lbl {
  margin-left: 0.2em;
}
.p-analysis__sep {
  margin: 10px 0;
}
.p-analysis__period {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.p-analysis__period-list {
  display: flex;
  align-items: center;
}
.p-analysis__period-hd {
  margin-right: 0.5em;
}
.p-analysis__cri-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em 1.5em;
}
.p-analysis__cri-item {
  list-style-type: none;
  display: flex;
  align-items: center;
}
.p-analysis__cri-item--fixcol {
  flex: 0 0 17%;
}
.p-analysis__note {
  margin-left: 1em;
  font-size: 0.8em;
}
.p-analysis__result {
  width: 1006px;
  margin: 0 auto 1em;
  padding: 3px 8px;
  font-weight: bold;
  color: #03c;
  background-color: #ffe;
  border: 1px solid #c0c0c0;
}
.p-analysis__count {
  margin-left: 1em;
}
.p-analysis__dl {
  margin-bottom: 1em;
}
.p-analysis__hd, tr .p-analysis__data:nth-child(-n+6) {
  white-space: nowrap;
}
tr .p-analysis__data:nth-child(n+3):nth-child(-n+5) {
  text-align: center;
}

/**
 * 時間外労働時間一覧
 */
.p-overtime {
  padding: 0 1em;
}
.p-overtime__control {
  width: 1006px;
  margin: 0 auto 1em;
}
.p-overtime__button {
  margin-left: 1em;
}
.p-overtime__num {
  text-align: right;
  font-size: 14px;
}
.p-overtime__worktime-hm {
  margin-left: 0.5em;
}
.p-overtime__biztime-hm {
  display: none;
  font-size: 12px;
}
.p-overtime__total {
  background-color: #f4f9ff;
}

/**
 * ファミリーデータ
 */
.p-family__dm {
  display: flex;
  align-items: center;
  margin-bottom: 5px;
  padding: 0.3em;
  background-color: #eee;
}
.p-family__dm-hd {
  margin-right: 0.5em;
}
.p-family__dm-select {
  margin-right: 0.3em;
}
.p-family__dm-update {
  padding: 0 0.5em;
}
.p-family__input-rule {
  text-align: center;
}

/**
 * ユーティリティクラス
 */
.u-ml1em {
  margin-left: 1em;
}

/*# sourceMappingURL=add.css.map */
