@media screen and (min-width: 768px) {
  #pageMenu .skeleton li {
    width: 24%;
  }

  #pageMenu li {
    width: 24%;
    height: 64px;
    margin-bottom: 12px;
  }

  #pageMenu li a::after {
    content: url(/search_top/202001_renewal/images/osechi/icon_arrow_down.svg);
    display: block;
    position: absolute;
    width: 12px;
    height: 12px;
    border-top: 0px solid #000;
    border-right: 0px solid #000;
    top: 60%;
    left: 48%;
    transform: none;
  }

  #pageMenu ul:nth-child(2) li:nth-child(1) a::after {
    content: url(/search_top/202001_renewal/images/osechi/icon_arrow_down_white.svg);
    top: 70%;
  }
}

/* オリジナルおせち */

.original-item-img-box {
  width: 100%;
}

.original-item-detail {
  width: 100%;
}

/* コラボおせち */

.colab-type {
  background: #cbb046;
  color: #fff;
  font-size: 18px;
  text-align: center;
  padding: 5px 0 3px;
  position: relative;
  font-family: YuMincho, "Yu Mincho", serif;
}

.colab-type::after {
  content: "";
  position: absolute;
  display: block;
  left: 50%;
  bottom: -10px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 10px 0 10px;
  border-color: #cbb046 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
}

.colab-chef-list {
  margin-top: 20px;
  display: flex;
  justify-content: center;
  gap: 0.5%;
}

.colab-chef-list li {
  width: 33%;
}

.limited-item-box {
  width: 24%;
  margin-bottom: 30px;
}

.con01 .btnbg div a {
  background: none;
  color: #fff;
  text-align: center;
  justify-content: center;
}

.btnbg a .arw::after {
  right: 7%;
  color: #fff;
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
}

.btnbg1 a .arw::before {
  position: absolute;
  left: -2%;
  content: url(/search_top/202001_renewal/images/osechi/icon_1.png);
  /* width: 80px; */
  transform: scale(0.5);
  top: -4%;
}

.btnbg2 a .arw::before {
  position: absolute;
  left: -2%;
  content: url(/search_top/202001_renewal/images/osechi/icon_2.png);
  /* width: 80px; */
  transform: scale(0.4);
  top: -44%;
}

.con01 .btnbg div {
  background-image: none;
  background-size: cover;
  background-repeat: no-repeat;
}

.btnbg1 {
  background-color: #1C3052 !important;
}

.btnbg2 {
  background-color: #C5000A !important;
}

/* .r24_flex-item:nth-child(n+5):nth-child(-n+7) {
  width: 32%;
} */

.original-item-box {
  background: #fff;
  margin: 10px;
}

.colab-name {
  margin-top: 30px;
  font-size: 18px;
  font-weight: 700;
  font-family: "YuMincho", "Yu Mincho", serif;
  text-align: center;
  background: no-repeat;
}

@media screen and (max-width: 767px) {
  .r24_flex-item:nth-child(n+5):nth-child(-n+7) {
    width: 49%;
  }

  .con01 .btnbg div a {
    background: none;
    color: #fff;
    text-align: center;
    justify-content: center;
    margin-bottom: 0;
  }

  .btnbg1 a .arw::before {
    position: absolute;
    left: -8%;
    content: url(/search_top/202001_renewal/images/osechi/icon_1.png);
    transform: scale(0.4);
    top: -7%;
  }

  .btnbg2 a .arw::before {
    position: absolute;
    left: -8%;
    content: url(/search_top/202001_renewal/images/osechi/icon_2.png);
    /* width: 80px; */
    transform: scale(0.3);
    top: -50%;
  }

  .slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
    width: 100%;
    margin: auto;
  }
}

.special-box-list {
  display: flex;
  justify-content: space-between;
}

.special-box {
  border-top: 2px solid #000;
  background: url(/search_top/202001_renewal/images/osechi/bg3_pc.png) top / 100% auto repeat-y;
  width: 49%;
  padding: 20px;
}

.special-content-box {
  background: #fff;
  padding: 28px 30px;
  text-align: center;
}

