/*フロント用のカレンダー*/
.model-calender .calendar-container {
display: flex;
justify-content: space-between;
}

.model-calender .calendar-container .left-calender {
width: 48%;
}

.model-calender .calendar-container .left-calender .calendar-header {
display: flex;
margin-bottom: 10px;
align-items: baseline;
}

.model-calender .calendar-container .left-calender .calendar-header .prev {
cursor: pointer;
background-color: rgba(37, 184, 119);;
padding: 3px 8px;
color: #fff;
border-radius: 50%;
margin-right: 10px;
}
.model-calender .calendar-container .left-calender .calendar-header .sp-next {
cursor: pointer;
background-color: rgba(37, 184, 119);;
padding: 3px 8px;
color: #fff;
border-radius: 50%;
margin-left: 10px;
display: none;
}

.model-calender .calendar-container .right-calender .calendar-header .sp-next {
cursor: pointer;
background-color: rgba(37, 184, 119);;
padding: 3px 8px;
color: #fff;
border-radius: 50%;
margin-left: 0px;
display: none;
}

@media screen and (max-width: 767px) {
    .right-calender{
        display: none;;
    }
}

.model-calender .calendar-container .right-calender .calendar-header .sp-prev {
cursor: pointer;
background-color: rgba(37, 184, 119);;
padding: 3px 8px;
color: #fff;
border-radius: 50%;
margin-right: 10px;
display: none;
transform: rotate(-180deg);
}
@media screen and (max-width: 767px) {
.model-calender .calendar-container .left-calender .calendar-header {
justify-content: center;
}
.model-calender .calendar-container .left-calender .calendar-header .sp-next {
display: block;
}
.model-calender .calendar-container .right-calender .calendar-header .sp-next {
display: block;
}
.model-calender .calendar-container .right-calender .calendar-header .sp-prev {
display: block;
}
}

