/* 全体のスタイル */
.new-contents#contact{
    padding-top: 10vw;}
.new-contents#contact h4,.new-contents#contact h3{
    text-align:center;}
.new-contents#contact h4{
    font-size: 4vw;}
.new-contents#contact h3{
    margin-top: -1vw;}
.contact-forms {
    max-width: 80vw;
    margin: 5vw auto;
    padding: 2vw;
    font-family: Arial, sans-serif;
    background-color: #ffffff;}
.contact-form {
    display: flex;
    flex-direction: column;
    gap: 5vw;}

/* ラベルと入力欄の横並び配置 */
.form-input{
    display: flex;
    flex-direction: column;
    gap: 2vw;}
.form-input__list {
    display: flex;
    align-items: center;
    gap: 1vw;
    justify-content: space-between;}
.form-input__label {
    width: 20vw;
    flex: 1 1 auto;
    font-size: 1.2vw;
    font-weight: bold;
    text-align: left;
    color: #333;}

input[type="text"],input[type="email"],input[type="tel"],select,textarea {
    flex: 2 1 auto;
    padding: 1vw;
    font-size: 1.2vw;
    border: 0.1vw solid #ccc;
    border-radius: 0.4vw;
    width: 100%;
    background-color: #f5f5f5;
    box-sizing: border-box;}
textarea{
    resize: none;}

/* 必須項目の赤いラベル */
.required-label {
    color: red;
    font-size: 1vw;
    margin-left: 0.5vw;}

/* ボタンスタイル */
button[type="submit"] {
    display: block;
    margin: 0 auto;
    width: 40vw;
    padding: 1vw 2vw;
    font-size: 1.2vw;
    font-weight: bold;
    color: #333;
    border: 0.1vw solid #29B770;
    border-radius: 0.4vw;
    background-color: #fff;
    cursor: pointer;
    transition: all 0.3s ease;}
button[type="submit"]:hover {
    background-color: #29B770;
    color: #fff;}
.g-recaptcha {
    margin: auto;}

/* スマホビューでの縦並び配置 */
@media screen and (max-width: 700px) {
.new-contents#contact{
    padding-top: 20vw;}
.new-contents#contact h4{
    font-size: 10vw;}
.new-contents#contact h3{
    margin-top: -2vw;}
.contact-forms {
    max-width: 90%;}
.contact-form {
    gap: 15vw;}
.form-input{
    gap: 10vw;}
.form-input__list {
    flex-direction: column;
    align-items: flex-start;
    gap: 3vw;}
.form-input__label {
    flex: none;
    width: 100%;
    font-size: 3vw;}
input[type="text"],input[type="email"],input[type="tel"],select,textarea {
    flex: none;
    width: 100%;
    font-size: 3vw;
    padding: 3vw 2vw;}
textarea {
    height: 30vw;}
button[type="submit"] {
    width: 100%;
    font-size: 4vw;
    padding: 3vw 2vw;
    color: #fff;
    background-color: #29B770;}
.required-label {
    font-size: 3vw;}
footer {
        margin-bottom: 0;}
}