@charset "UTF-8";
/* Heartful area blog / 2026-11-03
   Load after style.css and heartful-hall.css.
   Targets only area blog list and single-area_blog main content. */

/* エリアページ下部：ブログ一覧 */
body.tax-area #area_lp_blog {
  clear:both; float:none; width:100%; max-width:none;
  margin:0; padding:56px 24px; box-sizing:border-box;
  background:#fff7fa; color:#44383e;
}
body.tax-area #area_lp_blog *,
body.single-area_blog #wrap_main * {box-sizing:border-box;}
body.tax-area #area_lp_blog_inner {
  float:none; width:100%; max-width:1120px; margin:0 auto; padding:0;
}
body.tax-area #area_lp_blog .area-related-posts {
  width:100%; margin:0; padding:0; background:none;
}
body.tax-area #area_lp_blog .area-related-posts > h3 {
  width:auto; height:auto; margin:0 0 28px; padding:0;
  border:0; background:none; color:#a82c63; text-align:center;
  font-family:Georgia,"Yu Mincho",serif; font-size:32px;
  font-weight:500; line-height:1.5; letter-spacing:.08em;
}
body.tax-area #area_lp_blog .area-related-posts > ul {
  display:grid; grid-template-columns:1fr; gap:14px;
  width:100%; margin:0; padding:0; list-style:none;
}
body.tax-area #area_lp_blog .area-related-posts > ul > li {
  float:none; width:100%; margin:0; padding:0;
  border:0; background:none; list-style:none;
}
body.tax-area #area_lp_blog .area-related-posts > ul > li > a {
  display:block; position:relative; width:100%;
  padding:24px 64px 24px 28px; border:1px solid #eadbe2;
  border-radius:10px; background:#fff; color:#44383e;
  font-size:17px; font-weight:600; line-height:1.85;
  overflow-wrap:anywhere; text-decoration:none;
  box-shadow:0 4px 16px #6b324b06;
  transition:border-color .18s,box-shadow .18s;
}
body.tax-area #area_lp_blog .area-related-posts a .date {
  display:block; float:none; width:auto; margin:0 0 6px; padding:0;
  color:#8b727d; font-size:12px; font-weight:400; line-height:1.7;
  letter-spacing:.04em;
}
body.tax-area #area_lp_blog .area-related-posts > ul > li > a::after {
  content:"→"; position:absolute; right:24px; top:50%;
  transform:translateY(-50%); color:#d63580; font-size:24px;
}
body.tax-area #area_lp_blog .area-related-posts > ul > li > a:hover {
  border-color:#d63580; box-shadow:0 6px 20px #6b324b12;
}
body.tax-area #area_lp_blog_inner > br {display:none;}
body.tax-area #area_lp_blog_inner > a.btn {
  display:table; float:none; width:auto; max-width:100%;
  height:auto; margin:28px auto 0; padding:13px 32px;
  border:1px solid #d63580; border-radius:6px;
  background:#fff; color:#a82c63; text-align:center;
  font-size:14px; font-weight:600; line-height:1.7; text-decoration:none;
}
body.tax-area #area_lp_blog_inner > a.btn:hover {background:#fce9f1;}
body.tax-area #area_lp_blog a:focus-visible,
body.single-area_blog #wrap_main a:focus-visible {
  outline:3px solid #a17e2f; outline-offset:4px;
}

