/* CSS Document */
#key {
  width: 90%;
  margin: 0 auto;
  overflow: visible !important; }
  #key .tit {
    color: #000;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -5%;
    text-align: right;
    font-weight: bold;
    font-size: 7vw;
    letter-spacing: 5px;
    z-index: 11;
    line-height: 5vw; }

#sec1 {
  padding-top: 15%;
  padding-bottom: 15%; }
  #sec1 h2 {
    text-align: center;
    font-size: 6.5vw;
    line-height: 1.8;
    letter-spacing: 0.18em; }
  #sec1 .img {
    width: 90%;
    margin: 0 auto; }
  #sec1 .txt {
    padding-top: 8%; }

#sec2 {
  padding-bottom: 13%; }
  #sec2 .img {
    width: 90%;
    margin: 0 auto; }
  #sec2 dl {
    padding-top: 20%;
    position: relative; }
    #sec2 dl:before {
      content: "";
      position: absolute;
      top: 0;
      left: 50%;
      background: #000;
      width: 1px;
      height: 15vw; }
    #sec2 dl dt {
      font-size: 18px;
      text-align: center;
      font-weight: 600;
      letter-spacing: 0.1em; }
    #sec2 dl dd {
      padding-top: 5%; }

#sec3 {
  padding-top: 13%;
  padding-bottom: 13%;
  position: relative; }
  #sec3:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 66%;
    left: 0;
    right: 0;
    background: #f5f4f2; }
  #sec3 .slider1 {
    width: 90%;
    margin: 0 auto;
    position: relative; }
    #sec3 .slider1 .slick-dots {
      position: absolute;
      bottom: 0;
      left: -4%; }
      #sec3 .slider1 .slick-dots li {
        margin-bottom: 24px; }
        #sec3 .slider1 .slick-dots li button {
          width: 2px;
          height: 30px;
          border-radius: 0;
          background: #a6a89b; }
        #sec3 .slider1 .slick-dots li.slick-active button {
          background: #000; }
  #sec3 dl {
    padding-top: 8%; }
    #sec3 dl dt {
      font-weight: bold;
      text-align: center;
      font-size: 18px;
      line-height: 1.8;
      letter-spacing: 0.1em;
      padding-bottom: 13%;
      position: relative; }
      #sec3 dl dt:before {
        content: "";
        position: absolute;
        border-bottom: 2px solid #000;
        bottom: 17%;
        left: 35%;
        right: 35%; }
    #sec3 dl dd {
      padding: 0 5%; }

#sec4 {
  padding-bottom: 13%; }
  #sec4 h2 {
    font-size: 10vw;
    text-align: center;
    line-height: 1.8;
    letter-spacing: 0.18em; }
    #sec4 h2 small {
      font-size: 16px;
      display: block;
      position: relative; }
      #sec4 h2 small:before {
        content: "";
        position: absolute;
        bottom: -80%;
        left: 40%;
        right: 40%;
        border-bottom: 1px solid #000; }
  #sec4 .note {
    padding-top: 5%; }
  #sec4 .blk {
    padding-top: 13%; }
    #sec4 .blk .img {
      width: 90%;
      margin: 0 auto; }
    #sec4 .blk dl {
      padding-top: 5%; }
      #sec4 .blk dl dt {
        text-align: center;
        font-weight: bold;
        font-size: 5.5vw;
        padding-bottom: 3%; }
      #sec4 .blk dl dd {
        text-align: center;
        padding: 0 5%; }

.cartjs_product_form {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-start;
  width: 90% !important;
  margin: 0 5% !important; }

.cartjs_product_table {
  width: 90%;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-start;
  align-self: center; }

.cartjs_product_table table {
  width: 90% !important;
  margin-bottom: 0 !important; }

.cartjs_cart_in {
  width: 90% !important;
  position: relative;
  margin: 0 !important; }

.cartjs_box div.cartjs_cart_in input {
  display: block;
  width: 100% !important;
  position: relative;
  margin: 0 auto;
  background: none;
  text-align: center;
  border: none;
  background: #101010 !important;
  border-radius: 44px !important;
  color: #ffffff;
  font-size: 3vw !important;
  letter-spacing: 1px;
  border-radius: 15px !important;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  text-decoration: none;
  line-height: 1 !important;
  padding-left: 23%;
  margin-bottom: 0 !important;
  height: 11vw !important; }

.cartjs_cart_in:before {
  position: absolute;
  content: '';
  width: 6vw;
  height: 6vw;
  background: url("../img/index/icon_cart.png") no-repeat;
  left: 8%;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 1; }

.cartjs_product_input_txt {
  padding: 4px 6px;
  width: 56px;
  height: 22px;
  margin: 1px 3px 0 14px; }
