/* Mauerpark LP shared layout and section components, reused without a separate blog theme. */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body.mp-blog {
	margin: 0;
	padding-top: calc(64px + env(safe-area-inset-top, 0px));
	background: #fff;
	color: #222;
	font-family: "Hiragino Sans", "Yu Gothic", "YuGothic", sans-serif;
	font-size: 16px;
	line-height: 1.9;
	-webkit-font-smoothing: antialiased;
}
@media (min-width: 769px) { body.mp-blog { padding-top: 88px; } }
body.mp-blog img { max-width: 100%; }
body.mp-blog .hitotoki-fixed-header-pc__logo { height: 48px; width: auto; }
body.mp-blog .hitotoki-fixed-footer-logo,
body.mp-blog .hitotoki-footer-logo { height: 44px; width: auto; }
.mp-main { min-height: 60vh; }

/* Shared LP section heading component. */
.mauerpark-anchor-section { scroll-margin-top: 104px; }
.mauerpark-icon-heading {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 0 !important;
	width: 100% !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 44px 24px 18px !important;
	box-sizing: border-box !important;
	background: #fff !important;
	color: #1f1815 !important;
	font-family: "Hiragino Sans", "Yu Gothic", "YuGothic", sans-serif;
	border: 0 !important;
	border-bottom: 3px double #1f1815 !important;
	text-align: left !important;
	font-size: clamp(24px, 2.3vw, 34px) !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
	letter-spacing: .03em !important;
	font-feature-settings: "palt" 1;
}
.mauerpark-icon-heading::before {
	content: "";
	display: block;
	flex: 0 0 100px;
	width: 100px;
	margin: 0 22px 0 0;
	aspect-ratio: 520 / 339;
	background: url("https://mauerpark-service.jp/wp-content/uploads/2026/09/fv/mauerpark-fv-symbol-optimized.webp") center / contain no-repeat;
}
.mauerpark-icon-heading__content { position: relative; display: flex; flex-direction: column; justify-content: center; min-width: 0; min-height: 44px; padding-left: 26px; }
.mauerpark-icon-heading__content::before { content: ""; position: absolute; left: 0; top: 50%; width: 1px; height: 42px; transform: translateY(-50%); background: rgba(31, 24, 21, .55); }
.mauerpark-icon-heading__title { display: block; }

