@charset "utf-8";
/* WordPress 化で追加したスタイル（styles.css の後に読み込む） */

/* ニュース本文（見出し1〜3・太字・文字色・リスト） */
.p-news-body {
  font-family: "Noto Serif JP", serif;
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #000;
  overflow-wrap: anywhere;
}
.p-news-body > * + * { margin-top: 2.4rem; }
.p-news-body h1,
.p-news-body h2,
.p-news-body h3 {
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
.p-news-body * + h1,
.p-news-body * + h2,
.p-news-body * + h3 { margin-top: 4.8rem; }
.p-news-body h1 {
  font-size: 2.6rem;
  padding-bottom: 1.2rem;
  border-bottom: 2px solid #e5e5e5;
  background: linear-gradient(90deg, #c41d06 5rem, transparent 5rem) left bottom / 100% 2px no-repeat;
}
.p-news-body h2 { font-size: 2.4rem; }
.p-news-body h3 {
  font-size: 2rem;
  padding-left: 1.4rem;
  border-left: 4px solid #c41d06;
}
@media (min-width: 1024px) {
  .p-news-body h1 { font-size: 3.2rem; }
  .p-news-body h2 { font-size: 2.8rem; }
  .p-news-body h3 { font-size: 2.2rem; }
}
.p-news-body strong,
.p-news-body b { font-weight: 700; }
.p-news-body a { color: #c41d06; text-decoration: underline; }
.p-news-body ul,
.p-news-body ol { padding-left: 1.6em; }
.p-news-body ul { list-style: disc; }
.p-news-body ol { list-style: decimal; }
.p-news-body li + li { margin-top: .6rem; }
.p-news-body img { max-width: 100%; height: auto; }
.p-news-body .has-text-align-center { text-align: center; }
.p-news-body .has-text-align-right { text-align: right; }

/* 固定ページ（本文編集）共通 */
.p-wp-page .p-service-page__section {
  max-width: 128rem;
  margin: 5rem auto 8rem;
  padding-inline: 2rem;
}
.p-wp-content { font-size: 1.6rem; line-height: 1.8; }
.p-wp-content > * + * { margin-top: 2rem; }

/* エントリー固定ページのスタッフ写真一覧 */
.p-page-entry-form .entry-staff {
  max-width: 89.2rem;
  margin: 8rem auto 0;
}
.p-page-entry-form .entry-staff ul {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.p-page-entry-form .entry-staff li {
  min-width: 0;
  margin: 0;
  padding: 0;
}
.p-page-entry-form .entry-staff img {
  display: block;
  width: 100%;
  height: auto;
}

/* FAQ：回答が未登録の質問 */
.p-faq__item--pending .p-faq__question { cursor: default; }

/* 省エネ計算お見積り：建築物用途の行（追加ボタンで表示） */
.p-form__usage-row[hidden],
.p-form__usage[hidden],
.p-form__add[hidden] { display: none; }

/* Contact Form 7：テーマのフォームデザインに合わせる */
.p-form .wpcf7-form-control-wrap { display: block; flex: 1 1 auto; min-width: 0; }
.p-form__input-line--short .wpcf7-form-control-wrap { flex: 0 1 20rem; }
.p-form__date .wpcf7-form-control-wrap { flex: 0 1 20rem; max-width: 20rem; }
.p-form__date input[type="date"] { max-width: 20rem; }
.p-form__choices .wpcf7-form-control-wrap,
.p-form__choices .wpcf7-form-control { display: contents; }
.p-form__choices .wpcf7-list-item,
.p-form__choice .wpcf7-list-item,
.p-form__consent .wpcf7-list-item { margin: 0; }
.p-form__choices .wpcf7-list-item label,
.p-form__choice .wpcf7-list-item label,
.p-form__consent .wpcf7-list-item label { display: inline-flex; gap: 1rem; align-items: center; cursor: pointer; }
.p-form__choice .wpcf7-form-control-wrap,
.p-form__consent .wpcf7-form-control-wrap { display: inline-block; flex: 0 0 auto; }
.p-form__additional,
.p-form__control > .wpcf7-form-control-wrap + .wpcf7-form-control-wrap { margin-top: 2rem; }
.p-form__control > .wpcf7-form-control-wrap textarea[rows="2"] { height: 7rem; min-height: 7rem; }
.p-form__usage label { display: block; }
.p-form .wpcf7-not-valid-tip { margin-top: .6rem; color: #c41d06; font-size: 1.4rem; }
.p-form .wpcf7-spinner { display: block; margin: 1.5rem auto 0; }
.p-form .wpcf7-response-output { margin: 3rem 0 0 !important; padding: 1.5rem !important; border: 1px solid #c41d06 !important; background: #fff4f4; color: #8b1507; font-size: 1.5rem; line-height: 1.7; }
.p-form .wpcf7 form.sent .wpcf7-response-output { border-color: #46b450 !important; background: #f3fbf4; color: #1e5f27; }
.p-form .codedropz-upload-wrapper { min-width: 0; }
.p-form .codedropz-upload-handler { border: 1px solid #ccc; border-radius: 0; background: #fff4f4; }
.p-form .codedropz-upload-inner { color: #aaa; font-size: 1.6rem; }
.p-form .codedropz-upload-inner h3 { font-size: 1.8rem; font-weight: 400; }
.p-form .cd-upload-btn { display: inline-block; padding: .6rem 1.5rem; border: 1px solid #ccc; border-radius: .3rem; background: #f8f8f8; color: #222; }

/* 用語集：本文（エディタの段落・文字色をそのまま使う） */
.p-glossary-body p { margin: 0; }
.p-glossary-body p + p { margin-top: 1em; }
.p-glossary-body strong { font-weight: 700; }
.p-glossary-body mark { background: transparent; }

/* 採用ページ（/recruit 以下）：ヘッダーに背景を付ける */
@media screen and (min-width: 1100px), print {
  .is-recruit .l-header__nav { background-color: rgba(255, 255, 255, 0.8); }
}
/* 採用ページ：スマホ時、旧ヘッダー分のずれ（top:70px）で出ていた余白を消し、固定ヘッダー（6rem）の下から表示 */
@media screen and (max-width: 1099.98px) {
  .is-recruit .legacy-recruit { padding-top: 6rem; }
  .is-recruit .legacy-recruit .hero-recruit { top: 0; z-index: 1; }
}
/* 採用ページ（PC）：PERSON欄の下余白を margin から padding に変え、グレー背景を下余白60pxまで欄いっぱいに敷く（次の座談会には被らない） */
@media screen and (min-width: 751px) {
  .is-recruit .legacy-recruit .person { margin-bottom: 0; padding-bottom: 60px; }
  .is-recruit .legacy-recruit .person:before { height: auto; bottom: 0; }
}
