@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.3
    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
*/
/* =================================================================== */
/* ===== REVOLUS CUSTOM STYLES ======================================= */
/* 方針: SWELL標準機能を最大化。喧嘩する打ち消しCSSは原則作らない        */
/* =================================================================== */

/* --- カラー変数（CSS変数として全体で使用） ----------------------- */
:root {
  --sky-1: #bfdcec;
  --sky-2: #74a2d1;
  --sky-3: #5782b8;
  --ink: #1d1b1a;
  --paper-2: #f6f8fc;
  --gold: #b18435;
  --gold-soft: #f3ead2;
  --cream: #faf6ee;
}

/* --- 英字ラベル（セクション共通） ------------------------------- */
/* 使用箇所: 各セクションの英字小見出し（OUR MESSAGE / WHY REVOLUS 等） */
/* Sky Deep・字間広め・左に短い横線。左寄せが既定、--centerで中央寄せ  */
/* JetBrains Mono等の等幅は使わず游ゴシックのまま（AIテンプレ回避）     */
.post_content .rv-label {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 13px;
  font-weight: 700;
  color: var(--sky-3);
  letter-spacing: .18em;
  margin: 0 0 1.2em 0;
}
.post_content .rv-label::before {
  content: "";
  width: 32px;
  height: 1px;
  background: var(--sky-3);
  display: inline-block;
  flex: none;
}
/* 中央寄せ: 線→テキストの並びを中央に配置（横線は片側のまま統一） */
.post_content .rv-label--center {
  justify-content: center;
}

/* --- CTAバナー（濃紺フラット） ----------------------------------- */
/* 使用箇所: 全ページのCTAバナーセクション（TOP/ドローンサービス/講習） */
/* 第3章「濃色の使い分けルール」: 締めのCTA＝フラット濃紺ベタ#15314f・ */
/* ドット無し。コンテンツ濃色(rv-business-section)のグラデ＋ドットとは   */
/* 質感で区別する                                                      */
/* !important使用理由: SWELLフルワイドはデフォルトで薄いグレー背景      */
/* (#f7f7f7)をインラインstyleで付与し、エディタ側でクリアする手段が     */
/* 確実でない(公式仕様)。インラインに勝つためCTA限定スコープで使用      */
.cta-dark {
  background: #15314f !important;
  color: #fff;
}

/* ===== TOP / CTAバナー内要素（cta-dark内の専用装飾） ===== */
/* 構造: フルワイド(cta-dark) 内に上から                              */
/*   段落(rv-label rv-label--center)「CONTACT」                       */
/*   自動H2(rv-cta-h2)「まずはお気軽に、ご相談ください。」             */
/*   段落(rv-cta-lead) 補足文                                         */
/*   SWELLボタン(rv-cta-btn) 大型ゴーストボタン1つ                     */
/* ラベルは濃紺背景に映える明るい水色(rv-labelのSky Deepを上書き)       */

/* ラベルの横線・文字色を濃紺背景向けに明るく上書き */
.cta-dark .rv-label {
  color: var(--sky-1);
}
.cta-dark .rv-label::before {
  background: var(--sky-1);
}

/* H2を巨大化・白文字化。ラベルを上に置いたことで先頭でなくなり上余白が */
/* 出るため margin-top:0 で詰める(第4章 フルワイド自動H2の仕様対策) */
/* 下マージンは補足文との間を空けるため広めに取る                      */
.post_content .rv-cta-h2 {
  font-size: 42px;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: .05em;
  color: #fff;
  margin-top: 0;
  margin-bottom: 1.5em;
}
@media (max-width: 959px) {
  .post_content .rv-cta-h2 {
    font-size: 30px;
  }
}

/* 補足文: 半透明白・中央・読みやすい行間。最大幅で1行を抑える */
/* H2との間・ボタンとの間をしっかり空け、セクションに縦のゆとりを出す */
.post_content .rv-cta-lead {
  text-align: center;
  color: rgba(255, 255, 255, .82);
  font-size: 16px;
  line-height: 2;
  margin: 0 auto 4em;
  max-width: 40em;
}

/* 大型ゴーストボタン: SWELLボタンの色・サイズ指定をCSSで全上書き */
/* 白フチ＋半透明地で濃紺に映えるゴースト化(rv-hero-ghostと同方式) */
/* !important使用理由: SWELL標準ボタンスタイルとの構造的競合を上書き */
/* するため。CTAボタン限定スコープで他に影響しない                    */
.rv-cta-btn a {
  display: inline-block;
  min-width: 360px;
  padding: 1.1em 2em !important;
  background-color: rgba(255, 255, 255, .08) !important;
  border: 1px solid rgba(255, 255, 255, .85) !important;
  border-radius: 8px;
  color: #fff !important;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: .04em;
  transition: background-color .25s, transform .25s, box-shadow .25s;
}
.rv-cta-btn a:hover {
  background-color: rgba(255, 255, 255, .18) !important;
  border-color: #fff !important;
  transform: translateY(-3px);
  box-shadow: 0 24px 48px -22px rgba(0, 0, 0, .5);
}
@media (max-width: 959px) {
  .rv-cta-btn a {
    min-width: 0;
    width: 100%;
  }
}

