@charset "utf-8";

/*-------------------p-reservation_form---------------------*/
span.wpcf7-list-item {
    display: inline-block;
}

.p-reservation_form {
    margin-top: 90px;
}

.p-reservation_form_ttl {
    font-size: 3.2rem;
    text-align: center;
}

.p-reservation_form:not(.form_) .p-reservation_form_input_table_block_rsv-select {}

.p-reservation_form_input_table {
    margin-top: 10px;
    padding: 24px 52px;
    background: #f4f4f4;
    border-top: 10px solid #c3b69e;
}

.p-reservation_form_input_table_block {
    justify-content: space-between;
    align-items: center;
    padding: 13px 0;
}

.p-reservation_form_input_table_block_consult,
.p-reservation_form_input_table_block_ope {
    display: none;
}

.p-reservation_form_input_table_block_q {
    position: relative;
    width: 32%;
    padding-right: 70px;
    font-size: 1.6rem;
    line-height: 1.4;
    font-weight: bold;
}

.p-reservation_form_input_table_block_q_consult {
    align-self: stretch;
}

.p-reservation_form_input_table_block_q_consult .p-reservation_form_input_table_block_ind {
    top: 0;
    transform: translateY(0);
}
.p-reservation_form_input_table_block_consult,
.p-reservation_form_input_table_block_ope{
    display: none;
}
.p-reservation_form_input_table_block_q_date {
    margin-bottom: 20px;
}

.p-reservation_form_input_table_block_q_date .p-reservation_form_input_table_block_ind {
    top: -22px;
    transform: translateY(0);
}

.p-reservation_form_input_table_block_q_date .p-reservation_form_input_table_block_any {
    top: auto;
    bottom: -42px;
    transform: translateY(0);
}

.p-reservation_form_input_table_block_a {
    position: relative;
    width: 62%;
    padding-left: 0;
}

.p-reservation_form_input_table_block_a label {
    display: flex;
    align-items: center;
    cursor: pointer;
}

.p-reservation_form_input_table_block_a label span {
    font-feature-settings: "palt";
    letter-spacing: 1px;
    font-weight: 500;
    font-size: 1.25rem;
}

.p-reservation_form_input_table_block_a input,
.p-reservation_form_input_table_block_a select,
.p-reservation_form_input_table_block_a textarea {
    width: 100%;
    padding: 15px;
    border-radius: 5px;
    font-size: 1.8rem;
}

.p-reservation_form_input_table_block_a select {
    padding: 12px 15px;
    background: #fff;
}

.p-reservation_form_input_table_block_a input[type="checkbox"] {
    flex-basis: 20px;
    height: 20px;
    flex-shrink: 0;
    padding: 0;
    margin-right: 10px;
    background: #fff;
    border-radius: 3px;
    border: 2px solid #c7c7c7;
}

.p-reservation_form_input_table_block_a input[type="checkbox"]:checked {
    background: url('/wp-content/themes/taclinic/assets/images/reservation/check.svg') #b39258 center/12px no-repeat;
    border-color: #b39258;
}

.p-reservation_form_input_table_block_a input[type="radio"] {
    flex-basis: 20px;
    height: 20px;
    flex-shrink: 0;
    padding: 0;
    background: #fff;
    border-radius: 50%;
    border: 2px solid #c7c7c7;
    margin-right: 6px;
}

.p-reservation_form_input_table_block_a input[type="radio"]:checked {
    background: url('/wp-content/themes/taclinic/assets/images/reservation/check_radio.svg') center/8px no-repeat;
}

.p-reservation_form_input_table_block_a_select {
    position: relative;
}

.p-reservation_form_input_table_block_a_select::after {
    content: "";
    position: absolute;
    right: 20px;
    top: 24px;
    width: 0;
    height: 0;
    border: 6px solid transparent;
    border-top: 7px solid #252525;
}

