/*
	Custom CSS
	Please make sure your CSS rules are 
	more particular / have higher priority
	then other page styles
*/
 #events h3   {
	/* add your css rule here */
}


 #events p.duration, #events div.duration   {
	/* add your css rule here */
}


 #events p.description, #events div.description   {
	/* add your css rule here */
}


 #events .selectedEvent   {
	/* add your css rule here */
}


 #events input.reserve_time_btn   {
	/* add your css rule here */
}


 #events input.select_another_btn   {
	/* add your css rule here */
}


 #eventForm #start_date-block-container h3, #eventForm #timeline-container h3   {
	/* add your css rule here */
}


 #eventForm #save_button   {
	/* add your css rule here */
}


 div.ui-widget-content   {
	/* add your css rule here */
}


 div.ui-widget-header   {
	/* add your css rule here */
}


 #timeline-container table.timeline   {
	/* add your css rule here */
}


 .timeline td.not_worked_time   {
	/* add your css rule here */
}


 .timeline td.free_time   {
	/* add your css rule here */
}


 .timeline td.selected_time   {
	/* add your css rule here */
}


 .timeline td.reserved_time   {
	/* add your css rule here */
}


 div#loading   {
	/* add your css rule here */
}


 #start_date-block-container .zend_form dt, start_date-block-container .zend_form dt b, start_date-block-container .zend_form dd label   {
	/* add your css rule here */
}

/* 時間スロットのend-timeを非表示 */
.end-time {
    display: none;
}

#sb-timeline #steps #steps-content #sb_booking_content .datetime-step #sb_timeview_container .timeline-wrapper #sb_time_slots_weekly_container .data-col .time-container .time-slot.slots_count-on.end_time-on .cell{
    min-height: 40px;
}

#sb-timeline #steps #steps-content #sb_booking_content .datetime-step #sb_timeview_container .timeline-wrapper #sb_time_slots_weekly_container .data-col .time-container .time-slot .cell.has-available-slot{
    padding-top: 0px;
    padding-bottom: 0px;
}

@media (max-width: 480px) {
  /* 時間スロット全体をflex化＆4列指定 */
  .sb_time_flexible_hour_container {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 0px !important;
  }

  /* 各スロットを25%（= 4列）に */
  .sb_time_flexible_hour_container .time-slot {
    width: 25% !important;
    margin: 0 !important;
    padding: 2px !important;
    box-sizing: border-box !important;
  }

  /* ボタンを枠いっぱいに拡張 */
  .sb_time_flexible_hour_container .time-slot .cell {
    display: block !important;
    width: 100% !important;
    padding: 8px 0 !important;
    font-size: 14px !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }
}


/* スロット数を非表示 */
.time-slot .slot--available-slot {
    display: none !important;
}


/* ボタンリンク調整 */
#steps-content {
    display: flex !important;
    flex-direction: column !important;
}
#sb_back_button {
    order: 999 !important;
    margin-top: 20px !important;
}
#sb_booking_content {
    order: 1 !important;
}
#sb_back_button a {
    color: #888888 !important;
    text-decoration: underline !important;
}
#sb_back_button a:hover {
    color: #aaaaaa !important;
}
#main #main-content #sb_content #sb-timeline #steps-content #sb_back_button a:before {
    filter: brightness(0) saturate(100%) invert(53%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(0.53) contrast(100%) !important;
}
#main #main-content #sb_content #sb-timeline #steps-content #sb_back_button a:hover:before {
    filter: brightness(0) saturate(100%) invert(67%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(0.67) contrast(100%) !important;
}



/* 日程選択のテキストカラーを変更 */
#sb_dateview_container * {
    color: #000000 !important;
}

#sb_prev_date:before,
#sb_next_date:before {
    color: #000000 !important;
}



/* 入力ページチェックボックステキストカラー調整 */
#main #main-content #sb_content #sb-timeline #steps-content #sb_booking_content #details .right-side .license-links-container a {
    color: #000000 !important;
}

