/* ===================================================================
   ROBOT WEAR base.css — デザインシステム（1ファイル完結）
   コンセプト: ロボット用ユニフォーム・作業着・保護服の B2B サービスサイト。
   トーン: 誠実・プロフェッショナル・カッチリ（発注先として信頼できる会社）。
   DNA: Smartmart 系譜（LINE Seed JP / 白基調＋細ボーダー＋控えめシャドウ）を、
        プライマリをネイビー #1c2b33 × ブルー #0668E1 の法人トーンに再トークン化。
        ロゴはテキスト「ROBOT WEAR」太字サンセリフ（橙の「！」は使わない＝ロボットマートと区別）。
   ルール: 絵文字禁止（アイコンは rw_icon() の Lucide SVG）。
           インラインスタイル禁止。ページ内 <style> 禁止。
           カードのtop/leftボーダーアクセント禁止（齊木さん指示 2026-06-13）。
   =================================================================== */

/* ---- デザイントークン（Smartmart variables.css 系譜・法人トーン） ---- */
:root {
  --rw-ink:        #1c2b33;   /* 基本テキスト（sm-black） */
  --rw-ink-soft:   #5b6b76;   /* 補助テキスト */
  --rw-bg:         #ffffff;
  --rw-bg-soft:    #f5f7fa;   /* セクション交互背景 */
  --rw-bg-soft2:   #f8f9fa;
  --rw-line:       #e0e5eb;   /* 罫線（sm border-color） */
  --rw-line-light: #f0f3f6;

  --rw-navy:       #1c2b33;   /* プライマリ（法人トーンの主役） */
  --rw-navy-mid:   #344854;
  --rw-navy-soft:  #eef2f6;   /* ネイビー淡背景 */
  --rw-blue:       #0668E1;   /* アクセント（sm-blue） */
  --rw-blue-dark:  #0558C0;
  --rw-blue-light: #0080FB;
  --rw-blue-bg:    #eef5fe;   /* ブルー薄背景 */

  --rw-warn-bg:    #fff8e6;   /* 安全注意 */
  --rw-warn-line:  #f3dda8;
  --rw-ok:         #10b981;
  --rw-err:        #ef4444;

  --rw-radius:     10px;
  --rw-radius-sm:  6px;
  --rw-radius-lg:  16px;
  --rw-radius-pill: 999px;

  --rw-shadow:     0 2px 4px rgba(28, 43, 51, 0.06);
  --rw-shadow-lg:  0 8px 24px rgba(28, 43, 51, 0.12);

  --rw-maxw:       1140px;
  --rw-font: "Montserrat", "LINE Seed JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans",
             "Noto Sans JP", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

/* ---- リセット & ベース ---- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--rw-font);
  font-style: italic;
  font-synthesis: none;
  color: var(--rw-ink);
  background: var(--rw-bg);
  line-height: 1.8;
  font-size: 15.5px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--rw-blue); text-decoration: none; }
a:hover { text-decoration: underline; }
h1, h2, h3 { line-height: 1.35; font-weight: 700; letter-spacing: .01em; }
.rw-icon { vertical-align: -0.18em; flex: none; }

[hidden] { display: none !important; }

/* ---- レイアウト ---- */
.rw-container { width: 100%; max-width: var(--rw-maxw); margin: 0 auto; padding: 0 20px; }
.rw-section { padding: 56px 0; }
.rw-section--alt { background: var(--rw-bg-soft); }
.rw-section--navy-soft { background: var(--rw-navy-soft); }
.rw-section__title { font-size: 1.55rem; margin: 0 0 8px; text-align: center; font-weight: 800; }
.rw-section__lead { text-align: center; color: var(--rw-ink-soft); margin: 0 auto 30px; max-width: 720px; }
.rw-section__title--left { text-align: left; }
.rw-section__lead--left { text-align: left; margin-left: 0; }

/* ---- ヘッダー（白・クリーン・sticky） ---- */
.rw-header {
  position: sticky; top: 0; z-index: 50;
  background: #fff;
  border-bottom: 1px solid var(--rw-line);
}
.rw-header__inner { display: flex; align-items: center; justify-content: space-between; min-height: 64px; }
.rw-header__logo { display: inline-flex; align-items: center; gap: 9px; }
.rw-header__logo:hover { text-decoration: none; }
.rw-header__logo-mark { color: var(--rw-blue); flex: none; }
.rw-header__logo-text { font-family: 'Montserrat', sans-serif; font-weight: 500; font-style: italic; font-size: 1.28rem; color: var(--rw-navy); letter-spacing: .01em; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

/* ナビ（details/summary でJS不要開閉） */
.rw-nav { position: relative; }
.rw-nav__toggle {
  list-style: none; cursor: pointer; width: 42px; height: 42px;
  display: inline-flex; flex-direction: column; justify-content: center; align-items: center; gap: 5px;
  border-radius: var(--rw-radius-sm); border: 1px solid var(--rw-line);
}
.rw-nav__toggle::-webkit-details-marker { display: none; }
.rw-nav__toggle-bar { width: 20px; height: 2px; background: var(--rw-ink); border-radius: 2px; }
.rw-nav__menu {
  position: absolute; right: 0; top: 52px; min-width: 240px;
  background: #fff; border: 1px solid var(--rw-line); border-radius: var(--rw-radius);
  box-shadow: var(--rw-shadow-lg); padding: 8px;
}
.rw-nav__list { list-style: none; margin: 0; padding: 0; }
.rw-nav__item { margin: 2px 0; }
.rw-nav__link { display: block; padding: 10px 12px; border-radius: var(--rw-radius-sm); color: var(--rw-ink); font-weight: 700; font-size: .95rem; }
.rw-nav__link:hover { background: var(--rw-bg-soft); text-decoration: none; color: var(--rw-blue); }
.rw-nav__item--cta { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--rw-line); }
.rw-nav__item--cta .rw-btn { display: block; text-align: center; }

@media (min-width: 960px) {
  .rw-nav__toggle { display: none; }
  .rw-nav__menu { position: static; min-width: 0; border: 0; box-shadow: none; padding: 0; background: transparent; }
  .rw-nav__list { display: flex; align-items: center; gap: 4px; }
  .rw-nav__item--cta { margin: 0 0 0 10px; padding: 0; border: 0; }
}

/* ---- ボタン ---- */
.rw-btn {
  display: inline-block; font-weight: 700; text-align: center; cursor: pointer;
  border: 1px solid transparent; border-radius: var(--rw-radius);
  padding: 12px 26px; font-size: .98rem; line-height: 1.3;
  transition: background .15s ease, box-shadow .15s ease, color .15s ease, border-color .15s ease;
}
.rw-btn:hover { text-decoration: none; }
.rw-btn--sm { padding: 8px 16px; font-size: .88rem; }
.rw-btn--lg { padding: 15px 38px; font-size: 1.05rem; }
.rw-btn--navy { background: var(--rw-navy); color: #fff; }
.rw-btn--navy:hover { background: var(--rw-navy-mid); box-shadow: var(--rw-shadow-lg); }
.rw-btn--primary { background: var(--rw-blue); color: #fff; }
.rw-btn--primary:hover { background: var(--rw-blue-dark); box-shadow: var(--rw-shadow-lg); }
.rw-btn--ghost { background: #fff; color: var(--rw-ink); border-color: var(--rw-line); }
.rw-btn--ghost:hover { border-color: var(--rw-blue); color: var(--rw-blue); }

/* ---- ヒーロー（ダークネイビー＝法人トーンの主役） ---- */
.rw-hero {
  background:
    radial-gradient(900px 420px at 82% -10%, rgba(6,104,225,.30), transparent 60%),
    linear-gradient(160deg, #131e25 0%, #1c2b33 58%, #21353f 100%);
  color: #fff;
  padding: 72px 0 64px;
}
.rw-hero__inner { max-width: 760px; }
.rw-hero__eyebrow { color: #8fc4ff; font-weight: 800; letter-spacing: .08em; font-size: .82rem; margin: 0 0 14px; }
.rw-hero__title { font-size: 2rem; margin: 0 0 16px; font-weight: 800; color: #fff; }
.rw-hero__title em { font-style: normal; color: #7ec1ff; }
.rw-hero__sub { font-size: 1.04rem; color: rgba(255,255,255,.88); margin: 0 0 28px; max-width: 660px; }
.rw-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.rw-hero__actions .rw-btn--ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.5); }
.rw-hero__actions .rw-btn--ghost:hover { border-color: #fff; color: #fff; background: rgba(255,255,255,.08); }
/* ダークヒーロー上の navy ボタンは沈むためブルーに引き上げ */
.rw-hero .rw-btn--navy { background: var(--rw-blue); }
.rw-hero .rw-btn--navy:hover { background: var(--rw-blue-dark); }
.rw-hero--center { text-align: center; }
.rw-hero--center .rw-hero__inner { margin: 0 auto; }
.rw-hero--center .rw-hero__sub { margin-left: auto; margin-right: auto; }
.rw-hero--center .rw-hero__actions { justify-content: center; }
.rw-hero__meta { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 26px; color: rgba(255,255,255,.82); font-size: .9rem; }
.rw-hero__meta-item { display: inline-flex; align-items: center; gap: 7px; }
.rw-hero__meta-item .rw-icon { color: #8fc4ff; }
@media (min-width: 720px) { .rw-hero__title { font-size: 2.5rem; } }

/* ---- グリッド ---- */
.rw-grid { display: grid; gap: 18px; grid-template-columns: 1fr; }
.rw-grid--2 { grid-template-columns: 1fr; }
.rw-grid--3 { grid-template-columns: 1fr; }
.rw-grid--4 { grid-template-columns: repeat(2, 1fr); }
@media (min-width: 640px) {
  .rw-grid--2 { grid-template-columns: repeat(2, 1fr); }
  .rw-grid--3 { grid-template-columns: repeat(2, 1fr); }
  .rw-grid--4 { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 920px) {
  .rw-grid--3 { grid-template-columns: repeat(3, 1fr); }
  .rw-grid--4 { grid-template-columns: repeat(4, 1fr); }
}

/* ---- カード（白・細ボーダー・控えめ浮き・均一1pxフラット） ---- */
a.rw-card { color: inherit; }
a.rw-card:hover { text-decoration: none; }
.rw-card {
  background: #fff; border: 1px solid var(--rw-line); border-radius: var(--rw-radius);
  padding: 24px; box-shadow: var(--rw-shadow);
  transition: box-shadow .15s ease, border-color .15s ease;
  display: flex; flex-direction: column;
}
.rw-card:hover { box-shadow: var(--rw-shadow-lg); border-color: #c9d4de; }
.rw-card__icon { color: var(--rw-blue); margin: 0 0 12px; }
.rw-card__eyebrow { font-size: .78rem; font-weight: 800; letter-spacing: .07em; color: var(--rw-blue); margin: 0 0 6px; }
.rw-card__title { font-size: 1.16rem; margin: 0 0 10px; color: var(--rw-navy); }
.rw-card__text { color: var(--rw-ink-soft); margin: 0 0 14px; flex: 1; font-size: .94rem; }
.rw-card__link { font-weight: 700; align-self: flex-start; font-size: .95rem; }
.rw-card .rw-tag, .rw-card .rw-badge { align-self: flex-start; }
.rw-card__tags { display: block; margin-bottom: 10px; }

/* 機種グリッド用ミニカード */
.rw-modelcard { text-align: center; padding: 24px 16px 20px; }
.rw-modelcard__icon { color: var(--rw-blue); margin: 0 auto 6px; display: block; }
.rw-modelcard__name { font-weight: 800; font-size: 1.06rem; margin: 6px 0 2px; color: var(--rw-navy); }
.rw-modelcard__maker { font-size: .8rem; color: var(--rw-ink-soft); margin: 0 0 12px; }

/* 数字を見せるスタット（信頼の指標を控えめに） */
.rw-stat { text-align: center; padding: 22px 16px; }
.rw-stat__value { font-size: 1.7rem; font-weight: 800; color: var(--rw-navy); margin: 0 0 4px; }
.rw-stat__label { font-size: .9rem; color: var(--rw-ink-soft); margin: 0; }

/* ---- バッジ / タグ ---- */
.rw-badge {
  display: inline-block; font-size: .76rem; font-weight: 700;
  padding: 4px 12px; border-radius: var(--rw-radius-pill);
  background: var(--rw-blue-bg); color: var(--rw-blue-dark);
}
.rw-badge--navy { background: var(--rw-navy); color: #fff; }
.rw-badge--mint { background: #e7f8f2; color: #0a7d62; }
.rw-tag {
  display: inline-block; font-size: .8rem; font-weight: 700;
  padding: 4px 12px; margin: 0 6px 8px 0; border-radius: var(--rw-radius-pill);
  background: var(--rw-bg-soft); color: var(--rw-ink-soft); border: 1px solid var(--rw-line);
}
.rw-tag--navy { background: var(--rw-navy-soft); color: var(--rw-navy-mid); border-color: #d4dde5; }
.rw-taglist { margin: 8px 0 0; }

/* ---- テーブル ---- */
.rw-table-wrap { overflow-x: auto; margin: 16px 0 20px; }
.rw-table { width: 100%; border-collapse: collapse; font-size: .93rem; background: #fff; min-width: 520px; }
.rw-table th, .rw-table td { padding: 12px 14px; border: 1px solid var(--rw-line); text-align: left; vertical-align: top; }
.rw-table th { background: var(--rw-bg-soft); font-weight: 700; }
.rw-table thead th { white-space: nowrap; }
.rw-table--head-navy thead th { background: var(--rw-navy); color: #fff; }
.rw-table--keyed tbody th { background: var(--rw-bg-soft); font-weight: 700; white-space: nowrap; }

/* ---- 安全注意ボックス ---- */
.rw-note {
  background: var(--rw-warn-bg); border: 1px solid var(--rw-warn-line);
  border-radius: var(--rw-radius-sm);
  padding: 16px 20px; margin: 18px 0; color: var(--rw-ink); font-size: .93rem;
}
.rw-note p { margin: 0 0 10px; }
.rw-note p:last-child { margin-bottom: 0; }
.rw-note-label { font-weight: 800; margin: 0 0 8px; }

/* 情報コールアウト（注記。左帯は使わず淡背景＋見出し色で区別） */
.rw-callout {
  background: var(--rw-blue-bg); border: 1px solid #cfe2fb;
  border-radius: var(--rw-radius-sm); padding: 16px 20px; margin: 18px 0; font-size: .93rem;
}
.rw-callout__title { font-weight: 800; color: var(--rw-blue-dark); margin: 0 0 6px; }
.rw-callout p { margin: 0; }

/* ---- パンくず ---- */
.rw-breadcrumb { background: var(--rw-bg-soft2); border-bottom: 1px solid var(--rw-line-light); font-size: .82rem; }
.rw-breadcrumb__list { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 9px 0; }
.rw-breadcrumb__item { color: var(--rw-ink-soft); }
.rw-breadcrumb__item:not(:last-child)::after { content: "›"; margin-left: 6px; color: #b6c2cc; }
.rw-breadcrumb__item a { color: var(--rw-ink-soft); }
.rw-breadcrumb__item--current { color: var(--rw-ink); font-weight: 700; }

/* ---- FAQ ---- */
.rw-faq__list { max-width: 800px; margin: 0 auto; }
.rw-faq__item { background: #fff; border: 1px solid var(--rw-line); border-radius: var(--rw-radius-sm); margin-bottom: 10px; overflow: hidden; }
.rw-faq__q { cursor: pointer; list-style: none; padding: 16px 46px 16px 18px; font-weight: 700; position: relative; font-size: .97rem; color: var(--rw-navy); }
.rw-faq__q::-webkit-details-marker { display: none; }
.rw-faq__q::after { content: "＋"; position: absolute; right: 16px; top: 15px; color: var(--rw-blue); font-weight: 700; }
.rw-faq__item[open] .rw-faq__q::after { content: "－"; }
.rw-faq__a { padding: 0 18px 16px; color: var(--rw-ink-soft); font-size: .94rem; }
.rw-faq__a p { margin: 0 0 10px; }
.rw-faq__a p:last-child { margin-bottom: 0; }

/* ---- CTA ---- */
.rw-cta { background: var(--rw-navy); color: #fff; }
.rw-cta__inner { text-align: center; max-width: 700px; margin: 0 auto; }
.rw-cta__lead { font-size: 1.45rem; font-weight: 800; margin: 0 0 8px; color: #fff; }
.rw-cta__sub { color: rgba(255,255,255,.85); margin: 0 0 24px; }
.rw-cta .rw-btn--primary { background: #fff; color: var(--rw-navy); }
.rw-cta .rw-btn--primary:hover { background: var(--rw-blue-bg); color: var(--rw-blue-dark); }
.rw-cta__actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.rw-cta__actions .rw-btn--ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.5); }
.rw-cta__actions .rw-btn--ghost:hover { border-color: #fff; color: #fff; background: rgba(255,255,255,.08); }

/* ---- フォーム ---- */
.rw-form { max-width: 700px; margin: 0 auto; }
.rw-form__row { margin-bottom: 18px; }
.rw-form__label { display: block; font-weight: 700; margin-bottom: 7px; font-size: .95rem; }
.rw-form__req { color: var(--rw-err); font-size: .8rem; margin-left: 6px; }
.rw-form__hint { display: block; color: var(--rw-ink-soft); font-size: .84rem; margin-top: 5px; }
.rw-form input[type="text"],
.rw-form input[type="email"],
.rw-form input[type="tel"],
.rw-form select,
.rw-form textarea {
  width: 100%; font-size: 16px; /* iOSズーム対策 */
  font-family: inherit; color: var(--rw-ink);
  padding: 12px 14px; border: 1px solid var(--rw-line); border-radius: var(--rw-radius-sm);
  background: #fff;
}
.rw-form input:focus, .rw-form select:focus, .rw-form textarea:focus {
  outline: none; border-color: var(--rw-blue); box-shadow: 0 0 0 3px rgba(6,104,225,.14);
}
.rw-form textarea { min-height: 140px; resize: vertical; }
.rw-form__radios { display: flex; flex-wrap: wrap; gap: 10px; }
.rw-form__radio { display: inline-flex; align-items: center; gap: 7px; padding: 9px 14px; border: 1px solid var(--rw-line); border-radius: var(--rw-radius-pill); cursor: pointer; font-weight: 700; font-size: .92rem; background: #fff; }
.rw-form__radio input { accent-color: var(--rw-blue); }
.rw-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; } /* honeypot */
.rw-form__actions { text-align: center; margin-top: 8px; }

/* フォーム結果メッセージ（alert禁止の受け皿） */
.rw-alert { border-radius: var(--rw-radius-sm); padding: 14px 18px; margin-bottom: 20px; font-weight: 700; }
.rw-alert--ok { background: #e8faf3; border: 1px solid var(--rw-ok); color: #066d52; }
.rw-alert--err { background: #fdecec; border: 1px solid var(--rw-err); color: #b42020; }
.rw-alert__list { margin: 8px 0 0; padding-left: 20px; font-weight: 400; }

/* ---- 記事・本文レイアウト（長文ページ共通） ---- */
.rw-article__header { padding: 44px 0 8px; }
.rw-article__title { font-size: clamp(1.5rem, 3.4vw, 2rem); margin: 0 0 12px; font-weight: 700; color: var(--rw-navy); }
.rw-article__lead { font-size: 1.04rem; color: var(--rw-ink-soft); max-width: 760px; margin: 0; }
.rw-article__body { max-width: 800px; margin: 0 auto; padding: 8px 0 8px; }
.rw-article__body h2 { font-size: 1.4rem; margin: 42px 0 14px; padding-bottom: 8px; border-bottom: 2px solid var(--rw-line); color: var(--rw-navy); }
.rw-article__body h3 { font-size: 1.14rem; margin: 28px 0 10px; color: var(--rw-navy); }
.rw-article__body p { margin: 0 0 16px; }
.rw-article__body ul, .rw-article__body ol { padding-left: 22px; margin: 0 0 16px; }
.rw-article__body li { margin-bottom: 6px; }

/* チェックリスト（安全チェック等・記号はSVGアイコンで） */
.rw-checklist { list-style: none; padding: 0; margin: 12px 0 4px; }
.rw-checklist__item {
  position: relative; padding: 11px 0 11px 34px; border-bottom: 1px dashed var(--rw-line);
  font-size: .95rem;
}
.rw-checklist__item:last-child { border-bottom: 0; }
.rw-checklist__icon {
  position: absolute; left: 2px; top: 12px;
  display: inline-flex; align-items: center; justify-content: center;
  width: 22px; height: 22px; border-radius: 50%;
  background: #e8faf3; color: #0a7d62;
}
.rw-checklist__icon .rw-icon { width: 14px; height: 14px; }
.rw-checklist__icon--no { background: #fdecec; color: #b42020; }

/* 手順（番号ステップ） */
.rw-steps { counter-reset: rwstep; list-style: none; padding: 0; margin: 14px 0 18px; }
.rw-steps__item {
  counter-increment: rwstep; position: relative;
  padding: 16px 18px 16px 64px; margin-bottom: 12px;
  background: #fff; border: 1px solid var(--rw-line); border-radius: var(--rw-radius);
  font-size: .95rem; box-shadow: var(--rw-shadow);
}
.rw-steps__item::before {
  content: counter(rwstep);
  position: absolute; left: 18px; top: 18px;
  width: 32px; height: 32px; border-radius: 50%;
  background: var(--rw-navy); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: .95rem;
}
.rw-steps__title { font-weight: 700; color: var(--rw-navy); margin: 0 0 6px; font-size: 1.04rem; }
.rw-steps__text { margin: 0; color: var(--rw-ink-soft); }

/* 関連リンク */
.rw-related { list-style: none; padding: 0; margin: 8px 0 0; display: grid; gap: 8px; }
.rw-related__item {
  font-size: .93rem; background: #fff; border: 1px solid var(--rw-line);
  border-radius: var(--rw-radius-sm);
}
.rw-related__item a { display: block; padding: 12px 14px; font-weight: 700; }
.rw-related__item a:hover { text-decoration: none; background: var(--rw-bg-soft); }
@media (min-width: 640px) { .rw-related { grid-template-columns: repeat(2, 1fr); } }

/* 定義リスト風（仕様・採寸の特徴） */
.rw-deflist { margin: 14px 0 18px; border: 1px solid var(--rw-line); border-radius: var(--rw-radius); overflow: hidden; background: #fff; }
.rw-deflist__row { display: grid; grid-template-columns: 1fr; border-bottom: 1px solid var(--rw-line); }
.rw-deflist__row:last-child { border-bottom: 0; }
.rw-deflist__key { background: var(--rw-bg-soft); font-weight: 700; padding: 12px 14px; color: var(--rw-navy); }
.rw-deflist__val { padding: 12px 14px; color: var(--rw-ink); }
@media (min-width: 640px) { .rw-deflist__row { grid-template-columns: 200px 1fr; } .rw-deflist__key { border-right: 1px solid var(--rw-line); } }

/* ---- フッター ---- */
.rw-footer { background: var(--rw-navy); color: #c7d2da; padding: 48px 0 30px; margin-top: 24px; }
.rw-footer__top { display: grid; gap: 28px; grid-template-columns: 1fr; margin-bottom: 28px; }
@media (min-width: 720px) { .rw-footer__top { grid-template-columns: 1.4fr 1fr 1fr; } }
.rw-footer__brand-name { font-size: 1.2rem; font-weight: 700; color: #fff; letter-spacing: .04em; margin: 0 0 8px; }
.rw-footer__brand-text { font-size: .88rem; color: #aebbc5; margin: 0 0 14px; max-width: 360px; }
.rw-footer__heading { font-size: .95rem; color: #fff; margin: 0 0 12px; font-weight: 700; }
.rw-footer__list { list-style: none; margin: 0; padding: 0; }
.rw-footer__list li { margin-bottom: 8px; }
.rw-footer__link { color: #aebbc5; font-size: .9rem; }
.rw-footer__link:hover { color: #fff; }
.rw-footer__network { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); border-radius: var(--rw-radius); padding: 16px 20px; margin-bottom: 22px; font-size: .88rem; color: #c7d2da; }
.rw-footer__network a { color: #8fc4ff; font-weight: 700; }
.rw-footer__safety { color: #c7d2da; font-size: .88rem; margin-bottom: 18px; }
.rw-footer__legal { border-top: 1px solid rgba(255,255,255,.12); padding-top: 18px; font-size: .8rem; color: #93a1ac; }
.rw-footer__legal p { margin: 4px 0; }
.rw-footer__operator { color: #e3eaef; font-weight: 700; }
.rw-footer__trademark { font-size: .78rem; }
.rw-footer__copyright { margin-top: 10px; }

/* ---- ユーティリティ ---- */
.rw-center { text-align: center; }
.rw-mt-0 { margin-top: 0; }
.rw-mt-1 { margin-top: 8px; }
.rw-mt-2 { margin-top: 16px; }
.rw-mt-3 { margin-top: 24px; }
.rw-mt-4 { margin-top: 32px; }
.rw-mb-0 { margin-bottom: 0; }
.rw-mb-2 { margin-bottom: 16px; }
.rw-lead { font-size: 1.05rem; color: var(--rw-ink-soft); }
.rw-muted { color: var(--rw-ink-soft); }
.rw-strong { font-weight: 700; color: var(--rw-navy); }
.rw-list { padding-left: 22px; margin: 0 0 16px; }
.rw-list--tight li { margin-bottom: 4px; }
.rw-list-plain { list-style: none; padding: 0; margin: 0; }
.rw-list-indent { margin: 10px 0 0; padding-left: 20px; }
.rw-list-check { list-style: none; padding: 0; margin: 12px 0; }
.rw-list-check li { position: relative; padding: 6px 0 6px 30px; }
.rw-list-check .rw-icon { position: absolute; left: 0; top: 9px; color: var(--rw-ok); }
.rw-prose p { margin: 0 0 16px; }
.rw-prose h2 { font-size: 1.4rem; margin: 36px 0 12px; color: var(--rw-navy); }
.rw-prose h3 { font-size: 1.14rem; margin: 24px 0 10px; color: var(--rw-navy); }
.rw-prose ul, .rw-prose ol { padding-left: 22px; margin: 0 0 16px; }
.rw-prose li { margin-bottom: 6px; }
.rw-visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.rw-divider { border: 0; border-top: 1px solid var(--rw-line); margin: 32px 0; }

/* 構造フック（スタイル無し・未定義クラス検査対策で明示定義） */
.rw-faq {}
.rw-footer__col {}
