@font-face {
  font-family: "ComicNeue";
  src: url("https://fonts.gstatic.com/s/comicneue/v8/4UaErEJDsxBrF37olUeD_xHM.woff2") format("woff2");
  font-weight: 400;
}

body, * {
  font-family:
    "Comic Sans MS",
    "Comic Sans",
    "Comic Neue",
    cursive !important;
}

body {
  margin: 0;
  padding: 0;
  background: #f7cdd3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Ccircle cx='30' cy='30' r='28' fill='%23f9dbe0'/%3E%3C/svg%3E");
}

#page {
  max-width: 1000px;
  width: 92%;
  margin: 20px auto;
}

#header {
  background: #ffffff;
  border-radius: 20px;
  padding: 20px;
  height: 160px;
  position: relative;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

#jp-text {
  position: absolute;
  left: 30px;
  top: 50%;
  transform: translateY(-50%) rotate(3deg);
  font-size: 48px;
  line-height: 1.1;
  font-weight: bold;
  opacity: 0.6;
}

#logo-text {
  text-align: center;
  font-size: 58px;
  position: relative;
  top: 15px;
}

.subtitle {
  font-size: 16px;
  margin-top: 5px;
}

#character {
  position: absolute;
  right: -50px;
  top: -40px;
}

#character img {
  height: 240px;
}

#content {
  background: #ffffff;
  margin-top: 30px;
  padding: 30px;
  border-radius: 20px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

h1 { font-size: 24px; }
h2 { font-size: 18px; margin-top: 30px; }
p { line-height: 1.6; }

.footer {
  font-size: 11px;
  color: #555;
}

.kaomoji-snow {
  position: fixed;
  top: -40px;
  color: rgba(0, 0, 0, 0.35);
  pointer-events: none;
  user-select: none;
  z-index: 9999;
  animation-name: fall;
  animation-timing-function: linear;
}

@keyframes fall {
  from { transform: translateY(0); }
  to { transform: translateY(110vh); }
}

@media (max-width: 768px) {

  #header {
    height: auto;
    padding: 25px 20px 35px;
  }

  #jp-text {
    font-size: 34px;
    left: 15px;
    opacity: 0.5;
  }

  #logo-text {
    font-size: 34px;
    top: 25px;
  }

  .subtitle {
    font-size: 14px;
  }

  #character {
    right: -15px;
    top: -15px;
  }

  #character img {
    height: 150px;
  }

  #content {
    padding: 22px;
  }
}

@media (max-width: 768px) {
  #character img {
    height: 138px;
  }
}

