@charset "UTF-8";

/*--------------------------
 social user's voice
----------------------------*/
button {
  -webkit-appearance: none;
  appearance: none;
}
@media all and (max-width: 767px) {
  #gift .block-heading {
    margin-top: 100px;
  }
}
#header2019.is-none {
  display: none;
}
.rw-product-buy-button.is-none {
  z-index: -1;
}
.social {
  padding: 22vw 0 0;
  overflow: hidden;
}
@media all and (min-width: 768px) {
  .social {
    padding: 120px 27px 0;
    max-width: 1280px;
    margin-top: 60px;
    margin-right: auto;
    margin-left: auto;
  }
}
.social__head {
  font-size: 7vw;
  text-align: center;
  font-weight: 700 !important;
}
@media all and (min-width: 768px) {
  .social__head {
    font-size: 36px;
  }
}
.social__head span {
  font-weight: normal;
  display: block;
  font-size: 38%;
  line-height: 2;
}
.social__txt-bottom {
  max-width: 84vw;
  margin: 5vw auto 10vw;
  padding: 3vw;
  font-size: 2.4vw;
  border: 1px solid #000;
  border-radius: 40px;
  text-align: center;
}
@media all and (min-width: 768px) {
  .social__txt-bottom {
    max-width: 520px;
    padding: 18px;
    margin: 28px auto 50px;
    font-size: 12px;
  }
}
.social__slider {
  max-width: 1220px;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
}
.social__slider .slide-arrow {
  position: absolute;
  top: 23%;
  height: 56px;
  width: 56px;
  border: none;
  z-index: 1;
}
.social__slider .prev-arrow {
  left: 0;
  background: url(/wellness/sixpad/common/recoverywear/img/comprehensive/im_slider-next-arrow.png) center / 100% auto no-repeat;
}
.social__slider .next-arrow {
  right: -1%;
  background: url(/wellness/sixpad/common/recoverywear/img/comprehensive/im_slider-prev-arrow.png) center / 100% auto no-repeat;
}
.social__slider .slide-dots {
  display: flex;
  margin: 7vw auto;
  gap: 11px;
}
.social__slider .slide-dots li {
  width: 14px;
  height: 14px;
}
.social__slider .slide-dots li button {
  position: relative;
  text-indent: -9999px;
  border: none;
  padding: 0;
  scale: 70%;
  width: 100%;
  height: 100%;
  border-radius: 50px;
  background-color: #fff;
  border: 1px solid #000;
}
.social__slider .slide-dots li.slick-active button {
  background-color: #000;
}
.modal .swiper-pagination {
  display: none;
  margin-bottom: -10vw;
}
@media all and (min-width: 768px) {
  .modal .swiper-pagination {
    margin-bottom: 0;
    width: 100px !important;
    top: -10px !important;
    left: 46px !important;
  }
}
.modal .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background-color: transparent;
  border: 2px solid #fff;
}
@media all and (min-width: 768px) {
  .modal .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
  }
}
.modal .swiper-pagination-bullet-active {
  background-color: #fff;
}
.modal .swiper-button-prev::after,
.modal .swiper-button-next::after {
  display: none;
}
.modal .swiper-button-prev,
.modal .swiper-button-next {
  position: absolute;
  top: 50%;
  height: 56px;
  width: 56px;
  border: none;
  z-index: 1;
}
.modal .swiper-button-prev {
  left: 0;
  background: url(/wellness/sixpad/common/recoverywear/img/comprehensive/im_slider-next-arrow.png) center / 100% auto no-repeat;
}
.modal .swiper-button-next {
  right: -2%;
  background: url(/wellness/sixpad/common/recoverywear/img/comprehensive/im_slider-prev-arrow.png) center / 100% auto no-repeat;
}
.social__modal__inner {
  overflow-y: scroll;
  max-height: 75vh;
  padding: 4vw 5vw;
}
@media all and (min-width: 768px) {
  .social__modal__inner {
    overflow-y: scroll;
    padding: 48px 10px 0 40px;
    max-height: 450px;
  }
}
.social__slider__item {
  transition: opacity 0.25s ease;
  cursor: pointer;
}
@media all and (min-width: 768px) {
  .social__slider__item {
    width: calc(100% / 5 - 10px);
  }
}
.social__slider__inner {
  margin: 0px 8px;
}
@media all and (min-width: 768px) {
  .social__slider__inner {
    margin: 0;
  }
}
.social__slider__inner:hover {
  opacity: 0.7;
}
.social__slider__item .photo {
  margin-bottom: 3vw;
}
@media all and (min-width: 768px) {
  .social__slider__item .photo {
    margin-bottom: 12px;
  }
}
.social__slider__item .photo img {
  border-radius: 15px;
}
.social__slider__item .name {
  font-size: 4vw;
  text-align: center;
  font-weight: 700;
  line-height: 2.2;
  letter-spacing: -0.005rem;
}
@media all and (min-width: 768px) {
  .social__slider__item .name {
    font-size: min(1.2vw, 15px);
  }
}
.social__slider__item .name span {
  display: block;
  font-size: 80%;
  font-weight: 400;
  line-height: 1;
}
.social__slider__item .button {
  max-width: 140px;
  margin: 17px auto 0;
  padding: 8px 4px;
  font-size: 10px;
  font-weight: 700;
  text-align: center;
  line-height: 1.8;
  border-radius: 50px;
  border: 1px solid #000;
  transition: opacity 0.25s ease;
  position: relative;
}
.social__slider__item .button:hover {
  opacity: 0.7;
}
.social__slider__item .button::after {
  position: absolute;
  content: "";
  width: 16px;
  height: 16px;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/im_view-button-arrow.png) center / 100% auto;
}
.social__modal__item {
  display: grid;
  grid-auto-columns: 1fr;
  grid-template-rows: repeat(3, auto);
  gap: 4vw;
}
@media all and (min-width: 768px) {
  .social__modal__item {
    display: grid;
    grid-template-columns: 53% 1fr;
    grid-template-rows: auto auto;
    gap: 10px 24px;
    grid-template-areas:
      "img name"
      "img txt";
  }
}
.social__modal__photo {
  grid-area: 2 / 1 / 3 / 2;
}
@media all and (min-width: 768px) {
  .social__modal__photo {
    grid-area: img;
  }
}
.social__modal__name {
  grid-area: 1 / 1 / 2 / 2;
  display: flex;
  align-items: center;
  gap: 3vw;
}
@media all and (min-width: 768px) {
  .social__modal__name {
    grid-area: name;
    gap: 20px;
  }
}
.social__modal__name .icon {
  width: 13vw;
  /* grid-area: icon; */
}
@media all and (min-width: 768px) {
  .social__modal__name .icon {
    width: 50px;
  }
}
.social__modal__name .name {
  font-size: 3.6vw;
  font-weight: bold;
  /* grid-area: name; */
}
@media all and (min-width: 768px) {
  .social__modal__name .name {
    font-size: 12px;
  }
}
.social__modal__name .name span {
  font-weight: normal;
  font-size: 80%;
}
.social__modal__txt {
  grid-area: 3 / 1 / 4 / 2;
}
@media all and (min-width: 768px) {
  .social__modal__txt {
    grid-area: txt;
  }
}

