/* --------------------
  全体/リセット
-------------------- */

.xmas2023 {
  padding-top: 24px;
  font-family: YuGothic, "Yu Gothic", sans-serif;
  font-size: 16px;
  line-height: 1.3;
  color: #362404;
}
#eventTopFreeArea3 .xmas2023 {
  padding-top: 40px;
}
.xmas2023 *,
.xmas2023 *::before,
.xmas2023 *::after {
  box-sizing: border-box;
  font-weight: 500;
}
.xmas2023 a {
  display: inline-block;
  color: #362404;
  font-weight: 500;
}
.xmas2023 a:hover {
  text-decoration: none;
}

.xmas2023 figure {
  margin: 0;
}

.xmas2023 img {
  max-width: 100%;
}

/* --------------------
                    共通_ランキング
                    -------------------- */
#top #contenter #main .rankingTop .itemsList {
  margin: 0;
  padding: 0 !important;
  background: none;
  border: 0;
}
#top #contenter #main .rankingTop p.line {
  display: none;
}
#top #contenter #main .rankingTop h3.rankingTitle {
  position: relative;
  margin-bottom: 12px;
  padding: 8px 0;
  background: #faf5ee;
  border-bottom: solid 1px #e7cba0;
}
#top #contenter #main .rankingTop h3.rankingTitle::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  display: block;
  width: 3px;
  height: 100%;
  background-color: #ab6422;
}
#top #contenter #main .rankingTop p.moreCategoryBtn {
  top: 9px;
}

#top #contenter #main .rankingTop .itemsList ul {
  display: flex;
  margin: 0;
  background: none;
}
#top #contenter #main .rankingTop .itemsList ul:not(:last-child) {
  margin-bottom: 32px;
}
#top #contenter #main .rankingTop .itemsList ul li {
  width: calc((100% - 64px) / 5);
  display: block;
  margin: 0;
  padding: 0 !important;
}
#top #contenter #main .rankingTop .itemsList ul li:not(:last-child) {
  margin-right: 16px;
}
#top #contenter #main .rankingTop .itemsList ul li dt img {
  width: 100%;
  height: auto;
}

/* --------------------
共通_ボタン
-------------------- */
/* 通常ボタン */
.xmas2023 .common-button {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  height: 100%;
  min-height: 56px;
  text-align: center;
  background: #fcebca;
  transition: 0.2s;
  font-weight: 700;
}
.common-button:hover {
  background: #f8cf7e;
  cursor: pointer;
}

.xmas2023 .common-button.common-button--arrow {
  justify-content: flex-start;
  background: #fcebca url("/g_images/freearea/xmas2023/arrow_right_black.svg")
    no-repeat top 50% right 16px / 32px;
}
.xmas2023 .common-button.common-button--arrow:hover {
  background: #f8cf7e url("/g_images/freearea/xmas2023/arrow_right_black.svg")
    no-repeat top 50% right 16px / 32px;
}

/* 繝翫ン繧ｲ繝ｼ繧ｷ繝ｧ繝ｳ繝懊ち繝ｳ */
.xmas2023 .navigation-button {
  display: flex;
  align-items: center;
  padding: 10px 26px 8px 8px;
  height: 56px;
  background: #fcebca url("/g_images/freearea/xmas2023/ico_down_black.svg")
    no-repeat top 50% right 8px / 10px;
  transition: 0.2s;
}
.xmas2023 .navigation-button:hover {
  background: #f8cf7e url("/g_images/freearea/xmas2023/ico_down_black.svg")
    no-repeat top 50% right 8px / 10px;
  cursor: pointer;
}

/* 繝懊ち繝ｳ繝懊ャ繧ｯ繧ｹ */
.xmas2023 .button-box {
  padding: 0 16px;
}

/* 繝懊ち繝ｳ繝ｪ繧ｹ繝� */
.xmas2023 .button-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: -12px;
}
.xmas2023 .button-item {
  width: calc((100% - 12px) / 2);
  margin: 0 12px 12px 0;
}
.xmas2023 .button-item:nth-child(even) {
  margin-right: 0;
}

/* 螟ｧ繝懊ち繝ｳ */
.xmas2023 .large-button {
  display: flex;
  position: relative;
  align-items: center;
  height: 64px;
  padding: 0 16px;
  color: #fff;
  font-weight: 700;
  background-image: url("/g_images/freearea/xmas2023/arrow_right_white.svg");
  background-repeat: no-repeat;
  background-position: top 50% right 16px;
  background-size: 32px;
  transition: 0.2s;
}
.xmas2023--ikebukuro .large-button {
  background-color: #bb0000;
}
.xmas2023--ikebukuro .large-button:hover {
  background-color: #970000;
}
.xmas2023--funabashi .large-button {
  background-color: #456310;
}
.xmas2023--funabashi .large-button:hover {
  background-color: #2e4309;
}
.xmas2023--haisou .large-button {
  background-color: #0c1c39;
}
.xmas2023--haisou .large-button:hover {
  background-color: #204589;
}
.xmas2023 .large-button::before {
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  left: 2px;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  border: solid 1px #fff;
}

/* --------------------
  蜈ｱ騾壹ヱ繝ｼ繝Ю繝ｪ繝ｳ繧ｯ繝�く繧ｹ繝�
  -------------------- */
