@charset "UTF-8";

/* =========================================================
  Winter Campaign Styles (cleaned & refactored)
  - Consolidated media queries
  - Fixed typos & invalid values
  - Removed duplicate/contradicting rules
  - Introduced CSS variables for colors
  - Kept BEM structure and specificity
   ========================================================= */

:root {
  --c-white: #fff;
  --c-black: #000;
  --c-primary: #C11A11;
  --c-accent: #AB844D;
  --c-gold: #BEA555;
  --c-bg-ivory: #FDFCF1;
  --c-bg-items: #f5f0e9;
  --c-muted: #ccc;
  --c-free: #D45F59;
  --c-free-text: #3a3a3a;
  --c-free-strong: #E8532F;
  --c-cool: #31C2F7;

  /* Category title backgrounds */
  --c-cat01: #5C9398;
  --c-cat02: #D4B401;
  --c-cat03: #C1502E;
  --c-cat04: #EB8E46;
  --c-cat05: #333F6F;
}

/* Utility */
.only-sp {
  display: none !important;
}

@media (max-width: 767.98px) {
  .only-sp {
    display: block !important;
  }

  .sp-none {
    display: none !important;
  }
}

.slick-dots>li:first-child:last-child {
  display: none;
}

#allWrap {
  overflow: visible;
}

/* =========================================================
  Winter (page scope)
   ========================================================= */
.winter {
  /* modal scope container */
}

/* Base page scaffold */
.winter#eventWrap {
  background-color: var(--c-white);
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  -webkit-font-feature-settings: normal;
  font-feature-settings: normal;
  color: var(--c-black);
}

/* MV */
.winter__mv {
  margin: 0;
}

.winter__mv-link {
  display: block;
}

.winter__mv img {
  width: 100%;
}

/* Nav */
.winter__nav {
  position: -webkit-sticky;
  position: sticky;
  top: 67px;
  left: 0;
  z-index: 8;
  width: 100%;
  padding: 8px 0;
  -webkit-transition: .3s;
  transition: .3s;
  background: var(--c-accent);
}

@media (max-width: 767.98px) {
  .winter__nav {
    top: 0;
    padding: 9px 10px;
  }
}

.winter__nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (max-width: 767.98px) {
  .winter__nav-list {
    gap: 10px 0;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin: 0 -20px;
  }
}

.winter__nav-item {
  width: calc(100% / 6);
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
}

@media (max-width: 767.98px) {
  .winter__nav-item {
    width: calc(100% / 3);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: 5px;
    font-size: 1rem;
    text-align: left;
  }
}

.winter__nav-item.-item00 .winter__nav-image {
  background-image: url(/pages/winter/img/cat_ico00.svg);
}

.winter__nav-item.-item01 .winter__nav-image {
  background-image: url(/pages/winter/img/cat_ico01.svg);
}

.winter__nav-item.-item02 .winter__nav-image {
  background-image: url(/pages/winter/img/cat_ico02.svg);
}

.winter__nav-item.-item03 .winter__nav-image {
  background-image: url(/pages/winter/img/cat_ico03.svg);
}

.winter__nav-item.-item04 .winter__nav-image {
  background-image: url(/pages/winter/img/cat_ico04.svg);
}

.winter__nav-item.-item05 .winter__nav-image {
  background-image: url(/pages/winter/img/cat_ico05.svg);
}

.winter__nav-item.-current .winter__nav-image img {
  opacity: 0;
}

.winter__nav-link {
  display: block;
  -webkit-transition: all .3s linear;
  transition: all .3s linear;
  opacity: 1;
  text-decoration: none;
}

/* Keep hover fully opaque; rely on image fade for feedback */
.winter__nav-link:hover {
  opacity: 1;
  text-decoration: none;
  cursor: pointer;
}

@media (max-width: 767.98px) {
  .winter__nav-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: 5px;
  }
}

.winter__nav-link:hover .winter__nav-image img {
  opacity: 0;
}

.winter__nav-image {
  width: 40px;
  height: 40px;
  margin: 0 auto;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto;
}

@media (max-width: 767.98px) {
  .winter__nav-image {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 30px;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    margin: 0 auto;
  }
}

.winter__nav-image img {
  -webkit-transition: all .3s linear;
  transition: all .3s linear;
}

.winter__nav-text {
  padding-top: 4px;
  color: var(--c-white);
}

@media (max-width: 767.98px) {
  .winter__nav-text {
    padding-top: 0;
  }
}

/* Inner */
.winter__inner {
  max-width: 1080px;
  margin: 0 auto;
}