/* Article cards mirror the Garden Works Azumino /works/ list. */
/* 色のルール: ブログの文字・日付ラベル・リンク・タグは黒(--k)だけ。緑などの色を足さない（dev/check_colors.py が本番反映前に検査する） */
:root { --k: #1f1815; --ink: #222; --mute: #6b6b6b; --line: #e1e1e1; --sans: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif; }
.sec { padding: 0 0 52px; }
.wrap { width: 100%; max-width: 800px; margin: 0 auto; padding: 0 24px; }
.blog-list { display: grid; gap: 40px; margin-top: 28px; font-family: var(--sans); }
@media (min-width: 768px) { .blog-list { grid-template-columns: repeat(2, 1fr); gap: 40px 32px; } }
.blog-card { border-bottom: 1px solid var(--line); padding-bottom: 32px; }
.blog-card:last-child { border-bottom: none; padding-bottom: 0; }
@media (min-width: 768px) { .blog-card { border-bottom: none; padding-bottom: 0; } }
.blog-card__link { display: block; color: inherit; text-decoration: none; }
.blog-card__thumb { margin: 0 0 18px; border-radius: 8px; overflow: hidden; aspect-ratio: 4 / 3; background: #f2f2f2; box-shadow: 0 4px 10px rgba(0,0,0,.12); }
.blog-card__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.blog-card__meta { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; flex-wrap: wrap; }
.works-case-label { display: inline-block; margin: 0; padding: 4px 10px; background: var(--k); color: #fff !important; font-size: 14px; line-height: 1.5; font-weight: 700; letter-spacing: .04em; }
.blog-card__cat { font-size: 12.5px; color: var(--mute); }
.works-case-title { margin: 0; color: var(--k); font-size: 18px; line-height: 1.55; font-weight: 700; letter-spacing: .02em; }
.blog-card__title { margin: 0 0 12px; }
.blog-card__excerpt { margin: 0; font-size: 15px; color: var(--mute); line-height: 1.8; }
@media (min-width: 768px) {
	.blog-list:has(> .blog-card:only-child) { grid-template-columns: minmax(0, 560px); justify-content: center; }
}
.blog-empty { margin: 8px 0 0; font-family: var(--sans); font-size: 1rem; color: var(--mute); }
.navigation.pagination { margin-top: 28px; text-align: center; font-family: var(--sans); }
.navigation.pagination .nav-links { display: flex; justify-content: center; gap: 10px; }
.navigation.pagination .page-numbers { color: var(--k); }
.navigation.pagination .page-numbers.current { font-weight: 800; }
.screen-reader-text { position: absolute !important; clip: rect(1px, 1px, 1px, 1px); width: 1px; height: 1px; overflow: hidden; }

/* Article detail uses Mauerpark LP heading styles, followed by the article body. */
.blog-article { font-family: var(--sans); }
.blog-article .mp-back a { color: var(--ink); }
.blog-article .sec { padding: 0 0 52px; }
.blog-article .wrap { max-width: 760px; padding: 0 20px; }
.blog-article__meta { max-width: 960px; margin: 0 auto; padding: 16px 24px 0; }
.blog-article__meta .works-case-label { margin: 0; }
.blog-article .mauerpark-icon-heading { padding-top: 18px !important; }
.mp-preview-return { position: fixed; z-index: 10000; top: 88px; left: 0; right: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 24px; background: #1f1815; color: #fff; font-size: 13px; line-height: 1.5; }
.mp-preview-return-spacer { height: 47.5px; }
.mp-preview-return a { flex: 0 0 auto; padding: 6px 12px; border-radius: 4px; background: #fff; color: #1f1815; font-size: 13px; font-weight: 700; line-height: 1.5; text-decoration: none; }
.mp-preview-return a:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.blog-article__thumb { margin: 24px 0; border-radius: 8px; overflow: hidden; box-shadow: 0 4px 10px rgba(0,0,0,.12); background: #f2f2f2; aspect-ratio: 4 / 3; }
.blog-article__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.blog-article__body { color: var(--ink); font-size: 16px; line-height: 1.9; overflow-wrap: anywhere; }
.blog-article__body > * { margin-top: 0; margin-bottom: 16px; }
.blog-article__body h2, .blog-article__body h3 { margin: 30px 0 14px; padding: 0 0 8px; border: 0; border-bottom: 2px solid #000; color: #1f1815; font-family: "Hiragino Sans", "Yu Gothic", "YuGothic", sans-serif; font-size: clamp(17px, 1.5vw, 20px); font-weight: 700; line-height: 1.5; letter-spacing: .02em; }
.blog-article__body h2::before, .blog-article__body h2::after, .blog-article__body h3::before, .blog-article__body h3::after { display: none; }
@media (max-width: 767px) { .blog-article__body h2, .blog-article__body h3 { font-size: 17px; } }
.blog-article__body p { margin: 0 0 16px; }
.blog-article__body ul, .blog-article__body ol { margin: 0 0 16px; padding-left: 1.4em; list-style: revert; }
.blog-article__body img { max-width: 100%; height: auto; border-radius: 8px; margin: 16px 0; }
.blog-article__body figure { display: block; width: auto; max-width: 100%; margin: 24px 0; text-align: center; }
.blog-article__body figure img { display: block; width: 400px; max-width: 100%; height: auto; margin: 0 auto; }
.blog-article__body figcaption { width: 100%; max-width: 100%; margin: 8px auto 0; color: var(--mute); font-size: 13px; text-align: center; }
.blog-article__body a { color: var(--k); text-decoration: underline; }
.blog-article__tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0; padding: 0; list-style: none; }
.blog-article__tags a { color: var(--k); font-size: 13px; }
.mp-pn { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 24px 0; }
.mp-pn__item a { color: var(--ink); }
.mp-back { margin: 24px 0 0; text-align: center; }
@media (max-width: 390px) { .blog-article__body { font-size: 15px; } }

/* Reuse the contact CTA from the Mauerpark LP at the end of each article. */
.hitotoki-cta3-wrap { display: block; width: 100%; background: #fff; padding: 32px 20px; box-sizing: border-box; }
.hitotoki-cta3-inner { max-width: 960px; margin: 0 auto; }
.hitotoki-cta3-columns { display: flex; flex-direction: column; gap: 16px; }
.hitotoki-cta3-card { width: 100%; max-width: 480px; margin: 0 auto; background: #f7f4ef; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,.05), 0 4px 4px -4px rgba(0,0,0,.1); padding: 28px 22px; box-sizing: border-box; text-align: center; display: flex; flex-direction: column; align-items: center; }
.hitotoki-cta3-heading { margin: 0 0 10px; padding-bottom: 8px; border-bottom: 2px solid #000 !important; color: #222; font-family: "Hiragino Sans", "Yu Gothic", "YuGothic", sans-serif; font-size: 18px; font-weight: 700; line-height: 1.5; }
.hitotoki-cta3-heading::after, .hitotoki-cta3-heading::before { display: none !important; content: none !important; border: none !important; }
.hitotoki-cta3-heading span { text-decoration: none !important; }
.hitotoki-cta3-text { margin: 0 0 20px; color: #333; font-size: 14px; line-height: 1.8; }
.hitotoki-cta3-btn { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding: 12px 28px; border: 2px solid transparent; border-radius: 80px; box-sizing: border-box; font-size: 15px; font-weight: 700; text-decoration: none; white-space: nowrap; transition: background-color .2s ease, color .2s ease, border-color .2s ease; }
.hitotoki-cta3-btn--fill { background: #000; color: #fff !important; box-shadow: 0 3px 8px rgba(0,0,0,.35); }
.hitotoki-cta3-btn--outline { background: transparent; color: #000; border: 1px solid #000; font-weight: 600; }
.hitotoki-cta3-btn--line { background: #06C755; color: #fff; box-shadow: 0 3px 8px rgba(6,199,85,.35); }
.hitotoki-cta3-btn--fill:hover { background: #fff !important; color: #000 !important; border-color: #000 !important; box-shadow: none !important; }
.hitotoki-cta3-btn--line:hover { background: #fff !important; color: #06C755 !important; border-color: #06C755 !important; box-shadow: none !important; }
@media (min-width: 768px) {
	.hitotoki-cta3-wrap { padding: 56px 24px; }
	.hitotoki-cta3-columns { flex-direction: row; flex-wrap: wrap; gap: 20px; justify-content: center; }
	.hitotoki-cta3-card { flex: 1 1 260px; max-width: 300px; padding: 40px 28px; }
	.hitotoki-cta3-heading { margin: 0 0 12px; font-size: 20px; }
	.hitotoki-cta3-text { margin: 0 0 24px; font-size: 15px; }
}

html, body.mp-blog { overflow-x: clip; }

@media (max-width: 768px) {
	.mp-preview-return { top: calc(64px + env(safe-area-inset-top, 0px)); padding: 8px 14px; }
	.mauerpark-icon-heading { padding: 36px 18px 12px !important; font-size: 20px !important; line-height: 1.35 !important; letter-spacing: .02em !important; }
	.mauerpark-icon-heading::before { flex-basis: 64px; width: 64px; margin-right: 12px; }
	.mauerpark-icon-heading__content { min-height: 34px; padding-left: 14px; }
	.mauerpark-icon-heading__content::before { height: 30px; }
	.blog-article__meta { padding: 14px 18px 0; }
	.blog-article .mauerpark-icon-heading { padding-top: 14px !important; }
}
@media (max-width: 390px) {
	.blog-card__excerpt { font-size: 15px; }
	.works-case-title { font-size: 17px; }
}