.xmas2023 .link-text,
.xmas2023 .link-text:visited {
  display: flex;
  align-items: center;
  color: #092961;
  font-size: 14px;
  font-weight: 700;
  text-decoration: underline;
  transition: 0.2s;
}

.xmas2023 .link-text--ico::before {
  content: "";
  display: flex;
  justify-content: center;
  align-items: center;
  width: 18px;
  height: 18px;
  margin-right: 8px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.xmas2023 .link-text::after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  margin-left: 8px;
  transform: translateY(1px);
  background-image: url("/g_images/freearea/portal/ico_link-text.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.xmas2023 .link-text--scroll::after {
  background-image: url("/g_images/freearea/portal/ico_link-text--scroll.svg");
}

.xmas2023 .link-text:hover {
  cursor: pointer;
  opacity: 0.7;
}

/* --------------------
蜈ｱ騾喟隕句�縺�
-------------------- */
/* h2 */
.xmas2023 .section-heading {
  margin-bottom: 24px;
  padding: 0 16px;
  text-align: center;
}
.xmas2023 .section-heading img {
  width: auto;
  height: 18px;
}

/* 蟆剰ｦ句�縺� */
.xmas2023 .small-heading {
  margin-bottom: 16px;
  text-align: center;
}
.xmas2023 .small-heading img {
  width: auto;
  height: 20px;
}

/* 蝠�刀繧ｻ繧ｯ繧ｷ繝ｧ繝ｳ隕句�縺� */
.xmas2023 .product-section {
  margin-bottom: 32px;
}
.xmas2023 .product-section__contents {
  padding: 32px;
}

.xmas2023 .product-section-heading {
  margin-bottom: 24px;
  text-align: center;
}
.xmas2023 .product-section-heading__encho {
  margin-top: 8px;
  font-size: 18px;
  font-weight: 700;
  color: #ba0001;
}

.xmas2023 .product-section-heading img {
  width: auto;
  height: 28px;
}

/* --------------------
蜈ｱ騾喟蝠�刀繝ｪ繧ｹ繝�
-------------------- */
.xmas2023 .product-list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -16px;
}
.xmas2023 .product-item {
  width: calc((100% - 16px) / 2);
  margin: 0 16px 16px 0;
}

.xmas2023 .product-item--large {
  width: 100%;
  margin-right: 0;
}

.xmas2023 .product-item--large .product-item__link {
  display: flex;
}
.xmas2023 .product-item--large-reverse .product-item__link {
  display: flex;
  flex-direction: row-reverse;
}
.xmas2023 .product-item--large .product-item__image {
  width: 310px;
  height: 310px;
}

.xmas2023 .product-item--small {
  width: calc((100% - 32px) / 3);
}

.xmas2023 .product-item--edge {
  margin-right: 0;
}

.xmas2023 .product-item__detail {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 16px 8px 8px;
  transition: 0.2s;
}
.xmas2023 .product-item--large .product-item__detail {
  padding: 8px 24px;
}

.xmas2023 .product-item__link:hover .product-item__detail {
  background: #fcebca;
}
.xmas2023 .product-item__brand {
  margin-bottom: 4px;
  font-family: "Yu Mincho Light", "YuMincho", "Yu Mincho", "貂ｸ譏取悃菴�",
    sans-serif;
  font-weight: 600;
  line-height: 1.2;
}

.xmas2023 .product-item__name {
  font-family: "Yu Mincho Light", "YuMincho", "Yu Mincho", "貂ｸ譏取悃菴�",
    sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.3;
}

.xmas2023 .product-item__description {
  margin-top: 4px;
  line-height: 1.6;
  overflow: hidden;
  display: -webkit-box;
  font-size: 14px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.xmas2023 .product-item-price {
  margin-top: 8px;
  font-size: 18px;
  font-weight: 700;
}
.xmas2023 .product-item-price__small {
  font-size: 14px;
}

/* --------------------
蜈ｱ騾喟豕ｨ驥�/豕ｨ驥医Μ繧ｹ繝�
-------------------- */
.xmas2023 .note {
  display: block;
  position: relative;
  font-size: 14px;
  padding-left: 18px;
}
.xmas2023 .note::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
}

/* --------------------
繧ｿ繝�
-------------------- */
.xmas2023 .tab-navigation {
  /* position: sticky;
  top: 0;
  left: 0; */
  margin-bottom: 24px;
  z-index: 999;
}
.xmas2023 .tab-list {
  display: flex;
}
.xmas2023--ikebukuro .tab-list {
  border-bottom: solid 3px #bb0000;
}
.xmas2023--funabashi .tab-list {
  border-bottom: solid 3px #456310;
}
.xmas2023--haisou .tab-list {
  border-bottom: solid 3px #0c1c39;
}
.xmas2023 .tab {
  flex: 1;
  margin-right: 4px;
}
.xmas2023 .tab:last-child {
  margin-right: 0;
}