@media (max-width: 767.98px) {
  .winter__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* Lead */
.winter__lead {
  position: relative;
  z-index: 0;
  padding: 120px 0;
  text-align: center;
  overflow: hidden;
}

@media (max-width: 767.98px) {
  .winter__lead {
    padding: 90px 0 80px;
    text-align: left;
  }
}

.winter__lead::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: url(/pages/winter/img/lead_bg.svg) no-repeat center center;
  background-size: 1520px auto;
  pointer-events: none;
}

@media (max-width: 767.98px) {
  .winter__lead::before {
    background:
      url(/pages/winter/img/lead_bg-sp-top.svg) no-repeat top center,
      url(/pages/winter/img/lead_bg-sp-bottom.svg) no-repeat bottom center;
    background-size: 100% auto, 100% auto;
  }
}

.winter__lead-title {
  margin-bottom: 30px;
  color: var(--c-primary);
  font-size: 3rem;
  font-family: "Zen Old Mincho", serif;
  font-weight: bold;
  letter-spacing: .1em;
  line-height: 1.8;
}

@media (max-width: 767.98px) {
  .winter__lead-title {
    font-size: 2.4rem;
    letter-spacing: .16em;
    line-height: 1.96;
    text-align: center;
  }
}

.winter__lead-text {
  font-size: 1.8rem;
  line-height: 1.77;
  letter-spacing: .03em;
}

@media (max-width: 767.98px) {
  .winter__lead-text {
    font-size: 1.8rem;
  }
}

/* Categories */
.winter__categories {
  padding: 150px 0 200px;
  overflow: hidden;
  background: var(--c-bg-ivory);
}

@media (max-width: 767.98px) {
  .winter__categories {
    padding: 50px 0 100px;
  }
}

