@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.2
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* ==========================================================================
   FXTradingMarkets ─ 共通コンポーネント＋トップページスタイル
   設置先：SWELL子テーマ（swell_child）の style.css の【末尾】に追記
   ※ 既存のヘッダーコメント（Theme Name: SWELL CHILD ...）は絶対に消さないこと
   ※ @charset は意図的に入れていません（ファイル先頭以外では無効なため）
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. デザイントークン
   -------------------------------------------------------------------------- */
:root {
  --fxtm-navy:        #0B1F3A;
  --fxtm-navy-mid:    #14304F;
  --fxtm-navy-soft:   #1B3E63;
  --fxtm-blue:        #1E6FD9;
  --fxtm-blue-light:  #4A90E2;
  --fxtm-gold:        #C9A227;
  --fxtm-gold-light:  #E8C86A;
  --fxtm-bg-soft:     #F5F7FA;
  --fxtm-bg-line:     #E3E8EF;
  --fxtm-text:        #1A2330;
  --fxtm-text-muted:  #5A6675;
  --fxtm-white:       #FFFFFF;
  --fxtm-up:          #17A673;
  --fxtm-radius:      14px;
  --fxtm-radius-sm:   8px;
  --fxtm-shadow:      0 4px 20px rgba(11, 31, 58, .08);
  --fxtm-shadow-lift: 0 14px 36px rgba(11, 31, 58, .16);
  --fxtm-ease:        .32s cubic-bezier(.2, .7, .3, 1);
}

/* --------------------------------------------------------------------------
   2. セクション共通
   -------------------------------------------------------------------------- */
.fxtm-section { padding-block: clamp(3.5rem, 7vw, 6rem); }
.fxtm-section--soft  { background: var(--fxtm-bg-soft); }
.fxtm-section--white { background: var(--fxtm-white); }
.fxtm-section--navy {
  position: relative;
  overflow: hidden;
  background: linear-gradient(160deg, var(--fxtm-navy) 0%, var(--fxtm-navy-mid) 100%);
  color: rgba(255, 255, 255, .92);
}
.fxtm-section--navy::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 64px 64px;
  pointer-events: none;
}
.fxtm-section--navy > * { position: relative; z-index: 1; }
.fxtm-section--navy :is(h2, h3, h4, strong) { color: var(--fxtm-white); }
.fxtm-section--navy a:not(.wp-block-button__link) {
  color: var(--fxtm-gold-light);
  text-decoration-color: rgba(232, 200, 106, .5);
}

.fxtm-section > * > h2,
.fxtm-section > h2 {
  position: relative;
  margin-block: 0 .9em;
  padding-top: 1.15em;
  font-size: clamp(1.45rem, 3.4vw, 2.1rem);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: .01em;
}
.fxtm-section > * > h2::before,
.fxtm-section > h2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 46px;
  height: 4px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--fxtm-gold), var(--fxtm-gold-light));
}

.fxtm-lead {
  max-width: 46em;
  margin-block: 0 2.4em;
  font-size: 1.02rem;
  line-height: 1.95;
  color: var(--fxtm-text-muted);
}
.fxtm-section--navy .fxtm-lead { color: rgba(255, 255, 255, .8); }

.fxtm-note {
  margin-top: 1.2em;
  padding: .9em 1.1em;
  border-left: 3px solid var(--fxtm-bg-line);
  border-radius: 0 var(--fxtm-radius-sm) var(--fxtm-radius-sm) 0;
  background: rgba(11, 31, 58, .035);
  font-size: .86rem;
  line-height: 1.85;
  color: var(--fxtm-text-muted);
}

.fxtm-morelink a {
  display: inline-flex;
  align-items: center;
  gap: .45em;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
  transition: gap var(--fxtm-ease);
}
.fxtm-morelink a::after { content: "→"; font-weight: 400; }
.fxtm-morelink a:hover { gap: .9em; }

/* --------------------------------------------------------------------------
   3. ファーストビュー
   -------------------------------------------------------------------------- */
.fxtm-hero {
  position: relative;
  overflow: hidden;
  padding-block: clamp(3.5rem, 8vw, 6.5rem);
  background:
    radial-gradient(1100px 520px at 78% -10%, rgba(30, 111, 217, .40) 0%, transparent 62%),
    linear-gradient(150deg, var(--fxtm-navy) 0%, var(--fxtm-navy-mid) 55%, var(--fxtm-navy-soft) 100%);
  color: var(--fxtm-white);
}
.fxtm-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.9), transparent 78%);
  pointer-events: none;
}
.fxtm-hero > * { position: relative; z-index: 1; }

.fxtm-hero h1 {
  max-width: 19em;
  margin-block: 0 .7em;
  font-size: clamp(1.75rem, 5.2vw, 3.1rem);
  font-weight: 800;
  line-height: 1.34;
  letter-spacing: -.01em;
  color: var(--fxtm-white);
}
.fxtm-hero h1 .fxtm-hl {
  background: linear-gradient(transparent 62%, rgba(201, 162, 39, .55) 62%);
  padding-inline: .08em;
}
.fxtm-hero__sub {
  max-width: 32em;
  font-size: clamp(.98rem, 2.3vw, 1.12rem);
  line-height: 1.95;
  color: rgba(255, 255, 255, .86);
}

.fxtm-badges { margin-top: 2rem !important; }
.fxtm-badges .wp-block-column {
  display: flex;
  align-items: center;
  gap: .7em;
  padding: .85em 1.05em;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 999px;
  background: rgba(255, 255, 255, .07);
  backdrop-filter: blur(6px);
  font-size: .84rem;
  line-height: 1.6;
}
.fxtm-badges .wp-block-column p { margin: 0; }
.fxtm-badges .wp-block-column::before {
  content: "";
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--fxtm-gold);
  box-shadow: inset 0 0 0 3px rgba(11, 31, 58, .85);
}

