@charset "utf-8";
/*--------------------------------------
	copyright : yuyu design.
--------------------------------------*/

@import url(reset.css);
@import url(common.css);
@import url(page_common.css);
@import url(../libs/fontawesome/css/all.min.css);
@import url(../libs/aos/aos.css);
/* @import url(../libs/OwlCarousel/assets/owl.carousel.min.css); @import url(../libs/OwlCarousel/assets/owl.theme.default.min.css); */
/* @import url(../libs/lightGallery/css/lightgallery.min.css); */
/* @import url(../libs/Remodal/remodal.css); @import url(../libs/Remodal/remodal-default-theme.css); */


/*
 バレンタインキャンペーン
==============================*/
.reserve {
	background: #fff;
}
.reserve #contact {
	background: #fff;
    max-width: 960px;
    margin: 0 auto;
    color: #333;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "游ゴシック Medium", meiryo, sans-serif;
    line-height: 1.7;
    letter-spacing: 0.1em;
    word-spacing: 0.1em;
    -webkit-text-size-adjust: 100%;
    font-size: 16px;
}
.reserve #contact {
    padding: 30px 10px
}

.reserve #contact h2 {
    font-size: 20px
}

.reserve #contact h3 {
    font-size: 16px;
    font-weight: bold
}

.reserve #contact .list {
    font-size: 12px;
    margin-bottom: 2em
}

.reserve #contact .list li:before {
    top: .5em
}

.reserve #contact .red {
    color: #e00
}

.reserve #contact table {
    display: block;
    border-bottom: 1px solid #ddd;
    margin-bottom: 20px
}

.reserve #contact table tbody,.reserve #contact table tr,.reserve #contact table th,.reserve #contact table td {
    display: block
}

.reserve #contact table th {
    padding: 10px 0;
    width: auto;
    border-top: 1px solid #ddd
}

.reserve #contact table td {
    padding: 0 0 10px
}

.reserve #contact table .list-kome {
    font-size: 12px
}

.reserve #contact table .select_day {
    overflow: hidden;
    margin-block: 20px;
}

.reserve #contact table .select_day dt {
    float: left;
    clear: left;
    margin-top: 10px;
    padding-top: 1em
}

.reserve #contact table .select_day dd {
    margin-top: 10px;
    margin-left: 6em
}

.reserve #contact table .select_day dd .level1 {
    width: 48%
}

.reserve #contact table .mwform-checkbox-field label {
    display: block;
    padding: 10px 0
}

.reserve #contact strong {
    display: inline-block;
    margin: 0 2px;
    padding: 0 5px;
    background: #e50012;
    color: #fff;
    font-weight: normal;
    font-size: 75%;
    border-radius: 6px
}

.reserve #contact input,.reserve #contact textarea,.reserve #contact select {
    background-color: #fff;
    padding: 14px 10px;
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: 6px;
    box-sizing: border-box
}

.reserve #contact input.required,.reserve #contact textarea.required,.reserve #contact select.required {
    background: #ffe6e6
}

.reserve #contact select {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button
}

.reserve #contact .error_messe {
    color: #e00;
    text-align: center;
    font-weight: bold
}

.reserve #contact .level0 {
    min-height: 30px
}

.reserve #contact .level1,.reserve #contact .level2 {
    width: 30%;
    min-height: 30px
}

.reserve #contact .level3,.reserve #contact .level4 {
    width: 100%;
    min-height: 30px
}

.reserve #contact .p-region {
    margin-top: 10px
}

.reserve #contact #cOpinions {
    width: 100%
}

.reserve #contact .caution {
    display: block
}

.reserve #contact .cButton {
    cursor: pointer;
    padding: 15px;
    border: 1px solid #666;
    background: #fff;
    color: #666;
    min-width: 200px
}

.reserve #contact #transmissionFailure {
    text-align: center
}

.reserve #contact .conf_box {
    border: 1px solid #aaa;
    margin: 2em 0
}

.reserve #contact .conf_box dt {
    background: #666;
    padding: 6px 1em;
    color: #fff
}

.reserve #contact .conf_box dd {
    height: 350px;
    overflow: auto;
    font-size: 12px;
    letter-spacing: normal;
    line-height: 1.4
}

.reserve #contact .conf_box ul {
    list-style: disc;
    padding-left: 1em;
    margin: 1em
}

.reserve #contact .conf_box ul li {
    margin-top: .5em
}

.reserve #contact .conf_box ul li:first-child {
    margin-top: 0
}

.reserve #contact .mw_wp_form_preview table .select_day dt {
    padding-top: 0
}