.winter__categories-block {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media (max-width: 767.98px) {
  .winter__categories-block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
}

.winter__categories-block:nth-child(2n) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

@media (max-width: 767.98px) {
  .winter__categories-block:nth-child(2n) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
}

.winter__categories-block:not(:last-child) {
  margin-bottom: 80px;
  padding-bottom: 90px;
  border-bottom: 2px solid var(--c-gold);
}

@media (max-width: 767.98px) {
  .winter__categories-block:not(:last-child) {
    margin-bottom: 50px;
    padding-bottom: 60px;
  }
}

.winter__categories-block::before {
  content: "";
  position: absolute;
  z-index: -1;
  display: block;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  pointer-events: none;
}

/* Decorative bubbles (sizes/positions preserved) */
.winter__categories-block.-category01::before {
  right: -120px;
  top: -120px;
  width: 517px;
  height: 517px;
}

@media (max-width: 767.98px) {
  .winter__categories-block.-category01::before {
    right: 50%;
    top: -20px;
    -webkit-transform: translateX(225px);
    transform: translateX(225px);
    width: 661px;
    height: 830px;
  }
}

.winter__categories-block.-category01 .winter__categories-block_image {
  -webkit-box-shadow: 10px 10px 0 0 rgba(92, 147, 152, .3);
  box-shadow: 10px 10px 0 0 rgba(92, 147, 152, .3);
}

@media (max-width: 767.98px) {
  .winter__categories-block.-category01 .winter__categories-block_image {
    -webkit-box-shadow: 7px 7px 0 0 rgba(92, 147, 152, .3);
    box-shadow: 7px 7px 0 0 rgba(92, 147, 152, .3);
  }
}

.winter__categories-block.-category02::before {
  left: -300px;
  top: -70px;
  width: 820px;
  height: 820px;
}

@media (max-width: 767.98px) {
  .winter__categories-block.-category02::before {
    left: auto;
    right: 50%;
    top: 260px;
    -webkit-transform: translateX(225px);
    transform: translateX(225px);
    width: 660px;
    height: 863px;
  }
}

.winter__categories-block.-category02 .winter__categories-block_image {
  -webkit-box-shadow: 10px 10px 0 0 rgba(212, 180, 1, .3);
  box-shadow: 10px 10px 0 0 rgba(212, 180, 1, .3);
}

@media (max-width: 767.98px) {
  .winter__categories-block.-category02 .winter__categories-block_image {
    -webkit-box-shadow: 7px 7px 0 0 rgba(212, 180, 1, .3);
    box-shadow: 7px 7px 0 0 rgba(212, 180, 1, .3);
  }
}

.winter__categories-block.-category03::before {
  right: -70px;
  top: 60px;
  width: 517px;
  height: 517px;
}

@media (max-width: 767.98px) {
  .winter__categories-block.-category03::before {
    right: 50%;
    top: auto;
    bottom: -120px;
    -webkit-transform: translateX(225px);
    transform: translateX(225px);
    width: 227px;
    height: 227px;
  }
}

.winter__categories-block.-category03 .winter__categories-block_image {
  -webkit-box-shadow: 10px 10px 0 0 rgba(193, 80, 46, .3);
  box-shadow: 10px 10px 0 0 rgba(193, 80, 46, .3);
}

@media (max-width: 767.98px) {
  .winter__categories-block.-category03 .winter__categories-block_image {
    -webkit-box-shadow: 7px 7px 0 0 rgba(193, 80, 46, .3);
    box-shadow: 7px 7px 0 0 rgba(193, 80, 46, .3);
  }
}

.winter__categories-block.-category04::before {
  left: -70px;
  bottom: 30px;
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
  width: 517px;
  height: 517px;
}

@media (max-width: 767.98px) {
  .winter__categories-block.-category04::before {
    left: 50%;
    top: 150px;
    bottom: auto;
    -webkit-transform: translate(-420px, 0);
    transform: translate(-420px, 0);
    width: 538px;
    height: 538px;
  }
}

.winter__categories-block.-category04 .winter__categories-block_image {
  -webkit-box-shadow: 10px 10px 0 0 rgba(235, 142, 70, .3);
  box-shadow: 10px 10px 0 0 rgba(235, 142, 70, .3);
}

@media (max-width: 767.98px) {
  .winter__categories-block.-category04 .winter__categories-block_image {
    -webkit-box-shadow: 7px 7px 0 0 rgba(235, 142, 70, .3);
    box-shadow: 7px 7px 0 0 rgba(235, 142, 70, .3);
  }
}

.winter__categories-block.-category05::before {
  right: -450px;
  top: -210px;
  width: 685px;
  height: 685px;
}

@media (max-width: 767.98px) {
  .winter__categories-block.-category05::before {
    right: 50%;
    top: 76px;
    -webkit-transform: translateX(225px);
    transform: translateX(225px);
    width: 660px;
    height: 863px;
  }
}

.winter__categories-block.-category05 .winter__categories-block_image {
  -webkit-box-shadow: 10px 10px 0 0 rgba(51, 63, 111, .3);
  box-shadow: 10px 10px 0 0 rgba(51, 63, 111, .3);
}

@media (max-width: 767.98px) {
  .winter__categories-block.-category05 .winter__categories-block_image {
    -webkit-box-shadow: 7px 7px 0 0 rgba(51, 63, 111, .3);
    box-shadow: 7px 7px 0 0 rgba(51, 63, 111, .3);
  }
}

.winter__categories-block_content {
  position: relative;
  width: 47.5%;
}

@media (max-width: 767.98px) {
  .winter__categories-block_content {
    width: 100%;
  }
}

.winter__categories-block_title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 15px;
  margin-bottom: 20px;
  text-align: center;
}

@media (max-width: 767.98px) {
  .winter__categories-block_title {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin: 0 auto 25px;
  }
}

.winter__categories-block_title-icon {
  position: relative;
  z-index: 2;
  display: block;
  width: 110px;
  margin: 0;
}

.winter__categories-block_title-inner {
  position: relative;
  z-index: 1;
  display: block;
  padding: 6px 20px;
  border-radius: 3px;
  -webkit-box-shadow: 0 0 6px 0 rgba(0, 0, 0, .15);
  box-shadow: 0 0 6px 0 rgba(0, 0, 0, .15);
}

.winter__categories-block_title-inner.-cat01 {
  background-color: var(--c-cat01);
}

.winter__categories-block_title-inner.-cat02 {
  background-color: var(--c-cat02);
}

.winter__categories-block_title-inner.-cat03 {
  background-color: var(--c-cat03);
}

.winter__categories-block_title-inner.-cat04 {
  background-color: var(--c-cat04);
}

.winter__categories-block_title-inner.-cat05 {
  background-color: var(--c-cat05);
}

.winter__categories-block_ttl {
  font-size: 2.4rem;
  font-weight: 600;
  letter-spacing: .03em;
}

@media (max-width: 767.98px) {
  .winter__categories-block_ttl {
    font-size: 1.6rem;
  }
}

.winter__categories-block_text_l {
  margin-bottom: 15px;
  font-size: 2.4rem;
  font-family: 'Zen Old Mincho', serif;
  font-weight: 600;
  letter-spacing: .06em;
  line-height: 1.25;
  text-align: center;
}

