@charset "UTF-8";
/* -----------------------------------------------
common
----------------------------------------------- */
main {
  color: #646464;
}

.product-nav li {
  padding: 0 4px;
}

.contents__caption-list li.indent_1em {
  text-indent: -1em;
  padding-left: 1em;
}
.contents__caption-list {
  font-weight: normal;
}

.contents-feature-list__box-small {
  border-left: 1px solid #808080;
  padding-left: 7px;
  width: 100%;
  margin: 0;
}
.contents-feature-list .contents-feature-list__title {
  margin: 0;
}
.contents-feature-list .contents-feature-list__title h3 {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  letter-spacing: 0;
}
.contents-feature-list .contents-feature-list__title span {
  font-family: "DIN Regular";
  font-weight: normal;
  line-height: 1;
}
.contents-feature-list .contents-feature-list__title strong {
  font-weight: normal;
  line-height: 1;
  color: #666666;
}
.contents-feature-list .contents-feature-list__title p {
  font-weight: bold;
  letter-spacing: 0;
}
.contents-feature-list .button-arrow,
.po_static.button-arrow {
  position: static;
}
.contents-feature-list .button-arrow a,
.po_static.button-arrow a {
  padding-left: 0;
}

.contents-feature-list .button-arrow a::before,
.po_static.button-arrow a::before {
  content: "〉";
  margin-right: 0.5em;
  position: static;
  background: none;
  display: inline-block;
  width: auto;
  height: auto;
}

.square_heading {
  border: 1px solid #646464;
  color: #646464;
  display: inline-block;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}
.square_heading_red {
  border: 1px solid #c60014;
  color: #c60014;
  display: inline-block;
  font-weight: bold;
  line-height: 1;
}
.square_heading_red + .contents__box-inner {
  margin-top: 0;
}

.contents__image figcaption.ta_center {
  text-align: center;
}

.contents__heading-04 {
  color: #646464;
  width: 100%;
  text-align: left;
}

.contents__grid.type-02 {
  grid-template-columns: 57% 34.7%;
  grid-template-rows: auto auto 1fr auto;
  grid-template-areas:
      "area-catch area-img"
      "area-name area-img"
      "area-btn area-img"
      "area-mark area-mark";
}

.contents-spec__lineup-heading.catch .contents__caption-list {
  margin-top: 6px;
}
#products-list .box-imgchg-02 {
  aspect-ratio: 321 / 208;
  border-bottom: none!important;
}
#products-list .box-imgchg-02 .thumb img {
  aspect-ratio: 321 / 208;
  object-fit: cover;
}
#products-list .box-text {
  border-top: 1px solid #000;
}
.contents-spec__lineup-box-img .contents__caption-list {
  margin-top: 6px;
}
.contents-spec__lineup-box-mark {
  justify-content: flex-start;
  gap: 0 21px;
  margin-top: 32px;
}
.contents-spec__lineup-box-mark img.mark-00 {
  width: 8.43%;
  max-width: 78px;
}
.contents-spec__lineup-box-mark img.mark-05 {
  width: 17.7%;
  max-width: 164px;
}
.layout-type-b .contents__grid + .contents__image-box {
  margin-top: 31px;
}

