@charset "utf-8";

/* ==========================================================================
   船井総研グループ パーパス＆ビジョン セクション専用CSS
   ========================================================================== */

/* セクション全体の背景と形状（下部矢印切り欠き） */
.fsg-purpose-section {
  position: relative;
  background-color: #2788b8; /* 画像をベースにした青色 */
  color: #ffffff;
  padding: 30px 20px 70px;
  text-align: center;
  box-sizing: border-box;
  /* 下部を矢印（V字）状に切り抜く設定 */
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40px), 50% 100%, 0 calc(100% - 40px));
}

.fsg-purpose-section *,
.fsg-purpose-section *::before,
.fsg-purpose-section *::after {
  box-sizing: border-box;
}

/* インナーコンテナ */
.fsg-purpose-inner {
  max-width: 1000px;
  margin: 0 auto;
}

/* セクションタイトル */
.fsg-section-title {
  margin: 0 0 30px 0;
  font-weight: normal;
  line-height: 1.4;
  font-size: 150%;
}

/* パーパスコンテンツ */
.fsg-purpose-content {
  position: relative;
  max-width: 760px;
  margin: 0 auto 40px auto;
  padding: 0 20px;
}

/* バッジ（グループパーパス） */
.fsg-badge {
  display: inline-block;
  background-color: #1e5272;
  color: #ffffff;
  padding: 4px 12px;
  border-radius: 4px;
  font-weight: bold;
  margin-bottom: 15px;
}

/* 装飾枠付きメッセージボックス */
.fsg-message-box {
  position: relative;
  padding: 20px 0;
  margin-bottom: 25px;
}

/* 左上のカギ括弧装飾 */
.fsg-message-box::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
  border-top: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
}

/* 右下のカギ括弧装飾 */
.fsg-message-box::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 40px;
  height: 40px;
  border-bottom: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
}

/* メインメッセージ */
.fsg-main-message {
  margin: 0 0 10px 0;
  font-weight: bold;
  line-height: 1.3;
}

/* サブメッセージ（英語） */
.fsg-sub-message {
  margin: 0;
  line-height: 1.2;
  opacity: 0.9;
}

/* リードテキスト */
.fsg-lead-text {
  margin: 0;
  line-height: 1.8;
}

/* PC用改行コントロール */
.fsg-pc-only {
  display: block;
}

/* 画像挿入エリア（緑色の箇所） */
.fsg-image-area {
  width: 100%;
  max-width: 450px;
  margin: 0 auto;
}

/* 画像が挿入された際のレスポンシブ対応 */
.fsg-image-area img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ==========================================================================
   レスポンシブ表示（画面幅 768px 未満のスマートフォンサイズ）
   ========================================================================== */
@media screen and (max-width: 767px) {
  .fsg-purpose-section {
    padding: 40px 15px 80px 15px;
    /* スマホ用に矢印の深さを少し浅く調整 */
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 25px), 50% 100%, 0 calc(100% - 25px));
  }
  
  .fsg-section-title {
    margin-bottom: 30px;
  }
  
  .fsg-message-box {
    padding: 15px 10px;
  }
  
  .fsg-message-box::before,
  .fsg-message-box::after {
    width: 25px;
    height: 25px;
  }
  
  .fsg-lead-text {
    text-align: justify; /* スマホでのテキストの端を揃える */
  }
  
  .fsg-pc-only {
    display: none; /* スマホ時は強制改行を解除して流し込みに */
  }
}


/* 全体コンテナ */
.fn-mv-container {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 60px 20px;
  box-sizing: border-box;
}

/* 各セクション共通 */
.fn-mv-section {
  text-align: center;
  margin-bottom: 40px;
}
/* サブタイトル (英語) */
.fn-mv-sub-ttl {
  display: block;
  color: #7bb1db;
  font-weight: 600;
  margin-bottom: 10px;
}

/* メインタイトル (日本語) */
.fn-mv-main-ttl {
  color: #1a1a1a;
  font-weight: 700;
  line-height: 1.5;
  margin: 0 0 20px 0;
}

/* リード文 */
.fn-mv-desc {
  color: #333333;
  line-height: 1.8;
  margin: 0;
}

/* 3カラムグリッドレイアウト */
.fn-mv-grid {
  display: flex;
  flex-direction: column;
  gap: 40px;
  text-align: left;
}

