#contact-form {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    padding: 15px;
}

#contact-form .input_error {
    color:#c00;
    margin: 16px;
    font-size: 14px;
}
#contact-form .input_error_title {
    font-size: 0.9em;
}
form.widget-webform-form,
form.widget-webform-form table,
form.widget-webform-form tbody,
form.widget-webform-form tr,
form.widget-webform-form th,
form.widget-webform-form td {
    width: 100%;
    display: block;
    font-weight: normal;
    font-size: 14px;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Kaku Gothic ProN", "游ゴシック Medium", Meiryo, "Open Sans", sans-serif;
    text-align: left;
}

form.widget-webform-form th {
    width: 100%;
    /* background: #F9F9F7; */
    padding: 10px 0;
    margin-top: 15px;

}
form.widget-webform-form td {
    padding: 0 10px;
    word-wrap : break-word;
}
form.widget-webform-form strong {
    color: #FFFFFF;
    background: #D19A8B;
    padding: 0 2.4px;
    font-size: 90%;
    display: inline-block;
    float: none;
    margin-left: 10px;
}
form.widget-webform-form .text-counter {
    display: none;
}
form.widget-webform-form select {
    color: #333;
    background: #fff;
    border: none;
    border-bottom: 1px solid #B6B6B6;
    margin-bottom: 10px;
    height: 30px;
    min-width: 50px;
}
form.widget-webform-form .select2-container {
    margin-bottom: 10px;
}
form.widget-webform-form input[type="text"],
form.widget-webform-form input[type="tel"],
form.widget-webform-form input[type="email"],
form.widget-webform-form textarea {
    background: #F9F9F7;
    border: none;
    border-bottom: 1px solid #B6B6B6;
    padding: 8px;
    margin-bottom: 10px;
    max-width: 100%;
    box-sizing: border-box;
}
form.widget-webform-form input[name^="user_last_"] {
    width: 300px;
}
form.widget-webform-form input[name="tel_number"] {
    width: 250px;
}
form.widget-webform-form textarea {
    width: 100%;
}

/*日付入力部分アコーディオン*/

section h1{
    margin-bottom: 1px;
    padding: 8px 8px 4px 20px;
    text-decoration:underline;
    color: #baafa4;
    font-size:12px;
    cursor: pointer;
    position: relative;
    margin-bottom:-4px;
}

section h1:before {
    display: block;
    content: "";
    position: absolute;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 55%;
    left: 4px;
    width: 8px;
    height: 8px;
    margin-top: -6.4px;
    background: #baafa4;
}

section h1:after {
    display: block;
    content: "";
    position: absolute;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 55%;
    left: 5px;
    width: 8px;
    height: 8px;
    margin-top: -10.4px;
    background: #FFFFFF;
}

section h1.active:before {
    margin-top: -1.6px;
}

section h1.active:after {
    margin-top: 2.4px;
}

section li {
    padding: 4px 0 4px 19.2px;
}

section li a:before{
    display: block;
    content: "";
    position: absolute;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 50%;
    right: 13.6px;
    width: 8px;
    height: 8px;
    margin-top: -4px;
    background: #9CF;
}

section li a:after{
    display: block;
    content: "";
    position: absolute;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 50%;
    right: 17.6px;
    width: 8px;
    height: 8px;
    margin-top: -4px;
    background: #F2F2F2;
}
.datepicker{
    width:120px;
}
/* 日曜日のカラー設定 */
td.holiday a.ui-state-default{
    background-color: #ffecec;   /* 背景色を設定 */
    color: #f00!important;       /* 文字色を設定 */
}
/* 土曜日のカラー設定 */
td.saturday a.ui-state-default{
    background-color: #eaeaff;   /* 背景色を設定 */
    color: #00f!important;       /* 文字色を設定 */
}
#contact-form .remove{
    margin-left: 4px;
    display: none;
    cursor: pointer;
}

form.widget-webform-form .policy {
    text-align: center;
    margin: 50px auto 15px;
    display: block;
}
form.widget-webform-form .policy a {
    border-bottom: 1px solid #333;
    color: #333;
}
form.widget-webform-form .policy span.fa-chevron-circle-right:before {
    color: #D19A8B;
}

.submit_button {
    display:block;
    margin:auto;
    font-weight: bold;
    border-radius:0;
    border:1px solid #81745c;
    cursor:pointer;
    color:#ffffff;
    font-family:Arial;
    font-size:15.2px;
    text-decoration:none;
    background: #D19A8B!important;
    border: 1px solid #D19A8B!important;
    padding: 12px 30px;
}

/**
 * confirm
 */
#contact-form.confirm {
    font-size: 12px;
}
#contact-form.confirm p.intro {
    clear: both;
    font-size: 120%;
    background: transparent url(../img/bullet-right.gif) no-repeat left 4px;
    padding: 0 8px 0 8px;
    margin: 20px 0 8px 0;
}
#contact-form.confirm table {
    table-layout: fixed;
    width: 100%;
    margin-bottom: 20px;
}
#contact-form.confirm .buttons {
    width: 220px;
    margin: auto;
}
#contact-form.confirm #return {
    float: left;
    margin: 0;
}
#contact-form.confirm #send {
    float: right;
    margin: 0;
}
#contact-form.confirm table th {
    text-align: right;
    font-weight: bold;
    vertical-align: top;
    font-size: 13px;
    color: #333;
    width: auto;
    min-width: 180px;
    white-space: nowrap;
    padding: 8px 30px 8px 0;
}
#contact-form.confirm table td {
    line-height: 150%;
    padding: 8px 8px 8px 0;
    font-size: 120%;
    vertical-align: middle;
    overflow-wrap : break-word;
}

/**
 * loading
 */
.loading-mask {
    position: relative;
    width: 100%;
    height: 160px;
    background-color: rgba(255,255,255,0.75);
    z-index: 1500;
}
.loading-mask:before {
    content: '送信中...';
    position: absolute;
    text-align: center;
    color: rgba(0,0,0,0.25);
    top: 55%;
    top: calc(50% + 19.2px);
    right: 0;
    bottom: 0;
    left: 0;
}
.loading-mask:after {
    content: "";
    position: absolute;
    border-width: 3px;
    border-style: solid;
    border-color: transparent rgba(0,0,0,0.25) rgba(0,0,0,0.25);
    border-radius: 50%;
    width: 19.2px;
    height: 19.2px;
    top: 48%;
    top: calc(50% - 9.6px);
    left: 48%;
    left: calc(50% - 9.6px);
    -webkit-animation: spinMask 1s ease infinite;
    animation: spinMask 1s ease infinite;
}

@keyframes spinMask {
    0% {transform: rotate(90deg);}
    100% {transform: rotate(450deg);}
}

.bestrate {
    margin: 20px auto;
    text-align: center;
    max-width: 800px;
    width: 100%;
}
.bestrate img {
    max-width: 100%;
}

#contact-form.send p {
    line-height: 30px;
    margin: 80px 12px 80px;
    text-align: center;
    font-size: 13px;
    font-weight: bold;
}

#contact-form.send a {
    font-size: 12px;
    color: #333;
}