.xmas2023 .tab__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4px 0;
  background-color: #fcefd4;
  height: 100%;
  min-height: 56px;
  border-radius: 4px 4px 0 0;
  transition: 0.2s;
}
.xmas2023 .tab__link:hover {
  background-color: #f8cf7e;
  cursor: pointer;
}
.xmas2023 .tab.is-current .tab__link {
  color: #fff;
  pointer-events: none;
}
.xmas2023--ikebukuro .tab.is-current .tab__link {
  background-color: #bb0000;
}
.xmas2023--funabashi .tab.is-current .tab__link {
  background-color: #456310;
}
.xmas2023--haisou .tab.is-current .tab__link {
  background-color: #0c1c39;
}
.xmas2023 .tab__strong {
  font-weight: 700;
}
.xmas2023 .tab__normal {
  font-size: 14px;
}
.xmas2023 .tab__normal--red {
  display: inline;
  color: #ba0001;
}

/* --------------------
豕ｨ逶ｮ繝ｯ繝ｼ繝�
-------------------- */
.xmas2023 .keywords {
  display: flex;
  gap: 0 16px;
  margin-bottom: 24px;
}
.xmas2023 .keywords__heading {
  font-size: 18px;
  color: #392200;
  font-weight: 700;
  white-space: nowrap;
}
.xmas2023 .keyword-list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -12px;
}
.xmas2023 .keyword-item {
  margin: 0 12px 12px 0;
}
.xmas2023 .keyword-item__link {
  padding: 8px;
  color: #362404;
  border: solid 1px #ad760b;
  font-size: 14px;
  font-weight: 700;
  transition: 0.2s;
  white-space: nowrap;
  border-radius: 999px;
}
.xmas2023 .keyword-item__link:hover {
  background: #fcefd4;
}

/* --------------------
繝｡繧､繝ｳ繝薙ず繝･繧｢繝ｫ
-------------------- */
.xmas2023 .mainvisual {
  margin-bottom: 24px;
}
.xmas2023 .mainvisual__wrap {
  display: flex;
  height: 220px;
}

.xmas2023 .mainvisual__center img {
  width: auto;
  height: 220px;
}
.xmas2023 .mainvisual-product {
  flex: 1;
}
.xmas2023 .mainvisual-product__link {
  display: block;
  width: 100%;
  height: 100%;
  transition: 0.2s;
}
.xmas2023 .mainvisual-product__link:hover {
  cursor: pointer;
  opacity: 0.8;
}
.xmas2023 .mainvisual-product img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* --------------------
諠��ｱ
-------------------- */
.xmas2023 .information {
  margin-bottom: 32px;
}
.xmas2023 .information__box {
  padding: 16px 24px;
  border: solid 1px #707070;
  background-image: url("/g_images/freearea/xmas2023/img_information-top-left.png"),
    url("/g_images/freearea/xmas2023/img_information-top-right.png"),
    url("/g_images/freearea/xmas2023/img_information-bottom-left.png"),
    url("/g_images/freearea/xmas2023/img_information-bottom-right.png");
  background-repeat: no-repeat;
  background-size: 32px;
  background-position: top 2px left 2px, top 2px right 2px, bottom 2px left 2px,
    bottom 2px right 2px;
}
.xmas2023 .information__button-box {
  display: flex;
  justify-content: center;
  margin-top: 16px;
}
.xmas2023 .information__button-box .common-button {
  width: 100%;
  max-width: 280px;
}

.xmas2023 .information-item {
  display: flex;
  flex-direction: column;
  margin-bottom: 12px;
}
.xmas2023 .information-item:last-child {
  margin-bottom: 0;
}
.xmas2023 .information-item__heading {
  margin-bottom: 2px;
  color: #5f3808;
  text-align: center;
  font-family: "Yu Mincho Light", "YuMincho", "Yu Mincho", "貂ｸ譏取悃菴�", serif;
  font-weight: 700;
}
.xmas2023 .information-item__text {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 14px;
  line-height: 1.6;
  font-weight: 700;
}
.xmas2023 .information-item__text--red {
  color: #ba0001;
}
.xmas2023 .information-item__text-delete {
  display: inline;
  text-decoration: line-through;
  font-weight: 700;
}
.xmas2023 .information-item__note {
  font-size: 14px;
}

/* --------------------
繧ｭ繝｣繝ｳ繝壹�繝ｳ
-------------------- */
.xmas2023 .campaign {
  margin-bottom: 32px;
  text-align: center;
}
.xmas2023 .campaign__box {
  padding: 16px 32px;
  background-color: #f9f9f9;
}
.xmas2023 .campaign-title {
  margin-bottom: 4px;
  font-size: 18px;
  font-weight: 700;
}
.xmas2023 .campaign-title__small {
  display: block;
  margin-bottom: 4px;
  font-size: 14px;
  font-weight: 700;
}

.xmas2023 .campaign__schegule {
  margin-bottom: 4px;
  font-size: 16px;
  font-weight: 700;
  text-decoration: line-through;
}

.xmas2023 .campaign__end {
  margin-bottom: 8px;
  font-weight: 700;
  color: #c23e3e;
}

.xmas2023 .campaign-description {
  font-size: 14px;
  line-height: 1.5;
}
.xmas2023 .campaign-description__strong {
  font-weight: 700;
}
.xmas2023 .campaign-description__bold {
  font-weight: 700;
}

.xmas2023 .campaign-taisyou {
  margin: 16px;
}
.xmas2023 .campaign-taisyou__heading {
  margin-bottom: 8px;
  font-weight: 700;
}

