/**
 * Creative Bold テーマ固有スタイル
 * 模写元: ai-catalog/design-catalog/creative-bold/src/components/*.tsx
 *
 * 構成:
 * - core ブロック中心の home (wp:cover, wp:heading, wp:paragraph, wp:group, wp:columns)
 * - クラス名で BEM スタイリング: bold-{section}-{element}
 */

:root {
	/* リッチ株式会社向け: ブランドカラー = ゴールド（Xロゴ「R / RICH」準拠）。
	 * creative-bold標準のコーラル/イエローをゴールドへ置換。変数名は据え置き（参照138箇所を維持）。
	 * 🔴 正確なロゴ色値はロゴデータ支給後にこの2行を更新するだけで全体に反映。 */
	--bold-coral: #C8A24A;  /* 旧 #FF3D00 コーラル → リッチゴールド（主アクセント） */
	--bold-yellow: #E3C77E; /* 旧 #F5E642 イエロー → ライトゴールド（グラデ終点・補助） */
	--bold-black: #0D0D0D;
	--bold-white: #FFFFFF;
	--bold-gray: #8C8C8C;
	--bold-light: #F2F2F2;
}

/* リキッドrem root（1rem=10px）は dz-base/style.css に共通化（ADR-0014） */

/* ====================
 * Hero (wp:cover)
 * ==================== */
.bold-hero {
	position: relative;
	color: var(--bold-white);
	overflow: hidden;
}

.bold-hero .wp-block-cover__inner-container {
	width: 100%;
	max-width: 140rem;
	margin: auto auto 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2rem;
	z-index: 2;
	padding-top: 9.6rem;
}

/* Hero center coral stripe (装飾、CSS のみで実現 = wp:html 不要) */
.bold-hero::after {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 0.2rem;
	height: 100%;
	background: var(--bold-coral);
	opacity: 0.3;
	pointer-events: none;
	z-index: 1;
}

/* Hero scroll indicator: 縦書き "Scroll" + コーラル縦線（scaleY アニメ） */
.bold-hero::before {
	content: "Scroll";
	position: absolute;
	right: 2.4rem;
	bottom: 10.4rem;
	writing-mode: vertical-rl;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.28rem;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.5);
	z-index: 3;
	pointer-events: none;
}

.bold-hero .wp-block-cover__background::after {
	content: "";
	position: absolute;
	right: calc(2.4rem + 0.3em);
	bottom: 3.2rem;
	width: 0.2rem;
	height: 6rem;
	background: var(--bold-coral);
	transform-origin: top;
	animation: bold-hero-scroll-line 1.5s ease-in-out infinite;
	z-index: 3;
	pointer-events: none;
}

@keyframes bold-hero-scroll-line {
	0%, 100% { transform: scaleY(1); }
	50%      { transform: scaleY(0.4); }
}

/* Hero ラベル絶対配置（固定ヘッダー直下: top 8.8rem / left 2.4rem） */
.bold-hero-label {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.44rem;
	font-weight: 500;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.5);
	margin: 0;
	position: absolute;
	top: 8.8rem;
	left: 2.4rem;
	z-index: 3;
}

h1.bold-hero-headline {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(3rem, 14vw, 14rem);
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: var(--bold-white);
	margin: 0;
	font-weight: 400;
}

.bold-accent-word {
	color: var(--bold-coral);
}

.bold-hero-subtagline {
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	font-size: clamp(1.6rem, 2.6vw, 1.952rem);
	color: rgba(255, 255, 255, 0.7);
	margin: 0;
}

/* ====================
 * セクションラベル + 見出し
 * ==================== */
.bold-section-label {
	font-family: var(--wp--preset--font-family--body);
	color: var(--bold-coral);
	font-weight: 500;
	font-size: 1.12rem;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	margin: 0 0 1.2rem;
}

h2.bold-display-heading,
h1.bold-display-heading,
h3.bold-display-heading {
	font-family: var(--wp--preset--font-family--display);
	letter-spacing: -0.02em;
	color: var(--bold-black);
	font-weight: 400;
	margin: 0;
}

/* セクション見出し(h2/h3)は React に合わせ clamp(3rem,6vw,6rem)。h1 はページ/ヒーロー見出し用に大きいまま維持 */
h2.bold-display-heading,
h3.bold-display-heading {
	font-size: clamp(3rem, 6vw, 6rem);
	line-height: 1.1;
}

h1.bold-display-heading {
	font-size: clamp(4.8rem, 6vw, 9.6rem);
	line-height: 0.9;
}

.bold-section-header {
	gap: 1.6rem;
	margin-bottom: 8rem;
}

.bold-section-intro {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.44rem;
	color: var(--bold-gray);
	max-width: 32rem;
	line-height: 1.8;
	margin: 0;
}

/* ====================
 * Message (wp:group)
 * ==================== */
.bold-message-section {
	position: relative;
	overflow: hidden;
}

/* Outlined "BOLD" decorative letter (CSS擬似要素で実現 = wp:html 不要) */
.bold-message-section::before {
	content: "BOLD";
	position: absolute;
	top: -2rem;
	right: -1rem;
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(8rem, 25vw, 22rem);
	line-height: 1;
	color: transparent;
	-webkit-text-stroke: 0.1rem var(--bold-light);
	letter-spacing: -0.03em;
	user-select: none;
	pointer-events: none;
	z-index: 0;
}

.bold-message-quote {
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	font-weight: 600;
	font-size: clamp(1.9rem, 3.5vw, 2.9rem);
	line-height: 1.4;
	color: var(--bold-black);
	max-width: 90rem;
	margin: 0 0 2rem;
	position: relative;
	z-index: 1;
}

.bold-message-quote::before {
	content: '"';
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(4rem, 8vw, 8rem);
	line-height: 0.8;
	color: var(--bold-coral);
	display: block;
	margin-bottom: -1rem;
}

.bold-message-jp {
	font-family: var(--wp--preset--font-family--body);
	font-size: clamp(1.6rem, 2.4vw, 1.7rem);
	color: var(--bold-gray);
	letter-spacing: 0.05em;
	line-height: 1.8;
	max-width: 90rem;
	margin: 0 0 2.5rem;
	position: relative;
	z-index: 1;
}

/* Author line (CSS擬似要素 ::before で 3rem コーラル細線を実現 = wp:html 不要) */
.bold-message-author-text {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--bold-gray);
	max-width: 90rem;
	margin: 0;
	display: flex;
	align-items: center;
	gap: 1rem;
	position: relative;
	z-index: 1;
}

.bold-message-author-text::before {
	content: "";
	display: inline-block;
	width: 3rem;
	height: 0.1rem;
	background: var(--bold-coral);
	flex-shrink: 0;
}

/* ====================
 * About section + Stats（dz/about ブロックを creative-bold 用に上書き）
 * 模写元: app/demos/creative-bold/components/About.tsx
 * 黒背景＋上下クリップパス、テキスト左／スキュー画像右、コーラルのアクセントバー。
 * stats は about と地続きの黒バー（数値=コーラル、上下ボーダー区切り）。
 * .bold-about は home.php の dz/about に付与した className（プラグイン本体は不変更）。
 * ==================== */
.bold-about.dz-about {
	background: var(--bold-black);
	color: var(--bold-white);
	overflow: hidden;
	padding: 8rem 3.2rem 6.4rem;
	margin-top: -2rem;
	margin-bottom: 0;
	clip-path: polygon(0 4%, 100% 0%, 100% 100%, 0% 100%);
}

.bold-about .dz-about__inner {
	max-width: 140rem;
	gap: 4rem;
	align-items: stretch;
}

.bold-about .dz-about__text {
	justify-content: center;
	gap: 0;
}

.bold-about .dz-about__label {
	display: block;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--bold-coral);
	opacity: 1;
	margin: 0 0 1rem;
}

.bold-about .dz-about__heading {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(3rem, 7vw, 7rem);
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: var(--bold-white);
	margin: 0 0 1.5rem;
}

.bold-about .dz-about__subheading {
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(1.6rem, 2.2vw, 1.8rem);
	font-style: italic;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.6);
	opacity: 1;
	margin: 0 0 1.5rem;
}

.bold-about .dz-about__description {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	line-height: 1.9;
	color: rgba(255, 255, 255, 0.65);
	margin: 0;
}

.bold-about .dz-about__description p {
	margin: 0;
}

/* 右カラム: スキュー画像＋下端コーラルバー */
.bold-about .dz-about__media {
	position: relative;
	overflow: hidden;
	transform: skewX(-3deg);
	min-height: 40rem;
}

.bold-about .dz-about__media img {
	width: 100%;
	height: 100%;
	min-height: 40rem;
	object-fit: cover;
	transform: skewX(3deg);
	filter: grayscale(30%);
}

.bold-about .dz-about__media::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 0.4rem;
	background: var(--bold-coral);
}

/* Stats: about と地続きの黒バー */
.bold-stats-section {
	background: var(--bold-black);
	margin-top: 0;
	margin-bottom: -2rem;
	clip-path: polygon(0 0, 100% 0, 100% 96%, 0% 100%);
}

.bold-stats-grid.wp-block-columns {
	border-top: 0.1rem solid rgba(255, 255, 255, 0.15);
	border-bottom: 0.1rem solid rgba(255, 255, 255, 0.15);
	padding: 4.8rem 0;
	margin: 0;
	gap: 3.2rem;
}

.bold-stat-value {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(2.5rem, 5vw, 4.5rem);
	line-height: 1;
	color: var(--bold-coral);
	margin: 0;
	letter-spacing: -0.02em;
}

.bold-stat-label {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.4);
	margin: 0.25rem 0 0;
}

/* ====================
 * Service vertical list (wp:group based rows)
 * ==================== */
.bold-service-row {
	gap: 2rem !important;
	align-items: flex-start;
	padding: 2.5rem 1rem;
	border-top: 0.1rem solid rgba(13, 13, 13, 0.12);
	transition: transform 0.3s ease;
}

.bold-service-row:first-of-type {
	border-top: 0.1rem solid var(--bold-black);
}

.bold-service-row:last-of-type {
	border-bottom: 0.1rem solid rgba(13, 13, 13, 0.12);
}

.bold-service-row:hover {
	transform: translateX(0.8rem);
}

h4.bold-service-row__num {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.9rem, 2.7vw, 2.2rem);
	color: var(--bold-coral);
	min-width: 3rem;
	line-height: 1;
	padding-top: 0.25rem;
	margin: 0;
	font-weight: 400;
}

.bold-service-row__body {
	flex: 1;
}

.bold-service-row__heading {
	gap: 1rem !important;
	margin-bottom: 0.75rem;
}

h3.bold-service-row__title {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.9rem, 3vw, 2.6rem);
	letter-spacing: 0.02em;
	color: var(--bold-black);
	margin: 0;
	line-height: 1;
	font-weight: 400;
}

.bold-service-row__title-jp {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.6rem;
	color: var(--bold-gray);
	margin: 0;
}

.bold-service-row__desc {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	line-height: 1.9;
	color: var(--bold-gray);
	margin: 0 0 1rem;
	max-width: 60rem;
}

.bold-service-row__tags {
	gap: 0.5rem !important;
}

.bold-service-tag {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--bold-black);
	border: 0.1rem solid var(--bold-black);
	padding: 0.25rem 0.75rem;
	margin: 0;
}

/* Service ヘッダー: ラベル/見出しは共通トークン（.bold-section-label / .bold-display-heading）に統一。
   旧・React 小サイズに合わせた上書きは撤去（系統統一のため）。レイアウト系のみ残す。 */
.bold-service-section .bold-section-header {
	gap: 1rem;
	margin-bottom: 5rem;
}

.bold-service-section .bold-section-intro {
	font-size: 1.6rem;
}

/* ====================
 * Works irregular grid (wp:group with display:grid via CSS)
 * ==================== */
.bold-works-section {
	overflow: hidden;
}

.bold-works-section .bold-view-all-link {
	font-size: 1.6rem;
}

.bold-works-grid {
	display: grid !important;
	grid-template-columns: repeat(12, 1fr);
	grid-template-rows: auto auto auto;
	gap: 1rem;
	margin-top: 6.4rem;
}

/* post-template (ul/li) variant: cancel ul styling, keep grid on the post-template itself */
ul.bold-works-grid.wp-block-post-template {
	list-style: none;
	padding-left: 0;
	margin-top: 6.4rem;
}

/* let the <li.wp-block-post> participate in the parent grid placement */
.bold-works-grid.wp-block-post-template > .wp-block-post {
	display: contents;
}

.bold-works-grid__item.wp-block-cover {
	overflow: hidden;
	transition: transform 0.3s ease;
}

.bold-works-grid__item.wp-block-cover:hover {
	transform: scale(1.01);
}

/* legacy static layout (hardcoded items) */
.bold-works-grid__item--1 { grid-column: 1 / 8;  grid-row: 1 / 3; min-height: 48rem !important; }
.bold-works-grid__item--2 { grid-column: 8 / 13; grid-row: 1 / 2; min-height: 22rem !important; }
.bold-works-grid__item--3 { grid-column: 8 / 13; grid-row: 2 / 3; min-height: 22rem !important; }
.bold-works-grid__item--4 { grid-column: 1 / 6;  grid-row: 3 / 4; min-height: 35rem !important; }
.bold-works-grid__item--5 { grid-column: 6 / 13; grid-row: 3 / 4; min-height: 35rem !important; }

/* CPT-rendered layout: place by position inside post-template */
.bold-works-grid.wp-block-post-template > .wp-block-post:nth-child(1) .bold-works-grid__item { grid-column: 1 / 8;  grid-row: 1 / 3; min-height: 48rem !important; }
.bold-works-grid.wp-block-post-template > .wp-block-post:nth-child(2) .bold-works-grid__item { grid-column: 8 / 13; grid-row: 1 / 2; min-height: 22rem !important; }
.bold-works-grid.wp-block-post-template > .wp-block-post:nth-child(3) .bold-works-grid__item { grid-column: 8 / 13; grid-row: 2 / 3; min-height: 22rem !important; }
.bold-works-grid.wp-block-post-template > .wp-block-post:nth-child(4) .bold-works-grid__item { grid-column: 1 / 6;  grid-row: 3 / 4; min-height: 35rem !important; }
.bold-works-grid.wp-block-post-template > .wp-block-post:nth-child(5) .bold-works-grid__item { grid-column: 6 / 13; grid-row: 3 / 4; min-height: 35rem !important; }

