/*
Theme Name:     ShapeWin JP
Theme URI:
Description:    Ollie child theme — ShapeWin JP (Japanese) editorial design system.
Author:         ShapeWin Inc.
Author URI:     https://www.shapewin.co.jp
Template:       ollie
Version:        0.2.0
Text Domain:    shapewin-jp
*/

/* ─── Design tokens ────────────────────────────────────── */
:root {
	/* Brand */
	--sw-blue:   #007BC1;
	--sw-teal:   #3DB6C8;
	--sw-red:    #EE4034;
	--sw-navy:   #0A1520;
	--sw-navy-2: #1C2B3A;
	--sw-ink:    #0B0B0C;
	--sw-paper:  #F4F7FA;
	--sw-paper-2:#E8EEF4;
	--sw-muted:  #6B7380;
	--sw-muted-dark: #8892A0;
	--sw-line:   rgba(10,21,32,0.12);
	--sw-line-dark: rgba(255,255,255,0.10);

	/* WP preset overrides */
	--wp--preset--color--primary:          #007BC1;
	--wp--preset--color--secondary:        #3DB6C8;
	--wp--preset--color--accent:           #EE4034;
	--wp--preset--color--main:             #1C2B3A;
	--wp--preset--color--main-accent:      #6B7380;
	--wp--preset--color--base:             #F4F7FA;
	--wp--preset--color--tertiary:         #E8EEF4;
	--wp--preset--color--border-light:     #D6E0EA;
	--wp--preset--color--border-dark:      #2A3A4A;
	--wp--preset--color--primary-accent:   #E6F3FB;
	--wp--preset--color--primary-alt:      #3DB6C8;
	--wp--preset--color--primary-alt-accent: #0A1520;
	--wp--preset--font-family--primary:    'Noto Sans JP', sans-serif;
}

/* ─── Base ─────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

/* Override Ollie parent palette with ShapeWin values */
:root {
	--wp--preset--color--base:    #F4F7FA !important;
	--wp--preset--color--main:    #1C2B3A !important;
	--wp--preset--color--primary: #007BC1 !important;
	--wp--preset--color--secondary: #3DB6C8 !important;
	--wp--preset--color--accent:  #EE4034 !important;
	--wp--preset--color--tertiary: #E8EEF4 !important;
	--wp--preset--color--main-accent: #6B7380 !important;
}