.special-text-box {
  font-size: 16px;
  margin-bottom: 20px;
}

.special-ttl-box {
  display: flex;
  align-items: center;
  gap: clamp(10px, 2vw, 20px);
  margin-bottom: 36px;
}

.special-ttl-box::before,
.special-ttl-box::after {
  content: "";
  flex: 1;
  min-width: 20px;
  height: 6px;
  border-top: 1px solid #333;
  border-bottom: 1px solid #333;
}

.special-tlt {
  margin: 0;
  flex-shrink: 0;
  text-align: center;
  font-size: 24px;
  font-family: YuMincho, "Yu Mincho", serif;
}

.frozen .special-tlt {
  color: #1C3052;
}

.newyear .special-tlt {
  color: #C5000A;
}

.newyear a.btnA {
  background: #C5000A;
  margin: 20px 0;
}

.frozen a.btnA {
  background: #1C3052;
  margin: 20px 0;
}

.frozen {

  .special-ttl-box::before,
  .special-ttl-box::after {
    content: "";
    flex: 1;
    min-width: 20px;
    height: 6px;
    border-top: 1px solid #1C3052;
    border-bottom: 1px solid #1C3052;
  }
}

.newyear {

  .special-ttl-box::before,
  .special-ttl-box::after {
    content: "";
    flex: 1;
    min-width: 20px;
    height: 6px;
    border-top: 1px solid #C5000A;
    border-bottom: 1px solid #C5000A;
  }
}


.feature__intro {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 78px;
}

.feature__intro p {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
}

.feature__truck {
  flex-shrink: 0;
  width: 80px;
  height: auto;
}

.feature__ornament {
  flex-shrink: 0;
  width: 78px;
  height: 78px;
  object-fit: contain;
}

.delivery-message {
  position: relative;
  width: fit-content;
  margin: 0;
  padding: 10px 36px;
  border: 2px solid #808080;
  background: #fff;
  color: #111;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

/* 三角形の外側 */
.delivery-message::before {
  position: absolute;
  top: 50%;
  left: -16px;
  width: 0;
  height: 0;
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  border-right: 16px solid #808080;
  content: "";
  transform: translateY(-50%);
}

/* 白い三角形を重ねて枠線を表現 */
.delivery-message::after {
  position: absolute;
  top: 50%;
  left: -12px;
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-right: 13px solid #fff;
  content: "";
  transform: translateY(-50%);
}

.special-date {
  color: #CF000D;
}

@media screen and (max-width: 767px) {
  .slick-list {
    width: 100%;
  }

  .colab-type {
    width: 95%;
  }

  .limited-item-box {
    width: 46%;
  }

  .special-box {
    width: 100%;

    margin-bottom: 20px;
  }

  .special-box-list {
    flex-wrap: wrap;
  }

  .feature__intro {
    gap: 10px;
  }

  .feature__intro p {
    font-size: 13px;
  }

  .feature__intro--delivery {
    gap: 22px;
  }

  .feature__truck,
  .feature__ornament {
    width: 52px;
    height: auto;
  }

  .special-content-box {
    background: #fff;
    padding: 28px 10px;
    text-align: center;
  }

  .delivery-message {
    position: relative;
    width: fit-content;
    margin: 0;
    padding: 10px 14px;
    border: 2px solid #808080;
    background: #fff;
    color: #111;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
  }


}

.catalog-banner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 70px;
  margin-block: 10px;
  padding-inline: 120px;
  box-sizing: border-box;
  background: #CBB046;
  color: #fff;
  text-decoration: none;
}

/* カタログ表紙は帯の上下に10pxずつはみ出す */
.catalog-banner__cover {
  position: absolute;
  top: 50%;
  left: 40px;
  display: block;
  width: auto;
  height: 90px;
  transform: translateY(-50%);
}

.catalog-banner__text {
  font-size: 26px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #fff;
  text-align: center;
}

/* 右向きの矢印 */
.catalog-banner::after {
  position: absolute;
  top: 50%;
  right: 32px;
  width: 17px;
  height: 17px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  content: "";
  transform: translateY(-50%) rotate(45deg);
}

