html, body {
    height: 100%;
}

@media print{
  html,body{
    height: auto;
  }
}

/* 印刷用 */
@media print {
    body {
        -webkit-print-color-adjust: exact;
    }

    input, select {
        border: none !important;
        -webkit-appearance: none !important;
        -moz-appearance: none !important;
        appearance: none !important;
    }

    textarea {
        border: none;
        resize: none;
        outline: none;
    }

    #print-show {
        width: 100% !important;
    }

    #print-hide {
        display: none !important;
    }

    .print-hide {
        display: none !important;
    }
}

.page-break {
    page-break-after: always;
}

.small {
    font-size: .8em !important;
}

#loader {
    background: #000A;
    align-items: center;
    justify-content: center;
    display: flex;
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    z-index: 99999;
}

#loader::after {
    animation: loader_animation 0.5s linear infinite;
    border: 5px solid white;
    border-right: 5px solid #FFF3;
    border-radius: 100%;
    content: '';
    height: 100px;
    width: 100px;
}

@keyframes loader_animation {
    0% {
        transform: rotate(0);
    }
    100% {
        transform: rotate(360deg);
    }
}

/* border */
.border-dotted {
    border-style: dotted;
}

.border-top-5 {
    border-top: 5px solid black !important;
}

.border-bottom-5 {
    border-bottom: 5px solid black !important;
}

.border-left-5 {
    border-left: 5px solid black !important;
}

.border-right-5 {
    border-right: 5px solid black !important;
}

/* bg-color */
.bg-pink {
    background-color: #F4B9C3;
}

.bg-blue {
    background-color: #E8E4F9;
}

.bg-green {
    background-color: #E8F9E4;
}

.bg-light-blue {
    background-color: #EAF5FD;
}

.bg-yellow {
    background-color: #fdfaea;
}

.bg-muddy-blue {
    background-color: #7B7A84;
}

.bg-gray {
    background-color: #8B8992;
}

.bg-light-gary {
    background-color: #D9D9D9;
}

.bg-light-cyan {
    background-color: #EFF5F6;
}

/* writing-mode */
.text-vertical {
    writing-mode: vertical-rl !important;
}

/* text-space */
.ls-1 {
    letter-spacing: 0.25rem !important;
}

.ls-2 {
    letter-spacing: 0.5rem !important;
}

.ls-3 {
    letter-spacing: 1rem !important;
}

.ls-4 {
    letter-spacing: 1.5rem !important;
}

.ls-5 {
    letter-spacing: 3rem !important;
}

/* text-align */
.text-left {
    text-align: left !important;
}

.text-right {
    text-align: right !important;
}

/* font-family */
.font-serif {
    font-family: serif !important;
}

/* modal */
.modal-xxl {
    max-width: 99% !important;
}

/* input[type="date"] */
input[type="date"] {
    position: relative;
}

input[type="date"]::-webkit-calendar-picker-indicator {
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
}

/* input::placeholder */
input[placeholder="email"]::placeholder {
    color: white;
}

input[placeholder="password"]::placeholder {
    color: white;
}

.schedule-table a:hover {
    filter: brightness(90%);
}

.hover {
    filter: brightness(90%);
}

.schedule-table {
    border-collapse: separate;
    border-spacing: 0;
    border-top: 1px solid black;
}

.schedule-table thead th {
    padding-top: 5rem;
    background-color: white;
    border-right: 1px solid black;
    border-bottom: 1px solid black;
    position: sticky;
    top: 0;
    z-index: 2;
    text-align: center;
}

.schedule-table thead th:first-child {
    position: sticky;
    left: 0;
    z-index: 3;
}

.schedule-table tbody th {
    background-color: white;
    border-right: 1px solid black;
    border-bottom: 1px solid black;
    position: sticky;
    left: 0;
    z-index: 2;
}

.schedule-table tbody td {
    background-color: white;
    border-right: 1px solid black;
    border-bottom: 1px solid black;
}

.number-of-bookings-table {
    max-width: 500px;
    margin-bottom: 30px;
}

.number-of-bookings-table thead th {
    width: 125px;
    position: sticky;
    top: 0;
    z-index: 2;
    text-align: center;
    border: 1px solid black;
    border-bottom: 4px double black;
}

.number-of-bookings-table tbody td {
    border: 1px solid black;
}

.number-of-bookings-table tbody td:first-child {
    text-align: center;
}

.number-of-bookings-table tbody td:not(:first-child) {
    text-align: right;
    padding-right: 10px;
}

#label_threshold {
    margin-left: 10px;
}

#text_threshold {
    width: 40px;
    text-align: right;
}

#card_full {
    z-index: 5;
    width: 600px;
    height: 300px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* 領収書 */
#text_description {
    overflow: hidden;
    height: 28px;
}

/* 契約書 */
input[type="radio"][name="year"]:checked + div {
    border: solid 1px black;
}

/* バーコード */
#table_barcode {
    border: 30px solid white;
    border-collapse: separate;
    border-spacing: 60px;
}

#text_quotation_description {
    padding: 8px;
    line-height: 22px;
}