/* グリッドアイテムヘッダー */
.fn-mv-item-header {
  margin-bottom: 15px;
}
.fn-mv-item-en {
  display: block;
  color: #888888;
}
.fn-mv-item-ja {
  color: #333333;
  font-weight: 700;
  margin: 5px 0;
  line-height: 1.3;
}
.fn-mv-item-zh {
  display: block;
  color: #999999;
}

/* リストスタイル */
.fn-mv-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.fn-mv-list li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 8px;
  color: #444444;
  line-height: 1.5;
}
.fn-mv-list li:last-child {
  margin-bottom: 0;
}
/* 四角いドットの再現 */
.fn-mv-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 8px;
  height: 8px;
  background-color: #b1cbdf;
}

/* PCサイズへのレスポンシブ対応 (768px以上) */
@media (min-width: 768px) {
  .fn-mv-container {
    padding: 50px 20px;
  }
  .fn-mv-section {
    margin-bottom: 50px;
  }
  .fn-mv-grid {
    flex-direction: row;
    align-items: flex-start;
    gap: 4%;
  }
  .fn-mv-grid-item {
    flex: 1;
  }
}

/* 既存のスタイルと干渉しない独自のコンテナ */
.sol-container {
  width: 100%;
  box-sizing: border-box;
}

/* タイトル部分 */
.sol-title {
  margin: 0 0 15px 0;
  font-weight: bold;
  line-height: 1.4;
}

/* リスト全体のスタイル */
.sol-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* 各リストアイテム */
.sol-list-item {
  display: flex;
  align-items: flex-start;
  margin-bottom: 10px;
  line-height: 1.5;
}

.sol-list-item:last-child {
  margin-bottom: 0;
}

/* チェックマーク */
.sol-icon {
  margin-right: 10px;
  font-weight: bold;
  flex-shrink: 0;
}

/* テキスト部分 */
.sol-text {
  display: inline-block;
}

/* 赤字強調部分 */
.sol-highlight {
  color: #ff0000;
  font-style: normal;
}

/* レポンシブ対応：スマホ表示時の微調整 */
@media (max-width: 768px) {
  .sol-container {
    padding: 10px;
  }
}


/*-----------------------------
ご支援イメージ
/*-----------------------------

/* ロードマップセクション全体 */
.sol-roadmap-section {
  width: 100%;
  margin-bottom: 20px; /* 前後の要素との余白（適宜調整してください） */
  box-sizing: border-box;
  padding-top: 20px;
}

/* 見出し部分 */
.sol-roadmap-title {
  display: flex;
  align-items: center;
  background-color: #0093d0; /* 画像の背景色（ブルー） */
  color: #ffffff;
  padding: 10px 15px;
  margin: 0 0 15px 0;
  font-weight: bold;
}

/* 見出しの文頭にある■マーク */
.sol-roadmap-title::before {
  content: "■";
  margin-right: 8px;
}

/* コンテンツ部分（テキストのブロック） */
.sol-roadmap-content {
  padding-left: 15px; /* リスト風のインデント用余白 */
  box-sizing: border-box;
}

/* テキスト部分（文頭の「- 」を擬似要素で表現） */
.sol-roadmap-text {
  position: relative;
  padding-left: 15px; /* ハイフン分の余白 */
  margin: 0;
  line-height: 1.6;
}

.sol-roadmap-text::before {
  content: "-";
  position: absolute;
  left: 0;
  top: 0;
}

/* レスポンシブ対応：画面サイズが小さい時の調整（必要に応じて） */
@media (max-width: 768px) {
  .sol-roadmap-title {
    padding: 8px 12px;
  }
  .sol-roadmap-content {
    padding-left: 10px;
  }
}




/*--------------------
支援実績
/*--------------------


/* --- 抹茶メーカー支援実績全体のコンテナ --- */
.matcha-case-container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  box-sizing: border-box;
  padding-top: 50px;
}

.matcha-case-container *,
.matcha-case-container *::before,
.matcha-case-container *::after {
  box-sizing: border-box;
}

/* --- コンテンツ配置（横並び・レスポンシブ） --- */
.matcha-case-content-wrapper {
  display: flex;
  gap: 40px; /* 左右の余白 */
  align-items: flex-start;
}

/* 左右の比率設定 */
.matcha-case-text-block {
  flex: 1;
}