@media screen and (min-width: 737px), print {
    .reserve #contact {
        width:960px;
        margin: 0 auto;
        padding: 60px 0
    }

    .reserve #contact h2 {
        font-size: 30px
    }

    .reserve #contact h3 {
        margin-top: 2em
    }

    .reserve #contact table {
        display: table;
        text-align: left;
        width: 100%;
        border-collapse: collapse;
        box-sizing: border-box;
        border-left: 1px solid #ddd;
        border-right: 1px solid #ddd
    }

    .reserve #contact table tbody {
        display: table-row-group
    }

    .reserve #contact table tr {
        display: table-row
    }

    .reserve #contact table th {
        display: table-cell;
        padding: 1.5em;
        width: 30%;
        vertical-align: top
    }

    .reserve #contact table td {
        display: table-cell;
        padding: 1.5em;
        border-top: 1px solid #ddd
    }

    .reserve #contact table .mwform-checkbox-field label {
        padding: 0
    }

    .reserve #contact .level1 {
        width: 25%
    }

    .reserve #contact .level2 {
        width: 50%
    }

    .reserve #contact .level3 {
        width: 75%
    }

    .reserve #contact .level4 {
        width: 100%
    }

    .reserve #contact .caution {
        display: inline
    }

    .reserve #contact .cButton {
        padding: 10px
    }

    .reserve #contact .conf_box dd {
        height: 300px
    }
}
.aC {
    text-align: center;
}



/* 以下、reserve.cssより */

.reserve #contact {
    padding-top: 15px;
    padding-bottom: 15px;
}

/* 入力項目 */

/* 文字サイズの調整 */

.reserve #contact .list {
    font-size: 14px;
}

ul.list li:before {
    display: none;
}

.reserve #contact table .list-kome {
    font-size: 14px;
}


.reserve #contact input, .reserve #contact textarea, .reserve #contact select {
    background: white;
    font-size: 16px;
}

.reserve #contact label input[type=radio] + span {
    font-size: 16px;
    position: relative;
    padding-left: 30px;
}
.reserve #contact label  input[type=radio] + span:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    border: solid 1px #707070;
    border-radius: 100px;

}
.reserve #contact label input[type=radio]:checked + span:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 4px;
    transform: translateY(-50%);
    background: #0093FF;
    border-radius: 100px;
    width: 10px;
    height: 10px;
}

.reserve #contact input.required, .reserve #contact textarea.required, .reserve #contact select.required {
    background: white;
}

/* 入力欄付近の横線 */
.reserve #contact table tr {
    border-top: 1px solid #ddd;
}
.reserve #contact table th {
    font-weight: 600;
}
@media screen and (max-width: 767px) {
    .reserve #contact table tr {
        border: none;
    }
    .reserve #contact table th  {
        border: none;
        font-size: 16px;
    }
    
}

/* 最初の注意文言 */
.reserve #contact .red {
    color: #AC2222;
}

/* 選択欄のborderとinputを丸く */

.mw_wp_form .horizontal-item + .horizontal-item {
     margin-left: 0px; 
}

.reserve .mw_wp_form span.mwform-radio-field.horizontal-item > label{
    border: solid 1px #B7B7B7;
    border-radius: 5px;
    height:48px;
    display: flex;
    align-items: center;
    margin-left: 0;
    margin-bottom: min(15px,3vw);
    padding-left:20px;
}
@media screen and (max-width: 767px) {
    .reserve .mw_wp_form span.mwform-radio-field.horizontal-item > label{
        padding-left:10px;
    }
}

.reserve .mw_wp_form span.mwform-radio-field.horizontal-item > label:hover .mwform-radio-field-text{
    opacity:0.7;
}

.reserve .mw_wp_form .mwform-radio-field-text {
    margin-left:10px;
    display: inline-block;
    transition: opacity 0.5s;
}

.reserve #contact input.circleCheckBox {
    margin-left: 14px;
    position: relative;
}

/* セレクトのエラー時 */
.reserve #contact .selectWrapper.onError{
    margin-bottom:20px;
}

.reserve #contact .selectWrapper .error{
    position: absolute;
    font-weight: normal;
}

/* 日付入力の並び */

.reserve #contact table .select_day dt {
    width: 100%;
    font-weight: 600;
}
@media screen and (max-width: 767px) {
    .reserve #contact table {
        border: none;
    }
    .reserve #contact table .select_day dt {
        margin-top:0 ;
    }
    .reserve #contact .select_day > dt:first-child {
        padding-top: 0;

    }
    
}
#contact label {
    font-weight: 600;
}

.reserve #contact table .select_day dd {
    display: flex;
    width: 100%;
    margin: 0;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
}

.reserve #contact table .select_day dd .level1 {
    width: calc(100% - 200px);
}

.reserve #contact table .select_day dd .selectWrapper {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: stretch;
}

@media (max-width:333px) {
    .reserve #contact table .select_day dd {
        flex-direction: column;
    }

    .reserve #contact table .select_day dd .level1 {
        margin-top:15px;
        width:100%;
    }

    .reserve #contact table .select_day dd .selectWrapper {
        margin-top:15px;
        width:100%;
    }
}

@media (min-width:450px) {
    .reserve #contact table .select_day dd .level1 {
        width:48%;
    }

    .reserve #contact table .select_day dd .selectWrapper {
        width:48%;
    }
}

/* 未入力時の */
.reserve #contact table .select_day dd .error{
    order:3;
    width:98%;
}

