@charset "utf-8";
body {
    position: relative;
}

.pc {
    display: none !important;
}

.pc-ib {
    display: none !important;
}

.sp {
    display: block !important;
}

.sp-ib {
    display: inline-block !important;
}


/*------------------------------------------------------------------------------
  reserve
------------------------------------------------------------------------------*/

#mainimg {
    min-height: 175px !important;
}

#loader-bg #loader-msg {
    font-size: large;
}

.reserve-main .reserve {
    width: 100%;
    min-width: 100%;
    margin: 0 auto;
    padding: 10px 1px;
    font-size: 16px;
}

#wrapper {
    padding: 0;
}

#wrapper h1 {
    font-size: large;
    padding: 0;
}

#header #hd_inner {
    position: relative;
    display: block;
}

#gnavi {
    /*position: absolute;*/
    position: fixed;
    right: 0;
    top: 0;
}

.h2_basic01 {
    display: block;
}

#mainimg .outer01 .h2_basic01 {
    margin: 0;
}

.h2_basic01 h2 {
    display: block;
    padding: 62px 0 0;
}

.reserve-main .reserve .step-area {
    margin-bottom: 20px;
    position: relative;
}

.reserve-main .reserve .step-area .step {
    font-size: 14px;
    height: 36px;
    line-height: 36px;
}

.reserve-main .reserve .step-area .step.step1 {
    width: 32%;
    text-indent: -3%;
}

.reserve-main .reserve .step-area .step.step2 {
    width: 41%;
    text-indent: -3%;
}

.reserve-main .reserve .step-area .step.step3 {
    width: 27%;
}

.reserve-main .reserve .step-area .step.step1:after,
.reserve-main .reserve .step-area .step.step2:after {
    border-width: 18px 0 18px 15px;
    right: 4px;
}

.reserve-main .reserve .step-area .step .inner {
    height: 36px;
    line-height: 36px;
    margin-right: 19px;
}

.reserve-main .reserve .step-area .step.step1.on:after,
.reserve-main .reserve .step-area .step.step2.on:after {
    border-width: 18px 0 18px 15px;
    right: 4px;
}

.select_clinic_area {
    margin: 10px auto 50px auto;
    width: 350px;
}

.reserve-main .reserve .form-title {
    margin-top: 15px;
    font-size: 16px;
}

.modal__content {
    width: 95%;
    height: 650px;
    top: 350px;
}

.modal__content .modal__body h3 {
    margin: 30px 0 10px 0;
}

div.treatment_detail_memo textarea {
    font-weight: normal;
    font-size: 16px;
}

.select-treatment {
    width: 100%;
}

.select-treatment select {
    width: 100%;
}

.calendar-table .calendar-month {
    font-size: medium;
    height: auto;
}

.reserve-main .reserve p.availability_nav {
    padding-right: 20px;
}

.reserve-main .reserve #user-info-container .form-table input,
.reserve-main .reserve #user-info-container .form-table select,
.reserve-main .reserve #user-info-container .form-table textarea {
    font-size: 16px;
}

.reserve-main .reserve #user-info-container .form-table {
    margin-bottom: 20px;
    font-size: 12px;
}

.reserve-main .reserve #user-info-container .form-table th.user-info {
    padding: 12px 5px;
    font-size: 11px;
    width: 40%;
    letter-spacing: -0.05em;
}

.reserve-main .reserve #user-info-container .form-table td.user-info {
    padding: 10px 5px;
}

.reserve-main .reserve #user-info-container .form-table .hope td {
    padding: 10px 5px;
}

.reserve-main .reserve #user-info-container .form-table td.user-info.td-block {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
}

.reserve-main .reserve #user-info-container .form-table td.user-info.has-radio {
    padding-top: 12px;
}

.reserve-main .reserve .confirm-area #user-info-container .form-table td.user-info {
    padding-top: 12px;
}

.reserve-main .reserve #user-info-container .form-table th.user-info .required-mark {
    display: block;
    font-size: 10px;
    float: inherit;
    padding: 1px 5px;
    width: 30px;
    text-align: center;
}

.reserve-main .reserve #user-info-container .form-table .short {
    box-sizing: border-box;
    width: 80px;
}

.reserve-main .reserve #user-info-container .form-table .middle {
    box-sizing: border-box;
    width: 100%;
}

.reserve-main .reserve #user-info-container .form-table .long {
    box-sizing: border-box;
    width: 100%;
}


/* 2カラムで表示(姓名など) */

.reserve-main .reserve #user-info-container .form-table td.user-info div.half {
    display: table-cell;
}

.reserve-main .reserve #user-info-container .form-table td.user-info div.half:last-child {
    padding-left: 5px;
}

.reserve-main .reserve #user-info-container .form-table td.user-info div.half input {
    width: 100%;
}

.reserve-main .reserve #user-info-container .form-table textarea {
    box-sizing: border-box;
    width: 100%;
}

.reserve-main .reserve .validate-text {
    font-size: 10px;
}

.reserve-main .reserve #user-info-container .form-table [name="post1"],
.reserve-main .reserve #user-info-container .form-table [name="tel1"] {
    width: 50px;
    padding-right: 5px;
}

.reserve-main .reserve #user-info-container .form-table [name="post2"],
.reserve-main .reserve #user-info-container .form-table [name="tel2"],
.reserve-main .reserve #user-info-container .form-table [name="tel3"] {
    width: 50px;
    padding-right: 5px;
}

