html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.input-group {
    display: flex;
    align-items: center; /* 垂直方向に中央揃え */
}

.input-group-text {
    width: 120px; /* 必要に応じて固定幅を指定 */
}

.form-control {
    flex: 1; /* 残りの幅を取る */
}

/* レスポンシブな span タグのスタイル 商品検索画面で使用*/
.responsive-span {
    width: auto;
}

.vertical {
    writing-mode: vertical-rl;
    margin: 0 auto;
}

/* 画面全体を覆うオーバーレイ */
#loadingOverlay {
    position: fixed; 
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6); 
    z-index: 1050; 
    display: none; 
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

/* プログレスバーとその上のテキストを含むコンテナ */
#progressContainer {
    width: 60%; 
    text-align: center;
}

    /* プログレスバー上部のテキスト */
    #progressContainer p {
        color: white;
        margin-bottom: 0.75rem;
        font-size: 1.1rem;
    }

/* プログレスバーのトラック（背景） */
.progress-track-continuous {
    position: relative; 
    width: 100%; 
    height: 7px; 
    background-color: #e9ecef; 
    border-radius: 10px;
    overflow: hidden;
}

/* 実際に移動するプログレスバー */
.progress-bar-continuous {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 30%;
    background-color: rgb(25, 135, 84);
    border-radius: 10px;
    animation: move-left-to-right 1.5s linear infinite;
}

@keyframes move-left-to-right {
    0% {
        left: -30%;
    }

    100% {
        left: 100%;
    }
}