/* -------------------------------- */
/* .p-hero */
/* -------------------------------- */
.p-hero {
  position: relative;
  margin: 0 -25px 0;
}
.p-hero__main {
  width: 100%;
}
.p-hero__main img {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-hero__main img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center bottom;
       object-position: center bottom;
  }
}

/* -------------------------------- */
/* .p-hero-slider */
/* -------------------------------- */
.p-hero-slider {
  position: relative;
  margin: 0 -25px 0;
}
.p-hero-slider__in {
  width: 100%;
}
.p-hero-slider__in img {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-hero-slider__in img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center bottom;
       object-position: center bottom;
  }
}
.p-hero-slider.swiper-fade .swiper-slide {
  pointer-events: none;
  -webkit-transition-property: opacity;
  transition-property: opacity;
}
.p-hero-slider.swiper-fade .swiper-slide-active {
  pointer-events: auto;
}
.p-hero-slider .swiper-pagination {
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  z-index: 1;
  line-height: 10px;
}
@media screen and (max-width: 767px) {
  .p-hero-slider .swiper-pagination {
    bottom: 10px;
  }
}
.p-hero-slider .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  margin: 0 5px;
  background-color: #E6E6E6;
  opacity: 1;
}
.p-hero-slider .swiper-pagination-bullet-active {
  background: #000;
}