@media (max-width: 767.98px) {
  .winter__categories-block_text_l {
    font-size: 2rem;
    line-height: 1.5;
    text-align: left;
  }
}

.winter__categories-block_text {
  margin-bottom: 20px;
  font-size: 1.6rem;
  line-height: 1.75;
  text-align: center;
}

@media (max-width: 767.98px) {
  .winter__categories-block_text {
    font-size: 1.6rem;
    text-align: left;
  }
}

.winter__categories-block_button {
  margin-top: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.winter__categories-block_button.color_change_1 a {
  background-color: var(--c-cat01);
}

.winter__categories-block_button.color_change_2 a {
  background-color: var(--c-cat02);
}

.winter__categories-block_button.color_change_3 a {
  background-color: var(--c-cat03);
}

.winter__categories-block_button.color_change_4 a {
  background-color: var(--c-cat04);
}

.winter__categories-block_button.color_change_5 a {
  background-color: var(--c-cat05);
}

.winter__categories-block_button>a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 auto;
  min-width: 330px;
  height: 40px;
  padding: 8px 70px 10px 50px;
  color: var(--c-white);
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
  border: 2px solid var(--c-white);
  border-radius: 30px;
  line-height: 1.2;
  text-align: center;
  gap: 20px;
  font-size: 1.6rem;
}

@media (max-width: 767.98px) {
  .winter__categories-block_button>a {
    font-size: 1.6rem;
    width: 100%;
    min-width: initial;
    padding: 8px 40px 10px 30px;
  }
}

.winter__categories-block_button>a::after {
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  content: "";
  display: block;
  width: 10px;
  height: 11px;
  background: url(/pages/winter/img/arrow_button.svg) no-repeat center center/contain;
  z-index: 2;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.winter__categories-block_button>a span {
  position: relative;
  -webkit-transition: all .3s;
  transition: all .3s;
  z-index: 3;
}

.winter__categories-block_button>a:hover {
  text-decoration: none;
}

.winter__categories-block_media {
  width: 47.5%;
}

@media (max-width: 767.98px) {
  .winter__categories-block_media {
    width: auto;
    margin: 30px 0 0 0;
  }
}

.winter__categories-block_image {
  border-radius: 10px;
  overflow: hidden;
}

@media (max-width: 767.98px) {
  .winter__categories-block_image {
    border-radius: 7px;
  }
}

/* Items section */
.winter__items {
  position: relative;
  z-index: 1;
  padding: 60px 0 130px;
  overflow: hidden;
  min-height: 600px;
  background: var(--c-bg-items);
}

@media (max-width: 767.98px) {
  .winter__items {
    padding: 50px 0 60px;
  }
}

.winter__items::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  pointer-events: none;
  background:
    url(/pages/winter/img/naka_bg-top.svg) no-repeat right 0%,
    url(/pages/winter/img/naka_bg-middle.svg) no-repeat left 50%,
    url(/pages/winter/img/naka_bg-bottom.svg) no-repeat right 100%;
  background-size: auto, auto, auto;
}

@media (max-width: 767.98px) {
  .winter__items::before {
    background-size: 75% auto, 75% auto, 75% auto;
    background-position: right 0%, left 50%, right 100%;
  }
}

.winter__items-header {
  margin-bottom: 60px;
  text-align: center;
}

.winter__items-mv img {
  border-radius: 50px 50px 0 0;
  margin-bottom: 36px;
}

.winter__items-title {
  margin-bottom: 10px;
  color: var(--c-primary);
  font-size: 2.3rem;
  font-weight: bold;
}

@media (max-width: 767.98px) {
  .winter__items-title {
    font-size: 2rem;
    margin-bottom: 10px;
  }
}

.winter__items-title_icon {
  display: block;
  width: 144px;
  margin: 0 auto 20px;
}

@media (max-width: 767.98px) {
  .winter__items-title_icon {
    width: 100px;
  }
}

.winter__items-lead {
  font-size: 2rem;
  letter-spacing: .06em;
  line-height: 1.5;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
}

@media (max-width: 767.98px) {
  .winter__items-lead {
    font-size: 2rem;
  }
}

.winter__items-list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr 1fr;
  grid-template-columns: repeat(3, 1fr);
  margin: 0;
  padding: 0;
  list-style: none;
  gap: 20px;
  position: relative;
}

@media (max-width: 767.98px) {
  .winter__items-list {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin: 0 -7px;
  }
}

