﻿@charset "UTF-8";

* {
    box-sizing: border-box;
    padding: 0;
    margin:0;
}

html {
    font: 10px/150% Meiryo, Arial, sans-serif;
}

body {
    font: 10px/150% Meiryo, Arial, sans-serif;
    color: #333;
    background-color: #dee2e6;
}

a,div,span,li {
    font-size: 1.4rem;
}

a,
a:not([href]):not([tabindex]) {
    display: inline-block;
    color: #1e78c7;
    cursor: pointer;
    text-decoration: underline;
}

a:hover,
a:not([href]):not([tabindex]):hover {
    color: #007bff;
}

a:focus {
    outline: 0.1rem dotted #1e78c7;
}

a.btn {
    text-decoration: none;
}

section {
    padding: 1rem 0 3rem 0;
}

.body-div > section:last-of-type,
.main-column > section:last-of-type,
form > section:last-of-type {
    padding-bottom: 1rem;
}

.main-column > :last-child {
    padding-bottom: 3rem !important;
}

li {
    list-style: none;
    align-self: center;
    display: inline-block;
}

input[type="text"] {
    width:11rem;
}

input[type="text"].amount,
input[type="text"].decimal {
    width:14.5rem;
}

input[type="month"],
input[type="date"] {
    width:14.5rem;
}

.input-w-amount {
    padding: 0.5rem;
    display: inline-block;
    width:14.5rem !important;
}

.input-w-tiny {
    width:5rem !important;
}

.input-w-small {
    width:11rem !important;
}

.input-w-middle {
    width:28rem !important;
}

.input-w-large {
    width:45rem !important;
}

.decimal.w-middle,
.amount.w-middle {
    width:17.5rem !important;
}

.btn {
    color: #1f9bcf;
    font-size: 1.5rem;
    min-width: 10rem;
    min-height: 3rem;
    padding: 0.25rem 1.6rem 0.25rem 3.3rem;
    position: relative;
    border: 0.1rem solid #1f9bcf;
    background-color: #fff;
    line-height: 1.4;
}

.btn i {
    position: absolute;
    left: 1.2rem;
    top: 0.6rem;
}

.btn:not(:disabled):not(.disabled):hover {
    box-shadow: 0 0.3rem 0.5rem #8e8e8e;
    color: #007eea;
    border-color: #007eea;
    font-weight: normal;
}

.btn:disabled, .btn.disabled {
    background-color: #888;
    color: #fff;
    border-color: #888;
    cursor: default;
    opacity: 1;
}

.btn-priority {
  background-color:#1f9bcf;
  color: #fff;
}

.btn-priority:not(:disabled):not(.disabled):hover {
    background-color: #007eea;
    color:#fff;
}

.btn-only-icon {
    min-width: 4.8rem;
    padding: 0;
}

.btn-without-icon {
    padding-left: 1rem;
    padding-right: 1rem;
}

.btn-icon-right {
    padding-left: 1.6rem;
    padding-right: 3.3rem;
}

.btn-icon-right i {
    right: 1.2rem;
    left: unset;
}

.actions .btn {
    min-width: 4.8rem;
    min-height: 2.6rem;
    padding: 0;
}

.actions .btn i {
    width: 1.5rem;
    height: 1.5rem;
    left: 1.5rem;
    top: 0.5rem;
}

.actions .btn-only-text {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    white-space: nowrap;
}

.actions .btn-with-text {
    padding-left: 2.5rem;
    padding-right: 0.5rem;
    white-space: nowrap;
}

.actions .btn-with-text i {
    left: 0.5rem;
    top: 0.4rem;
}

table {
    width:100%;
    margin-bottom: 1rem;
}

.table-bordered th,
.table-bordered td {
    white-space: normal;
    word-break: break-all;
}

.table-bordered th {
    width: 18%;
}

.table-bordered thead th,
.table-bordered thead td {
    border-bottom-width: 0.1rem;
}

.table-cols-4 td:not([colspan]) {
    width: 32%;
}

.table-row-line {
    border-collapse: separate;
    border-spacing: 0;
}

.table-row-line th,
.table-row-line td,
.table-row-line li {
    border-bottom: 0.1rem solid #dee2e6;
}

.table-row-line thead tr:first-child th,
.table-row-line li:first-child {
    border-top: 0.1rem solid #dee2e6;
}

.table-col-line th {
    text-align: center;
}

.table-col-line th,
.table-col-line td {
    border-right: 0.1rem solid #dee2e6;
    white-space: normal;
    word-break: break-all;
}

.table-col-line tr th:first-child,
.table-col-line tr td:first-child {
    border-left: 0.1rem solid #dee2e6;
}

.table-has-validation-row th,
.table-has-validation-row td {
    white-space: normal;
    word-break: break-all;
}

.table-has-validation-row tbody tr:nth-of-type(odd) td {
    border-bottom: 0;
}

.table-has-validation-row tbody tr:nth-of-type(even) td {
    padding-top: 0;
    padding-bottom: 0;
}

.table-has-validation-row tbody tr:nth-of-type(even) td .text-danger.form-text:not(:empty) {
    margin-bottom: 0.25rem;
}

.table-has-validation-row tr th:first-child,
.table-has-validation-row tr td:first-child {
    border-left: 0.1rem solid #dee2e6;
}

.table-has-validation-row tr th:last-child,
.table-has-validation-row tr td:last-child {
    border-right: 0.1rem solid #dee2e6;
}

