@charset "utf-8";
.bg_deco{
    position: absolute;
    z-index: -5;
}
.moon{max-width: 530px;left: -5%;width: 26vw;top: -5%;}
.sky, .ground{
    max-width: 1134px;
    width: 54vw;
}
.grass{bottom: -5vw;right: 0;max-width: 400px;width: 20vw;}
.sky{
    top: 0;
    right: 0;
}
.ground{
    bottom: 0;
    left: 0;
    transform: rotate(180deg);
}
@media (max-width: 768px) {
.cloud {
    top: unset;
    transform: unset;
    bottom: 0vw;
    width: 90vw;
}
.sky, .ground {
    width: 90vw;
}
.moon {
    width: 48vw;
    left: -10vw;
    top: -16vw;
}
.grass {
    width: 42vw;
}
}


/* calendar */
.calendar_box{
    max-width: 800px;
    z-index: 100;
    bottom: 100px;
    width: 100%;
    padding: 0px;
    box-sizing: border-box;
    transition: 0.5s;
    margin: 0 auto 80px;
}
#booking-package{
    background: unset!important;
    padding: 30px 10px 20px;
    border: solid 1px #ddd;
    background: #fff!important;
}
#booking-package_calendarPage{
    background: none!important;
}
#booking-package_calendarPage .week_slot{
    background: #fff;
}
#booking-package_calendarPage .day_slot{
    background: #fff;
    font-size: 18px;
}
#booking-package_calendarPage .day_slot.mon{
    position: relative;
}
#booking-package_calendarPage .day_slot.mon::after{
    content: "休";
    padding: 0.2em 0 0;
    display: inline-block;
    font-weight: bold;
    font-size: 18px;
}
#booking-package_calendarPage .pastDay:after{
    content: "ー";
    padding: 0.2em 0 0;
    display: inline-block;
    font-weight: bold;
    font-size: 14px;
}
#booking-package_schedulePage .closed {
    color: unset!important;
    background: #eee!important;
}
#booking-package .selectable_time_slot{
    position: relative;
}
#booking-package_calendarPage .symbolPanel{
     -webkit-text-stroke: 1px;
}
#booking-package_calendarPage .closingDay .symbolPanel{
     -webkit-text-stroke: unset!important;
}
#booking-package_calendarPage .arrowRight{
    margin: 0!important;
}
#booking-package_calendarPage .arrowFont.material-icons{
    font-size: 2em!important;
}
#booking-package_calendarPage .arrowRight span, #booking-package_calendarPage .arrowLeft span{
    display: none;
}
#booking-package_calendarPage .pastDay {
    color: #ccc;
    background: unset!important;
    pointer-events: none;
}
.calendarData{
    font-size: 20px!important;
}
#booking-package_calendarPage .week_slot {
    font-size: 18px;
}
#booking-package_calendarPage .week_slot.sun{
    color: #e64c30;
}
#booking-package_calendarPage .week_slot.sat{
    color: #3d90dd;
}


#booking-package_calendarPage .symbolPanel, #booking-package_calendarPage .numberInsteadOfSymbols {
    /* padding: 0.5em 0 0!important; */
    /* color: #ff9600!important; */
}
#booking-package_calendarPage .arrowLeft{
    margin: 0!important;
}
#booking-package_calendarPage .calendarHeader {
    padding: 0em 0 0em!important;
    align-items: center;
    /* height: 20px!important; */
    margin-bottom: 2em;
}
#booking-package_calendarPage .calendar{
    margin-bottom: 0!important;
}
#booking-package_calendarPage .sun .dateField{
    color: #e64c30!important;
}
#booking-package_calendarPage .sun.pastDay .dateField{
    color: #ccc!important;
}
#booking-package_calendarPage .sat .dateField{
    color: #3d90dd!important;
}
#booking-package_calendarPage .sat.pastDay .dateField{
    color: #ccc!important;
}

