body {
	font-family: 'Noto Sans JP', sans-serif;
	}

.gradient-container {
  background: linear-gradient(to right, #fffae2, #e5f0e6,#d3eaf3);
  padding: 20px;
}

/* 背景画像の設定 */
.mission-section {
  background-image: url('https://kasanare.co.jp/hubfs/1-Nov-15-2024-06-00-30-0385-AM.png');
  background-position: right;
}

.vision-section {
  background-image: url('https://kasanare.co.jp/hubfs/2-Nov-15-2024-06-00-29-6460-AM.png');
  background-position: left;
}

/* 共通スタイル */
/* 初期状態 */
.animate {
  display: inline-block;
  opacity: 0; /* 透明から開始 */
  transition: opacity 0.5s ease; /* フェードインアニメーション */
}

.fade-in-bottom {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.fade-in-bottom.show {
  opacity: 1;
  transform: translateY(0);
}

/* ビューポート内に入った際にアニメーション開始 */
.animate.visible {
  opacity: 1; /* フェードイン */
}

/* 空白のスタイル */
.space {
  display: inline-block;
  opacity: 0; /* 初期は透明 */
  width: 0.4em; /* 空白の幅を指定 */
  transition: opacity 0.5s ease; /* フェードインアニメーション */
}



/* 全体背景 */
.company-container {
  background-color: #fafafa;
  background-image: url('https://kasanare.co.jp/hubfs/back_about3.png');
  background-position: right;
  padding : 0;
}

.text-image-container {
  display: flex; /* 子要素を横並びにする */
  align-items: center; /* 垂直方向を中央揃え */
  justify-content: space-between; /* テキストと画像の間隔を均等に配置 */
  max-height: auto;
  margin: 0 auto; /* ページ中央に配置 */
  position: relative;
  width: 90%;
  height: auto;
}

.policy-section {
  flex: 1; /* テキスト部分の幅を調整可能にする */
  text-align: left; /* テキストを左揃え */
  position: relative;
  margin: 0 auto; /* セクションを中央揃え */
  display: flex;
  justify-content: space-between;
  position: absolute;
  left: 45%;  /* 画像部分に少し重なる位置 */
  top: 20%;
  max-width: 62%;
}


/* 画像部分 */
.image-content {
  flex: 1; /* 画像部分の幅を調整可能にする */
  text-align: center; /* 画像を中央揃え */
  max-width: 50%; /* セクションの最大幅を指定 */
  min-height: 610px; /* 画像エリアの固定高さ */
  display: flex;
  justify-content: center; /* 水平方向の中央揃え */
  align-items: center; /* 垂直方向の中央揃え */
  position: relative; /* テキストやアイコンの配置の基準 */
  margin-left: 50px;
  top: 20%;
  margin-bottom: 30px;
}

.image-content img {
  max-width: 90%; /* 画像が親要素を超えないように設定 */
  height: auto; /* 画像の縦横比を保持 */
  align-items: left;
  opacity: 0; /* 非表示 */
  transform: translateY(-20px); /* 上に移動した状態 */
  transition: opacity 0.6s ease, transform 0.6s ease; /* スムーズなアニメーション */
}

/* 表示状態 */
.image-content img.visible {
  opacity: 1; /* 表示 */
  transform: translateY(0); /* 元の位置に戻る */
}

/* コンテナ */
.highlighted-text {
  background-color: rgba(255, 255, 255, 0.7); /* 白色、80%の透明度 */
  padding: 50px;
  border-radius: 20px; /* 角を丸くする場合 */
  max-width: 100%;
  text-align: left;
  margin: 0 auto;
  font-family: 'Arial', sans-serif;
  line-height: 1.2; /* 行間を少し広げる */
  overflow: hidden; /* アニメーション中の余分な部分を隠す */
  display: inline-block;
  position: relative;
  letter-spacing: 1.5px;
}

/* メインタイトル */
.main-text {
  font-size: 48px;
  font-weight: bold;
  color: #1d3e7b; /* ダークブルー */
  background: linear-gradient(90deg, #ffcc00, #1d3e7b); /* 左から右へのグラデーション */
  -webkit-background-clip: text; /* テキストにグラデーションを適用 */
  -webkit-text-fill-color: transparent; /* テキストを透明にして背景グラデーションを表示 */
  letter-spacing: 2px; /* 文字間のスペースを広げる */
  display: inline-block;
  padding-top: 5px;
  padding-bottom: 5px;
  position: relative;
  right: -100%; /* 初期状態で画面外に配置（右側） */
  animation: slide-in-right 2s cubic-bezier(0.25, 1, 0.5, 1) forwards; /* アニメーション適用 */
}

/* サブタイトル */
.sub-text {
  font-size: 35px;
  font-weight: bold;
  color: #1d3e7b;
  background: linear-gradient(90deg, #ffcc00, #1d3e7b);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  letter-spacing: 2px;
  display: inline-block;
  padding-top: 5px;
  position: relative;
  right: -100%; /* 初期状態で画面外に配置（右側） */
  animation: slide-in-right 2s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  animation-delay: 0.2s; /* メインタイトルの後に遅れて表示 */
}

/* アニメーション */
@keyframes slide-in-right {
  from {
    right: -100%; /* 右側から始まる */
  }
  to {
    right: 0; /* 最終的に表示位置に移動 */
  }
}


.policy-description {
  margin-top: 20px;
  font-size: 14px;
  color: #333;
  line-height: 1.8;
  font-weight: bold;
  letter-spacing: 0.2px;
}

/* 番号付きセクション */
.numbered-section {
  margin-top: 20px;
  max-width: 50%;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 50px;
}

/* ポリシー項目 */
.policy-item {
  padding-bottom: 30px;
}

.policy-number {
  width: 40px;
  height: 40px;
  background-color: #fff;
  color: #f0c438;
  font-size: 25px;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  margin: 0 auto;
  margin-left: 20px;
}

.policy-content {
  flex: 1;
  margin-left: 20px;
  font-size: 16px;
}

.policy-heading {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  font-weight: bold;
  color: #333;
  background-color: #f4f1cd;
  padding: 10px 15px;
  border-radius: 40px;
  margin-bottom: 10px;
}

.policy-text {
  font-size: 14px;
  line-height: 1.5;
  color: #333333;
  margin: 0 auto;
  position: center;
  margin-left: 100px;
}


/* テキストスタイル */
.section-title {
  font-size: 18px;
  color: #1d3e7b;
  font-weight: bold;
  position: relative; /* 疑似要素の位置指定に必要 */
  margin-bottom: 10px;
  padding-left: 30px; /* 丸い装飾分の余白を追加 */
}

.section-title::before {
  content: "";
  display: inline-block;
  width: 10px; /* 丸の直径 */
  height: 10px; /* 丸の直径 */
  background-color: #1d3e7b; /* 丸の色 */
  border-radius: 50%; /* 完全な円形にする */
  position: absolute;
  left: 0; /* タイトルの左端に配置 */
  top: 50%;
  transform: translateY(-50%); /* 垂直方向に中央揃え */
}

.section-title_2 {
  font-size: 18px;
  color: #1d3e7b;
  font-weight: bold;
  position: relative; /* 疑似要素の位置指定に必要 */
  margin-bottom: 10px;
  padding-right: 30px; /* 丸い装飾分の余白を追加 */
  text-align: right; /* タイトル自体を右揃え */
}

.section-title_2::before {
  content: "";
  display: inline-block;
  width: 10px; /* 丸の直径 */
  height: 10px; /* 丸の直径 */
  background-color: #1d3e7b; /* 丸の色 */
  border-radius: 50%; /* 完全な円形にする */
  position: absolute;
  right: 100px; /* タイトルの左端に配置 */
  top: 50%;
  transform: translateY(-50%); /* 垂直方向に中央揃え */
}

.mission-text, .vision-text {
  font-size: 38px;
  font-weight: bold;
  margin: 0;
  letter-spacing: 4px;
  color: #333;
  display: inline-block;
}

.vision-text p{
  font-size: 17px;
}

.mission-text, .vision-text span {
    display: inline-block; /* spanをインラインブロックに変更 */
  }

.description{
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.5px;
  max-width: 100%;
  color: #333;
}

/* 各セクションのスタイル */
.mission-section, .vision-section, .values-section {
  padding: 70px;
  padding-left: 100px;
  position: relative;
  background-size: contain;
  background-repeat: no-repeat;
  max-width: 80%; /* セクションの最大幅を指定 */
  margin: 0 auto; /* セクションを中央揃え */
  margin-top: 20px;
  border-radius: 20px;
  background-color: #fff;
}

.mission-section {
  text-align: left;
  margin-top: 50px;
}

.vision-section{
  text-align: right; 
}

.values-section {
  text-align: left;
  margin-bottom: 70px;
}

/* Valueカードコンテナ */
.cards-container {
  display: flex;
  justify-content: space-between; /* カード間の間隔を均等に */
}

/* 各カード */
.value-card {
  text-align: center;
  width: 100%;
  max-width: 33.333%; /* カードの最大幅 */
  padding: 20px;
}

/* カード内の画像 */
.value-card img {
  width: 70%;
  height: auto;
  margin-bottom: 15px;
  opacity: 0; /* 非表示 */
  transform: translateY(-20px); /* 上に移動した状態 */
  transition: opacity 0.6s ease, transform 0.6s ease; /* スムーズなアニメーション */
}

/* 表示状態 */
.value-card img.visible {
  opacity: 1; /* 表示 */
  transform: translateY(0); /* 元の位置に戻る */
}

/* カード内のタイトル */
.value-title {
  display: inline-block; /* 背景色の幅をテキストに合わせるために必要 */
  background-color: #f9f5d7; /* 背景色（画像に近い色） */
  color: #333; /* テキスト色 */
  padding: 0px 20px; /* 背景とテキストの間に余白を作成 */
  border-radius: 50px; /* 丸みを付ける */
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 5px;
  letter-spacing: 2px;
}

/* カード内の説明文 */
.value-description {
  font-size: 12px;
  line-height: 1.7;
}


/* 会社概要のセクション */
.company-profile {
  display: flex;
  align-items: flex-start; /* 上揃え */
  gap: 40px; /* タイトルと表の間のスペース */
  max-width: 80%;
  margin: 0 auto;
  margin-top: 50px;
  padding: 20px;
  font-family: Arial, sans-serif;
  color: #333;
  background-color: #fff;
}

/* パートナー */
.partner-title {
  padding-top: 25px;
  font-size: 15px;
  color: #333;
  font-weight: bold;
  padding-left: 25%;
  letter-spacing: 1px;
}

.partner-image-container {
  width: 80%;
  margin: 0 auto;
  align-items: center;
  padding-bottom: 50px;
}

.partner-image-row {
  display: flex;
  flex-wrap: wrap; /* 子要素を折り返すように設定 */
  justify-content: flex-start;  /* 右揃え */
  align-items: center;      /* 垂直方向に中央揃え */
  margin-bottom: 20px;
  gap: 20px;
  padding-left: 25%;
}

.partner-image {
  width: 180px;
  height: 100%;
}

.partner-image2 {
  width: 150px;
  height: 100%;
}

.isms-image {
  width: 350px;
  height: 100%;
  margin-left: 20px;
  margin-top:20px;
}
/* タイトルのスタイル */
.profile-header {
  min-width: 20%;
}

.company-title {
  font-size: 24px;
  font-weight: bold;
  margin: 0;
  letter-spacing: 1px;
  color: #333;
}

.company-subtitle {
  font-size: 12px;
  margin-top: 1px;
  font-weight: bold;
  color: #f0c438;
}

/* 表のスタイル */
.profile-table {
  display: flex;
  flex-direction: column;
  gap: 15px;
  flex: 1;
}

.profile-row {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #ccc;
  padding: 20px 25px;
}

.profile-label {
  width: 10%; /* 項目名の幅を固定 */
  font-weight: bold;
  color: #bbb;
}

.profile-content {
  flex: 1;
}

/* 沿革セクションのスタイル */
/* 沿革セクション */
.history {
  background-color: #fafafa;
  width: 100%;
  padding-top: 50px;
  padding-bottom: 50px;
  padding: 20px;
}

.history-section {
  display: flex;
  align-items: flex-start; /* タイトルとテーブルの上揃え */
  gap: 100px; /* タイトルとテーブルの間のスペース */
  max-width: 80%;
  margin: 0 auto;
  margin-top: 50px;
  margin-bottom: 50px;
  font-family: Arial, sans-serif;
  color: #333;
}

/* タイトルのスタイル */
.history-header {
  min-width: 15%; /* タイトル部分の最小幅 */
}

.history-title {
  font-size: 24px;
  font-weight: bold;
  margin: 0;
  letter-spacing: 1px;
  color: #333;
}

.history-subtitle {
  font-size: 12px;
  margin-top: 1px;
  font-weight: bold;
  color: #f0c438;
}

/* テーブルのコンテナ */
.history-table-container {
  width: 100%;
  max-height: 300px; /* テーブルの高さを制限 */
  overflow-y: auto; /* 縦スクロールを有効に */
  margin-left: 0; /* 左揃え */
  background-color: #fff;
  border-radius: 30px;  
  padding-top: 20px; /* 上部に20pxの空間を作成 */

}

/* テーブルのスタイル */
.history-table {
  width: 100%;
  font-size: 12px;
  background-color: #fff;
  border-radius: 30px;
  border-collapse: collapse; /* セルの隙間をなくす */
  border: none;
}

.history-table th,
.history-table td {
  padding: 10px 30px;
  text-align: left;
  border: none; /* セルの境界線をなくす */
}

.history-table th {
  background-color: #f5f5f5;
  font-weight: bold;
}

.history-table tr:nth-child(even) {
  background-color: #fff;
}

/* スクロールバーのカスタマイズ */
.history-table-container::-webkit-scrollbar {
  width: 10px; /* スクロールバーの幅 */
}

.history-table-container::-webkit-scrollbar-track {
  background: #fafafa; /* スクロールバーの背景 */
  border-radius: 20px; /* スクロールバーの角を丸く */
}

.history-table-container::-webkit-scrollbar-thumb {
  background-color: #ede03a; /* スクロールバーのつまみ部分 */
  border-radius: 20px; /* つまみ部分の角を丸く */
  border: 2px solid #fafafa; /* つまみ部分と背景の間に隙間を作る */
}

.history-table-container::-webkit-scrollbar-thumb:hover {
  background-color: #c2b300; /* ホバー時の色 */
}



/* メンバーセクションのスタイル */
.team {
  max-width: 100%;
  margin: 0 auto;
  margin-top: 50px;
  margin-bottom: 50px;
  background-color: #fff;
  padding: 0;
}

.team2 {
  display: flex;
  align-items: flex-start; /* 上揃え */
  gap: 0px; /* タイトルと表の間のスペース */
  max-width: 80%;
  margin: 0 auto;
  padding: 20px;
  font-family: Arial, sans-serif;
  color: #333;
  background-color: #fff;
}

.team-global p {
  font-size: 16px;
  color: #333;
  text-align: left; /* テキスト中央揃え */
  margin: 0 auto; /* 全体を中央揃え */
  padding: 0; /* パディングをリセット */
}

.team-section {
  display: flex;
  flex-direction: column;
  align-items: left;
  max-width: 100%;
  margin: 0 auto;
  padding: 10px;
}

.team-header {
  width: 20%;
  padding: 0;
  margin: 0;
}

.team-title {
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 1px;
  color: #333;
  margin: 0;
  padding: 0;
}

.team-subtitle {
  font-size: 12px;
  font-weight: bold;
  color: #f0c438;
}

/* メンバーコンテナ */
.team-container {
  display: grid;
  grid-template-columns: repeat(5, 1fr); /* 一段に4列を設定 */
  gap: 3%; /* 各メンバー間の隙間を設定 */
  width: 70%;
  height: auto; /* 自動的に高さを調整 */
  justify-content: center;
  margin: 0 auto;
  overflow: visible; /* 非表示制限を解除 */
}

/* メンバー画像スタイル */
.team-member {
  position: relative;
  width: 200px; /* 固定幅 */
  height: 200px; /* 固定高さ */
  border-radius: 50%; /* 丸型の画像 */
  overflow: hidden; /* 画像の外側を隠す */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  transition: transform 0.3s ease; /* マウスオーバー時のアニメーション */
}

.team-member img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* 画像が親要素にフィット */
  border-radius: 50%;
  transition: transform 0.3s ease, opacity 0.5s ease; /* スムーズなエフェクト */
}

/* マウスオーバー時の拡大エフェクト */
.team-member:hover {
  transform: scale(1.05); /* マウスオーバー時に少し拡大 */
}

/* モーダルのスタイル */
.modal {
  display: none; /* 初期状態では非表示 */
  position: fixed;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.5); /* 背景の暗いオーバーレイ */
}

.modal.show {
  display: flex; /* 表示時にフレックスボックスを適用 */
}

.modal-content {
  background-color: rgba(255, 255, 255, 0.9); /* 白色に透明度を追加 */
  margin: 10% auto;
  padding: 40px;
  width: 70%;
  display: flex;
  align-items: center;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  position: relative;
}

.modal-image {
  width: 300px;
  height: auto;
  margin-right: 20px;
}

.namae {
  font-size: 33px;
  color: #333;
  font-weight: bold;
  margin-bottom: 10px;
}

.profile-yomi {
  font-size: 12px;
  color: #bbbbbb;
  margin-bottom: 10px;
}

.profile-yaku {
  font-size: 16px;
  font-weight: bold;
}

.modal-text {
  text-align: left;
}

.modal-text p{
  font-size: 13px;
}

.close {
  position: absolute;
  top: 10px;
  right: 20px;
  font-size: 28px;
  font-weight: bold;
  color: #333;
  cursor: pointer;
}


/* インタビュー記事一覧 */
.companynews-title {
  position: relative;
  padding-left: 30px; /* ● のスペースを確保 */
  font-size: 18px;
  font-weight: bold;
  color: #f0c438;
}


.companynews-title::before {
  content: "●"; /* ● を挿入 */
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%); /* 縦方向中央揃え */
  color: #f0c438; /* ● の色 */
  font-size: 20px; /* ● のサイズを調整 */
}

.carousel-container {
  position: relative;
  width: 80%;
  margin: 0 auto;
  overflow: hidden; /* 横にスクロールが発生しないように隠す */
  margin-bottom: 50px;
}

.carousel {
    display: flex;
    transition: transform 0.5s ease-in-out;
}

.slide {
  flex: 0 0 25%; /* 1ページに4スライドを表示する設定 */
  box-sizing: border-box;
  text-align: left;
  padding: 10px;
  display: block; /* 確実に表示されるように */
  opacity: 1; /* 非表示の可能性があれば透明度を100%に */
  visibility: visible; /* 念のため要素の可視性を確認 */
}

.slide:hover {
  transform: scale(1.02); /* マウスオーバー時に少し拡大 */
  transition: transform 0.3s;
}

.slide img {
  width: 100%;
  border-radius: 8px;
}

.slide-content {
  padding: 10px 0;
}

.category {
  display: inline-block;
  font-size: 12px;
  background-color: #bbb;
  color: #fff;
  padding: 0px 12px;
  border-radius: 20px;
}

p {
  margin-top: 10px;
  font-size: 12px;
  color: #333;
}

button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: #f0c438; /* ● の色 */
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  font-size: 14px;
  cursor: pointer;
  z-index: 10;
  outline: none; /* フォーカス時のアウトラインを非表示にする */
}