.bold-works-grid__item .wp-block-cover__inner-container {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 2rem;
	background: rgba(13, 13, 13, 0.85);
	transition: opacity 0.3s ease;
	opacity: 0;
}

.bold-works-grid__item:hover .wp-block-cover__inner-container {
	opacity: 1;
}

.bold-works-grid__item .wp-block-cover__image-background {
	transition: transform 0.6s ease;
}

.bold-works-grid__item:hover .wp-block-cover__image-background {
	transform: scale(1.05);
}

.bold-works-grid__category {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: var(--bold-coral);
	margin: 0 0 0.5rem;
}

.bold-works-grid__category a {
	color: inherit;
	text-decoration: none;
}

h3.bold-works-grid__title {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.9rem, 2.8vw, 2.6rem);
	color: var(--bold-white);
	margin: 0;
	letter-spacing: 0.03em;
	font-weight: 400;
}

h3.bold-works-grid__title a {
	color: inherit;
	text-decoration: none;
}

/* タイトルのリンクをカード全面に拡張（カードのどこをクリックしても投稿へ遷移） */
h3.bold-works-grid__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

@media (max-width: 767px) {
	.bold-works-grid {
		display: flex !important;
		flex-direction: column;
		gap: 1rem;
	}
	.bold-works-grid__item { min-height: 26rem !important; }

	/* CPT variant: cancel desktop grid placement so flex column stacking works */
	.bold-works-grid.wp-block-post-template > .wp-block-post:nth-child(n) .bold-works-grid__item {
		grid-column: auto;
		grid-row: auto;
		min-height: 26rem !important;
	}
}

@media (max-width: 768px) {
	.bold-about.dz-about {
		padding: 6.4rem 2rem 4.8rem;
	}

	/* スタック時もコーラルバーが見えるよう画像に最低高さ */
	.bold-about .dz-about__media,
	.bold-about .dz-about__media img {
		min-height: 28rem;
	}

	/* React の repeat(2,1fr) に合わせ 2×2 表示（WPカラムの強制1列を上書き） */
	.bold-stats-grid.wp-block-columns {
		flex-wrap: wrap;
		gap: 2.4rem;
		padding: 3.2rem 0;
	}
	.bold-stats-grid.wp-block-columns > .wp-block-column {
		flex-basis: calc(50% - 1.2rem) !important;
		flex-grow: 0;
	}
}

.bold-view-all-link-wrap {
	margin: 0;
}

.bold-view-all-link {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.2rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--bold-black);
	text-decoration: none;
	border-bottom: 0.1rem solid var(--bold-black);
	padding-bottom: 0.2rem;
	transition: color 0.3s, border-color 0.3s;
}

.bold-view-all-link:hover {
	color: var(--bold-coral);
	border-color: var(--bold-coral);
}

/* ====================
 * News (core/query + post-template, dz_news CPT)
 * ==================== */
.bold-news-section .wp-block-query .wp-block-post-template {
	list-style: none;
	margin: 0;
	padding: 0;
}

.bold-news-row {
	display: grid !important;
	grid-template-columns: auto auto 1fr;
	gap: 1.5rem 1rem !important;
	align-items: center;
	position: relative;
	padding: 1.75rem 0;
	border-top: 0.1rem solid rgba(13, 13, 13, 0.1);
	transition: padding 0.2s ease;
}

/* 先頭行のトップボーダーのみ黒（React: 1行目 black / それ以降 light） */
.bold-news-section .wp-block-post-template > .wp-block-post:first-child .bold-news-row {
	border-top-color: var(--bold-black);
}

/* 最終行に下線を追加（React: 末尾のみ borderBottom） */
.bold-news-section .wp-block-post-template > .wp-block-post:last-child .bold-news-row {
	border-bottom: 0.1rem solid rgba(13, 13, 13, 0.1);
}

/* hover で行が右へスライド（React: whileHover paddingLeft 1rem） */
.bold-news-row:hover {
	padding-left: 1rem;
}

.bold-news-row__date {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.1em;
	color: var(--bold-gray);
	white-space: nowrap;
	margin: 0;
	font-weight: 400;
}

.bold-news-row__category {
	justify-self: start;
	display: inline-block;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--bold-black);
	background: var(--bold-light);
	padding: 0.2rem 0.6rem;
	white-space: nowrap;
	line-height: 1.4;
}

.bold-news-row__category a {
	color: inherit;
	text-decoration: none;
}

h3.bold-news-row__title {
	font-family: var(--wp--preset--font-family--body);
	font-size: clamp(1.6rem, 2.4vw, 1.7rem);
	color: var(--bold-black);
	margin: 0;
	line-height: 1.6;
	font-weight: 400;
}

.bold-news-row__title a {
	color: var(--bold-black);
	text-decoration: none;
}

/* タイトルのリンクを行全面に拡張（行のどこをクリックしても投稿へ。React: 行全体が <a>） */
.bold-news-row__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

/* ====================
 * CTA
 * ==================== */
.bold-cta-coral .wp-block-button__link {
	background: var(--bold-coral);
	color: var(--bold-black);
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	padding: 1.4rem 3.6rem;
	border-radius: 0;
	transition: background 0.3s, color 0.3s;
}

.bold-cta-coral .wp-block-button__link:hover {
	background: var(--bold-white);
	color: var(--bold-black);
}

/* dz/cta-section を React CTA.tsx に 1:1 で合わせる。
   ※ React は accent(coral) 背景＋黒見出し＋黒塗りボタン(コーラル文字)。
     design要点の「暗背景」は旧指定のため React を優先（クラス名 .bold-cta-dark は踏襲）。
   ※ 背景/文字は has-primary-background-color / has-background-color(!important) を上書きするため !important。 */
.bold-cta-dark.dz-cta-section {
	background-color: var(--bold-coral) !important;
	color: var(--bold-black) !important;
	text-align: left;
	padding-top: 8rem;
	padding-bottom: 8rem;
}

/* React に無い黒オーバーレイ(既定 50%)を消す */
.bold-cta-dark .dz-cta-section__overlay {
	display: none;
}

/* 巨大ウォーターマーク "CONTACT"（React: 右下・Bebas・黒8%）。block は html:false なので擬似要素で実装 */
.bold-cta-dark::after {
	content: "CONTACT";
	position: absolute;
	right: -1rem;
	bottom: -3rem;
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(6rem, 18vw, 18rem);
	line-height: 1;
	letter-spacing: -0.03em;
	color: rgba(0, 0, 0, 0.08);
	white-space: nowrap;
	pointer-events: none;
	-webkit-user-select: none;
	        user-select: none;
	z-index: 0;
}

/* コンテンツ: 左寄せ・最大140rem。余白は React の margin で再現するため flex gap は無効化 */
.bold-cta-dark .dz-cta-section__content {
	max-width: 140rem;
	align-items: flex-start;
	gap: 0;
}

/* 見出し: 共通トークン clamp(3rem,6vw,6rem) を維持（見出しサイズは React より小さい共通値に揃える） */
.bold-cta-dark .dz-cta-section__heading {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(3rem, 6vw, 6rem);
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: var(--bold-black);
	margin: 0 0 1.5rem;
}

/* サブ見出し: Cormorant イタリック・黒65%（React: clamp(1.6rem,2.6vw,1.95rem)） */
.bold-cta-dark .dz-cta-section__subheading {
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	font-size: clamp(1.6rem, 2.6vw, 1.95rem);
	color: rgba(0, 0, 0, 0.65);
	opacity: 1;
	margin: 0 0 3rem;
}

/* ボタン: 黒塗り＋コーラル文字 → hover で背景透過＋黒文字（React の塗り↔アウトライン反転） */
.bold-cta-dark .dz-cta-section__buttons {
	justify-content: flex-start;
	margin-top: 0;
}

.bold-cta-dark .dz-cta-section__primary {
	background-color: var(--bold-black);
	border: 0.2rem solid var(--bold-black);
	padding: 1.1rem 3rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.25em;
	transition: background-color 0.3s ease;
}

/* プラグインの ::before fill アニメは使わず、単純な背景トランジションに置換 */
.bold-cta-dark .dz-cta-section__primary::before {
	content: none;
}

.bold-cta-dark .dz-cta-section__primary-text {
	color: var(--bold-coral);
	transition: color 0.3s ease;
}

.bold-cta-dark .dz-cta-section__primary:hover,
.bold-cta-dark .dz-cta-section__primary:focus-visible {
	background-color: transparent;
}

.bold-cta-dark .dz-cta-section__primary:hover .dz-cta-section__primary-text,
.bold-cta-dark .dz-cta-section__primary:focus-visible .dz-cta-section__primary-text {
	color: var(--bold-black);
}

/* ====================
 * Header (fixed, transparent → white-on-scroll) / Footer
 * 模写元: app/demos/creative-bold/components/Header.tsx
 * ==================== */
.bold-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 50;
	background: transparent;
	border-bottom: 0.1rem solid transparent;
	transition: background 0.3s ease, border-color 0.3s ease, backdrop-filter 0.3s ease;
}

.bold-header.is-scrolled {
	background: rgba(255, 255, 255, 0.95);
	-webkit-backdrop-filter: blur(1rem);
	        backdrop-filter: blur(1rem);
	border-bottom-color: rgba(13, 13, 13, 0.15);
}

.bold-header__inner {
	max-width: 140rem;
	width: 100%;
	margin: 0 auto;
	padding: 2rem clamp(1.6rem, 4vw, 4.8rem);
}

/* Logo (site-title) — Bebas Neue, coral, no underline */
.bold-header__logo {
	margin: 0;
	line-height: 1;
}

.bold-header__logo a,
.bold-header__logo a:hover,
.bold-header__logo a:focus {
	color: var(--bold-coral);
	text-decoration: none;
}

/* Desktop nav links — Space Grotesk, uppercase, tracked, black */
.bold-header__nav .wp-block-navigation__container {
	gap: clamp(1.6rem, 2vw, 3.2rem);
}

.bold-header__nav .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--bold-black);
	text-decoration: none;
	padding: 0.4rem 0;
	position: relative;
}

/* hover underline: coral, width 0 → 100% (matches React) */
.bold-header__nav .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 0.1rem;
	background: var(--bold-coral);
	transition: width 0.3s ease;
}

.bold-header__nav .wp-block-navigation-item:hover .wp-block-navigation-item__content::after,
.bold-header__nav .wp-block-navigation-item__content:focus::after {
	width: 100%;
}

.bold-header__nav .wp-block-navigation-item__content:hover,
.bold-header__nav .wp-block-navigation-item__content:focus {
	color: var(--bold-black);
}

/* Hamburger (closed) icon — black to match React */
.bold-header__nav .wp-block-navigation__responsive-container-open {
	color: var(--bold-black);
}

/* Mobile full-screen overlay — black bg, Bebas Neue links, centered */
.bold-header__nav .wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--bold-black);
}

.bold-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	gap: 3.2rem;
	justify-content: center;
	align-items: center;
}

.bold-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(2.4rem, 7vw, 3rem);
	letter-spacing: 0.1em;
	text-transform: none;
	color: var(--bold-white);
}

.bold-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::after {
	display: none;
}

.bold-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover {
	color: var(--bold-coral);
}

/* ====================
 * Footer
 * 模写元: app/demos/creative-bold/components/Footer.tsx
 * 暗背景フッター。ロゴ(Bebas/コーラル)＋サブタグライン / Navigation / More / Contact の
 * 4カラム上段と、著作権＋法務リンクの下段バー。
 * ==================== */
.bold-footer {
	background: var(--bold-black);
	color: var(--bold-white);
	border-top: 0.1rem solid var(--bold-coral);
}

/* 上段: 4カラムグリッド（React: grid-cols-1 md:grid-cols-4, gap 3rem, mb 4rem） */
.bold-footer__top.wp-block-columns {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 3rem;
	margin: 0 0 4rem;
}

.bold-footer__top .wp-block-column {
	flex-basis: auto !important;
}

/* ロゴ（site-title）: Bebas, 3.5rem, コーラル */
.bold-footer__logo {
	margin: 0 0 1rem;
}

.bold-footer__logo a,
.bold-footer__logo {
	font-family: var(--wp--preset--font-family--display);
	font-size: 3.5rem;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.05em;
	color: var(--bold-coral);
	text-decoration: none;
	transition: all 0.3s ease;
}

/* サブタグライン: Cormorant italic, 1.6rem, rgba(.4) */
.bold-footer__tagline {
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	font-size: 1.6rem;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.4);
	margin: 0;
}

/* カラム見出し: Space Grotesk, 1.6rem, 字間広め大文字, コーラル */
.bold-footer__label {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: var(--bold-coral);
	margin: 0 0 1.5rem;
}

/* ナビ/その他リンク列 */
.bold-footer__nav {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin: 0;
	padding: 0;
}

.bold-footer__nav li { margin: 0; }

.bold-footer__nav a {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	color: rgba(255, 255, 255, 0.55);
	text-decoration: none;
	transition: color 0.2s ease;
}

.bold-footer__nav a:hover,
.bold-footer__nav a:focus {
	color: var(--bold-white);
}

/* Contact 列 */
.bold-footer__contact {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}

.bold-footer__contact-item {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.6);
	margin: 0;
}

.bold-footer__contact-label {
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.3);
}

/* 下段バー: 著作権 左 / 法務リンク 右、上に薄いボーダー */
.bold-footer__bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	border-top: 0.1rem solid rgba(255, 255, 255, 0.06);
	padding-top: 1.5rem;
	gap: 0.75rem;
}

.bold-footer__copyright {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	color: rgba(255, 255, 255, 0.25);
	margin: 0;
}

.bold-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
}

.bold-footer__legal p { margin: 0; }

.bold-footer__legal a {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	color: rgba(255, 255, 255, 0.25);
	text-decoration: none;
	transition: color 0.2s ease;
}

.bold-footer__legal a:hover,
.bold-footer__legal a:focus {
	color: rgba(255, 255, 255, 0.6);
}