#main #main-content #sb_content #sb-timeline #steps-content #sb_booking_content #details .right-side .license-links-container a:hover {
    color: #333333 !important;
}



    #sb_client_name,
    #sb_client_email {
        padding: 30px !important;
    }

    .form-control.iti__tel-input {
        padding-left: 60px !important;
        padding-top: 30px !important;
        padding-bottom: 30px !important;
        padding-right: 30px !important;
    }

    .iti__selected-country-primary {
        padding-left: 30px !important;
    }

    @media (max-width: 767px) {
        #main #main-content #sb_content #sb-timeline #steps-content #sb_booking_content #details .right-side .buttons-container {
            align-items: center;
        }
    }
    
    #sb_book_btn {
        border-radius: 25px !important;
        background:#D97B3C !important;
        color: white !important;
    }
    
    #main #main-content #sb_content #sb-timeline #steps-content #sb_booking_content #details .title-main {
        position: relative;
        top: -100px;
    }
    
    #main #main-content #sb_content #sb-timeline #steps-content #sb_booking_content #details .detail-step.clearfix .row .col-sm-6 {
        position:relative;
        top: -60px;
    }

    #main #main-content #sb_content #sb-timeline #steps-content #sb_booking_content #details .detail-step-wrap.section {
        border-radius: 10px;
    }
    
    #sb_client_name::placeholder,
    #sb_client_email::placeholder,
    .form-control.iti__tel-input::placeholder,
    textarea::placeholder {
        opacity: 0 !important;
    }

    #sb_client_name:placeholder-shown {
        background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='50px' width='120px'><text x='0' y='15' fill='gray' font-size='15'>例）ワーホリ太郎</text></svg>");
        background-repeat: no-repeat;
        background-position: 30px 20px;
    }
    
    #sb_client_email:placeholder-shown {
        background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='50px' width='200px'><text x='0' y='15' fill='gray' font-size='15'>例）＊＊＊＊＊@gmail.com</text></svg>");
        background-repeat: no-repeat;
        background-position: 30px 20px;
    }
    
    .form-control.iti__tel-input:placeholder-shown {
        background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='50px' width='200px'><text x='0' y='15' fill='gray' font-size='15'>例）080-1234-5678</text></svg>");
        background-repeat: no-repeat;
        background-position: 70px 20px;
    }
    
    textarea.form-control:placeholder-shown {
        background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='300px' width='200px'><text x='0' y='15' fill='gray' font-size='15'><tspan x='0' dy='0'>例）</tspan><tspan x='0' dy='1.5em'>ワーホリの制度について知りたい</tspan><tspan x='0' dy='1.5em'>行ける国について知りたい</tspan><tspan x='0' dy='1.5em'>費用について知りたい</tspan><tspan x='0' dy='1.5em'>他社の見積もりを見てほしい　など</tspan></text></svg>") !important;
        background-repeat: no-repeat;
        background-position: 22px 18px;
        padding: 15px !important;
    }
    
    .booking-overview tr.booking-info--item booking-info--item_provider,
    .booking-overview tr.booking-info--item booking-info--item_category-name {
        display: none !important;
    }


#sb_client_name,
#sb_client_email,
.form-control.iti__tel-input {
    padding: 30px !important;
    font-family: OpenSans !important;
}

.iti__selected-country-primary {
    display: none !important;
}

@media (max-width: 767px) {
    #main #main-content #sb_content #sb-timeline #steps-content #sb_booking_content #details .right-side .buttons-container {
        align-items: center;
    }
}

#sb_book_btn {
    border-radius: 25px !important;
    background: #D97B3C !important;
    color: white !important;
    font-family: OpenSans !important;
}

#main #main-content #sb_content #sb-timeline #steps-content #sb_booking_content #details .title-main {
    position: relative;
    top: -100px;
    font-family: OpenSans !important;
}

#main #main-content #sb_content #sb-timeline #steps-content #sb_booking_content #details .detail-step.clearfix .row .col-sm-6 {
    position: relative;
    top: -60px;
}

#main #main-content #sb_content #sb-timeline #steps-content #sb_booking_content #details .detail-step-wrap.section {
    border-radius: 5px;
}

#sb_client_name::placeholder,
#sb_client_email::placeholder,
.form-control.iti__tel-input::placeholder,
textarea::placeholder {
    opacity: 0 !important;
}

