/* =========================================
   BASE
========================================= */

body {
    color: #333;
    font-family: 'Noto Sans JP', sans-serif;
}

/* ============================
   Contact Form 7 全体
============================ */
.wpcf7 form {
    max-width: 540px;
    margin: 0 auto;
}

/* ラベル */
.wpcf7 form label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #333;
    font-size: 15px;
}

/* ============================
   入力欄（text / email / tel / textarea）
============================ */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
    width: 100%;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
    padding: 12px 14px;
    font-size: 15px;
    color: #333;
    margin-bottom: 20px;
    box-sizing: border-box;
    transition: border-color .25s ease;
}

.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 textarea:focus {
    border-color: #0094b6;
    outline: none;
}

/* textarea */
.wpcf7 textarea {
    height: 160px;
    resize: vertical;
}

/* ============================
   送信ボタン
============================ */
.wpcf7 input[type="submit"] {
    display: inline-block;
    background: #0094b6;
    color: #fff;
    border: none;
    padding: 14px 32px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    border-radius: 30px;
    cursor: pointer;
    width: auto;
    transition: 0.25s;
    margin-top: 10px;
}

.wpcf7 input[type="submit"]:hover {
    opacity: 0.85;
}

/* ============================
   バリデーション（エラー）
============================ */
.wpcf7-not-valid-tip {
    color: #e74c3c;
    font-size: 13px;
    margin-top: -15px;
    margin-bottom: 12px;
}

/* ============================
   送信後メッセージ
============================ */
.wpcf7-response-output {
    margin-top: 25px;
    padding: 14px 18px;
    border-radius: 8px;
    font-size: 14px;
}

.wpcf7 form.sent .wpcf7-response-output {
    border-color: #2ecc71;
    background: #f0fff5;
    color: #27ae60;
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output {
    border-color: #e74c3c;
    background: #fff5f5;
    color: #e74c3c;
}