.table-col-line.table-has-validation-row tbody td {
    border-bottom: 0;
}

.table-col-line.table-has-validation-row tbody tr:nth-of-type(even) td {
    padding: 0;
}

.table-col-line.table-has-validation-row tbody tr:nth-of-type(even) td .text-danger.form-text:not(:empty) {
    margin: 0;
    padding: 0.25rem 0.8rem;
}

.table-col-line.table-has-validation-row tbody tr:nth-of-type(even) td .text-danger.form-text:first-child {
    border-top: 0.1rem solid #dee2e6;
}

.table-col-line.table-has-validation-row tbody tr:nth-of-type(even) td .text-danger.form-text:last-child {
    border-bottom: 0.1rem solid #dee2e6;
}

.table-hover tbody tr:hover {
    background-color: #fdf5e6;
}

th {
    background-color: #d3e0e6;
    font-weight: normal;
}

.section-header label,
.main-title label,
th label {
    display: inline;
}

td {
    background-color: #fff;
}

th,
td {
    padding: 0.6rem 0.8rem;
    white-space: nowrap;
    min-width: 10rem;
    vertical-align: middle;
    font-size: 1.4rem;
    line-height: normal;
}

th:empty:after,
td:empty:after {
    content: "　";
}

th.actions,
td.actions {
    width: 5.2rem;
    min-width: 5.2rem;
    text-align: center;
}

th.col-sort:after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 1.6rem;
    margin-left: 0.5rem;
    content: "\f0dc";
    color: #6c757d;
}

th.col-sort:hover:after,
th.col-sort.sort-up:after,
th.col-sort.sort-down:after {
    color: unset;
}

th.col-sort.sort-up:after {
    content: "\f0de";
}

th.col-sort.sort-down:after {
    content: "\f0dd";
}

th.col-sort.sort-up a,
th.col-sort.sort-down a {
    color: #007bff;
    text-shadow: 0.1rem 0 0 #007bff;
}

.scroll-x {
    overflow-x: scroll;
    overflow-y: hidden;
    width: 100%;
}

.scroll-x td,
.scroll-x th {
    white-space: nowrap;
}

.main-title {
    font-size: 3.2rem;
    padding: 1rem 0 1.5rem 0;
    margin-bottom: 1rem;
    border-bottom: 0.1rem solid #dee2e6;
}

.section-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding-left: 1rem;
    min-height: 3rem;
    margin-bottom: 1rem;
}

.section-title {
    color:#3c6b93;
    font-size: 2.4rem;
    line-height: 1.8rem;
}

.list-count {
    padding-left: 1rem;
}

.list-count:after {
    content: "件";
    margin-left: 0.5rem;
}

* + .list-count {
    padding-left: 2rem;
}

.section-header .list-count:first-child {
    padding-left: 0;
}

.person-count:not(:empty):after {
    content: "人";
    margin-left: 0.5rem;
}

input:not([type=file]),
select {
    padding: 0.5rem;
    border: 0.1rem solid #888;
    height: 3rem;
    border-radius: 0.25rem;
}

select {
    padding-left: 0.2rem;
    padding-top: 0.3rem;
    min-width: 18rem;
}

input[type=file]:not(.invisible) {
    width: 40rem;
    height: 3rem;
    line-height: 2.4rem;
    border-radius: 0.25rem;
}

textarea {
    width: 100%;
    resize: none;
    vertical-align: middle;
    padding: 0.5rem;
    border-radius: 0.25rem;
    line-height: 1.4;
    border: 0.1rem solid #888;
}

input:not(:disabled):hover,
select:not(:disabled):hover,
textarea:not(:disabled):hover {
    border-color:#3c7d7f;
}

