/* ––––––––––––––––––––––––––––––––––––––––––––––––––
benefits start
–––––––––––––––––––––––––––––––––––––––––––––––––– */

/* Layout */
.benefits .layout.header-space {
  background-color: #ffffff;
}

/* Image sections (sec01-sec06) */
.benefits .sec01,
.benefits .sec02,
.benefits .sec03,
.benefits .sec04,
.benefits .sec05,
.benefits .sec06 {
  background-color: #ffffff;
}

.benefits .sec04 {
  background-color: #f5f5f5;
}

.benefits .sec01 .content img,
.benefits .sec02 .content img,
.benefits .sec03 .content img,
.benefits .sec04 .content img,
.benefits .sec05 .content img,
.benefits .sec06 .content img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 575px) {
  .benefits .sec01 .pc__img,
  .benefits .sec02 .pc__img,
  .benefits .sec03 .pc__img,
  .benefits .sec04 .pc__img,
  .benefits .sec05 .pc__img,
  .benefits .sec06 .pc__img {
    display: none;
  }
}

@media screen and (min-width: 576px) {
  .benefits .sec01 .sp__img,
  .benefits .sec02 .sp__img,
  .benefits .sec03 .sp__img,
  .benefits .sec04 .sp__img,
  .benefits .sec05 .sp__img,
  .benefits .sec06 .sp__img {
    display: none;
  }
}

/* FAQ section (sec07) */
.benefits .sec07 {
  padding-top: 94em;
  background-color: #f5f5f5;
}

.benefits .sec07 .inner {
  padding: 0 260em;
}

@media (max-width: 1440px) {
  .benefits .sec07 .inner {
    padding: 0 150em;
  }
}

@media (max-width: 567px) {
  .benefits .sec07 {
    padding-top: 40em;
  }

  .benefits .sec07 .inner {
    padding: 0 10em;
  }
}

.benefits .sec07 .section-title {
  margin-bottom: 60em;
  padding-left: 30em;
  border-left: 8em solid #a88aec;
}

@media (max-width: 567px) {
  .benefits .sec07 .section-title {
    margin-bottom: 30em;
    padding-left: 15em;
    border-left: 6em solid #a88aec;
  }
}

.benefits .sec07 .section-title__top {
  display: block;
  font-size: 40em;
  font-weight: bold;
  color: #2f1b6e;
  line-height: 1.4;
}

@media (max-width: 567px) {
  .benefits .sec07 .section-title__top {
    font-size: 24em;
  }
}

.benefits .sec07 .section-title__bottom {
  display: block;
  color: #a88aec;
  font-size: 20em;
  font-family: "Anonymous Pro", monospace;
  font-weight: bold;
  letter-spacing: 0.3em;
  margin-top: 0.3rem;
}

@media (max-width: 567px) {
  .benefits .sec07 .section-title__bottom {
    font-size: 12em;
  }
}

.benefits .sec07 .white-area {
  padding: 60em 90em;
  background-color: #fff;
  border-radius: 16em;
  margin-bottom: 200em;
}

@media (max-width: 1440px) {
  .benefits .sec07 .white-area {
    margin-bottom: 155em;
  }
}

@media screen and (max-width: 567px) {
  .benefits .sec07 .white-area {
    margin-bottom: 50em;
    padding: 20em 10em;
  }
}

/* Accordion */
.benefits .question .accordion {
  margin-bottom: 20em;
}

.benefits .question .accordion .accordion-hidden {
  display: none;
}

.benefits .question .accordion .accordion-open {
  position: relative;
  display: flex;
  align-items: center;
  padding: 0.8em 2em 0.8em 0.8em;
  border-radius: 29px;
  background-color: #f5f5f5;
  font-weight: bold;
  font-size: 20em;
  line-height: 1.35;
}

@media (max-width: 567px) {
  .benefits .question .accordion .accordion-open {
    padding: 1em 2.66em 1em 2.66em;
    border-radius: 12px;
    font-size: 18em;
    line-height: 1.5;
  }
}

.benefits .question .accordion .accordion-open:hover {
  cursor: pointer;
}

