.site-header {
    height: 40vh;
}

.container {
    max-width: 80%;
    margin: 0 auto;
    padding: 40px 20px;
    background: #ffffff;
    box-shadow: 0 0 10px rgba(0,0,0,0.05);
}

.container p {
  line-height: 1.6;
  color: #333;
  margin-bottom: 1.5em;
}

.section h2 {
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #444;
  border-bottom: 1px solid #85C1E9;
  padding-left: 20px;
  margin: 25px 0;
  border-left: 7px solid #85C9E9;
}

.section h3 {
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #444;
  border-bottom: 1px solid #85C1E9;
  margin: 25px 0;
  border-left: 2px solid #85C9E9;
  padding-left: 10px;
}

p {
  background-color: #f9f9f9;
  margin: 0em 2em;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

ol {
  list-style: none; /* ブラウザの標準マーカーを消す */
  counter-reset: item;
  padding-left: 1.2em;
}

ol > li {
  counter-increment: item;
  position: relative;
  margin-bottom: 0.5em;
}

ol > li::before {
  content: counter(item) "． ";
  position: absolute;
  left: 0;
  font-weight: bold;
  color: #2c3e50;
}

/* スマホ画面（最大幅600px）で小さめに調整 */
@media screen and (max-width: 600px) {
    .container {
	margin: 0;
    }
    p {
	width: 100%;
    }
    .section h2 {
	width: 100%;
	margin: 25px 20px;
	font-size: 1.4rem;
    }
    .section h3 {
	width: 100%;
	margin: 25px 10px;
	font-size: 1.1rem;
    }
}
