@charset "UTF-8";

@media screen and (min-width: 768px) {
  .view--pc {
    display: block;
  }
  .view--sp {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .view--pc {
    display: none;
  }
  .view--sp {
    display: block;
  }
}
/**************************************

メインビジュアル

**************************************/
.holiday_mv{
  padding: 0 0 28px;
  background-color: #9D5603;
}
.holiday_mv div img{
  display: block;
  max-width: 980px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 428px){
  .holiday_mv{
    padding: 0 0 4%;
  }
}
/**************************************

メインコンセプト / アンカーボタン

**************************************/
.holiday_bg_cream{
  overflow-x: hidden;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  background-color: #F0E9DE;
  padding: 0 0 200px;
}
.holiday_concept{
  position: relative;
  max-width: 980px;
  width: 100%;
  margin: 0 auto;
  padding: 120px 0 0;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 30px;
}
.holiday_concept::after,
.holiday_concept::before{
  content: "";
  display: block;
  width: 125px;
  height: 125px;
  background-image: url(/ec/img/usr/pg/campaign/winter_gift/snow_br.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center;
  position: absolute;
}
.holiday_concept::after{
  top: 90px;
  left: 0;
}
.holiday_concept::before{
  bottom: 0;
  right: -70px;
}
.holiday_concept div{
  max-width: 600px;
  width: 100%;
}
.holiday_concept div p{
  font-size: 2rem;
  line-height: 2;
  text-align: center;
  margin-bottom: 40px;
}
.holiday_anchor{
  max-width: 980px;
  width: 100%;
  margin: 0 auto;
  padding: 90px 0 0;
}
.holiday_anchor ul{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
}
.holiday_anchor ul li{
  max-width: 233px;
  width: 100%;
  height: 110px;
}
.holiday_anchor ul li a{
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 10px 0 0;
  background-image: url(/ec/img/usr/pg/campaign/winter_gift/btn_bg.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  color: #fff;
}
.holiday_anchor ul li a::after{
  content: "";
  display: block;
  width: 12px;
  height: 6px;
  background-image: url(/ec/img/usr/pg/campaign/winter_gift/btn_arrow_down.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  position: absolute;
  bottom: 8px;
  left: 50%;
  transform: translateX(-50%);
}
.holiday_anchor ul li a p{
  text-align: center;
  line-height: 1 !important;
}
.holiday_anchor ul li a p span{
  display: block;
  text-align: center;
}
.holiday_anchor ul li a p span.jp__cat{
  font-size: 1.2rem;
}
.holiday_anchor ul li a p span.en__cat{
  font-family: "Playfair", serif;
  font-size: 4rem;
  font-weight: 700;
  margin: 0 0 5px;
}
.holiday_anchor ul li a p:last-child{
  font-size: 1.6rem;
}
@media screen and (max-width: 980px) {
  .holiday_concept{
    text-align: center;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .holiday_concept div:first-child{
    order:2;
  }
  .holiday_concept div:last-child{
    order:1;
  }
  .holiday_anchor{
    max-width: 80%;
    padding: 60px 0 0;
  }
  .holiday_anchor ul{
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 768px) {
  .holiday_bg_cream{
    padding: 0 0 20%;
  }
  .holiday_concept{
    padding: 50px 0 0;
    gap: 40px;
  }
  .holiday_concept div p{
    font-size: 1.6rem;
  }
  .holiday_concept div p:last-child{
    margin-bottom: 0;
  }
  .holiday_concept::after{
    display: none;
  }
}
@media screen and (max-width: 605px) {
  .holiday_anchor{
    max-width: 98%;
    padding: 8% 0 0;
  }
}
@media screen and (max-width: 428px){
  .holiday_concept{
    padding: 9% 0 0;
    gap: 6vw;
  }
  .holiday_concept div p{
    margin-bottom: 7%;
  }
  .holiday_anchor ul{
    gap: 8px 15px;
  }
  .holiday_anchor ul li{
    max-width: 165px;
    height: 78px;
  }
  .holiday_anchor ul li a{
    padding: 7px 0 0;
  }
  .holiday_anchor ul li a::after{
    width: 10px;
    height: 6px;
    bottom: 6px;
  }
  .holiday_anchor ul li a p span.jp__cat{
    font-size: 1rem;
  }
  .holiday_anchor ul li a p span.en__cat{
    font-size: 2.8rem;
    margin: 0 0 0px;
  }
  .holiday_anchor ul li a p:last-child{
    font-size: 1.2rem;
  }
  .holiday_concept::after, 
  .holiday_concept::before{
    width: 68px;
    height: 68px;
  }
  .holiday_concept::before{
    right: -20px;
  }
}
/**************************************

Knit////

**************************************/
.holiday_products{
  max-width: 980px;
  width: 100%;
  margin: 200px auto 0;
  position: relative;
}
.holiday_products.knit_products{
  margin-top: 105px;
}
.holiday_products_title{
  position: absolute;
  top: 0;
  left: 0;
  color: #9D5603;
  padding: 70px 0 0;
  margin: -70px 0 0;
  z-index: 2;
}
.holiday_products_title h2 span{
  display: block;
}
.holiday_products_title h2 span.title_jp{
  font-size: 1.6rem;
  margin-bottom: -10px;
}
.holiday_products_title h2 span.title_en{
  font-family: "Playfair", serif;
  font-size: 11.5rem;
  font-weight: 700;
  line-height: 1;
}
.holiday_products_title p{
  font-size: 2rem;
  line-height: 1.6;
}
.holiday_products_mv{
  padding: 74px 0 0;
  margin: 0 0 80px;
  position: relative;
  z-index: 1;
}
.holiday_products_mv img{
  display: block;
  max-width: 800px;
  width: 100%;
  margin: 0 auto 0;
}


/***商品コンテンツ部分のあしらい*/
.gloves_products .holiday_products_mv::before{
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center;
  position: absolute;
}
.gloves_products .holiday_products_mv::before{
  max-width: 186px;
  width: 100%;
  height: 186px;
  background-image: url(/ec/img/usr/pg/campaign/winter_gift/snow_br.svg);
  top: -330px;
  left: -230px;
}
.gloves_products::after{
  content: "";
  display: block;
  max-width: 195px;
  width: 100%;
  height: 195px;
  background-image: url(/ec/img/usr/pg/campaign/winter_gift/snow_br.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center;
  position: absolute;
  bottom: -210px;
  right: -210px;
}
.scarf_products::after{
  content: "";
  display: block;
  max-width: 138px;
  width: 100%;
  height: 138px;
  background-image: url(/ec/img/usr/pg/campaign/winter_gift/snow_br.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center;
  position: absolute;
  bottom: -120px;
  left: -160px;
}

.holiday_products_slider{
  margin: 0 0 60px;
}
.holiday_products_slider li{
  width: 250px;
  margin: 0 17px;
}
.holiday_products_slider li div p{
  font-size: 1.6rem;
  line-height: 1.6;
  margin: 0 0 15px;
}
.holiday_products_slider li div p:last-child{
  margin-bottom: 0;
}
.holiday_products_slider .slick-arrow{
  content: "";
  width: 40px;
  height: 40px;
  border-radius: 20px;
  background-color: #9D5603;
  border: 0;
  position: absolute;
  bottom: -80px;
  
}
.holiday_products_slider .slick-arrow.slick-prev{
  left: 42%;
}
.holiday_products_slider .slick-arrow.slick-next{
  left: 54%;
}
.holiday_products_slider .slick-arrow::after{
  content: "";
  display: block;
  width: 9px;
  height: 16px;
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.holiday_products_slider .slick-arrow.slick-prev::after{
  background-image: url(/ec/img/usr/pg/campaign/winter_gift/btn_slide_pre.svg);
}
.holiday_products_slider .slick-arrow.slick-next::after{
  background-image: url(/ec/img/usr/pg/campaign/winter_gift/btn_slide_next.svg);
}
.play_button_wrap{
  position: relative;
}
.play_button_wrap button{
  position: absolute;
  top: 50%;
  left: 49.4%;
  transform: translate(-50%,-50%);
  width: 40px;
  height: 40px;
  border: 0;
  background-color: inherit;
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center;
  transition: 0.3s;
}
.play_button_wrap button.slick_pause{
  background-image: url(/ec/img/usr/pg/campaign/winter_gift/btn_slide_pause.svg);
}
.play_button_wrap button.slick_start{
  background-image: url(/ec/img/usr/pg/campaign/winter_gift/btn_slide_play.svg);
}
.play_button_wrap button.no-active{
  opacity: 0 !important;
  pointer-events: none !important;
}
.btn_more{
  max-width: 400px;
  width: 100%;
  height: 85px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2rem;
  color: #fff;
  background-color: #9D5603;
}
.btn_more_wrap{
  padding: 100px 0 0;
}
@media screen and (max-width: 980px){
  .holiday_products_title{
    left: 40px;
  }
  .gloves_products::after{
    right: -50px;
  }
  .scarf_products::after{
    left: -110px;
  }
}
@media screen and (max-width: 768px){
  .holiday_products{
    margin: 20% auto 0;
  }
  .holiday_products.knit_products{
    margin-top: 13%;
  }
  .holiday_products_title{
    width: 92%;
    top: 3.5%;
    left: 4%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 10% 0 0;
    margin: -10% 0 0;
  }
  .holiday_products_title h2 span.title_jp{
    margin-bottom: 0;
  }
  .holiday_products_title h2 span.title_en{
    font-size: 7.4rem;
  }
  .holiday_products_title p{
    font-size: 1.8rem;
  }
  .holiday_products_mv{
    padding: 15% 4% 0;
    margin: 0 0 7%;
  }
  .scarf_products .holiday_products_mv::after{
    max-width: 26%;
    height: 37vw;
    bottom: -7%;
    right: -3%;
  }
  .gloves_products::after{
    display: none;
  }
  .scarf_products::after{
    display: none;
  }
  .holiday_products_slider{
    margin: 0 0 0;
  }
  .holiday_products_slider li{
    width: 220px;
  }
  .play_button_wrap{
    position: absolute;
    top: 86.7%;
    left: 0;
    width: 100%;
  }
  .holiday_products_slider .slick-arrow{
    top: 110%;
    bottom: inherit;
  }
  .holiday_products_slider .slick-arrow.slick-prev{
    left: 37vw;
  }
  .holiday_products_slider .slick-arrow.slick-next{
    left: 57vw;
  }
  .knit_products .btn_more_wrap {
    padding: 170px 0 0;
  }
  .btn_more_wrap{
    padding: 190px 0 0;
  }
  .btn_more{
    max-width: 310px;
    height: 65px;
  }
}
@media screen and (max-width: 605px){
  .holiday_products_title{
    top: 2%;
  }
  .knit_products .btn_more_wrap {
    padding: 140px 0 0;
  }
  .btn_more_wrap{
    padding: 150px 0 0;
  }
  .holiday_products_slider .slick-arrow.slick-prev{
    left: 35vw;
  }
}
@media screen and (max-width: 428px){
  .holiday_products_title {
    top: 1.5%;
  }
  .holiday_products_title h2 span.title_jp{
    font-size: 1rem;
  }
  .holiday_products_title h2 span.title_en{
    font-size: 5.4rem;
  }
  .holiday_products_title p{
    font-size: 1.2rem;
  }
  .holiday_products_slider li{
    width: 190px;
  }
  .holiday_products_slider li div p:last-child{
    font-size: 1.4rem;
  }
  .holiday_products_slider .slick-arrow.slick-prev{
    left: 27vw;
  }
  .holiday_products_slider .slick-arrow.slick-next{
    left: 62vw;
  }
  .play_button_wrap{
    top: 84.5%;
  }
  .btn_more_wrap{
    padding: 132px 0 0;
  }
  .knit_products .btn_more_wrap{
    padding: 130px 0 0;
  }
  .btn_more{
    max-width: 78%;
    font-size: 1.6rem;
  }
}
/**************************************

今年がんばった自分にごほうび

**************************************/
.holiday_presents{
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  color: #fff;
  background-image: url(/ec/img/usr/pg/campaign/winter_gift/presents_bg_snow.png);
  background-repeat: no-repeat;
  background-size: 1208px 735px;
  background-position: top 40px center;
  background-color: #18305D;
  padding: 160px 0;
}
.holiday_presents h3{
  font-size: 4.8rem;
  text-align: center;
  margin: 0 0 38px;
}
.holiday_presents > p{
  font-size: 2.4rem;
  line-height: 1.6;
  text-align: center;
  margin: 0 0 80px;
}
.gift_homeware_wrap ul{
  max-width: 980px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 100px 32px;
}
.gift_homeware_wrap ul li{
  max-width: 473px;
  width: 100%;
}
.gift_homeware_wrap ul li > a,
.gift_homeware_wrap ul li .exception_link{
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: stretch;
  transition: 0s;
}
.gift_homeware_wrap ul li > a:hover,
.gift_homeware_wrap ul li .exception_link:hover{
  opacity: 1;
}
.gift_homeware_wrap ul li > a img,
.gift_homeware_wrap ul li .exception_link img{
  transition: 0s;
}
.gift_homeware_wrap ul li > a:hover img,
.gift_homeware_wrap ul li .exception_link:hover img{
  transform: rotate(12deg);
}
.gift_homeware_wrap ul li:first-child{
  margin: 0 50px;
}
.gift_homeware_wrap ul li:nth-child(even) div:first-child{
  order: 2;
}
.gift_homeware_wrap ul li:nth-child(even) div:last-child{
  order: 1;
}
.gift_homeware_wrap ul li > a div,
.gift_homeware_wrap ul li .exception_link div{
  border-radius: 140px 140px 0 0;
  max-width: 237px;
  width: 100%;
}
.gift_homeware_wrap ul li > a div:first-child,
.gift_homeware_wrap ul li .exception_link div:first-child{
  background-image: url(/ec/img/usr/pg/campaign/winter_gift/homeware_bg.png);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: top center;
  background-color: #F5F0E7;
}
.gift_homeware_wrap ul li > a div:last-child,
.gift_homeware_wrap ul li .exception_link div:last-child{
  position: relative;
  padding: 60px 15px 20px;
  background-color: #01163C;
}
.gift_homeware_wrap h4{
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
  margin: 0 0 15px;
  color: #fff !important;
}
.gift_homeware_wrap p{
  font-size: 1.5rem;
  line-height: 1.8;
  margin: 0 0 20px;
}
.gift_homeware_wrap .gift_homeware_btntext{
  font-size: 15px;
  font-weight: 400;
  text-align: center;
  text-decoration: underline;
  display: block;
  max-width: 180px;
  width: 100%;
  margin: 0 auto;
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  transition: 0.3s;
}
.gift_homeware_wrap ul li > a:hover .gift_homeware_btntext{
  text-decoration: none;
  opacity: 0.7;
}
.gift_homeware_wrap ul li .exception_link .gift_homeware_btntext:hover{
  text-decoration: none;
  opacity: 0.7;
}
.gift_homeware_wrap .gift_homeware_btntext.gift_homeware_btn_texttop{
  bottom: 45px;
}
@media screen and (max-width: 768px){
  .holiday_presents{
    padding: 18% 0 15%;
    background-image: url(/ec/img/usr/pg/campaign/winter_gift/presents_bg_snow_sp.png);
    background-size: 104%;
    background-position: top 1% center;
  }
  .holiday_presents h3{
    font-size: 3.2rem;
  }
  .holiday_presents > p{
    font-size: 2rem;
    margin: 0 0 12%;
  }
  .gift_homeware_wrap{
    padding: 0 4%;
  }
  .gift_homeware_wrap ul{
    gap: 40px 0;
  }
  .gift_homeware_wrap ul li{
    max-width: 100%;
  }
  .gift_homeware_wrap ul li:first-child{
    margin: 0;
  }
  .gift_homeware_wrap ul li > a div,
  .gift_homeware_wrap ul li .exception_link div{
    max-width: 50%;
  }
}
@media screen and (max-width: 428px){
  .holiday_presents{
    padding: 15% 0 15%;
  }
  .holiday_presents h3{
    font-size: 2.4rem;
    margin: 0 0 7%;
  }
  .holiday_presents > p{
    font-size: 1.6rem;
    margin: 0 0 9%;
  }
  .gift_homeware_wrap h4{
    font-size: 1.3rem;
    margin: 0 0 6%;
  }
  .gift_homeware_wrap p{
    font-size: 1.2rem;
  }
  .gift_homeware_wrap .gift_homeware_btntext{
    font-size: 1.3rem;
  }
  .gift_homeware_wrap ul li > a div:last-child{
    padding: 14% 3% 6%;
  }
  .gift_homeware_wrap ul li .exception_link div:last-child{
    padding: 8% 3% 6%;
  }
}
/**************************************

バナーエリア

**************************************/
.cp_banner_area{
  max-width: 725px;
  width: 100%;
  margin: 0 auto 120px;
  padding: 120px 0 0;
  display: flex;
  flex-direction: column;
  gap: 60px;
}
@media screen and (max-width: 768px){
  .cp_banner_area{
    max-width: 92vw;
    margin: 0 auto 15%;
    padding: 15% 0 0;
    gap: 6vw;
  }
}