@media (max-width: 768px) {
	.bold-footer__top.wp-block-columns {
		grid-template-columns: 1fr;
	}
}

/* ====================
 * Archive / Single 共通 (ホームと同じ余白・タイポ言語)
 * ==================== */
.bold-archive-page,
.bold-single-section,
.bold-page-section {
	min-height: 50vh;
}

/* 外枠 contentSize は全画面 140rem に統一。読み物本文だけ内側で読み幅を維持する
   （React: 外枠 max-w-[140rem]＋本文を内側で狭く制約する構造に一致）。
   WP constrained の中央寄せ(margin:auto)はそのまま活かし、max-width のみ上書き */
main.bold-single-section > *,
main.bold-page-section > * {
	max-width: 88rem;
}

/* チーム詳細は写真＋プロフィールの2カラムのため少し広め（旧 110rem 相当） */
main.bold-single-section.bold-team-single > * {
	max-width: 110rem;
}

.bold-single-meta {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.2rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--bold-coral);
	margin: 0 0 2.4rem;
}

.bold-prose p,
.bold-prose li {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	line-height: 1.9;
	color: var(--bold-black);
}

.bold-prose h2 {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(2.8rem, 3.5vw, 4rem);
	margin: 4.8rem 0 1.6rem;
	letter-spacing: -0.01em;
}

.bold-prose h3 {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(2rem, 2.5vw, 2.8rem);
	margin: 3.2rem 0 1.2rem;
	letter-spacing: -0.01em;
}

.bold-prose a {
	color: var(--bold-coral);
	text-decoration: underline;
	text-underline-offset: 0.2rem;
}

.bold-prose blockquote {
	border-left: 0.3rem solid var(--bold-coral);
	padding: 0.8rem 0 0.8rem 2.4rem;
	margin: 3.2rem 0;
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	color: var(--bold-gray);
}

/* Single navigation (prev/next) */
.bold-single-nav__prev a,
.bold-single-nav__next a {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.2rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--bold-black);
	text-decoration: none;
	transition: color 0.3s;
}

.bold-single-nav__prev a:hover,
.bold-single-nav__next a:hover {
	color: var(--bold-coral);
}

/* Archive query-pagination */
.wp-block-query-pagination {
	gap: 0.8rem !important;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.2rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.wp-block-query-pagination a,
.wp-block-query-pagination .page-numbers {
	color: var(--bold-black);
	text-decoration: none;
	padding: 0.4rem 0.8rem;
	transition: color 0.3s;
}

.wp-block-query-pagination a:hover {
	color: var(--bold-coral);
}

.wp-block-query-pagination .page-numbers.current {
	color: var(--bold-coral);
	border-bottom: 0.1rem solid var(--bold-coral);
}

/* ================================================================
 * Works 一覧 (archive-dz_work) — 模写元: works/WorksIndexClient.tsx
 * ================================================================ */

/* --- Hero (dark, 中央コーラル縦線 + 袋文字 WORKS) --- */
.bold-works-hero {
	color: var(--bold-white);
	position: relative;
	overflow: hidden;
	/* 固定ヘッダーをクリアするための上部余白 */
	padding-top: clamp(12rem, 16vw, 16rem) !important;
	padding-bottom: clamp(4rem, 8vw, 8rem) !important;
}
.bold-works-hero::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 0.2rem;
	height: 100%;
	background: var(--bold-coral);
	opacity: 0.3;
	pointer-events: none;
}
.bold-works-hero::after {
	content: "WORKS";
	position: absolute;
	bottom: -4rem;
	right: -2rem;
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(8rem, 25vw, 22rem);
	line-height: 1.1;
	color: transparent;
	-webkit-text-stroke: 0.1rem rgba(255, 255, 255, 0.08);
	letter-spacing: -0.03em;
	white-space: nowrap;
	user-select: none;
	pointer-events: none;
	z-index: 0;
}
.bold-works-hero > * {
	position: relative;
	z-index: 1;
}
h1.bold-works-hero__title {
	font-size: clamp(4rem, 14vw, 13rem);
	line-height: 1.05;
	margin: 0 0 2rem;
}
h1.bold-works-hero__title::after {
	content: ".";
	color: var(--bold-coral);
}
.bold-works-hero__subtitle {
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	font-size: clamp(1.7rem, 2.5vw, 1.95rem);
	color: rgba(255, 255, 255, 0.7);
	max-width: 72rem;
	line-height: 1.6;
	margin: 0;
}

/* --- Filter (creative-bold.js がボタンを生成) --- */
.bold-works-filter {
	gap: 0.5rem !important;
	border-bottom: 0.1rem solid rgba(13, 13, 13, 0.08);
	padding-bottom: 1.25rem;
	margin-bottom: clamp(3rem, 6vw, 5rem);
}
.bold-works-filter:empty {
	display: none;
}
.bold-works-filter__btn {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--bold-black);
	background: transparent;
	border: 0.1rem solid rgba(13, 13, 13, 0.15);
	padding: 0.6rem 1.2rem;
	cursor: pointer;
	transition: color 0.2s, background 0.2s, border-color 0.2s;
}
.bold-works-filter__btn:hover {
	border-color: var(--bold-coral);
	color: var(--bold-coral);
}
.bold-works-filter__btn.is-active {
	color: var(--bold-white);
	background: var(--bold-black);
	border-color: var(--bold-black);
}

/* --- Grid (2カラム) --- */
.bold-works-archive-grid.wp-block-post-template {
	gap: clamp(2rem, 4vw, 3rem) !important;
	margin: 0;
	list-style: none;
	padding: 0;
}
.bold-works-archive-item {
	gap: 1.25rem !important;
}
.bold-works-archive-item[hidden] {
	display: none !important;
}

/* media + 矢印バッジ */
.bold-works-archive-item__media {
	position: relative;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: var(--bold-light);
}
.bold-works-archive-item__image,
.bold-works-archive-item__image img {
	width: 100%;
	height: 100%;
	display: block;
	margin: 0;
}
.bold-works-archive-item__image img {
	object-fit: cover;
	transition: transform 0.6s ease;
}
.bold-works-archive-item:hover .bold-works-archive-item__image img {
	transform: scale(1.05);
}
.bold-works-archive-item__media::after {
	content: "\2197";
	position: absolute;
	top: 1rem;
	right: 1rem;
	width: 4rem;
	height: 4rem;
	border-radius: 50%;
	background: var(--bold-white);
	color: var(--bold-black);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.8rem;
	transition: background 0.3s, color 0.3s;
	pointer-events: none;
}
.bold-works-archive-item:hover .bold-works-archive-item__media::after {
	background: var(--bold-coral);
	color: var(--bold-white);
}

/* meta row: category + year */
.bold-works-archive-item__meta {
	gap: 1.6rem !important;
	margin: 0;
}
.bold-works-archive-item__category {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: var(--bold-coral);
	margin: 0;
}
.bold-works-archive-item__category a {
	color: inherit;
	text-decoration: none;
}
.bold-works-archive-item__year {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.05em;
	color: var(--bold-gray);
	margin: 0;
}

/* title */
h2.bold-works-archive-item__title {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.6rem, 3vw, 2.4rem);
	letter-spacing: 0.02em;
	color: var(--bold-black);
	margin: 0;
	line-height: 1.15;
	font-weight: 400;
}
.bold-works-archive-item__title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.3s;
}
.bold-works-archive-item__title a:hover {
	color: var(--bold-coral);
}

/* client ／ industry */
.bold-works-archive-item__org {
	gap: 0.5rem !important;
	margin: 0;
}
.bold-works-archive-item__client,
.bold-works-archive-item__industry {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	color: var(--bold-gray);
	line-height: 1.7;
	margin: 0;
}
.bold-works-archive-item__industry::before {
	content: "／";
	margin-right: 0.5rem;
	color: var(--bold-gray);
}

/* summary */
.bold-works-archive-item__summary {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	color: var(--bold-black);
	line-height: 1.8;
	margin: 0;
}

.bold-works-archive-empty {
	font-family: var(--wp--preset--font-family--body);
	color: var(--bold-gray);
	padding: 4rem 0;
}

@media (max-width: 768px) {
	.bold-works-archive-grid.wp-block-post-template {
		grid-template-columns: 1fr !important;
	}
}

/* ====================
 * Team archive grid (= React Team カード: グレースケール 3:4 ＋ 0.3rem コーラルバー
 *   ＋ Syne 氏名 ＋ 役職 ＋ Cormorant メッセージ。.bold-team-card と同一トークン)
 * ==================== */
.bold-team-archive-grid.wp-block-post-template {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(26rem, 1fr)) !important;
	gap: 3.2rem !important;
	margin-top: 0;
	list-style: none;
	padding: 0;
}

.bold-team-archive-item__media {
	margin: 0 0 2.4rem;
	overflow: hidden;
	position: relative;
}

.bold-team-archive-item__media::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 0.3rem;
	background: var(--bold-coral);
	z-index: 2;
}

.bold-team-archive-item__image {
	margin: 0;
}

.bold-team-archive-item__image img {
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	filter: grayscale(100%);
	transition: filter 0.5s ease, transform 0.6s ease;
	display: block;
}

.bold-team-archive-item:hover .bold-team-archive-item__image img {
	filter: grayscale(0%);
	transform: scale(1.05);
}

h3.bold-team-archive-item__name {
	font-family: var(--wp--preset--font-family--display-alt);
	font-size: 1.92rem;
	font-weight: 800;
	color: var(--bold-black);
	margin: 0 0 0.25rem;
	line-height: 1.2;
	letter-spacing: 0;
}

.bold-team-archive-item__name a {
	color: inherit;
	text-decoration: none;
	transition: color 0.3s;
}

.bold-team-archive-item__name a:hover {
	color: var(--bold-coral);
}

.bold-team-archive-item__role {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.12rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--bold-coral);
	margin: 0 0 1.2rem;
}

.bold-team-archive-item__msg,
.bold-team-archive-item__msg p {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.76rem;
	font-style: italic;
	color: var(--bold-gray);
	margin: 0;
	line-height: 1.5;
}

.bold-team-archive-item__msg .wp-block-post-excerpt__more-link {
	display: none;
}

/* ====================
 * Team single (image/content split)
 * ==================== */
.bold-team-single__image img {
	width: 100%;
	height: auto;
	display: block;
}

@media (max-width: 768px) {
	.bold-team-single-grid {
		flex-direction: column !important;
	}
	.bold-team-single-grid .wp-block-column {
		flex-basis: 100% !important;
	}
}

/* ================================================================
 * Section: Features (dark BG + coral square badge + Syne title)
 * ================================================================ */
.bold-features-section {
	color: var(--bold-white);
}

.bold-features-section .bold-section-label {
	color: var(--bold-coral);
}

.bold-display-heading--light,
h2.bold-display-heading--light {
	color: var(--bold-white) !important;
}

.bold-features-header {
	margin-bottom: 8rem;
}

.bold-features-row {
	gap: 2rem !important;
	align-items: flex-start;
	padding: 2.5rem 0;
	border-bottom: 0.1rem solid rgba(255, 255, 255, 0.08);
}

.bold-features-row:first-of-type {
	border-top: 0.1rem solid rgba(255, 255, 255, 0.08);
}

.bold-features-row__num {
	width: 3rem;
	height: 3rem;
	background: var(--bold-coral);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.8rem;
	color: var(--bold-white);
	flex-shrink: 0;
	margin: 0.25rem 0 0;
	line-height: 1;
}

.bold-features-row__body { flex: 1; }

.bold-features-row__title-wrap {
	gap: 1rem !important;
	margin-bottom: 0.75rem;
}

.bold-features-row__title {
	font-family: var(--wp--preset--font-family--display-alt);
	font-size: clamp(1.8rem, 2.8vw, 2.2rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	color: var(--bold-white);
	margin: 0;
}

.bold-features-row__title-jp {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.6rem;
	color: rgba(255, 255, 255, 0.4);
	margin: 0;
}

.bold-features-row__desc {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	line-height: 1.9;
	color: rgba(255, 255, 255, 0.55);
	max-width: 64rem;
	margin: 0;
}

/* ================================================================
 * Section: Testimonials (dark BG, 3-col, giant " coral, italic)
 * ================================================================ */
.bold-testimonials-section {
	color: var(--bold-white);
}

.bold-testimonials-section .bold-section-label {
	color: var(--bold-coral);
}

.bold-testimonials-header {
	margin-bottom: 5rem;
}

.bold-testimonials-grid.wp-block-group {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
	gap: 0.2rem;
}

.bold-testimonials-card {
	background: rgba(255, 255, 255, 0.03);
	padding: 3rem 2.5rem;
	border-left: 0.1rem solid rgba(255, 255, 255, 0.06);
	position: relative;
}

.bold-testimonials-card:nth-child(odd) {
	background: transparent;
}

.bold-testimonials-card__qmark {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 6rem;
	line-height: 0.7;
	color: var(--bold-coral);
	margin: 0 0 1rem;
	opacity: 0.8;
	user-select: none;
}

.bold-testimonials-card__quote {
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(1.6rem, 2.4vw, 1.9rem);
	font-style: italic;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.85);
	margin: 0 0 2.5rem;
}

.bold-testimonials-card__author {
	gap: 1rem !important;
	align-items: center;
}

.bold-testimonials-card__avatar img {
	width: 4.4rem;
	height: 4.4rem;
	border-radius: 50%;
	object-fit: cover;
	filter: grayscale(50%);
	display: block;
}

.bold-testimonials-card__name {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	font-weight: 600;
	color: var(--bold-white);
	margin: 0;
}

.bold-testimonials-card__role {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	color: rgba(255, 255, 255, 0.4);
	letter-spacing: 0.05em;
	margin: 0;
}

/* ================================================================
 * Section: FAQ (white BG, 2-column, accordion via wp:details)
 * ================================================================ */
.bold-faq-section .bold-faq-grid {
	gap: 6.4rem;
}

.bold-faq-item {
	border-top: 0.1rem solid rgba(13, 13, 13, 0.1);
	padding: 0;
}

.bold-faq-item:first-of-type {
	border-top: 0.1rem solid var(--bold-black);
}

.bold-faq-item:last-of-type {
	border-bottom: 0.1rem solid rgba(13, 13, 13, 0.1);
}