/* --- 薄い青グラデ背景 -------------------------------------------- */
/* 使用箇所: 現状未使用。使用箇所が確定するまで残置（要棚卸し） */
.bg-sky-soft {
  background: linear-gradient(180deg, #eaf3fb 0%, #f8fbfe 100%);
}

/* ===== TOP / サービスセクション ===== */
/* 使用箇所: TOPページ「SERVICES」3カードセクション                     */
/* 構造(実DOM): フルワイド(rv-svc-section・サイト幅・PC60/SP40)          */
/*  └ リッチカラム(rv-svc-grid・PC3列均等/タブ・SP1列)                  */
/*     └ 各カラム > グループ(rv-svc-card)                              */
/*        └ .wp-block-group__inner-container(is-layout-constrained)    */
/*           ├ figure(rv-svc-cover) 画像880×480・カード端いっぱい       */
/*           ├ p(rv-svc-num)「SERVICE / 01」                          */
/*           ├ p(rv-svc-cat)「DX CONSULTING」                         */
/*           ├ h4(rv-svc-h4)                                          */
/*           ├ p(rv-svc-desc)                                         */
/*           ├ p(rv-svc-tags)                                         */
/*           └ グループ(rv-svc-foot) ＞ メタ＋ダミーボタン            */
/* カード全体クリッカブルは rv-card-link 方式(透明SWELLボタンを全面に)   */
/* 左端揃え: 個別paddingを廃し inner-container 側で左右余白を一括管理     */

/* --- 背景: 淡い青地 + 極細ドット(モック bg-blue-dot 準拠) --- */
.rv-svc-section {
  background-color: #eef3f8;
  background-image: radial-gradient(circle, rgba(87, 130, 184, .16) 1px, transparent 1.4px);
  background-size: 22px 22px;
}

/* --- 中央見出しH2(フルワイド自動H2に併用・選ばれる理由と統一) --- */
.post_content .rv-svc-h2 {
  font-size: 38px;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: .03em;
  color: var(--ink);
  margin-top: 0;
  margin-bottom: .5em;
}
@media (max-width: 959px) {
  .post_content .rv-svc-h2 {
    font-size: 28px;
  }
}

/* --- リード文(中央・控えめ) --- */
.post_content .rv-svc-lead {
  text-align: center;
  color: var(--ink);
  opacity: .85;
  margin: 0 auto 3.5em;
  max-width: 40em;
  line-height: 1.9;
}

/* --- リッチカラム: カラム子要素をflex化しカード高さ揃え --- */
.rv-svc-grid > .swell-block-columns__inner > .swell-block-column {
  display: flex;
}

/* --- 白カード本体: 角丸・高さ揃え・クリッカブル基準 --- */
.rv-svc-card {
  position: relative;
  height: 100%;
  width: 100%;
  border-radius: 12px;
  overflow: hidden;
  transition: transform .25s, box-shadow .25s;
}
.rv-svc-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 50px -24px rgba(20, 40, 80, .25);
}

/* カード外側グループのSWELL標準padding(--swl-box_padding:2em)を打ち消す */
/* 余白管理はinner-container側に一元化し、画像のネガティブマージンを端まで効かせる */
.rv-svc-card.has-white-background-color {
  padding: 0;
}

/* --- カード内コンテナ: 縦flex化＋左右padding一括(左端の基準を1本に) --- */
/* is-layout-constrained は子に margin-inline:auto 等を当て左端をずらすため、 */
/* 左右余白は子のmarginでなく親のpaddingで作り、子の左右marginは0で統一する  */
.rv-svc-card > .wp-block-group__inner-container {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 0 1.8em 1.8em;
}

/* カード内の全直接子要素: 左右マージンを0に統一し is-layout-constrained を打消 */
/* margin-inline:0 で中央寄せ用autoマージンを無効化、max-width:none で幅制約解除 */
.rv-svc-card > .wp-block-group__inner-container > * {
  margin-left: 0;
  margin-right: 0;
  margin-inline: 0;
  max-width: none;
  width: auto;
}

/* --- カバー画像: カード天面・左右いっぱい(モック準拠) --- */
/* 親の左右padding 1.8emと上padding分をネガティブマージンで打ち消し、     */
/* 画像だけカード端いっぱい・天面密着にする(他要素は1.8em内側のまま)       */
.rv-svc-card > .wp-block-group__inner-container > .rv-svc-cover {
  margin-top: 0;
  margin-left: -1.8em;
  margin-right: -1.8em;
  margin-bottom: 1.6em;
  width: auto;
  max-width: none;
}
.rv-svc-cover img {
  display: block;
  width: 100%;
  height: 240px;
  object-fit: cover;
}

/* --- 番号(SERVICE / 01) --- */
.post_content .rv-svc-num {
  font-size: .8em;
  font-weight: 700;
  letter-spacing: .12em;
  color: var(--sky-3);
  margin-top: 0;
  margin-bottom: .5em;
}

/* --- カテゴリ(DX CONSULTING) --- */
.post_content .rv-svc-cat {
  font-size: .7em;
  font-weight: 700;
  letter-spacing: .18em;
  color: var(--sky-2);
  margin-top: 0;
  margin-bottom: 2em;
}

/* --- H4見出し: SWELL .post_content h4 のマージンを詳細度で上書き --- */
.post_content .rv-svc-h4 {
  font-size: 1.35em;
  font-weight: 800;
  line-height: 1.55;
  color: var(--ink);
  margin-top: 0;
  margin-bottom: 1.4em;
}

/* --- 説明文: 中高年向けに読みやすく・最小高さで3枚のタグ開始位置を揃える --- */
.post_content .rv-svc-desc {
  font-size: 1.0625em;
  line-height: 2.05;
  color: var(--ink);
  margin-top: 0;
  margin-bottom: 2em;
  min-height: 8.2em;
}

/* --- タグ(スラッシュ区切り) --- */
.post_content .rv-svc-tags {
  font-size: .85em;
  font-weight: 600;
  letter-spacing: .04em;
  color: var(--sky-3);
  line-height: 1.8;
  margin-top: 0;
  margin-bottom: 2em;
}

/* --- フッター: メタ情報(左)＋ダミーボタン(右)を区切り線上に横並び --- */
/* 構造: グループ(rv-svc-foot) 内に 段落(rv-svc-meta)＋段落(rv-svc-more) */
/* margin-top:auto で最下部へ。左右1.8emは上の*ルールで付与済み          */
.rv-svc-card > .wp-block-group__inner-container > .rv-svc-foot {
  margin-top: auto;
  margin-bottom: 0;
  padding: 1.4em 0 0.4em;
  border-top: 1px solid rgba(87, 130, 184, .2);
}
/* foot内側コンテナをflex横並びに(直接の子=メタ・ボタンを両端揃え) */
.rv-svc-foot > .wp-block-group__inner-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
/* foot内の子要素は左右マージン不要(foot自体が1.8em内側にあるため) */
.rv-svc-foot > .wp-block-group__inner-container > * {
  margin-left: 0;
  margin-right: 0;
}

/* メタ情報: ラベル(細・淡)＋値(太・濃)。値はエディタで太字(Bold)指定 */
/* opacityは親子で乗算され子を濃くできないため、色そのもので濃淡を分ける */
.post_content .rv-svc-meta {
  font-size: .78em;
  color: #8a9099;
  letter-spacing: .06em;
  line-height: 1.5;
  margin: 0;
}
.post_content .rv-svc-meta strong,
.post_content .rv-svc-meta b {
  display: block;
  font-size: 1.15em;
  font-weight: 700;
  color: var(--ink);
  margin-top: 2px;
}

