html,
body {
  background-color: #000;
  margin: 0;
  padding: 0;
}

.dp-ginza {
  background-color: #000;
  color: #fff;
  width: 100%;
  overflow: hidden;
  font-family: Arial, Helvetica, sans-serif;
  --FONT-GINZA-MEDIUM: Shiseido-med, sans-serif;
  --FONT-GINZA-REGULAR: ReaderMedium, Arial, sans-serif;
  --FONT-SIZE-GINZA-TITLE: 60px;
  --FONT-SIZE-GINZA-TEXT: 25px;
  --FONT-SIZE-GINZA-CTA: 20px;
  --MARGIN-GINZA: 40px;
  --RED-SHISEIDO: #d6001c;
}

@media (max-width: 761px) {
  .dp-ginza {
    --FONT-SIZE-GINZA-TITLE: 25px;
    --FONT-SIZE-GINZA-TEXT: 14px;
    --FONT-SIZE-GINZA-CTA: 16px;
    --MARGIN-GINZA: 15px;
  }
}

.dp-ginza-anchor {
  margin-top: -100px;
  height: 100px;
  pointer-events: none;
  opacity: 0;
}
.dp-ginza a {
  color: #000;
  text-decoration: none;
}

.dp-ginza-block {
  max-width: 1500px;
  display: flex;
  margin: 0 auto;
  background-color: #000;
  /* min-height: 100vh;*/
}

.dp-ginza-content {
  box-sizing: border-box;
  display: flex;
  padding: var(--MARGIN-GINZA);
  margin: 0 auto;
}

.dp-ginza-title {
  font-size: var(--FONT-SIZE-GINZA-TITLE);
  line-height: var(--FONT-SIZE-GINZA-TITLE);
  margin: var(--MARGIN-GINZA) auto;
  font-weight: normal;
  color: #fff;
}

.dp-ginza-title span {
  display: block;
}

.dp-ginza-title__hashtag {
  font-size: 0.75em;
  font-weight: normal;
  display: block;
}

.dp-ginza-text {
  font-size: var(--FONT-SIZE-GINZA-TEXT);
  line-height: 1.2em;
  margin: 0;
  margin-bottom: var(--MARGIN-GINZA);
  font-weight: normal;
  color: #fff;
  letter-spacing: 0.1em;
  max-width: 1040px;
}

.dp-ginza-cta {
  display: flex;
  min-width: 220px;
  height: calc(2.5 * var(--FONT-SIZE-GINZA-CTA));
  justify-content: center;
  align-items: center;
  background-color: #fff;
  color: #000;
  text-transform: uppercase;
  border: 0px solid;
  font-size: var(--FONT-SIZE-GINZA-CTA);
  line-height: 1em;
  box-sizing: border-box;
  margin: 0;
  padding: 0 20px;
}

