@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/


/* 気候変動と森林の関係性セクション - 2025年最新SEO対応デザイン */

/* セクション全体のベース設定 */
.climate-forest-section-2025 {
  background: linear-gradient(135deg, #f8fffe 0%, #e8f5f2 100%);
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}

.climate-forest-section-2025::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -10%;
  width: 60%;
  height: 200%;
  background: radial-gradient(circle, rgba(76, 175, 80, 0.05) 0%, transparent 70%);
  animation: floatAnimation 20s ease-in-out infinite;
}

@keyframes floatAnimation {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-30px) rotate(180deg); }
}

.section-inner-wrapper {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  z-index: 1;
}

/* メインタイトルエリア */
.main-title-container {
  text-align: center;
  margin-bottom: 60px;
  animation: fadeInDown 0.8s ease-out;
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.section-main-title {
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 800;
  line-height: 1.3;
  margin-bottom: 20px;
  position: relative;
  display: inline-block;
}

.gradient-text {
  background: linear-gradient(135deg, #2e7d32 0%, #66bb6a 50%, #4caf50 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.title-icon {
  font-size: 1.2em;
  margin-right: 15px;
  animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.1); }
}

.subtitle-accent {
  display: block;
  font-size: 0.5em;
  font-weight: 400;
  margin-top: 10px;
  color: #555;
  -webkit-text-fill-color: #555;
}

