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

#sec1 {
  padding-top: 10%;
  padding-bottom: 13%;
  position: relative; }
  #sec1:before {
    content: "";
    position: absolute;
    top: 36%;
    bottom: 0;
    left: 0;
    right: 0;
    background: #f5f4f2; }
  #sec1 h2 {
    font-size: 11vw;
    text-align: center;
    line-height: 1.2;
    letter-spacing: 0.15em;
    position: relative;
    z-index: 1; }
    #sec1 h2 span {
      display: block;
      padding-left: 22%; }
  #sec1 .img {
    width: 90%;
    margin: 0 auto; }
  #sec1 dl {
    padding-top: 8%;
    position: relative;
    z-index: 1; }
    #sec1 dl dt {
      text-align: center;
      font-size: 5vw;
      font-weight: bold;
      line-height: 1.8;
      letter-spacing: 0.18em;
      padding-bottom: 5%; }

#sec2 {
  padding-top: 10%;
  padding-bottom: 13%; }
  #sec2 .img {
    width: 90%;
    margin: 0 auto; }
  #sec2 dl {
    padding-top: 8%; }
    #sec2 dl dt {
      font-size: 5vw;
      font-weight: bold;
      text-align: center;
      padding-bottom: 5%;
      position: relative;
      letter-spacing: 0.18em; }
      #sec2 dl dt:before {
        content: "";
        position: absolute;
        bottom: 0;
        left: 35%;
        right: 35%;
        border-bottom: 2px solid #000; }
    #sec2 dl dd {
      padding: 8% 5% 0; }

#sec3 {
  padding-bottom: 13%; }
  #sec3 h2 {
    text-align: center;
    font-size: 8vw;
    letter-spacing: 0.15em; }
    #sec3 h2 small {
      display: block;
      font-size: 16px;
      font-weight: bold;
      padding-top: 2%;
      position: relative;
      line-height: 2; }
      #sec3 h2 small:before {
        content: "";
        position: absolute;
        bottom: -22%;
        left: 35%;
        right: 35%;
        border-bottom: 2px solid #000; }
  #sec3 .set1 {
    position: relative;
    margin-top: 10%; }
    #sec3 .set1 .img {
      position: absolute;
      top: 0;
      left: 5%;
      width: 44%; }
    #sec3 .set1 h3 {
      width: 70%;
      margin-left: auto;
      position: relative;
      z-index: 3;
      font-weight: bold;
      font-size: 4.5vw;
      padding-top: 3%;
      margin-right: 0%;
      text-shadow: 0px 0px 3px #fff, 0px 0px 3px #fff;
      line-height: 1.8; }
    #sec3 .set1 .txt {
      padding-top: 12%; }
  #sec3 .set2 {
    position: relative;
    margin-top: 10%; }
    #sec3 .set2 .img {
      position: absolute;
      top: 0;
      right: 5%;
      width: 44%; }
    #sec3 .set2 h3 {
      width: 70%;
      position: relative;
      z-index: 3;
      font-weight: bold;
      font-size: 4.5vw;
      padding-top: 3%;
      padding-left: 2%;
      text-shadow: 0px 0px 3px #fff, 0px 0px 3px #fff;
      line-height: 1.8; }
    #sec3 .set2 .txt {
      padding-top: 12%; }

#sec4 {
  position: relative;
  padding-bottom: 13%; }
  #sec4 h2 {
    font-size: 6vw;
    letter-spacing: 0.1em;
    position: relative;
    z-index: 3;
    padding-left: 3%;
    padding-top: 10%; }
    #sec4 h2 span {
      color: #fff; }
    #sec4 h2 small {
      display: block;
      font-size: 4vw;
      text-shadow: 0px 0px 5px #fff, 0px 0px 5px #fff, 0px 0px 5px #fff; }
  #sec4 .img {
    position: absolute;
    width: 63%;
    top: 0;
    right: 3%; }
  #sec4 .txt {
    padding-top: 15%;
    padding-bottom: 13%; }
  #sec4 .box {
    border: 1px solid #000;
    width: 90%;
    margin: 0 auto;
    position: relative;
    color: #000;
    padding-top: 10%; }
    #sec4 .box h3 {
      position: absolute;
      top: -8vw;
      left: 50%;
      transform: translateX(-50%);
      width: 33%; }
    #sec4 .box .tit {
      font-size: 17px; }
    #sec4 .box .txt {
      padding: 3% 8% 5%; }

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