.xmas2023 .campaign-taisyou__button-box {
  display: flex;
  justify-content: center;
}
.xmas2023 .campaign-button {
  width: 240px;
  margin-right: 16px;
  padding: 4px 16px;
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  background-image: url("/g_images/freearea/xmas2023/ico_right_white.svg");
  background-repeat: no-repeat;
  background-position: top 50% right 8px;
  background-size: 12px;
  transition: 0.2s;
}
.xmas2023 .campaign-button:last-child {
  margin-right: 0;
}
.xmas2023 .campaign-button--ikebukuro {
  background-color: #bb0000;
}
.xmas2023 .campaign-button--ikebukuro:hover {
  background-color: #970000;
}
.xmas2023 .campaign-button--haisou {
  background-color: #362404;
}
.xmas2023 .campaign-button--haisou:hover {
  background-color: #204589;
}
.xmas2023 .campaign-button__small {
  display: block;
  font-size: 14px;
}

.xmas2023 .campaign-note-list {
  margin-top: 12px;
}
.xmas2023 .campaign__note {
  display: flex;
  margin-bottom: 8px;
  font-size: 14px;
  text-align: left;
}
.xmas2023 .campaign__note::before {
  content: "※";
  margin-right: 2px;
}
.xmas2023 .campaign__note:last-child {
  margin-bottom: 0;
}

.xmas2023 .campaign-note-trigger {
  display: flex;
  justify-content: center;
  margin-top: 12px;
  color: #092961;
  text-decoration: underline;
}

.xmas2023 .campaign-note-trigger__text {
  display: flex;
  align-items: center;
  font-size: 14px;
  font-weight: 700;
}
.xmas2023 .campaign-note-trigger__text::after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  margin-left: 4px;
  background: url("/g_images/freearea/xmas2023/ico_toggle-trigger_blue.svg")
    no-repeat center / contain;
}
.xmas2023 .campaign-note-trigger__text.is-active::after {
  transform: rotate(180deg);
}
.xmas2023 .campaign-note-trigger__text:hover {
  cursor: pointer;
}

/* --------------------
繧ｭ繝ｼ繝ｯ繝ｼ繝峨〒謗｢縺�
-------------------- */
.xmas2023 .search {
  display: flex;
  margin-bottom: 40px;
}
.xmas2023 .search__input {
  flex: 1;
  font-family: YuGothic, "Yu Gothic", sans-serif;
  height: 56px;
  padding: 0 24px;
  border: solid 1px #7b4609;
  font-size: 16px;
  font-weight: 600;
}
.xmas2023 .search__input::placeholder {
  color: #767676;
}
.xmas2023 .search-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 120px;
  transition: 0.2s;
  border: 0;
}
.xmas2023 .search-submit:hover {
  cursor: pointer;
}

/* 繝壹�繧ｸ蛻･濶ｲ蛻�￠ */
.xmas2023--ikebukuro .search-submit {
  background-color: #bb0000;
}
.xmas2023--ikebukuro .search-submit:hover {
  background-color: #970000;
}
.xmas2023--funabashi .search-submit {
  background-color: #456310;
}
.xmas2023--funabashi .search-submit:hover {
  background-color: #2e4309;
}
.xmas2023--haisou .search-submit {
  background-color: #0c1c39;
}
.xmas2023--haisou .search-submit:hover {
  background-color: #204589;
}

.xmas2023 .search-submit__text {
  font-family: "Yu Mincho Light", "YuMincho", "Yu Mincho", "貂ｸ譏取悃菴�", serif;
  display: flex;
  align-items: center;
  font-size: 18px;
  font-weight: 700;
  color: #fff;
}
.xmas2023 .search-submit__text::after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  margin-left: 8px;
  background: url("/g_images/freearea/portal/ico_search_white.svg") no-repeat
    center / contain;
}

/* --------------------
                    繝ｩ繝ｳ繧ｭ繝ｳ繧ｰ
                    -------------------- */
#top #contenter #main .rankingTop .itemsList {
  margin: 0;
  padding: 0 !important;
  background: none;
  border: 0;
}
#top #contenter #main .rankingTop p.line {
  display: none;
}
#top #contenter #main .rankingTop h3.rankingTitle {
  position: relative;
  margin-bottom: 12px;
  padding: 8px 0;
  background: #faf5ee;
  border-bottom: solid 1px #e7cba0;
}
#top #contenter #main .rankingTop h3.rankingTitle::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  display: block;
  width: 3px;
  height: 100%;
  background-color: #ab6422;
}
#top #contenter #main .rankingTop p.moreCategoryBtn {
  top: 9px;
}

#top #contenter #main .rankingTop .itemsList ul {
  display: flex;
  margin: 0;
  background: none;
}
#top #contenter #main .rankingTop .itemsList ul:not(:last-child) {
  margin-bottom: 32px;
}
#top #contenter #main .rankingTop .itemsList ul li {
  width: calc((100% - 64px) / 5);
  display: block;
  margin: 0;
  padding: 0 !important;
}
#top #contenter #main .rankingTop .itemsList ul li:not(:last-child) {
  margin-right: 16px;
}
#top #contenter #main .rankingTop .itemsList ul li dt img {
  width: 100%;
  height: auto;
}