.winter__items-list_item {
  padding: 20px;
  background-color: var(--c-white);
  border-radius: 10px;
  -webkit-box-shadow: 5px 5px 0 0 rgba(190, 165, 85, .3);
  box-shadow: 5px 5px 0 0 rgba(190, 165, 85, .3);
}

@media (max-width: 767.98px) {
  .winter__items-list_item {
    padding: 8px 7px;
  }
}

.winter__items-list_inner {
  position: relative;
  height: 100%;
  padding: 0 0 60px;
  cursor: pointer;
}

@media (max-width: 767.98px) {
  .winter__items-list_inner {
    padding: 6px 6px 42px;
  }
}

.winter__items-list_inner:hover .winter__items-list_more {
  background-color: var(--c-white);
  border: 1px solid var(--c-gold);
  color: var(--c-gold);
  -webkit-transition: all .3s linear;
  transition: all .3s linear;
}

.winter__items-list_inner:hover .winter__items-list_more::after {
  border-top: 1px solid var(--c-gold);
  border-right: 1px solid var(--c-gold);
  /* fixed missing # */
  -webkit-transition: all .3s linear;
  transition: all .3s linear;
}

.winter__items-list_image {
  margin-bottom: 20px;
  border-radius: 6px;
  overflow: hidden;
}

@media (max-width: 767.98px) {
  .winter__items-list_image {
    margin-bottom: 16px;
  }
}

.winter__items-list_image img {
  aspect-ratio: 920 / 690;
  -o-object-fit: cover;
  object-fit: cover;
}

.winter__items-list_content {
  text-align: left;
}

.winter__items-list_shop {
  margin-bottom: 10px;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.4;
}

@media (max-width: 767.98px) {
  .winter__items-list_shop {
    font-size: 1.6rem;
  }
}

.winter__items-list_title {
  margin-bottom: 10px;
  color: var(--c-primary);
  font-size: 1.4rem;
}

@media (max-width: 767.98px) {
  .winter__items-list_title {
    font-size: 1.2rem;
    margin-bottom: 8px;
  }
}

.winter__items-list_price {
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: .03em;
}

@media (max-width: 767.98px) {
  .winter__items-list_price {
    font-size: 1.6rem;
  }
}

.winter__items-list_price-tax {
  font-size: 1.4rem;
  font-weight: normal;
}

@media (max-width: 767.98px) {
  .winter__items-list_price-tax {
    font-size: 1.4rem;
  }
}

.winter__items-list_more {
  position: absolute;
  left: 0;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 50px;
  margin: 0;
  padding: 0 35px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: var(--c-gold);
  border: 1px solid var(--c-gold);
  border-radius: 100px;
  color: var(--c-white);
  font-size: 1.5rem;
  line-height: 1.3;
}

@media (max-width: 767.98px) {
  .winter__items-list_more {
    font-size: 1.2rem;
    padding: 0 15px;
    height: 30px;
  }
}

.winter__items-list_more::after {
  position: absolute;
  right: 25px;
  top: 0;
  bottom: 0;
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: auto;
  border-top: 1px solid var(--c-white);
  border-right: 1px solid var(--c-white);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

@media (max-width: 767.98px) {
  .winter__items-list_more::after {
    right: 15px;
    width: 6px;
    height: 6px;
  }
}

/* Item detail */
.winter__items-detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 60px;
}

@media (max-width: 767.98px) {
  .winter__items-detail {
    display: block;
    padding: 50px 20px 30px;
  }
}

.winter__items-detail_image {
  width: 48%;
  margin: 0;
}

@media (max-width: 767.98px) {
  .winter__items-detail_image {
    width: 100%;
    margin: 0 0 20px;
  }
}

.winter__items-detail_content {
  width: 48%;
}

@media (max-width: 767.98px) {
  .winter__items-detail_content {
    width: 100%;
    margin-top: 40px;
  }
}

.winter__items-detail_title {
  position: relative;
  margin-bottom: 20px;
  padding-bottom: 10px;
  color: var(--c-primary);
  border-bottom: 2px dotted var(--c-primary);
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1.5;
}

@media (max-width: 767.98px) {
  .winter__items-detail_title {
    font-size: 1.5rem;
  }
}

.winter__items-detail_price {
  margin-bottom: 15px;
  color: var(--c-black);
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: .03em;
  line-height: 1;
}

@media (max-width: 767.98px) {
  .winter__items-detail_price {
    font-size: 1.7rem;
  }
}

.winter__items-detail_price-tax {
  font-size: 1.4rem;
}

@media (max-width: 767.98px) {
  .winter__items-detail_price-tax {
    font-size: 1.2rem;
  }
}

