@charset "utf-8";

:root {
    --wpcf7-error-color: rgba(255, 140, 140, 1.00);
}

/* Contact Form 7 テーブル ------------------------------ */
.wpcf7 table { width: 100%; }
.wpcf7 :is(th, td) p { margin: 0; } /* .box_01 p 打ち消し */

/* PC */
@media only screen and (min-width: 751px) {
    .wpcf7 :is(th, td) { padding: 18px 20px; }
    .wpcf7 th { width: 200px; }
    .wpcf7 table { background-color: var(--color3); }
    .wpcf7 th { border-right: 1px solid var(--c-main); }
    .wpcf7 tbody { border-top: solid 2px var(--c-main); border-bottom: solid 2px var(--c-main); }
    .wpcf7 tr:not(:last-of-type) { border-bottom: solid 2px var(--c-main); }
}

/* SP */
@media only screen and (max-width: 750px) {
    .wpcf7 th, .wpcf7 td { display: block; width: 100%; }
    .wpcf7 th { display: grid; place-items: center; padding: 0.5vw 3vw 0.5vw; color: white; background-color: var(--c-main); }
    .wpcf7 td { padding: 3vw; background-color: var(--color3); border-bottom: 1px solid var(--c-main); }
}

/* Contact Form 7 入力項目 ------------------------------ */
input.wpcf7-form-control.wpcf7-text,
textarea.wpcf7-form-control.wpcf7-textarea {
    width: 100%; padding: 0.2em 0.6em; background-color: white; border: 1px solid var(--c-main); border-radius: 5px;
}
@media only screen and (max-width: 750px) {
    input.wpcf7-form-control.wpcf7-text,
    textarea.wpcf7-form-control.wpcf7-textarea { border-radius: 0.5vw; }
}
.wpcf7-form p { margin-bottom: 0; /* .box_01 p 打ち消し */ }

/* Contact Form 7 送信ボタン ------------------------------ */
.wpcf7 form .wpcf7-submit { cursor: pointer; display: block; margin: 30px auto 0; padding: 1em 3em; font-size: var(--fs_s); color: black; background-color: var(--color2); border-radius: 9999px; transition: scale 0.3s; }
@media only screen and (max-width: 750px) { .wpcf7-submit { margin: 6vw auto 0; padding: 1em; width: 80%; } }
.wpcf7 form .wpcf7-submit:hover { color: var(--c-sub); background-color: var(--color2_hover); scale: 1.03; }

/* 送信ボタンをクリックした時 */
.wpcf7-spinner { position: absolute; left: -9999px; }

/* focus（キーボード操作の見やすさ） */
.wpcf7 form .wpcf7-submit:focus-visible { outline: 3px solid black; outline-offset: 2px; }

/* 無効状態（送信中など） */
.wpcf7 form .wpcf7-submit:disabled { opacity: .6; cursor: not-allowed; transform: none; box-shadow: none; }

/* Contact Form 7 メッセージ */
.wpcf7 form .wpcf7-response-output { margin: 2em 0 0; padding: 0.5em 1em; font-size: var(--fs_xs); background-color: var(--wpcf7-error-color); border: none; }
.wpcf7 .wpcf7-not-valid-tip { color: var(--wpcf7-error-color); font-size: var(--fs_xs); line-height: 1em; margin: 0.5em 0 0; }

/* 必須（required）・任意（optional */
.wpcf7 .required { color: var(--wpcf7-error-color); margin-left: 0.5em; }
.wpcf7 .optional { color: rgba(100, 160, 255, 1.00); }
@media only screen and (max-width: 750px) {
    .wpcf7 .required { color: var(--color2); }
    .wpcf7 .optional { color: var(--color2); }
}

/* Contact Form 7 Google reCAPTCHA v3（グーグルリキャプチャ） */
.grecaptcha-badge { visibility: hidden; }
.page-id-10 .grecaptcha-badge { visibility: visible; } /* 特定のWPページのみ表示（見積りフォームのページ） */