/* --------------------
蝠�刀繧ｫ繝�ざ繝ｪ繝翫ン繧ｲ繝ｼ繧ｷ繝ｧ繝ｳ
-------------------- */
.xmas2023 .category {
  margin-bottom: 48px;
}

.xmas2023 .category__heading {
  margin-bottom: 12px;
  text-align: center;
}

.xmas2023 .category-navigation-list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -16px;
}
.xmas2023 .category-navigation-item {
  width: calc((100% - 16px) / 2);
  margin: 0 16px 16px 0;
}
.xmas2023 .category-navigation-item:nth-child(even) {
  margin-right: 0;
}

.xmas2023 .category-navigation-item__link {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 100%;
  height: 64px;
  padding: 8px 16px;
  font-size: 18px;
  color: #fff;
}

/* 繧ｫ繝�ざ繝ｪ繝翫ン繧ｲ繝ｼ繧ｷ繝ｧ繝ｳ 閭梧勹逕ｻ蜒� 蜈ｱ騾� */
.xmas2023 .category-navigation-item--ranking .category-navigation-item__link {
  background: url("/g_images/freearea/xmas2023/bg_nav-ranking.jpg") no-repeat
    center / cover;
}

/* 繧ｫ繝�ざ繝ｪ繝翫ン繧ｲ繝ｼ繧ｷ繝ｧ繝ｳ 閭梧勹逕ｻ蜒� 豎�陲� */
.xmas2023--ikebukuro
  .category-navigation-item--cake
  .category-navigation-item__link {
  background: url("/g_images/23igike/A001/pc1_l.jpg") no-repeat center / cover;
}
.xmas2023--ikebukuro
  .category-navigation-item--hors-d-oeuvre
  .category-navigation-item__link {
  background: url("/g_images/23igike/A065/pc1_l.jpg") no-repeat center / cover;
}

/* 繧ｫ繝�ざ繝ｪ繝翫ン繧ｲ繝ｼ繧ｷ繝ｧ繝ｳ 閭梧勹逕ｻ蜒� 闊ｹ讖� */
.xmas2023--funabashi
  .category-navigation-item--cake
  .category-navigation-item__link {
  background: url("/g_images/23igfuna/C009/pc1_l.jpg") no-repeat center / cover;
}
.xmas2023--funabashi
  .category-navigation-item--hors-d-oeuvre
  .category-navigation-item__link {
  background: url("/g_images/23igfuna/C025/pc1_l.jpg") no-repeat center / cover;
}

/* 繧ｫ繝�ざ繝ｪ繝翫ン繧ｲ繝ｼ繧ｷ繝ｧ繝ｳ 閭梧勹逕ｻ蜒� 驟埼� */
.xmas2023--haisou
  .category-navigation-item--sweets
  .category-navigation-item__link {
  background: url("/g_images/23ih/B033/pc1_l.jpg") no-repeat center / cover;
}
.xmas2023--haisou
  .category-navigation-item--frozen
  .category-navigation-item__link {
  background: url("/g_images/23ih/B007/pc1_l.jpg") no-repeat center / cover;
}
.xmas2023--haisou
  .category-navigation-item--adventcalendar
  .category-navigation-item__link {
  background: url("/g_images/23ih/B048/pc2_l.jpg") no-repeat center / cover;
}
.xmas2023--haisou
  .category-navigation-item--specialwine
  .category-navigation-item__link {
  background: url("/g_images/23ih/B045/pc1_l.jpg") no-repeat center / cover;
}
.xmas2023--haisou
  .category-navigation-item--cakelink
  .category-navigation-item__link {
  background: url("/g_images/23ih/B042/pc1_l.jpg") no-repeat center / cover;
}

.xmas2023 .category-navigation-item__link::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  transition: 0.2s;
}
.xmas2023 .category-navigation-item__link:hover::after {
  background: rgba(173, 118, 11, 0.4);
}
.xmas2023 .category-navigation-item-text {
  position: relative;
  z-index: 1;
  padding-bottom: 12px;
  font-weight: 700;
  background: url("/g_images/freearea/xmas2023/arrow_scroll_white.svg")
    no-repeat bottom 0 left 50% / 24px;
}
.xmas2023 .category-navigation-item-text__small {
  display: block;
  margin-bottom: 2px;
  font-size: 14px;
  line-height: 1;
}

/* --------------------
蝠�刀繧ｫ繝�ざ繝ｪ繧ｻ繧ｯ繧ｷ繝ｧ繝ｳ
-------------------- */
.xmas2023 .product-section {
  margin-bottom: 64px;
}
.xmas2023 .product-section:last-child {
  margin-bottom: 0;
}

.xmas2023 .product-section__heading {
  text-align: center;
  margin-bottom: 16px;
}
.xmas2023 .product-section__heading img {
  width: auto;
  height: 80px;
}
.xmas2023 .product-section--frozen-cake .product-section__heading img {
  height: 104px;
}

.xmas2023 .product-section__lead {
  margin-bottom: 16px;
  text-align: center;
  font-size: 16px;
}

