@charset "UTF-8";
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
}

body {
  line-height: 1;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

ul li,
ol li {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table, tbody, tfoot, thead, tr, th, td {
  vertical-align: top;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/*------------------------------------------------------------------------
 default
-------------------------------------------------------------------------*/
html {
  font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-size: 62.5%;
  width: 100%;
  height: 100%;
}

body {
  font-size: 1.6em;
  font-weight: 400;
  color: #3F4C62;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  -webkit-overflow-scrolling: touch;
  height: 100%;
}
body::-webkit-scrollbar {
  width: 9px;
  height: 9px;
}
body::-webkit-scrollbar-thumb {
  background-color: #aaa;
  border-radius: 4.5px;
}
body::-webkit-scrollbar-track {
  background-color: #F5F5F5;
  border-radius: 4.5px;
}
body {
  scrollbar-face-color: #aaa;
  scrollbar-track-color: #F5F5F5;
}

a {
  color: #3B80D3;
  cursor: pointer;
  text-decoration: none;
  outline: none;
}

a, img, button {
  transition: 0.3s;
}

img {
  max-width: 100%;
}

button {
  border: none;
  background-color: transparent;
  cursor: pointer;
  font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  outline: none;
}

input, select, textarea {
  background-color: #fff;
  border: 1px solid #eee;
  border-radius: 5px;
  box-sizing: border-box;
  color: #333;
  font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

input[type=radio],
input[type=checkbox],
input[type=file] {
  display: none;
}

input::-moz-placeholder {
  color: #ddd;
  font-size: 1.2rem;
}

input::placeholder {
  color: #ddd;
  font-size: 1.2rem;
}

input:-ms-input-placeholder {
  color: #ddd;
  font-size: 1.2rem;
}

input::-ms-reveal {
  visibility: hidden;
}

input::-ms-clear {
  visibility: hidden;
}

input::-webkit-calendar-picker-indicator {
  display: none;
}

textarea {
  resize: vertical;
}

textarea::-moz-placeholder {
  color: #ddd;
  font-size: 1.2rem;
}

textarea::placeholder {
  color: #ddd;
  font-size: 1.2rem;
}

textarea:-ms-input-placeholder {
  color: #ddd;
  font-size: 1.2rem;
}

select::-ms-expand {
  display: none;
}

/*------------------------------------------------------------------------
 Clearfix
 -------------------------------------------------------------------------*/
.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.clearfix {
  display: inline-block;
}

/* Hide from Mac IE \*/
.clearfix {
  display: block;
}

* html .clearfix {
  height: 1%;
}

/* Hide from Mac IE */
/*------------------------------------------------------------------------
 PC/TAB 切り替え
 -------------------------------------------------------------------------*/
@media screen and (max-width: 1200px) {
  .pc_only {
    display: none !important;
  }
}
/*--------------------------------------------------------------------------
Remove loading effect for hidden Alpine components
---------------------------------------------------------------------------*/
[x-cloak] {
  display: none !important;
}

/* wrapper
---------------------------------------------------------- */
.wrapper {
  background-color: #F5F5F5;
  min-width: 1024px;
  min-height: 100vh;
}

.content_wrap {
  display: block;
  padding: 100px 30px 60px;
  margin-left: auto;
  width: calc(100% - 220px);
}
.content_wrap.is_wide {
  width: calc(100% - 60px);
}

@media screen and (max-width: 1200px) {
  .content_wrap {
    width: calc(100% - 60px);
  }
}
/*------------------------------------------------------------------------
 header
-------------------------------------------------------------------------*/
.header {
  background-color: #fff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
  height: 70px;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
}
.header:after {
  content: "";
  background-color: rgba(0, 0, 0, 0.53);
  display: block;
  transition: 0.3s;
  height: 100%;
  width: 100%;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.header.is_hover:after {
  opacity: 1;
  z-index: 0;
}
.header_main {
  flex-grow: 1;
}
.header_title {
  color: #3B80D3;
  font-size: 1.9rem;
  font-weight: bold;
  font-family: Roboto, Oswald, "Segoe UI", "Helvetica Neue", HelveticaNeue, sans-serif;
  margin-left: 23px;
}
.header_nav {
  display: flex;
  align-items: center;
  padding-left: 20px;
  width: 220px;
}
.header_btn:hover {
  position: relative;
  z-index: 1;
}
.header .header_btn {
  display: none;
}
.header_info {
  display: flex;
  align-items: center;
  padding-right: 30px;
}
.header_user {
  background-image: url("../img/icon_user.svg");
  background-repeat: no-repeat;
  background-position: left center;
  border-right: 1px solid #ddd;
  color: #222;
  font-size: 1.4rem;
  line-height: 1.7;
  min-height: 27px;
  padding: 2px 25px 2px 35px;
  margin-right: 25px;
}
.header_logout {
  background-image: url("../img/icon_logout.svg");
  background-repeat: no-repeat;
  background-position: left center;
  display: block;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.7;
  letter-spacing: -0.04em;
  padding: 1px 0 1px 25px;
}

@media screen and (max-width: 1200px) {
  .header_title {
    margin-left: 43px;
  }
}
@media all and (-ms-high-contrast: none) {
  .header_user,
  .header_logout {
    padding-top: 5px;
  }
}
.header_small .header {
  width: 220px;
}
.header_small .header.is_small {
  width: 60px;
}
.header_small .header_title,
.header_small .header_info,
.header_small .page_title {
  display: none;
}

.attendance_management .attendance_management_show {
  display: inline-flex;
}

/*------------------------------------------------------------------------
 hamburger
-------------------------------------------------------------------------*/
.hamburger {
  cursor: pointer;
  height: 16px;
  width: 20px;
  position: relative;
}
.hamburger span,
.hamburger span:before,
.hamburger span:after {
  content: "";
  background: #3B80D3;
  cursor: pointer;
  display: block;
  transition: 0.3s;
  height: 1px;
  width: 20px;
  position: absolute;
}
.hamburger span {
  top: 50%;
}
.hamburger span:before {
  bottom: 8px;
}
.hamburger span:after {
  top: 8px;
}
.hamburger.is_active span:before,
.hamburger.is_active span:after {
  width: 5px;
}
.hamburger.is_active span:before {
  transform: translate(15px, 6px) rotate(45deg);
}
.hamburger.is_active span:after {
  transform: translate(15px, -6px) rotate(-45deg);
}

@media screen and (max-width: 1200px) {
  .hamburger {
    display: none;
  }
  .hamburger span:before,
  .hamburger span:after {
    width: 5px;
  }
  .hamburger span:before {
    transform: translate(15px, 6px) rotate(45deg);
  }
  .hamburger span:after {
    transform: translate(15px, -6px) rotate(-45deg);
  }
}
/*------------------------------------------------------------------------
 nav
-------------------------------------------------------------------------*/
.nav {
  background-color: #3B80D3;
  box-shadow: 5px 0px 5px rgba(0, 0, 0, 0.13);
  height: calc(100% - 70px);
  width: 220px;
  transition: 0.3s;
  position: fixed;
  top: 70px;
  left: 0;
  z-index: 9999;
}
.nav .nav_footer {
  position: absolute;
  bottom: 0;
  color: #7fb9e3;
  text-align: center;
  padding: 0.5rem;
  font-size: 1.2rem;
}
.nav.is_close {
  width: 60px;
}
.nav.is_close .nav_text {
  display: none;
}
.nav.is_close .nav_link:hover:before, .nav.is_close .nav_link:hover:after {
  display: block;
}
.nav .nav_item {
  border-bottom: 1px solid #71A7E5;
}
.nav .nav_item .nav_link {
  display: block;
  color: #fff;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.7;
  padding: 10px;
  position: relative;
}
.nav .nav_item .nav_link:hover, .nav .nav_item .nav_link.is_current {
  background-color: #2069BE;
}
.nav .nav_item .nav_link:before, .nav .nav_item .nav_link:after {
  display: none;
  transform: translate(0, -50%);
  position: absolute;
  top: 50%;
}
.nav .nav_item .nav_link:before {
  content: attr(data-tooltip);
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0px 2px 7px rgba(0, 0, 0, 0.16);
  color: #3B80D3;
  padding: 10px;
  white-space: nowrap;
  left: calc(72% + 10px);
}
.nav .nav_item .nav_link:after {
  content: "";
  border: 5px solid transparent;
  border-right-color: #fff;
  width: 0;
  height: 0;
  left: 72%;
  z-index: 110;
}
.nav .nav_item .nav_icon {
  display: inline-block;
  vertical-align: middle;
  margin-right: 23px;
}

@media screen and (max-width: 1200px) {
  .nav {
    width: 60px;
  }
  .nav .nav_text {
    display: none;
  }
  .nav .nav_link:hover:before, .nav .nav_link:hover:after {
    display: block;
  }
}
/*------------------------------------------------------------------------
 アコーディオン
-------------------------------------------------------------------------*/
/* accordion
---------------------------------------------------------- */
.accordion_item {
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.06);
  margin-bottom: 20px;
}
.accordion_head {
  background-color: #fff;
  border-radius: 5px;
  cursor: pointer;
  padding: 30px 60px 30px 30px;
  position: relative;
}
.accordion_head:after {
  content: "";
  border-bottom: 1.5px solid #3B80D3;
  border-right: 1.5px solid #3B80D3;
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  margin: auto;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  right: 30px;
  bottom: 0;
}
.accordion_head.is_open {
  border-radius: 5px 5px 0 0;
}
.accordion_head.is_open:after {
  transform: rotate(-135deg);
}
.accordion_date {
  color: #333;
  font-size: 2rem;
  font-weight: bold;
  font-family: Roboto, Oswald, "Segoe UI", "Helvetica Neue", HelveticaNeue, sans-serif;
}
.accordion_category {
  background-color: #647D9B;
  border-radius: 2px;
  color: #fff;
  display: inline-block;
  font-size: 1.3rem;
  letter-spacing: -0.01em;
  line-height: 1;
  padding: 7.5px 16px;
  vertical-align: 4px;
  margin-left: 30px;
}
.accordion_text {
  font-weight: 500;
  letter-spacing: -0.01em;
  margin-top: 20px;
}
.accordion_body {
  border-top: 1px solid #ddd;
  border-radius: 0 0 5px 5px;
  background-color: #fff;
  display: none;
  padding: 0 30px 20px;
}

@media all and (-ms-high-contrast: none) {
  .accordion_category {
    padding: 10px 16px 5px;
  }
}
/* area
---------------------------------------------------------- */
.area_content {
  background-color: #fff;
  border-radius: 5px;
  box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.06);
  width: 100%;
}

.area_info {
  padding: 30px;
}

.area_form {
  padding: 30px 40px 40px;
}

.area_search {
  padding: 10px 30px 25px;
}

/*------------------------------------------------------------------------
 balloon
-------------------------------------------------------------------------*/
button[aria-label][data-balloon-pos] {
  overflow: visible;
}

[aria-label][data-balloon-pos] {
  position: relative;
  cursor: pointer;
}
[aria-label][data-balloon-pos]:after {
  display: none;
  pointer-events: none;
  transition: all 0.18s ease-out 0.18s;
  text-indent: 0;
  font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: bold;
  text-shadow: none;
  font-size: 12px;
  letter-spacing: -0.01em;
  background: #fff;
  border-radius: 5px;
  box-shadow: 0px 2px 7px rgba(0, 0, 0, 0.16);
  color: #01619D;
  content: attr(aria-label);
  padding: 12px;
  position: absolute;
  white-space: nowrap;
  z-index: 100;
}
[aria-label][data-balloon-pos]:before {
  width: 0;
  height: 0;
  border: 5px solid transparent;
  border-top-color: #fff;
  display: none;
  pointer-events: none;
  transition: all 0.18s ease-out 0.18s;
  content: "";
  position: absolute;
  z-index: 110;
}
[aria-label][data-balloon-pos]:hover:before, [aria-label][data-balloon-pos]:hover:after, [aria-label][data-balloon-pos][data-balloon-visible]:before, [aria-label][data-balloon-pos][data-balloon-visible]:after {
  display: block;
  pointer-events: none;
}
[aria-label][data-balloon-pos].font-awesome:after {
  font-family: FontAwesome, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
}
[aria-label][data-balloon-pos][data-balloon-break]:after {
  white-space: pre;
}
[aria-label][data-balloon-pos][data-balloon-break][data-balloon-length]:after {
  white-space: pre-line;
  word-break: break-word;
}
[aria-label][data-balloon-pos][data-balloon-blunt]:before, [aria-label][data-balloon-pos][data-balloon-blunt]:after {
  transition: none;
}
[aria-label][data-balloon-pos][data-balloon-pos=up]:after {
  bottom: 100%;
  left: 50%;
  margin-bottom: 0;
  transform: translate(-50%, 4px);
  transform-origin: top;
}
[aria-label][data-balloon-pos][data-balloon-pos=up]:before {
  top: 0;
  left: 50%;
  transform: translate(-50%, 4px);
  transform-origin: top;
}
[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:after {
  transform: translate(-50%, 0);
}
[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:before {
  transform: translate(-50%, 0);
}
[aria-label][data-balloon-pos][data-balloon-pos=up-left]:after {
  bottom: 100%;
  left: 0;
  margin-bottom: 10px;
  transform: translate(0, 4px);
  transform-origin: top;
}
[aria-label][data-balloon-pos][data-balloon-pos=up-left]:before {
  bottom: 100%;
  left: 5px;
  transform: translate(0, 4px);
  transform-origin: top;
}
[aria-label][data-balloon-pos][data-balloon-pos=up-left]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos=up-left][data-balloon-visible]:after {
  transform: translate(0, 0);
}
[aria-label][data-balloon-pos][data-balloon-pos=up-left]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos=up-left][data-balloon-visible]:before {
  transform: translate(0, 0);
}
[aria-label][data-balloon-pos][data-balloon-pos=up-right]:after {
  bottom: 100%;
  right: 0;
  margin-bottom: 10px;
  transform: translate(0, 4px);
  transform-origin: top;
}
[aria-label][data-balloon-pos][data-balloon-pos=up-right]:before {
  bottom: 100%;
  right: 5px;
  transform: translate(0, 4px);
  transform-origin: top;
}
[aria-label][data-balloon-pos][data-balloon-pos=up-right]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos=up-right][data-balloon-visible]:after {
  transform: translate(0, 0);
}
[aria-label][data-balloon-pos][data-balloon-pos=up-right]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos=up-right][data-balloon-visible]:before {
  transform: translate(0, 0);
}
[aria-label][data-balloon-pos][data-balloon-pos=down]:after {
  left: 50%;
  margin-top: 10px;
  top: 100%;
  transform: translate(-50%, -4px);
}
[aria-label][data-balloon-pos][data-balloon-pos=down]:before {
  width: 0;
  height: 0;
  border: 5px solid transparent;
  border-bottom-color: #fff;
  left: 50%;
  top: 100%;
  transform: translate(-50%, -4px);
}
[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:after {
  transform: translate(-50%, 0);
}
[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:before {
  transform: translate(-50%, 0);
}
[aria-label][data-balloon-pos][data-balloon-pos=down-left]:after {
  left: 0;
  margin-top: 10px;
  top: 100%;
  transform: translate(0, -4px);
}
[aria-label][data-balloon-pos][data-balloon-pos=down-left]:before {
  width: 0;
  height: 0;
  border: 5px solid transparent;
  border-bottom-color: #fff;
  left: 5px;
  top: 100%;
  transform: translate(0, -4px);
}
[aria-label][data-balloon-pos][data-balloon-pos=down-left]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos=down-left][data-balloon-visible]:after {
  transform: translate(0, 0);
}
[aria-label][data-balloon-pos][data-balloon-pos=down-left]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos=down-left][data-balloon-visible]:before {
  transform: translate(0, 0);
}
[aria-label][data-balloon-pos][data-balloon-pos=down-right]:after {
  right: 0;
  margin-top: 10px;
  top: 100%;
  transform: translate(0, -4px);
}
[aria-label][data-balloon-pos][data-balloon-pos=down-right]:before {
  width: 0;
  height: 0;
  border: 5px solid transparent;
  border-bottom-color: #fff;
  right: 5px;
  top: 100%;
  transform: translate(0, -4px);
}
[aria-label][data-balloon-pos][data-balloon-pos=down-right]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos=down-right][data-balloon-visible]:after {
  transform: translate(0, 0);
}
[aria-label][data-balloon-pos][data-balloon-pos=down-right]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos=down-right][data-balloon-visible]:before {
  transform: translate(0, 0);
}
[aria-label][data-balloon-pos][data-balloon-pos=left]:after {
  margin-right: 10px;
  right: 100%;
  top: 50%;
  transform: translate(4px, -50%);
}
[aria-label][data-balloon-pos][data-balloon-pos=left]:before {
  width: 0;
  height: 0;
  border: 5px solid transparent;
  border-left-color: #fff;
  right: 100%;
  top: 50%;
  transform: translate(4px, -50%);
}
[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:after {
  transform: translate(0, -50%);
}
[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:before {
  transform: translate(0, -50%);
}
[aria-label][data-balloon-pos][data-balloon-pos=right]:after {
  left: 100%;
  margin-left: 10px;
  top: 50%;
  transform: translate(-4px, -50%);
}
[aria-label][data-balloon-pos][data-balloon-pos=right]:before {
  width: 0;
  height: 0;
  border: 5px solid transparent;
  border-right-color: #fff;
  left: 100%;
  top: 50%;
  transform: translate(-4px, -50%);
}
[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:after {
  transform: translate(0, -50%);
}
[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:before {
  transform: translate(0, -50%);
}
[aria-label][data-balloon-pos][data-balloon-length=small]:after {
  white-space: normal;
  width: 80px;
}
[aria-label][data-balloon-pos][data-balloon-length=small_medium]:after {
  white-space: normal;
  width: 90px;
}
[aria-label][data-balloon-pos][data-balloon-length=medium]:after {
  white-space: normal;
  width: 130px;
}
[aria-label][data-balloon-pos][data-balloon-length=medium_large]:after {
  white-space: normal;
  width: 150px;
}
[aria-label][data-balloon-pos][data-balloon-length=large]:after {
  white-space: normal;
  width: 250px;
}
[aria-label][data-balloon-pos][data-balloon-length=xlarge]:after {
  white-space: normal;
  width: 380px;
}
@media screen and (max-width: 768px) {
  [aria-label][data-balloon-pos][data-balloon-length=xlarge]:after {
    white-space: normal;
    width: 90vw;
  }
}
[aria-label][data-balloon-pos][data-balloon-length=fit]:after {
  white-space: normal;
  width: 100%;
}

.tooltip {
  background-color: #fff;
  border-radius: 5px;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  color: #333;
  display: none;
  padding: 15px 20px;
  transform: translateX(-50%);
  white-space: nowrap;
  position: absolute;
  bottom: 20px;
  left: 50%;
  z-index: 2;
}
.tooltip:before {
  content: "";
  border: 5px solid transparent;
  border-top-color: #fff;
  display: block;
  transform: translate(-50%, 0);
  width: 0;
  height: 0;
  position: absolute;
  left: 50%;
  bottom: -10px;
  z-index: 110;
}
.tooltip_left {
  top: 50%;
  left: auto;
  right: 100%;
  bottom: auto;
  transform: translate(0, -50%);
}
.tooltip_left:before {
  border: 5px solid transparent;
  border-left-color: #fff;
  transform: translate(0, -50%);
  top: 50%;
  left: auto;
  right: -10px;
  bottom: auto;
}
.tooltip_small {
  white-space: normal;
  width: 250px;
  z-index: 9999;
}
.tooltip_medium {
  white-space: normal;
  width: 290px;
}
.tooltip_large {
  white-space: normal;
  word-break: break-word;
  width: 490px;
}
.tooltip_hover {
  position: relative;
}

/*------------------------------------------------------------------------
 box
-------------------------------------------------------------------------*/
.box {
  background-color: #fff;
  border-radius: 5px;
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.06);
}

.box_wrap_center {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px 0;
  min-height: 100vh;
}

.box_notice {
  text-align: center;
  padding: 40px;
  width: 540px;
}
.box_notice .form {
  margin: auto;
  width: 420px;
}

.box_content {
  padding: 25px 30px 40px;
}

/*------------------------------------------------------------------------
 ボタン
-------------------------------------------------------------------------*/
.btn {
  border: 1px solid #01619D;
  border-radius: 100px;
  background-color: #3B80D3;
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  font-weight: bold;
  text-align: center;
  transition: 0.3s;
  letter-spacing: -0.01em;
  padding: 0;
  outline: none;
  white-space: nowrap;
}
.btn:hover {
  background-color: #fff;
  color: #3B80D3;
}
.btn:disabled, .btn.is_disabled {
  background-color: #eee;
  border-color: #eee;
  color: #888;
  pointer-events: none;
}

@media all and (-ms-high-contrast: none) {
  .btn {
    padding-top: 4px;
  }
}
/* btn_white
---------------------------------------------------------- */
.btn_white {
  border-color: #3B80D3;
  background-color: #fff;
  color: #3B80D3;
}
.btn_white:hover {
  background-color: #3B80D3;
  color: #fff;
}
.btn_white.btn_border {
  background-color: transparent;
}
.btn_white.btn_border:hover {
  background-color: #3B80D3;
}
.btn_white.btn_border:disabled, .btn_white.btn_border.is_disabled {
  background-color: #eee;
}

/* btn_main
---------------------------------------------------------- */
.btn_main {
  height: 50px;
  width: 250px;
}

/* btn_medium
---------------------------------------------------------- */
.btn_medium {
  height: 35px;
  width: 170px;
}

/* btn_small
---------------------------------------------------------- */
.btn_small {
  font-size: 1rem;
  line-height: 28px;
  height: 30px;
  width: 110px;
}

/* btn_center
---------------------------------------------------------- */
.btn_center {
  margin: auto;
}

/* btn_icon
---------------------------------------------------------- */
.btn_icon {
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 50%;
  box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.16);
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  text-align: center;
  transition: 0.3s;
  padding: 0;
  height: 43px;
  width: 43px;
  vertical-align: top;
}
.btn_icon:hover {
  border-color: #3B80D3;
}
.btn_icon.is_active {
  background-color: #3B80D3;
  border-color: #3B80D3;
}
.btn_icon.is_active .icon_pin {
  fill: #fff;
  stroke: #fff;
}
.btn_icon:disabled, .btn_icon.is_disabled {
  background-color: #eee;
  box-shadow: none;
  pointer-events: none;
}
.btn_icon.is_checked {
  background-color: #ddd;
  box-shadow: none;
  pointer-events: none;
}
.btn_icon_small {
  border: 1px solid #01619D;
  height: 30px;
  width: 30px;
}

/* btn_img
---------------------------------------------------------- */
.btn_img {
  display: inline-flex;
  flex-shrink: 0;
  padding: 0;
}
.btn_img_download {
  width: 20px;
}
.btn_img_delete {
  width: 17px;
}

/* btn_form
---------------------------------------------------------- */
.btn_form {
  font-size: 1.6rem;
  margin-left: auto;
  height: 60px;
  width: 250px;
}

.btn_form_left {
  font-size: 1.6rem;
  margin-left: 0;
  height: 60px;
  width: 250px;
}

.form_estimate_btn_box, .form_location_btn_box {
  margin-top: 30px;
}

.btn_location {
  display: none;
}

/* btn_filter
---------------------------------------------------------- */
.btn_filter {
  height: 35px;
  width: 170px;
}

/* btn_clear
---------------------------------------------------------- */
.btn_clear {
  border: none;
  color: #3B80D3;
  cursor: pointer;
  font-weight: bold;
  padding: 0;
}
.btn_clear:disabled, .btn_clear.is_disabled {
  color: #71A7E5;
  pointer-events: none;
}

/* btn_check
---------------------------------------------------------- */
.btn_check_label {
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.09);
  font-size: 1.2rem;
  margin: auto;
  height: 30px;
  width: 80px;
}
.btn_check_label + .btn_check_date {
  display: none;
}

.btn_check:checked + .btn_check_label {
  background-color: transparent;
  border: none;
  box-shadow: none;
  color: #333;
  cursor: default;
  height: auto;
}
.btn_check:checked + .btn_check_label + .btn_check_date {
  display: block;
}

/* btn_accordion
---------------------------------------------------------- */
.btn_accordion {
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  font-size: 1.6rem;
  margin: 20px auto 0;
  height: 60px;
  width: 250px;
  position: relative;
}
.btn_accordion:after {
  content: "";
  border-top: 1.5px solid #3B80D3;
  border-right: 1.5px solid #3B80D3;
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  margin: auto;
  transform: rotate(135deg);
  position: absolute;
  top: -5px;
  right: 20px;
  bottom: 0;
}
.btn_accordion.is_open:after {
  transform: rotate(-45deg);
  top: 0;
}
.btn_accordion:hover:after {
  border-color: #fff;
}

.btn_accordion_small {
  font-size: 1.6rem;
  margin: 0;
  height: 18px;
  width: 37px;
  position: relative;
}
.btn_accordion_small:after {
  content: "";
  border-top: 1.5px solid #3B80D3;
  border-right: 1.5px solid #3B80D3;
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  margin: auto;
  transform: rotate(135deg);
  position: absolute;
  top: -5px;
  bottom: 0;
}
.btn_accordion_small.is_open:after {
  transform: rotate(-45deg);
  top: 5px;
}
.btn_accordion_small:hover:after {
  border-color: #fff;
}

/*------------------------------------------------------------------------
 datepicker
-------------------------------------------------------------------------*/
/*!
 * Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker)
 *
 * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)
 */
.datepicker {
  background-color: #F5F5F5;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  font-size: 12px;
  letter-spacing: -0.01em;
  direction: ltr;
  position: absolute;
  z-index: 100000 !important;
}

.datepicker-inline {
  width: 220px;
}

.datepicker-rtl {
  direction: rtl;
}

.datepicker-rtl.dropdown-menu {
  left: auto;
}

.datepicker-rtl table tr td span {
  float: right;
}

.datepicker-dropdown {
  top: 0;
  left: 0;
}

.datepicker-dropdown:before {
  content: "";
  display: inline-block;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid #ddd;
  border-top: 0;
  border-bottom-color: #F5F5F5;
  position: absolute;
}

.datepicker-dropdown:after {
  content: "";
  display: inline-block;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #fff;
  border-top: 0;
  position: absolute;
}

.datepicker-dropdown.datepicker-orient-left:before {
  left: 15px;
}

.datepicker-dropdown.datepicker-orient-left:after {
  left: 16px;
}

.datepicker-dropdown.datepicker-orient-right:before {
  right: 6px;
}

.datepicker-dropdown.datepicker-orient-right:after {
  right: 7px;
}

.datepicker-dropdown.datepicker-orient-bottom:before {
  top: -7px;
}

.datepicker-dropdown.datepicker-orient-bottom:after {
  top: -6px;
}

.datepicker-dropdown.datepicker-orient-top:before {
  bottom: -7px;
  border-bottom: 0;
  border-top: 7px solid #ddd;
}

.datepicker-dropdown.datepicker-orient-top:after {
  bottom: -6px;
  border-bottom: 0;
  border-top: 6px solid #fff;
}

.datepicker table {
  border-collapse: collapse;
  table-layout: fixed;
  width: auto;
  margin: 0;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.datepicker table tr {
  border: none;
}

.datepicker td,
.datepicker th {
  background-color: #F5F5F5;
  text-align: center;
  width: 30px;
  height: 30px;
  border: none;
  vertical-align: middle;
}

.datepicker th.dow {
  font-weight: bold;
}

.datepicker th.dow:first-child {
  color: #D93D3D;
}

.datepicker th.dow:last-child {
  color: #01619D;
}

.table-striped .datepicker table tr td,
.table-striped .datepicker table tr th {
  background-color: transparent;
}

.datepicker table tr td.day:hover,
.datepicker table tr td.day.focused {
  background-color: #3B80D3;
  border-radius: 50%;
  color: #fff;
  cursor: pointer;
}

.datepicker table tr td.old,
.datepicker table tr td.new {
  color: #888;
}

.datepicker table tr td.disabled,
.datepicker table tr td.disabled:hover {
  background: none;
  color: #888;
  cursor: default;
}

.datepicker table tr td.highlighted {
  background: #d9edf7;
  border-radius: 0;
}

.datepicker table tr td.today,
.datepicker table tr td.today:hover,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today.disabled:hover {
  background-color: #fde19a;
  background-image: linear-gradient(to bottom, #fdd49a, #fdf59a);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#fdd49a", endColorstr="#fdf59a", GradientType=0);
  border-color: #fdf59a #fdf59a #fbed50;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  color: #000;
}

.datepicker table tr td.today:hover,
.datepicker table tr td.today:hover:hover,
.datepicker table tr td.today.disabled:hover,
.datepicker table tr td.today.disabled:hover:hover,
.datepicker table tr td.today:active,
.datepicker table tr td.today:hover:active,
.datepicker table tr td.today.disabled:active,
.datepicker table tr td.today.disabled:hover:active,
.datepicker table tr td.today.active,
.datepicker table tr td.today:hover.active,
.datepicker table tr td.today.disabled.active,
.datepicker table tr td.today.disabled:hover.active,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today:hover.disabled,
.datepicker table tr td.today.disabled.disabled,
.datepicker table tr td.today.disabled:hover.disabled,
.datepicker table tr td.today[disabled],
.datepicker table tr td.today:hover[disabled],
.datepicker table tr td.today.disabled[disabled],
.datepicker table tr td.today.disabled:hover[disabled] {
  background-color: #fdf59a;
}

.datepicker table tr td.today:active,
.datepicker table tr td.today:hover:active,
.datepicker table tr td.today.disabled:active,
.datepicker table tr td.today.disabled:hover:active,
.datepicker table tr td.today.active,
.datepicker table tr td.today:hover.active,
.datepicker table tr td.today.disabled.active,
.datepicker table tr td.today.disabled:hover.active {
  background-color: #fbf069 \9 ;
}

.datepicker table tr td.today:hover:hover {
  color: #000;
}

.datepicker table tr td.today.active:hover {
  color: #fff;
}

.datepicker table tr td.range,
.datepicker table tr td.range:hover,
.datepicker table tr td.range.disabled,
.datepicker table tr td.range.disabled:hover {
  background: #F5F5F5;
  border-radius: 0;
}

.datepicker table tr td.range.today,
.datepicker table tr td.range.today:hover,
.datepicker table tr td.range.today.disabled,
.datepicker table tr td.range.today.disabled:hover {
  background-color: #f3d17a;
  background-image: linear-gradient(to bottom, #f3c17a, #f3e97a);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#f3c17a", endColorstr="#f3e97a", GradientType=0);
  border-color: #f3e97a #f3e97a #edde34;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  border-radius: 0;
}

.datepicker table tr td.range.today:hover,
.datepicker table tr td.range.today:hover:hover,
.datepicker table tr td.range.today.disabled:hover,
.datepicker table tr td.range.today.disabled:hover:hover,
.datepicker table tr td.range.today:active,
.datepicker table tr td.range.today:hover:active,
.datepicker table tr td.range.today.disabled:active,
.datepicker table tr td.range.today.disabled:hover:active,
.datepicker table tr td.range.today.active,
.datepicker table tr td.range.today:hover.active,
.datepicker table tr td.range.today.disabled.active,
.datepicker table tr td.range.today.disabled:hover.active,
.datepicker table tr td.range.today.disabled,
.datepicker table tr td.range.today:hover.disabled,
.datepicker table tr td.range.today.disabled.disabled,
.datepicker table tr td.range.today.disabled:hover.disabled,
.datepicker table tr td.range.today[disabled],
.datepicker table tr td.range.today:hover[disabled],
.datepicker table tr td.range.today.disabled[disabled],
.datepicker table tr td.range.today.disabled:hover[disabled] {
  background-color: #f3e97a;
}

.datepicker table tr td.range.today:active,
.datepicker table tr td.range.today:hover:active,
.datepicker table tr td.range.today.disabled:active,
.datepicker table tr td.range.today.disabled:hover:active,
.datepicker table tr td.range.today.active,
.datepicker table tr td.range.today:hover.active,
.datepicker table tr td.range.today.disabled.active,
.datepicker table tr td.range.today.disabled:hover.active {
  background-color: #efe24b \9 ;
}

.datepicker table tr td.selected,
.datepicker table tr td.selected:hover,
.datepicker table tr td.selected.disabled,
.datepicker table tr td.selected.disabled:hover {
  background-color: #9e9e9e;
  background-image: linear-gradient(to bottom, #b3b3b3, #808080);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#b3b3b3", endColorstr="#808080", GradientType=0);
  border-color: #808080 #808080 #595959;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  color: #fff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}

.datepicker table tr td.selected:hover,
.datepicker table tr td.selected:hover:hover,
.datepicker table tr td.selected.disabled:hover,
.datepicker table tr td.selected.disabled:hover:hover,
.datepicker table tr td.selected:active,
.datepicker table tr td.selected:hover:active,
.datepicker table tr td.selected.disabled:active,
.datepicker table tr td.selected.disabled:hover:active,
.datepicker table tr td.selected.active,
.datepicker table tr td.selected:hover.active,
.datepicker table tr td.selected.disabled.active,
.datepicker table tr td.selected.disabled:hover.active,
.datepicker table tr td.selected.disabled,
.datepicker table tr td.selected:hover.disabled,
.datepicker table tr td.selected.disabled.disabled,
.datepicker table tr td.selected.disabled:hover.disabled,
.datepicker table tr td.selected[disabled],
.datepicker table tr td.selected:hover[disabled],
.datepicker table tr td.selected.disabled[disabled],
.datepicker table tr td.selected.disabled:hover[disabled] {
  background-color: #808080;
}

.datepicker table tr td.selected:active,
.datepicker table tr td.selected:hover:active,
.datepicker table tr td.selected.disabled:active,
.datepicker table tr td.selected.disabled:hover:active,
.datepicker table tr td.selected.active,
.datepicker table tr td.selected:hover.active,
.datepicker table tr td.selected.disabled.active,
.datepicker table tr td.selected.disabled:hover.active {
  background-color: #666666 \9 ;
}

.datepicker table tr td.active,
.datepicker table tr td.active:hover,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active.disabled:hover {
  background-color: #006dcc;
  background-repeat: repeat-x;
  border-color: #0044cc #0044cc #002a80;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  color: #fff;
}

.datepicker table tr td.active:hover,
.datepicker table tr td.active:hover:hover,
.datepicker table tr td.active.disabled:hover,
.datepicker table tr td.active.disabled:hover:hover,
.datepicker table tr td.active:active,
.datepicker table tr td.active:hover:active,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active.active,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled:hover.active,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active:hover.disabled,
.datepicker table tr td.active.disabled.disabled,
.datepicker table tr td.active.disabled:hover.disabled,
.datepicker table tr td.active[disabled],
.datepicker table tr td.active:hover[disabled],
.datepicker table tr td.active.disabled[disabled],
.datepicker table tr td.active.disabled:hover[disabled] {
  background-color: #3B80D3;
  border-radius: 50%;
}

.datepicker table tr td.active:active,
.datepicker table tr td.active:hover:active,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active.active,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled:hover.active {
  background-color: #003399 \9 ;
}

.datepicker table tr td span {
  display: block;
  width: 40px;
  height: 40px;
  line-height: 40px;
  float: left;
  margin: 2px;
  cursor: pointer;
  border-radius: 50%;
  white-space: nowrap;
}

.datepicker table tr td span:hover,
.datepicker table tr td span.focused {
  background: #F5F5F5;
}

.datepicker table tr td span.disabled,
.datepicker table tr td span.disabled:hover {
  background: none;
  color: #999;
  cursor: default;
}

.datepicker table tr td span.active,
.datepicker table tr td span.active:hover,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active.disabled:hover {
  background-color: #3B80D3;
}

.datepicker table tr td span.active:hover,
.datepicker table tr td span.active:hover:hover,
.datepicker table tr td span.active.disabled:hover,
.datepicker table tr td span.active.disabled:hover:hover,
.datepicker table tr td span.active:active,
.datepicker table tr td span.active:hover:active,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active.active,
.datepicker table tr td span.active:hover.active,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active.disabled:hover.active,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active:hover.disabled,
.datepicker table tr td span.active.disabled.disabled,
.datepicker table tr td span.active.disabled:hover.disabled,
.datepicker table tr td span.active[disabled],
.datepicker table tr td span.active:hover[disabled],
.datepicker table tr td span.active.disabled[disabled],
.datepicker table tr td span.active.disabled:hover[disabled] {
  background-color: #3B80D3;
  color: #fff;
}

.datepicker table tr td span.active:active,
.datepicker table tr td span.active:hover:active,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active.active,
.datepicker table tr td span.active:hover.active,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active.disabled:hover.active {
  background-color: #003399 \9 ;
}

.datepicker table tr td span.old,
.datepicker table tr td span.new {
  color: #999;
}

.datepicker .datepicker-switch {
  font-size: 14px;
  font-weight: bold;
  pointer-events: none;
}

.datepicker .datepicker-switch,
.datepicker .prev,
.datepicker .next {
  background-color: #fff;
  padding: 15px 0;
}

.datepicker .datepicker-switch,
.datepicker .prev,
.datepicker .next,
.datepicker tfoot tr th {
  cursor: pointer;
}

.datepicker .prev.disabled,
.datepicker .next.disabled {
  visibility: hidden;
}

.datepicker .cw {
  font-size: 10px;
  width: 12px;
  padding: 0 2px 0 5px;
  vertical-align: middle;
}

.input-append.date .add-on,
.input-prepend.date .add-on {
  cursor: pointer;
}

.input-append.date .add-on i,
.input-prepend.date .add-on i {
  margin-top: 3px;
}

.input-daterange input {
  text-align: center;
}

.input-daterange input:first-child {
  border-radius: 3px 0 0 3px;
}

.input-daterange input:last-child {
  border-radius: 0 3px 3px 0;
}

.input-daterange .add-on {
  display: inline-block;
  width: auto;
  min-width: 16px;
  height: 18px;
  padding: 4px 5px;
  font-weight: normal;
  line-height: 18px;
  text-align: center;
  text-shadow: 0 1px 0 #fff;
  vertical-align: middle;
  background-color: #F5F5F5;
  border: 1px solid #ccc;
  margin-left: -5px;
  margin-right: -5px;
}

.datepicker-months .table-condensed {
  width: 180px;
}

.datepicker-years .table-condensed {
  width: 180px;
}

/*------------------------------------------------------------------------
 detail
-------------------------------------------------------------------------*/
.detail_item {
  border-bottom: 1px solid #ddd;
  padding: 30px 0;
}
.detail_item_half {
  width: calc((100% - 30px) / 2);
}
.detail_item_file {
  border-bottom: 1px solid #ddd;
  cursor: pointer;
  padding: 20px 0;
}
.detail_item_file:first-child {
  padding-top: 30px;
}
.detail_item_file:last-child {
  border-bottom: none;
}
.detail_title {
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  width: 90px;
}
.detail_data {
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: -0.01em;
  width: calc(100% - 90px);
}
.detail_file {
  border-radius: 4px;
  width: 70px;
}
.detail_file_name {
  font-size: 1.2rem;
  font-weight: 500;
  word-break: break-word;
}

/*------------------------------------------------------------------------
 フレックスコンテンツ
-------------------------------------------------------------------------*/
/* flex
---------------------------------------------------------- */
.flex_content {
  display: flex;
  align-items: center;
  justify-content: normal;
}

.flex_content_top {
  display: flex;
  align-items: flex-start;
  justify-content: normal;
}

.flex_content_top_wrap {
  display: flex;
  align-items: flex-start;
  justify-content: normal;
  flex-wrap: wrap;
}

.flex_content_center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.flex_content_end {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.flex_content_bottom {
  display: flex;
  align-items: flex-end;
  justify-content: normal;
}

.flex_content_center_bottom {
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.flex_content_wrap {
  display: flex;
  align-items: stretch;
  justify-content: normal;
  flex-wrap: wrap;
}

.flex_content_between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.flex_content_between_top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.flex_content_between_bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

.flex_content_between_stretch {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
}

.flex_content_between_wrap {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  flex-wrap: wrap;
}

.flex_content_column {
  display: flex;
  align-items: normal;
  justify-content: normal;
  flex-direction: column;
}

.flex_grow {
  flex-grow: 1;
}

.flex_none {
  flex: none;
}

.flex_shrink {
  flex-shrink: 0;
}

/*------------------------------------------------------------------------
 フォーム
-------------------------------------------------------------------------*/
/* form item
---------------------------------------------------------- */
.form_item {
  border-bottom: 1px solid #ddd;
  padding: 30px 0;
}

.form_item_half {
  width: calc((100% - 60px) / 2);
}

.form_employee_type {
  margin-top: 20px;
}

.form_estimate, .form_location {
  margin: auto;
}

.form_space {
  margin-bottom: 10px;
}

/* form item_wrap
---------------------------------------------------------- */
.form_item_wrap {
  border-bottom: 1px solid #ddd;
  padding: 20px 0;
}

.form_item_wrap_half {
  width: calc((100% - 50px) / 2);
}

.form_item_label {
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  white-space: nowrap;
  width: 110px;
}

.process_estimate {
  width: inherit;
}

.form_item_content {
  position: relative;
  width: calc(100% - 110px);
}

.form_item_wrap_wide .form_item_label {
  width: 170px;
}
.form_item_wrap_wide .form_item_content {
  width: calc(100% - 170px);
}

.padding_tall {
  padding: 27px 0;
}

/* label
---------------------------------------------------------- */
.form_label {
  align-self: center;
  color: #888;
  font-size: 1.2rem;
  font-weight: bold;
  display: block;
  letter-spacing: -0.01em;
  line-height: 1.66;
  margin-bottom: 10px;
  white-space: nowrap;
}
.form_label_top {
  align-self: start;
  margin: 10px 0 0;
}

/* input
---------------------------------------------------------- */
.form_input_label {
  display: block;
  text-align: left;
  margin-bottom: 10px;
}

.form_input {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  padding: 15px;
  transition: 0.3s;
  height: 50px;
  width: 100%;
}
.form_input:focus {
  border-color: #3B80D3;
  box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.06);
}
.form_input:disabled, .form_input.is_disabled {
  background-color: #eee;
  color: #888;
  font-weight: bold;
  pointer-events: none;
  -webkit-text-fill-color: #888;
  opacity: 1;
}
.form_input.is_error {
  border-color: #FFE200;
  box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.06);
}
.form_input.is_over {
  color: #FF0000;
  -webkit-text-fill-color: #FF0000;
}

.text_area {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  padding: 15px;
  transition: 0.3s;
  height: 150px;
  width: 100%;
}

.form_input_pin {
  width: 190px;
}

.form_pass {
  position: relative;
}
.form_pass .form_pass_icon {
  cursor: pointer;
  position: absolute;
  right: 10px;
  bottom: 10px;
}

.form_unit {
  align-self: flex-end;
  color: #aaa;
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: -0.01em;
  margin-left: 10px;
  vertical-align: -5px;
}

/* checkbox
---------------------------------------------------------- */
.form_check_label {
  cursor: pointer;
  display: inline-block;
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: -0.01em;
  padding-left: 30px;
  position: relative;
}
.form_check_label:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  width: 20px;
  height: 20px;
  border: 1px solid #ddd;
  border-radius: 3px;
  background-color: #fff;
}
.form_check_label:after {
  content: "";
  display: block;
  position: absolute;
  top: -2px;
  left: 7px;
  bottom: 0;
  margin: auto;
  width: 5px;
  height: 7px;
  border-right: 1.5px solid #3B80D3;
  border-bottom: 1.5px solid #3B80D3;
  transform: rotate(45deg);
  opacity: 0;
}
.form_check_label_sub {
  display: flex;
  align-items: center;
  font-size: 1.4rem;
  min-height: 50px;
  word-break: break-word;
}
.form_check_label_sub:after {
  border-right: 2px solid #01619D;
  border-bottom: 2px solid #01619D;
}

.form_check:checked + .form_check_label {
  color: #3B80D3;
}
.form_check:checked + .form_check_label:before {
  border-color: #3B80D3;
}
.form_check:checked + .form_check_label:after {
  opacity: 1;
}
.form_check:checked + .form_check_label_sub {
  color: #333;
}
.form_check:checked + .btn_icon {
  background-color: #ddd;
  box-shadow: none;
}
.form_check:checked + .btn_icon .icon_check {
  stroke: #fff;
}
.form_check:disabled + .form_check_label, .form_check.is_disabled + .form_check_label {
  color: #888;
  pointer-events: none;
}
.form_check:disabled + .form_check_label:before, .form_check.is_disabled + .form_check_label:before {
  background-color: #eee;
  border-color: #eee;
}
.form_check:disabled + .form_check_label:after, .form_check.is_disabled + .form_check_label:after {
  border-color: #888;
}
.form_check_big:checked + .form_check_label {
  color: #3B80D3;
}
.form_check_big:checked + .form_check_label:before {
  border: 0.25em solid #3B80D3;
}
.form_check_big:checked + .form_check_label:after {
  font-weight: 700;
  opacity: 1;
}

.form_check_box {
  padding: 0;
  height: 20px;
  width: 20px;
}

.form_check_wrap {
  flex-wrap: wrap;
  margin-bottom: -15px;
}
.form_check_wrap .form_check_label {
  margin: 0 20px 15px 0;
}

.form_check_block {
  margin-bottom: -10px;
}
.form_check_block .form_check_label {
  margin: 0 0 10px;
}

.form_check_alignment .form_check_label {
  width: 80px;
}

.icon_check {
  stroke: #01619D;
}

/* radio
---------------------------------------------------------- */
.form_radio_btn {
  background-color: #fff;
  border: 1px solid #3C73B5;
  border-right: none;
  color: #3B80D3;
  cursor: pointer;
  display: block;
  font-size: 1.2rem;
  font-weight: 500;
  text-align: center;
  letter-spacing: -0.01em;
  line-height: 33px;
  height: 35px;
  width: 100%;
}
.form_radio_btn:nth-child(2) {
  border-radius: 5px 0 0 5px;
}
.form_radio_btn:last-child {
  border-radius: 0 5px 5px 0;
  border-right: 1px solid #3B80D3;
}
.form_radio_btn:hover {
  background-color: #3B80D3;
  color: #fff;
  font-weight: bold;
}
.form_radio_btn_big {
  font-size: 1.4rem;
  line-height: 48px;
  height: 50px;
}

input[type=radio]:checked + .form_radio_btn {
  background-color: #3B80D3;
  color: #fff;
  font-weight: 500;
}

input[type=radio]:disabled + .form_radio_btn {
  pointer-events: none;
}

/* date
---------------------------------------------------------- */
.form_date_picker {
  position: relative;
}
.form_date_picker:after {
  content: "";
  background-image: url(../img/icon_calendar.svg);
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
  width: 17px;
  height: 17px;
  margin: auto;
  pointer-events: none;
  position: absolute;
  top: 0;
  right: 15px;
  bottom: 0;
}

.form_date_period {
  width: calc((100% - 30px) / 2);
}

.form_date_input {
  padding-right: 35px;
}

.form_date_line {
  background-color: #ddd;
  display: block;
  flex-shrink: 0;
  margin: 0 8px;
  height: 1px;
  width: 13px;
}

/* time
---------------------------------------------------------- */
.form_time_picker {
  position: relative;
}
.form_time_picker:after {
  content: "";
  background-image: url(../img/icon_time.svg);
  background-size: contain;
  display: block;
  width: 17px;
  height: 17px;
  margin: auto;
  pointer-events: none;
  position: absolute;
  top: 0;
  right: 15px;
  bottom: 0;
}
.form_time_picker span {
  color: #888;
  cursor: pointer;
  display: none;
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  right: 40px;
}

.time_select:invalid {
  color: #aaa;
  font-size: 1.2rem;
}

/* select
---------------------------------------------------------- */
.form_select_box {
  position: relative;
  width: 100%;
}
.form_select_box:after {
  content: "";
  border-top: 1px solid #3B80D3;
  border-right: 1px solid #3B80D3;
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  margin: auto;
  transform: rotate(135deg);
  pointer-events: none;
  position: absolute;
  top: -4px;
  right: 15px;
  bottom: 0;
}
.form_select_box.is_disabled:after {
  border-color: #888;
}
.form_select_box select {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.01em;
  padding: 14px 25px 14px 15px;
  height: 50px;
  width: 100%;
}
.form_select_box select:disabled, .form_select_box select.is_disabled {
  background-color: #eee;
  color: #888;
  pointer-events: none;
}
.form_select_box select.is_error {
  border-color: #FFE200;
  box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.06);
}

.form_select_year {
  max-width: 110px;
  min-width: 80px;
}
.form_select_year:after {
  right: 10px;
}

.form_select_date {
  max-width: 70px;
  min-width: 60px;
  margin-left: 10px;
}
.form_select_date:after {
  right: 10px;
}

/* textarea
---------------------------------------------------------- */
.form_textarea {
  border: 1px solid #ddd;
  border-radius: 5px;
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: -0.01em;
  padding: 20px 10px;
  width: 100%;
}
.form_textarea:disabled, .form_textarea.is_disabled {
  background-color: #eee;
  border-color: #eee;
  color: #888;
}
.form_textarea.is_error {
  border-color: #FFE200;
  box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.06);
}
.form_textarea_high {
  height: 250px;
}

/* address
---------------------------------------------------------- */
.form_address {
  margin-left: 30px;
  position: relative;
}
.form_address:before {
  content: "〒";
  color: #aaa;
  font-size: 1.2rem;
  font-weight: bold;
  position: absolute;
  top: 15px;
  left: -30px;
}
.form_address_number {
  padding: 10px;
  width: 150px;
}

/* file
---------------------------------------------------------- */
.form_file {
  border-radius: 4px;
  width: 70px;
}

.form_file_name {
  color: #222;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: -0.01em;
}

.form_file_item {
  margin: 10px 0 0;
  width: 100%;
}
.form_file_item a {
  font-size: 1.3rem;
  word-break: break-word;
}

.form_file_link {
  color: #3B80D3;
  font-size: 1.3rem;
  font-weight: 500;
  display: block;
  letter-spacing: -0.01em;
  word-break: break-word;
}

.form_file_drop {
  background-color: #eee;
  border-radius: 5px;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  padding: 60px 0 40px;
  width: 100%;
}
.form_file_drop_text {
  color: #888;
  font-weight: bold;
  text-align: center;
  letter-spacing: -0.01em;
}
.form_file_drop_small {
  display: block;
  font-size: 1.3rem;
  margin-top: 14px;
}
.form_file_drop_btn {
  border: 1px solid #3B80D3;
  border-radius: 100px;
  cursor: pointer;
  display: block;
  line-height: 58px;
  transition: 0.3s;
  margin: 14px auto 0;
  height: 60px;
  width: 250px;
}

.form_file_drop_name {
  color: #3B80D3;
  font-size: 1.4rem;
  font-weight: bold;
}

@media screen and (max-width: 1200px) {
  .form_file_drop {
    background-color: transparent;
    padding: 0;
  }
  .form_file_drop_btn {
    font-size: 1.3rem;
    margin: 14px 0 0;
    line-height: 38px;
    height: 40px;
    width: 170px;
  }
  .form_file_drop_name:last-of-type {
    margin-bottom: 25px;
  }
}
/* range
---------------------------------------------------------- */
.form_range {
  background-color: #ddd;
  border-radius: 3px;
  border: none;
  cursor: pointer;
  height: 6px;
  width: 235px;
}
.form_range::-webkit-slider-thumb {
  -webkit-appearance: none;
  background-color: #01619D;
  border-radius: 50%;
  width: 16px;
  height: 16px;
}
.form_range:disabled, .form_range.is_disabled {
  pointer-events: none;
}
.form_range:disabled::-webkit-slider-thumb, .form_range.is_disabled::-webkit-slider-thumb {
  background-color: #B9B9B9;
}

.form_range_unit {
  color: #B9B9B9;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  width: 45px;
}

.form_range_value {
  pointer-events: none;
}

/* switch
---------------------------------------------------------- */
.form_switch {
  display: inline-block;
  position: relative;
}
.form_switch label {
  background-color: #ddd;
  border-radius: 15px;
  cursor: pointer;
  display: block;
  transition: 0.4s;
  position: relative;
  height: 25px;
  width: 42px;
}
.form_switch label:after {
  background: #fff;
  border: 0.5px solid rgba(0, 0, 0, 0.04);
  box-shadow: 0px 3px 1px rgba(0, 0, 0, 0.06);
  border-radius: 100%;
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  top: 2px;
  left: 20px;
  z-index: 2;
  transition: 0.4s;
}
.form_switch input {
  display: none;
}
.form_switch input:checked + label {
  background-color: #3BD3D3;
}
.form_switch input:checked + label:after {
  left: 2px;
}

/* add item
---------------------------------------------------------- */
.form_add_item {
  margin-top: 10px;
}

/* btn
---------------------------------------------------------- */
.form_btn_box {
  text-align: center;
  margin-left: auto;
  width: 250px;
}

/* confirm text
---------------------------------------------------------- */
.form_confirm_label {
  margin: 0;
  white-space: normal;
}

.form_confirm_text {
  color: #333;
  font-size: 1.4rem;
  width: calc(100% - 140px);
  word-break: break-all;
}

.form_confirm_table th, .form_confirm_table td {
  padding: 5px 10px;
}
.form_confirm_table th:first-child, .form_confirm_table td:first-child {
  padding-left: 0;
}
.form_confirm_table th {
  color: #888;
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: -0.01em;
  line-height: 1.66;
  text-align: left;
  white-space: nowrap;
}
.form_confirm_table td {
  color: #333;
  font-size: 1.4rem;
  word-break: break-word;
}
.form_confirm_table td:not(:first-child) {
  white-space: nowrap;
}
.form_confirm_table_lf td:nth-child(3) {
  white-space: normal;
}

.form_confirm_alert {
  width: 100%;
}
.form_confirm_alert ul {
  color: red;
}

/* required
---------------------------------------------------------- */
.form_required {
  color: #FF0000;
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: -0.01em;
}

.form_error_text {
  color: #FF4848;
  font-size: 1.2rem;
  text-align: left;
  margin-top: 4px;
}

.form_modal_error_text {
  color: red;
}

/* suggest
---------------------------------------------------------- */
.suggest {
  background-color: #F5F5F5;
  border: 1px solid #ddd;
  border-radius: 5px;
  box-shadow: 0 0 6px 1px rgba(0, 0, 0, 0.1);
  font-size: 1.4rem;
  padding: 5px 0;
  position: absolute;
  width: 100%;
  z-index: 10;
}
.suggest div {
  cursor: pointer;
  display: block;
  padding: 5px 10px;
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
}
.suggest div.select {
  background-color: #3B80D3;
  color: #fff;
}
.suggest div.over {
  background-color: #3B80D3;
  color: #fff;
}

.form_project_location {
  width: 7% !important;
}

.show_cost_details {
  float: right;
  margin: -4px;
}

.report_attendance_form_time {
  min-width: 175px;
}

/*------------------------------------------------------------------------
 ガントチャート
-------------------------------------------------------------------------*/
/* gantt_condition
---------------------------------------------------------- */
.gantt_condition_status {
  width: 240px;
}

@media screen and (min-width: 2500px) {
  .gantt_condition .text_search,
  .gantt_condition .form_input {
    font-size: 1.8rem;
  }
  .gantt_condition .text_small,
  .gantt_condition .form_radio_btn {
    font-size: 1.6rem;
  }
  .gantt_condition_status {
    width: 340px;
  }
}
/* gantt_legend
---------------------------------------------------------- */
@media screen and (min-width: 2500px) {
  .gantt_legend .list_label_dot {
    font-size: 2rem;
  }
  .gantt_legend .list_label_item {
    font-size: 2rem;
    width: 90px;
  }
}
/* gantt_area
---------------------------------------------------------- */
.gantt_area {
  display: grid;
}
.gantt_area.level_zero {
  grid-template-columns: 294px 1fr; /* Fixed left, expanding right */
}
.gantt_area.level_zero .gantt_table_fixed_area {
  display: grid;
  grid-template-columns: 122px 122px 50px;
}
.gantt_area.level_one {
  grid-template-columns: 552px 1fr;
}
.gantt_area.level_one .gantt_table_fixed_area {
  display: grid;
  grid-template-columns: 122px 122px 50px 92px 70px 96px;
}
.gantt_area.level_two {
  grid-template-columns: 794px 1fr;
}
.gantt_area.level_two .gantt_table_fixed_area {
  display: grid;
  grid-template-columns: 122px 122px 50px 92px 70px 96px 122px 122px;
}
.gantt_area > .sticky_header_container {
  position: sticky;
  top: 70px;
  z-index: 12;
  background-color: white;
}

@media screen and (min-width: 2500px) {
  .gantt_area.level_zero {
    grid-template-columns: 1190px 1fr;
  }
  .gantt_area.level_zero td, .gantt_area.level_zero th {
    width: 185px;
  }
  .gantt_area.level_one {
    grid-template-columns: 1280px 1fr;
  }
  .gantt_area.level_one td, .gantt_area.level_one th {
    width: 160px;
  }
  .gantt_area.level_two {
    grid-template-columns: 1480px 1fr;
  }
  .gantt_area.level_two td, .gantt_area.level_two th {
    width: 185px;
  }
}
/** gantt_chart_fixed **/
.grid-container { /*gantt_table_fixed_area*/
  display: grid;
  grid-template-rows: auto;
}
.grid-container.grid-cols-3 {
  grid-template-columns: repeat(3, 1fr);
}
.grid-container.grid-cols-6 {
  grid-template-columns: repeat(6, 1fr);
}
.grid-container.grid-cols-8 {
  grid-template-columns: repeat(8, 1fr);
}
.grid-container .grid-item {
  border-top: 1px solid #ddd;
  font-size: 1.2rem;
  text-align: left;
  letter-spacing: -0.04em;
  overflow: hidden;
  text-overflow: ellipsis;
}
.grid-container .grid-item-col-span-2 {
  grid-column: span 2;
}
.grid-container .grid-item-col-span-3 {
  grid-column: span 3;
}
.grid-container .grid-item-col-span-4 {
  grid-column: span 4;
}
.grid-container .grid-item-col-span-5 {
  grid-column: span 5;
}
.grid-container .grid-item-col-span-6 {
  grid-column: span 6;
}
.grid-container .grid-item-col-span-7 {
  grid-column: span 7;
}
.grid-container .grid-item-col-span-8 {
  grid-column: span 8;
}
.grid-container .grid-item-col-end-3 {
  grid-column: 3/4;
}
.grid-container .grid-item-col-end-6 {
  grid-column: 6/8;
}
.grid-container .grid-item-col-end-8 {
  grid-column: 8/9;
}
.grid-container .grid-item-row-span-2 {
  grid-row: span 2;
}
.grid-container .grid-item.no-top-border {
  border-top: none !important;
}
.grid-container .grid-item.border-bottom {
  border-bottom: 1px solid #ddd;
}
.grid-container .grid-item.gantt_table_workers_title {
  display: flex;
  align-items: center; /* Centers content vertically */
  justify-content: end; /* Centers content horizontally */
  font-size: 1.2rem;
  font-weight: normal;
  letter-spacing: -0.01em;
}
.grid-container .grid-item.gantt_table_worktime {
  border: 1px solid #ddd;
  padding: 0 12px 0 5px;
}
.grid-container .grid-item.gantt_table_worktime .gantt_table_worktime_text {
  font-size: 1rem;
  font-weight: normal;
  letter-spacing: -0.01em;
  margin: 0;
}
.grid-container .grid-item.gantt_table_workers_available_people {
  font-size: 1.1rem;
  font-weight: normal;
  letter-spacing: -0.01em;
  text-align: right;
  padding: 2px 10px 2px 2px;
}
.grid-container .gantt_table_head {
  border-top: 1px solid #ddd;
  font-weight: bold;
  white-space: nowrap;
  padding: 10px;
  opacity: 0.7;
}
.grid-container .gantt_table_data {
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  padding: 2px 10px;
  word-break: break-all;
  text-overflow: unset;
}
.grid-container .gantt_table_workers {
  cursor: auto;
}

/* gantt_table_fixed
---------------------------------------------------------- */
.gantt_table_fixed_area {
  background-color: #fff;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
}

.gantt_table_fixed_header {
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  width: 100%;
}
.gantt_table_fixed_body {
  border-collapse: collapse;
  width: 100%;
  table-layout: fixed;
}
.gantt_table_fixed_body .gantt_table_data {
  cursor: pointer;
}
.gantt_table_fixed_body .gantt_table_workers {
  cursor: auto;
}
.gantt_table_fixed_body th {
  color: #333;
  font-size: 1.2rem;
  font-weight: bold;
  text-align: left;
  letter-spacing: -0.04em;
  padding: 10px;
  vertical-align: middle;
  overflow: hidden; /* Hide overflowing content */
  text-overflow: ellipsis; /* Add ellipsis for hidden text */
  white-space: nowrap;
}
.gantt_table_fixed_body th:first-child {
  padding-left: 15px;
}
.gantt_table_fixed_body th.gantt_table_workers_title {
  border-bottom: 1px solid #ddd;
  font-size: 1.2rem;
  font-weight: normal;
  letter-spacing: -0.01em;
  text-align: right;
}
.gantt_table_fixed_body th.gantt_table_worktime {
  border: 1px solid #ddd;
  padding: 0 12px 0 5px;
}
.gantt_table_fixed_body th.gantt_table_worktime .gantt_table_worktime_text {
  font-size: 1rem;
  font-weight: normal;
  letter-spacing: -0.01em;
  margin: 0;
}
.gantt_table_fixed_body th.gantt_table_workers_available_people {
  border-bottom: 1px solid #ddd;
  font-size: 1.1rem;
  font-weight: normal;
  letter-spacing: -0.01em;
  text-align: right;
  padding: 2px 10px 2px 2px;
}
.gantt_table_fixed_body td {
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  padding: 5px 10px;
  vertical-align: middle;
  overflow: hidden; /* Hide overflowing content */
  text-overflow: ellipsis; /* Add ellipsis for hidden text */
  word-break: break-all;
}
.gantt_table_fixed_body td:first-child {
  border-top: none;
  padding-left: 15px;
  white-space: nowrap;
}
.gantt_table_fixed_body td:last-child {
  padding-right: 15px;
}

.gantt_table_fixed_body tbody > tr:first-child > td, .gantt_table_scroll tbody > tr:first-child > td {
  border-top-color: transparent;
}

@media screen and (min-width: 2500px) {
  .gantt_table_fixed_body th, .gantt_table_fixed_body td {
    font-size: 2rem;
    padding: 8px 10px;
  }
  .gantt_table_fixed_body th.gantt_table_workers_title {
    font-size: 1.6rem;
  }
  .gantt_table_fixed_body th.gantt_table_worktime .gantt_table_worktime_text {
    font-size: 1.6rem;
  }
}
.gantt_table_display {
  color: #3B80D3;
  cursor: pointer;
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: -0.04em;
  margin-left: 15px;
}

.gantt_table_switch {
  padding: 7px 10px;
  margin-left: auto;
}

@media screen and (min-width: 2500px) {
  .gantt_table_fixed_header .gantt_table_display {
    font-size: 1.8rem;
  }
  .gantt_table_fixed_header .gantt_table_switch {
    font-size: 1.6rem;
    margin-left: auto;
  }
}
.gantt_table_head th {
  border-bottom: 1px solid #ddd;
  opacity: 0.7;
}
.gantt_table_head th.is_sort {
  opacity: 1;
}

.gantt_table_sort.table_sort:before, .gantt_table_sort.table_sort:after {
  border-color: #888 transparent transparent transparent;
}

.gantt_table_detail {
  display: none;
}

.gantt_table_data_icon {
  border-bottom: solid 1.5px #3B80D3;
  border-right: solid 1.5px #3B80D3;
  cursor: pointer;
  width: 12px;
  height: 12px;
  transform: rotate(45deg);
}
.gantt_table_data_icon.is_open {
  margin-top: 3px;
  transform: rotate(-135deg);
}

.gantt_table_layer {
  background-color: #eee;
}
.gantt_table_layer_content {
  display: none;
}
.gantt_table_layer_arrow {
  position: relative;
}
.gantt_table_layer_arrow:before {
  content: "";
  border-left: 1px solid #888;
  border-bottom: 1px solid #888;
  display: block;
  margin-left: auto;
  height: 6px;
  width: 11px;
}
.gantt_table_layer_arrow:after {
  content: "";
  border-top: solid 1px #888;
  border-right: solid 1px #888;
  margin: auto;
  width: 5px;
  height: 5px;
  transform: rotate(45deg);
  position: absolute;
  top: 4px;
  right: 0;
  bottom: 0;
}

.gantt_table_daywork {
  background-color: #FFE7D8;
}

.gantt_table_nightwork {
  background-color: #DFEDFD;
}

/* gantt_table_scroll
---------------------------------------------------------- */
.gantt_table_scroll_area {
  overflow-x: auto;
  width: 100%;
}
.gantt_table_scroll_area > .scrollable {
  width: 100%;
  overflow-x: scroll;
  overflow-y: clip;
}
.gantt_table_scroll_area > .scrollable.scroll_control {
  height: 9.5px;
}
.gantt_table_scroll_area > .scrollable.scroll_control::-webkit-scrollbar {
  width: 9px;
  height: 9px;
}
.gantt_table_scroll_area > .scrollable.scroll_control::-webkit-scrollbar-thumb {
  background-color: #aaa;
  border-radius: 4.5px;
}
.gantt_table_scroll_area > .scrollable.scroll_control::-webkit-scrollbar-track {
  background-color: #F5F5F5;
  border-radius: 4.5px;
}
.gantt_table_scroll_area > .scrollable.scroll_control {
  scrollbar-face-color: #aaa;
  scrollbar-track-color: #F5F5F5;
}
.gantt_table_scroll_area > .scrollable.scroll_target {
  background-color: #fff;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.gantt_table_scroll_area > .scrollable.scroll_target::-webkit-scrollbar {
  display: none;
}

.gantt_table_scroll {
  min-width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.gantt_table_scroll th, .gantt_table_scroll td {
  border: 1px solid #282828;
  vertical-align: middle;
  white-space: nowrap;
}
.gantt_table_scroll th:first-child, .gantt_table_scroll td:first-child {
  border-left-color: transparent;
}
.gantt_table_scroll td {
  text-align: center;
  position: relative;
}
.gantt_table_scroll td.border-light {
  border-right: 1px solid #8e8e8e;
}
.gantt_table_scroll thead th {
  width: 22.5px;
  min-width: 22.5px;
}
.gantt_table_scroll tbody td {
  width: 45px;
  min-width: 45px;
}

@media screen and (min-width: 2500px) {
  .gantt_table_scroll th, .gantt_table_scroll td {
    font-size: 1.8rem;
  }
  .gantt_table_scroll thead th {
    width: 55px;
    min-width: 55px;
  }
  .gantt_table_scroll tbody td {
    width: 110px;
    min-width: 110px;
  }
}
.gantt_table_month {
  color: #888;
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: -0.01em;
  text-align: left;
  padding-left: 14px;
}

.gantt_table_work {
  background-color: #b5bfcd;
  color: #4a4a4a;
  font-size: 1.2rem;
  font-weight: bold;
  font-family: Roboto, Oswald, "Segoe UI", "Helvetica Neue", HelveticaNeue, sans-serif;
  letter-spacing: -0.01em;
}

.gantt_table_date {
  color: #333;
  font-weight: bold;
  line-height: 1;
  letter-spacing: -0.01em;
}

.gantt_table_day {
  color: #333;
  font-size: 1.4rem;
  font-family: Roboto, Oswald, "Segoe UI", "Helvetica Neue", HelveticaNeue, sans-serif;
  display: block;
}

.gantt_table_weekday {
  color: #333;
  font-size: 1rem;
  display: block;
}

.gantt_table_holiday {
  background-color: #eee;
}
.gantt_table_holiday .gantt_table_day,
.gantt_table_holiday .gantt_table_weekday {
  color: #888;
}

.gantt_table_today {
  background-color: #fff293;
}

.gantt_table_count {
  color: #333;
  font-size: 1.1rem;
  font-weight: bold;
  font-family: Roboto, Oswald, "Segoe UI", "Helvetica Neue", HelveticaNeue, sans-serif;
  position: relative;
  z-index: 2;
}

.gantt_table_shift {
  line-height: 1;
  position: relative;
  z-index: 2;
}
.gantt_table_shift_mark {
  border-radius: 50%;
  display: inline-block;
  margin: 0 2px;
  height: 6px;
  width: 6px;
}
.gantt_table_shift_mark_daywork {
  background-color: #FF7621;
}
.gantt_table_shift_mark_nightwork {
  background-color: #268BFF;
}

@media screen and (min-width: 2500px) {
  .gantt_table_day,
  .gantt_table_count {
    font-size: 2rem;
  }
  .gantt_table_weekday {
    font-size: 1.6rem;
  }
}
.gantt_table_status {
  border: 1px solid transparent;
}
.gantt_table_status_main {
  border-radius: 5px 5px 0 0;
  height: calc(100% + 1px);
  top: -1px;
  left: 1px;
  bottom: -1px;
}
.gantt_table_status_main.is_open:before, .gantt_table_status_main.is_open:after {
  content: "";
  border-style: solid;
  border-width: 7px 5px 0 0;
  border-color: transparent;
  height: 0;
  width: 0;
  position: absolute;
  left: -1px;
  bottom: -7px;
}
.gantt_table_status_main.is_open:after {
  border-width: 0 5px 7px 0;
  left: auto;
  right: -1px;
}
.gantt_table_status_sub {
  border: 1px solid transparent;
  font-size: 8px;
  font-weight: 500;
  text-align: left;
  overflow: hidden;
  padding: 1px;
  position: absolute;
  background-color: rgba(255, 122, 0, 0.45);
  color: #000000;
  height: 12px;
  top: 0px;
  left: 0px;
  z-index: 5;
}
.gantt_table_status_red {
  background-color: #ED9C93;
  border-color: #D64E3F;
}
.gantt_table_status_red.is_open:before {
  border-top-color: #D64E3F;
}
.gantt_table_status_red.is_open:after {
  border-right-color: #D64E3F;
}
.gantt_table_status_blue {
  background-color: #7FB9E3;
  border-color: #2069BE;
}
.gantt_table_status_blue.is_open:before {
  border-top-color: #2069BE;
}
.gantt_table_status_blue.is_open:after {
  border-right-color: #2069BE;
}
.gantt_table_status_green {
  background-color: #AAE6B6;
  border-color: #6cbd7c;
}
.gantt_table_status_green.is_open:before {
  border-top-color: #6cbd7c;
}
.gantt_table_status_green.is_open:after {
  border-right-color: #6cbd7c;
}
.gantt_table_status_purple {
  background-color: rgba(199, 59, 211, 0.6980392157);
}

/* gantt table height
---------------------------------------------------------- */
.gantt_table_month {
  height: 34px;
}

.gantt_table_head,
.gantt_table_date {
  height: 40px;
}

.gantt_table_data {
  height: 56px;
}

.gantt_table_layer_content {
  height: 33px;
}

.gantt_table_workers {
  height: 20px;
}

@media screen and (min-width: 2500px) {
  .gantt_table_month {
    height: 40px;
  }
  .gantt_table_head,
  .gantt_table_date {
    height: 50px;
  }
  .gantt_table_data {
    height: 70px;
  }
  .gantt_table_layer_content {
    height: 48px;
  }
  .gantt_table_workers {
    height: 40px;
  }
}
/*------------------------------------------------------------------------
 リスト
-------------------------------------------------------------------------*/
/* list
---------------------------------------------------------- */
.list_item {
  background-color: #fff;
  padding: 25px 30px;
  width: 100%;
}
.list_item:not(:last-child) {
  border-bottom: 1px solid #ddd;
}
.list_item:first-child {
  border-radius: 5px 5px 0 0;
}
.list_item:last-child {
  border-radius: 0 0 5px 5px;
}
.list_text {
  align-items: flex-start;
  flex-grow: 1;
}
.list_number {
  color: #999;
  font-size: 1.4rem;
  font-weight: bold;
  margin-top: 1px;
  white-space: nowrap;
}
.list_name {
  color: #222;
  font-weight: bold;
  flex-grow: 1;
  line-height: 1.4;
  margin-left: 40px;
}
.list_attention {
  display: block;
  width: 100%;
}

/* list document
---------------------------------------------------------- */
.list_document_item {
  border-bottom: 1px solid #ddd;
  padding: 20px 0;
}
.list_document_text {
  flex: 1;
}
.list_document_date {
  color: #888;
  font-size: 1.1rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1;
}
.list_document_name {
  color: #333;
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: -0.01em;
  margin-top: 10px;
  word-break: break-word;
}
.list_document_note {
  color: #333;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: -0.01em;
}
.list_document_note_hover {
  cursor: pointer;
  display: inline-block;
  position: relative;
}
.list_document_thumbnail {
  display: block;
  height: 55px;
  width: 100px;
  margin-right: 20px;
}

/* list image
---------------------------------------------------------- */
.list_image_item {
  margin-bottom: 30px;
  width: calc((100% - 75px) / 4);
}
.list_image_item:not(:nth-child(4n+1)) {
  margin-left: 25px;
}
.list_image_thumbnail {
  border-radius: 5px;
  margin-bottom: 15px;
  height: 160px;
  width: 100%;
}

/* list label
---------------------------------------------------------- */
.list_label_dot {
  color: #333;
  font-size: 1.2rem;
  padding-left: 10px;
  margin-right: 15px;
  line-height: 1;
  position: relative;
}
.list_label_dot:before {
  border-radius: 50%;
  content: "";
  display: block;
  margin: auto;
  height: 8px;
  width: 8px;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
}
.list_label_dot_green:before {
  background-color: #74C604;
}
.list_label_dot_green.list_label_dot_yellow {
  padding-left: 20px;
}
.list_label_dot_green.list_label_dot_yellow:after {
  left: 10px;
}
.list_label_dot_yellow:after {
  background-color: #FFE200;
  border-radius: 50%;
  content: "";
  display: block;
  margin: auto;
  height: 8px;
  width: 8px;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
}
.list_label_daywork:before {
  background-color: #FF7621;
}
.list_label_nightwork:before {
  background-color: #268BFF;
}
.list_label_daily .list_label_daywork:before {
  background-color: #D54603;
}
.list_label_item {
  border-radius: 2px;
  color: #000;
  font-size: 1.1rem;
  text-align: center;
  padding: 5px;
  margin-right: 3px;
  width: 60px;
}
.list_label_red {
  background-color: rgba(237, 156, 147, 0.6);
}
.list_label_blue {
  background-color: rgba(127, 185, 227, 0.6);
}
.list_label_green {
  background-color: rgba(170, 230, 182, 0.6);
}
.list_label_border {
  padding-left: 30px;
  margin-right: 15px;
  position: relative;
}
.list_label_border:before {
  background-color: #fff;
  border: 2px solid #D64E3F;
  border-radius: 6px;
  content: "";
  display: block;
  margin: auto;
  height: 10px;
  width: 20px;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
}
.list_label_status {
  color: #333;
  font-size: 1.1rem;
}
.list_label_square {
  color: #000;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1;
  padding-left: 23px;
  position: relative;
}
.list_label_square:before {
  border-radius: 1px;
  content: "";
  display: block;
  margin: auto;
  height: 15px;
  width: 15px;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
}
.list_label_square_red:before {
  background-color: #FFC9C9;
}
.list_label_square_gray:before {
  background-color: rgba(221, 221, 221, 0.5);
}

/* list approval
---------------------------------------------------------- */
.list_approval_title {
  color: #888;
  font-size: 1.2rem;
  margin-left: 30px;
}
.list_approval_text {
  color: #333;
  font-size: 1.2rem;
  margin-left: 10px;
}

/*------------------------------------------------------------------------
 loader
-------------------------------------------------------------------------*/
.loader,
.loader:after {
  border-radius: 50%;
  width: 50px;
  height: 50px;
  z-index: 99999;
}

.loader {
  margin: auto;
  font-size: 10px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  text-indent: -9999em;
  border-top: 5px solid rgba(59, 128, 211, 0.2);
  border-right: 5px solid rgba(59, 128, 211, 0.2);
  border-bottom: 5px solid rgba(59, 128, 211, 0.2);
  border-left: 5px solid #3B80D3;
  transform: translateZ(0);
  animation: load 1.1s infinite linear;
}

@keyframes load {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* loader_img
---------------------------------------------------------- */
.loader_img {
  background-color: #F5F5F5;
  display: block;
  overflow: hidden;
}
.loader_img.is_loading {
  background-color: #F5F5F5;
  position: relative;
}
.loader_img.is_loading:after {
  animation: loading 1.5s infinite;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5), transparent);
  content: "";
  display: block;
  transform: translateX(-100%);
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
}
.loader_img img {
  display: none;
  height: 100%;
  width: 100%;
}

@keyframes loading {
  100% {
    transform: translateX(100%);
  }
}
/*------------------------------------------------------------------------
 モーダル
-------------------------------------------------------------------------*/
/* overlay
---------------------------------------------------------- */
.modal_overlay {
  background-color: rgba(0, 0, 0, 0.6);
  display: block;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
}

/* modal
---------------------------------------------------------- */
.modal {
  display: none;
  margin: auto;
  width: 540px;
  transform: translateY(-50%);
  position: fixed;
  top: 50%;
  left: 0;
  right: 0;
  z-index: 10000;
}
.modal_wide {
  width: 1000px;
}
.modal_livewire {
  display: block;
}

.break_all {
  word-break: break-all;
}

/* 新規に作成したlivewireを用いたページ用のスタイル */
.modal_bg_for_livewire {
  background-color: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-self: center;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
}

/* 新規に作成したlivewireを用いたページ用のスタイル */
.modal_for_livewire {
  margin: auto;
  width: 540px;
  max-height: 700px;
  z-index: 10000;
  padding-top: 40px;
  box-sizing: border-box;
}

.modal_close_btn {
  background-color: transparent;
  border: none;
  display: block;
  height: 20px;
  width: 20px;
  position: absolute;
  top: 10px;
  right: 15px;
}
.modal_close_btn:before, .modal_close_btn:after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #333333;
  transform: rotate(45deg);
  transform-origin: 0% 50%;
  position: absolute;
  top: 0;
  left: 14%;
}
.modal_close_btn:after {
  transform: rotate(-45deg);
  transform-origin: 100% 50%;
  left: auto;
  right: 14%;
}

.modal_content {
  background-color: #fff;
  border-radius: 5px;
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.06);
}

/* modal body
---------------------------------------------------------- */
.modal_body {
  padding: 40px 40px 0;
  max-height: calc(100vh - 100px);
  overflow-y: scroll;
}
.modal_body:after {
  content: "";
  display: block;
  height: 40px;
}

/* modal detail
---------------------------------------------------------- */
.modal_detail_area .detail_item {
  padding: 15px 0;
}
.modal_detail_area .detail_title {
  color: #888;
  width: 100px;
}
.modal_detail_area .detail_data {
  width: calc(100% - 100px);
}

.estimate_modal_title, .location_modal_title {
  padding-bottom: 10px;
}

/* modal img
---------------------------------------------------------- */
.modal_img {
  display: block;
  margin: auto;
}

/*------------------------------------------------------------------------
 ページャー
-------------------------------------------------------------------------*/
/* pager
---------------------------------------------------------- */
.pager_list {
  display: flex;
  justify-content: flex-end;
}

.pager_link {
  background-color: #fff;
  color: #3B80D3;
  display: block;
  font-size: 1.2rem;
  font-weight: 500;
  text-align: center;
  transition: 0.3s;
  letter-spacing: -0.01em;
  height: 36px;
}
.pager_link.is_active {
  background-color: #3B80D3;
  color: #fff;
}
.pager_link:hover {
  background-color: #3B80D3;
  color: #fff;
}
.pager_link:hover:before, .pager_link:hover:after {
  border-color: #fff;
}
.pager_link.is_disabled {
  background-color: #ddd;
  border-color: #ddd;
  pointer-events: none;
}
.pager_link.is_disabled:before, .pager_link.is_disabled:after {
  border-color: #888;
}

.pager_icon {
  cursor: pointer;
  width: 50%;
  position: relative;
}
.pager_icon:before {
  border-top: 1px solid #3B80D3;
  border-right: 1px solid #3B80D3;
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  margin: auto;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.pager_first {
  border-radius: 100px 0 0 100px;
  width: 46px;
}
.pager_first:before {
  transform: rotate(-135deg);
  left: 10px;
}
.pager_first:after {
  border-top: 1px solid #3B80D3;
  border-right: 1px solid #3B80D3;
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  margin: auto;
  transform: rotate(-135deg);
  position: absolute;
  top: 0;
  left: 17px;
  bottom: 0;
}

.pager_prev {
  width: 35px;
}
.pager_prev:before {
  transform: rotate(-135deg);
  left: 5px;
}

.pager_next {
  width: 35px;
}
.pager_next:before {
  right: 5px;
}

.pager_last {
  border-radius: 0 100px 100px 0;
  width: 46px;
}
.pager_last:before {
  right: 10px;
}
.pager_last:after {
  border-top: 1px solid #3B80D3;
  border-right: 1px solid #3B80D3;
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  margin: auto;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  right: 17px;
  bottom: 0;
}

.pager_number {
  font-family: Roboto, Oswald, "Segoe UI", "Helvetica Neue", HelveticaNeue, sans-serif;
  line-height: 36px;
  width: 52px;
}

/* pager week
---------------------------------------------------------- */
.pager_week_link {
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: -0.01em;
  position: relative;
}
.pager_week_link:before {
  border-top: 1px solid #3B80D3;
  border-right: 1px solid #3B80D3;
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  margin: auto;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
}
.pager_week_link.is_disabled {
  color: #bbb;
  pointer-events: none;
}
.pager_week_link.is_disabled:before {
  border-color: #bbb;
}
.pager_week_prev {
  padding: 0 30px 0 20px;
}
.pager_week_prev:before {
  transform: rotate(-135deg);
}
.pager_week_next {
  border-left: 1px solid #ddd;
  padding: 0 20px 0 30px;
}
.pager_week_next:before {
  left: auto;
  right: 0;
}

/*------------------------------------------------------------------------
 タブ
-------------------------------------------------------------------------*/
/* tab label
---------------------------------------------------------- */
.tab_label {
  font-weight: bold;
  letter-spacing: 0.07em;
  text-align: center;
  line-height: 1;
  transition: 0.3s;
  margin-right: 39px;
  white-space: nowrap;
}

.tab_link {
  border-bottom: 3px solid transparent;
  color: #333;
  display: block;
  padding-bottom: 20px;
}
.tab_link:hover, .tab_link.is_active {
  border-color: #3B80D3;
  color: #3B80D3;
}

/*------------------------------------------------------------------------
 テーブル
-------------------------------------------------------------------------*/
/* table_basic
---------------------------------------------------------- */
.table_basic {
  border-collapse: collapse;
  background-color: #fff;
  width: 100%;
}
.table_basic th, .table_basic td {
  border: 1px solid #ddd;
  font-size: 1.2rem;
  text-align: center;
  letter-spacing: -0.01em;
  padding: 10px 15px;
  vertical-align: middle;
  white-space: nowrap;
}
.table_basic th.t_right, .table_basic td.t_right {
  text-align: right;
}
.table_basic th.ws_normal, .table_basic td.ws_normal {
  white-space: normal;
}
.table_basic th.is_error, .table_basic td.is_error {
  background-color: #ffd0d0;
  color: #FF0000;
}
.table_basic th.right_black, .table_basic td.right_black {
  border-right: 1px solid black;
}
.table_basic th {
  background-color: #647D9B;
  color: #fff;
  font-weight: bold;
}
.table_basic th.is_sort .table_sort {
  color: #fff;
}
.table_basic th.is_sort .table_sort:before, .table_basic th.is_sort .table_sort:after {
  border-color: #fff transparent transparent transparent;
}
.table_basic td {
  font-weight: 500;
}
.table_basic .table_sort {
  color: #ddd;
}
.table_basic_left td {
  text-align: left;
}
.table_basic_right td {
  text-align: right;
}
.table_basic_modal td {
  font-size: 1.4rem;
}

.table_basic .font_bold {
  font-weight: 700;
}

/** Gray header table */
table.table_gray, table.table_work_schedule {
  border-collapse: separate;
  border-spacing: 0;
  background-color: #fff;
  width: 100%;
}
table.table_gray th, table.table_work_schedule th {
  color: #888;
}
table.table_gray td, table.table_work_schedule td {
  font-weight: 600;
}
table.table_gray th, table.table_work_schedule th, table.table_gray td, table.table_work_schedule td {
  border-bottom: 1px solid #ddd;
  border-right: 1px solid #ddd;
  font-size: 1.2rem;
  text-align: center;
  letter-spacing: -0.01em;
  padding: 8px 12px;
  vertical-align: middle;
  white-space: nowrap;
}

/** Schedule table */
table.table_work_schedule {
  table-layout: fixed;
  width: 3100px;
}
table.table_work_schedule > thead > tr > th {
  position: sticky;
  z-index: 1;
  top: 0;
  background-color: #fff;
  border-top: 1px solid #ddd;
}
table.table_work_schedule > thead > tr > th:nth-child(-n+3) {
  position: sticky;
  z-index: 2;
}
table.table_work_schedule > tbody > tr > td:nth-child(-n+3) {
  position: sticky;
  position: -webkit-sticky;
  background-color: #fff;
  z-index: 1;
}
table.table_work_schedule > thead > tr > th:first-child, table.table_work_schedule > tbody > tr > td:first-child {
  left: 0;
  width: 150px;
}
table.table_work_schedule > thead > tr > th:nth-child(2), table.table_work_schedule > tbody > tr > td:nth-child(2) {
  left: 150px;
  width: 150px;
}
table.table_work_schedule > thead > tr > th:nth-child(3), table.table_work_schedule > tbody > tr > td:nth-child(3) {
  left: 300px;
  width: 70px;
}

/* table_scroll
---------------------------------------------------------- */
.table_scroll {
  overflow-x: scroll;
  width: 100%;
}
.table_scroll::-webkit-scrollbar {
  width: 9px;
  height: 9px;
}
.table_scroll::-webkit-scrollbar-thumb {
  background-color: #aaa;
  border-radius: 4.5px;
}
.table_scroll::-webkit-scrollbar-track {
  background-color: transparent;
  border-radius: 4.5px;
}
.table_scroll {
  scrollbar-face-color: #aaa;
  scrollbar-track-color: transparent;
}

.table_scroll_work_schedule {
  overflow: scroll;
  width: 100%;
  height: 590px;
  margin-top: 20px;
}
.table_scroll_work_schedule::-webkit-scrollbar {
  width: 9px;
  height: 9px;
}
.table_scroll_work_schedule::-webkit-scrollbar-thumb {
  background-color: #aaa;
  border-radius: 4.5px;
}
.table_scroll_work_schedule::-webkit-scrollbar-track {
  background-color: transparent;
  border-radius: 4.5px;
}
.table_scroll_work_schedule {
  scrollbar-face-color: #aaa;
  scrollbar-track-color: transparent;
}

/* table_sort
---------------------------------------------------------- */
.table_sort {
  cursor: pointer;
  color: #333;
  display: inline-block;
  position: relative;
  padding-right: 15px;
}
.table_sort:before, .table_sort:after {
  content: "";
  border-style: solid;
  border-width: 5px 4px 0 4px;
  border-color: #ddd transparent transparent transparent;
  display: block;
  width: 0;
  height: 0;
  vertical-align: middle;
  position: absolute;
  right: 0;
  bottom: 2px;
}
.table_sort:after {
  transform: rotate(180deg);
  top: 2px;
  bottom: auto;
}
.table_sort.is_asc:before {
  bottom: 5px;
}
.table_sort.is_asc:after {
  display: none;
}
.table_sort.is_desc:before {
  display: none;
}
.table_sort.is_desc:after {
  top: 7px;
}
.table_sort_head th {
  color: #ddd;
}

/* table_project
---------------------------------------------------------- */
.table_project td {
  color: #333;
  font-size: 1.3rem;
  font-weight: bold;
}

/* table_info
---------------------------------------------------------- */
.table_info {
  width: 100%;
}
.table_info th, .table_info td {
  text-align: left;
  padding-right: 20px;
  letter-spacing: -0.01em;
}
.table_info th:first-child, .table_info td:first-child {
  max-width: 95px;
}
.table_info th {
  color: #aaa;
  font-size: 1.2rem;
  font-weight: normal;
  white-space: nowrap;
}
.table_info td {
  color: #222;
  font-size: 1.3rem;
  font-weight: 500;
  vertical-align: top;
}
.table_info .flex_content_top {
  min-width: 90px;
}
.table_info .table_btn {
  transform: translateY(-50%);
  margin-bottom: -50%;
}

/* table_process
---------------------------------------------------------- */
.table_process th, .table_process td {
  padding: 15px 10px;
}
.table_process td {
  color: #333;
  font-size: 1.3rem;
  font-weight: bold;
}
.table_process td.table_process_gray {
  color: #999;
}
.table_process td.table_process_closed {
  background-color: #eee;
  color: #999;
}
.table_process td.table_process_memo {
  text-align: center;
  min-width: 100px;
  white-space: normal;
}
.table_process_date {
  font-size: 2.4rem;
  font-weight: bold;
  font-family: Roboto, Oswald, "Segoe UI", "Helvetica Neue", HelveticaNeue, sans-serif;
  line-height: 1.2;
  padding-top: 5px;
  margin: auto;
  height: 50px;
  width: 50px;
}
.table_process_date.is_current {
  background-color: #3B80D3;
  border-radius: 50%;
  color: #fff;
}
.table_process_date.is_current .table_process_weekday {
  color: #fff;
}
.table_process_weekday {
  color: #888;
  display: block;
  font-size: 1.1rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1;
}
.table_process_holiday {
  background-color: #eee;
}
.table_process_holiday .table_process_date {
  color: #888;
}
.table_process_holiday .table_process_date.is_current {
  color: #fff;
}
.table_process_hover {
  cursor: pointer;
  display: inline-block;
  position: relative;
}
.table_process_leader {
  color: #3B80D3;
  padding: 0 5px;
}
.table_process_tooltip {
  font-size: 1.2rem;
  text-align: left;
}

/* table_column
---------------------------------------------------------- */
.table_column {
  margin: auto;
}
.table_column td {
  border: none;
  text-align: left;
  padding: 0;
}
.table_column td:nth-child(2n) {
  padding-left: 20px;
}
.table_column_tooltip {
  -moz-column-count: 3;
       column-count: 3;
  -moz-column-gap: 20px;
       column-gap: 20px;
}

/* table_calendar
---------------------------------------------------------- */
.table_calendar {
  border-radius: 5px;
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.06);
  table-layout: fixed;
}
.table_calendar tr:last-child td {
  border-bottom: none;
}
.table_calendar th, .table_calendar td {
  border: none;
  border-bottom: 1px solid #ddd;
}
.table_calendar th + th,
.table_calendar th + td, .table_calendar td + th,
.table_calendar td + td {
  border-left: 1px solid #ddd;
}
.table_calendar th {
  background-color: transparent;
  color: #3F4C62;
  font-size: 1.4rem;
  font-weight: 500;
  padding: 9px;
}
.table_calendar td {
  vertical-align: top;
  padding: 10px 10px 25px;
  white-space: normal;
}
.table_calendar td.is_selecting {
  background-color: #fff293;
}
.table_calendar td.is_holiday {
  background-color: #eee;
}
.table_calendar_date {
  border-radius: 50%;
  font-size: 1.6rem;
  font-weight: bold;
  font-family: Roboto, Oswald, "Segoe UI", "Helvetica Neue", HelveticaNeue, sans-serif;
  letter-spacing: -0.01em;
  line-height: 28px;
  margin: auto;
  height: 28px;
  width: 28px;
}
.table_calendar_date.is_current {
  background-color: #4B81CD;
  color: #fff;
}
.table_calendar_approval {
  text-align: center;
  margin-top: 6px;
}
.table_calendar_label {
  border: 1px solid transparent;
  border-radius: 20px;
  box-shadow: 0 0px 6px rgba(0, 0, 0, 0.2);
  color: #fff;
  display: inline-block;
  font-size: 1.3rem;
  letter-spacing: -0.01em;
  line-height: 1;
  padding: 8px 15px;
  margin: 10px 3px 0;
  white-space: nowrap;
}
.table_calendar_label:hover {
  background-color: #fff;
}
.table_calendar_label_daywork {
  background-color: #D54603;
}
.table_calendar_label_daywork:hover {
  border-color: #D54603;
  color: #D54603;
}
.table_calendar_label_nightwork {
  background-color: #268BFF;
}
.table_calendar_label_nightwork:hover {
  border-color: #268BFF;
  color: #268BFF;
}

/* table_daily_report
---------------------------------------------------------- */
.table_daily_report {
  border-collapse: collapse;
}
.table_daily_report th, .table_daily_report td {
  font-weight: bold;
  letter-spacing: -0.01em;
  text-align: center;
  vertical-align: middle;
}
.table_daily_report th:first-child, .table_daily_report td:first-child {
  text-align: left;
  padding-left: 0;
}
.table_daily_report th {
  color: #888;
  font-size: 1.2rem;
  padding: 0 14px 14px 14px;
  width: 80px;
  white-space: nowrap;
}
.table_daily_report td {
  color: #333;
  font-size: 1.4rem;
  padding: 14px 0 0;
  word-break: break-word;
}
.table_daily_report_horizontal th, .table_daily_report_horizontal td {
  text-align: left;
  padding: 0;
}
.table_daily_report_shrink {
  width: 100%;
}
.table_daily_report_shrink th, .table_daily_report_shrink td {
  padding: 5px 0;
}
.table_daily_report_border {
  border-bottom: 1px solid #ddd;
  margin-top: 15px;
  width: 100%;
}
.table_daily_report_border th {
  padding: 11px 10px;
}
.table_daily_report_border td {
  padding: 10px;
}
.table_daily_report_border .bd_top td {
  padding-top: 20px;
}
.table_daily_report_border .bd_bottom td {
  padding-bottom: 20px;
}
.table_daily_report_check.is_check {
  display: none;
}
.table_daily_report_approved {
  color: #888;
  font-size: 1rem;
  font-weight: bold;
  letter-spacing: -0.01em;
  line-height: 1.4;
  display: none;
}
.table_daily_report_approved.is_show {
  display: block;
}

/* table_form
---------------------------------------------------------- */
.table_form {
  border-collapse: collapse;
  width: 100%;
}
.table_form tr:last-child td {
  padding-bottom: 25px;
}
.table_form th, .table_form td {
  padding: 0 15px 15px;
  white-space: nowrap;
}
.table_form th:first-child, .table_form td:first-child {
  padding-left: 0;
  white-space: normal;
}
.table_form th:last-child, .table_form td:last-child {
  padding-right: 0;
  padding-top: 3.5px;
  width: 50px;
}
.table_form th {
  color: #888;
  font-size: 1.2rem;
  font-weight: bold;
  text-align: left;
  letter-spacing: -0.01em;
  padding-bottom: 10px;
}
.table_form .form_unit {
  margin: 0;
  vertical-align: bottom;
}
.table_form_attendance td:nth-child(2) {
  min-width: 380px;
  max-width: 380px;
}
.table_form_construction th:first-child, .table_form_construction td:first-child {
  width: 30%;
}
.table_form_cost th:first-child, .table_form_cost td:first-child {
  width: 20%;
  white-space: normal;
}
.table_form_cost .bd_top td {
  padding-top: 30px;
}
.table_form_cost .bd_bottom td {
  padding-bottom: 30px;
}
.table_form_cost .form_input {
  padding: 15px 10px;
}
.table_form_cost .form_error_text {
  white-space: normal;
}

/* table_attendance
---------------------------------------------------------- */
.table_attendance {
  border-radius: 5px;
}
.table_attendance tr:last-child td {
  border-bottom: none;
}
.table_attendance th, .table_attendance td {
  border: none;
  border-bottom: 1px solid #ddd;
  padding: 10px;
}
.table_attendance th + th,
.table_attendance th + td, .table_attendance th.bd_left, .table_attendance td + th,
.table_attendance td + td, .table_attendance td.bd_left {
  border-left: 1px solid #ddd;
}
.table_attendance th {
  background-color: transparent;
  color: #888;
}
.table_attendance td {
  color: #333;
  font-weight: bold;
  height: 70px;
  white-space: normal;
}
.table_attendance_approval_date {
  color: #888;
  display: block;
  font-size: 1rem;
  font-weight: bold;
  text-align: center;
  transform: scale(0.8);
}
.table_attendance_unapproved {
  color: #FF4848;
}
.table_attendance_admin td {
  white-space: nowrap;
}

/* table hover
---------------------------------------------------------- */
.table_hover {
  cursor: pointer;
  display: inline-block;
  position: relative;
}
.table_leader {
  color: #3B80D3;
  padding: 0;
}

/* table_invoice
---------------------------------------------------------- */
.table_invoice td:nth-child(6),
.table_invoice th:nth-child(6) {
  border-right: 2px solid #ddd;
}

.table_invoice th {
  font-weight: normal;
  padding-top: 5px;
  padding-bottom: 5px;
}

.table_invoice td {
  padding: 5px;
  padding-bottom: 5px;
}

/* table_cost
---------------------------------------------------------- */
.table_cost td:nth-child(1),
.table_cost th:nth-child(1),
.table_cost td:nth-child(2),
.table_cost th:nth-child(2),
.table_cost td:nth-child(4),
.table_cost th:nth-child(4) {
  border-right: 2px solid #ddd;
}

.table_cost th {
  font-weight: normal;
  padding-top: 5px;
  padding-bottom: 5px;
}

.table_cost td {
  padding: 5px;
  padding-bottom: 5px;
}

.date_cell {
  position: relative;
}

.date_cell .js-cost-accordion {
  position: absolute;
  top: 50%;
  left: 82%;
  transform: translate(-50%, -50%);
  pointer-events: auto;
}

/* table construction ledger
---------------------------------------------------------- */
.ledger_table_scroll {
  max-height: calc(100vh - 334px);
  overflow-x: scroll;
  overflow-y: auto;
  width: 100%;
}
.ledger_table_scroll::-webkit-scrollbar {
  width: 9px;
  height: 9px;
}
.ledger_table_scroll::-webkit-scrollbar-thumb {
  background-color: #aaa;
  border-radius: 4.5px;
}
.ledger_table_scroll::-webkit-scrollbar-track {
  background-color: transparent;
  border-radius: 4.5px;
}
.ledger_table_scroll {
  scrollbar-face-color: #aaa;
  scrollbar-track-color: transparent;
}

.table_basic.table_project thead th {
  position: sticky;
  top: 0;
  z-index: 5;
}

/*------------------------------------------------------------------------
 テキスト
-------------------------------------------------------------------------*/
/* text_medium
---------------------------------------------------------- */
.text_medium {
  color: #333;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.7;
  letter-spacing: -0.01em;
  word-break: break-word;
}

.text_medium_02 {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: -0.01em;
}

/* text_small
---------------------------------------------------------- */
.text_small {
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: -0.01em;
}

/* text_link
---------------------------------------------------------- */
.text_link {
  color: #3B80D3;
  display: inline-block;
  font-size: 1.3rem;
  font-weight: bold;
  letter-spacing: -0.01em;
  text-decoration: underline;
  float: right;
}

/* text_date
---------------------------------------------------------- */
.text_date {
  color: #888;
  font-size: 1rem;
  letter-spacing: -0.01em;
  margin-top: 10px;
}

/* text_red
---------------------------------------------------------- */
.text_red {
  color: #FD0D1B;
}

.text_red2 {
  color: #f66011;
}

/* text_notice
---------------------------------------------------------- */
.text_notice {
  color: #FF0000;
  font-size: 1.2rem;
  margin: 0 20px;
}

/* text_attention
---------------------------------------------------------- */
.text_attention {
  color: #888;
  font-size: 1.1rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  text-align: left;
  margin-top: 10px;
}
.text_attention:before {
  content: "※";
  color: #FF4848;
  margin-right: 4px;
}
.text_attention_red {
  color: #FF4848;
  font-weight: normal;
  margin: 0;
}

/* text_error
---------------------------------------------------------- */
.text_error {
  color: #FF4848;
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.07em;
}

.text_error_message {
  color: #FF4848;
  font-size: 1.4rem;
  margin-top: 10px;
}

/* 検索条件
---------------------------------------------------------- */
.text_search {
  cursor: pointer;
  display: inline-block;
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: 0.09em;
  margin-bottom: 15px;
  position: relative;
}
.text_search:after {
  content: "";
  border-top: 1.5px solid #3B80D3;
  border-right: 1.5px solid #3B80D3;
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  margin: auto;
  transform: rotate(135deg);
  position: absolute;
  top: -4px;
  right: -12px;
  bottom: 0;
}
.text_search.is_open:after {
  transform: rotate(-45deg);
  top: 0;
}

/* 検索条件なし
---------------------------------------------------------- */
.text_no_result {
  color: #888;
  font-size: 2rem;
  text-align: center;
  margin: 30px 0 0;
}

/* 戻る
---------------------------------------------------------- */
.text_back {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: -0.01em;
  padding-left: 30px;
  margin-bottom: 30px;
  position: relative;
}
.text_back:before, .text_back:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 8px;
  margin: auto;
}
.text_back:before {
  background-color: #3B80D3;
  height: 1px;
  width: 13px;
}
.text_back:after {
  border-top: 1px solid #3B80D3;
  border-right: 1px solid #3B80D3;
  transform: rotate(-135deg);
  height: 8px;
  width: 8px;
}