.fxtm-kpi { margin-top: 2.4rem !important; }
.fxtm-kpi .wp-block-column {
  padding: 1.5rem 1.2rem;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: var(--fxtm-radius);
  background: linear-gradient(180deg, rgba(255,255,255,.11), rgba(255,255,255,.035));
  text-align: center;
}
.fxtm-kpi__label {
  margin: 0 0 .35em !important;
  font-size: .78rem;
  letter-spacing: .06em;
  color: rgba(255, 255, 255, .7);
}
.fxtm-kpi__value {
  margin: 0 !important;
  font-size: clamp(1.5rem, 4.4vw, 2.3rem);
  font-weight: 800;
  line-height: 1.15;
  font-variant-numeric: tabular-nums;
  background: linear-gradient(90deg, var(--fxtm-gold-light), var(--fxtm-gold));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.fxtm-kpi__unit { font-size: .54em; font-weight: 700; margin-left: .15em; }

.fxtm-hero .wp-block-buttons { margin-top: 2rem; gap: .8rem; }
.fxtm-hero .wp-block-button__link,
.fxtm-cta .wp-block-button__link,
.fxtm-midcta .wp-block-button__link,
.fxtm-promo .wp-block-button__link {
  padding: 1.05em 2.4em;
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: .02em;
  background: linear-gradient(135deg, var(--fxtm-gold), #B8901C);
  color: var(--fxtm-navy);
  box-shadow: 0 8px 24px rgba(201, 162, 39, .34);
  transition: transform var(--fxtm-ease), box-shadow var(--fxtm-ease);
}
.fxtm-hero .wp-block-button__link:hover,
.fxtm-cta .wp-block-button__link:hover,
.fxtm-midcta .wp-block-button__link:hover,
.fxtm-promo .wp-block-button__link:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(201, 162, 39, .46);
}
.fxtm-hero .is-style-outline .wp-block-button__link,
.fxtm-cta .is-style-outline .wp-block-button__link,
.fxtm-midcta .is-style-outline .wp-block-button__link {
  background: transparent;
  color: var(--fxtm-white);
  border: 1.5px solid rgba(255, 255, 255, .5);
  box-shadow: none;
}
.fxtm-hero .is-style-outline .wp-block-button__link:hover,
.fxtm-cta .is-style-outline .wp-block-button__link:hover,
.fxtm-midcta .is-style-outline .wp-block-button__link:hover {
  background: rgba(255, 255, 255, .1);
  border-color: var(--fxtm-white);
}
.fxtm-hero__caption {
  margin-top: 1rem !important;
  font-size: .82rem;
  color: rgba(255, 255, 255, .62);
}

/* --------------------------------------------------------------------------
   4. 主要銘柄スプレッドストリップ
   -------------------------------------------------------------------------- */
.fxtm-spreadbar {
  border-block: 1px solid var(--fxtm-bg-line);
  background: var(--fxtm-white);
  padding-block: 1.15rem;
}
.fxtm-spreadbar .wp-block-columns { gap: 0 !important; margin: 0 !important; }
.fxtm-spreadbar .wp-block-column {
  padding: .35rem 1rem;
  border-left: 1px solid var(--fxtm-bg-line);
  text-align: center;
}
.fxtm-spreadbar .wp-block-column:first-child { border-left: none; }
.fxtm-spreadbar p { margin: 0 !important; }
.fxtm-spreadbar__sym {
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .06em;
  color: var(--fxtm-text-muted);
}
.fxtm-spreadbar__val {
  font-size: 1.28rem;
  font-weight: 800;
  line-height: 1.3;
  font-variant-numeric: tabular-nums;
  color: var(--fxtm-navy);
}
.fxtm-spreadbar__val small { font-size: .52em; font-weight: 700; margin-left: .2em; color: var(--fxtm-text-muted); }
.fxtm-spreadbar__note {
  margin: .9rem 0 0 !important;
  text-align: center;
  font-size: .74rem;
  color: var(--fxtm-text-muted);
}

/* --------------------------------------------------------------------------
   5. 選ばれる理由（番号付きカード）
   -------------------------------------------------------------------------- */
.fxtm-reasons { counter-reset: fxtm-reason; }
.fxtm-reasons .wp-block-column {
  counter-increment: fxtm-reason;
  position: relative;
  padding: 2.3rem 1.5rem 1.6rem;
  border: 1px solid var(--fxtm-bg-line);
  border-radius: var(--fxtm-radius);
  background: var(--fxtm-white);
  box-shadow: var(--fxtm-shadow);
  transition: transform var(--fxtm-ease), box-shadow var(--fxtm-ease), border-color var(--fxtm-ease);
}
.fxtm-reasons .wp-block-column:hover {
  transform: translateY(-5px);
  border-color: rgba(201, 162, 39, .55);
  box-shadow: var(--fxtm-shadow-lift);
}
.fxtm-reasons .wp-block-column::before {
  content: "0" counter(fxtm-reason);
  position: absolute;
  top: -.55em;
  left: 1.3rem;
  font-size: 2.5rem;
  font-weight: 800;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  color: rgba(11, 31, 58, .09);
  letter-spacing: -.03em;
}
.fxtm-reasons h3 {
  margin-block: 0 .7em !important;
  font-size: 1.06rem;
  font-weight: 700;
  line-height: 1.6;
  color: var(--fxtm-navy);
}
.fxtm-reasons h3::after {
  content: "";
  display: block;
  width: 28px;
  height: 3px;
  margin-top: .65em;
  border-radius: 2px;
  background: var(--fxtm-gold);
}
.fxtm-reasons p { margin: 0; font-size: .92rem; line-height: 1.9; color: var(--fxtm-text-muted); }

/* --------------------------------------------------------------------------
   6. 取扱商品タイル
   -------------------------------------------------------------------------- */
.fxtm-tiles .wp-block-column {
  border: 1px solid var(--fxtm-bg-line);
  border-radius: var(--fxtm-radius);
  background: var(--fxtm-white);
  overflow: hidden;
  transition: transform var(--fxtm-ease), box-shadow var(--fxtm-ease), border-color var(--fxtm-ease);
}
.fxtm-tiles .wp-block-column:hover {
  transform: translateY(-4px);
  border-color: rgba(201, 162, 39, .5);
  box-shadow: var(--fxtm-shadow-lift);
}
.fxtm-tiles h3 {
  margin: 0 !important;
  font-size: .99rem;
  font-weight: 700;
}
.fxtm-tiles h3 a {
  display: block;
  padding: .6em 1.15em .9em;
  text-decoration: none;
  color: var(--fxtm-navy);
  position: relative;
  transition: color var(--fxtm-ease);
}
.fxtm-tiles h3 a::after {
  content: "→";
  position: absolute;
  right: 1.05em;
  opacity: 0;
  transform: translateX(-6px);
  transition: all var(--fxtm-ease);
}
.fxtm-tiles .wp-block-column:hover h3 a { color: var(--fxtm-blue); }
.fxtm-tiles .wp-block-column:hover h3 a::after { opacity: 1; transform: translateX(0); }
.fxtm-tiles p {
  margin: 0 !important;
  padding: 0 1.15em 1.25em;
  font-size: .84rem;
  line-height: 1.85;
  color: var(--fxtm-text-muted);
  font-variant-numeric: tabular-nums;
  border-top: 1px solid var(--fxtm-bg-line);
  padding-top: .9em;
}

/* --------------------------------------------------------------------------
   7. テーブル
   -------------------------------------------------------------------------- */
.fxtm-table table {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  font-size: .92rem;
  background: var(--fxtm-white);
  border: 1px solid var(--fxtm-bg-line);
  border-radius: var(--fxtm-radius);
  overflow: hidden;
  font-variant-numeric: tabular-nums;
}
.fxtm-table thead th {
  padding: 1em .9em;
  background: var(--fxtm-navy);
  color: var(--fxtm-white);
  font-weight: 700;
  font-size: .88rem;
  text-align: left;
  border: none;
  white-space: nowrap;
}
.fxtm-table tbody th,
.fxtm-table tbody td {
  padding: .95em .9em;
  border: none;
  border-top: 1px solid var(--fxtm-bg-line);
  line-height: 1.75;
  vertical-align: middle;
}
.fxtm-table tbody tr:nth-child(even) { background: rgba(11, 31, 58, .022); }
.fxtm-table tbody tr:hover { background: rgba(30, 111, 217, .05); }
.fxtm-table tbody td:first-child { font-weight: 600; color: var(--fxtm-navy); }
.fxtm-table a { font-weight: 600; text-decoration: none; border-bottom: 1px solid currentColor; }

.fxtm-table--compare table { font-size: .87rem; }
.fxtm-table--compare :is(th, td):nth-child(2) { background: rgba(201, 162, 39, .1); }
.fxtm-table--compare thead th:nth-child(2) {
  background: linear-gradient(180deg, var(--fxtm-gold), #B8901C);
  color: var(--fxtm-navy);
}
.fxtm-table--compare thead th:nth-child(2)::after {
  content: "人気";
  display: inline-block;
  margin-left: .5em;
  padding: .12em .55em;
  border-radius: 999px;
  background: var(--fxtm-navy);
  color: var(--fxtm-gold-light);
  font-size: .68rem;
  font-weight: 700;
  vertical-align: middle;
}
.fxtm-table--compare tbody tr:first-child td { font-weight: 700; }

@media (max-width: 782px) {
  .fxtm-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .fxtm-table table { min-width: 620px; }
  .fxtm-table--compare table { min-width: 760px; }
}

/* --------------------------------------------------------------------------
   8. プラットフォーム
   -------------------------------------------------------------------------- */
.fxtm-plat .wp-block-column {
  padding: 1.1rem 1.1rem 1.5rem;
  border: 1px solid var(--fxtm-bg-line);
  border-radius: var(--fxtm-radius);
  background: var(--fxtm-white);
  box-shadow: var(--fxtm-shadow);
  transition: transform var(--fxtm-ease), box-shadow var(--fxtm-ease);
}
.fxtm-plat .wp-block-column:hover { transform: translateY(-4px); box-shadow: var(--fxtm-shadow-lift); }
.fxtm-plat h3 {
  margin-block: 0 .6em !important;
  font-size: 1.04rem;
  font-weight: 700;
  color: var(--fxtm-navy);
}
.fxtm-plat p { font-size: .89rem; line-height: 1.88; color: var(--fxtm-text-muted); }
.fxtm-plat .fxtm-morelink { margin-bottom: 0 !important; }

/* --------------------------------------------------------------------------
   9. 取引実績バンド
   -------------------------------------------------------------------------- */
.fxtm-stats .wp-block-column { text-align: center; padding: .6rem .8rem; }
.fxtm-stats p { margin: 0 !important; }
.fxtm-stats__value {
  font-size: clamp(1.6rem, 4.6vw, 2.5rem);
  font-weight: 800;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
  background: linear-gradient(90deg, var(--fxtm-gold-light), var(--fxtm-gold));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.fxtm-stats__value small { font-size: .5em; font-weight: 700; margin-left: .12em; }
.fxtm-stats__label {
  margin-top: .45em !important;
  font-size: .8rem;
  letter-spacing: .04em;
  color: rgba(255, 255, 255, .72);
}

/* --------------------------------------------------------------------------
   10. 決済手段
   -------------------------------------------------------------------------- */
.fxtm-pay { margin-bottom: 2rem !important; }
.fxtm-pay .wp-block-column {
  padding: 1.3rem .8rem;
  border: 1px solid var(--fxtm-bg-line);
  border-radius: var(--fxtm-radius-sm);
  background: var(--fxtm-white);
  text-align: center;
}
.fxtm-pay p { margin: 0 !important; font-size: .84rem; font-weight: 600; color: var(--fxtm-navy); }
.fxtm-pay p em {
  display: block;
  margin-top: .3em;
  font-style: normal;
  font-size: .76rem;
  font-weight: 400;
  color: var(--fxtm-text-muted);
}

/* --------------------------------------------------------------------------
   11. ボーナスバナー／中間CTA
   -------------------------------------------------------------------------- */
.fxtm-promo {
  position: relative;
  overflow: hidden;
  padding: clamp(2rem, 5vw, 3.2rem);
  border-radius: var(--fxtm-radius);
  background:
    radial-gradient(620px 320px at 88% 12%, rgba(201, 162, 39, .34) 0%, transparent 62%),
    linear-gradient(135deg, var(--fxtm-navy) 0%, var(--fxtm-navy-soft) 100%);
  color: var(--fxtm-white);
  border: 1px solid rgba(201, 162, 39, .34);
}
.fxtm-promo :is(h2, h3) { color: var(--fxtm-white); }
.fxtm-promo p { color: rgba(255, 255, 255, .86); }
.fxtm-promo__list { list-style: none; margin: 0 0 1.6rem !important; padding: 0 !important; }
.fxtm-promo__list li {
  position: relative;
  padding-left: 1.9em;
  margin-bottom: .7em;
  font-size: .96rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, .9);
}
.fxtm-promo__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .42em;
  width: 18px;
  height: 10px;
  border-left: 2.5px solid var(--fxtm-gold);
  border-bottom: 2.5px solid var(--fxtm-gold);
  transform: rotate(-45deg);
}
.fxtm-promo__list li strong { color: var(--fxtm-gold-light); font-size: 1.1em; }

.fxtm-midcta {
  padding: clamp(1.6rem, 4vw, 2.4rem) clamp(1.2rem, 4vw, 2.6rem);
  border-radius: var(--fxtm-radius);
  background: linear-gradient(135deg, var(--fxtm-navy), var(--fxtm-navy-soft));
  color: var(--fxtm-white);
  text-align: center;
}
.fxtm-midcta p { margin: 0 0 1.2rem !important; font-size: 1.02rem; font-weight: 600; }
.fxtm-midcta .wp-block-buttons { justify-content: center; }

/* --------------------------------------------------------------------------
   12. 安全性カード
   -------------------------------------------------------------------------- */
.fxtm-trust .wp-block-column {
  padding: 1.8rem 1.4rem;
  border: 1px solid var(--fxtm-bg-line);
  border-top: 3px solid var(--fxtm-navy);
  border-radius: var(--fxtm-radius-sm);
  background: var(--fxtm-white);
  box-shadow: var(--fxtm-shadow);
}
.fxtm-trust h3 {
  margin-block: 0 .7em !important;
  font-size: 1.02rem;
  font-weight: 700;
  color: var(--fxtm-navy);
}
.fxtm-trust p { font-size: .9rem; line-height: 1.9; color: var(--fxtm-text-muted); }
.fxtm-trust .fxtm-morelink { margin-bottom: 0 !important; }

/* --------------------------------------------------------------------------
   13. 口座開設ステップ
   -------------------------------------------------------------------------- */
.fxtm-steps { counter-reset: fxtm-step; position: relative; }
.fxtm-steps .wp-block-column {
  counter-increment: fxtm-step;
  position: relative;
  padding: 3.4rem 1.3rem 1.5rem;
  border-radius: var(--fxtm-radius);
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .14);
}
.fxtm-steps .wp-block-column::before {
  content: counter(fxtm-step);
  position: absolute;
  top: 1.15rem;
  left: 1.3rem;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--fxtm-gold), #B8901C);
  color: var(--fxtm-navy);
  font-size: 1.16rem;
  font-weight: 800;
  box-shadow: 0 6px 18px rgba(201, 162, 39, .34);
}
@media (min-width: 783px) {
  .fxtm-steps .wp-block-column:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 2.3rem;
    right: -1.1rem;
    width: 2.2rem;
    height: 2px;
    background: linear-gradient(90deg, rgba(201,162,39,.8), rgba(201,162,39,.15));
  }
}
.fxtm-steps h3 { margin-block: 0 .6em !important; font-size: 1.02rem; font-weight: 700; }
.fxtm-steps p { margin: 0; font-size: .89rem; line-height: 1.9; color: rgba(255, 255, 255, .78); }

