@keyframes absorbDown {
  0% {
    transform: translateY(-100%);
  }

  20% {
    opacity: 1;
    animation-timing-function: ease-in;
  }

  80% {
    opacity: 1;
    animation-timing-function: ease-out;
  }

  100% {
    transform: translateY(100%);
  }
}

@keyframes absorbUp {
  0% {
    transform: translateY(100%);
  }

  20% {
    opacity: 1;
    animation-timing-function: ease-in;
  }

  80% {
    opacity: 1;
    animation-timing-function: ease-out;
  }

  100% {
    transform: translateY(-100%);
  }
}

@keyframes radiation {
  0% {
    clip-path: circle(0 at 50% 0);
  }

  90% {
    opacity: 1;
  }

  99% {
    clip-path: circle(100% at 50% 0);
  }

  100% {
    opacity: 0;
  }
}

.c-btn {
  color: #000;
  border: 1px solid #000;
  border-radius: 3.40282e38px;
  padding: 3px 30px 3px 16px;
  font-size: 1.1rem;
  line-height: 1.45455;
  transition: all .3s;
  display: inline-block;
  position: relative;
}

@media (width >= 768px) {
  .c-btn {
    padding: 3px 25px 3px 16px;
    font-size: 1.2rem;
    line-height: 1.41667;
  }
}

.c-btn:after {
  content: "";
  clip-path: url("#arrow-icon");
  background-color: currentColor;
  width: 6px;
  height: 12px;
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
}

.c-btn--prev:after {
  transform: translateY(-50%)rotate(180deg);
}

.c-heading {
  flex-direction: column-reverse;
  display: flex;
}

.c-heading__title-en {
  font-family: Barlow Semi Condensed, sans-serif;
  font-size: 3.6rem;
  line-height: 1.19444;
  font-weight: 600 !important;
}

@media (width < 768px) {
  .c-heading__title-en {
    margin-top: -3px;
  }
}

@media (width >= 768px) {
  .c-heading__title-en {
    font-size: 4.8rem;
    line-height: 1.20833;
  }
}

.c-heading__title-jp {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4375;
}

@media (width >= 768px) {
  .c-heading__title-jp {
    font-size: 2rem;
    line-height: 1.45;
  }
}

.c-product__img img {
  width: 100%;
  height: auto;
  display: block;
}

.c-product__desc {
  margin-top: 8px;
}

