/* ==========================================================
   Ubuntu Web Design — X-T9 ＋ VK Blocks 用デザイン
   色・書体・見出しサイズなどはサイトエディターの「スタイル」で管理し、
   ここではブロックスタイルと最小限の装飾だけを定義する。
   方針：細い線・くっきりした文字・余白で、知的でシャープに見せる。
   ========================================================== */
:root {
	--uwd-navy: var(--wp--preset--color--primary, #1f3554);
	--uwd-red: var(--wp--preset--color--complementary, #c63a8f); /* ロゴのマゼンタ */
	--uwd-ink: var(--wp--preset--color--text-normal, #1d232b);
	--uwd-muted: var(--wp--preset--color--text-secondary, #5a636e);
	--uwd-tint: var(--wp--preset--color--bg-secondary, #eff4f8);
	--uwd-card: #fefeff;
	--uwd-line: #e0e3e7; /* 紺を白に14%混ぜた色（寒色の細線） */
	--uwd-line-strong: #c0c6cf; /* 紺を白に28%混ぜた色 */
	--uwd-serif: var(--wp--preset--font-family--noto-serif-jp, serif);
	--uwd-latin: "Cormorant Garamond", var(--wp--preset--font-family--noto-serif-jp, serif); /* 欧文・数字 */
	--uwd-gutter: clamp(16px, 4vw, 40px);
}

/* ==========================================================
   1. 地（ごく淡い紙の質感）と文字
   ========================================================== */
body,
.has-bg-primary-background-color,
.has-bg-secondary-background-color,
.has-mist-background-color {
	background-image: url("https://ubuntuweb.jp/wp-content/plugins/ubuntu-web-design-features/assets/images/paper-texture-c.svg");
	background-size: 320px 320px;
}
/* ページの地：左は澄んだ淡い水色、中央で紙の白に溶け、右へ行くほど淡い紫（水色とロゴのマゼンタの間）。
   紙の質感の上に重ねてくすみを抑える。ヘッダーの地も同じものを使う */
:root {
	--uwd-page-gradient: linear-gradient(to right,
		rgba(221, 239, 251, .66) 0%,
		rgba(230, 244, 252, .4) 28%,
		rgba(244, 246, 252, .1) 52%,
		rgba(242, 236, 249, .2) 76%,
		rgba(238, 229, 247, .4) 100%);
}
body {
	background-image:
		var(--uwd-page-gradient),
		url("https://ubuntuweb.jp/wp-content/plugins/ubuntu-web-design-features/assets/images/paper-texture-c.svg");
	background-size: 100% 100%, 320px 320px;
}
/* 左端の目盛り：水色の帯に添える、ごく淡い縦の目盛り（メインビジュアルの縁の目盛りと同じリズム）。
   スクロールしても同じ位置に留まる。数字やラベルは入れない。
   セクションの地（灰色・CTA）に隠れて途切れないよう、背景より手前に置く（クリックは透過） */
body::after {
	content: "";
	position: fixed;
	top: 0;
	bottom: 0;
	left: clamp(14px, 1.8vw, 28px);
	width: 16px;
	z-index: 2;
	background:
		linear-gradient(rgba(31, 53, 84, .22), rgba(31, 53, 84, .22)) left top / 1px 100% no-repeat,
		repeating-linear-gradient(to bottom, rgba(31, 53, 84, .26) 0 1px, transparent 1px 100px) left top / 15px 100% no-repeat,
		repeating-linear-gradient(to bottom, rgba(31, 53, 84, .2) 0 1px, transparent 1px 50px) left top / 10px 100% no-repeat,
		repeating-linear-gradient(to bottom, rgba(31, 53, 84, .14) 0 1px, transparent 1px 10px) left top / 5px 100% no-repeat;
	-webkit-mask-image: linear-gradient(to bottom, transparent, #000 12%, #000 88%, transparent);
	mask-image: linear-gradient(to bottom, transparent, #000 12%, #000 88%, transparent);
	pointer-events: none;
}
@media (width < 782px) {
	body::after { display: none; }
}
/* 固定ヘッダーの地も、同じグラデーションに合わせる */
.uwd-header.has-bg-primary-background-color {
	background-image:
		var(--uwd-page-gradient),
		url("https://ubuntuweb.jp/wp-content/plugins/ubuntu-web-design-features/assets/images/paper-texture-c.svg");
	background-size: 100% 100%, 320px 320px;
}
body { -webkit-font-smoothing: antialiased; }
/* 本文の最後のセクション（CTA など）とフッターの間に隙間を作らない */
.wp-block-post-content > :last-child { margin-bottom: 0 !important; }
main.wp-block-group:has(> .wp-block-post-content) { padding-bottom: 0; margin-bottom: 0; }
/* 和文見出しはプロポーショナルに詰め、輪郭をくっきり見せる */
h1, h2, h3, h4, .wp-block-site-title { font-feature-settings: "palt"; }
h2, h3 { letter-spacing: .04em; }
/* 左寄せの見出しは、1文字目の字面の余白ぶん左に寄せ、リード文などと左端をそろえる（視覚補正） */
h2.is-style-vk-heading-plain:not(.has-text-align-center) { text-indent: -.05em; }
/* 欧文セリフの数字は高さのそろったライニング数字で */
.is-style-uwd-facts strong,
.is-style-uwd-points > .wp-block-column > p:first-child,
.wp-block-list.is-style-vk-numbered-square-mark > li::before {
	font-variant-numeric: lining-nums;
	font-feature-settings: "lnum";
}

/* 灰色の地（ごく淡い青灰色）のセクション（事業概要・特長・納品実績など）：右下の角に幾何学模様をうっすら置く。
   七宝・ケンテ布・青海波を、セクションの並び順に応じて順番に割り当てる */
/* 灰色の地のセクション：別の色を塗らず、ページの地と同じ左右のグラデーションに、ごく薄い紺を重ねて「一段深い同じ色」にする */
.wp-block-group.alignfull.has-bg-secondary-background-color:not(.is-style-uwd-graticule) {
	background-color: var(--wp--preset--color--bg-primary, #fbfcfe) !important;
	background-image:
		linear-gradient(rgba(31, 53, 84, .045), rgba(31, 53, 84, .045)),
		var(--uwd-page-gradient),
		url("https://ubuntuweb.jp/wp-content/plugins/ubuntu-web-design-features/assets/images/paper-texture-c.svg");
	background-size: 100% 100%, 100% 100%, 320px 320px;
	position: relative;
	isolation: isolate;
	overflow: hidden;
}
.wp-block-group.alignfull.has-bg-secondary-background-color:not(.is-style-uwd-graticule)::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	width: min(48vw, 560px);
	aspect-ratio: 560 / 380;
	z-index: -1;
	background: var(--uwd-corner, url("https://ubuntuweb.jp/wp-content/plugins/ubuntu-web-design-features/assets/images/corner4-seigaiha.svg")) right bottom / 100% 100% no-repeat;
	pointer-events: none;
}
.wp-block-group.alignfull.has-bg-secondary-background-color:nth-child(3n+1) { --uwd-corner: url("https://ubuntuweb.jp/wp-content/plugins/ubuntu-web-design-features/assets/images/corner4-shippo.svg"); }
.wp-block-group.alignfull.has-bg-secondary-background-color:nth-child(3n+2) { --uwd-corner: url("https://ubuntuweb.jp/wp-content/plugins/ubuntu-web-design-features/assets/images/corner4-kente.svg"); }
.wp-block-group.alignfull.has-bg-secondary-background-color:nth-child(3n) { --uwd-corner: url("https://ubuntuweb.jp/wp-content/plugins/ubuntu-web-design-features/assets/images/corner4-seigaiha.svg"); }

/* ==========================================================
   3. ヘッダー（X-T9 の固定ヘッダー）
   ========================================================== */
.uwd-header.has-bg-primary-background-color {
	background-color: rgba(251, 252, 254, .96) !important;
}
/* 移行元（ubuntuweb.jp）のロゴマーク＋サイト名 */
.uwd-brand { align-items: center; }
.uwd-brand .wp-block-site-logo img { display: block; }
.uwd-header .wp-block-site-title a { text-decoration: none; }
/* ヘッダーの CONTACT ボタンは折り返さない。スマホでは左右の余白を詰める */
.uwd-header .wp-block-button__link { white-space: nowrap; }
@media (width < 600px) {
	.uwd-header .wp-block-button__link {
		padding-left: .95em !important;
		padding-right: .95em !important;
		letter-spacing: .06em;
		font-size: .78rem !important;
	}
}
.uwd-header .uwd-tagline { line-height: 1.4; letter-spacing: .06em; }
@media (width < 600px) {
	.uwd-header .uwd-tagline { display: none; }
}

/* ==========================================================
   4. 見出しラベル・リード文・見出し
   ========================================================== */
.is-style-uwd-eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: .7rem !important;
	font-weight: 600;
	letter-spacing: .28em;
	text-transform: uppercase;
	color: var(--uwd-navy);
	margin-bottom: .6rem !important;
}
.is-style-uwd-eyebrow.has-text-align-center { justify-content: center; }
.is-style-uwd-eyebrow::before {
	content: "";
	flex: none;
	width: 6px;
	height: 6px;
	background: var(--uwd-red);
}
.is-style-uwd-eyebrow::after {
	content: "";
	flex: none;
	width: 40px;
	height: 1px;
	background: var(--uwd-line-strong);
}
.is-style-uwd-eyebrow + .wp-block-heading { margin-top: 0 !important; }

/* 読みやすい行長（44字前後）に収める。幅制約レイアウトの中でも左端はほかの要素とそろえる */
.is-style-uwd-lead {
	max-width: 44em !important;
	margin-bottom: 2.75rem !important;
}
.is-layout-constrained > .is-style-uwd-lead:not(.has-text-align-center) {
	margin-left: max(0px, calc((100% - var(--wp--style--global--content-size)) / 2)) !important;
	margin-right: auto !important;
}
.is-style-uwd-lead.has-text-align-center { margin-left: auto !important; margin-right: auto !important; }
.is-style-uwd-lead:not(.has-text-color) { color: var(--uwd-muted); }
/* リード文は文節で折り返し、最後の1〜2文字だけが次の行に残らないようにする（中央ぞろえは行の長さをそろえる） */
.is-style-uwd-lead { word-break: auto-phrase; text-wrap: pretty; }
.is-style-uwd-lead.has-text-align-center,
.wp-block-group.uwd-tategaki-center > .is-style-uwd-lead { text-wrap: balance; }

/* 縦書きの見出し（カラムのスタイル）：見出しを右に縦に立て、本文は左に横書き */
.wp-block-column.is-style-uwd-tategaki {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	column-gap: clamp(32px, 4.5vw, 64px);
	row-gap: 0;
	align-content: center;
}
.wp-block-column.is-style-uwd-tategaki > * { grid-column: 1; }
.wp-block-column.is-style-uwd-tategaki > .wp-block-heading {
	grid-column: 2;
	grid-row: 1 / span 12;
	align-self: start;
	margin: 0 !important;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	font-size: clamp(1.6rem, 2.5vw, 2.1rem);
	line-height: 1.75;
	letter-spacing: .2em;
	font-feature-settings: "vpal";
	white-space: nowrap;
}
/* セクション（グループ）で使う場合：コンテンツ幅の中で、見出しを右端に縦に立てる
   追加 CSS クラス「uwd-tategaki」で指定（背景などのブロックスタイルと両立させるため）。右端に置く */
.wp-block-group.uwd-tategaki {
	--uwd-tate-w: clamp(110px, 10vw, 150px);
	display: grid;
	grid-template-columns:
		1fr
		minmax(0, calc(min(100%, var(--wp--style--global--content-size)) - var(--uwd-tate-w)))
		var(--uwd-tate-w)
		1fr;
	row-gap: 0;
}
.wp-block-group.uwd-tategaki > * {
	grid-column: 2;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
.wp-block-group.uwd-tategaki > .wp-block-heading {
	grid-column: 3;
	grid-row: 1 / span 12;
	justify-self: end;
	align-self: start;
	margin: 0 !important;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	font-size: clamp(1.6rem, 2.5vw, 2.1rem);
	line-height: 1.75;
	letter-spacing: .2em;
	font-feature-settings: "vpal";
	white-space: nowrap;
}
.wp-block-group.uwd-tategaki > .is-style-uwd-eyebrow + * { margin-top: 0; }

/* セクション（グループ）で中央に置く場合：追加 CSS クラス「uwd-tategaki-center」
   ラベル・縦書きの見出し・リード文を中央の軸にそろえる */
.wp-block-group.uwd-tategaki-center > .is-style-uwd-eyebrow { justify-content: center; }
.wp-block-group.uwd-tategaki-center > .wp-block-heading {
	width: max-content;
	margin: 1.4rem auto 1.8rem !important;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	font-size: clamp(1.5rem, 2.3vw, 1.95rem);
	line-height: 1.85;
	letter-spacing: .22em;
	font-feature-settings: "vpal";
	white-space: nowrap;
}
.wp-block-group.uwd-tategaki-center > .is-style-uwd-lead {
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center;
}

@media (width < 782px) {
	.wp-block-column.is-style-uwd-tategaki,
	.wp-block-group.uwd-tategaki { display: block; }
	.wp-block-group.uwd-tategaki > * { max-width: var(--wp--style--global--content-size) !important; margin-left: auto !important; margin-right: auto !important; }
	.wp-block-column.is-style-uwd-tategaki > .wp-block-heading,
	.wp-block-group.uwd-tategaki > .wp-block-heading {
		writing-mode: horizontal-tb;
		white-space: normal;
		letter-spacing: .04em;
		font-feature-settings: "palt";
		word-break: auto-phrase;
		text-wrap: balance;
		margin-bottom: 1rem !important;
	}
	.wp-block-column.is-style-uwd-tategaki > .wp-block-heading br,
	.wp-block-group.uwd-tategaki > .wp-block-heading br { display: none; }
}

/* VK の「下線」見出しに、紺のアクセントを添える */
.is-style-vk-heading-solid_bottomborder_black {
	margin-top: 3rem !important;
	margin-bottom: 1rem !important;
	padding-bottom: .6rem !important;
	border-bottom: 1px solid var(--uwd-line) !important;
	color: var(--uwd-navy);
}
.is-style-vk-heading-solid_bottomborder_black::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 64px;
	height: 2px;
	background: var(--uwd-navy);
}
.is-style-uwd-lead + .is-style-vk-heading-solid_bottomborder_black,
.uwd-pack > .is-style-vk-heading-solid_bottomborder_black:first-child,
.wp-block-column > .is-style-vk-heading-solid_bottomborder_black:first-child { margin-top: 0 !important; }

/* ==========================================================
   5. ボタン（VK Blocks ボタン・コアボタン）
   ========================================================== */
.vk_button .vk_button_link.btn,
.wp-block-button__link {
	border-radius: 0 !important;
	font-weight: 600;
	letter-spacing: .1em;
	transition: background-color .2s, color .2s;
}
.vk_button .vk_button_link.btn {
	padding: .9em 2.1em;
	font-size: .84rem;
	letter-spacing: .14em;
	box-shadow: none;
	text-shadow: none;
}
.vk_button .vk_button_link.btn.has-primary-background-color:hover { background-color: var(--wp--preset--color--primary-hover) !important; }
.vk_button .vk_button_link.btn.is-style-outline { border: 1px solid currentColor; }
.vk_button .vk_button_link.btn.is-style-outline:hover {
	background-color: var(--uwd-navy);
	color: #fff !important;
}
.vk_button .vk_button_link_after { margin-left: .9em; transition: transform .2s; }
.vk_button .vk_button_link:hover .vk_button_link_after { transform: translateX(4px); }
.wp-block-group > .wp-block-vk-blocks-button { margin-top: 0; margin-bottom: 0; }
:is(p, ul, ol) + .wp-block-vk-blocks-button { margin-top: 2rem; }

/* ==========================================================
   6. 経緯線の背景（グループ・カバー）
   ========================================================== */
.wp-block-group.is-style-uwd-graticule {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}
.wp-block-group.is-style-uwd-graticule::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: url("https://ubuntuweb.jp/wp-content/plugins/ubuntu-web-design-features/assets/images/mollweide-graticule.svg") 50% 50% / min(96vw, 1180px) auto no-repeat;
	opacity: .6;
	pointer-events: none;
}
/* 紺地の上では白い線にする */
.wp-block-group.is-style-uwd-graticule.has-primary-background-color::before {
	background-position: right -8% center;
	background-size: min(86vw, 980px) auto;
	filter: brightness(0) invert(1);
	opacity: .72;
}
/* 固定ページの見出し（X-T9 の page-header-page）
   帯の色・罫線は付けない。地図（経緯線）は見出しの中に閉じ込めず、ページの背景として敷き、
   見出しから本文の書き出しへ向かって長いグラデーションで紙の地に溶かす */
.wp-block-cover.is-style-uwd-graticule {
	min-height: clamp(150px, 17vw, 210px) !important;
}
.wp-block-cover.is-style-uwd-graticule .wp-block-cover__background {
	background: transparent !important;
	opacity: 1 !important;
}
body:has(.wp-block-cover.is-style-uwd-graticule) .wp-site-blocks {
	position: relative;
	isolation: isolate;
}
body:has(.wp-block-cover.is-style-uwd-graticule) .wp-site-blocks::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: clamp(520px, 52vw, 720px);
	z-index: -1;
	background-image: url("https://ubuntuweb.jp/wp-content/plugins/ubuntu-web-design-features/assets/images/mollweide-graticule.svg");
	background-position: 90% clamp(0px, 2vw, 24px);
	background-size: min(72vw, 760px) auto;
	background-repeat: no-repeat;
	opacity: .85;
	-webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 16%, #000 42%, transparent 100%);
	mask-image: linear-gradient(to bottom, transparent 0, #000 16%, #000 42%, transparent 100%);
	pointer-events: none;
}
.wp-block-cover.is-style-uwd-graticule .wp-block-post-title { text-align: left; }
/* ページ名から伸びていく繊細な曲線。見出しの範囲をはみ出して、本文の書き出しのほうへ流れる */
.wp-block-cover.is-style-uwd-graticule,
.wp-block-cover.is-style-uwd-graticule .wp-block-cover__inner-container { overflow: visible !important; }
.wp-block-cover.is-style-uwd-graticule .wp-block-post-title {
	position: relative;
	width: fit-content;
	max-width: none !important;
	margin-left: max(0px, calc((100% - var(--wp--style--global--content-size)) / 2)) !important;
	margin-right: auto !important;
}
.wp-block-cover.is-style-uwd-graticule .wp-block-post-title::after {
	content: "";
	position: absolute;
	left: calc(100% + .5em);
	top: 50%;
	width: clamp(420px, 66vw, 1000px);
	aspect-ratio: 1000 / 360;
	transform: translateY(-33.3%);
	background: url("https://ubuntuweb.jp/wp-content/plugins/ubuntu-web-design-features/assets/images/title-line-rise2.svg") left top / 100% 100% no-repeat;
	pointer-events: none;
}
@media (width < 782px) {
	.wp-block-cover.is-style-uwd-graticule .wp-block-post-title::after { display: none; }
}
/* 固定ページのキャッチコピー（本文の最初の段落に追加 CSS クラス「uwd-page-copy」）
   見出しの右端の余白に、ページ名より控えめな縦書きで置く */
main:has(> .wp-block-post-content > .uwd-page-copy) { position: relative; }
.wp-block-post-content > p.uwd-page-copy {
	position: absolute;
	top: clamp(36px, 4vw, 56px);
	right: max(var(--uwd-gutter), calc((100% - var(--wp--style--global--content-size)) / 2));
	z-index: 2;
	margin: 0 !important;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	font-family: var(--uwd-serif);
	font-size: clamp(.95rem, 1.25vw, 1.1rem);
	font-weight: 600;
	line-height: 2;
	letter-spacing: .28em;
	font-feature-settings: "vpal";
	color: var(--uwd-navy);
	white-space: nowrap;
	/* 文字の後ろの地図や軌跡の線だけを、ふわっとぼかして文字を読みやすくする。
	   色は塗らないので、背景のグラデーション（右の淡い紫）がそのまま続く */
	padding: 1.4em 1.1em;
	isolation: isolate;
}
.wp-block-post-content > p.uwd-page-copy::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
	-webkit-mask-image: radial-gradient(closest-side, #000 55%, transparent);
	mask-image: radial-gradient(closest-side, #000 55%, transparent);
	pointer-events: none;
}
@media (width < 782px) {
	.wp-block-post-content > p.uwd-page-copy::before { display: none; }
	.wp-block-post-content > p.uwd-page-copy {
		padding: 0;
		background: none;
		position: static;
		writing-mode: horizontal-tb;
		margin: 1rem var(--uwd-gutter) 0 !important;
		letter-spacing: .08em;
		font-feature-settings: "palt";
		white-space: normal;
	}
	.wp-block-post-content > p.uwd-page-copy br { display: none; }
}

/* ==========================================================
   7. メインビジュアル枠
   ========================================================== */
.wp-block-group.is-style-uwd-main-visual {
	position: relative;
	width: 100%;
	max-width: 520px;
	aspect-ratio: 1;
	margin-left: auto;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--uwd-navy);
}
/* 画像（エディターの「置換」で差し替え） */
.is-style-uwd-main-visual > .wp-block-image {
	position: absolute !important;
	inset: 0;
	z-index: 0;
	margin: 0 !important;
	max-width: none !important;
}
.is-style-uwd-main-visual > .wp-block-image img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}
.is-style-uwd-main-visual > .wp-block-image::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(255, 255, 255, .28);
	pointer-events: none;
}
.wp-block-group.is-style-uwd-main-visual::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: url("https://ubuntuweb.jp/wp-content/plugins/ubuntu-web-design-features/assets/images/mollweide-graticule.svg") center / 112% auto no-repeat;
	opacity: .72;
	pointer-events: none;
}
/* 1つ目の段落＝左上のラベル、最後の段落＝右下のキャプション */
.is-style-uwd-main-visual > p {
	position: absolute !important; /* エディターのブロック枠（position: relative）より優先 */
	z-index: 3;
	margin: 0 !important;
	padding: 2px 6px;
	background: rgba(251, 252, 254, .92);
	pointer-events: none;
}
.is-style-uwd-main-visual > p:first-of-type {
	left: 12px;
	top: 8px;
	font-size: .66rem;
	font-weight: 700;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--uwd-navy);
}
.is-style-uwd-main-visual > p:first-of-type em { font-style: normal; }
.is-style-uwd-main-visual > p:last-of-type {
	right: 12px;
	bottom: 8px;
	font-family: var(--uwd-serif);
	font-size: .78rem;
	letter-spacing: .1em;
	color: var(--uwd-muted);
}
/* 枠の外に重ねる幾何学のアクセント */
.wp-block-column:has(> .is-style-uwd-main-visual) { position: relative; }
.wp-block-column:has(> .is-style-uwd-main-visual)::before {
	content: "";
	position: absolute;
	right: -18px;
	top: -18px;
	width: 72px;
	height: 72px;
	border-top: 1px solid rgba(31, 53, 84, .2);
	border-right: 1px solid rgba(31, 53, 84, .2);
}
/* ==========================================================
   8. カラム：数字の帯・罫線で区切る・カード
   ========================================================== */
.wp-block-columns.is-style-uwd-facts {
	gap: 0 !important;
	margin-top: clamp(48px, 7vw, 88px) !important;
	border-top: 1px solid var(--uwd-navy);
}
.is-style-uwd-facts > .wp-block-column {
	padding: 22px clamp(12px, 2vw, 28px) 0;
	border-left: 1px solid var(--uwd-line-strong);
}
.is-style-uwd-facts > .wp-block-column:first-child { padding-left: 0; border-left: none; }
.is-style-uwd-facts p {
	display: flex;
	align-items: baseline;
	gap: 1rem;
	margin: 0;
	font-size: .88rem;
	line-height: 1.6;
	color: var(--uwd-muted);
}
.is-style-uwd-facts strong {
	flex: none;
	font-family: var(--uwd-latin);
	font-size: 2.3rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: .02em;
	color: var(--uwd-navy);
}

.wp-block-columns.is-style-uwd-points {
	gap: 0 !important;
	border-top: 1px solid var(--uwd-navy);
}
.is-style-uwd-points > .wp-block-column {
	padding: 28px clamp(16px, 2.5vw, 36px) 0;
	border-left: 1px solid var(--uwd-line-strong);
}
.is-style-uwd-points > .wp-block-column:first-child { padding-left: 0; border-left: none; }
.is-style-uwd-points > .wp-block-column:last-child { padding-right: 0; }
.is-style-uwd-points > .wp-block-column > * { margin-top: 0 !important; }
.is-style-uwd-points > .wp-block-column > p:first-child {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 1rem !important;
	font-family: var(--uwd-latin);
	font-size: 3rem;
	font-weight: 500;
	line-height: 1;
	color: var(--uwd-navy);
}
.is-style-uwd-points > .wp-block-column > p:first-child::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--uwd-line-strong);
}
.is-style-uwd-points h3 { margin-bottom: .7rem !important; }