#sb_client_name:placeholder-shown {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='50px' width='120px'><text x='0' y='15' fill='rgba(0, 0, 0, 0.4)' font-size='15'>例）ワーホリ太郎</text></svg>");
    background-repeat: no-repeat;
    background-position: 30px 20px;
    font-family: OpenSans !important;
}

#sb_client_email:placeholder-shown {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='50px' width='200px'><text x='0' y='15' fill='rgba(0, 0, 0, 0.4)' font-size='15'>例）＊＊＊＊＊@gmail.com</text></svg>");
    background-repeat: no-repeat;
    background-position: 30px 20px;
    font-family: OpenSans !important;
}

.form-control.iti__tel-input:placeholder-shown {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='50px' width='200px'><text x='0' y='15' fill='rgba(0, 0, 0, 0.4)' font-size='15'>例）080-1234-5678</text></svg>");
    background-repeat: no-repeat;
    background-position: 30px 20px;
    font-family: OpenSans !important;
}

textarea.form-control:placeholder-shown {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='300px' width='300px'><text x='0' y='15' fill='rgba(0, 0, 0, 0.4)' font-size='15'><tspan x='0' dy='0'>例）</tspan><tspan x='0' dy='1.5em'>ワーホリの制度について知りたい</tspan><tspan x='0' dy='1.5em'>行ける国について知りたい</tspan><tspan x='0' dy='1.5em'>費用について知りたい</tspan><tspan x='0' dy='1.5em'>他社の見積もりを見てほしい　など</tspan></text></svg>") !important;
    background-repeat: no-repeat;
    background-position: 22px 18px;
    padding: 15px !important;
    font-family: OpenSans !important;
}

.booking-overview tr.booking-info--item.booking-info--item_provider,
.booking-overview tr.booking-info--item.booking-info--item_category-name {
    display: none !important;
}

#sb_booking_content {
    position: relative;
}

#sb_booking_content>div:not([class])>#details::after {
    background: #fff !important;
    box-shadow: none !important;
    border-radius: 5px !important;
    content: "" !important;
    width: 100%;
    height: 100px;
    display: block;
    margin-top: 75px;
    margin-bottom: 30px;
}

#sb_booking_content .detail-step-wrap.section::after {
    box-shadow: none !important;
    content: "予約情報確認" !important;
    display: block;
    font-size: 30px;
    font-weight: 600;
    text-transform: none;
    line-height: 32px;
    position: relative;
    text-align: center;
    top: 2em;
}

@media screen and (max-width: 767px) {
    #sb_booking_content>div:not(#sb_datetime_step_container)::after {
        margin-top: 40px;
    }
}

@media screen and (min-width: 768px) {
    #sb_booking_content .detail-step-wrap.section::after {
        top: 2.2em;
    }
}

#sb_booking_info>div {
    position: relative;
}

#sb_booking_info .current-booking-info {
    position: absolute;
    top: 502px;
}

@media screen and (min-width: 318px) {
    #sb_booking_info .current-booking-info {
        top: 480px;
    }
}

@media screen and (min-width: 387px) {
    #sb_booking_info .current-booking-info {
        top: 457px;
    }
}

@media screen and (min-width: 390px) {
    #sb_booking_info .current-booking-info {
        top: 434px;
    }
}

@media screen and (min-width: 461px) {
    #sb_booking_info .current-booking-info {
        top: 412px;
    }
}

@media screen and (min-width: 768px) {
    #sb_booking_info .current-booking-info {
        top: 838px;
        left: -45%;
    }
}

 #sb_dateview_container {
     position: relative !important;
     margin-bottom: 60px !important;
 }

 #sb_dateview_container::after {
     background: #fff !important;
     box-shadow: none !important;
     border-radius: 5px !important;
     content: "※ご都合が悪くなった際は予約キャンセル可能です" !important;
     display: flex;
     margin-top: 10px;
     height: 40px;
     position: absolute;
     font-size: 11px;
     width: 100%;
     align-items: center;
     justify-content: center;
     text-align: center;
 }