/* text_switch
---------------------------------------------------------- */
.text_switch {
  background-color: #3B80D3;
  color: #fff;
  cursor: pointer;
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: -0.04em;
  position: relative;
}
.text_switch:before, .text_switch:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  vertical-align: middle;
}
.text_switch:before {
  background-color: #fff;
  height: 1px;
  width: 12px;
  right: -29px;
}
.text_switch:after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
  height: 6px;
  width: 6px;
  right: -35px;
}
.text_switch_label {
  padding-right: 25px;
}
.text_switch_reverse:before, .text_switch_reverse:after {
  right: auto;
  left: 13px;
}
.text_switch_reverse:after {
  transform: rotate(-135deg);
}
.text_switch_reverse .text_switch_label {
  border-right: none;
  padding-left: 20px;
}

.duplicate_detail {
  color: #888;
  font-size: 1.4rem;
}

/*------------------------------------------------------------------------
 timepicker
-------------------------------------------------------------------------*/
.wickedpicker {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.06);
  background: #fff;
  margin: 0 auto;
  border-radius: 5px;
  width: 220px;
  height: 130px;
  font-size: 1.4rem;
  display: none;
}

.wickedpicker__title {
  background-color: #F5F5F5;
  position: relative;
  margin: 0 auto;
  border-bottom: 1px solid #ddd;
  padding: 10px;
  color: #3F4C62;
  font-size: inherit;
}

