@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 {
  position: absolute;
  top: 8rem;
  left: 0;
  width: 100%;
  text-align: center;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .mv h1 {
    top: 5.8rem;
  }
}
.mv h1 img {
  width: 27rem;
  height: auto;
}
.mv figure {
  width: 100%;
  background: #1a1a1a;
}

article {
  width: 100%;
  background: #1a1a1a;
  color: #fff;
}

.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: 124rem;
  margin: auto;
  padding-bottom: 19rem;
}
@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 #e3e3e3;
}
@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.8rem;
  font-weight: 600;
  line-height: 1;
  padding: 4rem 3.8rem;
  border-top: 0.1rem solid #e3e3e3;
  border-bottom: none;
  position: relative;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .spec dl.parent > dt {
    font-size: 3.8rem;
    line-height: 5.6rem;
  }
}
.spec dl.parent > dt::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 3.1rem;
  transform: translateY(-50%);
  background: url("../product/new/images/cst/ico_plus.svg") no-repeat;
  background-size: 2rem;
  display: block;
  width: 2rem;
  height: 2rem;
}
.spec dl.parent > dt.active {
  border-bottom: 0.1rem solid #e3e3e3;
}
.spec dl.parent > dt.active::after {
  transform: translateY(-5%);
  background: url("../product/new/images/cst/ico_minus.svg") no-repeat;
}
.spec dl.parent > dd {
  width: 83.2rem;
  margin: auto;
  padding: 9.4rem 0 10rem;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 3.6rem;
}
@media screen and (max-width: 768px) {
  .spec dl.parent > dd {
    width: 66rem;
    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 h4 {
  margin-top: 2rem;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 3.3rem;
}
@media screen and (max-width: 768px) {
  .spec dl.parent > dd h4 {
    font-size: 2.4rem;
  }
}
.spec dl.parent > dd h4:nth-of-type(2) {
  margin-top: 1rem;
}
.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: 13.8rem auto 0;
}
@media screen and (max-width: 768px) {
  .spec figure.to_store {
    width: 34.9rem;
    margin: 13rem auto 5rem;
  }
}

main.hr-main {
  padding-bottom: 0;
}