.winter__items-detail_labels {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
}

.winter__items-detail_label {
  display: inline-block;
  padding: 5px 10px;
  font-size: 1.3rem;
  line-height: 1.2;
}

@media (max-width: 767.98px) {
  .winter__items-detail_label {
    font-size: .95rem;
  }
}

.winter__items-detail_label.-limited {
  color: var(--c-primary);
  background-color: var(--c-white);
  border: 1px solid var(--c-primary);
  border-radius: 100px;
}

.winter__items-detail_label.-cool {
  color: var(--c-white);
  background-color: var(--c-cool);
}

.winter__items-detail_text {
  font-size: 1.4rem;
  line-height: 1.85;
  margin-bottom: 15px;
}

@media (max-width: 767.98px) {
  .winter__items-detail_text {
    font-size: 1.3rem;
  }
}

.winter__items-detail_line {
  font-size: 1.6rem;
  line-height: 1.85;
  border-top: #666 1px dotted;
  margin-bottom: 0;
  padding: 15px 0;
}

@media (max-width: 767.98px) {
  .winter__items-detail_line {
    font-size: 1.3rem;
  }
}

.winter__items-detail_wrap {
  background: #eee;
  border-radius: 10px;
  margin-top: 5px;
  padding: 16px 20px 20px;
}

.winter__items-detail_shop-title {
  margin-bottom: 5px;
  font-size: 1.8rem;
  font-weight: bold;
}

@media (max-width: 767.98px) {
  .winter__items-detail_shop-title {
    font-size: 1.4rem;
  }
}

.winter__items-detail_shop-text {
  font-size: 1.6rem;
}

@media (max-width: 767.98px) {
  .winter__items-detail_shop-text {
    font-size: 1.2rem;
  }
}

.winter__items-detail_shop-text::before {
  -webkit-transform: translateY(-1px);
  transform: translateY(-1px);
  vertical-align: middle;
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin: auto;
  background: url(/pages/winter/img/address_icon.svg) no-repeat center center/contain;
  margin-right: 5px;
}

@media (max-width: 767.98px) {
  .winter__items-detail_shop-text::before {
    width: 12px;
    height: 12px;
    margin-right: 3px;
  }
}

.winter__items-detail_shop-text-inner {
  margin-left: 20px;
}

.winter__items-detail_shop-text-inner::before {
  -webkit-transform: translateY(-1px);
  transform: translateY(-1px);
  vertical-align: middle;
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin: auto;
  background: url(/pages/winter/img/tell_icon.svg) no-repeat center center/contain;
  margin-right: 5px;
}

@media (max-width: 767.98px) {
  .winter__items-detail_shop-text-inner::before {
    width: 12px;
    height: 12px;
    margin-right: 3px;
  }
}

.winter__items-detail_button {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 40px;
  margin-top: 15px;
  padding: 0 30px;
  background-color: var(--c-gold);
  color: var(--c-white) !important;
  border-radius: 100px;
  font-size: 1.5rem;
  line-height: 1.3;
  -webkit-transition: all .3s linear;
  transition: all .3s linear;
  opacity: 1;
  text-decoration: none;
}

@media (max-width: 767.98px) {
  .winter__items-detail_button {
    font-size: 1.2rem;
    height: 32px;
  }
}

.winter__items-detail_button:hover {
  opacity: 1;
  background: var(--c-white);
  text-decoration: none;
  cursor: pointer;
}

