/* features.css : 「機能紹介」ページ専用CSS */

/* セクション共通拡張 */
.section-header-center {
  text-align: center;
}

.section-features-hero {
  background-color: #ffffff;
  /* border-bottom: 1px solid var(--color-border); */
}

/* 主要機能一覧（P8） */
.section-main-features {
  background-color: var(--color-bg);
}

.main-features-table {
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
  background-color: #ffffff;
  overflow: hidden;
  font-size: 0.95rem;
}

.main-features-row {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.8fr) minmax(0, 1.4fr);
  border-top: 1px solid var(--color-border);
}

.main-features-row:first-child {
  /* border-top: none; */
}
.main-features-row-first-child{
  border-top: none;
}

.main-features-row-head {
  background-color: #fafafa;
  font-weight: 700;
}

.main-features-cell {
  padding: var(--spacing-sm) var(--spacing-md);
  border-left: 1px solid var(--color-border);
}

.main-features-row .main-features-cell:first-child {
  border-left: none;
}

.main-features-cell-title {
  background-color: #fff9f9;
}

/* 主要機能一覧：行全体リンク用 */
.main-features-row-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

/* 訪問済みでも色・下線を変えない */
.main-features-row-link:link,
.main-features-row-link:visited {
  text-decoration: none;
  color: inherit;
}

/* ホバー時の装飾（下線を付けないまま） */
.main-features-row-link:hover,
.main-features-row-link:focus-visible {
  text-decoration: none;
  color: inherit;
}

/* ホバー時に行の背景色を変更 */
.main-features-row-link:hover .main-features-cell,
.main-features-row-link:focus-visible .main-features-cell {
  background-color: #fff2f2;
  transition: all .2s;
}

/* クリック可能であることを示す */
.main-features-row-link:hover .main-features-row,
.main-features-row-link:focus-visible .main-features-row {
  cursor: pointer;
}

/* 主要機能一覧：主な特徴 1 行目を少し強調 */
.main-features-lead {
  display: inline-block;
  font-size: 1.02rem;   /* もとの 0.95rem より少し大きく */
  font-weight: 600;
}

.tool-name {
  /* margin: 0; */
  font-weight: 700;
  color: var(--color-primary);
  font-size: 1.2rem;
}

.tool-name-sub {
  font-size: 0.8rem;
  color: var(--color-text-muted);
}

/* Smart Chat（P9-10） */
.section-smartchat {
  background-color: #ffffff;
}

/* Smart Chat 外枠カード */
.smartchat-main-card {
  margin-top: var(--spacing-md);
  /* padding: var(--spacing-md); */
  border-radius: var(--radius-md);
  /* border: 1px solid var(--color-border); */
  background-color: #ffffff;
}

.smartchat-main-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-sm);
  padding-bottom: var(--spacing-xs);
  margin-bottom: var(--spacing-sm);
  /* border-bottom: 1px solid var(--color-border); */
}

.smartchat-main-title {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--color-primary);
}

.smartchat-main-tag {
  font-size: 0.85rem;
  font-weight: 700;
  color: #ffffff;
  background-color: var(--color-primary);
  padding: 0.2rem 0.7rem;
  border-radius: 999px;
}

/* 中の2枚カード（レイアウトのみ） */
.smartchat-card {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-sm);
}

.smartchat-card-title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--color-primary);
}

.smartchat-card-list {
  margin: 0;
}

.smartchat-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--spacing-md);
  align-items: stretch;
}

.smartchat-card {
  padding: var(--spacing-md);
  border-radius: var(--radius-md);
  /* border: 1px solid var(--color-border); */
  background-color: var(--color-bg);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-sm);
}

.smartchat-card-title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-primary);
}

/* カード内のリスト用（既存クラスを流用） */
.smartchat-card-list {
  margin: 0;
}



.smartchat-subtitle {
  margin: 0 0 var(--spacing-xs);
  font-size: 1rem;
}

.smartchat-list {
  margin: 0 0 var(--spacing-sm);
  padding-left: 1.1rem;
  font-size: 0.95rem;
}

