/* 年間のねらい＋ご連絡 */
.info-box {background-color: #fff7f3; padding: 20px 25px; border-radius: 12px; margin-bottom: 40px;}
.info-item {display: flex; align-items: flex-start; gap: 15px; margin-bottom: 20px;}
.info-icon {font-size: 2rem; background-color: #ffe6e0; width: 50px; height: 50px; border-radius: 50%; display: flex; justify-content: center; align-items: center; flex-shrink: 0; box-shadow: 0 2px 4px rgba(0,0,0,0.1);}
.info-title {font-weight: bold; font-size: 1.25rem; margin-bottom: 6px;}
.goal-title { color: #ff6b6b; }
.contact-title { color: #ff5c5c; }
.milky-info .notice {margin-top: 40px;}
.milky-info p {font-family:'Zen Maru Gothic',sans-serif; font-size:1.05rem; line-height:1.8; color:#333; margin-bottom:20px;}

/* 学期ヘッダー */
.term-header {
  display: block;
  width: 100%;
  padding: 15px 0;
  border-radius: 12px;
  font-weight: bold;
  font-size: 1.3rem;
  margin-bottom: 20px;
  color: #fff;
  text-align: center;
}

/* 2学期カラー */
.term2 .term-header {
  background-color: #81c784;
}

/* 3学期カラー */
.term3 .term-header {
  background-color: #f44336;
}
.term-time {
  font-size: 1.3rem;
  color: #333; 
  margin: 8px 0 0;
  text-align: center;
  font-weight: bold;
}

/* 学期予定カード */
.term-table {display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:20px;}
.term-date {display:flex; align-items:center; gap:8px; font-weight:bold; font-size:1.2rem; padding:10px 16px; border-radius:12px; box-shadow:0 2px 4px rgba(0,0,0,0.1); transition: transform 0.2s, background-color 0.3s, color 0.3s; color:#000;}
.term-icon {display:inline-block; font-size:1.3rem;}

/* 2学期カラー */
.term2 .term-date {background-color:#d0f0c0;}
.term2 .term-date:hover {transform:translateY(-2px); background-color:#81c784; color:#fff;}
/* 3学期カラー */
.term3 .term-date {background-color:#ffdada;}
.term3 .term-date:hover {transform:translateY(-2px); background-color:#f44336; color:#fff;}

/* レスポンシブ */
@media(max-width:768px){
  .term-date {font-size:1rem; padding:8px 12px;}
  .term-icon {font-size:1.1rem;}
  .term-header {font-size:1.1rem; padding:8px 20px;}
}

/* PDF用ヘッダー */
.pdf-section {
  text-align: center;
  margin-top: 40px;
  display: block;
}

.pdf-preview {
  max-width: 400px;
  width: 80%;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  margin: 0 auto 20px;
  display: block;
}

.pdf-link-large {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background-color: #ffe6e0;
  padding: 14px 20px;
  border-radius: 16px;
  font-weight: bold;
  font-size: 1.2rem;
  color: #ff5c5c;
  text-decoration: none;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  transition: background-color 0.3s;
  margin: 0 auto;
}

.pdf-link-large img {
  width: 28px;
  height: 28px;
}

.pdf-link-large:hover {
  background-color: #ffb3b3;
}
.pdf-header {
  display: block;
  width: 100%;
  padding: 15px 0;
  border-radius: 12px;
  font-weight: bold;
  font-size: 1.3rem;
  margin-bottom: 20px;
  color: #fff;
  text-align: center;
  background-color: #ff8c42;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}