/**
 * 記事・一覧・お問い合わせ・サイトマップの見た目（2026-10-31 テストサイトで試作）
 *
 * 本文（ブロック）には手を入れず、テンプレートの出力にだけ当てる。事業紹介などの新しいレイアウト（pages.css）と
 * 同じ色・文字・余白の決まりにそろえる。社史（history）の記事は対象外（山田さんの指示）。
 * 対象：お知らせ（.single-post／.blog／.category／.tag）、制作実績（.single-pastwork／.post-type-archive-pastwork）、
 *       コラム（.single-dm／.single-cf／.single-sp と各一覧）、お問い合わせ（.page-id-1790）、サイトマップ（.page-id-914）
 */

:root {
	--jh-a-primary: var(--vk-color-primary, #8160fc);
	--jh-a-primary-dark: var(--vk-color-primary-dark, #674dca);
	--jh-a-ink: #222;
	--jh-a-sub: #5f5f6b;
	--jh-a-line: #e6e4ee;
	--jh-a-tint: #f6f5fb;
}

/* ============================================================
 * 1. 記事の本文（お知らせ・制作実績・コラム）
 * ============================================================ */
:is(.single-post, .single-pastwork, .single-dm, .single-cf, .single-sp) .entry-body {
	color: var(--jh-a-ink);
}
:is(.single-post, .single-pastwork, .single-dm, .single-cf, .single-sp) .entry-body > p,
:is(.single-post, .single-pastwork, .single-dm, .single-cf, .single-sp) .entry-body > ul li,
:is(.single-post, .single-pastwork, .single-dm, .single-cf, .single-sp) .entry-body > ol li {
	font-size: 16px;
	line-height: 1.95;
}
/* 制作実績は 1 列なので、1 行が長くなりすぎないよう本文の幅を絞る（画像はそのまま） */
.single-pastwork .entry-body > :not(figure):not(.wp-block-image):not(.alignwide):not(.alignfull) {
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
}
.single-pastwork .entry-body > .wp-block-image img {
	border-radius: 8px;
}
.single-pastwork .entry-body > .wp-block-image {
	margin-bottom: 40px !important;
}
/* 本文の見出し（装飾のスタイルを選んでいない素の見出しだけ） */
:is(.single-post, .single-pastwork, .single-dm, .single-cf, .single-sp) .entry-body > h2.wp-block-heading:not([class*="is-style"]) {
	margin-top: 56px !important;
	margin-bottom: 20px !important;
	padding: 0 0 12px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--jh-a-line) !important;
	background: none !important;
	font-size: 22px;
	line-height: 1.5;
}
:is(.single-post, .single-pastwork, .single-dm, .single-cf, .single-sp) .entry-body > h3.wp-block-heading:not([class*="is-style"]) {
	margin-top: 40px !important;
	margin-bottom: 14px !important;
	padding: 0 0 0 12px !important;
	border: 0 !important;
	border-left: 3px solid var(--jh-a-primary) !important;
	background: none !important;
	font-size: 18px;
	line-height: 1.5;
}
:is(.single-post, .single-pastwork, .single-dm, .single-cf, .single-sp) .entry-body > h2.wp-block-heading:not([class*="is-style"])::before,
:is(.single-post, .single-pastwork, .single-dm, .single-cf, .single-sp) .entry-body > h2.wp-block-heading:not([class*="is-style"])::after,
:is(.single-post, .single-pastwork, .single-dm, .single-cf, .single-sp) .entry-body > h3.wp-block-heading:not([class*="is-style"])::before,
:is(.single-post, .single-pastwork, .single-dm, .single-cf, .single-sp) .entry-body > h3.wp-block-heading:not([class*="is-style"])::after {
	content: none !important;
	display: none !important;
}
:is(.single-post, .single-pastwork, .single-dm, .single-cf, .single-sp) .entry-body > figure.wp-block-image img {
	border-radius: 6px;
}
/* 記事の題名（コラムなど本文の上に出るもの） */
:is(.single-post, .single-dm, .single-cf, .single-sp) .entry-header .entry-title {
	font-size: clamp(24px, 2.6vw, 30px);
	line-height: 1.5;
	letter-spacing: 0.02em;
}
:is(.single-post, .single-dm, .single-cf, .single-sp) .entry-meta {
	color: var(--jh-a-sub);
	font-size: 13px;
}
@media (max-width: 767.98px) {
	:is(.single-post, .single-pastwork, .single-dm, .single-cf, .single-sp) .entry-body > p,
	:is(.single-post, .single-pastwork, .single-dm, .single-cf, .single-sp) .entry-body > ul li,
	:is(.single-post, .single-pastwork, .single-dm, .single-cf, .single-sp) .entry-body > ol li {
		font-size: 15px;
		line-height: 1.9;
	}
	:is(.single-post, .single-pastwork, .single-dm, .single-cf, .single-sp) .entry-body > h2.wp-block-heading:not([class*="is-style"]) {
		margin-top: 40px !important;
		font-size: 19px;
	}
	:is(.single-post, .single-pastwork, .single-dm, .single-cf, .single-sp) .entry-body > h3.wp-block-heading:not([class*="is-style"]) {
		font-size: 16px;
	}
	:is(.single-post, .single-dm, .single-cf, .single-sp) .entry-header .entry-title {
		font-size: 22px;
	}
}

/* 前後の記事：写真の上に題名を重ねた大きなカード（1 枚 300px 超）を、小さな写真＋題名の行にする */
:is(.single-post, .single-pastwork, .single-dm, .single-cf, .single-sp) .next-prev {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	max-width: 960px;
	margin: 56px auto 0 !important;
	padding: 24px 0 0;
	border-top: 1px solid var(--jh-a-line);
}
:is(.single-post, .single-pastwork, .single-dm, .single-cf, .single-sp) .next-prev > * {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	flex: none !important;
}
:is(.single-post, .single-pastwork, .single-dm, .single-cf, .single-sp) .next-prev .card-intext-inner {
	display: grid !important;
	grid-template-columns: 120px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
	height: auto !important;
	padding: 0 !important;
	background: none !important;
	color: var(--jh-a-ink) !important;
}
:is(.single-post, .single-pastwork, .single-dm, .single-cf, .single-sp) .next-prev .vk_post_imgOuter {
	position: relative;
	height: auto !important;
	padding: 0 !important;
	overflow: hidden;
	border-radius: 6px;
}
:is(.single-post, .single-pastwork, .single-dm, .single-cf, .single-sp) .next-prev .vk_post_imgOuter img {
	position: static !important;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}
:is(.single-post, .single-pastwork, .single-dm, .single-cf, .single-sp) .next-prev .card-img-overlay {
	display: none !important;
}
:is(.single-post, .single-pastwork, .single-dm, .single-cf, .single-sp) .next-prev .vk_post_body {
	position: static !important;
	padding: 0 !important;
	background: none !important;
}
:is(.single-post, .single-pastwork, .single-dm, .single-cf, .single-sp) .next-prev .vk_post_title {
	margin: 0 !important;
	color: var(--jh-a-ink) !important;
	font-size: 14px !important;
	line-height: 1.6;
	text-shadow: none !important;
}
@media (max-width: 575.98px) {
	:is(.single-post, .single-pastwork, .single-dm, .single-cf, .single-sp) .next-prev {
		grid-template-columns: 1fr;
		gap: 12px;
	}
	:is(.single-post, .single-pastwork, .single-dm, .single-cf, .single-sp) .next-prev .card-intext-inner {
		grid-template-columns: 96px minmax(0, 1fr);
	}
}

/* ============================================================
 * 2. お知らせの一覧（更新情報）
 * 右の「最近の投稿」は一覧と同じ記事が並ぶだけなので出さず、1 列の読みやすい一覧にする
 * ============================================================ */
:is(.blog, .category, .tag) .sub-section {
	display: none;
}
:is(.blog, .category, .tag) .main-section {
	float: none !important;
	width: 100% !important;
	max-width: 880px;
	margin-left: auto !important;
	margin-right: auto !important;
}
:is(.blog, .category, .tag) .vk_posts-layout-media {
	margin: 0 !important;
}
:is(.blog, .category, .tag) .vk_posts-layout-media .vk_post.media {
	display: grid !important;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: 28px;
	align-items: center;
	width: 100% !important;
	margin: 0 !important;
	padding: 24px 0 !important;
	border-top: 0 !important;
	border-bottom: 1px solid var(--jh-a-line) !important;
}
:is(.blog, .category, .tag) .vk_posts-layout-media .vk_post.media:first-child {
	border-top: 1px solid var(--jh-a-line) !important;
}
:is(.blog, .category, .tag) .vk_posts-layout-media .media-img {
	width: auto !important;
	margin: 0 !important;
	overflow: hidden;
	border-radius: 6px;
}
:is(.blog, .category, .tag) .vk_posts-layout-media .media-img img {
	position: static !important;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	transition: transform 0.4s;
}
:is(.blog, .category, .tag) .vk_posts-layout-media .vk_post:hover .media-img img {
	transform: scale(1.04);
}
:is(.blog, .category, .tag) .vk_posts-layout-media .media-body {
	display: flex;
	flex-direction: column-reverse;
	width: auto !important;
	padding: 0 !important;
}
:is(.blog, .category, .tag) .vk_posts-layout-media .media-title {
	margin: 0 !important;
	font-size: 17px !important;
	line-height: 1.6;
}
:is(.blog, .category, .tag) .vk_posts-layout-media .media-title a {
	color: var(--jh-a-ink);
}
:is(.blog, .category, .tag) .vk_posts-layout-media .vk_post_dates {
	margin: 0 0 6px !important;
	color: var(--jh-a-primary-dark);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.04em;
}
@media (max-width: 575.98px) {
	:is(.blog, .category, .tag) .vk_posts-layout-media .vk_post.media {
		grid-template-columns: 112px minmax(0, 1fr);
		gap: 14px;
		padding: 16px 0 !important;
	}
	:is(.blog, .category, .tag) .vk_posts-layout-media .media-title {
		font-size: 14px !important;
		line-height: 1.55;
	}
	:is(.blog, .category, .tag) .vk_posts-layout-media .vk_post_dates {
		margin-bottom: 4px !important;
		font-size: 12px;
	}
}

/* ============================================================
 * 3. 制作実績・コラムの一覧（カード）
 * 右の「最近の投稿」（お知らせ）は制作実績と関係がないので出さず、全幅のカードにする。
 * 題名を写真に重ねて途中で切っていた（…）のをやめ、写真の下に全文を出す
 * ============================================================ */
.post-type-archive:is(.post-type-archive-pastwork, .post-type-archive-dm, .post-type-archive-cf, .post-type-archive-sp) .sub-section {
	display: none;
}
.post-type-archive:is(.post-type-archive-pastwork, .post-type-archive-dm, .post-type-archive-cf, .post-type-archive-sp) .main-section {
	float: none !important;
	width: 100% !important;
}
.post-type-archive .vk_posts-layout-card-intext {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 40px 28px;
	margin: 0 !important;
}
.post-type-archive .vk_posts-layout-card-intext > .vk_post {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
	background: none !important;
}
.post-type-archive .vk_posts-layout-card-intext .card-intext-inner {
	display: block !important;
	height: auto !important;
	background: none !important;
	color: var(--jh-a-ink) !important;
}
.post-type-archive .vk_posts-layout-card-intext .vk_post_imgOuter {
	position: relative;
	height: auto !important;
	padding: 0 !important;
	overflow: hidden;
	border-radius: 6px;
	box-shadow: 0 4px 18px rgba(30, 20, 80, 0.08);
}
.post-type-archive .vk_posts-layout-card-intext .vk_post_imgOuter img {
	position: static !important;
	display: block;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	object-position: center top;
	transition: transform 0.4s;
}
.post-type-archive .vk_posts-layout-card-intext .vk_post:hover .vk_post_imgOuter img {
	transform: scale(1.04);
}
.post-type-archive .vk_posts-layout-card-intext .card-img-overlay {
	display: none !important;
}
.post-type-archive .vk_posts-layout-card-intext .vk_post_body {
	position: static !important;
	padding: 14px 0 0 !important;
	background: none !important;
}
.post-type-archive .vk_posts-layout-card-intext .vk_post_title {
	margin: 0 !important;
	overflow: visible !important;
	color: var(--jh-a-ink) !important;
	font-size: 16px !important;
	line-height: 1.6;
	white-space: normal !important;
	text-overflow: clip !important;
	text-shadow: none !important;
}
.post-type-archive .vk_posts-layout-card-intext .vk_post_title .vk_post_title_new {
	margin-left: 6px;
	color: var(--jh-a-primary) !important;
	font-size: 11px;
	letter-spacing: 0.04em;
}
@media (max-width: 991.98px) {
	.post-type-archive .vk_posts-layout-card-intext {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 32px 20px;
	}
}
@media (max-width: 575.98px) {
	.post-type-archive .vk_posts-layout-card-intext {
		gap: 24px 12px;
	}
	.post-type-archive .vk_posts-layout-card-intext .vk_post_title {
		font-size: 13px !important;
		line-height: 1.55;
	}
}

/* ページ送り */
:is(.blog, .category, .tag, .post-type-archive) .pagination {
	margin-top: 48px;
}
:is(.blog, .category, .tag, .post-type-archive) .pagination .page-numbers {
	border-radius: 999px;
}

/* ============================================================
 * 4. サイトマップ（ExUnit が出力する一覧。.veu_sitemap > .sitemap-col が 2 列）
 * ============================================================ */
.page-id-914 .veu_sitemap {
	row-gap: 32px;
}
.page-id-914 .veu_sitemap ul {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}
.page-id-914 .veu_sitemap li {
	margin: 0 !important;
	font-size: 15px;
	line-height: 1.6;
}
.page-id-914 .veu_sitemap li::before {
	content: none !important;
}
.page-id-914 .veu_sitemap .link-list li a,
.page-id-914 .veu_sitemap h4 a {
	display: block;
	padding: 11px 0;
	border-bottom: 1px solid var(--jh-a-line);
	color: var(--jh-a-ink);
	text-decoration: none;
}
.page-id-914 .veu_sitemap .link-list li a:hover,
.page-id-914 .veu_sitemap h4 a:hover {
	color: var(--jh-a-primary-dark);
}
.page-id-914 .veu_sitemap ul.children li a {
	padding-left: 1.4em;
	color: var(--jh-a-sub);
	font-size: 14px;
}
.page-id-914 .veu_sitemap ul.children li a::before {
	content: "－";
	margin-right: 6px;
	color: #c9c6d6;
}
.page-id-914 .veu_sitemap h4.sitemap-post-type-title {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	font-size: 15px;
	font-weight: 700;
}
.page-id-914 .veu_sitemap h4::before,
.page-id-914 .veu_sitemap h4::after,
.page-id-914 .veu_sitemap h5::before,
.page-id-914 .veu_sitemap h5::after {
	content: none !important;
	display: none !important;
}
.page-id-914 .veu_sitemap h5.sitemap-taxonomy-title {
	margin: 18px 0 6px !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	color: var(--jh-a-sub);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
}
/* タグ：ページ名と同じ見え方の長いリストだったので、小さなラベルを並べる */
.page-id-914 .veu_sitemap ul.sitemap-taxonomy-post_tag {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.page-id-914 .veu_sitemap ul.sitemap-taxonomy-post_tag li a {
	padding: 4px 12px;
	border: 1px solid var(--jh-a-line);
	border-radius: 999px;
	color: var(--jh-a-sub);
	font-size: 12px;
}
.page-id-914 .veu_sitemap .sectionBox + .sectionBox,
.page-id-914 .veu_sitemap .sitemap-post + .sitemap-post {
	margin-top: 8px;
}

/* VK は写真を「枠の背景画像」と「img」の 2 重で出している。img を普通に流したので、背景画像は消す（写真が 2 枚重なって見えた） */
:is(.blog, .category, .tag) .vk_posts-layout-media .media-img,
.post-type-archive .vk_posts-layout-card-intext .vk_post_imgOuter,
:is(.single-post, .single-pastwork, .single-dm, .single-cf, .single-sp) .next-prev .vk_post_imgOuter {
	background-image: none !important;
	padding-top: 0 !important;
}
:is(.blog, .category, .tag) .vk_posts-layout-media .media-img > a {
	display: block;
}
/* 枠の高さを ::before の padding で作る仕組みも外す（img の上に空白ができていた） */
:is(.blog, .category, .tag) .vk_posts-layout-media .media-img::before,
:is(.blog, .category, .tag) .vk_posts-layout-media .media-img::after,
.post-type-archive .vk_posts-layout-card-intext .vk_post_imgOuter::before,
.post-type-archive .vk_posts-layout-card-intext .vk_post_imgOuter::after,
:is(.single-post, .single-pastwork, .single-dm, .single-cf, .single-sp) .next-prev .vk_post_imgOuter::before,
:is(.single-post, .single-pastwork, .single-dm, .single-cf, .single-sp) .next-prev .vk_post_imgOuter::after {
	content: none !important;
	display: none !important;
}
.post-type-archive .vk_posts-layout-card-intext > .vk_post,
.post-type-archive .vk_posts-layout-card-intext .card-intext-inner,
:is(.blog, .category, .tag) .vk_posts-layout-media .vk_post.media {
	height: auto !important;
	min-height: 0 !important;
}

/* ============================================================
 * 5. お問い合わせ（本文はフォームと同意の仕組みが読み取るので触らず、見た目だけ整える）
 * ============================================================ */
.page-id-1790 .entry-body > p:first-child {
	max-width: 46em;
	margin-left: auto !important;
	margin-right: auto !important;
	font-size: 16px;
	line-height: 2;
}
/* よくある質問：Q の印を赤からブランドの色に、カードは枠線だけの静かなものに */
.page-id-1790 .vk_faq.is-style-vk_faq-border-square {
	border: 1px solid var(--jh-a-line) !important;
	border-radius: 6px;
	box-shadow: none !important;
}
.page-id-1790 .vk_faq.is-style-vk_faq-border-square .vk_faq_title::before {
	border-color: var(--jh-a-primary) !important;
	border-radius: 4px;
	color: var(--jh-a-primary) !important;
}
.page-id-1790 .vk_faq.is-style-vk_faq-border-square .vk_faq_content::before {
	border-color: var(--jh-a-primary-dark) !important;
	border-radius: 4px;
	background: var(--jh-a-primary-dark) !important;
	color: #fff !important; /* A は白抜き。VK 既定の青のままだと濃い紫の地で読みにくかった（2026-11-02 山田さんの指示） */
}
.page-id-1790 .vk_faq .vk_faq_title {
	font-size: 15px;
	line-height: 1.6;
}
.page-id-1790 .vk_faq .vk_faq_content {
	color: var(--jh-a-sub);
	font-size: 14px;
	line-height: 1.85;
}
/* アクセス：見出しを他のページと同じ大きさに、代表電話の行（24px の太字）を本文に合わせる */
.page-id-1790 .entry-body > h2.wp-block-heading {
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	font-size: clamp(22px, 2.6vw, 30px);
	letter-spacing: 0.04em;
}
.page-id-1790 .entry-body > h2.wp-block-heading::before,
.page-id-1790 .entry-body > h2.wp-block-heading::after {
	content: none !important;
	display: none !important;
}
.page-id-1790 .entry-body > p strong {
	font-size: 17px;
	letter-spacing: 0.02em;
}
.page-id-1790 .entry-body > iframe {
	display: block;
	width: 100% !important;
	max-width: 100%;
	border: 0;
	border-radius: 8px;
}
@media (max-width: 767.98px) {
	.page-id-1790 .entry-body > p:first-child {
		font-size: 15px;
		line-height: 1.9;
	}
	.page-id-1790 .entry-body > p strong {
		font-size: 16px;
	}
	.page-id-1790 .entry-body > iframe {
		height: 300px !important;
	}
}