.bold-faq-item summary {
	list-style: none;
	cursor: pointer;
	padding: 2.4rem 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: clamp(1.44rem, 1.5vw, 1.6rem);
	font-weight: 500;
	color: var(--bold-black);
	line-height: 1.5;
	position: relative;
}

.bold-faq-item summary::-webkit-details-marker {
	display: none;
}

.bold-faq-item summary::after {
	content: "";
	display: inline-block;
	width: 1.8rem;
	height: 1.8rem;
	flex-shrink: 0;
	background-color: var(--bold-coral);
	-webkit-mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='5' x2='12' y2='19'/%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='5' x2='12' y2='19'/%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform 0.3s;
}

.bold-faq-item[open] summary::after {
	-webkit-mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E");
	        mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E");
}

.bold-faq-item__answer {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.44rem;
	line-height: 1.9;
	color: var(--bold-gray);
	padding: 0 0 2.4rem;
	margin: 0;
}

/* ================================================================
 * Section: Access (lightGray BG, 2-col info + map)
 * ================================================================ */
.bold-access-section { color: var(--bold-black); }

.bold-access-grid { gap: 4.8rem !important; }

.bold-access-row + .bold-access-row {
	margin-top: 3.2rem;
}

/* React: 各行は icon(左) + テキスト塊(右) の横並び。gap 1rem、icon は上揃え */
.bold-access-row {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 1rem;
	align-items: start;
}

.bold-access-row::before {
	content: "";
	grid-column: 1;
	grid-row: 1 / span 2;
	width: 1.8rem;
	height: 1.8rem;
	margin-top: 0.2rem;
	background-color: var(--bold-coral);
	-webkit-mask-position: center;
	        mask-position: center;
	-webkit-mask-repeat: no-repeat;
	        mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	        mask-size: contain;
}

.bold-access-row--map-pin::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
	        mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}

.bold-access-row--phone::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
	        mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}

.bold-access-row--mail::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E");
	        mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E");
}

.bold-access-row--clock::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E");
	        mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E");
}

.bold-access-row__label {
	grid-column: 2;
	grid-row: 1;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.12rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--bold-gray);
	margin: 0 0 0.4rem;
}

.bold-access-row__value {
	grid-column: 2;
	grid-row: 2;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.52rem;
	color: var(--bold-black);
	margin: 0;
}

.bold-access-map {
	position: relative;
	width: 100%;
	padding-bottom: 60%;
	overflow: hidden;
	background: #ddd;
}

.bold-access-map iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}

/* ================================================================
 * Section: Team (white BG, grid, grayscale photo + 0.3rem coral bar)
 * ================================================================ */
.bold-team-grid.wp-block-group {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(26rem, 1fr));
	gap: 3.2rem;
}

/* post-template (ul/li) variant: keep the auto-fit grid on the post-template itself */
ul.bold-team-grid.wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(26rem, 1fr));
	gap: 3.2rem;
	list-style: none;
	padding-left: 0;
	margin: 0;
}

/* let the <li.wp-block-post> participate in the parent grid placement */
.bold-team-grid.wp-block-post-template > .wp-block-post {
	display: contents;
}

.bold-team-card {
	position: relative;
}

.bold-team-card__photo {
	margin: 0 0 2.4rem;
	overflow: hidden;
	position: relative;
}

.bold-team-card__photo::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 0.3rem;
	background: var(--bold-coral);
	z-index: 2;
}

.bold-team-card__photo img {
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	filter: grayscale(100%);
	transition: filter 0.5s ease, transform 0.6s ease;
	display: block;
}

.bold-team-card:hover .bold-team-card__photo img {
	filter: grayscale(0%);
	transform: scale(1.05);
}

.bold-team-card__name {
	font-family: var(--wp--preset--font-family--display-alt);
	font-size: 1.92rem;
	font-weight: 800;
	color: var(--bold-black);
	margin: 0 0 0.25rem;
	line-height: 1.2;
	letter-spacing: 0;
}

h3.bold-team-card__name {
	font-size: 1.92rem;
}

.bold-team-card__role {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.12rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--bold-coral);
	margin: 0 0 1.2rem;
}

.bold-team-card__msg,
.bold-team-card__msg p {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.76rem;
	font-style: italic;
	color: var(--bold-gray);
	margin: 0;
	line-height: 1.5;
}

.bold-team-card__msg .wp-block-post-excerpt__more-link {
	display: none;
}

/* ================================================================
 * Section: Pricing (dark BG, 3 cards, recommended → coral BG)
 * ================================================================ */
.bold-pricing-section {
	color: var(--bold-white);
}

.bold-pricing-section .bold-section-label {
	color: var(--bold-coral);
}

.bold-pricing-grid.wp-block-group {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(28rem, 1fr));
	gap: 2.4rem;
}

.bold-pricing-card {
	background: rgba(255, 255, 255, 0.04);
	padding: 4rem;
	border: 0.1rem solid rgba(255, 255, 255, 0.08);
	position: relative;
}

.bold-pricing-card--featured {
	background: var(--bold-coral);
	border: none;
	color: var(--bold-black);
}

.bold-pricing-card__badge {
	position: absolute;
	top: 2.4rem;
	right: 2.4rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.96rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--bold-coral);
	background: var(--bold-black);
	padding: 0.32rem 0.96rem;
	border: 0.1rem solid var(--bold-coral);
	margin: 0;
}

.bold-pricing-card__name {
	font-family: var(--wp--preset--font-family--display);
	font-size: 2.4rem;
	letter-spacing: 0.05em;
	margin: 0 0 0.25rem;
	color: var(--bold-white);
}

.bold-pricing-card--featured .bold-pricing-card__name {
	color: var(--bold-black);
}

.bold-pricing-card__name-jp {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.44rem;
	font-style: italic;
	color: rgba(255, 255, 255, 0.4);
	margin: 0 0 2.4rem;
}

.bold-pricing-card--featured .bold-pricing-card__name-jp {
	color: rgba(0, 0, 0, 0.6);
}

.bold-pricing-card__price {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(3.2rem, 4vw, 4.8rem);
	color: var(--bold-coral);
	margin: 0 0 0.75rem;
	line-height: 1;
}

.bold-pricing-card--featured .bold-pricing-card__price {
	color: var(--bold-black);
}

.bold-pricing-card__desc {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.36rem;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.5);
	margin: 0 0 3.2rem;
}

.bold-pricing-card--featured .bold-pricing-card__desc {
	color: rgba(0, 0, 0, 0.65);
}

.bold-pricing-card__features {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 3.2rem !important;
	display: flex;
	flex-direction: column;
	gap: 1.2rem;
}

.bold-pricing-card__features li {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.36rem;
	color: rgba(255, 255, 255, 0.7);
	padding-left: 2.6rem;
	position: relative;
}

.bold-pricing-card__features li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1.4rem;
	height: 1.4rem;
	background-color: var(--bold-coral);
	-webkit-mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / contain no-repeat;
}

.bold-pricing-card--featured .bold-pricing-card__features li {
	color: var(--bold-black);
}

.bold-pricing-card--featured .bold-pricing-card__features li::before {
	background-color: var(--bold-black);
}

.bold-pricing-card__cta-wrap { margin: 0; }

.bold-pricing-card__cta {
	display: block;
	padding: 1.44rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.2rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	background: transparent;
	color: var(--bold-white);
	border: 0.1rem solid rgba(255, 255, 255, 0.3);
	text-align: center;
	text-decoration: none;
	transition: all 0.3s;
}

.bold-pricing-card--featured .bold-pricing-card__cta {
	background: var(--bold-black);
	color: var(--bold-white);
	border: none;
}

.bold-pricing-card__cta:hover {
	background: var(--bold-white);
	color: var(--bold-black);
	border-color: var(--bold-white);
}

/* ================================================================
 * Section: Menu (white BG, image cards with bg-color body)
 * ================================================================ */
.bold-menu-category,
h3.bold-menu-category {
	font-family: var(--wp--preset--font-family--display);
	font-size: 2.4rem;
	color: var(--bold-black);
	border-bottom: 0.2rem solid var(--bold-coral);
	padding-bottom: 0.8rem;
	margin: 0 0 3.2rem;
	letter-spacing: 0.02em;
	font-weight: 400;
}

.bold-menu-grid.wp-block-group {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(24rem, 1fr));
	gap: 2.4rem;
}

.bold-menu-card {
	overflow: hidden;
	transition: transform 0.3s;
}

.bold-menu-card:hover {
	transform: scale(1.03);
}

.bold-menu-card__image {
	margin: 0;
}

.bold-menu-card__image img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
}

.bold-menu-card__body {
	padding: 1.6rem;
	background: var(--bold-light);
}

.bold-menu-card__name {
	font-family: var(--wp--preset--font-family--body);
	font-weight: 600;
	font-size: 1.52rem;
	margin: 0 0 0.25rem;
	color: var(--bold-black);
}

.bold-menu-card__price {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.92rem;
	color: var(--bold-coral);
	margin: 0;
	letter-spacing: 0.02em;
}

/* ================================================================
 * Section: Schedule (lightGray BG, day rows)
 * ================================================================ */
.bold-schedule-list {
	max-width: 60rem;
}

.bold-schedule-row {
	gap: 1.6rem !important;
	padding: 1.6rem 2rem;
	border-bottom: 0.1rem solid rgba(13, 13, 13, 0.1);
}

.bold-schedule-row__day {
	font-family: var(--wp--preset--font-family--display);
	font-size: 2.08rem;
	color: var(--bold-black);
	letter-spacing: 0.05em;
	margin: 0;
	font-weight: 400;
}

.bold-schedule-row__time {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.52rem;
	color: var(--bold-black);
	font-weight: 500;
	margin: 0;
}

.bold-schedule-row--closed .bold-schedule-row__time {
	color: var(--bold-gray);
	font-weight: 300;
}

.bold-schedule-row[data-today="true"] {
	background: var(--bold-coral);
	border-bottom-color: var(--bold-coral);
	padding-left: 2rem;
	padding-right: 2rem;
}

.bold-schedule-row[data-today="true"] .bold-schedule-row__day,
.bold-schedule-row[data-today="true"] .bold-schedule-row__time {
	color: var(--bold-white);
	font-weight: 500;
}

/* ================================================================
 * Section: Flow (white BG, vertical with coral connector + circle)
 * ================================================================ */
.bold-flow-timeline {
	position: relative;
}

.bold-flow-timeline::before {
	content: "";
	position: absolute;
	left: 2.4rem;
	top: 6.4rem;
	bottom: 6.4rem;
	width: 0.1rem;
	background: linear-gradient(to bottom, var(--bold-coral), transparent);
	pointer-events: none;
	z-index: 0;
}

.bold-flow-step {
	gap: 4rem !important;
	align-items: flex-start;
	padding: 3.2rem 0;
	border-bottom: 0.1rem solid rgba(13, 13, 13, 0.08);
	position: relative;
	z-index: 1;
}

.bold-flow-step:last-of-type {
	border-bottom: none;
}

.bold-flow-step__num {
	width: 4.8rem;
	height: 4.8rem;
	background: var(--bold-coral);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.6rem;
	color: var(--bold-white);
	flex-shrink: 0;
	margin: 0;
	line-height: 1;
	letter-spacing: 0.02em;
}

.bold-flow-step__body {
	padding-top: 0.5rem;
	flex: 1;
}

.bold-flow-step__title {
	font-family: var(--wp--preset--font-family--display-alt);
	font-size: clamp(1.6rem, 2vw, 2.24rem);
	font-weight: 800;
	color: var(--bold-black);
	margin: 0 0 0.5rem;
	letter-spacing: -0.01em;
}

.bold-flow-step__desc {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.44rem;
	line-height: 1.8;
	color: var(--bold-gray);
	margin: 0;
}

/* ================================================================
 * Section: Recruit (dark BG, position cards with arrow + view button)
 * ================================================================ */
.bold-recruit-section {
	color: var(--bold-white);
}

.bold-recruit-section .bold-section-label {
	color: var(--bold-coral);
}

.bold-recruit-list {
	display: flex !important;
	flex-direction: column;
	gap: 1rem;
}

/* post-template (ul/li) variant: cancel ul styling, keep the flex column */
ul.bold-recruit-list.wp-block-post-template {
	list-style: none;
	padding-left: 0;
	margin: 0;
}

.bold-recruit-list.wp-block-post-template > .wp-block-post {
	display: contents;
}

.bold-recruit-card {
	gap: 2rem !important;
	padding: 2.5rem;
	background: rgba(255, 255, 255, 0.04);
	border: 0.1rem solid rgba(255, 255, 255, 0.08);
	cursor: pointer;
	transition: all 0.3s;
	align-items: center;
}

.bold-recruit-card:hover {
	border-color: var(--bold-coral);
	background: rgba(255, 61, 0, 0.05);
}

.bold-recruit-card__body { flex: 1; }

.bold-recruit-card__title {
	font-family: var(--wp--preset--font-family--display-alt);
	font-size: clamp(1.7rem, 2.5vw, 1.95rem);
	font-weight: 800;
	color: var(--bold-white);
	margin: 0 0 0.5rem;
}

.bold-recruit-card__meta {
	gap: 1.5rem !important;
	margin-bottom: 0.75rem;
	flex-wrap: wrap;
}

.bold-recruit-card__type {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.1em;
	color: var(--bold-coral);
	border: 0.1rem solid var(--bold-coral);
	padding: 0.15rem 0.6rem;
	margin: 0;
}

.bold-recruit-card__salary {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	color: rgba(255, 255, 255, 0.5);
	margin: 0;
	display: flex;
	align-items: center;
}

.bold-recruit-card__desc,
.bold-recruit-card__desc p {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	line-height: 1.8;
	color: rgba(255, 255, 255, 0.45);
	margin: 0;
}

.bold-recruit-card__desc .wp-block-post-excerpt__more-link {
	display: none;
}

.bold-recruit-card__arrow {
	margin: 0;
	flex-shrink: 0;
	width: 2.4rem;
	height: 2.4rem;
	background-color: var(--bold-coral);
	-webkit-mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform 0.3s;
}

.bold-recruit-card:hover .bold-recruit-card__arrow {
	transform: translateX(0.4rem);
}

.bold-recruit-cta-wrap {
	margin: 3rem 0 0;
}

