/* WordPress の「追加 CSS」に書いてあったもの */
img.size-full {
	margin:  0 auto 1em auto;
	display: block;
}
.pagetitle_section {
	padding-bottom: 1.25em;
}

/* WordPress 本体がページに直接書いていたもの(遅れて読み込む画像の大きさの目安) */
img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}

/* 2026-11-05 に足した: PC の幅のとき、テーマ(style.css)は <body> を 25px 上にずらしていて、ずらさないのはニュース・アーカイブ・記事・404 だけ。
   固定ページ(会社情報・サービス・お問い合わせなど)は、ヘッダーが上に詰まって見えていた(WordPress 版から同じ)ので、ニュースと同じにそろえる。
   トップ(body.home)は、テーマが別の指定でずれを打ち消しているので、そのまま */
@media (min-width: 769px) {
  body.page:not(.home) {
    margin: 0;
  }
}

/* X(旧 Twitter)のロゴ(layouts/_partials/x-icon.html)。Font Awesome の鳥のアイコンと同じくらいの大きさにする */
svg.x-logo { width: 0.82em; height: 0.82em; vertical-align: -0.08em; }

/* お問い合わせの確認の画面(static/assets/site/contact-form.js)。確認の画面では、入力欄を隠して、入力した値を文字で出す */
.contact-confirm-value, .contact-confirm-lead, .contact-back { display: none; }
.wpcf7-form.confirming .contact-confirm-lead { display: block; margin: 0 0 20px; font-weight: 600; }
.wpcf7-form.confirming td.form > p:not(.contact-confirm-value) { display: none; }
.wpcf7-form.confirming .contact-confirm-value { display: block; margin: 0; padding: 0 11px; text-align: left; white-space: pre-wrap; word-break: break-all; }
.wpcf7-form.confirming .text-center { margin-top: 40px; }
.wpcf7-form.confirming .privacypolicy { display: none; }
.wpcf7-form.confirming .contact-back { display: block; width: 314px; max-width: 100%; margin: 16px auto 0; padding: 16px; background: #fff; color: #222; border: 1px solid #ccc; font-size: 14px; font-weight: bold; line-height: 1; }
.wpcf7-form.confirming .contact-back:hover { background: #f5f5f5; }

/* お問い合わせのお知らせ(送れた・入力の注意・失敗)。画面の真ん中のカード(static/assets/site/contact-form.js)。
   前は幅 300px の白い箱で、日本語が箱の幅で途中から折れていた */
.wpcf7 form .wpcf7-response-output {
  position: fixed; top: 50%; left: 50%; z-index: 60;
  transform: translate(-50%, -50%);
  width: calc(100% - 32px); max-width: 440px; margin: 0;
  padding: 72px 40px 32px;
  background: #fff; color: #222; text-align: center;
  border: none; border-top: 6px solid #a8c83d; border-radius: 8px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, .18);
  animation: contact-message-in .25s ease-out;
}
.wpcf7 form .wpcf7-response-output::before {
  content: "✓"; position: absolute; top: 20px; left: 50%; transform: translateX(-50%);
  width: 40px; height: 40px; border-radius: 50%;
  background: #a8c83d; color: #fff; font-size: 22px; font-weight: bold; line-height: 40px;
}
.wpcf7 form.sent .wpcf7-response-output { border-top-color: #a8c83d; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output { border-top-color: #f0b400; }
.wpcf7 form.invalid .wpcf7-response-output::before, .wpcf7 form.unaccepted .wpcf7-response-output::before { content: "!"; background: #f0b400; }
.wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output, .wpcf7 form.spam .wpcf7-response-output { border-top-color: #dc3232; }
.wpcf7 form.failed .wpcf7-response-output::before, .wpcf7 form.aborted .wpcf7-response-output::before, .wpcf7 form.spam .wpcf7-response-output::before { content: "!"; background: #dc3232; }
.contact-message { display: block; font-size: 15px; font-weight: bold; line-height: 1.9; white-space: pre-line; }
.contact-message-close {
  position: absolute; top: 8px; right: 10px; width: 32px; height: 32px; padding: 0;
  border: none; background: none; color: #999; font-size: 22px; line-height: 1; cursor: pointer;
}
.contact-message-close:hover { color: #222; }
@keyframes contact-message-in { from { opacity: 0; transform: translate(-50%, -46%); } to { opacity: 1; transform: translate(-50%, -50%); } }
