/* ページ全体 */
.hero {
  width: 100%;
  height: 90vh;
  background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)),
	  url("https://hitachinokidsorchestra.com/hitachinokidsorche/wp-content/themes/hitachinokidsorchestra/images/heroimages/_mg_6861%202_result.webp");
  background-size: cover;
  background-position: bottom;
  background-repeat: no-repeat;
  position: relative;
  margin-bottom: 100px;
  animation: fadeIn 0.8s ease;
}

/* fade-in */
@keyframes fadeIn {
  0% { opacity: 0.3; }
  100% { opacity: 1; }
}

/* content wrapper */
.hero__content {
  position: relative;
  width: 100%;
  height: 100%;
}

/* illustration */
.hero__illustration {
  position: absolute;
  left: 12%;
  bottom: 20%;
  width: 10vw;
  filter: drop-shadow(3px 3px 2px #707070);
  animation: runrun 2s linear backwards;
}

@keyframes runrun {
  0% { transform: scale(1); }
  15% { transform: translate(-2%, 2%); }
  30% { transform: scale(0.96) translate(2%, -2%); }
  60% { transform: translate(5%, 5%); }
  80% { transform: scale(1) translate(-3%, -3%); }
}

/* main title */
.hero__message-title {
  font-family: 'Sacramento', cursive;
  color: #fff;
  font-size: 4rem;
  position: absolute;
  bottom: 38%;
  left: 25%;
  text-shadow: 3px 3px 2px #707070;
}

/* subtitle */
.hero__message-sub {
  color: #fff;
  font-size: 1.5rem;
  line-height: 3rem;
  position: absolute;
  bottom: 37%;
  left: 25%;
  max-width: 900px;
  text-shadow: 3px 3px 2px #707070;
}

/* description */
.hero__message {
  color: #fff;
  font-size: 1.4rem;
  line-height: 2rem;
  position: absolute;
  bottom: 28%;
  left: 27%;
  max-width: 700px;
  text-shadow: 3px 3px 2px #707070;
}


.entry-hero,
.entry-section {
  max-width: 800px;
  margin: 0 auto 40px;
  padding: 0 20px;
  line-height: 1.8;
}

.entry-hero h1 {
  font-size: 2rem;
  margin-bottom: 10px;
  text-align: center;
}

/* =========================
   Entry Page Base
========================= */
.entry-section {
  width: 80%;               /* ← 箇条書きの丸が近くなる */
  margin: 0 auto 60px;      /* ← 中央寄せ＋余白 */
  padding: 35px 30px;
  border-radius: 20px;      /* ← 窓を丸める */
  text-align: left;         /* ← 左寄せを確実にする */
  font-size: 1.4rem;        /* ← 全体的に大きめ */
  line-height: 1.8;
}

/* =========================
   Section Blocks
========================= */
.page-block {
  margin-bottom: 60px; /* ← 項目間の余白を広めに */
  padding: 30px 25px;
  border-radius: 16px;
}

/* =========================
   Background Color Variations
========================= */
.entry-section:nth-child(3) { background: rgba(224,199,123,0.25); }
.entry-section:nth-child(4) { background: rgba(168,132,90,0.18); }
.entry-section:nth-child(5) { background: rgba(123,180,180,0.20); }
.entry-section:nth-child(6) { background: rgba(219,179,132,0.20); }
.entry-section:nth-child(7) { background: rgba(200,200,200,0.20); }

/* =========================
   Headings (h2)
========================= */
.entry-section h2 {
  font-size: 2rem;          /* ← 少し大きめ */
  font-weight: 700;         /* ← 太字 */
  margin-bottom: 20px;
  padding-bottom: 8px;      /* ← 下線との距離 */
  border-bottom: 3px solid #4CAF50; /* ← シンプルな下線 */
  background: none;         /* ← 背景色を消す */
  border-left: none;        /* ← 左線も消す */
  border-radius: 0;         /* ← 角丸も不要 */
}

/* =========================
   Lists
========================= */
.entry-section ul {
  list-style: disc !important;
  padding-left: 1.4rem !important;
  margin-left: 0 !important;
}

.entry-section li {
  margin-bottom: 12px;
  line-height: 1.8;
  margin-left: 0 !important;
  padding-left: 0 !important;
}


/* =========================
   Form Button
========================= */
.entry-form {
  text-align: center;
  margin: 50px 0;
}

.entry-button {
  display: inline-block;
  background: #4CAF50;
  color: #fff;
  padding: 15px 30px;
  border-radius: 8px;
  font-size: 1.6rem;
  text-decoration: none;
  transition: background 0.3s;
}

.entry-button:hover {
  background: #43a047;
}