/* =========================================================
   FX自動売買トレードガイド 共通スタイル
   色・文字・幅の値は theme.json の変数を使う
   ========================================================= */

body {
	--fxg-radius: 8px;
	--fxg-shadow: 0 1px 2px rgba(15, 35, 80, 0.06);
	--fxg-c-primary: var(--wp--preset--color--primary);
	--fxg-c-secondary: var(--wp--preset--color--secondary);
	--fxg-c-text: var(--wp--preset--color--contrast);
	--fxg-c-sub: var(--wp--preset--color--contrast-2);
	--fxg-c-border: var(--wp--preset--color--border);
	--fxg-c-base2: var(--wp--preset--color--base-2);
	--fxg-c-pale-blue: var(--wp--preset--color--pale-blue);
	--fxg-c-pale-indigo: var(--wp--preset--color--pale-indigo);
}

body { -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }

/* ---------- ヘッダー ---------- */
.fxg-header {
	background: #fff;
	border-bottom: 1px solid var(--fxg-c-border);
	position: sticky;
	top: 0;
	z-index: 50;
}
.fxg-header__inner { gap: 20px; padding-top: 12px; padding-bottom: 12px; align-items: center; }
.fxg-brand { display: flex; flex-direction: column; line-height: 1.2; flex-shrink: 0; }
.fxg-brand__name {
	color: var(--fxg-c-primary) !important;
	font-weight: 700;
	font-size: 20px;
	text-decoration: none !important;
	letter-spacing: 0.01em;
}
.fxg-brand__by { font-size: 12px; color: var(--fxg-c-sub); }
.fxg-nav { font-size: 14px; font-weight: 500; }
.fxg-nav .wp-block-navigation-item__content { color: var(--fxg-c-text); text-decoration: none; }
.fxg-nav .wp-block-navigation-item__content:hover { color: var(--fxg-c-secondary); }
.fxg-header__actions { gap: 12px; align-items: center; flex-shrink: 0; }
.fxg-header__search .wp-block-search__button { background: transparent; color: var(--fxg-c-primary); padding: 6px; }
.fxg-header__cta .wp-block-button__link { padding: 10px 18px; white-space: nowrap; }

@media (max-width: 1080px) {
	.fxg-nav { font-size: 13px; }
	.fxg-nav.wp-block-navigation { --wp--style--block-gap: 14px; }
}