/* -------------------------------- */
/* .p-read */
/* -------------------------------- */
.p-read {
  margin: 43px 0 0;
}
@media screen and (min-width: 768px) {
  .p-read {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding-right: calc((100% - 1200px) / 2);
    padding-left: calc((100% - 1200px) / 2);
    margin: 101px 0 0;
  }
}
.p-read__figure {
  position: relative;
  aspect-ratio: 1;
  width: 93.8461538462%;
  margin: 36px auto 0;
}
@media screen and (min-width: 768px) {
  .p-read__figure {
    width: 30%;
    margin: 0 8.75% 0 0;
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
  }
}
.p-read__image {
  position: absolute;
}
.p-read__image._01 {
  top: 0;
  left: 0;
  width: 55.5555555556%;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-read__image._01 {
    width: 55.5555555556%;
  }
}
.p-read__image._02 {
  bottom: 0;
  right: 0;
  width: 59.7222222222%;
}
@media screen and (min-width: 768px) {
  .p-read__image._02 {
    width: 59.7222222222%;
  }
}
.p-read__block {
  padding: 0 0 0 25px;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
@media screen and (min-width: 768px) {
  .p-read__block {
    padding: 0 0 0 0;
  }
}
@media screen and (min-width: 768px) {
  .p-read__block._01 {
    width: 30.3333333333%;
  }
}
.p-read__block._02 {
  margin: 25px 0 0;
}
@media screen and (min-width: 768px) {
  .p-read__block._02 {
    width: 25%;
    margin: 0 0 0 auto;
  }
}
.p-read__text {
  font-weight: 500;
  font-size: 12px;
  line-height: 25px;
  color: #000;
}
@media screen and (min-width: 768px) {
  .p-read__text {
    font-size: 15px;
    line-height: 30px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-read__text {
    font-size: 1.25vw;
    line-height: 2.5vw;
  }
}
.p-read__text:not(:first-child) {
  margin-top: 25px;
}
@media screen and (min-width: 768px) {
  .p-read__text:not(:first-child) {
    margin-top: 30px;
  }
}
@media screen and (min-width: 768px) {
  .p-read__text:first-child {
    margin-top: -7px;
  }
}
.p-read__strong {
  font-weight: bold;
  font-size: 14px;
  line-height: 25px;
  color: #000;
  font-family: "Yu Gothic", YuGothic, "YuGo", sans-serif;
}
@media screen and (min-width: 768px) {
  .p-read__strong {
    font-size: 18px;
    line-height: 32px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-read__strong {
    font-size: 1.5vw;
    line-height: 2.6666666667vw;
  }
}
.p-read__strong:not(:first-child) {
  margin-top: 27px;
}
@media screen and (min-width: 768px) {
  .p-read__strong:not(:first-child) {
    margin-top: 23px;
  }
}
.p-read__strong strong {
  font-weight: inherit;
}

/* -------------------------------- */
/* .p-read-02 */
/* -------------------------------- */
.p-read-02 {
  position: relative;
  padding: 43px 0 75px;
  margin: 0 -25px 0;
  background: #f8f8f8;
}
@media screen and (min-width: 768px) {
  .p-read-02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 100px calc((100% - 1010px) / 2) 100px;
  }
}
.p-read-02__in {
  position: relative;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-read-02__in {
    padding: 0 9.3333333333% 0;
  }
}
@media screen and (min-width: 768px) {
  .p-read-02__image {
    position: absolute;
  }
}
@media screen and (max-width: 767px) {
  .p-read-02__image._01 {
    position: relative;
    width: 55.5737704918%;
    margin: 23px 0 0;
  }
}
@media screen and (min-width: 768px) {
  .p-read-02__image._01 {
    top: 0;
    left: 0;
    width: 19.801980198%;
  }
}
@media screen and (max-width: 767px) {
  .p-read-02__image._02 {
    width: 59.6721311475%;
    margin: -27.868852459% 0 0 auto;
  }
}
@media screen and (min-width: 768px) {
  .p-read-02__image._02 {
    bottom: 0;
    right: 0;
    width: 21.7821782178%;
  }
}
@media screen and (min-width: 768px) {
  .p-read-02__detail {
    margin: 35px 0 40px 27.7227722772%;
  }
}
@media screen and (max-width: 767px) {
  .p-read-02__detail-text-01 {
    font-weight: normal;
    font-size: 12px;
    line-height: 25px;
    text-align: left;
    color: #000;
  }
}
@media screen and (min-width: 768px) {
  .p-read-02__detail-text-01 {
    font-weight: normal;
    font-size: 18px;
    line-height: 30px;
    text-align: left;
    color: #000;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-read-02__detail-text-01 {
    font-size: 1.5vw;
    line-height: 2.5vw;
  }
}
@media screen and (max-width: 767px) {
  .p-read-02__detail-text-01:not(:first-child) {
    margin-top: 11px;
  }
}
@media screen and (min-width: 768px) {
  .p-read-02__detail-text-01:not(:first-child) {
    margin-top: 30px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-read-02__detail-text-01:not(:first-child) {
    margin-top: 2.5vw;
  }
}
@media screen and (max-width: 767px) {
  .p-read-02__detail-text-02 {
    margin: 19px 0 0;
    font-weight: bold;
    font-size: 14px;
    line-height: 25px;
    text-align: left;
    color: #000;
  }
}
@media screen and (min-width: 768px) {
  .p-read-02__detail-text-02 {
    margin: 47px 0 0;
    font-weight: bold;
    font-size: 18px;
    line-height: 32px;
    text-align: left;
    color: #000;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-read-02__detail-text-02 {
    margin: 3.9166666667vw 0 0;
    font-size: 1.5vw;
    line-height: 2.6666666667vw;
  }
}

/* -------------------------------- */
/* .p-read-03 */
/* -------------------------------- */
.p-read-03 {
  position: relative;
  margin: 0 -25px 0;
  background: #f8f8f8;
}
.p-read-03__in {
  position: relative;
  width: 1200px;
  padding: 143px 0 150px;
  margin: auto;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-read-03__in {
    width: 100vw;
    padding: 11.9166666667vw 0 12.5vw;
  }
}
@media screen and (max-width: 767px) {
  .p-read-03__in {
    width: 100%;
    padding: 76.6666666667vw 0 61.3333333333vw;
  }
}
.p-read-03__image {
  position: absolute;
}
.p-read-03__image._01 {
  top: 120px;
  left: -200px;
  width: 400px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-read-03__image._01 {
    top: 10vw;
    left: -16.6666666667vw;
    width: 33.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .p-read-03__image._01 {
    top: 10.6666666667vw;
    left: 14.5333333333vw;
    width: 42.6666666667vw;
  }
}
.p-read-03__image._02 {
  top: 582px;
  left: -10px;
  width: 250px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-read-03__image._02 {
    top: 48.5vw;
    left: -0.8333333333vw;
    width: 20.8333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .p-read-03__image._02 {
    top: 40vw;
    left: 54.5333333333vw;
    width: 29.3333333333vw;
  }
}
.p-read-03__image._03 {
  top: 95px;
  right: -180px;
  width: 320px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-read-03__image._03 {
    top: 7.9166666667vw;
    right: -15vw;
    width: 26.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .p-read-03__image._03 {
    top: auto;
    right: auto;
    left: 12vw;
    bottom: 16vw;
    width: 36vw;
  }
}
.p-read-03__image._04 {
  top: 395px;
  right: -80px;
  width: 360px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-read-03__image._04 {
    top: 32.9166666667vw;
    right: -6.6666666667vw;
    width: 30vw;
  }
}
@media screen and (max-width: 767px) {
  .p-read-03__image._04 {
    top: auto;
    right: auto;
    left: 52vw;
    bottom: 10.6666666667vw;
    width: 41.3333333333vw;
  }
}
.p-read-03__detail {
  width: 100%;
  max-width: 540px;
  margin: auto;
  font-weight: 500;
  font-size: 20px;
  letter-spacing: 0.05em;
  line-height: 40px;
  text-align: left;
  color: #000;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-read-03__detail {
    max-width: 45vw;
    font-size: 1.6666666667vw;
    line-height: 3.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .p-read-03__detail {
    max-width: 375px;
    padding: 0 35px 0;
    font-weight: 500;
    font-size: 12px;
    line-height: 25px;
    text-align: left;
    color: #000;
  }
}
.p-read-03__detail-text-01:not(:first-child) {
  margin-top: 40px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-read-03__detail-text-01:not(:first-child) {
    margin-top: 3.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .p-read-03__detail-text-01:not(:first-child) {
    margin-top: 12px;
  }
}
.p-read-03__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 424px;
  height: 70px;
  margin: 50px auto 0;
  border-radius: 35px;
  background: #fff;
  border: 1px solid #000;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 0.05em;
  line-height: 40px;
  text-align: center;
  color: #000;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-read-03__button {
    width: 35.3333333333vw;
    height: 5.8333333333vw;
    margin: 4.1666666667vw auto 0;
    border-radius: 2.9166666667vw;
    font-size: 1.6666666667vw;
    line-height: 3.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .p-read-03__button {
    width: 325px;
    height: 50px;
    margin: 20px auto 0;
    font-size: 13px;
    line-height: 20px;
  }
}
@media screen and (min-width: 768px) {
  .p-read-03__button:hover {
    border-color: #fff;
    color: #fff;
    background-color: #000;
  }
}

/* -------------------------------- */
/* .p-renewal-info */
/* -------------------------------- */
.p-renewal-info {
  margin: 62px 0 0;
}
@media screen and (min-width: 768px) {
  .p-renewal-info {
    margin: 93px 0 0;
  }
}
@media screen and (min-width: 768px) {
  .p-renewal-info__in {
    padding-right: calc((100% - 1200px) / 2);
    padding-left: calc((100% - 1200px) / 2);
  }
}
.p-renewal-info__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
  font-weight: bold;
  font-size: 30px;
  letter-spacing: 0.2em;
  line-height: 44px;
  text-align: center;
  color: #000;
}
@media screen and (max-width: 767px) {
  .p-renewal-info__title {
    gap: 10px;
    font-size: 20px;
    letter-spacing: 0.2em;
  }
}
.p-renewal-info__title:before, .p-renewal-info__title:after {
  content: "";
  display: block;
  width: 73px;
  height: 1px;
  background-color: #000;
}
@media screen and (max-width: 767px) {
  .p-renewal-info__title:before, .p-renewal-info__title:after {
    width: 38px;
  }
}
.p-renewal-info__read {
  margin: 44px 0 0;
  font-weight: bold;
  font-size: 24px;
  line-height: 42px;
  text-align: center;
  color: #000;
}
@media screen and (max-width: 767px) {
  .p-renewal-info__read {
    margin: 12px 0 0;
    font-size: 16px;
    line-height: 28px;
  }
}
.p-renewal-info__detail {
  margin: 25px 0 0;
  font-weight: 500;
  font-size: 18px;
  line-height: 30px;
  text-align: left;
  color: #000;
}
@media screen and (max-width: 767px) {
  .p-renewal-info__detail {
    margin: 17px 0 0;
    font-size: 12px;
    line-height: 25px;
  }
}
.p-renewal-info__image-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 54px 0 0;
}
@media screen and (max-width: 767px) {
  .p-renewal-info__image-grid {
    margin: 24px 0 0;
  }
}
.p-renewal-info__image-grid-item {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1;
}
.p-renewal-info__tips {
  display: grid;
  grid-template: auto/1fr 1fr 1fr;
  gap: 30px;
  margin: 40px 0 0;
}
@media screen and (max-width: 767px) {
  .p-renewal-info__tips {
    gap: 15px;
    margin: 20px 0 0;
    grid-template: auto/1fr;
  }
}
.p-renewal-info__tips-block {
  padding: 12px 20px 11px;
  border: 1px solid #e6e6e6;
}
@media screen and (max-width: 767px) {
  .p-renewal-info__tips-block {
    padding: 19px 18px 13px;
  }
}
.p-renewal-info__tips-title {
  font-weight: bold;
  font-size: 18px;
  letter-spacing: 0.1em;
  line-height: 32px;
  text-align: left;
  color: #000;
}
@media screen and (max-width: 767px) {
  .p-renewal-info__tips-title {
    font-size: 14px;
    letter-spacing: 0.1em;
    line-height: 16px;
  }
}
.p-renewal-info__tips-detail {
  margin: 8px 0 0;
  font-weight: 500;
  font-size: 15px;
  letter-spacing: 0.05em;
  line-height: 30px;
  text-align: left;
  color: #000;
}
@media screen and (max-width: 767px) {
  .p-renewal-info__tips-detail {
    margin: 12px 0 0;
    font-size: 12px;
    letter-spacing: 0.05em;
    line-height: 25px;
  }
}
.p-renewal-info__tips-detail sup {
  font-size: 10px;
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
}
.p-renewal-info__note {
  display: grid;
  grid-template: auto/auto 1fr;
  gap: 0 0.4em;
  margin: 15px 0 -5px;
  font-weight: 500;
  font-size: 10px;
  letter-spacing: 0.05em;
  line-height: 20px;
  text-align: left;
  color: #666;
}
@media screen and (max-width: 767px) {
  .p-renewal-info__note {
    margin: 9px 0 -8px;
    font-size: 9px;
    letter-spacing: 0.05em;
    line-height: 22.5px;
  }
}
.p-renewal-info__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 424px;
  height: 70px;
  margin: 60px auto 0;
  border-radius: 35px;
  background: #fff;
  border: 1px solid #000;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 0.05em;
  line-height: 40px;
  text-align: center;
  color: #000;
}
@media screen and (max-width: 767px) {
  .p-renewal-info__button {
    width: 325px;
    height: 50px;
    margin: 30px auto 0;
    font-size: 13px;
    line-height: 20px;
  }
}
@media screen and (min-width: 768px) {
  .p-renewal-info__button:hover {
    border-color: #fff;
    color: #fff;
    background-color: #000;
  }
}

/* -------------------------------- */
/* .p-product */
/* -------------------------------- */
.p-product {
  padding: 24px 0 30px;
  margin: 75px -25px 0;
  background-color: #F8F8F8;
}
@media screen and (min-width: 768px) {
  .p-product {
    padding: 50px 25px 71px;
    margin: 70px -25px 0;
  }
}
.p-read-02 + .p-product {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .p-renewal-info + .p-product {
    margin-top: 75px;
  }
}
.p-product-detail + .p-product {
  margin-top: 75px;
}
@media screen and (min-width: 768px) {
  .p-product-detail + .p-product {
    margin-top: 150px;
  }
}
.p-product._cms {
  background: none;
}
.p-product-detail + .p-product._cms {
  margin-top: 46px;
}
@media screen and (min-width: 768px) {
  .p-product-detail + .p-product._cms {
    margin-top: 83px;
  }
}
.p-product__in {
  padding: 0 25px 0;
}
@media screen and (min-width: 768px) {
  .p-product__in {
    padding: 0 calc((100% - 1200px) / 2) 0;
  }
}
.p-product__heading {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 73px 0;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-product__heading {
    padding: 0;
  }
}
.p-product__heading-main {
  position: relative;
  display: block;
  padding: 0 10px 0;
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 0.2em;
  color: #000;
}
@media screen and (min-width: 768px) {
  .p-product__heading-main {
    padding: 0 17px 0;
    font-size: 30px;
    line-height: 44px;
    text-align: center;
  }
}
.p-product__heading-main:before, .p-product__heading-main:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 38px;
  height: 1px;
  margin: auto;
  background-color: #000000;
}
@media screen and (min-width: 768px) {
  .p-product__heading-main:before, .p-product__heading-main:after {
    width: 73px;
  }
}
.p-product__heading-main:before {
  left: 100%;
}
.p-product__heading-main:after {
  right: 100%;
}
.p-product__heading-sub {
  display: block;
  margin: 5px 0 0;
  font-weight: 500;
  font-size: 12px;
  line-height: 25px;
  text-align: center;
  color: #000;
}
@media screen and (min-width: 768px) {
  .p-product__heading-sub {
    margin: 2px 0 0;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 30px;
  }
}
.p-product__list {
  position: relative;
  margin: 17px auto 0;
}
@media screen and (min-width: 768px) {
  .p-product__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 24px auto 0;
  }
}
@media screen and (max-width: 767px) {
  .p-product__list._cms {
    margin: -2px auto 0;
  }
}
@media screen and (min-width: 768px) {
  .p-product__list:before {
    content: "";
    display: block;
    width: 1px;
    background-image: linear-gradient(to bottom, #000 1px, transparent 1px);
    background-size: 1px 6px;
    background-repeat: repeat-y;
    background-position: left top;
  }
}
.p-product__list:before {
  margin-right: -1px;
}
.p-product__list-item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 768px) {
  .p-product__list-item {
    width: 25%;
  }
}
@media screen and (max-width: 767px) {
  .p-product__list-item:not(:first-child) {
    margin-top: 24px;
  }
}
.p-product__list-item:after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 1px;
  background-image: linear-gradient(to right, #000 1px, transparent 1px);
  background-size: 5px 1px;
  background-repeat: repeat-x;
  background-position: left top;
}
@media screen and (min-width: 768px) {
  .p-product__list-item:after {
    width: 1px;
    height: 100%;
    background-image: linear-gradient(to bottom, #000 1px, transparent 1px);
    background-size: 1px 6px;
    background-repeat: repeat-y;
  }
}
@media screen and (max-width: 767px) {
  .p-product__list-item._cms:not(:first-child) {
    margin-top: 5px;
    padding-bottom: 6px;
  }
}
.p-product__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding: 0 22px 26px;
}
@media screen and (min-width: 768px) {
  .p-product__card {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 16px 0 22px;
  }
}
.p-product__card._cms {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 0 0;
}
.p-product__card-thumbnail {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 41.9928825623%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-product__card-thumbnail {
    width: 100%;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1;
  }
}
@media screen and (max-width: 767px) {
  .p-product__card-thumbnail._cms {
    width: 33.8461538462%;
  }
}
.p-product__card-thumbnail-image {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
}
.p-product__card-thumbnail-image._cms {
  width: 100%;
}
.p-product__card-thumbnail-image._01_01 {
  width: 96.6101694915%;
}
.p-product__card-thumbnail-image._01_02 {
  width: 96.6101694915%;
}
.p-product__card-thumbnail-image._01_03 {
  width: 96.6101694915%;
}
.p-product__card-thumbnail-image._01_04 {
  width: 80.5084745763%;
}
.p-product__card-thumbnail-image._02_01 {
  width: 96.6101694915%;
}
.p-product__card-thumbnail-image._02_02 {
  width: 96.6101694915%;
}
.p-product__card-thumbnail-image._02_03 {
  width: 96.6101694915%;
}
.p-product__card-thumbnail-image._02_04 {
  width: 96.6101694915%;
}
@media screen and (min-width: 768px) {
  .p-product__card-thumbnail-image._cms {
    width: 210px;
    margin: -27px 0 -45px;
  }
  .p-product__card-thumbnail-image._01_01 {
    width: 189px;
  }
  .p-product__card-thumbnail-image._01_02 {
    width: 202px;
  }
  .p-product__card-thumbnail-image._01_03 {
    width: 214px;
  }
  .p-product__card-thumbnail-image._01_04 {
    width: 172px;
  }
  .p-product__card-thumbnail-image._02_01 {
    width: 205px;
    padding-top: 4px;
  }
  .p-product__card-thumbnail-image._02_02 {
    width: 233px;
  }
  .p-product__card-thumbnail-image._02_03 {
    width: 197px;
  }
  .p-product__card-thumbnail-image._02_04 {
    width: 205px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-product__card-thumbnail-image._cms {
    width: 17.5vw;
    margin: -2.25vw 0 -3.75vw;
  }
  .p-product__card-thumbnail-image._01_01 {
    width: 15.75vw;
  }
  .p-product__card-thumbnail-image._01_02 {
    width: 15.8333333333vw;
  }
  .p-product__card-thumbnail-image._01_03 {
    width: 14.3333333333vw;
  }
  .p-product__card-thumbnail-image._02_01 {
    width: 17.0833333333vw;
    padding-top: 0.3333333333vw;
  }
  .p-product__card-thumbnail-image._02_02 {
    width: 19.4166666667vw;
  }
  .p-product__card-thumbnail-image._02_03 {
    width: 16.4166666667vw;
  }
  .p-product__card-thumbnail-image._02_04 {
    width: 17.0833333333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-product__card-thumbnail-link:hover .p-product__card-thumbnail-image {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
.p-product__card-thumbnail-new {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: auto;
  font-weight: normal;
  color: #fff;
  background: #000;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .p-product__card-thumbnail-new {
    width: 25px;
    height: 25px;
    font-size: 8px;
  }
}
@media screen and (min-width: 768px) {
  .p-product__card-thumbnail-new {
    width: 50px;
    height: 50px;
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-product__card-thumbnail-new {
    width: 4.1666666667vw;
    height: 4.1666666667vw;
    font-size: 1.3333333333vw;
  }
}
.p-product__card-block {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 767px) {
  .p-product__card-block {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1;
    margin-left: 24px;
  }
}
@media screen and (min-width: 768px) {
  .p-product__card-block {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-product__card-block._cms {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
    width: 43.0769230769%;
    margin-left: 27px;
  }
}
.p-product__card-name {
  margin: 0 -10px 0;
  font-weight: bold;
  font-size: 15px;
  letter-spacing: 0.1em;
  line-height: 16px;
  text-align: center;
  color: #000;
}
@media screen and (min-width: 768px) {
  .p-product__card-name {
    margin: 8px 0 0;
    font-size: 20px;
    line-height: 32px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-product__card-name {
    font-size: 1.6666666667vw;
    line-height: 2.6666666667vw;
  }
}
.p-product__card-name._small {
  font-size: 13px;
  line-height: 16px;
}
@media screen and (min-width: 768px) {
  .p-product__card-name._small {
    font-size: 16px;
    margin-top: 25px;
    margin-bottom: 10px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-product__card-name._small {
    font-size: 1.3333333333vw;
    margin-top: 2.0833333333vw;
    margin-bottom: 0.8333333333vw;
  }
}
.p-product__card-name span {
  display: inline-block;
}
.p-product__card-price {
  margin: 6px 0 0;
  font-weight: 500;
  font-size: 13px;
  line-height: 16px;
  text-align: center;
  color: #000;
}
@media screen and (min-width: 768px) {
  .p-product__card-price {
    margin: 6px 0 0;
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-product__card-price {
    font-size: 1.3333333333vw;
  }
}
.p-product__card-button {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  max-width: 135px;
  padding: 2px 24px 2px;
  margin: 6px 0 0;
  border: 1px solid #000000;
  background-color: #000000;
  border-radius: 50px;
  font-size: 10px;
  letter-spacing: 0.1em;
  line-height: 20.5px;
  text-align: center;
  color: #fff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-product__card-button {
    max-width: 200px;
    padding: 9px 40px 9px;
    margin: 15px 0 0;
    font-size: 14px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-product__card-button {
    max-width: 16.6666666667vw;
    padding: 0.75vw 2.5vw 0.6666666667vw;
    font-size: 1.1666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .p-product__card-button:hover {
    border-color: #000000;
    color: #000000;
    background-color: #fff;
  }
}
.p-product__card-button-icon {
  position: absolute;
  top: 0;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 3px;
  width: 19.5px;
  height: 19.5px;
  margin: auto;
  border: 1px solid #000000;
  border-radius: 50%;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .p-product__card-button-icon {
    left: 5px;
    width: 28px;
    height: 28px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-product__card-button-icon {
    left: 0.4166666667vw;
    width: 2.3333333333vw;
    height: 2.3333333333vw;
  }
}
.p-product__card-button-icon-image {
  width: 10px;
}
@media screen and (min-width: 768px) {
  .p-product__card-button-icon-image {
    width: 15px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-product__card-button-icon-image {
    width: 1.25vw;
  }
}
.p-product__list-02 {
  display: grid;
  grid-template: auto/1fr 1fr 1fr;
  gap: 40px 44px;
  margin: 40px 0 0;
}
@media screen and (max-width: 767px) {
  .p-product__list-02 {
    grid-template: auto/1fr;
    gap: 20px 0;
    margin: 17px 0 0;
  }
}
@media screen and (min-width: 768px) {
  .p-product__list-02-item {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 4;
    gap: 0;
  }
}
.p-product__card-02 {
  display: grid;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .p-product__card-02 {
    grid-template-rows: subgrid;
    grid-row: span 4;
    padding: 14px 10px 20px;
  }
}
@media screen and (max-width: 767px) {
  .p-product__card-02 {
    grid-template: "thumbnail name" "thumbnail detail" "thumbnail button"/35.7333333333vw 1fr;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 18px 0 20px;
  }
}
.p-product__card-02-name {
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 0.1em;
  line-height: 32px;
  text-align: center;
  color: #000;
}
@media screen and (max-width: 767px) {
  .p-product__card-02-name {
    grid-area: name;
    font-size: 15px;
    line-height: 16px;
  }
}
.p-product__card-02-thumbnail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 14px 0 0;
}
@media screen and (max-width: 767px) {
  .p-product__card-02-thumbnail {
    grid-area: thumbnail;
    margin: 0 1.8666666667vw 0;
  }
}
.p-product__card-02-thumbnail img {
  zoom: 0.5;
}
.p-product__card-02-detail {
  margin: 15px 0 0;
  font-weight: 500;
  font-size: 15px;
  line-height: 26px;
  letter-spacing: 0.05em;
  text-align: center;
  color: #000;
}
@media screen and (max-width: 767px) {
  .p-product__card-02-detail {
    grid-area: detail;
    margin: 8px 5px 0;
    font-size: 12px;
    line-height: 16px;
  }
}
.p-product__card-02-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  max-width: 260px;
  height: 40px;
  margin: 14px auto 0;
  border: 1px solid #000;
  border-radius: 20px;
  background: #000;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  font-weight: bold;
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 32px;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .p-product__card-02-button {
    grid-area: button;
    max-width: 170px;
    margin: 9px auto 0;
    height: 27px;
    border-radius: 13.5px;
    font-size: 10px;
    line-height: 20.5px;
  }
}
@media screen and (min-width: 768px) {
  .p-product__card-02-button:hover {
    border-color: #000000;
    color: #000000;
    background-color: #fff;
  }
}

/* -------------------------------- */
/* .p-product-detail */
/* -------------------------------- */
.p-product-detail {
  margin: 75px 0 0;
}
@media screen and (min-width: 768px) {
  .p-product-detail {
    margin: 150px 0 0;
  }
}
@media screen and (min-width: 768px) {
  .p-product-detail__in {
    padding-right: calc((100% - 1200px) / 2);
    padding-left: calc((100% - 1200px) / 2);
  }
}
@media screen and (min-width: 768px) {
  .p-product-detail__body {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 60px;
  }
}
@media screen and (min-width: 768px) {
  .p-product-detail__body:before {
    content: "";
    display: block;
    width: 48.3333333333%;
    aspect-ratio: 0.9206349206;
  }
}
.p-product-detail__body-in {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1;
}
.p-product-detail__thumbnail {
  margin: 30px 0 0;
}
@media screen and (min-width: 768px) {
  .p-product-detail__thumbnail {
    position: absolute;
    top: 0;
    left: 0;
    width: 48.3333333333%;
    margin: 0 0 0;
  }
}
.p-product-detail__thumbnail-image {
  width: 100%;
  height: auto;
}
.p-product-detail__heading {
  position: relative;
  padding: 0 0 5px;
}
@media screen and (min-width: 768px) {
  .p-product-detail__heading {
    padding: 0 0 17px;
  }
}
.p-product-detail__heading:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background-color: #000000;
}
@media screen and (min-width: 768px) {
  .p-product-detail__heading:before {
    width: 5px;
    height: 5px;
  }
}
.p-product-detail__heading:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 1px;
  display: block;
  width: calc(100% - 7px);
  height: 1px;
  background-color: #000000;
}
@media screen and (min-width: 768px) {
  .p-product-detail__heading:after {
    width: calc(100% - 10px);
    bottom: 2px;
  }
}
.p-product-detail__heading-sub {
  display: block;
  margin: -2px 0 0;
  font-weight: bold;
  font-size: 10px;
  letter-spacing: 0.2em;
  color: #000;
  font-family: "Yu Gothic", YuGothic, "YuGo", sans-serif;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
@media screen and (min-width: 768px) {
  .p-product-detail__heading-sub {
    font-size: 10px;
    margin: -2px 0 0;
  }
}
.p-product-detail__heading-main {
  display: block;
  margin: -7px 0 0 0;
  font-weight: bold;
  font-size: 30px;
  letter-spacing: 0.05em;
  color: #000;
}
@media screen and (min-width: 768px) {
  .p-product-detail__heading-main {
    margin: -12px 0 0 0;
    font-size: 46px;
    color: #000;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-product-detail__heading-main {
    font-size: 3.8333333333vw;
  }
}
.p-product-detail__heading-main:not(:first-child) {
  margin: 1px 0 0 0;
}
.p-product-detail__tips {
  margin: 22px 0 0 0;
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.05em;
  line-height: 28px;
  color: #000;
}
@media screen and (min-width: 768px) {
  .p-product-detail__tips {
    margin: 38px -15px 0 0;
    font-size: 15px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-product-detail__tips {
    font-size: 1.25vw;
  }
}
.p-product-detail__tips-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
@media screen and (min-width: 768px) {
  .p-product-detail__tips-item:not(:first-child) {
    margin-top: 12px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-product-detail__tips-item:not(:first-child) {
    margin-top: 1vw;
  }
}
.p-product-detail__tips-icon {
  position: relative;
  top: 2px;
  width: 14px;
  margin-right: 12px;
}
@media screen and (min-width: 768px) {
  .p-product-detail__tips-icon {
    top: 2px;
    width: 16px;
    margin-right: 10px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-product-detail__tips-icon {
    top: 0.1666666667vw;
    width: 1.3333333333vw;
    margin-right: 0.8333333333vw;
  }
}
.p-product-detail__tips sup {
  display: inline-block;
  font-size: 10px;
  -webkit-transform: scale(0.6);
          transform: scale(0.6);
}
@media screen and (min-width: 768px) {
  .p-product-detail__tips sup {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
  }
}
.p-product-detail__tips-note {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: normal;
  letter-spacing: 0.05em;
  text-align: left;
  color: #666;
}
@media screen and (max-width: 767px) {
  .p-product-detail__tips-note {
    margin: 8px 0 0;
    font-size: 9px;
    line-height: 22.5px;
  }
}
@media screen and (min-width: 768px) {
  .p-product-detail__tips-note {
    margin: 8px 0 0;
    font-size: 10px;
    line-height: 20px;
  }
}
.p-product-detail__tips-note + .p-product-detail__tips-note {
  margin-top: 0;
}
.p-product-detail__tips-note-index {
  margin-right: 0.25em;
}
.p-product-detail__button-wrap {
  margin: 12px 0 0;
}
@media screen and (min-width: 768px) {
  .p-product-detail__button-wrap {
    margin: 55px 0 0;
  }
}
.p-product-detail__button-normal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  padding: 14px 10px 14px;
  border: 1px solid #000000;
  border-radius: 50px;
  font-weight: bold;
  font-size: 13px;
  letter-spacing: 0.05em;
  line-height: 20px;
  text-align: center;
  color: #000;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .p-product-detail__button-normal {
    padding: 14px 10px 14px;
    font-size: 20px;
    line-height: 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-product-detail__button-normal {
    padding: 1.1666666667vw 0.8333333333vw 1.1666666667vw;
    font-size: 1.6666666667vw;
    line-height: 3.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-product-detail__button-normal:hover {
    border-color: #000;
    color: #fff;
    background-color: #000;
  }
}
.p-product-detail__button-normal:not(:first-child) {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .p-product-detail__button-normal:not(:first-child) {
    margin-top: 14px;
  }
}
.p-product-detail__button-cart {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  padding: 16px 50px 16px;
  margin: 15px 0 0;
  border: 1px solid #000000;
  background-color: #000000;
  border-radius: 50px;
  font-weight: bold;
  font-size: 15px;
  letter-spacing: 0.1em;
  line-height: 16px;
  text-align: center;
  color: #fff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .p-product-detail__button-cart {
    padding: 25px 79px 21px;
    margin: 20px 0 0;
    font-size: 24px;
    line-height: 32px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-product-detail__button-cart {
    padding: 2.0833333333vw 6.5833333333vw 1.75vw;
    margin: 1.6666666667vw 0 0;
    font-size: 2vw;
    line-height: 2.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .p-product-detail__button-cart:hover {
    border-color: #000000;
    color: #000000;
    background-color: #fff;
  }
}
.p-product-detail__button-cart-icon {
  position: absolute;
  top: 0;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 7px;
  width: 35px;
  height: 35px;
  border: 1px solid #000000;
  border-radius: 50%;
  margin: auto;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .p-product-detail__button-cart-icon {
    left: 13px;
    width: 56px;
    height: 56px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-product-detail__button-cart-icon {
    left: 1.0833333333vw;
    width: 4.6666666667vw;
    height: 4.6666666667vw;
  }
}
.p-product-detail__button-cart-icon-image {
  position: relative;
  top: 2px;
  left: 0;
  width: 18px;
}
@media screen and (min-width: 768px) {
  .p-product-detail__button-cart-icon-image {
    top: 2px;
    left: 0;
    width: 27px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-product-detail__button-cart-icon-image {
    top: 0.1666666667vw;
    width: 2.25vw;
  }
}
.p-product-detail__note {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 27px 0 0;
  font-weight: 500;
  font-size: 9px;
  letter-spacing: 0.05em;
  color: #666;
}
@media screen and (min-width: 768px) {
  .p-product-detail__note {
    margin: 43px 0 0;
    font-size: 10px;
  }
}
.p-product-detail__note-index {
  margin-right: 0.25em;
}
.p-product-detail__lineup {
  padding: 0 10px 0;
  margin: 39px 0 0;
}
@media screen and (min-width: 768px) {
  .p-product-detail__lineup {
    padding: 0 0 0;
    margin: 41px 0 0;
  }
}
.p-product-detail__lineup-heading {
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: bold;
  font-size: 14px;
  letter-spacing: 0.2em;
  color: #000;
}
@media screen and (min-width: 768px) {
  .p-product-detail__lineup-heading {
    font-size: 22px;
    letter-spacing: 0.05em;
  }
}
.p-product-detail__lineup-heading-main {
  position: relative;
  padding: 0 10px 0;
}
@media screen and (min-width: 768px) {
  .p-product-detail__lineup-heading-main {
    padding: 0 19px 0;
  }
}
.p-product-detail__lineup-heading-main:before, .p-product-detail__lineup-heading-main:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 50vw;
  height: 1px;
  margin: auto;
  background-color: #000000;
}
.p-product-detail__lineup-heading-main:before {
  left: 100%;
}
.p-product-detail__lineup-heading-main:after {
  right: 100%;
}
.p-product-detail__lineup-scroll {
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-product-detail__lineup-scroll-in {
    padding: 0 0 25px;
  }
}
@media screen and (max-width: 767px) {
  .p-product-detail__lineup-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 0 5px 0;
    gap: 12px 0;
  }
}
@media screen and (min-width: 768px) {
  .p-product-detail__lineup-list {
    padding: 0 0 43px;
  }
}
@media screen and (max-width: 767px) {
  .p-product-detail__lineup-list-item {
    width: 50%;
  }
}
.p-product-detail .swiper-slide {
  overflow: visible;
}
.p-product-detail__card {
  position: relative;
}
.p-product-detail__card-thumbnail {
  position: relative;
  z-index: -1;
}
.p-product-detail__card-thumbnail-image {
  display: block;
  width: 77.9661016949%;
  margin: -6px auto 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
}
@media screen and (min-width: 768px) {
  .p-product-detail__card-thumbnail-image {
    width: 100%;
    margin: -4px 0 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-product-detail__card-thumbnail-image {
    margin: -0.3333333333vw 0 0;
  }
}
@media screen and (min-width: 768px) {
  .p-product-detail__card[href]:hover .p-product-detail__card-thumbnail-image {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
.p-product-detail__card-name {
  font-weight: bold;
  font-size: 13px;
  letter-spacing: 0.05em;
  text-align: center;
  color: #000;
}
@media screen and (min-width: 768px) {
  .p-product-detail__card-name {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-product-detail__card-name {
    font-size: 1.3333333333vw;
  }
}
.p-product-detail__card-price {
  margin: -2px 0 0;
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0.05em;
  text-align: center;
  color: #000;
}
@media screen and (min-width: 768px) {
  .p-product-detail__card-price {
    margin: 3px 0 0;
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-product-detail__card-price {
    font-size: 1.3333333333vw;
  }
}
.p-product-detail .swiper-scrollbar {
  height: 2px;
  background-color: #D0D0D0;
}
.p-product-detail .swiper-scrollbar-drag {
  top: -4px;
  bottom: -4px;
  left: 0;
  right: 0;
  height: 10px;
  cursor: pointer;
  background: none;
}
.p-product-detail .swiper-scrollbar-drag:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  margin: auto;
  background-color: #000000;
}
.p-product-detail .swiper-horizontal {
  -ms-touch-action: pan-y;
      touch-action: pan-y;
}
.p-product-detail__series {
  margin: 39px 0 0;
}
@media screen and (min-width: 768px) {
  .p-product-detail__series {
    margin: 41px 0 0;
  }
}
.p-product-detail__series-heading {
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: bold;
  font-size: 14px;
  letter-spacing: 0.2em;
  color: #000;
}
@media screen and (min-width: 768px) {
  .p-product-detail__series-heading {
    font-size: 22px;
    letter-spacing: 0.05em;
  }
}
.p-product-detail__series-heading-main {
  position: relative;
  padding: 0 10px 0;
}
@media screen and (min-width: 768px) {
  .p-product-detail__series-heading-main {
    padding: 0 19px 0;
  }
}
.p-product-detail__series-heading-main:before, .p-product-detail__series-heading-main:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 50vw;
  height: 1px;
  margin: auto;
  background-color: #000000;
}
.p-product-detail__series-heading-main:before {
  left: 100%;
}
.p-product-detail__series-heading-main:after {
  right: 100%;
}
.p-product-detail__series-list {
  display: grid;
}
@media screen and (max-width: 767px) {
  .p-product-detail__series-list {
    grid-template: auto/repeat(2, minmax(0, 1fr));
    gap: 20px 0;
  }
}
@media screen and (min-width: 768px) {
  .p-product-detail__series-list {
    grid-template: auto/repeat(5, minmax(0, 1fr));
    gap: 2px 50px;
    padding: 0 50px 0;
  }
}
.p-product-detail__series-list-item {
  min-width: 0;
}
.p-product-detail__series-card {
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-product-detail__series-card-thumbnail {
    padding: 0 20px 0;
  }
}
.p-product-detail__series-card-link .p-product-detail__series-card-thumbnail-image {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
}
@media screen and (min-width: 768px) {
  .p-product-detail__series-card-link:hover .p-product-detail__series-card-thumbnail-image {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
.p-product-detail__series-card-name {
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-product-detail__series-card-name {
    padding: 0 10px 0;
    margin: 4px 0 0;
    font-weight: bold;
    font-size: 13px;
    letter-spacing: 0.05em;
    line-height: 19.5px;
    text-align: center;
    color: #000;
  }
}
@media screen and (min-width: 768px) {
  .p-product-detail__series-card-name {
    margin: 4px 0 0;
    font-weight: bold;
    font-size: 16px;
    line-height: 27px;
    letter-spacing: 0.05em;
    text-align: center;
    color: #000;
  }
}
.p-product-detail__series-card-name-main {
  display: block;
}
.p-product-detail__series-card-name-sub {
  display: block;
}
.p-product-detail__series-card-price {
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-product-detail__series-card-price {
    font-weight: 500;
    font-size: 13px;
    letter-spacing: 0.05em;
    text-align: center;
    color: #000;
  }
}
@media screen and (min-width: 768px) {
  .p-product-detail__series-card-price {
    margin: 2px 0 0;
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.05em;
    text-align: center;
    color: #000;
  }
}
.p-product-detail__series-card-lineup-wrap {
  position: relative;
  padding: 0 13px 0;
}
.p-product-detail__series-card-lineup {
  min-width: 0;
  overflow: hidden;
  padding: 2px;
}
@media screen and (max-width: 767px) {
  .p-product-detail__series-card-lineup {
    margin: 8px 0 -2px;
  }
}
@media screen and (min-width: 768px) {
  .p-product-detail__series-card-lineup {
    margin: 14px 0 -2px;
  }
}
.p-product-detail__series-card-lineup-button {
  display: block;
  aspect-ratio: 1;
  background: transparent;
  padding: 1px;
  border: 1px solid #e6e6e6;
  border-radius: 50%;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-product-detail__series-card-lineup-button {
    width: 24px;
  }
}
@media screen and (min-width: 768px) {
  .p-product-detail__series-card-lineup-button {
    width: 26px;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  .p-product-detail__series-card-lineup-button:hover {
    opacity: 0.5;
  }
}
.p-product-detail__series-card-lineup-button img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 50%;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-product-detail__series-card-lineup-button._active {
    outline: 1px solid #000000;
  }
}
@media screen and (min-width: 768px) {
  .p-product-detail__series-card-lineup-button._active {
    outline: 2px solid #000000;
  }
}
.p-product-detail__series-card-lineup-arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  display: block;
  width: 9px;
  height: 16px;
  margin: auto;
  background: url(/assets/image/ico/ico_arrow_05.svg) 0 0/contain no-repeat;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .p-product-detail__series-card-lineup-arrow:hover {
    opacity: 0.5;
  }
}
.p-product-detail__series-card-lineup-arrow._prev {
  left: 0;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
.p-product-detail__series-card-lineup-arrow._next {
  right: 0;
}
.p-product-detail__series-card-lineup-arrow.swiper-button-disabled {
  opacity: 0;
}

/* -------------------------------- */
/* .p-story */
/* -------------------------------- */
.p-story {
  margin: 43px 0 0;
}
@media screen and (min-width: 768px) {
  .p-story {
    margin: 92px 0 0;
  }
}
.p-story__in {
  padding-right: calc((100% - 1200px) / 2);
  padding-left: calc((100% - 1200px) / 2);
}
.p-story__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 73px 0;
}
.p-story__heading-main {
  position: relative;
  display: block;
  padding: 0 8px 0;
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 0.2em;
  color: #000;
}
@media screen and (min-width: 768px) {
  .p-story__heading-main {
    padding: 0 27px 0;
    font-size: 30px;
    line-height: 44px;
    text-align: center;
  }
}
.p-story__heading-main:before, .p-story__heading-main:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 38px;
  height: 1px;
  margin: auto;
  background-color: #000000;
}
@media screen and (min-width: 768px) {
  .p-story__heading-main:before, .p-story__heading-main:after {
    width: 73px;
  }
}
.p-story__heading-main:before {
  left: 100%;
}
.p-story__heading-main:after {
  right: 100%;
}
.p-story__heading-sub {
  display: block;
  margin: 8px 0 0;
  font-weight: 500;
  font-size: 12px;
  text-align: center;
  color: #000;
}
@media screen and (min-width: 768px) {
  .p-story__heading-sub {
    margin: 2px 0 0;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 30px;
  }
}
.p-story__list {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 21px auto 0;
}
@media screen and (min-width: 768px) {
  .p-story__list {
    margin: 41px auto 0;
    gap: 0 60px;
  }
}
.p-story__list-item {
  width: 100%;
  border-bottom: 1px solid #707070;
}
@media screen and (min-width: 768px) {
  .p-story__list-item {
    width: calc(50% - 30px);
  }
}
@media screen and (max-width: 767px) {
  .p-story__list-item:nth-child(-n+1) {
    border-top: 1px solid #707070;
  }
}
@media screen and (min-width: 768px) {
  .p-story__list-item:nth-child(-n+2) {
    border-top: 1px solid #707070;
  }
}
.p-story__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 15px 0 15px;
}
@media screen and (min-width: 768px) {
  .p-story__card {
    padding: 30px 0 30px;
  }
}
.p-story__card-thumbnail {
  position: relative;
  overflow: hidden;
  width: 34.0557275542%;
  aspect-ratio: 1.5068493151;
  margin-right: 15px;
}
@media screen and (min-width: 768px) {
  .p-story__card-thumbnail {
    width: 38.5288966725%;
    margin-right: 31px;
  }
}
.p-story__card-thumbnail-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
}
.p-story__card-thumbnail-image._left-top {
  -o-object-position: left top;
     object-position: left top;
}
@media screen and (min-width: 768px) {
  .p-story__card:hover .p-story__card-thumbnail-image {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
.p-story__card-detail {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1;
  font-weight: bold;
  font-size: 10px;
  letter-spacing: 0.1em;
  line-height: 19px;
  color: #000;
}
@media screen and (min-width: 768px) {
  .p-story__card-detail {
    font-size: 16px;
    line-height: 38px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-story__card-detail {
    font-size: 1.3333333333vw;
    line-height: 3.1666666667vw;
  }
}

/* -------------------------------- */
/* .p-news */
/* -------------------------------- */
.p-news {
  max-width: 960px;
  margin: 67px auto 0;
}
@media screen and (min-width: 768px) {
  .p-news {
    margin: 92px auto 0;
  }
}
.p-news__in {
  padding-right: calc((100% - 1200px) / 2);
  padding-left: calc((100% - 1200px) / 2);
}
.p-news__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 73px 0;
}
@media screen and (max-width: 767px) {
  .p-news__heading {
    padding: 0;
  }
}
.p-news__heading-main {
  position: relative;
  display: block;
  padding: 0 8px 0;
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 0.2em;
  color: #000;
}
@media screen and (min-width: 768px) {
  .p-news__heading-main {
    padding: 0 27px 0;
    font-size: 30px;
    line-height: 44px;
    text-align: center;
  }
}
.p-news__heading-main:before, .p-news__heading-main:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 38px;
  height: 1px;
  margin: auto;
  background-color: #000000;
}
@media screen and (min-width: 768px) {
  .p-news__heading-main:before, .p-news__heading-main:after {
    width: 73px;
  }
}
.p-news__heading-main:before {
  left: 100%;
}
.p-news__heading-main:after {
  right: 100%;
}
.p-news__heading-sub {
  display: block;
  margin: 8px 0 0;
  font-weight: 500;
  font-size: 12px;
  text-align: center;
  color: #000;
}
@media screen and (min-width: 768px) {
  .p-news__heading-sub {
    margin: 2px 0 0;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 30px;
  }
}
.p-news__list {
  margin: 32px 0 0;
}
@media screen and (max-width: 767px) {
  .p-news__list {
    margin: 20px 0 0;
  }
}
.p-news__list-item {
  border-bottom: 1px solid #e6e6e6;
}
.p-news__list-item:first-child {
  border-top: 1px solid #e6e6e6;
}
.p-news__card {
  position: relative;
  display: grid;
  grid-template: auto/154px 1fr;
  padding: 25px 0 23px;
  min-height: 75px;
}
@media screen and (max-width: 767px) {
  .p-news__card {
    grid-template: auto/1fr;
    padding: 13px 29px 12px 0;
  }
}
.p-news__card[href] {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .p-news__card[href]:hover {
    opacity: 0.5;
  }
}
.p-news__card[href]:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 14px;
  display: block;
  width: 14px;
  height: 14px;
  margin: auto;
  background: url(/364bra/img/icon_arrow_01.svg) 0 0/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .p-news__card[href]:after {
    top: 20px;
    right: 7px;
  }
}
.p-news__card-title {
  font-weight: 500;
  font-size: 15px;
  line-height: 26px;
  text-align: left;
  color: #666;
}
@media screen and (max-width: 767px) {
  .p-news__card-title {
    font-size: 10px;
    line-height: 13px;
  }
}
.p-news__card-detail {
  font-weight: 500;
  font-size: 15px;
  line-height: 26px;
  text-align: left;
  color: #000;
}
@media screen and (max-width: 767px) {
  .p-news__card-detail {
    margin: 5px 0 0;
    font-size: 12px;
    line-height: 18px;
  }
}

/* -------------------------------- */
/* .p-webshop */
/* -------------------------------- */
.p-webshop {
  position: relative;
  overflow: hidden;
  padding: 50px 25px 50px;
  margin: 80px -25px 0;
  background-color: #F8F8F8;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .p-webshop {
    padding: 100px 25px 100px;
    margin: 149px -25px 0;
  }
}
.p-webshop__in {
  padding: 0 calc((100% - 1200px) / 2);
}
.p-webshop__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 -15px -15px 0;
}
@media screen and (min-width: 768px) {
  .p-webshop__list {
    margin: 0 -36px -36px 0;
  }
}
.p-webshop__list-item {
  width: 50%;
  padding: 0 15px 15px 0;
}
@media screen and (min-width: 768px) {
  .p-webshop__list-item {
    width: 25%;
    padding: 0 36px 36px 0;
  }
}
.p-webshop__card {
  display: block;
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .p-webshop__card:hover {
    opacity: 0.5;
  }
}
.p-webshop__card:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1px solid #E6E6E6;
}

/* -------------------------------- */
/* .p-foot */
/* -------------------------------- */
.p-foot {
  margin: 45px 0 0;
}
@media screen and (min-width: 768px) {
  .p-foot {
    padding: 0 calc((100% - 1200px) / 2);
    margin: 94px 0 0;
  }
}

/* -------------------------------- */
/* .p-page-link */
/* -------------------------------- */
.p-page-link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid #000000;
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.05em;
  color: #000;
}
@media screen and (min-width: 768px) {
  .p-page-link {
    padding: 0 0 3px;
    font-size: 16px;
  }
}
.p-page-link:hover {
  border-bottom-color: transparent;
}
.p-page-link__icon {
  position: relative;
  display: block;
  margin-right: 9px;
  width: 4px;
}
@media screen and (min-width: 768px) {
  .p-page-link__icon {
    top: 1px;
    width: 5px;
    margin-right: 20px;
  }
}
.p-page-link__text {
  display: block;
}

/* -------------------------------- */
/* .p-modal */
/* -------------------------------- */
.p-modal {
  position: fixed;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  padding: 80px 20px 40px;
  z-index: 300;
  overflow: auto;
}
@media screen and (min-width: 768px) {
  .p-modal {
    padding: 40px 40px 40px;
  }
}
.p-modal__container {
  position: relative;
  background-color: #fff;
  max-width: 1200px;
  width: 100%;
  margin: auto;
}
.p-modal__container-close {
  position: absolute;
  top: -14.5px;
  right: -14.5px;
  width: 30px;
  height: 30px;
  border: 1px solid #E6E6E6;
  -webkit-transition: linear 0.3s;
  transition: linear 0.3s;
  text-indent: -9999px;
  background-color: #fff;
  border-radius: 50%;
}
@media screen and (min-width: 768px) {
  .p-modal__container-close {
    top: -30px;
    right: -31px;
    width: 61px;
    height: 61px;
  }
}
.p-modal__container-close:before, .p-modal__container-close:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 13px;
  height: 1px;
  margin: auto;
  background-color: #000;
  -webkit-transition: linear 0.3s;
  transition: linear 0.3s;
}
@media screen and (min-width: 768px) {
  .p-modal__container-close:before, .p-modal__container-close:after {
    width: 25px;
  }
}
.p-modal__container-close:before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.p-modal__container-close:after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
@media screen and (min-width: 768px) {
  .p-modal__container-close:hover {
    border-color: #000;
    background-color: #000;
  }
}
.p-modal__container-close:hover:before, .p-modal__container-close:hover:after {
  background-color: #fff;
}
.p-modal__ghost {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
}

/* -------------------------------- */
/* .p-point */
/* -------------------------------- */
.p-point {
  padding: 35px 26px 25px;
  border: 1px solid #000000;
}
@media screen and (min-width: 768px) {
  .p-point {
    padding: 80px 80px 80px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-point {
    padding: 6.6666666667vw 6.6666666667vw 6.6666666667vw;
  }
}
.p-point__heading {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-top: 1px solid #000000;
  border-bottom: 1px solid #000000;
  padding: 10px 0 6px;
}
@media screen and (min-width: 768px) {
  .p-point__heading {
    padding: 17px 0 18px;
  }
}
.p-point__heading-sub {
  position: absolute;
  top: -11px;
  display: block;
  padding: 0 9px 0;
  font-weight: bold;
  font-size: 9px;
  letter-spacing: 0.05em;
  line-height: 15px;
  text-align: center;
  color: #fff;
  border-radius: 50px;
  background-color: #000000;
}
@media screen and (min-width: 768px) {
  .p-point__heading-sub {
    top: -20px;
    padding: 0 15px 0;
    font-size: 15px;
    line-height: 29px;
  }
}
.p-point__heading-sub:before {
  content: "";
  display: block;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  width: 0;
  height: 0;
  margin: auto;
  border: solid transparent;
  border-width: 2px 2px 0;
  border-top-color: #000000;
}
@media screen and (min-width: 768px) {
  .p-point__heading-sub:before {
    border-width: 3px 3px 0;
  }
}
.p-point__heading-sub-in {
  display: block;
}
@media screen and (max-width: 767px) {
  .p-point__heading-sub-in {
    zoom: 0.9;
  }
}
.p-point__heading-main {
  display: block;
  font-weight: bold;
  font-size: 15px;
  letter-spacing: 0.05em;
  color: #000;
}
@media screen and (min-width: 768px) {
  .p-point__heading-main {
    font-size: 28px;
    line-height: 40px;
  }
}
.p-point__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 20px 0 0;
  gap: 20px 0;
  counter-reset: number 0;
}
@media screen and (min-width: 768px) {
  .p-point__list {
    margin: 50px 0 0;
    gap: 50px 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-point__list {
    gap: 25 20;
  }
}
.p-point__list-item {
  width: 100%;
  counter-increment: number;
}
@media screen and (min-width: 768px) {
  .p-point__list-item {
    width: calc(50% - 20px);
  }
}
.p-point__card {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-point__card:before {
  position: absolute;
  top: -9px;
  left: -9px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 18px;
  height: 18px;
  content: counter(number);
  border-radius: 50%;
  background-color: #000000;
  font-weight: bold;
  font-size: 10px;
  letter-spacing: 0.05em;
  line-height: 20px;
  color: #fff;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-point__card:before {
    top: -15px;
    left: -15px;
    width: 30px;
    height: 30px;
    font-size: 15px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-point__card:before {
    top: -1.25vw;
    left: -1.25vw;
    width: 2.5vw;
    height: 2.5vw;
    font-size: 1.25vw;
  }
}
.p-point__card-thumbnail {
  width: 44.4839857651%;
  margin-right: 10px;
}
@media screen and (min-width: 768px) {
  .p-point__card-thumbnail {
    width: 190px;
    margin-right: 15px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-point__card-thumbnail {
    width: 15.8333333333vw;
    margin-right: 1.25vw;
  }
}
.p-point__card-thumbnail-image {
  width: 100%;
  height: auto;
}
.p-point__card-detail {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1;
}
.p-point__card-text {
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.05em;
  line-height: 20px;
  color: #000;
}
@media screen and (min-width: 768px) {
  .p-point__card-text {
    font-size: 15px;
    line-height: 30px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-point__card-text {
    font-size: 1.25vw;
    line-height: 2.5vw;
  }
}
.p-point__card-text:first-child {
  margin: -4px 0 0;
}
@media screen and (min-width: 768px) {
  .p-point__card-text:first-child {
    margin: -7px 0 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-point__card-text:first-child {
    margin: -0.5833333333vw 0 0;
  }
}
.p-point__card-text sup {
  display: inline-block;
  font-size: 10px;
  -webkit-transform: scale(0.6);
          transform: scale(0.6);
}
.p-point__card-note {
  margin: 2px 0 0;
  font-weight: 500;
  font-size: 9px;
  letter-spacing: 0.05em;
  line-height: 12.5px;
  color: #666;
}
@media screen and (min-width: 768px) {
  .p-point__card-note {
    margin: 6px 0 0;
    font-size: 12px;
    line-height: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-point__card-note {
    margin: 0.5vw 0 0;
    font-size: 1vw;
    line-height: 1.6666666667vw;
  }
}
.p-point__card-underline {
  text-decoration: underline;
}
.p-point__note {
  font-weight: normal;
  letter-spacing: 0.05em;
  text-align: left;
  color: #000;
}
@media screen and (max-width: 767px) {
  .p-point__note {
    margin: 17px 0 -6px;
    font-size: 10px;
    line-height: 15px;
  }
}
@media screen and (min-width: 768px) {
  .p-point__note {
    width: calc(50% - 20px);
    margin: 0 0 -40px auto;
    font-size: 12px;
    line-height: 24px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-point__note {
    font-size: 1vw;
    line-height: 2vw;
    margin: 0 0 -3.3333333333vw auto;
  }
}
.p-point__note-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-point__note-index {
  margin-right: 0.25em;
}
@media screen and (min-width: 768px) {
  .p-point:has(.p-point__list-item:last-child:nth-child(2n)) .p-point__note {
    margin-top: 35px;
  }
}