.wickedpicker__close {
  transform: translateY(-25%);
  position: absolute;
  top: 25%;
  right: 10px;
  color: #34495e;
  cursor: pointer;
}

.wickedpicker__close {
  height: 10px;
  width: 10px;
}
.wickedpicker__close:before, .wickedpicker__close:after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #888;
  transform: rotate(45deg);
  transform-origin: 0% 50%;
  position: absolute;
  top: 0;
  left: 15%;
}
.wickedpicker__close:after {
  transform: rotate(-45deg);
  transform-origin: 100% 50%;
  left: auto;
  right: 15%;
}

.wickedpicker__controls {
  padding: 20px 0;
  line-height: normal;
  margin: 0;
}

.wickedpicker__controls__control, .wickedpicker__controls__control--separator {
  vertical-align: middle;
  display: inline-block;
  font-size: inherit;
  margin: 0 auto;
  width: 35px;
  letter-spacing: 1.3px;
}

.wickedpicker__controls__control-down, .wickedpicker__controls__control-up {
  color: #34495e;
  position: relative;
  display: block;
  margin: 3px auto;
  font-size: 18px;
  cursor: pointer;
}

.wickedpicker__controls__control-up:before {
  content: "";
  border-top: solid 2px #3B80D3;
  border-left: solid 2px #3B80D3;
  display: block;
  margin: auto;
  width: 10px;
  height: 10px;
  transform: rotate(45deg);
}