.winter__items-detail_button::after {
  position: absolute;
  right: 30px;
  top: 0;
  bottom: 0;
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: auto;
  border-top: 1px solid var(--c-white);
  border-right: 1px solid var(--c-white);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.winter__items-detail_button:hover::after {
  border-top: 1px solid var(--c-gold);
  border-right: 1px solid var(--c-gold);
}

.winter__items-detail_button:hover .txt_normal {
  color: var(--c-gold);
}

.winter__items-detail .items-slider .slick-dots li {
  width: 8px;
  height: 8px;
  margin: 0 7px;
}

.winter__items-detail .items-slider .slick-dots li button {
  width: 8px;
  height: 8px;
  background-color: transparent;
  background: var(--c-muted);
  border-radius: 50%;
}

.winter__items-detail .items-slider .slick-dots li button::before {
  color: transparent !important;
}

.winter__items-detail .items-slider .slick-dots li.slick-active button {
  background: var(--c-primary);
}

/* Free section */
.winter__free {
  padding: 90px 20px;
  background-color: var(--c-free);
  color: var(--c-free-text);
}

@media (max-width: 767.98px) {
  .winter__free {
    padding: 30px 20px;
  }
}

.winter__free-wrap {
  background: var(--c-white);
  padding: 5px;
  max-width: 1080px;
  margin: auto;
  z-index: 1;
}

@media (max-width: 767.98px) {
  .winter__free-wrap {
    width: 100%;
  }
}

.winter__free-inner {
  position: relative;
  padding: 55px 95px;
  border: 1px solid var(--c-gold);
  text-align: left;
}

@media (max-width: 767.98px) {
  .winter__free-inner {
    padding: 30px 20px 20px;
  }
}

.winter__free-header {
  text-align: center;
  margin-bottom: 45px;
  position: relative;
}

@media (max-width: 767.98px) {
  .winter__free-header {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 30px;
  }
}

.winter__free-header::before {
  position: absolute;
  right: 140px;
  top: 0;
  content: "";
  display: block;
  width: 190px;
  height: 206px;
  z-index: -1;
  background: url(/pages/winter/img/japan_img.svg) no-repeat center center;
}

@media (max-width: 767.98px) {
  .winter__free-header::before {
    right: 50%;
    top: 10px;
    -webkit-transform: translateX(50%);
    transform: translateX(50%);
    width: 152px;
    height: 165px;
  }
}

.winter__free-title {
  font-size: 2rem;
  font-weight: 600;
}

@media (max-width: 767.98px) {
  .winter__free-title {
    font-size: 1.6rem;
    margin-bottom: 20px;
    line-height: 1.4;
  }
}

.winter__free-title strong {
  display: block;
  margin: .15em 0;
  font-size: 4.7rem;
  color: var(--c-free-strong);
  font-weight: 600;
  line-height: 1;
}

@media (max-width: 767.98px) {
  .winter__free-title strong {
    font-size: 3.3rem;
  }
}

.winter__free-title strong small {
  font-size: 4rem;
  font-weight: inherit;
  white-space: nowrap;
}

@media (max-width: 767.98px) {
  .winter__free-title strong small {
    font-size: 2.7rem;
  }
}

.winter__free-title_notes {
  display: block;
  margin-top: 20px;
  font-size: 1.4rem;
  font-weight: normal;
}

@media (max-width: 767.98px) {
  .winter__free-title_notes {
    font-size: 1.4rem;
    margin-top: 15px;
  }
}

.winter__free-image {
  width: 84px;
  margin: 0 auto 15px;
}

@media (max-width: 767.98px) {
  .winter__free-image {
    margin: 0 auto 50px;
  }
}

.winter__free-text {
  position: relative;
  padding-top: 45px;
  font-size: 1.4rem;
}

@media (max-width: 767.98px) {
  .winter__free-text {
    padding-top: 30px;
  }
}

.winter__free-text::before {
  position: absolute;
  left: 50%;
  top: 0;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  content: "";
  display: block;
  width: 100%;
  height: 32px;
  background: url(/pages/winter/img/free_ico.svg) no-repeat center center/contain;
}

@media (max-width: 767.98px) {
  .winter__free-text::before {
    background: url(/pages/winter/img/free_ico-sp.svg) no-repeat center center/contain;
  }
}

.winter__free-notes {
  display: inline-block;
  line-height: 1.8;
  text-align: left;
  list-style: none;
  padding-left: 0;
}

.winter__free-notes li {
  position: relative;
  padding-left: 1.2em;
}

@media (max-width: 767.98px) {
  .winter__free-notes li {
    padding-left: 1em;
  }
}

.winter__free-notes li:not(:last-child) {
  margin-bottom: .35em;
}

.winter__free-notes li::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}

/* Scroll animations */
.winter .scroll-fadein {
  opacity: 0;
}

