.page__header {
  padding: min(20vw, 200px) 0 min(10.5vw, 70px); }

section.page__wrap {
  background: linear-gradient(to right, rgba(136, 116, 255, 0.3) 1%, rgba(0, 104, 214, 0.3) 100%); }
  section.page__wrap .inner {
    background-color: #fff;
    padding-left: 6.979vw;
    padding-right: 6.979vw;
    padding-bottom: 77px; }

.table__notes {
  font-size: 80%; }

.table__wrap {
  margin-bottom: 84px;
  width: 100%; }

/* ---------- DISPLAY ---------- */
/* ---------- PHONE ---------- */
@media (750px >= width) {
  .table__wrap {
    overflow-x: scroll;
    position: relative; }
    .table__wrap::-webkit-scrollbar {
      width: 6px;
      height: 6px; }
    .table__wrap::-webkit-scrollbar-track {
      background-color: white;
      height: 6px; }
    .table__wrap::-webkit-scrollbar-thumb {
      background-color: #00A99D;
      width: 6px;
      height: 6px; }
    .table__wrap th, .table__wrap td {
      white-space: nowrap; } }
table.table__plan {
  font-weight: var(--fm); }
  table.table__plan tr th, table.table__plan tr td {
    border: 1px solid #000;
    font-weight: var(--fm);
    text-align: center;
    vertical-align: middle; }
  table.table__plan tr th {
    background-color: #DCDDDD;
    padding: 6px;
    font-size: 1.2rem; }
  table.table__plan tr td {
    padding: 20px 18px;
    font-size: 1.2rem;
    line-height: 1.5; }
  table.table__plan tr .table__ttl {
    border: none;
    padding: 0 0 0 3rem;
    font-size: 1.8rem;
    text-align: left;
    text-indent: -3rem;
    vertical-align: top; }
    table.table__plan tr .table__ttl::before {
      content: '';
      display: inline-block;
      background-color: #00A99D;
      border-radius: 50%;
      width: 24px;
      height: 24px;
      margin-right: 10px;
      vertical-align: middle; }
    table.table__plan tr .table__ttl span {
      font-size: 80%; }
  table.table__plan tr .plan {
    width: 170px; }
  table.table__plan tr .style-none {
    border: none; }
    table.table__plan tr .style-none::before {
      display: none; }
  table.table__plan tr .merit {
    width: 160px; }
  table.table__plan tr .naiyo {
    width: 250px; }
  table.table__plan tr .plan.plan--platinum {
    background-color: #b9adff;
    color: #595757; }
  table.table__plan tr .plan.plan--gold {
    background-color: #D2CDB4;
    color: #595757; }
  table.table__plan tr .plan.plan--silver {
    background-color: #CACACA;
    color: #595757; }
  table.table__plan tr .plan.plan--bronze {
    background-color: #e1aea5;
    color: #595757; }
  table.table__plan tr .price {
    font-size: 1.8rem; }
    table.table__plan tr .price small {
      font-size: 70%; }
  table.table__plan tr .price.plan--platinum {
    color: #8874e6; }
  table.table__plan tr .price.plan--gold {
    color: #92844b; }
  table.table__plan tr .price.plan--silver {
    color: #666666; }
  table.table__plan tr .price.plan--bronze {
    color: #974f21; }

.page__ttl {
  font-size: 3.4rem;
  line-height: 1.5;
  color: #8874ff;
  text-align: center;
  margin-bottom: 36px; }
  .page__ttl > small {
    display: block;
    color: #000;
    font-size: 45%;
    margin: 1% 0 0 0; }
  .page__ttl + p {
    font-size: 1.4rem;
    line-height: 1.5; }

html[lang="ja"] .page__ttl + p {
  text-align: center; }

/* ---------- PHONE ---------- */
@media (750px >= width) {
  .page__ttl > span {
    display: block; }
  .page__ttl + p {
    line-height: 2; } }
.txt--here {
  font-size: 2.3rem;
  text-align: center;
  margin-bottom: 32px;
  padding-bottom: 24px;
  position: relative; }
  .txt--here::after {
    content: '';
    display: block;
    width: 12px;
    height: 12px;
    border-right: 2px solid #000;
    border-bottom: 2px solid #000;
    transform: rotate(45deg);
    margin: 12px auto 0;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    animation: scroll-btm linear 0.8s infinite; }

@keyframes scroll-btm {
  0% {
    bottom: 10px; }
  100% {
    bottom: 0; } }
/* ---------- POLICY ---------- */
ol.policy__lists > li {
  margin-bottom: 48px;
  padding-left: 0; }

ol.policy__lists > li::before {
  display: none; }

ol.policy__lists > li h3 {
  font-size: 1.6rem;
  border-left: 1px solid #000;
  border-bottom: 1px solid #000;
  padding: 16px;
  margin-bottom: 16px; }

ol.policy__lists > li h3 + p {
  margin-bottom: 12px; }

ol.policy__lists > li > p, ol.policy__lists > li > ol {
  margin-left: 2rem; }