/* ---------- フッター ---------- */
.fxg-footer { padding-top: 32px; padding-bottom: 24px; margin-top: 64px; }
.fxg-footer .fxg-brand__name { color: #fff !important; }
.fxg-footer .fxg-brand__by { color: #C7D0E0; }
.fxg-footer__nav { font-size: 14px; }
.fxg-footer__nav a { color: #fff; text-decoration: none; }
.fxg-footer__nav a:hover { text-decoration: underline; }
.fxg-footer__bottom { border-top: 1px solid rgba(255, 255, 255, 0.2); margin-top: 20px; padding-top: 16px; }
.fxg-copyright, .fxg-risk { margin: 0; font-size: 13px; color: #fff; }

/* ---------- 共通の枠組み ---------- */
.fxg-main { padding-top: 16px; }
.fxg-2col { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 40px; align-items: start; }
.fxg-article { min-width: 0; }
@media (max-width: 960px) {
	.fxg-2col { grid-template-columns: minmax(0, 1fr); }
}
.fxg-page-title { font-size: var(--wp--preset--font-size--xx-large); margin-top: 8px; }
.fxg-section-title { font-size: var(--wp--preset--font-size--x-large); margin: 48px 0 16px; }

/* ---------- パンくず ---------- */
.fxg-breadcrumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 4px 0; padding: 0; margin: 0 0 16px; font-size: 13px; }
.fxg-breadcrumbs li { color: var(--fxg-c-sub); }
.fxg-breadcrumbs li + li::before { content: "›"; margin: 0 8px; color: var(--fxg-c-sub); }
.fxg-breadcrumbs a { color: var(--fxg-c-text); text-decoration: none; }
.fxg-breadcrumbs a:hover { color: var(--fxg-c-secondary); text-decoration: underline; }

/* ---------- バッジ ---------- */
.fxg-badges { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 8px; }
.fxg-badge {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	padding: 6px 10px;
	border-radius: 4px;
	text-decoration: none !important;
	white-space: nowrap;
}
.fxg-badge--primary { background: var(--fxg-c-primary); color: #fff !important; }
.fxg-badge--pale { background: var(--fxg-c-pale-blue); color: var(--fxg-c-secondary) !important; }
.fxg-badge--blue { background: var(--fxg-c-secondary); color: #fff !important; }
.fxg-badge--outline { background: #fff; color: var(--fxg-c-primary) !important; border: 1.5px solid var(--fxg-c-primary); border-radius: 999px; padding: 4px 10px; }
.fxg-badge--dev { background: var(--wp--preset--color--pale-gold); color: #6B4E00 !important; }
.fxg-badge--pr { background: var(--fxg-c-base2); color: var(--fxg-c-sub) !important; border: 1px solid var(--fxg-c-border); font-weight: 500; }
.fxg-badge--delay { background: var(--wp--preset--color--delay-bg); color: var(--wp--preset--color--delay-text) !important; }
.fxg-badge--closed { background: #E5E7EB; color: #374151 !important; }
.fxg-badge--stop { background: var(--wp--preset--color--minus); color: #fff !important; }

/* ---------- 記事の見出し部 ---------- */
.fxg-article__title { font-size: 32px; line-height: 1.4; margin: 4px 0 8px; }
.fxg-post-meta { display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: 13px; color: var(--fxg-c-sub); margin-bottom: 16px; }
.fxg-post-meta span + span::before { content: "|"; margin-right: 16px; color: var(--fxg-c-border); }
.fxg-article__eyecatch img { border-radius: var(--fxg-radius); }

/* ---------- 目次 ---------- */
.fxg-toc--box { border: 1px solid var(--fxg-c-border); border-radius: var(--fxg-radius); padding: 16px 20px; margin: 24px 0; }
.fxg-toc--box summary { display: flex; justify-content: space-between; align-items: center; cursor: pointer; list-style: none; }
.fxg-toc--box summary::-webkit-details-marker { display: none; }
.fxg-toc__title { font-weight: 700; font-size: 18px; }
.fxg-toc__toggle { font-size: 12px; border: 1px solid var(--fxg-c-border); border-radius: 4px; padding: 2px 10px; color: var(--fxg-c-text); }
.fxg-toc__list { margin: 12px 0 0; padding-left: 1.5em; font-size: 15px; line-height: 1.8; }
.fxg-toc__sub { padding-left: 1.2em; list-style: none; }
.fxg-toc a { color: var(--fxg-c-text); text-decoration: none; }
.fxg-toc a:hover { color: var(--fxg-c-secondary); text-decoration: underline; }
.fxg-toc--sidebar .fxg-toc__list { margin-top: 4px; }
.fxg-toc--sidebar a.is-current { color: var(--fxg-c-secondary); font-weight: 700; }
.fxg-toc--sidebar li:has(> a.is-current) { background: var(--fxg-c-pale-blue); border-left: 3px solid var(--fxg-c-secondary); margin-left: -1.5em; padding-left: calc(1.5em - 3px); }

/* ---------- 本文 ---------- */
.fxg-content > * { margin-top: 0; margin-bottom: 1.4em; }
.fxg-content:not(.fxg-content--home) h2:not(.fxg-card__title),
.fxg-content .is-style-fx-band {
	background: var(--fxg-c-base2);
	border-left: 6px solid var(--fxg-c-primary);
	padding: 10px 16px;
	border-radius: 0 4px 4px 0;
	margin-top: 2.4em;
	font-size: 24px;
}
.fxg-content:not(.fxg-content--home) h3:not(.fxg-card__title),
.fxg-content .is-style-fx-underline {
	border-bottom: 3px solid var(--fxg-c-secondary);
	padding-bottom: 6px;
	margin-top: 2em;
	font-size: 20px;
}
.fxg-content mark,
.fxg-content .has-marker-background-color {
	background: linear-gradient(transparent 55%, var(--wp--preset--color--marker) 55%);
	color: inherit;
	padding: 0 2px;
}
.fxg-content strong { font-weight: 700; }

/* 囲み */
.is-style-fx-point,
.is-style-fx-note,
.is-style-fx-caution {
	border-left: 5px solid var(--fxg-c-secondary);
	background: var(--fxg-c-pale-blue);
	border-radius: 0 var(--fxg-radius) var(--fxg-radius) 0;
	padding: 16px 20px;
}
.is-style-fx-point > :first-child { font-weight: 700; color: var(--fxg-c-primary); font-size: 18px; }
.is-style-fx-point > :first-child::before { content: "✓"; display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--fxg-c-secondary); color: #fff; font-size: 14px; margin-right: 8px; vertical-align: 1px; }
.is-style-fx-note > :first-child::before { content: "i"; display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--fxg-c-secondary); color: #fff; font-size: 13px; font-weight: 700; margin-right: 8px; font-style: italic; }
.is-style-fx-caution { background: var(--wp--preset--color--pale-red); border-left-color: var(--wp--preset--color--minus); }
.is-style-fx-caution > :first-child { font-weight: 700; color: var(--wp--preset--color--minus); }
.is-style-fx-caution > :first-child::before { content: "!"; display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--wp--preset--color--minus); color: #fff; font-size: 14px; font-weight: 700; margin-right: 8px; }
.is-style-fx-point > *, .is-style-fx-note > *, .is-style-fx-caution > * { margin: 0 0 0.4em; }
.is-style-fx-point > :last-child, .is-style-fx-note > :last-child, .is-style-fx-caution > :last-child { margin-bottom: 0; }
.is-style-fx-card { background: #fff; border: 1px solid var(--fxg-c-border); border-radius: var(--fxg-radius); padding: 20px; box-shadow: var(--fxg-shadow); }
.is-style-fx-panel { background: var(--fxg-c-pale-indigo); border-radius: var(--fxg-radius); padding: 20px 24px; }

/* リスト */
ul.is-style-fx-check { list-style: none; padding-left: 0; }
ul.is-style-fx-check li { position: relative; padding-left: 28px; }
ul.is-style-fx-check li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--fxg-c-secondary); font-weight: 700; }
ol.is-style-fx-steps { list-style: none; counter-reset: fxg-step; padding-left: 0; }
ol.is-style-fx-steps > li { counter-increment: fxg-step; position: relative; padding: 0 0 18px 52px; min-height: 36px; }
ol.is-style-fx-steps > li::before {
	content: counter(fxg-step);
	position: absolute; left: 0; top: 0;
	width: 36px; height: 36px; border-radius: 50%;
	background: var(--fxg-c-secondary); color: #fff;
	display: grid; place-items: center; font-weight: 700;
}
ol.is-style-fx-steps > li:not(:last-child)::after {
	content: ""; position: absolute; left: 17px; top: 38px; bottom: 2px; width: 2px; background: var(--fxg-c-pale-blue);
}

/* 表 */
.fxg-content table, .is-style-fx-table table { border-collapse: collapse; width: 100%; font-size: 15px; }
.fxg-content th, .is-style-fx-table th { background: var(--fxg-c-primary); color: #fff; font-weight: 700; }
.fxg-content th, .fxg-content td { border: 1px solid var(--fxg-c-border); padding: 8px 12px; }
.fxg-content tbody tr:nth-child(even) td { background: #FAFBFD; }
.fxg-content .wp-block-table thead { border-bottom: 0; }

/* ボタン */
.is-style-fx-secondary .wp-block-button__link {
	background: #fff !important;
	color: var(--fxg-c-primary) !important;
	border: 1.5px solid var(--fxg-c-primary);
}
.is-style-fx-secondary .wp-block-button__link:hover { background: var(--fxg-c-pale-indigo) !important; }

/* 注意書き */
.fxg-disclaimer,
.is-style-fx-disclaimer {
	font-size: 13px;
	color: var(--fxg-c-sub);
	border: 1px solid var(--fxg-c-border);
	border-radius: 4px;
	padding: 8px 12px;
	margin: 24px 0;
}

/* ---------- シェア・著者 ---------- */
.fxg-share { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin: 32px 0 24px; }
.fxg-share__btn {
	display: flex; align-items: center; justify-content: center; gap: 6px;
	background: #fff; border: 1px solid var(--fxg-c-border); border-radius: 6px;
	padding: 10px 6px; font-size: 13px; color: var(--fxg-c-text) !important; text-decoration: none !important;
	font-family: inherit; cursor: pointer;
}
.fxg-share__btn::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.fxg-share__btn--x::before { background: #000; }
.fxg-share__btn--facebook::before { background: #1877F2; }
.fxg-share__btn--hatena::before { background: #00A4DE; }
.fxg-share__btn--line::before { background: #06C755; }
.fxg-share__btn--copy::before { background: var(--fxg-c-sub); }
.fxg-share__btn:hover { background: var(--fxg-c-base2); }
@media (max-width: 600px) { .fxg-share { grid-template-columns: repeat(3, 1fr); } }

.fxg-author { display: flex; gap: 16px; align-items: center; border: 1px solid var(--fxg-c-border); border-radius: var(--fxg-radius); padding: 16px 20px; }
.fxg-author__icon { width: 56px; height: 56px; border-radius: 50%; background: var(--fxg-c-pale-blue); color: var(--fxg-c-primary); display: grid; place-items: center; font-weight: 700; font-size: 22px; flex-shrink: 0; }
.fxg-author__body { flex: 1; }
.fxg-author__name { font-weight: 700; margin: 0; }
.fxg-author__text { margin: 2px 0 0; font-size: 14px; color: var(--fxg-c-sub); }
.fxg-author__link { font-size: 14px; font-weight: 700; white-space: nowrap; }

/* ---------- 記事カード ---------- */
.fxg-grid { display: grid; gap: 20px; }
.fxg-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fxg-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 900px) { .fxg-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .fxg-grid--3, .fxg-grid--2 { grid-template-columns: minmax(0, 1fr); } }
.wp-block-post-template.fxg-grid { list-style: none; padding: 0; }
.fxg-card { background: #fff; border: 1px solid var(--fxg-c-border); border-radius: var(--fxg-radius); overflow: hidden; height: 100%; box-shadow: var(--fxg-shadow); }
.fxg-card__link { display: block; color: var(--fxg-c-text) !important; text-decoration: none !important; height: 100%; }
.fxg-card__media { position: relative; aspect-ratio: 16 / 9; background: var(--fxg-c-pale-blue); }
.fxg-card__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fxg-card__img--empty { background: linear-gradient(135deg, var(--fxg-c-pale-blue), var(--fxg-c-pale-indigo)); }
.fxg-card__badge { position: absolute; top: 8px; left: 8px; }
.fxg-card__title { font-size: 16px; line-height: 1.5; margin: 12px 14px 4px; }
.fxg-card__date { display: block; font-size: 12px; color: var(--fxg-c-sub); margin: 0 14px 14px; }
.fxg-card__link:hover .fxg-card__title { color: var(--fxg-c-secondary); }

.fxg-pagination { margin-top: 32px; gap: 8px; }
.fxg-pagination a, .fxg-pagination .page-numbers { padding: 6px 12px; border: 1px solid var(--fxg-c-border); border-radius: 4px; text-decoration: none; color: var(--fxg-c-text); }
.fxg-pagination .current { background: var(--fxg-c-primary); color: #fff; border-color: var(--fxg-c-primary); }

/* ---------- サイドバー ---------- */
.fxg-sidebar { display: flex; flex-direction: column; gap: 20px; }
.fxg-widget { background: #fff; border: 1px solid var(--fxg-c-border); border-radius: var(--fxg-radius); padding: 16px; }
.fxg-widget:empty, .fxg-widget:not(:has(*)) { display: none; }
.fxg-widget-title { font-weight: 700; font-size: 17px; margin: 0 0 10px; padding-bottom: 8px; border-bottom: 1px solid var(--fxg-c-border); }
.fxg-popular ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.fxg-popular__item { display: flex; align-items: center; gap: 10px; }
.fxg-popular__item a { display: flex; gap: 10px; align-items: center; color: var(--fxg-c-text); text-decoration: none; font-size: 14px; line-height: 1.5; }
.fxg-popular__item a:hover span { color: var(--fxg-c-secondary); }
.fxg-popular__item img, .fxg-popular__noimg { width: 64px; height: 48px; object-fit: cover; border-radius: 4px; flex-shrink: 0; background: var(--fxg-c-pale-blue); display: block; }
.fxg-popular__rank { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; font-size: 13px; font-weight: 700; background: #E5E7EB; color: var(--fxg-c-text); flex-shrink: 0; }
.fxg-popular__item--1 .fxg-popular__rank { background: var(--wp--preset--color--gold); color: var(--fxg-c-text); }
.fxg-popular__item--2 .fxg-popular__rank { background: #B8C0CC; }
.fxg-popular__item--3 .fxg-popular__rank { background: #C98A5E; color: #fff; }
.fxg-cats { list-style: none; padding: 0; margin: 0; font-size: 15px; }
.fxg-cats li { border-bottom: 1px solid var(--fxg-c-base2); }
.fxg-cats li a { display: flex; justify-content: space-between; padding: 8px 2px; color: var(--fxg-c-text); text-decoration: none; }
.fxg-cats li a::after { content: "›"; color: var(--fxg-c-primary); font-weight: 700; }
.fxg-cats .children { list-style: none; padding-left: 14px; }
.fxg-cats .children li:last-child { border-bottom: 0; }
.fxg-sidebar .wp-block-search__inside-wrapper { border: 1px solid var(--fxg-c-border); border-radius: 6px; padding: 2px; }
.fxg-sidebar .wp-block-search__input { border: 0; font-size: 14px; }
.fxg-sidebar .wp-block-search__button { background: transparent; color: var(--fxg-c-primary); }

/* ---------- 一覧ページ ---------- */
.fxg-page-lead { color: var(--fxg-c-sub); margin-bottom: 24px; }
.fxg-search-large .wp-block-search__input { font-size: 16px; padding: 10px 12px; }

/* ---------- スマホ ---------- */
@media (max-width: 767px) {
	.fxg-header__inner { flex-wrap: wrap; }
	.fxg-header__cta .wp-block-button__link { padding: 8px 12px; font-size: 12px; }
	.fxg-brand__name { font-size: 17px; }
	.fxg-article__title { font-size: 24px; }
	.fxg-content h2 { font-size: 20px; }
	.fxg-author { flex-wrap: wrap; }
}

/* 目次:見出しに番号が入っているので、リストの番号は出さない */
.fxg-toc__list { list-style: none; padding-left: 0.2em; }
.fxg-toc--sidebar li:has(> a.is-current) { margin-left: -0.6em; padding-left: calc(0.6em - 3px); }

/* 一覧のカードの位置ずれ防止(ブロックの間隔指定を打ち消す) */
.wp-block-post-template.fxg-grid > li { margin: 0 !important; }
.fxg-card__badge .fxg-badge--pale { background: #fff; box-shadow: 0 0 0 1px var(--fxg-c-pale-blue); }

/* 表は横にはみ出したらスクロール */
.wp-block-table { overflow-x: auto; }

/* スマホのヘッダー */
@media (max-width: 767px) {
	.fxg-header__inner { gap: 8px; }
	.fxg-header__inner > .fxg-brand { flex: 1 1 auto; min-width: 0; }
	.fxg-header__actions { gap: 4px; }
	.fxg-header .fxg-nav { order: 3; flex: 0 0 auto; }
}
@media (max-width: 420px) {
	.fxg-header__cta .wp-block-button__link { padding: 7px 10px; font-size: 11px; }
	.fxg-brand__name { font-size: 14px; white-space: nowrap; }
}
html, body { overflow-x: clip; }

/* =========================================================
   成績の表示部品
   ========================================================= */
.fxg-plus { color: var(--wp--preset--color--plus) !important; }
.fxg-minus { color: var(--wp--preset--color--minus) !important; }
.fxg-asof { display: block; font-size: 11px; color: var(--wp--preset--color--delay-text); font-weight: 500; }

.fxg-ea-logo { width: 56px; height: 56px; object-fit: contain; flex-shrink: 0; }
.fxg-ea-logo--xs { width: 28px; height: 28px; }
.fxg-ea-logo--sm { width: 40px; height: 40px; }
.fxg-ea-logo--lg { width: 88px; height: 88px; }

/* 更新状態 */
.fxg-status { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; font-size: 13px; color: var(--fxg-c-sub); margin: 12px 0 0; }
.fxg-status .fxg-badge { margin: 0; }
.fxg-status-bar { background: var(--fxg-c-base2); border: 1px solid var(--fxg-c-border); border-radius: var(--fxg-radius); padding: 10px 16px; margin-bottom: 20px; }
.fxg-status-bar .fxg-status { margin: 0; }

/* カード */
.fxg-perf-card { background: #fff; border: 1px solid var(--fxg-c-border); border-radius: var(--fxg-radius); box-shadow: var(--fxg-shadow); padding: 20px; display: flex; flex-direction: column; }
.fxg-perf-card.is-delayed { border-color: var(--wp--preset--color--delay-text); }
.fxg-perf-card--empty { color: var(--fxg-c-sub); font-size: 14px; }
.fxg-perf-card__head { display: flex; align-items: center; gap: 12px; }
.fxg-perf-card__title { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; font-weight: 700; font-size: 17px; }
.fxg-perf-card__title a { color: var(--fxg-c-primary); text-decoration: none; }
.fxg-perf-card__title a:hover { text-decoration: underline; }
.fxg-perf-card__title .fxg-badge { font-size: 11px; }
.fxg-perf-card__sub { font-size: 12px; color: var(--fxg-c-sub); margin: 8px 0 4px; }
.fxg-perf-card__chart { margin: 8px 0; }
.fxg-perf-card--small .fxg-perf-card__chart { height: 70px; }
.fxg-perf-card--small .fxg-perf-card__chart svg { height: 70px; }
.fxg-perf-card__more { margin-top: auto; padding-top: 12px; font-size: 14px; font-weight: 700; color: var(--fxg-c-secondary); text-decoration: none; }
.fxg-perf-card__more:hover { text-decoration: underline; }
.fxg-perf-counts { font-size: 13px; color: var(--fxg-c-sub); margin: 12px 0 0; }

.fxg-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin: 8px 0 0; border-top: 1px solid var(--fxg-c-border); }
.fxg-kpis > div { padding: 12px 10px 0; border-left: 1px solid var(--fxg-c-border); }
.fxg-kpis > div:first-child { border-left: 0; padding-left: 0; }
.fxg-kpis dt { font-size: 12px; color: var(--fxg-c-sub); }
.fxg-kpis dd { margin: 2px 0 0; font-size: 20px; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1.3; }
.fxg-kpis dd small:not(.fxg-asof) { display: block; font-size: 11px; font-weight: 400; color: var(--fxg-c-sub); }
.fxg-kpis--small { grid-template-columns: repeat(3, 1fr); }
.fxg-kpis--small dd { font-size: 15px; }

.fxg-perf-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; margin: 24px 0; }

/* グラフ */
.fxg-chart { display: block; width: 100%; height: auto; overflow: visible; }
.fxg-chart__grid { stroke: var(--fxg-c-border); stroke-width: 1; }
.fxg-chart__zero { stroke: var(--fxg-c-sub); stroke-width: 1; stroke-dasharray: 3 3; }
.fxg-chart__label { font-size: 11px; fill: var(--fxg-c-sub); font-family: inherit; }
.fxg-chart__line { fill: none; stroke: var(--wp--preset--color--secondary); stroke-width: 2; stroke-linejoin: round; }
.fxg-chart__area { fill: var(--wp--preset--color--secondary); opacity: 0.08; }
.fxg-chart__loss { fill: var(--wp--preset--color--minus); stroke: #fff; stroke-width: 1.5; }
.fxg-chart__bar { fill: var(--wp--preset--color--minus); opacity: 0.55; }
.fxg-chart__bar--loss { opacity: 1; }
.fxg-chart__cap { stroke: var(--wp--preset--color--gold); stroke-width: 2; stroke-dasharray: 6 4; }
.fxg-chart__cap-label { font-size: 11px; fill: #8A6A00; text-anchor: end; font-weight: 700; }

.fxg-chart-box { background: #fff; border: 1px solid var(--fxg-c-border); border-radius: var(--fxg-radius); padding: 20px; margin: 24px 0; }
.fxg-chart-box h2 { font-size: 18px; margin: 0; }
.fxg-chart-box h3 { font-size: 15px; margin: 20px 0 6px; color: var(--fxg-c-sub); }
.fxg-chart-box__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 12px; }
.fxg-tabs { display: flex; gap: 4px; background: var(--fxg-c-base2); border-radius: 999px; padding: 3px; }
.fxg-tab { font-size: 13px; padding: 4px 12px; border-radius: 999px; text-decoration: none; color: var(--fxg-c-sub); }
.fxg-tab.is-active { background: var(--fxg-c-primary); color: #fff; font-weight: 700; }
.fxg-chart-legend { font-size: 12px; color: var(--fxg-c-sub); margin: 8px 0 0; }
.fxg-legend { display: inline-block; vertical-align: middle; margin: 0 4px 0 10px; }
.fxg-legend:first-child { margin-left: 0; }
.fxg-legend--loss { width: 10px; height: 10px; border-radius: 50%; background: var(--wp--preset--color--minus); }
.fxg-legend--cap { width: 18px; border-top: 2px dashed var(--wp--preset--color--gold); }

/* 表 */
.fxg-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 16px 0; }
.fxg-perf-table { width: 100%; border-collapse: collapse; font-size: 14px; font-variant-numeric: tabular-nums; background: #fff; }
.fxg-perf-table th { background: var(--fxg-c-pale-indigo); color: var(--fxg-c-primary); font-weight: 700; font-size: 12px; text-align: left; padding: 10px; white-space: nowrap; border-bottom: 1px solid var(--fxg-c-border); }
.fxg-perf-table td { padding: 10px; border-bottom: 1px solid var(--fxg-c-border); white-space: nowrap; }
.fxg-perf-table td small { display: block; font-size: 11px; color: var(--fxg-c-sub); }
.fxg-perf-table .fxg-badge { font-size: 11px; margin: 0; }
.fxg-perf-table__name { font-weight: 700; }
.fxg-perf-table__name img { vertical-align: middle; margin-right: 8px; }
.fxg-perf-table__name a { color: var(--fxg-c-primary); text-decoration: none; }

/* 口座詳細 */
.fxg-perf-header { display: flex; gap: 20px; align-items: center; padding: 8px 0 20px; border-bottom: 1px solid var(--fxg-c-border); margin-bottom: 20px; }
.fxg-perf-header__title { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; font-size: var(--wp--preset--font-size--xx-large); margin: 0; color: var(--fxg-c-primary); }
.fxg-perf-header__title .fxg-badge { font-size: 12px; }
.fxg-perf-header__sub { font-size: 13px; color: var(--fxg-c-sub); margin: 6px 0 0; }

.fxg-kpi-tiles { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin: 0 0 8px; }
.fxg-kpi-tiles > div { background: #fff; border: 1px solid var(--fxg-c-border); border-radius: var(--fxg-radius); padding: 14px; }
.fxg-kpi-tiles p { margin: 0; font-size: 12px; color: var(--fxg-c-sub); }
.fxg-kpi-tiles strong { display: block; font-size: 20px; margin-top: 4px; font-variant-numeric: tabular-nums; }
.fxg-kpi-tiles small { display: block; font-size: 11px; color: var(--fxg-c-sub); margin-top: 4px; line-height: 1.5; }

.fxg-perf-others { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; margin: 12px 0 24px; }
.fxg-perf-others__item { display: flex; gap: 12px; align-items: center; background: #fff; border: 1px solid var(--fxg-c-border); border-radius: var(--fxg-radius); padding: 12px; text-decoration: none; color: inherit; }
.fxg-perf-others__item:hover { border-color: var(--fxg-c-secondary); }
.fxg-perf-others__item span { display: flex; flex-direction: column; line-height: 1.4; }
.fxg-perf-others__item b { color: var(--fxg-c-primary); font-size: 14px; }
.fxg-perf-others__item small { font-size: 11px; color: var(--fxg-c-sub); }
.fxg-perf-others__item em { font-style: normal; font-weight: 700; }

/* ミニリスト(サイドバー・トップ用) */
.fxg-perf-mini { background: #fff; border: 1px solid var(--fxg-c-border); border-radius: var(--fxg-radius); padding: 16px; }
.fxg-perf-mini .fxg-widget-title small { font-weight: 400; font-size: 12px; color: var(--fxg-c-sub); margin-left: 8px; }
.fxg-perf-mini ul { list-style: none; margin: 0; padding: 0; }
.fxg-perf-mini li { padding: 10px 0; border-bottom: 1px solid var(--fxg-c-border); }
.fxg-perf-mini li > a { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 14px; color: var(--fxg-c-primary); text-decoration: none; }
.fxg-perf-mini__chart { margin: 6px 0; }
.fxg-perf-mini__chart svg { height: 36px; }
.fxg-perf-mini dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; margin: 0; }
.fxg-perf-mini dt { font-size: 10px; color: var(--fxg-c-sub); }
.fxg-perf-mini dd { margin: 0; font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; }
.fxg-perf-mini__foot { font-size: 11px; color: var(--fxg-c-sub); margin: 10px 0 0; }

.fxg-perf-note { font-size: 12px; color: var(--fxg-c-sub); background: var(--fxg-c-base2); border-radius: var(--fxg-radius); padding: 12px 16px; margin: 24px 0; }

@media (max-width: 960px) {
	.fxg-kpi-tiles { grid-template-columns: repeat(2, 1fr); }
	.fxg-kpi-tiles > div:last-child { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
	.fxg-kpis { grid-template-columns: repeat(2, 1fr); }
	.fxg-kpis > div { border-left: 0; padding-left: 0; }
	.fxg-kpis > div:nth-child(even) { border-left: 1px solid var(--fxg-c-border); padding-left: 10px; }
	.fxg-kpis--small { grid-template-columns: repeat(3, 1fr); }
	.fxg-kpis--small > div:nth-child(n) { border-left: 0; padding-left: 0; }
	.fxg-kpis dd { font-size: 17px; }
	.fxg-perf-header { gap: 12px; }
	.fxg-perf-header .fxg-ea-logo--lg { width: 56px; height: 56px; }
	.fxg-perf-header__title { font-size: 22px; }
	.fxg-perf-grid { grid-template-columns: 1fr; }
	.fxg-perf-card, .fxg-chart-box { padding: 16px; }
}
.fxg-kpis--small dt { font-size: 11px; white-space: nowrap; letter-spacing: -0.02em; }
.fxg-kpis--small > div { padding-left: 8px; padding-right: 4px; }
.fxg-chart-sp { display: none; }
@media (max-width: 600px) {
	.fxg-chart-pc { display: none; }
	.fxg-chart-sp { display: block; }
	.fxg-perf-header { align-items: flex-start; }
}
.fxg-perf-table { min-width: max-content; }
.fxg-perf-table__name a { white-space: nowrap; }

/* =========================================================
   トップページ
   ========================================================= */
.fxg-home { padding-top: 0; }
.fxg-content--home > * + * { margin-block-start: 0; }
.fxg-section { padding: 40px 0; }
.fxg-section--tight { padding: 12px 0; }
.fxg-section__head { align-items: baseline; margin-bottom: 16px; }
.fxg-section__title { font-size: var(--wp--preset--font-size--x-large) !important; margin: 0 0 16px !important; padding: 0 !important; background: none !important; border: 0 !important; }
.fxg-section__title::before, .fxg-section__title::after { display: none !important; }
.fxg-section__head .fxg-section__title { margin-bottom: 0 !important; }
.fxg-section__more { margin: 0; font-weight: 700; }
.fxg-section__more a, .fxg-more a { color: var(--fxg-c-secondary); text-decoration: none; }
.fxg-section__more a:hover, .fxg-more a:hover { text-decoration: underline; }
.fxg-band { background: var(--fxg-c-base2); padding: 28px 16px; }
.fxg-band--pale { background: var(--fxg-c-pale-blue); padding: 40px 16px; }
.fxg-is-hidden { opacity: 0.35; outline: 2px dashed var(--fxg-c-sub); }

/* ヒーロー */
.fxg-hero { padding-top: 32px; }
.fxg-hero__cols { gap: 32px; }
.fxg-hero__title { font-size: clamp(30px, 4.2vw, 46px) !important; line-height: 1.35 !important; color: var(--fxg-c-primary); margin: 0 0 20px; letter-spacing: 0.01em; }
.fxg-hero__lead { font-size: 17px; color: var(--fxg-c-text); line-height: 1.9; margin: 0 0 28px; }
.fxg-hero__buttons .wp-block-button__link { padding: 14px 28px; font-size: 16px; }
.fxg-hero .fxg-perf-card { box-shadow: 0 6px 24px rgba(15, 35, 80, 0.08); }

/* 数字の帯 */
.fxg-stats { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; }
.fxg-stats > div { text-align: center; padding: 4px 12px; border-left: 1px solid var(--fxg-c-border); }
.fxg-stats > div:first-child { border-left: 0; }
.fxg-stats dt { font-size: 13px; color: var(--fxg-c-sub); }
.fxg-stats dd { margin: 4px 0 0; font-size: 28px; font-weight: 700; color: var(--fxg-c-primary); font-variant-numeric: tabular-nums; line-height: 1.3; }
.fxg-stats dd small { font-size: 15px; margin-left: 2px; }

/* 成績カードを横1列(トップ) */
.fxg-perf-grid--row { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin: 0 0 8px; }
.fxg-perf-grid--row .fxg-perf-card { padding: 14px; }
.fxg-perf-grid--row .fxg-perf-card__head { gap: 8px; }
.fxg-perf-grid--row .fxg-ea-logo { width: 40px; height: 40px; }
.fxg-perf-grid--row .fxg-perf-card__title { font-size: 14px; }
.fxg-perf-grid--row .fxg-perf-card__sub { font-size: 11px; }
.fxg-perf-grid--row .fxg-kpis--small { grid-template-columns: 1fr; border-top: 1px solid var(--fxg-c-border); }
.fxg-perf-grid--row .fxg-kpis--small > div { display: flex; justify-content: space-between; align-items: baseline; padding: 6px 0 0; border: 0; flex-wrap: wrap; }
.fxg-perf-grid--row .fxg-kpis--small dd { font-size: 14px; }
.fxg-perf-grid--row .fxg-kpis--small .fxg-asof { width: 100%; text-align: right; }
.fxg-perf-grid--row .fxg-perf-card__more { font-size: 13px; padding-top: 8px; }

/* はじめての方へ(4ステップ) */
.fxg-flow { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.fxg-flow__step { display: flex; gap: 14px; align-items: flex-start; position: relative; }
.fxg-flow__step:not(:last-child)::after { content: "→"; position: absolute; right: -6px; top: 14px; color: var(--fxg-c-secondary); font-size: 20px; }
.fxg-flow__num { flex-shrink: 0; width: 52px; height: 52px; border-radius: 50%; background: var(--fxg-c-secondary); color: #fff; display: grid; place-items: center; font-size: 24px; font-weight: 700; margin: 0 !important; }
.fxg-flow__body { padding-right: 18px; }
.fxg-flow__title { font-size: 17px !important; margin: 4px 0 4px !important; padding: 0 !important; border: 0 !important; color: var(--fxg-c-primary); }
.fxg-flow__title::after { display: none !important; }
.fxg-flow__text { font-size: 14px; color: var(--fxg-c-sub); margin: 0 !important; }
.fxg-flow__link { font-size: 14px; font-weight: 700; margin: 6px 0 0 !important; }
.fxg-flow__link a { color: var(--fxg-c-secondary); text-decoration: none; }

/* 自社EA製品 */
.fxg-products { gap: 20px !important; }
.fxg-product { background: #fff; border: 1px solid var(--fxg-c-border); border-radius: var(--fxg-radius); padding: 24px; box-shadow: var(--fxg-shadow); }
.fxg-product--dev { border-top: 4px solid var(--wp--preset--color--gold); }
.fxg-product__head { gap: 20px; margin-bottom: 16px; }
.fxg-product__logo { margin: 0 !important; flex-shrink: 0; }
.fxg-product__status { margin: 0 0 4px !important; }
.fxg-product__name { font-size: 24px !important; margin: 0 0 8px !important; padding: 0 !important; border: 0 !important; color: var(--fxg-c-primary); }
.fxg-product__name::after { display: none !important; }
.fxg-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 !important; }
.fxg-tags span { background: var(--fxg-c-pale-indigo); color: var(--fxg-c-primary); font-size: 13px; padding: 4px 12px; border-radius: 4px; }
.fxg-offer { background: var(--fxg-c-pale-blue); border-radius: var(--fxg-radius); padding: 16px 20px; }
.fxg-offer__title { font-size: 17px !important; color: var(--fxg-c-secondary); margin: 0 0 8px !important; }
.fxg-offer .is-style-fx-check { margin: 0 0 12px; }
.fxg-offer__buttons { margin-top: 8px; }
.fxg-product__more { text-align: right; margin: 12px 0 0 !important; font-weight: 700; }
.fxg-product__more a { color: var(--fxg-c-secondary); text-decoration: none; }

/* 記事のタブ */
.fxg-tabbar { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.fxg-tabbtn { font: inherit; font-size: 14px; padding: 7px 18px; border: 1px solid var(--fxg-c-border); background: #fff; color: var(--fxg-c-text); border-radius: 6px; cursor: pointer; }
.fxg-tabbtn:hover { border-color: var(--fxg-c-primary); }
.fxg-tabbtn.is-active { background: var(--fxg-c-primary); border-color: var(--fxg-c-primary); color: #fff; font-weight: 700; }
.fxg-tabpanel[hidden] { display: none; }
.fxg-empty { color: var(--fxg-c-sub); font-size: 14px; background: var(--fxg-c-base2); border-radius: var(--fxg-radius); padding: 20px; margin: 0; }
.fxg-more { text-align: right; font-size: 14px; font-weight: 700; margin: 12px 0 0; }
.fxg-rows { display: flex; flex-direction: column; border: 1px solid var(--fxg-c-border); border-radius: var(--fxg-radius); background: #fff; }
.fxg-row { display: flex; gap: 14px; padding: 12px; color: var(--fxg-c-text) !important; text-decoration: none !important; border-bottom: 1px solid var(--fxg-c-border); }
.fxg-row:last-child { border-bottom: 0; }
.fxg-row:hover .fxg-row__title { color: var(--fxg-c-secondary); }
.fxg-row__img { width: 120px; height: 68px; object-fit: cover; border-radius: 4px; flex-shrink: 0; background: var(--fxg-c-pale-blue); }
.fxg-row__body { display: flex; flex-direction: column; gap: 3px; align-items: flex-start; }
.fxg-row__body .fxg-badge { font-size: 11px; margin: 0; }
.fxg-row__title { font-weight: 700; font-size: 15px; line-height: 1.5; }
.fxg-row__date { font-size: 12px; color: var(--fxg-c-sub); }

/* FXニュース+経済指標 */
.fxg-news { gap: 24px !important; }
.fxg-news__econ-title { font-size: 18px !important; margin: 0 0 12px !important; padding: 0 !important; border: 0 !important; }
.fxg-news__econ-title::after { display: none !important; }
.fxg-econ { background: #fff; border: 1px solid var(--fxg-c-border); border-radius: var(--fxg-radius); min-height: 360px; overflow: hidden; }
.fxg-econ--week { min-height: 640px; }
.fxg-econ .ecw-copyright { font-size: 11px; padding: 6px 12px; }
.fxg-econ--placeholder { display: grid; place-items: center; color: var(--fxg-c-sub); font-size: 14px; min-height: 160px; }

/* 自社ツール・比較・運営者 */
.fxg-tools, .fxg-compare { gap: 20px !important; }
.fxg-tool, .fxg-compare__card { background: #fff; border: 1px solid var(--fxg-c-border); border-radius: var(--fxg-radius); padding: 20px 20px 20px 112px; position: relative; box-shadow: var(--fxg-shadow); }
.fxg-compare__card { padding-left: 20px; padding-right: 120px; }
.fxg-icon::before { content: ""; position: absolute; width: 72px; height: 72px; left: 20px; top: 20px; background: var(--fxg-c-secondary); -webkit-mask: var(--fxg-icon) center / contain no-repeat; mask: var(--fxg-icon) center / contain no-repeat; }
.fxg-compare__card.fxg-icon::before { left: auto; right: 24px; top: auto; bottom: 48px; width: 64px; height: 64px; }
.fxg-icon--phone { --fxg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23000' stroke-width='3'%3E%3Crect x='16' y='4' width='32' height='56' rx='5'/%3E%3Cpath d='M24 30a12 12 0 0 1 16 0M28 35a6 6 0 0 1 8 0'/%3E%3Ccircle cx='32' cy='40' r='1.5' fill='%23000'/%3E%3C/svg%3E"); }
.fxg-icon--report { --fxg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23000' stroke-width='3'%3E%3Crect x='12' y='4' width='34' height='44' rx='3'/%3E%3Cpath d='M19 14h20M19 21h20M19 28h14'/%3E%3Cpath d='M8 60V44M22 60V38M36 60V48M50 60V30' stroke-width='6'/%3E%3C/svg%3E"); }
.fxg-icon--doc { --fxg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23000' stroke-width='3'%3E%3Crect x='12' y='6' width='40' height='52' rx='3'/%3E%3Cpath d='M20 18h24M20 26h24M20 34h24M20 42h16'/%3E%3C/svg%3E"); }
.fxg-icon--server { --fxg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23000' stroke-width='3'%3E%3Crect x='8' y='6' width='48' height='14' rx='2'/%3E%3Crect x='8' y='25' width='48' height='14' rx='2'/%3E%3Crect x='8' y='44' width='48' height='14' rx='2'/%3E%3Cpath d='M42 13h6M42 32h6M42 51h6'/%3E%3C/svg%3E"); }
.fxg-tool__name, .fxg-compare__title { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 20px !important; margin: 0 0 4px !important; padding: 0 !important; border: 0 !important; color: var(--fxg-c-primary); }
.fxg-tool__name::after, .fxg-compare__title::after { display: none !important; }
.fxg-compare__title { justify-content: space-between; font-size: 18px !important; margin-bottom: 8px !important; }
.fxg-tool__name .fxg-badge, .fxg-compare__title .fxg-badge { font-size: 11px; margin: 0; }
.fxg-tool__catch { font-weight: 700; margin: 0 0 4px !important; }
.fxg-tool__text { font-size: 14px; color: var(--fxg-c-sub); margin: 0 0 12px !important; }
.fxg-compare__card .is-style-fx-check { margin: 0; font-size: 14px; }
.fxg-compare__more { text-align: right; margin: 8px -100px 0 0 !important; font-weight: 700; font-size: 14px; }
.fxg-compare__more a { color: var(--fxg-c-secondary); text-decoration: none; }
.fxg-operator { background: #fff; border: 1px solid var(--fxg-c-border); border-radius: var(--fxg-radius); padding: 16px 20px; gap: 16px !important; }
.fxg-operator__icon { flex-shrink: 0; width: 56px; height: 56px; border-radius: 50%; background: var(--fxg-c-pale-blue); color: var(--fxg-c-secondary); display: grid; place-items: center; font-size: 24px; font-weight: 700; margin: 0 !important; }
.fxg-operator__body { flex: 1; }
.fxg-operator__name { font-weight: 700; font-size: 18px; color: var(--fxg-c-primary); margin: 0 !important; }
.fxg-operator__text { font-size: 14px; color: var(--fxg-c-sub); margin: 2px 0 0 !important; }
.fxg-operator__link { margin: 0 !important; font-weight: 700; font-size: 14px; white-space: nowrap; }
.fxg-operator__link a { color: var(--fxg-c-secondary); text-decoration: none; }

@media (max-width: 1100px) {
	.fxg-perf-grid--row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	.fxg-flow { grid-template-columns: repeat(2, 1fr); row-gap: 24px; }
	.fxg-flow__step:nth-child(2)::after { display: none; }
}
@media (max-width: 600px) {
	.fxg-section { padding: 28px 0; }
	.fxg-hero { padding-top: 16px; }
	.fxg-hero__lead br { display: none; }
	.fxg-stats { grid-template-columns: repeat(2, 1fr); row-gap: 16px; }
	.fxg-stats > div:nth-child(3) { border-left: 0; }
	.fxg-stats dd { font-size: 22px; }
	.fxg-perf-grid--row { grid-template-columns: 1fr; }
	.fxg-flow { grid-template-columns: 1fr; }
	.fxg-flow__step::after { display: none; }
	.fxg-product { padding: 18px; }
	.fxg-product__head { gap: 12px; }
	.fxg-product__logo img { width: 72px !important; }
	.fxg-row__img { width: 88px; height: 56px; }
	.fxg-tool { padding-left: 92px; }
	.fxg-icon::before { width: 56px; height: 56px; left: 16px; }
	.fxg-compare__card { padding-right: 20px; }
	.fxg-compare__card.fxg-icon::before { display: none; }
	.fxg-compare__more { margin-right: 0 !important; }
	.fxg-operator { flex-wrap: wrap !important; }
}
.fxg-home .alignfull { margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; width: 100vw; max-width: 100vw !important; box-sizing: border-box; }
.fxg-hero__title { font-size: clamp(28px, 3.4vw, 42px) !important; }
body { overflow-x: clip; }

.fxg-content--home > * { margin-bottom: 0; }
.fxg-flow > *, .fxg-flow__step > *, .fxg-product > *, .fxg-tool > *, .fxg-compare__card > * { margin-block-start: 0; }
.fxg-product > * + *, .fxg-tool > * + * { margin-top: 12px; }
.fxg-flow__body > * + * { margin-block-start: 0; }
.fxg-compare__card { padding-right: 20px; }
.fxg-compare__more { margin-right: 0 !important; }
.fxg-compare__card .is-style-fx-check { padding-right: 90px; }
.fxg-econ { display: flex; flex-direction: column; }
.fxg-econ #economicCalendarWidget { flex: 1; }
.fxg-econ--day { height: 440px; min-height: 0; }
.fxg-econ--week { height: 760px; min-height: 0; }
@media (max-width: 600px) {
	.fxg-hero__title { font-size: 25px !important; }
	.fxg-stats dd { font-size: 20px; }
	.fxg-stats > div:last-child dd { font-size: 16px; }
	/* トップの成績カードは横にスワイプ */
	.fxg-perf-grid--row { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; padding-bottom: 8px; -webkit-overflow-scrolling: touch; }
	.fxg-perf-grid--row > .fxg-perf-card { flex: 0 0 78%; scroll-snap-align: start; }
}
.fxg-home .fxg-band { padding-left: 16px !important; padding-right: 16px !important; }
@media (max-width: 600px) {
	.fxg-posttabs--grid .fxg-grid--3 { gap: 10px; }
	.fxg-posttabs--grid .fxg-card__link { display: grid; grid-template-columns: 112px 1fr; grid-template-rows: auto 1fr; column-gap: 12px; padding: 10px; }
	.fxg-posttabs--grid .fxg-card__media { grid-row: 1 / 3; aspect-ratio: 16 / 10; border-radius: 4px; overflow: hidden; }
	.fxg-posttabs--grid .fxg-card__badge { transform: scale(0.85); transform-origin: top left; }
	.fxg-posttabs--grid .fxg-card__title { font-size: 15px; margin: 0; padding: 0; }
	.fxg-posttabs--grid .fxg-card__date { padding: 4px 0 0; }
	.fxg-operator { flex-direction: column; align-items: flex-start !important; }
	.fxg-compare__card .is-style-fx-check { padding-right: 0; }
}
@media (max-width: 600px) {
	.fxg-posttabs--grid .fxg-card__title, .fxg-posttabs--grid .fxg-card__date { margin: 0; }
}

/* =========================================================
   ボタン(独自ブロック用)
   ========================================================= */
.fxg-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.fxg-btn { display: inline-flex; align-items: center; justify-content: center; padding: 12px 28px; border-radius: 6px; background: var(--fxg-c-primary); color: #fff !important; font-weight: 700; font-size: 15px; text-decoration: none !important; border: 1.5px solid var(--fxg-c-primary); line-height: 1.4; font-family: inherit; cursor: pointer; }
.fxg-btn:hover { background: var(--wp--preset--color--primary-hover); border-color: var(--wp--preset--color--primary-hover); }
.fxg-btn--secondary { background: #fff; color: var(--fxg-c-primary) !important; }
.fxg-btn--secondary:hover { background: var(--fxg-c-pale-indigo); border-color: var(--fxg-c-primary); }
.fxg-btn--block { display: flex; width: 100%; box-sizing: border-box; }
.fxg-btn--disabled, .fxg-btn[disabled] { background: #E5E7EB !important; border-color: #E5E7EB !important; color: #6B7280 !important; cursor: not-allowed; }

/* =========================================================
   EA製品
   ========================================================= */
.fxg-products--cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.fxg-products--cards .fxg-product { display: flex; flex-direction: column; }
.fxg-products--cards .fxg-product > * + * { margin-top: 16px; }
.fxg-products--cards .fxg-product__head { display: flex; align-items: center; margin-bottom: 0; }
.fxg-products--cards .fxg-product__logo { width: 96px; height: 96px; object-fit: contain; }
.fxg-products--cards .fxg-product--dev .fxg-product__logo { width: 120px; }
.fxg-product__name a { color: inherit; text-decoration: none; }
.fxg-products--cards .fxg-product__more { margin-top: auto !important; padding-top: 12px; }
.fxg-offer__title { font-weight: 700; }

.fxg-ea-hero { display: flex; gap: 40px; align-items: center; background: var(--fxg-c-pale-indigo); border-radius: var(--fxg-radius); padding: 32px 40px; margin: 8px 0 24px; }
.fxg-ea-hero__logo { width: 200px; height: 200px; object-fit: contain; flex-shrink: 0; }
.fxg-ea-hero__title { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; font-size: 44px; margin: 0 0 12px; color: var(--fxg-c-primary); }
.fxg-ea-hero__title .fxg-badge { font-size: 16px; padding: 6px 14px; }
.fxg-ea-hero__lead { font-size: 17px; margin: 12px 0 0; }
.fxg-tags--outline span { background: #fff; border: 1.5px solid var(--fxg-c-primary); border-radius: 999px; font-weight: 700; }

.fxg-features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0 0 32px; }
.fxg-feature { position: relative; background: #fff; border: 1px solid var(--fxg-c-border); border-radius: var(--fxg-radius); padding: 18px 18px 18px 96px; margin: 0 !important; }
.fxg-feature.fxg-icon::before { width: 56px; height: 56px; left: 22px; top: 22px; }
.fxg-feature__title { font-size: 17px !important; margin: 0 0 6px !important; padding: 0 !important; border: 0 !important; color: var(--fxg-c-primary); }
.fxg-feature__text { font-size: 14px; color: var(--fxg-c-sub); margin: 0 !important; }
.fxg-icon--chart { --fxg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23000' stroke-width='4'%3E%3Cpath d='M8 36L26 20l10 8 20-18M46 10h10v10'/%3E%3Crect x='8' y='44' width='8' height='14'/%3E%3Crect x='24' y='38' width='8' height='20'/%3E%3Crect x='40' y='32' width='8' height='26'/%3E%3C/svg%3E"); }
.fxg-icon--gear { --fxg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23000' stroke-width='4'%3E%3Ccircle cx='32' cy='32' r='9'/%3E%3Cpath d='M32 6v8M32 50v8M6 32h8M50 32h8M13.6 13.6l5.7 5.7M44.7 44.7l5.7 5.7M13.6 50.4l5.7-5.7M44.7 19.3l5.7-5.7'/%3E%3Ccircle cx='32' cy='32' r='19'/%3E%3C/svg%3E"); }

.fxg-spec table, .fxg-compare-table table { width: 100%; border-collapse: collapse; border: 1px solid var(--fxg-c-border); font-size: 15px; }
.fxg-spec th, .fxg-spec td, .fxg-compare-table th, .fxg-compare-table td { border: 1px solid var(--fxg-c-border); padding: 10px 16px; text-align: left; }
.fxg-spec th { background: var(--fxg-c-pale-indigo); width: 32%; font-weight: 700; }
.fxg-compare-table thead th { background: var(--fxg-c-primary); color: #fff; text-align: center; }
.fxg-compare-table tbody th { background: var(--fxg-c-pale-indigo); text-align: center; width: 24%; }
.fxg-compare-table td { text-align: center; }
.fxg-spec, .fxg-compare-table { margin: 0 0 32px; overflow-x: auto; }

.fxg-ea-perf { margin: 0 0 24px; }
.fxg-ea-perf .fxg-section__head { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; margin: 8px 0 16px; }
.fxg-ea-perf .fxg-section__head .fxg-section__title { margin: 0 !important; }
.fxg-ea-perf .fxg-status-bar { margin: 12px 0 0; }

.fxg-offer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; margin: 0 0 24px; }
.fxg-offer-card { background: #fff; border: 1px solid var(--fxg-c-border); border-radius: var(--fxg-radius); padding: 20px 24px; display: flex; flex-direction: column; }
.fxg-offer-card--free { border-color: var(--fxg-c-secondary); }
.fxg-offer-card--trial { border-color: var(--wp--preset--color--gold); background: var(--wp--preset--color--pale-gold); }
.fxg-offer-card__title { font-size: 20px !important; margin: 0 0 8px !important; padding: 0 !important; border: 0 !important; color: var(--fxg-c-primary); }
.fxg-offer-card ul { margin: 0 0 16px; }
.fxg-offer-card .fxg-btn { margin-top: auto; }

.fxg-manual { display: flex; align-items: center; gap: 20px; background: #fff; border: 1px solid var(--fxg-c-border); border-radius: var(--fxg-radius); padding: 16px 24px; margin: 0 0 32px; }
.fxg-manual__icon { flex-shrink: 0; width: 44px; height: 54px; border: 3px solid var(--fxg-c-secondary); border-radius: 4px 14px 4px 4px; display: grid; place-items: end center; font-size: 11px; font-weight: 700; color: #fff; background: linear-gradient(transparent 55%, var(--fxg-c-secondary) 55%); padding-bottom: 6px; box-sizing: border-box; }
.fxg-manual__name { flex: 1; font-size: 18px; font-weight: 700; margin: 0; }

.fxg-faq { border: 1px solid var(--fxg-c-border); border-radius: var(--fxg-radius); background: #fff; padding: 0 20px; margin: 0 0 8px !important; }
.fxg-faq summary { cursor: pointer; padding: 14px 0; font-weight: 700; color: var(--fxg-c-primary); list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.fxg-faq summary::-webkit-details-marker { display: none; }
.fxg-faq summary::after { content: "⌄"; color: var(--fxg-c-secondary); transition: transform 0.2s; }
.fxg-faq[open] summary::after { transform: rotate(180deg); }
.fxg-faq > p { margin: 0 0 14px 1.6em; color: var(--fxg-c-sub); font-size: 15px; }
.fxg-page-note { border: 1px solid var(--fxg-c-border); border-radius: var(--fxg-radius); padding: 10px 16px; text-align: center; font-size: 13px; color: var(--fxg-c-sub); margin: 24px 0 !important; }

/* =========================================================
   無料版のご案内
   ========================================================= */
.fxg-page-hero { background: var(--fxg-c-pale-indigo); border-radius: var(--fxg-radius); padding: 28px 40px; gap: 32px !important; margin: 8px 0 20px !important; }
.fxg-page-hero__logo { margin: 0 !important; flex-shrink: 0; }
.fxg-page-hero__title { font-size: 36px !important; color: var(--fxg-c-primary); margin: 0 0 10px !important; padding: 0 !important; background: none !important; border: 0 !important; }
.fxg-page-hero__lead { font-size: 17px; margin: 0 !important; }
.fxg-flow--center .fxg-flow__step { flex-direction: column; align-items: center; text-align: center; gap: 8px; }
.fxg-flow--center .fxg-flow__step:not(:last-child)::after { right: -14px; top: 12px; }
.fxg-flow--center .fxg-flow__body { padding: 0 8px; }
.fxg-flow--center { margin: 0 0 32px !important; }

.fxg-brokers { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.fxg-broker { position: relative; background: #fff; border: 1px solid var(--fxg-c-border); border-radius: var(--fxg-radius); padding: 20px 24px; display: flex; flex-direction: column; }
.fxg-broker .fxg-badge--pr { position: absolute; top: 12px; right: 12px; font-size: 11px; margin: 0; }
.fxg-broker__name { font-size: 22px !important; margin: 0 0 6px !important; padding: 0 !important; border: 0 !important; color: var(--fxg-c-primary); }
.fxg-broker__points { margin: 0 0 16px; padding-left: 1.2em; font-size: 15px; }
.fxg-broker .fxg-btn { margin-top: auto; }
.fxg-brokers__note { font-size: 13px; color: var(--fxg-c-sub); margin: 8px 0 32px !important; }

.fxg-form-box { border: 1px solid var(--wp--preset--color--pale-blue); box-shadow: 0 0 0 1px var(--fxg-c-border) inset; border-radius: var(--fxg-radius); padding: 28px 24px; margin: 0 0 24px; background: #fff; }
.fxg-form-box__title { text-align: center; font-size: 24px !important; margin: 0 0 20px !important; padding: 0 !important; background: none !important; border: 0 !important; }
.fxg-form { max-width: 720px; margin: 0 auto; }
.fxg-form > p { display: grid; grid-template-columns: 200px 1fr; align-items: center; gap: 8px 20px; margin: 0 0 14px; }
.fxg-form label { font-size: 15px; }
.fxg-form input[type=text], .fxg-form input[type=email], .fxg-form select { width: 100%; box-sizing: border-box; padding: 10px 12px; font: inherit; border: 1px solid var(--fxg-c-border); border-radius: 6px; background: #fff; }
.fxg-form input:focus, .fxg-form select:focus { outline: 2px solid var(--fxg-c-secondary); outline-offset: 1px; }
.fxg-form input:disabled, .fxg-form select:disabled { background: var(--fxg-c-base2); }
.fxg-form > .fxg-form__agree, .fxg-form > .fxg-form__submit, .fxg-form > .fxg-form__after { display: block; text-align: center; }
.fxg-form__submit .fxg-btn { max-width: 440px; margin: 0 auto; }
.fxg-form__after { font-size: 14px; color: var(--fxg-c-sub); }
.fxg-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.fxg-form-msg { max-width: 720px; margin: 0 auto 16px; padding: 12px 16px; border-radius: 6px; font-size: 14px; }
.fxg-form-msg--ok { background: #E8F5EE; color: var(--wp--preset--color--plus); }
.fxg-form-msg--ng { background: var(--wp--preset--color--pale-red); color: var(--wp--preset--color--minus); }
.fxg-form-msg--info { background: var(--wp--preset--color--delay-bg); color: var(--wp--preset--color--delay-text); }

.fxg-notice { display: grid; grid-template-columns: 56px auto 1fr; align-items: center; gap: 0 20px; border: 1px solid var(--fxg-c-border); border-radius: var(--fxg-radius); padding: 16px 24px; margin: 0 0 32px !important; }
.fxg-notice::before { content: "!"; width: 48px; height: 48px; border-radius: 50%; background: #8A9BB0; color: #fff; display: grid; place-items: center; font-size: 26px; font-weight: 700; }
.fxg-notice > * { margin: 0 !important; }
.fxg-notice__title { font-size: 20px; font-weight: 700; }
.fxg-notice ul { padding-left: 1.2em; }

@media (max-width: 900px) {
	.fxg-features { grid-template-columns: 1fr; }
	.fxg-ea-hero { flex-direction: column; text-align: center; padding: 24px; gap: 12px; }
	.fxg-ea-hero__logo { width: 140px; height: 140px; }
	.fxg-ea-hero__title { justify-content: center; font-size: 34px; }
	.fxg-ea-hero .fxg-tags, .fxg-ea-hero .fxg-btns { justify-content: center; }
}
@media (max-width: 600px) {
	.fxg-products--cards { grid-template-columns: 1fr; }
	.fxg-page-hero { flex-direction: column; align-items: center !important; text-align: center; padding: 20px; gap: 12px !important; }
	.fxg-page-hero__title { font-size: 24px !important; }
	.fxg-page-hero__lead { font-size: 15px; }
	.fxg-flow--center .fxg-flow__step { flex-direction: row; text-align: left; align-items: flex-start; }
	.fxg-form > p { grid-template-columns: 1fr; gap: 4px; }
	.fxg-notice { grid-template-columns: 1fr; gap: 8px; }
	.fxg-notice::before { display: none; }
	.fxg-manual { flex-wrap: wrap; }
	.fxg-manual__name { font-size: 16px; }
	.fxg-btns .fxg-btn { flex: 1 1 100%; }
	.fxg-spec th { width: 40%; }
}
.fxg-spec th, .fxg-compare-table tbody th { color: var(--fxg-c-primary) !important; }
.fxg-spec td, .fxg-compare-table td { background: #fff; color: var(--fxg-c-text); }
.fxg-faq[open] { padding-bottom: 4px; }
.fxg-subnav { margin: 0 0 20px; }
.fxg-subnav .fxg-tabbtn { text-decoration: none; display: inline-block; }
.fxg-econ-week { margin: 48px 0 0; }
.fxg-econ-week__note { font-size: 12px; color: var(--fxg-c-sub); margin: 8px 0 0; }
/* WordPress 7.x でも帯の中身を1200px幅にそろえる */
.fxg-home .fxg-band > * { max-width: 1200px; margin-left: auto !important; margin-right: auto !important; box-sizing: border-box; }
.fxg-chart-box h2 { background: none !important; border: 0 !important; padding: 0 !important; margin: 0 !important; border-radius: 0; }

/* =========================================================
   v0.8.0 ヘッダー固定・横スクロールのメニュー・サイドバー追従・ページ上部へ
   ========================================================= */
/* ヘッダーはテンプレートパーツの外枠ごと固定する(内側だけだと追従しない) */
header.wp-block-template-part:has(> .fxg-header) { position: sticky; top: 0; z-index: 60; }
body.admin-bar header.wp-block-template-part:has(> .fxg-header) { top: 32px; }
@media (max-width: 782px) { body.admin-bar header.wp-block-template-part:has(> .fxg-header) { top: 46px; } }
@media (max-width: 600px) { body.admin-bar header.wp-block-template-part:has(> .fxg-header) { top: 0; } }
.fxg-header { position: static; }
.fxg-nav .wp-block-navigation__container { flex-wrap: nowrap; }
.fxg-nav .wp-block-navigation-item__content { white-space: nowrap; }

/* タブレット・スマホ:ロゴの下にメニューを1列で並べ、横にスクロール */
@media (max-width: 1100px) {
	.fxg-header__inner { flex-wrap: wrap !important; row-gap: 0; padding-bottom: 0 !important; }
	.fxg-header__inner > .fxg-brand { flex: 1 1 auto; min-width: 0; }
	.fxg-header .fxg-nav {
		order: 3; flex: 0 0 100% !important; width: 100%; margin: 0 !important;
		overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; scrollbar-width: none;
		justify-content: flex-start !important; border-top: 1px solid var(--fxg-c-base2);
		-webkit-mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent);
		mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent);
	}
	.fxg-header .fxg-nav::-webkit-scrollbar { display: none; }
	.fxg-header .fxg-nav .wp-block-navigation__container { justify-content: flex-start !important; gap: 4px 20px !important; padding: 10px 28px 10px 0; }
	.fxg-nav { font-size: 14px; }
}
@media (max-width: 600px) {
	.fxg-header .fxg-nav .wp-block-navigation__container { gap: 4px 16px !important; padding: 9px 28px 9px 0; }
	.fxg-nav { font-size: 13px; }
}

/* サイドバー:人気記事・カテゴリの下に「検索+目次」を置き、記事の終わりまで追従 */
.fxg-2col > .fxg-2col__side, .fxg-2col > .wp-block-template-part { align-self: stretch; display: flex; flex-direction: column; }
.fxg-2col__side > .fxg-sidebar { flex: 1 1 auto; }
.fxg-side-follow { position: sticky; top: 88px; display: flex; flex-direction: column; gap: 20px; }
body.admin-bar .fxg-side-follow { top: 120px; }
.fxg-side-follow .fxg-widget--toc { max-height: calc(100vh - 200px); overflow-y: auto; overscroll-behavior: contain; }
.fxg-widget--toc:not(:has(.fxg-toc)) { display: none; }
@media (max-width: 960px) {
	/* 本文の上に目次があり、ヘッダーから探せるので、検索と目次は出さない */
	.fxg-side-follow { display: none; }
}

/* ヒーローのボタン:スマホでも横に2つ並べる */
@media (max-width: 600px) {
	.fxg-hero__buttons { flex-wrap: nowrap !important; gap: 8px !important; }
	.fxg-hero__buttons .wp-block-button { flex: 1 1 0; min-width: 0; }
	.fxg-hero__buttons .wp-block-button__link { width: 100%; padding: 12px 6px; font-size: 14px; white-space: nowrap; box-sizing: border-box; }
}
@media (max-width: 360px) {
	.fxg-hero__buttons .wp-block-button__link { font-size: 13px; padding: 11px 4px; }
}

/* ページ上部へ戻るボタン */
.fxg-pagetop {
	position: fixed; right: 16px; bottom: 20px; z-index: 70;
	width: 48px; height: 48px; border-radius: 50%; border: 0; cursor: pointer;
	background: var(--fxg-c-primary); color: #fff; box-shadow: 0 4px 14px rgba(15, 35, 80, 0.25);
	display: grid; place-items: center; font-size: 11px; font-weight: 700; line-height: 1.1;
	opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .2s, transform .2s, visibility .2s;
}
.fxg-pagetop::before { content: ""; width: 10px; height: 10px; border-left: 2px solid #fff; border-top: 2px solid #fff; transform: rotate(45deg); margin-top: 4px; }
.fxg-pagetop.is-shown { opacity: 1; visibility: visible; transform: none; }
.fxg-pagetop:hover { background: var(--fxg-c-secondary); }
.fxg-pagetop:focus-visible { outline: 3px solid var(--fxg-c-secondary); outline-offset: 2px; }

/* 成績の表・カード:マウスを乗せると反応(PCなどマウスのある画面だけ) */
@media (hover: hover) {
	.fxg-perf-table tbody tr { transition: background-color .15s; }
	.fxg-perf-table tbody tr:hover > td { background: var(--fxg-c-pale-blue); }
	.fxg-row-link, .fxg-hover[data-fxg-href] { cursor: pointer; }
	.fxg-row-link:hover .fxg-perf-table__name a { color: var(--fxg-c-secondary); text-decoration: underline; }
	.fxg-perf-card.fxg-hover, .fxg-perf-others__item.fxg-hover, .fxg-card, .fxg-row { transition: transform .15s, box-shadow .15s, border-color .15s; }
	.fxg-perf-card.fxg-hover:hover, .fxg-perf-others__item.fxg-hover:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(15, 35, 80, 0.12); border-color: var(--fxg-c-secondary); }
	.fxg-perf-mini li.fxg-hover { transition: background-color .15s; margin: 0 -8px; padding-left: 8px; padding-right: 8px; border-radius: 6px; }
	.fxg-perf-mini li.fxg-hover:hover { background: var(--fxg-c-pale-blue); }
}

/* ヒーローの成績カード:スライダー */
.fxg-slider { position: relative; min-width: 0; }
.fxg-slider__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
.fxg-slider__track::-webkit-scrollbar { display: none; }
.fxg-slider__track:focus-visible { outline: 3px solid var(--fxg-c-secondary); outline-offset: 4px; border-radius: var(--fxg-radius); }
.fxg-slider__slide { flex: 0 0 100%; min-width: 0; scroll-snap-align: start; padding: 4px 6px 16px; box-sizing: border-box; }
.fxg-slider__slide > .fxg-perf-card { height: 100%; box-sizing: border-box; }
.fxg-slider__nav { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 2px; }
.fxg-slider__dots { display: flex; gap: 8px; }
.fxg-slider__dot { width: 10px; height: 10px; padding: 0; border-radius: 50%; border: 0; background: #C9D2E3; cursor: pointer; }
.fxg-slider__dot.is-active { background: var(--fxg-c-primary); width: 24px; border-radius: 5px; }
.fxg-slider__prev, .fxg-slider__next { width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--fxg-c-border); background: #fff; cursor: pointer; display: grid; place-items: center; padding: 0; }
.fxg-slider__prev::before, .fxg-slider__next::before { content: ""; width: 8px; height: 8px; border-left: 2px solid var(--fxg-c-primary); border-bottom: 2px solid var(--fxg-c-primary); }
.fxg-slider__prev::before { transform: translateX(2px) rotate(45deg); }
.fxg-slider__next::before { transform: translateX(-2px) rotate(-135deg); }
.fxg-slider__prev:disabled, .fxg-slider__next:disabled { opacity: .35; cursor: default; }
@media (hover: hover) { .fxg-slider__prev:not(:disabled):hover, .fxg-slider__next:not(:disabled):hover { border-color: var(--fxg-c-secondary); } }
.fxg-hero .fxg-slider .fxg-perf-card { box-shadow: 0 4px 16px rgba(15, 35, 80, 0.08); }
.fxg-perf-card--large .fxg-perf-card__more { text-align: right; }

/* =========================================================
   EA製品:製品版を主役に(価格とご購入)/無料版は控えめに
   ========================================================= */
.fxg-btn--buy { background: var(--fxg-c-secondary); border-color: var(--fxg-c-secondary); gap: 10px; }
.fxg-btn--buy:hover { background: #005A96; border-color: #005A96; }
.fxg-btn--buy small { font-size: 13px; font-weight: 700; background: rgba(255, 255, 255, 0.18); padding: 2px 8px; border-radius: 4px; }
.fxg-btn--lg { padding: 16px 40px; font-size: 17px; }
.fxg-textlink { color: var(--fxg-c-secondary); font-weight: 700; font-size: 14px; text-decoration: none; }
.fxg-textlink::after { content: " →"; }
.fxg-textlink:hover { text-decoration: underline; }
.fxg-ea-hero .fxg-btns { align-items: center; gap: 16px 24px; }

.fxg-buy { background: #fff; border: 2px solid var(--fxg-c-secondary); border-radius: var(--fxg-radius); padding: 28px 32px; box-shadow: 0 6px 24px rgba(0, 113, 188, 0.10); }
.fxg-buy > * + * { margin-top: 20px; }
.fxg-buy__title { font-size: 26px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; color: var(--fxg-c-primary); }
.fxg-buy__title::after, .fxg-buy__title::before { display: none !important; }
.fxg-buy__lead { margin: 6px 0 0; font-size: 17px; font-weight: 700; color: var(--fxg-c-secondary); }
.fxg-editions { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.fxg-edition { background: var(--fxg-c-pale-blue); border-radius: 8px; padding: 14px 18px; }
.fxg-edition p { margin: 0; }
.fxg-edition__name { font-weight: 700; font-size: 18px; color: var(--fxg-c-primary); }
.fxg-edition__for { font-size: 13px; color: var(--fxg-c-sub); }
.fxg-edition__price { font-weight: 700; font-size: 24px; color: var(--fxg-c-text); margin-top: 4px !important; }
.fxg-buy__points { margin: 0; }
.fxg-buy__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; }
.fxg-buy__note { margin: 0; font-size: 13px; color: var(--fxg-c-sub); }
.fxg-buyflow { border-top: 1px solid var(--fxg-c-border); padding-top: 18px; }
.fxg-buyflow__title { font-weight: 700; margin: 0 0 10px; }
.fxg-buyflow ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.fxg-buyflow li { display: flex; gap: 10px; align-items: flex-start; background: var(--wp--preset--color--base-2); border-radius: 8px; padding: 12px; font-size: 14px; line-height: 1.6; }
.fxg-buyflow__no { flex-shrink: 0; width: 26px; height: 26px; border-radius: 50%; background: var(--fxg-c-primary); color: #fff; display: grid; place-items: center; font-weight: 700; font-size: 13px; }
.fxg-buyflow__auth { margin: 10px 0 0; font-size: 13px; color: var(--fxg-c-sub); }
.fxg-buyflow__auth a { color: var(--fxg-c-secondary); }
.fxg-freeside { margin-top: 20px; border: 1px dashed var(--fxg-c-border); border-radius: var(--fxg-radius); padding: 14px 20px; background: var(--wp--preset--color--base-2); font-size: 14px; }
.fxg-freeside__title { font-weight: 700; margin: 0 0 6px; color: var(--fxg-c-text); }
.fxg-freeside ul { margin: 0 0 8px; padding-left: 1.2em; color: var(--fxg-c-sub); }
@media (max-width: 900px) { .fxg-buyflow ol { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
	.fxg-buy { padding: 20px 16px; }
	.fxg-buyflow ol { grid-template-columns: 1fr; }
	.fxg-btn--lg { width: 100%; padding: 15px 16px; }
	.fxg-buy__cta { flex-direction: column; align-items: stretch; text-align: center; }
}

/* EA製品のカード */
.fxg-offer--product { background: var(--fxg-c-pale-blue); border-left: 4px solid var(--fxg-c-secondary); }
.fxg-offer__title { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 12px; }
.fxg-offer__price { font-size: 20px; color: var(--fxg-c-text); }
.fxg-offer__eds { margin: 0 0 8px !important; font-size: 13px; color: var(--fxg-c-sub); }
.fxg-product__foot { margin-top: auto !important; padding-top: 4px; display: flex; flex-direction: column; gap: 10px; }
.fxg-product__free { margin: 0 !important; font-size: 13px; color: var(--fxg-c-sub); }
.fxg-product__free a { color: var(--fxg-c-secondary); }

/* FX用語辞典のさくいん */
.fxg-glossary-index table { border-collapse: collapse; width: 100%; font-size: 14px; }
.fxg-glossary-index th { width: 4.5em; white-space: nowrap; background: var(--fxg-c-pale-indigo); color: var(--fxg-c-primary); text-align: center; padding: 8px; border: 1px solid var(--fxg-c-border); }
.fxg-glossary-index td { padding: 8px 12px; border: 1px solid var(--fxg-c-border); line-height: 1.9; }
.fxg-glossary-index a { color: var(--fxg-c-secondary); text-decoration: none; }
.fxg-glossary-index a:hover { text-decoration: underline; }
.fxg-content h3[id^="g-"] { scroll-margin-top: 110px; }
.fxg-content [id] { scroll-margin-top: 110px; }
.fxg-side-follow > * { margin: 0 !important; }
.fxg-buy .fxg-buy__points { margin-top: 20px !important; margin-bottom: 0 !important; }
.fxg-products--cards .fxg-product__foot { padding-top: 16px; }

/* =========================================================
   FX用語辞典(50音順・分類で絞り込み)
   ========================================================= */
.fxg-gl__tools { padding: 4px 0 12px; border-bottom: 1px solid var(--fxg-c-border); margin-bottom: 8px; }
.fxg-gl__cats { display: flex; flex-wrap: wrap; gap: 8px; }
.fxg-gl__cat { font: inherit; font-size: 14px; font-weight: 700; padding: 7px 14px; border-radius: 999px; border: 1.5px solid var(--fxg-c-border); background: #fff; color: var(--fxg-c-text); cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.fxg-gl__cat small { font-size: 12px; font-weight: 700; color: var(--fxg-c-sub); }
.fxg-gl__cat:hover { border-color: var(--fxg-c-secondary); }
.fxg-gl__cat.is-active { background: var(--fxg-c-primary); border-color: var(--fxg-c-primary); color: #fff; }
.fxg-gl__cat.is-active small { color: #C7D0E0; }
.fxg-gl__cat:focus-visible { outline: 3px solid var(--fxg-c-secondary); outline-offset: 2px; }
.fxg-gl__index { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.fxg-gl__kana { min-width: 36px; height: 36px; padding: 0 6px; box-sizing: border-box; display: grid; place-items: center; border-radius: 6px; background: var(--fxg-c-pale-indigo); color: var(--fxg-c-primary); font-weight: 700; text-decoration: none; font-size: 15px; }
.fxg-gl__kana:hover { background: var(--fxg-c-pale-blue); color: var(--fxg-c-secondary); }
.fxg-gl__kana.is-off { opacity: .35; pointer-events: none; }
.fxg-gl__status { margin: 10px 0 0; font-size: 13px; color: var(--fxg-c-sub); }
.fxg-gl__group { scroll-margin-top: 100px; margin-top: 28px; }
.fxg-gl__gyou { font-size: 20px !important; margin: 0 0 8px !important; padding: 6px 14px !important; background: var(--fxg-c-primary) !important; color: #fff !important; border: 0 !important; border-radius: 6px; }
.fxg-gl__gyou::before, .fxg-gl__gyou::after { display: none !important; }
.fxg-gl__list { margin: 0; }
.fxg-gl__item { padding: 16px 4px; border-bottom: 1px solid var(--fxg-c-border); scroll-margin-top: 100px; }
.fxg-gl__item:target { background: var(--wp--preset--color--pale-gold); border-radius: 6px; padding-left: 12px; padding-right: 12px; }
.fxg-gl__term { font-weight: 700; font-size: 18px; color: var(--fxg-c-primary); display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.fxg-gl__reading { font-size: 12px; font-weight: 400; color: var(--fxg-c-sub); }
.fxg-gl__badge { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: var(--fxg-c-pale-blue); color: var(--fxg-c-secondary); }
.fxg-gl__desc { margin: 6px 0 0; line-height: 1.85; }
.fxg-gl__desc > p { margin: 0 0 8px; }
.fxg-gl__desc a { color: var(--fxg-c-secondary); }
.fxg-gl-table { margin: 8px 0 0; overflow-x: auto; }
.fxg-gl-table table { border-collapse: collapse; width: 100%; font-size: 14px; min-width: 420px; }
.fxg-gl-table th { background: var(--fxg-c-primary); color: #fff; padding: 8px 10px; text-align: left; white-space: nowrap; }
.fxg-gl-table td { padding: 8px 10px; border-bottom: 1px solid var(--fxg-c-border); }
.fxg-gl-table td:first-child { font-weight: 700; white-space: nowrap; color: var(--fxg-c-primary); }
.fxg-gl__empty { color: var(--fxg-c-sub); }
@media (max-width: 600px) {
	.fxg-gl__cat { font-size: 13px; padding: 6px 11px; }
	.fxg-gl__kana { min-width: 32px; height: 32px; font-size: 14px; }
	.fxg-gl__term { font-size: 17px; }
	.fxg-gl__group, .fxg-gl__item { scroll-margin-top: 130px; }
}

/* 無料版の申し込み:確認のチェック */
.fxg-form > .fxg-form__checks { grid-column: 1 / -1; border: 1px solid var(--fxg-c-border); border-radius: 8px; padding: 12px 16px 14px; margin: 4px 0 16px; display: flex; flex-direction: column; gap: 8px; background: var(--wp--preset--color--base-2); }
.fxg-form__checks legend { font-weight: 700; font-size: 14px; padding: 0 6px; }
.fxg-form__checks label { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; line-height: 1.6; font-weight: 400; }
.fxg-form__checks input { margin-top: 4px; flex-shrink: 0; }

/* =========================================================
   外部のニュース(RSS)
   ========================================================= */
.fxg-rss__list { list-style: none; margin: 0; padding: 0; background: #fff; border: 1px solid var(--fxg-c-border); border-radius: var(--fxg-radius); overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.fxg-rss--top .fxg-rss__list { height: 432px; }
.fxg-rss--page { margin-top: 40px; }
.fxg-rss--page .fxg-rss__list { height: 600px; }
.fxg-rss__item { padding: 12px 16px; border-bottom: 1px solid var(--fxg-c-border); }
.fxg-rss__item:last-child { border-bottom: 0; }
.fxg-rss__item a { display: block; color: var(--fxg-c-text); text-decoration: none; font-weight: 700; font-size: 15px; line-height: 1.6; }
.fxg-rss__item a:hover { color: var(--fxg-c-secondary); text-decoration: underline; }
.fxg-rss__item a::after { content: ""; display: inline-block; width: 10px; height: 10px; margin-left: 6px; vertical-align: 1px; background: currentColor; opacity: .45; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M5 1H1v10h10V7M7 1h4v4M11 1 5 7' fill='none' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M5 1H1v10h10V7M7 1h4v4M11 1 5 7' fill='none' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E") center / contain no-repeat; }
.fxg-rss__meta { display: flex; gap: 10px; margin-top: 4px; font-size: 12px; color: var(--fxg-c-sub); }
.fxg-rss__source { font-weight: 700; color: var(--fxg-c-secondary); }
.fxg-rss__empty { padding: 24px 16px; color: var(--fxg-c-sub); font-size: 14px; }
.fxg-rss__note { margin: 8px 0 0 !important; font-size: 12px; color: var(--fxg-c-sub); }
.fxg-rss__list:focus-visible { outline: 3px solid var(--fxg-c-secondary); outline-offset: 2px; }
@media (max-width: 781px) {
	.fxg-rss--top .fxg-rss__list { height: 420px; }
	.fxg-rss--page .fxg-rss__list { height: 480px; }
	.fxg-rss__item { padding: 11px 14px; }
	.fxg-rss__item a { font-size: 14px; }
}

/* 用語辞典への自動リンク・くわしくは・次の一歩 */
.fxg-content a.fxg-termlink { color: inherit; text-decoration: underline dotted var(--fxg-c-secondary); text-underline-offset: 3px; text-decoration-thickness: 1.5px; }
.fxg-content a.fxg-termlink:hover { color: var(--fxg-c-secondary); text-decoration-style: solid; }
.fxg-gl__more { margin: 6px 0 0 !important; font-size: 14px; color: var(--fxg-c-sub); }
.fxg-gl__more a { color: var(--fxg-c-secondary); font-weight: 700; }
.fxg-gl__next { margin-top: 40px; padding: 24px; border-radius: var(--fxg-radius); background: var(--fxg-c-pale-indigo); }
.fxg-gl__next-title { font-size: 20px !important; margin: 0 0 6px !important; padding: 0 !important; border: 0 !important; background: none !important; }
.fxg-gl__next-title::before, .fxg-gl__next-title::after { display: none !important; }
.fxg-gl__next p { margin: 0 0 4px; }
.fxg-section__more--center { text-align: center; margin-top: 24px !important; }
.fxg-tools-gl { margin-top: 40px; padding: 20px 24px; border-radius: var(--fxg-radius); background: var(--fxg-c-pale-indigo); display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; justify-content: space-between; }
.fxg-tools-gl > p { margin: 0; }

/* 記事の中のCTAボタン */
.fxg-cta { margin: 28px 0 !important; padding: 20px 16px; border-radius: var(--fxg-radius); background: var(--fxg-c-pale-blue); text-align: center; }
.fxg-cta .wp-block-buttons { margin: 0; }
.fxg-cta__btn .wp-block-button__link { background: var(--fxg-c-secondary) !important; color: #fff !important; font-weight: 700; font-size: 17px; padding: 15px 36px; border-radius: 999px; box-shadow: 0 4px 14px rgba(0, 113, 188, 0.28); }
.fxg-cta__btn .wp-block-button__link:hover { background: #005A96 !important; }
.fxg-cta__note { margin: 10px 0 0 !important; font-size: 12px; color: var(--fxg-c-sub); }
@media (max-width: 600px) { .fxg-cta__btn, .fxg-cta__btn .wp-block-button__link { width: 100%; box-sizing: border-box; } .fxg-cta__btn .wp-block-button__link { padding: 14px 16px; font-size: 16px; } }

/* ---------- v0.8.3:FX用語辞典の案内カード ---------- */
.fxg-glcta { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: 16px 24px; align-items: center; margin: 24px 0 0 !important; padding: 24px 28px; background: #fff; border: 1px solid var(--fxg-c-border); border-left: 4px solid var(--fxg-c-secondary); border-radius: var(--fxg-radius); box-shadow: var(--fxg-shadow); }
.fxg-glcta > * { margin: 0 !important; }
.fxg-glcta__icon { width: 72px; height: 72px; background: var(--fxg-c-secondary); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23000' stroke-width='3'%3E%3Cpath d='M32 14c-6-5-15-6-24-5v42c9-1 18 0 24 5 6-5 15-6 24-5V9c-9-1-18 0-24 5z'/%3E%3Cpath d='M32 14v42'/%3E%3Cpath d='M15 21h10M15 28h10M39 21h10M39 28h10M39 35h7'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23000' stroke-width='3'%3E%3Cpath d='M32 14c-6-5-15-6-24-5v42c9-1 18 0 24 5 6-5 15-6 24-5V9c-9-1-18 0-24 5z'/%3E%3Cpath d='M32 14v42'/%3E%3Cpath d='M15 21h10M15 28h10M39 21h10M39 28h10M39 35h7'/%3E%3C/svg%3E") center / contain no-repeat; }
.fxg-glcta__body > * { margin: 0 !important; }
.fxg-glcta__name { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 20px; font-weight: 700; color: var(--fxg-c-primary); }
.fxg-glcta__name .fxg-badge { font-size: 11px; margin: 0; }
.fxg-glcta__catch { font-weight: 700; margin-top: 4px !important; }
.fxg-glcta__text { font-size: 14px; color: var(--fxg-c-sub); margin-top: 4px !important; }
.fxg-glcta__chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px !important; }
.fxg-glcta__chip { display: inline-block; padding: 3px 10px; border: 1px solid var(--fxg-c-border); border-radius: 999px; background: var(--fxg-c-pale-indigo); color: var(--fxg-c-primary) !important; font-size: 12px; text-decoration: none !important; line-height: 1.6; }
.fxg-glcta__chip:hover { border-color: var(--fxg-c-secondary); color: var(--fxg-c-secondary) !important; }
.fxg-glcta__cta .fxg-btn { white-space: nowrap; }
@media (max-width: 767px) {
	.fxg-glcta { grid-template-columns: 56px minmax(0, 1fr); padding: 20px 16px; border-left-width: 1px; border-top: 4px solid var(--fxg-c-secondary); }
	.fxg-glcta__icon { width: 56px; height: 56px; align-self: start; }
	.fxg-glcta__cta { grid-column: 1 / -1; text-align: center; }
	.fxg-glcta__cta .fxg-btn { width: 100%; max-width: 320px; box-sizing: border-box; }
}

/* ---------- v0.8.3:EA製品ページの余白 ---------- */
.fxg-ea-offers { margin-top: 56px !important; }
.fxg-manual { margin-top: 32px !important; }

/* ---------- v1.0 ---------- */
/* トップ「はじめての方へ」:スマホでは「わからない言葉は」で改行 */
.fxg-br-sp { display: none; }
@media (max-width: 767px) { .fxg-br-sp { display: inline; } }
/* 無料版と製品版の違い:無料版・製品版の列を同じ幅に */
.fxg-compare-table table { table-layout: fixed; }
.fxg-compare-table thead th:first-child, .fxg-compare-table tbody th { width: 24%; }
.fxg-compare-table td a { color: var(--fxg-c-secondary); font-weight: 700; text-decoration: underline; }
/* 対象FX会社:「〇〇について →」 */
.fxg-broker__points { margin-bottom: 8px; }
.fxg-broker__about { display: inline-block; margin: 0 0 16px; color: var(--fxg-c-secondary) !important; font-weight: 700; font-size: 14px; text-decoration: none !important; }
.fxg-broker__about:hover { text-decoration: underline !important; }

/* ---------- v1.1 ---------- */
/* ボタン:枠からはみ出さない(幅いっぱいのとき) */
.fxg-btn { box-sizing: border-box; max-width: 100%; }

/* 共有ボタン:スマホでも5つを横1列に */
.fxg-share__btn span { line-height: 1.35; text-align: center; }
@media (max-width: 600px) {
	.fxg-share { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
	.fxg-share__btn { flex-direction: column; gap: 4px; padding: 8px 2px; font-size: 12px; min-height: 52px; }
	.fxg-share__btn span { word-break: keep-all; overflow-wrap: anywhere; }
}

/* 記事の申し込みボタン:最後の「(…)」はスマホ・タブレットで次の行に */
.fxg-cta__sub { white-space: nowrap; }
@media (max-width: 1024px) { .fxg-cta__sub { display: block; } }

/* 運営者情報 */
.fxg-author { display: block; border: 1px solid var(--fxg-c-border); border-radius: var(--fxg-radius); padding: 24px 28px; background: #fff; }
.fxg-author > * { margin: 0; }
.fxg-author__head { display: flex; align-items: center; gap: 16px; }
.fxg-author__mark { position: relative; flex-shrink: 0; width: 76px; height: 76px; border-radius: 50%; overflow: hidden; background: #fff; border: 1px solid var(--fxg-c-border); }
/* ロゴの周りの余白を削って、丸の中いっぱいに表示する(元画像800pxのうち、中央の670pxを使う) */
.fxg-author__mark img { position: absolute; width: 119.4%; max-width: none; height: auto; left: -9.7%; top: -4.5%; }
.fxg-author__who > * { margin: 0 !important; }
.fxg-author__label { display: inline-block; font-size: 12px; font-weight: 700; color: var(--fxg-c-secondary); background: var(--fxg-c-pale-blue); border-radius: 4px; padding: 1px 8px; }
.fxg-author__name { font-size: 18px; font-weight: 700; color: var(--fxg-c-primary); margin-top: 4px !important; line-height: 1.5; }
.fxg-author__text { margin-top: 14px !important; font-size: 15px; line-height: 1.8; color: var(--fxg-c-text); }
.fxg-author__more { margin-top: 10px !important; text-align: right; }
.fxg-author__link { font-size: 14px; font-weight: 700; color: var(--fxg-c-secondary) !important; text-decoration: none !important; }
.fxg-author__link:hover { text-decoration: underline !important; }
@media (max-width: 767px) {
	.fxg-author { padding: 20px 16px; }
	.fxg-author__mark { width: 64px; height: 64px; }
	.fxg-author__name { font-size: 16px; }
}

/* 表:スマホでは表の中だけ横にスクロール(左端の列は固定) */
.fxg-tscroll { position: relative; }
.fxg-tscroll__hint { display: none; }
@media (max-width: 767px) {
	.fxg-tscroll > figure, .fxg-tscroll > .wp-block-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
	.fxg-tscroll table { width: max-content; min-width: 100%; }
	.fxg-tscroll th, .fxg-tscroll td { min-width: 8em; max-width: 16em; }
	.fxg-tscroll tr > :first-child { position: sticky; left: 0; z-index: 1; min-width: 5.5em; max-width: 7em; box-shadow: 1px 0 0 var(--fxg-c-border); }
	.fxg-tscroll thead tr > :first-child { background: var(--fxg-c-primary); }
	.fxg-tscroll tbody tr > :first-child { background: var(--fxg-c-pale-indigo); color: var(--fxg-c-primary) !important; font-weight: 700; }
	/* 右端の影(まだ続きがあるとき) */
	.fxg-tscroll.is-scrollable:not(.is-end)::after { content: ""; position: absolute; top: 0; right: 0; bottom: 0; width: 24px; pointer-events: none; background: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.12)); }
	/* スクロールヒント */
	.fxg-tscroll.is-scrollable .fxg-tscroll__hint { display: flex; position: absolute; z-index: 3; left: 50%; top: 50%; transform: translate(-50%, -50%); flex-direction: column; align-items: center; gap: 4px; padding: 14px 18px 10px; border-radius: 8px; background: rgba(40, 44, 52, 0.78); color: #fff; font-size: 12px; pointer-events: none; transition: opacity 0.3s; }
	.fxg-tscroll.is-scrolled .fxg-tscroll__hint { opacity: 0; }
	.fxg-tscroll__hint svg { width: 46px; height: 40px; animation: fxg-hint 1.4s ease-in-out infinite; }
}
@keyframes fxg-hint { 0%, 100% { transform: translateX(-8px); } 50% { transform: translateX(8px); } }
@media (prefers-reduced-motion: reduce) { .fxg-tscroll__hint svg { animation: none; } }