.xmas2023 .product-section__contents {
  padding: 40px 32px;
  background: #fffef1;
}
.xmas2023 .product-section__allbutton {
  display: flex;
  justify-content: center;
  margin-top: 24px;
  padding: 0 16px;
}
.xmas2023 .product-section__allbutton .large-button {
  min-width: 400px;
}

.xmas2023 .product-section__notice {
  margin-bottom: 16px;
}

/* --------------------
蝠�刀繧ｫ繝�ざ繝ｪ繧ｻ繧ｯ繧ｷ繝ｧ繝ｳ 繝翫ン繧ｲ繝ｼ繧ｷ繝ｧ繝ｳ
-------------------- */
.xmas2023 .product-section-index {
  margin-bottom: 40px;
}
.xmas2023 .product-section-index__inner {
  padding: 0 32px;
}
.xmas2023 .product-section-index-list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -16px;
}
.xmas2023 .product-section-index-item {
  width: calc((100% - 32px) / 3);
  margin: 0 16px 16px 0;
}
.xmas2023 .product-section-index-item:nth-child(3n) {
  margin-right: 0;
}

/* --------------------
蝠�刀繧ｫ繝�ざ繝ｪ繧ｻ繧ｯ繧ｷ繝ｧ繝ｳ > 繝斐ャ繧ｯ繧｢繝��蝠�刀
-------------------- */
.xmas2023 .pickup {
  margin-bottom: 0;
}

/* --------------------
蝠�刀繧ｫ繝�ざ繝ｪ繧ｻ繧ｯ繧ｷ繝ｧ繝ｳ > 莠育ｮ励°繧蛾∈縺ｶ
-------------------- */
.xmas2023 .budget {
  margin-bottom: 64px;
}
.xmas2023 .budget-button-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.xmas2023 .budget-button-item {
  width: calc((100% - 32px) / 3);
  margin: 0 16px 16px 0;
}
.xmas2023 .budget-button-item:nth-child(3n) {
  margin-right: 0;
}

/* --------------------
蝠�刀繧ｫ繝�ざ繝ｪ繧ｻ繧ｯ繧ｷ繝ｧ繝ｳ > 莠ｺ謨ｰ縺九ｉ驕ｸ縺ｶ
-------------------- */
.xmas2023 .people {
  margin-bottom: 64px;
}
.xmas2023 .people-button-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.xmas2023 .people-button-item {
  width: calc((100% - 48px) / 4);
  margin: 0 16px 16px 0;
}
.xmas2023 .people-button-item:nth-child(4n) {
  margin-right: 0;
}

/* --------------------
蝠�刀繧ｫ繝�ざ繝ｪ繧ｻ繧ｯ繧ｷ繝ｧ繝ｳ > 繧ｵ繧､繧ｺ縺九ｉ驕ｸ縺ｶ
-------------------- */
.xmas2023 .size {
  margin-bottom: 64px;
}
.xmas2023 .size-button-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.xmas2023 .size-button-item {
  width: calc((100% - 48px) / 4);
  margin: 0 16px 16px 0;
}
.xmas2023 .size-button-item:nth-child(4n) {
  margin-right: 0;
}

/* --------------------
蝠�刀繧ｫ繝�ざ繝ｪ繧ｻ繧ｯ繧ｷ繝ｧ繝ｳ > 莠ｺ豌励ヶ繝ｩ繝ｳ繝�
-------------------- */
.xmas2023 .brand {
  margin-bottom: 64px;
}
.xmas2023 .brand-button-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: -16px;
}
.xmas2023 .brand-button-item {
  display: inline-block;
  margin: 0 16px 16px 0;
}
.xmas2023 .brand__allbutton {
  display: flex;
  justify-content: center;
  margin-top: 24px;
}
.xmas2023 .brand__allbutton .main-button {
  width: 100%;
  max-width: 300px;
}

/* --------------------
蝠�刀繧ｫ繝�ざ繝ｪ繧ｻ繧ｯ繧ｷ繝ｧ繝ｳ > 繧ｫ繧ｿ繝ｭ繧ｰ謗ｲ霈峨き繝�ざ繝ｪ縺九ｉ驕ｸ縺ｶ
-------------------- */
.xmas2023 .catalog-category__row {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 24px;
}
.xmas2023 .catalog-category__row:last-child {
  margin-bottom: 0;
}
.xmas2023 .catalog-category-item {
  width: calc((100% - 48px) / 3);
  margin-right: 24px;
}
.xmas2023 .catalog-category-item:nth-child(3n),
.xmas2023 .catalog-category-item:last-child {
  margin-right: 0;
}

.xmas2023 .catalog-category-item__image {
  position: relative;
  margin-bottom: 12px;
  border-radius: 999px;
  overflow: hidden;
}
.xmas2023 .catalog-category-item__image::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(173, 118, 11, 0.4);
  border-radius: 999px;
  opacity: 0;
  transition: 0.2s;
}
.xmas2023
  .catalog-category-item__link:hover
  .catalog-category-item__image::after {
  opacity: 1;
}

.xmas2023 .catalog-category-item__text {
  text-align: center;
}
.xmas2023 .catalog-category-item__name {
  font-family: "Yu Mincho Light", "YuMincho", "Yu Mincho", "貂ｸ譏取悃菴�", serif;
  text-align: center;
  font-weight: 600;
  font-size: 20px;
  transition: 0.2s;
}
.xmas2023 .catalog-category-item__link:hover .catalog-category-item__name {
  color: #ad760b;
}
.xmas2023 .catalog-category-item__description {
  display: block;
  font-size: 14px;
  margin-top: 2px;
}

