#company .base_contents {
  text-align: left;
}
#company .base_contents .outer {
  margin: 0 5em 0 18em;
  text-align: left;
}

main .h2-heading {
  margin: 0 0 20px 0;
  padding: 0;
}
main .h3-heading {
  margin: 0;
  padding: 0 0 5px 0;
  text-indent: -7px;
}
main .h4-heading {
  font-size: 14px;
}
main .h5-heading {
  margin-top: 10px;
  font-size: 14px;
  text-indent: -7px;
}
main .policy__contents {
  margin-bottom: 50px;
}
main .policy__contents .inner {
  padding-bottom: 20px;
}
main .policy__contents a {
  color: #1a9f3d;
  text-decoration: underline;
}
main .policy__contents__inner p {
  margin: 0;
}
main .policy__contents__inner ol {
  list-style: none;
  counter-reset: number;
}
main .policy__contents__inner ol li {
  display: flex;
  align-items: start;
  font-size: 14px;
}
main .policy__contents__inner ol li::before {
  counter-increment: number;
  content: counter(number);
  display: block;
}
main .policy__contents__inner .inner {
  margin: 0 0 30px;
}
main .policy__contents__inner .ip__sign {
  text-align: right;
}
main .policy__contents__inner .privacy_contact .inner {
  margin-bottom: 50px;
  padding-top: 20px;
}
main #policy .policy__contents__inner ol {
  counter-reset: li_count;
}
main #policy .policy__contents__inner ol li {
  margin-bottom: 10px;
}
main #policy .policy__contents__inner ol li::before {
  counter-increment: li_count;
  content: counter(li_count) ".";
  margin-right: 5px;
}
main #policy .policy__contents__inner ol li:last-of-type {
  margin-bottom: 0;
}
main .security__inner__lead-text {
  padding-bottom: min(1.3888888889vw, 20px);
}
main .security__inner__list {
  padding-left: min(1.6666666667vw, 24px);
  list-style-type: decimal;
}
main .security__inner__list-item {
  padding-bottom: min(0.6944444444vw, 10px);
}

#privacy .policy__contents__inner h5 {
  padding: 10px 0 0 6px;
}
#privacy .policy__contents__inner p {
  margin: 0;
  padding-left: 15px;
  font-size: 14px;
  line-height: 1.6;
}
#privacy .policy__contents__inner ol {
  margin: 5px 0 0;
  padding-left: 15px;
}
#privacy .policy__contents__inner ol li::before {
  flex-shrink: 0;
  width: 15px;
  height: 15px;
  margin: 4px 5px 0 0;
  border: 1px solid #777;
  border-radius: 50%;
  font-size: 13px;
  text-align: center;
  line-height: 1.1;
}
#privacy .policy__contents__inner dl {
  display: flex;
}
#privacy .policy__contents__inner .inner {
  margin-bottom: 10px;
}
#privacy .policy__contents__inner .download {
  margin-top: 10px;
}
#privacy .policy__contents__inner .download h5 {
  padding-left: 15px;
}
#privacy .policy__contents__inner .download p {
  margin: 0;
}
#privacy .policy__contents__inner .download a {
  padding-left: 15px;
}
#privacy .policy__contents__inner .caution h5 {
  padding-left: 15px;
}
#privacy .policy__contents__inner .privacy_contact {
  margin-top: 20px;
  padding-left: 17px;
}
#privacy .policy__contents__inner .privacy_contact p {
  padding-left: 0;
}

@media (max-width: 480px) {
  main {
    padding: 0;
  }
  main .h2-heading {
    padding: 0;
  }
  main .h3-heading {
    margin: 0;
  }
  main .h4-heading {
    font-size: 14px;
  }
  main .h5-heading {
    font-size: 12px;
  }
  main .lead {
    font-size: 12px;
  }
  main #policy .policy__contents {
    margin-bottom: 50px;
  }
  main #policy .policy__contents .inner {
    padding: 0;
  }
  main #policy .policy__contents .inner ol {
    margin-bottom: 30px;
  }
  main #policy .policy__contents .inner ol li {
    font-size: 12px !important;
  }
  main #policy .policy__contents .inner ol li::before {
    width: 14px;
    height: 14px;
    margin: 3px 5px 0 0;
    font-size: 12px;
  }
  main #policy .policy__contents .inner .section_01 {
    padding-bottom: 20px;
  }
  main #policy .policy__contents p {
    font-size: 12px;
  }
  main #policy #privacy .policy__contents {
    margin-top: 50px;
  }
  main #policy #privacy .policy__contents .inner ol {
    margin-bottom: 0;
  }
  #company .base_contents .outer {
    margin: 0;
  }
  #policy .policy__contents {
    margin-bottom: 50px;
  }
}