.wickedpicker__controls__control-down:after {
  content: "";
  border-bottom: solid 2px #3B80D3;
  border-right: solid 2px #3B80D3;
  display: block;
  margin: auto;
  width: 10px;
  height: 10px;
  transform: rotate(45deg);
}

.wickedpicker__controls__control--separator {
  width: 5px;
}

.text-center, .wickedpicker__controls, .wickedpicker__controls__control, .wickedpicker__controls__control--separator, .wickedpicker__controls__control-down, .wickedpicker__controls__control-up, .wickedpicker__title {
  text-align: center;
}

/*------------------------------------------------------------------------
 タイトル
-------------------------------------------------------------------------*/
/* page_title
---------------------------------------------------------- */
.page_title {
  color: #333;
  font-weight: bold;
  letter-spacing: 0.07em;
  margin: 0 24px 0 30px;
}

/* title_medium
---------------------------------------------------------- */
.title_medium {
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: 0.09em;
}
.title_medium_black {
  color: #333;
}

/* title_border
---------------------------------------------------------- */
.title_border {
  border-bottom: 1px solid #ddd;
  color: #333;
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: 0.07em;
  padding-bottom: 15px;
  width: 100%;
}
.title_border_small {
  font-size: 1.2rem;
}

/* title_content
---------------------------------------------------------- */
.title_content {
  color: #333;
  font-weight: bold;
  letter-spacing: -0.01em;
}

