@charset "utf-8";
body{
  margin: 0;
}
#campaign_area { border:0; }
#campaign_area { -webkit-font-smoothing: antialiased; }


#campaign_area * {
  box-sizing: border-box;
  word-wrap: break-word;
  word-break: normal;
}
#campaign_area a:hover img,
#campaign_area a:active img,
#campaign_area a:focus img,
#campaign_area input:hover img,
#campaign_area input:active img,
#campaign_area input:focus img {
  opacity: 0.8;
}
#campaign_area a:active,
#campaign_area a:focus,
#campaign_area input:active,
#campaign_area input:focus {
  outline: thin dotted;
}
#campaign_area strong, #cp_body em {
  font-weight: bold;
}
#campaign_area sup {
  font-size: 65%;
}

.clearfix{zoom:1;}
.clearfix:after{
  display:block;
  content:'';
  clear:both;
}
.newyearskit .wrapper {
  width: 1300px;
  max-width: 100%;
  min-width: auto!important;
  margin: 0 auto;
  background: none;
}
.view_pc {
  display: block;
}
.view_sp {
  display: none;
}
img {
  max-width: 100%;
  display: block;
  margin: 0 auto;
}
h2 {
  font-size: 50px;
  text-align: center;
  margin: 0;
}
p {
  font-size: 16px;
  line-height: 180%;
}
h2, h3, p {
  color: #050505;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}
img .line{
  width: 1180px
}

/* メインビジュアル
----------------------------------------------------------------- */
.mv img {
  width: 100%!important;
}

/* description
----------------------------------------------------------------- */
.description{
  position: relative;
  background-color: #FFFDF7;
  overflow: hidden;
}
.description .wrapper{
  position: relative;
  padding: 110px 0 80px;
  z-index: 1;
  width: 765px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.description .detail {
  font-family: "Noto Serif JP", serif;
  text-align: center;
  margin: 40px auto 60px;
  font-size: 18px;
  letter-spacing: 0.03em;
  line-height: 2.11;
}
.description .detail span.red{
  color: #EA4609;
  font-weight: 600;
}
.description .detail span.underline{
  text-decoration: underline;
  text-decoration-color: #DE4D06;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
  font-weight: 700;
}
.description .deco{
  position: absolute;
}
.description .deco._left{
  width: 150px;
  left: -150px;
  top: 25%;
}
.description .deco._right{
  width: 192px;
  right: -180px;
  top: 15%;
}
.description .bg_deco{
  position: absolute;
  z-index: 0;
  height: 88%;
  top: 0;
  width: 23%;
  max-width: 460px;
  background-image: url("./images/description_bg.png");
  background-size: auto;
  background-repeat: repeat-y;
  margin: 60px auto;
}
.description .lead_bottom {
  max-width: 90%;
}
@media screen and (max-width: 1280px) {
  .description .bg_deco{
    width: 10%;
    max-width: none;
  }
}
@media screen and (max-width: 980px) {
  .bg_deco.view_pc{
    display: none;
  }
  .bg_deco.view_sp{
    background-image: none;
  }
  .description{
    padding: 40px 0;
  }
  .description .wrapper{
    border-top:solid 50px #D64334;
    border-bottom:solid 50px #D64334;
  }
}
.description .bg_deco._left{
  left: 0%;
  background-position: right center;
}
.description .bg_deco._right{
  right: 0%;
   background-position: left center;
}
.description .bg_deco img{
  height: 100%;
  object-fit: contain;
}
.description .bg_deco._left img{
  object-position: right top;
}
.description .bg_deco._right img{
  object-position: left top;
}
.description .bg_deco._sp{
  width: 638px;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
}
.limited_description{
  padding: 0 0 80px;
  background-color: #FFFDF7;
  /* 事前予約12/810:00以降〜12/31まで */
  /* display: none; */
}
.limited_description .wrapper{
  width: 860px;
  max-width: 90%;
  border-top: solid 2px #050505;
  border-bottom: solid 2px #050505;
  padding: 0 0 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.limited_description .wrapper .limited_description_title{
  width: 215px;
  font-size: 18px;
  font-weight: 500;
  color: #FFFFFF;
  padding: 5px 0;
  text-align: center;
  margin: 0 auto;
  background-color: #050505;
  transform: translateY(-50%);
}
.limited_description .wrapper .limited_description_detail{
  font-family: "Noto Serif JP", serif;
  text-align: center;
  font-size: 18px;
  letter-spacing: 0.03em;
  line-height: 2.11;
  margin: 0 auto 24px;
}
.limited_description .wrapper .limited_description_detail span{
  color: #DE4D06;
  font-size: 22px;
  font-weight: 600;
}
.limited_description .wrapper .limited_description_period{
  display: flex;
  justify-content: center;
  align-items: center;
  border: solid 1px #DE4D06;
  background-color: #fff;
}
.limited_description .wrapper .limited_description_period .left{
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.03em;
  padding: 8px 15px;
  margin: 0;
  color: #FFFFFF;
  background-color: #DE4D06;
}
.limited_description .wrapper .limited_description_period .right{
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.03em;
  padding: 0 13px;
  color: #DE4D06;
}



/*カート
----------------------------------------------------------------- */
.item {
  padding: 80px 0;
  background: url('./images/item_bg.jpg') repeat;
  background-size: 290px;
}
@media screen and (-webkit-min-device-pixel-ratio:2),(min-resolution: 2dppx){
  .item {
    background: url('./images/item_bg@2x.jpg') repeat;
    background-size: 290px;
  }
}
.item .wrapper{
  background-color: #FDFAEF;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 55px 0 75px;
  width: 90%;
  max-width: 1240px;
  margin: 0 auto;
}
.item .wrapper .main_sp{
  width: 100%;
}
.item .wrapper .lead_wrapper{
  max-width: 85%;
}
.item .wrapper .item_detail{
  font-size: 16px;
  font-weight: 500;
  line-height: 2.13;
  letter-spacing: 0.03em;
  text-align: center;
  margin-top: 20px;
}
.item .wrapper .item_detail span{
  text-decoration: underline;
  text-decoration-color: #D5BF92;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}
.item .wrapper .item_present{
  width: 90%;
  margin: 44px auto 25px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.5%;
}
.item .wrapper .item_present img:nth-of-type(1){
  width: 35%;
}
.item .wrapper .item_present img:nth-of-type(2){
  width: 80%;
}
.item .wrapper .item_present img:nth-of-type(3){
  width: 5%;
}
.item .wrapper .item_present img:nth-of-type(4){
  width: 55%;
}
.item .wrapper .item_present img:nth-of-type(5){
  width: 80%;
}
.item .wrapper .asterisk{
  color: #212121;
  font-size: 14px;
  letter-spacing: 0.03em;
  text-align: center;
}
.item ul {
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  margin-top: 48px;
}
.item li {
  max-width: 31%;
}


.item_set {
  padding: 80px 0 82px;
}
.item_set .wrapper {
  width: 90%;
  max-width: 1240px;
  background-color: #FDFAEF;
  padding: 90px 0 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.item_set#item_01{
  background-color: #EFE4D9;
  border-top: solid 10px #CC9355;
}
.item_set#item_02{
  background-color: #F2D8D8;
  border-top: solid 10px #E2B3B3;
}
.item_set#item_03{
  background-color: #DCEAF0;
  border-top: solid 10px #294C74;
}
.item_set .main_sp{
  width: 100%;
}
.item_set .main_sp img{
  width: 100%;
}
.item_set .item_title{
  font-family: "Noto Serif JP", serif;
  font-size: 36px;
  letter-spacing: 0.1em;
  text-align: center;
  position: relative;
  transform: translateX(15%);
  margin: 0;
}
.item_set .item_title::before,
.item_set .item_title::after{
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
  height: 1px;
  background-color: #1A1A1A;;
}
.item_set .item_title::before{
  left: 0;
  transform: translateX(-100%);
}
.item_set .item_title::after{
  right: 0;
  transform: translateX(100%);
}
.item_set .item_border{
  width: 90%;
  margin: 22px auto 40px;
  height: 1px;
  position: relative;
  z-index: 2;
}
.item_set#item_01 .item_border{
  background-color: #D19E66;
}
.item_set#item_02 .item_border{
  background-color: #C79398;
}
.item_set#item_03 .item_border{
  background-color: #182C5B;
}
.item_set .item_border .item_num{
  width: 198px;
  max-width: 17%;
  position: absolute;
  top: 0;
  left: 4%;
  transform: translateY(-50%);
}
.item_set#item_01 .item_border .item_num{
  width: 241px;
  max-width: 18.8%;
}
.item_set .item_content{
  width: 82%;
  margin: 0 auto 45px;
  transform: translateX(5%);
  display: flex;
  gap: 5%;
  align-items: center;
}
.item_set .item_content .left{
  width: 55%;
  position: relative;
}
.item_set .item_content .left .item_with{
  position: absolute;
  width: 50%;
  left: -10%;
  bottom: -20px;
}
.item_set .item_content .right{
  min-width: 410px;
  width: 42%;
}
.item_set .item_content .right .desc {
  font-size: 16px;
  line-height: 2.13;
  margin-bottom: 30px;
  text-align: justify;
}
.item_set .item_list {
  margin-top: auto;
  background: #FFFFFF;
  padding: 16px 0;
}
.item_set .item_list ul {
  margin-left: 20px;
}
.item_set .item_list li .product_name{
  margin: 8px 0;
  font-size: 14px;
  line-height: 2.14;
}
.item_set .item_list li {
  padding-left: 25px;
  position: relative;
}
.item_set .item_list li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 12px; 
  height: 12px; 
  background-image: url('./images/icon_itemlist@2x.png'); 
  background-size: contain; 
}

