/* =========================
   Base styles for new pages
   ========================= */
header {
  background: #FAFAFA;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

.content {
  font-size: 1rem;
  line-height: 1.7;
  padding: 240px 0 0;
}
@media screen and (max-width: 768px) {
  .content {
    padding: 100px 0 0;
  }
}

.content .container {
  width: 100%;           /* ブラウザ幅に合わせる */
  max-width: 1200px;     /* PC幅で最大1200px */
  margin: 0 auto;        /* 中央寄せ */
  box-sizing: border-box;
  padding: 0;
}
@media screen and (max-width: 768px) {
  .content .container {
    padding: 0 5%;
  }
}

.content .bgwhite {
  padding: 0;
}

/* ---- Headings ---- */
.content h1 {
  font-size: 3rem;
  font-weight: 600;
  margin: 0 0 0.75em;
}

.content h2 {
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1.2;
  margin: 1em 0 0.75em;
}

.content h3 {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.3;
  margin: 1em 0 0.5em;
}

.content h4 {
  font-size: 1.3rem;
  margin: 1.25em 0 0.5em;
}

.content h5,
.content h6 {
  font-size: 1rem;
  margin: 1em 0 0.5em;
}

@media screen and (max-width: 768px) {
  .content h1 {
    font-size: 1.8rem;
  }
  .content h2 {
    font-size: 1.6rem;
  }
  .content h3 {
    font-size: 1.3rem;
  }
  .content h4 {
    font-size: 1.1rem;
  }
  .content p {
    font-size: 0.95rem;
  }
}

/* ---- Text ---- */
.content p {
  margin: 0 0 1em;
  line-height: 2;
  text-align: justify;
}

/* ---- Lists ---- */
.content ul,
.content ol {
  margin: 0 0 1em 1.5em;
  padding: 0;
}

.content ul {
  list-style: disc;
}

.content ol {
  list-style: decimal;
}

.content li {
  margin: 0.25em 0;
}

/*
  見出し内の意味的な塊を守るための指定。
  見た目都合の改行には <br> を使わず、
  文として一続きに保ちたい場合に使用する。
*/
.content .nowrap {
  white-space: nowrap;
}