.bold-recruit-cta {
	display: inline-block;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: var(--bold-white);
	border: 0.1rem solid rgba(255, 255, 255, 0.3);
	padding: 1rem 3rem;
	text-decoration: none;
	transition: all 0.3s;
}

.bold-recruit-cta:hover {
	background: var(--bold-coral);
	border-color: var(--bold-coral);
	color: var(--bold-white);
}

/* ================================================================
 * Section: LogoWall (lightGray BG, infinite scroll circular logos)
 * ================================================================ */
@keyframes boldLogoScroll {
	0%   { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

.bold-logowall-section {
	color: var(--bold-gray);
	overflow: hidden;
}

.bold-section-label--center {
	text-align: center;
	color: var(--bold-gray);
	margin-bottom: 4.8rem;
}

.bold-logowall-track-wrap {
	overflow: hidden;
	width: 100%;
	margin: 0;
}

.bold-logowall-track.wp-block-group {
	display: flex !important;
	gap: 6.4rem !important;
	flex-wrap: nowrap;
	align-items: center;
	width: max-content;
	animation: boldLogoScroll 24s linear infinite;
}

.bold-logowall-item {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 0.8rem !important;
	flex-shrink: 0;
}

.bold-logowall-item__image {
	margin: 0;
}

.bold-logowall-item__image img {
	width: 6rem;
	height: 6rem;
	border-radius: 50%;
	object-fit: cover;
	filter: grayscale(100%);
	transition: filter 0.4s;
	display: block;
}

.bold-logowall-item:hover .bold-logowall-item__image img {
	filter: grayscale(0%);
}

.bold-logowall-item__name {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.6rem;
	letter-spacing: 0.1em;
	color: var(--bold-gray);
	white-space: nowrap;
	margin: 0;
}

/* ================================================================
 * Responsive adjustments
 * ================================================================ */
@media (max-width: 768px) {
	.bold-faq-grid.wp-block-columns,
	.bold-access-grid.wp-block-columns {
		flex-direction: column !important;
	}
	.bold-faq-grid .wp-block-column,
	.bold-access-grid .wp-block-column {
		flex-basis: 100% !important;
	}
	.bold-flow-step {
		gap: 2.4rem !important;
	}
	.bold-flow-step__num {
		width: 4rem;
		height: 4rem;
		font-size: 1.6rem;
	}
}

/* dz/* ブロックの hover トランジション */
.dz-work-item,
.dz-pickup-grid-item,
.dz-service-card,
.dz-feature-card {
	transition: transform 0.3s ease;
}

.dz-work-item:hover,
.dz-pickup-grid-item:hover {
	transform: translateY(-0.4rem);
}

/* ============================================================
 * dz-starter ブロック補正（1rem=10px 化に伴う調整）
 * about / cta-section のハードコード rem は CSS変数経由でないため、
 * 62.5% ルートで縮む値だけ ×1.6 して元の描画 px に戻す。
 * （font-size / section padding は var(--wp--preset--*) 経由なので theme.json 側で追従済み）
 * ============================================================ */
.dz-about__text { gap: 1.6rem; }
.dz-about__cta {
	margin-top: 1.6rem;
	padding: 1.2rem 2.8rem;
}

.dz-cta-section__content { gap: 2.4rem; }
.dz-cta-section__buttons {
	gap: 1.6rem;
	margin-top: 1.6rem;
}
.dz-cta-section__primary { padding: 1.6rem 3.2rem; }
.dz-cta-section__secondary { padding: 1.6rem 0; }

/* dz/hero（hero パターン用）— ハードコード rem を ×1.6 */
.dz-hero--split { gap: 3.2rem; }
/* Bebas Neue（字面が line box 上端に張り付く condensed display）の huge 見出しと
 * tagline が近接して被って見えるため、tagline の下マージンを広げて明確に上へ離す。
 * ブロックエディタでは block の style-index.css（display:inline-block 指定）が読み込まれず
 * tagline が inline のまま → margin-bottom が無効化し見出しと被るため、display も併せて固定。 */
.dz-hero .dz-hero__tagline { display: inline-block; margin-bottom: 2.4rem; }
/* h1 グローバルの line-height:0.9 と Bebas Neue の組合せで字面が上の tagline に食い込むため、Hero 見出しだけ React と同じ 1.1 に戻す。ブロックエディタのプレビューでも同症状が出ていた。 */
.dz-hero .dz-hero__headline { line-height: 1.1; margin: 0 0 2.4rem; padding-top: 0.4rem; }
.dz-hero__subheadline { margin: 0 0 3.2rem; }
.dz-hero__cta { padding: 1.6rem 3.2rem; }

/* dz/service-card（services パターン用）— ハードコード rem を ×1.6 */
.dz-service-card {
	gap: 1.6rem;
	padding: 3.2rem;
}
.dz-service-card__icon {
	width: 6.4rem;
	height: 6.4rem;
}
.dz-service-card__link {
	gap: 0.8rem;
	padding-top: 0.8rem;
}
.dz-service-card__link:hover { gap: 1.4rem; }

/* ================================================================
 * Works 詳細 (single-dz_work + work-detail-body パターン)
 * 模写元: app/demos/creative-bold/works/[slug]/WorkDetailClient.tsx
 * ================================================================ */

/* --- Hero (dark) --- */
.bold-work-hero {
	color: var(--bold-white);
	position: relative;
	overflow: hidden;
	/* 固定ヘッダーをクリアするための上部余白 */
	padding-top: clamp(12rem, 16vw, 16rem) !important;
}
.bold-work-hero::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 0.2rem;
	height: 100%;
	background: var(--bold-coral);
	opacity: 0.25;
	pointer-events: none;
}
.bold-work-hero > * {
	position: relative;
	z-index: 1;
}
.bold-work-hero__back {
	margin: 0 0 3.2rem;
}
.bold-work-hero__back a {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.2rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
	text-decoration: none;
	transition: color 0.2s;
}
.bold-work-hero__back a:hover {
	color: var(--bold-coral);
}
.bold-work-hero__overline {
	gap: 0.8rem !important;
	margin-bottom: 1.6rem;
}
.bold-work-hero__cat,
.bold-work-hero__year {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.12rem;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--bold-coral);
	margin: 0;
}
.bold-work-hero__cat a {
	color: inherit;
	text-decoration: none;
}
.bold-work-hero__year::before {
	content: "/ ";
}
h1.bold-work-hero__title::after {
	content: ".";
	color: var(--bold-coral);
}
.bold-work-hero__subtitle {
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	font-size: clamp(1.7rem, 2.5vw, 2.4rem);
	color: rgba(255, 255, 255, 0.7);
	max-width: 78rem;
	line-height: 1.6;
	margin: 1.6rem 0 0;
}

/* --- Cover (アイキャッチ画像 or 動画埋め込みを Hero に重ねる) --- */
.bold-work-cover__img {
	margin-top: -4rem;
}
.bold-work-cover__img img {
	width: 100%;
	display: block;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}
/* 動画URL入力時: YouTube/Vimeo 埋め込みを 16:9 でレスポンシブ表示 */
.bold-work-cover__video {
	margin-top: -4rem;
	aspect-ratio: 16 / 9;
}
.bold-work-cover__video iframe,
.bold-work-cover__video > * {
	width: 100% !important;
	height: 100% !important;
	display: block;
	border: 0;
}

/* --- Overview + Project Info --- */
.bold-work-overview__grid {
	gap: clamp(3.2rem, 6vw, 5rem) !important;
}
.bold-work-overview__summary {
	font-family: var(--wp--preset--font-family--body);
	font-size: clamp(1.6rem, 2.4vw, 1.85rem);
	color: var(--bold-black);
	line-height: 1.9;
	margin: 0 0 2.4rem;
}
.bold-work-tags {
	gap: 0.8rem !important;
}
.bold-work-tag {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.12rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--bold-black);
	border: 0.1rem solid rgba(13, 13, 13, 0.2);
	padding: 0.5rem 1.2rem;
	margin: 0;
}
.bold-work-meta-row {
	display: flex;
	justify-content: space-between;
	gap: 1.6rem;
	align-items: baseline;
	padding: 1.2rem 0;
	border-bottom: 0.1rem solid rgba(13, 13, 13, 0.08);
}
.bold-work-meta-row__label {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.12rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--bold-gray);
	margin: 0;
	flex-shrink: 0;
}
.bold-work-meta-row__value {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.5rem;
	color: var(--bold-black);
	line-height: 1.6;
	margin: 0;
	text-align: right;
}
.bold-work-meta-row--services {
	flex-direction: column;
	gap: 0.8rem;
}
/* 未入力のメタ項目は詳細ページで非表示にしてレイアウト崩れを防ぐ
   （value が空＝そのメタが未入力。Services 行は __value を持たないので常時表示） */
.bold-work-meta-row:has(> .bold-work-meta-row__value:empty) {
	display: none;
}
.bold-work-hero__year:empty,
.bold-work-hero__subtitle:empty {
	display: none;
}
.bold-work-services {
	list-style: none;
	margin: 0;
	padding: 0;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.5rem;
	color: var(--bold-black);
	line-height: 1.7;
	text-align: left;
}
.bold-work-services li {
	margin: 0;
}

/* --- Brief (lightGray) --- */
.bold-work-brief__label {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.12rem;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--bold-coral);
	margin: 0 0 0.8rem;
}
.bold-work-brief__text {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	color: var(--bold-black);
	line-height: 1.9;
	margin: 0 0 2.4rem;
}
.bold-work-brief__figure {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.8rem, 2.3vw, 2.4rem);
	color: var(--bold-black);
	margin: 0;
	letter-spacing: 0.02em;
}
/* coral チェック付きリスト */
.bold-work-checklist {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.8rem;
}
.bold-work-checklist li {
	position: relative;
	padding-left: 3rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.5rem;
	line-height: 1.8;
	color: var(--bold-black);
}
.bold-work-checklist li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.5rem;
	width: 1.8rem;
	height: 1.8rem;
	background: var(--bold-coral);
}
.bold-work-checklist li::after {
	content: "";
	position: absolute;
	left: 0.66rem;
	top: 0.74rem;
	width: 0.5rem;
	height: 0.9rem;
	border: solid var(--bold-white);
	border-width: 0 0.2rem 0.2rem 0;
	transform: rotate(45deg);
}

/* --- Approach --- */
.bold-work-approach-row {
	gap: clamp(1.6rem, 4vw, 3.2rem) !important;
	align-items: flex-start;
	padding: 3.2rem 0;
	border-top: 0.1rem solid rgba(13, 13, 13, 0.08);
}
.bold-work-approach-row__num {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(2.8rem, 4vw, 4.8rem);
	color: var(--bold-coral);
	line-height: 1;
	letter-spacing: 0.02em;
	min-width: 6rem;
	margin: 0;
}
.bold-work-approach-row__body {
	flex: 1;
}
h3.bold-work-approach-row__title {
	font-family: var(--wp--preset--font-family--display-alt);
	font-size: clamp(1.8rem, 2.8vw, 2.4rem);
	font-weight: 700;
	color: var(--bold-black);
	margin: 0 0 0.8rem;
	letter-spacing: -0.01em;
}
.bold-work-approach-row__desc {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	color: var(--bold-gray);
	line-height: 1.9;
	margin: 0;
}

/* --- Gallery (dark, 1枚目フル幅) --- */
.bold-work-gallery {
	color: var(--bold-white);
}
.bold-work-gallery__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.2rem;
}
.bold-work-gallery__grid .wp-block-image {
	margin: 0;
}
.bold-work-gallery__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	aspect-ratio: 4 / 3;
}
.bold-work-gallery__item--lead {
	grid-column: 1 / -1;
}
.bold-work-gallery__item--lead img {
	aspect-ratio: 16 / 9;
}

/* --- Outcome --- */
.bold-work-outcome__grid {
	gap: clamp(1.6rem, 3vw, 2rem) !important;
}
.bold-work-outcome-card {
	padding: 2.4rem;
	border: 0.1rem solid rgba(13, 13, 13, 0.08);
	border-top: 0.2rem solid var(--bold-coral);
	height: 100%;
}
.bold-work-outcome-card__label {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.12rem;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--bold-gray);
	margin: 0 0 0.8rem;
}
.bold-work-outcome-card__value {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(2.4rem, 3vw, 3.6rem);
	color: var(--bold-black);
	margin: 0;
	letter-spacing: 0.02em;
	line-height: 1.15;
}
.bold-work-quote {
	border-left: 0.3rem solid var(--bold-coral);
	padding: 0 0 0 2.4rem;
	margin: 0;
	max-width: 78rem;
}
.bold-work-quote__text {
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(1.8rem, 2.5vw, 2.1rem);
	font-style: italic;
	color: var(--bold-black);
	line-height: 1.7;
	margin: 0;
}
.bold-work-quote__author {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.2rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--bold-gray);
	margin: 1.2rem 0 0;
}

/* --- CTA (dark, centered) --- */
.bold-work-cta {
	color: var(--bold-white);
	text-align: center;
}
.bold-work-cta .bold-section-label {
	color: var(--bold-coral);
}
.bold-work-cta .wp-block-buttons {
	justify-content: center;
}
h2.bold-work-cta__title {
	font-size: clamp(2.8rem, 6vw, 5.6rem);
	line-height: 1.1;
}

/* --- Related works --- */
.bold-work-related-grid.wp-block-post-template {
	gap: clamp(1.6rem, 3vw, 2rem) !important;
	margin-top: 3.2rem;
	list-style: none;
	padding: 0;
}
.bold-work-related-item {
	gap: 1rem !important;
}
.bold-work-related-item__image img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform 0.4s ease;
}
.bold-work-related-item:hover .bold-work-related-item__image img {
	transform: scale(1.05);
}
.bold-work-related-item__category {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.04rem;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: var(--bold-coral);
	margin: 1.2rem 0 0;
}
.bold-work-related-item__category a {
	color: inherit;
	text-decoration: none;
}
h3.bold-work-related-item__title {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.8rem, 2vw, 2.4rem);
	letter-spacing: 0.02em;
	color: var(--bold-black);
	margin: 0.4rem 0 0;
	line-height: 1.1;
	font-weight: 400;
}
.bold-work-related-item__title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.3s;
}
.bold-work-related-item__title a:hover {
	color: var(--bold-coral);
}

