@charset "UTF-8";
.forPC {
  display: block;
}

.forSP {
  display: none;
}

img {
  image-rendering: -webkit-optimize-contrast;
}

html {
  font-size: 0.6666666667vw;
  overflow-x: hidden;
  overflow-y: auto;
  scroll-behavior: smooth;
}

@media screen and (max-width: 767px) {
  .forPC {
    display: none;
  }
  .forSP {
    display: block;
  }
  html {
    font-size: 1.3333333333vw;
    overflow-x: hidden;
  }
}
@media screen and (min-width: 1400px) {
  html {
    font-size: 10px;
  }
}
@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
body {
  font-family: "Noto Sans JP", sans-serif;
  color: #000;
}

figure img {
  width: 100%;
  height: auto;
}

.mv {
  width: 100%;
  height: auto;
  position: relative;
}
.mv h1 {
  width: 100%;
}
.mv h1 img {
  width: 100%;
  height: auto;
}

article {
  width: 80rem;
  margin: auto;
  padding-top: 11.5rem;
  color: #4d4d4d;
}
@media screen and (max-width: 768px) {
  article {
    padding-top: 6rem;
    width: 100%;
  }
}

.introduction {
  width: 100rem;
  margin: auto;
  padding: 12.5rem 0;
}
@media screen and (max-width: 768px) {
  .introduction {
    width: 66rem;
    padding: 10rem 0;
  }
}
.introduction h2 {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 5.5rem;
  text-align: left;
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .introduction h2 {
    font-size: 4.2rem;
    line-height: 7rem;
  }
}
.introduction p.lead {
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 3.6rem;
  margin-bottom: 9rem;
}
@media screen and (max-width: 768px) {
  .introduction p.lead {
    font-size: 2.4rem;
    line-height: 4.6rem;
  }
}
.introduction .feature {
  width: 100%;
  padding-bottom: 4.1rem;
  border-bottom: 0.1rem solid #e3e3e3;
  margin-bottom: 4.6rem;
}
@media screen and (max-width: 768px) {
  .introduction .feature {
    padding-bottom: 6rem;
  }
}
.introduction .feature:nth-of-type(3) {
  border-bottom: none;
  margin-bottom: 3rem;
}
.introduction .feature h3 {
  font-size: 2.4rem;
  font-weight: 500;
  padding-left: 1.8rem;
  margin-bottom: 2rem;
  position: relative;
}
.introduction .feature h3::before {
  content: "-";
  position: absolute;
  top: -0.2rem;
  left: 0;
}
@media screen and (max-width: 768px) {
  .introduction .feature h3 {
    font-size: 3.4rem;
    line-height: 4.6rem;
  }
}
.introduction .feature p {
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 3.6rem;
}
@media screen and (max-width: 768px) {
  .introduction .feature p {
    font-size: 2.4rem;
    line-height: 4.6rem;
  }
}
.introduction .feature p.attention {
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 2.2rem;
  margin-top: 4.2rem;
}
.introduction .feature p.attention span {
  position: relative;
  padding-left: 2.5rem;
  display: block;
}
@media screen and (max-width: 768px) {
  .introduction .feature p.attention span {
    padding-left: 3.5rem;
    line-height: 1.8;
  }
}
.introduction .feature p.attention span.att01::before {
  content: "※1";
  position: absolute;
  top: 0;
  left: 0;
}
.introduction .feature p.attention span.att02::before {
  content: "※2";
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  .introduction .feature p.attention {
    font-size: 2rem;
  }
}
.introduction figure.fig01 {
  width: 82rem;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .introduction figure.fig01 {
    width: 100%;
  }
}

