/*****************
共通
*****************/

body {
  background: linear-gradient(
    90deg,
    rgba(255, 251, 233, 1) 0%,
    rgba(234, 227, 197, 1) 100%
  );
}

h1,
h2,
p {
  margin: 0;
  padding: 0;
}

/* l-container */
.l-container {
  max-width: 390px;
  margin: 0 auto;
  background: #fff;
  text-align: center;
}

/* l-header */
.l-header {
  padding: 42px 20px 16px;
  margin: 0;
}

/* l-main */
.l-main {
  padding: 0;
  margin: 0;
}

/* l-aside */
.l-aside {
  padding: 0;
  margin: 0;
}

/* l-footer */
.l-footer {
  color: #fff;
  font-size: 10px;
  padding: 0 25px 35px;
  background: #02030a;

  a {
    color: inherit;
    text-decoration: underline;
  }

  .services {
    margin-top: 35px;
    text-align: center;

    > dt {
      margin-bottom: 1em;
      margin-top: 2rem;
      font-size: 13px;
      text-align: center;
    }

    > dd {
      margin: 0;

      > ul {
        list-style: none;
        display: flex;
        flex-wrap: wrap;
        padding: 0;
        justify-content: center;
        margin: -1em -1em 0;

        li {
          margin: 1em 1em 0;
        }
      }
    }
  }

  .license {
    display: flex;
    padding-top: 30px;
    font-size: 0px;
    text-align: left;

    dt {
      flex: 0 0 auto;
      margin: auto 0;

      .jpx {
        width: 56px;
      }
    }

    dd {
      margin: auto 0px auto 20px;
      font-size: 10px;
      line-height: 16px;
      color: #d3d6e2;
    }
  }

  .notes-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 30px;
  }

  .copyright {
    border-top: 1px solid #fff;
    margin-top: 25px;
    padding-top: 25px;

    .inner {
      display: flex;
      flex-direction: column;
      align-items: center;
      flex-wrap: wrap;
      text-align: center;
    }

    p {
      font-size: 10px;
      margin: 0;
      padding-top: 15px;
    }
  }
}

/* p-snsLists */
.p-snsLists {
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 50px 20px;

  > li {
    flex: 1;
    padding: 0 10px;
  }
}

/*****************
トップ
*****************/

.p-top {
  .p-mainVisual {
    margin-bottom: 30px;
  }

  .p-section {
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding: 42px 20px;

    &:nth-of-type(odd) {
      background: #fffbe9;
    }
  }
}

/*****************
会社情報
*****************/

.p-corp {
  padding: 0 47px;
  text-align: left;

  > h1 {
    background-color: #b29c49;
    color: #fff;
    text-align: center;
    letter-spacing: 1.6px;
    margin: 0 0 20px;
    padding: 12px;
    font-size: 16px;
  }

  .content {
    font-size: 12px;
    line-height: 2;

    > h2 {
      border-bottom: 2px solid #b29c49;
      margin: 0;
      padding: 12px 0;
      font-size: 16px;

      &:first-child {
        padding-top: 0;
      }
    }

    > p {
      margin-block-start: 1em;
      margin-block-end: 1em;
    }
  }

  .companyData {
    th {
      display: block;
      text-align: left;
      vertical-align: baseline;
      border: none;
      width: auto;
      font-size: 12px;
      font-weight: 500;
      padding: 20px 0 0;
    }

    td {
      display: block;
      border-bottom: 1px solid #ebebeb;
      padding: 20px 0 20px 40px;
      font-size: 12px;
    }
  }

  .memberList {
    flex-wrap: wrap;
    max-width: 400px;
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: block;
  }

  .memberItem {
    margin-bottom: 20px;
    display: flex;
    gap: 10px;

    span {
      word-break: keep-all;
      font-size: 10px;
      line-height: 1.2;
      display: block;
    }

    em {
      max-width: none;
      padding: 0.5em;
      font-size: 14px;
      font-style: normal;
      font-weight: 700;
      line-height: 1.7;
      display: block;
    }
  }
}

/*****************
グループ会員利用規約
*****************/

.p-rule {
  text-align: left;
  padding: 0 12px;

  > h1 {
    display: flex;
    padding: 12px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.5;
    margin: 0 -12px;
    background-color: #eee0ad;
  }

  > h2 {
    padding-left: 10px;
    border-left: 4px solid #b29c49;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 2.4px;
    margin: 1.5em 0;
  }

  > p {
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: 0.2;
    margin: 1em 0;
  }
}