.benefits .question .accordion .accordion-open span:first-child {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 0.5em;
  width: 1.55em;
  height: 1.55em;
  border-radius: 50%;
  background: linear-gradient(to bottom right, #a88aec 0%, #2f1b6e 100%);
}

@media (max-width: 567px) {
  .benefits .question .accordion .accordion-open span:first-child {
    position: absolute;
    top: 50%;
    left: 0.55em;
    margin-right: 0;
    width: 1.27em;
    height: 1.27em;
    transform: translateY(-50%);
  }
}

.benefits .question .accordion .accordion-open span:first-child i {
  z-index: 1;
  color: #fff;
  font-weight: 700;
  font-size: 0.8em;
}

@media (max-width: 567px) {
  .benefits .question .accordion .accordion-open span:first-child i {
    font-size: 0.66em;
  }
}

.benefits .question .accordion .accordion-open .plus {
  position: absolute;
  top: 50%;
  right: 0.68em;
  width: 1.55em;
  height: 1.55em;
  border-radius: 50%;
  background-color: #fff;
  transform: translateY(-50%);
}

.benefits .question .accordion .accordion-open .plus::before,
.benefits .question .accordion .accordion-open .plus::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 50%;
  height: 2px;
  background-color: #000;
  transition: all 0.3s ease;
  transform: translate(-50%, -50%);
}

.benefits .question .accordion .accordion-open .plus::after {
  transform: translate(-50%, -50%) rotate(-450deg);
  transform-origin: center center;
}

.benefits .accordion-hidden:checked + .accordion-open .plus::after {
  transform: translate(-50%, -50%) rotate(0deg);
  transform-origin: center center;
}

.benefits .question .accordion .accordion-close {
  overflow: hidden;
  padding: 0;
  height: 0;
  opacity: 0;
  transition: all 0.3s ease;
}

.benefits .accordion-hidden:checked + .accordion-open + .accordion-close {
  padding: 0.8em 0.8em 0.8em 3em;
  height: auto;
  font-weight: 500;
  font-size: 20em;
  line-height: 1.5;
  opacity: 1;
}

@media (max-width: 567px) {
  .benefits .accordion-hidden:checked + .accordion-open + .accordion-close {
    padding: 1em;
    font-size: 18em;
  }
}

/* CTA section */
.benefits .sec-cta .sec-cta__content {
  width: 100%;
  aspect-ratio: 2.5 / 1;
  background-image: url("/assets/img/top/pc/section-cta_Frame2788_pc.webp");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 2vw 0;
}

@media screen and (max-width: 567px) {
  .benefits .sec-cta .sec-cta__content {
    aspect-ratio: 1 / 1.12;
    background-image: url("/assets/img/top/sp/section-cta_Frame557_sp.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 10vw 5vw;
  }
}

.benefits .sec-cta .sec-cta__content-subtitle {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 16em;
}

.benefits .sec-cta .subtitle-slash__left {
  width: 1em;
  height: 14em;
  background-color: #ffffff;
  transform: skewX(20deg);
}

.benefits .sec-cta .subtitle-text {
  color: #ffffff;
  font-size: 20em;
  letter-spacing: 0.1em;
  margin: 0 1em;
}

@media screen and (max-width: 567px) {
  .benefits .sec-cta .subtitle-text {
    font-size: 14em;
  }
}

.benefits .sec-cta .subtitle-text__int {
  font-size: 1.3em;
  font-weight: bold;
}

.benefits .sec-cta .subtitle-text__str {
  font-weight: bold;
}

.benefits .sec-cta .subtitle-slash__right {
  width: 1em;
  height: 14em;
  background-color: #ffffff;
  transform: skewX(-20deg);
}

.benefits .sec-cta .sec-cta__content-title {
  width: fit-content;
  color: #2f1b6e;
  background-color: #ffffff;
  font-size: 34em;
  font-weight: bold;
  padding: 0.5em;
  margin: 0 auto 1.5em;
  transform: skewX(-5deg);
}

.benefits .sec-cta .sec-cta__content-text {
  color: #ffffff;
  font-size: 20em;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.5em;
}

@media screen and (max-width: 567px) {
  .benefits .sec-cta .sec-cta__content-title {
    font-size: 26em;
    margin: 0 auto 1em;
  }

  .benefits .sec-cta .sec-cta__content-text {
    font-size: 14em;
    font-weight: 400;
  }
}

.benefits .sec-cta .sec-cta__content-card-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 40em 0 30em;
}