/* --------------------
莉悶�繝ｼ繧ｸ縺ｸ縺ｮ繝ｪ繝ｳ繧ｯ
-------------------- */
.xmas2023 .other-pages {
  margin-bottom: 64px;
}
.xmas2023 .other-pages__inner {
  padding: 0 16px;
}
.xmas2023 .other-pages-item {
  margin-bottom: 16px;
  font-size: 0;
}
.xmas2023 .other-pages-item:last-child {
  margin-bottom: 0;
}
.xmas2023 .other-pages__note {
  position: relative;
  margin-top: 8px;
  padding-left: 18px;
  font-size: 14px;
}
.xmas2023 .other-pages__note::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}
.xmas2023 .other-pages-item__link {
  transition: 0.2s;
}
.xmas2023 .other-pages-item__link:hover {
  opacity: 0.6;
  cursor: pointer;
}

/* --------------------
縺薙■繧峨ｂ縺翫☆縺吶ａ
-------------------- */
.xmas2023 .recommend {
  margin-bottom: 64px;
}
.xmas2023 .recommend__inner {
  padding: 0 16px;
}
.xmas2023 .recommend-banner-list {
  display: flex;
  flex-wrap: wrap;
}

.xmas2023 .recommend-banner-item {
  width: calc((100% - 32px) / 3);
  margin-right: 16px;
  font-size: 0;
}
.xmas2023 .recommend-banner-item:nth-child(3n) {
  margin-right: 0;
}

.xmas2023 .recommend-banner-item__link {
  transition: 0.2s;
}
.xmas2023 .recommend-banner-item__link:hover {
  opacity: 0.6;
  cursor: pointer;
}

/* --------------------
縺贋ｸｭ蜈��雎�衍隴�
-------------------- */
.xmas2023 .knowledge {
  margin-bottom: 40px;
}
.xmas2023 .knowledge__heading {
  padding: 0 16px;
  margin-bottom: 24px;
  text-align: center;
}
.xmas2023 .knowledge__heading img {
  width: auto;
  height: 40px;
}
.xmas2023 .knowledge-list {
  padding: 0 16px;
}
.xmas2023 .knowledge-item {
  margin-bottom: 24px;
}
.xmas2023 .knowledge-item:last-child {
  margin-bottom: 0;
}
.xmas2023 .knowledge-item__title {
  display: flex;
  align-items: center;
  margin-bottom: 16px;
  padding-bottom: 4px;
  font-size: 18px;
  font-family: "Yu Mincho Light", "YuMincho", "Yu Mincho", "貂ｸ譏取悃菴�", serif;
  font-weight: 700;
  border-bottom: solid 1px #ad760a;
}
.xmas2023 .knowledge-item__title::before {
  content: "";
  display: block;
  align-self: flex-start;
  min-width: 24px;
  height: 24px;
  margin-right: 8px;
  transform: translateY(-2px);
  background: url("/g_images/freearea/xmas2023/img_knowledge-heading.png")
    no-repeat center / contain;
}
.xmas2023 .knowledge-item__text {
  margin-bottom: 16px;
  line-height: 1.6;
}
.xmas2023 .knowledge-item__text:last-child {
  margin-bottom: 0;
}

/* --------------------
縺疲ｳｨ諢丈ｺ矩��
-------------------- */
.xmas2023 .notice {
  background: #f9f9f9;
}
.xmas2023 .notice__heading {
  margin-bottom: 20px;
  font-family: "Yu Mincho Light", "YuMincho", "Yu Mincho", "貂ｸ譏取悃菴�", serif;
  font-size: 18px;
  text-align: center;
  font-weight: 700;
}
.xmas2023 .notice__inner {
  padding: 32px 28px;
}
.xmas2023 .notice__contents {
  font-size: 16px;
  line-height: 1.6;
}
.xmas2023 .notice-section {
  margin-bottom: 20px;
}
.xmas2023 .notice-section:last-child {
  margin-bottom: 0;
}
.xmas2023 .notice-section__heading {
  margin-bottom: 4px;
  font-weight: 700;
}
.xmas2023 .notice-section__text {
  font-size: 14px;
}
.xmas2023 .notice-section__note {
  position: relative;
  padding-left: 18px;
  font-size: 14px;
}
.xmas2023 .notice-section__note.notice-section__note--red {
  color: red;
}
.xmas2023 .notice-section__note::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}

.notice-section-list-item {
  position: relative;
  padding-left: 16px;
  margin-bottom: 4px;
  font-size: 14px;
}
.notice-section-list-item:last-child {
  margin-bottom: 0;
}
.notice-section-list-item::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}

.xmas2023 .notice-section-number-item {
  position: relative;
  padding-left: 24px;
  font-size: 14px;
}
.xmas2023 .notice-section-number-item__number {
  position: absolute;
  top: 0;
  left: 0;
}

.xmas2023 .notice-section__link {
  color: blue;
  text-decoration: underline;
}
.xmas2023 .notice-section__link:hover {
  text-decoration: none;
  cursor: pointer;
}