.calendar_ttl{
    background-image: linear-gradient(to bottom, #ffaa00, #ff9600);
    color: #fff;
    text-align: center;
    padding: 0.9em 0;
    font-size: 18px;
    font-weight: bold;
    position: relative;
    border-radius: 20px 20px 0 0;
}
.calendar_ttl .calendar_close{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 10px;
    width: 25px;
    height: 25px;
    cursor: pointer;
}
.calendar_ttl .calendar_close span {
    position: absolute;
    left: 0;
    content: url(/img/common/hamburgerline.svg);
    display: inline-block;
    vertical-align: top;
}
.calendar_ttl .calendar_close span {
    position: absolute;
    left: 0;
    content: url(/img/common/hamburgerline.svg);
    display: inline-block;
    vertical-align: top;
}
.calendar_ttl .calendar_close span:nth-child(1) {
    -webkit-transform: translateX(0px) translateY(10px) rotate(-45deg);
    transform: translateX(0px) translateY(10px) rotate(-45deg);
    border-radius: 0;
    top: 0;
}
.calendar_ttl .calendar_close span:nth-child(2) {
    top: 17px;
    -webkit-transform: translateX(0px) translateY(-7px) rotate(45deg);
    transform: translateX(0px) translateY(-7px) rotate(45deg);
    border-radius: 0;
}
#booking-package_calendarPage .day_slot, #booking-package_calendarPage .week_slot{
    border: none!important;
    padding: 0 0 0em!important;
}
#booking-package_calendarPage .day_slot {
    height: 4.5em!important;
}
#booking-package_calendarPage .available_day:hover {
    background-color: #faf8f5!important;
}
#booking-package_calendarPage .dateField {
    padding: 0.5em 0 !important;
}


#booking-package_schedulePage .selectedDate {
    font-size: 20px!important;
    font-weight: normal!important;
    line-height: 1;
}
#booking-package_schedulePage .topPanel {
    height: 20px!important;
    padding-bottom: 2em;
}

#booking-package_schedulePage div#blockPanel{
    display: none;
}
#booking-package_schedulePage .courseListPanel{
    top: 53px!important;
}
#booking-package_schedulePage .courseListPanel.postionCenterForScheduleListPanel{
    top: 0!important;
}

#booking-package_schedulePage .closed {
    color: #e9e9e9 !important;
    background: unset!important;
    /* opacity: 0.5; */
    pointer-events: none;
}
#booking-package_schedulePage .selected_day_slot {
    background-color: #faf8f5!important;
    /* border-color: #faf8f5 !important; */
}
#booking-package_schedulePage .selectable_day_slot:hover {
    background-color: #faf8f5!important;
    /* border-color: #faf8f5 !important; */
}
#booking-package_schedulePage .bottomPanelNoAnimation {
    justify-content: center;
    padding: 20px 0 0;
}
#bottomPanel > button {
    margin: 0!important;
    background: #333;
    /* background-image: linear-gradient(to bottom, #ffaa00, #ff9600); */
    color: #fff;
    line-height: 1;
    padding: 0.5em 0em 0.4em;
    border-radius: 5px;
    width: 12em;
    text-align: center;
}
#booking-package_inputFormPanel .book_now_button{
    margin: 0!important;
    background-image: linear-gradient(to bottom, #ffaa00, #ff9600);
    color: #fff;
    line-height: 1;
    padding: 0.5em 0em 0.4em;
    border-radius: 5px;
    width: 12em!important;
    text-align: center;
}
#booking-package_schedulePage .previous_available_day_button{
    display: none;
}
#booking-package_schedulePage .next_available_day_button{
    display: none;
}
#booking-package_schedulePage .selected_service_slot {
    background-color: #faf8f6!important;
}
#booking-package .selectable_service_slot:hover {
    background-color: #faf8f6!important;
}
#booking-package .selectable_time_slot:hover{
    background-color: #faf8f6!important;
}
#booking-package_schedulePage .service_details{
    font-size: 16px;
}
#booking-package_schedulePage .service_details .descriptionOfService{
    font-size: 0.8em;
}
#booking-package_schedulePage .service_details .service_name_cost{
    font-weight: bold;
    margin-bottom: 0.5em;
    display: block;
}
#booking-package_schedulePage .service_details .serviceCost{
    font-weight: bold;
    margin-bottom: 0.5em;
    display: block;
}
#booking-package_schedulePage .selectable_day_slot:last-child{
    border-bottom: none;
}
#booking-package_inputFormPanel .title_in_form{
    font-size: 20px!important;
    line-height: 1;
}
#booking-package_inputFormPanel .title_in_form{
    padding: 0px 0 24px!important;
}
#booking-package_inputFormPanel .row#booking_package_totalCost .name{
    position: relative;
}
#booking-package_inputFormPanel .row#booking_package_totalCost .name::after{
    content: "※1人あたりの料金";
    font-size: 0.8em;
    margin-left: 0.5em;
    color: #af2d00;
}
#booking-package_pay_locally.bottomBarPanel{
    text-align: center;
}
#returnToSchedules.return_form_button{
    margin: 0 !important;
    background: #333;
    color: #fff;
    line-height: 1;
    padding: 0.5em 0em 0.4em;
    border-radius: 5px;
    width: 12em!important;
    text-align: center;
}
#nextAndReturnPanel.bottomBarPanel{
    text-align: center;
}
#booking-package_inputFormPanel textarea{
    min-height: 6em;
}