/* title_date
---------------------------------------------------------- */
.title_date {
  color: #333;
  font-size: 2.4rem;
  font-weight: bold;
  font-family: Roboto, Oswald, "Segoe UI", "Helvetica Neue", HelveticaNeue, sans-serif;
}

/*------------------------------------------------------------------------
 トースター
-------------------------------------------------------------------------*/
#toast-container > div {
  box-shadow: 0 0 8px #ddd;
  margin-top: 90px;
  padding: 15px;
  opacity: 1;
  text-align: center;
}

.toast-message {
  font-size: 3.6rem;
}

/* Success
---------------------------------------------------------- */
#toast-container > .toast-success {
  background-image: none !important;
}

.toast-success {
  background-color: rgba(54, 172, 255, 0.8);
}

/* Info
---------------------------------------------------------- */
#toast-container > .toast-info {
  background-image: none !important;
}

/* Worning
---------------------------------------------------------- */
#toast-container > .toast-warning {
  background-image: none !important;
}

.toast-warning {
  background-color: rgba(255, 183, 23, 0.8);
}

/* Error
---------------------------------------------------------- */
#toast-container > .toast-error {
  background-image: none !important;
}

.toast-error {
  background-color: rgba(255, 91, 91, 0.8);
}

.form_time_input_clear {
  right: 33px !important;
}