.benefits .sec-cta .sec-cta__content-card {
  color: #ffffff;
  font-size: 20em;
  border: 2px solid #ffffff;
  padding: 0.2em;
  transform: skewX(-5deg);
}

.benefits .sec-cta .sec-cta__content-card:nth-of-type(2) {
  margin: 0 0.5em;
}

@media screen and (max-width: 567px) {
  .benefits .sec-cta .sec-cta__content-card-wrapper {
    margin: 30em 0;
  }

  .benefits .sec-cta .sec-cta__content-card {
    font-size: 16em;
    padding: 0.5em;
    white-space: nowrap;
  }
}

.benefits .sec-cta .sec-cta__content-button .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 17em;
  height: 3em;
  border-radius: 1vw;
  position: relative;
  overflow: hidden;
  color: #fff;
  white-space: nowrap;
  font-size: 18px;
  border: none;
  background-image: linear-gradient(
    135deg,
    #f3cc00 75%,
    #f3cc00 14%,
    #e6c100 14%,
    #e6c100 100%
  );
  background-size: 300% 300%;
  background-position: bottom right;
  transition: background-position 0.3s ease-in-out;
  box-shadow: 0 3px 0 rgba(51, 51, 51, 0.7);
}

.benefits .sec-cta .sec-cta__content-button .btn:hover {
  background-position: top left;
  opacity: 1;
  box-shadow: none;
}

.benefits .sec-cta .sec-cta__content-button .btn::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  right: 3px;
  bottom: 3px;
  border: 2px solid #fff;
  border-radius: 0.8vw;
  pointer-events: none;
}

@media screen and (max-width: 567px) {
  .benefits .sec-cta .sec-cta__content-button .btn {
    font-size: 22em;
    border-radius: 3vw;
  }

  .benefits .sec-cta .sec-cta__content-button .btn::before {
    border-radius: 2.4vw;
  }
}

/* sec05 カウンセリングボタン */
.benefits .sec05 .content {
  position: relative;
}

.benefits .sec05 .sec05__button {
  position: absolute;
  bottom: 7%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
}

.benefits .sec05 .sec05__button .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28vw;
  height: 5.5vw;
  border-radius: 1vw;
  position: relative;
  overflow: hidden;
  color: #fff;
  white-space: nowrap;
  font-size: 1.7vw;
  border: none;
  background-image: linear-gradient(
    135deg,
    #f3cc00 75%,
    #f3cc00 14%,
    #e6c100 14%,
    #e6c100 100%
  );
  background-size: 300% 300%;
  background-position: bottom right;
  transition: background-position 0.3s ease-in-out;
  box-shadow: 0 3px 0 rgba(51, 51, 51, 0.7);
}

.benefits .sec05 .sec05__button .btn:hover {
  background-position: top left;
  opacity: 1;
  box-shadow: none;
}

.benefits .sec05 .sec05__button .btn::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  right: 3px;
  bottom: 3px;
  border: 2px solid #fff;
  border-radius: 0.8vw;
  pointer-events: none;
}

@media screen and (max-width: 567px) {
  .benefits .sec05 .sec05__button {
    bottom: 5.7%;
  }

  .benefits .sec05 .sec05__button .btn {
    width: 97vw;
    height: 19.5vw;
    font-size: 6.5vw;
    border-radius: 3vw;
  }

  .benefits .sec05 .sec05__button .btn::before {
    border-radius: 2.4vw;
  }
}

.benefits .sec-cta .sec-cta__content-button:hover {
  width: fit-content;
  background-color: #ffffff;
  border-radius: 1vw;
  margin: 0 auto;
}

.benefits .sec-cta .sec-cta__content-note {
  color: #ffffff;
  font-size: 16em;
  letter-spacing: 0.1em;
  margin-top: 1em;
}

@media screen and (max-width: 567px) {
  .benefits .sec-cta .sec-cta__content-note {
    font-size: 11em;
  }
}

/* ––––––––––––––––––––––––––––––––––––––––––––––––––
benefits end
–––––––––––––––––––––––––––––––––––––––––––––––––– */
