
/* ===== ブログ一覧・記事（下層ページ共通） ===== */
.c-pagehead{padding:52px 0 40px;background:var(--washi);border-bottom:1px solid var(--border);}
.c-pagehead h1{font-family:var(--serif);font-weight:700;font-size:clamp(28px,3.6vw,40px);line-height:1.4;margin:12px 0 10px;}
.c-pagehead p{margin:0;max-width:40em;color:#4c463f;font-size:16px;line-height:2;}
.c-crumbs{font-size:12.5px;color:var(--note);letter-spacing:.08em;margin-bottom:6px;}
.c-crumbs a{color:var(--note);text-decoration:none;}
.c-crumbs a:hover{color:var(--accent-deep);}
.c-blog{padding:66px 0 90px;}
.c-blog__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:34px 30px;}
.c-post{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;transition:transform .3s ease, box-shadow .3s ease;}
.c-post:hover{transform:translateY(-4px);box-shadow:0 22px 40px -22px rgba(42,39,36,.4);}
.c-post__thumb{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--washi);display:block;}
.c-post__thumb img{width:100%;height:100%;object-fit:cover;}
.c-post__cat{position:absolute;left:12px;top:12px;background:var(--accent-deep);color:#FDFBF6;font-size:11.5px;font-weight:700;letter-spacing:.08em;padding:5px 12px;border-radius:999px;}
.c-post__body{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1;}
.c-post__date{font-size:12.5px;color:var(--note);letter-spacing:.08em;margin:0 0 8px;}
.c-post__title{font-family:var(--serif);font-size:19px;font-weight:700;line-height:1.6;margin:0 0 12px;}
.c-post__title a{color:inherit;text-decoration:none;}
.c-post__excerpt{font-size:15px;line-height:1.95;color:#4c463f;margin:0 0 18px;flex:1;}
.c-post__more{align-self:flex-start;font-size:13.5px;font-weight:700;color:var(--accent-deep);text-decoration:none;letter-spacing:.04em;}
.c-blognote{margin-top:44px;padding:20px 24px;border:1px dashed var(--border);border-radius:12px;font-size:14px;color:var(--note);line-height:1.9;background:#fff;}
/* 記事 */
.c-arthead{padding:44px 0 8px;}
.c-artmeta{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.c-artmeta__cat{background:var(--accent-deep);color:#FDFBF6;font-size:11.5px;font-weight:700;letter-spacing:.08em;padding:5px 13px;border-radius:999px;}
.c-artmeta__date{font-size:13px;color:var(--note);letter-spacing:.08em;}
.c-arttitle{font-family:var(--serif);font-weight:700;font-size:clamp(26px,3.7vw,40px);line-height:1.5;margin:0;max-width:24em;}
.c-arthero{margin:32px 0 0;}
.c-arthero img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:14px;}
.c-article{width:min(720px,calc(100% - 48px));margin:0 auto;padding:44px 0 20px;}
.c-article p{margin:0 0 1.7em;line-height:2.1;}
.c-article h2{font-family:var(--serif);font-weight:700;font-size:clamp(21px,2.6vw,27px);line-height:1.6;margin:2.2em 0 .9em;padding-left:16px;border-left:5px solid var(--accent-soft);}
.c-article h3{font-family:var(--serif);font-weight:700;font-size:19px;margin:1.8em 0 .7em;}
.c-article img{border-radius:12px;height:auto;}
.c-article blockquote{margin:2em 0;padding:20px 24px;background:var(--washi);border-radius:12px;border-left:3px solid var(--accent);font-family:var(--serif);line-height:2.2;color:#3f3a34;}
.c-article ul,.c-article ol{padding-left:1.4em;margin:0 0 1.7em;line-height:2.1;}
.c-artcta{width:min(720px,calc(100% - 48px));margin:48px auto 0;background:var(--washi);border-radius:18px;padding:40px 30px;text-align:center;}
.c-artcta h2{font-family:var(--serif);font-weight:700;font-size:clamp(20px,2.6vw,27px);line-height:1.6;margin:0 0 12px;}
.c-artcta p{margin:0 0 24px;color:#4c463f;font-size:15.5px;line-height:2;}
.c-artback{text-align:center;padding:40px 0 70px;}
.c-artback a{font-size:14px;font-weight:700;color:var(--accent-deep);text-decoration:none;letter-spacing:.04em;}
@media(max-width:680px){.c-blog{padding:48px 0 70px;}}

/* 下層ページ：固定ヘッダーを常時ソリッド＋本文クリアランス */
body{padding-top:112px;}
.c-header{background:rgba(247,245,240,.94);box-shadow:0 1px 0 var(--border);backdrop-filter:blur(8px);}
.c-header__logo img{height:88px;}
.c-header.is-scrolled .c-header__logo img{height:72px;}
@media(max-width:920px){body{padding-top:96px;}.c-header__logo img{height:72px;}}