.title-decoration-line {
  width: 100px;
  height: 4px;
  background: linear-gradient(90deg, #4caf50, #8bc34a, #4caf50);
  margin: 20px auto;
  border-radius: 2px;
  animation: shimmer 3s ease-in-out infinite;
}

@keyframes shimmer {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

/* 導入セクション */
.intro-section {
  margin-bottom: 60px;
}

.fade-in-up {
  animation: fadeInUp 0.8s ease-out 0.2s both;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.intro-card {
  background: white;
  border-radius: 20px;
  padding: 40px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(76, 175, 80, 0.1);
  position: relative;
  overflow: hidden;
}

.intro-card::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #4caf50, #8bc34a, #cddc39);
}

.intro-text {
  font-size: 1.1rem;
  line-height: 1.8;
  color: #333;
  margin-bottom: 30px;
}

.highlight-green {
  color: #2e7d32;
  font-weight: 700;
  position: relative;
  padding: 2px 4px;
  background: linear-gradient(180deg, transparent 60%, rgba(76, 175, 80, 0.2) 60%);
}

.emphasis-underline {
  text-decoration: underline;
  text-decoration-color: #4caf50;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

/* 統計グリッド */
.key-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 30px;
  margin-top: 30px;
}

.stat-card {
  background: linear-gradient(135deg, #f1f8e9 0%, #ffffff 100%);
  border-radius: 15px;
  padding: 25px;
  text-align: center;
  border: 2px solid #e8f5e9;
  transition: all 0.3s ease;
}

.stat-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 30px rgba(76, 175, 80, 0.15);
  border-color: #4caf50;
}

.stat-number {
  display: block;
  font-size: 2.5rem;
  font-weight: 800;
  color: #2e7d32;
  margin-bottom: 10px;
  background: linear-gradient(135deg, #2e7d32, #66bb6a);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.stat-label {
  font-size: 0.9rem;
  color: #666;
  line-height: 1.4;
}

/* サブセクションタイトル */
.subsection-title {
  font-size: 1.8rem;
  font-weight: 700;
  color: #2e7d32;
  margin: 50px 0 30px;
  display: flex;
  align-items: center;
  gap: 15px;
  position: relative;
  padding-left: 20px;
}

.subsection-title::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 80%;
  background: linear-gradient(180deg, #4caf50, #8bc34a);
  border-radius: 2px;
}

.icon-wrapper {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  background: linear-gradient(135deg, rgba(76, 175, 80, 0.1), rgba(139, 195, 74, 0.1));
  border-radius: 12px;
  font-size: 1.5rem;
}

/* コンテンツグリッド */
.content-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
  margin-bottom: 40px;
}

@media (max-width: 968px) {
  .content-grid {
    grid-template-columns: 1fr;
  }
}

.text-content {
  padding-right: 20px;
}

.detailed-text {
  font-size: 1.05rem;
  line-height: 1.8;
  color: #444;
  margin-bottom: 25px;
}

.color-primary {
  color: #2e7d32;
  font-weight: 600;
}

.big-number {
  font-size: 1.3em;
  font-weight: 700;
  color: #f57c00;
  background: linear-gradient(135deg, #ff6f00, #ffa726);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.emphasis-bold {
  font-weight: 800;
  color: #1976d2;
}

/* 比較ビジュアル */
.comparison-visual {
  background: #f5f5f5;
  border-radius: 15px;
  padding: 30px;
  margin: 30px 0;
}

.comparison-bar {
  margin-bottom: 20px;
}

.bar-label {
  display: block;
  font-size: 0.9rem;
  color: #666;
  margin-bottom: 8px;
}

.bar-fill {
  background: linear-gradient(90deg, #4caf50, #8bc34a);
  height: 40px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0 20px;
  position: relative;
  box-shadow: 0 4px 10px rgba(76, 175, 80, 0.2);
  animation: growWidth 1.5s ease-out;
}

@keyframes growWidth {
  from { width: 0; }
}

.bar-value {
  color: white;
  font-weight: 700;
  font-size: 1.1rem;
}

.atmosphere-carbon .bar-fill {
  background: linear-gradient(90deg, #ff9800, #ffc107);
}

/* パーセンテージハイライト */
.percentage-highlight {
  display: inline-block;
  background: #4caf50;
  color: white;
  padding: 3px 10px;
  border-radius: 20px;
  font-weight: 700;
  animation: bounce 2s ease-in-out infinite;
}

@keyframes bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}

/* 画像コンテナ */
.image-container {
  position: relative;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

.image-container img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.3s ease;
}

.image-container:hover img {
  transform: scale(1.05);
}

.image-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.7));
  color: white;
  padding: 15px 20px;
  font-size: 0.9rem;
  text-align: center;
}

/* 警告スタイル */
.warning-style {
  color: #e65100;
}

.alert-box {
  background: linear-gradient(135deg, #fff3e0, #ffe0b2);
  border-left: 4px solid #ff6f00;
  border-radius: 10px;
  padding: 20px 30px;
  margin: 20px 0;
}

.alert-text {
  font-size: 1.1rem;
  line-height: 1.6;
  color: #e65100;
}

.text-danger {
  color: #d32f2f;
  font-weight: 700;
}

/* 統計ショーケース */
.statistics-showcase {
  background: white;
  border-radius: 20px;
  padding: 30px;
  margin: 30px 0;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.stat-item {
  display: flex;
  gap: 20px;
  align-items: start;
}

.stat-icon {
  font-size: 2rem;
  width: 60px;
  height: 60px;
  background: linear-gradient(135deg, #e8f5e9, #c8e6c9);
  border-radius: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.stat-content h5 {
  font-size: 1.2rem;
  color: #2e7d32;
  margin-bottom: 10px;
}

.stat-content p {
  line-height: 1.7;
  color: #555;
}

.highlight-number {
  font-size: 1.2em;
  font-weight: 700;
  color: #ff6f00;
}

.comparison-text {
  background: #ffeb3b;
  padding: 2px 8px;
  border-radius: 4px;
  font-weight: 600;
}

/* 原因グリッド */
.causes-grid {
  margin: 40px 0;
}

.grid-title {
  font-size: 1.3rem;
  color: #2e7d32;
  margin-bottom: 25px;
  text-align: center;
}

.cause-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 25px;
}

.cause-card {
  background: white;
  border-radius: 15px;
  padding: 25px;
  text-align: center;
  border: 2px solid #e0e0e0;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.cause-card::before {
  content: '';
  position: absolute;
  top: -100%;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(255, 87, 34, 0.1), transparent);
  transition: top 0.3s ease;
}

.cause-card:hover::before {
  top: 0;
}

.cause-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
  border-color: #ff5722;
}

.card-icon {
  font-size: 2.5rem;
  margin-bottom: 15px;
}

.cause-card h6 {
  font-size: 1.1rem;
  color: #d84315;
  margin-bottom: 10px;
  font-weight: 700;
}

.cause-card p {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #666;
}

/* 排出影響セクション */
.emission-impact-section {
  margin: 60px 0;
}

.impact-explanation {
  margin-top: 30px;
}

.explanation-card {
  background: white;
  border-radius: 20px;
  padding: 40px;
  position: relative;
}

.elevated {
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(255, 87, 34, 0.1);
}

.explanation-text {
  font-size: 1.1rem;
  line-height: 1.8;
  color: #444;
  margin-bottom: 30px;
}

.text-emphasis {
  color: #d84315;
  font-weight: 700;
  font-size: 1.1em;
}

.highlight-danger {
  background: rgba(255, 87, 34, 0.1);
  padding: 3px 8px;
  border-radius: 4px;
  color: #d84315;
  font-weight: 600;
}

/* 排出フロービジュアル */
.emission-visual {
  background: linear-gradient(135deg, #fafafa, #f5f5f5);
  border-radius: 15px;
  padding: 30px;
  margin: 30px 0;
}

.emission-flow {
  display: flex;
  align-items: center;
  justify-content: space-around;
  flex-wrap: wrap;
  gap: 20px;
}

.flow-item {
  text-align: center;
  padding: 20px;
  background: white;
  border-radius: 12px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
  min-width: 150px;
  transition: transform 0.3s ease;
}

.flow-item:hover {
  transform: scale(1.05);
}

.flow-item.negative {
  background: #fff3e0;
}

.flow-item.danger {
  background: #ffebee;
}

.flow-icon {
  display: block;
  font-size: 2.5rem;
  margin-bottom: 10px;
}

.flow-label {
  display: block;
  font-weight: 700;
  color: #333;
  margin-bottom: 5px;
}

.flow-desc {
  font-size: 0.85rem;
  color: #666;
}

.flow-arrow {
  font-size: 2rem;
  color: #999;
}

/* キーファクトボックス */
.key-fact-box {
  background: linear-gradient(135deg, #ffebee, #ffcdd2);
  border-radius: 15px;
  padding: 25px;
  margin-top: 30px;
  border-left: 5px solid #d32f2f;
}

.fact-text {
  font-size: 1.1rem;
  line-height: 1.7;
  color: #b71c1c;
}

.percentage-large {
  font-size: 1.5em;
  font-weight: 800;
  color: #d32f2f;
}

/* 京都皇帝早生桐の可能性セクション */
.kiri-potential-section {
  margin: 80px 0;
  padding: 60px 0;
  background: linear-gradient(135deg, rgba(46, 125, 50, 0.03), rgba(139, 195, 74, 0.03));
  border-radius: 30px;
}

.special-style {
  color: #1b5e20;
  font-size: 2rem;
}

.potential-showcase {
  margin-top: 40px;
}

.showcase-intro {
  text-align: center;
  margin-bottom: 50px;
}

.intro-paragraph {
  font-size: 1.2rem;
  line-height: 1.8;
  color: #333;
  max-width: 800px;
  margin: 0 auto;
}

.brand-emphasis {
  color: #2e7d32;
  font-weight: 700;
  font-size: 1.1em;
  background: linear-gradient(180deg, transparent 70%, rgba(76, 175, 80, 0.3) 70%);
  padding: 2px 6px;
}

/* 特徴カード */
.kiri-features {
  margin-top: 50px;
}

.features-title {
  text-align: center;
  font-size: 1.6rem;
  color: #1b5e20;
  margin-bottom: 40px;
  position: relative;
}

.features-title::after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 3px;
  background: linear-gradient(90deg, #4caf50, #8bc34a);
  border-radius: 2px;
}

.feature-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 30px;
}

.feature-card.premium {
  background: white;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
  transition: all 0.4s ease;
  position: relative;
}

.feature-card.premium::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
  background: linear-gradient(90deg, #4caf50, #8bc34a, #cddc39);
}

.feature-card.premium:hover {
  transform: translateY(-10px) scale(1.02);
  box-shadow: 0 25px 60px rgba(76, 175, 80, 0.2);
}

.card-header {
  padding: 25px 25px 15px;
  background: linear-gradient(135deg, #e8f5e9, #f1f8e9);
}

.feature-icon {
  font-size: 2rem;
  margin-bottom: 10px;
}

.card-header h6 {
  font-size: 1.2rem;
  color: #1b5e20;
  font-weight: 700;
  margin: 0;
}

.card-body {
  padding: 20px 25px 25px;
}

.card-body p {
  line-height: 1.7;
  color: #555;
  margin-bottom: 20px;
}

.highlight {
  color: #ff6f00;
  font-weight: 700;
}

.data-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: linear-gradient(135deg, #fff8e1, #ffecb3);
  padding: 8px 15px;
  border-radius: 20px;
  border: 1px solid #ffc107;
}

.badge-label {
  font-size: 0.85rem;
  color: #666;
}

.badge-value {
  font-weight: 700;
  color: #f57c00;
  font-size: 1.1rem;
}

/* タイムライン */
.policy-timeline {
  margin: 40px 0;
  padding: 40px;
  background: white;
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.timeline-title {
  font-size: 1.4rem;
  color: #1b5e20;
  margin-bottom: 40px;
  text-align: center;
}

.timeline-container {
  position: relative;
  padding-left: 50px;
}

.timeline-container::before {
  content: '';
  position: absolute;
  left: 20px;
  top: 0;
  bottom: 0;
  width: 3px;
  background: linear-gradient(180deg, #4caf50, #8bc34a);
}

.timeline-item {
  position: relative;
  margin-bottom: 40px;
  padding-left: 40px;
}

.timeline-item::before {
  content: '';
  position: absolute;
  left: -30px;
  top: 5px;
  width: 15px;
  height: 15px;
  background: #4caf50;
  border-radius: 50%;
  box-shadow: 0 0 0 5px rgba(76, 175, 80, 0.2);
}

.timeline-item.current::before {
  animation: pulseTimeline 2s ease-in-out infinite;
}

@keyframes pulseTimeline {
  0%, 100% {
    box-shadow: 0 0 0 5px rgba(76, 175, 80, 0.2);
  }
  50% {
    box-shadow: 0 0 0 15px rgba(76, 175, 80, 0.1);
  }
}

.timeline-year {
  display: inline-block;
  background: #4caf50;
  color: white;
  padding: 5px 15px;
  border-radius: 20px;
  font-weight: 700;
  margin-bottom: 10px;
}

.timeline-content h6 {
  font-size: 1.1rem;
  color: #333;
  margin-bottom: 10px;
}

.timeline-content p {
  color: #666;
  line-height: 1.6;
}

/* 比較テーブル */
.comparison-table-container {
  overflow-x: auto;
  margin: 30px 0;
}

.comparison-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: white;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
}

.comparison-table thead {
  background: linear-gradient(135deg, #2e7d32, #388e3c);
  color: white;
}

.comparison-table th {
  padding: 18px 15px;
  text-align: center;
  font-weight: 600;
  font-size: 0.95rem;
  white-space: nowrap;
}

.comparison-table tbody tr {
  transition: background 0.3s ease;
}

.comparison-table tbody tr:hover {
  background: #f5f5f5;
}

.comparison-table tbody tr.highlight-row {
  background: linear-gradient(135deg, #e8f5e9, #f1f8e9);
}

.comparison-table td {
  padding: 15px;
  text-align: center;
  border-bottom: 1px solid #e0e0e0;
}

.comparison-table tbody tr:last-child td {
  border-bottom: none;
}

.value-high {
  color: #2e7d32;
  font-weight: 700;
  font-size: 1.1em;
}

/* ケーススタディグリッド */
.case-studies-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 30px;
  margin-top: 40px;
}

.case-study-card {
  background: white;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
}

.case-study-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
}

.case-header {
  padding: 25px;
  background: linear-gradient(135deg, #e8f5e9, #c8e6c9);
  position: relative;
}

.location-badge {
  display: inline-block;
  font-size: 1.5rem;
  margin-right: 10px;
}

.case-header h5 {
  font-size: 1.1rem;
  color: #1b5e20;
  margin: 10px 0 0;
}

.case-content {
  padding: 25px;
}

.case-stats {
  display: flex;
  justify-content: space-around;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #e0e0e0;
}

.case-stats .stat {
  text-align: center;
}

.case-stats .stat-label {
  display: block;
  font-size: 0.85rem;
  color: #666;
  margin-bottom: 5px;
}

.case-stats .stat-value {
  display: block;
  font-size: 1.2rem;
  font-weight: 700;
  color: #ff6f00;
}

.case-description {
  line-height: 1.6;
  color: #555;
}

/* イノベーションセクション */
.innovation-areas {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 30px;
  margin-top: 40px;
}

.innovation-card {
  background: white;
  border-radius: 20px;
  padding: 30px;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.innovation-card::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(33, 150, 243, 0.05) 0%, transparent 70%);
  transition: transform 0.5s ease;
}

.innovation-card:hover::before {
  transform: scale(1.2);
}

.innovation-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px rgba(33, 150, 243, 0.15);
}

.innovation-icon {
  font-size: 3rem;
  margin-bottom: 20px;
}

.innovation-card h5 {
  font-size: 1.2rem;
  color: #1565c0;
  margin-bottom: 15px;
}

.innovation-card p {
  line-height: 1.6;
  color: #555;
  margin-bottom: 20px;
}

.tech-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}

.tech-badge {
  background: linear-gradient(135deg, #e3f2fd, #bbdefb);
  color: #1565c0;
  padding: 5px 12px;
  border-radius: 15px;
  font-size: 0.8rem;
  font-weight: 600;
}

/* 経済的インパクトセクション */
.economic-analysis {
  margin-top: 40px;
}

.roi-calculator {
  background: white;
  border-radius: 20px;
  padding: 40px;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
  margin-bottom: 40px;
}

.roi-calculator h5 {
  font-size: 1.4rem;
  color: #1b5e20;
  margin-bottom: 30px;
  text-align: center;
}

.calculation-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}

@media (max-width: 768px) {
  .calculation-grid {
    grid-template-columns: 1fr;
  }
}

.calc-item h6 {
  font-size: 1.1rem;
  color: #333;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 2px solid #4caf50;
}

.income-list {
  list-style: none;
  padding: 0;
}

.income-list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid #f0f0f0;
}

.item-label {
  color: #555;
}

.item-value {
  font-weight: 700;
  color: #4caf50;
}

.roi-visual {
  margin-top: 20px;
}

.roi-bar {
  background: #f5f5f5;
  border-radius: 25px;
  height: 50px;
  overflow: hidden;
  margin-bottom: 20px;
}

.roi-fill {
  background: linear-gradient(90deg, #4caf50, #8bc34a);
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: fillBar 1.5s ease-out;
}

@keyframes fillBar {
  from { width: 0; }
}

.roi-label {
  color: white;
  font-weight: 700;
  font-size: 1.2rem;
}

.roi-description {
  line-height: 1.6;
  color: #555;
}

.profit-highlight {
  color: #4caf50;
  font-weight: 700;
  font-size: 1.1em;
}

/* マーケット予測 */
.market-forecast {
  background: linear-gradient(135deg, #f3e5f5, #e1bee7);
  border-radius: 20px;
  padding: 40px;
  text-align: center;
}

.market-forecast h5 {
  font-size: 1.3rem;
  color: #4a148c;
  margin-bottom: 30px;
}

.forecast-chart {
  margin: 30px 0;
}

.chart-bars {
  display: flex;
  justify-content: space-around;
  align-items: flex-end;
  height: 250px;
  padding: 0 20px;
}

.bar-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
}

.bar {
  background: linear-gradient(180deg, #9c27b0, #ba68c8);
  width: 80px;
  border-radius: 10px 10px 0 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 15px;
  animation: growHeight 1.5s ease-out;
  position: relative;
}

@keyframes growHeight {
  from { height: 0; }
}

.bar-value {
  color: white;
  font-weight: 700;
  font-size: 1.1rem;
}

.bar-year {
  margin-top: 10px;
  font-weight: 600;
  color: #666;
}

/* ESGフレームワーク */
.esg-framework {
  margin-top: 40px;
}

.esg-pillars {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
  margin-bottom: 40px;
}

.pillar {
  background: white;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease;
}

.pillar:hover {
  transform: translateY(-5px);
}

.pillar-header {
  padding: 25px;
  background: linear-gradient(135deg, #e8f5e9, #c8e6c9);
  display: flex;
  align-items: center;
  gap: 15px;
}

.pillar-icon {
  width: 50px;
  height: 50px;
  background: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  font-weight: 700;
  color: #4caf50;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.pillar-header h5 {
  margin: 0;
  color: #1b5e20;
  font-size: 1.1rem;
}

.pillar-points {
  padding: 25px;
  list-style: none;
}

.pillar-points li {
  padding: 10px 0;
  padding-left: 25px;
  position: relative;
  line-height: 1.5;
  color: #555;
}

.pillar-points li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: #4caf50;
  font-weight: 700;
}

.score-badge {
  padding: 20px;
  background: #f5f5f5;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.score {
  font-size: 2rem;
  font-weight: 800;
  color: #4caf50;
}

.score-label {
  font-size: 0.9rem;
  color: #666;
}

/* 企業導入事例 */
.corporate-cases {
  display: grid;
  gap: 30px;
  margin-top: 40px;
}

.company-card {
  background: white;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
}

.company-card:hover {
  transform: translateX(10px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
}

.company-header {
  padding: 25px;
  background: linear-gradient(135deg, #1a237e, #3949ab);
  color: white;
}

.company-type {
  display: inline-block;
  background: rgba(255, 255, 255, 0.2);
  padding: 5px 15px;
  border-radius: 20px;
  font-size: 0.85rem;
  margin-bottom: 10px;
}

.company-header h5 {
  margin: 0;
  font-size: 1.2rem;
}

.company-content {
  padding: 25px;
}

.initiative-details {
  margin-bottom: 20px;
}

.initiative-details h6 {
  font-size: 1rem;
  color: #333;
  margin-bottom: 10px;
}

.initiative-details p {
  line-height: 1.6;
  color: #555;
}

.impact-metrics {
  display: flex;
  gap: 20px;
  padding-top: 20px;
  border-top: 1px solid #e0e0e0;
}

.metric {
  flex: 1;
  text-align: center;
}

.metric-label {
  display: block;
  font-size: 0.85rem;
  color: #666;
  margin-bottom: 5px;
}

.metric-value {
  display: block;
  font-size: 1.3rem;
  font-weight: 700;
  color: #ff6f00;
}

/* コミュニティインパクト */
.community-benefits {
  margin-top: 40px;
}

.benefit-category {
  margin-bottom: 50px;
}

.benefit-category h5 {
  font-size: 1.3rem;
  color: #1b5e20;
  margin-bottom: 25px;
  padding-left: 15px;
  border-left: 4px solid #4caf50;
}

.benefit-items {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 25px;
}

.benefit-card {
  background: white;
  border-radius: 15px;
  padding: 25px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
}

.benefit-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
}

.benefit-card .icon {
  font-size: 2rem;
  margin-bottom: 15px;
}

.benefit-card h6 {
  font-size: 1.1rem;
  color: #333;
  margin-bottom: 10px;
}

.benefit-card p {
  line-height: 1.6;
  color: #555;
}

/* 課題と解決策 */
.challenges-grid {
  margin-top: 40px;
}

.challenge-solution-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  margin-bottom: 30px;
  padding: 30px;
  background: white;
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

@media (max-width: 768px) {
  .challenge-solution-pair {
    grid-template-columns: 1fr;
  }
}

.challenge {
  padding-right: 20px;
  border-right: 2px solid #e0e0e0;
}

@media (max-width: 768px) {
  .challenge {
    border-right: none;
    border-bottom: 2px solid #e0e0e0;
    padding-right: 0;
    padding-bottom: 20px;
  }
}

.challenge h5 {
  font-size: 1.1rem;
  color: #d32f2f;
  margin-bottom: 15px;
}

.solution h5 {
  font-size: 1.1rem;
  color: #388e3c;
  margin-bottom: 15px;
}

.solution-list {
  list-style: none;
  padding: 0;
}

.solution-list li {
  padding: 8px 0;
  padding-left: 25px;
  position: relative;
  line-height: 1.5;
  color: #555;
}

.solution-list li::before {
  content: '→';
  position: absolute;
  left: 0;
  color: #4caf50;
  font-weight: 700;
}

/* 2050年ビジョン */
.vision-2050-section {
  margin: 80px 0;
  padding: 60px;
  background: linear-gradient(135deg, #e8eaf6, #c5cae9);
  border-radius: 30px;
}

.vision-timeline {
  margin-top: 40px;
}

.vision-statement {
  font-size: 1.3rem;
  line-height: 1.8;
  color: #1a237e;
  text-align: center;
  margin-bottom: 50px;
}

.highlight-large {
  font-size: 1.2em;
  font-weight: 800;
  color: #4caf50;
  background: linear-gradient(180deg, transparent 70%, rgba(76, 175, 80, 0.3) 70%);
  padding: 2px 8px;
}

.roadmap-container {
  display: grid;
  gap: 30px;
}

.roadmap-phase {
  background: white;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
}

.roadmap-phase:hover {
  transform: scale(1.02);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
}

.phase-header {
  padding: 25px;
  background: linear-gradient(135deg, #3f51b5, #5c6bc0);
  color: white;
  display: flex;
  align-items: center;
  gap: 20px;
}

.phase-year {
  background: rgba(255, 255, 255, 0.2);
  padding: 5px 15px;
  border-radius: 20px;
  font-weight: 700;
}

.phase-header h5 {
  margin: 0;
  font-size: 1.2rem;
}

.phase-content {
  padding: 25px;
}

.phase-goals {
  list-style: none;
  padding: 0;
  margin-bottom: 20px;
}

.phase-goals li {
  padding: 10px 0;
  padding-left: 25px;
  position: relative;
  line-height: 1.5;
  color: #555;
}

.phase-goals li::before {
  content: '●';
  position: absolute;
  left: 0;
  color: #3f51b5;
}

.phase-impact {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px;
  background: #f5f5f5;
  border-radius: 10px;
}

.impact-label {
  font-size: 0.9rem;
  color: #666;
}

.impact-value {
  font-size: 1.3rem;
  font-weight: 700;
  color: #4caf50;
}

/* CTA セクション */
.cta-section {
  margin: 80px 0;
  padding: 60px 0;
  background: linear-gradient(135deg, #1b5e20, #2e7d32);
  border-radius: 30px;
}

.cta-container {
  text-align: center;
  color: white;
}

.cta-title {
  font-size: 2.5rem;
  font-weight: 800;
  margin-bottom: 20px;
}

.cta-subtitle {
  display: block;
  font-size: 0.6em;
  font-weight: 400;
  margin-top: 10px;
  opacity: 0.9;
}

.cta-message {
  font-size: 1.2rem;
  line-height: 1.8;
  max-width: 800px;
  margin: 0 auto 50px;
  opacity: 0.95;
}

.action-options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 30px;
  max-width: 1000px;
  margin: 0 auto;
}

.action-card {
  background: white;
  border-radius: 20px;
  padding: 30px;
  text-align: center;
  transition: all 0.3s ease;
}

.action-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
}

.action-card h5 {
  font-size: 1.2rem;
  color: #1b5e20;
  margin-bottom: 15px;
}

.action-card p {
  color: #555;
  line-height: 1.6;
  margin-bottom: 20px;
}

.action-button {
  display: inline-block;
  padding: 12px 30px;
  border-radius: 25px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.3s ease;
}

.action-button.corporate {
  background: linear-gradient(135deg, #1565c0, #1976d2);
  color: white;
}

.action-button.investor {
  background: linear-gradient(135deg, #6a1b9a, #7b1fa2);
  color: white;
}

.action-button.individual {
  background: linear-gradient(135deg, #e65100, #ef6c00);
  color: white;
}

.action-button:hover {
  transform: scale(1.05);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}

/* レスポンシブデザイン */
@media (max-width: 1200px) {
  .section-inner-wrapper {
    padding: 0 30px;
  }
}

@media (max-width: 768px) {
  .section-main-title {
    font-size: 2rem;
  }
  
  .content-grid,
  .calculation-grid,
  .challenge-solution-pair {
    grid-template-columns: 1fr;
  }
  
  .cause-cards,
  .feature-cards-grid,
  .case-studies-grid,
  .innovation-areas,
  .esg-pillars,
  .benefit-items,
  .action-options {
    grid-template-columns: 1fr;
  }
  
  .timeline-container {
    padding-left: 30px;
  }
  
  .comparison-table {
    font-size: 0.85rem;
  }
  
  .cta-title {
    font-size: 1.8rem;
  }
}

@media (max-width: 480px) {
  .climate-forest-section-2025 {
    padding: 40px 0;
  }
  
  .section-inner-wrapper {
    padding: 0 15px;
  }
  
  .intro-card,
  .explanation-card,
  .roi-calculator,
  .vision-2050-section {
    padding: 20px;
  }
  
  .subsection-title {
    font-size: 1.4rem;
  }
  
  .stat-number {
    font-size: 2rem;
  }
}

/* アニメーション最適化 */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* プリント対応 */
@media print {
  .climate-forest-section-2025 {
    background: white;
  }
  
  .action-button {
    display: none;
  }
  
  .card,
  .feature-card,
  .case-study-card {
    box-shadow: none;
    border: 1px solid #ddd;
  }
}

/* ===================================
   メインセクション - 基本設定
   =================================== */
.forest-multifunc-climate-sec-2025 {
  background: #ffffff;
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}

.fmcs-container-wrapper {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* ===================================
   タイトルブロック
   =================================== */
.fmcs-title-block {
  text-align: center;
  margin-bottom: 60px;
  animation: fadeIn-Up 0.8s ease-out;
}

.fmcs-main-heading {
  font-size: 42px;
  font-weight: 700;
  color: #2c3e50;
  line-height: 1.4;
  margin-bottom: 20px;
  position: relative;
  padding-bottom: 20px;
}

.fmcs-main-heading::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 3px;
  background: linear-gradient(90deg, #27ae60, #2ecc71);
  border-radius: 2px;
}

.fmcs-highlight-green {
  color: #27ae60;
  background: linear-gradient(180deg, transparent 60%, rgba(39, 174, 96, 0.15) 60%);
  padding: 0 4px;
}

/* ===================================
   導入グリッドレイアウト
   =================================== */
.fmcs-intro-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 40px;
  margin-bottom: 50px;
  align-items: center;
}

.fmcs-lead-text {
  font-size: 18px;
  line-height: 1.8;
  color: #34495e;
  text-align: justify;
}

.fmcs-em-text {
  color: #27ae60;
  font-weight: 600;
}

.fmcs-keyword-carbon {
  color: #16a085;
  font-weight: 500;
  border-bottom: 2px dotted #16a085;
}

.fmcs-keyword-bio {
  color: #8e44ad;
  font-weight: 500;
}

.fmcs-keyword-water {
  color: #3498db;
  font-weight: 500;
}

.fmcs-keyword-soil {
  color: #d35400;
  font-weight: 500;
}

.fmcs-keyword-micro {
  color: #c0392b;
  font-weight: 500;
}

.fmcs-ecosystem {
  background: linear-gradient(45deg, #27ae60, #2ecc71);
  color: white;
  padding: 2px 8px;
  border-radius: 4px;
  font-weight: 600;
}

/* アイコングリッド */
.fmcs-icon-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.fmcs-icon-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 12px;
  box-shadow: 0 3px 10px rgba(0,0,0,0.08);
  transition: transform 0.3s ease;
}

.fmcs-icon-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 5px 20px rgba(0,0,0,0.12);
}

.fmcs-icon {
  font-size: 32px;
  margin-bottom: 8px;
}

/* ===================================
   画像エリア
   =================================== */
.fmcs-image-full {
  width: 100%;
  margin: 50px 0;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.fmcs-img-responsive {
  width: 100%;
  height: auto;
  display: block;
}

/* ===================================
   気候システムへの影響
   =================================== */
.fmcs-climate-impact {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  margin: 60px 0;
  padding: 40px;
  background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
  border-radius: 16px;
}

.fmcs-sub-title {
  font-size: 28px;
  color: #2c3e50;
  margin-bottom: 25px;
  display: flex;
  align-items: center;
  gap: 15px;
}

.fmcs-number {
  background: #27ae60;
  color: white;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-weight: 700;
  flex-shrink: 0;
}

.fmcs-detail-text {
  font-size: 16px;
  line-height: 1.8;
  color: #34495e;
}

.fmcs-term-carbon {
  color: #27ae60;
  font-weight: 700;
}

.fmcs-term-albedo {
  color: #e67e22;
  font-weight: 600;
  background: rgba(230, 126, 34, 0.1);
  padding: 2px 6px;
  border-radius: 4px;
}

.fmcs-term-evaporation {
  color: #3498db;
  font-weight: 600;
}

.fmcs-term-roughness {
  color: #9b59b6;
  font-weight: 600;
}

/* 円形チャート */
.fmcs-circular-chart {
  position: relative;
  width: 300px;
  height: 300px;
  margin: 0 auto;
}

.fmcs-circle-item {
  position: absolute;
  width: 80px;
  height: 80px;
  background: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  transform: rotate(var(--rotate)) translate(110px) rotate(calc(-1 * var(--rotate)));
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
}

/* ===================================
   熱帯地域セクション
   =================================== */
.fmcs-tropical-section {
  background: linear-gradient(to bottom, #f0f9ff, #e0f2fe);
  padding: 50px;
  border-radius: 16px;
  margin: 60px 0;
}

.fmcs-section-heading {
  font-size: 26px;
  color: #2c3e50;
  margin-bottom: 30px;
  display: flex;
  align-items: center;
  gap: 15px;
}

.fmcs-badge {
  background: #16a085;
  color: white;
  padding: 6px 16px;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 600;
}

.fmcs-tropical-text {
  font-size: 16px;
  line-height: 1.9;
  color: #34495e;
  margin-bottom: 30px;
}

.fmcs-process {
  color: #16a085;
  font-weight: 700;
}

.fmcs-effect-cool {
  color: #3498db;
  font-weight: 600;
  background: rgba(52, 152, 219, 0.1);
  padding: 2px 8px;
  border-radius: 4px;
}

.fmcs-location {
  color: #27ae60;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: #27ae60;
  text-decoration-thickness: 2px;
}

.fmcs-data-temp {
  font-size: 20px;
  font-weight: 700;
  color: #e74c3c;
  background: rgba(231, 76, 60, 0.1);
  padding: 4px 10px;
  border-radius: 6px;
}

.fmcs-special-term {
  color: #2980b9;
  font-weight: 600;
  font-style: italic;
  background: linear-gradient(90deg, transparent, rgba(41, 128, 185, 0.1), transparent);
  padding: 2px 10px;
}

/* データショーケース */
.fmcs-data-showcase {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  margin-top: 30px;
}

.fmcs-data-card {
  background: white;
  padding: 30px;
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 5px 15px rgba(0,0,0,0.1);
  transition: transform 0.3s ease;
}

.fmcs-data-card:hover {
  transform: translateY(-5px);
}

.fmcs-data-number {
  font-size: 36px;
  font-weight: 700;
  color: #27ae60;
  margin-bottom: 10px;
}

.fmcs-data-label {
  font-size: 14px;
  color: #7f8c8d;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* ===================================
   高緯度地域セクション
   =================================== */
.fmcs-latitude-section {
  background: #f8f9fa;
  border-left: 5px solid #e67e22;
  padding: 40px;
  margin: 60px 0;
  border-radius: 0 12px 12px 0;
}

.fmcs-section-title {
  font-size: 24px;
  color: #2c3e50;
  margin-bottom: 25px;
  display: flex;
  align-items: center;
  gap: 15px;
}

.fmcs-latitude-text {
  font-size: 16px;
  line-height: 1.8;
  color: #34495e;
  margin-bottom: 30px;
}

.fmcs-technical {
  color: #e67e22;
  font-weight: 700;
}

.fmcs-warning {
  color: #c0392b;
  font-weight: 600;
  background: rgba(192, 57, 43, 0.1);
  padding: 2px 8px;
  border-radius: 4px;
}

.fmcs-balance {
  color: #8e44ad;
  font-weight: 700;
  border-bottom: 2px solid #8e44ad;
}

/* バランスビジュアル */
.fmcs-balance-visual {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 30px;
  align-items: center;
  margin-top: 30px;
}

.fmcs-balance-left,
.fmcs-balance-right {
  background: white;
  padding: 25px;
  border-radius: 12px;
  box-shadow: 0 3px 10px rgba(0,0,0,0.08);
}

.fmcs-balance-left h5,
.fmcs-balance-right h5 {
  font-size: 18px;
  margin-bottom: 15px;
  color: #2c3e50;
}

.fmcs-benefit-list,
.fmcs-caution-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.fmcs-benefit-list li,
.fmcs-caution-list li {
  padding: 8px 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

.fmcs-check {
  color: #27ae60;
  font-weight: 700;
}

.fmcs-alert {
  color: #e67e22;
  font-weight: 700;
}

.fmcs-balance-icon {
  font-size: 48px;
}

/* ===================================
   レジリエンスセクション
   =================================== */
.fmcs-resilience-section {
  margin: 60px 0;
  padding: 50px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 16px;
  color: white;
}

.fmcs-resilience-title {
  font-size: 28px;
  color: white;
  margin-bottom: 30px;
  text-align: center;
}

.fmcs-icon-shield {
  font-size: 36px;
  vertical-align: middle;
  margin-right: 10px;
}

.fmcs-resilience-text {
  font-size: 16px;
  line-height: 1.9;
  color: rgba(255,255,255,0.95);
  margin-bottom: 40px;
}

.fmcs-key-term {
  background: rgba(255,255,255,0.2);
  padding: 2px 8px;
  border-radius: 4px;
  font-weight: 700;
}

.fmcs-function {
  color: #f1c40f;
  font-weight: 600;
}

.fmcs-importance {
  background: rgba(255,255,255,0.3);
  padding: 4px 10px;
  border-radius: 6px;
  font-weight: 700;
}

/* レジリエンスグリッド */
.fmcs-resilience-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.fmcs-resilience-item {
  background: rgba(255,255,255,0.1);
  padding: 30px;
  border-radius: 12px;
  text-align: center;
  backdrop-filter: blur(10px);
  transition: transform 0.3s ease;
}

.fmcs-resilience-item:hover {
  transform: translateY(-5px);
  background: rgba(255,255,255,0.15);
}

.fmcs-res-icon {
  font-size: 48px;
  margin-bottom: 15px;
}

.fmcs-resilience-item h5 {
  font-size: 20px;
  margin-bottom: 10px;
  color: white;
}

.fmcs-resilience-item p {
  font-size: 14px;
  color: rgba(255,255,255,0.85);
  line-height: 1.6;
}

/* ===================================
   生物多様性セクション
   =================================== */
.fmcs-biodiversity-section {
  background: linear-gradient(to right, #f5f7fa, #c3cfe2);
  padding: 50px;
  border-radius: 16px;
  margin: 60px 0;
}

.fmcs-bio-title {
  font-size: 28px;
  color: #2c3e50;
  margin-bottom: 30px;
  display: flex;
  align-items: center;
  gap: 15px;
}

.fmcs-bio-content {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 40px;
  align-items: center;
}

.fmcs-bio-text {
  font-size: 16px;
  line-height: 1.9;
  color: #34495e;
}

.fmcs-percentage {
  font-size: 24px;
  color: #27ae60;
  font-weight: 700;
  background: rgba(39, 174, 96, 0.1);
  padding: 4px 10px;
  border-radius: 6px;
}

.fmcs-eco-health {
  color: #16a085;
  font-weight: 600;
  border-bottom: 2px dotted #16a085;
}

.fmcs-resistance {
  color: #8e44ad;
  font-weight: 600;
}

.fmcs-carbon-fix {
  color: #27ae60;
  font-weight: 700;
  background: linear-gradient(180deg, transparent 60%, rgba(39, 174, 96, 0.2) 60%);
}

/* 統計サークル */
.fmcs-stat-circle {
  width: 200px;
  height: 200px;
  background: white;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 30px rgba(0,0,0,0.15);
  margin: 0 auto;
}

.fmcs-stat-num {
  font-size: 48px;
  font-weight: 700;
  color: #27ae60;
  margin-bottom: 10px;
}

.fmcs-stat-desc {
  font-size: 14px;
  color: #7f8c8d;
  text-align: center;
  padding: 0 20px;
}

/* ===================================
   結論セクション
   =================================== */
.fmcs-conclusion-section {
  background: #2c3e50;
  color: white;
  padding: 60px;
  border-radius: 16px;
  margin-top: 60px;
}

.fmcs-conclusion-heading {
  font-size: 32px;
  color: white;
  text-align: center;
  margin-bottom: 40px;
  position: relative;
  padding-bottom: 20px;
}

.fmcs-conclusion-heading::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100px;
  height: 3px;
  background: #27ae60;
}

.fmcs-conclusion-text {
  font-size: 18px;
  line-height: 1.9;
  color: rgba(255,255,255,0.95);
  text-align: justify;
}

.fmcs-holistic {
  color: #2ecc71;
  font-weight: 700;
  background: rgba(46, 204, 113, 0.2);
  padding: 2px 8px;
  border-radius: 4px;
}

.fmcs-adaptation {
  color: #3498db;
  font-weight: 600;
}

.fmcs-kiri-emphasis {
  color: #f1c40f;
  font-weight: 700;
  font-size: 20px;
  background: rgba(241, 196, 15, 0.2);
  padding: 2px 10px;
  border-radius: 6px;
}

.fmcs-advantage {
  color: #2ecc71;
  font-weight: 600;
}

.fmcs-strategy {
  color: #e67e22;
  font-weight: 600;
  border-bottom: 2px solid #e67e22;
}

/* ===================================
   アニメーション
   =================================== */
@keyframes fadeIn-Up {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ===================================
   レスポンシブ対応
   =================================== */
@media (max-width: 1024px) {
  .fmcs-intro-grid,
  .fmcs-climate-impact,
  .fmcs-bio-content {
    grid-template-columns: 1fr;
  }
  
  .fmcs-resilience-grid {
    grid-template-columns: 1fr;
  }
  
  .fmcs-data-showcase {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .fmcs-main-heading {
    font-size: 28px;
  }
  
  .fmcs-container-wrapper {
    padding: 0 15px;
  }
  
  .forest-multifunc-climate-sec-2025 {
    padding: 40px 0;
  }
  
  .fmcs-icon-grid {
    grid-template-columns: 1fr;
  }
  
  .fmcs-balance-visual {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .fmcs-balance-center {
    text-align: center;
  }
  
  .fmcs-circular-chart {
    width: 250px;
    height: 250px;
  }
  
  .fmcs-circle-item {
    width: 70px;
    height: 70px;
    font-size: 12px;
    transform: rotate(var(--rotate)) translate(90px) rotate(calc(-1 * var(--rotate)));
  }
  
  .fmcs-tropical-section,
  .fmcs-latitude-section,
  .fmcs-resilience-section,
  .fmcs-biodiversity-section,
  .fmcs-conclusion-section {
    padding: 30px 20px;
  }
  
  .fmcs-data-number {
    font-size: 28px;
  }
  
  .fmcs-stat-num {
    font-size: 36px;
  }
  
  .fmcs-stat-circle {
    width: 150px;
    height: 150px;
  }
}

@media (max-width: 480px) {
  .fmcs-main-heading {
    font-size: 24px;
  }
  
  .fmcs-sub-title,
  .fmcs-section-heading,
  .fmcs-bio-title,
  .fmcs-resilience-title {
    font-size: 20px;
  }
  
  .fmcs-lead-text,
  .fmcs-conclusion-text {
    font-size: 16px;
  }
  
  .fmcs-detail-text,
  .fmcs-tropical-text,
  .fmcs-latitude-text,
  .fmcs-resilience-text,
  .fmcs-bio-text {
    font-size: 14px;
  }
  
  .fmcs-number {
    width: 32px;
    height: 32px;
    font-size: 14px;
  }
  
  .fmcs-icon {
    font-size: 24px;
  }
  
  .fmcs-res-icon {
    font-size: 36px;
  }
  
  .fmcs-percentage {
    font-size: 20px;
  }
  
  .fmcs-kiri-emphasis {
    font-size: 18px;
  }
}

/* ===================================
   メインセクション - 基本設定
   =================================== */
.intl-climate-forest-position-2025 {
  background: #ffffff;
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}

.icfp-wrapper-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* ===================================
   ヒーロータイトル
   =================================== */
.icfp-hero-title {
  text-align: center;
  margin-bottom: 60px;
  position: relative;
  animation: fadeIn-Up 0.6s ease-out;
}

.icfp-main-heading {
  font-size: 38px;
  font-weight: 700;
  color: #1a2332;
  line-height: 1.5;
  margin-bottom: 20px;
  position: relative;
}

.icfp-title-icon {
  display: inline-block;
  font-size: 42px;
  margin-right: 15px;
  animation: rotateIcon 3s linear infinite;
}

@keyframes rotateIcon {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.icfp-emphasis-forest {
  background: linear-gradient(135deg, #0d7377 0%, #14868b 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 800;
  display: inline-block;
  position: relative;
}

.icfp-subtitle-ribbon {
  display: inline-block;
  background: linear-gradient(90deg, #0d7377, #14868b);
  color: white;
  padding: 10px 30px;
  border-radius: 25px;
  font-size: 14px;
  box-shadow: 0 4px 15px rgba(13, 115, 119, 0.3);
}

/* ===================================
   タイムライン導入部
   =================================== */
.icfp-timeline-intro {
  position: relative;
  padding: 40px 0;
  margin-bottom: 50px;
}

.icfp-timeline-line {
  position: absolute;
  left: 50px;
  top: 0;
  bottom: 0;
  width: 3px;
  background: linear-gradient(180deg, #0d7377, #14868b);
}

.icfp-timeline-item {
  position: relative;
  padding-left: 100px;
  margin-bottom: 30px;
}

.icfp-timeline-item::before {
  content: attr(data-year);
  position: absolute;
  left: 35px;
  top: 0;
  width: 30px;
  height: 30px;
  background: #0d7377;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 10px;
  font-weight: 700;
  box-shadow: 0 0 0 5px rgba(13, 115, 119, 0.2);
}

.icfp-intro-text {
  font-size: 17px;
  line-height: 1.8;
  color: #2c3e50;
  background: #f8fafb;
  padding: 25px;
  border-radius: 12px;
  box-shadow: 0 3px 10px rgba(0,0,0,0.08);
}

.icfp-year-highlight {
  color: #e74c3c;
  font-weight: 700;
  font-size: 18px;
}

.icfp-treaty-name {
  color: #0d7377;
  background: rgba(13, 115, 119, 0.08);
  padding: 2px 8px;
  border-radius: 4px;
}

.icfp-keyword-ghg {
  color: #8e44ad;
  font-weight: 600;
  border-bottom: 2px dotted #8e44ad;
}

.icfp-forest-role {
  color: #27ae60;
  font-weight: 600;
  background: linear-gradient(180deg, transparent 60%, rgba(39, 174, 96, 0.15) 60%);
}

/* ===================================
   京都議定書セクション
   =================================== */
.icfp-kyoto-section {
  background: linear-gradient(135deg, #f5f7fa 0%, #e3e6eb 100%);
  border-radius: 16px;
  padding: 50px;
  margin: 60px 0;
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.icfp-section-header {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 30px;
}

.icfp-year-badge {
  background: #c0392b;
  color: white;
  padding: 10px 20px;
  border-radius: 25px;
  font-weight: 700;
  font-size: 18px;
  box-shadow: 0 4px 10px rgba(192, 57, 43, 0.3);
}

.icfp-section-title {
  font-size: 26px;
  color: #1a2332;
  font-weight: 700;
}

.icfp-kyoto-text {
  font-size: 16px;
  line-height: 1.8;
  color: #34495e;
  margin-bottom: 35px;
}

.icfp-year-mark {
  color: #c0392b;
  font-weight: 700;
  font-size: 17px;
}

.icfp-protocol {
  color: #0d7377;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-decoration-color: #0d7377;
}

.icfp-term-sink {
  background: #f39c12;
  color: white;
  padding: 3px 10px;
  border-radius: 4px;
  font-weight: 600;
}

.icfp-activity-type {
  color: #16a085;
  font-weight: 600;
  background: rgba(22, 160, 133, 0.1);
  padding: 2px 6px;
  border-radius: 3px;
  margin: 0 2px;
}

/* 活動グリッド */
.icfp-activities-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
  margin-top: 35px;
}

.icfp-activity-card {
  background: white;
  padding: 30px;
  border-radius: 12px;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 5px 15px rgba(0,0,0,0.08);
}

.icfp-activity-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}

.icfp-activity-icon {
  font-size: 48px;
  margin-bottom: 15px;
  display: block;
}

.icfp-activity-name {
  font-size: 18px;
  color: #0d7377;
  margin-bottom: 10px;
  font-weight: 700;
}

.icfp-activity-desc {
  font-size: 14px;
  color: #7f8c8d;
  line-height: 1.6;
}

/* ===================================
   画像コンテナ
   =================================== */
.icfp-image-container {
  width: 100%;
  margin: 50px 0;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,0.12);
  position: relative;
}

.icfp-full-image {
  width: 100%;
  height: auto;
  display: block;
}

.icfp-image-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
  color: white;
  padding: 20px;
  font-size: 14px;
  text-align: center;
}

/* ===================================
   パリ協定セクション
   =================================== */
.icfp-paris-section {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  padding: 60px;
  margin: 60px 0;
  border-radius: 20px;
  color: white;
  position: relative;
  overflow: hidden;
}

.icfp-paris-section::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -10%;
  width: 300px;
  height: 300px;
  background: rgba(255,255,255,0.1);
  border-radius: 50%;
}

.icfp-paris-header {
  display: flex;
  align-items: center;
  gap: 25px;
  margin-bottom: 35px;
}

.icfp-year-circle {
  width: 80px;
  height: 80px;
  background: rgba(255,255,255,0.2);
  border: 3px solid white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 700;
}

.icfp-paris-title {
  font-size: 28px;
  color: white;
}

.icfp-paris-text {
  font-size: 16px;
  line-height: 1.9;
  color: rgba(255,255,255,0.95);
  margin-bottom: 30px;
}

.icfp-year-emphasis {
  font-size: 18px;
  font-weight: 700;
  background: rgba(255,255,255,0.2);
  padding: 2px 8px;
  border-radius: 4px;
}

.icfp-paris-agreement {
  color: #ffd700;
  font-weight: 700;
  text-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.icfp-article {
  color: #00ff88;
  font-weight: 600;
}

.icfp-ghg-sink {
  background: rgba(255,255,255,0.15);
  padding: 2px 8px;
  border-radius: 4px;
}

.icfp-redd {
  color: #ffd700;
  background: rgba(255,215,0,0.2);
  padding: 3px 10px;
  border-radius: 5px;
}

.icfp-incentive {
  color: #00ff88;
  font-weight: 600;
  border-bottom: 2px solid #00ff88;
}

/* パリ協定特徴ボックス */
.icfp-paris-features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.icfp-feature-box {
  background: rgba(255,255,255,0.1);
  padding: 20px;
  border-radius: 10px;
  text-align: center;
  backdrop-filter: blur(10px);
  transition: background 0.3s ease;
}

.icfp-feature-box:hover {
  background: rgba(255,255,255,0.2);
}

.icfp-feature-icon {
  font-size: 32px;
  display: block;
  margin-bottom: 10px;
}

.icfp-feature-text {
  font-size: 14px;
  font-weight: 600;
}

/* ===================================
   REDD+セクション
   =================================== */
.icfp-redd-section {
  background: #f0f4f8;
  border-left: 5px solid #27ae60;
  padding: 50px;
  margin: 60px 0;
  border-radius: 0 16px 16px 0;
}

.icfp-redd-header {
  margin-bottom: 35px;
}

.icfp-redd-title {
  font-size: 28px;
  color: #1a2332;
  display: flex;
  align-items: center;
  gap: 15px;
}

.icfp-redd-icon {
  font-size: 36px;
}

.icfp-redd-text {
  font-size: 16px;
  line-height: 1.8;
  color: #34495e;
  margin-bottom: 40px;
}

.icfp-redd-plus {
  color: #27ae60;
  font-weight: 700;
  font-size: 18px;
}

.icfp-action {
  color: #16a085;
  font-weight: 600;
  background: rgba(22, 160, 133, 0.1);
  padding: 2px 6px;
  border-radius: 3px;
  margin: 0 3px;
}

.icfp-country {
  color: #2980b9;
  font-weight: 700;
  border-bottom: 2px solid #2980b9;
}

.icfp-amount {
  color: #e74c3c;
  font-weight: 700;
  font-size: 18px;
  background: rgba(231, 76, 60, 0.1);
  padding: 2px 10px;
  border-radius: 4px;
}

.icfp-target-country {
  color: #8e44ad;
  font-weight: 600;
}

/* 資金フロー図 */
.icfp-flow-diagram {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 30px;
  align-items: center;
  background: white;
  padding: 40px;
  border-radius: 12px;
  box-shadow: 0 5px 20px rgba(0,0,0,0.1);
}

.icfp-donor-side,
.icfp-recipient-side {
  text-align: center;
}

.icfp-donor-side h5,
.icfp-recipient-side h5 {
  font-size: 18px;
  color: #0d7377;
  margin-bottom: 20px;
  font-weight: 700;
}

.icfp-donor-list,
.icfp-recipient-list {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.icfp-donor-item,
.icfp-recipient-item {
  background: #f8f9fa;
  padding: 12px 20px;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 600;
}

.icfp-flow-arrow {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.icfp-money-icon {
  font-size: 48px;
  animation: bounce 2s infinite;
}

@keyframes bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

.icfp-flow-amount {
  font-size: 16px;
  font-weight: 700;
  color: #e74c3c;
}

/* ===================================
   COP26セクション
   =================================== */
.icfp-cop26-section {
  background: linear-gradient(to right, #1a2332, #2c3e50);
  color: white;
  padding: 60px;
  margin: 60px 0;
  border-radius: 20px;
  position: relative;
}

.icfp-cop26-wrapper {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 50px;
  align-items: center;
}

.icfp-cop26-year {
  font-size: 72px;
  font-weight: 900;
  color: rgba(255,255,255,0.1);
  background: linear-gradient(135deg, #f39c12, #e67e22);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.icfp-cop26-title {
  font-size: 28px;
  color: white;
  margin-top: 10px;
}

.icfp-cop26-text {
  font-size: 16px;
  line-height: 1.9;
  color: rgba(255,255,255,0.9);
  margin-bottom: 35px;
}

.icfp-cop26-name {
  color: #f39c12;
  font-weight: 700;
}

.icfp-declaration {
  color: #3498db;
  font-weight: 600;
  background: rgba(52, 152, 219, 0.2);
  padding: 2px 8px;
  border-radius: 4px;
}

.icfp-countries {
  font-size: 24px;
  color: #2ecc71;
  font-weight: 700;
}

.icfp-target-year {
  color: #e74c3c;
  font-weight: 700;
  font-size: 18px;
}

.icfp-funding {
  font-size: 20px;
  color: #f39c12;
  font-weight: 700;
  background: rgba(243, 156, 18, 0.2);
  padding: 3px 10px;
  border-radius: 5px;
}

/* COP26統計 */
.icfp-cop26-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
}

.icfp-stat-item {
  background: rgba(255,255,255,0.1);
  padding: 25px;
  border-radius: 12px;
  text-align: center;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,0.2);
}

.icfp-stat-value {
  font-size: 32px;
  font-weight: 700;
  color: #f39c12;
  margin-bottom: 8px;
}

.icfp-stat-label {
  font-size: 14px;
  color: rgba(255,255,255,0.7);
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* ===================================
   自然に基づく解決策セクション
   =================================== */
.icfp-nbs-section {
  background: linear-gradient(135deg, #a8e063 0%, #56ab2f 100%);
  padding: 60px;
  margin: 60px 0;
  border-radius: 20px;
  color: white;
}

.icfp-nbs-title {
  font-size: 28px;
  color: white;
  text-align: center;
  margin-bottom: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
}

.icfp-nbs-icon {
  font-size: 36px;
}

.icfp-nbs-text {
  font-size: 16px;
  line-height: 1.9;
  color: rgba(255,255,255,0.95);
  margin-bottom: 40px;
}

.icfp-nbs-term {
  background: rgba(255,255,255,0.2);
  padding: 3px 10px;
  border-radius: 5px;
  font-weight: 700;
}

.icfp-cost-effective {
  color: #ffd700;
  font-weight: 600;
  border-bottom: 2px solid #ffd700;
}

.icfp-ipcc {
  color: #fff;
  font-weight: 700;
  font-size: 18px;
  text-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.icfp-percentage {
  font-size: 28px;
  font-weight: 900;
  color: #ffd700;
  background: rgba(255,215,0,0.2);
  padding: 5px 15px;
  border-radius: 8px;
}

/* 円形プログレスバー */
.icfp-circular-progress {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.icfp-circle-outer {
  width: 200px;
  height: 200px;
  background: conic-gradient(#ffd700 0deg 108deg, rgba(255,255,255,0.2) 108deg);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

.icfp-circle-inner {
  width: 160px;
  height: 160px;
  background: linear-gradient(135deg, #56ab2f, #a8e063);
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.icfp-progress-value {
  font-size: 48px;
  font-weight: 900;
  color: white;
}

.icfp-progress-label {
  font-size: 12px;
  color: rgba(255,255,255,0.9);
  text-transform: uppercase;
}

.icfp-progress-desc {
  text-align: center;
  font-size: 14px;
  color: rgba(255,255,255,0.9);
  max-width: 400px;
}

/* ===================================
   日本の取り組みセクション
   =================================== */
.icfp-japan-section {
  background: linear-gradient(135deg, #ffeaa7 0%, #fdcb6e 100%);
  padding: 60px;
  margin: 60px 0;
  border-radius: 20px;
  position: relative;
}

.icfp-japan-header {
  margin-bottom: 35px;
}

.icfp-japan-title {
  font-size: 28px;
  color: #2d3436;
  display: flex;
  align-items: center;
  gap: 15px;
}

.icfp-japan-flag {
  font-size: 36px;
}

.icfp-japan-text {
  font-size: 16px;
  line-height: 1.8;
  color: #2d3436;
  margin-bottom: 40px;
}

.icfp-jcm {
  color: #d63031;
  font-weight: 700;
  background: rgba(214, 48, 49, 0.1);
  padding: 3px 10px;
  border-radius: 5px;
}

.icfp-program {
  color: #0984e3;
  font-weight: 600;
  border-bottom: 2px dotted #0984e3;
}

.icfp-sustainable {
  color: #00b894;
  font-weight: 600;
  background: rgba(0, 184, 148, 0.1);
  padding: 2px 8px;
  border-radius: 4px;
}

/* 日本の取り組みリスト */
.icfp-japan-initiatives {
  display: grid;
  gap: 25px;
}

.icfp-initiative-item {
  background: white;
  padding: 30px;
  border-radius: 12px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 25px;
  align-items: center;
  box-shadow: 0 5px 20px rgba(0,0,0,0.1);
  transition: transform 0.3s ease;
}

.icfp-initiative-item:hover {
  transform: translateX(10px);
}

.icfp-init-icon {
  font-size: 48px;
  width: 80px;
  height: 80px;
  background: linear-gradient(135deg, #ffeaa7, #fdcb6e);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.icfp-init-content h5 {
  font-size: 18px;
  color: #2d3436;
  margin-bottom: 8px;
  font-weight: 700;
}

.icfp-init-content p {
  font-size: 14px;
  color: #636e72;
  line-height: 1.6;
}

/* ===================================
   結論セクション
   =================================== */
.icfp-conclusion {
  background: linear-gradient(135deg, #0d7377, #14868b);
  padding: 60px;
  border-radius: 20px;
  margin-top: 60px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.icfp-conclusion::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
  animation: pulse 3s ease-in-out infinite;
}

@keyframes pulse {
  0%, 100% { transform: translate(-50%, -50%) scale(1); }
  50% { transform: translate(-50%, -50%) scale(1.1); }
}

.icfp-conclusion-content {
  position: relative;
  z-index: 1;
}

.icfp-conclusion-title {
  font-size: 32px;
  color: white;
  margin-bottom: 25px;
  font-weight: 700;
}

.icfp-conclusion-text {
  font-size: 18px;
  line-height: 1.9;
  color: rgba(255,255,255,0.95);
  max-width: 800px;
  margin: 0 auto;
}

.icfp-kiri-emphasis {
  color: #ffd700;
  font-weight: 700;
  font-size: 20px;
  background: rgba(255,215,0,0.2);
  padding: 2px 10px;
  border-radius: 5px;
}

.icfp-kiri-feature {
  color: #00ff88;
  font-weight: 600;
  border-bottom: 2px solid #00ff88;
}

/* ===================================
   アニメーション定義
   =================================== */
@keyframes fadeIn-Up {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeIn-Right {
  from {
    opacity: 0;
    transform: translateX(-30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeIn-Left {
  from {
    opacity: 0;
    transform: translateX(30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* ===================================
   レスポンシブ対応
   =================================== */
@media (max-width: 1024px) {
  .icfp-activities-grid {
    grid-template-columns: 1fr;
  }
  
  .icfp-paris-features {
    grid-template-columns: 1fr;
  }
  
  .icfp-flow-diagram {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  
  .icfp-flow-arrow {
    transform: rotate(90deg);
    margin: 20px 0;
  }
  
  .icfp-cop26-wrapper {
    grid-template-columns: 1fr;
    text-align: center;
  }
  
  .icfp-cop26-stats {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .intl-climate-forest-position-2025 {
    padding: 40px 0;
  }
  
  .icfp-main-heading {
    font-size: 28px;
  }
  
  .icfp-title-icon {
    font-size: 32px;
  }
  
  .icfp-timeline-line {
    left: 20px;
  }
  
  .icfp-timeline-item {
    padding-left: 60px;
  }
  
  .icfp-timeline-item::before {
    left: 5px;
  }
  
  .icfp-kyoto-section,
  .icfp-paris-section,
  .icfp-redd-section,
  .icfp-cop26-section,
  .icfp-nbs-section,
  .icfp-japan-section,
  .icfp-conclusion {
    padding: 35px 25px;
  }
  
  .icfp-section-title,
  .icfp-paris-title,
  .icfp-redd-title,
  .icfp-cop26-title,
  .icfp-nbs-title,
  .icfp-japan-title {
    font-size: 22px;
  }
  
  .icfp-cop26-year {
    font-size: 48px;
  }
  
  .icfp-circle-outer {
    width: 150px;
    height: 150px;
  }
  
  .icfp-circle-inner {
    width: 120px;
    height: 120px;
  }
  
  .icfp-progress-value {
    font-size: 36px;
  }
  
  .icfp-initiative-item {
    grid-template-columns: 1fr;
    text-align: center;
  }
  
  .icfp-init-icon {
    margin: 0 auto;
  }
}

@media (max-width: 480px) {
  .icfp-main-heading {
    font-size: 24px;
  }
  
  .icfp-subtitle-ribbon {
    font-size: 12px;
    padding: 8px 20px;
  }
  
  .icfp-intro-text,
  .icfp-kyoto-text,
  .icfp-paris-text,
  .icfp-redd-text,
  .icfp-cop26-text,
  .icfp-nbs-text,
  .icfp-japan-text,
  .icfp-conclusion-text {
    font-size: 14px;
  }
  
  .icfp-year-badge {
    font-size: 16px;
    padding: 8px 15px;
  }
  
  .icfp-activity-icon {
    font-size: 36px;
  }
  
  .icfp-activity-name {
    font-size: 16px;
  }
  
  .icfp-stat-value {
    font-size: 24px;
  }
  
  .icfp-percentage {
    font-size: 22px;
  }
  
  .icfp-conclusion-title {
    font-size: 24px;
  }
  
  .icfp-kiri-emphasis {
    font-size: 18px;
  }
}













































































/* =========================================================
   H3セクション：植林プロジェクトの科学的評価と最適化
   =========================================================
   
   親カテゴリ: 2. 環境への貢献
   セクション位置: 2-1. CO₂吸収能力（気候変動対策）の子セクション
   
   【このセクションの内容】
   - 気候変動対策としての植林効果の科学的評価
   - 樹種選択（京都皇帝早生桐）の最適化戦略
   - 立地条件と管理方法による炭素固定効果の最大化
   - MRVシステムによる信頼性確保
   
   【主要要素】
   1. 樹種選択の重要性と戦略
   2. 京都皇帝早生桐の最適活用方法
   3. 立地条件の影響評価
   4. 植林地の前歴と炭素収支
   5. 植林後の管理方法
   6. 多面的評価システム
   7. 科学的モニタリング技術
   8. MRV（測定・報告・検証）システム
   
   【ターゲット】
   - 環境投資家
   - 企業のサステナビリティ担当者
   - 林業関係者
   - 環境政策立案者
   
   ========================================================= */

/* ===================================
   メインセクション - 基本設定
   =================================== */
.scientific-evaluation-optimization-2025 {
  background: #ffffff;
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}

.seo-main-wrapper {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* 以下、前回提供したCSSの続き... */
/* ===================================
   メインセクション - 基本設定
   =================================== */
.scientific-evaluation-optimization-2025 {
  background: #ffffff;
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}

.seo-main-wrapper {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* ===================================
   ヘキサゴンタイトル
   =================================== */
.seo-hexagon-title {
  text-align: center;
  margin-bottom: 60px;
  position: relative;
  animation: fadeIn-Up 0.8s ease-out;
}

.seo-primary-heading {
  font-size: 40px;
  font-weight: 700;
  color: #1e3a4c;
  line-height: 1.4;
  margin-bottom: 25px;
  position: relative;
}

.seo-primary-heading::before {
  content: '';
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 60px;
  background: linear-gradient(135deg, #22c55e, #16a34a);
  clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
  opacity: 0.2;
}

.seo-gradient-text {
  background: linear-gradient(135deg, #22c55e 0%, #16a34a 50%, #059669 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 800;
  display: inline-block;
}

.seo-subtitle-band {
  display: inline-block;
  background: linear-gradient(90deg, #f0fdf4, #dcfce7);
  color: #166534;
  padding: 12px 35px;
  border-radius: 30px;
  font-size: 15px;
  font-weight: 600;
  box-shadow: 0 4px 15px rgba(34, 197, 94, 0.15);
  border: 1px solid #bbf7d0;
}

/* ===================================
   ウェーブ導入部
   =================================== */
.seo-wave-intro {
  position: relative;
  margin-bottom: 60px;
  background: linear-gradient(135deg, #f0fdf4 0%, #ffffff 100%);
  padding: 50px;
  border-radius: 20px;
  box-shadow: 0 5px 20px rgba(0,0,0,0.05);
}

.seo-wave-intro::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
  background: linear-gradient(90deg, #22c55e, #16a34a, #059669, #22c55e);
  background-size: 200% 100%;
  animation: waveGradient 3s linear infinite;
}

@keyframes waveGradient {
  0% { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}

.seo-intro-paragraph {
  font-size: 17px;
  line-height: 1.9;
  color: #1e293b;
  margin-bottom: 30px;
}

.seo-key-point {
  color: #16a34a;
  font-weight: 700;
  background: rgba(22, 163, 74, 0.08);
  padding: 2px 8px;
  border-radius: 4px;
}

.seo-highlight-optimization {
  color: #059669;
  font-weight: 600;
  border-bottom: 2px solid #10b981;
}

.seo-carbon-term {
  color: #0891b2;
  font-weight: 600;
  background: linear-gradient(180deg, transparent 60%, rgba(8, 145, 178, 0.15) 60%);
}

.seo-factor {
  color: #7c3aed;
  font-weight: 600;
  margin: 0 5px;
}

/* ファクターバブル */
.seo-factor-bubbles {
  display: flex;
  justify-content: center;
  gap: 30px;
  margin-top: 30px;
}

.seo-bubble {
  padding: 15px 30px;
  background: white;
  border-radius: 25px;
  box-shadow: 0 5px 15px rgba(0,0,0,0.1);
  font-weight: 600;
  color: #166534;
  animation: floatBubble 3s ease-in-out infinite;
  animation-delay: var(--delay);
}

@keyframes floatBubble {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

/* ===================================
   樹種選択セクション - ダイヤモンドグリッド
   =================================== */
.seo-species-section {
  margin: 60px 0;
  background: #f8fafc;
  padding: 50px;
  border-radius: 16px;
  border-left: 5px solid #22c55e;
}

.seo-diamond-header {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 35px;
}

.seo-section-number {
  width: 50px;
  height: 50px;
  background: linear-gradient(135deg, #22c55e, #16a34a);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 20px;
  transform: rotate(45deg);
}

.seo-section-number::after {
  content: '';
  display: block;
  transform: rotate(-45deg);
}

.seo-section-title {
  font-size: 26px;
  color: #1e3a4c;
  font-weight: 700;
}

.seo-main-text {
  font-size: 16px;
  line-height: 1.9;
  color: #334155;
  margin-bottom: 35px;
}

.seo-growth-rate {
  color: #dc2626;
  font-weight: 700;
  background: rgba(220, 38, 38, 0.08);
  padding: 2px 8px;
  border-radius: 4px;
}

.seo-density {
  color: #ea580c;
  font-weight: 600;
}

.seo-monoculture {
  color: #7c3aed;
  font-weight: 600;
  background: rgba(124, 58, 237, 0.08);
  padding: 2px 6px;
  border-radius: 3px;
}

.seo-risk {
  color: #dc2626;
  font-weight: 600;
  border-bottom: 2px dotted #dc2626;
}

.seo-biodiversity {
  color: #059669;
  font-weight: 700;
  font-size: 17px;
}

/* 比較マトリックス */
.seo-comparison-matrix {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}

.seo-matrix-item {
  background: white;
  padding: 30px;
  border-radius: 12px;
  box-shadow: 0 3px 15px rgba(0,0,0,0.08);
  transition: transform 0.3s ease;
}

.seo-matrix-item:hover {
  transform: translateY(-5px);
}

.seo-matrix-item.positive {
  border-top: 3px solid #22c55e;
}

.seo-matrix-item.negative {
  border-top: 3px solid #ef4444;
}

.seo-matrix-icon {
  font-size: 36px;
  margin-bottom: 15px;
}

.seo-matrix-item h5 {
  font-size: 18px;
  color: #1e293b;
  margin-bottom: 15px;
  font-weight: 700;
}

.seo-matrix-list {
  list-style: none;
  padding: 0;
}

.seo-matrix-list li {
  padding: 8px 0;
  color: #64748b;
  position: relative;
  padding-left: 25px;
}

.seo-matrix-list li::before {
  content: '→';
  position: absolute;
  left: 0;
  color: #22c55e;
  font-weight: 700;
}

/* ===================================
   京都皇帝早生桐特性 - 円形レイアウト
   =================================== */
.seo-kiri-characteristics {
  margin: 60px 0;
  padding: 60px;
  background: linear-gradient(135deg, #1e3a4c 0%, #334155 100%);
  border-radius: 20px;
  color: white;
}

.seo-circular-layout {
  position: relative;
  min-height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.seo-center-content {
  max-width: 600px;
  text-align: center;
  z-index: 2;
  position: relative;
}

.seo-kiri-title {
  font-size: 28px;
  color: white;
  margin-bottom: 25px;
  font-weight: 700;
}

.seo-kiri-description {
  font-size: 16px;
  line-height: 1.9;
  color: rgba(255,255,255,0.95);
}

.seo-kiri-name {
  color: #fbbf24;
  font-weight: 700;
  font-size: 18px;
  text-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.seo-short-term {
  color: #86efac;
  font-weight: 600;
}

.seo-combination {
  color: #93c5fd;
  font-weight: 600;
  background: rgba(147, 197, 253, 0.2);
  padding: 2px 8px;
  border-radius: 4px;
}

.seo-multilayer {
  color: #fde047;
  font-weight: 700;
}

.seo-balance {
  color: #c084fc;
  font-weight: 600;
}

/* オービットアイテム */
.seo-orbit-items {
  position: absolute;
  width: 100%;
  height: 100%;
  animation: rotate 20s linear infinite;
}

@keyframes rotate {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.seo-orbit-item {
  position: absolute;
  width: 120px;
  height: 120px;
  background: rgba(255,255,255,0.1);
  border: 2px solid rgba(255,255,255,0.3);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  left: 50%;
  top: 50%;
  margin-left: -60px;
  margin-top: -60px;
  transform: rotate(var(--angle)) translate(200px) rotate(calc(-1 * var(--angle)));
  backdrop-filter: blur(10px);
}

.seo-orbit-item span {
  font-size: 13px;
  font-weight: 600;
  text-align: center;
}

/* ===================================
   画像コンテナ
   =================================== */
.seo-image-full {
  width: 100%;
  margin: 50px 0;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
  position: relative;
}

.seo-responsive-img {
  width: 100%;
  height: auto;
  display: block;
}

.seo-img-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
  color: white;
  padding: 20px;
  font-size: 14px;
  text-align: center;
}

/* ===================================
   立地条件セクション - ジグザグ
   =================================== */
.seo-location-section {
  margin: 60px 0;
  background: linear-gradient(to right, #fef3c7, #fef9c3);
  padding: 50px;
  border-radius: 20px;
}

.seo-zigzag-container {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 50px;
  align-items: center;
}

.seo-location-title {
  font-size: 26px;
  color: #713f12;
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 20px;
}

.seo-icon-location {
  font-size: 36px;
}

.seo-location-text {
  font-size: 16px;
  line-height: 1.9;
  color: #78350f;
  margin-bottom: 30px;
}

.seo-condition {
  color: #a16207;
  font-weight: 600;
  background: rgba(161, 98, 7, 0.1);
  padding: 2px 6px;
  border-radius: 3px;
  margin: 0 3px;
}

.seo-kiri-highlight {
  color: #dc2626;
  font-weight: 700;
  font-size: 17px;
}

.seo-optimal {
  color: #059669;
  font-weight: 600;
  background: rgba(5, 150, 105, 0.1);
  padding: 2px 8px;
  border-radius: 4px;
}

.seo-suboptimal {
  color: #dc2626;
  font-weight: 600;
  border-bottom: 2px dotted #dc2626;
}

/* 条件グリッド */
.seo-condition-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.seo-condition-card {
  background: white;
  padding: 25px;
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 3px 10px rgba(0,0,0,0.08);
}

.seo-condition-card.optimal {
  border-left: 4px solid #22c55e;
}

.seo-condition-card.suboptimal {
  border-left: 4px solid #ef4444;
}

.seo-condition-card h5 {
  font-size: 16px;
  color: #713f12;
  margin-bottom: 10px;
  font-weight: 700;
}

.seo-condition-card p {
  font-size: 14px;
  color: #92400e;
}

/* ===================================
   前歴考慮セクション - パララックス
   =================================== */
.seo-history-section {
  margin: 60px 0;
  padding: 60px;
  background: linear-gradient(135deg, #e0f2fe 0%, #bae6fd 100%);
  border-radius: 20px;
  position: relative;
  overflow: hidden;
}

.seo-history-section::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -10%;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(255,255,255,0.3) 0%, transparent 70%);
}

.seo-history-title {
  font-size: 28px;
  color: #075985;
  margin-bottom: 30px;
  text-align: center;
}

.seo-history-text {
  font-size: 16px;
  line-height: 1.9;
  color: #0c4a6e;
  margin-bottom: 40px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.seo-land-type {
  color: #0891b2;
  font-weight: 600;
}

.seo-biomass {
  color: #059669;
  font-weight: 700;
  background: rgba(5, 150, 105, 0.15);
  padding: 2px 8px;
  border-radius: 4px;
}

.seo-soil-carbon {
  color: #dc2626;
  font-weight: 600;
  border-bottom: 2px solid #dc2626;
}

.seo-grassland {
  color: #65a30d;
  font-weight: 600;
}

.seo-underground {
  color: #7c2d12;
  font-weight: 700;
  font-size: 17px;
}

.seo-carbon-balance {
  color: #7c3aed;
  font-weight: 600;
  background: rgba(124, 58, 237, 0.1);
  padding: 2px 8px;
  border-radius: 4px;
}

/* 炭素フロー */
.seo-carbon-flow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  background: white;
  padding: 40px;
  border-radius: 16px;
  box-shadow: 0 5px 20px rgba(0,0,0,0.1);
}

.seo-flow-item {
  text-align: center;
}

.seo-flow-icon {
  font-size: 48px;
  margin-bottom: 10px;
}

.seo-flow-text h5 {
  font-size: 16px;
  color: #075985;
  margin-bottom: 5px;
  font-weight: 700;
}

.seo-flow-text p {
  font-size: 14px;
  color: #64748b;
}

.seo-flow-arrow {
  font-size: 32px;
  color: #0891b2;
}

/* ===================================
   管理方法セクション - タイムライン
   =================================== */
.seo-management-section {
  margin: 60px 0;
  padding: 50px;
  background: #f1f5f9;
  border-radius: 20px;
}

.seo-management-title {
  font-size: 26px;
  color: #1e293b;
  margin-bottom: 35px;
  display: flex;
  align-items: center;
  gap: 15px;
}

.seo-badge-management {
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
  color: white;
  padding: 8px 20px;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 600;
}

.seo-timeline-management {
  position: relative;
  padding-left: 60px;
}

.seo-timeline-track {
  position: absolute;
  left: 20px;
  top: 0;
  bottom: 0;
  width: 3px;
  background: linear-gradient(180deg, #6366f1, #8b5cf6);
}

.seo-point-marker {
  position: absolute;
  left: 5px;
  top: 0;
  width: 40px;
  height: 40px;
  background: white;
  border: 3px solid #6366f1;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}

.seo-management-text {
  font-size: 16px;
  line-height: 1.9;
  color: #334155;
  background: white;
  padding: 30px;
  border-radius: 12px;
  box-shadow: 0 3px 15px rgba(0,0,0,0.08);
}

.seo-practice {
  color: #059669;
  font-weight: 600;
  background: rgba(5, 150, 105, 0.1);
  padding: 2px 6px;
  border-radius: 3px;
}

.seo-warning {
  color: #dc2626;
  font-weight: 600;
}

.seo-risk-factor {
  color: #ef4444;
  font-weight: 700;
  background: rgba(239, 68, 68, 0.1);
  padding: 2px 8px;
  border-radius: 4px;
}

.seo-kiri-emphasis {
  color: #0891b2;
  font-weight: 700;
  font-size: 17px;
}

.seo-critical {
  color: #dc2626;
  font-weight: 600;
  border-bottom: 2px solid #dc2626;
}

/* ===================================
   多面的評価セクション - ハニカム
   =================================== */
.seo-evaluation-section {
  margin: 60px 0;
  padding: 60px;
  background: linear-gradient(135deg, #ddd6fe 0%, #e9d5ff 100%);
  border-radius: 20px;
}

.seo-eval-title {
  font-size: 28px;
  color: #581c87;
  text-align: center;
  margin-bottom: 40px;
}

/* ハニカムグリッド */
.seo-honeycomb-grid {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-bottom: 40px;
  flex-wrap: wrap;
}

.seo-hex-item {
  width: 120px;
  height: 120px;
  background: white;
  clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease;
}

.seo-hex-item:hover {
  transform: scale(1.1);
}

.seo-hex-content {
  text-align: center;
}

.seo-hex-icon {
  font-size: 32px;
  display: block;
  margin-bottom: 8px;
}

.seo-hex-label {
  font-size: 12px;
  font-weight: 600;
  color: #581c87;
}

.seo-eval-description {
  font-size: 16px;
  line-height: 1.9;
  color: #581c87;
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

.seo-eval-point {
  color: #7c3aed;
  font-weight: 600;
  margin: 0 5px;
}

.seo-comprehensive {
  color: #6d28d9;
  font-weight: 700;
  font-size: 17px;
}

.seo-sustainability {
  color: #059669;
  font-weight: 600;
}

.seo-community {
  color: #0891b2;
  font-weight: 700;
}

.seo-equity {
  color: #ea580c;
  font-weight: 600;
}

/* ===================================
   モニタリングセクション
   =================================== */
.seo-monitoring-section {
  margin: 60px 0;
  padding: 50px;
  background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
  border-radius: 20px;
  color: white;
}

.seo-monitoring-title {
  font-size: 28px;
  color: white;
  margin-bottom: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
}

.seo-tech-icon {
  font-size: 36px;
}

.seo-monitoring-text {
  font-size: 16px;
  line-height: 1.9;
  color: rgba(255,255,255,0.95);
  margin-bottom: 40px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.seo-monitoring {
  color: #fbbf24;
  font-weight: 700;
  font-size: 17px;
}

.seo-technology {
  color: #60a5fa;
  font-weight: 600;
  background: rgba(96, 165, 250, 0.2);
  padding: 2px 8px;
  border-radius: 4px;
}

.seo-method {
  color: #86efac;
  font-weight: 600;
  margin: 0 5px;
}

/* テクノロジーカード */
.seo-tech-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
}

.seo-tech-card {
  background: rgba(255,255,255,0.1);
  padding: 30px;
  border-radius: 12px;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,0.2);
  transition: transform 0.3s ease, background 0.3s ease;
}

.seo-tech-card:hover {
  transform: translateY(-5px);
  background: rgba(255,255,255,0.15);
}

.seo-card-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 15px;
}

.seo-card-icon {
  font-size: 28px;
}

.seo-tech-card h5 {
  font-size: 16px;
  color: white;
  font-weight: 700;
}

.seo-tech-card p {
  font-size: 14px;
  color: rgba(255,255,255,0.8);
  line-height: 1.6;
}

/* ===================================
   MRVシステムセクション
   =================================== */
.seo-mrv-section {
  margin-top: 60px;
  padding: 60px;
  background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
  border-radius: 20px;
  border: 2px solid #86efac;
}

.seo-mrv-wrapper {
  max-width: 900px;
  margin: 0 auto;
}

.seo-mrv-title {
  font-size: 30px;
  color: #064e3b;
  text-align: center;
  margin-bottom: 35px;
  font-weight: 700;
}

.seo-mrv-text {
  font-size: 16px;
  line-height: 1.9;
  color: #064e3b;
  margin-bottom: 40px;
  text-align: center;
}

.seo-mrv-system {
  color: #059669;
  font-weight: 700;
  font-size: 18px;
  background: rgba(5, 150, 105, 0.15);
  padding: 3px 10px;
  border-radius: 5px;
}

.seo-standard {
  color: #0891b2;
  font-weight: 600;
  border-bottom: 2px solid #0891b2;
}

.seo-verification {
  color: #dc2626;
  font-weight: 600;
}

.seo-credibility {
  color: #059669;
  font-weight: 700;
  font-size: 17px;
}

/* MRVコンポーネント */
.seo-mrv-components {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-bottom: 40px;
}

.seo-mrv-item {
  background: white;
  padding: 30px;
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 5px 20px rgba(0,0,0,0.08);
  transition: transform 0.3s ease;
}

.seo-mrv-item:hover {
  transform: translateY(-8px);
}

.seo-mrv-icon {
  font-size: 48px;
  margin-bottom: 15px;
  display: block;
}

.seo-mrv-item h5 {
  font-size: 18px;
  color: #064e3b;
  margin-bottom: 5px;
  font-weight: 700;
}

.seo-mrv-item p {
  font-size: 14px;
  color: #6b7280;
  font-style: italic;
}

/* スタンダードリスト */
.seo-standards-list {
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}

.seo-standard-badge {
  background: linear-gradient(135deg, #22c55e, #16a34a);
  color: white;
  padding: 10px 25px;
  border-radius: 25px;
  font-weight: 600;
  font-size: 14px;
  box-shadow: 0 4px 15px rgba(34, 197, 94, 0.3);
}

/* ===================================
   アニメーション定義
   =================================== */
@keyframes fadeIn-Up {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeIn-Right {
  from {
    opacity: 0;
    transform: translateX(-30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeIn-Left {
  from {
    opacity: 0;
    transform: translateX(30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* ===================================
   レスポンシブ対応
   =================================== */
@media (max-width: 1024px) {
  .seo-comparison-matrix {
    grid-template-columns: 1fr;
  }
  
  .seo-orbit-item {
    transform: rotate(var(--angle)) translate(150px) rotate(calc(-1 * var(--angle)));
  }
  
  .seo-zigzag-container {
    grid-template-columns: 1fr;
  }
  
  .seo-condition-grid {
    grid-template-columns: 1fr;
  }
  
  .seo-tech-cards {
    grid-template-columns: 1fr;
  }
  
  .seo-mrv-components {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .scientific-evaluation-optimization-2025 {
    padding: 40px 0;
  }
  
  .seo-primary-heading {
    font-size: 30px;
  }
  
  .seo-section-title,
  .seo-kiri-title,
  .seo-location-title,
  .seo-history-title,
  .seo-management-title,
  .seo-eval-title,
  .seo-monitoring-title,
  .seo-mrv-title {
    font-size: 22px;
  }
  
  .seo-wave-intro,
  .seo-species-section,
  .seo-kiri-characteristics,
  .seo-location-section,
  .seo-history-section,
  .seo-management-section,
  .seo-evaluation-section,
  .seo-monitoring-section,
  .seo-mrv-section {
    padding: 35px 25px;
  }
  
  .seo-factor-bubbles {
    flex-direction: column;
    align-items: center;
    gap: 15px;
  }
  
  .seo-carbon-flow {
    flex-direction: column;
    gap: 20px;
  }
  
  .seo-flow-arrow {
    transform: rotate(90deg);
  }
  
  .seo-honeycomb-grid {
    justify-content: center;
  }
  
  .seo-hex-item {
    width: 100px;
    height: 100px;
  }
  
  .seo-orbit-items {
    display: none;
  }
  
  .seo-circular-layout {
    min-height: auto;
  }
}

@media (max-width: 480px) {
  .seo-primary-heading {
    font-size: 24px;
  }
  
  .seo-subtitle-band {
    font-size: 13px;
    padding: 10px 25px;
  }
  
  .seo-intro-paragraph,
  .seo-main-text,
  .seo-kiri-description,
  .seo-location-text,
  .seo-history-text,
  .seo-management-text,
  .seo-eval-description,
  .seo-monitoring-text,
  .seo-mrv-text {
    font-size: 14px;
  }
  
  .seo-section-number {
    width: 40px;
    height: 40px;
    font-size: 16px;
  }
  
  .seo-matrix-icon {
    font-size: 28px;
  }
  
  .seo-flow-icon {
    font-size: 36px;
  }
  
  .seo-tech-icon {
    font-size: 28px;
  }
  
  .seo-mrv-icon {
    font-size: 36px;
  }
  
  .seo-standards-list {
    flex-direction: column;
    align-items: center;
  }
  
  .seo-timeline-management {
    padding-left: 40px;
  }
  
  .seo-timeline-track {
    left: 10px;
  }
  
  .seo-point-marker {
    left: -5px;
    width: 30px;
    height: 30px;
    font-size: 16px;
  }
}

/* =========================================================
   H3セクション：世界的な植林イニシアチブと成功事例
   =========================================================
   
   親カテゴリ: 2. 環境への貢献
   セクション位置: 2-1. CO₂吸収能力（気候変動対策）の子セクション
   
   【このセクションの内容】
   - 世界各地の大規模植林イニシアチブの紹介
   - ボン・チャレンジ、AFR100、中国・インドの取り組み
   - グレートグリーンウォール、市民・企業プロジェクト
   - 日本の植林活動と成功事例からの教訓
   
   【主要プロジェクト】
   1. ボン・チャレンジ（3.5億ha目標）
   2. AFR100（アフリカ1億ha）
   3. 中国・退耕還林プロジェクト
   4. インド・国家緑化ミッション
   5. グレートグリーンウォール（8,000km）
   6. Plant for the Planet（140億本）
   7. 日本のJ-クレジット制度
   
   ========================================================= */

/* ===================================
   メインセクション - 基本設定
   =================================== */
.global-reforestation-initiatives-2025 {
  background: #ffffff;
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}

.gri-container-main {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* ===================================
   波形ヘッダー
   =================================== */
.gri-wave-header {
  text-align: center;
  margin-bottom: 60px;
  position: relative;
  animation: fadeIn-Up 0.6s ease-out;
}

.gri-wave-header::before {
  content: '';
  position: absolute;
  top: -20px;
  left: 0;
  right: 0;
  height: 100px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 100'%3E%3Cpath d='M0,50 Q300,0 600,50 T1200,50 L1200,100 L0,100 Z' fill='%23e6f7ff' opacity='0.3'/%3E%3C/svg%3E");
  background-size: cover;
  z-index: -1;
}

.gri-main-title {
  font-size: 42px;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.4;
  margin-bottom: 25px;
}

.gri-title-prefix {
  color: #059669;
  font-size: 36px;
  display: block;
  margin-bottom: 10px;
}

.gri-title-core {
  background: linear-gradient(135deg, #047857 0%, #059669 50%, #10b981 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 800;
}

.gri-subtitle-ribbon {
  display: inline-block;
  background: linear-gradient(90deg, #ecfdf5, #d1fae5);
  color: #047857;
  padding: 12px 40px;
  border-radius: 30px;
  font-size: 15px;
  font-weight: 600;
  box-shadow: 0 4px 20px rgba(16, 185, 129, 0.15);
  border: 1px solid #a7f3d0;
}

/* ===================================
   導入セクション
   =================================== */
.gri-intro-wrapper {
  margin-bottom: 60px;
  background: linear-gradient(135deg, #f0fdf4 0%, #ffffff 100%);
  padding: 50px;
  border-radius: 20px;
  box-shadow: 0 5px 25px rgba(0,0,0,0.05);
  border-left: 5px solid #10b981;
}

.gri-intro-text {
  font-size: 17px;
  line-height: 1.9;
  color: #1e293b;
}

.gri-highlight {
  color: #047857;
  font-weight: 700;
  background: rgba(4, 120, 87, 0.08);
  padding: 2px 8px;
  border-radius: 4px;
}

.gri-carbon {
  color: #0891b2;
  font-weight: 600;
  border-bottom: 2px dotted #0891b2;
}

.gri-ecosystem {
  color: #059669;
  font-weight: 600;
}

.gri-biodiversity {
  color: #8b5cf6;
  font-weight: 600;
}

.gri-community {
  color: #ea580c;
  font-weight: 600;
}

.gri-multifaceted {
  color: #dc2626;
  font-weight: 700;
  font-size: 18px;
}

/* ===================================
   ボン・チャレンジ - 斜めカット
   =================================== */
.gri-bonn-section {
  margin: 60px 0;
  position: relative;
  background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);
  padding: 60px 0;
  clip-path: polygon(0 0, 100% 5%, 100% 100%, 0 95%);
}

.gri-slant-container {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 50px;
  align-items: center;
  padding: 0 50px;
}

.gri-slant-left {
  text-align: center;
}

.gri-section-title {
  font-size: 28px;
  color: white;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 15px;
}

.gri-icon-global {
  font-size: 36px;
  animation: rotate 20s linear infinite;
}

@keyframes rotate {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.gri-year-badge {
  background: rgba(255,255,255,0.2);
  color: white;
  padding: 8px 20px;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 600;
  backdrop-filter: blur(10px);
  display: inline-block;
}

.gri-bonn-text {
  color: white;
  font-size: 16px;
  line-height: 1.9;
}

.gri-initiative-name {
  color: #fbbf24;
  font-weight: 700;
  font-size: 18px;
  text-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.gri-target-year {
  color: #fde047;
  font-weight: 600;
}

.gri-target-area {
  font-size: 20px;
  color: #86efac;
  font-weight: 700;
}

.gri-comparison {
  color: #bfdbfe;
  font-weight: 600;
  background: rgba(191, 219, 254, 0.2);
  padding: 2px 8px;
  border-radius: 4px;
}

.gri-participants {
  color: #fde68a;
  font-weight: 600;
}

.gri-commitment {
  color: #10b981;
  font-weight: 700;
  background: rgba(16, 185, 129, 0.2);
  padding: 2px 10px;
  border-radius: 5px;
}

/* データビジュアル */
.gri-data-visual {
  display: flex;
  gap: 30px;
  margin-top: 30px;
}

.gri-data-item {
  background: rgba(255,255,255,0.15);
  padding: 20px;
  border-radius: 12px;
  text-align: center;
  backdrop-filter: blur(10px);
  flex: 1;
}

.gri-data-value {
  display: block;
  font-size: 28px;
  font-weight: 700;
  color: #fbbf24;
  margin-bottom: 8px;
}

.gri-data-label {
  font-size: 14px;
  color: rgba(255,255,255,0.9);
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* ===================================
   AFR100 - 円形プログレス
   =================================== */
.gri-afr100-section {
  margin: 60px 0;
  padding: 60px;
  background: linear-gradient(135deg, #fef3c7 0%, #fed7aa 100%);
  border-radius: 20px;
}

.gri-circular-content {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 50px;
  align-items: center;
}

.gri-circle-progress {
  position: relative;
}

.gri-progress-ring {
  width: 250px;
  height: 250px;
  background: conic-gradient(#f97316 0deg 270deg, #fed7aa 270deg);
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 30px rgba(249, 115, 22, 0.3);
  position: relative;
}

.gri-progress-ring::before {
  content: '';
  position: absolute;
  width: 200px;
  height: 200px;
  background: white;
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.gri-progress-value {
  font-size: 48px;
  font-weight: 700;
  color: #ea580c;
  z-index: 1;
}

.gri-progress-label {
  font-size: 14px;
  color: #9a3412;
  z-index: 1;
}

.gri-afr-title {
  font-size: 26px;
  color: #7c2d12;
  margin-bottom: 25px;
  font-weight: 700;
}

.gri-afr-text {
  font-size: 16px;
  line-height: 1.9;
  color: #92400e;
}

.gri-afr-name {
  color: #dc2626;
  font-weight: 700;
}

.gri-afr-target {
  color: #ea580c;
  font-weight: 600;
}

.gri-afr-area {
  color: #c2410c;
  font-weight: 700;
  font-size: 18px;
}

.gri-afr-countries {
  color: #f97316;
  font-weight: 600;
}

.gri-afr-commitment {
  color: #059669;
  font-weight: 700;
  background: rgba(5, 150, 105, 0.15);
  padding: 2px 10px;
  border-radius: 5px;
}

/* ===================================
   画像コンテナ
   =================================== */
.gri-image-container {
  width: 100%;
  margin: 50px 0;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(0,0,0,0.1);
  position: relative;
}

.gri-full-image {
  width: 100%;
  height: auto;
  display: block;
}

.gri-image-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
  color: white;
  padding: 20px;
  font-size: 14px;
  text-align: center;
}

/* ===================================
   中国プロジェクト - タイムライン
   =================================== */
.gri-china-section {
  margin: 60px 0;
  padding: 50px;
  background: #f8fafc;
  border-radius: 20px;
  border-left: 5px solid #dc2626;
}

.gri-china-title {
  font-size: 28px;
  color: #1e293b;
  margin-bottom: 35px;
  display: flex;
  align-items: center;
  gap: 15px;
}

.gri-flag {
  font-size: 36px;
}

.gri-timeline-content {
  position: relative;
  padding-left: 60px;
}

.gri-timeline-track {
  position: absolute;
  left: 20px;
  top: 0;
  bottom: 0;
  width: 3px;
  background: linear-gradient(180deg, #dc2626, #ef4444);
}

.gri-timeline-item::before {
  content: attr(data-year);
  position: absolute;
  left: 5px;
  top: 0;
  width: 30px;
  height: 30px;
  background: #dc2626;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 10px;
  font-weight: 700;
}

.gri-timeline-text {
  background: white;
  padding: 30px;
  border-radius: 12px;
  box-shadow: 0 3px 15px rgba(0,0,0,0.08);
}

.gri-timeline-text p {
  font-size: 16px;
  line-height: 1.9;
  color: #334155;
}

.gri-project-name {
  color: #dc2626;
  font-weight: 700;
  font-size: 18px;
}

.gri-start-year {
  color: #ef4444;
  font-weight: 600;
}

.gri-purpose {
  color: #0891b2;
  font-weight: 600;
  background: rgba(8, 145, 178, 0.08);
  padding: 2px 8px;
  border-radius: 4px;
}

.gri-achievement-year {
  color: #ea580c;
  font-weight: 600;
}

.gri-achievement-area {
  color: #059669;
  font-weight: 700;
  font-size: 18px;
  background: rgba(5, 150, 105, 0.1);
  padding: 2px 10px;
  border-radius: 5px;
}

.gri-benefit {
  color: #10b981;
  font-weight: 600;
  display: inline-block;
  margin: 0 5px;
}

/* ===================================
   パララックスカード
   =================================== */
.gri-parallel-section {
  margin: 60px 0;
  padding: 60px 0;
}

.gri-card-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}

.gri-initiative-card {
  background: white;
  border-radius: 20px;
  padding: 40px;
  box-shadow: 0 10px 40px rgba(0,0,0,0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
  overflow: hidden;
}

.gri-initiative-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 50px rgba(0,0,0,0.15);
}

.gri-initiative-card.india {
  background: linear-gradient(to bottom right, #fff, #fef3c7);
  border-top: 4px solid #f97316;
}

.gri-initiative-card.africa {
  background: linear-gradient(to bottom right, #fff, #dcfce7);
  border-top: 4px solid #22c55e;
}

.gri-card-header {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 25px;
}

.gri-card-flag {
  font-size: 32px;
}

.gri-card-header h4 {
  font-size: 22px;
  color: #1e293b;
  font-weight: 700;
}

.gri-card-body p {
  font-size: 15px;
  line-height: 1.8;
  color: #475569;
}

.gri-india-mission {
  color: #f97316;
  font-weight: 700;
}

.gri-india-target {
  color: #ea580c;
  font-weight: 600;
}

.gri-coverage {
  color: #dc2626;
  font-weight: 700;
  font-size: 20px;
}

.gri-approach {
  color: #0891b2;
  font-weight: 600;
}

.gri-strategy {
  color: #059669;
  font-weight: 600;
  background: rgba(5, 150, 105, 0.08);
  padding: 2px 8px;
  border-radius: 4px;
}

.gri-ggw-name {
  color: #16a34a;
  font-weight: 700;
  font-size: 17px;
}

.gri-distance {
  color: #dc2626;
  font-weight: 700;
  font-size: 18px;
}

.gri-ggw-purpose {
  color: #0891b2;
  font-weight: 600;
  margin: 0 5px;
}

.gri-ggw-target {
  color: #ea580c;
  font-weight: 600;
}

.gri-ggw-land,
.gri-ggw-carbon,
.gri-ggw-jobs {
  color: #059669;
  font-weight: 700;
  background: rgba(5, 150, 105, 0.1);
  padding: 2px 8px;
  border-radius: 4px;
  margin: 0 3px;
}

/* ===================================
   市民・企業セクション
   =================================== */
.gri-civic-section {
  margin: 60px 0;
  padding: 60px;
  background: linear-gradient(135deg, #e0e7ff 0%, #c7d2fe 100%);
  border-radius: 20px;
}

.gri-civic-title {
  font-size: 28px;
  color: #312e81;
  text-align: center;
  margin-bottom: 40px;
  font-weight: 700;
}

.gri-floating-boxes {
  position: relative;
}

.gri-float-box {
  background: white;
  padding: 35px;
  border-radius: 16px;
  box-shadow: 0 5px 25px rgba(0,0,0,0.1);
  animation: float 6s ease-in-out infinite;
}

@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-15px); }
}

.gri-civic-text {
  font-size: 16px;
  line-height: 1.9;
  color: #1e293b;
}

.gri-org-name {
  color: #6366f1;
  font-weight: 700;
}

.gri-trees {
  color: #10b981;
  font-weight: 700;
  font-size: 18px;
}

.gri-activity {
  color: #8b5cf6;
  font-weight: 600;
  margin: 0 5px;
}

/* ===================================
   日本セクション
   =================================== */
.gri-japan-section {
  margin: 60px 0;
  padding: 60px;
  background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);
  border-radius: 20px;
  position: relative;
  overflow: hidden;
}

.gri-japan-section::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -20%;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(255,255,255,0.3) 0%, transparent 70%);
}

.gri-japan-title {
  font-size: 28px;
  color: #7f1d1d;
  margin-bottom: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
}

.gri-japan-flag {
  font-size: 36px;
}

.gri-japan-text {
  font-size: 16px;
  line-height: 1.9;
  color: #991b1b;
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

.gri-japan-program {
  color: #dc2626;
  font-weight: 600;
  background: rgba(220, 38, 38, 0.1);
  padding: 2px 8px;
  border-radius: 4px;
}

.gri-partnership {
  color: #b91c1c;
  font-weight: 700;
}

.gri-jcredit {
  color: #059669;
  font-weight: 700;
  border-bottom: 2px solid #059669;
}

.gri-offset {
  color: #0891b2;
  font-weight: 600;
}

/* ===================================
   教訓セクション
   =================================== */
.gri-lessons-section {
  margin: 60px 0;
  padding: 60px;
  background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
  border-radius: 20px;
  color: white;
}

.gri-lessons-title {
  font-size: 30px;
  color: white;
  text-align: center;
  margin-bottom: 40px;
  font-weight: 700;
}

.gri-lesson-intro {
  font-size: 17px;
  line-height: 1.8;
  color: rgba(255,255,255,0.9);
  text-align: center;
  margin-bottom: 40px;
}

.gri-lesson-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 30px;
  margin-bottom: 40px;
  padding: 30px;
  background: rgba(255,255,255,0.05);
  border-radius: 16px;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,0.1);
  transition: background 0.3s ease;
}

.gri-lesson-item:hover {
  background: rgba(255,255,255,0.08);
}

.gri-lesson-number {
  width: 60px;
  height: 60px;
  background: linear-gradient(135deg, #10b981, #059669);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: 700;
  color: white;
}

.gri-lesson-content h5 {
  font-size: 20px;
  color: white;
  margin-bottom: 15px;
  font-weight: 700;
}

.gri-lesson-content p {
  font-size: 16px;
  line-height: 1.8;
  color: rgba(255,255,255,0.85);
}

.gri-key-factor {
  color: #fbbf24;
  font-weight: 700;
}

.gri-benefit-type {
  color: #60a5fa;
  font-weight: 600;
}

.gri-success {
  color: #86efac;
  font-weight: 600;
}

.gri-focus {
  color: #fde047;
  font-weight: 700;
}

.gri-problem {
  color: #f87171;
  font-weight: 600;
}

.gri-essential {
  color: #a5f3fc;
  font-weight: 600;
}

.gri-diversity {
  color: #c084fc;
  font-weight: 700;
}

.gri-conservation {
  color: #86efac;
  font-weight: 600;
}

.gri-longterm {
  color: #60a5fa;
  font-weight: 600;
}

.gri-challenge {
  color: #fca5a5;
  font-weight: 600;
}

/* ===================================
   アニメーション
   =================================== */
@keyframes fadeIn-Up {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeIn-Right {
  from {
    opacity: 0;
    transform: translateX(-30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeIn-Left {
  from {
    opacity: 0;
    transform: translateX(30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* ===================================
   レスポンシブ対応
   =================================== */
@media (max-width: 1024px) {
  .gri-slant-container {
    grid-template-columns: 1fr;
    text-align: center;
  }
  
  .gri-section-title {
    justify-content: center;
  }
  
  .gri-circular-content {
    grid-template-columns: 1fr;
    text-align: center;
  }
  
  .gri-progress-ring {
    margin: 0 auto;
  }
  
  .gri-card-container {
    grid-template-columns: 1fr;
  }
  
  .gri-data-visual {
    flex-direction: column;
  }
}

@media (max-width: 768px) {
  .global-reforestation-initiatives-2025 {
    padding: 40px 0;
  }
  
  .gri-main-title {
    font-size: 32px;
  }
  
  .gri-title-prefix {
    font-size: 28px;
  }
  
  .gri-intro-wrapper,
  .gri-bonn-section,
  .gri-afr100-section,
  .gri-china-section,
  .gri-civic-section,
  .gri-japan-section,
  .gri-lessons-section {
    padding: 35px 25px;
  }
  
  .gri-slant-container {
    padding: 0 25px;
  }
  
  .gri-section-title,
  .gri-afr-title,
  .gri-china-title,
  .gri-civic-title,
  .gri-japan-title,
  .gri-lessons-title {
    font-size: 22px;
  }
  
  .gri-progress-ring {
    width: 200px;
    height: 200px;
  }
  
  .gri-progress-ring::before {
    width: 160px;
    height: 160px;
  }
  
  .gri-progress-value {
    font-size: 36px;
  }
  
  .gri-lesson-item {
    grid-template-columns: 1fr;
    text-align: center;
  }
  
  .gri-lesson-number {
    margin: 0 auto 20px;
  }
}

@media (max-width: 480px) {
  .gri-main-title {
    font-size: 26px;
  }
  
  .gri-title-prefix {
    font-size: 22px;
  }
  
  .gri-subtitle-ribbon {
    font-size: 13px;
    padding: 10px 25px;
  }
  
  .gri-intro-text,
  .gri-bonn-text,
  .gri-afr-text,
  .gri-timeline-text p,
  .gri-card-body p,
  .gri-civic-text,
  .gri-japan-text,
  .gri-lesson-content p {
    font-size: 14px;
  }
  
  .gri-data-value {
    font-size: 22px;
  }
  
  .gri-card-header h4 {
    font-size: 18px;
  }
  
  .gri-lesson-content h5 {
    font-size: 18px;
  }
  
  .gri-lesson-number {
    width: 50px;
    height: 50px;
    font-size: 20px;
  }
  
  .gri-initiative-card {
    padding: 25px;
  }
  
  .gri-timeline-content {
    padding-left: 40px;
  }
  
  .gri-bonn-section {
    clip-path: none;
    padding: 40px 0;
  }
}


/* =========================================================
   H3セクション：企業のカーボンニュートラル戦略と森林活用
   =========================================================
   
   親カテゴリ: 2. 環境への貢献
   セクション位置: 2-1. CO₂吸収能力（気候変動対策）の子セクション
   
   【このセクションの内容】
   - 企業のカーボンニュートラル達成戦略
   - 森林活用の3つのアプローチ
   - SBTiとネイチャーポジティブ
   - 日本企業の取り組み事例
   - 京都皇帝早生桐の戦略的優位性
   - 炭素クレジット制度と課題
   
   【主要トピック】
   1. 自社事業関連の植林プロジェクト
   2. カーボンオフセットへの投資
   3. サプライチェーン全体での取り組み
   4. 住友林業・セブン＆アイ・コニカミノルタ事例
   5. 非林業セクターの展開
   6. J-クレジット制度
   7. 京都皇帝早生桐の優位性
   8. 課題と対策
   
   ========================================================= */

/* ===================================
   メインセクション - 基本設定
   =================================== */
.corporate-carbon-neutral-strategy-2025 {
  background: #ffffff;
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}

.ccns-main-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* ===================================
   タイトルブロック - ミニマルデザイン
   =================================== */
.ccns-title-block {
  text-align: center;
  margin-bottom: 60px;
  position: relative;
  animation: fadeIn-Up 0.8s ease-out;
}

.ccns-primary-heading {
  font-size: 44px;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.3;
  margin-bottom: 25px;
  position: relative;
}

.ccns-heading-line1 {
  display: block;
  color: #134e4a;
  font-size: 38px;
  margin-bottom: 10px;
}

.ccns-heading-line2 {
  display: block;
  background: linear-gradient(135deg, #065f46 0%, #047857 50%, #059669 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 800;
  font-size: 48px;
}

.ccns-subtitle-bar {
  display: inline-block;
  background: #f0fdf4;
  color: #064e3b;
  padding: 14px 45px;
  border-radius: 30px;
  font-size: 15px;
  font-weight: 600;
  border: 2px solid #bbf7d0;
  box-shadow: 0 4px 20px rgba(16, 185, 129, 0.1);
}

/* ===================================
   導入セクション - フルワイド背景
   =================================== */
.ccns-intro-section {
  background: linear-gradient(135deg, #ecfdf5 0%, #f0fdf4 100%);
  margin: 0 -20px 60px;
  padding: 60px 20px;
  position: relative;
}

.ccns-intro-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #047857, #059669, #10b981, #047857);
  background-size: 200% 100%;
  animation: slideGradient 4s linear infinite;
}

@keyframes slideGradient {
  0% { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}

.ccns-intro-inner {
  max-width: 900px;
  margin: 0 auto;
}

.ccns-intro-text {
  font-size: 17px;
  line-height: 1.9;
  color: #1e293b;
  text-align: center;
}

.ccns-keyword-cn {
  color: #047857;
  font-weight: 700;
  font-size: 18px;
  background: rgba(4, 120, 87, 0.08);
  padding: 3px 10px;
  border-radius: 5px;
}

.ccns-year-target {
  color: #dc2626;
  font-weight: 700;
  font-size: 18px;
}

.ccns-forest-highlight {
  color: #059669;
  font-weight: 600;
  border-bottom: 2px solid #10b981;
}

/* ===================================
   3つの方法 - 縦型フローチャート
   =================================== */
.ccns-methods-section {
  margin: 60px 0;
  padding: 60px 40px;
  background: #f8fafc;
  border-radius: 20px;
  box-shadow: 0 5px 25px rgba(0,0,0,0.05);
}

.ccns-section-title {
  font-size: 30px;
  color: #0f172a;
  text-align: center;
  margin-bottom: 20px;
  font-weight: 700;
}

.ccns-methods-intro {
  font-size: 16px;
  color: #475569;
  text-align: center;
  margin-bottom: 50px;
}

.ccns-vertical-flow {
  position: relative;
  padding: 0 20px;
}

.ccns-vertical-flow::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(180deg, #cbd5e1, #94a3b8);
  transform: translateX(-50%);
}

.ccns-flow-item {
  position: relative;
  margin-bottom: 60px;
  padding: 35px;
  background: white;
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.ccns-flow-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 30px rgba(0,0,0,0.12);
}

.ccns-flow-item::before {
  content: attr(data-number);
  position: absolute;
  left: 50%;
  top: -25px;
  transform: translateX(-50%);
  width: 50px;
  height: 50px;
  background: linear-gradient(135deg, #047857, #059669);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 700;
  border-radius: 50%;
  box-shadow: 0 4px 15px rgba(4, 120, 87, 0.3);
  z-index: 2;
}

.ccns-flow-title {
  font-size: 22px;
  color: #0f172a;
  margin-bottom: 20px;
  text-align: center;
  font-weight: 700;
}

.ccns-flow-text {
  font-size: 15px;
  line-height: 1.8;
  color: #334155;
}

.ccns-industry {
  color: #0891b2;
  font-weight: 600;
  background: rgba(8, 145, 178, 0.08);
  padding: 2px 6px;
  border-radius: 3px;
}

.ccns-sustainable {
  color: #059669;
  font-weight: 700;
}

.ccns-benefit {
  color: #16a34a;
  font-weight: 600;
  margin: 0 5px;
}

.ccns-credit {
  color: #dc2626;
  font-weight: 700;
  background: rgba(220, 38, 38, 0.08);
  padding: 2px 8px;
  border-radius: 4px;
}

.ccns-sector {
  color: #7c3aed;
  font-weight: 600;
}

.ccns-strategy {
  color: #ea580c;
  font-weight: 600;
  border-bottom: 2px dotted #ea580c;
}

.ccns-product {
  color: #a16207;
  font-weight: 600;
  font-style: italic;
}

.ccns-commitment {
  color: #dc2626;
  font-weight: 700;
  font-size: 16px;
  background: rgba(220, 38, 38, 0.1);
  padding: 3px 10px;
  border-radius: 5px;
}

.ccns-requirement {
  color: #059669;
  font-weight: 600;
}

/* ===================================
   SBTiセクション - グラデーションバナー
   =================================== */
.ccns-sbti-section {
  margin: 60px 0;
  background: linear-gradient(135deg, #1e3a8a 0%, #3730a3 50%, #4c1d95 100%);
  padding: 60px;
  border-radius: 20px;
  color: white;
  position: relative;
  overflow: hidden;
}

.ccns-sbti-section::after {
  content: '';
  position: absolute;
  top: -50%;
  right: -20%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
}

.ccns-sbti-wrapper {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 50px;
  align-items: center;
  position: relative;
  z-index: 1;
}

.ccns-sbti-title {
  font-size: 28px;
  color: white;
  margin-bottom: 25px;
  font-weight: 700;
}

.ccns-sbti-text {
  font-size: 16px;
  line-height: 1.9;
  color: rgba(255,255,255,0.95);
}

.ccns-sbti-name {
  color: #fbbf24;
  font-weight: 700;
  font-size: 17px;
  display: inline-block;
  margin: 5px 0;
}

.ccns-temp {
  color: #86efac;
  font-weight: 600;
  background: rgba(134, 239, 172, 0.2);
  padding: 2px 8px;
  border-radius: 4px;
}

.ccns-year {
  color: #fde047;
  font-weight: 700;
}

.ccns-flag {
  color: #60a5fa;
  font-weight: 700;
  background: rgba(96, 165, 250, 0.2);
  padding: 3px 10px;
  border-radius: 5px;
}

/* 温度インジケーター */
.ccns-temp-indicator {
  background: rgba(255,255,255,0.15);
  padding: 40px;
  border-radius: 20px;
  text-align: center;
  backdrop-filter: blur(10px);
}

.ccns-temp-value {
  display: block;
  font-size: 48px;
  font-weight: 900;
  color: #86efac;
  margin-bottom: 10px;
  text-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

.ccns-temp-label {
  font-size: 14px;
  color: rgba(255,255,255,0.8);
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* ===================================
   画像コンテナ
   =================================== */
.ccns-image-container {
  width: 100%;
  margin: 50px 0;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(0,0,0,0.1);
  position: relative;
}

.ccns-full-image {
  width: 100%;
  height: auto;
  display: block;
}

.ccns-image-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
  color: white;
  padding: 20px;
  font-size: 14px;
  text-align: center;
}

/* ===================================
   ネイチャーポジティブ - 波形セクション
   =================================== */
.ccns-nature-positive {
  margin: 60px 0;
  padding: 60px;
  background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%);
  border-radius: 20px;
  position: relative;
}

.ccns-wave-decoration {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 80px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 80'%3E%3Cpath d='M0,40 Q300,10 600,40 T1200,40 L1200,80 L0,80 Z' fill='%23ffffff' opacity='0.3'/%3E%3C/svg%3E");
  background-size: cover;
}

.ccns-nature-content {
  position: relative;
  z-index: 1;
}

.ccns-nature-title {
  font-size: 28px;
  color: #064e3b;
  margin-bottom: 25px;
  text-align: center;
  font-weight: 700;
}

.ccns-nature-text {
  font-size: 16px;
  line-height: 1.9;
  color: #14532d;
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}

.ccns-concept {
  color: #047857;
  font-weight: 700;
  font-size: 18px;
  background: rgba(4, 120, 87, 0.15);
  padding: 3px 10px;
  border-radius: 5px;
}

.ccns-proactive {
  color: #dc2626;
  font-weight: 600;
}

.ccns-example {
  color: #0891b2;
  font-weight: 600;
  border-bottom: 2px solid #0891b2;
}

/* ===================================
   日本企業事例 - タイル型レイアウト
   =================================== */
.ccns-japan-cases {
  margin: 60px 0;
  padding: 60px 40px;
  background: #f1f5f9;
  border-radius: 20px;
}

.ccns-cases-title {
  font-size: 30px;
  color: #0f172a;
  text-align: center;
  margin-bottom: 20px;
  font-weight: 700;
}

.ccns-cases-intro {
  font-size: 16px;
  color: #475569;
  text-align: center;
  margin-bottom: 40px;
}

.ccns-cases-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.ccns-case-tile {
  background: white;
  padding: 35px;
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  border-top: 4px solid #059669;
}

.ccns-case-tile:hover {
  transform: translateY(-8px);
  box-shadow: 0 10px 35px rgba(0,0,0,0.15);
}

.ccns-case-header {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 20px;
}

.ccns-case-icon {
  font-size: 32px;
}

.ccns-company-name {
  font-size: 20px;
  color: #0f172a;
  font-weight: 700;
}

.ccns-case-text {
  font-size: 15px;
  line-height: 1.8;
  color: #475569;
}

.ccns-company {
  color: #047857;
  font-weight: 700;
}

.ccns-location {
  color: #0891b2;
  font-weight: 600;
}

.ccns-project {
  color: #7c3aed;
  font-weight: 600;
  background: rgba(124, 58, 237, 0.08);
  padding: 2px 6px;
  border-radius: 3px;
}

.ccns-achievement {
  color: #dc2626;
  font-weight: 600;
}

/* ===================================
   非林業セクター
   =================================== */
.ccns-non-forestry {
  margin: 60px 0;
  padding: 50px;
  background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
  border-radius: 20px;
  border-left: 5px solid #f59e0b;
}

.ccns-nf-title {
  font-size: 26px;
  color: #78350f;
  margin-bottom: 25px;
  font-weight: 700;
}

.ccns-nf-text {
  font-size: 16px;
  line-height: 1.9;
  color: #92400e;
}

.ccns-ict {
  color: #1e40af;
  font-weight: 600;
  background: rgba(30, 64, 175, 0.1);
  padding: 2px 8px;
  border-radius: 4px;
}

.ccns-emission {
  color: #dc2626;
  font-weight: 600;
}

.ccns-auto {
  color: #7c3aed;
  font-weight: 600;
}

/* ===================================
   クレジット制度
   =================================== */
.ccns-credit-system {
  margin: 60px 0;
  padding: 60px;
  background: #0f172a;
  border-radius: 20px;
  color: white;
}

.ccns-credit-title {
  font-size: 28px;
  color: white;
  text-align: center;
  margin-bottom: 35px;
  font-weight: 700;
}

.ccns-credit-text {
  font-size: 16px;
  line-height: 1.9;
  color: rgba(255,255,255,0.9);
  text-align: center;
  margin-bottom: 40px;
}

.ccns-standard {
  color: #60a5fa;
  font-weight: 600;
  margin: 0 5px;
}

.ccns-jcredit {
  color: #86efac;
  font-weight: 700;
  background: rgba(134, 239, 172, 0.2);
  padding: 3px 10px;
  border-radius: 5px;
}

.ccns-standards-display {
  display: flex;
  justify-content: center;
  gap: 40px;
}

.ccns-standard-item {
  background: rgba(255,255,255,0.1);
  padding: 30px 50px;
  border-radius: 12px;
  text-align: center;
  backdrop-filter: blur(10px);
}

.ccns-std-label {
  display: block;
  font-size: 14px;
  color: rgba(255,255,255,0.6);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 10px;
}

.ccns-std-value {
  display: block;
  font-size: 24px;
  font-weight: 700;
  color: #86efac;
}

/* ===================================
   京都皇帝早生桐の優位性
   =================================== */
.ccns-kiri-advantage {
  margin: 60px 0;
  padding: 60px;
  background: linear-gradient(135deg, #ecfdf5 0%, #dcfce7 100%);
  border-radius: 20px;
  border: 2px solid #86efac;
  position: relative;
}

.ccns-kiri-title {
  font-size: 30px;
  color: #064e3b;
  text-align: center;
  margin-bottom: 35px;
  font-weight: 700;
}

.ccns-kiri-text {
  font-size: 17px;
  line-height: 1.9;
  color: #14532d;
  text-align: center;
  max-width: 900px;
  margin: 0 auto;
}

.ccns-kiri-name {
  color: #dc2626;
  font-weight: 700;
  font-size: 19px;
}

.ccns-ability {
  color: #047857;
  font-weight: 600;
  background: rgba(4, 120, 87, 0.1);
  padding: 2px 8px;
  border-radius: 4px;
}

.ccns-advantage {
  color: #0891b2;
  font-weight: 600;
}

.ccns-risk {
  color: #ea580c;
  font-weight: 600;
}

.ccns-value {
  color: #7c3aed;
  font-weight: 600;
}

.ccns-dual-benefit {
  color: #059669;
  font-weight: 700;
  font-size: 17px;
  background: rgba(5, 150, 105, 0.1);
  padding: 3px 10px;
  border-radius: 5px;
}

/* ===================================
   課題と対策
   =================================== */
.ccns-challenges-section {
  margin: 60px 0;
  padding: 60px;
  background: #fef2f2;
  border-radius: 20px;
  border-left: 5px solid #dc2626;
}

.ccns-challenges-title {
  font-size: 28px;
  color: #7f1d1d;
  margin-bottom: 30px;
  font-weight: 700;
}

.ccns-challenges-intro {
  font-size: 16px;
  color: #991b1b;
  margin-bottom: 35px;
}

.ccns-challenge-list {
  display: grid;
  gap: 25px;
  margin-bottom: 35px;
}

.ccns-challenge-item {
  display: flex;
  align-items: center;
  gap: 20px;
  background: white;
  padding: 25px;
  border-radius: 12px;
  box-shadow: 0 3px 15px rgba(0,0,0,0.08);
}

.ccns-challenge-icon {
  font-size: 32px;
  flex-shrink: 0;
}

.ccns-challenge-detail h5 {
  font-size: 18px;
  color: #7f1d1d;
  margin-bottom: 8px;
  font-weight: 700;
}

.ccns-issue {
  color: #b91c1c;
  font-weight: 600;
}

.ccns-solution-text {
  font-size: 16px;
  line-height: 1.8;
  color: #991b1b;
}

.ccns-solution {
  color: #059669;
  font-weight: 700;
  background: rgba(5, 150, 105, 0.1);
  padding: 3px 10px;
  border-radius: 5px;
}

/* ===================================
   アニメーション
   =================================== */
@keyframes fadeIn-Up {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ===================================
   レスポンシブ対応
   =================================== */
@media (max-width: 1024px) {
  .ccns-sbti-wrapper {
    grid-template-columns: 1fr;
    text-align: center;
  }
  
  .ccns-cases-grid {
    grid-template-columns: 1fr;
  }
  
  .ccns-standards-display {
    flex-direction: column;
    align-items: center;
  }
}

@media (max-width: 768px) {
  .corporate-carbon-neutral-strategy-2025 {
    padding: 40px 0;
  }
  
  .ccns-primary-heading {
    font-size: 32px;
  }
  
  .ccns-heading-line1 {
    font-size: 28px;
  }
  
  .ccns-heading-line2 {
    font-size: 36px;
  }
  
  .ccns-methods-section,
  .ccns-sbti-section,
  .ccns-nature-positive,
  .ccns-japan-cases,
  .ccns-non-forestry,
  .ccns-credit-system,
  .ccns-kiri-advantage,
  .ccns-challenges-section {
    padding: 35px 25px;
  }
  
  .ccns-section-title,
  .ccns-sbti-title,
  .ccns-nature-title,
  .ccns-cases-title,
  .ccns-nf-title,
  .ccns-credit-title,
  .ccns-kiri-title,
  .ccns-challenges-title {
    font-size: 24px;
  }
  
  .ccns-flow-item {
    padding: 25px;
  }
  
  .ccns-flow-title {
    font-size: 18px;
  }
  
  .ccns-temp-value {
    font-size: 36px;
  }
  
  .ccns-case-tile {
    padding: 25px;
  }
}

@media (max-width: 480px) {
  .ccns-primary-heading {
    font-size: 26px;
  }
  
  .ccns-heading-line1 {
    font-size: 22px;
  }
  
  .ccns-heading-line2 {
    font-size: 28px;
  }
  
  .ccns-subtitle-bar {
    font-size: 13px;
    padding: 10px 25px;
  }
  
  .ccns-intro-text,
  .ccns-flow-text,
  .ccns-sbti-text,
  .ccns-nature-text,
  .ccns-case-text,
  .ccns-nf-text,
  .ccns-credit-text,
  .ccns-kiri-text,
  .ccns-solution-text {
    font-size: 14px;
  }
  
  .ccns-flow-item::before {
    width: 40px;
    height: 40px;
    font-size: 16px;
  }
  
  .ccns-company-name {
    font-size: 16px;
  }
  
  .ccns-case-icon {
    font-size: 24px;
  }
  
  .ccns-challenge-icon {
    font-size: 24px;
  }
  
  .ccns-std-value {
    font-size: 18px;
  }
  
  .ccns-standard-item {
    padding: 20px 30px;
  }
}


/* =========================================================
   H3セクション：日本の気候変動対策における森林の役割
   =========================================================
   
   親カテゴリ: 2. 環境への貢献
   セクション位置: 2-1. CO₂吸収能力（気候変動対策）の子セクション
   
   【このセクションの内容】
   - 日本の森林被覆率と森林吸収源対策
   - 年間CO₂吸収量と2030年目標
   - 森林・林業基本計画とエリートツリー
   - 京都皇帝早生桐の戦略的価値
   - 林業の成長産業化と多面的機能
   - 森林環境税・森林経営管理制度
   - 木材利用促進と長期炭素固定
   - 統合的アプローチによる目標達成
   
   【主要数値データ】
   - 森林被覆率：67%
   - 年間CO₂吸収量：1,500万トン
   - 2030年目標：3,800万トンCO₂吸収
   - 人工林50年生以上：約50%
   - エリートツリー成長率：1.5倍以上
   
   ========================================================= */

/* ===================================
   メインセクション - 基本設定
   =================================== */
.japan-climate-forest-role-2025 {
  background: #ffffff;
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}

.jcfr-container-primary {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* ===================================
   スプリットヘッダー
   =================================== */
.jcfr-split-header {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 40px;
  align-items: center;
  margin-bottom: 60px;
  animation: fadeIn-Up 0.6s ease-out;
}

.jcfr-header-left {
  text-align: center;
}

.jcfr-flag-icon {
  font-size: 72px;
  display: inline-block;
  animation: subtle-float 4s ease-in-out infinite;
}

@keyframes subtle-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

.jcfr-main-heading {
  font-size: 42px;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.4;
  margin-bottom: 20px;
}

.jcfr-heading-emphasis {
  background: linear-gradient(135deg, #2e7d32 0%, #43a047 50%, #66bb6a 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 800;
  font-size: 46px;
  display: inline-block;
}

.jcfr-sub-caption {
  color: #616161;
  font-size: 15px;
  font-weight: 500;
  background: #f5f5f5;
  padding: 12px 30px;
  border-radius: 25px;
  display: inline-block;
  border: 1px solid #e0e0e0;
}

/* ===================================
   導入ブロック
   =================================== */
.jcfr-intro-block {
  margin-bottom: 60px;
  background: linear-gradient(to right, #f8f9fa, #ffffff);
  padding: 50px;
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06);
  border-left: 4px solid #2e7d32;
}

.jcfr-stats-banner {
  float: right;
  margin-left: 40px;
  margin-bottom: 20px;
}

.jcfr-stat-item {
  background: #2e7d32;
  color: white;
  padding: 30px;
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 6px 20px rgba(46, 125, 50, 0.3);
}

.jcfr-stat-value {
  display: block;
  font-size: 48px;
  font-weight: 900;
  margin-bottom: 8px;
}

.jcfr-stat-label {
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 1px;
  opacity: 0.9;
}

.jcfr-intro-text {
  font-size: 17px;
  line-height: 1.9;
  color: #424242;
}

.jcfr-percentage {
  color: #2e7d32;
  font-weight: 700;
  font-size: 18px;
}

.jcfr-keyword-nation {
  color: #1976d2;
  font-weight: 600;
  background: rgba(25, 118, 210, 0.08);
  padding: 2px 8px;
  border-radius: 4px;
}

.jcfr-target-year {
  color: #d32f2f;
  font-weight: 700;
}

.jcfr-key-policy {
  color: #2e7d32;
  font-weight: 700;
  background: rgba(46, 125, 50, 0.08);
  padding: 3px 10px;
  border-radius: 5px;
}

/* ===================================
   CO2吸収データセクション
   =================================== */
.jcfr-absorption-section {
  margin: 60px 0;
  padding: 60px;
  background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
  border-radius: 20px;
  position: relative;
}

.jcfr-absorption-visual {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 50px;
  align-items: center;
}

.jcfr-circle-chart {
  width: 250px;
  height: 250px;
  background: conic-gradient(#2e7d32 0deg 120deg, #81c784 120deg 240deg, #c8e6c9 240deg);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 30px rgba(46, 125, 50, 0.2);
  position: relative;
}

.jcfr-circle-inner {
  width: 200px;
  height: 200px;
  background: white;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}

.jcfr-absorption-value {
  font-size: 32px;
  font-weight: 700;
  color: #2e7d32;
  display: block;
}

.jcfr-absorption-label {
  font-size: 13px;
  color: #616161;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.jcfr-detail-text {
  font-size: 16px;
  line-height: 1.9;
  color: #1a1a1a;
}

.jcfr-amount {
  color: #2e7d32;
  font-weight: 700;
  font-size: 18px;
}

.jcfr-total {
  color: #757575;
  font-weight: 600;
}

.jcfr-ratio {
  color: #ff6f00;
  font-weight: 700;
  background: rgba(255, 111, 0, 0.08);
  padding: 2px 6px;
  border-radius: 3px;
}

.jcfr-reduction {
  color: #d32f2f;
  font-weight: 600;
}

.jcfr-target-absorption {
  color: #1976d2;
  font-weight: 700;
  font-size: 18px;
  background: rgba(25, 118, 210, 0.08);
  padding: 3px 10px;
  border-radius: 5px;
}

/* ===================================
   政策セクション - タブ風
   =================================== */
.jcfr-policy-section {
  margin: 60px 0;
  padding: 50px;
  background: #fafafa;
  border-radius: 16px;
  box-shadow: 0 3px 15px rgba(0,0,0,0.05);
}

.jcfr-section-title {
  font-size: 28px;
  color: #1a1a1a;
  text-align: center;
  margin-bottom: 40px;
  font-weight: 700;
  position: relative;
  padding-bottom: 15px;
}

.jcfr-section-title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 3px;
  background: #2e7d32;
  border-radius: 2px;
}

.jcfr-policy-tabs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}

.jcfr-tab-item {
  background: white;
  border-radius: 12px;
  padding: 35px;
  box-shadow: 0 3px 12px rgba(0,0,0,0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  border-top: 3px solid #4caf50;
}

.jcfr-tab-item.highlight {
  border-top-color: #ff6f00;
  background: linear-gradient(to bottom, #fff3e0, #ffffff);
}

.jcfr-tab-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0,0,0,0.12);
}

.jcfr-tab-header {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 20px;
}

.jcfr-tab-icon {
  font-size: 32px;
}

.jcfr-tab-header h5 {
  font-size: 20px;
  color: #1a1a1a;
  font-weight: 700;
}

.jcfr-tab-content p {
  font-size: 15px;
  line-height: 1.8;
  color: #424242;
}

.jcfr-plan-name {
  color: #2e7d32;
  font-weight: 700;
}

.jcfr-measure {
  color: #1976d2;
  font-weight: 600;
  margin: 0 5px;
}

.jcfr-elite {
  color: #ff6f00;
  font-weight: 700;
  background: rgba(255, 111, 0, 0.08);
  padding: 3px 10px;
  border-radius: 5px;
}

.jcfr-growth-rate {
  color: #d32f2f;
  font-weight: 700;
  font-size: 17px;
}

/* ===================================
   京都皇帝早生桐の位置づけ
   =================================== */
.jcfr-kiri-positioning {
  margin: 60px 0;
  background: linear-gradient(135deg, #fff8e1 0%, #ffecb3 100%);
  padding: 60px;
  border-radius: 20px;
  border: 2px solid #ffc107;
  position: relative;
  overflow: hidden;
}

.jcfr-kiri-positioning::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -20%;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(255,193,7,0.1) 0%, transparent 70%);
}

.jcfr-kiri-wrapper {
  position: relative;
  z-index: 1;
}

.jcfr-kiri-title {
  font-size: 28px;
  color: #f57c00;
  text-align: center;
  margin-bottom: 30px;
  font-weight: 700;
}

.jcfr-kiri-text {
  font-size: 17px;
  line-height: 1.9;
  color: #424242;
  text-align: center;
  max-width: 900px;
  margin: 0 auto;
}

.jcfr-kiri-name {
  color: #d32f2f;
  font-weight: 700;
  font-size: 18px;
}

.jcfr-advantage {
  color: #2e7d32;
  font-weight: 600;
  margin: 0 5px;
}

.jcfr-application {
  color: #1976d2;
  font-weight: 600;
  background: rgba(25, 118, 210, 0.08);
  padding: 2px 8px;
  border-radius: 4px;
}

/* ===================================
   画像コンテナ
   =================================== */
.jcfr-image-container {
  width: 100%;
  margin: 50px 0;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(0,0,0,0.1);
  position: relative;
}

.jcfr-full-image {
  width: 100%;
  height: auto;
  display: block;
}

.jcfr-image-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
  color: white;
  padding: 20px;
  font-size: 14px;
  text-align: center;
}

/* ===================================
   二つの目標セクション
   =================================== */
.jcfr-dual-goals {
  margin: 60px 0;
  padding: 50px;
  background: #f5f5f5;
  border-radius: 16px;
}

.jcfr-goals-title {
  font-size: 26px;
  color: #1a1a1a;
  text-align: center;
  margin-bottom: 40px;
  font-weight: 700;
}

.jcfr-goals-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}

.jcfr-goal-card {
  background: white;
  padding: 35px;
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 4px 15px rgba(0,0,0,0.08);
  transition: transform 0.3s ease;
}

.jcfr-goal-card:hover {
  transform: translateY(-5px);
}

.jcfr-goal-icon {
  font-size: 48px;
  margin-bottom: 20px;
  display: block;
}

.jcfr-goal-card h5 {
  font-size: 20px;
  color: #2e7d32;
  margin-bottom: 15px;
  font-weight: 700;
}

.jcfr-goal-text {
  font-size: 15px;
  line-height: 1.8;
  color: #616161;
}

.jcfr-goal-name {
  color: #2e7d32;
  font-weight: 700;
}

.jcfr-kiri-mention {
  color: #ff6f00;
  font-weight: 600;
}

.jcfr-function {
  color: #1976d2;
  font-weight: 600;
  margin: 0 5px;
}

/* ===================================
   課題ブロック
   =================================== */
.jcfr-challenges-block {
  margin: 60px 0;
  padding: 50px;
  background: #ffebee;
  border-radius: 16px;
  border-left: 5px solid #d32f2f;
}

.jcfr-challenge-header {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 30px;
}

.jcfr-warning-icon {
  font-size: 36px;
}

.jcfr-challenge-header h4 {
  font-size: 26px;
  color: #b71c1c;
  font-weight: 700;
}

.jcfr-challenge-text {
  font-size: 16px;
  line-height: 1.9;
  color: #424242;
}

.jcfr-issue {
  color: #d32f2f;
  font-weight: 700;
  font-size: 17px;
}

.jcfr-age {
  color: #ff6f00;
  font-weight: 600;
}

.jcfr-cycle {
  color: #1976d2;
  font-weight: 600;
  background: rgba(25, 118, 210, 0.08);
  padding: 2px 8px;
  border-radius: 4px;
}

.jcfr-reason {
  color: #795548;
  font-weight: 600;
  margin: 0 5px;
}

.jcfr-consequence {
  color: #d32f2f;
  font-weight: 600;
  border-bottom: 2px dotted #d32f2f;
}

/* ===================================
   制度改革タイムライン
   =================================== */
.jcfr-reforms-section {
  margin: 60px 0;
  padding: 50px;
  background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);
  border-radius: 16px;
}

.jcfr-reforms-title {
  font-size: 26px;
  color: #1565c0;
  text-align: center;
  margin-bottom: 40px;
  font-weight: 700;
}

.jcfr-reforms-timeline {
  position: relative;
  padding: 0 20px;
}

.jcfr-reforms-timeline::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 2px;
  background: #1976d2;
  transform: translateX(-50%);
}

.jcfr-reform-item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin-bottom: 40px;
  align-items: center;
}

.jcfr-reform-year {
  background: #1976d2;
  color: white;
  padding: 15px 25px;
  border-radius: 25px;
  font-weight: 700;
  text-align: center;
  box-shadow: 0 4px 15px rgba(25, 118, 210, 0.3);
}

.jcfr-reform-content {
  background: white;
  padding: 30px;
  border-radius: 12px;
  box-shadow: 0 3px 12px rgba(0,0,0,0.08);
}

.jcfr-reform-content h5 {
  font-size: 18px;
  color: #1565c0;
  margin-bottom: 15px;
  font-weight: 700;
}

.jcfr-reform-content p {
  font-size: 15px;
  line-height: 1.8;
  color: #424242;
}

.jcfr-system {
  color: #1976d2;
  font-weight: 700;
}

/* ===================================
   再造林セクション
   =================================== */
.jcfr-reforestation {
  margin: 60px 0;
  padding: 50px;
  background: #e8f5e9;
  border-radius: 16px;
  text-align: center;
}

.jcfr-reforestation-text {
  font-size: 17px;
  line-height: 1.9;
  color: #1a1a1a;
  max-width: 900px;
  margin: 0 auto;
}

.jcfr-process {
  color: #2e7d32;
  font-weight: 600;
}

.jcfr-kiri-solution {
  color: #ff6f00;
  font-weight: 700;
  font-size: 18px;
  background: rgba(255, 111, 0, 0.08);
  padding: 3px 10px;
  border-radius: 5px;
}

.jcfr-benefit {
  color: #1976d2;
  font-weight: 600;
}

/* ===================================
   木材利用促進
   =================================== */
.jcfr-wood-utilization {
  margin: 60px 0;
  padding: 50px;
  background: #f5f5f5;
  border-radius: 16px;
}

.jcfr-utilization-title {
  font-size: 26px;
  color: #1a1a1a;
  text-align: center;
  margin-bottom: 40px;
  font-weight: 700;
}

.jcfr-utilization-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}

.jcfr-util-item {
  background: white;
  padding: 35px;
  border-radius: 12px;
  box-shadow: 0 3px 12px rgba(0,0,0,0.08);
}

.jcfr-util-icon {
  font-size: 48px;
  display: block;
  text-align: center;
  margin-bottom: 20px;
}

.jcfr-util-text {
  font-size: 15px;
  line-height: 1.8;
  color: #424242;
}

.jcfr-law {
  color: #795548;
  font-weight: 600;
  font-style: italic;
}

.jcfr-effect {
  color: #2e7d32;
  font-weight: 600;
}

.jcfr-substitute {
  color: #1976d2;
  font-weight: 600;
}

/* ===================================
   京都皇帝早生桐特性
   =================================== */
.jcfr-kiri-characteristics {
  margin: 60px 0;
  padding: 60px;
  background: linear-gradient(135deg, #fff3e0 0%, #ffe0b2 100%);
  border-radius: 20px;
  text-align: center;
}

.jcfr-char-title {
  font-size: 26px;
  color: #e65100;
  margin-bottom: 30px;
  font-weight: 700;
}

.jcfr-char-text {
  font-size: 17px;
  line-height: 1.9;
  color: #424242;
  max-width: 800px;
  margin: 0 auto;
}

.jcfr-kiri-wood {
  color: #d32f2f;
  font-weight: 700;
  font-size: 18px;
}

.jcfr-property {
  color: #2e7d32;
  font-weight: 600;
  margin: 0 5px;
}

.jcfr-use {
  color: #1976d2;
  font-weight: 600;
}

.jcfr-carbon-storage {
  color: #ff6f00;
  font-weight: 700;
  background: rgba(255, 111, 0, 0.08);
  padding: 3px 10px;
  border-radius: 5px;
}

/* ===================================
   結論セクション
   =================================== */
.jcfr-conclusion {
  margin-top: 60px;
  padding: 60px;
  background: linear-gradient(135deg, #1a237e 0%, #283593 100%);
  border-radius: 20px;
  color: white;
  text-align: center;
}

.jcfr-conclusion-title {
  font-size: 30px;
  color: white;
  margin-bottom: 30px;
  font-weight: 700;
}

.jcfr-conclusion-text {
  font-size: 17px;
  line-height: 1.9;
  color: rgba(255,255,255,0.95);
  max-width: 900px;
  margin: 0 auto;
}

.jcfr-integration {
  color: #ffc107;
  font-weight: 700;
  font-size: 18px;
}

.jcfr-approach {
  color: #81c784;
  font-weight: 600;
  margin: 0 5px;
}

.jcfr-final-goal {
  color: #ffeb3b;
  font-weight: 700;
  font-size: 19px;
  background: rgba(255, 235, 59, 0.2);
  padding: 3px 10px;
  border-radius: 5px;
}

.jcfr-kiri-final {
  color: #ff9800;
  font-weight: 700;
}

/* ===================================
   アニメーション
   =================================== */
@keyframes fadeIn-Up {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ===================================
   レスポンシブ対応
   =================================== */
@media (max-width: 1024px) {
  .jcfr-absorption-visual {
    grid-template-columns: 1fr;
    text-align: center;
  }
  
  .jcfr-circle-chart {
    margin: 0 auto 30px;
  }
  
  .jcfr-goals-grid,
  .jcfr-utilization-grid {
    grid-template-columns: 1fr;
  }
  
  .jcfr-reform-item {
    grid-template-columns: 1fr;
    text-align: center;
  }
  
  .jcfr-reforms-timeline::before {
    left: 20px;
  }
}

@media (max-width: 768px) {
  .japan-climate-forest-role-2025 {
    padding: 40px 0;
  }
  
  .jcfr-split-header {
    grid-template-columns: 1fr;
    text-align: center;
  }
  
  .jcfr-main-heading {
    font-size: 32px;
  }
  
  .jcfr-heading-emphasis {
    font-size: 36px;
  }
  
  .jcfr-stats-banner {
    float: none;
    margin: 0 auto 30px;
    width: fit-content;
  }
  
  .jcfr-intro-block,
  .jcfr-absorption-section,
  .jcfr-policy-section,
  .jcfr-kiri-positioning,
  .jcfr-dual-goals,
  .jcfr-challenges-block,
  .jcfr-reforms-section,
  .jcfr-reforestation,
  .jcfr-wood-utilization,
  .jcfr-kiri-characteristics,
  .jcfr-conclusion {
    padding: 35px 25px;
  }
  
  .jcfr-policy-tabs {
    grid-template-columns: 1fr;
  }
  
  .jcfr-section-title,
  .jcfr-goals-title,
  .jcfr-reforms-title,
  .jcfr-utilization-title,
  .jcfr-char-title,
  .jcfr-conclusion-title {
    font-size: 22px;
  }
}

@media (max-width: 480px) {
  .jcfr-main-heading {
    font-size: 26px;
  }
  
  .jcfr-heading-emphasis {
    font-size: 28px;
  }
  
  .jcfr-sub-caption {
    font-size: 13px;
    padding: 10px 20px;
  }
  
  .jcfr-stat-value {
    font-size: 36px;
  }
  
  .jcfr-intro-text,
  .jcfr-detail-text,
  .jcfr-reforestation-text,
  .jcfr-char-text,
  .jcfr-conclusion-text {
    font-size: 14px;
  }
  
  .jcfr-circle-chart {
    width: 200px;
    height: 200px;
  }
  
  .jcfr-circle-inner {
    width: 160px;
    height: 160px;
  }
  
  .jcfr-absorption-value {
    font-size: 24px;
  }
  
  .jcfr-tab-item {
    padding: 25px;
  }
  
  .jcfr-goal-icon,
  .jcfr-util-icon {
    font-size: 36px;
  }
  
  .jcfr-flag-icon {
    font-size: 56px;
  }
}
































@keyframes scrollText {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-100%);
    }
}
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 初期状態：マーカークラスでは透明にしておく */

.fadeIn-Slide,
.scale-up,
.fad-eIn,
.fadeIn-Right,
.fadeIn-Left,
.fadeIn-Up {
  opacity: 0;
}

/* アニメーション用クラスを付与されたらアニメーションが発動 */
.fadeIn {
  animation: fadeIn 1s ease forwards;
}
.fadeInRight {
  animation: fadeInRight 1s ease forwards;
}
.fadeInLeft {
  animation: fadeInLeft 1s ease forwards;
}
.fadeInUp {
  animation: fadeInUp 1s ease forwards;
}
.scale-up-top {
  animation: scale-up-top 1s ease forwards;
}
.info-box {
  animation: info-box 1s ease forwards;
}
.fadeInSlide {
    animation: fadeInSlide 0.8s ease-out;
}

/* @keyframesの定義 */


@keyframes fadeInSlide {
  from {
        opacity: 0;
        transform: translateY(70px);
    }
  to {
        opacity: 1;
        transform: translateY(0);
    }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translateX(-50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translateX(50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@-webkit-keyframes scale-up-top {
  0% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
    -webkit-transform-origin: 50% 0%;
            transform-origin: 50% 0%;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transform-origin: 50% 0%;
            transform-origin: 50% 0%;
  }
}
@keyframes scale-up-top {
  0% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
    -webkit-transform-origin: 50% 0%;
            transform-origin: 50% 0%;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transform-origin: 50% 0%;
            transform-origin: 50% 0%;
  }
}
.scale-up-top {
	-webkit-animation: scale-up-top 0.4s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
	        animation: scale-up-top 0.4s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
}