/* エリアブログ詳細：全記事共通 */
body.single-area_blog #wrap_main {
  float:none; width:100%; max-width:none; min-width:0;
  margin:0; padding:0 0 64px; background:#faf7f8; color:#44383e;
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
}
body.single-area_blog #breadcrumb {
  float:none; width:100%; max-width:none; height:auto; margin:0;
  padding:18px max(24px,calc((100% - 1120px)/2));
  background:#fff; font-size:12px; line-height:1.8;
}
body.single-area_blog #breadcrumb ul {
  display:flex; flex-wrap:wrap; gap:6px 12px;
  width:auto; margin:0; padding:0; list-style:none;
}
body.single-area_blog #breadcrumb li {
  float:none; max-width:100%; margin:0; overflow-wrap:anywhere;
}
body.single-area_blog #breadcrumb a {color:#a82c63;}
body.single-area_blog #wrap_contents {
  float:none; width:calc(100% - 48px); max-width:1120px; min-width:0;
  margin:36px auto 0; padding:0; background:none;
}
body.single-area_blog #contents {
  display:grid; grid-template-columns:minmax(0,1fr) 240px;
  align-items:start; gap:32px;
  float:none; width:100%; max-width:none; min-width:0;
  margin:0; padding:0; background:none;
}
body.single-area_blog #contents::before,
body.single-area_blog #contents::after {display:none;}
body.single-area_blog #maincontents {
  float:none; width:100%; min-width:0; margin:0; padding:0; background:none;
}
body.single-area_blog #single_contents {
  width:100%; min-width:0; margin:0; padding:40px;
  border:1px solid #eadfe4; border-radius:12px;
  background:#fff; box-shadow:0 6px 24px #6b324b05;
  font-size:16px; line-height:2; overflow-wrap:anywhere;
}
body.single-area_blog #single_contents > .date {
  display:inline-block; float:none; width:auto; margin:0 0 16px;
  padding:4px 12px; border-radius:4px; background:#fff1f6;
  color:#a82c63; font-size:13px; line-height:1.7;
}
body.single-area_blog #single_contents h1#single {
  float:none; width:auto; height:auto; margin:0 0 30px;
  padding:0 0 24px; border:0; border-bottom:2px solid #f1d8e3;
  background:none; color:#44383e; text-align:left;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(24px,2.2vw,32px); font-weight:600;
  line-height:1.65; letter-spacing:.025em;
}
body.single-area_blog #single_contents h1#single a {
  color:inherit; font:inherit; background:none; text-decoration:none;
}
body.single-area_blog #single_contents p {
  float:none; width:auto; margin:0 0 1.8em; padding:0;
  font-size:inherit; line-height:2.05; color:inherit;
}
body.single-area_blog #single_contents h2 {
  width:auto; height:auto; margin:40px 0 20px; padding:12px 16px;
  border:0; border-left:4px solid #d63580; background:#fff4f8;
  color:#66334b; font-size:23px; line-height:1.6;
}
body.single-area_blog #single_contents h3 {
  width:auto; height:auto; margin:30px 0 16px; padding:0 0 10px;
  border:0; border-bottom:1px solid #eadbe2; background:none;
  color:#66334b; font-size:20px; line-height:1.7;
}
body.single-area_blog #single_contents a {color:#a82c63;text-underline-offset:3px;}
body.single-area_blog #single_contents img {
  max-width:100%; height:auto; border-radius:6px;
}
body.single-area_blog #single_contents figure {max-width:100%;margin:24px 0;}
body.single-area_blog #single_contents ul,
body.single-area_blog #single_contents ol {margin:20px 0 28px;padding-left:1.6em;}
body.single-area_blog #single_contents li {margin:8px 0;line-height:1.9;}
body.single-area_blog #single_contents blockquote {
  margin:24px 0; padding:20px 24px; border-left:3px solid #cba5b6;
  background:#faf7f8;
}
body.single-area_blog #single_contents table {width:100%;border-collapse:collapse;table-layout:fixed;}
body.single-area_blog #single_contents th,
body.single-area_blog #single_contents td {padding:12px;border:1px solid #eadbe2;overflow-wrap:anywhere;}
body.single-area_blog #single_contents th {background:#fff4f8;}
body.single-area_blog #single_contents #blog_signature {
  width:100%; margin:36px 0 0; padding:24px; border:1px solid #eadbe2;
  border-radius:8px; background:#fff7fa; color:#75616a;
  font-size:13px; line-height:1.95;
}
/* 既存サイドバーは残し、幅と余白を整理 */
body.single-area_blog #contents > #sidebar {
  float:none; width:100%; min-width:0; margin:0; padding:22px 18px;
  border:1px solid #eadfe4; border-radius:10px; background:#fff;
}
body.single-area_blog #sidebar h3 {
  width:auto; height:auto; margin:0 0 16px; padding:0 0 12px;
  border:0; border-bottom:1px solid #eadbe2; background:none;
  color:#66334b; font-size:17px; line-height:1.7;
}
body.single-area_blog #sidebar ul {list-style:none;margin:0 0 24px;padding:0;}
body.single-area_blog #sidebar li {float:none;width:auto;margin:0;padding:0;border:0;background:none;}
body.single-area_blog #sidebar li a {
  display:block; padding:10px 0; border-bottom:1px solid #f1e8ec;
  color:#66555d; font-size:14px; text-decoration:none;
}
body.single-area_blog #sidebar .banner {display:block;margin:12px 0;}
body.single-area_blog #sidebar img {display:block;max-width:100%;height:auto;}
body.single-area_blog #sidebar .textwidget br {display:none;}
body.single-area_blog #sidebar #sidebar:empty {display:none;}
@media(max-width:900px) {
  body.single-area_blog #contents {grid-template-columns:minmax(0,1fr);}
  body.single-area_blog #single_contents {padding:32px;}
}
@media(max-width:640px) {
  body.tax-area #area_lp_blog {padding:36px 16px;}
  body.tax-area #area_lp_blog .area-related-posts > h3 {font-size:27px;margin-bottom:20px;}
  body.tax-area #area_lp_blog .area-related-posts > ul > li > a {padding:20px 44px 20px 20px;font-size:16px;}
  body.tax-area #area_lp_blog .area-related-posts > ul > li > a::after {right:16px;font-size:20px;}
  body.single-area_blog #breadcrumb {padding:14px 16px;}
  body.single-area_blog #wrap_contents {width:calc(100% - 32px);margin-top:20px;}
  body.single-area_blog #single_contents {padding:26px 20px;font-size:16px;}
  body.single-area_blog #single_contents h1#single {font-size:24px;}
  body.single-area_blog #single_contents h2 {font-size:21px;}
  body.single-area_blog #single_contents #blog_signature {padding:18px;font-size:13px;}
}
@media(prefers-reduced-motion:reduce) {
  body.tax-area #area_lp_blog .area-related-posts > ul > li > a {transition:none;}
}
