      .bd-placeholder-img {
        font-size: 1.125rem;
        text-anchor: middle;
        -webkit-user-select: none;
        -moz-user-select: none;
        user-select: none;
      }

      @media (min-width: 768px) {
        .bd-placeholder-img-lg {
          font-size: 3.5rem;
        }
      }

      .b-example-divider {
        width: 100%;
        height: 3rem;
        background-color: rgba(0, 0, 0, .1);
        border: solid rgba(0, 0, 0, .15);
        border-width: 1px 0;
        box-shadow: inset 0 .5em 1.5em rgba(0, 0, 0, .1), inset 0 .125em .5em rgba(0, 0, 0, .15);
      }

      .b-example-vr {
        flex-shrink: 0;
        width: 1.5rem;
        height: 100vh;
      }

      .bi {
        vertical-align: -.125em;
        fill: currentColor;
      }

      .nav-scroller {
        position: relative;
        z-index: 2;
        height: 2.75rem;
        overflow-y: hidden;
      }

      .nav-scroller .nav {
        display: flex;
        flex-wrap: nowrap;
        padding-bottom: 1rem;
        margin-top: -1px;
        overflow-x: auto;
        text-align: center;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
      }

      .btn-bd-primary {
        --bd-violet-bg: #712cf9;
        --bd-violet-rgb: 112.520718, 44.062154, 249.437846;

        --bs-btn-font-weight: 600;
        --bs-btn-color: var(--bs-white);
        --bs-btn-bg: var(--bd-violet-bg);
        --bs-btn-border-color: var(--bd-violet-bg);
        --bs-btn-hover-color: var(--bs-white);
        --bs-btn-hover-bg: #6528e0;
        --bs-btn-hover-border-color: #6528e0;
        --bs-btn-focus-shadow-rgb: var(--bd-violet-rgb);
        --bs-btn-active-color: var(--bs-btn-hover-color);
        --bs-btn-active-bg: #5a23c8;
        --bs-btn-active-border-color: #5a23c8;
      }
      .bd-mode-toggle {
        z-index: 1500;
      }
.navbar-light .navbar-nav .nav-link {
    color: #333;
}
.navbar-light .navbar-brand {
    color: #333; /* または望ましい色 */
}
.navbar-brand {
    font-size: 1.8rem; /* 基本のフォントサイズより大きく */
    font-weight: bold;
}
.dropdown-menu {
    background-color: #f8f9fa; /* 薄いグレーの色コード */
}
.dropdown-menu .dropdown-item {
    color: #495057; /* テキストの色を濃く */
}
.dropdown-divider {
    border-color: #6c757d; /* 罫線の色を濃く */
}
.dropdown-menu .dropdown-item:hover {
    background-color: #e9ecef; /* マウスオーバー時の背景色を薄く設定 */
}
.navbar-light .navbar-toggler-icon {
    filter: invert(10%) sepia(100%) saturate(100%) hue-rotate(180deg) brightness(0%) contrast(100%);
}



/******/
.hidden {
  transform: translateY(-100%);
  transition: transform 0.5s ease-in-out;
}
#navbar {
  transition: transform 0.5s ease-in-out;
}



/* 最大時（デフォルト）は5列 */
.custom-col {
  flex: 0 0 20%; /* 5列分の幅 */
  max-width: 20%;
}

/* Large devices (窓幅 ≥ 992px) から (窓幅 ≥ 1200px) へ変更 */
@media (max-width: 1199.98px) { 
  .custom-col {
    flex: 0 0 25%; /* 4列分の幅 */
    max-width: 25%;
  }
}

/* Medium devices (窓幅 ≥ 768px かつ < 992px) から (窓幅 ≥ 992px かつ < 1200px) へ変更 */
@media (max-width: 991.98px) { 
  .custom-col {
    flex: 0 0 33.333%; /* 3列分の幅 */
    max-width: 33.333%;
  }
}

/* Small devices (窓幅 < 768px) から (窓幅 ≥ 768px かつ < 992px) へ変更 */
@media (max-width: 767.98px) { 
  .custom-col {
    flex: 0 0 50%; /* 2列分の幅 */
    max-width: 50%;
  }
}

/* Extra small devices (窓幅 < 576px) から (窓幅 < 768px) へ変更 */
@media (max-width: 575.98px) { 
  .custom-col {
    flex: 0 0 100%; /* 1列分の幅 */
    max-width: 100%;
  }
}
/* 最大時（デフォルト）は5列 */



/*******/
footer p {
  color: #343a40; /* Bootstrapのdark色 */
}

footer p a {
  color: #343a40; /* Bootstrapのdark色 */
  text-decoration: none; /* リンクの下線をデフォルトで非表示 */
  white-space: nowrap;
}

footer p a:hover {
  text-decoration: underline; /* マウスオーバー時にアンダーラインを表示 */
}



/*商品一覧時の画像処理*/
.img-wrapper, .card-body {
    transition: transform 0.3s ease, margin-top 0.3s ease;
}
.img-wrapper {
    display: flex;
    align-items: center; /* これにより子要素を垂直方向の中央に配置 */
    justify-content: center; /* これにより子要素を水平方向の中央に配置 */
    overflow: hidden;
    height: 200px; /* 必要に応じて調整 */
    width: 100%; /* 必要に応じて調整 */
}
.img-wrapper img {
    max-width: 95%;
    max-height: 100%;
    object-fit: contain;
    object-position: center; /* 画像を中央に配置 */
}

    .card-body {
        padding: 0.5rem 1.0rem; /* テキストのマージンを調整して、画像とのバランスを取る */
    }


transition: transform 0.3s ease; /* アニメーションの速度と形式 */

transition: margin-top 0.3s ease; /* テキストの上移動にもアニメーションを適用 */