.smartchat-note {
  margin: 0;
  font-size: 1.2rem;
  text-align: center;
  color: var(--color-text);
  margin: var(--spacing-sm) 0 var(--spacing-sm);
}

.smartchat-image {
  min-height: 260px;
}

/* Smart Chat 便利機能（P10 横長画像） */
.smartchat-util-wide {
  /* margin-top: var(--spacing-xl); */
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
}

.smartchat-subtitle-large {
  margin: 0 0 var(--spacing-xs);
  font-size: 1.2rem;
  font-weight: 700;
}

.smartchat-util-wide-image {
  min-height: 260px;
}


/* AIリサーチ（P11-12 統合） */
.section-qsearch {
  background-color: var(--color-bg);
}

.qsearch-single {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
}

.qsearch-image {
  min-height: 260px;
}

.qsearch-report {
  margin-top: var(--spacing-lg);
}

.qsearch-image img{
  border-radius: var(--radius-md);
}

.qsearch-subtitle {
  margin: 0 0 var(--spacing-md);
  font-size: 1.1rem;
  font-weight: 700;
}

.qsearch-report-image {
  min-height: 260px;
}

.qsearch-report-image img{
  border-radius: var(--radius-md);
}




/* 翻訳ツール／会議文字起こし（P13-15） */
.section-translate-transcript {
  background-color: #ffffff;
}

.translate-transcript-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--spacing-md);
}

.translate-card,
.transcript-card {
  padding: var(--spacing-md);
  border-radius: var(--radius-md);
  /* border: 1px solid var(--color-border); */
  background-color: var(--color-bg);
}

.translate-title {
  margin: 0 0 var(--spacing-xs);
  font-size: 1.1rem;
  font-weight: 700;
}
.translate-subtitle{
  margin: 0 0 var(--spacing-xs);
  font-size: 1.1rem;
  font-weight: 700;
  margin-top: var(--spacing-lg);
}

.translate-list {
  margin: 0 0 var(--spacing-sm);
  padding-left: 1.1rem;
  font-size: 0.95rem;
}

.translate-image,
.transcript-image {
  min-height: 200px;
}

.section-translate-detail {
  background-color: var(--color-bg);
}

.translate-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.2fr);
  gap: var(--spacing-lg);
  align-items: center;
}

.translate-detail-image {
  min-height: 240px;
}

.translate-languages {
  margin: var(--spacing-md) 0 0;
  font-weight: 600;
}

.section-transcript-detail {
  background-color: #ffffff;
}

.transcript-detail-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--spacing-md);
  margin-top: var(--spacing-md);
}

.transcript-detail-card {
  padding: var(--spacing-md);
  border-radius: var(--radius-md);
  /* border: 1px solid var(--color-border); */
  background-color: var(--color-bg);
}

.transcript-detail-title {
  margin: 0 0 var(--spacing-xs);
  font-size: 1.1rem;
  font-weight: 700;
}

.transcript-detail-image {
  min-height: 180px;
}

/* PowerPoint生成ツール（P16-18） */
.section-ppt {
  background-color: var(--color-bg);
}



/* P16 概要用：1カラムレイアウト */
.ppt-grid {
  display: block;
}
.ppt-subtitle {
    margin: 0 0 var(--spacing-xs);
    font-size: 1.1rem;
    font-weight: 700;
    margin-top: var(--spacing-xl);
}
.ppt-image {
  min-height: 62px;
  margin-top: var(--spacing-md);
}

/* 3つのモードカード */
.ppt-mode-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--spacing-md);
  margin-top: var(--spacing-md);
}

.ppt-mode-card {
  padding: var(--spacing-md);
  border-radius: var(--radius-md);
  /* border: 1px solid var(--color-border); */
  background-color: #ffffff;
}

.ppt-mode-title {
  margin: 0 0 var(--spacing-xs);
  font-size: 0.98rem;
  font-weight: 700;
}

.ppt-mode-image {
  min-height: 160px;
  margin-bottom: var(--spacing-xs);
}

.ppt-mode-body {
  margin: 0;
  font-size: 0.9rem;
}