/*------------------------------------------------------------------------
 board
-------------------------------------------------------------------------*/
.board_wrap {
  padding: 20px 30px;
}

.board_trash_area .board_tooltip_wrap,
.board_trash_area .board_drag_item {
  display: none;
}

/* board_header
---------------------------------------------------------- */
.board_today {
  color: #3B80D3;
  font-size: 1.2rem;
  font-weight: bold;
  display: block;
}

.board_date {
  color: #222;
  font-size: 1.8rem;
  font-weight: bold;
  margin: 0 15px 0 25px;
}
.board_date.is_holiday {
  color: #bbb;
}

.board_date_icon {
  display: block;
  height: 10px;
  width: 10px;
  left: 20px;
  transform: scale(1.4);
  position: relative;
}
.board_date_icon:before {
  content: "";
  display: block;
  height: 8px;
  width: 8px;
  transform: rotate(45deg) scale(1.4);
  position: absolute;
  top: 0;
}

.click_area {
  width: 45px;
  height: 45px;
}

.board_date_prev:before {
  border-bottom: 1px solid #3B80D3;
  border-left: 1px solid #3B80D3;
  top: 14px;
  right: 5px;
}

.board_date_next:before {
  border-top: 1px solid #3B80D3;
  border-right: 1px solid #3B80D3;
  top: 14px;
  right: 5px;
}

.board_legend {
  color: #000;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: -0.01em;
}

@media screen and (min-width: 2500px) {
  .board_today {
    font-size: 1.8rem;
  }
  .board_legend {
    font-size: 2rem;
  }
}
/* board_table
---------------------------------------------------------- */
.board_table_area {
  background-color: #fff;
  overflow-x: scroll;
  overflow-y: scroll;
  max-height: calc(100vh - 262px);
  width: 100%;
}
.board_table_area::-webkit-scrollbar {
  width: 9px;
  height: 9px;
}
.board_table_area::-webkit-scrollbar-thumb {
  background-color: #aaa;
  border-radius: 4.5px;
}
.board_table_area::-webkit-scrollbar-track {
  background-color: #F5F5F5;
  border-radius: 4.5px;
}
.board_table_area {
  scrollbar-face-color: #aaa;
  scrollbar-track-color: #F5F5F5;
}
.board_table_area.is_higher {
  max-height: calc(100vh - 148px);
}

.board_table {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
}
.board_table th, .board_table td {
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  color: #333;
  font-size: 1.2rem;
  vertical-align: middle;
}
.board_table th:first-of-type, .board_table td:first-of-type {
  border: 1px solid #ddd;
}
.board_table th:last-child, .board_table td:last-child {
  border-right: 1px solid #ddd;
  padding-right: 15px;
}
.board_table th {
  font-weight: bold;
  text-align: center;
  line-height: 1.1;
  padding: 0 15px;
  white-space: nowrap;
}
.board_table th.board_table_people {
  font-size: 1rem;
}
.board_table th.pr_0 {
  padding-right: 0;
}
.board_table td {
  font-weight: 500;
  letter-spacing: -0.01em;
  padding: 5px 10px 5px 5px;
  min-height: 45px;
  height: 45px;
}
.board_table td.board_table_nodata {
  color: #888;
}
.board_table td:first-of-type {
  width: 40px;
  text-align: center;
}
.board_table td:nth-of-type(2) {
  width: 90px;
}
.board_table td:nth-of-type(3) {
  width: 70px;
}
.board_table td:nth-of-type(4) {
  min-width: 80px;
  width: 115px;
}
.board_table .board_table_people {
  background-color: #F5F5F5;
  font-weight: bold;
  text-align: center;
  padding: 0 1px;
}
board_table .board_table .board_table_people_difference {
  font-size: 1rem;
}
.board_table_head {
  border-top: 1px solid #ddd;
  position: sticky;
  top: 0;
  z-index: 100;
  background-color: white;
  height: 32px;
}
.board_table_detail {
  display: none;
}
.board_table_nodata {
  background-color: #f5f5f5;
  text-align: center;
}

.select_button {
  background-color: #F5F5F5;
  text-align: center;
  -webkit-appearance: menulist;
  -moz-appearance: auto;
       appearance: auto;
  border: 1px solid #000;
}

.sticky {
  border-top: 1px solid #ddd;
  position: sticky;
  top: 0px;
  z-index: 100;
  background-color: white;
}

.board_table_switch {
  margin-left: 20px;
  padding: 9px 10px;
  width: 60px;
  height: 80px;
}

.boarder_area {
  border: 1px solid #ddd;
}

.orange {
  background-color: #ffebcd;
}
.orange .board_table_slide {
  position: sticky;
  z-index: 99;
  left: 0px;
  background-color: #ffebcd;
}
.orange .board_table_slide_second {
  position: sticky;
  z-index: 99;
  left: 42.5px;
  background-color: #ffebcd;
}

.blue {
  background-color: #D6E3FF;
}
.blue .board_table_slide {
  position: sticky;
  z-index: 99;
  left: 0px;
  background-color: #D6E3FF;
}
.blue .board_table_slide_second {
  position: sticky;
  z-index: 99;
  left: 42.5px;
  background-color: #D6E3FF;
}

.gray {
  background-color: #E0E0E0;
}
.gray .board_table_slide {
  position: sticky;
  z-index: 99;
  left: 0px;
  background-color: #E0E0E0;
}
.gray .board_table_slide_second {
  position: sticky;
  z-index: 99;
  left: 42.5px;
  background-color: #E0E0E0;
}

.white {
  background-color: white;
}
.white .board_table_slide {
  position: sticky;
  z-index: 99;
  left: 0px;
  background-color: white;
}
.white .board_table_slide_second {
  position: sticky;
  z-index: 99;
  left: 42.5px;
  background-color: white;
}

.guardman_block {
  /* min-width: 160px; */
  min-width: 11vw;
}

.y_m_selected_day {
  font-size: 15px;
}

