.ranking-section {
  border-top: dotted #f8f4eb 3px;
}

.ranking-top3 {
  display: flex;
  align-items: start;
  gap: 30px;
  margin-bottom: 50px;
}
.ranking-top3--item {
  width: calc(33.33% - 20px);
}
.ranking-top3--item:hover a {
  opacity: 1;
}
.ranking-top3--item:hover .ranking-top3--pic img {
  transform: scale(1.1);
}
.ranking-top3--item.first .ranking-top3--title:before {
  background-image: url(../img/ranking1.svg);
}
.ranking-top3--item.second .ranking-top3--title:before {
  background-image: url(../img/ranking2.svg);
}
.ranking-top3--item.third .ranking-top3--title:before {
  background-image: url(../img/ranking3.svg);
}
.ranking-top3--pic figure {
  overflow: hidden;
  position: relative;
  padding: 35% 50%;
  margin: 0;
}
.ranking-top3--pic figure img {
  min-width: 100%;
  min-height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  left: 0;
  top: 0;
  transition: 0.2s ease;
  transform-origin: center;
}
.ranking-top3--title {
  font-weight: bold;
  position: relative;
  padding: 12px 0 0 55px;
  margin: 5px 0 0;
  font-size: 1.8rem;
  color: #673d21;
}
.ranking-top3--title::before {
  content: "";
  display: inline-block;
  background: no-repeat center/contain;
  width: 50px;
  height: 35px;
  position: absolute;
  left: 0;
  top: 3px;
}
@media (max-width: 767px) {
  .ranking-top3 {
    gap: 30px;
    flex-wrap: wrap;
  }
  .ranking-top3--item {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
  }
  .ranking-top3 a {
    display: flex;
    flex-direction: column-reverse;
  }
  .ranking-top3--pic figure {
    padding: 30% 50%;
  }
  .ranking-top3--title {
    padding-top: 0;
    margin-bottom: 10px;
    font-size: 1.5rem;
    padding-left: 45px;
  }
  .ranking-top3--title::before {
    width: 40px;
    height: 30px;
    top: -9px;
  }
}

.ranking-fame--list {
  display: flex;
  align-items: start;
  gap: 30px;
}
.ranking-fame--item {
  width: calc(25% - 22.5px);
}
.ranking-fame--pic {
  overflow: hidden;
  position: relative;
  padding: 35% 50%;
}
.ranking-fame--pic img {
  min-width: 100%;
  min-height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  left: 0;
  top: 0;
  transition: 0.2s ease;
  transform-origin: center;
}
.ranking-fame--title {
  font-weight: bold;
  position: relative;
  font-size: 1.6rem;
  color: #673d21;
}
@media (max-width: 767px) {
  .ranking-fame {
    overflow-x: scroll;
  }
  .ranking-fame--list {
    display: flex;
    align-items: start;
    gap: 20px;
    width: 700px;
  }
  .ranking-fame--item {
    width: 160px;
  }
}

@media (max-width: 767px) {
  #recipe .tastelist li:nth-child(-n+2) {
    margin-bottom: 0;
  }
  #recipe .tastelist li .item span {
    padding: 45px;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
  }
  #recipe .tastelist li .item p {
    margin: 0;
  }
  #recipe .tastelist li .btn2 {
    display: none;
  }
}
@media (max-width: 767px) {
  .genrelist {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    -moz-column-gap: 20px;
         column-gap: 20px;
    row-gap: 10px;
  }
  .genrelist.cf:after {
    content: none;
  }
  .genrelist li {
    width: calc(50% - 10px);
    max-width: 200px;
    margin: 0;
  }
  .genrelist li:nth-child(-n+5), .genrelist li:nth-child(3n-1) {
    margin: 0;
  }
  .genrelist li:last-child {
    margin: 0;
  }
  .genrelist li a {
    display: flex;
    align-items: center;
    gap: 15px;
  }
  .genrelist li a .img {
    width: 60px;
    height: 60px;
    overflow: hidden;
    background: #dca619;
    background-image: none !important;
  }
  .genrelist li a .img img {
    width: 60px;
    height: 60px;
    transform: scale(1.25);
    transform-origin: center;
    max-height: -moz-fit-content;
    max-height: fit-content;
  }
  .genrelist li a p {
    width: calc(100% - 75px);
    font-size: 16px;
    text-align: left;
    max-width: 130px;
  }
}
#recipe section:not(.wordsearch) {
  padding: 60px 0;
}
#recipe .weekly {
  background: url(../img/recipe_weekly-0.webp) no-repeat center/cover;
  position: relative;
  overflow: hidden;
}
#recipe .weekly.bg-spring {
  background-image: url(../img/recipe_weekly-1.webp);
}
#recipe .weekly.bg-summer {
  background-image: url(../img/recipe_weekly-2.webp);
}
#recipe .weekly.bg-autumn {
  background-image: url(../img/recipe_weekly-3.webp);
}
#recipe .weekly.bg-winter {
  background-image: url(../img/recipe_weekly-4.webp);
}
#recipe .weekly .inner {
  position: relative;
  z-index: 2;
}
#recipe .main .detail {
  background: #fff;
}
#recipe .main .detail .img {
  width: 38%;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}
#recipe .main .detail .right .btn2 {
  background: #e60019;
}
#recipe .main .detail .right .item span .thumbnail {
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
}
#recipe .recipelist li a {
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
}
#recipe .recipelist li a p {
  margin: 0;
  background: #f8f4eb;
  padding: 5px 10px;
  min-height: 50px;
  line-height: 1.3;
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#recipe .recipelist li a .box {
  border: none;
  padding: 30% 50%;
}
#recipe .recipelist li a p {
  background: #fff;
}
#recipe section.taste {
  background: #fff7ea url(../img/taste_bg.jpg) repeat center/700px auto;
  position: relative;
  padding: 60px 0 30px;
}
#recipe section.taste .inner {
  position: relative;
  z-index: 2;
}
@media (min-width: 768px) {
  #recipe section.taste .tastelist li a p {
    position: relative;
    top: -40px;
    word-break: auto-phrase;
    margin: 0 auto -40px;
    max-width: 160px;
  }
  #recipe section.taste .tastelist li a span {
    box-shadow: 0 0 3px rgb(231, 215, 183);
  }
  #recipe section.taste .tastelist li:last-child a span {
    background-size: 78%;
    background-position: top 20% center;
  }
  #recipe section.taste .tastelist li:last-child a p {
    top: -70px;
    margin-bottom: -70px;
  }
}
#recipe section.taste .tastelist li .btn2 {
  display: none;
}