.ppt-note {
  margin-top: var(--spacing-md);
  font-size: 0.9rem;
  color: var(--color-text-muted);
  text-align: center;
}

/* 既存：P17〜P18 用スタイルはそのまま */

/* レスポンシブ対応 */
@media (max-width: 960px) {
  .ppt-mode-cards {
    grid-template-columns: minmax(0, 1fr);
  }
}



.section-ppt-steps {
  background-color: #ffffff;
}

.ppt-steps-grid {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
  margin-top: var(--spacing-xl);
}

.ppt-step-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--spacing-md);
}

.ppt-step-card {
  padding: var(--spacing-md);
  border-radius: var(--radius-md);
  /* border: 1px solid var(--color-border); */
  background-color: #fff;
}

.ppt-step-label {
  margin: 0 0 var(--spacing-xs);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--color-primary);
  text-align: center;
}

.ppt-step-image {
  min-height: 180px;
}

.ppt-note-bottom {
  margin: 0;
  font-size: 0.9rem;
  color: var(--color-text-muted);
}

.section-ppt-sample {
  background-color: var(--color-bg);
}

.ppt-sample-image {
  /* min-height: 260px; */
}

.ppt-sample-thumbs {
  margin-top: var(--spacing-md);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--spacing-md);
}

.ppt-sample-thumb {
  background-color: #ffffff;
  border-radius: var(--radius-md);
  padding: var(--spacing-sm);
}

.ppt-sample-thumb .image-zoom img {
  display: block;
  width: 100%;
  height: auto;
}

/* タブレット以下 */
@media (max-width: 960px) {
  .ppt-sample-thumbs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* スマホ */
@media (max-width: 640px) {
  .ppt-sample-thumbs {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* カスタムエージェント（P19-22） */
.section-agent {
  background-color: #ffffff;
}

.agent-title {
    margin: 0 0 var(--spacing-xs);
    font-size: 1.1rem;
    font-weight: 700;
    margin-top: var(--spacing-xl);
}
.agent-subtitle {
    margin: 0 0 var(--spacing-xs);
    font-size: 1rem;
    font-weight: 700;
}

.agent-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap: var(--spacing-lg);
  align-items: stretch;
}

.agent-image {
  min-height: 260px;
}

.agent-block,
.agent-uses {
  margin-top: var(--spacing-md);
}


.agent-body {
  margin: 0 0 var(--spacing-xs);
  font-size: 0.95rem;
}

.agent-equation {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  color: var(--color-primary);
}

.agent-use-list {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.95rem;
  counter-reset: agent-step;
}

.agent-use-list li {
  position: relative;
  padding-left: 2rem;
  margin-bottom: var(--spacing-sm);
  line-height: 1.7;
}

.agent-use-list li::before {
  counter-increment: agent-step;
  content: counter(agent-step);
  position: absolute;
  left: 0;
  top: 0.1rem;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 999px;
  background-color: var(--color-primary); 
  color: #ffffff;
  font-size: 0.9rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

.agent-use-list li strong {
  display: block;
  font-weight: 700;
  margin-bottom: 0.15rem;
}
.section-agent-settings {
  background-color: var(--color-bg);
}

.agent-settings-grid {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
}

.agent-settings-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--spacing-md);
}

.agent-settings-card {
  padding: var(--spacing-md);
  border-radius: var(--radius-md);
  /* border: 1px solid var(--color-border); */
  background-color: var(--color-bg);
}

.agent-settings-title {
  margin: 0 0 var(--spacing-xs);
  font-size: 0.98rem;
  font-weight: 700;
}

.agent-settings-body {
  margin: 0 0 var(--spacing-sm);
  font-size: 0.9rem;
}

.agent-settings-body span{
  color: var(--color-primary);
}

.agent-settings-image {
  min-height: 180px;
}

.section-agent-use {
  background-color: #ffffff;
}

.agent-use-grid {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
}

.agent-use-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--spacing-md);
}

.agent-use-card {
  padding: var(--spacing-md);
  border-radius: var(--radius-md);
  /* border: 1px solid var(--color-border); */
  background-color: var(--color-bg);
}

