.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: 82rem;
  margin: auto;
  padding-top: 8rem;
  color: #1a1a1a;
}
@media screen and (max-width: 768px) {
  article {
    padding-top: 10rem;
    width: 100%;
  }
}

.comics {
  width: 100%;
  margin: auto;
}
.comics dl.parent {
  width: 100%;
}
.comics dl.parent:last-of-type > dt.active {
  border-bottom: 0.2rem solid #1a1a1a;
}
@media screen and (max-width: 768px) {
  .comics dl.parent:last-of-type > dd {
    padding-bottom: 0;
  }
}
.comics dl.parent > dt {
  width: 100%;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1;
  padding: 4.4rem 0 4.4rem 6.7rem;
  border-top: 0.2rem solid #1a1a1a;
  border-bottom: none;
  position: relative;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .comics dl.parent > dt {
    padding: 2.7rem 0 2.7rem 3.5rem;
    font-size: 3.6rem;
    line-height: 5.2rem;
  }
}
.comics dl.parent > dt::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 3.1rem;
  transform: translateY(-50%);
  background: url(../product/new/images/xmp/ico_plus.svg) no-repeat;
  background-size: 2.2rem;
  display: block;
  width: 2.2rem;
  height: 2.2rem;
}
@media screen and (max-width: 768px) {
  .comics dl.parent > dt::after {
    background-size: 2.6rem;
    width: 2.6rem;
    height: 2.6rem;
  }
}
.comics dl.parent > dt.active::after {
  transform: translateY(-5%);
  background: url(../product/new/images/xmp/ico_minus.svg) no-repeat;
}
@media screen and (max-width: 768px) {
  .comics dl.parent > dt.active::after {
    background-size: 5rem;
  }
}
.comics dl.parent > dd {
  width: 69.4rem;
  margin: auto;
  padding: 6rem 0 0;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 3.6rem;
}
.comics dl.parent > dd img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .comics dl.parent > dd {
    width: 69rem;
    margin: 0 auto;
    padding: 3.5rem 0 0;
    font-size: 2.4rem;
    line-height: 4.6rem;
  }
}
.comics dl.parent > dd.toggleCont {
  display: none;
}
.comics 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) {
  .comics dl.parent > dd dl.inner {
    font-size: 2.7rem;
    padding: 1.4rem 0;
  }
}
.comics dl.parent > dd dl.inner dt {
  width: 24rem;
  padding-left: 0.6rem;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .comics dl.parent > dd dl.inner dt {
    width: 25.2rem;
  }
}
.comics dl.parent > dd dl.inner dd {
  width: calc(100% - 24rem);
}

