@charset "UTF-8";

/* --------------------------------------------------
  xmas
-------------------------------------------------- */

/* ==========================================================================
dummy
========================================================================== */
/*
body:after {
content: "";
display: block;
position: absolute;
top: 12px;
left: 50%;
z-index: -1;
width: 1400px;
height: 5620px;
margin-left: -700px;
background: url(../pc_wb_1911_xmas.jpg) 0 0 no-repeat;
background-size: 100% auto;
}
body {
  background: transparent;
}
#wrapper {
opacity: 0.5;
}
*/



/* --------------------------------------------------
  hero
-------------------------------------------------- */
div#body .xmas #hero {
  height: 600px;
  opacity: 0;
  transition: opacity 1300ms ease;
}
.load div#body .xmas #hero {
  opacity: 1;
  background: url(../img/title_bg.jpg) center center / cover no-repeat;
}
div#body .xmas #hero h2 {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 489px;
  margin-top: -93px;
  margin-left: 89px;
}



/* --------------------------------------------------
  setarea overwride
-------------------------------------------------- */
#setarea {
  width: auto;
  max-width: 100%;
  margin-bottom: 146px;
  padding: 0;
  background-color: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
}



/* --------------------------------------------------
  intro
-------------------------------------------------- */
div#body .xmas #intro {
  position: relative;
  padding-bottom: 83px;
  background: url(../img/intro_bg.png) center 0 / 129px auto repeat-x;
}
.xmas_nosale div#body .xmas #intro:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  background-color: rgba(255,255,255,0.9);
}
.xmas_nosale div#body .xmas #intro:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 10;
  width: 620px;
  height: 119px;
  background: url(../img/intro_img_finish.png) 0 0 / 100% auto no-repeat;
  transform: translate(-50%, -50%);
}
div#body .xmas #intro .title_box {
  padding: 111px 0 92px;
  background: url(../img/intro_title_bg.png) center -1px / 100% 17px no-repeat;
}
div#body .xmas #intro .title_box .title {
  max-width: 466px;
  margin: 0 auto 35px;
}
div#body .xmas #intro .title_box .lead {
  max-width: 848px;
  margin: 0 auto;
}
div#body .xmas #intro .text_box {
  position: relative;
  z-index: 1;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0;
}
.xmas_few div#body .xmas #intro .text_box:after {
  content: "";
  display: block;
  position: absolute;
  top: 110px;
  right: 70px;
  width: 119px;
  height: 119px;
  background: url(../img/intro_img_few.png) 0 0 / 100% auto no-repeat;
}
div#body .xmas #intro .text_box .img {
  max-width: 1090px;
  width: calc(1090 / 1000 * 100%);
  margin-bottom: 75px;
  margin-left: calc(-45 / 1000 * 100%);
}
div#body .xmas #intro .text_box .special {
  width: 800px;
  margin: 0 auto 18px;
}
div#body .xmas #intro .text_box .special_note {
  width: 800px;
  margin: 0 auto;
  text-align: right;
}
div#body .xmas #intro .text_box .special_note img {
  width: 524px;
}



/* --------------------------------------------------
  brand
-------------------------------------------------- */
div#body .xmas #brand .title {
  margin-bottom: 0;
  background-color: #a20d22;
}
div#body .xmas #brand .title img {
  max-width: 900px;
}
div#body .xmas #brand > ul {
  margin: 0 auto;
}
div#body .xmas #brand > ul > li {
  box-sizing: border-box;
  position: relative;
  border-bottom: 1px solid #a20d22;
  line-height: 1;
}
div#body .xmas #brand > ul > li img {
  width: 100%;
}
div#body .xmas #brand > ul > li .accordion {
  box-sizing: border-box;
  display: block;
  position: relative;
  width: 100%;
  height: 500px;
}

div#body .xmas #brand > ul > li .accordion_bg {
  position: relative;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
div#body .xmas #brand > ul > li#modal01 .accordion_bg {
  background-image: url(../img/btn_makeup.jpg);
}
div#body .xmas #brand > ul > li#modal02 .accordion_bg {
  background-image: url(../img/btn_skincare.jpg);
}
div#body .xmas #brand > ul > li#modal03 .accordion_bg {
  background-image: url(../img/btn_bodycare.jpg);
}
div#body .xmas #brand > ul > li .accordion:after {
  content: "";
  display: block;
  position: absolute;
  bottom: -3px;
  left: 50%;
  width: 79px;
  height: 64px;
  margin-left: -39px;
  background-image: url(../img/btn_open_color.png);
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100% auto;
  transition: all 400ms ease;
}
div#body .xmas #brand > ul > li .accordion.open:after {
  transform: rotate(180deg);
}
div#body .xmas #brand > ul > li .accordion .btn_text {
  position: absolute;
  left: 50%;
  width: 511px;
}
div#body .xmas #brand > ul > li#modal01 .accordion .btn_text {
  top: 114px;
  margin-left: -505px;
}
div#body .xmas #brand > ul > li#modal02 .accordion .btn_text {
  top: 127px;
  margin-left: -6px;
}
div#body .xmas #brand > ul > li#modal03 .accordion .btn_text {
  top: 125px;
  margin-left: -506px;
}