/* --------------------------------------------------------------------------
   14. FAQ
   -------------------------------------------------------------------------- */
.fxtm-faq details {
  margin-bottom: .7rem;
  border: 1px solid var(--fxtm-bg-line);
  border-radius: var(--fxtm-radius-sm);
  background: var(--fxtm-white);
  overflow: hidden;
  transition: box-shadow var(--fxtm-ease), border-color var(--fxtm-ease);
}
.fxtm-faq details[open] { border-color: rgba(30, 111, 217, .34); box-shadow: var(--fxtm-shadow); }
.fxtm-faq summary {
  display: flex;
  align-items: flex-start;
  gap: .85em;
  padding: 1.1em 3em 1.1em 1.2em;
  position: relative;
  cursor: pointer;
  font-weight: 700;
  font-size: .97rem;
  line-height: 1.7;
  color: var(--fxtm-navy);
  list-style: none;
}
.fxtm-faq summary::-webkit-details-marker { display: none; }
.fxtm-faq summary::before {
  content: "Q";
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--fxtm-navy);
  color: var(--fxtm-gold-light);
  font-size: .82rem;
  font-weight: 800;
}
.fxtm-faq summary::after {
  content: "";
  position: absolute;
  right: 1.3em;
  top: 1.55em;
  width: 9px;
  height: 9px;
  border-right: 2px solid var(--fxtm-text-muted);
  border-bottom: 2px solid var(--fxtm-text-muted);
  transform: rotate(45deg);
  transition: transform var(--fxtm-ease);
}
.fxtm-faq details[open] summary::after { transform: rotate(-135deg); }
.fxtm-faq details > :not(summary) {
  margin: 0;
  padding: 0 1.2em 1.3em 3.05em;
  font-size: .91rem;
  line-height: 1.95;
  color: var(--fxtm-text-muted);
}

/* --------------------------------------------------------------------------
   15. 最終CTA
   -------------------------------------------------------------------------- */
