.grecaptcha-badge { opacity: 0; pointer-events: none; }
* {
            font-family: 'Noto Serif JP', 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'Yu Mincho', YuMincho, 'MS Mincho', serif !important;
        }
        body {
            font-family: 'Noto Serif JP', 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'Yu Mincho', YuMincho, 'MS Mincho', serif;
        }
        html {
            scroll-behavior: smooth;
        }
        .sp-slider::-webkit-scrollbar { display: none; }
h1, h2, h3 { text-wrap: balance; }
    section[id] { scroll-margin-top: 5rem; }
    @media (min-width: 1024px) { section[id] { scroll-margin-top: 6rem; } }
    body { padding-bottom: 56px; }
    @media (min-width: 1280px) { body { padding-bottom: 0; } }

/* Contact Form 7：元のフォームと同じ見た目にする */
.heian-cf7 .wpcf7-form-control-wrap { display: block; }

.heian-cf7 input[type="text"],
.heian-cf7 input[type="tel"],
.heian-cf7 input[type="email"],
.heian-cf7 input[type="date"],
.heian-cf7 select,
.heian-cf7 textarea {
	width: 100%;
	border: 1px solid #d1d5db;
	border-radius: 0.125rem;
	padding: 0.75rem 1rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: #1f2937;
	background-color: #fff;
	appearance: auto;
}

.heian-cf7 input[type="text"]:focus,
.heian-cf7 input[type="tel"]:focus,
.heian-cf7 input[type="email"]:focus,
.heian-cf7 input[type="date"]:focus,
.heian-cf7 select:focus,
.heian-cf7 textarea:focus {
	outline: none;
	border-color: #0d9488;
}

.heian-cf7 textarea { min-height: 8.75rem; resize: vertical; }

.heian-cf7 .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.heian-cf7 .wpcf7-acceptance label {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	cursor: pointer;
}
.heian-cf7 input[type="checkbox"] {
	width: 1rem;
	height: 1rem;
	margin-top: 0.25rem;
	accent-color: #0d9488;
	flex-shrink: 0;
}

.heian-cf7 .wpcf7-not-valid-tip {
	display: block;
	margin-top: 0.375rem;
	font-size: 0.75rem;
	color: #dc2626;
}
.heian-cf7 .wpcf7-response-output {
	margin: 1.5rem 0 0;
	padding: 0.875rem 1rem;
	border: 1px solid #d1d5db;
	border-radius: 0.125rem;
	font-size: 0.875rem;
	line-height: 1.7;
}
.heian-cf7 form.invalid .wpcf7-response-output,
.heian-cf7 form.unaccepted .wpcf7-response-output { border-color: #dc2626; color: #dc2626; }
.heian-cf7 form.sent .wpcf7-response-output { border-color: #0d9488; color: #0f766e; }
.heian-cf7 .wpcf7-spinner { margin: 0 0 0 0.75rem; }

/* 平安祭典本体から取得したお知らせ本文 */
.heian-post p { margin-bottom: 1.5em; }
.heian-post a { color: #0f766e; text-decoration: underline; }
.heian-post img { max-width: 100%; height: auto; margin: 1.5em 0; }
.heian-post h2 { font-size: 1.25rem; margin: 2em 0 .8em; }
.heian-post h3 { font-size: 1.1rem; margin: 1.8em 0 .7em; }
.heian-post ul, .heian-post ol { margin: 0 0 1.5em 1.5em; }
.heian-post ul { list-style: disc; }
.heian-post ol { list-style: decimal; }
.heian-post li { margin-bottom: .4em; }

.heian-post > *:first-child { margin-top: 0; }
.heian-post h2 { font-size: 1.25rem; color: #1f2937; border-left: 4px solid #0d9488; padding-left: .75rem; }
.heian-post h3 { color: #1f2937; }
.heian-post blockquote { border-left: 3px solid #d1d5db; padding-left: 1rem; color: #6b7280; margin: 1.5em 0; }
.heian-post table { width: 100%; border-collapse: collapse; margin: 1.5em 0; font-size: .9em; }
.heian-post th, .heian-post td { border: 1px solid #e5e7eb; padding: .6rem .8rem; }
.heian-post th { background: #f9fafb; }