.guide {
  width: 100%;
  margin: auto;
  padding-bottom: 10rem;
}
@media screen and (max-width: 768px) {
  .guide {
    padding-bottom: 11rem;
  }
}
.guide dl.parent {
  width: 100%;
}
.guide dl.parent:last-of-type > dt {
  border-bottom: 0.2rem solid #1a1a1a;
}
@media screen and (max-width: 768px) {
  .guide dl.parent:last-of-type > dd {
    padding-bottom: 0;
  }
}
.guide dl.parent > dt {
  width: 100%;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1;
  padding: 4.4rem 0 4.4rem 6.7rem;
  border-top: 0.2rem solid #1a1a1a;
  border-bottom: none;
  position: relative;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .guide dl.parent > dt {
    padding: 2.7rem 0 2.7rem 3.5rem;
    font-size: 3.6rem;
    line-height: 5.2rem;
  }
}
.guide dl.parent > dt::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 3.1rem;
  transform: translateY(-50%);
  background: url(../product/new/images/xmp/ico_plus.svg) no-repeat;
  background-size: 2.2rem;
  display: block;
  width: 2.2rem;
  height: 2.2rem;
}
@media screen and (max-width: 768px) {
  .guide dl.parent > dt::after {
    background-size: 2.6rem;
    width: 2.6rem;
    height: 2.6rem;
  }
}
.guide dl.parent > dt.active::after {
  transform: translateY(-5%);
  background: url(../product/new/images/xmp/ico_minus.svg) no-repeat;
}
@media screen and (max-width: 768px) {
  .guide dl.parent > dt.active::after {
    background-size: 5rem;
  }
}
.guide dl.parent > dd {
  width: 69.4rem;
  margin: auto;
  padding: 6rem 0 0;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 3.6rem;
}
.guide dl.parent > dd table {
  border-bottom: 0.1rem solid #969696;
  border-collapse: collapse;
}
@media screen and (max-width: 768px) {
  .guide dl.parent > dd table {
    margin: auto;
    margin-top: 3.5rem;
    width: 70.5rem;
  }
}
.guide dl.parent > dd table th,
.guide 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) {
  .guide dl.parent > dd table th,
  .guide dl.parent > dd table td {
    font-size: 2.2rem;
    line-height: 4.5rem;
    padding: 0.5rem 0.5rem;
  }
}
@media screen and (max-width: 768px) {
  .guide dl.parent > dd table td {
    padding: 0.5rem 0.5rem 0.5rem 3rem;
  }
}
.guide dl.parent > dd img {
  width: 100%;
  height: auto;
  margin: 3.5rem 0 0;
}
@media screen and (max-width: 768px) {
  .guide dl.parent > dd img {
    margin: 4rem 0 0;
  }
}
.guide dl.parent > dd h4 {
  font-size: 3.4rem;
  font-weight: 700;
  text-align: left;
  margin: 6.6rem 0 3rem;
}
.guide dl.parent > dd h4:first-of-type {
  margin: 6rem 0 3rem;
}
@media screen and (max-width: 768px) {
  .guide dl.parent > dd h4 {
    font-size: 4rem;
    margin: 11rem 0 3.9rem;
    text-indent: -1em;
    padding-left: 1em;
  }
  .guide dl.parent > dd h4:first-of-type {
    margin: 8rem 0 3.9rem;
  }
}
.guide dl.parent > dd .material {
  margin-bottom: 1.7rem;
  padding-left: 2.8rem;
}
@media screen and (max-width: 768px) {
  .guide dl.parent > dd .material {
    margin-bottom: 3.1rem;
    padding-left: 0;
  }
}
.guide dl.parent > dd .material .material_ttl {
  font-size: 2.1rem;
  font-weight: 500;
  line-height: 2.6rem;
  margin-bottom: 1.4rem;
}
@media screen and (max-width: 768px) {
  .guide dl.parent > dd .material .material_ttl {
    font-size: 2.5rem;
    margin-bottom: 1.9rem;
  }
}
.guide dl.parent > dd .material .material_text {
  font-size: 1.9rem;
  font-weight: 400;
  line-height: 2.6rem;
  text-indent: -2.2em;
  padding-left: 2.2em;
}
@media screen and (max-width: 768px) {
  .guide dl.parent > dd .material .material_text {
    font-size: 2.2rem;
    line-height: 3.4rem;
  }
}
.guide dl.parent > dd .make {
  padding-left: 2.8rem;
}
@media screen and (max-width: 768px) {
  .guide dl.parent > dd .make {
    padding-left: 0;
  }
}
.guide dl.parent > dd .make .make_ttl {
  font-size: 2.1rem;
  font-weight: 500;
  line-height: 2.6rem;
  margin-bottom: 1.4rem;
}
@media screen and (max-width: 768px) {
  .guide dl.parent > dd .make .make_ttl {
    font-size: 2.5rem;
    margin-bottom: 1.9rem;
  }
}
.guide dl.parent > dd .make .make_text {
  font-size: 1.9rem;
  font-weight: 400;
  line-height: 2.6rem;
  text-indent: -1em;
  padding-left: 1em;
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .guide dl.parent > dd .make .make_text {
    font-size: 2.2rem;
    line-height: 3.4rem;
    margin-bottom: 4rem;
  }
}
.guide dl.parent > dd .make .make_text:last-of-type {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .guide dl.parent > dd {
    width: 69rem;
    margin: 0 auto;
    padding: 3.5rem 0 0;
    font-size: 2.4rem;
    line-height: 4.6rem;
  }
}
.guide dl.parent > dd.toggleCont {
  display: none;
}
.guide 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) {
  .guide dl.parent > dd dl.inner {
    font-size: 2.7rem;
    padding: 1.4rem 0;
  }
}
.guide dl.parent > dd dl.inner dt {
  width: 24rem;
  padding-left: 0.6rem;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .guide dl.parent > dd dl.inner dt {
    width: 25.2rem;
  }
}
.guide dl.parent > dd dl.inner dd {
  width: calc(100% - 24rem);
}
.guide dl.parent > dd .tables {
  width: 100rem;
  margin: auto auto 7rem;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .guide dl.parent > dd .tables {
    width: 66rem;
    font-size: 2.6rem;
    line-height: 5.9rem;
    flex-wrap: wrap;
  }
}
.guide dl.parent > dd .tables table {
  width: 50%;
  border-right: 0.1rem solid #e3e3e3;
}
@media screen and (max-width: 768px) {
  .guide dl.parent > dd .tables table {
    width: 100%;
    border-right: none;
  }
}
.guide dl.parent > dd .tables table td {
  vertical-align: top;
}
.guide dl.parent > dd .tables table td span.dot {
  font-size: 1rem;
  padding-right: 0.4rem;
  float: right;
}
@media screen and (max-width: 768px) {
  .guide dl.parent > dd .tables table td span.dot {
    padding-right: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .guide dl.parent > dd .tables table td span.lineHeight {
    line-height: 1.5;
    display: inline-block;
    margin-top: 1.5rem;
  }
}
.guide dl.parent > dd .tables table td:nth-child(odd) {
  width: 27.6rem;
}
@media screen and (max-width: 768px) {
  .guide dl.parent > dd .tables table td:nth-child(odd) {
    width: 40.6rem;
  }
}
.guide dl.parent > dd .tables table.table02 {
  border-right: none;
  padding-left: 4.9rem;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .guide dl.parent > dd .tables table.table02 {
    padding-left: 0;
  }
}
.guide dl.parent > dd .tables table.table02 td:nth-child(odd) {
  width: 23rem;
}
@media screen and (max-width: 768px) {
  .guide dl.parent > dd .tables table.table02 td:nth-child(odd) {
    width: 40.6rem;
  }
}

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

.intro {
  width: 100%;
}
.intro h2 {
  font-size: 3.3rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 5rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .intro h2 {
    font-size: 3.8rem;
    margin-bottom: 10rem;
    line-height: 5.8rem;
  }
}
.intro .text {
  width: 69.3rem;
  font-size: 2.1rem;
  font-weight: 500;
  line-height: 3.4rem;
  margin: 0 auto 8rem;
}
@media screen and (max-width: 768px) {
  .intro .text {
    width: 69rem;
    margin: auto auto 9.5rem;
    font-size: 2.4rem;
    line-height: 4.6rem;
  }
}
.intro .intro_annotation {
  width: 69.3rem;
  font-size: 1.9rem;
  font-weight: 500;
  line-height: 3.4rem;
  margin: 0 auto 10rem;
}
@media screen and (max-width: 768px) {
  .intro .intro_annotation {
    width: 69rem;
    margin: 0 auto 10rem;
    font-size: 2.2rem;
    line-height: 3.2rem;
  }
}

.products {
  width: 100%;
  margin-bottom: 6rem;
}
@media screen and (max-width: 768px) {
  .products {
    margin-bottom: 7.5rem;
  }
}
.products_ttl {
  text-align: center;
  font-size: 3.3rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 4.7rem;
}
@media screen and (max-width: 768px) {
  .products_ttl {
    font-size: 2.8rem;
  }
}
.products_label {
  text-align: center;
  font-size: 3.3rem;
  font-weight: 500;
  text-align: center;
  line-height: 1;
  background-color: #d60077;
  color: #fff;
  font-size: 1.6rem;
  width: 7.7rem;
  margin: 0 auto 1.5rem;
  padding: 0.5rem 0;
}
@media screen and (max-width: 768px) {
  .products_label {
    font-size: 2rem;
    width: 10rem;
    padding: 0.8rem 0;
    margin-bottom: 4.5rem;
  }
}
.products_items {
  display: flex;
  justify-content: center;
  gap: 1.4rem;
  margin-bottom: 8rem;
}
@media screen and (max-width: 768px) {
  .products_items {
    gap: 6rem;
    font-size: 2.8rem;
    margin-bottom: 8rem;
  }
}
.products_item {
  text-align: center;
  font-size: 1.2rem;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .products_item {
    width: 33.3333333333%;
    font-size: 1.8rem;
  }
}
.products_item img {
  width: 20.4rem;
  margin-bottom: 1.3rem;
}
@media screen and (max-width: 768px) {
  .products_item img {
    width: 100%;
    margin-bottom: 2.6rem;
  }
}
.products_btn {
  text-align: center;
}
.products_btn a {
  position: relative;
  display: block;
  text-decoration: none;
  width: 26rem;
  padding: 1.2rem 0;
  margin: 0 auto;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .products_btn a {
    width: 84%;
    padding: 1.7rem 0;
    font-size: 2.1rem;
  }
}
.products_btn a:hover {
  opacity: 0.5;
}
.products_btn .products_btndetail {
  border: 1px solid #1a1a1a;
}
.products_btn .products_btndetail::after {
  content: "";
  position: absolute;
  background-image: url(../product/new/images/xmp/arrow02.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 0.625em;
  height: 0.875em;
  right: 1em;
  top: 0;
  bottom: 0;
  margin: auto 0;
}
.products_btn .products_btnpurchase {
  margin-top: 1.8rem;
  background-color: #d60077;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .products_btn .products_btnpurchase {
    margin-top: 4rem;
  }
}
.products_btn .products_btnpurchase::after {
  content: "";
  position: absolute;
  background-image: url(../product/new/images/xmp/arrow03.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 0.625em;
  height: 0.875em;
  right: 1em;
  top: 0;
  bottom: 0;
  margin: auto 0;
}

.hn_ttl02 {
  background: #666;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
}

@media print, all and (min-width: 768px) {
  .hn_ttl02 {
    padding: 0.8em 0.5em 0.9em;
    line-height: 1.45em;
    font-size: 20px;
  }
  .hn_ttl02 > h2 {
    line-height: inherit !important;
    font: inherit !important;
  }
  .hn_ttl02 > h2:first-of-type {
    margin-top: -0.225em;
  }
  .hn_ttl02 > h2:last-of-type {
    margin-bottom: -0.225em;
  }
}
@media screen and (max-width: 767px) {
  .hn_ttl02 {
    padding: 0.572em 0.5em 0.572em;
    line-height: 1.45em;
    font-size: 14px;
  }
  .hn_ttl02 > h2 {
    line-height: inherit !important;
    font: inherit !important;
  }
  .hn_ttl02 > h2:first-of-type {
    margin-top: -0.225em;
  }
  .hn_ttl02 > h2:last-of-type {
    margin-bottom: -0.225em;
  }
}
.hn_ttl02 > h2 {
  font-family: "Jost", "Noto Sans JP", sans-serif !important;
}
