.contact .row > * {
    padding-right: 0;
    padding-left: 0;
    margin-top: 0.4rem;
}

.form-color-change {
    color: #aaa; 
}

.form-color-change option{
    color: #000; 
}

.form-color-change:valid {
    color: #000;
  }

.contact .contact-form {
    margin-top: 0px;
    margin-bottom: 20px;
}

.contact .form-label {
    margin-bottom: 0.24rem;
}

.contact .w-100 {
    height: 0;
    margin: 0 !important;
}

.contact .form-select,
.contact .form-control {
    font-size: 0.32rem;
    border-radius: 0;
    padding: 0.1rem 0.2rem
}

.contact .form-val,
.contact .form-select {
    height: 1rem;
}

.contact .form-control:focus,
.contact .form-select:focus {
    box-shadow: none;
}

.contact .submit-btn {
    display: flex;
    justify-content: center;
    flex-direction: column;
}

.contact .form-item {
    position: relative;
}

.contact .invalid-feedback {
    position: absolute;
    bottom: 0;
    transform: translateY(100%);
}

#contact .row {
    margin: 0;
}
.contact .submit-btn {
    margin-bottom: 0.4rem;
}

.contact .submit-btn .tpl-btn {
    margin: 8px 0px;
}

.contact .required-field {
    position: relative;
}

.contact .required-field::after {
    content: "必須";
    color: white;
    background-color: red;
    padding: 0 4px;
    font-size: 12px;
    position: absolute;
    bottom: 10%;
    right: 0;
    transform: translateX(110%);
  }

@media screen and (min-width: 768.5px) {
    #contact .row > * {
        padding-right: calc(var(--bs-gutter-x) * .5);
        margin-top: var(--bs-gutter-y);
    }

    .contact .row > *:nth-child(even) {
        padding-left: 0;
    }

    .contact .contact-form {
        margin-top: 0px;
        margin-bottom: 40px;
    }

    .contact .w-100 {
        height: 0;
        margin: 0 !important;
    }

    .contact .form-select,
    .contact .form-control {
        /* height: 44px; */
        padding: .375rem .75rem;
        margin-bottom: 14px;
        font-size: 1.28rem;
    }

    .contact .form-val,
    .contact .form-select {
        height: 44px;
    }

    .contact .invalid-feedback {
        transform: translateY(50%);
    }

    .contact .form-control-plaintext {
        height: 44px;
        line-height: 44px;
        margin-bottom: 14px;
        font-size: 1.28rem;
    }
    .contact .submit-btn {
        flex-direction: row;
        margin-bottom: 2.92rem;
    }

    .contact .submit-btn .tpl-btn {
        margin: 0 15px;
    }
}

