input#checkin_date, input#stay_duration, #form_detail_part input.plan_name_hidden {
    height:1px;
    padding:0;
    margin:0;
    line-height:0;
    width:0;
    border:0;
    position:absolute;
    /*visibility:hidden;*/
    top: -9999px;
}
.hcal_main_form_error {
    color:red;
    font-size:0.8em;
    display:block;
    
}
.disabled_row {
    color:#aaa;
}
#checkin_date_display.focused,
.plan_name_display.focused {
    border-color: #66afe9;
    outline: 0;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);
}
#plan_list_container .plan_list_opened .plan_open,
#plan_list_container .plan_list_closed .plan_close {
    display: none;
}
.selected_plan_row .form-control.plan_name_display {
    width:calc(100% - 10px);
    height:auto;
}

#form_overlay {
    position:fixed;
    z-index:9999;
    width:100vw;
    height:100vh;
    top:0;
    left:0;
    background:rgba(0,0,0,.8);
    padding:calc(100vh / 10) calc(100vw / 10);
}
#form_overlay_inner {
    background:#fff;
    width:100%;
    height:100%;
    overflow:auto;
    padding:2em;
}
label.required:after {
    /* content:" *必須項目";
    color:red; */
    content: '＊';
    color: #4CB5E8;
    font-weight:normal;
    font-size:0.9em;
}
form label {
    font-weight:500;
    margin-bottom:0;
}
form .row {
    margin-bottom:10px;
}
small {
    font-size:0.8em;
}
table.formTable {
    margin-bottom:1.5em;
}
.ui-datepicker-unselectable.pointer_enable {
	pointer-events: auto;
}
.ui-datepicker-calendar .premium_date a {
	background-color: #fdd;
}
.ui-datepicker-calendar .extra_premium_date a {
	background-color: #f99;
}
@media (min-width:576px) {
.only_sm {
    display:none;
}
}
@media (max-width:575.98px) {
.entry-body .wp-block-vk-blocks-outer .vk_outer_container {
    margin:0 15px;
}
#form_calendar_part p {
    text-align:right;
}
#form_part_persons p {
    text-align:right;
}
#form_part_persons select {
    display:inline;
    width:auto;
}
.plan_head h3 {
    line-height:1.2;
}
.plan_head_plan.plan_selected {
    padding-left:calc(50px + 1em);
    line-height:1.4;
}
.plan_head_plan.plan_selected img {
    margin-left:calc(-50px - 1em);
    margin-top:.4em;
}
.plan_row_text {
    clear:both;
    padding-top:1em;
}
label[for="checkin_date"],
label[for="plan_name"],
label[for="person"],
label[for="arrival_time"],
label[for="transportation"] {
    width:100%;
    border-bottom:1px solid #347b9d;
    margin-bottom:5px;
}
input#zip1, input#zip2 {
    display:inline;
    width:auto;
}
}