/**********************
Form Set start
***********************/
/* reset */
.theme_plane ul.radio_list,
.theme_plane ol.radio_list{
    padding: 0;
}

/* config */
input:valid{
    /* バリデーションに成功したコンテンツを持つ要素 */
    background: #E9FFF8;
}
input:valid + .error-message{
    display: none;
}
input:invalid{
    /* バリデーションに失敗したコンテンツを持つ要素 */
    background: #FFECEC;
}
.error-message {
    font-size: 12px;
    color: #ff7676;
    display: none;
}
input:invalid + .error-message {
    display: block;
}
input[type=checkbox]{
    margin:0 1em 0 0;
}
.form li{
    display: inline-block;
}
.radio_list{
    display: inline-block;
    text-align: left;
    padding: 0;
    margin: 0 0 0.5em 0;
}
.radio_list li{
    margin: 0 0.5em;
}
.radio_list input[type=radio]{
    margin: 0 0.5em 0 0;
}
.form dd{margin: 0 0 10px 0}
.form select {
    font-size: var(--d-font-size);
    border: solid 1px #CCCCCC;
    padding: 1em;
    line-height: 150%;
    margin: 0;
    width: 100%;
    border-radius: 4px;
    color: var(--d-color);
}
.form input[type=text],
.form input[type=email],
.form input[type=tel],
.form input[type=password],
.form input[type=date]{
    border: solid 1px #CCCCCC;
    padding: 0.5em;
    width: 100%;
    border-radius: 4px;
    box-sizing: border-box;
}
.form input[type=text].half {
    width: 49%;
    display: inline-block;
    box-sizing: border-box;
}
.button_list {
    text-align: center;
    padding: 2em 4em;
}
.button_list li {
    display: inline-block;
    font-size: var(--d-font-size);
}
.button_list li input{
    cursor: pointer;
    font-size: var(--d-font-size);
    text-decoration: none;
    display: block;
    padding: 1rem;
    background: var(--d-brand-color);
    border: none;
    border-radius: 40px;
    color: #FFFFFF;
    transition: all 0.3s;
}
.button_list li input.hidden{
    display: none;
}
.button_list .reset{
    background: var(--d-brand-sub-color);
}
.button_list li a:hover{
    text-decoration: none;
    color: #C9F6F5;
    background: var(--d-brand-color-deep-1);
}
.form textarea{
    border: solid 1px #CCCCCC;
    border-radius: 4px;
    padding: 6px;
    width: 100%;
}
.required{
    color: #b03e00;
    margin: 0 0 0 0.3em;
}

/* event menu list start */
.menu_list{
    width: 80%;
    margin: 0 auto;
}
.menu_list li{
    display: block;
}
.menu_list li img{
    margin: 0 1em 0 0;
}
.menu_list p{
    display: flex;
    align-items: center;
}
.menu_list li label{
    display: flex;
    align-items: baseline;
}

.menu_list li input[type=checkbox] {
    transform: scale(1.5);
    margin:0 1em 0 0;
    font-style: normal;
}

.menu_list li span.name{
    width: 12em;
    display: inline-block;
    font-size: var(--d-font-size);
}

.menu_list li span.time{
    width: 2.5em;
    display: inline-block;
    font-size: var(--d-font-size-1);
    font-family: var(--font-f-en);
    text-align: right;
}
.menu_list li span.price{
    width: 3.5em;
    display: inline-block;
    text-align: right;
    font-size: var(--d-font-size-1);
    font-family: var(--font-f-en);
}
/* event menu list start */

