
body {

  font-family: "Rounded Mplus 1c", "Hiragino Maru Gothic ProN", sans-serif;

  margin: 0;

  padding: 0;

  background: #fffaf4;

  color: #4a3c2a;

  text-align: center;

}




/* ①タイトル */

.title {

  background: linear-gradient(135deg, #ffcf7f, #ffe6b3);

  border-bottom: 4px solid #ffb347;

  padding: 25px 10px;

  border-radius: 0 0 25px 25px;

  box-shadow: 0 4px 10px rgba(255, 180, 80, 0.25);

}




.title h1 {

  font-size: 2rem;

  color: #d56f00;

  text-shadow: 1px 1px 2px #fff;

  margin: 0;

}




/* ②メインビジュアル */

.main-visual img {

  width: 85%;

  max-width: 700px;

  border-radius: 25px;

  margin: 25px auto;

  display: block;

  box-shadow: 0 6px 12px rgba(255, 180, 80, 0.35);

  border: 3px solid #ffe2b3;

}




/* ✅③と④を横並びに配置 */

.content-section {

  display: flex;

  justify-content: center;

  align-items: flex-start;

  gap: 40px;

  flex-wrap: wrap;

  margin: 40px auto;

  max-width: 1100px;

}




/* ③キャラ画像 */

.side-image img {

  width: 300px;

  border-radius: 25px;

  box-shadow: 0 6px 12px rgba(255, 180, 80, 0.35);

  border: 3px solid #ffe2b3;

}




/* ✅③-2 キャラ名と説明 */

.character-info {

  text-align: center;

  margin-bottom: 15px;

  background-color: #fff9ef;

  border-radius: 20px;

  padding: 10px 15px;

  box-shadow: 0 3px 8px rgba(255, 170, 60, 0.25);

  border: 2px solid #ffd39b;

}




.character-info h3 {

  margin: 0;

  font-size: 1.4em;

  color: #ff8b00;

  font-weight: bold;

}




.character-info p {

  margin-top: 6px;

  font-size: 0.95em;

  color: #555;

  line-height: 1.5;

}




/* ④更新情報（吹き出し） */

.updates {

  flex: 1;

  min-width: 280px;

  background: #fff;

  border-radius: 25px;

  padding: 25px 20px;

  box-shadow: 0 5px 10px rgba(255, 180, 80, 0.3);

  text-align: center;

  margin: 0;

}




.updates h2 {

  font-size: 1.4rem;

  margin-bottom: 20px;

  color: #e67e22;

}




.updates ul {

  list-style: none;

  padding: 0;

  margin: 0;

}




.updates li {

  margin: 15px 0;

}




.balloon {

  display: inline-block;

  background: #fff5e6;

  border: 2px solid #ffb347;

  border-radius: 20px;

  padding: 10px 25px;

  position: relative;

  color: #d46a00;

  font-weight: bold;

  transition: 0.3s;

}




.balloon::after {

  content: "";

  position: absolute;

  bottom: -12px;

  left: 30px;

  border: 10px solid transparent;

  border-top-color: #ffb347;

}




.balloon:hover {

  background: #ffe9c6;

  transform: scale(1.05);

}




/* あそび部分 */

.decoration {

  font-size: 1.5rem;

  margin: 40px 0 20px;

  color: #e67e22;

  text-shadow: 1px 1px 2px #fff;

}




/* ⑤⑥リンク画像 */

.link-images {

  display: flex;

  justify-content: center;

  flex-wrap: wrap;

  gap: 25px;

  margin-bottom: 40px;

}




.link-images a img {

  width: 230px;

  border-radius: 20px;

  box-shadow: 0 6px 12px rgba(255, 180, 80, 0.3);

  transition: all 0.3s ease;

  border: 3px solid #ffe2b3;

}




.link-images a img:hover {

  transform: translateY(-5px) scale(1.05);

}




/* ⑦フッター画像 */

.footer-image img {

  width: 100%;

  max-height: 220px;

  object-fit: cover;

  border-radius: 25px 25px 0 0;

  box-shadow: 0 -4px 10px rgba(255, 180, 80, 0.3);

}




/* スマホ対応 */

@media screen and (max-width: 768px) {

  .balloon {

    font-size: 0.9rem;

    padding: 8px 18px;

  }

  .link-images a img {

    width: 80%;

  }

}