@media only screen and (min-width: 768px) and (max-width: 1600px) {
  html {
    font-size: 0.625vw !important;
  }
}
@media screen and (min-width: 768px) {
  .is-sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .is-pc {
    display: none;
  }
  .is-sp {
    display: block;
  }
}
.cm_f_bernino {
  font-family: "jaf-bernino-sans", sans-serif;
}

.js-fade {
  transition-property: opacity, transform;
  transition-duration: 1.5s;
  opacity: 0;
  transform: translateY(1.5rem);
}
.js-fade.is-active {
  opacity: 1;
  transform: translateY(0);
}

.js-fade-Vr-first {
  opacity: 0;
  transition-duration: 1.2s;
}
.js-fade-Vr-first.is-active {
  opacity: 1;
  transform: translateY(0);
}

body {
  background: #e4e4e4;
}

.container {
  color: #555555;
  font-feature-settings: "palt";
  padding-bottom: 12rem;
}
@media (max-width: 767px) {
  .container {
    padding-bottom: calc(68 * 0.1333333333vw);
  }
}
@media (max-width: 767px) {
  .container a:hover {
    opacity: 1;
  }
}
.container .mImg {
  width: 90rem;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .container .mImg {
    width: 100%;
  }
}
.container .productName {
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-top: 7.8rem;
}
@media (max-width: 767px) {
  .container .productName {
    margin-top: calc(77 * 0.1333333333vw);
  }
}
.container .productName_en {
  font-size: 1.8rem;
  letter-spacing: 0.13em;
  font-weight: 400;
}
@media (max-width: 767px) {
  .container .productName_en {
    font-size: calc(30 * 0.1333333333vw);
    letter-spacing: 0.14em;
  }
}
.container .productName_jp {
  font-size: 2.4rem;
  margin-top: 2.6rem;
  letter-spacing: 0.12em;
  font-family: var(--font-ja);
  font-weight: 400;
}
@media (max-width: 767px) {
  .container .productName_jp {
    margin-top: calc(45 * 0.1333333333vw);
    font-size: calc(40 * 0.1333333333vw);
    letter-spacing: 0.12em;
  }
}
.container .mLead {
  text-align: center;
  line-height: 2;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.085em;
  margin-top: 3rem;
  font-family: var(--font-ja);
}
@media (max-width: 767px) {
  .container .mLead {
    margin-top: calc(48 * 0.1333333333vw);
    font-size: calc(24 * 0.1333333333vw);
    letter-spacing: 0.1em;
    font-weight: 400;
  }
}
.container .ly_inner {
  width: 66rem;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .container .ly_inner {
    width: auto;
    padding: 0 calc(45 * 0.1333333333vw);
  }
}
.container .cm_img {
  width: 32rem;
}
@media (max-width: 767px) {
  .container .cm_img {
    width: 100%;
  }
}
.container .detail {
  margin-top: 11.3rem;
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .container .detail {
    flex-direction: column;
    margin-top: calc(126 * 0.1333333333vw);
  }
}
.container .detail_txt {
  margin-top: 9rem;
  width: 29.5rem;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.075em;
}
@media (max-width: 767px) {
  .container .detail_txt {
    margin-top: calc(68 * 0.1333333333vw);
    width: 100%;
    font-size: calc(24 * 0.1333333333vw);
    letter-spacing: 0.085em;
    text-align: justify;
  }
}
.container h2 {
  margin-top: 12rem;
  position: relative;
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  padding-bottom: 1.5rem;
  margin-bottom: 3.7rem;
}
@media (max-width: 767px) {
  .container h2 {
    margin-top: calc(128 * 0.1333333333vw);
    font-size: calc(32 * 0.1333333333vw);
    padding-bottom: calc(26 * 0.1333333333vw);
    margin-bottom: calc(60 * 0.1333333333vw);
  }
}
.container .js-lineAni.is-active::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  border-bottom: solid 1px #555555;
  animation: border_anime 1.8s ease forwards;
  animation-delay: 0.5s;
}
@keyframes border_anime {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}
.container .colBlk .imgs {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .container .colBlk .imgs {
    flex-direction: column;
    gap: calc(40 * 0.1333333333vw) 0;
  }
}
.container .colBlk h3 {
  margin-top: 4.4rem;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .container .colBlk h3 {
    font-size: calc(32 * 0.1333333333vw);
    margin-top: calc(62 * 0.1333333333vw);
  }
}
.container .colBlk p {
  margin-top: 1.3rem;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.075em;
  text-align: justify;
}
@media (max-width: 767px) {
  .container .colBlk p {
    font-size: calc(24 * 0.1333333333vw);
    margin-top: calc(30 * 0.1333333333vw);
  }
}
.container .colBlk + .colBlk {
  margin-top: 11.1rem;
}
@media (max-width: 767px) {
  .container .colBlk + .colBlk {
    margin-top: calc(124 * 0.1333333333vw);
  }
}
@media (max-width: 767px) {
  .container .colBlk + .colBlk p {
    letter-spacing: 0.06em;
  }
}
.container .allBtn {
  margin: 11rem auto 0;
  width: 44rem;
  display: block;
}
@media (max-width: 767px) {
  .container .allBtn {
    width: calc(540 * 0.1333333333vw);
    margin-top: calc(125 * 0.1333333333vw);
  }
}
.container .allBtn_arrow {
  margin-top: 0.1rem;
  width: 0.48rem;
  height: auto;
}
@media (max-width: 767px) {
  .container .allBtn_arrow {
    width: calc(7.689 * 0.1333333333vw);
  }
}

.lp {
  padding-bottom: calc(0 * 0.1333333333vw);
}/*# sourceMappingURL=style.css.map */