/* Reset CSS */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* スタイルの適用 */
a {
  color: #333;
  text-decoration: none;
}

img {
  max-width: 100%;
}

h1 {
  text-align: center;
  margin: 0 auto;
}

body {
  font-family: Arial, sans-serif;
}

/* header {
  background-color: #64c261;
  color: #ffffff;
  padding: 10px;
} */

main {
  padding: 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

ul {
  list-style: none;
  padding: 0; /* リストの余白を削除 */
  margin: 0; /* リストのマージンを削除 */
  display: flex; /* 子要素を横並びに配置 */
  gap: 10px; /* 子要素間の間隔を調整 */
}

li {
  text-align: center;
}

.top-display {
  background-color: #64c261;
  color: #ffffff;
  padding: 10px;
  text-align: center;
}

.menu {
  background-color: #feffe1;
  text-align: center;
  justify-content: center;
  display: flex;
}

.menu-width {
  margin-right: 30px;
}

.header-photo {
  width: 80px;
  height: 80px;
}

.header-font {
  color: #000000;
}

/* main以下 */
/* 商品一覧画面 */
.search {
  display: flex;
  justify-content: center;
  font-size: 20px;
  border-radius: 50%;
}

.search-button {
  border-radius: 10%;
  cursor: pointer;
}
.search-button:hover {
  background-color: #61fc85;
}

.search-word {
  color: #de1111;
  font-size: 15px;
  font-weight: bold;
  text-align: center;
}

.wrapper {
  width: 100%;
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 40px;
}

#top {
  padding-top: 80px;
  padding-bottom: 160px;
}

.product-list {
  display: flex;
  flex-wrap: wrap;
  /* justify-content: center; */
}

.product-list li {
  width: 23%;
  margin-bottom: 40px;
  border: 1px solid #ccc;
}

.product-list img {
  margin-bottom: 10px;
  vertical-align: top;
}

.hover:hover {
  background-color: #eafbfe;
}

.link-color:hover {
  color: inherit;
}

.gray-out img {
  filter: brightness(50%);
  vertical-align: top;
}

.stock-alert {
  position: relative;
}
.stock-alert p {
  opacity: 0.9;
  position: absolute;
  background-color: #fff;
}
.stock-message {
  font-size: 20px;
  z-index: 1;
}
.stock-out-message{
  font-size: 30px; 
  z-index: 1;
}


.vagetable-name {
  font-size: 22px;
  word-wrap: break-word;
}

.price-display {
  font-size: 18px;
}

.action-message {
  color: #ff2121;
  font-size: 25px;
  text-align: center;
}

.count-button {
  display: flex;
  justify-content: center;
  touch-action: manipulation;
}

.detail-count-button {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
  touch-action: manipulation;
}
.count-display-size {
  font-size: 20px;
}

.count-button-size {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  cursor: pointer;
}

/* ページネーション表示 */
.all-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 20px 0;
}

.pagination a {
  display: block;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  text-decoration: none;
  color: #333;
  border: 1px solid #ccc;
  transition: all 0.3s;
}

.pagination p {
  display: block;
  width: 40px;
  height: 40px;
  line-height: 40px;
  margin-bottom: 0px;
  text-align: center;
  color: #333;
  border: 1px solid #ccc;
  background-color: #ffae00;
  cursor: pointer;
}

.pagination a:hover {
  background-color: #00b22a;
  color: #fff;
}

/* 詳細画面 */
.detail-set {
  display: flex;
  align-items: center;
  flex: 1;
}
.detail-img {
  width: 500px;
  margin-right: 20px;
}
@media (min-width: 767px) {
  .PC-detail-img {
    margin-right: 80px;
  }
  /* スマホ画面のみの表示クラスを消す */
  .SP-display {
    display: none;
  }
  .detail-count-button {
    margin-left: 20px;
  }
  /* PC画面ではマウスを載せたときボタンの色を変える。 */
  .count-button-size:hover {
    background-color: rgb(243, 185, 85);
  }
}
.detail-text {
  flex: 2;
}

/* カート画面 */
.total-price {
  font-size: 25px;
}

/* ログインとサインアップ画面 */
.loginlink {
  color: rgb(17, 0, 255);
}
.loginlink:hover {
  color: #ff2121;
}

/* 購入履歴画面 */
.history-date {
  font-size: 11px;
}

/* 共通処理 */
.bold {
  font-weight: bold;
}