@media screen and (min-width: 1400px) {
  .board_table_area {
    max-height: calc(100vh - 300px);
  }
  .board_table th, .board_table td {
    font-size: 1.5rem;
  }
  .board_table th {
    padding: 0 10px;
  }
  .board_table th.board_table_people {
    font-size: 1.3rem;
  }
  .board_table td {
    padding: 5px 10px;
  }
  .board_table td:nth-of-type(4), .board_table td:nth-of-type(8) {
    width: 200px;
  }
  .board_table .board_table_people_difference {
    font-size: 1.3rem;
  }
  .board_table_head {
    height: 40px;
  }
  .board_table_switch {
    padding: 13px 10px;
  }
}
@media screen and (min-width: 2500px) {
  .board_table_area {
    max-height: calc(100vh - 330px);
  }
  .board_table th, .board_table td {
    font-size: 1.5rem;
  }
  .board_table th {
    padding: 0 20px;
  }
  .board_table th.board_table_people {
    font-size: 1.6rem;
  }
  .board_table td {
    padding: 20px;
  }
  .board_table .board_table_people_difference {
    font-size: 1.6rem;
  }
  .board_table_head {
    height: 60px;
  }
  .board_table_switch {
    font-size: 1.6rem;
    padding: 23px 10px;
    width: 80px;
  }
}
.board_table_slide_head {
  position: sticky;
  left: 0px;
  z-index: 100;
  background-color: white;
}

.board_table_slide_head_second {
  position: sticky;
  left: 42.5px;
  z-index: 100;
  background-color: white;
}

/* board_drag
---------------------------------------------------------- */
.board_drag_area {
  margin: 0 -10px 0 0;
  width: -moz-fit-content;
  width: fit-content;
}
.board_drag_area .board_tooltip_wrap,
.board_drag_area .board_drag_item {
  display: inline-block;
}

.board_drag_item {
  background-color: #fff;
  border: 1px solid #005CB9;
  border-radius: 3px;
  cursor: pointer;
  display: inline-block;
  font-size: 1.1rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: -0.03em;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  -ms-user-select: none;
  padding-left: 3px;
  padding-right: 3px;
  min-width: 60px;
  margin: 0 3px 1px 3px;
  white-space: nowrap;
}
.board_drag_item_text {
  color: #005CB9;
  display: inline-block;
  font-size: 1.1rem;
  margin: 0;
}
.board_drag_item_count {
  color: #333;
  font-size: 1.1rem;
  font-weight: bold;
  letter-spacing: -0.03em;
  margin-left: 15px;
}
.board_drag_item_red {
  border-color: #D64E3F !important;
}
.board_drag_item_red .board_drag_item_text {
  color: #D64E3F !important;
}
.board_drag_item_orange {
  border-color: #FF7621;
}
.board_drag_item_orange .board_drag_item_text {
  color: #FF7621;
}
.board_drag_item_gray {
  background-color: #ddd;
  border-color: #ddd;
}
.board_drag_item_gray .board_drag_item_text {
  color: #888;
}

.sortable-chosen.board_drag_item {
  background-color: #EEF7FF;
}
.sortable-chosen .board_drag_item {
  background-color: #EEF7FF;
}

.item_selected {
  background-color: #569FF7;
  border-color: #569FF7;
}

@media all and (-ms-high-contrast: none) {
  .board_drag_item {
    padding-top: 6px;
  }
}
@media screen and (min-width: 1400px) {
  .board_drag_item {
    font-size: 1.4rem;
  }
  .board_drag_item_text {
    font-size: 1.4rem;
  }
  .board_drag_item_count {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 2500px) {
  .board_drag_item {
    font-size: 2rem;
  }
  .board_drag_item_text {
    font-size: 2rem;
  }
  .board_drag_item_count {
    font-size: 2rem;
  }
}
/* board_tab
---------------------------------------------------------- */
.board_tab_item {
  width: calc(100% - 130px);
}
.board_tab_list {
  position: relative;
  width: 100%;
}
.board_tab_list:before {
  background-color: #ddd;
  content: "";
  display: block;
  height: 1px;
  width: calc(100% - 20px);
  position: absolute;
  left: 0;
  bottom: 0;
}
.board_tab_title {
  border-bottom: 2px solid transparent;
  color: #888;
  cursor: pointer;
  font-size: 1.2rem;
  font-weight: bold;
  transition: 0.3s;
  padding-bottom: 8px;
  white-space: nowrap;
}
.board_tab_title.is_current, .board_tab_title:hover {
  border-color: #3B80D3;
  color: #3B80D3;
  position: relative;
}
.board_tab_content {
  display: none;
}
.board_tab_content.is_current {
  display: block;
}

@media screen and (min-width: 1400px) {
  .board_tab_item {
    width: calc(100% - 170px);
  }
}
@media screen and (min-width: 2500px) {
  .board_tab_item {
    width: calc(100% - 200px);
  }
  .board_tab_list:after {
    left: 370px;
  }
  .board_tab_title {
    font-size: 1.8rem;
  }
}
/* board_item
---------------------------------------------------------- */
.board_item_content {
  width: 100%;
}
.board_item_content .board_drag_item.is_using {
  background-color: #ddd;
}
.board_item_content_holiday {
  width: 110px;
}
.board_item_content_holiday .board_drag_item {
  box-shadow: none;
  cursor: default;
  white-space: normal;
}

.board_item_title {
  color: #999;
  font-size: 1.2rem;
  font-weight: bold;
  padding-bottom: 10px;
  position: relative;
}
.board_item_title:before {
  background-color: #ddd;
  content: "";
  display: block;
  height: 1px;
  width: calc(100% - 20px);
  position: absolute;
  left: 0;
  bottom: 0;
}

.board_item_scroll {
  padding: 0 15px 0 0;
  overflow-x: hidden;
  overflow-y: scroll;
  max-height: 108px;
  width: 100%;
}

.board_item_scroll::-webkit-scrollbar {
  width: 9px;
}

.board_item_scroll::-webkit-scrollbar-thumb {
  background: #B4B4B4;
  border-radius: 10px;
}

.board_item_scroll::-webkit-scrollbar-track-piece {
  background: #EBEBEB;
}

@media screen and (min-width: 1400px) {
  .board_item_content_holiday {
    width: 150px;
  }
  .board_item_scroll {
    max-height: 150px;
  }
}
@media screen and (min-width: 2500px) {
  .board_item_content_holiday {
    width: 180px;
  }
  .board_item_title {
    font-size: 1.8rem;
  }
  .board_item_scroll {
    max-height: 180px;
  }
}
/* board_tooltip
---------------------------------------------------------- */
.board_tooltip_wrap {
  display: inline-block;
  position: relative;
}
.board_tooltip_item {
  padding: 10px;
  bottom: 100%;
  z-index: 100;
}
.board_tooltip_text {
  color: #333;
  font-size: 1.1rem;
  font-weight: bold;
  vertical-align: middle;
}
.board_tooltip_switch {
  vertical-align: middle;
}
.board_tooltip_number {
  color: #333;
  font-size: 2rem;
  font-weight: bold;
  font-family: Roboto, Oswald, "Segoe UI", "Helvetica Neue", HelveticaNeue, sans-serif;
  vertical-align: middle;
}
.board_tooltip_lease_button {
  background-color: #fff;
  border: 1px solid #005CB9;
  border-radius: 50%;
  display: inline-block;
  height: 24px;
  width: 24px;
  vertical-align: middle;
  position: relative;
}
.board_tooltip_lease_button:before {
  background-color: #005CB9;
  content: "";
  display: block;
  height: 2px;
  width: 10px;
  transform: translateX(-50%);
  position: absolute;
  top: 10px;
  left: 50%;
}
.board_tooltip_button_plus:after {
  background-color: #005CB9;
  content: "";
  display: block;
  height: 2px;
  width: 10px;
  transform: translateX(-50%) rotate(90deg);
  position: absolute;
  top: 10px;
  left: 50%;
}
.board_tooltip_guard_button {
  background-color: #fff;
  border: 1px solid #005CB9;
  border-radius: 50%;
  display: inline-block;
  height: 24px;
  width: 24px;
  vertical-align: middle;
  position: relative;
}
.board_tooltip_guard_button:before {
  background-color: #005CB9;
  content: "";
  display: block;
  height: 2px;
  width: 10px;
  transform: translateX(-50%);
  position: absolute;
  top: 10px;
  left: 50%;
}

@media screen and (min-width: 2500px) {
  .board_tooltip_text {
    font-size: 1.4rem;
  }
}
#remove_area {
  color: white;
  margin-left: 20px;
  height: 50%;
  width: 85%;
  margin-bottom: 10px;
  background-color: #ff9191;
  text-align: center;
  display: none;
}

.tappable_area {
  background-color: #A2D7D4;
}

.untappable_area_orange {
  background-color: #ffebcd;
}

.untappable_area_blue {
  background-color: #D6E3FF;
}

.untappable_area_gray {
  background-color: #E0E0E0;
}

td.click_add_area {
  vertical-align: top;
  padding-bottom: 40px;
}

.worker_group {
  margin-top: auto;
  font-size: 1.2rem;
  font-weight: bold;
  color: #888;
  text-align: center;
  background-color: #FFF1CC;
  width: 35%;
}

.machine_group {
  margin-top: auto;
  font-size: 1.2rem;
  font-weight: bold;
  color: #888;
  text-align: center;
  background-color: #E2EFD9;
  width: 25%;
}

.lease_group {
  margin-top: auto;
  font-size: 1.2rem;
  font-weight: bold;
  color: #888;
  text-align: center;
  background-color: #DCECF4;
  width: 30%;
}

.guardsman_group {
  margin-top: auto;
  font-size: 1.2rem;
  font-weight: bold;
  color: #888;
  text-align: center;
  background-color: #FAE5D6;
  width: 10%;
}

.board_item_wrap {
  width: 100%;
}

.board_tab_item {
  width: 89%;
}

.board_absent_area {
  width: 10%;
}

.board_tab_item_tilte {
  display: flex;
  width: 98%;
}

.board_tab_title {
  border-bottom: 2px solid transparent;
  color: #888;
  cursor: pointer;
  font-size: 1.2rem;
  font-weight: bold;
  transition: 0.3s;
  width: 100%;
  padding-bottom: 8px;
  white-space: nowrap;
}

.js-switching {
  transform: translate(0, 50%);
  position: relative;
  display: inline-block;
  padding: 10px;
}

.js-switching::before {
  content: "";
  width: 12px;
  height: 12px;
  position: absolute;
  right: 20px;
  top: 8px;
}

.js-switching.tab_switch::before {
  transform: rotate(135deg);
}

.js-switching.tab_switch:after {
  border-top: 2px solid #3B80D3;
  border-right: 2px solid #3B80D3;
  content: "";
  cursor: pointer;
  display: block;
  width: 12px;
  height: 12px;
  transform: rotate(135deg);
  position: absolute;
  top: 0px;
  left: 5px;
}

.js-switching.tab_switch.is_open:after {
  transform: rotate(-45deg);
  top: 8px;
}

/*------------------------------------------------------------------------
 map
-------------------------------------------------------------------------*/
.map_wrap {
  padding: 70px 0 0;
}

.map {
  height: calc(100vh - 70px);
  width: 100%;
}

.create_project_map {
  margin-top: 30px;
  height: 50vh;
  width: 100%;
}

/* map_action
---------------------------------------------------------- */
.map_action_button {
  background-color: #333;
  border-radius: 5px 0 0 5px;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  height: 56px;
  width: 36px;
  padding: 0 8px;
  position: absolute;
}

.map_arrow_button {
  top: 0;
  left: -36px;
}
.map_arrow_button.is_close .map_arrow_icon {
  border-right: none;
  border-left: 1px solid #fff;
}
.map_arrow_button.is_close .map_arrow_icon:before, .map_arrow_button.is_close .map_arrow_icon:after {
  left: 4px;
}
.map_arrow_button.is_close .map_arrow_icon:after {
  transform: rotate(-135deg);
}

.map_arrow_icon {
  border-right: 1px solid #fff;
  display: block;
  height: 14px;
  position: relative;
}
.map_arrow_icon:before, .map_arrow_icon:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  vertical-align: middle;
}
.map_arrow_icon:before {
  background-color: #fff;
  height: 1px;
  width: 12px;
  left: 4px;
}
.map_arrow_icon:after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
  height: 6px;
  width: 6px;
  left: 10px;
}

.map_close_button {
  border-radius: 0 5px 5px 0;
  left: auto;
  right: -36px;
}

.map_close_icon {
  display: block;
  margin: auto;
  height: 10px;
  width: 10px;
}
.map_close_icon:before, .map_close_icon:after {
  background-color: #fff;
  content: "";
  height: 12px;
  width: 1px;
  position: absolute;
  left: 17px;
}
.map_close_icon:before {
  transform: rotate(45deg);
}
.map_close_icon:after {
  transform: rotate(-45deg);
}

/* map_search
---------------------------------------------------------- */
.map_search_box {
  transition: 0.3s;
  position: fixed;
  top: 70px;
  right: 0;
}
.map_search_box.is_close {
  right: -415px;
}

.map_search_form {
  background-color: #fff;
  border-radius: 0 0 0 5px;
  box-shadow: -3px 3px 4px rgba(0, 0, 0, 0.07);
  width: 415px;
  padding: 20px 20px 40px;
  position: relative;
}

/* map_legend
---------------------------------------------------------- */
.map_legend_box {
  background-color: #fff;
  border-radius: 0 0 5px 0;
  padding: 10px 15px;
  position: fixed;
  top: 70px;
  left: 220px;
}

.content_wrap.is_wide .map_legend_box {
  left: 60px;
}

.map_legend_icon {
  background-repeat: no-repeat;
  background-position: left center;
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: -0.01em;
  padding: 0 0 0 15px;
}
.map_legend_icon_blue {
  background-image: url("../img/icon_pin_blue.svg");
}
.map_legend_icon_gray {
  background-image: url("../img/icon_pin_black.svg");
}

/* map_hover
---------------------------------------------------------- */
.map_hover_box {
  background-color: #fff;
  border-radius: 5px;
  display: none;
  width: 290px;
  position: absolute;
}

.map_location_image {
  border-radius: 5px 5px 0 0;
}

.map_location_info {
  padding: 10px 15px;
}

.map_location_name {
  color: #000;
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: -0.01em;
}

.map_location_address {
  color: #000;
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: -0.01em;
}

.map_customer_name {
  color: #000;
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: -0.01em;
}

.gm-style-iw {
  border-radius: 5px !important;
  width: 290px !important;
}

.gm-ui-hover-effect {
  display: none !important;
}

.gm-style .gm-style-iw-c {
  top: 10px;
  padding: 0;
}

.gm-style .gm-style-iw-d {
  overflow: auto !important;
}

.gm-style .gm-style-iw-t::after {
  display: none;
}

.gm-style img[src$=".svg"] {
  height: 59px !important;
  width: 47px !important;
}

/* map_detail
---------------------------------------------------------- */
.map_detail_box {
  transition: 0.3s;
  height: 100%;
  position: fixed;
  top: 70px;
  left: -450px;
  bottom: 0;
}
.map_detail_box.is_open {
  left: 220px;
}

@media screen and (max-width: 1200px) {
  .map_detail_box .btn_form {
    margin-bottom: 90px;
  }
}
.content_wrap.is_wide .map_detail_box.is_open {
  left: 60px;
}

.map_detail_project {
  background-color: #fff;
  box-shadow: 2px 0px 3px rgba(0, 0, 0, 0.16);
  height: calc(100vh - 70px);
  overflow-y: scroll;
  overflow-x: hidden;
  width: 450px;
}
.map_detail_project::-webkit-scrollbar {
  width: 9px;
  height: 9px;
}
.map_detail_project::-webkit-scrollbar-thumb {
  background-color: #aaa;
  border-radius: 4.5px;
}
.map_detail_project::-webkit-scrollbar-track {
  background-color: transparent;
  border-radius: 4.5px;
}
.map_detail_project {
  scrollbar-face-color: #aaa;
  scrollbar-track-color: transparent;
}

.map_detail_item {
  border-bottom: 1px solid #ddd;
  padding: 20px 30px 20px 20px;
}

.map_detail_title {
  color: #888;
  font-size: 1.2rem;
  font-weight: 500;
  flex-shrink: 0;
  letter-spacing: -0.01em;
  width: 75px;
  white-space: nowrap;
}

/*------------------------------------------------------------------------
 number
-------------------------------------------------------------------------*/
.number_management .number_management_show {
  display: inline-flex;
}

.number_management_show {
  display: none;
}

.number_management_list {
  border: 1px solid #3C73B5;
  text-align: center;
  transition: 0.3s;
  height: 35px;
  width: 100%;
}
.number_management_list:not(:first-child) {
  border-left: none;
}
.number_management_list:first-child {
  border-radius: 5px 0 0 5px;
}
.number_management_list:last-child {
  border-radius: 0 5px 5px 0;
}
.number_management_list_link {
  display: block;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 33px;
}
.number_management_list:hover, .number_management_list.is_current {
  background-color: #3B80D3;
}
.number_management_list:hover .number_management_list_link, .number_management_list.is_current .number_management_list_link {
  color: #fff;
}

/* number_management_item
---------------------------------------------------------- */
.number_management_item {
  margin-top: 20px;
  padding: 30px 20px;
}

.number_management_item_head {
  border-collapse: collapse;
  line-height: 1;
  width: 100%;
}
.number_management_item_customer {
  color: #888;
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: -0.01em;
  text-align: left;
}
.number_management_item_info {
  color: #333;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  text-align: right;
}
.number_management_item_construction {
  color: #333;
  font-weight: bold;
  letter-spacing: -0.01em;
  padding-top: 10px;
}
.number_management_item_quote {
  color: #3B80D3;
  font-weight: bold;
  text-align: right;
  padding-top: 10px;
}

/* number_management_table
---------------------------------------------------------- */
.number_management_table {
  border-collapse: collapse;
  margin-top: 15px;
  width: 100%;
}
.number_management_table tr th {
  width: 70px;
}
.number_management_table tr:first-child th {
  background-color: #647D9B;
  color: #fff;
  text-align: center;
}
.number_management_table tr:nth-child(2) th {
  background-color: #647D9B;
  color: #fff;
  text-align: center;
}
.number_management_table th,
.number_management_table td {
  background-color: #fff;
  border: 1px solid #ddd;
  text-align: center;
  line-height: 1;
  padding: 10px;
  vertical-align: middle;
  white-space: normal;
}
.number_management_table th {
  color: #333;
  font-size: 1.2rem;
  font-weight: 600;
}
.number_management_table td {
  color: #000;
  font-size: 1.4rem;
  font-family: Roboto, Oswald, "Segoe UI", "Helvetica Neue", HelveticaNeue, sans-serif;
  word-break: break-word;
}
.number_management_table td.number_management_table_shift {
  padding: 15px 5px;
  font-size: 1.2rem;
}
.number_management_table_left {
  width: calc(42% - 10px);
}
.number_management_table_right {
  width: calc(58% - 10px);
}
.number_management_table_head {
  width: 220px;
}
.number_management_table_date {
  display: block;
}
.number_management_table_text {
  display: block;
  font-size: 1.2rem;
  line-height: 1.6;
  margin-top: 5px;
}
.number_management_table_cost tr:first-child th,
.number_management_table_cost tr:first-child td {
  background-color: #F5F5F5;
  border: none;
  text-align: left;
}
.number_management_table_cost tr:first-child th:first-child {
  border-right: 1px solid #ddd;
  color: #999;
  text-align: left;
  width: 150px;
}
.number_management_table_cost tr:first-child td {
  color: #3F4C62;
  padding: 15px;
}