.dp-ginza-arrow {
  width: 88px;
  height: 43px;
  background-color: transparent;
  font-size: 0;
  background-image: url(images/arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  border: 0px solid;
  position: absolute;
  top: calc(100vh - 200px);
  left: calc(50% - 44px);
  z-index: 3;
}

@media (max-width: 1500px) {
  .dp-ginza-arrow {
    height: calc(100vw * 43 / 1500);
    width: calc(100vw * 88 / 1500);
    top: auto;
    bottom: calc(100vw * 60 / 1500);
    left: calc(50% - 100vw * 44 / 1500);
  }
}
@media (max-width: 761px) {
  .dp-ginza-arrow {
    bottom: auto;
    top: 140vw;
  }
}
@media (max-width: 761px) {
  .dp-ginza-title {
    font-size: 5.4vw;
    line-height: 5.4vw;
    margin: 2.3vw auto;
  }

  .dp-ginza-text {
    font-size: 3.12vw;
  }
}

.dp-ginza-visual {
  display: block;
  margin: 0 auto;
}

.dp-ginza-visual img {
  width: 100%;
  display: block;
  margin: 0 auto;
}

.dp-ginza-wrapper {
  position: relative;
  display: block;
}

/*------------------HEADER--------------------*/
.dp-ginza-header {
  display: block;
  margin: 0 auto;
  /* max-width: 1500px;*/
  position: relative;
  /* max-height: 798px;*/
  overflow: hidden;
}

@media (max-width: 761px) {
  .dp-ginza-header {
    height: calc(100vh - 195px);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
  }
}
.dp-ginza-header::after {
  border-right: 10px solid var(--RED-SHISEIDO);
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  content: " ";
  width: 110px;
  background-image: url(./images/camellia-logo.svg);
  background-size: 70px 70px;
  background-repeat: no-repeat;
  background-position: top 35px right 24px;
}

@media (max-width: 761px) {
  .dp-ginza-header::after {
    border-right: 1.5vw solid var(--RED-SHISEIDO);
    width: 16vw;
    background-size: 10vw 10vw;
    background-position: top 5vw right 3vw;
  }
}

.dp-ginza-header__title {
  top: calc(50% - 180px);
  width: 825px;
  position: absolute;
  font-size: 40px;
  line-height: 50px;
  right: 40px;
  text-align: center;
  font-weight: normal;
  margin: 0;
  padding: var(--MARGIN-GINZA);
  text-align: right;
  display: flex;
  align-items: flex-end;
  height: 320px;
  justify-content: flex-end;
  flex-direction: column;
}

@media (max-width: 1500px) {
  .dp-ginza-header__title {
    top: calc(100vw * 180 / 1500);
    width: calc(100vw * 825 / 1500);
    font-size: calc(100vw * 40 / 1500);
    height: 30vw;
    line-height: calc(100vw * 67 / 1500);
    right: 0;
  }
}

@media (max-width: 761px) {
  .dp-ginza-header__title {
    top: auto;
    left: auto;
    right: auto;
    font-size: 5.5vw;
    line-height: 6vw;
    position: relative;
    height: auto;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
    flex: 1;
    background-image: url(images/logo.png);
    background-size: 240px auto;
    background-position: top 20px center;
    background-repeat: no-repeat;
    padding-top: 150px;
    display: block;
  }
  .dp-ginza-header__title span {
    display: inline-block;
  }
}

.dp-ginza-header__title span {
  display: block;
}

.dp-ginza-header__sticky {
  position: absolute;
  position: fixed;
  display: flex;
  justify-content: flex-end;
  width: 100%;
  left: 0;
  bottom: 0;
  padding: var(--MARGIN-GINZA) 73px;
  box-sizing: border-box;
  z-index: 2;
}
.dp-ginza-header__sticky[data-sticky="1"] {
  position: fixed;
}

@media (max-width: 761px) {
  .dp-ginza-header__sticky {
    justify-content: center;
  }
}

/*---------------------------------------------------*/
.video-wrapper .video-js {
  width: 1500px;
  height: 845px;
  margin: 0 auto;
}
@media (max-width: 1500px) {
  .video-wrapper .video-js {
    width: 100%;
    height: 56vw;
  }
}

/*---------------------------------------------------*/

*[data-block="discover"] .dp-ginza-content {
  align-items: center;
  flex-direction: column;
  text-align: center;
}

@media (max-width: 761px) {
  *[data-block="discover"] .dp-ginza-content {
    padding-top: 20vw;
    padding-bottom: 20vw;
  }
}

/*---------------------------------------------------*/
*[data-block="story"] {
  align-items: unset;
  max-width: 100%;
  justify-content: center;
}

*[data-block="story"] .dp-ginza-visual {
  flex-basis: 46%;
  max-width: 760px;
  margin: 0;
  margin-top: var(--MARGIN-GINZA);
  margin-bottom: var(--MARGIN-GINZA);
}

*[data-block="story"] .dp-ginza-content {
  flex: 1;
  margin: 0;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  text-align: left;
  padding-left: 100px;
  padding-right: 200px;
  max-width: 740px;
}

*[data-block="story"] {
  background-image: url(images/flowers-right.png);
  background-position: top right;
  background-repeat: no-repeat;
}

@media (max-width: 761px) {
  *[data-block="story"] {
    flex-direction: column-reverse;
  }

  *[data-block="story"] .dp-ginza-visual {
    flex-basis: unset;
    max-width: 761px;
    width: 100%;
    margin: 0;
  }

  *[data-block="story"] .dp-ginza-content {
    flex-basis: unset;
    margin: 0;
    padding: var(--MARGIN-GINZA) 17vw;
    max-width: 761px;
    width: 100%;
    text-align: center;
    justify-content: center;
    align-items: center;
  }

  *[data-block="story"] {
    background-image: url(images/flowers-right.png);
    background-position: top 7vw right;
    background-repeat: no-repeat;
    background-size: 20vw auto;
  }

  *[data-block="video"] video {
    height: 345px;
  }
}

@media (max-width: 761px) {
  *[data-block="story"] .dp-ginza-content {
    padding-top: 20vw;
    padding-bottom: 20vw;
  }
}

/*---------------------------------------------------*/
*[data-block="blooms-visual"] {
  max-width: 100%;
  justify-content: center;
}

/*---------------------------------------------------*/
*[data-block="blooms"] {
  flex-direction: column;
  align-items: center;
}

*[data-block="blooms"] .dp-ginza-content {
  align-items: center;
  flex-direction: column;
  text-align: center;
  max-width: 850px;
  padding-top: 0;
}

@media (max-width: 761px) {
  *[data-block="blooms"] {
    padding-bottom: 20vw;
  }
}

/*-----------------------------------------------------------*/
*[data-block="products"] {
  flex-direction: column;
  align-items: center;
  background-image: url(images/flowers-left.png);
  background-position: top left;
  background-repeat: no-repeat;
  max-width: 100%;
  padding-bottom: 75px;
}

@media (max-width: 761px) {
  *[data-block="products"] {
    background-position: top 10vw left;
    background-size: 30vw auto;
  }
}

.dp-ginza-products {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.dp-ginza-products__title {
  margin: 0;
  font-size: var(--FONT-SIZE-GINZA-TEXT);
  line-height: 1.2em;
  font-weight: normal;
  text-align: center;
  letter-spacing: 0.1em;
  margin-top: 90px;
}

.dp-ginza-products__title strong {
  text-transform: uppercase;
  font-weight: bold;
}

.dp-ginza-products__wrapper {
  max-width: 1200px;
  margin: 0 auto;
}

.dp-ginza-products__item {
  width: 290px;
  /* height: 540px; */
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
  margin: 0 auto;
}

.dp-ginza-products__item-img {
  height: 350px;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

.dp-ginza-products__item picture {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
}

.dp-ginza-products__name {
  text-align: center;
  display: block;
  margin: 0;
  flex-basis: 160px;
  height: 160px;
  font-size: 23px;
  padding-top: var(--MARGIN-GINZA);
  box-sizing: border-box;
  letter-spacing: 0.1em;
}

.dp-ginza-products__name span {
  display: block;
}

@media (max-width: 761px) {
  .dp-ginza-products__title {
    font-size: 3.12vw;
    margin-top: 7.81vw;
  }

  .dp-ginza-products__title strong {
    display: block;
  }

  .dp-ginza-products__wrapper {
    max-width: 100%;
    margin: 0 auto;
  }

  .dp-ginza-products__name {
    flex-basis: 110px;
    height: 110px;
  }

  .dp-ginza-products__item {
    /* height: 490px; */
  }

  .dp-ginza-products__wrapper .slick-slide:not(.slick-current) {
    opacity: 0.4;
  }

  .dp-ginza-products__wrapper
    .slick-slide:not(.slick-current)
    .dp-ginza-products__name,
  .dp-ginza-products__wrapper .slick-slide:not(.slick-current) .dp-ginza-cta {
    opacity: 0;
    pointer-events: none;
  }

  .dp-ginza-products__wrapper .slick-slide {
    transition: opacity 0.3s;
    /* max-width: 230px;
  width: 100%; */
  }

  .dp-ginza-products__wrapper .slick-next,
  .dp-ginza-products__wrapper .slick-prev {
    background-image: url(./images/arrow.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    /* transform: translate(0,-50%); */
    height: 30px;
    width: 60px;
    z-index: 1;
  }

  .dp-ginza-products__wrapper .slick-next {
    right: 4vw;
    -webkit-transform: rotate(-90deg) translate(0, -50%);
    -ms-transform: rotate(-90deg) translate(0, -50%);
    transform: rotate(-90deg) translate(0, -50%);
  }

  .dp-ginza-products__wrapper .slick-prev {
    left: 4vw;
    -webkit-transform: rotate(90deg) translate(0, -50%);
    -ms-transform: rotate(90deg) translate(0, -50%);
    transform: rotate(90deg) translate(0, -50%);
  }

  .dp-ginza-products__wrapper .slick-next::before,
  .dp-ginza-products__wrapper .slick-prev::before {
    display: none;
  }

  *[data-block="products"] {
    background-image: none;
  }
}
