.d-flex {
    display: flex;
    /* align-items: center; */
}

.flex-grow-1 {
    flex-grow: 1;
}

.me-3 {
    margin-right: 1rem;
}

.flex-shrink-0 {
    flex-shrink: 0;
}

button.btn {
    white-space: nowrap; /* 改行を防ぐ */
}

.searchbox{
    margin: 10px;
}

.custom-no-hover:hover {
    background-color: transparent !important;
    border-color: #198754 !important; /* 元の色に合わせてください */
    color: #198754 !important; /* 元の色に合わせてください */
    cursor: default !important;
}

.card-image-container {
    position: relative;
    width: 100%;
    padding-top: 33.33%; /* 3:1 の比率（高さ÷幅×100） */
    overflow: hidden;
}

.card-image-container img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.scrollable-container {
    max-height: 500px;
    overflow-y: auto;
}

@media (max-width: 995.98px) {
    .corporate-detail {
        display: none;
    }
    #corporate-detail-results{
        display: none;
    }

    .card-body .btn {
        display: none;
    }
}

@media (min-width: 995.98px) {
    .card-body .entry-button {
        display: none;
        margin-bottom: 0;
    }
}

.entry-button p {
    margin-bottom: 0;
    padding-bottom: 0;
    cursor: pointer;
}

.entry-button hr {
    margin-bottom: 5px;
}

.input-group {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    max-width: 900px;
}

@media (max-width: 995.98px) {
    /* flex-wrap を有効化して縦並びに */
    .flex-wrap-mobile {
      flex-wrap: wrap;
    }
  
    /* 幅指定を100%にして縦方向に並ぶように */
    .wrap-item {
      width: 100% !important;    /* 横幅いっぱいに */
      margin-right: 0 !important;
      margin-bottom: 1rem;      /* 下に余白 */
    }
  
    /* ボタンを横幅いっぱいに */
    .wrap-item button.btn {
      width: 100%;
    }
  }  

.form-control {
    max-width: 600px;
}

.form-control {
    width: 115px;
    /* min-width: 115px; */
}

#corporate-detail-results {
    position: sticky;
    top: 20px; /* 上端からの距離 */
    height: calc(100vh - 40px); /* 画面の高さから上下のマージンを引いた高さ */
    overflow-y: auto; /* 内容が高さを超える場合にスクロール可能に */
  }
  
  /* カードの高さが大きすぎる場合のスクロール対応 */
  .corporate-detail {
    max-height: 100%;
    overflow-y: auto;
  }