.db650{
    display: none;
}
@media (max-width: 650px) {
    .db650{
        display: block;
    }
    .dn650{
        display: none;
    }


    .calendar_box{
        display: block;
        position: unset;
        margin: 0 auto 60px;
    }
    .calendar_close{
        display: none;
    }
    .calendar_ttl {
        padding: 0.8em 0 0.6em;
        /* font-size: 12px; */
    }
    .calendarData {
        font-size: 16px!important;
    }
    #booking-package_calendarPage .week_slot {
        padding: 2px 0 3px;
    }
    #booking-package_calendarPage .dateField {
        padding: 0px 0 0 !important;
    }
    #booking-package_calendarPage .day_slot {
        height: 3em!important;
    }
    #booking-package_calendarPage .day_slot {
        font-size: 12px!important;
    }
    #booking-package {
        font-size: 12px!important;
    }
    #booking-package_calendarPage .symbolPanel{
        font-size: 10px!important;
    }
    #booking-package_calendarPage .day_slot.mon::after {
        font-size: 12px;
    }


    .calendar_ttl {
        padding: 0.8em 0 0.6em;
        font-size: 14px;
    }
    #booking-package {
        padding: 20px 10px;
    }

    #booking-package_calendarPage .calendarHeader {
        margin-bottom: 0em;
        padding: 0 0 1em !important;
    }
    #booking-package_calendarPage .week_slot {
        font-size: 12px;
    }
    #booking-package_calendarPage .week_slot {
        padding: 5px 0!important;
    }


    #booking-package_schedulePage .selectedDate {
        font-size: 16px!important;
        line-height: 1;
    }
    #booking-package_schedulePage .courseListPanel {
        top: 41px!important;
    }

    #booking-package_schedulePage .service_details {
        font-size: 14px;
    }
    #booking-package_inputFormPanel .title_in_form {
        font-size: 16px!important;
    }
    #booking-package button {
        font-size: 14px!important;
    }
}





.map_info{
    font-size: 20px;
    text-align: center;
}
.map_info span{
    position: relative;
    padding: 0 5px;
    z-index: 1;
    display: inline-block;
    margin: 5px 0;
}
.map_info span::before{
    position: absolute;
    content: "";
    width: 100%;
    bottom: -2px;
    background: #ff9902;
    height: 10px;
    opacity: 0.2;
    z-index: -1;
    left: 50%;
    transform: translateX(-50%);
}
.map_tel{
    font-size: 48px;
    /* margin-top: 30px; */
}
.map_tel span{
    padding: 0 5px 0 40px;
}
.map_tel span::after{
    content: "";
    background: url(../img/common/tel02.svg);
    vertical-align: bottom;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: 33px;
    height: 26px;
    left: 0;
    bottom: 4px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.bussiness_hour{
    margin: 20px auto 0;
}
.bussiness_hour_info{
    font-size: 24px;
    line-height: 1.8;
    text-align: center;
}

@media (max-width: 768px) {
.map_tel {
    font-size: 38px;
}
.bussiness_hour_info {
    font-size: 18px;
}
.bussiness_hour {
    margin: 10px auto 0;
}
}
@media (max-width: 650px) {
.map_tel {
    font-size: 34px;
}
}