.estimate_attention{
    border: 1px solid #ccc;
    padding: 2vw;
    position: relative;
    z-index: 1;
}
#estimate_form{
    padding: 5vw 0;
    overflow: hidden;
}


.form-container {
    width: 80%;
    margin:50px auto 0 auto;
    padding: 20px;
    border-radius: 8px;
    z-index: 1;
    position: relative;
}

form {
    display: flex;
    flex-direction: column;
}

label {
    margin: 10px 0 5px;
    font-size: 14px;
    border-left: 5px solid #F50313;
    padding-left: 10px;
}

.required {
    font-size: 12px;
    background: #F50313;
    color: #fff;
    padding: 3px 5px;
}

input, select {
    padding: 10px;
    margin-bottom: 15px;
    font-size: 16px;
    border: 1px solid #ddd;
    border-radius: 4px;
    border: 1px solid #454545;
    box-shadow: 3px 3px 3px #dcdcdc;
}

input[type="tel"], input[type="email"], input[type="number"] {
    width: 100%;
}

input[type="email"],
input[type="number"]{
    width:100%;
}
#zip,input[type="tel"]{
    width:50%;
}
#address,#date,#tire{
    width: 100%;
}
select {
    width:100%;
}

.wpcf7-submit {
    padding: 15px;
    background-color: #ff0000;
    color: white;
    border: none;
    display: block;
    border-radius: 0;
    font-size: 16px;
    width: 30%;
    margin: 5vw auto 0 auto;
    box-shadow: 0px 6px 0px #a30000;
    cursor: pointer;
    transition: background-color 0.3s;
}

.wpcf7-submit:hover {
    background-color: darkred;
}
/* .middle{
    width: 60%;
} */

#estimate_form {
    position: relative;
    background: linear-gradient(to bottom, #fff, #d9d9d9);
}
#estimate_form textarea{
    width: 100%;
}

#estimate_form::before,
#estimate_form::after {
    position: absolute;
    content: "";
    background-size: cover; /* 背景画像のサイズ調整 */
    width: 50%; /* サイズ調整 */
    height: 50%; /* サイズ調整 */
}

#estimate_form::before {
    background-image: url(../images/web_form/Ellipse_right.svg);
    right: -10%;
    top: 0;
    transform: rotate(268deg);
}

#estimate_form::after {
    background-image: url(../images/web_form/Ellipse_left.svg);
    left: 0;
    bottom: 0;
}


.anime_wrap.estimate h1{
    position: absolute;
    top: 35%;
    left: 9vw;
    bottom: 2vw;
    right: 2vw;
    display: flex;
    flex-wrap: wrap;
    width: 60vw;
    text-shadow: 3px 3px 8px #0c0c0c;
    border: none;
    font-size: 5vw;
    font-family: serif;
    color: #fff;
    font-weight: bold;
}
.wpcf7-spinner{
    display: none;
}
.other_contact{
    padding: 3vw;
    background-color: #fff;
    margin-top: 4vw;
}
.feature-list-left a{
    color: #000;
    display: flex;
    align-items: center;
    text-decoration: underline;
}
.feature-list-right{
    text-align: right;
}

.feature-list-right .-flex{
    justify-content: right;
    align-items: center;
}
.business_hour{
    font-size: 1.5rem;
    font-weight: bold;
}
.other_contact h3{
    text-align: center;
}
.feature-list-left .-left:nth-of-type(1){
    line-height: 4;
}

@media (max-width: 767px) {
    #zip, input[type="tel"]{
        width: 100%;
    }
}