/* over ride start */
.booking_box ul.worries_list{
    margin: 0;
}
/* over ride end */
.worries_list{
    display: flex;
    align-items: baseline;
}
.worries_list:before{
    content: 'こんな方におすすめ';
    font-size: var(--d-font-size-min-4);
    border: var(--d-color-thin-3) solid 1px;
    border-radius: 1em;
    padding: 0 0.65em;
    color: var(--d-color-thin-1);
    margin-right: 1em;
}
.worries_list li{
    margin: 0 0.5em 0 0;
}
.worries_list li:last-child{
    margin: 0;
}
.menu_sku_list{
    padding: 0 0 0 3em;
    margin-bottom: 2em;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.menu_sku_list dt{
    font-size: var(--d-font-size);
    color: var(--d-brand-color-deep-1);
}
.menu_sku_list input[type=radio]{
    width: 16px;
    height: 16px;
    vertical-align: middle;
    margin: 0 0.3em 0 0;
}
.menu_sku_list dd{
    padding: 0 0 0 1em;
    margin: 0 0 1em auto;
    width: 60%;
}
.menu_sku_list dd .text_box{
    margin: 0 0 0.5em 0;
}
.menu_sku_list dd .text_box p{
    font-size: var(--d-font-size-min-1);
    line-height: 1.6;
}
.menu_sku_list dd ul{
}
.menu_sku_list dd li{
    font-size: var(--d-font-size-min-1);
}

.form_btn_wrap{
    border: solid 1px var(--d-brand-color-thin-3);
    padding: 0.3em 1em;
    display: inline-block;
    border-radius: 30px;
    margin-bottom: 0.5em;
}
.form_btn_wrap .min-text{
    font-size: var(--d-font-size-min-3);
}
.form_btn_wrap:hover{
    border: solid 1px var(--d-brand-color);
    cursor: pointer;
    color: #FFFFFF;
    background-color: var(--d-brand-color);
}
.form_btn_wrap label:hover{
    cursor: pointer;
}
.form.login{
    width: 300px;
    margin: 0 auto 3em;
    padding: 2em 1.5em 1em 1.5em;
    background: white;
    border: solid 1px #eee;
    border-radius: 5px;
}
.form.login .button_wrap{
    margin:0 0 1.5em 0;
}
.form.login dt{
    color:var(--d-color-thin-0);
    font-size: var(--d-font-size-min-0);
}
.button_wrap{
    display: flex;
    justify-content: center;
}
input.submit_btn{
    background: var(--d-brand-color);
    padding: 0.5em 1em;
    border-radius:  30px;
    border: none;
    font-size: var(--d-font-size);
    color: #FFFFFF;
}
input.submit_btn:hover{
    color: #FFFFFF;
    background: var(--d-brand-color-deep-1);
    text-decoration: none;
    -webkit-transition: .2s ease;
    transition: .2s ease;
    cursor: pointer;
}
.login_other_link{
    margin:0;
    list-style-type: none;
    background: var(--d-contents-background-color);
    padding:0.5em 1em;
    border-radius:5px;
}
.login_other_link li{
    font-size: var(--d-font-size-min-1);
}
/* over write */
.theme_plane ul.login_other_link{
    padding:0.75em 1em;
    margin:0;
}
.form .login_other_link li{
    display: block;
}
.input{
    width:40%;
    margin:2em auto;
}
.input input{
    border: solid 1px #CCCCCC;
    padding: 0.5em;
    width: 100%;
    border-radius: 4px;
    box-sizing: border-box;
    text-align: center;
    font-size: var(--d-font-size);
}
/* attention start */
.attention{
    border: solid 1px #FFECEC;
    border-radius: 4px;
    padding: 1em;
    margin: 3em 0 0 0;
    background-color: white;
}
.attention p,li{
    font-size: var(--d-font-size-min-1);
}
.attention .check_list{
    margin: 1em;
}
.attention li{
    list-style-type: disc;
    display: list-item;
    color: #b03e00;
}
.attention .title{
    font-size: var(--d-font-size-1);
}
/* attention end */
.form h3.h3{
    font-size: var(--d-font-size-3);
    font-weight: var(--d-font-weight);
    text-align: center;
    border-left:unset;
    position: unset;
    right:unset;
    margin:1em 0 0 0;
}
/* over write */
.theme_plane .form .ff-m{
    font-family: var(--font-f-mincho);
}
.theme_plane p.input{
    margin:2em auto;
}
.form .text_center_box{
    text-align: center;
}