input:not(:disabled):focus,
select:not(:disabled):focus,
textarea:not(:disabled):focus {
    border-color:#5f9ea0;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

input[readonly],
textarea[readonly],
input:disabled,
textarea:disabled {
    background-color: #dcdcdc;
    cursor: default;
    color:#666;
    box-shadow: inset 0 0 0 100rem #dcdcdc;
    -webkit-text-fill-color: #666;
}

select:disabled {
    background-color: #dcdcdc;
    cursor: default;
    color:#666;
    opacity: 0.9;
}

.input-choose {
    padding: 0.6rem 0.8rem;
}

.input-choose-suffix {
    padding-left: 1.5rem;
    vertical-align: top;
}

input[type="radio"],
input[type="checkbox"],
input[type="file"].invisible,
input[type="text"].invisible {
    position: absolute;
    width: 0!important;
    opacity: 0;
    z-index: -1;
}

input[type="radio"]+label,
input[type="checkbox"]+label {
    cursor: pointer;
    position: relative;
    padding: 0.45rem 0.8rem 0.45rem 3.2rem;
    margin-bottom: 0;
    height: 3rem;
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
}

input[type="radio"]+label:empty,
input[type="checkbox"]+label:empty {
    padding-left: 2.1rem;
}

input[type="radio"]+label:before,
input[type="checkbox"]+label:before {
    content: "";
    position: absolute;
    border: 0.1rem solid #888;
    left: 0.5rem;
    top: 0.5rem;
    width: 1.9rem;
    height: 1.9rem;
}

input[type="radio"]+label:before {
    border-radius: 50%;
}

input[type="checkbox"]+label:before {
    border-radius: 0.25rem;
}

input[type="radio"]:checked+label:after {
    content: '';
    position: absolute;
    left: 1rem;
    top: 1rem;
    width: 0.9rem;
    height: 0.9rem;
    background-color: #333;
    border-radius: 50%;
}

input[type="checkbox"]:checked+label:after {
    content:'\2714';
    font-size:2rem;
    position:absolute;
    left: 0.6rem;
    top: 0.3rem;
    line-height: 1.3;
}

input[type="radio"]:not(:disabled):hover+label:before,
input[type="checkbox"]:not(:disabled):hover+label:before,
input[type="checkbox"]:not(:disabled):hover+label:after {
    color:#3c7d7f;
    border-color:#3c7d7f;
}

input[type="radio"]:not(:disabled):hover+label:after {
    background-color: #3c7d7f;
}

input[type="radio"]:not(:disabled):focus+label:before,
input[type="checkbox"]:not(:disabled):focus+label:before,
input[type="checkbox"]:not(:disabled):focus+label:after {
    color: #5f9ea0;
    border-color: #5f9ea0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

input[type="radio"]:not(:disabled):focus+label:after {
    background-color: #5f9ea0;
}

input[type="checkbox"]:not(:disabled):focus+label:after {
    box-shadow: none;
}

input[type="radio"]:disabled+label,
input[type="checkbox"]:disabled+label {
    cursor: default;
}

input[type="radio"]:disabled+label:before,
input[type="checkbox"]:disabled+label:before {
    background-color: #dcdcdc;
}

.must:after {
    content: " *";
    color: #dc3545;
    top: 0.3rem;
    position: relative;
    white-space: nowrap;
    line-height: 1.5rem;
}

.must-text {
    float: right;
    padding: 0.5rem 1rem;
    color: #dc3545;
}

.must-text.hidden {
    color: #fff;
}

.must-text.float-none {
    text-align: right;
}

.must-text:after {
    content: "* = 必須";
}

header {
    background-color:#384a5a;
    box-shadow: 0.1rem 0.1rem 0.2rem #8e8e8e;
    z-index: 1000;
    min-width: 120rem;
    color: #fff;
}

.container-header {
    width: 120rem;
    margin-left: auto;
    margin-right: auto;
}

.container-header a,
.container-header a:not([href]):not([tabindex]) {
    color: #fff;
    text-decoration: none;
}

.container-header a:hover,
.container-header a:not([href]):not([tabindex]):hover {
    text-decoration: underline;
}

.container-header a:focus {
    outline-color: #fff;
}

.header-left, .header-right {
    display: flex;
    align-items: center;
    height: 4.5rem;
}

.header-left {
    justify-content: flex-start;
}

.header-right {
    justify-content: flex-end;
}

.header-left * {
    font-size: 1.8rem;
}

.header-left > div:not(:first-of-type) {
    padding: 1rem;
    margin-left: 1rem;
}

.header-left > div:not(:first-of-type):empty {
    display: none;
}

.header-left .logo {
    background-repeat: no-repeat;
    background-position: left center;
    background-image: url(../images/logo.png);
    background-size: contain;
    width: 24rem;
    height: 4rem;
}

.header-right .dropdown {
    border-radius: 0.25rem;
}

.header-right .dropdown:hover {
    background-color: #6c757d;
}

.header-right i {
    margin-right: 0.6rem;
}

.header-right > div:not(:last-of-type) {
    padding: 1rem;
    margin-right: 1rem;
}

.header-right > div:not(:last-of-type):empty {
    display: none;
}

.container-fluid {
    padding: 8rem 0 0 0;
    width: 120rem;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    background-color: #fff;
    min-height: 100vh;
}

.left-column,
.right-column {
    width: 15rem;
}

@media (max-width: 1199px) {
    .left-column .employee-nav,
    .right-column .page-nav {
      position: static !important;
    }
}

.main-column {
    width: 100%;
    padding: 3rem;
}

.has-left-column .main-column,
.has-right-column .main-column {
    width: calc(100% - 15rem);
}

.has-left-column.has-right-column .main-column {
    width: calc(100% - 30rem);
}

.modal-title {
    font-size: 2.4rem;
    width: 100%;
    text-align: center;
}

.modal-dialog {
    width:115rem;
    max-width: 115rem;
    margin: 1.75rem auto;
}

.navbar {
    padding: 0;
}

.navbar-expand {
    justify-content: space-between;
}

.navbar-expand .navbar-nav .nav-link,
.dropdown-toggle {
    padding: 1rem;
}

.navbar-nav .nav-item {
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
}

.navbar-nav .nav-item:hover {
    background-color: #6c757d;
}

.navbar-nav .nav-item:focus {
    background-color: #6c757d;
    outline: 0;
}

.navbar-nav .nav-item.active,
.navbar-nav .nav-item.active:hover,
.navbar-nav .nav-item.active:focus,
.dropdown-submenu.active,
.dropdown-submenu.active .dropdown-toggle:hover,
.dropdown-submenu.active .dropdown-toggle:focus {
    background-color: #1f9bcf;
}

.navbar-nav .nav-item.active .nav-link,
.dropdown-submenu.active .dropdown-toggle {
    color: #fff;
}

.dropdown-menu {
    background-color: #6c757d;
}

.dropdown-item {
    padding: 0.7rem 1rem;
    color: #fff;
    cursor: pointer;
    text-decoration: none;
}

.dropdown-submenu {
    position: relative;
}

.dropdown-submenu:focus {
    outline: 0;
}

.dropdown-submenu .dropdown-toggle:after {
    transform: rotate(-90deg);
    position: absolute;
    right: 0.1rem;
    top: 1.2rem;
}

.dropdown-submenu .dropdown-menu {
    top: -0.7rem;
    left: 100%;
    margin-left: 0.1rem;
    margin-right: 0.1rem;
}

.dropdown-item:focus {
    color: #fff;
    background-color: #384a5a;
    outline-color: #fff;
}

.dropdown-item:hover {
    color: #fff;
    background-color: #384a5a;
    text-decoration: underline;
}

.dropdown-item.active,
.dropdown-item:active {
    background-color: #1f9bcf;
}

.dropdown-item.active:hover,
.dropdown-item.active:focus,
.dropdown-item:active:hover,
.dropdown-item:active:focus {
    color: #fff;
}

.page-link {
    padding: 0.5rem 1rem;
    color: #333;
    border: 0.1rem solid #dee2e6;
    text-decoration: none;
}

.page-link i {
    line-height: unset;
}

.page-item.disabled .page-link {
    color: #ccc;
}

.page-item.active .page-link {
    background-color: #1f9bcf;
    border-color: #1f9bcf;
    z-index: auto;
}

.page-link:hover,
.page-item.active .page-link:hover {
    box-shadow: 0 0.3rem 0.5rem #8e8e8e;
    background-color: #007eea;
    color: #fff;
    border-color: #007eea;
}

.fa-question-circle.fa-2x {
    color: #5f7784;
    cursor: pointer;
    vertical-align: middle;
    margin-left: 0.5rem;
}

.tooltip.show {
    opacity: 1;
}

.tooltip-inner {
    background-color: #38464d;
    text-align: left;
    max-width: 30rem;
    border: 0.2rem solid #45555e;
}

.bs-tooltip-top .arrow:before {
    border-top-color: #38464d;
}

.bs-tooltip-bottom .arrow:before {
    border-bottom-color: #38464d;
}

.bs-tooltip-left .arrow:before {
    border-left-color: #38464d;
}

.bs-tooltip-right .arrow:before {
    border-right-color: #38464d;
}

.modal-header {
    padding:1.5rem;
}

.modal-open .modal {
    overflow-y: hidden;
}

.modal-content {
    max-height: calc(100vh - 3.5rem);
}

.modal-body {
    overflow-x: hidden;
    overflow-y: auto;
}

.body-div {
    padding: 0.1rem;
}

.search-div {
    display: inline-flex;
    align-items: center;
}

.attachedfile-div {
    display: flex;
    align-items: center;
}

.attachedfile-div .input-choose {
    min-width: 7rem;
    padding: 0;
    margin-left: 3rem;
}

.attachedfile-div + input[type="file"] {
    margin-top: 0.6rem;
}

.modal-footer {
    display: block;
    position: relative; 
}

.sub-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 2rem;
    margin-top: 2rem;
    margin-bottom: 1rem;
}

.sub-title-normal,
.sub-title {
    font-size: 1.6rem;
    margin-top: 2rem;
    margin-bottom: 1rem;
    line-height: 1.8rem;
}

.sub-title:before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f0c8";
    margin-right: 0.2rem;
}