.fxtm-cta { text-align: center; }
.fxtm-cta h2 { text-align: center; }
.fxtm-cta h2::before { left: 50%; transform: translateX(-50%); }
.fxtm-cta .fxtm-lead { margin-inline: auto; }
.fxtm-cta .wp-block-buttons { justify-content: center; gap: .8rem; }
.fxtm-risk {
  max-width: 52em;
  margin: 2.2rem auto 0 !important;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, .18);
  font-size: .8rem;
  line-height: 1.9;
  color: rgba(255, 255, 255, .68);
}
.fxtm-risk a { color: var(--fxtm-gold-light); }

/* --------------------------------------------------------------------------
   16. レスポンシブ
   -------------------------------------------------------------------------- */
@media (max-width: 960px) {
  .fxtm-tiles .wp-block-column { flex-basis: calc(50% - .5rem) !important; }
}
@media (max-width: 782px) {
  .fxtm-badges .wp-block-column { justify-content: flex-start; }
  .fxtm-kpi .wp-block-column { padding: 1.15rem .8rem; }
  .fxtm-reasons .wp-block-column { padding-top: 2.1rem; }
  .fxtm-steps .wp-block-column { padding-top: 3.2rem; }
  .fxtm-spreadbar .wp-block-column { border-left: none; border-top: 1px solid var(--fxtm-bg-line); padding-block: .6rem; }
  .fxtm-spreadbar .wp-block-column:first-child { border-top: none; }
  .fxtm-section > * > h2::before,
  .fxtm-section > h2::before { width: 38px; }
}

@media (prefers-reduced-motion: reduce) {
  .fxtm-reasons .wp-block-column,
  .fxtm-tiles .wp-block-column,
  .fxtm-plat .wp-block-column,
  .fxtm-hero .wp-block-button__link,
  .fxtm-cta .wp-block-button__link,
  .fxtm-midcta .wp-block-button__link,
  .fxtm-promo .wp-block-button__link,
  .fxtm-morelink a { transition: none; }
  .fxtm-reasons .wp-block-column:hover,
  .fxtm-tiles .wp-block-column:hover,
  .fxtm-plat .wp-block-column:hover,
  .fxtm-hero .wp-block-button__link:hover,
  .fxtm-cta .wp-block-button__link:hover,
  .fxtm-midcta .wp-block-button__link:hover,
  .fxtm-promo .wp-block-button__link:hover { transform: none; }
}

/* ==========================================================================
   13. 装飾アート（data-URI SVG／外部画像ファイル不要）
   ========================================================================== */
