.profile-wrapper {
    position: relative;
  }
  
  /* バナー */
  .banner {
    height: 140px;
    background: linear-gradient(135deg, #0d6efd, #3aaef7);
    border-radius: 1rem 1rem 0 0;
  }
  
  /* プロフィールカード */
  .profile-card {
    background-color: #fff;
    border-radius: 0 0 1rem 1rem;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.1);
    margin-top: 0; /* ← ここがポイント！バナーとの間隔なしに */
    padding: 1rem;
    display: flex;
  }
  
  /* 画像とニックネーム */
  .image-nickname {
    margin-top: -120px;  /* ← 画像をバナーから浮かせる */
    margin-left: 5rem;
    text-align: left;
  }
  
  .profile-image {
    width: 160px;
    height: 160px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #fff;
  }
  .badge.profile-tag {
    font-size: 1rem;
    padding: 0.5em 0.8em;
    border-radius: 1rem;
  }
  .hover-card {
    background-color: #fff;
    border-radius: 0.5rem;
    transition: all 0.2s ease;
  }
  
  .hover-card:hover {
    background-color: #f0f8ff;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
    transform: translateY(-2px);
    cursor: pointer;
  }
  
  @media (max-width: 768px) {
    .profile-card {
      flex-direction: column;
      align-items: center;
    }
  
    .image-nickname {
      margin-left: 0;
      margin-top: -80px;
      text-align: center;
    }
  
    .image-nickname .btn,
    .image-nickname .btn-sm {
      font-size: 0.9rem;
    }
  
    .profile-image {
      width: 120px;
      height: 120px;
    }
  
    .row.w-100 {
      padding-left: 1rem;
      padding-right: 1rem;
    }
  
    .card-section h5 {
      font-size: 1.1rem;
    }
  
    .card .col-md-3,
    .card .col-md-8 {
      width: 100%;
    }
  
    .card .img-fluid {
      border-radius: 0.5rem 0.5rem 0 0;
      height: auto !important;
    }
  
    .card-body {
      padding: 1rem !important;
    }
  
    /* 画像を中央寄せ */
    .image-nickname {
      margin-left: 0;
      margin-top: -80px;
      text-align: center;
      width: 100%;
    }
  
    /* ボタンを中央寄せ */
    .image-nickname .d-flex {
      justify-content: center;
    }
  
    /* プロフィール画像サイズ縮小 */
    .profile-image {
      width: 100px;
      height: 100px;
    }
  
    /* イベントやサークルのカード画像をやや小さく */
    .card .img-fluid {
      height: 120px !important;
    }
  
    /* カードの余白・フォントサイズ調整 */
    .card-body {
      padding: 0.75rem !important;
    }
  
    .card-title {
      font-size: 1rem;
    }
  
    .card-text {
      font-size: 0.85rem;
    }
  
    .card-text.text-muted {
      font-size: 0.8rem;
    }
  
    .card-section h5 {
      font-size: 1rem;
    }
  
    /* badgeサイズ調整（性格タグなど） */
    .badge.profile-tag {
      font-size: 0.8rem;
      padding: 0.4em 0.7em;
    }
  }

.profile-description {
    word-break: break-word;
    overflow-wrap: break-word;
}