.sub-header .sub-title-normal,
.sub-header .sub-title {
    margin-top: 0;
    margin-bottom: 0;
}

section > .sub-header:first-child,
section > .sub-title-normal:first-child,
section > .sub-title:first-child,
.section-header + .sub-header,
.section-header + .sub-title-normal,
.section-header + .sub-title,
.section-header + div > .sub-header:first-child,
.section-header + div > .sub-title-normal:first-child,
.section-header + div > .sub-title:first-child,
.body-div > .sub-header:first-child,
.body-div > .message + .sub-header,
.body-div > .sub-title-normal:first-child,
.body-div > .sub-title:first-child,
.align-top-child .sub-header,
.align-top-child .sub-title-normal,
.align-top-child .sub-title {
    margin-top: 0;
}

.section-header > :not(.btn):not(.list-count),
.sub-header > :not(.btn):not(.list-count) {
    min-height: 2rem;
}

.modal-header .close {
    padding:0;
    margin:-0.4rem 0 0 0;
    opacity:1;
}

.modal-header .close span {
    font-size: 4rem;
    color:#1f9bcf;
}

.modal-header .close span:hover {
    color:#007eea;
    text-shadow: 0 0.2rem 0.2rem #8e8e8e;
}

.modal-header .close:focus {
    outline: 0;
}

.backtotop,
.modal-backtotop {
    display: block;
    border: 0.1rem solid #1f9bcf;
    border-radius: 50%;
    padding: 0.9rem 1rem;
    text-align: center;
    cursor: pointer;
    visibility: hidden;
    background-color: #fff;
}

.backtotop {
    z-index: 2;
    position: fixed;
    bottom: 2rem;
    right: calc(50% - 55rem);
    width: 4rem;
    height: 4rem;
}

.has-right-column + .backtotop {
    right: calc(50% - 40rem);
}

.modal-backtotop {
    z-index: 3;
    position: absolute;
    top: 0.6rem;
    right: 2rem;
    width:3.5rem;
    height:3.5rem;
}

.backtotop a {
    font-size: 2rem;
}

