@charset "UTF-8";
/* CSS Document */
html, body {
  margin: auto;
  padding: 0px; }

#M_wrapper {
  background: unset; }

.waribiki {
  width: 100%;
  font-size: 18px;
  line-height: 1.4em;
  letter-spacing: normal;
  background-color: unset; }

.waribiki-title {
  width: 100%;
  margin: 0 auto 3rem auto; }
  .waribiki-title .titleimage {
    position: relative;
    margin: auto;
    padding: 0 0 0 0; }
    .waribiki-title .titleimage :before {
      content: "";
      position: absolute;
      display: block;
      background: url(../img/bg_wave01.png) no-repeat;
      width: 1013px;
      height: 449px;
      top: -30px;
      left: 0;
      right: 0;
      z-index: -1;
      margin: auto;
      transform: translateX(20%);
      mix-blend-mode: multiply; }
    .waribiki-title .titleimage h2 {
      width: 100%;
      text-align: center; }
  .waribiki-title .subtitle {
    background: #0092c3;
    width: 100%;
    text-align: center; }
  .waribiki-title .title-sub {
    background: #623632;
    padding: 2.5em;
    text-align: center; }
  .waribiki-title .mokuji {
    width: 400px;
    margin: auto;
    color: #fff; }
    .waribiki-title .mokuji dl li {
      text-align: left;
      font-size: 1.2em;
      margin-bottom: .7em;
      letter-spacing: .15em;
      border-bottom: solid 1px rgba(255, 255, 255, 0.2); }
      .waribiki-title .mokuji dl li a {
        text-decoration: none;
        display: block;
        padding: .2em 0;
        transition-duration: .1s; }
        .waribiki-title .mokuji dl li a :hover {
          opacity: .8;
          padding-left: .5em; }
    .waribiki-title .mokuji .heading {
      text-align: center;
      font-size: 1.8em;
      font-weight: bold;
      letter-spacing: .2em;
      margin-bottom: .8em; }
      .waribiki-title .mokuji .heading :before {
        content: "―";
        margin-right: .7em;
        font-weight: normal; }
      .waribiki-title .mokuji .heading :after {
        content: "―";
        margin-left: .7em;
        font-weight: normal; }

.waribiki-heading01 {
  position: relative;
  margin: auto; }
  @media screen and (max-width: 1100px) {
    .waribiki-heading01 {
      margin: auto;
      text-align: center; } }
  @media screen and (max-width: 479px) {
    .waribiki-heading01 {
      margin-bottom: 2rem; } }
  .waribiki-heading01 h3 {
    position: relative;
    font-family: "Noto Sans Japanese", "メイリオ" , sans-serif;
    text-align: center;
    font-size: 2em;
    letter-spacing: .09em;
    margin: 1em auto .5em; }
    @media screen and (max-width: 700px) {
      .waribiki-heading01 h3 {
        font-size: 1.5em; } }
    @media screen and (max-width: 479px) {
      .waribiki-heading01 h3 {
        font-size: 1.5em;
        margin: auto; } }
  .waribiki-heading01 hr {
    border: none;
    width: 70px;
    height: 1px;
    background: #fff;
    margin: 2.5rem auto; }
  .waribiki-heading01 p {
    padding: 0 2rem;
    color: #fff;
    line-height: 1.8;
    font-size: 14px; }
  .waribiki-heading01 .sec-heading-text {
    padding: 4rem 1.5rem 3rem; }
    @media screen and (max-width: 900px) {
      .waribiki-heading01 .sec-heading-text {
        width: 100%; } }

.waribiki-osusume {
  margin: auto;
  width: 1200px;
}
@media screen and (max-width: 1100px) {
  .waribiki-osusume {
    width: 100%;
  }
}

.waribiki-osusume .osusume-list {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  width: 1200px;
}
@media screen and (max-width: 1100px) {
  .waribiki-osusume .osusume-list {
    width: 90%;
  }
}

.waribiki-osusume .osusume-list .o-itemlist {
  position: relative;
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  align-items: stretch;

  background: #f4f1e3;
  border-radius: 10px;

  list-style: none;
  margin: 0;
  padding: 0;
}

.waribiki-osusume .osusume-list .o-itemlist .prev-arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -30px;
  margin: auto;
  width: 30px;
}
.waribiki-osusume .osusume-list .o-itemlist .next-arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  right: -30px;
  margin: auto;
  width: 30px;
}

.waribiki-osusume .osusume-list .o-itemlist li {
  box-sizing: border-box;
  width: 25%;
  margin: 1em 0;
  padding: 0.8em;

  display: flex; 
}
@media screen and (max-width: 1100px) {
  .waribiki-osusume .osusume-list .o-itemlist li {
    width: 33%;
    margin: 1em auto;
  }
}
@media screen and (max-width: 767px) {
  .waribiki-osusume .osusume-list .o-itemlist li {
    width: 50%;
    margin: 1em auto;
  }
}

