
body {
  font-family: "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif !important;
}
#vegas-area {
    position: relative;
    overflow: hidden;
    min-height: 300px; /* 必要に応じて、エリアの最低限の高さを指定してください */
}
/*font*/
.x-small{
font-size: x-small;
}

.fs-1 { font-size: 3rem !important; }
.fs-2 { font-size: 2rem !important; }
.fs-3 { font-size: 1.6rem !important;}
.fs-4 { font-size: 1rem !important; }
.fs-5 { font-size: 0.8rem !important; }
.fs-6 { font-size: 0.6rem !important; }

.w-shadow {
    text-shadow:  2px  2px 0 #fff,
        -2px  2px 0 #fff,
         2px -2px 0 #fff,
        -2px -2px 0 #fff,
         2px  0px 0 #fff,
        -2px  0px 0 #fff,
         0px  2px 0 #fff,
         0px -2px 0 #fff,
         0px  0px 6px #fff; /* 全体のなじませ用 */
}

/* PC表示時（画面幅768px以上）の設定 */
    @media (min-width: 768px) {
      /* マウスオーバーでドロップダウンを表示 */
      .navbar-nav .dropdown:hover .dropdown-menu {
        display: block;
        margin-top: 0;
      }
      
      /* メインメニューをマウスオーバーした時にグレーの背景色をつける */
      .navbar-nav .nav-item .nav-link {
        padding: 8px 16px; /* 背景色が見えやすいように余白を調整 */
        border-radius: 4px; /* 角を少し丸くする設定（不要なら削除してください） */
        transition: background-color 0.2s ease;
		font-weight: 600;  
      }
      .navbar-nav .nav-item:hover .nav-link {
        background-color: #e6e6e6; /* 薄いグレー */
        color: #333; /* 文字色を少し濃く */
		font-weight: 600;	  
      }
      
      /* メニュー項目間の区切り線の位置を修正 */
      .navbar-nav .nav-divider {
        color: #ccc;
        padding-left: 5px;
        padding-right: 5px;
        user-select: none;
      }
    }

    /* サブメニュー（ドロップダウン）の枠線とシャドウ（影）の調整 */
    .navbar-nav .dropdown-menu {
      box-shadow: none !important; /* シャドウを完全に削除 */
      border: 1px solid #e6e6e6; /* シンプルな薄い枠線のみ残す（不要なら border: none; に変更してください） */
	font-weight: 600;		
    }
/* サブメニューのリンク（通常時とホバー時の設定） */
.navbar-nav .dropdown-menu .dropdown-item {
  font-weight: 600; /* 通常時は細めの文字にする場合（太くしたい場合は数値を調整） */
  transition: background-color 0.2s ease, font-weight 0.2s ease;
}

/* サブメニューをマウスオーバー（ホバー）した時の設定 */
.navbar-nav .dropdown-menu .dropdown-item:hover {
  background-color: #e6e6e6; /* ホバー時の背景色（お好みの色に変更してください） */
  color: #333;               /* ホバー時の文字色 */
  font-weight: bold;         /* ホバー時に文字を太くする設定 */
}

    /* 携帯表示時（画面幅768px未満）は区切り線を非表示にする */
    @media (max-width: 767.98px) {
      .navbar-nav .nav-divider {
        display: none;
      }
    }

/* ロゴ画像のサイズ指定 */
    .logo-img {
      width: 150px;    /* 横幅を250pxに固定 */
      height: auto;     /* 縦横比を維持 */
      display: block;
    }

    /* 携帯表示（画面幅768px未満）で250pxだと大きすぎる場合の調整 */
    @media (max-width: 767.98px) {
      .logo-img {
        width: 180px;  /* 携帯では少し小さめの180pxにする（不要ならこの@mediaごと削除してください） */
      }
    }
    /* メインイメージエリアの仮スタイリング */
    .image-box {
      border: 1px solid #333;
      height: 350px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 2rem;
      color: #333;
    }


.Catchphrase{
	color: #666;
    font-weight: 600;
    font-size: 1.6rem !important;
    line-height: 1.5 !important;
}
    /* キャッチコピーエリアのスタイリング */
    .catchphrase {
      font-size: 1.5rem;
      line-height: 1.6
    }
   /* --- 本文ページ用のシンプルな追加スタイリング --- */

@media (min-width: 768px) {
  /* PCのときだけ幅を70%にする */
  .custom-width {
    width: 70% !important; /* Bootstrapのデフォルト設定より優先させる */
	margin: 0 auto;  
  }
}
    
    /* 記事全体の幅を制限して読みやすくする（最大800px） */
    .content-article {
      max-width: 800px;
      margin: 0 auto;
    }

    /* 記事タイトルのデザイン */
    .article-title {
      font-size: 2rem;
      font-weight: 700;
      color: #212529;
      line-height: 1.4;
      border-bottom: 2px solid #dee2e6; /* タイトルの下にシンプルな区切り線 */
      padding-bottom: 1.5rem;
      margin-bottom: 2.5rem;
    }

    /* 本文の文字サイズと行間（文章の読みやすさを最優先） */
    .article-body {
      font-size: 1.05rem;
      line-height: 1.8;
      color: #333333;
    }

    /* 段落ごとの余白 */
    .article-body p {
      margin-bottom: 1.5rem;
    }

/* 全体のリセットと共通設定 */
.member-section {
  max-width: 1200px;
  margin: 60px auto;
  padding: 0 20px;
  font-family: 'Helvetica Neue', Arial, sans-serif;
  color: #333;
}

/* タイトルスタイル */
.section-title {
  text-align: center;
  font-size: 2rem;
  margin-bottom: 40px;
  position: relative;
  padding-bottom: 10px;
}

.section-title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background-color: #ccc; /* アクセントカラー */
}