.matcha-case-image-block {
  width: 45%; /* 全体に対する画像の横幅 */
  flex-shrink: 0;
}

/* --- メインタイトル (下線付き・テキスト幅に追従) --- */
.matcha-case-main-title {
  margin: 0 0 20px 0;
  padding-bottom: 8px;
  border-bottom: 1px solid #7f7f7f; /* テキストカラムの幅いっぱいに線が引かれます */
  font-weight: normal;
}

.matcha-case-img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

/* --- 各セクション（課題・内容・結果） --- */
.matcha-case-section {
  margin-bottom: 30px;
}

.matcha-case-section:last-child {
  margin-bottom: 0;
}

/* 小見出し（■ 付き） */
.matcha-case-sub-title {
  position: relative;
  margin: 0 0 10px 0;
  padding-left: 18px;
  color: #1e50a2;
  font-weight: bold;
}

.matcha-case-sub-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  background-color: #1e50a2;
}

/* リストスタイル */
.matcha-case-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.matcha-case-list li {
  position: relative;
  padding-left: 15px;
  margin-bottom: 8px;
  line-height: 1.6;
  color: #333333;
}

.matcha-case-list li:last-child {
  margin-bottom: 0;
}

.matcha-case-list li::before {
  content: "-";
  position: absolute;
  left: 0;
  top: 0;
}

.matcha-case-list strong {
  font-weight: bold;
}

/* --- レスポンシブ対応（タブレット・スマホサイズ） --- */
@media screen and (max-width: 768px) {
  .matcha-case-content-wrapper {
    flex-direction: column;
    gap: 20px;
  }
  
  .matcha-case-image-block {
    width: 100%;
  }
  
  .matcha-case-main-title {
    margin-bottom: 20px;
  }
}



/*--------------------------
【参考】グローバルグロース経営研究会
/*--------------------------

/* 全体レイアウト：スマホ時は縦並び、PC時は横並び */
.gg-container {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
  box-sizing: border-box;
  padding-top: 40px;

}

.gg-container *,
.gg-container *::before,
.gg-container *::after {
  box-sizing: border-box;
}

.gg-column {
  width: 100%;
}

/* 見出し */
.gg-title {
  margin-top: 0;
  margin-bottom: 20px;
  font-weight: bold;
}

/* 左カラム：画像グループ */
.gg-photo-group {
  display: flex;
  gap: 15px;
  margin-bottom: 25px;
}

.gg-photo-item {
  flex: 1;
}

.gg-photo-item img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

/* 左カラム：テーブルスタイル */
.gg-table {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
}

.gg-table th,
.gg-table td {
  border: 1px solid #707070;
  padding: 13px 10px;
  vertical-align: middle;
}

.gg-table th {
  background-color: #0099d8;
  color: #ffffff;
  font-weight: normal;
}

.gg-table th:first-child,
.gg-table td:first-child {
  width: 25%;
}

/* 右カラム：チェックリスト（レ点） */
.gg-list {
  list-style: none;
  padding: 0;
  margin: 0 0 20px 0;
}

.gg-list li {
  position: relative;
  padding-left: 25px;
  margin-bottom: 12px;
  line-height: 1.5;
}

/* レ点（チェックマーク）の擬似要素再現 */
.gg-list li::before {
  content: "";
  position: absolute;
  left: 5px;
  top: 4px;
  width: 6px;
  height: 12px;
  border-right: 2px solid #333333;
  border-bottom: 2px solid #333333;
  transform: rotate(45deg);
}

/* 右カラム：自作画像挿入エリア */
.gg-image-placeholder {
  width: 100%;
}

.gg-image-placeholder img {
  width: 100%;
  height: auto;
  display: block;
}

/* レスポンシブ対応：PCサイズ（768px以上）で2カラム化 */
@media screen and (min-width: 768px) {
  .gg-container {
    flex-direction: row;
    gap: 5%; /* 左右の余白バランス */
  }

  .gg-column {
    width: 47.5%; /* 2カラム均等配置 */
  }
}


/*--------------------------------
サービスメニューと対象業種（例）
/*--------------------------------

/* 全体コンテナ */
.gsvc-container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  box-sizing: border-box;
  border-left: 1px solid #cccccc !important;
  border-right: 1px solid #cccccc !important;
}

.gsvc-container * {
  box-sizing: border-box;
}