/* ダミーボタン: 濃紺ベタ＋右アイコン(モック準拠・実リンクは持たない) */
.post_content .rv-svc-more {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: .7em 1.2em;
  background: #15314f;
  color: #fff;
  border-radius: 4px;
  font-size: .8em;
  font-weight: 700;
  letter-spacing: .04em;
  margin: 0;
  transition: background .25s;
}
.post_content .rv-svc-more::after {
  content: "›";
  font-size: 1.3em;
  line-height: 1;
}
.rv-svc-card:hover .rv-svc-more {
  background: #1d4063;
}

/* --- カード全体リンク: SWELLボタンを透明化しカード全面に被せる --- */
/* !important使用理由: カード全面リンクの透明化はSWELL標準ボタンスタイル */
/* との構造的競合が避けられないため、限定スコープでの使用を許容         */
/* (講習コースカード rv-card-link と同方式・共通クラスを流用)            */
.rv-svc-card .rv-card-link {
  position: absolute;
  inset: 0;
  margin: 0 !important;
  z-index: 2;
}
.rv-svc-card .rv-card-link a {
  display: block;
  width: 100%;
  height: 100%;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-size: 0;
  color: transparent;
  text-indent: -9999px;
}
.rv-svc-card .rv-card-link a:hover,
.rv-svc-card .rv-card-link a:focus {
  background: transparent !important;
  box-shadow: none !important;
}

/* カード内リンク以外を前面に出しテキスト選択・表示を保つ */
.rv-svc-card > *:not(.rv-card-link) {
  position: relative;
  z-index: 1;
}

/* --- SP・タブ: 1列縦積み時はカード高さ揃えを解除 --- */
@media (max-width: 959px) {
  .rv-svc-grid > .swell-block-columns__inner > .swell-block-column {
    display: block;
  }
}

/* --- コンテンツヘッダー（タイトル背景画像）高さ調整 -------------- */
/* 使用箇所: 全ページの最上部タイトル背景画像エリア */
#top_title_area {
  height: 400px;
}
#top_title_area .u-obf-cover {
  height: 400px;
}
@media (max-width: 959px) {
  #top_title_area {
    height: 250px;
  }
  #top_title_area .u-obf-cover {
    height: 250px;
  }
}

/* =================================================================== */
/* ===== Phase 2: モック v2 デザイン要素（rv- prefix）================== */
/* =================================================================== */

/* --- ゴーストタイプ背景（大判英字の背景装飾） ------------------- */
/* 使用箇所: ドローンサービス /イントロセクション、ドローン講習 /イントロセクション */
.rv-section-bigtype {
  position: relative;
  overflow: hidden;
}
.rv-section-bigtype .rv-ghosttype {
  position: absolute;
  font-family: "JetBrains Mono", "Courier New", monospace;
  font-weight: 700;
  color: #dde6f2;
  letter-spacing: -.02em;
  line-height: 1;
  z-index: 0;
  pointer-events: none;
  user-select: none;
}
@media (max-width: 959px) {
  .rv-section-bigtype .rv-ghosttype {
    display: none;
  }
}

/* --- 大型H2（セクション用見出しの拡張） ------------------------- */
/* 使用箇所: 主要セクション見出し */
/* SWELL .is-style-section_ttl との詳細度競合を避けるため親セレクタ明示 */
/* 中央揃えはSWELLブロックツールバーの中央揃え選択で機能する */
/* 左揃えはインライン style="text-align: left;" で個別指定 */
.post_content h2.is-style-section_ttl.rv-h2-large {
  font-size: 52px;
  font-weight: 900;
  line-height: 1.4;
  margin-bottom: 36px;
  letter-spacing: .02em;
}
.post_content h2.is-style-section_ttl.rv-h2-large .accent {
  color: var(--sky-3);
}
@media (max-width: 959px) {
  .post_content h2.is-style-section_ttl.rv-h2-large {
    font-size: 32px;
  }
}

/* --- イントロセクションの2カラムグリッド ------------------------ */
/* 使用箇所: ドローンサービス /ドローン講習 のイントロセクション */
.rv-intro-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
  position: relative;
  z-index: 1;
}
.rv-intro-grid .rv-stats-row {
  padding-top: 220px;
}
@media (max-width: 959px) {
  .rv-intro-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .rv-intro-grid .rv-stats-row {
    padding-top: 0;
  }
}

/* --- 統計表示（数字＋ラベル） ----------------------------------- */
/* 使用箇所: イントロセクションの統計表示 */
.rv-stats-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}
.rv-stat {
  border-top: 2px solid var(--ink);
  padding-top: 24px;
}
.rv-stat .rv-num {
  font-size: 64px;
  font-weight: 900;
  line-height: 1;
  color: var(--sky-3);
  letter-spacing: -.02em;
}
.rv-stat .rv-num small {
  font-size: 20px;
  color: var(--ink);
  font-weight: 500;
  margin-left: 8px;
}
.rv-stat .rv-lbl {
  font-size: 13px;
  color: #8a867f;
  margin-top: 10px;
  font-weight: 500;
}

/* --- パンくずのフォントサイズ拡張 ------------------------------- */
/* 使用箇所: 全ページのパンくずリスト */
.p-breadcrumb,
.p-breadcrumb__list,
.p-breadcrumb__item,
.p-breadcrumb__item a,
.p-breadcrumb__text {
  font-size: 15px;
}
@media (max-width: 959px) {
  .p-breadcrumb,
  .p-breadcrumb__list,
  .p-breadcrumb__item,
  .p-breadcrumb__item a,
  .p-breadcrumb__text {
    font-size: 13px;
  }
}

/* --- コース入口カード（カード全体クリッカブル＋ホバー演出） ----- */
/* 使用箇所: ドローン講習 /「目的から、ぴったりのコースを」3カード */
/* リッチカラム内にキャプションボックス（内テキスト）を3枚並べ、    */
/* 各キャプションボックスに rv-course-card クラス、               */
/* カード末尾のSWELLボタンに rv-card-link クラスを付与する         */

/* カード本体：positioning基準、角丸、ホバー演出ベース */
.rv-course-card {
  position: relative;
  height: 100%;
  border-radius: 12px;
  overflow: hidden;
  transition: transform .25s, box-shadow .25s, border-color .25s;
}
.rv-course-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 50px -24px rgba(20, 40, 80, .25);
}

/* カード内：タイトル帯（FOR BEGINNERS）下の余白引き締め */
.rv-course-card .cap_box_ttl {
  margin-bottom: 0.6em;
}

/* カード内：H3（まず触ってみたい）の上下マージン引き締め */
/* SWELL .post_content h3 のマージンを詳細度で上書き */
.post_content .rv-course-card .cap_box_content h3 {
  margin-top: 0;
  margin-bottom: 0.6em;
}