html, body {
	background: var(--sw-paper);
	color: var(--sw-ink);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/* 横スクロール防止: html/body や wp-site-blocks に overflow を設定すると
   position: sticky が無効になるため、個別要素で対処する */

body {
	font-family: 'Noto Sans JP', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
	font-weight: 400;
	line-height: 1.8;
}

::selection { background: #3DB6C8; color: #0A1520; }
html { scroll-behavior: smooth; }

/* ─── Typography utilities ─────────────────────────────── */
.sw-mono {
	font-family: 'JetBrains Mono', ui-monospace, monospace;
	font-feature-settings: "tnum" 1;
}
.sw-display {
	font-family: 'Plus Jakarta Sans', sans-serif;
	letter-spacing: -0.035em;
	font-weight: 600;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	color: var(--sw-navy-2);
	font-feature-settings: "palt" 1;
}

a { color: var(--sw-blue); }

/* ─── Buttons ──────────────────────────────────────────── */
.wp-block-button__link,
.wp-element-button {
	font-family: 'Noto Sans JP', sans-serif !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	border-radius: 999px !important;
	padding: 14px 26px !important;
	transition: transform .25s ease, background .25s ease !important;
}

.wp-block-button.is-style-button-brand .wp-block-button__link,
.wp-block-button__link,
.wp-element-button {
	background-color: var(--sw-red) !important;
	color: #fff !important;
	border: none !important;
}

.wp-block-button.is-style-button-brand .wp-block-button__link:hover,
.wp-block-button__link:hover,
.wp-element-button:hover {
	background-color: #d8342a !important;
	transform: translateY(-1px);
}

.wp-block-button.is-style-button-light .wp-block-button__link {
	background-color: transparent !important;
	color: #fff !important;
	border: 1px solid rgba(255,255,255,0.3) !important;
}

.wp-block-button.is-style-button-light .wp-block-button__link:hover {
	background-color: #fff !important;
	color: var(--sw-ink) !important;
}

.wp-block-button.is-style-button-outline .wp-block-button__link {
	background-color: transparent !important;
	color: var(--sw-ink) !important;
	border: 1px solid var(--sw-ink) !important;
}

.wp-block-button.is-style-button-outline .wp-block-button__link:hover {
	background-color: var(--sw-ink) !important;
	color: #fff !important;
}

/* ─── ShapeWin Header ──────────────────────────────────── */
.sw-site-header {
	position: fixed !important;
	top: 0; left: 0; right: 0;
	z-index: 200;
	padding: 14px 32px;
	background: transparent;
	border-bottom: 1px solid transparent;
	box-shadow: none;
	transition: background .3s ease, border-color .3s ease, box-shadow .3s ease, color .3s ease;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	color: #fff;
}

.sw-site-header.is-scrolled {
	background: #ffffff;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	border-bottom-color: rgba(10,21,32,0.10);
	box-shadow: 0 2px 16px rgba(10,21,32,0.08);
	color: var(--sw-ink);
}

/* Logo switching */
.sw-header-logo {
	display: flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
}

.sw-logo-white,
.sw-logo-color {
	display: block;
	height: 43px;
	width: auto;
	transition: opacity .3s ease;
}

.sw-logo-color { display: none; }

.sw-site-header.is-scrolled .sw-logo-white { display: none; }
.sw-site-header.is-scrolled .sw-logo-color { display: block; }

.sw-header-center {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.16em;
	color: rgba(255,255,255,1);
	display: flex;
	align-items: center;
	gap: 14px;
	transition: color .3s ease;
}

.sw-site-header.is-scrolled .sw-header-center {
	color: rgba(10,21,32,0.6);
}

.sw-location-dot {
	display: inline-block;
	width: 6px; height: 6px;
	border-radius: 999px;
	animation: sw-pulse 2s infinite;
}

.sw-location-dot.teal {
	background: var(--sw-teal);
	box-shadow: 0 0 10px var(--sw-teal);
}

.sw-location-dot.red {
	background: var(--sw-red);
	box-shadow: 0 0 10px var(--sw-red);
	animation-delay: 0.6s;
}

.sw-header-right {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 18px;
}

.sw-header-lang {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	color: rgba(255,255,255,1);
	text-decoration: none;
	transition: color .3s ease;
}

.sw-site-header.is-scrolled .sw-header-lang {
	color: rgba(10,21,32,0.6);
}

/* Header inquiry CTA — コラム関連ページ（body.sw-column-page）の問い合わせ導線 */
.sw-header-cta {
	display: none;
	align-items: center;
	padding: 9px 18px;
	border-radius: 999px;
	background: var(--sw-blue);
	border: 1px solid var(--sw-blue);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.2;
	white-space: nowrap;
	text-decoration: none;
	transition: background .2s ease, border-color .2s ease;
}

.sw-header-cta:hover,
.sw-header-cta:focus-visible {
	background: #0066A3;
	border-color: #0066A3;
	color: #fff;
}

/* コラム関連ページ（body.sw-column-page）だけ：ボタン表示＋拠点表記を外す */
.sw-column-page .sw-header-cta,
.sw-column-page .sw-header-services { display: inline-flex; }
.sw-column-page .sw-header-center { display: none; }
/* 本文側の横はみ出しでスマホの表示幅が広がり、固定ヘッダー右端（MENU）が切れるのを防ぐ */
html:has(body.sw-column-page),
body.sw-column-page { overflow-x: clip; }
.sw-column-page .sw-site-header { grid-template-columns: max-content 1fr; }
.sw-column-page .sw-header-right { justify-self: end; align-items: stretch; }
.sw-column-page .sw-header-lang { align-self: center; }

.sw-header-services {
	display: none;
	align-items: center;
	padding: 8px 17px;
	border-radius: 999px;
	background: transparent;
	border: 1px solid rgba(255,255,255,0.7);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.2;
	white-space: nowrap;
	text-decoration: none;
	transition: background .2s ease, border-color .2s ease, color .3s ease;
}

.sw-site-header.is-scrolled .sw-header-services {
	color: var(--sw-blue);
	border-color: var(--sw-blue);
}

.sw-header-services:hover,
.sw-header-services:focus-visible {
	background: rgba(255,255,255,0.12);
	color: #fff;
}

.sw-site-header.is-scrolled .sw-header-services:hover,
.sw-site-header.is-scrolled .sw-header-services:focus-visible {
	background: rgba(0,123,193,0.08);
	color: var(--sw-blue);
}

.sw-menu-btn {
	display: flex;
	align-items: center;
	gap: 8px;
	background: transparent;
	border: 1px solid rgba(255,255,255,0.2);
	border-radius: 999px;
	padding: 8px 14px 8px 16px;
	color: #fff;
	cursor: pointer;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-decoration: none;
	transition: border-color .2s ease, background .2s ease, color .3s ease;
}

.sw-site-header.is-scrolled .sw-menu-btn {
	color: var(--sw-ink);
	border-color: rgba(10,21,32,0.2);
}

.sw-menu-btn:hover {
	border-color: rgba(255,255,255,0.5);
	background: rgba(255,255,255,0.08);
}

.sw-site-header.is-scrolled .sw-menu-btn:hover {
	border-color: rgba(10,21,32,0.5);
	background: rgba(10,21,32,0.06);
}

.sw-menu-btn-lines {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.sw-menu-btn-lines span {
	display: block;
	height: 1.5px;
	background: currentColor;
}

.sw-menu-btn-lines span:first-child { width: 14px; }
.sw-menu-btn-lines span:last-child  { width: 10px; align-self: flex-end; }

/* Push content below fixed header */
.wp-site-blocks { padding-top: 0 !important; }

/* Admin bar offset for fixed header */
.admin-bar .sw-site-header { top: 32px; }
@media screen and (max-width: 782px) {
	.admin-bar .sw-site-header { top: 46px; }
}

@keyframes sw-pulse {
	0%, 100% { opacity: 1; transform: scale(1); }
	50%       { opacity: 0.4; transform: scale(0.8); }
}

/* ─── Navigation Overlay ───────────────────────────────── */
.sw-nav-overlay {
	position: fixed;
	inset: 0;
	z-index: 500;
	background: linear-gradient(135deg, rgba(10,21,32,0.96), rgba(0,123,193,0.90));
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	display: flex;
	align-items: stretch;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.35s ease;
}
.sw-nav-overlay.is-open {
	opacity: 1;
	pointer-events: all;
}
.sw-nav-overlay[hidden] {
	display: flex !important; /* keep flex for fade-out animation */
}

.sw-nav-overlay-inner {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 48px 64px;
	max-width: 900px;
	margin: 0 auto;
}

/* Close button */
.sw-nav-close {
	position: absolute;
	top: 24px;
	right: 32px;
	background: transparent;
	border: 1px solid rgba(255,255,255,0.2);
	border-radius: 999px;
	color: #fff;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 11px;
	letter-spacing: 0.16em;
	transition: border-color .2s, background .2s;
}
.sw-nav-close:hover {
	border-color: rgba(255,255,255,0.5);
	background: rgba(255,255,255,0.08);
}

/* Primary nav list */
.sw-nav-primary { margin-bottom: 40px; }

.sw-nav-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sw-nav-list li {
	border-top: 1px solid rgba(255,255,255,0.08);
}
.sw-nav-list li:last-child {
	border-bottom: 1px solid rgba(255,255,255,0.08);
}

.sw-nav-list a {
	display: block;
	padding: 16px 0;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: clamp(1.2rem, 2.2vw, 1.6rem);
	font-weight: 600;
	color: rgba(255,255,255,0.85);
	text-decoration: none;
	letter-spacing: 0.02em;
	transition: color .2s, padding-left .2s;
}
.sw-nav-list a:hover {
	color: #fff;
	padding-left: 12px;
}

/* Nav footer */
.sw-nav-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}

/* Social icons in nav overlay */
.sw-nav-social-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 20px;
}

.sw-nav-social-list a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	color: rgba(255,255,255,0.6);
	text-decoration: none;
	transition: color .2s;
}
.sw-nav-social-list a:hover { color: #fff; }
.sw-nav-social-list svg { fill: currentColor; width: 24px; height: 24px; }

/* Sub links (採用情報・新着情報) */
.sw-nav-sub-links {
	display: flex;
	align-items: center;
	gap: 24px;
}

.sw-nav-sub-link {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: rgba(255,255,255,0.75);
	text-decoration: none;
	transition: color .2s;
}
.sw-nav-sub-link:hover { color: #fff; }

/* body scroll lock when overlay open */
body.sw-nav-open { overflow: hidden; }

@media (max-width: 600px) {
	.sw-nav-overlay-inner { padding: 80px 24px 40px; }
	.sw-nav-list a { font-size: 1.2rem; padding: 14px 0; }
	.sw-nav-footer { flex-direction: column; align-items: flex-start; gap: 20px; }
	.sw-nav-social-list { gap: 24px; }
	.sw-nav-social-list a { width: 48px; height: 48px; }
	.sw-nav-social-list svg { width: 28px; height: 28px; }
	.sw-nav-sub-links { gap: 28px; }
	.sw-nav-sub-link { font-size: 16px; }
}

/* ─── ShapeWin Footer ──────────────────────────────────── */
.sw-footer {
	background: #060B12;
	color: #fff;
	padding: 100px 48px 0;
	position: relative;
	overflow: hidden;
}

.sw-footer-inner {
	max-width: 1344px;
	margin: 0 auto;
}

.sw-footer-newsletter {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 60px;
	padding-bottom: 80px;
	border-bottom: 1px solid rgba(255,255,255,0.1);
	align-items: end;
}

.sw-footer-nl-eyebrow {
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	letter-spacing: 0.14em;
	color: var(--sw-muted-dark);
	text-transform: uppercase;
	margin-bottom: 20px;
}

.sw-footer-nl-eyebrow .accent { color: var(--sw-teal); font-weight: 700; }

.sw-footer-nl-headline {
	font-size: clamp(24px, 3vw, 48px);
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: -0.03em;
	color: #fff;
}

.sw-footer-nl-form {
	border-bottom: 1px solid rgba(255,255,255,0.3);
	padding-bottom: 14px;
	display: flex;
	gap: 12px;
	align-items: center;
}

.sw-footer-nl-input {
	flex: 1;
	background: transparent;
	border: none;
	outline: none;
	color: #fff;
	font-size: 18px;
	font-family: 'Plus Jakarta Sans', sans-serif;
	letter-spacing: -0.01em;
}

.sw-footer-nl-input::placeholder { color: rgba(255,255,255,0.3); }

.sw-footer-nl-btn {
	background: transparent;
	border: none;
	color: #fff;
	cursor: pointer;
	font-family: 'JetBrains Mono', monospace;
	font-size: 12px;
	letter-spacing: 0.14em;
}

.sw-footer-nl-note {
	font-family: 'JetBrains Mono', monospace;
	font-size: 10px;
	color: var(--sw-muted-dark);
	margin-top: 12px;
	letter-spacing: 0.1em;
}

.sw-footer-cols {
	display: grid;
	grid-template-columns: 1.5fr repeat(3, 1fr);
	gap: 48px;
	padding: 64px 0;
	border-bottom: 1px solid rgba(255,255,255,0.1);
}

.sw-footer-brand-logo {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 24px;
	color: #fff;
	text-decoration: none;
}

.sw-footer-brand-name {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 20px;
	font-weight: 600;
	letter-spacing: -0.02em;
}

.sw-footer-brand-name sup {
	font-size: 11px;
	color: var(--sw-teal);
}

.sw-footer-brand-addr {
	font-size: 13px;
	line-height: 1.9;
	color: rgba(255,255,255,0.6);
	margin-bottom: 24px;
}

.sw-footer-socials {
	display: flex;
	gap: 8px;
}

.sw-footer-social-btn {
	width: 36px; height: 36px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,0.2);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	text-decoration: none;
	font-family: 'JetBrains Mono', monospace;
	font-size: 10px;
	letter-spacing: 0.08em;
	transition: border-color .2s;
}

.sw-footer-social-btn:hover { border-color: rgba(255,255,255,0.6); }

.sw-footer-nav-head {
	font-family: 'JetBrains Mono', monospace;
	font-size: 10px;
	letter-spacing: 0.18em;
	color: var(--sw-muted-dark);
	margin-bottom: 20px;
	text-transform: uppercase;
}

.sw-footer-nav-list {
	list-style: none;
	padding: 0; margin: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.sw-footer-nav-list a {
	color: rgba(255,255,255,0.75);
	text-decoration: none;
	font-size: 13px;
	transition: color .2s;
	display: flex;
	align-items: center;
	gap: 6px;
}

.sw-footer-nav-list a::before {
	content: "›";
	font-size: 15px;
	line-height: 1;
	color: var(--wp--preset--color--secondary);
	flex-shrink: 0;
}

.sw-footer-nav-list li { margin: 0; padding: 0; }

.sw-footer-nav-list a:hover { color: #fff; }

.sw-footer-bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 32px 0;
	flex-wrap: wrap;
	gap: 16px;
}

.sw-footer-copy {
	font-family: 'JetBrains Mono', monospace;
	font-size: 10px;
	letter-spacing: 0.14em;
	color: var(--sw-muted-dark);
}

.sw-footer-legal {
	display: flex;
	gap: 28px;
}

.sw-footer-legal a {
	font-family: 'JetBrains Mono', monospace;
	font-size: 10px;
	letter-spacing: 0.14em;
	color: var(--sw-muted-dark);
	text-decoration: none;
	transition: color .2s;
}

.sw-footer-legal a:hover { color: rgba(255,255,255,0.7); }

a.sw-social-link,
a.sw-social-link:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px; height: 34px;
	border-radius: 50%;
	border: 1px solid rgba(255,255,255,0.25);
	color: rgba(255,255,255,0.85) !important;
	text-decoration: none !important;
	font-family: 'JetBrains Mono', monospace;
	font-size: 10px;
	font-weight: 700;
	margin-right: 6px;
	transition: border-color .2s, color .2s;
	vertical-align: middle;
}
a.sw-social-link:hover { border-color: rgba(255,255,255,0.7); color: #fff !important; }

.sw-footer-watermark {
	text-align: center;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 700;
	font-size: clamp(80px, 18vw, 320px);
	letter-spacing: -0.06em;
	line-height: 0.85;
	color: transparent;
	-webkit-text-stroke: 1px rgba(255,255,255,0.06);
	user-select: none;
	pointer-events: none;
	margin-top: 80px;
	margin-bottom: -40px;
	overflow: hidden;
}

/* ─── Responsive ───────────────────────────────────────── */
@media (max-width: 900px) {
	.sw-site-header {
		grid-template-columns: 1fr 1fr;
		padding: 14px 24px;
	}
	.sw-header-center { display: none; }
	.sw-column-page .sw-header-right { gap: 12px; }
	.sw-footer-newsletter { grid-template-columns: 1fr; gap: 32px; }
	.sw-footer-cols { grid-template-columns: 1fr 1fr; gap: 32px; }
	.sw-footer { padding: 64px 24px 0; }
}

@media (max-width: 600px) {
	.sw-column-page .sw-header-lang { display: none; }
	.sw-column-page .sw-site-header { column-gap: 16px; }
	.sw-column-page .sw-header-right { gap: 8px; }
	.sw-column-page .sw-logo-white,
	.sw-column-page .sw-logo-color { height: 36px; }
	.sw-header-cta { padding: 8px 14px; font-size: 12px; }
	.sw-header-services { padding: 7px 12px; font-size: 12px; }
	.sw-footer-cols { grid-template-columns: 1fr; }
	.sw-footer-bottom { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 480px) {
	.sw-column-page .sw-header-services { display: none; }
}

@media (max-width: 340px) {
	.sw-column-page .sw-header-cta { padding: 8px 10px; }
	.sw-column-page .sw-menu-btn { padding-left: 10px; padding-right: 10px; }
	.sw-column-page .sw-site-header { padding-left: 16px; padding-right: 16px; column-gap: 10px; }
}

/* ─── Shared utilities ─────────────────────────────────── */
.sw-container { max-width: 1344px; margin: 0 auto; padding: 0 48px; }
@media (max-width: 768px) { .sw-container { padding: 0 24px; } }

.sw-display { font-family: 'Plus Jakarta Sans', sans-serif; letter-spacing: -0.035em; font-weight: 600; }
.sw-mono    { font-family: 'JetBrains Mono', ui-monospace, monospace; font-feature-settings: "tnum" 1; }
.sw-blue    { color: var(--sw-blue); }
.sw-teal    { color: var(--sw-teal); }
.sw-bold    { font-weight: 700; }
.sw-accent  { color: var(--sw-blue); font-weight: 700; }

.sw-eyebrow {
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sw-muted);
}
.sw-eyebrow--dark { color: var(--sw-muted-dark); }

.sw-section-head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 24px 0 48px;
	border-bottom: 1px solid var(--sw-line);
}
.sw-section-head--dark { border-bottom-color: var(--sw-line-dark); }

.sw-section-link {
	font-size: 11px;
	letter-spacing: 0.14em;
	color: var(--sw-ink);
	text-decoration: none;
	border-bottom: 1px solid var(--sw-ink);
}
.sw-section-link--dark { color: #fff; border-bottom-color: rgba(255,255,255,0.4); }

.sw-section-headline {
	font-size: clamp(40px, 5.8vw, 88px) !important;
	font-weight: 500 !important;
	line-height: 1.08 !important;
	letter-spacing: -0.035em !important;
	color: var(--sw-ink) !important;
}

.sw-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 22px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 14px;
	font-weight: 500;
	border-radius: 999px;
	border: 1px solid transparent;
	cursor: pointer;
	transition: transform .25s ease, background .25s ease, color .25s ease;
	text-decoration: none;
	white-space: nowrap;
}
.sw-btn--primary { background: var(--sw-red); color: #fff; }
.sw-btn--primary:hover { background: #d8342a; transform: translateY(-1px); color: #fff; }
.sw-btn--outline-light { background: transparent; color: #fff; border-color: rgba(255,255,255,0.3); }
.sw-btn--outline-light:hover { background: #fff; color: var(--sw-ink); }
.sw-btn--lg { padding: 16px 28px; font-size: 15px; }
.sw-btn-arrow { display: inline-block; transition: transform .25s ease; }
.sw-btn:hover .sw-btn-arrow { transform: translateX(3px); }

/* ─── Hero ─────────────────────────────────────────────── */
.sw-hero {
	position: relative;
	min-height: 100vh;
	background: var(--sw-navy);
	color: #fff;
	overflow: hidden;
	padding-top: 90px;
	padding-bottom: 48px;
	display: flex;
	flex-direction: column;
}
.sw-hero-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	opacity: 0.55;
	transition: background-image .5s ease;
}
.sw-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(10,21,32,0.65) 0%, rgba(10,21,32,0.55) 40%, rgba(10,21,32,0.85) 100%);
}
.sw-hero-glow {
	position: absolute;
	border-radius: 999px;
	pointer-events: none;
	filter: blur(20px);
}
.sw-hero-glow--blue {
	width: 1000px; height: 1000px;
	left: -20%; top: 10%;
	background: radial-gradient(circle, rgba(0,123,193,0.28) 0%, transparent 60%);
}
.sw-hero-glow--teal {
	width: 700px; height: 700px;
	right: -10%; top: -10%;
	background: radial-gradient(circle, rgba(61,182,200,0.18) 0%, transparent 60%);
}
.sw-hero-watermark {
	position: absolute;
	left: 0; right: 0; bottom: -6vw;
	text-align: center;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 700;
	font-size: clamp(160px, 24vw, 380px);
	letter-spacing: -0.055em;
	line-height: 0.85;
	color: transparent;
	-webkit-text-stroke: 1px rgba(255,255,255,0.09);
	user-select: none;
	pointer-events: none;
}
.sw-hero-watermark sup {
	font-size: 0.4em;
	vertical-align: super;
	-webkit-text-stroke: 1px rgba(61,182,200,0.45);
}
.sw-hero-inner {
	position: relative;
	z-index: 2;
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.sw-hero-meta {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding-top: 40px;
}
.sw-hero-meta-left {
	font-size: 11px;
	letter-spacing: 0.16em;
	color: rgba(255,255,255,0.7);
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.sw-hero-meta-sub { color: rgba(255,255,255,0.5); }
.sw-hero-meta-right {
	font-size: 11px;
	letter-spacing: 0.16em;
	color: rgba(255,255,255,0.7);
}
.sw-hero-content { margin-top: 80px; margin-bottom: 80px; max-width: 1200px; }
.sw-hero-eyebrow {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 40px;
	font-size: 12px;
	letter-spacing: 0.2em;
	color: var(--sw-teal);
	font-family: 'JetBrains Mono', monospace;
}
.sw-hero-eyebrow-line {
	display: inline-block;
	width: 40px;
	height: 1px;
	background: var(--sw-teal);
}
.sw-hero-headline {
	font-size: clamp(44px, 7vw, 120px) !important;
	font-weight: 500 !important;
	line-height: 1.05 !important;
	letter-spacing: -0.035em !important;
	color: #fff !important;
	text-shadow: 0 2px 40px rgba(0,0,0,0.4);
}
.sw-hero-headline-accent {
	color: var(--sw-teal);
	font-style: italic;
	font-weight: 400;
}
.sw-hero-body {
	margin-top: 48px;
	display: flex;
	gap: 60px;
	flex-wrap: wrap;
	max-width: 760px;
}
.sw-hero-body p {
	font-size: 17px;
	line-height: 1.8;
	color: rgba(255,255,255,0.88);
	max-width: 460px;
}
.sw-hero-actions {
	display: flex;
	gap: 12px;
	align-items: center;
	flex-wrap: wrap;
}
.sw-hero-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr) auto;
	gap: 48px;
	align-items: end;
	padding-top: 32px;
	border-top: 1px solid rgba(255,255,255,0.16);
}
.sw-hero-stat-label {
	font-size: 11px;
	letter-spacing: 0.18em;
	color: rgba(255,255,255,0.6);
	margin-bottom: 12px;
}
.sw-hero-stat-num { display: flex; align-items: baseline; gap: 4px; }
.sw-hero-stat-value {
	font-size: clamp(40px, 5vw, 72px);
	color: #fff;
	line-height: 1;
}
.sw-hero-stat-suffix {
	font-size: clamp(20px, 2.5vw, 32px);
	line-height: 1;
}
.sw-hero-stat-jp { font-size: 13px; color: rgba(255,255,255,0.75); margin-top: 8px; }
.sw-hero-clock { font-size: 10px; letter-spacing: 0.18em; color: rgba(255,255,255,0.55); text-align: right; }

/* ─── Trust Bar ─────────────────────────────────────────── */
.sw-trustbar {
	background: var(--sw-paper-2);
	padding: 56px 0;
	border-top: 1px solid var(--sw-line);
	border-bottom: 1px solid var(--sw-line);
}
.sw-trustbar-inner {
	display: flex;
	align-items: center;
	gap: 48px;
	flex-wrap: wrap;
}
.sw-trustbar-label { font-size: 11px; letter-spacing: 0.18em; color: var(--sw-muted); white-space: nowrap; }
.sw-trustbar-logos {
	flex: 1;
	min-width: 300px;
	display: flex;
	align-items: center;
	gap: 48px;
	flex-wrap: wrap;
	justify-content: space-between;
}
.sw-trustbar-logo { font-size: 18px; letter-spacing: 0.02em; color: rgba(11,11,12,0.42); font-weight: 700; }

/* ─── Services ──────────────────────────────────────────── */
.sw-services {
	background: var(--sw-ink);
	color: #fff;
	padding: 140px 0 160px;
}
.sw-services-list { margin-top: 64px; }
.sw-service-row {
	display: grid;
	grid-template-columns: 64px 1fr 200px auto auto;
	gap: 24px;
	align-items: center;
	padding: 28px 0;
	border-top: 1px solid rgba(255,255,255,0.08);
	text-decoration: none;
	color: #fff;
	transition: color .25s ease, transform .25s ease;
	cursor: pointer;
}
.sw-service-row:last-child { border-bottom: 1px solid rgba(255,255,255,0.08); }
.sw-service-row:hover { color: var(--sw-teal); transform: translateX(8px); }
.sw-service-row:hover .sw-service-arrow { color: var(--sw-red); transform: rotate(-45deg); }
.sw-service-num { font-size: 13px; letter-spacing: 0.14em; color: rgba(255,255,255,0.4); }
.sw-service-row:hover .sw-service-num { color: var(--sw-teal); }
.sw-service-title { font-size: clamp(20px, 2.8vw, 36px); font-weight: 500; letter-spacing: -0.02em; }
.sw-service-en { font-size: 11px; letter-spacing: 0.14em; color: rgba(255,255,255,0.45); }
.sw-service-tags { display: flex; gap: 8px; flex-wrap: wrap; }
.sw-service-tag {
	font-size: 10px;
	letter-spacing: 0.12em;
	padding: 4px 10px;
	border: 1px solid rgba(255,255,255,0.18);
	border-radius: 999px;
	color: rgba(255,255,255,0.6);
}
.sw-service-arrow {
	font-size: 18px;
	transition: color .25s ease, transform .25s ease;
	color: rgba(255,255,255,0.4);
}

/* ─── Case Studies ──────────────────────────────────────── */
.sw-cases { background: var(--sw-paper-2); padding: 140px 0 160px; }
.sw-cases-lead {
	margin-top: 64px;
	margin-bottom: 56px;
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 80px;
	align-items: end;
}
.sw-cases-headline {
	font-size: clamp(40px, 5.8vw, 88px) !important;
	font-weight: 500 !important;
	line-height: 1.08 !important;
	letter-spacing: -0.035em !important;
	color: var(--sw-ink) !important;
}
.sw-cases-desc { font-size: 15px; line-height: 1.9; color: rgba(11,11,12,0.7); max-width: 420px; }
.sw-cases-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.sw-case-card {
	text-decoration: none;
	color: inherit;
	background: var(--sw-paper);
	border: 1px solid var(--sw-line);
	display: flex;
	flex-direction: column;
	transition: transform .3s ease, box-shadow .3s ease;
}
.sw-case-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 40px rgba(10,21,32,0.08);
}
.sw-case-thumb {
	aspect-ratio: 4/3;
	background: var(--sw-navy-2);
	background-size: cover;
	background-position: center;
	position: relative;
	overflow: hidden;
}
.sw-case-thumb-overlay {
	position: absolute;
	inset: 0;
	background: rgba(10,21,32,0.35);
}
.sw-case-num {
	position: absolute;
	left: 20px; top: 20px;
	font-size: 28px;
	font-style: italic;
	font-weight: 500;
	color: rgba(255,255,255,0.95);
	letter-spacing: -0.02em;
}
.sw-case-tag {
	position: absolute;
	right: 20px; top: 20px;
	font-size: 10px;
	letter-spacing: 0.16em;
	color: rgba(255,255,255,0.95);
	padding: 5px 10px;
	border: 1px solid rgba(255,255,255,0.5);
	border-radius: 999px;
}
.sw-case-body { padding: 28px 28px 32px; display: flex; flex-direction: column; gap: 16px; flex: 1; }
.sw-case-title { font-size: 22px !important; font-weight: 600 !important; letter-spacing: -0.015em !important; line-height: 1.4 !important; color: var(--sw-ink) !important; }
.sw-case-client { font-size: 11px; letter-spacing: 0.1em; color: var(--sw-muted); }
.sw-case-kpi {
	margin-top: auto;
	padding-top: 20px;
	border-top: 1px solid var(--sw-line);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
}
.sw-case-kpi-n { font-size: 22px; font-weight: 600; letter-spacing: -0.02em; color: var(--sw-blue); line-height: 1; }
.sw-case-kpi-l { font-size: 9px; letter-spacing: 0.1em; color: var(--sw-muted); margin-top: 4px; }
.sw-case-read { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 500; color: var(--sw-ink); margin-top: 4px; }

/* ─── Blog / News ────────────────────────────────────────── */
.sw-post-tag { display: block; margin-bottom: 8px; }
.sw-post-title a { color: var(--sw-ink) !important; text-decoration: none !important; }
.sw-post-title a:hover { color: var(--sw-blue) !important; }
.sw-news-item { flex-wrap: wrap; gap: 10px; }
.sw-news-title a { color: var(--sw-ink) !important; text-decoration: none !important; font-size: 13px !important; }
.wp-block-post-featured-image a img { aspect-ratio: 4/3; object-fit: cover; width: 100%; }

/* ─── CTA Section ───────────────────────────────────────── */
.sw-cta-section { background: var(--sw-paper-2); }

.sw-stats-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	border-top: 1px solid var(--sw-line);
}
.sw-stat-cell {
	padding: 72px 48px;
	border-right: 1px solid var(--sw-line);
}
.sw-stat-cell:last-child { border-right: none; }
.sw-stat-n {
	font-size: clamp(64px, 8vw, 112px);
	letter-spacing: -0.05em;
	line-height: 1;
	color: var(--sw-ink);
	display: block;
	margin-bottom: 12px;
}
.sw-stat-en { font-size: 11px; letter-spacing: 0.18em; color: var(--sw-muted); margin-bottom: 8px; }
.sw-stat-jp { font-size: 13px; color: var(--sw-muted); }