.agent-use-title {
  margin: 0 0 var(--spacing-xs);
  font-size: 0.98rem;
  font-weight: 700;
}

.agent-use-body {
  margin: 0 0 var(--spacing-sm);
  font-size: 0.9rem;
}

.agent-use-body span{
  color: var(--color-primary);
}

.agent-use-image {
  min-height: 200px;
}



/* 表読み取りツール（P23-24） */

/* 表読み取りツール（P23-24統合） */
.section-tableocr {
  background-color: var(--color-bg);
}

.tableocr-single {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
}

.tableocr-image {
  min-height: 260px;
  margin-bottom: var(--spacing-lg);
}

.tableocr-image img{
  border-radius: var(--radius-md);
}




/* 管理者向け機能紹介（P25） */
.section-admin {
  background-color: #fff;
}

.admin-grid {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
}

.admin-main {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.1fr);
  gap: var(--spacing-md);
  align-items: stretch;
}

.admin-card {
  padding: var(--spacing-md);
  border-radius: var(--radius-md);
  /* border: 1px solid var(--color-border); */
  background-color: var(--color-bg);
}

.admin-card-main {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-sm);
}

.admin-title {
  margin: 0 0 var(--spacing-xs);
  font-size: 0.98rem;
  font-weight: 700;
}

.admin-list {
  margin: 0;
  padding-left: 1.1rem;
  font-size: 0.9rem;
}
.admin-list li::marker{
  color: var(--color-primary);
}
.admin-image {
  min-height: 200px;
}

.admin-side {
  display: grid;
  grid-template-rows: auto auto auto;
  gap: var(--spacing-md);
}
/* ④ 導入価値 パネル */
.admin-card-bottom {
  /* 他の admin-card と同じグレー枠の中に配置するため、
     ここでは背景などは上書きしない */
  padding-top: var(--spacing-sm);
}

.admin-value-panels {
  display: flex;
  gap: var(--spacing-md);
}

.admin-value-panel {
  flex: 1;
  padding: 1.1rem 1.2rem;
  border-radius: var(--radius-md);
  background-color: #ffe5e7; /* 薄いピンク */
  text-align: center;
}

.admin-value-heading {
  margin: 0 0 0.35rem;
  font-size: 0.98rem;
  font-weight: 700;
  color: var(--color-primary);
}

.admin-value-caption {
  margin: 0;
  font-size: 0.85rem;
  color: var(--color-primary);
  display: inline-block;
  padding-bottom: 0.2rem;
  /* border-bottom: 2px dotted rgba(230, 0, 33, 0.6);  */
}

/* スマホでは縦並び */
@media (max-width: 640px) {
  .admin-value-panels {
    flex-direction: column;
  }
}


/* レスポンシブ対応 */
/* タブレット以下 */
@media (max-width: 960px) {
  .smartchat-grid,
  .qsearch-grid,
  .qsearch-report-grid,
  .translate-transcript-grid,
  .translate-detail-grid,
  .transcript-detail-cards,
  .ppt-grid,
  .ppt-step-cards,
  .agent-grid,
  .agent-settings-cards,
  .agent-use-cards,
  .tableocr-grid,
  .tableocr-effects,
  .tableocr-sample-cards,
  .admin-main {
    grid-template-columns: minmax(0, 1fr);
  }

  .main-features-row {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.8fr) minmax(0, 1.6fr);
  }
}

/* スマートフォン */
@media (max-width: 640px) {
  .main-features-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .main-features-row .main-features-cell {
    border-left: none;
    border-top: 1px solid var(--color-border);
  }

  .main-features-row:first-child .main-features-cell {
    border-top: none;
  }

  .smartchat-image,
  .qsearch-image,
  .qsearch-report-image,
  .translate-image,
  .transcript-image,
  .translate-detail-image,
  .transcript-detail-image,
  .ppt-image,
  .ppt-step-image,
  .ppt-sample-image,
  .agent-image,
  .agent-settings-image,
  .agent-use-image,
  .tableocr-imagepx;
  }

  .tableocr-effects {
    grid-template-columns: minmax(0, 1fr);
  }
}