.reserve-main .reserve #user-info-container .form-table *+.unit {
    margin: 0 1px;
}

.reserve-main .reserve #user-info-container .form-table input[type="radio"] {
    width: 12px;
}

.reserve-main .reserve #user-info-container .form-table select.picker__select--year,
.reserve-main .reserve #user-info-container .form-table select.picker__select--month {
    font-size: 16px;
}

.reserve-main .reserve #user-info-container .form-table label+label {
    margin-left: 0;
    margin-top: 5px;
}

.reserve-main .reserve #user-info-container .form-table label .icon {
    height: 12px;
    width: 12px;
    margin: 0 5px 0 0;
}

.reserve-main .reserve #user-info-container .form-table label input[type="radio"]:checked+.icon:before {
    width: 8px;
    height: 8px;
}

.reserve-main .reserve #user-info-container .form-table label .text {
    top: -3px;
}

.reserve-main .reserve .submit-area {
    margin-bottom: 20px;
}

.reserve-main .reserve .submit-area .btn {
    font-size: 16px;
    width: 170px;
    margin: 10px auto;
}

.reserve-main .reserve .success-area .text01 {
    margin: 40px auto 30px;
    width: 280px;
}

.reserve-main .reserve .success-area .text02 {
    margin: 0 0 40px;
}

.reserve-main .reserve #user-info-container .form-table .has-cal {
    background-size: 16px;
    padding-left: 25px;
}

.reserve-main .reserve #user-info-container .form-table .has-time {
    background-size: 16px;
    padding-left: 25px;
}

.reserve-main .reserve #user-info-container .form-table select,
.reserve-main .reserve #user-info-container .form-table input,
.reserve-main .reserve #user-info-container .form-table textarea {
    box-sizing: border-box;
}

.reserve-main .reserve #user-info-container .form-table .has-time {
    margin-top: 5px;
}

.reserve-main .reserve #user-info-container .form-table .line+.line {
    margin-top: 10px;
}

.reserve-main .reserve #user-info-container .form-table .select-box {
    display: inline-block;
}

.reserve-main .reserve #user-info-container .form-table .select-box .unit {
    margin-right: 3px;
}

.reserve-main .reserve #user-info-container .form-table *+.unit {
    margin: 0 1px;
}

.reserve-main .reserve #user-info-container .form-table .hope .unit {
    display: block;
}

.reserve-main .reserve .submit-area .btn {
    font-size: 16px;
}

.reserve-main .reserve .success-area .text01 {
    font-size: 16px;
    width: auto;
}

#wrapper .DOPBSPCalendar-wrapper {
    width: 100%;
    min-width: 100%;
    max-width: 100%;
}

#DOPBSPCalendar-sidebar-column-wrapper-1-1 input,
#DOPBSPCalendar-sidebar-column-wrapper-1-1 select,
#DOPBSPCalendar-sidebar-column-wrapper-1-2 input,
#DOPBSPCalendar-sidebar-column-wrapper-1-2 select,
#DOPBSPCalendar-sidebar-column-wrapper-1-3 input,
#DOPBSPCalendar-sidebar-column-wrapper-1-3 select,
#DOPBSPCalendar-sidebar-column-wrapper-1-4 input,
#DOPBSPCalendar-sidebar-column-wrapper-1-4 select {
    font-size: 16px;
}

#DOPBSPCalendar-search1:before,
#DOPBSPCalendar-search2:before,
#DOPBSPCalendar-search3:before,
#DOPBSPCalendar-search4:before {
    height: 90px;
}


/*** カレンダー複数対応 ***/

.reserve-main .reserve #user-info-container .form-table .form-select-wrap > select {
    padding: 8px 5px;
    margin-left: 5px;
    margin-right: 5px;
}

.reserve-main .reserve .input-area #user-info-container .form-table tr.select input {
    width: 0;
}

.reserve-main .reserve .input-area #user-info-container .form-table tr.select td {
    padding: 8px 10px;
}

.reserve-main .reserve #user-info-container .form-table .checkbox-box+.checkbox-box {
    display: block;
    margin: 7px 0 0;
}

.reserve-main .reserve #user-info-container .form-table .dopbsp-clinic-loading {
    top: 10px;
}

#wrapper .DOPBSPCalendar-navigation .dopbsp-month-year {
    padding: 9px 9px 10px 9px;
    font-size: 16px;
}

.reserve-main .reserve #user-info-container .form-table tr th .small {
    font-size: 10px;
}

.reserve-main .reserve .confirm-area .confirm-text {
    font-size: 16px;
}


/*------------------------------------------------------------------------------
  予約変更処理対応
------------------------------------------------------------------------------*/

.reserve-main .modal-window {
    padding: 10px;
}

#reserve-modal {
    height: 160px;
    min-width: 300px;
    max-width: 95%;
    font-size: 16px;
}

#reserve-modal .btn-area .btn {
    font-size: 16px;
}

#reserve-modal .btn-area .btn+.btn {
    margin: 0 0 0 10px;
}

.reserve-main .reserve.finish {
    padding-top: 50px;
}

button.btn-radius-solid,
button.reselect_btn {
    font-size: 16px;
    margin: 5px 6px 5px 0;
}

/**
 * カスタマイズ入力箇所_ダウンロード_CSS
 */

.box_download .box_ul {
    display: block;
    justify-content: space-between;
    padding-left: 0;
}

.box_download .box_ul .box_li {
    width: 100%;
    margin: 10px 0;
}


/* End of file sp.css */


/* Location: ./public/css/sp.css */