.waribiki-osusume .osusume-list .o-itemlist li a {
  text-decoration: none;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}

/* ?nh: c? đ?nh khung đ? các item đ?u nhau */
.waribiki-osusume .osusume-list .o-itemlist li .img {
  margin-bottom: .6em;
  border: solid 1px #ddd;
  padding: 5px;
  border-radius: .3em;
  background-color: #fff;

  aspect-ratio: 4 / 3;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.waribiki-osusume .osusume-list .o-itemlist li .img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Tên: clamp 2 dòng đ? không làm l?ch layout */
.waribiki-osusume .osusume-list .o-itemlist li .itemname {
  color: #725F00;
  font-size: 1.1em;
  margin-bottom: .6em;
  line-height: 1.3;

  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  min-height: calc(1.3em * 2);
}
@media screen and (max-width: 900px) {
  .waribiki-osusume .osusume-list .o-itemlist li .itemname {
    font-size: 0.96em;
  }
}
@media screen and (max-width: 700px) {
  .waribiki-osusume .osusume-list .o-itemlist li .itemname {
    font-size: 0.9em;
  }
}

/* Mô t?: clamp 3 dòng đ? th?ng hàng */
.waribiki-osusume .osusume-list .o-itemlist li .itemtext {
  color: #222;
  font-size: 0.9em;
  margin: 1em auto;
  line-height: 1.3;

  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  min-height: calc(1.3em * 3);
}
@media screen and (max-width: 900px) {
  .waribiki-osusume .osusume-list .o-itemlist li .itemtext {
    font-size: 0.86em;
  }
}
@media screen and (max-width: 700px) {
  .waribiki-osusume .osusume-list .o-itemlist li .itemtext {
    font-size: 0.8em;
  }
}

/* Tag: đ?y xu?ng đáy đ? m?i item th?ng hàng (then pricebtn cũng th?ng) */
.waribiki-osusume .osusume-list .o-itemlist li .tag {
  margin-top: auto;
  margin-bottom: 0;
  display: flex;
}
.waribiki-osusume .osusume-list .o-itemlist li .tag span {
  flex-grow: 1;
  display: block;
  padding: .6em .7em;
  background: linear-gradient(to bottom, #ffbe1a 50%, #ffb700 50%);
  color: #4c2b0a;
  font-family: "Noto Sans Japanese", "メイリオ" , sans-serif;
  font-size: 17px;
  font-weight: bold;
  margin: 5px 0.15em 0;
  letter-spacing: .08em;
  line-height: 1.1;
  text-align: center;
  border-radius: .1em;
  overflow-wrap: anywhere;
}

/* S?a selector nth-child đ? ho?t đ?ng đúng */
.waribiki-osusume .osusume-list .o-itemlist li .tag span:nth-child(even) {
  background: linear-gradient(to bottom, #ffab1a 50%, #ffa200 50%);
  color: #4c2b0a;
}
.waribiki-osusume .osusume-list .o-itemlist li .tag span:nth-child(n3) {
  display: none;
}

@media screen and (max-width: 900px) {
  .waribiki-osusume .osusume-list .o-itemlist li .tag span {
    font-size: 0.8em;
  }
}
@media screen and (max-width: 700px) {
  .waribiki-osusume .osusume-list .o-itemlist li .tag span {
    font-size: 0.85em;
  }
}
@media screen and (max-width: 479px) {
  .waribiki-osusume .osusume-list .o-itemlist li .tag span {
    font-size: 0.8em;
    word-wrap: break-word;
    padding: .6em .1em;
  }
}

.waribiki-osusume .osusume-list .o-itemlist li .price {
  font-family: "Noto Sans Japanese", "メイリオ" , sans-serif;
  margin: .6em 0 .2em;
  color: #b80404;
  text-align: center;
  font-size: 1em;
  line-height: 1;
  padding: .8rem 0;
}
@media screen and (max-width: 479px) {
  .waribiki-osusume .osusume-list .o-itemlist li .price {
    padding: 0.6rem 0;
    margin: .5em auto;
  }
}
.waribiki-osusume .osusume-list .o-itemlist li .price b {
  font-size: 1.8em;
}
@media screen and (max-width: 700px) {
  .waribiki-osusume .osusume-list .o-itemlist li .price b {
    font-size: 1.4em;
  }
}

.waribiki-osusume .osusume-list .o-itemlist li .btn {
  background: #b80404;
  color: #fff;
  text-align: center;
  padding: .8em .5em;
  border-radius: .3em;
  font-size: 17px;
  line-height: 1;
}


.waribiki-menulink {
  margin-bottom: 5rem;
  width: 980px;
  margin: auto; }
  @media screen and (max-width: 1100px) {
    .waribiki-menulink {
      width: 95%; } }
  @media screen and (max-width: 700px) {
    .waribiki-menulink {
      width: 95%; } }
  .waribiki-menulink img {
    width: 100%;
    margin: 1em auto; }
  .waribiki-menulink h1 {
    font-size: 2.5em;
    text-align: center;
    margin: auto;
    padding: 1em; }
    @media screen and (max-width: 700px) {
      .waribiki-menulink h1 {
        font-size: 2em; } }
    @media screen and (max-width: 479px) {
      .waribiki-menulink h1 {
        font-size: 1.5em; } }
  .waribiki-menulink p {
    text-align: center;
    font-family: "Noto Sans Japanese", "メイリオ" , sans-serif;
    font-size: 24px;
    font-weight: bold;
    letter-spacing: .3em;
    color: #222;
    margin-bottom: 1rem; }
    @media screen and (max-width: 479px) {
      .waribiki-menulink p {
        display: none; } }
  .waribiki-menulink .nav {
    width: 980px;
    background: #fdfdfd;
    border: solid 1px #eee;
    margin: auto;
    display: flex;
    color: #444;
    justify-content: center;
    box-shadow: 0 1px 1px #ddd; }
    @media screen and (max-width: 1100px) {
      .waribiki-menulink .nav {
        width: 100%; } }
    @media screen and (max-width: 479px) {
      .waribiki-menulink .nav {
        display: flex;
        flex-wrap: wrap;
        width: 100%; } }
    .waribiki-menulink .nav li {
      font-size: 20px;
      flex-grow: 1;
      transition-duration: .2s; }
      
      @media screen and (max-width: 900px) {
        .waribiki-menulink .nav li {
          font-size: 17px; } }
      @media screen and (max-width: 700px) {
        .waribiki-menulink .nav li {
          font-size: 17px; } }
      @media screen and (max-width: 479px) {
        .waribiki-menulink .nav li {
          width: 50%;
          border: solid 1px #eee; } }
      .waribiki-menulink .nav li :hover {
        color: #fff;
        background: #666; }
      .waribiki-menulink .nav li :first-child a {
        border: none; }
        
    .waribiki-menulink .nav a {
      text-align: center;
      display: block;
      padding: 2.3rem 2.6rem;
      color: #444;
      background: url(../img/arrow_down.svg) no-repeat center 88%;
      background-size: auto 13%;
      border-left: solid 1px #eee;
      text-decoration: none; }
      .waribiki-menulink .nav a :hover {
        color: #fff; }
      @media screen and (max-width: 767px) {
        .waribiki-menulink .nav a {
          padding: 1.6rem 1.4rem; } }
      @media screen and (max-width: 700px) {
        .waribiki-menulink .nav a {
          padding: 1.2rem 0.5rem; } }

@keyframes fadein {
  0% {
    transform: translate(0, -100%); }
  100% {
    transform: translate(0, 0); } }
.section {
  margin-bottom: 15rem; }
  @media screen and (max-width: 479px) {
    .section {
      margin-bottom: 6rem; } }

.section1 {
  margin-bottom: 15rem;
  background: #f4f1e3;
  padding: 2em 0;
  margin: 5em auto; }
  @media screen and (max-width: 479px) {
    .section1 {
      margin-bottom: 6rem; } }

.waribiki-heading02 {
  background-color: #0092c3;
  background-image: url(../img/lp-hatsubon_heading-bgptn.png);
  position: relative;
  margin-bottom: 6rem; }
  @media screen and (max-width: 479px) {
    .waribiki-heading02 {
      margin-bottom: 2rem; } }
  .waribiki-heading02 .sec-heading-text {
    padding: 4rem 1.5rem 3rem; }
    @media screen and (max-width: 900px) {
      .waribiki-heading02 .sec-heading-text {
        width: 100%; } }
    @media screen and (max-width: 479px) {
      .waribiki-heading02 .sec-heading-text {
        padding: 2rem 0; } }
    .waribiki-heading02 .sec-heading-text h3 {
      position: relative;
      font-family: "Noto Sans Japanese", "メイリオ" , sans-serif;
      text-align: center;
      color: #fff;
      font-size: 2em;
      letter-spacing: .09em; }
      @media screen and (max-width: 700px) {
        .waribiki-heading02 .sec-heading-text h3 {
          font-size: 1.5em; } }
      @media screen and (max-width: 479px) {
        .waribiki-heading02 .sec-heading-text h3 {
          font-size: 1.2em; } }
      .waribiki-heading02 .sec-heading-text h3 span {
        font-size: 0.7em;
        display: block;
        margin-bottom: .8rem;
        letter-spacing: 0.1em; }
    .waribiki-heading02 .sec-heading-text hr {
      border: none;
      width: 70px;
      height: 1px;
      background: #fff;
      margin: 2.5rem auto; }
    .waribiki-heading02 .sec-heading-text p {
      padding: 0 2rem;
      color: #fff;
      line-height: 1.8;
      font-size: 14px; }

.waribiki-recolist .listwrapper {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  width: 1200px; }
  @media screen and (max-width: 1100px) {
    .waribiki-recolist .listwrapper {
      width: 100%; } }
  .waribiki-recolist .listwrapper .itemlist {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap; }
    .waribiki-recolist .listwrapper .itemlist li {
      width: 23%;
      margin: 0 0 5em 0; 
      display: flex;           
       align-items: stretch; }
      @media screen and (max-width: 1100px) {
        .waribiki-recolist .listwrapper .itemlist li {
          width: 30%;
          margin: 1em auto; } }
      @media screen and (max-width: 767px) {
        .waribiki-recolist .listwrapper .itemlist li {
          width: 45%;
          margin: 1em auto; } }
      .waribiki-recolist .listwrapper .itemlist li a {
        text-decoration: none;
        display: flex;
        flex-direction: column;
        height: 100%; }
      .waribiki-recolist .listwrapper .itemlist li .itemname {
        color: #222;
        font-size: 1em;
        margin-bottom: .6em;
        line-height: 1.3; }
        @media screen and (max-width: 900px) {
          .waribiki-recolist .listwrapper .itemlist li .itemname {
            font-size: 0.96em; } }
        @media screen and (max-width: 700px) {
          .waribiki-recolist .listwrapper .itemlist li .itemname {
            font-size: 0.9em; } }
      .waribiki-recolist .listwrapper .itemlist li .tag {
        margin-top: auto;  
        margin-bottom: 0;
        display: flex; }
        .waribiki-recolist .listwrapper .itemlist li .tag span {
          flex-grow: 1;
          display: block;
          padding: .6em .7em;
          color: #fff;
          background: linear-gradient(to bottom, #ffbe1a 50%, #ffb700 50%);
          color: #4c2b0a;
          font-family: "Noto Sans Japanese", "メイリオ" , sans-serif;
          font-size: 17px;
          font-weight: bold;
          margin: 5px 0.15em 0;
          letter-spacing: .08em;
          line-height: 1.1;
          text-align: center;
          border-radius: .1em; }
          .waribiki-recolist .listwrapper .itemlist li .tag span :nth-child(even) {
            color: #fff;
            background: linear-gradient(to bottom, #ffab1a 50%, #ffa200 50%);
            color: #4c2b0a; }
          .waribiki-recolist .listwrapper .itemlist li .tag span :nth-child(n 3) {
            display: none; }
          @media screen and (max-width: 700px) {
            .waribiki-recolist .listwrapper .itemlist li .tag span {
              font-size: 0.85em; } }
          @media screen and (max-width: 479px) {
            .waribiki-recolist .listwrapper .itemlist li .tag span {
              font-size: 0.7em;
              line-height: 0.9em;
              word-wrap: break-word; } }
      .waribiki-recolist .listwrapper .itemlist li .img {
        margin-bottom: .6em;
        border: solid 1px #ddd;
        padding: 5px;
        border-radius: .3em; }
        .waribiki-recolist .listwrapper .itemlist li .img img {
          width: 100%; }
      .waribiki-recolist .listwrapper .itemlist li .price {
        font-family: "Noto Sans Japanese", "メイリオ" , sans-serif;
        margin-bottom: .2em;
        color: #b80404;
        text-align: center;
        font-size: 1em;
        line-height: 1;
        padding: 1.5rem 0 1.5rem 0; }
        @media screen and (max-width: 479px) {
          .waribiki-recolist .listwrapper .itemlist li .price {
            padding: 0.6rem 0;
            margin: 0.5em auto; } }
        .waribiki-recolist .listwrapper .itemlist li .price b {
          font-size: 1.6em; }
          @media screen and (max-width: 700px) {
            .waribiki-recolist .listwrapper .itemlist li .price b {
              font-size: 1.4em; } }
          @media screen and (max-width: 479px) {
            .waribiki-recolist .listwrapper .itemlist li .price b {
              font-size: 1em; } }
      .waribiki-recolist .listwrapper .itemlist li .btn {
        background: #b80404;
        color: #fff;
        text-align: center;
        padding: .8em .5em;
        border-radius: .3em;
        font-size: 17px;
        line-height: 1; }
      .waribiki-recolist .listwrapper .itemlist li .-col2 {
        width: 47%;
        margin: 0 0 6em 0; }
        .waribiki-recolist .listwrapper .itemlist li .-col2 .itemname {
          font-size: 1.3em;
          margin-bottom: .4em; }
        .waribiki-recolist .listwrapper .itemlist li .-col2 .tag span {
          font-size: 1.1em; }
        .waribiki-recolist .listwrapper .itemlist li .-col2 .price {
          font-size: 1.4em; }
      .waribiki-recolist .listwrapper .itemlist li .-col4 {
        width: 22%;
        margin: 0 0 3em 0; }
        .waribiki-recolist .listwrapper .itemlist li .-col4 .tag span {
          font-size: 1em; }
  .waribiki-recolist .listwrapper .itemlist-3 {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap; }
    .waribiki-recolist .listwrapper .itemlist-3 li {
      width: 26%;
      margin: 0 0 5em 0; }
      @media screen and (max-width: 1100px) {
        .waribiki-recolist .listwrapper .itemlist-3 li {
          width: 30%;
          margin: 1em auto; } }
      @media screen and (max-width: 767px) {
        .waribiki-recolist .listwrapper .itemlist-3 li {
          width: 45%;
          margin: 1em auto; } }
      .waribiki-recolist .listwrapper .itemlist-3 li a {
        text-decoration: none;
        display: block; }
      .waribiki-recolist .listwrapper .itemlist-3 li .itemname {
        color: #222;
        font-size: 1em;
        margin-bottom: .6em;
        line-height: 1.3; }
        @media screen and (max-width: 900px) {
          .waribiki-recolist .listwrapper .itemlist-3 li .itemname {
            font-size: 0.96em; } }
        @media screen and (max-width: 700px) {
          .waribiki-recolist .listwrapper .itemlist-3 li .itemname {
            font-size: 0.9em; } }
      .waribiki-recolist .listwrapper .itemlist-3 li .tag {
        margin-bottom: 0;
        display: flex; }
        .waribiki-recolist .listwrapper .itemlist-3 li .tag span {
          flex-grow: 1;
          display: block;
          padding: .6em .7em;
          color: #fff;
          background: linear-gradient(to bottom, #ffbe1a 50%, #ffb700 50%);
          color: #4c2b0a;
          font-family: "Noto Sans Japanese", "メイリオ" , sans-serif;
          font-size: 17px;
          font-weight: bold;
          margin: 5px 0.15em 0;
          letter-spacing: .08em;
          line-height: 1.1;
          text-align: center;
          border-radius: .1em; }
          .waribiki-recolist .listwrapper .itemlist-3 li .tag span :nth-child(even) {
            color: #fff;
            background: linear-gradient(to bottom, #ffab1a 50%, #ffa200 50%);
            color: #4c2b0a; }
          .waribiki-recolist .listwrapper .itemlist-3 li .tag span :nth-child(n 3) {
            display: none; }
          @media screen and (max-width: 700px) {
            .waribiki-recolist .listwrapper .itemlist-3 li .tag span {
              font-size: 0.85em; } }
          @media screen and (max-width: 479px) {
            .waribiki-recolist .listwrapper .itemlist-3 li .tag span {
              font-size: 0.7em;
              line-height: 0.9em;
              word-wrap: break-word; } }
      .waribiki-recolist .listwrapper .itemlist-3 li .img {
        margin-bottom: .6em;
        border: solid 1px #ddd;
        padding: 5px;
        border-radius: .3em; }
        .waribiki-recolist .listwrapper .itemlist-3 li .img img {
          width: 100%; }
      .waribiki-recolist .listwrapper .itemlist-3 li .price {
        font-family: "Noto Sans Japanese", "メイリオ" , sans-serif;
        margin-bottom: .2em;
        color: #b80404;
        text-align: center;
        font-size: 1em;
        line-height: 1;
        padding: 1.5rem 0 1.5rem 0; }
        @media screen and (max-width: 479px) {
          .waribiki-recolist .listwrapper .itemlist-3 li .price {
            padding: 0.6rem 0;
            margin: 0.5em auto; } }
        .waribiki-recolist .listwrapper .itemlist-3 li .price b {
          font-size: 1.6em; }
          @media screen and (max-width: 700px) {
            .waribiki-recolist .listwrapper .itemlist-3 li .price b {
              font-size: 1.4em; } }
          @media screen and (max-width: 479px) {
            .waribiki-recolist .listwrapper .itemlist-3 li .price b {
              font-size: 1em; } }
      .waribiki-recolist .listwrapper .itemlist-3 li .btn {
        background: #b80404;
        color: #fff;
        text-align: center;
        padding: .8em .5em;
        border-radius: .3em;
        font-size: 17px;
        line-height: 1; }
.waribiki-recolist .lastbtn {
  text-align: center; }
  @media screen and (max-width: 900px) {
    .waribiki-recolist .lastbtn {
      margin: 1em; } }
  @media screen and (max-width: 479px) {
    .waribiki-recolist .lastbtn {
      margin: 0.5em auto; } }
  .waribiki-recolist .lastbtn a {
    display: inline-block;
    padding: 1.5em 5em;
    color: #fff;
    background: #333;
    text-decoration: none;
    font-size: 25px;
    letter-spacing: .08em;
    border-radius: .2em; }
    .waribiki-recolist .lastbtn a :hover {
      background: #555; }
    @media screen and (max-width: 767px) {
      .waribiki-recolist .lastbtn a {
        padding: 1em 5em; } }
    @media screen and (max-width: 700px) {
      .waribiki-recolist .lastbtn a {
        padding: 1em 3em;
        font-size: 20px; } }
    @media screen and (max-width: 479px) {
      .waribiki-recolist .lastbtn a {
        font-size: 15px; } }

/*割引ランキング*/
.warinbiki_rank {
  width: 1200px;
  margin: 3em auto;
  padding: 3% 1%;
  background-color: #ebe7ef;
  background-image: url("../img/714955.png");
  background-size: 28%;
  background-repeat: no-repeat;
  background-position: 1.5em 1em;
  border-radius: 10px; }
  @media screen and (max-width: 1100px) {
    .warinbiki_rank {
      width: 95%; } }
  @media screen and (max-width: 700px) {
    .warinbiki_rank {
      background-size: 50%;
      background-position: .1em .5em; } }
  @media screen and (max-width: 479px) {
    .warinbiki_rank {
      margin: 3em auto auto; } }
  .warinbiki_rank .hana {
    top: -21%;
    left: 5%;
    margin: auto; }
    .warinbiki_rank .hana img {
      width: 300px; }
  .warinbiki_rank .contentsTtl {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 1rem;
    width: 90%;
    margin: 2.5rem auto; }
    @media screen and (max-width: 700px) {
      .warinbiki_rank .contentsTtl {
        margin: 1rem auto; } }
    .warinbiki_rank .contentsTtl p {
      font-weight: bold;
      margin: auto auto .5em; }
    .warinbiki_rank .contentsTtl h2 {
      font-size: 4rem;
      font-weight: 100;
      margin: auto auto .5em;
      padding: 0.2em 0.5em;
      background: linear-gradient(rgba(0, 0, 0, 0) 60%, #fcee21 0%); }
      @media screen and (max-width: 700px) {
        .warinbiki_rank .contentsTtl h2 {
          font-size: 1.5em; } }
    .warinbiki_rank .contentsTtl .left {
      font-size: 2.5rem;
      text-align: left;
      margin: .8rem 0;
      color: #9c80b1; }
      @media screen and (max-width: 479px) {
        .warinbiki_rank .contentsTtl .left {
          font-size: 1.5rem; } }
    .warinbiki_rank .contentsTtl .right {
      font-size: 2.5rem;
      text-align: right;
      color: #9c80b1; }
      @media screen and (max-width: 479px) {
        .warinbiki_rank .contentsTtl .right {
          font-size: 1.5rem; } }
  .warinbiki_rank .waribikiList h3 {
    display: none; }
  .warinbiki_rank .waribikiItem {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin: 0 auto;
    width: 90%;
   padding: 0;
   list-style: none; }
    @media screen and (max-width: 479px) {
      .warinbiki_rank .waribikiItem {
        width: 95%;
       gap: .5rem;} }
    .warinbiki_rank .waribikiItem li {
       margin: 0;
      padding: 2.5rem;
       min-width: 0;
      position: relative;
      background-color: #fff;
      box-shadow: 0 2px 5px 0 #B7AEBB;
      border-radius: 10px; }
      @media screen and (max-width: 479px) {
        .warinbiki_rank .waribikiItem li {
         width: auto; 
         margin: 0;
          padding: .6rem;} }
     @media screen and (max-width: 479px) {

    .warinbiki_rank .waribikiItem li .itemName,
    .warinbiki_rank .waribikiItem li .itemName2 {
    font-size: .78em;
    line-height: 1.25em;
    margin-bottom: .5rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    }

    .warinbiki_rank .waribikiItem li .price {
    font-size: 1em;
    padding: .35rem 0;
    white-space: nowrap;
    }
    .warinbiki_rank .waribikiItem li .btn {
    font-size: .85em;
    padding: .55em .4em;
    white-space: nowrap;
    }
    .warinbiki_rank .waribikiItem li .tag {
    flex-direction: column;
    gap: .35rem;
    }
    .warinbiki_rank .waribikiItem li .tag .OFF,
    .warinbiki_rank .waribikiItem li .tag .souryou {
    width: 100%;
    margin: 0;
    padding: .35rem;
    font-size: .78em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    }
    }    
      .warinbiki_rank .waribikiItem li .img {
        margin-bottom: 0.8rem; }
        .warinbiki_rank .waribikiItem li .img img {
          width: 100%; }
      .warinbiki_rank .waribikiItem li .itemName {
        font-weight: bold;
        margin-bottom: 1rem; }
        @media screen and (max-width: 479px) {
          .warinbiki_rank .waribikiItem li .itemName {
            font-weight: bold;
            margin-bottom: 1rem;
            line-height: 1.2em;
            font-size: .8em; } }
      .warinbiki_rank .waribikiItem li .itemName2 {
        font-weight: bold;
        margin-bottom: 1rem;
        line-height: 2.7em; }
        @media screen and (max-width: 1100px) {
          .warinbiki_rank .waribikiItem li .itemName2 {
            line-height: 1.4em; } }
        @media screen and (max-width: 900px) {
          .warinbiki_rank .waribikiItem li .itemName2 {
            line-height: 2.1em; } }
        @media screen and (max-width: 767px) {
          .warinbiki_rank .waribikiItem li .itemName2 {
            line-height: 1.2em; } }
        @media screen and (max-width: 479px) {
          .warinbiki_rank .waribikiItem li .itemName2 {
            font-weight: bold;
            margin-bottom: 1rem;
            line-height: 1.2em;
            font-size: .8em; } }
      .warinbiki_rank .waribikiItem li .itemTxt {
        font-size: 0.9em;
        line-height: 1.3em; }
      .warinbiki_rank .waribikiItem li .rank1,
      .warinbiki_rank .waribikiItem li .rank2,
      .warinbiki_rank .waribikiItem li .rank3,
      .warinbiki_rank .waribikiItem li .rank4,
      .warinbiki_rank .waribikiItem li .rank5,
      .warinbiki_rank .waribikiItem li .rank6 {
        position: absolute;
        top: 1rem;
        left: 1rem;
        width: 35px;
        height: 35px;
        font-size: 18px;
        line-height: 35px;
        text-align: center;
        background: #FC0;
        color: #300;
        border-radius: 0 0 1.6rem 0;
        z-index: 1000; }
        @media screen and (max-width: 479px) {
          .warinbiki_rank .waribikiItem li .rank1,
          .warinbiki_rank .waribikiItem li .rank2,
          .warinbiki_rank .waribikiItem li .rank3,
          .warinbiki_rank .waribikiItem li .rank4,
          .warinbiki_rank .waribikiItem li .rank5,
          .warinbiki_rank .waribikiItem li .rank6 {
            width: 30px;
            height: 30px;
            font-size: 16px;
            line-height: 30px; } }
      .warinbiki_rank .waribikiItem li .rank1 {
        background: goldenrod;
        color: #fff; }
      .warinbiki_rank .waribikiItem li .rank2 {
        background: lightslategray;
        color: #fff; }
      .warinbiki_rank .waribikiItem li .rank3 {
        background: chocolate;
        color: #fff; }
      .warinbiki_rank .waribikiItem li .rank4 {
        background: #BC8384;
        color: #fff; }
      .warinbiki_rank .waribikiItem li .rank6 {
        background: #FFEE0B;
        color: #000; }
      .warinbiki_rank .waribikiItem li .price {
        font-family: "Noto Sans Japanese", "メイリオ" , sans-serif;
        color: #b80404;
        text-align: center;
        font-size: 1.4em;
        padding: 1.1rem 0; }
        @media screen and (max-width: 900px) {
          .warinbiki_rank .waribikiItem li .price {
            font-size: 1.4em;
            padding: 1rem 1.5rem; } }
        @media screen and (max-width: 479px) {
          .warinbiki_rank .waribikiItem li .price {
            font-size: 1.2em;
            padding: 0.1rem 0;
            margin: 0.3em auto; } }
        .warinbiki_rank .waribikiItem li .price b {
          font-size: 1.2em; }
          @media screen and (max-width: 900px) {
            .warinbiki_rank .waribikiItem li .price b {
              font-size: 1em; } }
      .warinbiki_rank .waribikiItem li .btn {
        background: #b80404;
        color: #fff;
        text-align: center;
        padding: .8em .5em;
        border-radius: .3em;
        font-size: 17px;
        line-height: 1; }
        @media screen and (max-width: 900px) {
          .warinbiki_rank .waribikiItem li .btn {
            padding: .7em .5em; } }
        @media screen and (max-width: 479px) {
          .warinbiki_rank .waribikiItem li .btn {
            padding: .5em .5em; } }
      .warinbiki_rank .waribikiItem li .tag {
        margin-bottom: 0;
        display: flex; }
        .warinbiki_rank .waribikiItem li .tag .OFF {
          font-size: 90%;
          text-align: center;
          width: 98%;
          display: inline-block;
          color: #FFF;
          margin: 1.5%;
          padding: 1.5%;
          background: #E13537;
          font-weight: bold;
          word-wrap: break-word; }
          @media screen and (max-width: 479px) {
            .warinbiki_rank .waribikiItem li .tag .OFF {
              padding: 3%; } }
        .warinbiki_rank .waribikiItem li .tag .souryou {
          font-size: 90%;
          text-align: center;
          width: 98%;
          display: inline-block;
          color: #4c2b0a;
          margin: 1.5%;
          padding: 1.5%;
          background: #ffbe1a;
          font-weight: bold; }
          @media screen and (max-width: 479px) {
            .warinbiki_rank .waribikiItem li .tag .souryou {
              padding: 1.5% 5%; } }
  /* 3列固定（スマホでも3列のまま） */
        .warinbiki_rank .waribikiItem{
          display: grid;
          grid-template-columns: repeat(3, minmax(0, 1fr));
          gap: 1rem;
          margin: 0 auto;
          width: 90%;
          padding: 0;
          list-style: none;
        }

        @media screen and (max-width: 479px){
          .warinbiki_rank .waribikiItem{
            width: 95%;
            gap: .5rem;
          }
        }

        /* スライダー矢印が残っていたら非表示 */
        .warinbiki_rank .waribikiItem .prev-arrow,
        .warinbiki_rank .waribikiItem .next-arrow{
          display: none;
        }

        /* カード全体：中身の“並び位置”を揃えるため、カード内をグリッド化 */
        .warinbiki_rank .waribikiItem li{
          margin: 0;                 /* 余計な外側マージンは消す */
          min-width: 0;              /* グリッド内でのはみ出し防止 */
          box-sizing: border-box;

          padding: 2.5rem;
          position: relative;
          background-color: #fff;
          box-shadow: 0 2px 5px 0 #B7AEBB;
          border-radius: 10px;

          /* 価格とボタンの位置を揃えるための内部レイアウト */
          display: grid;
          grid-template-rows: auto auto auto auto 1fr auto; /* 最後のボタンを下に固定 */
          gap: .6rem;
        }

        @media screen and (max-width: 479px){
          .warinbiki_rank .waribikiItem li{
            padding: .6rem;
            gap: .4rem;
          }
        }

        /* <a>の中身もカードのグリッド配置に乗せる（aが途中で閉じていても崩れにくい） */
        .warinbiki_rank .waribikiItem li > a{
          display: contents;
        }

        /* リンクの見た目を統一 */
        .warinbiki_rank .waribikiItem li a{
          text-decoration: none;
          color: inherit;
        }

        /* 画像：高さを揃える（縦横比固定） */
        .warinbiki_rank .waribikiItem li .img{
          grid-row: 1;
          width: 100%;
          aspect-ratio: 4 / 3;       /* 画像枠の比率を固定して高さを揃える */
          display: flex;
          align-items: center;
          justify-content: center;
          overflow: hidden;
          border-radius: 6px;
        }

        .warinbiki_rank .waribikiItem li .img img{
          width: 100%;
          height: 100%;
          object-fit: contain;       /* 画像の比率を保ったまま枠内に収める */
        }

        /* 商品名：2行で揃えて“高さを一定化”（文字数差でボタン位置がズレるのを防止） */
        .warinbiki_rank .waribikiItem li .itemName,
        .warinbiki_rank .waribikiItem li .itemName2{
          grid-row: 2;
          margin: 0;
          font-weight: bold;
          line-height: 1.3em;

          display: -webkit-box;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 2;     /* 2行で固定 */
          overflow: hidden;

          min-height: calc(1.3em * 2); /* 2行分の高さを確保して揃える */
        }

        @media screen and (max-width: 479px){
          .warinbiki_rank .waribikiItem li .itemName,
          .warinbiki_rank .waribikiItem li .itemName2{
            font-size: .78em;
          }
        }

        /* タグ：PCは横並び、スマホは縦並び（3列維持でも崩れにくくする） */
        .warinbiki_rank .waribikiItem li .tag{
          grid-row: 3;
          margin: 0;
          display: flex;
          gap: .4rem;
        }

        .warinbiki_rank .waribikiItem li .tag .OFF,
        .warinbiki_rank .waribikiItem li .tag .souryou{
          margin: 0;
          width: 50%;
        }

        @media screen and (max-width: 479px){
          .warinbiki_rank .waribikiItem li .tag{
            flex-direction: column;
            gap: .35rem;
          }

          .warinbiki_rank .waribikiItem li .tag .OFF,
          .warinbiki_rank .waribikiItem li .tag .souryou{
            width: 100%;
            font-size: .78em;
            padding: .35rem;
            white-space: nowrap;       /* 1文字ずつ縦に落ちるのを防ぐ */
            overflow: hidden;
            text-overflow: ellipsis;
          }
        }

        /* 価格：桁数が違っても横ズレしないようにnowrap */
        .warinbiki_rank .waribikiItem li .price{
          grid-row: 4;
          margin: 0;
          text-align: center;
          white-space: nowrap;
          padding: .35rem 0;
        }

        @media screen and (max-width: 479px){
          .warinbiki_rank .waribikiItem li .price{
            font-size: 1em;
          }
        }

        /* ボタン：常にカード最下段に固定（これで全カードのボタン位置が揃う） */
        .warinbiki_rank .waribikiItem li .btn{
          grid-row: 6;
          margin: 0;
          text-align: center;

          background: #b80404;
          color: #fff;
          border-radius: .3em;
          font-size: 17px;
          line-height: 1;
          padding: .8em .5em;
        }

        @media screen and (max-width: 479px){
          .warinbiki_rank .waribikiItem li .btn{
            font-size: .85em;
            padding: .55em .4em;
            white-space: nowrap;
          }
        }


/* サブセクション見出し */
.waribiki-subsec-title{
  max-width: 1200px;
  width: 90%;
  margin: 0 auto 14px;
  padding: 0 8px;
  font-size: 35px;
  font-weight: 700;
  color: #725F00;
  border-left: 6px solid #01a2a8;
}


@media screen and (max-width: 767px){
  .waribiki-subsec-title{
    font-size: 24px;
  }
 
}