.catalog-banner:focus-visible {
  outline: 3px solid #1d3155;
  outline-offset: 4px;
}

.catalog-btn-box {
  width: 800px;
  margin: auto;
  text-align: center;
  margin-top: 30px;
}

a.catalog-banner {
  align-content: center;
}

/* スマートフォン：添付画像の半分のサイズを基準に設定 */
@media (max-width: 767px) {
  .catalog-banner {
    height: 55px;
    padding-inline: 75px 35px;
  }

  .catalog-banner__cover {
    left: 15px;
    height: 75px;
  }

  .catalog-banner__text {
    font-size: 16px;
    letter-spacing: 0.04em;
  }

  .catalog-banner::after {
    right: 22px;
    width: 12px;
    height: 12px;
    border-width: 1.5px;
  }
}

#collaborationSlides .prev-arrow,
#collaborationSlides .next-arrow {
  display: block;
  position: absolute;
  width: 60px;
  height: 60px;
  background: rgba(91, 57, 23, 0.5);
  border-radius: 50%;
  top: 50%;
  /* transform: translateY(-90%); */
  z-index: 10000;
  cursor: pointer;
}

@media screen and (max-width: 767px) {

  #collaborationSlides .prev-arrow,
  #collaborationSlides .next-arrow {
    width: 13vw;
    height: 13vw;
  }
}

#collaborationSlides .prev-arrow {
  left: 0;
}

@media screen and (max-width: 767px) {
  #collaborationSlides .prev-arrow {
    left: 2vw;
  }
}

#collaborationSlides .prev-arrow:after {
  content: "";
  display: block;
  position: absolute;
  width: 10px;
  height: 10px;
  top: 50%;
  left: 50%;
  transform: translate(-30%, -50%) rotate(-45deg);
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
}

@media screen and (max-width: 767px) {
  #collaborationSlides .prev-arrow:after {
    transform: translate(-20%, -50%) rotate(-45deg);
  }
}

#collaborationSlides .next-arrow {
  right: 0;
}

@media screen and (max-width: 767px) {
  #collaborationSlides .next-arrow {
    right: 2vw;
  }
}

#collaborationSlides .next-arrow:after {
  content: "";
  display: block;
  position: absolute;
  width: 10px;
  height: 10px;
  top: 50%;
  left: 50%;
  transform: translate(-80%, -50%) rotate(-45deg);
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
}

@media screen and (max-width: 767px) {
  #collaborationSlides .next-arrow:after {
    transform: translate(-80%, -50%) rotate(-45deg);
  }
}

#restaurantSlides .prev-arrow,
#restaurantSlides .next-arrow {
  display: block;
  position: absolute;
  width: 60px;
  height: 60px;
  background: rgba(91, 57, 23, 0.5);
  border-radius: 50%;
  top: 50%;
  /* transform: translateY(-90%); */
  z-index: 10000;
  cursor: pointer;
}

@media screen and (max-width: 767px) {

  #restaurantSlides .prev-arrow,
  #restaurantSlides .next-arrow {
    width: 13vw;
    height: 13vw;
  }
}

#restaurantSlides .prev-arrow {
  left: 0;
}

@media screen and (max-width: 767px) {
  #restaurantSlides .prev-arrow {
    left: 2vw;
  }
}

#restaurantSlides .prev-arrow:after {
  content: "";
  display: block;
  position: absolute;
  width: 10px;
  height: 10px;
  top: 50%;
  left: 50%;
  transform: translate(-30%, -50%) rotate(-45deg);
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
}

@media screen and (max-width: 767px) {
  #restaurantSlides .prev-arrow:after {
    transform: translate(-20%, -50%) rotate(-45deg);
  }
}

#restaurantSlides .next-arrow {
  right: 0;
}

@media screen and (max-width: 767px) {
  #restaurantSlides .next-arrow {
    right: 2vw;
  }
}

#restaurantSlides .next-arrow:after {
  content: "";
  display: block;
  position: absolute;
  width: 10px;
  height: 10px;
  top: 50%;
  left: 50%;
  transform: translate(-80%, -50%) rotate(-45deg);
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
}

