/************************************
** へやじまい 全ページ共通の追加スタイル（トップの「杜の緑」デザインを、記事・固定ページにも適用）
** 色と書体は design_handoff_heyajimai_top に合わせる。書体は全体をゴシックで統一。
************************************/

body,
body.ff-hiragino {
  background: #fbfaf6;
  color: #3a3d38;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  letter-spacing: 0.06em;
  line-height: 2.1;
}

/* PR表記（全ページ最上部） */
.pr-notice {
  background: #eef2ea;
  border-bottom: 0;
  color: #5f6a5b;
}
.pr-notice a { color: #3d6a4f; }

/* ヘッダー */
.header-container {
  background: #fbfaf6;
  border-top: 0;
  border-bottom: 1px solid #d5ddcf;
}
.logo-header .site-name-text,
.logo-header .site-name-text-link {
  color: #2f4a3a;
  font-size: 22px;
  letter-spacing: 0.16em;
  font-weight: 700;
}
.tagline {
  color: #6d7868;
  font-size: 11px;
  letter-spacing: 0.24em;
}

/* 見出し（記事タイトル・本文の見出し） */
.entry-title,
.article h1.entry-title {
  color: #2f4a3a;
  font-size: clamp(22px, 19px + 1.2vw, 30px);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.6;
}
.entry-content h2,
.article h2 {
  border-bottom: 1px solid #d5ddcf;
  color: #2f4a3a;
  font-size: 20px;
  letter-spacing: 0.12em;
  line-height: 1.6;
  padding: 0 0 10px;
}
.entry-content h2::before,
.article h2::before {
  content: none;
}
.entry-content h3,
.article h3 {
  border-bottom: 0;
  color: #2f4a3a;
  font-size: 17px;
  letter-spacing: 0.1em;
  line-height: 1.6;
  padding: 0;
}

/* 本文のリンク・強調 */
.entry-content a,
.entry-content a:visited { color: #3d6a4f; }
.entry-content a:hover { color: #4a7359; }

/* 表（罫線と淡い緑の見出し） */
.entry-content table { border-top: 1px solid #4a7359; }
.entry-content th {
  background: #eef2ea;
  color: #2f4a3a;
}
.entry-content td,
.entry-content th { border-bottom-color: #d5ddcf; }

/* 注意・目安の枠 */
.guide-note {
  background: #eef2ea;
  border-left-color: #4a7359;
}
.guide-check li::before { border-color: #4a7359; }

/* 目次 */
.toc {
  border-top: 2px solid #4a7359;
  border-bottom: 1px solid #d5ddcf;
}
.toc-title { color: #2f4a3a; }

/* カテゴリーの表示 */
.entry-categories-tags .cat-link,
.cat-link {
  border-color: #4a7359;
  color: #4a7359;
}

/* お問い合わせフォーム */
.wpcf7 input[type="submit"] {
  background: #4a7359;
  letter-spacing: 0.1em;
}
.wpcf7 input[type="submit"]:hover { background: #3f6450; }
.wpcf7 input:focus,
.wpcf7 textarea:focus {
  border-color: #4a7359;
  outline-color: #4a7359;
}

/* フッター（深緑・上の角を丸める） */
.footer {
  background: #3f6450;
  border-radius: 40px 40px 0 0;
  border-top: 0;
  color: #b9cbbd;
}
.footer a { color: #eef2ea; }
.footer .site-name-text {
  color: #eef2ea;
  letter-spacing: 0.16em;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  .entry-title,
  .article h1.entry-title { font-size: 30px; }
  .entry-content h2,
  .article h2 { font-size: 24px; letter-spacing: 0.14em; }
  .footer { border-radius: 64px 64px 0 0; }
}

/* 記事の冒頭（ファーストビュー）の画像 */
.hy-article-hero { margin: 0 0 40px; }
.hy-article-hero img {
  border-radius: 32px 32px 32px 120px;
  height: auto;
  width: 100%;
}
.hy-article-hero figcaption {
  color: #6d7868;
  font-size: 11px;
  margin-top: 8px;
  text-align: right;
}
@media screen and (min-width: 768px) {
  .hy-article-hero img { border-radius: 48px 48px 48px 220px; max-height: 520px; object-fit: cover; }
}

/* 記事・固定ページ：左右に余白を取り、PCでは本文を中央の1160px幅に収める（トップページは対象外） */
body:not(.home) #main.main {
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 768px) {
  body:not(.home) #main.main {
    padding-left: max(40px, calc((100% - 1160px) / 2 + 40px));
    padding-right: max(40px, calc((100% - 1160px) / 2 + 40px));
  }
}