/* number_management_data
---------------------------------------------------------- */
.number_management_data {
  background-color: #eaf9ff;
  color: #3B80D3;
  padding: 12px 30px 12px 12px;
  width: calc((100% - 20px) / 3);
}
.number_management_data:nth-child(2) {
  padding-right: 12px;
}
.number_management_data_title {
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.4;
}
.number_management_data_value {
  font-size: 2.3rem;
  font-weight: bold;
  font-family: Roboto, Oswald, "Segoe UI", "Helvetica Neue", HelveticaNeue, sans-serif;
  flex-shrink: 0;
  text-align: right;
  line-height: 1.1;
  margin-left: 10px;
}
.number_management_data_scale {
  display: block;
  font-size: 1rem;
  font-weight: normal;
}

/* number_work_type
---------------------------------------------------------- */
.number_work_type_list {
  display: none;
  margin-top: 35px;
}
.number_work_type_item {
  border: 1px solid #ddd;
  border-radius: 5px;
  margin-top: 20px;
  padding: 30px 25px;
}
.number_work_type_item.is_finished {
  background-color: #F5F5F5;
  border-color: #2069BE;
  position: relative;
}
.number_work_type_item.is_finished:after {
  background-color: #3B80D3;
  border-radius: 0 5px 0 5px;
  color: #fff;
  content: "工事完了";
  display: inline-block;
  font-family: Roboto, Oswald, "Segoe UI", "Helvetica Neue", HelveticaNeue, sans-serif;
  letter-spacing: -0.01em;
  padding: 7px 26px;
  position: absolute;
  top: -1px;
  right: -1px;
}
.number_work_type_item.is_finished .number_management_table_cost th,
.number_work_type_item.is_finished .number_management_table_cost td {
  background-color: #fff;
}
.number_work_type_item.is_finished .number_management_table_cost th.number_management_table_whitespace,
.number_work_type_item.is_finished .number_management_table_cost td.number_management_table_whitespace {
  background-color: transparent;
}
.number_work_type_info th,
.number_work_type_info td {
  font-weight: bold;
  letter-spacing: -0.01em;
  line-height: 1;
  text-align: left;
}
.number_work_type_info th {
  color: #888;
  font-size: 1.1rem;
  padding: 0 30px 10px 0;
}
.number_work_type_info td {
  color: #333;
  padding-right: 30px;
}

/* number_expense_item
---------------------------------------------------------- */
.number_expense_item {
  font-size: 1.3rem;
  letter-spacing: -0.01em;
}
.number_expense_item:not(:last-child) {
  margin-bottom: 10px;
}
.number_expense_item_data {
  margin-left: 20px;
}
.number_expense_item_unit {
  font-size: 1.2rem;
  font-weight: 500;
}

/* number_comparison_table
---------------------------------------------------------- */
.number_comparison_table {
  background-color: #fff;
  border-collapse: collapse;
  border-radius: 5px;
  width: 100%;
}
.number_comparison_table tr:last-child th,
.number_comparison_table tr:last-child td {
  border-bottom: none;
}
.number_comparison_table th,
.number_comparison_table td {
  border-bottom: 1px solid #ddd;
  color: #333;
  font-weight: bold;
  text-align: left;
  letter-spacing: -0.01em;
  vertical-align: middle;
}
.number_comparison_table th {
  border-right: 1px solid #ddd;
  padding: 10px 30px;
}
.number_comparison_table td {
  font-size: 1.7rem;
  padding: 10px 20px;
}
.number_comparison_table_latest {
  background-color: #eee;
}
.number_comparison_table_latest th,
.number_comparison_table_latest td {
  color: #888;
}
.number_comparison_table_latest th {
  border-radius: 5px 0 0 0;
}
.number_comparison_table_latest td:last-child {
  border-radius: 0 5px 0 0;
}
.number_comparison_table_point {
  color: #888;
  display: block;
  font-size: 1.1rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: -0.01em;
}
.number_comparison_table_label {
  color: #888;
  display: block;
  font-size: 1.2rem;
}

/* number_staff_area
---------------------------------------------------------- */
.number_staff_area_scroll {
  background-color: #fff;
  overflow-x: scroll;
  overflow-y: hidden;
  width: 100%;
}
.number_staff_area_scroll::-webkit-scrollbar {
  width: 9px;
  height: 9px;
}
.number_staff_area_scroll::-webkit-scrollbar-thumb {
  background-color: #aaa;
  border-radius: 4.5px;
}
.number_staff_area_scroll::-webkit-scrollbar-track {
  background-color: #F5F5F5;
  border-radius: 4.5px;
}
.number_staff_area_scroll {
  scrollbar-face-color: #aaa;
  scrollbar-track-color: #F5F5F5;
}
.number_staff_area_fixed {
  width: auto;
}
.number_staff_area_fixed th:first-child,
.number_staff_area_fixed td:first-child {
  border-left: none;
}

/* number_comparison_table
---------------------------------------------------------- */
.number_staff_table {
  background-color: #fff;
  border-collapse: collapse;
  color: #000;
  width: 100%;
}
.number_staff_table th,
.number_staff_table td {
  border: 1px solid #ddd;
  text-align: center;
  line-height: 1;
  vertical-align: middle;
  white-space: nowrap;
}
.number_staff_table th {
  font-size: 1.2rem;
  font-weight: 600;
  text-align: center;
  padding: 10px;
}
.number_staff_table td {
  font-size: 1.4rem;
  font-family: Roboto, Oswald, "Segoe UI", "Helvetica Neue", HelveticaNeue, sans-serif;
  padding: 20px 15px;
}
.number_staff_table_total th,
.number_staff_table_total td {
  background-color: #eaf9ff;
  color: #3B80D3;
}
.number_staff_table_deficit {
  color: #FF4848;
}

/*------------------------------------------------------------------------
 project
-------------------------------------------------------------------------*/
/* 案件登録
---------------------------------------------------------- */
.project_registration .project_registration_show {
  display: inline-flex;
}

/* 案件詳細
---------------------------------------------------------- */
.project_detail .project_detail_show {
  display: inline-flex;
}

.project_administrator {
  background-image: url(../img/icon_person.svg);
  background-repeat: no-repeat;
  background-position: left center;
  color: #333;
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: 0.07em;
  padding: 0 0 0 25px;
}

.table_calendar_label_offwork {
  background-color: #838383;
}

.table_calendar_label_offwork:hover {
  border-color: #838383;
  color: #838383;
}

/* margin
---------------------------------------------------------- */
.mt_0 {
  margin-top: 0px;
}

.mr_0 {
  margin-right: 0px;
}

.mb_0 {
  margin-bottom: 0px;
}

.ml_0 {
  margin-left: 0px;
}

.mt_5 {
  margin-top: 5px;
}

.mr_5 {
  margin-right: 5px;
}

.mb_5 {
  margin-bottom: 5px;
}

.ml_5 {
  margin-left: 5px;
}

.mt_10 {
  margin-top: 10px;
}

.mr_10 {
  margin-right: 10px;
}

.mb_10 {
  margin-bottom: 10px;
}

.ml_10 {
  margin-left: 10px;
}

.mt_15 {
  margin-top: 15px;
}

.mr_15 {
  margin-right: 15px;
}

.mb_15 {
  margin-bottom: 15px;
}

.ml_15 {
  margin-left: 15px;
}

.mt_20 {
  margin-top: 20px;
}

.mr_20 {
  margin-right: 20px;
}

.mb_20 {
  margin-bottom: 20px;
}

.ml_20 {
  margin-left: 20px;
}

.mt_25 {
  margin-top: 25px;
}

.mr_25 {
  margin-right: 25px;
}

.mb_25 {
  margin-bottom: 25px;
}

.ml_25 {
  margin-left: 25px;
}

.mt_30 {
  margin-top: 30px;
}

.mr_30 {
  margin-right: 30px;
}

.mb_30 {
  margin-bottom: 30px;
}

.ml_30 {
  margin-left: 30px;
}

.mt_35 {
  margin-top: 35px;
}

.mr_35 {
  margin-right: 35px;
}

.mb_35 {
  margin-bottom: 35px;
}

.ml_35 {
  margin-left: 35px;
}

.mt_40 {
  margin-top: 40px;
}

.mr_40 {
  margin-right: 40px;
}

.mb_40 {
  margin-bottom: 40px;
}

.ml_40 {
  margin-left: 40px;
}

.mt_45 {
  margin-top: 45px;
}

.mr_45 {
  margin-right: 45px;
}

.mb_45 {
  margin-bottom: 45px;
}

.ml_45 {
  margin-left: 45px;
}

.mt_50 {
  margin-top: 50px;
}

.mr_50 {
  margin-right: 50px;
}

.mb_50 {
  margin-bottom: 50px;
}

.ml_50 {
  margin-left: 50px;
}

.mt_55 {
  margin-top: 55px;
}

.mr_55 {
  margin-right: 55px;
}

.mb_55 {
  margin-bottom: 55px;
}

.ml_55 {
  margin-left: 55px;
}

.mt_60 {
  margin-top: 60px;
}

.mr_60 {
  margin-right: 60px;
}

.mb_60 {
  margin-bottom: 60px;
}

.ml_60 {
  margin-left: 60px;
}

.mt_65 {
  margin-top: 65px;
}

.mr_65 {
  margin-right: 65px;
}

.mb_65 {
  margin-bottom: 65px;
}

.ml_65 {
  margin-left: 65px;
}

.mt_70 {
  margin-top: 70px;
}

.mr_70 {
  margin-right: 70px;
}

.mb_70 {
  margin-bottom: 70px;
}

.ml_70 {
  margin-left: 70px;
}

.mt_75 {
  margin-top: 75px;
}

.mr_75 {
  margin-right: 75px;
}

.mb_75 {
  margin-bottom: 75px;
}

.ml_75 {
  margin-left: 75px;
}

.mt_80 {
  margin-top: 80px;
}

.mr_80 {
  margin-right: 80px;
}

.mb_80 {
  margin-bottom: 80px;
}

.ml_80 {
  margin-left: 80px;
}

.mt_85 {
  margin-top: 85px;
}

.mr_85 {
  margin-right: 85px;
}

.mb_85 {
  margin-bottom: 85px;
}

.ml_85 {
  margin-left: 85px;
}

.mt_90 {
  margin-top: 90px;
}

.mr_90 {
  margin-right: 90px;
}

.mb_90 {
  margin-bottom: 90px;
}

.ml_90 {
  margin-left: 90px;
}

.mt_95 {
  margin-top: 95px;
}

.mr_95 {
  margin-right: 95px;
}

.mb_95 {
  margin-bottom: 95px;
}

.ml_95 {
  margin-left: 95px;
}

.mt_100 {
  margin-top: 100px;
}

.mr_100 {
  margin-right: 100px;
}

.mb_100 {
  margin-bottom: 100px;
}

.ml_100 {
  margin-left: 100px;
}

.mt_9_5 {
  margin-top: 9.5px;
}

/* margin auto
---------------------------------------------------------- */
.m_auto {
  margin: auto;
}

.mr_auto {
  margin-right: auto;
}

.mr_button {
  margin-right: 58px;
}

.ml_auto {
  margin-left: auto;
}

.my_auto {
  margin-top: auto;
  margin-bottom: auto;
}

/* padding
---------------------------------------------------------- */
.pt_5 {
  padding-top: 5px;
}

.pr_5 {
  padding-right: 5px;
}

.pb_5 {
  padding-bottom: 5px;
}

.pl_5 {
  padding-left: 5px;
}

.pt_10 {
  padding-top: 10px;
}

.pr_10 {
  padding-right: 10px;
}

.pb_10 {
  padding-bottom: 10px;
}

.pl_10 {
  padding-left: 10px;
}

.pt_15 {
  padding-top: 15px;
}

.pr_15 {
  padding-right: 15px;
}

.pb_15 {
  padding-bottom: 15px;
}

.pl_15 {
  padding-left: 15px;
}

.pt_20 {
  padding-top: 20px;
}

.pr_20 {
  padding-right: 20px;
}

.pb_20 {
  padding-bottom: 20px;
}

.pl_20 {
  padding-left: 20px;
}

.pt_25 {
  padding-top: 25px;
}

.pr_25 {
  padding-right: 25px;
}

.pb_25 {
  padding-bottom: 25px;
}

.pl_25 {
  padding-left: 25px;
}

.pt_30 {
  padding-top: 30px;
}

.pr_30 {
  padding-right: 30px;
}

.pb_30 {
  padding-bottom: 30px;
}

.pl_30 {
  padding-left: 30px;
}

.pt_35 {
  padding-top: 35px;
}

.pr_35 {
  padding-right: 35px;
}

.pb_35 {
  padding-bottom: 35px;
}

.pl_35 {
  padding-left: 35px;
}

.pt_40 {
  padding-top: 40px;
}

.pr_40 {
  padding-right: 40px;
}

.pb_40 {
  padding-bottom: 40px;
}

.pl_40 {
  padding-left: 40px;
}

.pt_45 {
  padding-top: 45px;
}

.pr_45 {
  padding-right: 45px;
}

.pb_45 {
  padding-bottom: 45px;
}

.pl_45 {
  padding-left: 45px;
}

.pt_50 {
  padding-top: 50px;
}

.pr_50 {
  padding-right: 50px;
}

.pb_50 {
  padding-bottom: 50px;
}

.pl_50 {
  padding-left: 50px;
}

/*------------------------------------------------------------------------
 スタイル指定
-------------------------------------------------------------------------*/
/* background
---------------------------------------------------------- */
.bg_white {
  background-color: #fff;
}

.bg_gray {
  background-color: #eee;
}

.bg_red {
  background-color: #FDEBEB;
}

/* border
---------------------------------------------------------- */
.bd_top {
  border-top: 1px solid #ddd;
}

.bd_btm_none {
  border-bottom: none;
}

.bd_left {
  border: 1px solid #ddd;
}

.bd_bottom {
  border-bottom: 1px solid #ddd;
}

/* display
---------------------------------------------------------- */
.d_iblock {
  display: inline-block;
}

/* font-wight
---------------------------------------------------------- */
.fw_medium {
  font-weight: 500;
}

.fw_600 {
  font-weight: 600;
}

.fw_bold {
  font-weight: bold;
}

/* font-family
---------------------------------------------------------- */
.ff_en {
  font-family: Roboto, Oswald, "Segoe UI", "Helvetica Neue", HelveticaNeue, sans-serif;
}

/* text-align
---------------------------------------------------------- */
.t_center {
  text-align: center;
}

.t_right {
  text-align: right;
}

.t_left {
  text-align: left;
}

/* text-transform
---------------------------------------------------------- */
.t_uppercase {
  text-transform: uppercase;
}

.t_half_size {
  text-transform: full-width;
}

/* width
---------------------------------------------------------- */
.w_auto {
  width: auto;
}

.w_100p {
  width: 100%;
}

.w_15p {
  width: 15%;
}

.w_20p {
  width: 20%;
}

.w_25p {
  width: 25%;
}

.w_30p {
  width: 30%;
}

.w_50p {
  width: 50%;
}

.w_75p {
  width: 50%;
}

.w_80p {
  width: 80%;
}

.w_130 {
  width: 130px;
}

.w_150 {
  width: 150px;
}

.w_170 {
  width: 170px;
}

.w_200 {
  width: 200px;
}

.w_240 {
  width: 240px;
}

.w_300 {
  width: 300px;
}

.min_w30 {
  min-width: 30px;
}

.min_w50 {
  min-width: 50px;
}

.min_w60 {
  min-width: 60px;
}

.min_w75 {
  min-width: 75px;
}

.min_w80 {
  min-width: 80px;
}

.min_w90 {
  min-width: 90px;
}

.min_w100 {
  min-width: 100px;
}

.min_w110 {
  min-width: 110px;
}

.min_w120 {
  min-width: 120px;
}

.min_w140 {
  min-width: 120px;
}

.min_w150 {
  min-width: 140px;
}

.min_w160 {
  min-width: 160px;
}

.min_w200 {
  min-width: 200px;
}

.min_w300 {
  min-width: 300px;
}

.min_w350 {
  min-width: 350px;
}

.max_w50 {
  max-width: 50px;
}

.max_w60 {
  max-width: 60px;
}

.max_w70 {
  max-width: 70px;
}

.max_w85 {
  max-width: 85px;
}

.max_w90 {
  max-width: 90px;
}

.max_w100 {
  max-width: 100px;
}

.max_w110 {
  max-width: 110px;
}

.max_w120 {
  max-width: 120px;
}

.max_w140 {
  max-width: 140px;
}

.max_w150 {
  max-width: 150px;
}

.max_w165 {
  max-width: 165px;
}

.max_w180 {
  max-width: 180px;
}

.max_w200 {
  max-width: 200px;
}

.max_w220 {
  max-width: 220px;
}

.max_w230 {
  max-width: 230px;
}

.max_w290 {
  max-width: 290px;
}

.max_w330 {
  max-width: 330px;
}

.max_w370 {
  max-width: 370px;
}

/* white-space
---------------------------------------------------------- */
.nowrap {
  white-space: nowrap;
}

.ws_normal {
  white-space: normal;
}

/* object-fit
---------------------------------------------------------- */
.object_fit_img {
  -o-object-fit: contain;
     object-fit: contain;
  font-family: "object-fit: contain;";
}

/* overflow
---------------------------------------------------------- */
.hidden {
  overflow: hidden;
}

@media screen and (max-width: 1200px) {
  .hidden {
    overflow-x: scroll;
  }
}
/* scroll bar
---------------------------------------------------------- */
.scroll_bar::-webkit-scrollbar {
  width: 9px;
  height: 9px;
}
.scroll_bar::-webkit-scrollbar-thumb {
  background-color: #aaa;
  border-radius: 4.5px;
}
.scroll_bar::-webkit-scrollbar-track {
  background-color: transparent;
  border-radius: 4.5px;
}
.scroll_bar {
  scrollbar-face-color: #aaa;
  scrollbar-track-color: transparent;
}

.scroll_bar_top {
  overflow-x: scroll;
  width: 100%;
}
.scroll_bar_top::-webkit-scrollbar {
  width: 9px;
  height: 9px;
}
.scroll_bar_top::-webkit-scrollbar-thumb {
  background-color: #aaa;
  border-radius: 4.5px;
}
.scroll_bar_top::-webkit-scrollbar-track {
  background-color: transparent;
  border-radius: 4.5px;
}
.scroll_bar_top {
  scrollbar-face-color: #aaa;
  scrollbar-track-color: transparent;
}
.scroll_bar_top div {
  height: 4px;
}

.pointer-cursor {
  cursor: pointer;
}/*# sourceMappingURL=style.css.map */