.winter .scroll-fadein.is-active {
  -webkit-animation: fadeIn .7s linear forwards;
  animation: fadeIn .7s linear forwards;
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
    -webkit-transform: translateY(60px);
    transform: translateY(60px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
    -webkit-transform: translateY(60px);
    transform: translateY(60px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

/* Modal */
.winter .modal-container {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  padding: 30px 0;
  text-align: center;
  background: rgba(190, 165, 85, 0.3);
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: .3s;
  transition: .3s;
}

.modal-container{position:relative;}
.modal-close{position:absolute;top:16px;right:16px;z-index:10;}

.winter .modal-container::before,
.winter .modal-container::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  height: 100%;
  width: 0;
}

.winter .modal-container.is-active {
  opacity: 1;
  visibility: visible;
}

.winter .modal-body {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  max-width: 1080px;
  width: 90%;
  padding: 0;
}

.winter .modal-content {
  background-color: var(--c-white);
  text-align: left;
  border: none;
  border-radius: 20px;
}

/* Fix invalid value: pointer-events: painted -> auto */
.winter .modal-content a[href*="tel:"] {
  pointer-events: auto;
  cursor: pointer;
}

.winter .modal-close {
  position: absolute;
  top: 15px;
  right: 15px;
  z-index: 5;
  width: 40px;
  height: 40px;
  background-color: var(--c-primary);
  border-radius: 50%;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
}

@media (max-width: 767.98px) {
  .winter .modal-close {
    width: 30px;
    height: 30px;
  }
}

.winter .modal-close::before,
.winter .modal-close::after {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  content: "";
  display: block;
  width: 23px;
  height: 1px;
  margin: auto;
  background: var(--c-white);
}

@media (max-width: 767.98px) {

  .winter .modal-close::before,
  .winter .modal-close::after {
    width: 18px;
  }
}

.winter .modal-close::before {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.winter .modal-close::after {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* White section */
.winter__white {
  background-color: var(--c-white);
  position: relative;
  z-index: 0;
  padding: 90px 0 100px;
  text-align: center;
  overflow: hidden;
}

@media (max-width: 767.98px) {
  .winter__white {
    padding: 40px 0 60px;
    text-align: left;
  }
}

.winter__white-bnr {
  margin: 20px auto;
  width: 80%;
  -webkit-transition: all .3s ease 0s;
  transition: all .3s ease 0s;
  cursor: pointer;
}

.winter__white-bnr:hover {
  text-decoration: none;
  opacity: .6;
}

@media (max-width: 767.98px) {
  .winter__white-bnr {
    width: 100%;
  }
}

.winter__white-share {
  margin: 80px auto 40px;
  width: 30%;
  max-width: 250px;
}

@media (max-width: 767.98px) {
  .winter__white-share {
    width: 60%;
  }
}

.winter__white-sns {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.winter__white-sns a {
  margin: 0 20px;
  width: 8%;
  -webkit-transition: all .3s ease 0s;
  transition: all .3s ease 0s;
  max-width: 60px;
  cursor: pointer;
}

.winter__white-sns a:hover {
  text-decoration: none;
  opacity: .6;
}

@media (max-width: 767.98px) {
  .winter__white-sns a {
    margin: 0 10px;
    width: 16%;
  }
}

/* Body state when modal open */
body.modal-active {
  overflow: hidden;
}

body.modal-active .winter__nav {
  opacity: 0;
  z-index: -1;
}

body.modal-active .winter__items {
  z-index: 9999;
}

/* Generic button */
.button {
  position: relative;
  display: inline-block;
  background: #d13415;
  color: var(--c-white);
  width: 100px;
  margin: 5px;
  padding: 10px 30px 10px 20px;
  text-align: center;
}

.button::after {
  position: absolute;
  content: "";
  top: calc(50% - 5px);
  right: 20px;
  width: 6px;
  height: 6px;
  border: 2px solid;
  border-color: transparent transparent var(--c-white) var(--c-white);
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
  -webkit-transition: .3s;
  transition: .3s;
}

.button:hover::after {
  right: 10px;
}

/* Page top */
.pagetop {
  opacity: 0;
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 100;
  -webkit-transition: all .4s ease-in;
  transition: all .4s ease-in;
}

@media (max-width: 767.98px) {
  .pagetop {
    bottom: 64px;
    right: 20px;
  }
}

.pagetop.is-visible {
  opacity: 1;
}

.pagetop-btn {
  display: -ms-grid;
  display: grid;
  place-content: center;
  width: 64px;
  height: 64px;
  background-color: var(--c-primary);
  border: 3px solid var(--c-white);
  border-radius: 32px;
  -webkit-box-shadow: 3px 3px 3px 0 rgba(0, 0, 0, .2);
  box-shadow: 3px 3px 3px 0 rgba(0, 0, 0, .2);
  color: var(--c-white) !important;
  text-align: center;
  text-decoration: none !important;
  -webkit-transition: all .3s linear;
  transition: all .3s linear;
}

.pagetop-btn:hover {
  opacity: .6;
}

/* 画像下の注釈（一覧/モーダル共通） */
.winter__image-note{
  margin-top: 6px;
  font-size: 1.1rem;
  line-height: 1.4;
  color: #666;
  text-align: right;
}
@media (max-width: 767.98px){
  .winter__image-note{ font-size: 1rem; }
}

/*# sourceMappingURL=style.css.map */