@charset "UTF-8";

.center {
    text-align: center;
}

/***** reservation CSS *****/
.reservation {
    font-family: 'Noto Serif JP', serif;
}
.reservation-inner {
    max-width: 960px;
    width: 100%;
    margin: 0 auto;
}

.reservation main {
    margin-top: 80px;
}

.reservation h1 {
    color: var(--mint-blue);
    font-size: 3em;
    font-weight: normal;
    text-align: center;
    margin-top: 30px;
    margin-bottom: 100px;
}

/** カラム1 **/
.column01 {
    margin-bottom: 40px;
}
/* .step1（一つ目のフォーム） */
.step1 > p {
    font-weight: bold;
    line-height: 2em;
    border-left: 5px solid var(--brown);
    margin-bottom: 10px;
    padding-left: 10px;
    background-color: #fff;
    line-height: 2.5em;
}

.step1 p:not(:first-of-type) {
    margin-top: 40px;
}
.step1 p.stay_msg {
    border: none;
    background: none;
    color: red;
    margin-top: 0;
}

.step1 div p {
    font-weight: normal;
}
.step1 label {
    margin-bottom: .5rem;
    margin-left: 15px;
    cursor: pointer;
}
.step1 label input, .step2 label input {
    margin-left: 5px;
    margin-right: 5px;
}
.step1 #adult, #child {
    width: 50px;
    text-align: right;
}
.rate {
    border-top: 1px solid;
    margin-bottom: 30px;
}
.step1 .rate p {
    border: none;
    background: none;
    margin-top: 0;
    text-align: right;
}
.step1 .rate p:last-of-type{
    color: #ff341f;
}



.reservation table {
    width: 100%;
    background: #fff;

}
.reservation caption{
    caption-side: top;
    line-height: 1.5em;
    font-size: 2em;
    text-align: center;
    width: 100%;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
    background: #fff;
}
.reservation caption span {
    font-size: .5em;
    margin: 5px;
}
.reservation th,
.reservation td {
    border: 1px solid #ccc;
    text-align: center;
    line-height: 1.5em;
/*            padding-bottom: 2em;*/
}
.vacant {
    display: block;
}

/*
.today {
    background: ;
}
.last-month, .next-month {
    color: #aaa;
}
*/

.selected{background: #fffaab;}
/* .step2（二つ目のフォーム） */
/*
.step2 {
    width: 80%;
    margin: 0 auto;
}
.step2 > p {
    text-align: center;
    margin-top: 35px;
    margin-bottom: 6px;
}
.agree_btn label[for="agree"] {
    text-align: center;
    display: inherit;
    margin-left: -15px;
    margin-top: 10px;
    cursor: pointer;
}
*/
.agree_btn div {
    min-height: 100px;
    max-height: 200px;
    overflow-y: scroll;
    background-color: rgba(255,255,255,.6);
    padding: 10px 17px;
    font-size: .8em;
}
input[type="submit"] {
    display: block;
    margin: 0 auto 15px auto;
    padding: 6px 30px;
    border-radius: 6px;
    background-color: var(--beige);
    border: 1px solid #555;
    box-shadow: 2px 2px 6px rgba(0,0,0,.5);
    color: var(--mint-blue);
    font-weight: bold;
    font-size: 1.15em;
}
input[type="submit"]:hover {
    background-color: var(--light-red);
    color: #fff;
}

/* フレックス */
.flex-container {
    display: flex;
    justify-content: space-between;
    list-style-type: none;
}
.flex-item {
    width: 47%;
}

/***** customer CSS *****/

/* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓お客様情報入力（customer.php）↓↓↓↓↓↓↓↓↓↓↓↓↓
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
.customer main, .confirm main {
    display: grid;
}
.customer article, .confirm article {
    width: 600px;
    margin: 80px auto 0 auto;
}
.customer p.center, .confirm p.center {
    padding-bottom: 50px;
}
.customer label, .customer input[type="text"], .customer input[type="email"], .customer textarea {
    width: 100%;
}
.customer p {
    padding-top: 20px;
    padding-bottom: 20px;
}
.agree_btn span {
    display: block;
    margin-top: .5em;
}
.confirm table {
    width: 100%;
/*    background-color: var(--brown);*/
/*    border: 4px double var(--brown);*/
    margin: 2em 0;
}
.confirm table caption {
    caption-side: top;
    font-size: 1.5em;
    color: inherit;
}
.confirm table tr {
    line-height: 2em;
    background-color: #fff;
}
.confirm table tr th, .confirm table tr td {
    border: 1px solid #555;
    padding-top: 4px;
}
.confirm table tr th {
    width: 30%;
    text-align: center;
}
.confirm table tr td {
    text-indent: 1em;
}
.customer input[type="submit"], .confirm input[type="submit"] {
    display: inline-block;
}
.customer input[type="button"], .confirm input[type="button"] {
    padding: 2px 12px;
    border-radius: 6px;
    background-color: #fff;
    border: 1px solid #555;
    box-shadow: 2px 2px 6px rgba(0,0,0,.5);
    font-size: 1.15em;
}





@media (max-width: 999px) {
    .reservation .reservation-inner {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media (max-width:767px) {
    .flex-container {
        display: inherit;
    }
    .flex-item {
        width: 100%;
    }
    
    /***** customer CSS *****/
    .customer article, .confirm article {
        width: 100%;
    }
    .agree_btn div {
        padding: 0;
    }
        
}