.item_set .item_list span {
  font-size: 11px;
  margin-left: 2px;
}
.item_set .item_list span.actual{
  color: #FFFFFF;
  background-color: #C3AA78;
  padding: 1px 6px;
  margin-left: 8px;
  font-weight: 500;
}
.item_set .items_attention{
  font-size: 12px;
  margin-top: 8px;
}
.item_set .item_name{
  font-size: 20px;
  color: #1A1A1A;
  margin-bottom: 6.5px;
}
.item_set .item_price{
  max-width: 70%;
  margin: 0 auto;
}
.item_set .btn_wrapper{
  width: 428px;
  max-width: 90%;
  margin: 13px auto 0;
  display: block;
}

.bottom .campain{
  margin: 70px auto 100px;
}

@media screen and (max-width: 1200px) {
  .item_set .item_content{
    width: 90%;
    transform: translateX(4%);
  }
}
@media screen and (max-width: 1024px) {
  .item_set .item_content{
    width: 95%;
    transform: translateX(2%);
  }
  .item_set .item_title{
    font-size: 30px;
  }
  .item_set .item_border{
    margin-top: 10px;
  }
}
@media screen and (max-width: 900px) {
  .item_set .item_content{
    width: 82%;
    flex-direction: column;
    gap: 30px;
  }
  .item_set .item_content .left{
    width: 100%;
  }
  .item_set .item_content .right{
    width: 100%;
  }
  .item_set .item_title{
    font-size: 26px;
  }
  .item_set .item_list {
    padding-left: 5%;
    display: flex;
    justify-content: start;
  }
}
@media screen and (max-width: 768px) {
  .view_pc {
    display: none;
  }
  .view_sp {
    display: block;
  }
  .description .wrapper{
    width: 88%;
    padding: 30px 0;
  }
  .description .wrapper h2 img {
    max-width: 70%;
    margin: 30px auto 0px;
  }
  .description .detail {
    text-align: justify;
    font-size: 16px;
    margin: 30px auto;
    line-height: 1.8  ;
  }
  .limited_description .wrapper .limited_description_title{
    width: 193px;
    font-size: 16px;
    letter-spacing: 0.06em;
    line-height: 1.5;
  }
  .limited_description .wrapper .limited_description_detail,
  .limited_description .wrapper .limited_description_detail span{
    font-size: 16px;
  }
  .limited_description .wrapper .limited_description_period .left{
    font-size: 13px;
    padding: 7px 5px;
  }
  .limited_description .wrapper .limited_description_period .right{
    font-size: 15px;
    padding: 0 7px;
  }
  .item {
    background: url('./images/item_bg_sp.jpg') repeat top center;
    padding-bottom: 0;
  }
  .item .wrapper{
    width: 100%;
    padding: 35px 0 75px;
  }
  .item .wrapper .item_detail{
    font-size: 15px;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.05em;
    margin-top: 15px;
  }
  .item .wrapper .item_present{
    flex-direction: column;
    gap:16px;
  }
  .item ul {
    flex-direction: column;
    gap: 30px;
  }
  .item li {
    max-width: 100%;
  }
  .item_set {
    padding: 50px 0 0;
  }
  .item_set .wrapper {
    width: 100%;
    padding: 30px 0 70px;
  }
  .item_set .item_title{
    font-size: 24px;
    transform: none;
  }
  .item_set .item_title::before,
  .item_set .item_title::after,
  .item_set .item_border{
    display: none;
  }
  .item_set .item_content{
    width: 95%;
    transform: none;
  }
  .item_set .item_content .right{
    min-width: 0;
    width: 100%;
  }
  .item_set .item_content .right .desc {
    font-size: 14px;
    line-height: 2.43;
    margin-bottom: 24px;
  }
  .item_set .item_list li .product_name{
    font-size: 13px;
  }
  .item_set .item_name{
    font-size: 16px;
  }


  .bottom .campain{
    width: 90%;
    max-width:530px;
  }
}
@media screen and (max-width: 600px) {
  .description .lead_bottom {
    max-width: 100%;
  }
  .limited_description .wrapper .limited_description_detail,
  .limited_description .wrapper .limited_description_detail span{
    font-size: 3.72vw;
  }
  .limited_description .wrapper .limited_description_period .left{
    font-size: 3vw;
  }
  .limited_description .wrapper .limited_description_period .right{
    font-size: 3.45vw;
  }
  .item .wrapper .item_present img:nth-of-type(2){
    width: 95%;
  }
  .item .wrapper .item_present img:nth-of-type(5){
    width: 95%;
  }
  .item .wrapper .asterisk{
    font-size: 3.24vw;
    text-align: left;
    margin: 0 25px 0;
  }
  .item_set .item_content {
    width: 90%;
  }
  .item_set .item_title{
    font-size: 5.6vw;
    margin: 15px 0 0;
  }
  .item_set .item_list ul {
    margin-left: 0;
  }
  .item_set .item_list li .product_name{
    font-size: 3vw;
  }
  .item_set .item_content {
    gap: 15px;
  }
}
