        /*
        ====================================================
        カスタムスタイル: 大山阿夫利神社（色味）とトップページデザインの融合
        ====================================================
        */

        /* 大山阿夫利神社のイメージカラー（落ち着いた緑系、白、生成り/ベージュ系） */
        :root {
            --afuri-green-dark: #375b4f; /* メインカラー: 深緑 */
            --afuri-green-medium: #5a7b70; /* ボタンなど */
            --afuri-beige: #e6e4d9; /* 背景のアクセントカラー（フォームコンテナ） */
            --afuri-text-dark: #333333;
            --afuri-text-light: #ffffff;
            --afuri-error: #cc0000;
        }

        /* カスタムTailwind設定 */
        :root {
            --color-primary: var(--afuri-green-dark);
            --color-secondary: var(--afuri-beige);
            --color-button: var(--afuri-green-medium);
            --color-error: var(--afuri-error);
        }

        body {
            /* トップページのフォント、余白を活かしたデザインに合わせる */
            font-family: 'Inter', 'Hiragino Kaku Gothic ProN', 'Meiryo', sans-serif;
            background-color: #ffffff; /* 全体の背景を白に */
            color: var(--afuri-text-dark);
            line-height: 1.6;
        }

        /* フォームの全体的なコンテナ */
        .form-container {
            max-width: 900px;
            margin: 40px auto;
            padding: 40px; /* 余白を広めに */
            background-color: var(--color-secondary); /* アクセントカラーのベージュ */
            border-radius: 0; /* 角丸を削除 */
            box-shadow: 0 0 15px rgba(0, 0, 0, 0.05); /* 影を控えめに */
        }

        /* 見出しスタイル */
        .main-heading {
            border-bottom: 2px solid var(--color-primary); /* 下線を細く */
            color: var(--color-primary);
            padding-bottom: 5px;
        }

        /* テーブルスタイル */
        .contact_table {
            border-collapse: collapse;
            background-color: white;
            border-radius: 0; /* 角丸を削除 */
            overflow: hidden;
            border: 1px solid #e0e0e0; /* 控えめな枠線 */
        }

        .contact_table th,
        .contact_table td {
            padding: 18px 25px; /* パディングを調整 */
            text-align: left;
            border-bottom: 1px solid #f0f0f0;
        }

        .contact_table th {
            width: 35%; /* thの幅を少し広げる */
            background-color: #fafafa;
            font-weight: 500; /* 太すぎないフォント */
            font-size: 16px;
            color: var(--afuri-text-dark);
        }

        /* 必須マーク（強調） */
        .required-mark {
            color: var(--color-error);
            font-weight: bold;
            font-size: 13px;
            margin-left: 8px;
            padding: 2px 5px;
            background-color: #ffe6e6;
            border-radius: 2px;
            display: inline-block;
        }

        /* 入力フィールド */
        .input input[type="text"],
        .input input[type="date"],
        .input select,
		textarea[name="memo"] {
            width: 100%;
            padding: 12px; /* パディングを少し大きく */
            border: 1px solid #ccc;
            border-radius: 0; /* 角丸を削除 */
            box-sizing: border-box;
            font-size: 16px;
            transition: border-color 0.2s;
        }

        .input input:focus,
        .input select:focus {
            outline: none;
            border-color: var(--color-primary); /* メインカラーをフォーカスに */
            box-shadow: 0 0 0 1px var(--color-primary);
        }

        /* ラジオ・チェックボックスのカスタムスタイル */
        .input label {
            display: inline-flex;
            align-items: center;
            margin-right: 25px;
            cursor: pointer;
            padding: 5px 0;
            user-select: none;
        }

        .input input[type="radio"],
        .input input[type="checkbox"] {
            margin-right: 8px;
            width: 20px; /* サイズを調整 */
            height: 20px;
            vertical-align: middle;
            accent-color: var(--color-primary);
        }

        /* エラーメッセージ */
        .error {
            min-height: 20px;
            padding-top: 5px;
            font-size: 13px;
            color: var(--color-error);
        }

        /* 送信ボタン */
        .btn_submit {
            display: block;
            width: 350px; /* 幅を調整 */
            padding: 18px 20px;
            font-size: 18px;
            font-weight: 500;
            color: var(--afuri-text-light);
            background-color: var(--color-primary); /* メインカラーに変更 */
            border: none;
            border-radius: 0;
            cursor: pointer;
            box-shadow: none; /* 影を削除し、フラットなデザインに */
            transition: opacity 0.2s;
            text-transform: none;
			margin:0 auto;
        }

        .btn_submit:hover {
            opacity: 0.85;
        }
        
        .btn_submit:active {
            transform: none; /* active時の挙動もフラットに */
        }

        /* ヘッダーのスタイルをトップページ風に調整 */
        .header-nav {
            background-color: #ffffff; /* 白い背景 */
            border-bottom: 1px solid #eee; /* 薄い下線 */
            color: var(--afuri-text-dark);
            padding: 10px 0;
        }
        .header-logo {
            color: var(--afuri-green-dark);
            font-size: 1.5rem;
            font-weight: bold;
        }


        /* フッター */
        footer {
            background-color: var(--afuri-green-dark);
            color: var(--afuri-text-light);
            text-align: center;
            padding: 20px 0;
            font-size: 14px;
        }

        /* カレンダー埋め込み用のレスポンシブコンテナ */
        .calendar-embed-container {
            position: relative;
            padding-bottom: 75%; /* 4:3のアスペクト比を維持 */
            height: 0;
            overflow: hidden;
            max-width: 100%;
        }

        .calendar-embed-container iframe {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
        }
		textarea {
            height: 10em;
		}

        /* スマホ対応 */
        @media (max-width: 768px) {
            .form-container {
                margin: 20px 10px;
                padding: 20px 15px;
            }
            .contact_table th,
            .contact_table td {
                display: block;
                width: 100%;
                padding: 10px 15px;
            }
            .contact_table th {
                border-bottom: none;
                background-color: #f5f5f5; /* スマホ時のthの背景色を調整 */
                padding-bottom: 5px;
            }
            .contact_table td {
                padding-top: 5px;
            }
            .btn_submit {
                width: 100%;
            }
        }
