/* WordPress 固有の追加スタイル。静的版(style.css)の見た目は変更しない。
   CF7 本体の CSS は読み込まない(inc/cf7.php)。.wpcf7 form.cform の詳細度で CF7 側の指定にも負けない */

/* 管理バー表示時のヘッダー位置 */
.admin-bar .hd { top: 32px; }
@media (max-width: 782px) { .admin-bar .hd { top: 46px; } }

/* ---- Contact Form 7 ---- */
.wpcf7 form.cform .wpcf7-form-control-wrap { display: block; }
.wpcf7 form.cform .fchecks .wpcf7-form-control-wrap,
.wpcf7 form.cform .fchecks .wpcf7-form-control { display: contents; }
.wpcf7 form.cform .wpcf7-spinner { display: none; }
.wpcf7 form.cform .wpcf7-not-valid-tip { display: block; margin-top: 4px; font-size: 13px; color: #b3261e; }
.wpcf7 form.cform .wpcf7-not-valid { border-color: #b3261e; }
.wpcf7 form.cform .wpcf7-response-output { margin: 20px 0 0; padding: 12px 16px; border: 1px solid #D5D9DF; border-radius: 3px; font-size: 14px; line-height: 1.7; }
.wpcf7 form.cform.init .wpcf7-response-output,
.wpcf7 form.cform.resetting .wpcf7-response-output { display: none; }
.wpcf7 form.cform.invalid .wpcf7-response-output,
.wpcf7 form.cform.unaccepted .wpcf7-response-output,
.wpcf7 form.cform.failed .wpcf7-response-output,
.wpcf7 form.cform.spam .wpcf7-response-output { border-color: #b3261e; color: #b3261e; }
.wpcf7 form.cform.sent .wpcf7-response-output { border-color: #2e7d32; color: #2e7d32; }
.wpcf7 form.cform .screen-reader-response { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.wpcf7 form.cform .cform__turnstile { margin-top: 16px; }

/* 確認画面 */
.cform.is-confirming .frow,
.cform.is-confirming .fagree,
.cform.is-confirming > .h3,
.cform.is-confirming > .form__lead { display: none; }
.cform__confirm { margin: 8px 0 0; }
.cform__confirm-lead { margin: 0 0 16px; font-weight: 700; }
.cform__summary { margin: 0; border-top: 1px solid #D5D9DF; }
.cform__summary dt { margin: 0; padding: 12px 0 2px; font-size: 13px; color: #5A6579; }
.cform__summary dd { margin: 0; padding: 0 0 12px; border-bottom: 1px solid #D5D9DF; white-space: pre-wrap; word-break: break-all; }
.cform__confirm-btns { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 24px; justify-content: center; }
.cform__actions { text-align: center; }
.cform__err { margin: 4px 0 0; font-size: 13px; color: #b3261e; }
.cform__submit[hidden], .cform__confirm-btn[hidden] { display: none; }

/* ---- フォールバック(CF7未設定時)のフォーム: 送信不可 ---- */
form[data-ap-fallback] button[disabled] { opacity: .5; cursor: not-allowed; }

/* ---- Ultimate Member(会員フォーム)をサイトの見た目に寄せる ---- */
.um-wrap-ap .um { max-width: none; margin: 0; }
.um-wrap-ap .um-form { background: #fff; padding: 28px; border-radius: 3px; box-shadow: 0 1px 0 rgba(10, 31, 52, .06); }
.um-wrap-ap .um .um-field-label label { font-weight: 700; font-size: 14px; color: #1B2433; }
.um-wrap-ap .um input[type="text"],
.um-wrap-ap .um input[type="email"],
.um-wrap-ap .um input[type="tel"],
.um-wrap-ap .um input[type="password"],
.um-wrap-ap .um textarea,
.um-wrap-ap .um select { width: 100%; border: 1px solid #C5CBD3; border-radius: 3px; padding: 12px 14px; font-size: 16px; font-family: inherit; box-sizing: border-box; height: auto; line-height: 1.5; }
.um-wrap-ap .um input.um-button,
.um-wrap-ap .um a.um-button,
.um-wrap-ap .um input[type="submit"].um-button { background: #B88D47; color: #1B1408; border: 0; border-radius: 3px; padding: 14px 24px; font-weight: 700; font-size: 16px; cursor: pointer; height: auto; }
.um-wrap-ap .um a.um-button.um-alt { background: transparent; border: 1px solid #0A1F34; color: #0A1F34; }
.um-wrap-ap .um .um-notice, .um-wrap-ap .um .um-field-error { font-size: 14px; }
.um-wrap-ap .um .um-field-error { color: #b3261e; }
.um-wrap-ap .um .um-form a { color: #1B2433; }

/* ブロックエディターで作ったコンテンツの最低限の整え */
.article__body > * + * { margin-top: 1em; }
.article__body img { max-width: 100%; height: auto; }
.article__body table { width: 100%; border-collapse: collapse; }
.article__body th, .article__body td { border: 1px solid #D5D9DF; padding: 8px 12px; }