.sw-marquee-wrap {
	overflow: hidden;
	background: var(--sw-ink);
	padding: 32px 0;
	border-top: 1px solid rgba(255,255,255,0.06);
	border-bottom: 1px solid rgba(255,255,255,0.06);
}
.sw-marquee-track {
	display: flex;
	width: max-content;
	animation: sw-marquee 28s linear infinite;
}
.sw-marquee-item {
	display: flex;
	align-items: center;
	gap: 24px;
	padding-right: 24px;
	white-space: nowrap;
}
.sw-marquee-orb--red {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px; height: 48px;
	border-radius: 999px;
	background: var(--sw-red);
	font-size: 20px;
}
.sw-marquee-text {
	font-size: clamp(28px, 3.5vw, 52px);
	font-weight: 600;
	letter-spacing: -0.03em;
	color: #fff;
}
.sw-marquee-text--en { font-style: italic; color: rgba(255,255,255,0.6); }
.sw-marquee-dot { font-size: 32px; color: var(--sw-teal); }

@keyframes sw-marquee {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

.sw-cta-contact {
	padding: 64px 0;
	background: var(--sw-paper-2);
}
.sw-cta-contact-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 32px;
	flex-wrap: wrap;
}
.sw-cta-contact-info { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.sw-cta-contact-link {
	font-size: 15px;
	letter-spacing: 0.04em;
	color: var(--sw-ink);
	text-decoration: none;
	border-bottom: 1px solid var(--sw-ink);
}
.sw-cta-contact-link:hover { color: var(--sw-blue); border-bottom-color: var(--sw-blue); }
.sw-cta-contact-sep { color: var(--sw-muted); }

/* ─── Responsive (top page) ─────────────────────────────── */
@media (max-width: 1024px) {
	.sw-service-row { grid-template-columns: 48px 1fr auto auto; }
	.sw-service-en, .sw-service-tags { display: none; }
	.sw-cases-grid { grid-template-columns: 1fr 1fr; }
	.sw-cases-lead { grid-template-columns: 1fr; gap: 24px; }
	.sw-stats-grid { grid-template-columns: repeat(2, 1fr); }
	.sw-stat-cell:nth-child(2) { border-right: none; }
}
@media (max-width: 768px) {
	.sw-hero-stats { grid-template-columns: 1fr 1fr; }
	.sw-hero-clock { display: none; }
	.sw-cases-grid { grid-template-columns: 1fr; }
	.sw-stats-grid { grid-template-columns: 1fr 1fr; }
	.sw-cta-contact-inner { flex-direction: column; align-items: flex-start; }
}

/* ─── Page Hero (固定ページテンプレート) ───────────────────── */
/* Rank Math パンくずリスト — ヒーロー暗背景上での配色 */
.wp-block-cover .rank-math-breadcrumb,
.wp-block-cover .rank-math-breadcrumb a,
.wp-block-cover .rank-math-breadcrumb span {
	color: rgba(255, 255, 255, 0.65);
	font-size: 13px;
	font-family: 'Plus Jakarta Sans', sans-serif;
}
.wp-block-cover .rank-math-breadcrumb a:hover {
	color: #fff;
}
.wp-block-cover .rank-math-breadcrumb .separator {
	margin: 0 6px;
	opacity: 0.4;
}

/* ─── Single Post: 著者ブロック（バイオ付き） ───────────────── */
.wp-block-post-author.has-base-font-size .wp-block-post-author__avatar img {
	width: 150px !important;
	height: 150px !important;
	border-radius: 50%;
}
.wp-block-post-author.has-base-font-size .wp-block-post-author__name {
	font-size: var(--wp--preset--font-size--md) !important;
	font-weight: 700;
}
.wp-block-post-author.has-base-font-size .wp-block-post-author__bio {
	font-size: var(--wp--preset--font-size--base) !important;
	line-height: 1.7;
}

/* 監修者ボックス
   HTML を出しているのはテーマではなくプラグイン sw-reviewer（blocks/post-supervisor/render.php）。
   見た目はテーマの担当という役割分担なので、CSS だけここに置いている（2026-09-07）。
   ⚠ クラス名がプラグインとの契約。片方だけ変えると素のHTMLになる。
   ⚠ プラグインを停止するとこのHTMLは出なくなる（CSSが残るだけで無害）。 */
/* ─── Single Post: 監修者ブロック ───────────────────────────── */
/* 著者ブロックと同じパディング・マージン（テンプレート側のインラインstyleに合わせる） */
.shapewin-supervisor {
	padding: var(--wp--preset--spacing--md) var(--wp--preset--spacing--sm);
	margin-top: var(--wp--preset--spacing--md);
	border-top: 1px solid var(--wp--preset--color--border-light);
}
.shapewin-supervisor__heading {
	font-family: 'Plus Jakarta Sans', 'Noto Sans JP', sans-serif;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	color: var(--wp--preset--color--secondary);
	letter-spacing: 0.04em;
	text-align: center;
	margin: 0 0 var(--wp--preset--spacing--sm) 0;
}
.shapewin-supervisor__inner {
	display: flex;
	gap: 1em;
	align-items: center;
	flex-wrap: wrap;
}
.shapewin-supervisor__avatar {
	flex-shrink: 0;
	display: inline-flex;
}
.shapewin-supervisor__avatar img {
	width: 150px;
	height: 150px;
	border-radius: 50%;
}
.shapewin-supervisor__content {
	flex: 1;
	min-width: 0;
}
.shapewin-supervisor__name {
	font-size: var(--wp--preset--font-size--md);
	font-weight: 700;
	margin: 0 0 0.7em 0;
}
.shapewin-supervisor__bio {
	font-size: var(--wp--preset--font-size--base);
	line-height: 1.7;
	margin: 0;
}

/* エディタプレビュー */
.shapewin-supervisor-edit {
	border: 1px dashed var(--wp--preset--color--secondary, #888);
	padding: 1rem;
	border-radius: 4px;
}
.shapewin-supervisor-edit__heading {
	font-weight: 700;
	margin: 0 0 0.25rem 0;
}
.shapewin-supervisor-edit__status {
	font-size: 0.85rem;
	color: var(--wp--preset--color--secondary, #555);
	margin: 0;
}

/* ─── Single Post: 関連記事リスト (YARPP plugin) ────────────── */
.yarpp-related h3 {
	display: none;
}
.yarpp-related ol {
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: yarpp-related;
}
.yarpp-related ol li {
	counter-increment: yarpp-related;
	display: flex;
	align-items: baseline;
	gap: 14px;
	padding: 10px 0;
	border-bottom: 1px solid var(--wp--preset--color--border-light);
}
.yarpp-related ol li:first-child {
	border-top: 1px solid var(--wp--preset--color--border-light);
}
.yarpp-related ol li::before {
	content: counter(yarpp-related, decimal-leading-zero);
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.05em;
	color: var(--wp--preset--color--secondary);
	flex-shrink: 0;
	min-width: 24px;
}
.yarpp-related ol li img {
	display: none;
}
.yarpp-related ol li a {
	text-decoration: none;
	color: var(--wp--preset--color--main);
	font-size: var(--wp--preset--font-size--base);
	line-height: 1.5;
	transition: color .2s;
}
.yarpp-related ol li a:hover {
	color: var(--wp--preset--color--primary);
}
.yarpp-related ol li abbr {
	display: none;
}

/* ─── Single Post: 本文コンテンツ スタイル調整 ──────────────── */

/* H3: 左ボーダー — ブログ記事・カスタム投稿シングルページのみに限定 */
.single-post .wp-block-post-content h3,
.single-news .wp-block-post-content h3,
.single-casestudy .wp-block-post-content h3,
.single-seminar .wp-block-post-content h3,
.single-ebook .wp-block-post-content h3 {
	font-size: var(--wp--preset--font-size--md) !important;
	border-left: 4px solid var(--wp--preset--color--secondary) !important;
	padding-left: 12px !important;
	color: var(--wp--preset--color--main) !important;
}

/* テーブル: TH（ヘッダー行）をプライマリカラーで強調 */
.entry-content .wp-block-table table,
.wp-block-post-content .wp-block-table table {
	border-collapse: collapse;
	width: 100%;
}
.entry-content .wp-block-table th,
.wp-block-post-content .wp-block-table th {
	background-color: var(--wp--preset--color--primary) !important;
	color: #fff !important;
	font-weight: 600;
	padding: 10px 14px;
	text-align: left;
}
.entry-content .wp-block-table td,
.wp-block-post-content .wp-block-table td {
	padding: 10px 14px;
	border-bottom: 1px solid var(--wp--preset--color--border-light);
}
.entry-content .wp-block-table tr:nth-child(even) td,
.wp-block-post-content .wp-block-table tr:nth-child(even) td {
	background-color: rgba(0, 123, 193, 0.04);
}

/* 画像キャプション: グレーで控えめに */
.entry-content figcaption,
.entry-content .wp-element-caption,
.wp-block-post-content figcaption,
.wp-block-post-content .wp-element-caption {
	color: #999 !important;
	font-size: var(--wp--preset--font-size--xs) !important;
	text-align: center;
}


/* 背景色付き段落: 投稿コンテンツ内のhas-backgroundにパディングを追加 */
.wp-block-post-content p.has-background {
	padding: 1em 1.2em;
	border-radius: 4px;
}

/* 箇条書き: 投稿コンテンツ内はグレー背景付き */
.wp-block-post-content ul.wp-block-list,
.wp-block-post-content ol.wp-block-list {
	background: var(--wp--preset--color--base);
	border-radius: 4px;
	padding: 1.2em 1.5em 1.2em 3em !important;
}
.wp-block-post-content ul.wp-block-list li,
.wp-block-post-content ol.wp-block-list li {
	padding-left: 0.6em;
	padding-top: 0.3em;
	padding-bottom: 0.3em;
	margin-bottom: 0.2em;
}

/* ─── ケーススタディ: サイドバー sticky 対応 ─────────────── */
/*
 * wp:columns は Flexbox で align-items: stretch のため右カラムが左と同じ高さになる。
 * sticky はスクロールできる余地（親高さ - 自分の高さ）がないと機能しない。
 * wp-block-columns に align-items: flex-start を当てて全カラムをコンテンツ高さに戻し、
 * 右カラムだけ親の高さを手動で左カラムに合わせるのではなく、
 * columns 全体を stretch から外してスティッキーが機能する余地を作る。
 */
/* sticky サイドバー: fixed ヘッダー（75px）+ 余白の下からスティック */
.single-casestudy .wp-block-columns.alignwide > .wp-block-column:last-child > .wp-block-group {
	top: calc(var(--wp-admin--admin-bar--height, 0px) + 91px) !important;
}

/* ─── ケーススタディ: クライアント情報サイドバー ─────────────── */
.cs-client-info {
	background: #fff;
	border: 1px solid var(--wp--preset--color--border-light);
	border-radius: 8px;
	padding: 24px;
}

.cs-client-logo-wrap {
	margin-bottom: 20px;
	text-align: center;
}

.cs-client-logo {
	max-width: 160px;
	max-height: 80px;
	width: auto;
	height: auto;
	object-fit: contain;
}

.cs-client-meta {
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.cs-client-meta-row {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--wp--preset--color--border-light);
}

.cs-client-meta-row:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.cs-client-meta dt {
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 600;
	color: var(--wp--preset--color--secondary);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.cs-client-meta dd {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--main);
	line-height: 1.5;
}

/* ─── セミナー: メタ情報・申し込みボタン ────────────────────── */
.sm-seminar-info {
	margin-top: var(--wp--preset--spacing--xs);
}

/* アイコン付きメタリスト */
.sm-seminar-meta-list {
	list-style: none;
	margin: 0 0 var(--wp--preset--spacing--sm);
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.6em;
}

.sm-seminar-meta-item {
	display: flex;
	align-items: baseline;
	gap: 0.6em;
	font-size: var(--wp--preset--font-size--base);
	color: #444;
	line-height: 1.6;
}

.sm-seminar-meta-icon {
	flex-shrink: 0;
	width: 1.2em;
	text-align: center;
	color: #666;
	font-size: 0.9em;
}

.sm-seminar-meta-text {
	flex: 1;
}

/* 申し込みボタン */
.sm-seminar-apply {
	margin-top: var(--wp--preset--spacing--sm);
}

.sm-seminar-apply-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	padding: 0.85em 2em;
	background: var(--wp--preset--color--accent);
	color: #fff;
	font-size: var(--wp--preset--font-size--base);
	font-weight: 600;
	text-decoration: none;
	border-radius: 4px;
	transition: background 0.2s ease;
}

.sm-seminar-apply-btn:hover {
	background: var(--wp--preset--color--accent);
	color: #fff;
	opacity: 0.85;
}

.sm-seminar-apply-icon {
	font-size: 0.85em;
}

.sm-seminar-apply-note {
	margin: 0.5em 0 0;
	font-size: var(--wp--preset--font-size--small);
	color: #777;
}

/* ─── Blog Archive: カテゴリーナビゲーション（ショートコード） ─ */
.sw-blog-category-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: var(--wp--preset--spacing--sm);
}
.sw-blog-cat-btn {
	display: inline-block;
	padding: 6px 16px;
	border: 1px solid var(--wp--preset--color--border-light, #D9D9D9);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	color: var(--wp--preset--color--main);
	text-decoration: none;
	background: #fff;
	transition: background .2s, color .2s, border-color .2s;
}
.sw-blog-cat-btn:hover {
	background: var(--wp--preset--color--primary);
	color: #fff;
	border-color: var(--wp--preset--color--primary);
}
.sw-blog-cat-btn.is-active {
	background: var(--wp--preset--color--primary);
	color: #fff;
	border-color: var(--wp--preset--color--primary);
}

/* ─── Blog Archive: カテゴリーフィルター ───────────────────── */
.sw-blog-category-filter.wp-block-categories {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.sw-blog-category-filter.wp-block-categories li {
	margin: 0;
}
.sw-blog-category-filter.wp-block-categories a {
	display: inline-block;
	padding: 6px 16px;
	border: 1px solid var(--wp--preset--color--border-light, #D9D9D9);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	color: var(--wp--preset--color--main);
	text-decoration: none;
	background: #fff;
	transition: background .2s, color .2s, border-color .2s;
}
.sw-blog-category-filter.wp-block-categories a:hover {
	background: var(--wp--preset--color--primary);
	color: #fff;
	border-color: var(--wp--preset--color--primary);
}

/* ─── Blog Category Hero: 検索窓 ────────────────────────────── */
.sw-hero-search .wp-block-search__inside-wrapper {
	display: flex;
	border: 1px solid rgba(255,255,255,0.4);
	border-radius: 8px;
	overflow: hidden;
	background: rgba(255,255,255,0.15);
	backdrop-filter: blur(6px);
}
.sw-hero-search .wp-block-search__input {
	flex: 1;
	border: none;
	padding: 12px 16px;
	font-size: 14px;
	outline: none;
	background: transparent;
	color: #fff;
}
.sw-hero-search .wp-block-search__input::placeholder {
	color: rgba(255,255,255,0.7);
}
.sw-hero-search .wp-block-search__button,
.sw-hero-search .wp-block-search__button:not(.has-background) {
	border: none;
	background: rgba(255,255,255,0.25) !important;
	color: #fff;
	padding: 12px 16px;
	cursor: pointer;
	display: flex;
	align-items: center;
	transition: background .2s;
}
.sw-hero-search .wp-block-search__button:hover {
	background: rgba(255,255,255,0.4) !important;
}
.sw-hero-search .wp-block-search__button svg {
	width: 16px;
	height: 16px;
	fill: #fff;
}

/* ─── Blog Archive: 記事カードグリッド ─────────────────────── */
.sw-blog-grid > li {
	display: flex;
}

.sw-blog-card {
	display: flex;
	flex-direction: column;
	width: 100%;
	border: 1px solid var(--wp--preset--color--border-light, #E2E2E2);
	box-shadow: 0 2px 8px rgba(0,0,0,0.06);
	transition: box-shadow 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
	overflow: hidden;
}
.sw-blog-card:hover {
	box-shadow: 0 8px 24px rgba(0,0,0,0.12), 0 2px 6px rgba(0,0,0,0.06);
	border-color: var(--wp--preset--color--primary);
	transform: translateY(-4px);
}

.sw-blog-card-thumb a {
	display: block;
	line-height: 0;
}
.sw-blog-card-thumb img {
	transition: transform 0.35s ease;
}
.sw-blog-card:hover .sw-blog-card-thumb img {
	transform: scale(1.04);
}

.sw-blog-card-body {
	flex: 1;
	display: flex;
	flex-direction: column;
}
.sw-blog-card-body .wp-block-post-excerpt {
	flex: 1;
}

.sw-blog-card:hover .wp-block-post-title a {
	color: var(--wp--preset--color--primary);
}

/* ページネーション */
.sw-blog-grid ~ .wp-block-query-pagination,
.sw-ebook-grid ~ .wp-block-query-pagination {
	margin-top: var(--wp--preset--spacing--md) !important;
}

.wp-block-query-pagination {
	gap: 8px;
}
.wp-block-query-pagination-numbers .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 8px;
	border: 1px solid var(--wp--preset--color--border-light, #D9D9D9);
	border-radius: 4px;
	font-size: 14px;
	color: var(--wp--preset--color--main);
	text-decoration: none;
	transition: background .2s, color .2s, border-color .2s;
}
.wp-block-query-pagination-numbers .page-numbers:hover,
.wp-block-query-pagination-numbers .page-numbers.current {
	background: var(--wp--preset--color--primary);
	color: #fff;
	border-color: var(--wp--preset--color--primary);
}

@media (max-width: 600px) {
	.sw-blog-grid {
		grid-template-columns: 1fr !important;
	}
}

/* ─── Footer: 区切り線をダーク背景上で視認できる白に ────────── */
.site-footer .wp-block-separator {
	border-color: rgba(255, 255, 255, 0.25) !important;
	background-color: rgba(255, 255, 255, 0.25) !important;
	color: rgba(255, 255, 255, 0.25) !important;
}

/* ─── Ebook Archive: カードグリッド ────────────────────────── */

/* グリッド内の各カードを同じ高さに揃える */
.sw-ebook-grid > li {
	display: flex;
}

.sw-ebook-card {
	display: flex;
	flex-direction: column;
	width: 100%;
	border: 1px solid var(--wp--preset--color--border-light, #E2E2E2);
	box-shadow: 0 2px 8px rgba(0,0,0,0.06);
	transition: box-shadow 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
	overflow: hidden;
}

.sw-ebook-card:hover {
	box-shadow: 0 8px 24px rgba(0,0,0,0.12), 0 2px 6px rgba(0,0,0,0.06);
	border-color: var(--wp--preset--color--primary);
	transform: translateY(-4px);
}

/* サムネイルのズームアニメーション */
.sw-ebook-card-thumb img {
	transition: transform 0.35s ease;
}
.sw-ebook-card:hover .sw-ebook-card-thumb img {
	transform: scale(1.04);
}

/* カード本文部分を縦いっぱいに伸ばしてボタンを下に固定 */
.sw-ebook-card-body {
	flex: 1;
	display: flex;
	flex-direction: column;
}
.sw-ebook-card-body .wp-block-post-excerpt {
	flex: 1;
}

/* タイトルホバー色 */
.sw-ebook-card:hover .wp-block-post-title a {
	color: var(--wp--preset--color--primary);
}

@media (max-width: 600px) {
	.sw-ebook-grid {
		grid-template-columns: 1fr !important;
	}
}

/* ─── CaseStudy Archive: Hero ──────────────────────────────── */
@media (max-width: 600px) {
	.sw-cs-hero-img { display: none; }
}

/* ─── CaseStudy Archive: ローディングスピナー ───────────────── */
@keyframes sw-spin {
	to { transform: rotate(360deg); }
}
.sw-cs-spinner {
	display: none;
	width: 40px;
	height: 40px;
	margin: 0 auto var(--wp--preset--spacing--sm);
	border: 3px solid var(--wp--preset--color--border-light, #E2E2E2);
	border-top-color: var(--wp--preset--color--primary, #007BC1);
	border-radius: 50%;
	animation: sw-spin 0.7s linear infinite;
}
.sw-cs-spinner.is-active {
	display: block;
}

/* ─── CaseStudy Archive: サービスフィルター ─────────────────── */
.sw-cs-service-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: var(--wp--preset--spacing--sm);
}

.sw-cs-service-btn {
	display: inline-block;
	padding: 8px 24px;
	border: 1px solid rgba(255,255,255,0.6);
	border-radius: 999px;
	background: transparent;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: #fff;
	cursor: pointer;
	transition: background .2s, color .2s, border-color .2s;
}
.sw-cs-service-btn:hover {
	background: rgba(255,255,255,0.2);
	border-color: #fff;
}
.sw-cs-service-btn.is-active {
	background: #fff;
	color: var(--wp--preset--color--primary);
	border-color: #fff;
}

/* ─── CaseStudy Archive: カードグリッド ────────────────────── */
.sw-cs-grid > li {
	display: flex;
}

.sw-cs-card {
	display: flex;
	flex-direction: column;
	width: 100%;
	border: 1px solid var(--wp--preset--color--border-light, #E2E2E2);
	box-shadow: 0 2px 8px rgba(0,0,0,0.06);
	transition: box-shadow 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
	overflow: hidden;
}
.sw-cs-card:hover {
	box-shadow: 0 8px 24px rgba(0,0,0,0.12), 0 2px 6px rgba(0,0,0,0.06);
	border-color: var(--wp--preset--color--primary);
	transform: translateY(-4px);
}

.sw-cs-card-thumb img {
	object-fit: contain;
	background-color: var(--wp--preset--color--base, #F5F3EF);
	transition: transform 0.35s ease;
}
.sw-cs-card:hover .sw-cs-card-thumb img {
	transform: scale(1.04);
}

.sw-cs-card-body {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.sw-cs-card:hover .wp-block-post-title a {
	color: var(--wp--preset--color--primary);
}

@media (max-width: 600px) {
	.sw-cs-grid {
		grid-template-columns: 1fr !important;
	}
	.sw-cs-service-filter {
		gap: 6px;
	}
	.sw-cs-service-btn {
		font-size: 13px;
		padding: 7px 16px;
	}
}

/* ─── CaseStudy: 業種タブセクション（縦ナビ + 右パネル） ────── */

/* 全体レイアウト：左ナビ280px + 右コンテンツ */
.sw-sector-layout {
	display: flex;
	gap: 0;
	align-items: stretch;
	border: 1px solid var(--wp--preset--color--border-light, #D6E0EA);
	border-radius: 4px;
	overflow: hidden;
	background: #fff;
}

/* 左：縦ナビ */
.sw-sector-nav {
	flex: 0 0 240px;
	display: flex;
	flex-direction: column;
	border-right: 1px solid var(--wp--preset--color--border-light, #D6E0EA);
}

.sw-sector-nav-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 16px 20px;
	background: #f8f9fa;
	border: none;
	border-bottom: 1px solid var(--wp--preset--color--border-light, #D6E0EA);
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 14px;
	font-weight: 500;
	color: var(--wp--preset--color--main, #1C2B3A);
	cursor: pointer;
	text-align: left;
	transition: background .15s, color .15s;
	width: 100%;
}
.sw-sector-nav-item:last-child {
	border-bottom: none;
}
.sw-sector-nav-item i {
	font-size: 16px;
	width: 20px;
	text-align: center;
	flex-shrink: 0;
	color: var(--wp--preset--color--main-accent, #6B7380);
	transition: color .15s;
}
.sw-sector-nav-item:hover {
	background: #fff;
	color: var(--wp--preset--color--primary, #007BC1);
}
.sw-sector-nav-item:hover i {
	color: var(--wp--preset--color--primary, #007BC1);
}
.sw-sector-nav-item.is-active {
	background: #fff;
	color: var(--wp--preset--color--primary, #007BC1);
	font-weight: 700;
}
.sw-sector-nav-item.is-active i {
	color: var(--wp--preset--color--primary, #007BC1);
}

/* 右：コンテンツエリア */
.sw-sector-content {
	flex: 1;
	min-width: 0;
}

/* パネル表示制御 */
.sw-sector-panel {
	display: none;
	padding: 24px 20px;
}
.sw-sector-panel.is-active {
	display: block;
}

/* パネル上部：画像 + 説明テキスト */
.sw-sector-panel-top {
	display: flex;
	gap: 24px;
	align-items: flex-start;
	margin-bottom: 24px;
}
.sw-sector-panel-img {
	flex: 0 0 220px;
}
.sw-sector-panel-img img {
	width: 100%;
	height: 160px;
	object-fit: cover;
	border-radius: 4px;
	display: block;
}
.sw-sector-panel-desc {
	flex: 1;
	min-width: 0;
}
.sw-sector-panel-desc h3 {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 18px;
	font-weight: 700;
	color: var(--wp--preset--color--main, #1C2B3A);
	margin: 0 0 12px;
}
.sw-sector-panel-desc p {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 14px;
	line-height: 1.8;
	color: var(--wp--preset--color--main-accent, #6B7380);
	margin: 0;
}

/* ロゴグリッド：4列固定、カラー表示 */
.sw-sector-logo-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	border-top: 1px solid var(--wp--preset--color--border-light, #D6E0EA);
	border-left: 1px solid var(--wp--preset--color--border-light, #D6E0EA);
}
.sw-sector-logo-cell {
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 12px;
	border-right: 1px solid var(--wp--preset--color--border-light, #D6E0EA);
	border-bottom: 1px solid var(--wp--preset--color--border-light, #D6E0EA);
	box-sizing: border-box;
}
.sw-sector-logo-cell img {
	max-width: 100%;
	max-height: 48px;
	width: auto;
	height: auto;
	object-fit: contain;
}

/* レスポンシブ */
@media (max-width: 900px) {
	.sw-sector-layout {
		flex-direction: column;
	}
	.sw-sector-nav {
		flex: none;
		flex-direction: row;
		flex-wrap: wrap;
		border-right: none;
		border-bottom: 1px solid var(--wp--preset--color--border-light, #D6E0EA);
	}
	.sw-sector-nav-item {
		flex: 0 0 auto;
		border-bottom: none;
		border-right: 1px solid var(--wp--preset--color--border-light, #D6E0EA);
		padding: 12px 16px;
		font-size: 13px;
	}
	.sw-sector-panel {
		padding: 20px;
	}
	.sw-sector-panel-top {
		flex-direction: column;
	}
	.sw-sector-panel-img {
		flex: none;
		width: 100%;
	}
	.sw-sector-panel-img img {
		height: 200px;
	}
	.sw-sector-logo-grid {
		grid-template-columns: repeat(3, 1fr);
	}
	.sw-sector-logo-cell {
		height: 72px;
	}
}


/* ─── News Archive ──────────────────────────────────────── */

/* 年別ナビ */
.sw-news-year-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding-bottom: var(--wp--preset--spacing--md);
	border-bottom: 1px solid var(--wp--preset--color--border-light, #D6E0EA);
}
.sw-news-year-btn {
	display: inline-block;
	padding: 6px 18px;
	border: 1px solid var(--wp--preset--color--border-light, #D6E0EA);
	border-radius: 999px;
	background: #fff;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 13px;
	font-weight: 600;
	color: var(--wp--preset--color--main, #1C2B3A);
	text-decoration: none;
	transition: background .2s, color .2s, border-color .2s;
}
.sw-news-year-btn:hover {
	background: var(--wp--preset--color--tertiary, #E8EEF4);
	border-color: var(--wp--preset--color--primary, #007BC1);
	color: var(--wp--preset--color--primary, #007BC1);
}
.sw-news-year-btn.is-active {
	background: var(--wp--preset--color--primary, #007BC1);
	border-color: var(--wp--preset--color--primary, #007BC1);
	color: #fff;
}

/* 記事リスト */
.sw-news-list {
	display: flex;
	flex-direction: column;
}
.sw-news-excerpt {
	margin-top: 4px;
}
.sw-news-excerpt p {
	margin: 0;
}

@media (max-width: 600px) {
	.sw-news-year-nav {
		gap: 6px;
	}
	.sw-news-year-btn {
		font-size: 12px;
		padding: 5px 14px;
	}
}

/* ========================================
   サービスページ共通
   ======================================== */

/* チェックサークルリスト */
ul.is-style-list-check-circle {
	padding-inline-start: 0 !important;
	padding-left: 0 !important;
	list-style: none;
}
ul.is-style-list-check-circle li {
	position: relative;
	padding-left: 2.2rem !important;
	margin-bottom: 0.4rem;
}
ul.is-style-list-check-circle li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.15em;
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 50%;
	background-color: var(--wp--preset--color--accent, #EE4034);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23ffffff' d='M173.9 439.4l-166.4-166.4c-10-10-10-26.2 0-36.2l36.2-36.2c10-10 26.2-10 36.2 0L192 312.7 432.1 72.6c10-10 26.2-10 36.2 0l36.2 36.2c10 10 10 26.2 0 36.2l-294.4 294.4c-10 9.9-26.2 9.9-36.2 0z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 70%;
}

/* クライアントロゴ一覧 */
.sw-client-logos {
	gap: 24px 32px;
	padding: 1rem 0;
}
.sw-client-logos .wp-block-image {
	margin: 0;
	flex-shrink: 0;
}
.sw-client-logos .wp-block-image img {
	max-height: 44px;
	width: auto !important;
	object-fit: contain;
}

/* ─── WP border-color preset補完 ───────────────────────────
 * ブロックエディターが borderColor プリセットを選択した際、
 * has-{slug}-border-color クラスは付くがインラインstyleに
 * border-color が出力されないWPの既知の挙動を補完する。
 * ---------------------------------------------------------- */
.has-border-light-border-color { border-color: var(--wp--preset--color--border-light) !important; }
.has-border-dark-border-color  { border-color: var(--wp--preset--color--border-dark)  !important; }
.has-primary-border-color      { border-color: var(--wp--preset--color--primary)       !important; }
.has-secondary-border-color    { border-color: var(--wp--preset--color--secondary)     !important; }
.has-main-border-color         { border-color: var(--wp--preset--color--main)          !important; }

/* ─── RankMath FAQ ブロック ─────────────────────────────── */
#rank-math-faq.rank-math-block {
	margin: 0;
}
#rank-math-faq .rank-math-list {
	display: flex;
	flex-direction: column;
	gap: 0;
}
#rank-math-faq .rank-math-list-item {
	border-bottom: 1px solid var(--wp--preset--color--border-light, rgba(10,21,32,0.12));
	padding: 1.25rem 0;
}
#rank-math-faq .rank-math-list-item:first-child {
	border-top: 1px solid var(--wp--preset--color--border-light, rgba(10,21,32,0.12));
}
/* Q. ラベル */
#rank-math-faq .rank-math-question {
	display: flex;
	align-items: baseline;
	gap: 0.5rem;
	font-size: 1rem;
	font-weight: 700;
	color: var(--wp--preset--color--primary);
	margin: 0 0 0.75rem;
}
#rank-math-faq .rank-math-question::before {
	content: "Q.";
	flex-shrink: 0;
	font-family: var(--wp--preset--font-family--secondary, serif);
	font-size: 1.1rem;
	color: var(--wp--preset--color--primary);
}
/* A. ラベル */
#rank-math-faq .rank-math-list-item {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: start;
	gap: 0;
}
#rank-math-faq .rank-math-list-item::before {
	content: "A.";
	grid-column: 1;
	grid-row: 2;
	padding-right: 0.5rem;
	font-family: var(--wp--preset--font-family--secondary, serif);
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--wp--preset--color--secondary);
	padding-top: 0;
	line-height: 1.6;
}
#rank-math-faq .rank-math-question {
	grid-column: 1 / -1;
}
#rank-math-faq .rank-math-answer {
	grid-column: 2;
	grid-row: 2;
	font-size: 15px;
	color: var(--wp--preset--color--main);
}
#rank-math-faq .rank-math-answer > * {
	margin: 0;
}
#rank-math-faq .rank-math-answer p + p {
	margin-top: 0.5rem;
}

/* ─── RankMath FAQ ブロック: ブログ記事(.single-post)用オーバーライド ───────
   固定ページや他のカスタム投稿タイプでは従来のサービスページ向けデザインを
   維持し、ブログ記事のときだけ本文になじむフラットなスタイルに切り替える。 */
/* list-item 区切りボーダーと Answer の間に余白を入れる */
.single-post #rank-math-faq .rank-math-list-item {
	border: none;
	padding-bottom: var(--wp--preset--spacing--lg);
}
/* Q. (h3) — 本文H3の左ボーダー装飾を打ち消し、下にターコイズの点線ボーダー */
.single-post #rank-math-faq .rank-math-question {
	border-left: none !important;
	padding-left: 0 !important;
	font-size: var(--wp--preset--font-size--md) !important;
	color: var(--wp--preset--color--main) !important;
	border-bottom: 1px dotted var(--wp--preset--color--secondary);
	padding-bottom: 0.5rem;
}
/* A. — 本文段落と同じフォントサイズ(md)に */
.single-post #rank-math-faq .rank-math-answer {
	font-size: var(--wp--preset--font-size--md);
}
.single-post #rank-math-faq .rank-math-answer p + p {
	margin-top: var(--wp--preset--spacing--md);
}
