/*
Theme Name: Innovator's Base イノベトベース
Description: 大阪にあるゼロイチ思考を体感し、未来を創るイノベーターを育てる実践型プログラミング教室
Theme URI: https://innovators-base.com/
Author: 株式会社G TECH JAPAN
Author URI: https://g-tech-japan.co.jp
Version: 1.00
*/

/* 
   Note: This theme uses Tailwind CSS via CDN for demonstration purposes (see header.php). 
   For production, consider compiling Tailwind CSS into this file or a separate stylesheet.
*/

.animate-fade-in-up {
    animation: fadeInUp 0.8s ease-out forwards;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Contact Form 7 Custom Styling - Fixed */

/* 入力フィールド（テキスト、メール、電話、日付、エリア）の共通スタイル */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="date"],
.wpcf7 textarea {
    display: block;
    width: 100% !important; /* 幅100%を強制 */
    box-sizing: border-box; /* パディングを含めて幅を計算 */
    background-color: #ffffff;
    border: 1px solid #cbd5e1; /* border-slate-300: 枠線を少し濃くして視認性を確保 */
    border-radius: 0.375rem; /* rounded-md */
    padding: 0.75rem 1rem; /* 入力エリアを広めに */
    font-size: 0.95rem;
    line-height: 1.5;
    color: #1e293b; /* text-slate-800 */
    margin-top: 0.25rem;
}

/* プレースホルダーの色 */
.wpcf7 ::placeholder {
    color: #94a3b8; /* text-slate-400 */
    opacity: 1;
}

/* フォーカス時のスタイル */
.wpcf7 input:focus,
.wpcf7 textarea:focus {
    outline: none;
    border-color: #0f172a; /* focus:border-slate-900 */
    box-shadow: 0 0 0 2px rgba(15, 23, 42, 0.1);
}

/* テキストエリア固有 */
.wpcf7 textarea {
    min-height: 150px; /* 高さを確保 */
    resize: vertical; /* 縦方向のみリサイズ可 */
}

/* ラジオボタンのレイアウト */
.wpcf7 .wpcf7-list-item {
    display: inline-flex !important;
    align-items: center;
    margin: 0 1.5rem 0.5rem 0 !important;
}

.wpcf7 input[type="radio"] {
    appearance: auto; /* ブラウザ標準のラジオボタンを使用 */
    width: 1.2em;
    height: 1.2em;
    margin-right: 0.5rem;
    cursor: pointer;
    vertical-align: middle;
    accent-color: #0f172a; /* 選択時の色を黒に */
}

.wpcf7 .wpcf7-list-item-label {
    font-size: 1rem;
    cursor: pointer;
}

/* 送信ボタン（申し込みボタン） */
.wpcf7 input[type="submit"] {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    background-color: #0f172a; /* bg-slate-900 */
    color: #ffffff;
    font-weight: 700;
    font-size: 1.125rem; /* text-lg */
    padding: 1rem 3rem;
    border-radius: 9999px; /* rounded-full */
    border: none;
    cursor: pointer;
    transition: background-color 0.2s, transform 0.1s;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    -webkit-appearance: none; /* iOSでのデフォルトスタイル解除 */
}

.wpcf7 input[type="submit"]:hover {
    background-color: #1e293b; /* hover:bg-slate-800 */
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

/* PC表示時のボタン幅調整 */
@media (min-width: 768px) {
    .wpcf7-submit-wrapper {
        text-align: center;
    }
    .wpcf7 input[type="submit"] {
        min-width: 300px;
    }
}

/* エラーメッセージ等の調整 */
.wpcf7-not-valid-tip {
    font-size: 0.8rem;
    color: #ef4444;
    margin-top: 0.25rem;
}
.wpcf7-response-output {
    border-radius: 0.5rem;
    padding: 1rem !important;
    margin-top: 2rem !important;
    text-align: center;
    font-weight: bold;
}