.xmas2023 .notice-trigger {
  padding: 16px 0;
  font-size: 16px;
  font-weight: 700;
  text-decoration: underline;
}
.xmas2023 .notice-trigger__text {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  font-weight: 600;
  text-decoration: underline;
  padding-right: 32px;
}
.xmas2023 .notice-trigger__text::after {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  margin-left: 16px;
  background: url("/g_images/freearea/xmas2023/ico_toggle-trigger.svg")
    no-repeat center / contain;
}
.xmas2023
  .notice__inner.is-active
  + .notice-trigger
  .notice-trigger__text::after {
  transform: rotate(180deg);
}
.xmas2023 .notice-trigger__text:hover {
  cursor: pointer;
  text-decoration: none;
}

/* --------------------
繧ｵ繧､繝� 繝ｪ繧ｻ繝�ヨ
-------------------- */
.xmas2023-side {
  padding-top: 0;
  font-family: YuGothic, "Yu Gothic", sans-serif;
  font-size: 16px;
  line-height: 1.3;
  color: #362404;
}
.xmas2023-side *,
.xmas2023-side *::before,
.xmas2023-side *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  line-height: 1;
}
.xmas2023-side a {
  color: #2a2007;
}
.xmas2023-side p {
  margin: 0 !important;
}
.xmas2023-side a:hover {
  text-decoration: none;
}
.xmas2023-side img {
  max-width: 100%;
  height: auto;
}

/* --------------------
繧ｵ繧､繝� 繝｡繝九Η繝ｼ
-------------------- */
.xmas2023-side .side-menu {
  margin-bottom: 40px;
}

.xmas2023-side .side-head {
  margin-bottom: 24px;
}
.xmas2023-side .side-head__link {
  transition: 0.2s;
}
.xmas2023-side .side-head__link:hover {
  opacity: 0.6;
}

.xmas2023-side .side-menu__title {
  position: relative;
  height: 48px;
  padding: 4px 8px 4px 16px;
  display: flex;
  align-items: center;
  font-family: "Yu Mincho Light", "YuMincho", "Yu Mincho", "貂ｸ譏取悃菴�", serif;
  font-size: 18px;
  font-weight: 600;
  color: #362404;
  background: url(/g_images/freearea/xmas2023/img_menu-heading.png) no-repeat
    top 0 left 0 / 20px;
  border-bottom: solid 1px #362404;
}
.xmas2023-side .side-menu__title::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 2px;
  width: 100%;
  height: 2px;
  background-color: #362404;
}

.xmas2023-side .side-menu-item {
  border-bottom: solid 1px #362404;
}
.xmas2023-side .side-menu-item__link {
  display: flex;
  align-items: center;
  position: relative;
  height: 48px;
  font-weight: 700;
  background-image: url("/g_images/freearea/xmas2023/arrow_right_black.svg");
  background-repeat: no-repeat;
  background-position: top 50% right 0;
  background-size: 16px;
  transition: 0.2s;
}
.xmas2023-side .side-menu-item__link:hover {
  background-color: #fcefd4;
}

.xmas2023-side .side-menu-item__title {
  display: flex;
  align-items: center;
  position: relative;
  height: 48px;
  font-weight: 700;
  border-bottom: solid 1px;
}
.xmas2023-side .side-menu-item__title::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 12px;
  height: 12px;
  transform: translateY(-50%);
  background: url("/g_images/freearea/xmas2023/ico_down_black.svg") no-repeat
    center / contain;
  transition: 0.2s;
}
.xmas2023-side .side-menu-item__title.is-active::after {
  transform: translateY(-50%) rotate(180deg);
}

.xmas2023-side .side-menu-item__title:hover {
  cursor: pointer;
  background-color: #fcefd4;
}

.xmas2023-side .side-menu-item__small {
  display: block;
  margin-bottom: 2px;
  font-size: 14px;
}

/* 繧ｵ繧､繝峨Γ繝九Η繝ｼ 2髫主ｱ､逶ｮ */
.xmas2023-side .side-menu-second-item {
  border-bottom: solid #ccc 1px;
}
.xmas2023-side .side-menu-second-item__link {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 48px;
  padding: 8px 48px 8px 1em;
  background-image: url("/g_images/freearea/xmas2023/arrow_right_black.svg");
  background-repeat: no-repeat;
  background-position: top 50% right 8px;
  background-size: 16px;
  transition: 0.2s;
}
.xmas2023-side .side-menu-second-item__link:hover {
  background-color: #fcefd4;
}

.xmas2023-side .side-menu-second-item__small {
  margin-bottom: 4px;
  font-size: 14px;
  font-weight: 400;
}

/* --------------------
繧ｵ繧､繝� 繝舌リ繝ｼ繝ｪ繧ｹ繝�
-------------------- */
.xmas2023-side .side-banner-item {
  margin-bottom: 8px;
  font-size: 0;
}
.xmas2023-side .side-banner-item:last-child {
  margin-bottom: 0;
}
.xmas2023-side .side-banner-item__link {
  transition: 0.2s;
}
.xmas2023-side .side-banner-item__link:hover {
  opacity: 0.6;
}
.xmas2023-side .side-banner .note {
  margin-top: 12px;
}