@media screen and (max-width: 767px) {
  #restaurantSlides .next-arrow:after {
    transform: translate(-80%, -50%) rotate(-45deg);
  }
}

@media screen and (min-width: 768px) {
  .special-ttl-box {
    height: 77px;
  }

  .feature__truck {
    flex-shrink: 0;
    width: 80px;
    height: auto;
    margin-right: 30px;
    display: block;
  }

  #osechi #con04 ul li:nth-last-of-type(n + 1) a>div {
    margin-bottom: 20px;
  }

  #osechi #con04 ul li .featureImg::after {
    top: -2%;
  }

  .chef-name-colab {
    font-size: 11px;
    font-family: YuMincho, "Yu Mincho", serif;
    text-align: center;
    margin-top: 10px;
    line-height: 1.4;
  }

  .colab-name {
    min-height: 4rem;
  }

  .colab-chef-list {
    margin-bottom: 14px;
    min-height: 11rem;
  }
}

@media screen and (max-width: 767px) {
  #osechi #con04 ul li {
    width: 98%;
    margin: 0 auto;
  }
}

@media screen and (max-width: 767px) {
  #osechi #con04 ul li:nth-of-type(n + 2) {
    margin-top: 0;
  }


}

@media screen and (max-width: 767px) {
  #osechi #con04 ul li:nth-child(4) a>div>p {
    max-width: none;
  }

  #osechi #con04 ul li:nth-child(4) .featureImg {
    padding: 0;
  }

  #osechi #con04 ul li {
    width: auto;
    margin: 0 auto;
  }

  #osechi #con04 ul li:nth-child(1) {
    width: auto;
  }

  #osechi #con04 ul li .featureImg::after {
    top: 7%;
  }

  #osechi #con04 ul .osechi-slide {
    width: auto;
    margin: 0 auto;
    margin: auto 10px !important;
  }

  .sweets-img-box img {
    padding: 0 !important;
  }
}

@media screen and (max-width: 767px) {
  #osechi #con04 ul li:nth-last-of-type(n + 1) a>div {
    align-items: center;
  }

  #osechi #con04 ul li:nth-child(4) .featureImg::after {
    top: 7%;
  }

  .colab-name {
    min-height: 4rem;
    align-items: center;
  }

  .colab-chef-list li {
    width: 33%;
    min-height: 13rem;
  }

  .chef-name-colab {
    font-size: 11px;
    font-family: YuMincho, "Yu Mincho", serif;
    text-align: center;
    margin-top: 10px;
    line-height: 1.4;
  }


  /* コラボのスライド間隔を20pxにする */
  #collaborationSlides .slick-track>.osechi-slide {
    margin: 0 10px;
  }

  .catalog-btn-box {
    width: 93%;
  }

  .voices {
    p {
      font-size: 14px;
      font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
      min-height: 7rem;
    }
  }

  .original-item-box {
    background: #fff;
    margin: 26px;
  }

  .slick-prev {
    content: "";
    display: block;
    position: absolute;
    left: -5%;
    top: 42%;

  }

  .slick-next {
    content: "";
    display: block;
    position: absolute;
    right: -5%;
    top: 42%;
    width: 25px;
    height: 25px;
    border-right: 2px solid #333;
    border-top: 2px solid #333;
    -webkit-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
    background: none;
  }

  #originSlides .prev-arrow,
  #originSlides .next-arrow {
    top: 15%;
  }

  .original-item-name {
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-size: 16px;
    margin: 10px 0;
    font-family: YuMincho, "Yu Mincho", serif;
  }

  .limited-item-box .limited-item-name {
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-size: 16px;
    margin: 10px 0;
    font-family: YuMincho, "Yu Mincho", serif;
  }
}

@media (max-width: 376px) {
  #pageMenu li a::after {
    content: "";
    display: block;
    position: absolute;
    width: 8px;
    height: 8px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    transform: rotate(135deg);
    left: 6%;
    top: 5%;
  }
}

@media screen and (min-width: 768px) {
  .bread-crumb {
    font-size: 12px;
    margin-top: 15px;
    margin-bottom: 15px;
  }
}