.wp-block-columns.is-style-uwd-cards {
	gap: 0 !important;
	margin-bottom: 0 !important;
	border-top: 1px solid var(--uwd-line);
	border-left: 1px solid var(--uwd-line);
}
.wp-block-columns.is-style-uwd-cards + .wp-block-columns.is-style-uwd-cards { margin-top: 0 !important; border-top: none; }
.wp-block-columns.is-style-uwd-cards + .wp-block-vk-blocks-button { margin-top: 2.5rem; }
.is-style-uwd-cards > .wp-block-column {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 34px 30px;
	background-color: var(--uwd-card);
	border-right: 1px solid var(--uwd-line);
	border-bottom: 1px solid var(--uwd-line);
}
.is-style-uwd-cards > .wp-block-column > * { margin-top: 0 !important; }
.is-style-uwd-cards > .wp-block-column::before {
	content: "";
	position: absolute;
	left: -1px;
	top: -1px;
	width: 0;
	height: 2px;
	background: var(--uwd-navy);
	transition: width .3s;
}
.is-style-uwd-cards > .wp-block-column:hover::before { width: calc(100% + 2px); }
.is-style-uwd-cards h3 { margin-bottom: .8rem !important; line-height: 1.6; }
.is-style-uwd-cards p.has-x-small-font-size { margin-bottom: .5rem !important; letter-spacing: .1em; }
/* VK アイコン：正方形の枠と朱の小さな四角 */
.is-style-uwd-cards .wp-block-vk-blocks-icon { margin-bottom: 1.3rem; }
.is-style-uwd-cards .vk_icon_border { border-width: 1px; }