.fxtm-hero::after{content:'';position:absolute;right:-4%;bottom:-6%;width:min(58%,660px);aspect-ratio:3/2;background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 720 480' fill='none'> <g opacity='.5'> <path d='M0 360 L80 330 L160 348 L240 276 L320 300 L400 216 L480 240 L560 168 L640 192 L720 120' stroke='%23E8C86A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/> <path d='M0 360 L80 330 L160 348 L240 276 L320 300 L400 216 L480 240 L560 168 L640 192 L720 120 L720 480 L0 480 Z' fill='%23C9A227' fill-opacity='.10'/> </g> <g opacity='.34'> <path d='M0 408 L90 396 L180 420 L270 372 L360 396 L450 348 L540 372 L630 324 L720 336' stroke='%231E6FD9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/> </g> <g stroke='%23E8C86A' stroke-width='2' opacity='.55'> <path d='M96 300 v-64'/><rect x='88' y='252' width='17' height='34' fill='%230B1F3A'/> <path d='M160 324 v-58'/><rect x='152' y='280' width='17' height='30' fill='%23E8C86A' fill-opacity='.85'/> <path d='M224 276 v-72'/><rect x='216' y='222' width='17' height='40' fill='%230B1F3A'/> <path d='M288 300 v-60'/><rect x='280' y='254' width='17' height='32' fill='%23E8C86A' fill-opacity='.85'/> <path d='M352 252 v-76'/><rect x='344' y='196' width='17' height='42' fill='%230B1F3A'/> <path d='M416 228 v-64'/><rect x='408' y='180' width='17' height='34' fill='%23E8C86A' fill-opacity='.85'/> <path d='M480 252 v-70'/><rect x='472' y='198' width='17' height='38' fill='%230B1F3A'/> <path d='M544 204 v-72'/><rect x='536' y='150' width='17' height='40' fill='%23E8C86A' fill-opacity='.85'/> <path d='M608 180 v-64'/><rect x='600' y='132' width='17' height='34' fill='%230B1F3A'/> </g> <g opacity='.2' stroke='%23FFFFFF' stroke-width='1'> <path d='M0 120h720M0 216h720M0 312h720M0 408h720'/> </g> <circle cx='640' cy='120' r='7' fill='%23E8C86A'/> <circle cx='640' cy='120' r='16' stroke='%23E8C86A' stroke-opacity='.45' stroke-width='2'/> </svg>") right bottom/contain no-repeat;opacity:.9;pointer-events:none;z-index:0;}
@media (max-width:782px){.fxtm-hero::after{width:110%;right:-14%;bottom:-2%;opacity:.35;}}

/* 商品タイルのアイコン */
.fxtm-tile::before{content:'';display:block;width:44px;height:44px;margin:1.25rem 1.15rem -.35rem;background-position:center;background-size:contain;background-repeat:no-repeat;}
.fxtm-tile--forex::before{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23C9A227' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 17h30l-7-7'/><path d='M42 31H12l7 7'/> <circle cx='24' cy='24' r='21' stroke-opacity='.22'/></svg>");}
.fxtm-tile--gold::before{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23C9A227' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M13 20h22l4 9H9z'/><path d='M18 9h12l3.5 8h-19z' stroke-opacity='.75'/> <path d='M9 29h30v8H9z' fill='%23C9A227' fill-opacity='.14'/></svg>");}
.fxtm-tile--metals::before{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23C9A227' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M8 30h14l2 6H6z'/><path d='M26 30h14l2 6H24z'/> <path d='M17 18h14l2 6H15z' stroke-opacity='.75'/></svg>");}
.fxtm-tile--crypto::before{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23C9A227' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='24' cy='24' r='16'/><path d='M20 16v16M26 16v16' stroke-opacity='.6'/> <path d='M18 19h8a3.5 3.5 0 010 7h-8h9a3.5 3.5 0 010 7h-9'/></svg>");}
.fxtm-tile--indices::before{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23C9A227' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M8 40V26M18 40V16M28 40V22M38 40V10'/> <path d='M5 44h38' stroke-opacity='.45'/></svg>");}
.fxtm-tile--shares::before{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23C9A227' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M10 42V14l12-6v34'/><path d='M22 42V20l16 6v16'/> <path d='M15 20v3M15 28v3M15 36v3M28 30v3M33 30v3M28 37v3M33 37v3' stroke-opacity='.6'/> <path d='M5 42h38'/></svg>");}
.fxtm-tile--energies::before{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23C9A227' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='13' y='8' width='22' height='32' rx='3'/> <path d='M13 17h22M13 31h22' stroke-opacity='.6'/> <path d='M24 21v6M21 24h6' stroke-opacity='.8'/><path d='M9 44h30'/></svg>");}
.fxtm-tile--commodities::before{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23C9A227' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M24 42V16'/> <path d='M24 20c-6-1-9-5-9-10 5 0 8 3 9 8zM24 20c6-1 9-5 9-10-5 0-8 3-9 8z'/> <path d='M24 31c-6-1-9-5-9-10 5 0 8 3 9 8zM24 31c6-1 9-5 9-10-5 0-8 3-9 8z' stroke-opacity='.65'/></svg>");}

/* 安全性カードのアイコン */
.fxtm-trust .wp-block-column::before{content:'';display:block;width:42px;height:42px;margin-bottom:1rem;background-position:center;background-size:contain;background-repeat:no-repeat;}
.fxtm-trust--license::before{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23C9A227' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M24 5l16 6v12c0 10-7 17-16 20C15 40 8 33 8 23V11z'/> <path d='M17 24l5 5 10-11'/></svg>");}
.fxtm-trust--fund::before{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23C9A227' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='6' y='10' width='36' height='28' rx='3'/> <circle cx='24' cy='24' r='7'/><path d='M24 17v-3M24 34v-3M17 24h-3M34 24h-3' stroke-opacity='.7'/> <path d='M11 38v4M37 38v4' stroke-opacity='.7'/></svg>");}
.fxtm-trust--security::before{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23C9A227' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='10' y='21' width='28' height='20' rx='3'/> <path d='M17 21v-6a7 7 0 0114 0v6'/><circle cx='24' cy='30' r='2.6'/><path d='M24 33v3'/></svg>");}

/* 決済手段アイコン */
.fxtm-pay .wp-block-column::before{content:'';display:block;width:38px;height:38px;margin:0 auto .7rem;background-position:center;background-size:contain;background-repeat:no-repeat;}
.fxtm-pay--bank::before{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23C9A227' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 19L24 8l18 11'/><path d='M10 19v16M18 19v16M30 19v16M38 19v16'/> <path d='M5 40h38'/></svg>");}
.fxtm-pay--card::before{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23C9A227' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='5' y='11' width='38' height='26' rx='4'/><path d='M5 20h38' stroke-opacity='.8'/> <path d='M12 30h8' stroke-opacity='.7'/></svg>");}
.fxtm-pay--wallet::before{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23C9A227' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M8 14h28a4 4 0 014 4v18a4 4 0 01-4 4H8z'/> <path d='M8 14v26' stroke-opacity='.7'/><circle cx='33' cy='27' r='2.4'/></svg>");}
.fxtm-pay--coin::before{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23C9A227' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><ellipse cx='24' cy='14' rx='15' ry='6'/> <path d='M9 14v20c0 3.3 6.7 6 15 6s15-2.7 15-6V14'/><path d='M9 24c0 3.3 6.7 6 15 6s15-2.7 15-6' stroke-opacity='.6'/></svg>");}

/* プラットフォームのモックアップ */
.fxtm-plat .wp-block-column::before{content:'';display:block;width:100%;aspect-ratio:16/10;margin-bottom:1.3rem;border-radius:10px;background-position:center;background-size:contain;background-repeat:no-repeat;background-color:rgba(11,31,58,.04);}
.fxtm-plat--mt4::before{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 200' fill='none'> <rect x='.75' y='.75' width='318.5' height='198.5' rx='9' fill='%230B1F3A' stroke='%23C9A227' stroke-opacity='.35'/> <rect x='1' y='1' width='318' height='26' rx='9' fill='%23142F4C'/> <circle cx='16' cy='14' r='3.4' fill='%23C9A227' fill-opacity='.85'/> <circle cx='28' cy='14' r='3.4' fill='%23FFFFFF' fill-opacity='.22'/> <circle cx='40' cy='14' r='3.4' fill='%23FFFFFF' fill-opacity='.22'/> <g stroke='%23E8C86A' stroke-width='1.6'> <path d='M32 112v-26'/><rect x='27' y='92' width='10' height='15' fill='%230B1F3A'/> <path d='M56 122v-24'/><rect x='51' y='104' width='10' height='13' fill='%23E8C86A' fill-opacity='.8'/> <path d='M80 104v-28'/><rect x='75' y='82' width='10' height='17' fill='%230B1F3A'/> <path d='M104 116v-22'/><rect x='99' y='99' width='10' height='12' fill='%23E8C86A' fill-opacity='.8'/> <path d='M128 96v-28'/><rect x='123' y='74' width='10' height='17' fill='%230B1F3A'/> <path d='M152 88v-24'/><rect x='147' y='69' width='10' height='14' fill='%23E8C86A' fill-opacity='.8'/> </g> <path d='M24 140 L60 132 L96 120 L132 100 L168 92 L204 72 L240 80 L288 56' stroke='%231E6FD9' stroke-width='2' stroke-linecap='round'/> <g stroke='%23FFFFFF' stroke-opacity='.12'><path d='M16 60h288M16 100h288M16 140h288'/></g> <rect x='16' y='160' width='288' height='24' rx='4' fill='%23FFFFFF' fill-opacity='.07'/> <g fill='%23E8C86A' fill-opacity='.7'><rect x='24' y='169' width='44' height='6' rx='3'/> <rect x='80' y='169' width='30' height='6' rx='3'/><rect x='122' y='169' width='52' height='6' rx='3'/></g></svg>");}
.fxtm-plat--mt5::before{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 200' fill='none'> <rect x='.75' y='.75' width='318.5' height='198.5' rx='9' fill='%230B1F3A' stroke='%23C9A227' stroke-opacity='.35'/> <rect x='1' y='1' width='318' height='26' rx='9' fill='%23142F4C'/> <circle cx='16' cy='14' r='3.4' fill='%23C9A227' fill-opacity='.85'/> <circle cx='28' cy='14' r='3.4' fill='%23FFFFFF' fill-opacity='.22'/> <circle cx='40' cy='14' r='3.4' fill='%23FFFFFF' fill-opacity='.22'/> <rect x='16' y='40' width='196' height='108' rx='4' fill='%23FFFFFF' fill-opacity='.05'/> <g stroke='%23E8C86A' stroke-width='1.6'> <path d='M32 112v-26'/><rect x='27' y='92' width='10' height='15' fill='%230B1F3A'/> <path d='M56 122v-24'/><rect x='51' y='104' width='10' height='13' fill='%23E8C86A' fill-opacity='.8'/> <path d='M80 104v-28'/><rect x='75' y='82' width='10' height='17' fill='%230B1F3A'/> <path d='M104 116v-22'/><rect x='99' y='99' width='10' height='12' fill='%23E8C86A' fill-opacity='.8'/> <path d='M128 96v-28'/><rect x='123' y='74' width='10' height='17' fill='%230B1F3A'/> <path d='M152 88v-24'/><rect x='147' y='69' width='10' height='14' fill='%23E8C86A' fill-opacity='.8'/> </g> <rect x='222' y='40' width='82' height='108' rx='4' fill='%23FFFFFF' fill-opacity='.07'/> <g fill='%23E8C86A' fill-opacity='.65'> <rect x='230' y='50' width='64' height='5' rx='2.5'/><rect x='230' y='62' width='48' height='5' rx='2.5'/> <rect x='230' y='74' width='56' height='5' rx='2.5'/><rect x='230' y='86' width='40' height='5' rx='2.5'/> <rect x='230' y='98' width='60' height='5' rx='2.5'/><rect x='230' y='110' width='44' height='5' rx='2.5'/> <rect x='230' y='122' width='52' height='5' rx='2.5'/></g> <rect x='16' y='156' width='288' height='28' rx='4' fill='%23FFFFFF' fill-opacity='.07'/> <g fill='%231E6FD9' fill-opacity='.65'><rect x='24' y='166' width='60' height='5' rx='2.5'/> <rect x='96' y='166' width='38' height='5' rx='2.5'/><rect x='146' y='166' width='70' height='5' rx='2.5'/> <rect x='24' y='176' width='44' height='4' rx='2'/></g></svg>");}
.fxtm-plat--app::before{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 200' fill='none'> <rect x='112' y='6' width='96' height='188' rx='14' fill='%230B1F3A' stroke='%23C9A227' stroke-opacity='.4'/> <rect x='146' y='13' width='28' height='4' rx='2' fill='%23FFFFFF' fill-opacity='.3'/> <rect x='120' y='26' width='80' height='40' rx='5' fill='%23FFFFFF' fill-opacity='.06'/> <path d='M126 58 L140 50 L152 54 L166 40 L180 44 L194 32' stroke='%23E8C86A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/> <g stroke='%23E8C86A' stroke-width='1.4'> <path d='M132 92v-14'/><rect x='128.5' y='81' width='7' height='8' fill='%230B1F3A'/> <path d='M150 96v-12'/><rect x='146.5' y='86' width='7' height='7' fill='%23E8C86A' fill-opacity='.8'/> <path d='M168 86v-14'/><rect x='164.5' y='75' width='7' height='8' fill='%230B1F3A'/> <path d='M186 90v-12'/><rect x='182.5' y='80' width='7' height='7' fill='%23E8C86A' fill-opacity='.8'/> </g> <rect x='120' y='108' width='80' height='7' rx='3.5' fill='%23FFFFFF' fill-opacity='.12'/> <rect x='120' y='120' width='58' height='7' rx='3.5' fill='%23FFFFFF' fill-opacity='.12'/> <rect x='120' y='132' width='68' height='7' rx='3.5' fill='%23FFFFFF' fill-opacity='.12'/> <rect x='120' y='150' width='80' height='18' rx='9' fill='%23C9A227' fill-opacity='.85'/> <rect x='134' y='176' width='52' height='4' rx='2' fill='%23FFFFFF' fill-opacity='.25'/> <g stroke='%231E6FD9' stroke-opacity='.45' stroke-width='2'> <path d='M84 74a40 40 0 00-6 22'/><path d='M66 62a58 58 0 00-9 34'/> <path d='M236 74a40 40 0 016 22'/><path d='M254 62a58 58 0 019 34'/></g> </svg>");}

/* ==========================================================================
   FXTradingMarkets ─ 下層ページ共通コンポーネント【追加分】
   --------------------------------------------------------------------------
   設置先：SWELL子テーマ style.css の【末尾】にさらに追記
   　　　　（既存の fxtm-top-page.css の下に続けて貼る）
   ※ ここから下は全75ページで使い回すコンポーネントです。
   ========================================================================== */

/* --------------------------------------------------------------------------
   17. 下層ページ共通ヘッダー
   -------------------------------------------------------------------------- */
.fxtm-pagehead {
  position: relative;
  overflow: hidden;
  padding-block: clamp(2.6rem, 6vw, 4.6rem);
  background:
    radial-gradient(900px 420px at 82% -20%, rgba(30, 111, 217, .34) 0%, transparent 60%),
    linear-gradient(150deg, var(--fxtm-navy) 0%, var(--fxtm-navy-mid) 70%, var(--fxtm-navy-soft) 100%);
  color: var(--fxtm-white);
}
.fxtm-pagehead::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.85), transparent 85%);
  pointer-events: none;
}
.fxtm-pagehead > * { position: relative; z-index: 1; }
.fxtm-pagehead h1 {
  max-width: 21em;
  margin-block: 0 .6em;
  font-size: clamp(1.55rem, 4.2vw, 2.45rem);
  font-weight: 800;
  line-height: 1.42;
  color: var(--fxtm-white);
}
.fxtm-pagehead h1::before {
  content: "";
  display: block;
  width: 46px;
  height: 4px;
  margin-bottom: .65em;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--fxtm-gold), var(--fxtm-gold-light));
}
.fxtm-pagehead__lead {
  max-width: 44em;
  margin: 0 !important;
  font-size: clamp(.95rem, 2.2vw, 1.05rem);
  line-height: 1.95;
  color: rgba(255, 255, 255, .84);
}

/* ヘッダー内のスペックチップ */
.fxtm-chips { margin-top: 1.8rem !important; }
.fxtm-chips .wp-block-column {
  padding: .8rem 1rem;
  border: 1px solid rgba(255, 255, 255, .17);
  border-radius: var(--fxtm-radius-sm);
  background: rgba(255, 255, 255, .07);
  text-align: center;
}
.fxtm-chips p { margin: 0 !important; }
.fxtm-chips__k {
  font-size: .72rem;
  letter-spacing: .05em;
  color: rgba(255, 255, 255, .66);
}
.fxtm-chips__v {
  margin-top: .2em !important;
  font-size: 1.12rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: var(--fxtm-gold-light);
}

/* --------------------------------------------------------------------------
   18. 口座タイプカード
   -------------------------------------------------------------------------- */
.fxtm-acct .wp-block-column {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 1.6rem 1.3rem 1.4rem;
  border: 1px solid var(--fxtm-bg-line);
  border-radius: var(--fxtm-radius);
  background: var(--fxtm-white);
  box-shadow: var(--fxtm-shadow);
  transition: transform var(--fxtm-ease), box-shadow var(--fxtm-ease);
}
.fxtm-acct .wp-block-column:hover {
  transform: translateY(-4px);
  box-shadow: var(--fxtm-shadow-lift);
}
/* おすすめカード */
.fxtm-acct--rec {
  border-color: var(--fxtm-gold) !important;
  box-shadow: 0 0 0 3px rgba(201, 162, 39, .16), var(--fxtm-shadow) !important;
}
.fxtm-acct--rec::before {
  content: "人気No.1";
  position: absolute;
  top: -.85em;
  left: 1.2rem;
  padding: .3em .9em;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--fxtm-gold), #B8901C);
  color: var(--fxtm-navy);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .04em;
  box-shadow: 0 4px 12px rgba(201, 162, 39, .34);
}
.fxtm-acct h3 {
  margin-block: 0 .35em !important;
  font-size: 1.14rem;
  font-weight: 800;
  color: var(--fxtm-navy);
}
.fxtm-acct__tag {
  margin: 0 0 1.1em !important;
  padding-bottom: 1em;
  border-bottom: 1px dashed var(--fxtm-bg-line);
  font-size: .84rem;
  line-height: 1.75;
  color: var(--fxtm-text-muted);
}
.fxtm-acct ul {
  list-style: none;
  margin: 0 0 1.3em !important;
  padding: 0 !important;
  flex: 1 1 auto;
}
.fxtm-acct ul li {
  display: flex;
  justify-content: space-between;
  gap: .8em;
  padding: .52em 0;
  border-bottom: 1px solid rgba(227, 232, 239, .7);
  font-size: .85rem;
  line-height: 1.6;
  color: var(--fxtm-text-muted);
  font-variant-numeric: tabular-nums;
}
.fxtm-acct ul li:last-child { border-bottom: none; }
.fxtm-acct ul li strong {
  font-weight: 700;
  color: var(--fxtm-navy);
  text-align: right;
}
.fxtm-acct .wp-block-buttons { margin-top: auto; }
.fxtm-acct .wp-block-button { width: 100%; }
.fxtm-acct .wp-block-button__link {
  display: block;
  width: 100%;
  padding: .85em 1em;
  border-radius: 999px;
  text-align: center;
  font-size: .9rem;
  font-weight: 700;
  background: var(--fxtm-navy);
  color: var(--fxtm-white);
  transition: background var(--fxtm-ease);
}
.fxtm-acct .wp-block-button__link:hover { background: var(--fxtm-blue); }
.fxtm-acct--rec .wp-block-button__link {
  background: linear-gradient(135deg, var(--fxtm-gold), #B8901C);
  color: var(--fxtm-navy);
}
.fxtm-acct--rec .wp-block-button__link:hover { filter: brightness(1.08); }

/* --------------------------------------------------------------------------
   19. 口座診断（こんな方にはこの口座）
   -------------------------------------------------------------------------- */
.fxtm-picker .wp-block-column {
  position: relative;
  padding: 1.5rem 1.3rem;
  border-radius: var(--fxtm-radius);
  background: var(--fxtm-white);
  border: 1px solid var(--fxtm-bg-line);
  border-left: 4px solid var(--fxtm-gold);
}
.fxtm-picker h3 {
  margin-block: 0 .8em !important;
  font-size: .95rem;
  font-weight: 700;
  line-height: 1.7;
  color: var(--fxtm-text-muted);
}
.fxtm-picker p {
  margin: 0 !important;
  font-size: 1.1rem;
  font-weight: 800;
  line-height: 1.55;
  color: var(--fxtm-navy);
}
.fxtm-picker p::before {
  content: "→ ";
  color: var(--fxtm-gold);
}
.fxtm-picker p a { color: inherit; text-decoration: none; border-bottom: 2px solid rgba(201,162,39,.5); }
.fxtm-picker p a:hover { border-bottom-color: var(--fxtm-gold); }

/* --------------------------------------------------------------------------
   20. 強調ボックス（結論・注意）
   -------------------------------------------------------------------------- */
.fxtm-callout {
  margin-block: 1.8rem;
  padding: 1.4rem 1.5rem;
  border: 1px solid rgba(201, 162, 39, .45);
  border-radius: var(--fxtm-radius);
  background: linear-gradient(135deg, rgba(201,162,39,.09), rgba(201,162,39,.03));
}
.fxtm-callout > *:first-child { margin-top: 0 !important; }
.fxtm-callout > *:last-child  { margin-bottom: 0 !important; }
.fxtm-callout h3 {
  margin-bottom: .6em !important;
  font-size: 1.02rem;
  font-weight: 800;
  color: var(--fxtm-navy);
}
.fxtm-callout h3::before {
  content: "結論";
  display: inline-block;
  margin-right: .7em;
  padding: .18em .7em;
  border-radius: 4px;
  background: var(--fxtm-navy);
  color: var(--fxtm-gold-light);
  font-size: .72rem;
  font-weight: 700;
  vertical-align: middle;
}
.fxtm-callout p { font-size: .93rem; line-height: 1.95; color: var(--fxtm-text); }

/* 注意喚起パターン */
.fxtm-callout--warn {
  border-color: rgba(30, 111, 217, .4);
  background: linear-gradient(135deg, rgba(30,111,217,.07), rgba(30,111,217,.02));
}
.fxtm-callout--warn h3::before { content: "注意"; }

/* --------------------------------------------------------------------------
   21. 下層ページ用の調整
   -------------------------------------------------------------------------- */
/* 記事内の通常見出し（H2）— セクション外で使う場合 */
.fxtm-body h2 {
  position: relative;
  margin-block: 2.6em .9em;
  padding-top: 1.1em;
  font-size: clamp(1.35rem, 3.2vw, 1.85rem);
  font-weight: 700;
  line-height: 1.5;
}
.fxtm-body h2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 42px;
  height: 4px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--fxtm-gold), var(--fxtm-gold-light));
}
.fxtm-body h3 {
  margin-block: 2em .7em;
  padding-left: .7em;
  border-left: 4px solid var(--fxtm-navy);
  font-size: clamp(1.08rem, 2.6vw, 1.28rem);
  font-weight: 700;
  line-height: 1.6;
  color: var(--fxtm-navy);
}
.fxtm-body p { line-height: 1.95; }

/* --------------------------------------------------------------------------
   22. レスポンシブ（追加分）
   -------------------------------------------------------------------------- */
@media (max-width: 960px) {
  .fxtm-acct .wp-block-column { flex-basis: calc(50% - .5rem) !important; }
}
@media (max-width: 782px) {
  .fxtm-acct--rec::before { left: 1rem; }
  .fxtm-chips .wp-block-column { padding: .6rem .5rem; }
  .fxtm-picker .wp-block-column { padding: 1.2rem 1.1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .fxtm-acct .wp-block-column { transition: none; }
  .fxtm-acct .wp-block-column:hover { transform: none; }
}

/* ==========================================================================
   FXTradingMarkets ─ 法務ページ用スタイル【追加分】
   --------------------------------------------------------------------------
   設置先：SWELL子テーマ style.css の【末尾】にさらに追記
   　　　　（fxtm-top-page.css → fxtm-components-add.css の下に続けて貼る）
   ※ 法務8ページ（利用規約・リスク開示・プライバシー等）で共通利用します
   ========================================================================== */

/* --------------------------------------------------------------------------
   23. 法務ページ本文
   -------------------------------------------------------------------------- */
.fxtm-legal {
  max-width: 48em;
  margin-inline: auto;
}

/* 最終更新日 */
.fxtm-legal__meta {
  margin: 0 0 2.4rem !important;
  padding: .7em 1.1em;
  border-left: 3px solid var(--fxtm-gold);
  background: rgba(201, 162, 39, .07);
  font-size: .85rem;
  line-height: 1.8;
  color: var(--fxtm-text-muted);
}
.fxtm-legal__meta strong { color: var(--fxtm-navy); }

/* 条番号付きH2 */
.fxtm-legal { counter-reset: fxtm-article; }
.fxtm-legal h2 {
  counter-increment: fxtm-article;
  display: flex;
  align-items: baseline;
  gap: .7em;
  margin-block: 2.8em .9em;
  padding-bottom: .55em;
  border-bottom: 2px solid var(--fxtm-bg-line);
  font-size: clamp(1.12rem, 2.8vw, 1.36rem);
  font-weight: 700;
  line-height: 1.55;
  color: var(--fxtm-navy);
}
.fxtm-legal h2::before {
  content: "第" counter(fxtm-article) "条";
  flex: 0 0 auto;
  padding: .28em .75em;
  border-radius: 4px;
  background: var(--fxtm-navy);
  color: var(--fxtm-gold-light);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .04em;
  white-space: nowrap;
}
/* 条番号を出さないパターン（プライバシー等の「第◯条」形式でない文書） */
.fxtm-legal--plain h2::before { content: none; }
.fxtm-legal--plain h2 { display: block; }

.fxtm-legal h3 {
  margin-block: 1.9em .6em;
  font-size: 1.02rem;
  font-weight: 700;
  line-height: 1.7;
  color: var(--fxtm-navy);
}
.fxtm-legal p {
  margin-block: 0 1.1em;
  font-size: .94rem;
  line-height: 2.0;
  color: var(--fxtm-text);
}
.fxtm-legal ol,
.fxtm-legal ul {
  margin-block: 0 1.4em;
  padding-left: 1.6em;
}
.fxtm-legal li {
  margin-bottom: .55em;
  font-size: .93rem;
  line-height: 1.95;
  color: var(--fxtm-text);
}
.fxtm-legal ol > li::marker { font-weight: 700; color: var(--fxtm-navy); }

/* 目次 */
.fxtm-legal__toc {
  margin-bottom: 2.6rem;
  padding: 1.4rem 1.6rem;
  border: 1px solid var(--fxtm-bg-line);
  border-radius: var(--fxtm-radius);
  background: var(--fxtm-bg-soft);
}
.fxtm-legal__toc > *:first-child { margin-top: 0 !important; }
.fxtm-legal__toc h2 {
  counter-increment: none;
  display: block;
  margin: 0 0 .9em !important;
  padding: 0;
  border: none;
  font-size: .95rem;
  font-weight: 700;
}
.fxtm-legal__toc h2::before { content: none; }
.fxtm-legal__toc ol { margin: 0 !important; padding-left: 1.4em; }
.fxtm-legal__toc li { margin-bottom: .35em; font-size: .88rem; line-height: 1.8; }
.fxtm-legal__toc a { color: var(--fxtm-text-muted); text-decoration: none; }
.fxtm-legal__toc a:hover { color: var(--fxtm-blue); text-decoration: underline; }

/* 要確認マーカー（公開前に差し替える箇所） */
.fxtm-legal mark,
.fxtm-todo {
  padding: .1em .45em;
  border-radius: 3px;
  background: rgba(255, 214, 0, .32);
  color: var(--fxtm-navy);
  font-weight: 600;
}

/* 定義リスト形式 */
.fxtm-legal dl { margin-block: 0 1.4em; }
.fxtm-legal dt {
  margin-top: 1em;
  font-size: .93rem;
  font-weight: 700;
  color: var(--fxtm-navy);
}
.fxtm-legal dd { margin: .3em 0 0; padding-left: 1.2em; font-size: .92rem; line-height: 1.95; }

/* 末尾の連絡先ブロック */
.fxtm-legal__contact {
  margin-top: 3rem;
  padding: 1.5rem 1.6rem;
  border: 1px solid var(--fxtm-bg-line);
  border-radius: var(--fxtm-radius);
  background: var(--fxtm-white);
}
.fxtm-legal__contact h2 {
  counter-increment: none;
  display: block;
  margin: 0 0 .7em !important;
  padding: 0;
  border: none;
  font-size: 1rem;
}
.fxtm-legal__contact h2::before { content: none; }
.fxtm-legal__contact p { margin-bottom: .5em; font-size: .9rem; }

@media (max-width: 782px) {
  .fxtm-legal h2 { flex-wrap: wrap; gap: .5em; }
  .fxtm-legal__toc { padding: 1.1rem 1.2rem; }
}

/* ===== 固定ページ：ヘッダー周りの整形 ===== */

/* 1) テーマ出力のページタイトルを消す */
.page .c-pageTitle,
.page .p-pageTitle,
.page .l-mainContent__title,
.page .c-postTitle,
.page .c-postTitle__ttl,
.page .p-articleHead__title {
  display: none !important;
}

.page header:has(> .c-pageTitle),
.page header:has(> .p-pageTitle),
.page header:has(> .l-mainContent__title),
.page header:has(> .c-postTitle),
.page [class*="Head"]:has(> .c-pageTitle),
.page [class*="Title"]:has(> .c-pageTitle),
.page [class*="title"]:has(> .c-pageTitle) {
  display: none !important;
}

/* 2) パンくず直下の余白を完全に除去してヒーローを密着させる */
.page #content,
.page .l-content,
.page .l-mainContent,
.page .l-mainContent__inner,
.page .l-article,
.page article.post,
.page .post_content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.page .p-breadcrumb,
.page .c-breadcrumb,
.page .l-breadcrumb {
  margin-bottom: 0 !important;
}

/* 3) ヒーローの内側余白を締める */
.fxtm-pagehead {
  padding-top: 3.5rem !important;
  padding-bottom: 3rem !important;
}

.fxtm-pagehead h1 {
  margin-top: 0 !important;
  margin-bottom: 1.25rem !important;
}

.fxtm-pagehead .fxtm-pagehead__lead {
  margin-bottom: 2rem !important;
}

.fxtm-pagehead .fxtm-chips {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

@media (max-width: 782px) {
  .fxtm-pagehead {
    padding-top: 2.25rem !important;
    padding-bottom: 2rem !important;
  }
  .fxtm-pagehead h1 { margin-bottom: 1rem !important; }
  .fxtm-pagehead .fxtm-pagehead__lead { margin-bottom: 1.5rem !important; }
}

/* ============================================================
   FXTradingMarkets ─ カバーブロック（画像セクション）対応
   子テーマ style.css の末尾、または 追加CSS に貼り付け
   ============================================================ */

/* ---- 共通：カバーブロック化したセクションの下地をリセット ---- */
.wp-block-cover.fxtm-hero,
.wp-block-cover.fxtm-imgsection {
  background: none;
  min-height: 0;
  display: block;          /* カバー既定の flex 中央寄せを解除 */
  overflow: hidden;
  position: relative;
}

/* 画像・オーバーレイ・本文の重なり順を明示する */
.wp-block-cover.fxtm-hero > img.wp-block-cover__image-background,
.wp-block-cover.fxtm-imgsection > img.wp-block-cover__image-background {
  z-index: 0;
  object-fit: cover;
}

.wp-block-cover.fxtm-hero > .wp-block-cover__background,
.wp-block-cover.fxtm-imgsection > .wp-block-cover__background {
  z-index: 1;
}

.wp-block-cover.fxtm-hero > .wp-block-cover__inner-container,
.wp-block-cover.fxtm-imgsection > .wp-block-cover__inner-container {
  position: relative;
  z-index: 3;
  width: 100%;
}

/* ---- ヒーロー ---- */
.wp-block-cover.fxtm-hero {
  padding-block: clamp(3.5rem, 8vw, 6rem);
}

/* 格子模様は写真の上に薄く重ねる */
.wp-block-cover.fxtm-hero::before {
  z-index: 2;
}

/* コードで描いたローソク足は写真と競合するため停止 */
.wp-block-cover.fxtm-hero::after {
  display: none !important;
}

/* 写真をテクスチャとして沈める（彩度を落とし、締める） */
.wp-block-cover.fxtm-hero > img.wp-block-cover__image-background {
  filter: saturate(.75) contrast(1.05);
}

/* ---- 画像入りネイビーセクション ---- */
.wp-block-cover.fxtm-imgsection {
  padding-block: clamp(2.75rem, 6vw, 4.5rem);
}

/* 既存のネイビー背景と装飾を無効化（画像に置き換わるため） */
.wp-block-cover.fxtm-imgsection.fxtm-section--navy::before {
  display: none;
}

.wp-block-cover.fxtm-imgsection > img.wp-block-cover__image-background {
  filter: saturate(.6) contrast(1.05);
}

/* 最終CTAは中央寄せを維持 */
.wp-block-cover.fxtm-cta > .wp-block-cover__inner-container {
  text-align: center;
}

/* ---- モバイル：写真より可読性を優先する ---- */
@media (max-width: 782px) {
  .wp-block-cover.fxtm-hero > img.wp-block-cover__image-background,
  .wp-block-cover.fxtm-imgsection > img.wp-block-cover__image-background {
    filter: saturate(.5) contrast(1.05) brightness(.8);
  }

  .wp-block-cover.fxtm-hero {
    padding-block: 2.5rem 2.25rem;
  }
}

/* ---- 動きを好まないユーザーへの配慮（既存アニメーションがある場合） ---- */
@media (prefers-reduced-motion: reduce) {
  .wp-block-cover.fxtm-hero,
  .wp-block-cover.fxtm-hero::before {
    animation: none !important;
  }
}

/* ============================================================
   FXTradingMarkets ─ フッター直前の法的注記
   子テーマ style.css の末尾、または 追加CSS に貼り付け
   ============================================================ */

.fxtm-footnote {
  padding-block: 2.75rem 3rem;
  padding-inline: 1.5rem;
  background: #FFFFFF;
  border-top: 1px solid #E4E8ED;
  color: #5A646F;
  font-size: .875rem;      /* 14px */
  line-height: 1.9;
  letter-spacing: .005em;
}

.fxtm-footnote__inner {
  max-width: 1200px;
  margin-inline: auto;
}

/* ---- 2段組み（段の途中で段落を割らない） ---- */
.fxtm-footnote__body {
  column-count: 2;
  column-gap: 3.5rem;
}

.fxtm-footnote__row {
  break-inside: avoid;
  margin: 0 0 1.5em !important;
  padding: 0;
}

/* ---- ラベル ---- */
.fxtm-footnote__row strong {
  display: block;
  margin-bottom: .1em;
  color: #2F3944;
  font-size: .9375rem;   /* 15px */
  font-weight: 700;
}

/* ---- リンク ---- */
.fxtm-footnote a {
  color: #1E4B8F;
  text-decoration: none;
  border-bottom: 1px solid rgba(30, 75, 143, .3);
}

.fxtm-footnote a:hover {
  border-bottom-color: currentColor;
}

/* ---- 法的文書へのリンク列 ---- */
.fxtm-footnote__links {
  margin: .5rem 0 0 !important;
  padding-top: 1.5rem;
  border-top: 1px solid #E4E8ED;
  line-height: 2.4;
  color: #A8B0B9;
}

.fxtm-footnote__links a {
  margin-right: 1.1em;
  white-space: nowrap;
  color: #6B747E;
  border-bottom: none;
}

.fxtm-footnote__links a:hover {
  color: #1E4B8F;
  border-bottom: 1px solid currentColor;
}

/* ---- 未確定項目（公開前に外す想定） ---- */
.fxtm-footnote mark {
  background: rgba(201, 162, 39, .2);
  color: inherit;
  padding-inline: .15em;
}

/* ---- タブレット・スマホ：1段組み ---- */
@media (max-width: 900px) {
  .fxtm-footnote__body {
    column-count: 1;
  }
}

@media (max-width: 782px) {
  .fxtm-footnote {
    padding-block: 2.25rem 2.5rem;
    padding-inline: 1.25rem;
    font-size: .8125rem;   /* 13px */
    line-height: 1.85;
  }

  .fxtm-footnote__row {
    margin-bottom: 1.3em !important;
  }

  .fxtm-footnote__row strong {
    font-size: .875rem;
  }

  .fxtm-footnote__links a {
    display: inline-block;
    margin-right: .9em;
  }
}