.p-reservation_form_input_table_block_a_consult .wpcf7-list-item {
    display: block;
    float: left;
    width: 48%;
    height: 26px;
    margin: 0 2% 6px 0;
    font-size: 1.4rem;
}
.p-reservation_form_input_table_block_ope .wpcf7-list-item{
    display:block;
    width:100%;
    margin-bottom: 8px;
}
.p-reservation_form_input_table_block_ind {
    position: absolute;
    top: 50%;
    left: -72px;
    font-weight: normal;
    transform: translateY(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 56px;
    font-weight: normal;
    height: 28px;
    background: #966b20;
    border-radius: 8px;
    font-size: 1.4rem;
    color: #fff;
    transition: all 0.3s ease;
}

.p-reservation_form_input_table_block_ind.is-ok {
    background: #2275dc;
    transition: all 0.3s ease;
}

.p-reservation_form_input_table_block_any {
    position: absolute;
    top: 50%;
    left: -72px;
    font-weight: normal;
    transform: translateY(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 56px;
    font-weight: normal;
    height: 28px;
    background: #757575;
    border-radius: 8px;
    font-size: 1.4rem;
    color: #fff;
}

.p-reservation_form_input_table_block_any.is-ok {
    background: #479bc5;
}

.p-reservation_form_input_table_block_sup {
    display: block;
    margin-top: 2px;
    font-size: 1.2rem;
    text-align: left;
}

.p-reservation_form_input_table_block_date {
    position: relative;
}

.p-reservation_form_input_table_block_date .reserve1,
.p-reservation_form_input_table_block_date .reserve2,
.p-reservation_form_input_table_block_date .reserve3 {
    display: inline-block;
    width: 50%;
    margin: 0 10px 0 24px;
}

.p-reservation_form_input_table_block_date .reserve1 input,
.p-reservation_form_input_table_block_date .reserve2 input,
.p-reservation_form_input_table_block_date .reserve3 input {
    cursor: pointer;
}

.p-reservation_form_input_table_block_date .reserve_time1,
.p-reservation_form_input_table_block_date .reserve_time2,
.p-reservation_form_input_table_block_date .reserve_time3 {
    display: inline-block;
    width: 31.2%;
}

.p-reservation_form_input_table_block_date .reserve_time1 select,
.p-reservation_form_input_table_block_date .reserve_time2 select,
.p-reservation_form_input_table_block_date .reserve_time3 select {
    height: 51px;
    background: url('/wp-content/themes/taclinic/assets/images/reservation/icn_time.svg') #fff center right 10px/20px no-repeat;
    cursor: pointer;
}

.p-reservation_form_input_table_block_date .reserve_time1.is-disabled select,
.p-reservation_form_input_table_block_date .reserve_time2.is-disabled select,
.p-reservation_form_input_table_block_date .reserve_time3.is-disabled select {
    color: #d9d9d9;
    background: url('/wp-content/themes/taclinic/assets/images/reservation/icn_time_disabled.svg') #c2c2c2 center right 10px/20px no-repeat;
}

.p-reservation_form_input_table_error.c-pink {
    display: none;
    position: absolute;
    bottom: -41px;
    background-color: #ffc5c5;
    padding: 10px 12px;
    border-radius: 5px;
    font-size: 14px;
    z-index: 2;
    color: #111;
}

.p-reservation_form_input_table_submit input {
    margin: 40px auto;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 5px;
    width: 224px;
    height: 50px;
    background: #ac9977;
    color: #fff;
    border-radius: 60px;
    font-size: 2.1rem;
    cursor: pointer;
    transition: all 0.6s ease;
}

.p-reservation_form_input_table_submit input:hover {
    opacity: 0.6;
    transition: all 0.6s ease;
}

.p-reservation_form_input_table_submit input.is-disabled {
    background: #757575;
    cursor: none;
    pointer-events: none;
}

.p-reservation_form_submit_error {
    display: none;
    margin-top: 30px;
    text-align: center;
}

.access_modal_btn {
    display: none;
}

.p-reservation_form_input_table_block_a .your-age input[name=your-age] {
    width: 50%;
}

@media screen and (max-width: 1120px) {
    .p-reservation_form {
        margin-top: 10vw;
    }

    .p-reservation_form h3 {
        font-size: 2.5rem;
        padding: 30px 0 10px;
    }

    .p-reservation_form_ttl {
        font-size: 5.8vw;
    }

    .p-reservation_form_input_table {
        margin-top: 6vw;
        padding: 4vw;
    }

    .p-reservation_form_input_table_block {
        flex-direction: column;
        border-bottom: 1px solid #d2d2d2;
        padding: 19px 0px;
    }

    .p-reservation_form_input_table_block:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }

    .p-reservation_form_input_table_block_q {
        width: 100%;
        font-size: 1.8rem;
    }

    .p-reservation_form_input_table_block_q_consult {
        padding-bottom: 10px;
    }

    .p-reservation_form_input_table_block_q_date {
        margin-bottom: 20px;
    }

    .p-reservation_form_input_table_block_q_date .p-reservation_form_input_table_block_ind {
        top: 36px;
    }

    .p-reservation_form_input_table_block_q_date .p-reservation_form_input_table_block_any {
        bottom: -204px;
    }

    .p-reservation_form_input_table_block_a {
        width: 100%;
        margin-top: 10px;
        padding: 0;
    }

    .p-reservation_form_input_table_block_a .wpcf7-list-item {
        width: 50%;
        margin: 0 0 14px 0;
    }
    .p-reservation_form_input_table_block_ope .wpcf7-list-item{
        width: 100%;
    }

    .p-reservation_form_input_table_block_a_consult .wpcf7-list-item {
        font-size: 3.6vw;
        line-height: 1.4;
    }

    .p-reservation_form_input_table_block_a_consult .wpcf7-list-item:nth-child(even) {
        width: 50%;
    }

    .p-reservation_form_input_table_block_a input[type="checkbox"] {
        margin: 2px 6px 0 0;
    }

    .p-reservation_form_input_table_block_ind {
        width: 46px;
        height: 24px;
        left: auto;
        right: 0;
        top: -24px;
        padding: 3px 10px;
        border-radius: 5px;        
        font-weight: normal;
        font-size: 13px;
        line-height: 1;
    }

    .p-reservation_form_input_table_block_any {
        width: 46px;
        height: 24px;
        left: auto;
        right: 0;
        top: -24px;
        padding: 3px 10px;
        border-radius: 5px;
        font-weight: normal;
        font-size: 13px;
        line-height: 1;
    }

    .p-reservation_form_input_table_block_sup {
        display: inline-block;
    }

    .p-reservation_form_input_table_block_date .reserve1,
    .p-reservation_form_input_table_block_date .reserve2,
    .p-reservation_form_input_table_block_date .reserve3 {
        display: block;
        width: 100%;
        margin: 10px 0 0 0;
    }

    .p-reservation_form_input_table_block_date .reserve_time1,
    .p-reservation_form_input_table_block_date .reserve_time2,
    .p-reservation_form_input_table_block_date .reserve_time3 {
        display: block;
        width: 100%;
        margin: 10px 0 0 0;
    }
}


/*-------------------p-reservation_hidden---------------------*/
.p-reservation_form {
    margin-top: 0;
}

.p-reservation_form h3 {
    font-size: 2.5rem;
    padding: 22px 0 8px;
    font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", HanaMinA;
    text-align: center;
    color: #2c2f34;
}

.p-reservation_hidden_mail_txt {
    display: none;
}

.p-reservation_hidden_mail_commerce {
    display: none;
}

.p-reservation_hidden_mail_caution {
    display: none;
}

/*-------------------/ad霑ｽ險伜�---------------------*/
.l-ad_reservation {
    max-width: 1100px;
    margin: 0 auto 100px;
}

input,
select,
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.l-ad_reservation.p-reservation_form .p-reservation_form_input_table_block_rsv-select {
    display: flex;
}

@media screen and (max-width: 1120px) {
    .l-ad_reservation.p-reservation_form .p-reservation_form_input_table_block_rsv-select {
        display: block;
    }
}

.p-reservation_form_input_table_block_q {
    box-sizing: border-box;
}

.p-reservation_form_input_table_block_ind,
.p-reservation_form_input_table_block_any {
    padding: 0;
}

.p-reservation_form_input_table_block_a input,
.p-reservation_form_input_table_block_a select,
.p-reservation_form_input_table_block_a textarea {
    border: none;
    box-sizing: border-box;
}

.p-reservation_form_input_table_submit input {
    border: none;
}

.p-reservation_form_input_table_block_date .reserve_time1 select,
.p-reservation_form_input_table_block_date .reserve_time2 select,
.p-reservation_form_input_table_block_date .reserve_time3 select {
    background-image: url('/wp-content/themes/taclinic/assets/images/reservation/icn_time.svg');
}

.p-reservation_form_input_table_block_date .reserve_time1.is-disabled select,
.p-reservation_form_input_table_block_date .reserve_time2.is-disabled select,
.p-reservation_form_input_table_block_date .reserve_time3.is-disabled select {
    background-image: url('/wp-content/themes/taclinic/assets/images/reservation/icn_time_disabled.svg');
}

.p-reservation_form_input_table_block_a input[type="checkbox"]:checked {
    background-image: url('/wp-content/themes/taclinic/assets/images/reservation/check.svg');
}

.p-reservation_form_input_table_block_a input[type="radio"]:checked {
    background-image: url('/wp-content/themes/taclinic/assets/images/reservation/check_radio.svg');
}

input:focus,
select:focus,
textarea:focus {
    outline: none;
}

.p-reservation_form_input_table_block_consult input[type="checkbox"] {
    display: none;
}

.p-reservation_form_input_table_block_consult label input[type="checkbox"] {
    display: block;
}

@media screen and (max-width: 768px) {
    .p-reservation_form h2 {
        padding: 16px 0;
        background: #e0d7c6;
    }

    .p-reservation_form_input_table {
        margin-top: 0;
        border: none;
    }
}

/*-------------------reservation_thanks---------------------*/
.o-mv_thx {
    padding: 0 0 100px;
}

@media (max-width: 999px) {
    .o-mv_thx {
        padding-bottom: 20vw;
    }

    .o-mv_thx h1 {
        display: none;
    }
}

.o-mv_thx_ttl {
    padding-top: 80px;
    font-size: 4.5rem;
    text-align: center;
    font-weight: bold;
}

.o-mv_thx_ttl_sub {
    margin-top: 20px;
    font-size: 1.8rem;
    text-align: center;
    letter-spacing: 0.1rem;
    font-weight: bold;
}

@media (max-width: 999px) {
    .o-mv_thx_ttl {
        padding-top: 20vw;
        font-size: 7vw;
    }

    .o-mv_thx_ttl_sub {
        font-size: 4vw;
    }
}

.o-reservation_thx_cont {
    background: #fff;
    padding: 80px 0;
}

@media (max-width: 999px) {
    .o-reservation_thx_cont {
        padding: 6vw 4vw 16vw;
    }
}

.o-reservation_thx {
    font-size: 1.6rem;
    line-height: 1.7;
    text-align: center;
}

.o-reservation_thx p+p {
    margin-top: 10px;
}

.o-reservation_thx_block {
    margin-top: 80px;
}

.o-reservation_thx_block_ttl {
    padding-bottom: 10px;
    border-bottom: 1px solid #272727;
    font-size: 2.8rem;
    text-align: left;
}

.o-reservation_thx_block_txt {
    margin-top: 20px;
}

.o-reservation_thx_block p {
    font-size: 1.6rem;
    line-height: 1.7;
}

.o-reservation_service_list_item_link_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 40px;
}

.o-reservation_service_list_item_link_list_item {
    flex-basis: 30%;
    margin-bottom: 20px;
}

.o-reservation_service_list_item_link_list::after {
    content: "";
    display: block;
    flex-basis: 30%;
}

.o-reservation_service_list_item_link_list a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 50px;
    padding: 0 40px;
    font-size: 1.6rem;
    font-weight: bold;
    border: 2px solid #454545;
    border-radius: 50px;
    color: #272727;
    text-decoration: none;
}

@media (max-width: 767px) {
    .o-reservation_thx_block {
        margin-top: 16vw;
    }

    .o-reservation_thx_block_ttl {
        font-size: 2.4rem;
    }

    .o-reservation_service_list_item_link_list {
        margin-top: 8vw;
        display: block;
    }
}