/* ==========================================================
   8.5 図版（ギャラリー）：円形の線画（写真も可）を、大きさと高さを少しずつ変えて流れるように並べる
   円はロゴ・ワードマーク・経緯線と呼応。同心のリングに目盛りを入れ、中心を細い曲線でつなぐ（図版のように）
   ========================================================== */
/* 余白は WordPress が列幅計算に使う変数で指定する（gap を直接上書きすると列数が崩れる） */
.wp-block-gallery.is-style-uwd-figures {
	--wp--style--unstable-gallery-gap: clamp(24px, 3.2vw, 48px);
	gap: var(--wp--style--unstable-gallery-gap) !important;
	position: relative;
	isolation: isolate;
	margin-top: 1rem;
	padding-bottom: 8px;
}
/* 円の中心を通るなめらかな細い曲線（通る位置は下の --s・--dy と対応） */
.wp-block-gallery.is-style-uwd-figures::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 300px;
	z-index: -1;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 300' preserveAspectRatio='none'%3E%3Cpath d='M0.0%20118.0%20C27.8%20123.2%20111.1%20134.7%20166.7%20149.0%20C222.2%20163.3%20277.8%20192.8%20333.3%20204.0%20C388.9%20215.2%20444.4%20215.3%20500.0%20216.0%20C555.6%20216.7%20611.2%20218.2%20666.7%20208.0%20C722.2%20197.8%20777.8%20169.7%20833.3%20155.0%20C888.8%20140.3%20972.2%20125.8%201000.0%20120.0' fill='none' stroke='%23b3b0a8' stroke-width='1' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
	pointer-events: none;
}
.wp-block-gallery.is-style-uwd-figures.has-nested-images figure.wp-block-image:not(#individual-image) {
	--s: 230px;   /* 円の大きさ */
	--dy: 34px;    /* 下へのずらし */
	position: relative;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	margin-top: var(--dy);
}
.wp-block-gallery.is-style-uwd-figures.has-nested-images figure.wp-block-image:nth-child(3n+2):not(#individual-image) { --s: 260px; --dy: 86px; }
.wp-block-gallery.is-style-uwd-figures.has-nested-images figure.wp-block-image:nth-child(3n):not(#individual-image) { --s: 310px; --dy: 0px; }
.wp-block-gallery.is-style-uwd-figures.has-nested-images figure.wp-block-image:not(#individual-image) img {
	flex: none;
	width: min(100%, var(--s));
	height: auto;
	aspect-ratio: 1 !important; /* 画像ブロックの縦横比の指定より優先 */
	object-fit: cover;
	border-radius: 50%;
}
/* 同心のリングと、上下左右の目盛り（WordPress がキャプション用に使う ::before の指定を打ち消して使う） */
.wp-block-gallery.is-style-uwd-figures.has-nested-images figure.wp-block-image:not(#individual-image)::before,
.wp-block-gallery.is-style-uwd-figures.has-nested-images figure.wp-block-image:has(figcaption):not(#individual-image)::before {
	content: "";
	position: absolute;
	top: -10px;
	left: 50%;
	width: calc(min(100%, var(--s)) + 20px);
	aspect-ratio: 1;
	border: 1px solid var(--uwd-line-strong);
	border-radius: 50%;
	transform: translateX(-50%);
	right: auto;
	bottom: auto;
	height: auto;
	max-height: none;
	background:
		linear-gradient(var(--uwd-line-strong), var(--uwd-line-strong)) top center / 1px 9px,
		linear-gradient(var(--uwd-line-strong), var(--uwd-line-strong)) bottom center / 1px 9px,
		linear-gradient(var(--uwd-line-strong), var(--uwd-line-strong)) left center / 9px 1px,
		linear-gradient(var(--uwd-line-strong), var(--uwd-line-strong)) right center / 9px 1px;
	background-repeat: no-repeat;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	-webkit-mask-image: none;
	mask-image: none;
	pointer-events: none;
}
.wp-block-gallery.is-style-uwd-figures.has-nested-images figure.wp-block-image figcaption {
	position: static;
	max-height: none;
	margin: 1.9rem 0 0;
	padding: 0;
	overflow: visible;
	font-size: .82rem;
	line-height: 1.8;
	text-align: center;
	text-shadow: none;
	color: var(--uwd-muted);
	background: none;
}
.wp-block-gallery.is-style-uwd-figures figcaption strong + br { display: none; }
.wp-block-gallery.is-style-uwd-figures figcaption strong {
	display: block;
	margin-bottom: .2rem;
	font-family: var(--uwd-serif);
	font-size: .98rem;
	font-weight: 600;
	letter-spacing: .08em;
	color: var(--uwd-navy);
	font-feature-settings: "palt";
}
@media (width < 600px) {
	.wp-block-gallery.is-style-uwd-figures { padding-bottom: 0; }
	.wp-block-gallery.is-style-uwd-figures::before { display: none; }
	.wp-block-gallery.is-style-uwd-figures.has-nested-images figure.wp-block-image:not(#individual-image) { width: 100%; --dy: 0px !important; --s: 240px !important; }
	.wp-block-gallery.is-style-uwd-figures.has-nested-images figure.wp-block-image:not(#individual-image) img { width: min(72%, var(--s)); }
}

/* アニメーション（追加 CSS クラス「uwd-animated」）：静止画の中央に、動く SVG を重ねる。
   1・2・3 枚目にそれぞれ「寄り添う」「かたちにする」「届ける」の動きを割り当てる */
.wp-block-gallery.is-style-uwd-figures.uwd-animated.has-nested-images figure.wp-block-image:not(#individual-image)::after {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: min(100%, var(--s));
	aspect-ratio: 1;
	transform: translateX(-50%);
	border-radius: 50%;
	background: var(--uwd-anim) center / 100% 100% no-repeat;
	pointer-events: none;
}
.wp-block-gallery.uwd-animated figure.wp-block-image:nth-child(3n+1) { --uwd-anim: url("https://ubuntuweb.jp/wp-content/plugins/ubuntu-web-design-features/assets/images/ani3-yorisou.svg"); }
.wp-block-gallery.uwd-animated figure.wp-block-image:nth-child(3n+2) { --uwd-anim: url("https://ubuntuweb.jp/wp-content/plugins/ubuntu-web-design-features/assets/images/ani4-katachi.svg"); }
.wp-block-gallery.uwd-animated figure.wp-block-image:nth-child(3n) { --uwd-anim: url("https://ubuntuweb.jp/wp-content/plugins/ubuntu-web-design-features/assets/images/ani3-todokeru.svg"); }
/* 動きを減らす設定では、アニメーションを重ねず静止画だけを見せる */
@media (prefers-reduced-motion: reduce) {
	.wp-block-gallery.uwd-animated figure.wp-block-image::after { display: none !important; }
}
@media (width < 600px) {
	.wp-block-gallery.is-style-uwd-figures.uwd-animated.has-nested-images figure.wp-block-image:not(#individual-image)::after { width: min(72%, var(--s)); }
}

/* ==========================================================
   8.6 写真の帯（ギャラリー）：円形に切り抜いた写真を、大きさと高さを変えて流れるように並べ、
   中心を細い曲線でつなぐ。下にひと言（トップの PERSPECTIVE と同じ流れの形）
   ========================================================== */
.wp-block-gallery.is-style-uwd-band {
	--wp--style--unstable-gallery-gap: clamp(20px, 2.4vw, 32px);
	gap: var(--wp--style--unstable-gallery-gap) !important;
	position: relative;
	isolation: isolate;
	padding: 10px 0 4.5rem;
}
/* 円の中心を通る細い曲線 */
.wp-block-gallery.is-style-uwd-band::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 300px;
	z-index: -1;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 300' preserveAspectRatio='none'%3E%3Cpath d='M0%20200%20C27.8%20195.8%2083.3%20184.2%20166.7%20175.0%20C250.0%20165.8%20388.9%20143.3%20500.0%20145.0%20C611.1%20146.7%20750.0%20185.8%20833.3%20185.0%20C916.7%20184.2%20972.2%20147.5%201000.0%20140.0' fill='none' stroke='%23b3b0a8' stroke-width='1' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
	pointer-events: none;
}
.wp-block-gallery.is-style-uwd-band.has-nested-images figure.wp-block-image:not(#individual-image) {
	--s: 230px;
	--dy: 50px;
	position: relative;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	overflow: visible;
	margin-top: var(--dy);
}
.wp-block-gallery.is-style-uwd-band.has-nested-images figure.wp-block-image:nth-child(3n+2):not(#individual-image) { --s: 270px; --dy: 0px; }
.wp-block-gallery.is-style-uwd-band.has-nested-images figure.wp-block-image:nth-child(3n):not(#individual-image) { --s: 210px; --dy: 70px; }
.wp-block-gallery.is-style-uwd-band.has-nested-images figure.wp-block-image:not(#individual-image) img {
	flex: none;
	width: min(100%, var(--s));
	height: auto;
	aspect-ratio: 1 !important;
	object-fit: cover;
	border-radius: 50%;
	outline: 1px solid var(--uwd-line-strong);
	outline-offset: 8px;
	filter: saturate(.72) contrast(.9) brightness(1.05);
	transition: filter .5s;
}
.wp-block-gallery.is-style-uwd-band.has-nested-images figure.wp-block-image:not(#individual-image):hover img {
	filter: saturate(.9) contrast(.95) brightness(1.03);
}
.wp-block-gallery.is-style-uwd-band > .blocks-gallery-caption,
.wp-block-gallery.is-style-uwd-band > figcaption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0;
	font-size: .84rem;
	line-height: 1.9;
	letter-spacing: .04em;
	text-align: center;
	color: var(--uwd-muted);
}
@media (width < 600px) {
	.wp-block-gallery.is-style-uwd-band { padding-bottom: 0; }
	.wp-block-gallery.is-style-uwd-band::before { display: none; }
	.wp-block-gallery.is-style-uwd-band.has-nested-images figure.wp-block-image:not(#individual-image) { width: 100%; --dy: 0px !important; }
	.wp-block-gallery.is-style-uwd-band.has-nested-images figure.wp-block-image:not(#individual-image) img { width: min(70%, var(--s)); }
	.wp-block-gallery.is-style-uwd-band > .blocks-gallery-caption,
	.wp-block-gallery.is-style-uwd-band > figcaption { position: static; margin-top: 1.5rem; }
}

/* ==========================================================
   8.7 つながりの帯（追加 CSS クラス「uwd-network-band」）：横に広がるネットワークの上にアフリカ大陸と南アフリカ、その下にひと言
   ========================================================== */
.wp-block-group.uwd-network-band {
	padding-top: clamp(220px, 30vw, 360px);
	background: url("https://ubuntuweb.jp/wp-content/plugins/ubuntu-web-design-features/assets/images/about-africa8.svg") center top / min(100%, 1100px) auto no-repeat;
}
.wp-block-group.uwd-network-band > p {
	margin: 1.5rem 0 0;
	font-size: .84rem;
	line-height: 1.9;
	letter-spacing: .04em;
	color: var(--uwd-muted);
}

/* ==========================================================
   9. リスト：タグ・罫線グリッド・注記・番号（VK）・チェック（VK）
   ========================================================== */
.wp-block-list.is-style-uwd-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: auto 0 0 !important;
	padding: 1.2rem 0 0 !important;
	list-style: none;
}
.is-style-uwd-tags > li {
	margin: 0;
	padding: .5em .8em;
	font-size: .72rem;
	line-height: 1;
	letter-spacing: .04em;
	color: var(--uwd-muted);
	border: 1px solid var(--uwd-line-strong);
}

.wp-block-list.is-style-uwd-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	padding: 0 !important;
	list-style: none;
	border-top: 1px solid var(--uwd-line-strong);
	border-left: 1px solid var(--uwd-line-strong);
}
.is-style-uwd-grid > li {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 4.6em;
	margin: 0;
	padding: 1em;
	font-family: var(--uwd-serif);
	font-size: .95rem;
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
	color: var(--uwd-navy);
	background-color: var(--uwd-card);
	border-right: 1px solid var(--uwd-line-strong);
	border-bottom: 1px solid var(--uwd-line-strong);
}

.wp-block-list.is-style-uwd-notes { padding: 0 !important; list-style: none; }
.is-style-uwd-notes > li {
	padding-left: 1.2em;
	text-indent: -1.2em;
	font-size: .86rem;
	color: var(--uwd-muted);
}
.is-style-uwd-notes > li::before { content: "※ "; }

/* VK「番号付き四角」：罫線で区切った手順の一覧に */
.wp-block-list.is-style-vk-numbered-square-mark {
	margin-left: 0 !important;
	padding-left: 0 !important;
	border-top: 1px solid var(--uwd-navy);
}
.wp-block-list.is-style-vk-numbered-square-mark > li {
	position: relative;
	margin: 0 !important;
	padding: 16px 0 16px 64px !important;
	border-bottom: 1px solid var(--uwd-line);
	--vk-numbered-marker-leading: 50%;
}
.wp-block-list.is-style-vk-numbered-square-mark > li::before {
	left: 0 !important;
	margin: 0 !important;
	width: 40px !important;
	height: 40px !important;
	transform: translateY(-50%);
	display: grid !important;
	place-items: center;
	content: counter(number, decimal-leading-zero) !important;
	font-family: var(--uwd-latin);
	font-size: .9rem !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	color: var(--uwd-navy) !important;
	background: transparent !important;
	border: 1px solid var(--uwd-navy);
	border-radius: 0 !important;
}
.wp-block-list.is-style-vk-numbered-square-mark > li:first-child::before {
	color: #fff !important;
	background: var(--uwd-navy) !important;
}
.wp-block-list.is-style-vk-numbered-square-mark strong { font-family: var(--uwd-serif); font-size: 1.02rem; color: var(--uwd-ink); }

.wp-block-list.is-style-vk-check-square-mark > li::before { color: var(--uwd-navy); }

/* ==========================================================
   10. VK フロー（制作の流れ）
   ========================================================== */
.vk_flow .vk_flow_frame {
	padding: 24px 28px;
	background-color: var(--uwd-card);
	border: 1px solid var(--uwd-line-strong);
	border-top: 2px solid var(--uwd-navy);
}
.vk_flow .vk_flow_frame_text_title {
	margin-bottom: .4rem;
	font-family: var(--uwd-serif);
	font-size: 1.12rem;
	font-weight: 600;
	color: var(--uwd-navy);
	border-bottom: none;
}
.vk_flow .vk_flow_frame_text_content {
	font-size: .94rem;
	line-height: 1.9;
	color: var(--uwd-muted);
}
.vk_flow.vk_flow-arrow-on::after { opacity: .35; }

/* ==========================================================
   11. 表（料金表・VK「上下罫線」）
   ========================================================== */
.wp-block-table.is-style-uwd-price table,
.wp-block-table.is-style-vk-table-border-top-bottom table {
	width: 100%;
	border-collapse: collapse;
	font-size: .93rem;
	background-color: var(--uwd-card);
	border-top: 2px solid var(--uwd-navy) !important;
	border-bottom: 1px solid var(--uwd-line-strong) !important;
}
.wp-block-table.is-style-uwd-price :is(th, td),
.wp-block-table.is-style-vk-table-border-top-bottom :is(th, td) {
	padding: 15px 18px;
	text-align: left;
	vertical-align: top;
	border: none !important;
	border-bottom: 1px solid var(--uwd-line) !important;
}
.wp-block-table.is-style-uwd-price thead,
.wp-block-table.is-style-vk-table-border-top-bottom thead { border: none; }
.wp-block-table.is-style-uwd-price thead th,
.wp-block-table.is-style-vk-table-border-top-bottom thead th {
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .14em;
	color: var(--uwd-navy);
	background-color: var(--uwd-tint);
	border-bottom: 1px solid var(--uwd-line-strong) !important;
}
.wp-block-table.is-style-uwd-price tbody tr:last-child td,
.wp-block-table.is-style-vk-table-border-top-bottom tbody tr:last-child td { border-bottom: none !important; }
.wp-block-table.is-style-uwd-price th:first-child { width: 28%; }
.wp-block-table.is-style-uwd-price th:nth-child(2) { width: 24%; }
.wp-block-table.is-style-uwd-price td:first-child { font-weight: 700; }
.wp-block-table.is-style-uwd-price td:nth-child(2) { font-family: var(--uwd-serif); font-weight: 600; color: var(--uwd-navy); }
.wp-block-table.is-style-vk-table-border-top-bottom th:first-child { width: 22%; }
.wp-block-table.is-style-vk-table-border-top-bottom td:first-child { font-weight: 700; color: var(--uwd-navy); }

/* ==========================================================
   12. VK 枠線ボックス・アラート
   ========================================================== */
.wp-block-vk-blocks-border-box { margin-top: 0; background-color: var(--uwd-card); }
.wp-block-vk-blocks-border-box .vk_borderBox_title {
	font-family: var(--uwd-serif);
	font-size: 1rem;
	letter-spacing: .06em;
}
.wp-block-vk-blocks-border-box .vk_borderBox_body > * { margin-top: 0; }

.wp-block-vk-blocks-alert.alert-info {
	margin: 1.5rem 0;
	padding: 2rem;
	color: var(--uwd-muted);
	background: transparent;
	border: 1px dashed var(--uwd-line-strong);
	border-radius: 0;
}

/* ==========================================================
   13. ワードマーク（Ubuntu）：細い円と、その軌道上の一点
   ========================================================== */
.wp-block-group.is-style-uwd-wordmark {
	position: relative;
	padding: clamp(48px, 6vw, 76px) 0;
	text-align: center;
}
.wp-block-group.is-style-uwd-wordmark::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: min(100%, 300px);
	aspect-ratio: 1;
	transform: translate(-50%, -50%);
	border: 1px solid var(--uwd-line-strong);
	border-radius: 50%;
}
/* 円周上の点（右上 45°） */
.wp-block-group.is-style-uwd-wordmark::after {
	content: "";
	position: absolute;
	left: calc(50% + min(50%, 150px) * .7071 - 4px);
	top: calc(50% - min(50%, 150px) * .7071 - 4px);
	width: 8px;
	height: 8px;
	background: var(--uwd-red);
	border-radius: 50%;
}
.is-style-uwd-wordmark > p { position: relative; z-index: 1; }
.is-style-uwd-wordmark > p:first-child {
	margin: 0;
	font-family: var(--uwd-latin);
	font-size: clamp(3.2rem, 5.6vw, 4.4rem);
	font-weight: 500;
	line-height: 1;
	letter-spacing: .08em;
	color: var(--uwd-navy);
}
.is-style-uwd-wordmark > p:last-child {
	margin: .9rem 0 0;
	font-size: .7rem;
	letter-spacing: .6em;
	color: var(--uwd-muted);
}

/* ==========================================================
   14. フッター
   ========================================================== */
.is-style-uwd-badge {
	display: inline-block;
	padding: .5em 1em;
	letter-spacing: .06em;
	border: 1px solid rgba(255, 255, 255, .3);
}
.is-style-uwd-badge + .is-style-uwd-badge { margin-top: .5rem !important; }
.uwd-footer a { text-decoration: none; }
.uwd-footer a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.uwd-footer .wp-block-button.is-style-outline .wp-block-button__link { border-color: rgba(255, 255, 255, .5); }
.uwd-footer .wp-block-button.is-style-outline .wp-block-button__link:hover {
	color: var(--uwd-navy) !important;
	background-color: #fff;
	text-decoration: none;
}

/* ==========================================================
   15. スマートフォン
   ========================================================== */
@media (width < 782px) {
	.wp-block-group.is-style-uwd-main-visual { max-width: 420px; margin: 8px auto 0; }
	.wp-block-column:has(> .is-style-uwd-main-visual)::before { right: 0; }
	.is-style-uwd-facts > .wp-block-column { padding: 16px 0 !important; border-left: none; border-bottom: 1px solid var(--uwd-line); }
	.is-style-uwd-points > .wp-block-column { padding: 28px 0 0 !important; border-left: none; }
	.wp-block-columns.is-style-uwd-cards { border-left: none; }
	.is-style-uwd-cards > .wp-block-column { padding: 28px 22px; border-left: 1px solid var(--uwd-line); }
	.wp-block-list.is-style-uwd-grid { grid-template-columns: repeat(2, 1fr); }
	.is-style-uwd-grid > li { font-size: .85rem; }
	.wp-block-table.is-style-uwd-price th:first-child { width: 34%; }
	.wp-block-table.is-style-uwd-price th:nth-child(2) { width: 30%; }
	.wp-block-table :is(th, td) { padding: 12px 10px !important; font-size: .86rem; }
	.wp-block-group.is-style-uwd-wordmark::before { width: 260px; }
	.wp-block-group.is-style-uwd-wordmark { padding: 84px 0; }
}

/* トップの締めくくり：ご依頼の流れの下にひと言と、固定ページの見出しと同じ語彙の細い軌跡（ゆるやかに上がり、マゼンタの点で終わる） */
p.uwd-closing {
	margin-block-start: var(--wp--preset--spacing--70);
	margin-block-end: calc(-1 * var(--wp--preset--spacing--80));
	text-align: center;
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: .08em;
	color: var(--wp--preset--color--text-secondary);
}
p.uwd-closing::after {
	content: "";
	display: block;
	height: calc(var(--wp--preset--spacing--80) + 1em);
	margin-block-start: .5em;
	background: url("https://ubuntuweb.jp/wp-content/plugins/ubuntu-web-design-features/assets/images/closing-arc2.svg") center top / min(360px, 90%) auto no-repeat;
}
.is-style-vk-numbered-square-mark li a {
	color: inherit;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 5px;
	text-decoration-color: rgba(31, 53, 84, .3);
}
.is-style-vk-numbered-square-mark li a:hover { text-decoration-color: currentColor; }