.model-calender .calendar-container .right-calender {
width: 48%;
}
.model-calender .calendar-container .right-calender .calendar-header {
display: flex;
justify-content: flex-end;
align-items: baseline;
margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
.model-calender .calendar-container .right-calender .calendar-header {
justify-content: center;
}
}
.model-calender .calendar-container .right-calender .calendar-header .next {
cursor: pointer;
background-color: rgba(37, 184, 119);
padding: 3px 8px;
color: #fff;
border-radius: 50%;
margin-left: 10px;
}
@media screen and (max-width: 767px) {
.model-calender .calendar-container .right-calender .calendar-header .next {
display: none;
}
}
@media screen and (max-width: 767px) {
.model-calender .calendar-container {
flex-direction: column;
align-items: center;
}
.model-calender .calendar-container .left-calender {
width: 100%;
margin: 20px 0;
}
.model-calender .calendar-container .right-calender {
width: 100%;
margin: 20px 0;
}
}
.model-calender .calendar-container .calendar {
width: 100%;
}
.model-calender .calendar-container .calendar table {
width: 100%;
border-collapse: collapse;
}
.model-calender .calendar-container .calendar th,
.model-calender .calendar-container .calendar td {
text-align: center;
padding: 12px 8px;
border: 1px solid #ddd;
background-color: #ffffff;
color: #000;
}
.model-calender .calendar-container .calendar th {
    background-color: #F3F3F3;
    color: #595757;
}
.model-calender .calendar-container .calendar td {
font-size: 12px;
font-weight: bold;
height: 50px;
cursor: pointer;
}
.model-calender .calendar-container .calendar td span {
display: block;
}
.model-calender .calendar-container .calendar td .cross {
color: #dc2626;
}
.model-calender .calendar-container .calendar td .triangle {
color: rgb(37, 184, 119);
}
.model-calender .calendar-container .calendar td .circle {
color: #0284c7;
}
.model-calender .calendar-container .calendar .next-month,
.model-calender .calendar-container .calendar .prev-month,
.model-calender .calendar-container .calendar .regular_holyday {
background-color: #f2f2f2;
}
.model-calender .calendar-container .calendar .past-date {
opacity: 0.5;
}
.model-calender .calendar-container .calendar .today {
color: rgb(37, 184, 119);
}
.model-calender .calendar-container .calendar .sunday {
color: #db2e2c;
}
.model-calender .calendar-container .calendar .saturday {
color: #2c3ddb;
}
.model-calender .calendar-container .calendar .holiday {
color: #db2e2c;
position: relative;
}
.model-calender .calendar-container .calendar .holiday .holidayname {
position: absolute;
bottom: 0;
right: 0;
font-size: 8px;
max-width: 70px;
opacity: 0.5;
}
@keyframes select-flash {
0% {
background-color: #c86464;
color: #ffffff;
}
50% {
background-color: #ffffff;
color: #c86464;
}
100% {
background-color: #c86464;
color: #ffffff;
}
}
.model-calender .calendar-container .calendar .selected-start {
animation: select-flash 1s infinite;
}
.model-calender .calendar-container .calendar .selected {
background-color: rgba(37, 184, 119,0.7) !important;

color: #ffffff;

}
.model-calender .calendar-container .calendar .selected span {
color: #ffffff;
}
.model-calender .reserve_guide_area {
position: fixed;
bottom: 10px;
right: 10px;
width: auto;
z-index: 15;
/* z-index: 10; */
background: #fff;
opacity: 0;
visibility: hidden;
transform: translateY(100%);
transition: 0.25s ease;
padding: 12px 10px;
border-style: solid;
border-width: 1px;
display: block;
border-radius: 8px;
border-color: #dadce0;
}
@media screen and (max-width: 767px) {
.model-calender .reserve_guide_area {
/* padding:  10px 30px 10px; */
}
}
.model-calender .reserve_guide_area-show {
opacity: 1;
visibility: visible;
transform: translateY(0);
transition: 0.25s ease;
}
.model-calender #calender-guide {
width: fit-content;
padding: 10px 30px;
margin: 24px auto 0px auto;
color: #fff;
font-size: 20px;
background-color: rgba(37, 184, 119);
border-radius: 7px;
}
.model-calender .range-date {
display: flex;
justify-content: space-between;
flex-direction: column;
padding: 10px 12px;
background-color: #eff0f4;
border-radius: 4px;
}
@media screen and (max-width: 767px) {
.model-calender .range-date {
flex-direction: column;
}
}
.model-calender .range-date #selectStartDate,
.model-calender .range-date #selectEndDate,
.model-calender .range-date #useRangeDate {
height: 25px;
}
.model-calender .range-date #minRentalPrice p {
margin: 5px 0 10px 0;
}
.model-calender .range-date #minRentalPrice p .model_type {
padding: 5px 10px;
background-color: #000000;
color: #ffffff;
margin-right: 15px;
margin-top: 10px;
}
.model-calender .range-date #minRentalPrice .cross{
    color: #c04949;
}
.model-calender .range-date #minRentalPrice .circle{
    color: rgba(37, 184, 119);
}
.model-calender .range-date #minRentalPrice .difference {
font-size: 14px;
display: block;
margin-bottom: 10px;
width: 100%;
margin:10px auto;
text-align: left;
padding: 7px 10px 7px 0;
text-align: left;
border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 767px) {
.model-calender .range-date #minRentalPrice .difference {
/* display: inline; */
}
}
.model-calender .range-date #minRentalPrice .available-count {
padding: 7px 10px 7px 0;
text-align: left;
border-bottom: 1px solid #ccc;
}
.model-calender .range-date #minRentalPrice .not-available {
text-align: left;
}
.model-calender .calender-contorols {
display: flex;
flex-direction: column;
justify-content: space-between;
margin-top: 15px;
}
.model-calender .calender-contorols .range-reset {
cursor: pointer;
width: 100%;
padding: 7px 30px;
border-radius: 20px;
border: 2px solid rgba(37, 184, 119);
color: rgba(37, 184, 119);
opacity: 0;
visibility: hidden;
transition: 0.5s all;
text-align: center;
order: 2;
}
.model-calender .calender-contorols .error-text {
color: #c04949;
}
@keyframes btn-flash {
0% {
background-color: rgba(37, 184, 119) ;
border: 2px solid rgba(37, 184, 119) ;
color: #ffffff;
}
50% {
background-color: #ffffff;
border: 2px solid rgba(37, 184, 119) ;
color: rgba(37, 184, 119) ;
}
100% {
background-color: rgba(37, 184, 119) ;
border: 2px solid rgba(37, 184, 119) ;
color: #ffffff;
}
}
.model-calender .calender-contorols .move-form {
cursor: pointer;
padding: 7px 30px;
border-radius: 20px;
opacity: 0;
visibility: hidden;
transition: 0.25s all;
/* animation: btn-flash 2s infinite; */
background-color: rgba(37, 184, 119);
border:2px solid rgba(37, 184, 119);
color: #fff;
width: 100%;
text-align: center;
order: 1;
margin-bottom: 12px;
}
.model-calender .calender-contorols .btn-show {
opacity: 1;
visibility: visible;
transition: 0.25s all;
}
.model-calender .popup {
position: fixed;
top: 0;
left: 0;
width: 100%;
left: 0;
top: 0;
background-color: rgba(0, 0, 0, 0.7);
padding: 80px 0;
z-index: 999;
opacity: 0;
visibility: hidden;
overflow-y: scroll;
height: 100vh;
font-size: 14px;
}
.model-calender .popup .popup-content {
    width: 90%;
    max-width: 800px;
    margin: 0 auto;
    background-color: #f1f3f5;
    padding: 12px 24px;
    border-radius: 4px;
    min-width: 30%;

/* フォームのスタイル */
/* ボタン表示制御用のクラス */
}
@media screen and (max-width: 767px) {
.model-calender .popup .popup-content {
width: 95%;
padding: 30px 15px 30px 15px;
}
}
.model-calender .popup .popup-content .close {
cursor: pointer;
width: fit-content;
padding: 7px 30px;
border-radius: 20px;
border: 1px solid rgba(37, 184, 119);;
color: rgba(37, 184, 119);;
display: block;

}
@media screen and (max-width: 767px) {
.model-calender .popup .popup-content .close {
padding: 5px 20px;
font-size: 14px;
}
}
.model-calender .popup .popup-content .form-title {
margin: 12px 0;
font-size: 20px;
line-height: 1.5;
color: #000;
text-align: center;
font-weight: bold;
}
.model-calender .popup .popup-content .form-group {
margin-bottom: 10px;
margin-top: 50px;
}
.model-calender .popup .popup-content .form-item {
display: block;
margin-top: 40px;
margin-bottom: 10px;
width: fit-content;
color: #000;
border-radius: 8px;
font-weight: normal;
font-weight: bold;
color: #333;
}
@media screen and (max-width: 767px) {
.model-calender .popup .popup-content .optino-label {
display: block;
margin-bottom: 5px;
}
}
.model-calender .popup .popup-content .label-type-radio {
display: inline-block;
margin-top: 4px;
margin-bottom: 12px;
padding: 0px;
width: fit-content;
background-color: transparent;
color: #000;
border-radius: 0px;
}
.model-calender .popup .popup-content .disableLabel {
opacity: 0.5;
position: relative;
}
.model-calender .popup .popup-content .disableLabel::before {
content: "空車なし";
font-size: 10px;
color: #ffffff;
background-color: #c04949;
padding: 3px 4px;
position: absolute;
top: 20px;
right: 0;
}
.model-calender .popup .popup-content .require {
position: relative;
}
.model-calender .popup .popup-content .require::after {
    font-size: 12px;
    position: absolute;
    right: -59px;
    top: -4px;
    content: "必須";
    font-size: 12px;
    background: #F36464;
    border-radius: 3px;
    color: #fff;
    width: 51px;
    display: grid;
    place-items: center;
    margin-left: 22px;
    line-height: 1.6;
}
.model-calender .popup .popup-content #totalAmount {
width: fit-content;
margin-left: auto;
display: flex;
align-items: baseline;
}
.model-calender .popup .popup-content #totalAmount #settlementAmount {
display: inline-block;
font-size: 18px;
background-color: transparent;
color: #000;
margin-top: 10px;
}
.model-calender .popup .popup-content #totalAmount input {
font-size: 20px;
font-weight: bold;
max-width: 150px;
font-size: 28px;
background-color: #ffffff;
text-align: center;
opacity: 0;
width: 0;
height: 0;
}
.model-calender .popup .popup-content #totalAmount span {
font-size: 14px;
}
.model-calender .popup .popup-content input[type="text"],
.model-calender .popup .popup-content input[type="email"],
.model-calender .popup .popup-content input[type="tel"],
.model-calender .popup .popup-content select,
.model-calender .popup .popup-content textarea {
width: 100%;
padding: 8px;
border: 1px solid #ccc;
border-radius: 4px;
background-color: #ffffff;
}
.model-calender .popup .popup-content input[type="checkbox"],
.model-calender .popup .popup-content input[type="radio"] {
margin: 0 5px 0 10px;
}
.model-calender .popup .popup-content textarea {
resize: vertical;
}
.model-calender .popup .popup-content button,
.model-calender .popup .popup-content .confirm-btn {
    cursor: pointer;
    width: fit-content;
    padding: 7px 30px;
    border-radius: 20px;
    background-color: rgba(37, 184, 119);
    color: #fff;
    display: block;
}
.model-calender .popup .popup-content .confirm-btn {
display: none;

}
.model-calender .popup .popup-content .popup-guide {
width: 100%;
margin: 0 auto;
padding: 20px 0;
font-size: 16px;
display: flex;
justify-content: space-between;
}
@media screen and (max-width: 767px) {
.calender-desc{
    font-size: 12px;
}
.model-calender .popup .popup-content .popup-guide {
padding: 10px;
position: relative;
width: 100%;
margin-top: 30px;
}
}
.model-calender .popup .popup-content .btn-show {
display: block;
}
.model-calender .popup .popup-content .confirm-btn-text {
display: block;
text-align: right;
color: #c04949;
font-size: 14px;
}
.model-calender .popup .popup-content .confirm-btn-text-hide {
display: none;
}
.model-calender .popup-show {
opacity: 1;
visibility: visible;
transition: 0.25s ease-in;
}
.model-calender .confirmation-dialog {
display: none;
justify-content: center;
align-items: center;
position: fixed;
z-index: 9999;
width: 100%;
height: 100vh;
top: 0;
left: 0;
right: 0;
margin: 0 auto;
background-color: rgba(0, 0, 0, 0.7);
}
.model-calender .confirmation-dialog .confirm-wrap {
position: absolute;
width: 400px;
background-color: #fff;
padding: 20px;
max-height: 80vh;
overflow-y: scroll;
opacity: 0;
border-radius: 4px;
}