@media screen and (max-width: 640px) {
  .contents__lead {
    margin-top: 30px;
  }
  .contents__lead h2 {
    font-size: 22px;
    line-height: 1.5;
  }
  .contents__lead p {
    margin-top: 15px;
  }

  .contents-feature-list .contents-feature-list__box-small {
    margin-bottom: 0;
  }
  .contents-feature-list .contents-feature-list__box-small + .contents-feature-list__box-small {
    margin-top: 30px;
  }
  .contents-feature-list .contents-feature-list__title span {
    font-size: 22px;
  }
  .contents-feature-list .contents-feature-list__title strong {
    font-size: 13px;
  }
  .contents-feature-list .contents-feature-list__title p {
    font-size: 15px;
    line-height: 1.33;
    margin-top: 5px;
  }
  .contents-feature-list .button-arrow {
    margin-top: 3px;
  }
  .contents-feature-list .button-arrow a {
    font-size: 14px;
  }

  .po_static.button-arrow a {
    font-size: 12px;
  }
  .button-arrow.text_large {
    margin-top: 25px;
  }
  .button-arrow.text_large a {
    font-size: 14px;
  }
  .button-arrow.text_large + .contents__image {
    margin-top: 10px;
  }

  .square_heading {
    font-size: 16px;
    padding: .65em .5em;
    width: 120px;
    margin-bottom: 12px;
  }
  .square_heading + .contents__box-inner {
    margin-top: 0;
  }
  .overflow_square_heading_red {
    position: relative;
    padding-top: calc(34px + 12px);
  }
  .square_heading_red {
    font-size: 14px;
    padding: .5em .38em;
    margin-bottom: 10px;
  }

  .contents__inner-border {
    margin-top: 30px;
  }

  .contents__heading-04 {
    font-size: 16px;
  }
  .contents__inner.mode .contents__image {
    margin-top: 5px;
  }
  .contents__inner.mode .contents__image figcaption {
    margin-top: 14px;
    font-weight: bold;
  }
  .contents__inner.mode .contents__box-half .contents__caption {
    margin-top: 9px;
    line-height: 1.71;
  }
  .contents__inner.mode .contents__box-inner + .contents__caption {
    margin-top: 15px;
    padding-top: 13px;
    border-top: 1px solid #808080;
  }

  .contents-spec__lineup-box-mark {
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 10px 4.2%;
  }

  .youtubeGallery {
    margin-top: 10px;
  }
}

@media screen and (min-width: 641px) {
  .contents__lead {
    margin-top: 15px;
  }
  .contents__lead h2 {
    font-size: 35px;
  }
  .contents__lead p {
    margin-top: 15px;
    line-height: 2.1;
  }
  .contents__lead .contents__caption-list {
    margin-top: 14px;
  }

  .contents-feature-list {
    gap: 46px 5.83%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .contents-feature-list .contents-feature-list__title span {
    font-size: 26px;
  }
  .contents-feature-list .contents-feature-list__title strong {
    font-size: 16px;
  }
  .contents-feature-list .contents-feature-list__title p {
    font-size: 18px;
    line-height: 1.33;
    margin-top: 5px;
  }
  .contents-feature-list .button-arrow {
    margin-top: 3px;
  }
  .contents-feature-list .button-arrow a {
    font-size: 12px;
  }

  .po_static.button-arrow a {
    font-size: 14px;
  }
  .button-arrow.text_large {
    margin-top: 45px;
  }
  .button-arrow.text_large a {
    font-size: 16px;
  }
  .button-arrow.text_large + .contents__image {
    margin-top: 10px;
  }

  .square_heading {
    font-size: 21px;
    padding: .65em .5em;
    min-width: 200px;
    margin-bottom: 12px;
  }
  .overflow_square_heading_red {
    position: relative;
    padding-top: calc(34px + 12px);
  }
  .overflow_square_heading_red .square_heading_red {
    position: absolute;
    top: 0;
    left: 0;
  }
  .square_heading_red {
    font-size: 16px;
    padding: .5em .38em;
    margin-bottom: 12px;
  }

  .contents__inner-border {
    margin-top: 92px;
  }

  .contents__heading-04 {
    font-size: 18px;
  }
  .contents__inner.mode .contents__image {
    margin-top: 5px;
  }
  .contents__inner.mode .contents__image figcaption {
    margin-top: 14px;
    font-weight: bold;
  }
  .contents__inner.mode .contents__box-half .contents__caption {
    margin-top: 9px;
    line-height: 1.71;
  }
  .contents__inner.mode .contents__box-inner + .contents__caption {
    margin-top: 15px;
    padding-top: 13px;
    border-top: 1px solid #808080;
  }

  .layout-type-b .contents__heading-box {
    margin-top: 45px;
  }

  .touch .button-box.box-large {
    margin-top: 49px;
  }

  .ta_center {
    text-align: center;
  }

  .youtubeGallery {
    margin-top: 10px;
  }
}