/* --------------------------------------------------
  accordion
-------------------------------------------------- */
div#body .accordion_inner {
  box-sizing: border-box;
  position: relative;
  height: 0;
  overflow: hidden;
  margin: 0 auto;
  transition: height 600ms ease;
}
div#body .accordion_inner .accordion_content {
  width: 1000px;
  margin: 0 auto;
  padding-top: 87px;
  padding-bottom: 105px;
}
div#body .accordion_inner .sub {
  width: 903px;
  margin: 0 auto;
  padding-bottom: 70px;
}
div#body .accordion_inner .setblock:not(:last-child) {
  margin-bottom: 105px;
  padding-bottom: 105px;
  border-bottom: 1px solid #eeeeee;
}
div#body .accordion_inner .set {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 57px;
  padding-left: 0;
  padding-right: 0;
}
div#body .accordion_inner .img {
  display: flex;
  align-items: center;
  position: relative;
  width: 600px;
  margin: 0 44px 0 -41px;
}
div#body .accordion_inner .img .item {
  display: block;
  width: 390px;
  margin-right: 10px;
}
div#body .accordion_inner .img .special {
  display: block;
  position: relative;
  width: 180px;
  height: 293px;
  background: url(../img/modal_img_special.jpg) 0 0 / 100% auto no-repeat;
}
.xmas_nosale div#body .accordion_inner .img .special {
  background-image: url(../img/modal_img_special_finish.jpg);
}
/*.xmas_few div#body .accordion_inner .img .special:after {
  content: "";
  position: absolute;
  top: 50%;
  right: -9px;
  width: 71px;
  height: 71px;
  margin-top: -182px;
  background: url(../img/modal_img_special_few.png) 0 0 / 100% auto no-repeat;
}*/
div#body .accordion_inner .textarea {
  width: 397px;
  text-align: justify;
  text-justify: inter-ideograph;
}
div#body .accordion_inner .textarea h3 {
  margin-bottom: 18px;
  font-size: 183.33%;
  line-height: 1.45;
  font-weight: bold;
  color: #a20d22;
}
div#body .accordion_inner .textarea .catch {
  margin-bottom: 17px;
  font-size: 167%;
  line-height: 1.3;
  font-weight: bold;
  letter-spacing: 0.1em;
  color: #333333;
}
div#body .accordion_inner .textarea dt {
  margin-bottom: 5px;
  font-size: 150%;
  line-height: 2;
  font-weight: bold;
  color: #666666;
}
div#body .accordion_inner .textarea dd {
  text-align: left;
  font-size: 150%;
  line-height: 1.33;
  color: #666666;
}
div#body .accordion_inner .textarea dd:not(:last-child) {
  margin-bottom: 5px;
}
div#body .accordion_inner .textarea .icon {
  float: left;
  width: 1.1em;
}
div#body .accordion_inner .textarea .text {
  padding-left: 1.1em;
}
div#body .accordion_inner .textarea .price {
  margin-top: 26px;
  font-size: 250%;
  letter-spacing: 0.1em;
  color: #333333;
}
div#body .accordion_inner .textarea .price span {
  font-size: 50%;
}
div#body .accordion_inner .set_btn {
  display: flex;
  justify-content: center;
  max-width: 817px;
  margin: 0 auto;
}
div#body .accordion_inner .set_btn li {
  max-width: 378px;
}
div#body .accordion_inner .set_btn li:not(:last-child) {
  margin-right: 61px;
}
div#body .accordion_inner .set_btn a {
  display: block;
}
div#body .accordion_inner .modal_close_bottom {
  width: 1000px;
  margin: 0 auto;
  padding-bottom: 97px; 
}



/* --------------------------------------------------
  商品在庫わずか表示
-------------------------------------------------- */
.xmas_few div#body .accordion_inner .set_btn a,
div#body .accordion_inner .few_sale .set_btn a {
  display: block;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100% auto;
}
.xmas_few div#body .accordion_inner .set_btn .btn_myself a,
div#body .accordion_inner .few_sale .set_btn .btn_myself a {
  background-image: url(../img/btn_send_myself_few.png);
}
.xmas_few div#body .accordion_inner .set_btn .btn_others a,
div#body .accordion_inner .few_sale .set_btn .btn_others a {
  background-image: url(../img/btn_send_others_few.png);
}
.xmas_few div#body .accordion_inner .set_btn a img,
div#body .accordion_inner .few_sale .set_btn a img {
  visibility: hidden;
}



/* --------------------------------------------------
  商品在庫なし表示
-------------------------------------------------- */
.xmas_nosale div#body .accordion_inner .set_btn,
div#body .accordion_inner .no_sale .set_btn {
  width: 100%;
  padding-top: calc(135 / 2000 * 100%);
  background: url(../img/btn_send_finish.png) 0 0 / 100% auto no-repeat;
}
.xmas_nosale div#body .accordion_inner .set_btn li,
div#body .accordion_inner .no_sale .set_btn li {
  display: none;
}



/* --------------------------------------------------
  hover
-------------------------------------------------- */
.noTouch div#body .xmas #brand > ul > li > a,
.noTouch .accordion_inner .set_btn a,
.noTouch .modal_close_bottom a img {
  transform: translate3d(0,0,0);
  transition: all 300ms ease;
}
.noTouch div#body .xmas #brand > ul > li > a:hover,
.noTouch .accordion_inner .set_btn a:hover,
.noTouch .modal_close_bottom a:hover img {
  opacity: 0.9;
}

.noTouch div#body .xmas #brand > ul > li .accordion:not(.open):hover:after {
  bottom: -13px;
}
.noTouch div#body .xmas #brand > ul > li .accordion.open:hover:after {
  bottom: 7px;
}


