@charset "utf-8";

.edit-area {
  &.info {
    padding-bottom: 10rem;

    @media screen and (max-width: 767px) {
      padding-bottom: 4rem;
    }

    .info-title {
      &.type01 {
        position: relative;
        margin-bottom: 2.3rem;
        padding: 2rem 5.2rem;
        font-weight: 700;
        font-size: 3rem;
        letter-spacing: 0.04em;
        color: #ffffff;
        background: linear-gradient(111.13deg, #000000 13.94%, #140470 32.27%, #0638bb 61.37%, #2691d7 83.27%);
        border-radius: 4.6rem;
        cursor: pointer;

        @media (hover: hover) and (pointer: fine) {
          transition: ease 0.25s opacity;
          &:hover{
            opacity: 0.8;
          }
        }

        @media screen and (max-width: 767px) {
          margin-bottom: 1.5rem;
          padding: 1.5rem 3rem;
          font-size: 2rem;
        }

        &:after {
          content: "";
          position: absolute;
          right: 3.3rem;
          top: calc(50% - 1.1rem);
          transform: rotate(90deg);
          z-index: 1;
          width: 1.2rem;
          height: 2.2rem;
          background: url(../../common/img/parts/icon_arrow02_white.svg) no-repeat center center / 100% auto;
        }

        @media screen and (max-width: 767px) {
          &:after {
            top: calc(50% - 0.9rem);
            right: 2.4rem;
            width: 1rem;
            height: 1.8rem;
          }
        }

        &.active {
          &:after {
            transform: rotate(270deg);
          }
        }
      }
    }

    .info-table {
      margin: 0 0 7rem;
      padding: 1rem 4rem 4rem;
      background: #fff;
      border-radius: 2rem;
      display: none;

      @media screen and (max-width: 767px) {
        margin: 0 0 3rem;
        padding: 2rem;
      }

      .table-main {
        & tr {
          border-bottom: 1px solid #acacac;
        }

        & th,
        & td {
          padding: 3rem 0;
          font-size: 1.8rem;
          vertical-align: top;
          text-align: left;
          line-height: 1.33;
          letter-spacing: 0.1em;

          @media screen and (max-width: 767px) {
            display: block;
            padding: 2rem 0;
            font-size: 1.5rem;
            line-height: 1.6;
          }
        }

        & th {
          width: 18.7rem;
          font-style: normal;
          font-weight: 700;
          color: #0033b3;

          @media screen and (max-width: 767px) {
            padding-bottom: 0;
            font-size: 1.6rem;
          }
        }

        & td {
          font-weight: 400;

          @media screen and (max-width: 767px) {
            padding-top: 1rem;
          }
        }
      }
    }
  }

  &.flow {
    padding-bottom: 12rem;
    background: #e5ebf0;

    @media screen and (max-width: 767px) {
      padding-bottom: 6rem;
    }

    .flow-list {
      display: flex;
      flex-wrap: wrap;
      gap: 8.8rem;

      @media screen and (max-width: 767px) {
        gap: 3rem;
      }

      & li {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-direction: column;
        padding-top: 4.2rem;
        width: 23.4rem;
        height: 23.4rem;
        background: #fff;
        border-radius: 50%;

        @media screen and (max-width: 767px) {
          flex-direction: row;
          justify-content: space-between;
          align-items: center;
          text-align: left;
          padding: 1rem;
          width: 100%;
          height: auto;
          border-radius: 1rem;
        }

        &:after {
          content: "";
          position: absolute;
          left: calc(100% + 4rem);
          top: 50%;
          z-index: 1;
          transform: rotate(-90deg) translateY(-50%);
          width: 2rem;
          height: 2rem;
          background: url(../../common/img/parts/icon_polygon01.svg) no-repeat center center / 100% auto;
        }

        @media screen and (max-width: 767px) {
          &:after {
            left: 50%;
            top: calc(100% + 0.8rem);
            transform: translateX(-50%);
            width: 1.4rem;
            height: 1.4rem;
          }
        }

        &:last-child {
          &:after {
            display: none;
          }
        }
      }

      .list-photo {
        margin-bottom: 1.5rem;

        @media screen and (max-width: 767px) {
          margin-bottom: 0;
          width: 6rem;
        }

        & img{
          width: 10.6rem;
        }
      }

      .list-text {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        height: 4.4rem;
        font-weight: 700;
        font-size: 1.8rem;
        letter-spacing: 0.1em;
        text-align: center;

        @media screen and (max-width: 767px) {
          width: calc(100% - 6rem - 2rem);
          height: auto;
          justify-content: flex-start;
          text-align: left;
          line-height: 1.4;
          font-size: 1.6rem;
        }
      }
    }
  }

  &.faq {
    padding: 12rem 0 24rem;

    @media screen and (max-width: 767px) {
      padding: 6rem 0 12rem;
    }

    .common-title {
      &.type02 {

        @media print,
        screen and (min-width: 767.01px) {
          margin-bottom: 8rem;
        }
      }
    }

    .faq-list {
      margin-bottom: 7rem;
      /* counter-reset: number; */

      >div {
        counter-increment: number;
        padding: 5.4rem 0 5rem;
        border-bottom: 1px solid #000;

        @media screen and (max-width: 767px) {
          padding: 2rem 0;
        }

        &:first-child {
          padding-top: 0;
        }

        &.close {
          display: none;
        }
      }

      & dt {
        position: relative;
        margin-bottom: 2.4rem;
        padding-left: 5.6rem;
        font-weight: 700;
        font-size: 2.2rem;
        letter-spacing: 0.1em;
        color: #0033b3;

        @media screen and (max-width: 767px) {
          margin-bottom: 1.4rem;
          padding-left: 4rem;
          font-size: 1.6rem;
          line-height: 1.4;
        }

        &:before {
          content: "Q" counter(number);
          position: absolute;
          left: 0;
          top: 0;
          z-index: 1;
          font-family: "Roboto Flex";
          font-weight: 600;
          font-size: 2.4rem;
          letter-spacing: 0.04em;
          padding-right: 1rem;
          margin-right: 1rem;
        }

        @media screen and (max-width: 767px) {
          &:before {
            font-size: 1.8rem;
          }
        }

        &:after {
          content: "";
          position: absolute;
          left: 4.2rem;
          top: -0.3rem;
          z-index: 1;
          display: block;
          width: 0.2rem;
          height: 3rem;
          background-color: #ed5300;
        }

        @media screen and (max-width: 767px) {
          &:after {
            top: 0.3rem;
            left: 3rem;
            height: 2rem;
          }
        }
      }

      & dd {
        font-weight: 400;
        font-size: 1.8rem;
        line-height: 1.33;
        letter-spacing: 0.1em;

        @media screen and (max-width: 767px) {
          font-size: 1.4rem;
        }
      }
    }

    .common-btn {
      &.type01 {
        .cover {
          &:after {
            transform: rotate(90deg) translateX(-50%);
          }
        }
      }
    }
  }
}