/* PC用テーブルヘッダー */
.gsvc-table-header {
  display: flex !important;
  background-color: #008cc1 !important;
  color: #ffffff !important;
  font-weight: bold !important;
  text-align: center !important;
}

.gsvc-th {
  padding: 12px 15px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* テーブル列幅設定 (PC) */
.gsvc-th:nth-child(1),
.gsvc-td-menu {
  width: 30% !important;
}
.gsvc-th:nth-child(2),
.gsvc-td-content {
  width: 40% !important;
}
.gsvc-th:nth-child(3),
.gsvc-td-target {
  width: 30% !important;
}

.gsvc-th:not(:last-child) {
  border-right: 1px solid #ffffff !important;
}

/* 行共通スタイル */
.gsvc-row {
  display: flex !important;
  border-bottom: 1px solid #cccccc !important;
  background-color: #ffffff !important;
}

/* セル共通スタイル */
.gsvc-td-menu,
.gsvc-td-content,
.gsvc-td-target {
  padding: 20px 15px !important;
}

.gsvc-td-content,
.gsvc-td-target {
  border-left: 1px solid #cccccc !important;
}

/* メニュー部分（左列） */
.gsvc-menu-title {
  display: flex !important;
  align-items: center !important;
  gap: 15px !important;
}

/* アイコン画像調整用 */
.gsvc-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 50px !important;
  height: 50px !important;
  flex-shrink: 0 !important;
  overflow: hidden !important; /* 万が一altテキストが溢れても崩さない防御 */
}

/* 画像表示の設定。読み込み前でもサイズを固定保持させる */
.gsvc-icon img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
}

.gsvc-menu-title h3 {
  margin: 0 !important;
  font-weight: bold !important;
  line-height: 1.4 !important;
}

/* スマホ用ラベル（デフォルト非表示） */
.gsvc-sp-label {
  display: none !important;
}

/* 強力なリセットCSSに対抗するリストスタイル調整 */
.gsvc-list {
  margin: 0 !important;
  padding: 0 0 0 5px !important; /* 余白を完全にコントロール */
  list-style: none !important;  /* 一旦既存のマークを完全リセット */
}

.gsvc-list li {
  margin: 0 0 8px 0 !important;
  padding: 0 0 0 15px !important; /* 擬似ドットが入るスペース */
  line-height: 1.5 !important;
  position: relative !important;  /* 擬似要素の基準点に */
}

.gsvc-list li:last-child {
  margin-bottom: 0 !important;
}

/* 疑似要素で「・」を絶対に強制表示させる（2層目のテキスト折り返しも綺麗に揃います） */
.gsvc-list li::before {
  content: "・" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  font-weight: bold !important;
  color: #333333 !important;
}

/* 改行コントロール */
.gsvc-pc-only {
  display: inline !important;
}