/* カード内：段落（説明文）下の余白引き締め */
.rv-course-card .cap_box_content > p {
  margin-bottom: 1em;
}

/* カード内：区切り線前後の余白引き締め */
.rv-course-card .cap_box_content > hr {
  margin-top: 1.2em;
  margin-bottom: 1.2em;
}

/* カード内：説明リスト（DL）下の余白を消す */
.rv-course-card .cap_box_content > dl {
  margin-bottom: 0;
}

/* カード全体リンク：SWELLボタンを透明化してカード全面に被せる */
/* !important使用理由：カード全面リンクの透明化はSWELL標準ボタンスタイルとの */
/* 構造的競合が避けられない箇所のため、限定スコープでの使用を許容 */
.rv-card-link {
  position: absolute;
  inset: 0;
  margin: 0 !important;
  z-index: 2;
}
.rv-card-link a {
  display: block;
  width: 100%;
  height: 100%;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-size: 0;
  color: transparent;
  text-indent: -9999px;
}
.rv-card-link a:hover,
.rv-card-link a:focus {
  background: transparent !important;
  box-shadow: none !important;
}

/* カード内のリンク以外の要素は通常通り表示・選択可能にする */
.rv-course-card > *:not(.rv-card-link) {
  position: relative;
  z-index: 1;
}

/* --- ドローン講習 / 初心者講習会カード --------------------------- */
/* 使用箇所: ドローン講習 /「初心者向け」セクションのカード         */
/* 右カラム内（受講料・¥30,000・申し込むボタン）の中央揃えは、     */
/* ブロックエディタの段落配置・SWELLボタン配置で個別指定する方針    */

/* rv-beginner-card 直下のリッチカラム（画像とコンテンツ）を縦中央揃え */
/* 画像の縦サイズ（正方形）に対してコンテンツ群を縦中央配置 */
.rv-beginner-card > .cap_box_content > .swell-block-columns > .swell-block-columns__inner {
  align-items: center;
}

/* rv-beginner-head：左カラム（H4+説明文+3カラム情報）と右カラム（受講料+金額+ボタン）の横並び */
/* 縦中央揃え（右カラムを左カラム全体の縦中央に配置） */
.rv-beginner-head {
  align-items: center;
}
.rv-beginner-head h4 {
  margin: 0 0 1em 0;
}

/* 左カラム内：説明文（段落）の余白 */
.rv-beginner-head > .swell-block-columns__inner > .swell-block-column:first-child > p {
  margin-bottom: 0;
  line-height: 1.7;
}

/* 右カラム（受講料ラベル＋¥30,000＋申し込むボタン）の段落装飾 */
/* セレクタは rv-beginner-head 直下のカラムだけに限定（>で直下指定） */
/* これにより、左カラム内に格納された rv-beginner-info（3カラム情報）の */
/* セルには影響しない */
/* 段落順序：1番目=「受講料」ラベル、2番目=「¥30,000」金額 */
.rv-beginner-head > .swell-block-columns__inner > .swell-block-column:last-child > p:nth-child(1) {
  font-size: 14px;
  color: #8a867f;
  font-weight: 500;
  margin: 0 0 0.3em 0;
  letter-spacing: 0.05em;
}
.rv-beginner-head > .swell-block-columns__inner > .swell-block-column:last-child > p:nth-child(2) {
  font-size: 44px;
  font-weight: 800;
  color: var(--sky-3);
  margin: 0 0 0.8em 0;
  line-height: 1;
}

/* 中段：受講時間/対象/形式の3カラム */
/* rv-beginner-info は rv-beginner-head の左カラム内に格納される構造 */
/* 中高年向け視認性を考慮し文字サイズを拡大 */
.rv-beginner-info {
  margin-top: 1.5em;
  margin-bottom: 0;
}
.rv-beginner-info .swell-block-column > p:first-child {
  font-size: 14px;
  color: #8a867f;
  font-weight: 500;
  margin: 0 0 0.4em 0;
  letter-spacing: 0.05em;
}
.rv-beginner-info .swell-block-column > p:last-child {
  font-size: 17px;
  font-weight: 600;
  color: var(--ink);
  margin: 0;
  line-height: 1.5;
}

/* 下段：申し込むボタンのサイズ調整 */
/* 中央揃えはSWELLボタンブロックの配置設定で行う */
.rv-beginner-cta {
  margin-bottom: 0;
}
.rv-beginner-cta .swell-block-button__link {
  display: inline-block;
  padding: 0.7em 2em;
  font-size: 15px;
}

/* --- ドローン講習 / STEP1↔STEP2 並列カード -------------------------- */
/* 使用箇所: ドローン講習 /「ドローンビジネス講習」セクション         */
/* 構造: リッチカラム3列(40% / 20% / 40%)                            */
/*       ├ 左(40%):  キャプションボックス(内テキスト・rv-step-card)  */
/*       ├ 中央(20%): 段落 →  (rv-step-arrow)                       */
/*       └ 右(40%):  キャプションボックス(内テキスト・rv-step-card)  */
/* 外枠はなし、各カードに枠線・角丸・余白で「カード」を表現           */

/* カード本体: 角丸大きく(枠線色・背景色はSWELLカラーセット02で指定) */
.rv-step-card {
  border-radius: 16px;
}

/* カード内側の余白を厚めに(モック準拠で広め) */
.rv-step-card > .cap_box_content {
  padding: 40px;
}
@media (max-width: 959px) {
  .rv-step-card > .cap_box_content {
    padding: 28px;
  }
}

