/* Legal pages */
.legal-page__main {
  padding: 24px 16px 80px;
  background-color: #fff;
}

.legal-page__content {
  max-width: 1024px;
  margin: 0 auto;
  color: #1c1b26;
  font-size: 16px;
  line-height: 1.6;
}

.legal-page__content .title,
.legal-page__content h1 {
  font-size: 1.2rem;
  margin: 0 0 24px;
}

.legal-page__content .title_secondary,
.legal-page__content h3.title_secondary,
.legal-page__content h4.title_secondary {
  font-size: 1rem;
  margin: 24px 0 12px;
}

.legal-page__content .title_third,
.legal-page__content h4.title_third {
  font-size: 0.95rem;
  margin: 16px 0 8px;
}

.legal-page__content .privacy_p,
.legal-page__content .contents_p,
.legal-page__content p {
  margin: 0 0 1em;
}

.legal-page__content .bold {
  font-weight: bold;
}

.legal-page__content table.contents_table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 1em;
}

.legal-page__content table.contents_table th,
.legal-page__content table.contents_table td {
  padding: 4px 8px;
  text-align: left;
  vertical-align: top;
}

.legal-page__content ul,
.legal-page__content ol {
  margin: 0 0 1em;
  padding-left: 1.5em;
}

.legal-page__content a {
  color: #12366a;
}

/* from legal/tokushoho.html */

    * {
        box-sizing: border-box;
        font-size: 16px;
        font-weight: 400;
        text-align: left;
    }

    section.detail__wrap.event__layout > .detail-title__wrap.detail__title {
        display: none;
    }

    section.detail__wrap.event__layout {
        background: #fff !important;
    }

    .contents__wrap.detail__contents > .web-page__wrap {
        padding: 0;
    }

    .web-page__wrap h1 {
        display: none;
    }
    
    .title, .title_secondary {
        font-size: 24px;
        padding: 0 16px;
    }
    
    .title_secondary {
        line-height: 32px;
        padding: 24px 16px 8px;
    }

    .title_third {
        font-weight: 600;
        padding: 0 16px 0 8px;
        margin-bottom: 6px;
    }

    .title_fourth {
        display: block;
        font-weight: 600;
        padding: 16px 16px 0;
        line-height: 32px;
    }
    
    .contents {
        padding: 0 16px 0 24px;
    }

    .contents_p {
        padding: 0 16px;
        margin: 0;
    }

    .contents_ul, .contents_ol {
        padding-left: 32px;
        list-style-position: outside;
        margin-bottom: 16px;
    }

    .contents_ol > li + li {
        margin-top: 16px;
    }

    .contents_ol li a {
        display: block;
        padding-top: 16px;
    }

    .contents_table {
        border-collapse: separate;
        padding: 0 16px;
        text-align: left;
    }
    
    .contents_table, .contents_table th, .contents_table td {
        border: none;
        background: #fff;
    }

    .bold {
        font-weight: 600;
    }