@media (max-width:333px) {
    .reserve #contact table .select_day dd .error{
        order:unset;
        width:98%;
    }
}

/* 時間入力の右の装飾 */

.reserve #contact .selectWrapper {
    position: relative;
    width: fit-content;
    border: solid 1px #B7B7B7;
    border-radius: 5px;
    display: block;
}

.reserve #contact .selectWrapper:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 48px;
    background: #B7B7B7;
    pointer-events: none;
}

.reserve #contact .selectWrapper:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 25px;
    height: 12px;
    width:14px;
    transform: translate(50%,-50%);
    background: url("../img/campaign/arw.png");
    background-size: contain;
    pointer-events: none;
}

.reserve #contact .selectWrapper select {
    height: 100%;
    width: 100%;
    border: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding-right:58px;
}
/* fvの下側の余白を小さく */
.reserve #contact {
    padding: 15px 20px 30px 20px;
}

/* 注意事項
.reserve #contact .conf_box ul {
    padding:0;
    margin-right:0;
    margin-left: 20px;
}

.reserve #contact .conf_box ul .sp_disc{
    display: none;
}

@media (max-width:500px) {
    .reserve #contact .conf_box ul li{
        display: inline;
    }

    .reserve #contact .conf_box ul {
        margin-left: 0;
    }

    .reserve #contact .conf_box ul .sp_disc{
        display: inline;
    }
} */

.reserve #contact .conf_box {
    border:none;
}

.reserve #contact .conf_box dd{
    height:unset;
}

/* プライバシーポリシーに同意 */
.reserve #contact .agreement{
    margin:20px 0 20px 0;
}

@media screen and (max-width: 767px) {
    .reserve #contact .agreement{
        text-align: left;
    }
    
}

.reserve #contact .aC {
    padding:15px 0 20px;
}

/* 確認画面へ */


@media screen and (min-width: 737px), print{
.reserve #contact table .mwform-checkbox-field label {
    padding: 10px 0;
}
}

.reserve #contact .conf_box dt {
    background-color: #333;
    font-size: 16px;
}

.agreement a {
    color: #0093FF;
}
.selectWrapper--salon {
    min-width: 200px;
}

.reserve #contact strong {
    background-color: #AC2222;
}





.reserve #contact .button_box {
    text-align: center;
}
.reserve #contact .button_wrap{
    width:fit-content;
    display: inline-block;
    margin: 5px 10px;
    position: relative;
}
.reserve #contact .button_wrap_confirm::after,
.reserve #contact .button_wrap_submit::after {
    content:"";
    background: url("../img/campaign/verify_arw.png");
    background-size: contain;
    height: 22px;
    width:22px;
    display: inline-block;
    position: absolute;
    top:50%;
    right:27px;
    transform: translate(0,-50%);
}
.reserve #contact .button_wrap_back::after {
    content: "";
    background: url("../img/campaign/verify_arw.png");
    background-size: contain;
    height: 22px;
    width: 22px;
    display: inline-block;
    position: absolute;
    top: 50%;
    right: inherit;
    left: 27px;
    transform: translate(0, -50%) scale(-1, 1);
}
.reserve #contact .btn_confirm,
.reserve #contact .btn,
.reserve #contact .btn_submit {
    cursor: pointer;
}
.reserve #contact .btn_confirm,
.reserve #contact .btn_submit {
    padding: 15px;
    border: none;
    border-radius: 30px;
    background: #0093FF;
    color: white;
    position:relative;
    transition: all 0.2s;
    width: 200px;
    font-size: 16px;
}
.reserve #contact .btn {
    padding: 15px;
    border: none;
    border-radius: 30px;
    background: #ccc;
    color: white;
    position:relative;
    transition: all 0.2s;
    width: 200px;
    font-size: 16px;
}
.reserve #contact .btn_confirm:hover,
.reserve #contact .btn:hover,
.reserve #contact .btn_submit:hover {
    opacity: 0.7;
}
.reserve.newyear #contact .button_wrap_back,
.reserve.newyear #contact .button_wrap_submit {
    display: none;
}
.reserve.conf #contact .button_wrap_confirm {
    display: none;
}


.ui-widget.ui-widget-content {
    font-size: 16px;
}


.reserve.conf #contact .selectWrapper {
    position: static;
    width: auto;
    border: none;
    border-radius: 0;
    font-weight: normal;
}
.reserve.conf #contact .selectWrapper::before,
.reserve.conf #contact .selectWrapper::after {
    display: none;
}
.reserve.conf #contact table .select_day dd {
    justify-content: flex-start;
    gap: 30px;
}


@media screen and (max-width: 767px) {
    .reserve #contact {
        font-size: 14px;
    }
    .reserve #contact table th {
        text-align: left;
    }
    .reserve.conf #contact table th {
        border-top: 1px solid #ddd;
    }
}

/* jQuery UI Datepicker が他要素に埋もれないようにする */
#ui-datepicker-div,
.ui-datepicker {
  z-index: 999999 !important;
  pointer-events: all;
}