.model-calender .confirmation-dialog .confirm-wrap-show {
opacity: 1;
visibility: visible;
z-index: 999;
transition: 0.25s ease-in;
}
.model-calender .confirmation-dialog .success-wrap {
    position: absolute;
width: 400px;
background-color: #fff;
padding: 20px;
max-height: 80vh;
overflow-y: scroll;
opacity: 0;
border-radius: 4px;
}
.model-calender .confirmation-dialog .success-wrap-show {
opacity: 1;
z-index: 1000;
transition: 0.25s ease-in;
}
.model-calender .confirmation-dialog .confirm-wrap .confirm-title {
text-align: center;
margin: 10px;
padding: 5px 10px;
border: 1px solid #000;
background-color: #4b4b4b;
color: #fff;
}
.model-calender .confirmation-dialog .confirm-wrap ul li {
font-size: 14px;
padding-left: 15px;
margin: 5px 0;
position: relative;
}
.model-calender .confirmation-dialog .confirm-wrap ul li::before {
position: absolute;
top: 10px;
left: 0;
content: "";
width: 5px;
height: 5px;
background-color: #000;
border-radius: 50%;
}
.model-calender .confirmation-dialog .confirm-wrap ul .last_price {
text-align: right;
font-size: 20px;
font-weight: bold;
padding-top: 10px;
border-top: 1px solid #000;
}
.model-calender .confirmation-dialog .confirm-wrap ul .last_price::before {
display: none;
}
.model-calender .confirmation-dialog .confirm-btn-area {
display: flex;
justify-content: space-between;
margin: 30px auto;
width: fit-content;
}
.model-calender .confirmation-dialog .confirm-btn-area button[type="submit"] {
cursor: pointer;
width: fit-content;
padding: 7px 30px;
border-radius: 20px;
color: #fff;
background-color: rgba(37, 184, 119);
display: block;

}
.model-calender .confirmation-dialog .confirm-btn-area .back-to-input {
    cursor: pointer;
    width: fit-content;
    padding: 7px 30px;
    border-radius: 20px;
    border:1px solid  rgba(37, 184, 119);
    background-color: #fff;
    color: rgba(37, 184, 119);
    display: block;
}
.model-calender .confirmation-dialog-show {
display: flex;
}