.spec {
  width: 100%;
  margin: auto;
  padding-bottom: 12rem;
}
@media screen and (max-width: 768px) {
  .spec {
    width: 100%;
  }
}
.spec dl.parent {
  width: 100%;
}
.spec dl.parent:last-of-type > dt {
  border-bottom: 0.1rem solid #969696;
}
@media screen and (max-width: 768px) {
  .spec dl.parent:last-of-type > dd {
    padding-bottom: 0;
  }
}
.spec dl.parent > dt {
  width: 100%;
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1;
  padding: 1.8rem 2.7rem;
  border-top: 0.1rem solid #969696;
  border-bottom: none;
  position: relative;
  cursor: pointer;
  color: #4d4d4d;
}
@media screen and (max-width: 768px) {
  .spec dl.parent > dt {
    font-size: 2.4rem;
    line-height: 1;
  }
}
.spec dl.parent > dt::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 3.1rem;
  transform: translateY(-50%);
  background: url("../product/new/images/eck/ico_plus.svg") no-repeat;
  background-size: 2rem;
  display: block;
  width: 2rem;
  height: 2rem;
}
.spec dl.parent > dt.active {
  border-bottom: 0.1rem solid #969696;
}
.spec dl.parent > dt.active::after {
  transform: translateY(-5%);
  background: url("../product/new/images/eck/ico_minus.svg") no-repeat;
}
@media screen and (max-width: 768px) {
  .spec dl.parent > dt.active::after {
    background-size: 5rem;
  }
}
.spec dl.parent > dd {
  width: 100%;
  margin: auto;
  padding: 6.5rem 0 6.5rem;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 3.6rem;
  color: #4d4d4d;
}
.spec dl.parent > dd table {
  border-bottom: 0.1rem solid #969696;
  border-collapse: collapse;
}
@media screen and (max-width: 768px) {
  .spec dl.parent > dd table {
    margin: auto;
    margin-top: 3.5rem;
    width: 70.5rem;
  }
}
.spec dl.parent > dd table th, .spec dl.parent > dd table td {
  border-top: 0.1rem solid #969696;
  font-size: 2.34rem;
  font-weight: 300;
  line-height: 1.6;
  padding: 0.5rem 2.5rem;
  text-align: left;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .spec dl.parent > dd table th, .spec dl.parent > dd table td {
    font-size: 2.2rem;
    line-height: 4.5rem;
    padding: 0.5rem 0.5rem;
  }
}
@media screen and (max-width: 768px) {
  .spec dl.parent > dd table td {
    padding: 0.5rem 0.5rem 0.5rem 3rem;
  }
}
.spec dl.parent > dd img {
  width: 100%;
  height: auto;
  margin-bottom: 1.5rem;
}
.spec dl.parent > dd h4 {
  font-size: 2.5rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .spec dl.parent > dd h4 {
    font-size: 2.4rem;
    margin-bottom: 0;
  }
}
.spec dl.parent > dd p {
  font-size: 2.3rem;
  font-weight: 300;
  line-height: 4.5rem;
  margin-bottom: 5rem;
}
@media screen and (max-width: 768px) {
  .spec dl.parent > dd p {
    font-size: 2.2rem;
    line-height: 3.5rem;
    width: 70rem;
    margin: auto auto 5rem;
  }
}
@media screen and (max-width: 768px) {
  .spec dl.parent > dd {
    width: 100%;
    font-size: 2.4rem;
    line-height: 4.6rem;
  }
}
.spec dl.parent > dd.toggleCont {
  display: none;
}
.spec dl.parent > dd.method {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .spec dl.parent > dd.method {
    width: 66rem;
  }
}
.spec dl.parent > dd figure {
  margin-bottom: 4.8rem;
}
.spec dl.parent > dd h3 {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1;
  padding-bottom: 1.5rem;
  margin-top: 3.4rem;
  margin-bottom: 1.5rem;
  border-bottom: 0.1rem solid #e3e3e3;
}
@media screen and (max-width: 768px) {
  .spec dl.parent > dd h3 {
    font-size: 3.3rem;
  }
}
.spec dl.parent > dd h3:nth-of-type(1) {
  margin-top: 0;
}
.spec dl.parent > dd dl.inner {
  border-bottom: 0.1rem solid #f1f1f1;
  font-size: 1.8rem;
  font-weight: 400;
  display: flex;
  justify-content: space-between;
  padding: 1rem 0;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .spec dl.parent > dd dl.inner {
    font-size: 2.7rem;
    padding: 1.4rem 0;
  }
}
.spec dl.parent > dd dl.inner dt {
  width: 24rem;
  padding-left: 0.6rem;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .spec dl.parent > dd dl.inner dt {
    width: 25.2rem;
  }
}
.spec dl.parent > dd dl.inner dd {
  width: calc(100% - 24rem);
}
.spec dl.parent > dd .tables {
  width: 100rem;
  margin: auto auto 7rem;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .spec dl.parent > dd .tables {
    width: 66rem;
    font-size: 2.6rem;
    line-height: 5.9rem;
    flex-wrap: wrap;
  }
}
.spec dl.parent > dd .tables table {
  width: 50%;
  border-right: 0.1rem solid #e3e3e3;
}
@media screen and (max-width: 768px) {
  .spec dl.parent > dd .tables table {
    width: 100%;
    border-right: none;
  }
}
.spec dl.parent > dd .tables table td {
  vertical-align: top;
}
.spec dl.parent > dd .tables table td span.dot {
  font-size: 1rem;
  padding-right: 0.4rem;
  float: right;
}
@media screen and (max-width: 768px) {
  .spec dl.parent > dd .tables table td span.dot {
    padding-right: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .spec dl.parent > dd .tables table td span.lineHeight {
    line-height: 1.5;
    display: inline-block;
    margin-top: 1.5rem;
  }
}
.spec dl.parent > dd .tables table td:nth-child(odd) {
  width: 27.6rem;
}
@media screen and (max-width: 768px) {
  .spec dl.parent > dd .tables table td:nth-child(odd) {
    width: 40.6rem;
  }
}
.spec dl.parent > dd .tables table.table02 {
  border-right: none;
  padding-left: 4.9rem;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .spec dl.parent > dd .tables table.table02 {
    padding-left: 0;
  }
}
.spec dl.parent > dd .tables table.table02 td:nth-child(odd) {
  width: 23rem;
}
@media screen and (max-width: 768px) {
  .spec dl.parent > dd .tables table.table02 td:nth-child(odd) {
    width: 40.6rem;
  }
}
.spec h3.controls {
  width: 100rem;
  margin: auto auto auto;
  font-size: 2.4rem;
  font-weight: 500;
  padding-bottom: 1rem;
  border-bottom: 0.1rem solid #e3e3e3;
}
@media screen and (max-width: 768px) {
  .spec h3.controls {
    width: 100%;
  }
}
.spec figure.spec04 {
  width: 82rem;
  margin: 8rem auto auto;
}
@media screen and (max-width: 768px) {
  .spec figure.spec04 {
    width: 100%;
  }
}
.spec figure.to_store {
  width: 26.3rem;
  margin: 9rem auto 0;
}
@media screen and (max-width: 768px) {
  .spec figure.to_store {
    width: 26.4rem;
    margin: 9rem auto 2rem;
  }
}

main.hr-main {
  padding-bottom: 0;
}

.catch {
  width: 100%;
  background: #f1f1f1;
  padding: 9rem 0;
}
@media screen and (max-width: 768px) {
  .catch {
    padding: 7.6rem 0;
  }
}
.catch figure {
  width: 80.2rem;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .catch figure {
    width: 41.8em;
  }
}

.movieBox {
  width: 100%;
  margin: 6rem auto;
}

.hr-modal_bg {
  position: absolute;
  background: rgba(0, 0, 0, 0.9);
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

.hr-modal_movie.isCurrent ~ .hr-modal_close {
  z-index: 2;
}

.intro {
  width: 100%;
}
.intro h2 {
  font-size: 3rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .intro h2 {
    font-size: 2.8rem;
    margin-bottom: 4.5rem;
  }
}
.intro p {
  font-size: 2.3rem;
  font-weight: 300;
  line-height: 4.5rem;
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .intro p {
    width: 69rem;
    margin: auto auto 6rem;
    font-size: 2.2rem;
    line-height: 3.8rem;
    letter-spacing: -0.05rem;
  }
}