.c-product__info {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.c-product__tag {
  color: #fff;
  background-color: #848484;
  padding-inline: 8px;
  font-weight: 500;
}

@media (width < 768px) {
  .c-product__tag {
    padding-block: 0;
    font-size: 1rem;
    line-height: 1.9;
  }
}

@media (width >= 768px) {
  .c-product__tag {
    padding-inline: 7px;
    padding-bottom: 1px;
    font-size: 1.1rem;
    line-height: 1.72727;
  }
}

.c-product__gender {
  font-family: Barlow Semi Condensed, sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.21429;
}

.c-product__gender--women {
  color: #ff7864;
}

.c-product__gender--men {
  color: #6fac71;
}

@media (width >= 768px) {
  .c-product__gender {
    font-size: 1.6rem;
    line-height: 1.1875;
  }
}

.c-product__name {
  margin-top: 8px;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.375;
}

@media (width >= 768px) {
  .c-product__name {
    font-size: 2rem;
    line-height: 1.3;
  }
}

.c-product__price {
  margin-top: 8px;
  font-family: Barlow Semi Condensed, sans-serif;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.1875;
}

@media (width >= 768px) {
  .c-product__price {
    font-size: 2rem;
    line-height: 1.2;
  }
}

.c-product__price span {
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.33333;
}

@media (width >= 768px) {
  .c-product__price span {
    font-size: 1.4rem;
    line-height: 1.28571;
  }
}

.c-product__logo {
  width: 75px;
  margin-top: 8px;
}

@media (width >= 768px) {
  .c-product__logo {
    margin-top: 12px;
  }
}

.c-product__logo img {
  width: 100%;
  height: auto;
  display: block;
}

.c-product .c-btn {
  margin-top: 12px;
}

@media (width >= 768px) {
  .c-product .c-btn {
    margin-top: 18px;
  }

  .c-product:hover .c-btn {
    color: #fff;
    background-color: #848484;
    border-color: #848484;
  }
}

@media (width < 768px) {
  .c-review--lg {
    flex-direction: column;
    display: flex;
  }
}

@media (width >= 768px) {
  .c-review--lg {
    grid-template-rows: 153px 270px auto;
    grid-template-columns: 314px auto 314px;
    column-gap: 33px;
    display: grid;
  }
}

.c-review--lg .c-review__img {
  overflow: hidden;
}

@media (width < 768px) {
  .c-review--lg .c-review__img {
    border-radius: 32px;
    order: 1;
  }
}

@media (width >= 768px) {
  .c-review--lg .c-review__img {
    border-radius: 50px;
    grid-area: 1 / 1 / 3 / 3;
  }
}

.c-review--lg .c-review__img img {
  width: 100%;
  height: auto;
  display: block;
}

.c-review--lg .c-review__desc {
  display: contents;
}

@media (width >= 768px) {
  .c-review--lg .c-review__desc {
    grid-area: 1 / 3 / 2 / 4;
  }
}

@media (width < 768px) {
  .c-review--lg .c-review__profile {
    order: 2;
    margin-top: 16px;
  }
}

@media (width >= 768px) {
  .c-review--lg .c-review__profile {
    grid-area: 1 / 3 / 2 / 4;
    padding-top: 24px;
  }
}

.c-review--lg .c-review__profile-job {
  font-weight: 700;
}

@media (width < 768px) {
  .c-review--lg .c-review__profile-job {
    font-size: 1.2rem;
    line-height: 1.41667;
  }
}

@media (width >= 768px) {
  .c-review--lg .c-review__profile-job {
    font-size: 2rem;
    line-height: 1.45;
  }
}

.c-review--lg .c-review__profile-name {
  font-weight: 700;
}

@media (width < 768px) {
  .c-review--lg .c-review__profile-name {
    margin-top: 1px;
    font-size: 2rem;
    line-height: 1.45;
  }
}

@media (width >= 768px) {
  .c-review--lg .c-review__profile-name {
    margin-top: 2px;
    font-size: 3.6rem;
    line-height: 1.44444;
  }
}

.c-review--lg .c-review__profile-info {
  font-family: Barlow Semi Condensed, sans-serif;
  font-weight: 500;
}

@media (width < 768px) {
  .c-review--lg .c-review__profile-info {
    margin-top: 3px;
    font-size: 1.3rem;
    line-height: 1.84615;
  }
}

@media (width >= 768px) {
  .c-review--lg .c-review__profile-info {
    margin-top: 18px;
    font-size: 1.6rem;
    line-height: 1.75;
  }
}

@media (width < 768px) {
  .c-review--lg .c-review__item {
    margin-top: 24px;
    order: 4;
    width: 100%;
    max-width: 315px;
    margin-inline: auto;
  }
}

@media (width >= 768px) {
  .c-review--lg .c-review__item {
    grid-area: 2 / 3 / 4 / 4;
    margin-top: 32px;
  }
}

.c-review--lg .c-review__item-title {
  font-weight: 700;
}

@media (width < 768px) {
  .c-review--lg .c-review__item-title {
    font-size: 1.6rem;
    line-height: 1.5;
  }
}

@media (width >= 768px) {
  .c-review--lg .c-review__item-title {
    font-size: 2rem;
    line-height: 1.45;
  }
}

.c-review--lg .c-review__item-wrapper {
  border: 1px solid #000;
}

@media (width < 768px) {
  .c-review--lg .c-review__item-wrapper {
    margin-top: 4px;
    padding: 20px 24px 22px;
  }
}

@media (width >= 768px) {
  .c-review--lg .c-review__item-wrapper {
    margin-top: 9px;
    padding: 24px 22px;
  }
}

.c-review--lg .c-review__item-list {
  flex-direction: column;
  row-gap: 24px;
  display: flex;
}

.c-review--lg .c-review__item-product {
  row-gap: 16px;
  display: grid;
  position: relative;
}

.c-review--lg .c-review__item-product:not(:first-of-type) {
  padding-top: 24px;
}

.c-review--lg .c-review__item-product:not(:first-of-type):before {
  content: "";
  background-color: #000;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 0;
  left: 0;
}

.c-review--lg .c-review__item-column {
  grid-template-columns: auto auto;
  display: grid;
}

.c-review--lg .c-review__item-desc {
  flex-shrink: 0;
  grid-column: 1 / 2;
}

@media (width >= 768px) {
  .c-review--lg .c-review__item-desc {
    width: 180px;
  }
}

.c-review--lg .c-review__item-brand {
  font-family: Barlow Semi Condensed, sans-serif;
  font-weight: 500;
  display: block;
}

@media (width < 768px) {
  .c-review--lg .c-review__item-brand {
    font-size: 1.6rem;
    line-height: 1.1875;
  }
}

@media (width >= 768px) {
  .c-review--lg .c-review__item-brand {
    font-size: 1.6rem;
    line-height: 1.1875;
  }
}

.c-review--lg .c-review__item-name {
  font-weight: 700;
  display: block;
}

@media (width < 768px) {
  .c-review--lg .c-review__item-name {
    margin-top: 8px;
    font-size: 2rem;
    line-height: 1.1;
  }
}

@media (width >= 768px) {
  .c-review--lg .c-review__item-name {
    margin-top: 8px;
    font-size: 2.4rem;
    line-height: 1.25;
  }
}

@media (width < 768px) {
  .c-review--lg .c-review__item-text {
    margin-top: 8px;
    font-size: 1.2rem;
    line-height: 1.58333;
  }
}

@media (width >= 768px) {
  .c-review--lg .c-review__item-text {
    margin-top: 8px;
    font-size: 1.4rem;
    line-height: 1.35714;
  }
}

@media (width < 768px) {
  .c-review--lg .c-review__item-logo {
    width: 75px;
    margin-top: 8px;
  }
}

@media (width >= 768px) {
  .c-review--lg .c-review__item-logo {
    width: 75px;
    margin-top: 16px;
  }
}

.c-review--lg .c-review__item-logo img {
  width: 100%;
  height: auto;
  display: block;
}

.c-review--lg .c-review__item-detail {
  font-family: Barlow Semi Condensed, sans-serif;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.84615;
}

.c-review--lg .c-review__item-info {
  flex-direction: column;
  grid-area: 1 / 2 / 3 / 3;
  align-items: center;
  width: 100%;
  display: flex;
}

@media (width < 768px) {
  .c-review--lg .c-review__item-info {
    row-gap: 16px;
    margin-top: 27px;
  }
}

@media (width >= 768px) {
  .c-review--lg .c-review__item-info {
    row-gap: 16px;
    margin-top: 26px;
  }
}

.c-review--lg .c-review__item-size {
  font-family: Barlow Semi Condensed, sans-serif;
  font-weight: 500;
  position: relative;
}

@media (width < 768px) {
  .c-review--lg .c-review__item-size {
    padding-top: 14px;
    font-size: 1.6rem;
    line-height: 1.75;
  }
}

@media (width >= 768px) {
  .c-review--lg .c-review__item-size {
    padding-top: 14px;
    font-size: 1.6rem;
    line-height: 1.75;
  }
}

.c-review--lg .c-review__item-size:before {
  content: "";
  background-color: #000;
  width: 16px;
  height: 1px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.c-review--lg .c-review__item-btn-wrap {
  grid-row: 2 / 3;
}

.c-review--lg .c-review__item-btn {
  display: inline-block;
}

@media (width < 768px) {
  .c-review--lg .c-review__message {
    order: 3;
    margin-top: 16px;
    padding-left: 4px;
  }
}

@media (width >= 768px) {
  .c-review--lg .c-review__message {
    grid-area: 3 / 1 / 4 / 3;
    margin-top: 16px;
  }
}

.c-review--lg .c-review__lead {
  font-weight: 700;
}

@media (width < 768px) {
  .c-review--lg .c-review__lead {
    font-size: 2.4rem;
    line-height: 1.5;
  }
}

@media (width >= 768px) {
  .c-review--lg .c-review__lead {
    margin-left: 8px;
    font-size: 4rem;
    line-height: 1.45;
  }
}

.c-review--lg .c-review__text {
  margin-top: 12px;
  margin-left: 36px;
  padding-left: 21px;
  position: relative;
}

.c-review--lg .c-review__text:before {
  content: "";
  transform-origin: 0 0;
  background-color: #000;
  width: 5px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

@media (width >= 768px) {
  .c-review--lg .c-review__text {
    margin-top: 12px;
    margin-left: 92px;
    padding-top: 12px;
    padding-bottom: 4px;
    padding-left: 32px;
  }
}

@media (width < 768px) {
  .c-review--lg .c-review__text p {
    font-size: 1.3rem;
    line-height: 1.69231;
  }
}

@media (width >= 768px) {
  .c-review--lg .c-review__text p {
    font-size: 1.6rem;
    line-height: 1.625;
  }

  .c-review--lg:nth-of-type(2n) .c-review__img {
    grid-column: 2 / 4;
  }

  .c-review--lg:nth-of-type(2n) .c-review__profile, .c-review--lg:nth-of-type(2n) .c-review__item, .c-review--lg:nth-of-type(2n) .c-review__desc {
    grid-column: 1 / 2;
  }

  .c-review--lg:nth-of-type(2n) .c-review__message {
    grid-column: 2 / 4;
  }
}

.c-review--md {
  display: grid;
}

@media (width < 768px) {
  .c-review--md {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

@media (width >= 768px) {
  .c-review--md {
    grid-template-rows: auto 1fr;
    grid-template-columns: 340px 1fr;
    gap: 16px 24px;
  }
}

@media (width < 768px) {
  .c-review--md .c-review__img {
    grid-area: 1 / 1 / 2 / 2;
  }
}

@media (width >= 768px) {
  .c-review--md .c-review__img {
    grid-area: 1 / 1 / 3 / 2;
  }
}

.c-review--md .c-review__img img {
  width: 100%;
  height: auto;
  display: block;
}

@media (width < 768px) {
  .c-review--md .c-review__desc {
    white-space: nowrap;
    grid-area: 1 / 2 / 2 / 3;
    margin-top: auto;
    margin-left: auto;
  }
}

@media (width >= 768px) {
  .c-review--md .c-review__desc {
    grid-column: 2 / 3;
    justify-content: space-between;
    align-items: flex-end;
    display: flex;
  }

  .c-review--md .c-review__message {
    border-top: 1px solid #000;
    grid-area: 2 / 2 / 3 / 3;
    padding-top: 12px;
  }

  .c-review--md .c-review__profile {
    padding-top: 24px;
  }
}

.c-review--md .c-review__profile-job {
  font-weight: 700;
}

@media (width < 768px) {
  .c-review--md .c-review__profile-job {
    font-size: 1.2rem;
    line-height: 1.41667;
  }
}

@media (width >= 768px) {
  .c-review--md .c-review__profile-job {
    font-size: 1.4rem;
    line-height: 1.42857;
  }
}

.c-review--md .c-review__profile-name {
  font-weight: 700;
}

@media (width < 768px) {
  .c-review--md .c-review__profile-name {
    margin-top: 1px;
    font-size: 2rem;
    line-height: 1.45;
  }
}

@media (width >= 768px) {
  .c-review--md .c-review__profile-name {
    margin-top: 5px;
    font-size: 2.4rem;
    line-height: 1.45833;
  }
}

.c-review--md .c-review__profile-info {
  font-family: Barlow Semi Condensed, sans-serif;
  font-weight: 500;
}

@media (width < 768px) {
  .c-review--md .c-review__profile-info {
    margin-top: 3px;
    font-size: 1.3rem;
    line-height: 1.84615;
  }
}

@media (width >= 768px) {
  .c-review--md .c-review__profile-info {
    margin-top: 9px;
    font-size: 1.6rem;
    line-height: 1.75;
  }
}

@media (width < 768px) {
  .c-review--md .c-review__item {
    margin-top: 16px;
  }
}

.c-review--md .c-review__item-title {
  font-weight: 700;
}

@media (width >= 768px) {
  .c-review--md .c-review__item-title {
    border-bottom: 1px solid #000;
    font-size: 1.4rem;
    line-height: 1.42857;
    display: inline-block !important;
  }
}

@media (width < 768px) {
  .c-review--md .c-review__item-inner {
    padding-left: 23px;
  }
}

@media (width >= 768px) {
  .c-review--md .c-review__item-inner {
    grid-template-rows: auto 23px;
    grid-template-columns: auto auto;
    gap: 20px 30px;
    margin-top: 12px;
    display: grid;
  }

  .c-review--md .c-review__item-desc {
    grid-area: 1 / 1 / 2 / 2;
  }
}

@media (width < 768px) {
  .c-review--md .c-review__item-desc {
    padding-left: 8px;
    position: relative;
  }

  .c-review--md .c-review__item-desc:before {
    content: "item";
    writing-mode: vertical-lr;
    font-family: Barlow Semi Condensed, sans-serif;
    font-weight: 600;
    position: absolute;
    top: 0;
    left: 0;
    transform: translateX(-23px);
  }
}

@media (width < 768px) and (width >= 768px) {
  .c-review--md .c-review__item-desc:before {
    font-size: 1.6rem;
    line-height: 1.1875;
  }
}

@media (width < 768px) {
  .c-review--md .c-review__item-desc:after {
    content: "";
    transform-origin: 0 0;
    background-color: #000;
    width: 2px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }
}

.c-review--md .c-review__item-brand {
  font-family: Barlow Semi Condensed, sans-serif;
  font-weight: 500;
  display: block;
}

@media (width < 768px) {
  .c-review--md .c-review__item-brand {
    font-size: 1.1rem;
    line-height: 1.27273;
  }
}

@media (width >= 768px) {
  .c-review--md .c-review__item-brand {
    font-size: 1.6rem;
    line-height: 1.1875;
  }
}

.c-review--md .c-review__item-name {
  font-weight: 700;
  display: block;
}

@media (width < 768px) {
  .c-review--md .c-review__item-name {
    font-size: 1.1rem;
    line-height: 1.27273;
  }
}

@media (width >= 768px) {
  .c-review--md .c-review__item-name {
    margin-top: 4px;
    font-size: 2rem;
    line-height: 1.2;
  }
}

.c-review--md .c-review__item-detail {
  font-family: Barlow Semi Condensed, sans-serif;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.84615;
}

.c-review--md .c-review__item-info {
  flex-direction: column;
  grid-area: 1 / 2 / 3 / 3;
  align-items: center;
  row-gap: 12px;
  margin-top: 4px;
  margin-right: 40px;
}

@media (width >= 768px) {
  .c-review--md .c-review__item-info {
    display: flex !important;
  }
}

.c-review--md .c-review__item-size {
  font-family: Barlow Semi Condensed, sans-serif;
  font-weight: 500;
  position: relative;
}

@media (width >= 768px) {
  .c-review--md .c-review__item-size {
    padding-top: 10px;
    font-size: 1.4rem;
    line-height: 1.21429;
  }
}

.c-review--md .c-review__item-size:before {
  content: "";
  background-color: #000;
  width: 16px;
  height: 1px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

@media (width < 768px) {
  .c-review--md .c-review__item-btn {
    margin-top: 11px;
    display: inline-block;
  }
}

@media (width >= 768px) {
  .c-review--md .c-review__item-btn {
    grid-area: 2 / 1 / 3 / 2;
    margin-right: auto;
  }
}

@media (width < 768px) {
  .c-review--md .c-review__message {
    grid-column: 1 / 3;
  }

  .c-review--md .c-review__text p {
    font-size: 1.3rem;
    line-height: 1.69231;
  }
}

@media (width >= 768px) {
  .c-review--md .c-review__text p {
    font-size: 1.4rem;
    line-height: 1.71429;
  }
}

@media (width < 768px) {
  .c-review--md:nth-of-type(2n) .c-review__img {
    grid-column: 2 / 3;
  }

  .c-review--md:nth-of-type(2n) .c-review__desc {
    grid-column: 1 / 2;
  }

  .c-review--sm {
    width: 100%;
  }
}

@media (width >= 768px) {
  .c-review--sm {
    width: 100%;
  }
}

.c-review--sm .c-review__img img {
  width: 100%;
  height: auto;
  display: block;
}

@media (width < 768px) {
  .c-review--sm .c-review__desc {
    margin-top: 10px;
  }
}

@media (width >= 768px) {
  .c-review--sm .c-review__desc {
    margin-top: 10px;
    padding-left: 8px;
  }
}

.c-review--sm .c-review__profile-job {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.41667;
}

.c-review--sm .c-review__profile-name {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4375;
}

@media (width >= 768px) {
  .c-review--sm .c-review__profile-name {
    margin-top: 1px;
  }
}

.c-review--sm .c-review__profile-info {
  margin-top: 1px;
  font-family: Barlow Semi Condensed, sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 2;
}

.c-review--sm .c-review__item {
  margin-top: 12px;
}

.c-review--sm .c-review__item-inner {
  padding-left: 23px;
}

.c-review--sm .c-review__item-desc {
  padding-left: 8px;
  position: relative;
}

.c-review--sm .c-review__item-desc:before {
  content: "item";
  writing-mode: vertical-lr;
  font-family: Barlow Semi Condensed, sans-serif;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.1875;
  position: absolute;
  top: 0;
  left: 0;
  transform: translateX(-23px);
}

.c-review--sm .c-review__item-desc:after {
  content: "";
  transform-origin: 0 0;
  background-color: #000;
  width: 2px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.c-review--sm .c-review__item-name {
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.27273;
  display: block;
}

.c-review--sm .c-review__item-detail {
  font-family: Barlow Semi Condensed, sans-serif;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.84615;
  display: block;
}

@media (width < 768px) {
  .c-review--sm .c-review__item-btn {
    margin-top: 8px;
    display: inline-block;
  }
}

@media (width >= 768px) {
  .c-review--sm .c-review__item-btn {
    margin-top: 12px;
    display: inline-block;
  }
}

.c-review--sm .c-review__message {
  margin-top: 16px;
}

.c-review--sm .c-review__text p {
  font-size: 1.3rem;
  line-height: 1.69231;
}

@media (width >= 768px) {
  .c-review__item-btn:hover .c-btn {
    color: #fff;
    background-color: #848484;
    border-color: #848484;
  }
}

.c-sample {
  background-color: var(--color-primary);
  width: 100px;
  height: 100px;
}

@media (width >= 768px) {
  .c-sample {
    background-color: var(--color-secondary);
  }
}

.p-recovery-menu {
  z-index: 100;
  position: sticky;
}

@media (width < 768px) {
  .p-recovery-menu {
    background-color: #000;
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
    height: 238px;
    display: inline-block;
    top: 116px;
    left: 100%;
    right: 0;
  }
}

@media (width >= 768px) {
  .p-recovery-menu {
    background-color: #fff;
    padding-block: 12px;
    top: 0;
  }

  .p-recovery-menu__inner {
    column-gap: 80px;
    max-width: 1440px;
    margin: 0 auto;
    padding-inline: 88px;
    display: flex;
  }
}

.p-recovery-menu__logo {
  flex-shrink: 0;
  align-items: center;
  display: flex;
}

@media (width >= 768px) {
  .p-recovery-menu__logo {
    width: 142px;
  }
}

.p-recovery-menu__logo a {
  width: 100%;
  display: block;
}

.p-recovery-menu__logo a img {
  width: 100%;
  height: auto;
  display: block;
}

.p-recovery-menu__list {
  margin-left: auto;
}

@media (width < 768px) {
  .p-recovery-menu__list {
    flex-direction: column;
    row-gap: 12px;
    display: flex;
  }
}

@media (width >= 768px) {
  .p-recovery-menu__list {
    align-items: center;
    display: flex;
  }
}

.p-recovery-menu__item {
  font-weight: 500;
  position: relative;
}

@media (width < 768px) {
  .p-recovery-menu__item {
    font-size: 1.6rem;
    line-height: 1.1875;
  }
}

@media (width >= 768px) {
  .p-recovery-menu__item {
    font-size: 1.6rem;
    line-height: 1.1875;
  }

  .p-recovery-menu__item:not(:first-of-type) {
    padding-left: 32px;
  }

  .p-recovery-menu__item:not(:last-of-type) {
    padding-right: 32px;
  }
}

.p-recovery-menu__item:not(:last-of-type):after {
  content: "";
  vertical-align: middle;
  background-color: #000;
  width: 1px;
  height: 8px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

@media (width >= 768px) {
  .p-recovery-menu__item:has(.js-nav-hover) {
    width: 215px;
  }
}

.p-recovery-menu .js-nav-hover.is-opened .p-recovery-menu__icon svg {
  transform: translate(-50%, -50%)rotate(180deg);
}

.p-recovery-menu .js-nav-hover.is-opened .p-recovery-menu__child-wrapper .p-recovery-menu__child {
  grid-template-rows: 1fr;
}

.p-recovery-menu__link {
  align-items: center;
  font-family: Barlow Semi Condensed, sans-serif;
  display: flex;
}

@media (width < 768px) {
  .p-recovery-menu__link {
    color: #fff;
  }
}

@media (width >= 768px) {
  .p-recovery-menu__link {
    justify-content: space-between;
  }
}

@media (width < 768px) {
  .p-recovery-menu__link span {
    margin-left: 12px;
  }
}

@media (width >= 768px) {
  .p-recovery-menu__link span {
    margin-left: 16px;
  }
}

.p-recovery-menu__link span svg path {
  stroke: currentColor;
}

.p-recovery-menu__icon {
  border: 1px solid #000;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  position: relative;
}

.p-recovery-menu__icon svg {
  stroke: #000;
  fill: none;
  width: 10px;
  height: 6px;
  transition: all .2s;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.p-recovery-menu__child-wrapper {
  width: 100%;
  padding-top: 12px;
  position: absolute;
  top: 100%;
  left: 0;
}

.js-nav-hover .p-recovery-menu__child-wrapper {
  display: block;
}

@media (width >= 768px) {
  .p-recovery-menu__child {
    background-color: #f4f4f4;
    border-bottom-right-radius: 12px;
    border-bottom-left-radius: 12px;
    grid-template-rows: 0fr;
    grid-template-columns: max-content;
    transition: grid-template-rows .3s;
    display: grid;
  }

  .p-recovery-menu__child-inner {
    overflow: hidden;
  }
}

.p-recovery-menu__child-list {
  flex-direction: column;
  display: flex;
}

@media (width < 768px) {
  .p-recovery-menu__child-list {
    row-gap: 6px;
    padding-left: 18px;
  }
}

@media (width >= 768px) {
  .p-recovery-menu__child-list {
    row-gap: 13px;
    padding: 16px 32px 19px;
  }
}

.p-recovery-menu__child-link span {
  font-family: Barlow Semi Condensed, sans-serif;
}

@media (width < 768px) {
  .p-recovery-menu__child-link span {
    margin-right: 11px;
  }
}

@media (width >= 768px) {
  .p-recovery-menu__child-link span {
    margin-right: 10px;
  }
}

.p-recovery-menu__child-link[href=""] {
  pointer-events: none;
  cursor: default;
  color: #999;
}

@media (width < 768px) {
  .p-recovery-menu__child-link {
    color: #fff;
    font-size: 1.6rem;
    line-height: 1.375;
  }
}

.p-recovery-menu__details {
  flex-direction: row-reverse;
  height: 100%;
  display: flex;
}

.p-recovery-menu__details.is-open .p-recovery-menu__summary-icon {
  transform: rotate(-90deg);
}

.p-recovery-menu__summary {
  cursor: pointer;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  width: 32px;
  padding: 14px 7px;
  list-style: none;
  display: flex;
}

.p-recovery-menu__summary::-webkit-details-marker {
  display: none;
}

.p-recovery-menu__summary-icon {
  width: 10px;
  height: 6px;
  transition: all .3s;
  display: block;
  transform: rotate(90deg);
}

.p-recovery-menu__summary-icon svg {
  stroke: #fff;
  fill: none;
  width: 100%;
  height: 100%;
  display: block;
}

.p-recovery-menu__summary-text {
  color: #fff;
  writing-mode: vertical-lr;
  font-family: Barlow Semi Condensed, sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.1875;
}

.p-recovery-menu__panel {
  white-space: nowrap;
  padding-block: 15px;
  transition: all .3s;
  display: block;
  overflow: clip;
}

.p-recovery-menu__panel-inner {
  border-right: 1px solid #fff;
  width: max-content;
  padding-left: 26px;
  padding-right: 48px;
}

.p-recovery-menu-spacer {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.p-recovery {
  color: #000;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: #fff;
  font-family: Zen Kaku Gothic New, sans-serif;
  font-style: normal;
  position: relative;
}

@media (width < 768px) {
  .p-recovery__inner {
    padding: 0 40px;
  }
}

@media (width >= 768px) {
  .p-recovery__inner {
    max-width: 1020px;
    margin: 0 auto;
    padding: 0 20px;
  }
}

.p-recovery__box {
  position: relative;
}

@media (width < 768px) {
  .p-recovery__box {
    margin-top: 120px;
  }
}

@media (width >= 768px) {
  .p-recovery__box {
    margin-top: 114px;
    padding-top: 50px;
  }
}

.p-recovery__box-inner {
  position: relative;
}

@media (width < 768px) {
  .p-recovery__box-inner {
    padding: 60px 0;
  }
}

@media (width >= 768px) {
  .p-recovery__box-inner {
    padding: 80px 80px 132px;
  }
}

.p-recovery__box-inner:before {
  content: "";
  background: #ac9e6f26;
  border-radius: 40px;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

@media (width < 768px) {
  .p-recovery__box-inner:before {
    width: calc(100% + 40px);
    left: 50%;
    transform: translateX(-50%);
  }

  .p-recovery .p-recovery-review {
    margin-top: 120px;
  }
}

@media (width >= 768px) {
  .p-recovery .p-recovery-review {
    margin-top: 160px;
  }
}

.p-recovery .p-recovery-review__list {
  display: flex;
}

@media (width < 768px) {
  .p-recovery .p-recovery-review__list {
    margin-top: 54px;
  }
}

@media (width >= 768px) {
  .p-recovery .p-recovery-review__list {
    margin-top: 80px;
  }
}

.p-recovery .p-recovery-review__list--lg {
  flex-direction: column;
}

@media (width < 768px) {
  .p-recovery .p-recovery-review__list--lg {
    row-gap: 56px;
    margin-top: 44px;
  }
}

@media (width >= 768px) {
  .p-recovery .p-recovery-review__list--lg {
    row-gap: 56px;
    margin-top: 45px;
  }
}

@media (width < 768px) {
  .p-recovery .p-recovery-review__list--md {
    flex-direction: column;
    row-gap: 56px;
  }
}

@media (width >= 768px) {
  .p-recovery .p-recovery-review__list--md {
    flex-direction: column;
    row-gap: 64px;
  }
}

@media (width < 768px) {
  .p-recovery .p-recovery-review__list--sm {
    grid-template-columns: repeat(2, 1fr);
    gap: 56px 17px;
    display: grid;
  }
}

@media (width >= 768px) {
  .p-recovery .p-recovery-review__list--sm {
    grid-template-columns: repeat(4, 1fr);
    column-gap: 46px;
    display: grid;
  }
}

.p-recovery .p-recovery-banner {
  position: relative;
}

.p-recovery .p-recovery-banner:before {
  content: "";
  opacity: .4;
  background: linear-gradient(#868686 0%, #fff0 95.67%);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

@media (width < 768px) {
  .p-recovery .p-recovery-banner__inner {
    padding: 42px 40px;
  }
}

@media (width >= 768px) {
  .p-recovery .p-recovery-banner__inner {
    max-width: 1020px;
    margin: 0 auto;
    padding: 54px 20px;
  }
}

.p-recovery .p-recovery-banner__heading {
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

@media (width < 768px) {
  .p-recovery .p-recovery-banner__heading {
    align-items: center;
    column-gap: 16px;
    padding-left: 20px;
  }
}

@media (width >= 768px) {
  .p-recovery .p-recovery-banner__heading {
    column-gap: 40px;
    padding-left: 52px;
  }
}

@media (width < 768px) {
  .p-recovery .p-recovery-banner__logo {
    width: 121px;
    height: auto;
  }
}

@media (width >= 768px) {
  .p-recovery .p-recovery-banner__logo {
    width: 246px;
    height: auto;
  }
}

.p-recovery .p-recovery-banner__logo img {
  width: 100%;
  height: auto;
  display: block;
}

.p-recovery .p-recovery-banner__box {
  color: #fff;
  background-color: #000;
  font-size: 13px;
  line-height: 1.5;
}

@media (width < 768px) {
  .p-recovery .p-recovery-banner__box {
    padding: 1px 24px;
    font-size: 12px;
  }
}

@media (width >= 768px) {
  .p-recovery .p-recovery-banner__box {
    padding: 5px 21px;
  }
}

@media (width < 768px) {
  .p-recovery .p-recovery-banner .p-recovery-top-intro__list {
    margin-top: 48px;
  }
}

@media (width >= 768px) {
  .p-recovery .p-recovery-banner .p-recovery-top-intro__list {
    margin-top: 71px;
  }
}

.p-recovery .p-recovery-banner__products {
  opacity: 0;
  max-height: 0;
  transition: max-height .4s cubic-bezier(.4, 0, .2, 1), opacity .3s ease-in-out, transform .3s ease-in-out;
  overflow: hidden;
  transform: translateY(-10px);
}

@media (width < 768px) {
  .p-recovery .p-recovery-banner__products {
    margin-top: 30px;
    max-width: 393px;
    margin-inline: auto;
  }
}

@media (width >= 768px) {
  .p-recovery .p-recovery-banner__products {
    margin-top: 26px;
    max-width: 980px;
    margin-inline: auto;
  }
}

.p-recovery .p-recovery-banner__products.is-open {
  opacity: 1;
  transform: translateY(0);
}

@media (width < 768px) {
  .p-recovery .p-recovery-banner__products.is-open {
    max-height: 800px;
  }
}

@media (width >= 768px) {
  .p-recovery .p-recovery-banner__products.is-open {
    max-height: 600px;
  }
}

.p-recovery .p-recovery-banner__products-baloon {
  background-color: #fff;
  border: 1px solid #000;
  border-radius: 12px;
  width: 100%;
  margin-top: 20px;
  display: inline-block;
  position: relative;
}

@media (width < 768px) {
  .p-recovery .p-recovery-banner__products-baloon {
    padding-top: 14px;
    padding-bottom: 30px;
  }
}

@media (width >= 768px) {
  .p-recovery .p-recovery-banner__products-baloon {
    padding-top: 15px;
    padding-bottom: 40px;
  }
}

.p-recovery .p-recovery-banner__products-baloon:before {
  content: "";
  border: 11px solid #0000;
  border-top-width: 0;
  border-bottom: 20px solid #000;
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -100%;
}

.p-recovery .p-recovery-banner__products-baloon:after {
  content: "";
  border: 9.9px solid #0000;
  border-top-width: 0;
  border-bottom: 17.9px solid #fff;
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -100%;
}

.p-recovery .p-recovery-banner__products-heading {
  justify-content: center;
  align-items: center;
  column-gap: 16px;
  display: flex;
}

@media (width < 768px) {
  .p-recovery .p-recovery-banner__products-heading {
    margin-right: 30px;
  }
}

.p-recovery .p-recovery-banner__products-heading span {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.66667;
  display: inline-block;
}

.p-recovery .p-recovery-banner__products-title {
  font-family: Barlow Semi Condensed, sans-serif;
  font-weight: 600;
}

@media (width < 768px) {
  .p-recovery .p-recovery-banner__products-title {
    font-size: 2rem;
    line-height: 1.2;
  }
}

@media (width >= 768px) {
  .p-recovery .p-recovery-banner__products-title {
    font-size: 2.4rem;
    line-height: 1.20833;
  }
}

.p-recovery .p-recovery-banner__products-list {
  flex-wrap: wrap;
  justify-content: center;
  display: flex;
}

@media (width < 768px) {
  .p-recovery .p-recovery-banner__products-list {
    margin-top: 13px;
    justify-content: left;
    gap: 22px 16px;
    max-width: 275px;
    margin-inline: auto;
  }
}

@media (width >= 768px) {
  .p-recovery .p-recovery-banner__products-list {
    column-gap: 75px;
    margin-top: 24px;
  }
}

.p-recovery .p-recovery-banner__products-item {
  text-align: center;
}

.p-recovery .p-recovery-banner__products-link {
  display: block;
}

.p-recovery .p-recovery-banner__products-link .c-product__tag {
  display: inline-block;
}

@media (width < 768px) {
  .p-recovery .p-recovery-banner__products-link .c-product__tag {
    margin-top: 8px;
    padding: 3px 7px;
    font-size: .9rem;
    line-height: 1;
  }
}

@media (width >= 768px) {
  .p-recovery .p-recovery-banner__products-link .c-product__tag {
    margin-top: 6px;
  }
}

@media (width < 768px) {
  .p-recovery .p-recovery-banner__products-link .c-btn {
    letter-spacing: .03em;
    margin-top: 6px;
    padding: 3px 16px 3px 12px;
    font-size: .9rem;
    line-height: 1;
  }

  .p-recovery .p-recovery-banner__products-link .c-btn:after {
    width: 4px;
    height: 8px;
    right: 8px;
  }
}

@media (width >= 768px) {
  .p-recovery .p-recovery-banner__products-link .c-btn {
    margin-top: 8px;
  }

  .p-recovery .p-recovery-banner__products-link:hover .c-btn {
    color: #fff;
    background-color: #848484;
    border-color: #848484;
  }
}

.p-recovery .p-recovery-banner__products-image {
  margin-inline: auto;
}

@media (width < 768px) {
  .p-recovery .p-recovery-banner__products-image {
    width: 38px;
    height: auto;
  }
}

@media (width >= 768px) {
  .p-recovery .p-recovery-banner__products-image {
    width: 51px;
    height: auto;
  }
}

.p-recovery .p-recovery-banner__products-image img {
  width: 100%;
  height: auto;
  display: block;
}

.p-recovery .p-recovery-banner__products-name {
  font-weight: 700;
}

@media (width < 768px) {
  .p-recovery .p-recovery-banner__products-name {
    margin-top: 7px;
    font-size: 1rem;
    line-height: 1.6;
  }
}

@media (width >= 768px) {
  .p-recovery .p-recovery-banner__products-name {
    margin-top: 7px;
    font-size: 1.4rem;
    line-height: 1.57143;
  }
}

.p-recovery-scene-about {
  z-index: 1;
  position: relative;
}

@media (width < 768px) {
  .p-recovery-scene-about {
    margin-top: 42px;
  }
}

@media (width >= 768px) {
  .p-recovery-scene-about {
    margin-top: 96px;
  }
}

.p-recovery-scene-about__list {
  flex-direction: column;
  row-gap: 80px;
  display: flex;
}

@media (width >= 768px) {
  .p-recovery-scene-about__list {
    row-gap: 120px;
  }
}

.p-recovery-scene-about__item {
  display: flex;
}

@media (width < 768px) {
  .p-recovery-scene-about__item {
    flex-direction: column;
    column-gap: 16px;
  }
}

@media (width >= 768px) {
  .p-recovery-scene-about__item {
    column-gap: 40px;
  }
}

@media (width < 768px) {
  .p-recovery-scene-about__img {
    order: 2;
    width: 100%;
    height: auto;
    margin-top: 12px;
  }
}

@media (width >= 768px) {
  .p-recovery-scene-about__img {
    flex-shrink: 0;
    width: 50%;
    height: auto;
  }
}

.p-recovery-scene-about__img img {
  width: 100%;
  height: auto;
  display: block;
}

@media (width < 768px) {
  .p-recovery-scene-about__content {
    display: contents;
  }
}

.p-recovery-scene-about__title {
  font-weight: 700;
}

@media (width < 768px) {
  .p-recovery-scene-about__title {
    order: 1;
    font-size: 2.4rem;
    line-height: 1.41667;
  }
}

@media (width >= 768px) {
  .p-recovery-scene-about__title {
    font-size: 3.2rem;
    line-height: 1.4375;
  }
}

.p-recovery-scene-about__box {
  border: 1px solid #000;
  margin-right: auto;
  padding: 2px 8px;
  font-weight: 500;
  display: inline-block;
}

@media (width < 768px) {
  .p-recovery-scene-about__box {
    order: 3;
    margin-top: 20px;
    font-size: 1.2rem;
    line-height: 1.33333;
  }
}

@media (width >= 768px) {
  .p-recovery-scene-about__box {
    margin-top: 24px;
    font-size: 1.4rem;
    line-height: 1.28571;
  }
}

.p-recovery-scene-about__link-list {
  flex-direction: column;
  display: flex;
}

@media (width < 768px) {
  .p-recovery-scene-about__link-list {
    order: 4;
    row-gap: 16px;
    margin-top: 16px;
  }
}

@media (width >= 768px) {
  .p-recovery-scene-about__link-list {
    row-gap: 12px;
    margin-top: 12px;
  }
}

@media (width < 768px) {
  .p-recovery-scene-about__link-item {
    flex-direction: column;
    row-gap: 8px;
    display: flex;
  }
}

@media (width >= 768px) {
  .p-recovery-scene-about__link-item {
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    display: flex;
  }
}

.p-recovery-scene-about__link {
  flex-shrink: 0;
}

.p-recovery-scene-about__link a {
  color: #000;
  letter-spacing: -.04em;
  font-weight: 600;
  transition: all .3s;
  display: inline-block;
  position: relative;
}

@media (width < 768px) {
  .p-recovery-scene-about__link a {
    font-size: 1.4rem;
    line-height: 1.5;
  }
}

@media (width >= 768px) {
  .p-recovery-scene-about__link a {
    font-size: 1.6rem;
    line-height: 1.5;
  }
}

.p-recovery-scene-about__link a:after {
  content: "";
  background-color: currentColor;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 1px;
  left: 0;
}

@media (width >= 768px) {
  .p-recovery-scene-about__link a:hover {
    opacity: .7;
  }
}

.p-recovery-scene-about__btn {
  display: block;
}

.p-recovery-scene-about__btn a {
  display: inline-block;
}

@media (width >= 768px) {
  .p-recovery-scene-about__btn a:hover .c-btn {
    color: #fff;
    background-color: #848484;
    border-color: #848484;
  }
}

@media (width < 768px) {
  .p-recovery-scene-about__text {
    order: 5;
    margin-top: 24px;
  }
}

@media (width >= 768px) {
  .p-recovery-scene-about__text {
    margin-top: 44px;
  }
}

.p-recovery-scene-about__text p {
  font-weight: 600;
}

@media (width < 768px) {
  .p-recovery-scene-about__text p {
    font-size: 1.4rem;
    line-height: 2.14286;
  }
}

@media (width >= 768px) {
  .p-recovery-scene-about__text p {
    font-size: 1.6rem;
    line-height: 2.125;
  }
}

.p-recovery-scene-items {
  z-index: 1;
  position: relative;
}

@media (width < 768px) {
  .p-recovery-scene-items {
    margin-top: 120px;
  }
}

@media (width >= 768px) {
  .p-recovery-scene-items {
    margin-top: 116px;
  }
}

.p-recovery-scene-items__list {
  flex-wrap: wrap;
  display: flex;
}

@media (width < 768px) {
  .p-recovery-scene-items__list {
    gap: 64px 19px;
    margin-top: 40px;
  }
}

@media (width >= 768px) {
  .p-recovery-scene-items__list {
    justify-content: flex-start;
    gap: 64px 86px;
    margin-top: 54px;
  }
}

.p-recovery-scene-items__list.no-result:after {
  content: "該当するアイテムがありません";
  font-weight: 500;
  display: block;
}

@media (width < 768px) {
  .p-recovery-scene-items__list.no-result:after {
    font-size: 1.6rem;
    line-height: 1.1875;
  }
}

@media (width >= 768px) {
  .p-recovery-scene-items__list.no-result:after {
    font-size: 2rem;
    line-height: 1.3;
  }
}

@media (width < 768px) {
  .p-recovery-scene-items__item {
    width: calc(50% - 9.5px);
  }
}

@media (width >= 768px) {
  .p-recovery-scene-items__item {
    width: 180px;
  }
}

.p-recovery-scene-mv {
  width: 100%;
  position: relative;
}

.p-recovery-scene-mv__img {
  width: 100%;
}

.p-recovery-scene-mv__img img {
  width: 100%;
  height: auto;
  display: block;
}

.p-recovery-scene-mv__inner {
  background-color: #6fac71;
}

@media (width < 768px) {
  .p-recovery-scene-mv__inner {
    padding-top: 12px;
    padding-bottom: 16px;
  }
}

@media (width >= 768px) {
  .p-recovery-scene-mv__inner {
    padding-block: 14px;
  }
}

.p-recovery-scene-mv__heading {
  justify-content: center;
  align-items: center;
  display: flex;
}

@media (width < 768px) {
  .p-recovery-scene-mv__heading {
    flex-direction: column;
    row-gap: 8px;
  }
}

@media (width >= 768px) {
  .p-recovery-scene-mv__heading {
    letter-spacing: .04em;
    column-gap: 40px;
  }
}

.p-recovery-scene-mv__heading span {
  font-family: Barlow Semi Condensed, sans-serif;
  font-weight: 600;
}

@media (width < 768px) {
  .p-recovery-scene-mv__heading span {
    font-size: 1.6rem;
    line-height: 1.3125;
  }
}

@media (width >= 768px) {
  .p-recovery-scene-mv__heading span {
    font-size: 2.4rem;
    line-height: 1.20833;
  }
}

.p-recovery-scene-mv__heading h1 {
  font-weight: 700;
}

@media (width < 768px) {
  .p-recovery-scene-mv__heading h1 {
    font-size: 2rem;
    line-height: 1.1;
  }
}

@media (width >= 768px) {
  .p-recovery-scene-mv__heading h1 {
    font-size: 4rem;
    line-height: 1.45;
  }
}

@media (width < 768px) {
  .p-recovery-scene-page-nav {
    margin-top: 26px;
  }
}

@media (width >= 768px) {
  .p-recovery-scene-page-nav {
    margin-top: 54px;
  }
}

.p-recovery-scene-page-nav__list {
  justify-content: space-between;
  display: flex;
}

.p-recovery-scene-page-nav__link {
  display: block;
}

.p-recovery-scene-page-nav__link[href=""] {
  pointer-events: none;
}

.p-recovery-scene-page-nav__link[href=""] .c-btn {
  color: #848484;
  border-color: #848484;
}

.p-recovery-scene-page-nav__link .c-btn {
  letter-spacing: .1em;
  font-weight: 700;
}

@media (width < 768px) {
  .p-recovery-scene-page-nav__link .c-btn {
    padding: 2px 28px 2px 16px;
  }
}

@media (width >= 768px) {
  .p-recovery-scene-page-nav__link .c-btn {
    padding: 2px 37px 2px 16px;
    font-size: 1.4rem;
    line-height: 1.5;
  }
}

.p-recovery-scene-page-nav__link .c-btn:after {
  right: 16px;
}

@media (width < 768px) {
  .p-recovery-scene-page-nav__link .c-btn--prev {
    padding: 2px 16px 2px 28px;
  }
}

@media (width >= 768px) {
  .p-recovery-scene-page-nav__link .c-btn--prev {
    padding: 2px 16px 2px 37px;
  }
}

.p-recovery-scene-page-nav__link .c-btn--prev:after {
  left: 16px;
}

.p-recovery-scene-page-nav__en {
  letter-spacing: 0;
  margin-right: 4px;
  font-family: Barlow Semi Condensed, sans-serif;
  font-weight: 600;
}

.p-recovery-scene-search {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  align-items: center;
  display: flex;
}

@media (width < 768px) {
  .p-recovery-scene-search {
    padding-top: 14px;
    padding-bottom: 22px;
    flex-direction: column;
    row-gap: 16px;
    margin-top: 40px;
    padding-inline: 30px;
  }
}

@media (width >= 768px) {
  .p-recovery-scene-search {
    column-gap: 60px;
    margin-top: 40px;
    padding-top: 24px;
    padding-bottom: 24px;
    padding-left: 33px;
  }
}

.p-recovery-scene-search__text {
  font-weight: 700;
}

@media (width < 768px) {
  .p-recovery-scene-search__text {
    font-size: 1.6rem;
    line-height: 1.1875;
  }
}

@media (width >= 768px) {
  .p-recovery-scene-search__text {
    font-size: 2rem;
    line-height: 1.3;
  }
}

.p-recovery-scene-search__main {
  flex-direction: column;
  display: flex;
}

@media (width < 768px) {
  .p-recovery-scene-search__main {
    row-gap: 12px;
  }
}

@media (width >= 768px) {
  .p-recovery-scene-search__main {
    row-gap: 16px;
    max-width: 500px;
  }
}

.p-recovery-scene-search__list {
  flex-wrap: wrap;
  gap: 12px 16px;
  display: flex;
}

@media (width < 768px) {
  .p-recovery-scene-search__list {
    justify-content: center;
  }
}

@media (width >= 768px) {
  .p-recovery-scene-search__list {
    row-gap: 16px;
  }
}

.p-recovery-scene-search__list--gender .p-recovery-scene-search__item a {
  background-color: #cacaca;
  font-family: Barlow Semi Condensed, sans-serif;
  position: relative;
}

@media (width < 768px) {
  .p-recovery-scene-search__list--gender .p-recovery-scene-search__item a {
    padding-right: 28px;
  }
}

@media (width >= 768px) {
  .p-recovery-scene-search__list--gender .p-recovery-scene-search__item a {
    padding-right: 36px;
  }
}

.p-recovery-scene-search__list--gender .p-recovery-scene-search__item a:before, .p-recovery-scene-search__list--gender .p-recovery-scene-search__item a:after {
  content: "";
  background-color: #000;
  height: 1px;
  position: absolute;
  top: 50%;
}

@media (width < 768px) {
  .p-recovery-scene-search__list--gender .p-recovery-scene-search__item a:before, .p-recovery-scene-search__list--gender .p-recovery-scene-search__item a:after {
    width: 12px;
    right: 8px;
  }
}

@media (width >= 768px) {
  .p-recovery-scene-search__list--gender .p-recovery-scene-search__item a:before, .p-recovery-scene-search__list--gender .p-recovery-scene-search__item a:after {
    width: 16px;
    right: 13px;
  }
}

.p-recovery-scene-search__list--gender .p-recovery-scene-search__item a:before {
  transform: rotate(45deg);
}

.p-recovery-scene-search__list--gender .p-recovery-scene-search__item a:after {
  transform: rotate(-45deg);
}

.p-recovery-scene-search__item span {
  cursor: pointer;
  border: 1px solid #000;
  border-radius: 3.40282e38px;
  font-weight: 700;
  transition: background-color .3s;
  display: flex;
}

@media (width < 768px) {
  .p-recovery-scene-search__item span {
    padding-block: 1px;
    padding-inline: 13px;
    font-size: 1.4rem;
    line-height: 1.5;
  }
}

@media (width >= 768px) {
  .p-recovery-scene-search__item span {
    padding-inline: 15px;
    font-size: 1.6rem;
    line-height: 1.625;
  }

  .p-recovery-scene-search__item span:hover {
    background-color: #cacaca;
  }
}

.p-recovery-scene-search__item span.is-current {
  background-color: #cacaca;
  position: relative;
}

@media (width < 768px) {
  .p-recovery-scene-search__item span.is-current {
    padding-right: 28px;
  }
}

@media (width >= 768px) {
  .p-recovery-scene-search__item span.is-current {
    padding-right: 36px;
  }
}

.p-recovery-scene-search__item span.is-current:before, .p-recovery-scene-search__item span.is-current:after {
  content: "";
  background-color: #000;
  height: 1px;
  position: absolute;
  top: 50%;
}

@media (width < 768px) {
  .p-recovery-scene-search__item span.is-current:before, .p-recovery-scene-search__item span.is-current:after {
    width: 12px;
    right: 8px;
  }
}

@media (width >= 768px) {
  .p-recovery-scene-search__item span.is-current:before, .p-recovery-scene-search__item span.is-current:after {
    width: 16px;
    right: 13px;
  }
}

.p-recovery-scene-search__item span.is-current:before {
  transform: rotate(45deg);
}

.p-recovery-scene-search__item span.is-current:after {
  transform: rotate(-45deg);
}

.p-recovery-scene-search__item--en {
  font-family: Barlow Semi Condensed, sans-serif;
}

.p-recovery-scene-search__item--en span {
  font-weight: 600;
}

.p-recovery-scene {
  background-color: #fff;
}

.p-recovery-scene__sticky {
  z-index: 1;
  position: relative;
}

@media (width < 768px) {
  .p-recovery-scene__sticky {
    padding-bottom: 92px;
  }
}

@media (width >= 768px) {
  .p-recovery-scene__sticky {
    padding-bottom: 116px;
  }
}

.p-recovery-scene__bg-area {
  z-index: -1;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.p-recovery-scene__bg {
  will-change: transform;
  width: 100%;
  height: 100vh;
  position: sticky;
  top: 0;
  overflow: hidden;
}

.p-recovery-scene__bg img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

@media (width < 768px) {
  .p-recovery-scene .p-recovery-review {
    margin-top: 80px;
    padding-bottom: 120px;
  }
}

@media (width >= 768px) {
  .p-recovery-scene .p-recovery-review {
    margin-top: 204px;
    padding-bottom: 185px;
  }
}

.p-recovery-top-effects {
  overflow: hidden;
}

@media (width < 768px) {
  .p-recovery-top-effects .c-heading {
    padding-left: 8px;
  }
}

.p-recovery-top-effects__main {
  position: relative;
}

@media (width < 768px) {
  .p-recovery-top-effects__main {
    height: 119.847vw;
  }
}

@media (width >= 768px) {
  .p-recovery-top-effects__main {
    height: 604px;
  }
}

.p-recovery-top-effects__item {
  letter-spacing: .07em;
  z-index: 1;
  border: 1px solid #000;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  display: flex;
  position: absolute;
}

@media (width < 768px) {
  .p-recovery-top-effects__item {
    width: 36.3868vw;
    height: 36.3868vw;
    font-size: 6.10687vw;
    line-height: 7.12468vw;
  }
}

@media (width >= 768px) {
  .p-recovery-top-effects__item {
    width: 252px;
    height: 252px;
    font-size: 4rem;
    line-height: 1.15;
  }
}

@media (width < 768px) {
  .p-recovery-top-effects__item--blood {
    top: 54.7074vw;
    right: calc(50% - 2.79898vw);
  }
}

@media (width >= 768px) {
  .p-recovery-top-effects__item--blood {
    top: 174px;
    right: calc(50% - 65px);
  }
}

.p-recovery-top-effects__item--blood .p-recovery-top-effects__item-area {
  transform: rotate(-110deg);
}

@media (width < 768px) {
  .p-recovery-top-effects__item--fatigue {
    top: 35.369vw;
    left: calc(50% - 10.1781vw);
  }
}

@media (width >= 768px) {
  .p-recovery-top-effects__item--fatigue {
    top: 48px;
    left: calc(50% - 16px);
  }
}

.p-recovery-top-effects__item--fatigue .p-recovery-top-effects__item-area {
  transform: rotate(-20deg);
}

@media (width < 768px) {
  .p-recovery-top-effects__item--stiff {
    top: 65.3944vw;
    left: calc(50% - 4.58015vw);
  }
}

@media (width >= 768px) {
  .p-recovery-top-effects__item--stiff {
    top: 246px;
    left: calc(50% - 3px);
  }
}

.p-recovery-top-effects__item--stiff .p-recovery-top-effects__item-area {
  transform: rotate(70deg);
}

.p-recovery-top-effects__item-area {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.p-recovery-top-effects__dot {
  transform-origin: bottom;
  height: 50%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.p-recovery-top-effects__dot:before {
  content: "";
  background-color: #000;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media (width < 768px) {
  .p-recovery-top-effects__dot:before {
    width: 6px;
    height: 6px;
  }
}

@media (width >= 768px) {
  .p-recovery-top-effects__dot:before {
    width: 8px;
    height: 8px;
  }
}

.p-recovery-top-effects__bg {
  opacity: 0;
  transform-origin: 40% 58%;
  transition: all 2s;
  position: absolute;
}

@media (width < 768px) {
  .p-recovery-top-effects__bg {
    width: 98.9822vw;
    height: 98.9822vw;
    top: 8.6514vw;
    left: calc(50% - 38.6768vw);
  }
}

@media (width >= 768px) {
  .p-recovery-top-effects__bg {
    width: 718px;
    height: 718px;
    top: -134px;
    left: calc(50% - 227px);
  }
}

.p-recovery-top-effects__bg img {
  width: 100%;
  height: auto;
  display: block;
}

.p-recovery-top-effects__bg.is-active {
  opacity: 1;
}

@keyframes bg-rotation {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}

.p-recovery-top-effects__desc {
  position: absolute;
}

@media (width < 768px) {
  .p-recovery-top-effects__desc {
    border-bottom: 1px solid #000;
    width: 31.0433vw;
    padding-bottom: 2.03562vw;
    top: 11.7048vw;
    left: 8.14249vw;
  }
}

@media (width >= 768px) {
  .p-recovery-top-effects__desc {
    padding-bottom: 6px;
    border-bottom: 1px solid #000;
    width: 165px;
    padding-inline: 10px;
    top: 64px;
    right: calc(50% + 115px);
  }
}

.p-recovery-top-effects__desc:after {
  content: "";
  background-color: #000;
  height: 1px;
  position: absolute;
}

@media (width < 768px) {
  .p-recovery-top-effects__desc:after {
    transform-origin: 0 100%;
    width: 27.9898vw;
    bottom: -1px;
    left: 0;
    transform: rotate(52deg);
  }
}

@media (width >= 768px) {
  .p-recovery-top-effects__desc:after {
    transform-origin: 100% 100%;
    width: 40px;
    bottom: 0;
    right: 0;
    transform: rotate(-135deg);
  }
}

.p-recovery-top-effects__desc p {
  font-weight: 700;
}

@media (width < 768px) {
  .p-recovery-top-effects__desc p {
    font-size: 5.08906vw;
    line-height: 6.61578vw;
  }
}

@media (width >= 768px) {
  .p-recovery-top-effects__desc p {
    font-size: 2.4rem;
    line-height: 1.45833;
  }
}

.p-recovery-top-gift {
  border-top: 4px solid #000;
  border-bottom: 4px solid #000;
}

@media (width < 768px) {
  .p-recovery-top-gift {
    margin-top: 122px;
    padding-top: 4px;
    padding-bottom: 8px;
  }
}

@media (width >= 768px) {
  .p-recovery-top-gift {
    margin-top: 178px;
    padding-top: 4px;
    padding-bottom: 8px;
  }
}

.p-recovery-top-gift__inner {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  position: relative;
}

@media (width < 768px) {
  .p-recovery-top-gift__inner {
    padding: 16px 0;
  }
}

@media (width >= 768px) {
  .p-recovery-top-gift__inner {
    padding-top: 32px;
    padding-bottom: 37px;
    padding-left: 8.16327%;
  }
}

@media (width < 768px) {
  .p-recovery-top-gift__content {
    max-width: 313px;
    margin: 0 auto;
  }
}

.p-recovery-top-gift__title {
  font-family: Barlow Semi Condensed, sans-serif;
  font-weight: 600 !important;
}

@media (width < 768px) {
  .p-recovery-top-gift__title {
    padding-left: 8px;
    font-size: 4rem;
    line-height: 1.2;
  }
}

@media (width >= 768px) {
  .p-recovery-top-gift__title {
    font-size: 4.8rem;
    line-height: 1.20833;
  }
}

.p-recovery-top-gift__lead {
  letter-spacing: .05em;
  font-weight: 700;
}

@media (width < 768px) {
  .p-recovery-top-gift__lead {
    margin-top: 12px;
    padding-left: 8px;
    font-size: 2.4rem;
    line-height: 1.33333;
  }
}

@media (width >= 768px) {
  .p-recovery-top-gift__lead {
    margin-top: 5px;
    font-size: 2.4rem;
    line-height: 1.83333;
  }
}

@media (width < 768px) {
  .p-recovery-top-gift__text {
    margin-top: 12px;
    padding-left: 8px;
    font-size: 1.4rem;
    line-height: 1.71429;
  }
}

@media (width >= 768px) {
  .p-recovery-top-gift__text {
    margin-top: 8px;
    font-size: 1.4rem;
    line-height: 1.71429;
  }
}

.p-recovery-top-gift__btn {
  color: #000;
  padding-block: 15px;
  background-color: #fff;
  border: 1px solid #000;
  border-radius: 12px;
  justify-content: space-between;
  align-items: center;
  width: 313px;
  padding-left: 23px;
  padding-right: 26px;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.46154;
  transition: all .3s;
  display: inline-flex;
  position: relative;
}

@media (width < 768px) {
  .p-recovery-top-gift__btn {
    margin-top: 34px;
    z-index: 1;
    margin-inline: auto;
    padding-block: 15px;
    display: flex;
  }
}

@media (width >= 768px) {
  .p-recovery-top-gift__btn {
    margin-top: 20px;
  }

  .p-recovery-top-gift__btn:hover {
    color: #fff;
    background-color: #848484;
    border-color: #848484;
  }
}

.p-recovery-top-gift__btn-icon {
  width: 24px;
  height: 24px;
}

.p-recovery-top-gift__btn-icon svg {
  width: 100%;
  height: auto;
  display: block;
}

.p-recovery-top-gift__btn-icon svg path {
  stroke: currentColor;
}

.p-recovery-top-gift__img {
  display: block;
  position: absolute;
}

@media (width < 768px) {
  .p-recovery-top-gift__img {
    width: 174px;
    height: auto;
    bottom: 72px;
    left: calc(50% + 6px);
  }
}

@media (width >= 768px) {
  .p-recovery-top-gift__img {
    width: 306px;
    height: auto;
    bottom: 0;
    right: 8.36735%;
  }
}

.p-recovery-top-gift__img img {
  width: 100%;
  height: auto;
  display: block;
}

.p-recovery-top-intro {
  margin-top: 80px;
}

@media (width >= 768px) {
  .p-recovery-top-intro {
    margin-top: 110px;
    padding-top: 50px;
  }
}

.p-recovery-top-intro__wrapper {
  background-image: url("../img/intro_bg_sp.jpg");
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover;
}

@media (width >= 768px) {
  .p-recovery-top-intro__wrapper {
    background-image: url("../img/intro_bg.jpg");
  }
}

.p-recovery-top-intro__inner {
  text-align: center;
  padding-top: 82px;
  padding-inline: 8.14249%;
  padding-bottom: 77px;
}

@media (width >= 768px) {
  .p-recovery-top-intro__inner {
    padding-inline: 20px;
    max-width: 1020px;
    margin: 0 auto;
    padding-top: 160px;
    padding-bottom: 82px;
  }
}

.p-recovery-top-intro__title {
  margin: 0 auto;
}

@media (width < 768px) {
  .p-recovery-top-intro__title {
    max-width: 313px;
  }
}

@media (width >= 768px) {
  .p-recovery-top-intro__title {
    width: 612px;
  }
}

.p-recovery-top-intro__title img {
  width: 100%;
  height: auto;
  display: block;
}

.p-recovery-top-intro__lead {
  margin-top: 40px;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.45833;
}

@media (width >= 768px) {
  .p-recovery-top-intro__lead {
    margin-top: 80px;
    font-size: 4rem;
    line-height: 1.45;
  }
}

.p-recovery-top-intro__text {
  margin-top: 24px;
  font-size: 1.4rem;
  line-height: 2.14286;
}

@media (width >= 768px) {
  .p-recovery-top-intro__text {
    margin-top: 31px;
    font-size: 2rem;
    line-height: 2.35;
  }
}

.p-recovery-top-intro__list {
  margin-top: 84px;
  display: flex;
}

@media (width < 768px) {
  .p-recovery-top-intro__list {
    max-width: 375px;
    margin-inline: auto;
    padding-inline: 12px;
  }
}

@media (width >= 768px) {
  .p-recovery-top-intro__list {
    justify-content: center;
    column-gap: 64px;
    margin-top: 120px;
  }
}

.p-recovery-top-intro__item {
  text-align: center;
}

@media (width >= 768px) {
  .p-recovery-top-intro__item {
    width: 240px;
  }
}

.p-recovery-top-intro__item:first-of-type .p-recovery-top-scene__logo {
  width: 73px;
  margin-top: 32px;
  margin-bottom: 30px;
}

@media (width >= 768px) {
  .p-recovery-top-intro__item:first-of-type .p-recovery-top-scene__logo {
    width: 124px;
  }
}

.p-recovery-top-intro__item:nth-of-type(2) .p-recovery-top-scene__logo {
  width: 75px;
  margin-top: 24px;
  margin-bottom: 17px;
}

@media (width >= 768px) {
  .p-recovery-top-intro__item:nth-of-type(2) .p-recovery-top-scene__logo {
    width: 75px;
  }
}

.p-recovery-top-intro__item:nth-of-type(3) .p-recovery-top-scene__logo {
  width: 50px;
  margin-top: 16px;
  margin-bottom: 15px;
}

@media (width >= 768px) {
  .p-recovery-top-intro__item:nth-of-type(3) .p-recovery-top-scene__logo {
    width: 50px;
  }
}

@media (width < 768px) {
  .p-recovery-top-intro__item:not(:first-child) {
    border-left: 1px solid #848484;
    padding-left: 16px;
  }

  .p-recovery-top-intro__item:not(:last-child) {
    margin-right: auto;
    padding-right: 12px;
  }
}

.p-recovery-top-intro__link {
  z-index: 1;
  position: relative;
}

.p-recovery-top-intro__link[href=""] {
  pointer-events: none;
}

.p-recovery-top-intro__link[href=""] .p-recovery-top-scene {
  color: #848484;
}

.p-recovery-top-intro__link[href=""] .p-recovery-top-scene__link {
  font-family: Barlow Semi Condensed, sans-serif;
}

@media (width >= 768px) {
  .p-recovery-top-intro__link[href=""] .p-recovery-top-scene__link {
    letter-spacing: .05em;
    font-size: 2rem;
    line-height: 1.1;
  }

  .p-recovery-top-intro__link:hover .p-recovery-top-scene__icon {
    background: #fff3;
    border-color: #fff;
  }
}

.p-recovery-top-mv {
  width: 100%;
  position: relative;
}

@media (width >= 768px) {
  .p-recovery-top-mv {
    padding-bottom: 3.47222vw;
  }
}

@media (width < 768px) {
  .p-recovery-top-mv__inner {
    background: #6fac7126;
    padding-top: 24px;
    padding-bottom: 40px;
    padding-left: 40px;
  }
}

@media (width >= 768px) {
  .p-recovery-top-mv__inner {
    z-index: 1;
    padding-top: 3.68056vw;
    width: 100%;
    height: 100%;
    padding-inline: 6.94444vw;
    position: absolute;
    top: 0;
    left: 0;
  }
}

@media (width < 768px) {
  .p-recovery-top-mv__desc {
    padding-left: 52px;
    font-size: 1.2rem;
    line-height: 1.41667;
  }
}

@media (width >= 768px) {
  .p-recovery-top-mv__desc {
    font-size: 1.11111vw;
    font-weight: 400;
  }
}

.p-recovery-top-mv__lead {
  font-weight: 700;
}

@media (width < 768px) {
  .p-recovery-top-mv__lead {
    width: 282px;
    margin-top: 18px;
    padding-left: 52px;
    font-size: 3.2rem;
    line-height: 1.25;
  }
}

@media (width >= 768px) {
  .p-recovery-top-mv__lead {
    width: 31.4583vw;
    margin-top: 1.94444vw;
    font-size: 4.44444vw;
    line-height: 1.4;
  }
}

.p-recovery-top-mv__lead img {
  width: 100%;
  height: auto;
  display: block;
}

.p-recovery-top-mv__logo {
  position: absolute;
}

@media (width < 768px) {
  .p-recovery-top-mv__logo {
    width: 56px;
    bottom: 104px;
    left: 8px;
  }
}

@media (width >= 768px) {
  .p-recovery-top-mv__logo {
    width: 79.1667vw;
    bottom: 0;
    left: 6.94444vw;
  }
}

.p-recovery-top-mv__logo img {
  width: 100%;
  height: auto;
  display: block;
}

.p-recovery-top-mv__carousel {
  width: 100%;
  height: auto;
  display: block;
  position: relative;
}

.p-recovery-top-mv__carousel .splide__slide img {
  width: 100%;
  height: auto;
  display: block;
}

@media (width >= 768px) {
  .p-recovery-top-mv__carousel .splide__slide:nth-child(2) {
    display: none;
  }

  .p-recovery-top-mv__carousel .splide__track {
    transform: none;
  }
}

@media (width < 768px) {
  .p-recovery-top-mv__text {
    letter-spacing: .14em;
    margin-top: 32px;
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1.53846;
  }

  .p-recovery-top-mv__label {
    color: #fff;
    letter-spacing: .08em;
    border: 1px solid #fff;
    padding: 4px 15px;
    font-size: .9rem;
    font-weight: 700;
    line-height: 1.33333;
    position: absolute;
    bottom: 11px;
    right: 13px;
  }
}

@media (width >= 768px) {
  .p-recovery-top-mv__label {
    display: none;
  }
}

.p-recovery-top-pickup {
  margin-top: 100px;
}

@media (width >= 768px) {
  .p-recovery-top-pickup {
    margin-top: 116px;
    overflow: hidden;
  }
}

@media (width < 768px) {
  .p-recovery-top-pickup__inner {
    padding-inline: 40px;
  }
}

@media (width >= 768px) {
  .p-recovery-top-pickup__inner {
    max-width: 902px;
    margin: 0 auto;
    padding-inline: 40px;
  }
}

.p-recovery-top-pickup__head {
  text-align: center;
}

.p-recovery-top-pickup__title {
  border-bottom: 1px solid #000;
  padding-bottom: 7px;
  font-family: Barlow Semi Condensed, sans-serif;
  font-size: 2.4rem;
  line-height: 1.20833;
  display: inline-block;
  font-weight: 600 !important;
}

@media (width < 768px) {
  .p-recovery-top-pickup__title {
    letter-spacing: .1em;
  }
}

@media (width >= 768px) {
  .p-recovery-top-pickup__title {
    padding-bottom: 12px;
    font-size: 4rem;
    line-height: 1.2;
  }
}

.p-recovery-top-pickup__slider {
  margin-top: 32px;
}

@media (width >= 768px) {
  .p-recovery-top-pickup__slider {
    margin-top: 66px;
  }
}

.p-recovery-top-pickup__slider .splide {
  padding-bottom: 54px;
}

@media (width >= 768px) {
  .p-recovery-top-pickup__slider .splide {
    padding-bottom: 72px;
  }
}

.p-recovery-top-pickup__slider .splide__slide {
  width: calc(50% - 9.5px);
}

@media (width >= 768px) {
  .p-recovery-top-pickup__slider .splide__slide {
    width: calc(33.3333% - 53.3333px);
  }
}

.p-recovery-top-pickup__slider .splide__slide img {
  width: 100%;
  height: auto;
  display: block;
}

.p-recovery-top-pickup__slider .splide__arrow--prev {
  left: -110px;
}

.p-recovery-top-pickup__slider .splide__arrow--next {
  right: -110px;
}

@media (width >= 768px) {
  .p-recovery-top-pickup__slider .splide__arrow svg {
    stroke: #000;
    fill: none;
    width: 14px;
    height: 28px;
  }
}

.p-recovery-top-pickup__slider .splide__pagination {
  align-items: center;
  column-gap: 16px;
  display: flex;
  bottom: 0;
}

.p-recovery-top-pickup__slider .splide__pagination button {
  opacity: .4;
  background-color: #d9d9d9;
  border-radius: 50%;
  width: 10px;
  height: 10px;
  margin: 0;
}

.p-recovery-top-pickup__slider .splide__pagination button.is-active {
  opacity: 1;
  transform: scale(1);
}

.p-recovery-top-pickup__all {
  margin-top: 40px;
  border: 1px solid #000;
  border-radius: 3.40282e38px;
  justify-content: center;
  align-items: center;
  column-gap: 19px;
  width: 313px;
  margin-inline: auto;
  padding-block: 16px;
  font-size: 1.6rem;
  line-height: 1.5;
  display: none;
}

@media (width >= 768px) {
  .p-recovery-top-pickup__all {
    display: none;
  }
}

.p-recovery-top-pickup__arrow {
  width: 12px;
  height: 6px;
  display: block;
}

.p-recovery-top-pickup__arrow svg {
  width: 100%;
  height: 100%;
  display: block;
}

.p-recovery-top-scene {
  color: #000;
}

@media (width < 768px) {
  .p-recovery-top-scene {
    text-align: left;
  }
}

@media (width >= 768px) {
  .p-recovery-top-scene__head {
    text-align: center;
    border-bottom: 1px solid;
    padding-bottom: 8px;
  }
}

.p-recovery-top-scene__num {
  letter-spacing: .05em;
  font-family: Barlow Semi Condensed, sans-serif;
  font-weight: 500;
}

@media (width >= 768px) {
  .p-recovery-top-scene__num {
    font-size: 2rem;
    line-height: 1.1;
  }
}

.p-recovery-top-scene__title {
  letter-spacing: .05em;
  font-weight: 700;
}

@media (width < 768px) {
  .p-recovery-top-scene__title {
    align-items: center;
    height: 48px;
    margin-top: 12px;
    font-size: 2rem;
    line-height: 1.2;
    display: flex;
  }
}

@media (width >= 768px) {
  .p-recovery-top-scene__title {
    margin-top: 24px;
    font-size: 3.2rem;
    line-height: 1;
  }
}

.p-recovery-top-scene__text {
  letter-spacing: .05em;
  margin-top: 16px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.42857;
}

@media (width >= 768px) {
  .p-recovery-top-scene__text {
    margin-top: 16px;
    font-size: 1.4rem;
    line-height: 1.42857;
  }
}

.p-recovery-top-scene__logo {
  margin-top: 14px;
}

@media (width >= 768px) {
  .p-recovery-top-scene__logo {
    margin-inline: auto;
  }
}

.p-recovery-top-scene__logo svg {
  fill: currentColor;
  width: 100%;
  height: auto;
  display: block;
}

.p-recovery-top-scene__link {
  margin-top: 18px;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.16667;
}

@media (width >= 768px) {
  .p-recovery-top-scene__link {
    justify-content: center;
    align-items: center;
    margin-top: 20px;
    font-size: 1.4rem;
    line-height: 2;
    display: flex;
  }
}

.p-recovery-top-scene__icon {
  border: 1px solid;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  transition: all .3s;
  display: flex;
}

@media (width >= 768px) {
  .p-recovery-top-scene__icon {
    margin-left: 8px;
  }

  .p-recovery-top-scene__arrow {
    width: 7px;
    height: 12px;
  }
}

.p-recovery-top-scene__arrow img {
  width: 100%;
  height: auto;
  display: block;
}

.p-recovery-top-scene__product {
  text-align: left;
  z-index: 1;
  margin-top: 22px;
  margin-bottom: 2px;
  position: relative;
}

@media (width >= 768px) {
  .p-recovery-top-scene__product {
    display: none;
  }
}

.p-recovery-top-scene__product-button {
  letter-spacing: .05em;
  cursor: pointer;
  padding-bottom: 1px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1;
  border-bottom: 1px solid #000 !important;
}

@media (width < 768px) {
  .p-recovery-top-shop {
    margin-top: 124px;
  }
}

@media (width >= 768px) {
  .p-recovery-top-shop {
    margin-top: 156px;
  }
}

.p-recovery-top-shop__btn {
  color: #000;
  padding-block: 15px;
  border: 1px solid #000;
  border-radius: 12px;
  justify-content: space-between;
  align-items: center;
  width: 313px;
  padding-left: 23px;
  padding-right: 26px;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.46154;
  transition: all .3s;
  display: inline-flex;
  position: relative;
}

@media (width < 768px) {
  .p-recovery-top-shop__btn {
    margin-top: 17px;
  }
}

@media (width >= 768px) {
  .p-recovery-top-shop__btn {
    margin-top: 30px;
  }

  .p-recovery-top-shop__btn:hover {
    color: #fff;
    background-color: #848484;
    border-color: #848484;
  }
}

.p-recovery-top-shop__btn-icon {
  width: 24px;
  height: 24px;
}

.p-recovery-top-shop__btn-icon svg {
  width: 100%;
  height: auto;
  display: block;
}

.p-recovery-top-shop__btn-icon svg path {
  stroke: currentColor;
}

@media (width < 768px) {
  .p-recovery-top-tech .c-heading {
    padding-left: 8px;
  }
}

.p-recovery-top-tech__main {
  position: relative;
}

@media (width < 768px) {
  .p-recovery-top-tech__main {
    margin-top: 36px;
  }
}

@media (width >= 768px) {
  .p-recovery-top-tech__main {
    margin-top: 60px;
  }
}

.p-recovery-top-tech__line {
  position: absolute;
}

@media (width < 768px) {
  .p-recovery-top-tech__line {
    background-color: #000;
    width: 1px;
    height: calc(100% - 27px);
    top: 27px;
    left: 29px;
  }
}

@media (width >= 768px) {
  .p-recovery-top-tech__line {
    background-color: #000;
    width: 1px;
    height: calc(100% - 55px);
    top: 55px;
    left: 47px;
  }
}

.p-recovery-top-tech__list {
  flex-direction: column;
  display: flex;
  position: relative;
}

@media (width < 768px) {
  .p-recovery-top-tech__list {
    row-gap: 64px;
  }
}

@media (width >= 768px) {
  .p-recovery-top-tech__list {
    row-gap: 64px;
  }
}

.p-recovery-top-tech__item {
  counter-increment: tech-num;
  position: relative;
}

@media (width < 768px) {
  .p-recovery-top-tech__item {
    padding-left: 48px;
  }
}

@media (width >= 768px) {
  .p-recovery-top-tech__item {
    align-items: center;
    padding-left: 80px;
    display: flex;
  }
}

.p-recovery-top-tech__item:before {
  content: counter(tech-num);
  font-family: Barlow Semi Condensed, sans-serif;
  font-weight: 500;
  position: absolute;
}

@media (width < 768px) {
  .p-recovery-top-tech__item:before {
    font-size: 3.2rem;
    line-height: 1.1875;
    top: 0;
    left: 0;
  }
}

@media (width >= 768px) {
  .p-recovery-top-tech__item:before {
    font-size: 4.8rem;
    line-height: 1.20833;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
  }
}

@media (width < 768px) {
  .p-recovery-top-tech__item:first-of-type .p-recovery-top-tech__img {
    width: 45.8015vw;
    padding-top: 24px;
  }
}

@media (width >= 768px) {
  .p-recovery-top-tech__item:first-of-type .p-recovery-top-tech__img {
    width: 180px;
    margin-right: 24px;
  }
}

@media (width < 768px) {
  .p-recovery-top-tech__item:first-of-type .p-recovery-top-tech__text {
    margin-top: 16px;
  }
}

@media (width >= 768px) {
  .p-recovery-top-tech__item:nth-of-type(2) {
    height: 252px;
  }

  .p-recovery-top-tech__item:nth-of-type(2) .p-recovery-top-tech__img {
    width: 63.2929%;
    margin-right: 49px;
  }
}

@media (width < 768px) {
  .p-recovery-top-tech__item:nth-of-type(3) {
    padding-bottom: 16px;
  }
}

@media (width >= 768px) {
  .p-recovery-top-tech__item:nth-of-type(3) {
    height: 211px;
  }

  .p-recovery-top-tech__item:nth-of-type(3) .p-recovery-top-tech__img {
    width: 63.2929%;
    margin-right: 49px;
  }
}

@media (width < 768px) {
  .p-recovery-top-tech__item:nth-of-type(3) .p-recovery-top-tech__text {
    margin-top: 8px;
  }
}

.p-recovery-top-tech__item--second.is-active .p-recovery-top-tech__img-parts01 img {
  animation: 2.85s linear infinite absorbDown;
}

.p-recovery-top-tech__item--second.is-active .p-recovery-top-tech__img-parts02 img {
  animation: 2.85s linear infinite absorbUp;
}

.p-recovery-top-tech__item--third.is-active .p-recovery-top-tech__img-parts03 img {
  animation: 2.85s ease-in-out infinite radiation;
}

.p-recovery-top-tech__column {
  position: relative;
}

@media (width >= 768px) {
  .p-recovery-top-tech__column {
    align-items: center;
    display: flex;
  }
}

.p-recovery-top-tech__column:before {
  content: "";
  display: block;
  position: absolute;
}

@media (width < 768px) {
  .p-recovery-top-tech__column:before {
    background-color: #000;
    border-radius: 50%;
    width: 6px;
    height: 6px;
    top: 24px;
    left: -19px;
    transform: translate(-50%, -50%);
  }
}

@media (width >= 768px) {
  .p-recovery-top-tech__column:before {
    background-color: #000;
    border-radius: 50%;
    width: 9px;
    height: 9px;
    top: 50%;
    left: -32px;
    transform: translate(-50%, -50%);
  }
}

.p-recovery-top-tech__img {
  position: relative;
}

@media (width >= 768px) {
  .p-recovery-top-tech__img {
    flex-shrink: 0;
  }
}

.p-recovery-top-tech__img > img {
  z-index: 1;
  width: 100%;
  height: auto;
  display: block;
  position: relative;
}

.p-recovery-top-tech__img-parts01 {
  z-index: 2;
  aspect-ratio: 28 / 96;
  width: 5.97015%;
  position: absolute;
  top: 0;
  overflow: hidden;
}

.p-recovery-top-tech__img-parts01 img {
  opacity: 0;
  width: 100%;
  height: auto;
  display: block;
}

.p-recovery-top-tech__img-parts01:first-of-type {
  z-index: 0;
  left: 38.3795%;
}

.p-recovery-top-tech__img-parts01:nth-of-type(2) {
  left: 51.5991%;
}

.p-recovery-top-tech__img-parts01:nth-of-type(3) {
  left: 65.032%;
}

.p-recovery-top-tech__img-parts02 {
  z-index: 2;
  aspect-ratio: 16 / 75;
  width: 3.41151%;
  position: absolute;
  bottom: 26.1905%;
  overflow: hidden;
}

.p-recovery-top-tech__img-parts02 img {
  opacity: 0;
  width: 100%;
  height: auto;
  display: block;
}

.p-recovery-top-tech__img-parts02:first-of-type {
  left: 39.6588%;
}

.p-recovery-top-tech__img-parts02:nth-of-type(2) {
  left: 53.0917%;
}

.p-recovery-top-tech__img-parts02:nth-of-type(3) {
  left: 66.3113%;
}

.p-recovery-top-tech__img-parts03 {
  z-index: 2;
  aspect-ratio: 110 / 82;
  width: 23.4542%;
  position: absolute;
  bottom: 30.3318%;
}

.p-recovery-top-tech__img-parts03 img {
  opacity: 0;
  width: 100%;
  height: auto;
  display: block;
}

.p-recovery-top-tech__img-parts03:first-of-type {
  left: 30.7036%;
}

.p-recovery-top-tech__img-parts03:nth-of-type(2) {
  left: 54.1578%;
}

.p-recovery-top-tech__text {
  font-size: 1.4rem;
  line-height: 1.71429;
}

@media (width >= 768px) {
  .p-recovery-top-tech__text {
    font-size: 1.4rem;
    line-height: 2;
  }
}

.p-recovery-top .p-recovery__inner {
  padding-bottom: 160px;
}

.p-recovery .u-sp {
  display: none;
}

@media (width < 768px) {
  .p-recovery .u-sp {
    display: block;
  }
}

.p-recovery .u-pc {
  display: none;
}

@media (width >= 768px) {
  .p-recovery .u-pc {
    display: block;
  }
}