/*ローディング*/
.loading-overlay {
opacity: 0;
visibility: hidden;
transition: 0.1s all;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.2);
z-index: 9999;
}

.loadin-on {
opacity: 1;
visibility: visible;
transition: 0.1s all;
}

#loadingSpinner {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
/* border: 4px solid #f3f3f3; */
border-top: 4px solid rgba(37, 184, 119, 0.5);
border-left: 4px solid rgba(37, 184, 119, 0.5);
border-radius: 50%;
width: 50px;
height: 50px;
animation: spin 2s linear infinite;
}

.loading-text {
position: absolute;
top: calc(50% + 31px);
left: 0;
right: 0;
width: fit-content;
margin: 0 auto;
padding: 5px 10px;
color: rgba(37, 184, 119,1);
border-radius: 12px;

}

@keyframes spin {
0% {
transform: translate(-50%, -50%) rotate(0deg);
}
100% {
transform: translate(-50%, -50%) rotate(360deg);
}
}

#formRangeDate{
    text-align: center;
    padding: 2px 12px;
    /* background: linear-gradient(to right, #FFA458, #FF94A6); */
    background: #be9105;
    border-radius: 40px;
    color: #fff;
    font-weight: bold;
    margin-top: 37px;
    width: fit-content;
    margin: 32px auto 0 auto;
    font-size: 20px;
}


/*月、水、金、土は色を変える*/
.model-calender .calendar-container .calendar td.week-1,
.model-calender .calendar-container .calendar td.week-3,
.model-calender .calendar-container .calendar td.week-5,
.model-calender .calendar-container .calendar td.week-6{
    /* background-color: #e1ecff; */
}


.time-cat{
    color: #000;
}