/* --- Works 詳細 レスポンシブ --- */
@media (max-width: 768px) {
	.bold-work-related-grid.wp-block-post-template {
		grid-template-columns: 1fr 1fr !important;
	}
}
@media (max-width: 560px) {
	.bold-work-gallery__grid {
		grid-template-columns: 1fr;
	}
	.bold-work-gallery__item--lead {
		grid-column: auto;
	}
	.bold-work-gallery__item--lead img {
		aspect-ratio: 4 / 3;
	}
}
@media (max-width: 480px) {
	.bold-work-related-grid.wp-block-post-template {
		grid-template-columns: 1fr !important;
	}
}

/* ================================================================
 * News 一覧 (archive-dz_news)
 * 模写元: app/demos/creative-bold/news/NewsIndexClient.tsx
 * ================================================================ */

/* --- Hero (dark, 中央コーラル縦線 + 袋文字 NEWS) --- */
.bold-news-archive-hero {
	color: var(--bold-white);
	position: relative;
	overflow: hidden;
	/* 固定ヘッダーをクリアするための上部余白 */
	padding-top: clamp(12rem, 16vw, 16rem) !important;
	padding-bottom: clamp(4rem, 8vw, 8rem) !important;
}
.bold-news-archive-hero::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 0.2rem;
	height: 100%;
	background: var(--bold-coral);
	opacity: 0.3;
	pointer-events: none;
}
.bold-news-archive-hero::after {
	content: "NEWS";
	position: absolute;
	bottom: -4rem;
	right: -2rem;
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(8rem, 25vw, 22rem);
	line-height: 1.1;
	color: transparent;
	-webkit-text-stroke: 0.1rem rgba(255, 255, 255, 0.08);
	letter-spacing: -0.03em;
	white-space: nowrap;
	user-select: none;
	pointer-events: none;
	z-index: 0;
}
.bold-news-archive-hero > * {
	position: relative;
	z-index: 1;
}
h1.bold-news-archive-hero__title {
	font-size: clamp(4rem, 14vw, 13rem);
	line-height: 1.05;
	margin: 0 0 2rem;
}
h1.bold-news-archive-hero__title::after {
	content: ".";
	color: var(--bold-coral);
}
.bold-news-archive-hero__subtitle {
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	font-size: clamp(1.7rem, 2.5vw, 1.95rem);
	color: rgba(255, 255, 255, 0.7);
	max-width: 72rem;
	line-height: 1.6;
	margin: 0;
}

/* --- Filter (creative-bold.js がボタンを生成) --- */
.bold-news-filter {
	gap: 0.5rem !important;
	border-bottom: 0.1rem solid rgba(13, 13, 13, 0.08);
	padding-bottom: 1.25rem;
	margin-bottom: clamp(3rem, 6vw, 5rem);
}
.bold-news-filter:empty {
	display: none;
}
.bold-news-filter__btn {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--bold-black);
	background: transparent;
	border: 0.1rem solid rgba(13, 13, 13, 0.15);
	padding: 0.6rem 1.2rem;
	cursor: pointer;
	transition: color 0.2s, background 0.2s, border-color 0.2s;
}
.bold-news-filter__btn:hover {
	border-color: var(--bold-coral);
	color: var(--bold-coral);
}
.bold-news-filter__btn.is-active {
	color: var(--bold-white);
	background: var(--bold-black);
	border-color: var(--bold-black);
}

/* クエリ間の余白はカード/フィルター側のマージンで制御するためフロー余白を解除 */
.bold-news-archive-main .wp-block-query {
	margin-top: 0;
}

/* --- Featured（最新1件・画像＋本文の2カラム） --- */
.bold-news-featured.wp-block-post-template {
	list-style: none;
	margin: 0 0 clamp(2rem, 4vw, 3rem);
	padding: 0;
}
.bold-news-featured > .wp-block-post {
	margin: 0;
}
.bold-news-featured .wp-block-post[hidden] {
	display: none !important;
}
.bold-news-featured__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(1.5rem, 4vw, 3.5rem);
	align-items: center;
}
.bold-news-featured__inner > * {
	margin: 0;
}

.bold-news-featured__media {
	position: relative;
	overflow: hidden;
	aspect-ratio: 16 / 10;
	background: var(--bold-light);
}
.bold-news-featured__image,
.bold-news-featured__image a {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
}
.bold-news-featured__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.6s ease;
}
.bold-news-featured__inner:hover .bold-news-featured__image img {
	transform: scale(1.04);
}
.bold-news-featured__badge {
	position: absolute;
	top: 1rem;
	left: 1rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: var(--bold-black);
	background: var(--bold-coral);
	padding: 0.35rem 0.8rem;
	margin: 0;
}
.bold-news-featured__badge a {
	color: inherit;
	text-decoration: none;
}

.bold-news-featured__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.bold-news-featured__date {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--bold-coral);
	margin: 0 0 1rem;
}
.bold-news-featured__date::before {
	content: "— ";
}
h2.bold-news-featured__title {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.8rem, 4vw, 3rem);
	line-height: 1.15;
	letter-spacing: -0.01em;
	color: var(--bold-black);
	margin: 0 0 1.25rem;
	font-weight: 400;
}
.bold-news-featured__title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.3s;
}
.bold-news-featured__title a:hover {
	color: var(--bold-coral);
}
.bold-news-featured__excerpt {
	margin: 0 0 1.75rem;
}
.bold-news-featured__excerpt p {
	font-family: var(--wp--preset--font-family--body);
	font-size: clamp(1.6rem, 2.2vw, 1.7rem);
	color: var(--bold-gray);
	line-height: 1.85;
	margin: 0;
}
.bold-news-featured__more {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: var(--bold-black);
	text-decoration: none;
	border-bottom: 0.1rem solid var(--bold-black);
	padding-bottom: 0.2rem;
	transition: color 0.3s, border-color 0.3s;
}
.bold-news-featured__more::after {
	content: "\2197";
	margin-left: 0.5rem;
}
.bold-news-featured__inner:hover .bold-news-featured__more {
	color: var(--bold-coral);
	border-color: var(--bold-coral);
}

/* --- List（2件目以降・3カラムカード） --- */
.bold-news-grid.wp-block-post-template {
	gap: clamp(2rem, 4vw, 3rem) !important;
	margin: 0;
	list-style: none;
	padding: 0;
}
.bold-news-grid > .wp-block-post {
	margin: 0;
}
.bold-news-grid .wp-block-post[hidden] {
	display: none !important;
}

.bold-news-card__media {
	position: relative;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: var(--bold-light);
}
.bold-news-card__image,
.bold-news-card__image a {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
}
.bold-news-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.6s ease;
}
.bold-news-card:hover .bold-news-card__image img {
	transform: scale(1.05);
}
.bold-news-card__category {
	position: absolute;
	top: 1rem;
	left: 1rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: var(--bold-black);
	background: var(--bold-coral);
	padding: 0.25rem 0.7rem;
	margin: 0;
}
.bold-news-card__category a {
	color: inherit;
	text-decoration: none;
}
.bold-news-card__date {
	display: block;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.15em;
	color: var(--bold-gray);
	margin: 1.25rem 0 0.6rem;
}
h3.bold-news-card__title {
	font-family: var(--wp--preset--font-family--body);
	font-size: clamp(1.6rem, 2.4vw, 1.7rem);
	font-weight: 600;
	letter-spacing: 0.01em;
	color: var(--bold-black);
	line-height: 1.55;
	margin: 0 0 0.75rem;
}
.bold-news-card__title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.3s;
}
.bold-news-card__title a:hover {
	color: var(--bold-coral);
}
.bold-news-card__excerpt {
	margin: 0;
}
.bold-news-card__excerpt p {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	color: var(--bold-gray);
	line-height: 1.8;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* 抜粋の「続きを読む」リンク（moreText 空）は非表示 */
.bold-news-featured__excerpt .wp-block-post-excerpt__more-link,
.bold-news-card__excerpt .wp-block-post-excerpt__more-link {
	display: none;
}

.bold-news-empty {
	font-family: var(--wp--preset--font-family--body);
	color: var(--bold-gray);
	padding: 4rem 0;
}

/* --- News 一覧 レスポンシブ --- */
@media (max-width: 960px) {
	.bold-news-grid.wp-block-post-template {
		grid-template-columns: 1fr 1fr !important;
	}
}
@media (max-width: 768px) {
	.bold-news-featured__inner {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 600px) {
	.bold-news-grid.wp-block-post-template {
		grid-template-columns: 1fr !important;
	}
}

/* ================================================================
 * News 詳細 (single-dz_news)
 * 模写元: app/demos/creative-bold/news/[slug]/NewsDetailClient.tsx
 * ================================================================ */

/* --- Hero (dark) --- */
.bold-news-detail-hero {
	color: var(--bold-white);
	position: relative;
	overflow: hidden;
	/* 固定ヘッダーをクリアするための上部余白 */
	padding-top: clamp(12rem, 16vw, 16rem) !important;
}
.bold-news-detail-hero::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 0.2rem;
	height: 100%;
	background: var(--bold-coral);
	opacity: 0.25;
	pointer-events: none;
}
.bold-news-detail-hero > * {
	position: relative;
	z-index: 1;
}
.bold-news-detail-hero__back {
	margin: 0 0 3rem;
}
.bold-news-detail-hero__back a {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
	text-decoration: none;
	transition: color 0.2s;
}
.bold-news-detail-hero__back a:hover {
	color: var(--bold-coral);
}
.bold-news-detail-hero__overline {
	gap: 0.75rem !important;
	margin-bottom: 1.5rem;
}
.bold-news-detail-hero__cat {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: var(--bold-black);
	background: var(--bold-coral);
	padding: 0.3rem 0.8rem;
	margin: 0;
}
.bold-news-detail-hero__cat a {
	color: inherit;
	text-decoration: none;
}
.bold-news-detail-hero__date {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.2em;
	color: rgba(255, 255, 255, 0.65);
	margin: 0;
}
h1.bold-news-detail-hero__title {
	font-size: clamp(2.4rem, 6vw, 5rem);
	line-height: 1.15;
	letter-spacing: -0.01em;
	margin: 0 0 1.75rem;
	max-width: 108rem;
}
h1.bold-news-detail-hero__title::after {
	content: ".";
	color: var(--bold-coral);
}
.bold-news-detail-hero__excerpt {
	margin: 0;
}
.bold-news-detail-hero__excerpt p {
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	font-size: clamp(1.6rem, 2.4vw, 1.85rem);
	color: rgba(255, 255, 255, 0.7);
	max-width: 78rem;
	line-height: 1.7;
	margin: 0;
}

/* --- Cover (アイキャッチを Hero に重ねる) --- */
.bold-news-detail-cover__img {
	margin: -3rem 0 0;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--bold-light);
}
.bold-news-detail-cover__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* --- Body: 本文(prose) + メタサイドバー --- */
.bold-news-detail-body__grid {
	gap: clamp(3rem, 6vw, 5rem) !important;
	align-items: flex-start;
}

/* 本文 prose（共通 .bold-prose を News 詳細用に React 値へ寄せる） */
.bold-news-prose {
	max-width: 76rem;
}
.bold-news-prose p {
	font-family: var(--wp--preset--font-family--body);
	font-size: clamp(1.6rem, 2.2vw, 1.7rem);
	color: var(--bold-black);
	line-height: 1.95;
	margin: 0 0 1.5rem;
}
.bold-news-prose h2 {
	font-family: var(--wp--preset--font-family--display-alt);
	font-size: clamp(1.8rem, 2.6vw, 2.2rem);
	font-weight: 700;
	color: var(--bold-black);
	margin: 3rem 0 1.25rem;
	letter-spacing: -0.01em;
	line-height: 1.3;
}
.bold-news-prose h3 {
	font-family: var(--wp--preset--font-family--display-alt);
	font-size: clamp(1.6rem, 2.2vw, 1.9rem);
	font-weight: 700;
	color: var(--bold-black);
	margin: 2.5rem 0 1rem;
	letter-spacing: -0.01em;
	line-height: 1.3;
}
.bold-news-prose blockquote {
	border-left: 0.3rem solid var(--bold-coral);
	padding: 0 0 0 clamp(1.25rem, 2.5vw, 2rem);
	margin: 2.5rem 0;
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	font-size: clamp(1.8rem, 2.4vw, 2rem);
	color: var(--bold-black);
	line-height: 1.7;
}
.bold-news-prose ul {
	list-style: none;
	padding: 0;
	margin: 0 0 2rem;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}
.bold-news-prose ul li {
	position: relative;
	padding-left: 1.95rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: clamp(1.6rem, 2.1vw, 1.7rem);
	color: var(--bold-black);
	line-height: 1.85;
}
.bold-news-prose ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.7rem;
	width: 0.8rem;
	height: 0.8rem;
	background: var(--bold-coral);
}

/* メタサイドバー */
.bold-news-detail-meta {
	position: sticky;
	top: 6rem;
	border-top: 0.2rem solid var(--bold-coral);
	padding-top: 1.5rem;
}
.bold-news-detail-meta .bold-section-label {
	margin: 0 0 1rem;
}
.bold-news-detail-meta__list {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.75rem 1.5rem;
}
.bold-news-detail-meta__list > * {
	margin: 0;
}
.bold-news-detail-meta__label {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--bold-gray);
	line-height: 1.7;
}
.bold-news-detail-meta__value {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	color: var(--bold-black);
	line-height: 1.7;
}
.bold-news-detail-meta__value a {
	color: inherit;
	text-decoration: none;
}
.bold-news-detail-meta__back {
	margin: 2rem 0 0;
}
.bold-news-detail-meta__back a {
	display: inline-flex;
	align-items: center;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--bold-black);
	text-decoration: none;
	border-bottom: 0.1rem solid var(--bold-black);
	padding-bottom: 0.2rem;
	transition: color 0.3s, border-color 0.3s;
}
.bold-news-detail-meta__back a:hover {
	color: var(--bold-coral);
	border-color: var(--bold-coral);
}