.backtotop a,
.modal-backtotop a {
    color: #1f9bcf;
    outline: 0;
}

.backtotop:hover,
.modal-backtotop:hover {
    border-color: #007eea;
    background-color: #007eea;
}

.backtotop:hover a,
.modal-backtotop:hover a {
    color: #fff;
}

.animated {
    -webkit-animation-duration: 0.5s;
    animation-duration: 0.5s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

@-webkit-keyframes fade-in {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes fade-in {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.fade-in {
    -webkit-animation-name: fade-in;
    animation-name: fade-in;
}

.message {
    display: flex;
    align-items: center;
    justify-content: center;
}

.message:not(:empty) {
    margin-bottom: 1rem;
}

.message.summary-successes,
.message.summary-warnings,
.message.summary-errors,
.message.validation-summary-errors {
    justify-content: normal;
}

.message > i {
    font-size: 2rem;
    margin-right: 1rem;
}

.message ul {
    margin-bottom: 0;
}

.alert-success {
    color: #2b797b;
}

.alert-warning {
    color: #ca9a0e;
}

.alert-danger {
    color: #dc3545;
    background-color: #fbccb7;
}

.summary-successes li,
.summary-warnings li,
.summary-errors li,
.validation-summary-errors li {
    position: relative;
    display: list-item;
    line-height: 1.3;
    padding-left: 1rem;
}

.summary-successes li:before,
.summary-warnings li:before,
.summary-errors li:before,
.validation-summary-errors li:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.6rem;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    line-height: 1.3;
}

.summary-successes li:before {
    background-color: #2b797b;
}

.summary-warnings li:before {
    background-color: #ca9a0e;
}

.summary-errors li:before,
.validation-summary-errors li:before {
    background-color: #dc3545;
}

.summary-successes li a,
.summary-warnings li a,
.summary-errors li a,
.validation-summary-errors li a {
    color: unset !important;
}

.summary-successes li a:focus,
.summary-warnings li a:focus,
.summary-errors li a:focus,
.validation-summary-errors li a:focus {
    outline-color: unset;
}

.message-highlight {
    display: block;
    background-color: #ffff00;
    padding: 0.5rem;
    margin-bottom: 1rem;
}

.indent-left-1 {
    padding-left: 2.4rem;
}

.indent-left-2 {
    padding-left: 4rem;
}

.page-nav {
    width: 15rem;
    max-height: calc(100% - 8rem);
    overflow-x: hidden;
    overflow-y: auto;
    padding-top: 1rem;
    border-left: 0.1rem solid #dee2e6;
}

.page-nav li {
    width: 100%;
    padding: 0.5rem 0 0.5rem 1.2rem;
}

.page-nav li a {
    text-decoration: none;
}

.page-nav li a:hover {
    text-decoration: underline;
}

.page-nav li a.active {
    color: #007bff;
    text-shadow: 0.1rem 0 0 #007bff;
}

.page-nav li a.indent-left-1 {
    padding-left: 0;
    margin-left: 2.4rem;
}

.page-nav li:first-of-type {
    margin-bottom: 1.5rem;
}

.state {
    display: inline-block;
    background-color: #dcdcdc;
    border-color: transparent;
    color: #666;
    height: 3rem;
    border-radius: 0.25rem;
    font-size: 1.5rem;
    padding: 0.5rem 1.8rem;
    border: 0.2rem solid #1f9bcf;
}

.state.done {
    background-color: #d1ecf1;
    color: #0c5460;
}

.fa-caret-down,
.fa-caret-up {
    font-size: 2.4rem;
    top: 0 !important;
}

.align-top-child > tbody > tr > td,
.align-top-child > tr > td {
    vertical-align: top !important;
}

.align-top-child table {
    margin-bottom: 0;
}

.icon-attachedfile.fa-link {
    font-size: 1.8rem;
    color: #dc5555;
}

.table-fixed-head table,
.table-fixed-body table {
    margin: 0;
    border-collapse: separate;
    border-spacing: 0;
}

.table-fixed-head th,
.table-fixed-body td {
    border-right: 0.1rem solid #dee2e6;
    border-bottom: 0.1rem solid #dee2e6;
    white-space: normal;
    word-break: break-all;
}

.table-fixed-head tr > th:first-child,
.table-fixed-body tr > td:first-child {
    border-left: 0.1rem solid #dee2e6;
}

.table-fixed-head {
    overflow-y: hidden;
    overflow-x: hidden;
}

.table-fixed-head th {
    text-align: center;
}

.table-fixed-head tr:first-child > th {
    border-top: 0.1rem solid #dee2e6;
}

.table-fixed-head tr > th:last-child {
    padding-right: 1.6rem;
    min-width: 5.2rem;
}

.table-fixed-body tr > td:last-child {
    min-width: 5.2rem;
}

.table-fixed-body {
    max-height: 17rem;
    overflow-y: auto;
    overflow-x: hidden;
}

.table-fixed-body.inputable {
    max-height: 21.5rem;
}

.fixedcols-list table {
    margin-bottom: 0;
    border-collapse: separate;
    border-spacing: 0;
}

.w-32 {
    width: 32%;
}

.w-33 {
    width: 33.333333%;
}

.btn-div {
    padding-top: 1rem;
    padding-bottom: 1rem;
    text-align: center;
}

.header-btn-div {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.footer-btn-div {
    padding-top: 3rem;
}

.header-btn-div > div,
.footer-btn-div > div {
    display: inline-block;
}

.header-btn-div > div:nth-child(1),
.footer-btn-div > div:nth-child(1) {
    width: 19.5%;
    text-align: left;
}

.header-btn-div > div:nth-child(2),
.footer-btn-div > div:nth-child(2)  {
    width: 60%;
    text-align: center;
}

.header-btn-div > div:nth-child(3),
.footer-btn-div > div:nth-child(3) {
    width: 19.5%;
    text-align: right;
}

.table-only-btn {
    width: 65%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.table-only-btn td button.btn-without-icon {
    width: 26rem;
}

.percent:not(:empty):after {
    content: "％";
    margin-left: 0.5rem;
}

.amount:not(.amount-overlap):not(.input-w-amount):not(:empty):after {
    content: "円";
    margin-left: 0.5rem;
}

.amount.thousand:not(.amount-overlap):not(:empty):after {
    content: "千円";
}

.month:not(:empty):after {
    content: "月";
    margin-left: 0.5rem;
}

.day:not(:empty):after {
    content: "日";
    margin-left: 0.5rem;
}

span.amount:not(.amount-overlap):not(.input-w-amount):not(:empty) {
    white-space: nowrap;
}

/* 所属名称／依頼人DDL */
select.shozoku,
select.irainin {
    max-width: 91.7rem;
}

/* 所属名称DDL From～To */
select.shozoku-fromto {
    max-width: 44.1rem;
}

/* 所属名称／メールアドレスDDL（ダイアログ用） */
select.shozoku-modal,
select.mail-modal {
    max-width: 89.1rem;
}

/* 職位／資格／職種／所属名称DDL From～To（ダイアログ用） */
select.shokui-modal-fromto,
select.shikaku-modal-fromto,
select.shokushu-modal-fromto,
select.shozoku-modal-fromto {
    max-width: 42.9rem;
}

/* 保険会社名称／保険種類名称DDL */
select.hoken {
    min-width: 40rem;
}

/* 給与担当用 */
/* 住民税市区町村マスター */
.icon-warning.fa-exclamation-triangle {
    font-size: 1.8rem;
    color: #ffc107;
}

/* 計算実行 */
.calc-execution-lbl {
    display: inline-block;
    width: 13rem;
}

/* 支給日 */
.paydate-nav .prev,
.paydate-nav .next {
    position: absolute;
    top: -0.5rem;
}

.paydate-nav .next {
    right: 1.5rem;
}

.paydate-nav .next i {
    left: -1.5rem;
}

.paydate-nav a i {
    width: 3rem;
    height: 5rem;
    display: inline-block;
    position: absolute;
    top: 0.5rem;
    font-size: 4.5rem;
    padding: 0.25rem 0.2rem;
    border: 0.1rem solid #dee2e6;
    border-radius: 0.25rem;
}

.paydate-nav a.disabled i {
    color: #888;
    cursor: default;
}

.paydate-list {
    overflow: hidden;
    margin-left: 4rem;
    margin-right: 4rem;
}

.paydate-list ul {
    width: 9999.9rem;
}

.paydate-list ul.text-center {
    width: auto;
}

.paydate {
    padding: 0.7rem 1.5rem 0.5rem 3rem;
    border: 0.1rem dotted #bfbfbf;
    position: relative;
    margin-right: 0.52rem;
    border-radius: 0.25rem;
    height: 5rem;
    vertical-align: top;
}

.paydate .paydate-head {
    width: 1.5rem;
    height: 5rem;
    background-color: #98667f;
    position: absolute;
    left: -0.08rem;
    top: -0.08rem;
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
}

.paydate.active {
    background-color: #98667f;
    border-color: #98667f;
    color: #fff;
    box-shadow: 0 0.1rem 0.2rem #8e8e8e;
}

.paydate.active .paydate-head {
    height: 4.8rem;
    left: 0;
    top: 0;
}

.paydate:hover {
    color: #98667f;
    border-color: #98667f;
    cursor: pointer;
    text-decoration: underline;
}

.paydate.active:hover {
    color:#fff;
    cursor: unset;
    text-decoration: none;
}

.paydate-body {
    text-align: center;
}

.paydate-body span {
    display: block;
    height: 1.5rem;
}

.paydate-body h2 {
    margin-bottom: 0;
    font-size: 1.8rem;
}

.paydate-body.only-date {
    display: flex;
    align-items: center;
    height: 3.6rem;
}

.caret-left {
    width: 100%;
    position: relative;
}

.fa-caret-right,
.fa-caret-left {
    font-size: 2rem;
    left: 0.8rem !important;
    top: 0.8rem !important;
}

/* 共通従業員情報 */
.employee-detail > section:last-of-type {
    padding-bottom: 1rem;
}

.employee-search {
    padding-bottom: 6rem;
}

.employee-search .body-div {
    padding: 0 1rem;
}

.employee-info {
    color: #0c5460;
    background-color: #d5e0e0;
    margin-bottom: 1rem;
    border-radius: 0.25rem;
}

.employee-info span {
    white-space: normal;
    word-break: break-all;
}

.employee-info-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 5rem;
}

.employee-info-head > div:nth-child(1) {
    padding: 1rem;
}

.employee-info-head > div:nth-child(2),
.employee-info-head > div:nth-child(2) > span {
    white-space: nowrap;
}

.employee-info-head .btn {
    white-space: nowrap;
    min-width: auto;
}

.employee-info-head .dropdown-toggle {
    font-size: 2.95rem;
}

.employee-info-head .dropdown-toggle:after {
    content: none;
}

.employee-info-body {
    padding: 0 1rem 1rem 1rem;
    line-height: 2rem;
}

.employee-info-body > div > div,
.employee-info-body > div > div > div {
    display: inline-block;
    vertical-align: top;
}

.employee-info-body > div > div:nth-child(1) {
    width: 27%;
}

.employee-info-body > div > div:nth-child(2) {
    width: 72%;
}

.employee-info-body > div > div > div:nth-child(1),
.employee-info-body > div > div > div:nth-child(2) {
    width: 33%;
}

.employee-info-body > div > div > div:nth-child(3) {
    width: 32%;
}

.employee-info-head > div > span:not(.state):not(:last-child),
.employee-info-body > div > div:not(:last-child),
.employee-info-body > div > div > div:not(:last-child) {
    padding-right: 1rem;
}

.employee-nav {
    position: fixed;
    width: 15rem;
    height: 100%;
    padding-top: 1rem;
    border-right: 0.1rem solid #dee2e6;
}

.employee-nav.do-search {
    position: static;
    width: 120rem;
    border-right: 0;
}

.employee-list {
    position: relative;
    height: 100%;
}

.employee-list div strong,
.employee-list div span {
    display: block;
    white-space: normal;
    word-break: break-all;
}

.employee-list div strong {
    font-weight: unset;
}

.employee-list div span {
    padding-left: 1.5rem;
}

.employees {
    max-height: calc(100% - 16.5rem);
    overflow-y: auto;
    overflow-x: hidden;
    margin-top: 1rem;
}

.employees ul {
    margin-bottom: 0;
}

.employees li {
    display: block;
    line-height: 1.7rem;
    padding: 1rem 1.5rem;
    cursor: pointer;
    min-height: 5.6rem;
}

.employees li.active {
    color: #fff;
    background-color: #62839e;
    box-shadow: 0 0.1rem 0.2rem #8e8e8e;
    border: 0.1rem solid #62839e;
    border-radius: 0.25rem;
}

.employees li:hover {
    color: #007bff;
    text-decoration: underline;
}

.employees li.active:hover {
    color: #fff;
    cursor: unset;
    text-decoration: none;
}

.employee-list .page-link {
    padding: 0.5rem 0.9rem;
}

.border-shoyo .paydate-head {
    background-color: #bb8e54;
}

.border-shoyo:hover {
    color: #bb8e54;
    border-color: #bb8e54;
}

.border-shoyo.active {
    background-color: #bb8e54;
    border-color: #bb8e54;
}

.border-sagaku .paydate-head {
    background-color: #5f9ea0;
}

.border-sagaku:hover {
    color: #5f9ea0;
    border-color: #5f9ea0;
}

.border-sagaku.active {
    background-color: #5f9ea0;
    border-color: #5f9ea0;
}

.border-shaho .paydate-head {
    background-color: #5381bb;
}

.border-shaho:hover {
    color: #5381bb;
    border-color: #5381bb;
}

.border-shaho.active {
    background-color: #5381bb;
    border-color: #5381bb;
}

.border-nencho .paydate-head {
    background-color: #7c66a9;
}

.border-nencho:hover {
    color: #7c66a9;
    border-color: #7c66a9;
}

.border-nencho.active {
    background-color: #7c66a9;
    border-color: #7c66a9;
}

.btn-caret-left,
.btn-caret-right {
    position: absolute;
    min-width: 2.4rem;
    min-height: 3.6rem;
    padding: 0.8rem;
    right: 0;
    top: 0;
}

/* 従業員検索 */
.taisyoku {
    padding-left: 38rem;
}

/* 年間累計額補正データ入力 */
.ruikeigaku-hosei.has-right-column .main-column {
    width: calc(100% - 32rem);
}

.ruikeigaku-hosei .right-column,
.ruikeigaku-hosei .page-nav {
    width: 17rem;
}

.ruikeigaku-hosei.has-right-column + .backtotop {
    right: calc(50% - 38rem);
}

.ruikeigaku-hosei .nenkan-hosei tr > :nth-child(2),
.ruikeigaku-hosei .nenkan-hosei tr > :nth-child(3),
.ruikeigaku-hosei .nenkan-hosei tr > :nth-child(4),
.ruikeigaku-hosei .nendo-teisei tr > :nth-child(2),
.ruikeigaku-hosei .nendo-teisei tr > :nth-child(3) {
    width: 33.6rem;
    min-width: 33.6rem;
}

/* 計算条件設定 */
.calc-cfg .table-row-line tr > :nth-child(1) {
    width: 20.3rem;
    min-width: 20.3rem;
}

/* 並べ替え */
.narabekae-row td {
    border-top: 0;
    border-bottom: 0;
}

.narabekae-row td:nth-of-type(1) {
    min-width: 9rem;
    width: 9rem;
    border-right: 0;
}

.narabekae-row td:nth-of-type(2) {
    width: 12%;
    border-right: 0;
    border-left: 0;
}

.narabekae-row td:nth-of-type(3) {
    border-left: 0;
}

.narabekae-row td[colspan] {
    padding: 0;
}

.narabekae-row td label {
    margin-bottom: 0;
}

.narabekae-row td .text-danger.form-text:not(:empty) {
    padding: 0.25rem 0.8rem;
    margin-top: 0;
}

/* レイアウト設定 */
.fa-ellipsis-h {
    font-size: 2rem;
    top: 0.4rem !important;
}

/* 超過イメージ */
.icon-over {
    border: 0.2rem solid #000;
    color: #fd7e14;
    padding: 0 0.5rem;
    font-weight: bold;
}

.icon-over.hidden {
    border-color: #fff;
    color: #fff;
}

.icon-over:before {
    content: '超過';
}

.has-tooltip {
    display: flex;
    width: 100% !important;
    justify-content: space-between;
    align-items: center;
}

.has-tooltip label {
    margin-bottom: 0;
}

th[data-toggle="collapse"] {
    cursor: pointer;
}

th[data-toggle="collapse"]:before {
    content: "－";
    float: right;
    font-weight: bolder;
    line-height: 1.4rem;
    font-size: 2.5rem;
    padding: 0.5rem;
}

th[data-toggle="collapse"].collapsed:before {
    content: "＋";
}

/* 本開発製造追加css*/
.dropdown.show {
    display: inline-block;
}

.modal-content:empty {
    border: none;
}

.modal-content.message {
    min-height: 200px;
}

.modal-content.message .modal-header,
.modal-content.message .modal-footer {
    justify-content: center;
    display: flex;
    width: 100%;
}

.scroll {
    scroll-behavior: smooth;
}

.text-danger.form-text:empty {
    margin-top: 0;
}

.input-group {
    align-items: center;
}

.input-group.input-choose-suffix {
    display: inline-flex;
    width: unset;
}

.amount-input:not(:focus) {
    -webkit-text-fill-color: transparent;
}

.amount-input[readonly] + .amount-overlap,
.amount-input:disabled + .amount-overlap {
    color: #666;
}

/* 削除予定（Mock用） */
iframe {
    border:none;
    height:100%;
    width:100%;
}

body.iframe {
    overflow-x: auto;
    overflow-y: hidden;
    background-color: #fff;
}

body.iframe.window .body-div {
    padding: 0 1rem;
}

.table-bordered.th-cols-2 th:not([colspan]) {
    width: 9%;
}

.table-has-narabekae td:not([colspan]):nth-child(2) {
    width: 18%;
}

.fixedcols-list-head {
    overflow-y: hidden;
    overflow-x: hidden;
}

.fixedcols-list-head table,
.fixedcols-list-body table {
    margin-bottom: 0;
    border-collapse: separate;
    border-spacing: 0;
}

.fixedcols-list-body {
    overflow: auto;
    max-height: 23.5rem;
    width: 100%;
}

.fixedcols-list-head th {
    text-align: center;
}

.fixedcols-list-head tr:first-child > th {
    border-top: 0.1rem solid #dee2e6;
}

.fixedcols-list-head tr > th:last-child {
    padding-right: 1.6rem;
}

.fixedcols-list-head tr > th:first-child,
.fixedcols-list-body tr > td:first-child {
    border-left: 0.1rem solid #dee2e6;
}

.fixedcols-list-head th,
.fixedcols-list-body td {
    white-space: normal;
    word-break: break-all;
    border-right: 0.1rem solid #dee2e6;
    border-bottom: 0.1rem solid #dee2e6;
}

/*!
 * mhir-site.css <VersionPrefix>6.0.46</VersionPrefix>
 */
/* :::::: error message list :::::: */
.validation-summary-errors a:link {
    color: #dc3545; /* from text-danger */
}

.validation-summary-errors a:visited {
    color: #dc3545;
}

.validation-summary-errors a:hover {
    color: #dc3545;
}

.validation-summary-errors a:active {
    color: #dc3545;
}

.overflowAuto {
    overflow: auto;
}

/* :::::: Amount Textbox :::::: */
.amount-container {
    display: inline-block;
    position: relative;
}

.amount-input {
    position: relative;
}

    .amount-input:not(:focus) {
        z-index: 1;
        color: transparent;
    }

    .amount-input:focus {
        z-index: 3;
        color: black;
    }

.amount-overlap {
    position: absolute;
    top: 0px;
    right: 0px;
    display: block;
    background: transparent;
    width: 100%;
    pointer-events: none;
    z-index: 1;
    white-space: nowrap;
    overflow: hidden;
    padding: 0.5rem;
    border: 0.1rem solid #888;
    height: 3rem;
    line-height: 1.3;
    border-radius: 0.25rem;
    color: black;
}

.modal-content.message {
    height: auto;
}

/* :::::: Overlay :::::: */

.overlay {
    position: fixed;
    top: 0;
    z-index: 1050;
    width: 100%;
    height: 100%;
    display: none;
    background: rgba(0,0,0,0.6 );
}

.cv-spinner {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.spinner {
    width: 40px;
    height: 40px;
    border: 4px #ddd solid;
    border-top: 4px #2e93e6 solid;
    border-radius: 50%;
    animation: sp-anime 0.8s infinite linear;
}

@keyframes sp-anime {
    100% {
        transform: rotate(360deg);
    }
}

.message-box {
    font-size: 1.75rem;
    padding: 0.5em 0em;
    margin: 1em 0 0 0;
    color: #384a5a;
    background: #d3e0e6;/*背景色*/
}
.message-box p {
    font-weight: 600;
    margin: 0.5em 0;
    line-height: 0.25;
}