/* カード高さ揃え: リッチカラムのカラム子要素を flex 化 */
/* これにより内包する rv-step-card が縦に伸びる */
/* スコープは「ドローンビジネス講習」セクション内のカードに限定 */
.rv-step-card {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.rv-step-card > .cap_box_content {
  display: flex;
  flex-direction: column;
  flex: 1;
}

/* STEPラベル(STEP 01 ─ 基礎 / STEP 02 ─ 専門) */
/* 色は Sky Deep、サイズ控えめ、字間を広めに */
.rv-step-label {
  font-size: 13px;
  color: var(--sky-3);
  font-weight: 600;
  letter-spacing: 0.12em;
  margin: 0 0 1.4em 0 !important;
}
/* !important使用理由: SWELLの .post_content p デフォルトマージンとの */
/* 詳細度競合を避けるため。ラベル限定スコープで他影響なし */

/* カード内 H4(ドローンビジネス改行ベーシック / ビジネスマスター改行専門8コース) */
/* SWELL .post_content h4 のマージンを詳細度で上書き */
.post_content .rv-step-card h4 {
  font-size: 26px;
  font-weight: 800;
  margin: 0 0 1.2em 0;
  line-height: 1.45;
  color: var(--ink);
}
@media (max-width: 959px) {
  .post_content .rv-step-card h4 {
    font-size: 22px;
  }
}

/* 説明文(2日間/全コース共通の基礎 等)の段落 */
/* ラベル・H4・価格を除いた段落のスタイル */
.rv-step-card .cap_box_content > p:not(.rv-step-label):not(.rv-step-price) {
  font-size: 17px;
  line-height: 1.8;
  margin: 0 0 0.7em 0;
  color: var(--ink);
}

/* 価格(大): ¥130,000 / ¥230,000 */
/* 下から2番目の段落として配置。margin-top: auto でカード下端へ押し下げ */
.rv-step-price {
  font-size: 32px !important;
  font-weight: 800;
  color: var(--ink);
  margin: auto 0 0 0 !important;
  padding-top: 1.5em;
  line-height: 1.2;
  letter-spacing: -0.01em;
}
/* !important使用理由: SWELL段落マージンとの競合回避と、 */
/* margin-top: auto でカード下端固定する仕様を確実に効かせるため */

/* 価格のサブ注釈(＋認定料 ¥20,000 等)。SWELL .post_content small の */
/* font-size:.8em / opacity:.8 をスコープ限定で上書きし、メインとの差を明確化 */
.rv-step-price small {
  font-size: 16px;
  font-weight: 500;
  color: #8a867f;
  opacity: 1;
  letter-spacing: 0;
}
/* !important使用理由: SWELL段落マージンとの競合回避と、 */
/* margin-top: auto でカード下端固定する仕様を確実に効かせるため */
/* 中央カラムの矢印(段落として配置) */
/* リッチカラム3列の中央カラムを縦中央揃え */
.rv-step-arrow {
  font-size: 44px;
  font-weight: 400;
  color: var(--sky-3);
  text-align: center;
  margin: 0 !important;
  line-height: 1;
}
/* !important使用理由: 段落マージン 0 を確実に効かせるため */

/* 中央カラム(矢印カラム)を縦中央配置 */
/* リッチカラム3列の中で、矢印を持つカラムを縦中央に配置 */
/* セレクタは ドローンビジネス講習セクション内のリッチカラム > 中央カラム に限定 */
/* :has() を使わず、 .rv-step-arrow を持つ段落の親カラムを flex 中央配置 */
.swell-block-column:has(> .rv-step-arrow) {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* SP時: リッチカラムが縦積みになるため、矢印を ↓ に切り替え */
/* 中央カラムが上下カードの間に挟まる形になる */
@media (max-width: 959px) {
  .rv-step-arrow {
    font-size: 0;
    line-height: 0;
  }
  .rv-step-arrow::before {
    content: "↓";
    font-size: 36px;
    line-height: 1;
    color: var(--sky-3);
  }
  .swell-block-column:has(> .rv-step-arrow) {
    padding: 20px 0;
  }
}

/* --- ドローン講習 / ビジネス講習セクション(濃紺背景) ------------ */
/* 使用箇所: ドローン講習 /「ドローンビジネス講習」セクション全体  */
/* フルワイドブロックに追加CSSクラス rv-business-section を付与    */
/* 背景: 135度グラデ + 24px間隔の極薄ドット                       */
/* 内側H2・段落の文字色を白系に切り替え                            */
.rv-business-section {
  background-color: #15314f;
  background-image:
    radial-gradient(circle, rgba(255, 255, 255, .07) 1.2px, transparent 1.5px),
    linear-gradient(135deg, #112a44 0%, #1a3a5a 100%);
  background-size: 24px 24px, 100% 100%;
  position: relative;
  overflow: hidden;
}

/* セクション内のH2・H3(自動挿入/手動見出し)を白文字化 */
.rv-business-section h2.is-style-section_ttl,
.rv-business-section h3.wp-block-heading {
  color: #fff;
}

/* セクション内の段落(リード文)を半透明白に */
/* SWELLフルワイド内側ラッパーは swell-block-fullWide__inner */
.rv-business-section > .swell-block-fullWide__inner > p {
  color: rgba(255, 255, 255, .78);
}

/* ゴーストタイプ "BUSINESS" の位置・サイズ調整 */
/* rv-section-bigtype と併用しない独立した絶対配置設定 */
.rv-business-section .rv-ghosttype {
  position: absolute;
  font-family: "JetBrains Mono", "Courier New", monospace;
  font-weight: 700;
  font-size: 280px;
  left: -300px;
  top: -80px;
  color: rgba(255, 255, 255, .04);
  letter-spacing: -.02em;
  line-height: 1;
  margin: 0;
  z-index: 0;
  pointer-events: none;
  user-select: none;
}

/* STEPラベルのリボン化(STEP1: Sky 3背景) */
/* 詳細度上げ: .post_content スコープで SWELL段落スタイルに勝つ */
/* align-self: flex-start で flex親(.cap_box_content)による横幅引き伸ばしを無効化 */
.post_content .rv-step-label {
  display: inline-block;
  align-self: flex-start;
  background: var(--sky-3);
  color: #fff;
  padding: 4px 14px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  border-radius: 3px;
  margin: 0 0 1.4em 0 !important;
  width: auto;
}
/* !important使用理由: SWELLの .post_content p デフォルトマージンとの */
/* 詳細度競合を避けるため。ラベル限定スコープで他影響なし(既存方針踏襲) */

/* STEP2用リボン色(Sky Ink背景) */
.post_content .rv-step-label--s2 {
  background: var(--ink);
}

/* 中央矢印の色を濃紺背景に映える明るい水色に */
.rv-step-arrow {
  color: var(--sky-1);
}

/* --- ドローン講習 / 専門8コースカード（グリッド） ------------------ */
/* 使用箇所: ドローン講習 /「ドローンビジネス講習」セクション内        */
/*   H3「専門8コース」下のリッチカラム（PC4列/タブレット2列/SP1列）     */
/* 構造: リッチカラム(rv-mcard-grid) > 各カラム > グループ(rv-mcard)    */
/*   グループは背景色「白」設定済み(SWELL標準で padding:2em が自動付与)  */
/*   背景・パディングはSWELL標準を活かし、ここでは角丸・高さ揃えのみ補う */

/* カード本体: 角丸を付与（背景白・padding:2em はSWELL標準のまま活かす） */
/* 高さ揃え: height:100% で、行内で最も高いカラムに白カードを合わせる   */
/* flex縦並び: 将来カード下部にボタンを置く際 margin-top:auto で下揃え可 */
.rv-mcard {
  border-radius: 12px;
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* カード内 H4(コース名): 上マージン詰め・サイズ調整・下線で本文と区切る */
/* SWELL .post_content h4 のマージンを詳細度で上書き                    */
.post_content .rv-mcard h4 {
  font-size: 20px;
  font-weight: 800;
  margin: 0 0 0.9em 0;
  padding-bottom: 0.7em;
  border-bottom: 1px solid #e3e7ee;
  color: var(--ink);
}

/* カード内 段落: サイズ・行間・余白を整える                            */
/* 説明文(リード)の下は広めに取り、習得スキル群との区切りを作る          */
.rv-mcard p {
  font-size: 15px;
  line-height: 1.8;
  margin: 0 0 1.4em 0;
  color: var(--ink);
}

/* カード内 小ラベル(習得スキル / こんな方に): 青文字＋太字で明示的に    */
/* 線・背景は使わず、本文(黒)とのコントラストで区切る                   */
/* 直後の内容段落とは密着させ、ラベルと内容が1組に見えるようにする      */
.rv-mcard .rv-mcard-label {
  font-size: 13px;
  font-weight: 700;
  color: var(--sky-3);
  letter-spacing: 0.04em;
  margin: 0 0 0.15em 0;
}

/* 小ラベル直後の内容段落: 下マージンを詰め、次のラベル群との間隔は     */
/* この内容段落の下マージンで作る(説明文ほど広げず、適度に区切る)        */
.rv-mcard .rv-mcard-label + p {
  margin-bottom: 1em;
}

/* カード内 最後の段落: 下マージンを消す（カード下端の余白を揃える）    */
.rv-mcard > .wp-block-group__inner-container > p:last-child {
  margin-bottom: 0;
}

/* --- ドローン講習 / 助成金セクション ------------------------------- */
/* 使用箇所: ドローン講習 /「助成金活用のご案内」セクション           */
/* 構造: フルワイド(rv-grant-section・背景クリーム＋斜めストライプ)     */
/*        ├ 自動挿入H2(数字なし見出し)                                */
/*        ├ グループ(rv-grant-card・白背景＋金枠) > リッチカラム55/45  */
/*        │   ├ 左: タグ＋H3＋説明文＋ボタン2つ                       */
/*        │   └ 右: グループ(rv-grant-stat・薄金背景) 数字表示＋例     */
/*        └ 注記段落(中央・小)                                        */

/* セクション背景: クリーム地＋極薄の斜めストライプ(SWELL背景色では    */
/* 模様が出せないため background-image で拡張。打ち消しではない)        */
.rv-grant-section {
  background-color: var(--cream);
  background-image: repeating-linear-gradient(
    135deg,
    transparent 0 20px,
    rgba(177, 132, 53, .05) 20px 21px
  );
}

/* H2内の数字・キーワードを金色アクセントにする場合のスパン(任意) */
.rv-grant-section h2.is-style-section_ttl .accent {
  color: var(--gold);
}

/* 白カード本体: 白背景＋金枠＋角丸＋内側パディング                    */
/* グループ背景白はSWELL標準設定で付与済み。枠線・角丸のみCSSで補う    */
.rv-grant-card {
  border: 2px solid var(--gold);
  border-radius: 14px;
}

/* 白カード内のリッチカラム: 左右カラムを上揃え(高さ違いに対応) */
.rv-grant-card .swell-block-columns__inner {
  align-items: stretch;
}

/* 左カラムの小タグ(人材開発支援助成金): 金色塗りの小ラベル           */
/* align-self: flex-start で段落の全幅化を防ぎ、文字幅ぶんに収める     */
.post_content .rv-grant-tag {
  display: inline-block;
  align-self: flex-start;
  background: var(--gold);
  color: #fff;
  padding: 5px 16px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  border-radius: 4px;
  margin: 0 0 1.2em 0 !important;
  width: auto;
}
/* !important使用理由: SWELL .post_content p のデフォルトマージンとの  */
/* 詳細度競合回避。タグ限定スコープで他に影響なし(既存方針踏襲)        */

/* 左カラム H3(受講費用、思った以上に...): 上マージン詰め             */
.post_content .rv-grant-card h3 {
  font-size: 28px;
  font-weight: 800;
  line-height: 1.5;
  margin: 0 0 0.7em 0;
  color: var(--ink);
}
@media (max-width: 959px) {
  .post_content .rv-grant-card h3 {
    font-size: 22px;
  }
}

/* H3内の強調(会社負担)を金色に */
.rv-grant-card h3 .accent {
  color: var(--gold);
}

/* 左カラム 説明文 */
.rv-grant-card .rv-grant-left p:not(.rv-grant-tag) {
  font-size: 15px;
  line-height: 1.9;
  color: var(--ink);
  margin: 0 0 1.6em 0;
}

/* 右カラム 内側カード(rv-grant-stat): 薄金グラデ背景＋金枠＋角丸＋中央寄せ */
/* 背景・枠線はSWELLカラーパレットに薄金がないためCSSで指定(拡張)        */
/* 中身を縦中央配置: 枠線で囲った際の上寄せ感を解消                      */
.rv-grant-stat {
  background: linear-gradient(180deg, var(--gold-soft) 0%, #fff 100%);
  border: 1px solid var(--gold);
  border-radius: 12px;
  padding: 36px 32px;
  text-align: center;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* 上ラベル(助成率の目安) */
.post_content .rv-grant-stat-label {
  font-size: 14px;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: 0.08em;
  margin: 0 0 0.4em 0;
}

/* 大型数字(75%): 金色・特大。% を small で小さく添える              */
/* 下マージンを詰め、区切り線との間隔を適正化                          */
.post_content .rv-grant-num {
  font-size: 80px;
  font-weight: 900;
  color: var(--gold);
  line-height: 1;
  letter-spacing: -0.02em;
  margin: 0 0 0.3em 0;
}
.rv-grant-num small {
  font-size: 32px;
  font-weight: 700;
  margin-left: 4px;
  opacity: 1;
}
@media (max-width: 959px) {
  .post_content .rv-grant-num {
    font-size: 60px;
  }
}

/* 例タイトル: 上に金の点線罫線を引いて数字エリアと区切る              */
/* 区切りブロックの粗いドットを使わず、CSS罫線で細かい点線を表現        */
/* 例は数字と違い読ませる情報なので左揃え                              */
.rv-grant-stat .rv-grant-ex-ttl {
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
  text-align: left;
  margin: 0 0 0.4em 0;
  padding-top: 1.5em;
  border-top: 1px dashed var(--gold);
}

/* 例の本文: 左揃え・読みやすさ優先                                    */
.rv-grant-stat .rv-grant-ex {
  font-size: 14px;
  line-height: 1.7;
  color: var(--ink);
  text-align: left;
  margin: 0;
}

/* SP時: 2カラムが縦積みになるため右カード上に余白 */
@media (max-width: 959px) {
  .rv-grant-stat {
    margin-top: 28px;
  }
}

/* ===== TOP / メインビジュアル ヒーロー ===== */
/* rv-hero : ブログパーツを中央寄せコンテナから左端へ引き出して左寄せ（テキスト位置はブログパーツに効かないためCSSで対応） */
.rv-hero{
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:0 24px 0 clamp(24px, 6vw, 88px);
  text-align:left;
}
/* rv-hero-catch : キャッチ（大きく・白・2行）／!important はMVの強い文字サイズ指定を上書き（このクラス限定） */
.rv-hero-catch{
  color:#fff;
  font-size:clamp(38px, 6vw, 80px) !important;
  font-weight:800;
  line-height:1.28;
  letter-spacing:.02em;
  margin:0 0 .8em;
  text-shadow:0 2px 20px rgba(0,0,0,.45);
}
/* rv-hero-lead : リード文（白） */
.rv-hero-lead{
  color:#fff;
  font-size:clamp(15px, 1.2vw, 18px) !important;
  line-height:2;
  margin:0 0 2.4em;
  max-width:34em;
  text-shadow:0 1px 12px rgba(0,0,0,.5);
}
/* rv-hero-ghost : セカンダリ（アウトライン）ボタンを白系にして可読化 */
.rv-hero-ghost a{
  color:#fff;
  border-color:rgba(255,255,255,.85);
  background-color:rgba(255,255,255,.08);
}
.rv-hero-ghost a:hover{
  background-color:rgba(255,255,255,.18);
  border-color:#fff;
}

/* ===== TOP / メッセージセクション（重なりビジュアル） ===== */
/* 使用箇所: TOPページ「OUR MESSAGE」セクション                       */
/* 構造: フルワイド > リッチカラム(rv-msg-grid・PC2列/左55%右45%)      */
/*   ├ 左カラム: ラベル(rv-msg-label)+H2(rv-msg-h2)+本文(rv-msg-lead) */
/*   └ 右カラム: 画像1(rv-msg-img1)+画像2(rv-msg-img2)+バッジ(rv-msg-badge) */
/* 重なり方式: ネガティブマージン(絶対配置を使わず通常フローで重ねる) */
/*   → コンテナ高さが自動算出され余白事故が起きない。SP/タブは縦積み  */
/* 配置(モック準拠): 手前=画像1(左上・大),奥=画像2(右下・小),バッジ=左下 */

/* --- 左右カラムを縦中央揃え(PC) --- */
@media (min-width: 960px) {
  .rv-msg-grid > .swell-block-columns__inner {
    align-items: center;
  }
}

/* --- 左カラム: H2見出し(モック感に合わせ46pxへ拡大) --- */
.post_content .rv-msg-h2 {
  font-size: 46px;
  font-weight: 800;
  line-height: 1.45;
  letter-spacing: 0.03em;
  color: var(--ink);
  text-align: left;
  margin: 0 0 1em 0;
}
@media (max-width: 959px) {
  .post_content .rv-msg-h2 {
    font-size: 30px;
  }
}

/* --- 左カラム: 本文 --- */
.post_content .rv-msg-lead {
  font-size: 17px;
  line-height: 2;
  color: var(--ink);
  margin: 0;
  max-width: 30em;
}

/* --- 右カラム: 重なり(ネガティブマージン方式・PC幅のみ) --- */
/* 前後関係(モック準拠): 画像1=DX最奥(z1)/画像2=ドローン手前(z2)/バッジ最前面(z3) */
/* 画像1(最奥・左上・大): 左寄せ・幅62%                              */
/* 画像2(手前・右下・小): 右寄せ・幅52%・margin-topマイナスで上に食い込む */
/* バッジ(最前面・左下): 左寄せ・margin-topマイナスで画像2に少し重ねる */
@media (min-width: 960px) {
  /* 画像1: 最奥・左上・大きめ。z-index最下 */
  .rv-msg-grid .rv-msg-img1 {
    width: 62%;
    aspect-ratio: 3 / 4;
    margin: 0 auto 0 0;   /* 左寄せ */
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 24px 50px -20px rgba(20, 40, 80, .35);
    position: relative;
    z-index: 1;
  }

  /* 画像2: 手前・右下・小さめ。上方向マイナスマージンで画像1に重ねる */
  .rv-msg-grid .rv-msg-img2 {
    width: 52%;
    aspect-ratio: 3 / 4;
    margin: -32% 0 0 auto;  /* 右寄せ + 上に食い込む */
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 24px 50px -20px rgba(20, 40, 80, .3);
    position: relative;
    z-index: 2;
  }

  /* 画像の中身をcoverトリミング */
  .rv-msg-grid .rv-msg-img1 img,
  .rv-msg-grid .rv-msg-img2 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 10px;
  }

/* バッジ: 最前面。画像2(ドローン)の左下に程よく重ねて浮かせる */
  .rv-msg-grid .rv-msg-badge {
    width: 320px;
    margin: -80px 0 0 11%;   /* 右へ寄せ + 上に食い込む(前回と今回の中間) */
    position: relative;
    z-index: 3;
  }

/* --- バッジ本体(白カード・影・角丸) --- */
/* PC/SP共通の見た目。SP時は通常フローで画像の下に表示              */
/* 白地に重なっても浮くよう影を強めに(写真の上に乗る前提)           */
.rv-msg-badge {
  background: #fff;
  border: 1px solid #e3e7ee;
  border-radius: 10px;
  padding: 22px 24px;
  box-shadow: 0 20px 48px -12px rgba(20, 40, 80, .4);
}
@media (max-width: 959px) {
  .rv-msg-badge {
    margin-top: 24px;
  }
}

/* バッジ内: 小ラベル「IT × DRONE」 */
.post_content .rv-msg-badge-label {
  font-size: 12px;
  font-weight: 700;
  color: var(--sky-3);
  letter-spacing: 0.1em;
  margin: 0 0 0.5em 0;
}

/* バッジ内: メイン「二つの専門性を、一社で。」 */
.post_content .rv-msg-badge-main {
  font-size: 19px;
  font-weight: 800;
  color: var(--ink);
  line-height: 1.5;
  margin: 0 0 0.5em 0;
}

/* バッジ内: 補足「DXもドローンも、必要な分だけご相談ください。」 */
.post_content .rv-msg-badge-sub {
  font-size: 13px;
  font-weight: 500;
  color: #8a867f;
  line-height: 1.7;
  margin: 0;
}

/* ===== TOP / 選ばれる理由セクション ===== */
/* 使用箇所: TOPページ「選ばれる、3つの理由。」セクション                */
/* 構造: フルワイド(背景Paper-2) > 中央見出し(rv-reason-h2)             */
/*        + リード(rv-reason-lead) + リッチカラム(rv-reason-grid・PC3列) */
/*        各カラムにグループ(rv-reason-card・白カード)                   */
/*          ├ 段落 番号(rv-reason-num)                                  */
/*          ├ 段落 英字ラベル(rv-reason-label)                          */
/*          ├ H4 見出し(rv-reason-h4)                                   */
/*          └ 段落 説明文(rv-reason-text)                               */
/* 英字ラベル「WHY REVOLUS」はH2の::beforeで上に乗せる(ブロック増やさない) */
/* ラベル・H2のサイズ感はメッセージセクション(rv-msg-label/h2)と統一      */

/* --- 中央見出しH2 --- */
/* フルワイド自動H2(.is-style-section_ttl)に併用。中央揃えはブロック標準 */
/* サイズはメッセージH2と統一しつつ中央見出し向けに38pxへ                */
/* 英字ラベル(WHY REVOLUS)はH2の上に rv-label 段落として別途配置         */
/* ラベルを上に置くとH2が先頭でなくなり上部余白が出るため margin-top を詰める */
.post_content .rv-reason-h2 {
  font-size: 38px;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: .03em;
  color: var(--ink);
  margin-top: 0;
  margin-bottom: .5em;
}
@media (max-width: 959px) {
  .post_content .rv-reason-h2 {
    font-size: 28px;
  }
}

/* --- リード文(中央・控えめ) --- */
.post_content .rv-reason-lead {
  text-align: center;
  color: var(--ink);
  opacity: .85;
  margin: 0 auto 3.5em;
  max-width: 40em;
  line-height: 1.9;
}

/* --- リッチカラム: カード高さ揃え(行内で最も高いカードに合わせる) --- */
/* リッチカラムのカラム子要素を flex 化し、内包グループを縦に伸ばす */
.rv-reason-grid > .swell-block-columns__inner > .swell-block-column {
  display: flex;
}

/* --- 白カード本体: 角丸・高さ100%(背景白・padding:2emはSWELL標準) --- */
/* 高さ揃え: height:100% で行内の最も高いカードに合わせる */
.rv-reason-card {
  border-radius: 12px;
  height: 100%;
  width: 100%;
}

/* --- カード内 番号(01/02/03): 大きく薄い装飾数字 --- */
/* 数字はラテン字形で太く見せる。色は淡い水色で装飾扱い */
/* 下マージンを広げ、英字ラベルとの間に余白を作る */
.post_content .rv-reason-num {
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-size: 3.2em;
  font-weight: 700;
  line-height: 1;
  color: var(--sky-1);
  letter-spacing: .02em;
  margin: 0 0 .35em;
}

/* --- カード内 英字ラベル: 小さくSky Deep --- */
/* 下マージンを広げ、H4見出しとの間に区切りを作る */
.post_content .rv-reason-label {
  color: var(--sky-3);
  font-size: .8em;
  font-weight: 700;
  letter-spacing: .18em;
  margin: 0 0 1.4em;
}

/* --- カード内 H4見出し --- */
/* SWELL .post_content h4 のマージンを詳細度で上書き */
/* 下マージンを広げ、説明文との間を空ける */
.post_content .rv-reason-h4 {
  font-size: 1.35em;
  font-weight: 800;
  line-height: 1.55;
  color: var(--ink);
  margin: 0 0 1.1em;
}

/* --- カード内 説明文: 中高年向けに読みやすく --- */
.post_content .rv-reason-text {
  font-size: 1.0625em;
  line-height: 1.95;
  color: var(--ink);
  margin: 0;
}

/* --- SP・タブ: 1列縦積み時はカード高さ揃えを解除 --- */
@media (max-width: 959px) {
  .rv-reason-grid > .swell-block-columns__inner > .swell-block-column {
    display: block;
  }
  .post_content .rv-reason-num {
    font-size: 2.8em;
  }
}
	
/* ===== フッター（3カラムウィジェット内の装飾） ===== */
/* 使用箇所: フッター(PC)1〜3 に置いたカスタムHTMLウィジェット内       */
/* 背景は最暗濃紺#0c1e34(カスタマイザー設定)。ここでは中身の文字・     */
/* リンク・見出し・余白を暗い背景向けに整える                          */
/* 構造: 各ウィジェット内 div.rv-footer-col                          */
/*   1=会社情報(rv-footer-company): ブランド名+住所                   */
/*   2,3=リンク列: 見出し(rv-footer-head)+リンクリスト(rv-footer-links)*/

/* 列共通: フォントサイズと行間を読みやすく */
.rv-footer-col {
  font-size: 14px;
  line-height: 1.9;
}

/* 1列目 ブランド名: ロゴ代わりのテキスト・白でやや大きく */
.rv-footer-col .rv-footer-brand {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: .06em;
  color: #fff;
  margin: 0 0 1em;
}

/* 1列目 住所・メール: 淡い色で控えめに */
.rv-footer-col .rv-footer-addr {
  color: #a6adba;
  margin: 0;
}

/* 2・3列目 見出し(サービス/会社情報): 白・小・字間広め */
.rv-footer-col .rv-footer-head {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .08em;
  color: #fff;
  margin: 0 0 1em;
}

/* リンクリスト: マーカー無し・余白リセット */
.rv-footer-col .rv-footer-links {
  list-style: none;
  margin: 0;
  padding: 0;
}
.rv-footer-col .rv-footer-links li {
  margin: 0 0 .6em;
}

/* リンク: 淡色→ホバーで白に。下線なし */
.rv-footer-col .rv-footer-links a {
  color: #a6adba;
  text-decoration: none;
  transition: color .2s;
}
.rv-footer-col .rv-footer-links a:hover {
  color: #fff;
}