@font-face {
  font-family: "Reader";
  src: url("../fonts/Reader-Regular.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "Reader";
  src: url("../fonts/Reader-Bold.otf") format("opentype");
  font-weight: bold;
  font-style: normal;
}

@font-face {
  font-family: "Reader";
  src: url("../fonts/Reader-Regular-Italic.otf") format("opentype");
  font-weight: normal;
  font-style: italic;
}

@font-face {
  font-family: "ShiseidoNeue";
  src: url("../fonts/ShiseidoNeue-Regular.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "ShiseidoNeue";
  src: url("../fonts/ShiseidoNeue-Bold.otf") format("opentype");
  font-weight: bold;
  font-style: normal;
}

@font-face {
  font-family: "shicon";
  src: url("../fonts/shicon.eot?yggh9i");
  src: url("../fonts/shicon.eot?yggh9i#iefix") format("embedded-opentype"), url("../fonts/shicon.ttf?yggh9i") format("truetype"), url("../fonts/shicon.woff?yggh9i") format("woff"), url("../fonts/shicon.svg?yggh9i#shicon") format("svg");
  font-weight: normal;
  font-style: normal;
}

[class^="shicon-"], [class*=" shicon-"] {
  font-family: "shicon" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.shicon-info:before {
  content: "\e900";
}

.shicon-add:before {
  content: "\e901";
}

.shicon-cancel:before {
  content: "\e902";
}

.shicon-arrow-right:before {
  content: "\e095";
}

.button {
  background-color: #ea5519;
  color: #fff;
}

.button:hover, .button:focus {
  background-color: #ea5519;
}

.no-touch .button:hover, .no-touch .button:focus {
  background-color: #000;
}

* {
  outline: none;
}

body {
  position: relative;
  overflow-x: hidden;
  font-family: "Reader", "Helvetica Neue", Lato, Helvetica, Arial, sans-serif;
}

body.is-reveal-open {
  overflow-y: auto;
}

main {
  position: relative;
  float: left;
  width: 100%;
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.h, h1, h2, h3, h4, h5, h6, .h-xl, .h-lg, .h-md, .h-sm, .section-title-xl, .section-title-lg {
  font-family: "Reader", "Helvetica Neue", Lato, Helvetica, Arial, sans-serif;
  font-weight: bold;
  line-height: normal;
}

.h-xl {
  font-size: 35px;
}

.h-lg {
  font-size: 25px;
}

.h-md {
  font-size: 18px;
}

.h-sm {
  font-size: 15px;
}

.p-md {
  font-size: 18px;
}

.p-sm {
  font-size: 15px;
}

.section-title, .section-title-xl, .section-title-lg {
  text-transform: uppercase;
}

.section-title-xl {
  font-size: 35px;
}

.section-title-lg {
  font-size: 25px;
}

.text-upper {
  text-transform: uppercase;
}

.section-divider {
  max-width: 70rem;
  border-color: #e1616c;
  margin: 0 auto;
}

.reveal-overlay {
  overflow: hidden;
}

.intro-modal {
  position: fixed;
  background: none;
  top: 0 !important;
  left: 0;
  right: 0;
  bottom: 0;
  width: auto;
  margin: 0;
  display: none;
  border: none;
  max-width: none;
  min-height: auto !important;
  box-shadow: none;
}

.intro-modal .video-border {
  position: absolute;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
  background: #fff;
  border: solid 30px #fff;
  width: 100%;
  max-width: 1020px;
}

.intro-modal .video-border:after {
  content: '';
  display: block;
  padding-bottom: calc( 9 / 16 * 100%);
}

.intro-modal iframe {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.intro-modal .close-reveal-modal {
  position: absolute;
  top: -20px;
  right: -20px;
  bottom: auto;
  left: auto;
  line-height: 1rem;
  font-size: 2rem;
  color: #222;
}

@media screen and (max-width: 64em) {
  .intro-modal {
    left: 2rem;
    right: 2rem;
  }
  .intro-modal .video-border {
    border: solid 15px #fff;
    max-width: 720px;
  }
  .intro-modal .close-reveal-modal {
    top: -30px;
    right: -30px;
    background: #fff;
    width: 30px;
    height: 30px;
    border-radius: 5px;
    line-height: 30px;
    text-align: center;
  }
}

.header-shiseido {
  position: relative;
  float: left;
  width: 100%;
  display: none;
}

.header-shiseido .top-header {
  text-align: center;
  background: #000;
}

.header-shiseido .top-header-option {
  position: relative;
  display: inline-block;
  vertical-align: top;
  line-height: 30px;
  margin: 0 5px;
  color: #fff;
  font-size: 12px;
}

.header-shiseido .top-header-option i {
  margin-right: 5px;
}

.header-shiseido .top-header-option a {
  color: #fff;
  transition: all ease-in-out .25s;
}

.header-shiseido .top-header-option a:hover {
  color: #c8102e;
}

.header-shiseido .top-header .language:hover .language-list {
  display: block;
}

.header-shiseido .top-header .language-choose {
  cursor: pointer;
  transition: all ease-in-out .25s;
}

.header-shiseido .top-header .language-choose:hover {
  color: #c8102e;
}

.header-shiseido .top-header .language-list {
  position: absolute;
  top: 100%;
  right: 0;
  bottom: auto;
  left: auto;
  min-width: 200px;
  border: solid 1px #ccc;
  background: #fff;
  display: none;
  z-index: 10;
}

.header-shiseido .top-header .language-list::after {
  content: "";
  position: absolute;
  top: auto;
  right: 10px;
  bottom: 100%;
  left: auto;
  border: solid 6px transparent;
  border-bottom: solid 6px #fff;
}

.header-shiseido .top-header .language-list li a {
  line-height: 1;
  display: block;
  width: 100%;
  color: #000;
  padding: 0.5rem;
  text-align: left;
}

.header-shiseido .top-header .language-list li a:hover {
  background: #c8102e;
  color: #fff;
}

.header-shiseido .top-header .search {
  position: static;
  transition: all ease-in-out .25s;
  cursor: pointer;
}

.header-shiseido .top-header .search:hover {
  color: #c8102e;
}

.header-shiseido .top-header .search:hover .search-inner {
  max-height: 40px;
}

.header-shiseido .top-header .search-inner {
  position: absolute;
  top: 30px;
  right: 0;
  bottom: auto;
  left: 0;
  max-height: 0;
  overflow: hidden;
  transition: all ease-in-out .25s;
  z-index: 10;
  box-shadow: 0 2px 2px #222;
}

.header-shiseido .top-header .search-inner input {
  height: 40px;
  padding: 5px 15px;
  line-height: 30px;
  border: none;
  margin: 0;
  text-align: center;
  font-size: 12px;
  background: #fff;
}

.header-shiseido .logo-container {
  position: relative;
  text-align: center;
  padding: 20px 0 7px;
}

.header-shiseido .logo-container a {
  display: inline-block;
  vertical-align: top;
  max-width: 189px;
  width: 100%;
  margin: 0 0 0 4px;
}

.header-shiseido .logo-container a img {
  width: 100%;
  max-width: 352px;
}

.header-shiseido .logo-container .cameli {
  position: absolute;
  top: 50%;
  right: 80px;
  bottom: auto;
  left: auto;
  -ms-transform: translateY(-50%);
      transform: translateY(-50%);
  width: 50px;
}

.header-shiseido .logo-container .cameli img {
  width: 100%;
}

.header-shiseido .nav-header {
  line-height: 0;
}

.header-shiseido .nav-header ul li a {
  position: relative;
  padding: 15px;
  line-height: 20px;
  color: #000;
  font-weight: bold;
  font-size: 14px;
  text-transform: uppercase;
  transition: all ease-in-out .25s;
}

.header-shiseido .nav-header ul li a:hover {
  color: #c8102e;
}

.header-shiseido .nav-header ul li a.separator {
  margin-right: 15px;
  padding-right: 30px;
}

.header-shiseido .nav-header ul li a.separator::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -12px;
  width: 1px;
  height: 24px;
  background-color: #000;
}

.module-intro {
  border-top: solid 40px #da004b;
  border-bottom: solid 40px #da004b;
}

.module-intro .columns-wrapper {
  position: relative;
  width: 100%;
  max-width: inherit;
}

.module-intro .columns {
  position: relative;
  padding: 0;
}

.module-intro .columns.left img {
  width: 100%;
}

.module-intro .intro-content {
  display: none;
  padding: 30px;
  text-align: center;
  position: absolute;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
}

.module-intro .intro-content h1 {
  margin-bottom: 25px;
}

.module-intro .intro-content p {
  margin: 0;
  font-size: 18px;
}

.module-intro .intro-text {
  width: 80%;
  margin: 0 auto 30px;
}

.module-intro .btn-play {
  position: absolute;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 100%;
  z-index: 10;
  -ms-transform: translate(-32px, -50%);
      transform: translate(-32px, -50%);
  width: 64px;
  height: 64px;
  border-radius: 100%;
  cursor: pointer;
  background: rgba(0, 0, 0, 0.7);
}

.module-intro .btn-play::after {
  content: "";
  display: inline-block;
  margin-top: 20px;
  margin-left: 25px;
  border: solid 12px transparent;
  border-left: solid 20px #fff;
  vertical-align: top;
}

.no-touch .module-intro .btn-play:hover {
  background: rgba(204, 17, 49, 0.7);
}

@media screen and (max-width: 75em) {
  .module-intro .intro-products img {
    height: 150px;
  }
}

@media screen and (max-width: 64em) {
  .module-intro .columns.left {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    background-image: none !important;
  }
  .module-intro .columns.left img {
    display: block;
    width: 100%;
  }
  .module-intro .btn-play {
    left: 50%;
    -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
  }
  .module-intro .intro-content {
    position: relative;
    top: auto;
    left: auto;
    -ms-transform: none;
        transform: none;
  }
  .module-intro .intro-text {
    margin-bottom: 60px;
    width: 100%;
  }
  .module-intro .intro-products img {
    height: auto;
  }
}

.module-products {
  background: url(../images/bg-products.jpg) #fff top center no-repeat;
  background-size: 100% 80%;
}

.module-products .product-item {
  padding: 5rem 0 0;
}

.module-products .product-item:last-of-type {
  padding: 5rem 0;
}

.module-products .product-img img {
  max-width: 100%;
  max-height: 100%;
  transition: opacity .25s ease-in-out;
}

.no-touch .module-products .product-img img:hover {
  opacity: .8;
}

.module-products .product-title {
  margin-bottom: 1rem;
}

.module-products .product-text {
  margin-bottom: 1.5rem;
}

.module-products .product-instr p {
  margin-bottom: 2rem;
}

.module-products .product-choice {
  margin-bottom: 2.5rem;
}

.module-products .product-btn {
  text-transform: uppercase;
}

.module-products .product-btn.has-margin {
  margin-bottom: 2.5rem;
}

.module-products .benefits {
  padding: 30px 20px;
  background-color: #fef3ef;
  text-align: center;
}

.module-products .benefits .list {
  margin-bottom: 1.5rem;
}

.module-products .benefits .text-top {
  color: #ea5519;
  font-size: 18px;
  text-transform: uppercase;
}

.module-products .benefits .text-bottom {
  font-size: 18px;
}

.module-products .benefits .text-small {
  font-size: 9px;
}

.module-products .benefits .percent {
  position: relative;
  margin: 0 auto .5rem;
  width: 115px;
  height: 115px;
}

.module-products .benefits .percent .benefit-chart {
  width: 115px;
  height: 115px;
}

.module-products .benefits .percent .num {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  -ms-transform: translate(70%, 70%);
      transform: translate(70%, 70%);
  width: 48px;
  height: 48px;
  font-size: 32px;
  font-weight: bold;
}

.module-products .benefits .percent .num sup {
  font-size: 16px;
}

@media screen and (max-width: 75em) {
  .module-products .product-item {
    padding: 5rem;
  }
  .module-products .product-item:last-of-type {
    padding: 5rem;
  }
  .module-products .benefits .text-top {
    font-size: 15px;
  }
}

@media screen and (min-width: 64.0625em) {
  .module-products .product-img.right img {
    right: 0;
    left: auto !important;
  }
  .module-products .product-img img.equalized {
    position: absolute;
    top: 50%;
    left: 0;
    -ms-transform: translateY(-50%);
        transform: translateY(-50%);
  }
}

@media screen and (max-width: 64em) {
  .module-products .product-item {
    padding: 3rem 2rem;
    text-align: center;
  }
  .module-products .product-item:last-of-type {
    padding: 3rem 2rem;
  }
  .module-products .product-img img {
    position: static;
    -ms-transform: none;
        transform: none;
  }
  .module-products .product-text, .module-products .product-instr, .module-products .product-insheading, .module-products .product-choice {
    font-size: 22px;
  }
  .module-products .benefits {
    margin: 0;
  }
  .module-products .benefits .text-top {
    font-size: 18px;
  }
  .module-products .benefits .text-small {
    padding: 0 3rem;
    font-size: 15px;
  }
}

@media screen and (max-width: 39.9375em) {
  .module-products .product-title {
    font-size: 25px;
  }
  .module-products .product-img img {
    max-width: 60vw;
    max-height: 60vh;
  }
  .module-products .product-text, .module-products .product-instr, .module-products .product-insheading, .module-products .product-choice {
    font-size: 18px;
  }
  .module-products .benefits .text-top, .module-products .benefits .text-bottom {
    font-size: 15px !important;
  }
  .module-products .benefits .text-small {
    padding: 0;
  }
}

@media screen and (max-width: 37.5em) {
  .module-products .benefits .benefit {
    width: 100%;
  }
  .module-products .benefits .text-top, .module-products .benefits .text-bottom {
    font-size: 18px !important;
  }
}

@media screen and (max-width: 30em) {
  .module-products .product-item {
    padding: 3rem 1rem 0;
  }
  .module-products .product-item:last-of-type {
    padding: 3rem 1rem;
  }
  .module-products .product-choice {
    font-size: 15px;
  }
  .module-products .benefits .benefit {
    margin-bottom: 1.5rem;
  }
  .module-products .benefits .benefit:last-child {
    margin-bottom: 0;
  }
}

.module-cause {
  padding: 5rem 0 0;
}

.module-cause .cause-title {
  margin-bottom: 3rem;
}

.module-cause .cause-intro {
  margin: 0 auto 3rem;
}

.module-cause .skin-compare {
  margin-bottom: 2rem;
}

.module-cause .skin-compare .figure {
  display: table;
  margin: 0 auto 2rem;
  font-size: 15px;
}

.module-cause .skin-compare .figure-item {
  display: table-cell;
  vertical-align: top;
}

.module-cause .skin-compare .figure-item.skin {
  border-width: 1px;
  border-style: solid;
}

.module-cause .skin-compare .figure-item.skin-young {
  border-color: #e98061;
}

.module-cause .skin-compare .figure-item.skin-young .title {
  background-color: #e98061;
  background-image: linear-gradient(90deg, #e98061, #f7d3c8);
}

.module-cause .skin-compare .figure-item.skin-young .content > * {
  display: inline-block;
}

.module-cause .skin-compare .figure-item.skin-young .legend {
  margin-top: 1.125rem;
  padding-right: .5rem;
  text-align: right;
  vertical-align: top;
}

.module-cause .skin-compare .figure-item.skin-young .legend span {
  display: inline-block;
  margin-bottom: 3.5rem;
}

.module-cause .skin-compare .figure-item.skin-aged {
  border-color: #413936;
}

.module-cause .skin-compare .figure-item.skin-aged .title {
  background-color: #413936;
  background-image: linear-gradient(90deg, #413936, #dcd7d5);
}

.module-cause .skin-compare .figure-item.skin-aged .legend {
  color: #e35f37;
  text-align: left;
  font-weight: bold;
}

.module-cause .skin-compare .title {
  padding: .5rem;
  color: white;
  font-weight: bold;
}

.module-cause .skin-compare .content {
  padding: 1.5rem;
}

.module-cause .skin-compare .arrow {
  margin: 1rem 0;
  padding: 0 1rem;
  color: #e35f37;
  vertical-align: middle;
  font-size: 40px;
}

.module-cause .master-cell {
  position: relative;
}

.module-cause .master-cell .image {
  position: relative;
  margin: 0 auto;
  width: 298px;
}

.module-cause .master-cell .num {
  position: absolute;
  display: none;
  font-weight: bold;
}

.module-cause .master-cell .num-1 {
  top: 50px;
  left: -15px;
}

.module-cause .master-cell .num-2 {
  top: 115px;
  left: -15px;
}

.module-cause .master-cell .num-3 {
  bottom: 55px;
  left: -15px;
}

.module-cause .master-cell .num-4 {
  top: 55px;
  right: -15px;
}

.module-cause .master-cell .num-5 {
  right: -15px;
  bottom: 45px;
}

.module-cause .master-cell .legend {
  position: absolute;
  margin-bottom: .5rem;
  font-weight: bold;
}

.module-cause .master-cell .legend:last-child {
  margin-bottom: 0;
}

.module-cause .master-cell .legend-1 {
  top: 40px;
  left: calc(50% - 300px);
}

.module-cause .master-cell .legend-2 {
  top: 115px;
  left: calc(50% - 255px);
}

.module-cause .master-cell .legend-3 {
  bottom: 50px;
  left: calc(50% - 295px);
}

.module-cause .master-cell .legend-4 {
  top: 55px;
  right: calc(50% - 240px);
}

.module-cause .master-cell .legend-5 {
  right: calc(50% - 300px);
  bottom: 55px;
}

.module-cause .master-cell .legend span {
  display: none;
}

@media screen and (max-width: 75em) {
  .module-cause {
    padding: 5rem 5rem 0;
  }
}

@media screen and (max-width: 64em) {
  .module-cause {
    padding: 3rem 2rem 0;
  }
  .module-cause .cause-intro p {
    font-size: 22px;
  }
  .module-cause .skin-compare .caption {
    font-size: 22px;
  }
}

@media screen and (max-width: 48em) {
  .module-cause .skin-compare .figure-item {
    display: inline-block;
  }
  .module-cause .skin-compare .figure .arrow {
    display: block;
    -ms-transform: rotate(90deg);
        transform: rotate(90deg);
  }
}

@media screen and (min-width: 43.8125em) {
  .module-cause .master-cell .legend-1 {
    left: calc(50% - 315px);
  }
  .module-cause .master-cell .legend-5 {
    right: calc(50% - 330px);
    bottom: 45px;
  }
}

@media screen and (min-width: 40.0625em) {
  .module-cause .master-cell .legend-1 {
    text-align: right;
  }
  .module-cause .master-cell .legend-3 {
    color: #e35f37;
  }
}

@media screen and (max-width: 40em) {
  .module-cause {
    padding: 5rem 4rem 0;
  }
}

@media screen and (max-width: 39.9375em) {
  .module-cause .master-cell .num {
    display: block;
  }
  .module-cause .master-cell .legend {
    position: static;
    font-size: 18px;
    font-weight: normal;
  }
  .module-cause .master-cell .legend span {
    display: inline;
  }
  .module-cause .master-cell .image {
    margin-bottom: 2rem;
  }
}

@media screen and (max-width: 32em) {
  .module-cause {
    padding: 3rem 2rem 0;
  }
  .module-cause .cause-title {
    font-size: 25px;
  }
}

@media screen and (max-width: 30em) {
  .module-cause {
    padding: 3rem 1rem 0;
  }
  .module-cause .cause-intro p {
    font-size: 18px;
  }
  .module-cause .skin-compare .skin-young img {
    max-width: 50vw;
  }
  .module-cause .skin-compare .content {
    padding: .75rem;
  }
  .module-cause .skin-compare .caption {
    font-size: 18px;
  }
  .module-cause .master-cell .image {
    width: 230px;
  }
  .module-cause .master-cell .num-1 {
    top: 35px;
  }
  .module-cause .master-cell .num-2 {
    top: 85px;
  }
  .module-cause .master-cell .num-3 {
    bottom: 40px;
  }
  .module-cause .master-cell .num-4 {
    top: 40px;
  }
  .module-cause .master-cell .num-5 {
    bottom: 30px;
  }
}

.module-tech {
  padding: 5rem 0;
  background: url(../images/background_tech.png) left bottom repeat-x;
  background-size: auto 100%;
}

.module-tech .tech-title h2 {
  display: inline-block;
  margin: 0 0 45px;
  width: 60%;
  text-transform: uppercase;
}

.module-tech .tech-main {
  padding: 0 20px;
}

.module-tech .tech-option {
  padding: 0 20px;
  transition: margin-bottom ease-in-out .2s;
}

.module-tech .tech-img {
  margin-bottom: 20px;
}

.module-tech .tech-img .tech-img-box {
  display: inline-block;
  position: relative;
}

.module-tech .tech-content h3, .module-tech .tech-content p {
  margin: 0;
  line-height: 20px;
  font-size: 15px;
}

.module-tech .tech-tooltip {
  position: relative;
  margin: 30px 7.5px 0;
  padding: 35px 0;
  background: #fff;
}

.module-tech .tech-tooltip::after {
  content: "";
  position: absolute;
  top: auto;
  right: auto;
  bottom: 100%;
  left: 50%;
  -ms-transform: translateX(-50%);
      transform: translateX(-50%);
  border: solid 20px transparent;
  border-bottom: solid 20px #fff;
}

.module-tech .tech-tooltip h3, .module-tech .tech-tooltip p {
  margin: 0;
  line-height: 20px;
  font-size: 15px;
}

.module-tech .add-btn {
  position: absolute;
  top: auto;
  right: 0;
  bottom: 0;
  left: auto;
  width: 39px;
  height: 39px;
  background: #fff;
  border: solid 1px #d3d3d3;
  border-radius: 100%;
  cursor: pointer;
  font-size: 1.5rem;
  transition: all ease-in-out .3s;
}

.module-tech .add-btn::after, .module-tech .add-btn::before {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  left: calc(50% - 7.5px);
  width: 15px;
  height: 2px;
  background: #000;
  backface-visibility: hidden;
  transition: all ease-in-out .3s;
}

.module-tech .add-btn::before {
  -ms-transform: rotate(90deg);
      transform: rotate(90deg);
}

.module-tech .add-btn.active {
  -ms-transform: scale(1.1);
      transform: scale(1.1);
  border: solid 1px #000;
  background: #000;
}

.module-tech .add-btn.active::after {
  -ms-transform: rotate(130deg);
      transform: rotate(130deg);
  background: #fff;
}

.module-tech .add-btn.active::before {
  -ms-transform: rotate(230deg);
      transform: rotate(230deg);
  background: #fff;
}

.module-tech .tech-tooltip-container {
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transition: all ease-in-out .5s;
}

.module-tech .tech-tooltip-container.active {
  opacity: 1;
  max-height: 500px;
}

@media screen and (max-width: 75em) {
  .module-tech {
    padding: 5rem;
  }
}

@media screen and (max-width: 64em) {
  .module-tech {
    padding: 3rem 2rem;
  }
  .module-tech .tech-title h2 {
    width: 90%;
  }
}

@media screen and (max-width: 40em) {
  .module-tech .tech-option {
    margin-bottom: 60px;
  }
  .module-tech .tech-option:nth-of-type(3) {
    margin-bottom: 0;
  }
  .module-tech .tech-main {
    position: relative;
  }
  .module-tech .tech-tooltip::after {
    bottom: calc(100% - 2px);
  }
  .module-tech .tech-tooltip-container {
    position: absolute;
    right: 0;
    left: 0;
  }
}

@media screen and (max-width: 30em) {
  .module-tech {
    padding: 3rem 1rem;
  }
}

.module-routine {
  padding: 5rem 0;
  background: #f6f6f6;
}

.module-routine .routine-container {
  -ms-transform: translateX(20px);
      transform: translateX(20px);
}

.module-routine .routine-title h2 {
  display: inline-block;
  margin: 0 0 45px;
  width: 60%;
  text-transform: uppercase;
}

.module-routine .routine-option {
  position: relative;
  float: left;
  width: 28.5%;
}

.module-routine .routine-option > .routine-content p {
  display: inline-block;
  width: 50%;
  margin: 0 -4px 0 0;
}

.module-routine .routine-option:nth-of-type(1) .routine-type {
  background: #95b3d7;
}

.module-routine .routine-option:nth-of-type(1) .routine-type::after {
  border: solid 25px #f6f6f6;
  border-left: solid 15px #95b3d7;
}

.module-routine .routine-option:nth-of-type(1) .routine-type::before {
  border: solid 25px #95b3d7;
  border-left: solid 15px #f6f6f6;
}

.module-routine .routine-option:nth-of-type(2) .routine-type {
  background: #d99694;
}

.module-routine .routine-option:nth-of-type(2) .routine-type::after {
  border: solid 25px #f6f6f6;
  border-left: solid 15px #d99694;
}

.module-routine .routine-option:nth-of-type(2) .routine-type::before {
  border: solid 25px #d99694;
  border-left: solid 15px #f6f6f6;
}

.module-routine .routine-option:nth-of-type(3) .routine-type {
  background: #bfbfbf;
}

.module-routine .routine-option:nth-of-type(3) .routine-type::after {
  border: solid 25px #f6f6f6;
  border-left: solid 15px #bfbfbf;
}

.module-routine .routine-option:nth-of-type(3) .routine-type::before {
  border: solid 25px #bfbfbf;
  border-left: solid 15px #f6f6f6;
}

.module-routine .routine-option:last-of-type {
  width: 14.5%;
}

.module-routine .routine-option:last-of-type .routine-item {
  width: 100%;
}

.module-routine .routine-option:last-of-type .routine-type {
  background: #7f7f7f;
}

.module-routine .routine-option:last-of-type .routine-type::after {
  border: solid 25px #f6f6f6;
  border-left: solid 15px #7f7f7f;
}

.module-routine .routine-option:last-of-type .routine-type::before {
  border: solid 25px #7f7f7f;
  border-left: solid 15px #f6f6f6;
}

.module-routine .routine-item {
  position: relative;
  float: left;
  width: 50%;
}

.module-routine .routine-img {
  position: relative;
  height: 250px;
}

.module-routine .routine-img img {
  position: absolute;
  top: auto;
  right: auto;
  bottom: 0;
  left: 50%;
  -ms-transform: translateX(-50%);
      transform: translateX(-50%);
  max-width: 100%;
  max-height: 100%;
}

.module-routine .routine-content {
  position: relative;
  float: left;
  width: 100%;
  padding: 0 5px;
}

.module-routine .routine-content h4 {
  margin: 30px 0 15px;
  color: rgba(41, 41, 41, 0.6);
  font-size: 14px;
  font-weight: normal;
}

.module-routine .routine-content p {
  margin: 0;
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
}

.module-routine .routine-content p a {
  color: rgba(0, 0, 0, 0.6);
}

.module-routine .routine-content p a:hover {
  text-decoration: underline;
}

.module-routine .routine-content .routine-tooltip-btn {
  display: inline-block;
  margin-top: 15px;
  width: 25px;
  border-radius: 100%;
  background: #ea5519;
  color: #fff;
  line-height: 25px;
  cursor: default;
}

.module-routine .routine-content .routine-tooltip-btn:hover ~ .tooltip-content {
  opacity: 1;
  z-index: auto;
}

.module-routine .routine-content .tooltip-wrapper {
  display: inline-block;
  position: relative;
  margin: 0 -4px 0 0;
}

.module-routine .routine-content .tooltip-content {
  position: absolute;
  top: calc(100% + 10px);
  right: auto;
  bottom: auto;
  left: 50%;
  opacity: 0;
  z-index: -1;
  -ms-transform: translateX(-50%);
      transform: translateX(-50%);
  padding: 0.75rem;
  background: #333;
  color: #fff;
  font-size: 0.875rem;
  line-height: 1.3;
  transition: all linear .2s;
}

.module-routine .routine-content .tooltip-content:after {
  content: "";
  position: absolute;
  top: auto;
  right: auto;
  bottom: 100%;
  left: 50%;
  -ms-transform: translateX(-50%);
      transform: translateX(-50%);
  border: solid 5px transparent;
  border-bottom: solid 5px #333;
}

.module-routine .routine-type {
  display: block;
  position: relative;
  margin-bottom: 15px;
  padding: 15px 40px 15px 0;
  color: #fff;
  line-height: 20px;
  font-size: 12px;
}

.module-routine .routine-type::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: auto;
}

.module-routine .routine-type::before {
  content: "";
  position: absolute;
  top: 0;
  right: auto;
  bottom: 0;
  left: -25px;
}

@media screen and (max-width: 75em) {
  .module-routine {
    padding: 5rem;
  }
}

@media screen and (max-width: 64em) {
  .module-routine {
    padding: 3rem 2rem;
  }
  .module-routine .routine-title h2 {
    width: 90%;
  }
  .module-routine .routine-type {
    font-size: 10px;
  }
  .module-routine .routine-content p {
    font-size: 10px;
  }
}

@media screen and (max-width: 63.9375em) {
  .module-routine .routine-container {
    -ms-transform: none;
        transform: none;
  }
  .module-routine .routine-img {
    height: 150px;
  }
  .module-routine .routine-type {
    display: inline-block;
    margin-bottom: 40px;
    width: 320px;
    padding: 15px;
  }
  .module-routine .routine-type::before {
    border: none !important;
  }
  .module-routine .routine-type::after {
    top: calc(100% - 1px);
    left: 0;
    border: solid 160px transparent !important;
  }
  .module-routine .routine-option {
    clear: both;
    width: 100% !important;
    -ms-transform: translateX(-50%);
        transform: translateX(-50%);
    margin-left: 50%;
    max-width: 320px;
    padding-bottom: 30px;
  }
  .module-routine .routine-option:nth-of-type(1) .routine-type::after {
    border-top: solid 20px #95b3d7 !important;
  }
  .module-routine .routine-option:nth-of-type(2) .routine-type::after {
    border-top: solid 20px #d99694 !important;
  }
  .module-routine .routine-option:nth-of-type(3) .routine-type::after {
    border-top: solid 20px #bfbfbf !important;
  }
  .module-routine .routine-option:nth-of-type(4) .routine-type::after {
    border-top: solid 20px #7f7f7f !important;
  }
  .module-routine .routine-container .routine-option:nth-of-type(1) {
    z-index: 2;
  }
}

@media screen and (max-width: 30em) {
  .module-routine {
    padding: 3rem 1rem;
  }
}

@media screen and (max-width: 25.875em) {
  .module-routine .routine-type {
    width: 250px;
  }
  .module-routine .routine-type::after {
    border: solid 125px transparent !important;
  }
  .module-routine .routine-option {
    max-width: 250px;
  }
}

.module-solution {
  margin: 0 auto;
  padding: 5rem 0;
}

.module-solution .solution-title h2 {
  display: inline-block;
  margin: 0 0 45px;
  width: 60%;
  text-transform: uppercase;
}

.module-solution .solution-img {
  margin-bottom: 20px;
  overflow: hidden;
}

.module-solution .solution-img img {
  transition: all ease-in-out .3s;
}

.no-touch .module-solution .solution-img:hover img {
  -ms-transform: scale(1.1);
      transform: scale(1.1);
}

.module-solution .solution-content h4 {
  margin: 0;
  padding: 0 15px;
  font-size: 18px;
  text-transform: uppercase;
}

.module-solution .solution-container > .columns {
  overflow: hidden;
}

@media screen and (max-width: 64em) {
  .module-solution {
    padding: 3rem 2rem;
  }
  .module-solution .solution-title h2 {
    width: 90%;
  }
  .module-solution .solution-container > .columns {
    margin-bottom: 2rem;
  }
}

@media screen and (max-width: 40em) {
  .module-solution .solution-container > .columns {
    margin-bottom: 3rem;
  }
}

@media screen and (max-width: 30em) {
  .module-solution {
    padding: 3rem 1rem;
  }
}

.footer-shiseido {
  position: relative;
  float: left;
  width: 100%;
  padding: 20px 0;
  background: #000;
  display: none;
}

.footer-shiseido .nav-footer ul li a {
  color: #fff;
  font-size: 12px;
  padding: 0 1rem;
  line-height: 25px;
  transition: all ease-in-out .25s;
}

.footer-shiseido .nav-footer ul li a:hover {
  color: #c8102e;
}

.footer-shiseido .copyright {
  color: #fff;
  text-align: center;
  font-size: 12px;
  margin-top: 10px;
}