.social__modal__txt .txt {
  grid-area: txt;
  font-size: 3vw;
  margin-bottom: 2vw;
}
@media all and (min-width: 768px) {
  .social__modal__txt .txt {
    font-size: 14px;
    margin-bottom: 20px;
  }
}
/* モーダル */
.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s;
  pointer-events: none;
  opacity: 0;
  z-index: 120;
  background-color: rgba(0, 0, 0, 0.5);
}
.modal.is-active {
  opacity: 1;
  pointer-events: auto;
}
.modal__overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

/* モーダルのコンテンツ */
.modal__content {
  position: relative;
  width: 96vw;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media all and (min-width: 768px) {
  .modal__content {
    max-width: 840px;
    padding: 20px;
    height: 520px;
  }
}
.modal__inner {
  filter: drop-shadow(0px 0px 4px #ddd);
  background: #fff;
  width: 90%;
  margin: 0 auto;
  border-radius: 2px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.modal__close-btn {
  position: absolute;
  right: 0;
  top: -10vw;
  width: 10vw;
  height: 10vw;
  cursor: pointer;
  z-index: 20;
}
@media all and (min-width: 768px) {
  .modal__close-btn {
    top: -50px;
    right: -10px;
    width: 40px;
    height: 40px;
  }
}
.modal__close-btn:hover {
  opacity: 0.8;
}
.line-close {
  display: inline-block;
  width: 100%;
  height: 1px;
  background-color: #fff;
  border-radius: 0.1rem;
  position: absolute;
  transform: rotate(45deg);
  top: 50%;
}
.line-close::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: inherit;
  border-radius: inherit;
  transform: rotate(90deg);
}