button:focus {
  outline: none; /* フォーカス時もアウトラインを削除 */
}

/* 矢印をカルーセルの外側に配置 */
button.prev {
  left: 0px; /* カルーセル全体の左外側に配置 */
}

button.next {
  right: 0px; /* カルーセル全体の右外側に配置 */
}

/* ホバー時のエフェクト */
button:hover {
  background-color: rgba(0, 0, 0, 0.8);
}






@media (max-width: 768px) {
.gradient-container {
  background: linear-gradient(to right, #fffae2, #e5f0e6, #d3eaf3);
  padding: 20px;
  max-width: 100%;  
    padding: 0;
    padding-top: 50px;
  padding-bottom: 30px;
  margin: 0 auto;
}

  .text-image-container{
  max-width: 100%;
    margin: 0;
    padding: 0;
  margin: 0 auto;
    margin-bottom: 50px;
}
  
.image-content {
  overflow: hidden; /* はみ出した部分を隠す */
  max-width: 100%; /* 親要素に合わせて幅を設定 */
  height: 60vh; /* 画面全体の高さに合わせる（必要に応じて調整） */
  margin: 0;
  padding: 0;
}

.image-content img {
  min-height: 100%; /* 画像の高さが親要素の高さに合わせる */
  max-width: 100%; /* 幅が親要素を超えないように制限 */
  object-fit: cover; /* 画像が親要素を埋めるように調整 */
  margin: 0;
  padding: 0;
}
  
.policy-section {
  width: 100%; /* 幅100%に設定 */
  text-align: center; /* テキストを中央揃え */
  display: block; /* flexの使用を解除し、ブロック要素に変更 */
  position: absolute; /* 親要素に対して絶対位置で配置 */
  top: 50%; /* 縦方向で中央に配置 */
  left: 50%; /* 横方向で中央に配置 */
  transform: translate(-50%, -50%); /* 中央にぴったり配置するためのオフセット */
  max-width: 100%; /* 最大幅を100%に設定 */
  padding: 5px;
}

  .highlitghted-text {
    max-width: 100%;
    margin: 0;
    padding: 0;
  }
  
  .main-text {
  font-size: 35px;
  }
  
  .sub-text{
  font-size: 28px;
  }
  
  .policy-section {
    max-width: 90%;
    margin: 0;
    padding: 0;
  }
  
.policy-number {
  font-size: 20px;
  font-weight: bold;
  margin: 0;
  padding: 0;
  }
  
.numbered-section {
  max-width: 100%;
  display: flex; /* Flexboxを有効にする */
  flex-direction: column; /* 縦に並べる */
  align-items: center; /* 水平方向に中央揃え */
  justify-content: flex-start; /* 垂直方向の配置を最上部に */
  margin: 0 auto; /* 自動マージンで中央揃え */
}

.policy-item {
  max-width: 100%;
  margin: 10px auto; /* 水平方向に中央揃え、縦に間隔を空ける */
  padding: 20px;
  margin: 0px;
}  

  .policy-heading {
  display: flex;                /* 横並びにするための設定 */
  align-items: center;          /* アイテムを縦方向に中央揃え */
  justify-content: flex-start;  /* 左揃え（デフォルト、必要に応じて変更） */
  gap: 15px;                    /* アイテム間の間隔を設定 */
    margin: 0;
    padding: 10px 10px;
}
  
  .policy-content {
  max-width: 100%;
    margin: 0 auto;
    padding: 0;
  }
  
  
.policy-text {
  font-size: 14px;
  line-height: 1.5;
  color: #333333;
  margin: 0 auto;
  margin-left: 0;
  text-align: left;
    margin: 0;
    padding: 20px;
}

/* テキストスタイル */
.section-title {
  font-size: 25px;
  color: #1d3e7b;
  font-weight: bold;
  margin: 0 auto;
  margin-bottom: 10px;
  padding: 0;
}

.section-title::before {
  display: none;
}
  
  .section-title_2 {
  font-size: 25px;
  color: #1d3e7b;
  font-weight: bold;
  position: relative; /* 疑似要素の位置指定に必要 */
  margin-bottom: 10px;
  text-align: left; /* タイトル自体を右揃え */
}

.section-title_2::before {
  display: none;
}

.mission-text, .vision-text {
  font-size: 16px;
  font-weight: bold;
  margin: 0;
  letter-spacing: 2px;
  color: #333;
  text-align: center;
}

.mobile-break {
    display: block; /* 改行 */
    margin-top: 10px; /* 必要に応じてスペース調整 */
  }
  

.description {
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.5px;
  max-width: 100%;
  color: #333;
  text-align: left;
}

/* 各セクションのスタイル */
.mission-section, .vision-section, .values-section {
  padding: 40px;
  text-align: left;
  margin-top: 20px;
  background-color: rgba(255, 255, 255, 0.6);
  border-radius: 20px;
}

.values-section {
  margin-bottom: 70px;
}

/* Valueカードコンテナ */
.cards-container {
  display: flex;
  flex-direction: column;    /* 縦並びにする */
  justify-content: center;   /* 中央揃え */
  gap: 10px;
  max-width: 100%;
}

/* 各カード */
.value-card {
  text-align: center;
  max-width: 100%;               /* モバイル時にカードを100%幅にする */
  padding: 20px;
  box-sizing: border-box;
  margin-bottom: 20px;       /* 各カードの下に間隔を追加 */
}

/* カード内画像 */
.value-card img {
  width: 90%;                /* モバイル用に画像の幅を調整 */
  height: auto;
  margin-bottom: 15px;
  opacity: 0;
}


/* カードタイトル */
.value-title {
  background-color: #f9f5d7;
  color: #333;
  padding: 0px 20px;
  border-radius: 50px;
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 5px;
  letter-spacing: 2px;
}

/* カード説明文 */
.value-description {
  font-size: 11px;
  line-height: 1.7;
  text-align: center;
}


/* 会社概要セクション */
.company-profile {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  margin-top: 50px;
  max-width: 90%;
  padding: 20px;
  background-color: #fff;
}

.partner-title {
  font-size: 15px;
  color: #333;
  font-weight: bold;
  padding-left: 0%;
  letter-spacing: 1px;
  margin-bottom: 5px;
}

.partner-image-container {
  width: 90%;
  margin: 0 auto;
  align-items: center;
  padding-bottom: 50px;
}

.partner-image-row {
  width: 100%;
  display: flex;
  flex-wrap: wrap; /* アイテムが画面幅を超えたら折り返す */
  justify-content: space-around; /* アイテムを左右に均等に配置 */ 
  align-items: center; /* 水平方向に中央揃え */
  margin: 0 auto; /* 自動マージンで中央揃え */
  gap: 20px;
  padding: 0;
  margin: 0auto;
}

.partner-image,.partner-image2 {
  width: 40%;
  height: auto;
  padding: 0;
  margin: 0;
}
  
  .history {
  padding: 20px;
  background-color: #f9f9f9;
}

  .history-title {
  margin-top: 50px;
  }

.history-section {
  width: 100%;
  margin: 0 auto;
}

.history-header {
  text-align: center;
}

.history-table-container {
  overflow-x: auto; /* テーブルがはみ出る場合、横スクロールできるようにする */
  margin: 0;
  padding: 0;
  margin-top: -20px;
  margin-bottom: 50px;
}

.history-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
  padding: 0;
  font-size: 0.9rem;
}

.history-table td {
  border-bottom: 1px solid #ddd;
  text-align: left;
  padding: 10px;
}

.history-table td:first-child {
  font-weight: bold;
  width: 30%;
  padding: 10px;
  margin: 0 auto;
  text-align: center;
}

.profile-header {
  min-width: 100%;
}

.company-title {
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 1px;
  color: #333;
}

.company-subtitle {
  font-size: 12px;
  margin-top: 1px;
  font-weight: bold;
  color: #f0c438;
}

.profile-table {
  display: flex;
  flex-direction: column;
  gap: 15px;
  flex: 1;
  width: 100%;
}

.profile-row {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #ccc;
  padding: 15px;
}

.profile-label {
  width: 30%;
  font-weight: bold;
  color: #bbb;
}

.profile-content {
  flex: 1;
  font-size: 14px;
}

/* 沿革セクション */
.history {
  background-color: #fafafa;
  width: 100%;
  padding-top: 50px;
  padding-bottom: 50px;
  padding: 20px;
}

.history-section {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  max-width: 90%;
  margin: 0 auto;
}

.history-title {
  font-size: 24px;
  font-weight: bold;
  color: #333;
}

.history-table-container {
  width: 100%;
  max-height: 300px;
  overflow-y: auto;
  margin-left: 0;
  background-color: #fff;
  border-radius: 30px;
  padding-top: 20px;
}

.history-table th, .history-table td {
  padding: 10px 30px;
  text-align: left;
}

.history-table th {
  background-color: #f5f5f5;
  font-weight: bold;
}

.history-table td {
  font-size: 14px;
  color: #333;
}
  
.team {
  padding: 20px;
  background-color: #fafafa;
  margin: 0;
  padding: 0;
}
  
  .team2 {
  display: flex;
  flex-direction: column;
  align-items: center; /* 中央揃え */
  justify-content: center; /* 垂直方向に中央揃え */
  padding: 20px;
  background-color: #fafafa;
  max-width: 100%;
}

.team-header {
  text-align: left;
  margin-bottom: 30px;
  width: 100%;
  margin-top: 50px;
}

.team-title {
  margin: 0;
  padding: 0;
  text-align: left;
  max-width: 100%;
}

.team-subtitle {
  margin: 0;
  padding: 0;
  margin-top: 5px;
}

.team-global p {
  text-align: center;
  font-size: 0.95em;
  color: #444;
  line-height: 1.5;
  margin-bottom: 20px;
}

.team-section {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px;
  background-color: #fff;
  }

.team-container {
  display: grid; /* Gridレイアウトを使用 */
  grid-template-columns: repeat(2, 1fr); /* 一段に4列を設定 */
  grid-auto-rows: auto; /* 自動で高さを調整 */
  gap: 3%; /* 各メンバー間の隙間を設定 */
  width: 90%;
  height: auto; /* 一段分の高さを制限 */
  overflow: hidden; /* それ以外の行を非表示にする */
  justify-content: center; /* コンテンツを中央揃え */
  margin: 0 auto;
}  
  
.team-member {
  position: relative;
  width: 100%; /* モバイル向けのサイズ */
  max-width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.3s ease;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  margin-bottom: 20px;
}

.team-member:hover {
  transform: scale(1.1);
}

.profile-image {
  width: 120%;
  height: 120%;
  object-fit: cover;
  transition: opacity 0.3s ease;
}

/* モーダル表示用 */
/* モーダル全体の設定 */
.modal {
  display: none; /* 初期状態では非表示 */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 999;
  justify-content: center;
  align-items: center;
  overflow-y: auto;
}

/* モーダルコンテンツの設定 */
.modal-content {
  background-color: #fff;
  border-radius: 10px;
  max-width: 90%; /* モバイルに合わせて最大幅を90%に */
  width: 100%;
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* モーダルの画像のスタイル */
.modal-image {
  width: 100%;
  max-width: 300px; /* 画像の最大幅を設定 */
  height: auto;
  border-radius: 8px;
  margin-bottom: 15px;
}

/* モーダルテキスト部分 */
.modal-text {
  text-align: center;
}

/* メンバー名、プロフィール読みのスタイル */
.namae {
  font-size: 1.1em;
  margin: 0px 0;
  color: #333;
  font-weight: bold;
}
  

/* プロフィール詳細のテキスト */
.modal-text p {
  font-size: 0.95em;
  color: #666;
  line-height: 1.5;
  margin-top: 10px;
  text-align: justify;
}

/* モーダル閉じるボタン */
.close {
  font-size: 1.8em;
  color: #333;
  cursor: pointer;
  position: absolute;
  top: 10px;
  right: 15px;
  z-index: 1000;
}

/* モーダルが開いている時 */
.modal.show {
  display: flex;
}

/* モーダル背景がクリックされた場合に閉じる */
.modal-background {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}


/* カルーセル部分 */
.carousel-container {
  margin-top: 40px;
  text-align: center;
}

.companynews-title {
  font-size: 18px;
  margin-bottom: 20px;
  font-weight: bold;
  margin: 0;
  padding: 0;
}
  
  .companynews-title::before{
    display:none;
  }


.carousel {
  display: flex;
  flex-direction: column;
  gap: 15px;
  align-items: center;
  padding: 0 20px;
  justify-content: center;
}

.slide {
  width: 100%;
  max-width: 300px;
  border-radius: 10px;
  overflow: hidden;
  background-color: #f4f4f4;
}

.slide img {
  width: 100%;
  height: auto;
}

.slide-content {
  padding: 10px;
}

.category {
  font-size: 10px;
  color: #777;
}

.slide p {
  font-size: 13px;
  color: #444;
  margin-top: 5px;
}

.prev, .next {
  display: none; /* デスクトップのナビゲーションを非表示 */
}

.carousel-container::-webkit-scrollbar {
  display: none;
}
