@charset "utf-8";
/* ---------------------------------------
**
** home
**
--------------------------------------- */

/* gradation */
.-grad {
  display: inline-block;
  /* color: transparent; */
  background: linear-gradient(
    135deg,
    rgba(130, 70, 175, 1) 0%,
    rgba(62, 141, 221, 1) 100%
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* link-txt */
.link-txt {
  position: relative;
  z-index: 10;
}

/* page-home */
.page-home::before {
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(
    135deg,
    rgba(130, 70, 175, 1) 0%,
    rgba(62, 141, 221, 1) 100%
  );
  position: fixed;
  top: 0;
  left: 0;
}
.page-home::after {
  content: "";
  width: 100%;
  height: 100%;
  background-image: url(../img/bg-lead.png);
  background-position: 0 0;
  background-size: auto 34%;
  position: fixed;
  top: 0;
  left: 0;
  opacity: 0.1;
}

.page-home > * {
  position: relative;
  z-index: 2;
}

/* ------------------------------------ */

/* header */
.header {
  display: flex;
  justify-content: space-between;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
}

.header-logo {
  width: 140px;
}
@media screen and (max-width: 768px) {
  .header-logo {
    width: 33.6%;
  }
}

.header-buy {
  width: 170px;
  background: linear-gradient(
    135deg,
    rgba(130, 70, 175, 1) 0%,
    rgba(62, 141, 221, 1) 100%
  );
  position: relative;
}
@media screen and (max-width: 768px) {
  .header-buy {
    width: 32%;
  }
}

.-buy-link {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  position: relative;
}
@media screen and (max-width: 768px) {
  .-buy-link {
    font-size: 3.45vw;
  }
}

.-buy-link::after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.3s;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -ms-transition: 0.3s;
  -o-transition: 0.3s;
  opacity: 0;
}
@media screen and (min-width: 769px) {
  .-buy-link:hover::after {
    /* width: 100%; */
    opacity: 0.5;
  }
}
@media screen and (max-width: 768px) {
  .-buy-link:active::after {
    /* width: 100%; */
    opacity: 0.5;
  }
}

/* mv */
.mv {
  padding: 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .mv {
    /* padding: 95% 0 0 0; */
    padding: 0;
  }
}

.mv-copy {
  background: #fff;
  width: 27.82%;
  position: absolute;
  left: 4.39%;
  /*right: 50%;
  */bottom: 50%;
  opacity: 0;
  transform: translateY(50%);
  -webkit-transform: translateY(50%);
  -moz-transform: translateY(50%);
  -ms-transform: translateY(50%);
  -o-transform: translateY(50%);
}
@media screen and (max-width: 768px) {
  .mv-copy {
    width: 48.27%;
    left: inherit;
  right: 50%;
    transform: translate(50%, 50%);
  -webkit-transform: translate(50%, 50%);
  -moz-transform: translate(50%, 50%);
  -ms-transform: translate(50%, 50%);
  -o-transform: translate(50%, 50%);
  }
}

.mv-copy-pic {
  opacity: 0;
}

/* lead */
.lead {
  width: 100%;
  position: relative;
  padding: 85px 0;
}
@media screen and (max-width: 768px) {
  .lead {
    padding: 10% 0 11% 0;
  }
}

.lead-inner {
}
@media screen and (max-width: 768px) {
}

.lead-catch {
  width: 463px;
  margin: 0 auto 70px auto;
}
@media screen and (max-width: 768px) {
  .lead-catch {
    width: 72.53%;
    margin: 0 auto 10% auto;
  }
}

.lead-txt {
  width: 586px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .lead-txt {
    width: 75.73%;
  }
}

/* products */
.products {
  padding: 113px 0 32px 0;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .products {
    padding: 12.53% 0 8% 0;
  }
}

.products-inner {
  width: 1250px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .products-inner {
    width: 88%;
  }
}

.products-ttl {
  font-size: 28px;
  font-weight: 700;
  text-align: center;
  margin: 0 0 68px 0;
}
@media screen and (max-width: 768px) {
  .products-ttl {
    font-size: 5.8vw;
    margin: 0 0 9.6% 0;
  }
}

.products-list {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -15px;
}
@media screen and (max-width: 768px) {
  .products-list {
    display: block;
    margin: 0;
  }
}

.products-item {
  width: 25%;
  padding: 0 15px;
  margin: 0 0 30px 0;
  opacity: 0;
}
@media screen and (max-width: 768px) {
  .products-item {
    width: 100%;
    padding: 0;
    margin: 0 0 30px 0;
  }
}

.item-inner {
  background-color: #f3f3f2;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  padding: 5px 25px 40px 25px;
}
@media screen and (max-width: 768px) {
}

.item-pics {
  margin: 0 0 5px 0;
}
@media screen and (max-width: 768px) {
}

.item-name {
  font-size: 21px;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
  margin: 0 0 25px 0;
}
@media screen and (max-width: 768px) {
  .item-name {
    font-size: 5.8vw;
  }
}

.item-desc {
  font-size: 15px;
  line-height: 2;
  color: #707070;
  margin: 0 0 25px 0;
}
@media screen and (max-width: 768px) {
  .item-desc {
    font-size: 3.85vw;
  }
}

.item-buy-link {
  display: block;
  background: linear-gradient(
    135deg,
    rgba(130, 70, 175, 1) 0%,
    rgba(62, 141, 221, 1) 100%
  );
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  padding: 17px 15px;
  position: relative;
  transition: 0.3s;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -ms-transition: 0.3s;
  -o-transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .item-buy-link {
    font-size: 3.85vw;
  }
}

/* .item-buy-link::after {
  content: "";
  width: 0%;
  height: 100%;
  background-color: #e60012;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.3s;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -ms-transition: 0.3s;
  -o-transition: 0.3s;
} */
@media screen and (min-width: 769px) {
  .item-buy-link:hover {
    opacity: 0.5;
  }
}
@media screen and (max-width: 768px) {
  .item-buy-link:active {
    opacity: 0.5;
  }
}

.item-buy-link.-coming {
  display: block;
  background: none;
  background-color: #adadad;
  font-size: 15px;
  color: #fff;
  pointer-events: none;
}

/* footer */
.footer {
  background-color: #000;
  color: #fff;
  padding: 15px 30px;
}
@media screen and (max-width: 768px) {
}

.footer-inner {
}
@media screen and (max-width: 768px) {
}

.footer-copyrights {
  font-size: 10px;
}
@media screen and (max-width: 768px) {
}

/*  */
@media screen and (max-width: 768px) {
}