/* --- カラーバリエーション定義 --- */
.gsvc-col-green .gsvc-menu-title h3 { color: #43853d !important; }
.gsvc-col-teal .gsvc-menu-title h3 { color: #00a082 !important; }
.gsvc-col-blue .gsvc-menu-title h3 { color: #0068b7 !important; }
.gsvc-col-purple .gsvc-menu-title h3 { color: #723293 !important; }
.gsvc-col-orange .gsvc-menu-title h3 { color: #e15514 !important; }
.gsvc-col-pink .gsvc-menu-title h3 { color: #f22e8a !important; }
.gsvc-col-navy .gsvc-menu-title h3 { color: #00338d !important; }
.gsvc-col-gray .gsvc-menu-title h3 { color: #666666; }


/* --- レスポンシブ対応 (768px以下) --- */
@media screen and (max-width: 768px) {
  .gsvc-container {
    border: none !important;
  }
  
  .gsvc-table-header {
    display: none !important;
  }

  .gsvc-row {
    flex-direction: column !important;
    margin-bottom: 25px !important;
    border: 1px solid #cccccc !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05) !important;
  }

  .gsvc-td-menu,
  .gsvc-td-content,
  .gsvc-td-target {
    width: 100% !important;
    border-left: none !important;
    padding: 15px !important;
  }

  .gsvc-td-menu {
    background-color: #f9f9f9 !important;
    border-bottom: 1px dashed #dddddd !important;
  }

  .gsvc-td-content {
    border-bottom: 1px dashed #dddddd !important;
  }

  /* スマホ用小見出しラベルを表示 */
  .gsvc-sp-label {
    display: block !important;
    font-weight: bold !important;
    font-size: 0.85em !important;
    color: #666666 !important;
    background-color: #f0f0f0 !important;
    padding: 3px 8px !important;
    margin-bottom: 10px !important;
    border-radius: 3px !important;
    width: fit-content !important;
  }

  .gsvc-pc-only {
    display: none !important;
  }
}


/*-------------------------
株式会社Standageとの業務提携
/*-------------------------

/* 全体コンテナ */
.st-alliance-container {
  width: 100%;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 20px 0;
}
.st-alliance-container *,
.st-alliance-container *::before,
.st-alliance-container *::after {
  box-sizing: border-box;
}

/* 改行コントロール */
.st-alliance-sp-only {
  display: none;
}

/* 上部バナー */
.st-alliance-top-banner {
  background-color: #003377; /* 濃い青 */
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px 20px;
  border-radius: 8px;
  margin-bottom: 40px;
  text-align: center;
  font-weight: bold;
  font-size: 120%;
}
.st-alliance-banner-left,
.st-alliance-banner-right {
  flex: 1;
}
.st-alliance-banner-cross {
  color: #00ccaa; /* エメラルドグリーンの× */
  padding: 0 20px;
  font-weight: normal;
}

/* メインコンテンツ（PC時は横並び） */
.st-alliance-main-content {
  display: flex;
  justify-content: space-between;
  gap: 5%;
}

/* 左右カラムの幅調整 */
.st-alliance-left-col {
  width: 53%;
}
.st-alliance-right-col {
  width: 42%;
}

/* タイトルとアイコン */
.st-alliance-main-title {
  color: #0055aa;
  display: flex;
  align-items: center;
  margin-top: 0;
  margin-bottom: 20px;
  font-weight: bold;
}
.st-alliance-square-icon {
  display: inline-block;
  width: 16px;
  height: 24px;
  margin-right: 12px;
  flex-shrink: 0;
}

/* 本文テキスト共通 */
.st-alliance-description,
.st-alliance-service-description {
  color: #333333;
  line-height: 1.7;
  margin-bottom: 25px;
}
.st-alliance-description strong,
.st-alliance-service-description strong {
  color: #111111;
  font-weight: bold;
}

/* 理由ボックス（背景グレー） */
.st-alliance-reason-box {
  background-color: #f4f7fa;
  border-left: 4px solid #00ccaa; /* 左の緑ライン */
  padding: 20px 25px;
  border-radius: 0 8px 8px 0;
}
.st-alliance-reason-title {
  color: #004499;
  margin-top: 0;
  margin-bottom: 15px;
  font-weight: bold;
}
.st-alliance-reason-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.st-alliance-reason-list li {
  position: relative;
  padding-left: 25px;
  margin-bottom: 12px;
  line-height: 1.5;
  color: #444444;
}
.st-alliance-reason-list li:last-child {
  margin-bottom: 0;
}
.st-alliance-reason-list li strong {
  color: #111111;
  font-weight: bold;
}
.st-alliance-check-icon {
  position: absolute;
  left: 0;
  top: 0;
  color: #00ccaa; /* 緑のチェック */
  font-weight: bold;
}

/* 右カラム：画像エリア */
.st-alliance-image-wrapper {
  position: relative;
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 20px;
}
.st-alliance-service-img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 16 / 9; /* 画像のアスペクト比を維持（適宜調整してください） */
  object-fit: cover;
}
.st-alliance-image-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background: linear-gradient(to top, rgba(16, 69, 142, 0.95), rgba(24, 89, 177, 0.8));
  color: #ffffff;
  padding: 10px 15px;
  display: flex;
  align-items: center;
  font-weight: bold;
}
.st-alliance-square-icon-white {
  display: inline-block;
  width: 14px;
  height: 20px;
  margin-right: 10px;
  flex-shrink: 0;
}

/* 実績数値エリア */
.st-alliance-stats-flex {
  display: flex;
  gap: 15px;
}
.st-alliance-stat-card {
  flex: 1;
  background-color: #f0f5fa;
  border: 1px solid #d0e0f0;
  border-radius: 8px;
  padding: 5px 10px;
  text-align: center;
}
.st-alliance-stat-label {
  color: #004499;
  font-weight: bold;
  margin-bottom: 5px;
}
.st-alliance-stat-number {
  color: #d97706; /* オレンジ系の文字色 */
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: baseline;
  font-size: 150%;
}
.st-alliance-stat-unit {
  color: #d97706;
  font-weight: bold;
  margin-left: 2px;
}

/* レスポンシブ対応（タブレット・スマホサイズ） */
@media screen and (max-width: 768px) {
  .st-alliance-sp-only {
    display: inline;
  }
  .st-alliance-top-banner {
    flex-direction: column;
    padding: 15px;
  }
  .st-alliance-banner-cross {
    padding: 5px 0;
  }
  .st-alliance-main-content {
    flex-direction: column;
    gap: 40px;
  }
  .st-alliance-left-col,
  .st-alliance-right-col {
    width: 100%;
  }
}


/* 全体コンテナ設定 */
.global-strategy-container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  box-sizing: border-box;
}

.global-strategy-container *,
.global-strategy-container *::before,
.global-strategy-container *::after {
  box-sizing: border-box;
}

/* カードエリアのレイアウト */
.global-strategy-cards-wrapper {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  margin-bottom: 30px;
}

/* カードの共通スタイル */
.global-strategy-card {
  flex: 1;
  border-width: 2px;
  border-style: solid;
  border-radius: 12px;
  padding: 30px 15px 25px;
  text-align: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

/* カードごとの個別カラー設定設定 */
.card-blue-dark { border-color: #1d446c; background-color: #f4f7fa; }
.card-blue-light { border-color: #2267ad; background-color: #f4f7fa; }
.card-green { border-color: #12786a; background-color: #f0f6f5; }
.card-orange { border-color: #df8114; background-color: #fbf5eb; }

/* アイコンスタイル */
.global-strategy-icon-wrap {
  width: 60px;
  height: 60px;
  margin: 0 auto 18px;
}
.global-strategy-icon {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* タイトルスタイル */
.global-strategy-card-title {
  margin: 0 0 15px 0;
  font-weight: bold;
  line-height: 1.3;
}
.text-blue-dark { color: #1d446c; }
.text-blue-light { color: #2267ad; }
.text-green { color: #12786a; }
.text-orange { color: #df8114; }

/* 説明文スタイル */
.global-strategy-card-desc {
  margin: 0;
  color: #333333;
  line-height: 1.5;
  text-align: left;
}

/* 改行制御用の補助クラス */
.global-strategy-text-nowrap {
  display: inline-block;
  white-space: nowrap;
}

/* 掛け合わせ記号（×）のスタイリング */
.global-strategy-operator-multiply {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  flex-shrink: 0;
  position: relative;
}
.global-strategy-operator-multiply::before,
.global-strategy-operator-multiply::after {
  content: '';
  position: absolute;
  width: 16px;
  height: 3px;
  background-color: #1d446c;
}
.global-strategy-operator-multiply::before { transform: rotate(45deg); }
.global-strategy-operator-multiply::after { transform: rotate(-45deg); }

/* 下部結果バナー */
.global-strategy-result-banner {
  background-color: #23527c;
  border-radius: 12px;
  padding: 25px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 120%;
}

/* イコール記号（＝） */
.global-strategy-operator-equal {
  font-weight: bold;
  margin-right: 15px;
  flex-shrink: 0;
}

/* 結果テキスト */
.global-strategy-result-text {
  margin: 0;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}

/* --- レスポンシブ対応（タブレット・スマホ向け） --- */
@media screen and (max-width: 960px) {
  .global-strategy-cards-wrapper {
    flex-direction: column;
    align-items: center;
  }
  
  .global-strategy-card {
    width: 100%;
    max-width: 500px;
    padding: 25px 20px;
  }
  
  .global-strategy-card-desc {
    text-align: center;
  }

  /* スマホ時は「×」を縦並び用の配置に変更 */
  .global-strategy-operator-multiply {
    height: 40px;
    width: 100%;
  }

  .global-strategy-result-banner {
    flex-direction: column;
    max-width: 500px;
    margin: 0 auto;
    padding: 20px;
  }

  .global-strategy-operator-equal {
    margin-right: 0;
    margin-bottom: 5px;
    transform: rotate(90deg); /* イコールを縦向きに */
  }

  .global-strategy-container{
    padding-top: 50px;
  }
}