/* --- CTA (dark, centered) --- */
.bold-news-detail-cta {
	color: var(--bold-white);
	text-align: center;
}
.bold-news-detail-cta .bold-section-label {
	color: var(--bold-coral);
}
.bold-news-detail-cta .wp-block-buttons {
	justify-content: center;
}
h2.bold-news-detail-cta__title {
	font-size: clamp(2.5rem, 6vw, 5rem);
	line-height: 1.1;
	margin: 0;
}

/* --- Related news --- */
.bold-news-related .wp-block-query {
	margin: 0;
}
.bold-news-related-grid.wp-block-post-template {
	gap: clamp(1.5rem, 3vw, 2rem) !important;
	margin: 0;
	list-style: none;
	padding: 0;
}
.bold-news-related-grid > .wp-block-post {
	margin: 0;
}
.bold-news-related-item__image {
	display: block;
	overflow: hidden;
	margin: 0;
	aspect-ratio: 4 / 3;
	background: var(--bold-light);
}
.bold-news-related-item__image a,
.bold-news-related-item__image img {
	display: block;
	width: 100%;
	height: 100%;
}
.bold-news-related-item__image img {
	object-fit: cover;
	transition: transform 0.4s ease;
}
.bold-news-related-item:hover .bold-news-related-item__image img {
	transform: scale(1.05);
}
.bold-news-related-item__overline {
	gap: 0 !important;
	margin: 1rem 0 0.4rem;
}
.bold-news-related-item__cat,
.bold-news-related-item__date {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: var(--bold-coral);
	margin: 0;
}
.bold-news-related-item__cat a {
	color: inherit;
	text-decoration: none;
}
.bold-news-related-item__date::before {
	content: "／ ";
}
h3.bold-news-related-item__title {
	font-family: var(--wp--preset--font-family--body);
	font-size: clamp(1.6rem, 2.4vw, 1.7rem);
	font-weight: 600;
	letter-spacing: 0.01em;
	color: var(--bold-black);
	line-height: 1.55;
	margin: 0;
}
.bold-news-related-item__title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.3s;
}
.bold-news-related-item__title a:hover {
	color: var(--bold-coral);
}

/* --- News 詳細 レスポンシブ --- */
@media (max-width: 781px) {
	.bold-news-detail-meta {
		position: static;
		margin-top: 3.2rem;
	}
}
@media (max-width: 768px) {
	.bold-news-related-grid.wp-block-post-template {
		grid-template-columns: 1fr 1fr !important;
	}
}
@media (max-width: 480px) {
	.bold-news-related-grid.wp-block-post-template {
		grid-template-columns: 1fr !important;
	}
}

/* ================================================================
 * Section: Contact (固定ページ: hero + フォーム)
 *   模写元: app/demos/creative-bold/contact/page.tsx + components/ContactForm.tsx
 *   値は React と 1:1 / 1rem = 10px。
 *   - Hero: 暗背景 + 中央コーラル縦線 + 袋文字 CONTACT（.bold-works-hero と同トークン）
 *   - 左カラム: 連絡先情報（icon は .bold-access-row と同方式の CSS マスク）
 *   - 右カラム: Contact Form 7 出力を React フォームUI（下線入力 + コーラルホバー）に合わせる
 * ================================================================ */

/* --- Hero --- */
.bold-contact-hero {
	color: var(--bold-white);
	position: relative;
	overflow: hidden;
	/* 固定ヘッダーをクリアするための上部余白（.bold-works-hero と統一） */
	padding-top: clamp(12rem, 16vw, 16rem) !important;
	padding-bottom: clamp(4rem, 8vw, 8rem) !important;
}
.bold-contact-hero::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 0.2rem;
	height: 100%;
	background: var(--bold-coral);
	opacity: 0.3;
	pointer-events: none;
}
.bold-contact-hero::after {
	content: "CONTACT";
	position: absolute;
	bottom: -4rem;
	right: -2rem;
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(8rem, 25vw, 22rem);
	line-height: 1.1;
	color: transparent;
	-webkit-text-stroke: 0.1rem rgba(255, 255, 255, 0.08);
	letter-spacing: -0.03em;
	white-space: nowrap;
	user-select: none;
	pointer-events: none;
	z-index: 0;
}
.bold-contact-hero > * {
	position: relative;
	z-index: 1;
}
.bold-contact-hero__label {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--bold-coral);
	margin: 0 0 1.5rem;
}
h1.bold-contact-hero__title {
	font-size: clamp(4rem, 14vw, 13rem);
	line-height: 1.05;
	margin: 0 0 2rem;
}
h1.bold-contact-hero__title::after {
	content: ".";
	color: var(--bold-coral);
}
.bold-contact-hero__subtitle {
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	font-size: clamp(1.7rem, 2.5vw, 1.95rem);
	color: rgba(255, 255, 255, 0.7);
	max-width: 60rem;
	line-height: 1.6;
	margin: 0;
}

/* ====================
 * Section: Contact Thanks（お問い合わせ完了）
 * .bold-contact-hero を流用し、ゴースト文字のみ THANK YOU に差し替え
 * ==================== */
.bold-thanks-hero::after {
	content: "THANK YOU";
}
.bold-thanks-note {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.4rem;
	color: rgba(255, 255, 255, 0.5);
	max-width: 60rem;
	line-height: 1.7;
	margin: 2rem 0 0;
}
.bold-thanks-actions {
	margin-top: clamp(3rem, 6vw, 4.8rem);
}

/* ====================
 * Section: Legal Hero（プライバシーポリシー / 利用規約）
 * .bold-contact-hero を共通ページヒーローとして流用し、巨大ゴースト文字のみ差し替え
 * （アーカイブ＝実績一覧/お知らせ一覧 と同じ「ダーク背景 hero」形式に下層ページを統一）
 * ==================== */
.bold-privacy-hero::after {
	content: "PRIVACY";
}
.bold-terms-hero::after {
	content: "TERMS";
}

/* --- Form section --- */
.bold-contact-section {
	color: var(--bold-black);
}

/* 左カラム: Studio ラベル + 見出し */
.bold-contact-meta__label {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--bold-coral);
	margin: 0 0 1rem;
}
h2.bold-contact-studio {
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1.1;
	margin: 0 0 2.5rem;
}

/* 左カラム: 連絡先 1 行（icon 左 + ラベル/値） */
.bold-contact-meta-row {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 1rem;
	align-items: start;
}
.bold-contact-meta-row + .bold-contact-meta-row {
	margin-top: 1.5rem;
}
.bold-contact-meta-row::before {
	content: "";
	grid-column: 1;
	grid-row: 1 / span 2;
	width: 1.8rem;
	height: 1.8rem;
	margin-top: 0.2rem;
	background-color: var(--bold-coral);
	-webkit-mask-position: center;
	        mask-position: center;
	-webkit-mask-repeat: no-repeat;
	        mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	        mask-size: contain;
}
.bold-contact-meta-row--map-pin::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
	        mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}
.bold-contact-meta-row--phone::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
	        mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}
.bold-contact-meta-row--mail::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E");
	        mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E");
}
.bold-contact-meta-row--clock::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E");
	        mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E");
}
.bold-contact-meta-row__label {
	grid-column: 2;
	grid-row: 1;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--bold-gray);
	margin: 0 0 0.25rem;
}
.bold-contact-meta-row__value {
	grid-column: 2;
	grid-row: 2;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	color: var(--bold-black);
	line-height: 1.6;
	margin: 0;
}

/* 左カラム: 補足ノート（左コーラル罫線） */
.bold-contact-meta__note {
	border-left: 0.2rem solid var(--bold-coral);
	padding-left: 1.25rem;
	margin-top: 3.5rem;
}
.bold-contact-meta__note p {
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	font-size: 1.6rem;
	color: var(--bold-gray);
	line-height: 1.7;
	margin: 0;
}

/* 右カラム: Contact Form 7 を React ContactForm.tsx に合わせる */
.bold-contact-form .wpcf7-form {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
}
.bold-contact-form .wpcf7-form > p,
.bold-contact-form .bold-form-grid > p {
	margin: 0;
}
.bold-contact-form .bold-form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2.5rem;
}
.bold-contact-form label {
	display: block;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: var(--bold-gray);
}
.bold-contact-form .bold-form-req {
	color: var(--bold-coral);
	margin-left: 0.35rem;
}
.bold-contact-form .wpcf7-form-control-wrap {
	display: block;
	margin-top: 0.65rem;
}
.bold-contact-form input.wpcf7-text,
.bold-contact-form input.wpcf7-email,
.bold-contact-form input.wpcf7-tel,
.bold-contact-form textarea.wpcf7-textarea {
	width: 100%;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	padding: 0.85rem 0;
	background: transparent;
	border: none;
	border-bottom: 0.1rem solid rgba(13, 13, 13, 0.2);
	color: var(--bold-black);
	outline: none;
	transition: border-color 0.3s;
}
.bold-contact-form input.wpcf7-text:focus,
.bold-contact-form input.wpcf7-email:focus,
.bold-contact-form input.wpcf7-tel:focus,
.bold-contact-form textarea.wpcf7-textarea:focus {
	border-bottom-color: var(--bold-coral);
}
.bold-contact-form input::placeholder,
.bold-contact-form textarea::placeholder {
	color: var(--bold-gray);
	opacity: 0.6;
}
.bold-contact-form textarea.wpcf7-textarea {
	min-height: 18rem;
	resize: vertical;
	line-height: 1.7;
}
.bold-contact-form .bold-form-actions {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	flex-wrap: wrap;
	margin-top: 1rem;
}
.bold-contact-form input.wpcf7-submit {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: var(--bold-white);
	background: var(--bold-black);
	padding: 1.2rem 3rem;
	border: 0.2rem solid var(--bold-black);
	cursor: pointer;
	transition: background-color 0.3s, border-color 0.3s, color 0.3s;
}
.bold-contact-form input.wpcf7-submit:hover {
	background: var(--bold-coral);
	border-color: var(--bold-coral);
	color: var(--bold-black);
}
.bold-contact-form .bold-form-note {
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	font-size: 1.6rem;
	color: var(--bold-gray);
	margin: 0;
}
.bold-contact-form .bold-form-note .bold-form-req {
	margin-left: 0;
}

/* --- Contact レスポンシブ --- */
@media (max-width: 768px) {
	.bold-contact-grid.wp-block-columns {
		flex-direction: column !important;
	}
	.bold-contact-grid .wp-block-column {
		flex-basis: 100% !important;
	}
	.bold-contact-form .bold-form-grid {
		grid-template-columns: 1fr;
	}
}

/* ================================================================
 * Recruit 一覧 (archive-dz_recruit)
 * 模写元: app/demos/creative-bold/recruit/RecruitIndexClient.tsx
 * ================================================================ */

/* --- Hero (dark, 中央コーラル縦線 + 袋文字 CAREERS) --- */
.bold-recruit-hero {
	color: var(--bold-white);
	position: relative;
	overflow: hidden;
	/* 固定ヘッダーをクリアするための上部余白 */
	padding-top: clamp(12rem, 16vw, 16rem) !important;
	padding-bottom: clamp(4rem, 8vw, 8rem) !important;
}
.bold-recruit-hero::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 0.2rem;
	height: 100%;
	background: var(--bold-coral);
	opacity: 0.3;
	pointer-events: none;
}
.bold-recruit-hero::after {
	content: "CAREERS";
	position: absolute;
	bottom: -4rem;
	right: -2rem;
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(8rem, 25vw, 22rem);
	line-height: 1.1;
	color: transparent;
	-webkit-text-stroke: 0.1rem rgba(255, 255, 255, 0.08);
	letter-spacing: -0.03em;
	white-space: nowrap;
	user-select: none;
	pointer-events: none;
	z-index: 0;
}
.bold-recruit-hero > * {
	position: relative;
	z-index: 1;
}
h1.bold-recruit-hero__title {
	font-size: clamp(4rem, 14vw, 13rem);
	line-height: 1.05;
	margin: 0 0 2rem;
}
h1.bold-recruit-hero__title::after {
	content: ".";
	color: var(--bold-coral);
}
.bold-recruit-hero__subtitle {
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	font-size: clamp(1.7rem, 2.5vw, 1.95rem);
	color: rgba(255, 255, 255, 0.7);
	max-width: 72rem;
	line-height: 1.6;
	margin: 0;
}

/* --- Filter (creative-bold.js が部門ボタンを生成。works フィルターと同トークン) --- */
.bold-recruit-filter {
	gap: 0.5rem !important;
	border-bottom: 0.1rem solid rgba(13, 13, 13, 0.08);
	padding-bottom: 1.25rem;
	margin-bottom: clamp(3rem, 6vw, 5rem);
}
.bold-recruit-filter:empty {
	display: none;
}
.bold-recruit-filter__btn {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--bold-black);
	background: transparent;
	border: 0.1rem solid rgba(13, 13, 13, 0.15);
	padding: 0.6rem 1.2rem;
	cursor: pointer;
	transition: color 0.2s, background 0.2s, border-color 0.2s;
}
.bold-recruit-filter__btn:hover {
	border-color: var(--bold-coral);
	color: var(--bold-coral);
}
.bold-recruit-filter__btn.is-active {
	color: var(--bold-white);
	background: var(--bold-black);
	border-color: var(--bold-black);
}

