main{font-family: "NotoSerifJP", sans-serif;}

@media (max-width: 1024px) {
  main .container {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media (max-width: 768px) {
  main .container.py-5 {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  main .col-lg-10 {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
  }

  main h1 {
    font-size: 1.7rem;
    margin-bottom: 1.2rem;
  }

  main .h4 {
    font-size: 1.2rem;
  }

  main .h5 {
    font-size: 1.05rem;
  }

  main section.mb-5 {
    margin-bottom: 2rem;
  }

  main a {
    word-break: break-all;
    overflow-wrap: break-word;
  }
}

@media (max-width: 414px) {
  main .container.py-5 {
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 1.75rem;
    padding-bottom: 1.75rem;
  }

  main p,
  main li {
    font-size: 14px;
    line-height: 1.8;
  }

  main ul {
    padding-left: 1.4rem;
  }

  main h1 {
    font-size: 1.4rem;
  }

  main .h4 {
    font-size: 1.1rem;
  }

  main .h5 {
    font-size: 1rem;
  }
}

@media (max-width: 360px) {
  main .container.py-5 {
    padding-left: 12px;
    padding-right: 12px;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  main p,
  main li {
    font-size: 13px;
  }

  main h1 {
    font-size: 1.25rem;
  }

  main .h4 {
    font-size: 1rem;
  }

  main .h5 {
    font-size: 0.95rem;
  }

  main ul {
    padding-left: 1.1rem;
  }

  main section.mb-5 {
    margin-bottom: 1.5rem;
  }
}