h2 {
    font-size:150%; 
    font-weight:bold;
    padding: 1rem 2rem;
    border-left: 5px solid #000;
    background: #f4f4f4;
}
.info-content,
.card-text,
p,
a {
  word-break: break-word; /* 長いURLや英単語の途中でも改行 */
  overflow-wrap: break-word; /* 同様の効果で保険的に */
}
.info-label {
  min-width: 120px;
  max-width: 160px;
  display: inline-block;
  font-weight: bold;
  white-space: nowrap;       /* 改行しない */
  overflow: hidden;          /* はみ出す分は隠す */
  text-overflow: ellipsis;   /* はみ出したら省略（...） */
}
/* 改行しないラベル用（nowrap） */
.label-nowrap {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 改行を許すラベル用（wrap） */
.label-wrap {
  white-space: normal;
  word-break: break-word;
}
.label-2-lines {
  display: -webkit-box;
  -webkit-line-clamp: 2;       /* 最大2行 */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;         /* 改行は許容 */
  word-break: break-word;      /* 単語途中でも改行可 */
}
.label-3-lines {
  display: -webkit-box;
  -webkit-line-clamp: 3;       /* 最大2行 */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;         /* 改行は許容 */
  word-break: break-word;      /* 単語途中でも改行可 */
}


a {
  /* display: inline-block; */
  max-width: 100%;
  white-space: normal; /* 折り返しを許可 */
}
.court-info {
  overflow-x: auto;
}

.sns-area{
    min-width: 100px;
}

.carousel-item img {
  width: 100%;
  aspect-ratio: 13 / 9;
  object-fit: cover;
}
.court-info {
  overflow-x: unset;  /* または削除 */
}


@media (max-width: 768px) {
    .detail-name {
    flex-direction: column;
    align-items: flex-start !important;
    }

    .detail-name h1 {
    font-size: 1.25rem;
    margin-bottom: 0.75rem;
    }

    .detail-name .btn,
    .detail-name a {
    font-size: 0.85rem;
    }

    .detail-name .d-flex.align-items-center {
    flex-wrap: wrap;
    gap: 6px;
    }
  .sns-area {
    justify-content: flex-end !important;
    width: 100%;
  }
  .sns-area img{
    width: 1.3rem;
    height: 1.3rem;
  }
  .info-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 0.75rem;
    gap: 0.5rem;
  }

  .info-label {
    width: 30%;
    min-width: 80px;
    font-weight: bold;
    white-space: nowrap;
    font-size: 0.85rem;
  }

  .info-content {
    width: 70%;
    white-space: normal;
    word-break: break-word;
    overflow: visible;
    font-size: 0.85rem;
  }

  .label-2-lines,
  .label-3-lines {
    -webkit-line-clamp: unset;
    display: block;
    overflow: visible;
  }
  .court-info p,
  .court-info a,
  .court-info span {
    font-size: 0.85rem;
  }

  .court-info .card-text {
    font-size: 0.65rem;
  }

  .detail-name h1 {
    font-size: 1.1rem;
  }

  .btn,
  .btn-sm,
  .btn-lg {
    font-size: 0.9rem;
  }

  h2 {
    font-size: 1.1rem;
  }

  .facility-card{
    width:70px;
    height:70px;
  }
  .facility-card .card-text{
    font-size:10px;
  }
  .facility-card-area{
    justify-content: center;
  }
}
/* デフォルトでは非表示（PC） */
.br-sp {
    display: none;
  }
  
  /* スマホだけ表示（例：幅768px以下） */
  @media screen and (max-width: 768px) {
    .br-sp {
      display: inline;
    }
  }
  

.info-content-not{
  color: gray;
}