/* --- List (縦並びカード) --- */
.bold-recruit-list.wp-block-post-template {
	gap: 1.25rem !important;
	margin: 0;
	list-style: none;
	padding: 0;
}
.bold-recruit-list .wp-block-post[hidden] {
	display: none !important;
}
.bold-recruit-card {
	position: relative;
	border: 0.1rem solid rgba(13, 13, 13, 0.1);
	padding: clamp(1.75rem, 3vw, 2.5rem);
	background: var(--bold-white);
	transition: border-color 0.3s, background 0.3s;
}
.bold-recruit-card:hover {
	border-color: var(--bold-coral);
	background: rgba(255, 61, 0, 0.02);
}
.bold-recruit-card__inner {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 2rem;
}
/* 右端の矢印円（grid の auto カラム） */
.bold-recruit-card__inner::after {
	content: "\2197";
	grid-column: 2;
	width: 4.8rem;
	height: 4.8rem;
	border-radius: 50%;
	background: var(--bold-light);
	color: var(--bold-black);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2rem;
	flex-shrink: 0;
	transition: background 0.3s, color 0.3s;
	pointer-events: none;
}
.bold-recruit-card:hover .bold-recruit-card__inner::after {
	background: var(--bold-coral);
	color: var(--bold-white);
}
.bold-recruit-card__body {
	gap: 0 !important;
}
.bold-recruit-card__dept {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--bold-coral);
	margin: 0 0 0.75rem;
}
h2.bold-recruit-card__title {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.6rem, 3vw, 2.4rem);
	letter-spacing: 0.02em;
	color: var(--bold-black);
	line-height: 1.15;
	font-weight: 400;
	margin: 0 0 0.85rem;
}
.bold-recruit-card__title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.3s;
}
.bold-recruit-card:hover .bold-recruit-card__title a {
	color: var(--bold-coral);
}
/* カード全体をクリック可能にするストレッチリンク */
.bold-recruit-card__title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}
.bold-recruit-card__tags {
	gap: 1.5rem !important;
	margin: 0 0 1rem;
	align-items: center;
}
.bold-recruit-card__type {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.15em;
	color: var(--bold-coral);
	border: 0.1rem solid var(--bold-coral);
	padding: 0.2rem 0.7rem;
	margin: 0;
}
.bold-recruit-card__salary,
.bold-recruit-card__location {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	color: var(--bold-gray);
	margin: 0;
}
.bold-recruit-card__summary,
.bold-recruit-card__summary .wp-block-post-excerpt__excerpt {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	color: var(--bold-black);
	line-height: 1.8;
	max-width: 78rem;
	margin: 0;
}
.bold-recruit-archive-empty {
	font-family: var(--wp--preset--font-family--body);
	color: var(--bold-gray);
	padding: 4rem 0;
}

/* --- Bottom CTA (dark, centered) --- */
.bold-recruit-archive-cta {
	color: var(--bold-white);
	text-align: center;
}
.bold-recruit-archive-cta .bold-section-label {
	color: var(--bold-coral);
}
h2.bold-recruit-archive-cta__title {
	font-size: clamp(2rem, 5vw, 4rem);
	line-height: 1.1;
	margin: 0 0 1.5rem;
}
.bold-recruit-archive-cta__text {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	color: rgba(255, 255, 255, 0.6);
	max-width: 56rem;
	line-height: 1.8;
	margin: 0 auto 2.5rem;
}

/* --- 応募ボタン（一覧 Bottom CTA / 詳細 CTA 共通） --- */
.bold-recruit-apply-buttons {
	justify-content: center;
}
.bold-recruit-apply-btn .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: var(--bold-white);
	background: var(--bold-coral);
	border: 0.1rem solid var(--bold-coral);
	padding: 1.1rem 2.5rem;
	border-radius: 0;
	transition: background 0.3s;
}
.bold-recruit-apply-btn .wp-block-button__link::after {
	content: "\2197";
}
.bold-recruit-apply-btn .wp-block-button__link:hover {
	background: transparent;
	color: var(--bold-white);
}

/* ================================================================
 * Recruit 詳細 (single-dz_recruit + recruit-detail-body パターン)
 * 模写元: app/demos/creative-bold/recruit/[slug]/RecruitDetailClient.tsx
 * ================================================================ */

/* --- Hero (dark) --- */
.bold-recruit-hero-single {
	color: var(--bold-white);
	position: relative;
	overflow: hidden;
	/* 固定ヘッダーをクリアするための上部余白 */
	padding-top: clamp(12rem, 16vw, 16rem) !important;
}
.bold-recruit-hero-single::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 0.2rem;
	height: 100%;
	background: var(--bold-coral);
	opacity: 0.25;
	pointer-events: none;
}
.bold-recruit-hero-single > * {
	position: relative;
	z-index: 1;
}
.bold-recruit-hero-single__back {
	margin: 0 0 3.2rem;
}
.bold-recruit-hero-single__back a {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.2rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
	text-decoration: none;
	transition: color 0.2s;
}
.bold-recruit-hero-single__back a:hover {
	color: var(--bold-coral);
}
.bold-recruit-hero-single__overline {
	gap: 0.8rem !important;
	margin-bottom: 1.6rem;
}
.bold-recruit-hero-single__dept,
.bold-recruit-hero-single__type {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.12rem;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--bold-coral);
	margin: 0;
}
.bold-recruit-hero-single__dept::before {
	content: "— ";
}
.bold-recruit-hero-single__type::before {
	content: "/ ";
}
h1.bold-recruit-hero-single__title {
	font-size: clamp(3rem, 9vw, 8rem);
	line-height: 1.05;
	margin: 0 0 1.5rem;
}
h1.bold-recruit-hero-single__title::after {
	content: ".";
	color: var(--bold-coral);
}
.bold-recruit-hero-single__summary,
.bold-recruit-hero-single__summary .wp-block-post-excerpt__excerpt {
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	font-size: clamp(1.7rem, 2.5vw, 2rem);
	color: rgba(255, 255, 255, 0.7);
	max-width: 78rem;
	line-height: 1.6;
	margin: 0;
}

/* --- Cover (アイキャッチを Hero に重ねる) --- */
.bold-recruit-cover__img {
	margin-top: -3rem;
	background: var(--bold-light);
}
.bold-recruit-cover__img img {
	width: 100%;
	display: block;
}

/* --- Overview + Job Info --- */
.bold-recruit-overview__text {
	font-family: var(--wp--preset--font-family--body);
	font-size: clamp(1.6rem, 2.2vw, 1.75rem);
	color: var(--bold-black);
	line-height: 1.9;
	margin: 0;
}
.bold-recruit-meta-list {
	margin-top: 0.5rem;
}
.bold-recruit-meta-row {
	display: grid;
	grid-template-columns: 14rem 1fr;
	gap: 1.5rem;
	padding: 1rem 0;
	border-bottom: 0.1rem solid rgba(13, 13, 13, 0.08);
}
.bold-recruit-meta-row__label {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: var(--bold-gray);
	margin: 0;
}
.bold-recruit-meta-row__value {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	color: var(--bold-black);
	line-height: 1.7;
	margin: 0;
}

/* --- Responsibilities / Requirements (lightGray) --- */
.bold-recruit-panel {
	background: var(--bold-white);
	border: 0.1rem solid rgba(13, 13, 13, 0.08);
	padding: clamp(2rem, 4vw, 3rem);
	height: 100%;
}
.bold-recruit-panel--highlight {
	border-top: 0.2rem solid var(--bold-coral);
}
.bold-recruit-reqs-grid {
	gap: clamp(2.5rem, 5vw, 4rem) !important;
}

/* --- Ideal Candidate --- */
.bold-recruit-ideal-grid {
	gap: clamp(1.5rem, 3vw, 2rem) !important;
}
.bold-recruit-ideal-card {
	padding: clamp(1.75rem, 3vw, 2.25rem);
	border: 0.1rem solid rgba(13, 13, 13, 0.08);
	border-left: 0.3rem solid var(--bold-coral);
	gap: 0 !important;
}
.bold-recruit-ideal-card__num {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.9rem, 2.7vw, 2.2rem);
	color: var(--bold-coral);
	letter-spacing: 0.02em;
	line-height: 1;
	margin: 0 0 0.75rem;
}
.bold-recruit-ideal-card__text {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	color: var(--bold-black);
	line-height: 1.8;
	margin: 0;
}

/* --- Benefits (dark) --- */
.bold-recruit-benefits {
	color: var(--bold-white);
}
.bold-recruit-benefits .bold-section-label {
	color: var(--bold-coral);
}
.bold-recruit-benefits-grid {
	gap: clamp(1rem, 2vw, 1.5rem) !important;
}
.bold-recruit-benefit-card {
	position: relative;
	padding: 1.75rem 1.75rem 1.75rem 4.7rem;
	background: rgba(255, 255, 255, 0.04);
	border: 0.1rem solid rgba(255, 255, 255, 0.08);
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.85);
	margin: 0;
}
.bold-recruit-benefit-card::before {
	content: "";
	position: absolute;
	left: 1.75rem;
	top: 1.95rem;
	width: 2.2rem;
	height: 2.2rem;
	background: var(--bold-coral);
}
.bold-recruit-benefit-card::after {
	content: "";
	position: absolute;
	left: 2.58rem;
	top: 2.25rem;
	width: 0.55rem;
	height: 1.05rem;
	border: solid var(--bold-white);
	border-width: 0 0.2rem 0.2rem 0;
	transform: rotate(45deg);
}

/* --- CTA (dark, centered) --- */
.bold-recruit-detail-cta {
	color: var(--bold-white);
	text-align: center;
}
.bold-recruit-detail-cta .bold-section-label {
	color: var(--bold-coral);
}
.bold-recruit-detail-cta__heading {
	gap: 0 !important;
}
h2.bold-recruit-detail-cta__title {
	font-size: clamp(2.5rem, 6vw, 5rem);
	line-height: 1.1;
	margin: 0;
}

/* --- Related positions --- */
.bold-recruit-related-list.wp-block-post-template {
	gap: 1rem !important;
	margin-top: 3rem;
	list-style: none;
	padding: 0;
}
.bold-recruit-related-item {
	position: relative;
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 1.5rem;
	padding: 1.75rem 2rem;
	border: 0.1rem solid rgba(13, 13, 13, 0.1);
	transition: border-color 0.3s, background 0.3s;
}
.bold-recruit-related-item:hover {
	border-color: var(--bold-coral);
	background: rgba(255, 61, 0, 0.02);
}
.bold-recruit-related-item::after {
	content: "\2197";
	grid-column: 2;
	font-size: 2rem;
	color: var(--bold-black);
	pointer-events: none;
}
.bold-recruit-related-item__body {
	gap: 0 !important;
}
.bold-recruit-related-item__dept {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--bold-coral);
	margin: 0 0 0.5rem;
}
h3.bold-recruit-related-item__title {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.8rem, 2.5vw, 2.15rem);
	letter-spacing: 0.02em;
	color: var(--bold-black);
	font-weight: 400;
	margin: 0 0 0.4rem;
}
.bold-recruit-related-item__title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.3s;
}
.bold-recruit-related-item__title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}
.bold-recruit-related-item:hover .bold-recruit-related-item__title a {
	color: var(--bold-coral);
}
.bold-recruit-related-item__tags {
	gap: 0.5rem !important;
}
.bold-recruit-related-item__type,
.bold-recruit-related-item__salary {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	color: var(--bold-gray);
	margin: 0;
}
.bold-recruit-related-item__salary::before {
	content: "／";
	margin-right: 0.5rem;
}

/* --- Recruit レスポンシブ --- */
@media (max-width: 768px) {
	.bold-recruit-card__inner {
		grid-template-columns: 1fr;
	}
	.bold-recruit-card__inner::after {
		display: none;
	}
	.bold-recruit-meta-row {
		grid-template-columns: 10rem 1fr;
	}
}
@media (max-width: 560px) {
	.bold-recruit-ideal-grid,
	.bold-recruit-benefits-grid {
		grid-template-columns: 1fr !important;
	}
}

/* ================================================================
 * Section: Legal (white BG, 単一カラム読み物 / privacy-policy 等の固定ページ共通)
 * 模写元: lp-catalog/components/legal/LegalLayout.tsx
 *   React の /privacy はサイト共通レイアウト（緑/ライム配色）。ここでは「構造」を 1:1 で再現し、
 *   見た目は creative-bold の意匠（コーラル/ブラック/ディスプレイ書体）に翻訳している。
 * ================================================================ */
.bold-legal-section {
	background: var(--bold-white);
	color: var(--bold-black);
}

/* ラベル（— Privacy）→ 直下にヘアライン */
.bold-legal__label {
	margin-bottom: 1.6rem;
}

/* ラベル下のヘアライン（React: h-px の罫線 → テーマの border トークン #E5E5E5） */
.bold-legal__rule.wp-block-separator {
	width: 100%;
	max-width: none;
	height: 0;
	margin: 0 0 4.8rem;
	border: 0;
	border-top: 0.1rem solid var(--wp--preset--color--border);
	opacity: 1;
	background: none;
}

/* タイトル: ディスプレイ書体・セクション見出しスケール（h2 共通トークン）を維持 */
.bold-legal__title {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(3rem, 6vw, 6rem);
	line-height: 1.1;
	letter-spacing: -0.02em;
	font-weight: 400;
	color: var(--bold-black);
	margin: 0;
}

.bold-legal__updated {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.4rem;
	letter-spacing: 0.04em;
	color: var(--bold-gray);
	margin: 1.6rem 0 0;
}

.bold-legal__intro {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	line-height: 1.9;
	color: var(--bold-black);
	margin: 3.2rem 0 0;
}

/* セクション群（連番見出し + 本文） */
.bold-legal__sections {
	margin-top: 6.4rem;
	display: flex;
	flex-direction: column;
	gap: 4.8rem;
}

.bold-legal__heading {
	display: flex;
	align-items: baseline;
	gap: 1.2rem;
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.8rem, 2vw, 2.2rem);
	line-height: 1.4;
	letter-spacing: -0.01em;
	font-weight: 400;
	color: var(--bold-black);
	margin: 0;
}

/* 連番（01, 02 …）はコーラルでアクセント */
.bold-legal__num {
	flex: none;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	color: var(--bold-coral);
}

.bold-legal__body {
	margin-top: 1.6rem;
	display: flex;
	flex-direction: column;
	gap: 1.2rem;
}

.bold-legal__body p {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.6rem;
	line-height: 1.9;
	color: var(--bold-black);
	margin: 0;
}

/* ====================
 * ブロックエディター専用の調整（.editor-styles-wrapper は管理画面のみに存在）
 * 公開サイトには適用されない
 * ==================== */

/*
 * Hero ラベル: 公開サイトでは cover が 100vh + 本文が下寄せ（margin: auto auto 0）のため、
 * 絶対配置（top: 8.8rem）のラベルは上部の空きスペースに単独で表示され重ならない。
 * エディターでは本文が下寄せされず上詰めになるため、絶対配置のラベルが見出しに重なる。
 * → エディター内ではラベルを通常フロー（flex カラムの先頭）に戻し、見出しの上に並べる。
 */
.editor-styles-wrapper .bold-hero-label {
	position: static;
	top: auto;
	left: auto;
}