/* グリッドレイアウト（レスポンシブ） */
.member-grid {
  display: grid;
  /* 画面幅に応じて最小250px幅のカードを自動で並べる */
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 30px;
}

/* カードのデザイン */
.member-card {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* ホバー時に少し浮き上がらせる演出 */
.member-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

/* 画像エリア */
.member-image {
  width: 100%;
  aspect-ratio: 1 / 1; /* 正方形を維持 */
  overflow: hidden;
}

.member-image img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* 画像の比率を崩さずトリミング */
}

/* テキストエリア */
.member-info {
  padding: 20px;
}

/* 役職・肩書き */
.member-role {
  font-size: 0.85rem;
  color: #666;
  font-weight: bold;
  margin-bottom: 5px;
}

/* 名前 */
.member-name {
  font-size: 1.25rem;
  margin: 0 0 12px 0;
  font-weight: 700;
}

/* 紹介文 */
.member-bio {
  font-size: 0.8rem;
  color: #666;
  line-height: 1.5;
}
    /* 円形見出しのスタイル */
    .circle-header {
      width: 180px;
      height: 180px;
    background-color: #e6dee2;      border-radius: 50%;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      margin: 0 auto 40px auto; /* 中央揃えと下の余白 */
    }

    /* 英語のメインテキスト */
    .circle-title-en {
    font-size: 30px;
    font-weight: 600;
    line-height: 1.2;
    color: #e9528e;
    }

    /* 日本語のサブテキスト */
    .circle-title-ja {
      font-size: 13px;
      color: #333333;
      margin-top: 4px;
    }

    /* 説明文のスタイル */
    .description-text {
      text-align: justify; /* 両端揃え */
      margin: 0 auto;      /* 中央揃え */
	font-weight: 600;
	color: #ae3e6b;
	 background-color: #fff; /* 背景色 */
  background-image: linear-gradient(90deg, transparent 0%, transparent 50%, #fff 50%, #fff 100%), /* 点線1の色 */
                    linear-gradient(180deg, #ccc 1px, transparent 1px); /* 点線2の色と太さ */
  background-size: 8px 100%, /* 点線1のサイズ */
                   100% 2.5em; /* 点線2のサイズ */
  line-height: 2.5em; /* 文字の高さ */
  padding-bottom: 1px; /* 最終行の下にも罫線を引く */	
    }

.addbox {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 1em;
    border: solid 1px #e9528e;
    border-radius: 8px;
}
.addbox .addbox-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 19px;
    background: #FFF;
    color: #e9528e;
    font-weight: bold;
}
.addbox p {
    margin: 0; 
    padding: 0;
}

    /* 各カード共通のベーススタイル */
    .status-card {
      border-radius: 12px; /* カードの角の丸み */
      height: 100%;        /* 高さを揃える */
      border: none;        /* 枠線はなし */
		
    }

    /* 各カードの背景色（パステルカラー） */
    .bg-pastel-blue { background-color: #d3d6de; }
    .bg-pastel-green { background-color: #dee1c2; }
    .bg-pastel-beige { background-color: #ede2cb; }
    .bg-pastel-pink { background-color: #eadbe2; }

    /* カードのタイトルスタイル */
    .card-title-custom {
      font-size: 20px;
      color: #000000;
      text-align: center;
      font-weight: 600;
	padding: 20px 5px 10px 5px; 	
    }

/* 箇条書きリスト全体のスタイル */
.card-list {
  list-style: none;    /* デフォルトの黒丸を消す */
  padding-left: 1.2em; /* 箇条書き全体を右にずらして余白を作る */
  margin-bottom: 0;
}

.card-list li {
  font-size: 15px;
  color: #000000;
  margin-bottom: 8px;
  text-align: left;
  
  /* ▼ 行頭を綺麗に揃えるための設定 */
  position: relative;
  text-indent: -1.2em; /* 1行目だけを「・」の分だけ左に戻す */
}

/* ▼ 自動で文字の前に「・」を付ける設定 */
.card-list li::before {
  content: "・";
  /* 必要に応じて「・」の位置や余白を微調整できます */
}

.yajirusititle {
  position: relative;
  padding: 0.5em;
  background: #e6dee2;
}
.yajirusititle:after {
  position: absolute;
  content: '';
  top: 100%;
  left: 30px;
  border: 15px solid transparent;
  border-top: 15px solid #e6dee2;
  width: 0;
  height: 0;
}

.dl-border-table { 
margin: 2rem 0;
border-top: 1px solid #e2e8f0;
}	
.dl-border-table .org {
display: flex;
flex-direction: column;
padding: 0.85rem 0;
border-bottom: 1px solid #e2e8f0; 
line-height: 1.6;
}
.dl-border-table dt {
font-weight: 700;
color: #1e293b;
margin-bottom: 0.25rem;
}	
.dl-border-table dd {
margin: 0;
color: #475569;
}

/* タブレット・PC以上で横並び */ 
@media (min-width: 640px) {
	.dl-border-table .org {
	flex-direction: row;
	align-items: baseline;
	}	
	.dl-border-table dt {
	width: 140px; 
	flex-shrink: 0;
	margin-bottom: 0;
	}
}
/* 3色のグラデーションラインの共通設定 */
.footer-lines {
  display: flex;
  flex-direction: column; /* 上から順に重ねる */
}

.line {
  height: 12px; /* 各ラインの太さ */
  width: 100%;
}

/* 右側に向けて徐々に白（背景色）へ変化させるグラデーション */
.teal-grad {
  background: linear-gradient(to right, #208491, #ffffff);
}

.green-grad {
  background: linear-gradient(to right, #6eb559, #ffffff);
}

.pink-grad {
  background: linear-gradient(to right, #e8528d, #ffffff);
}