* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: "Segoe UI", sans-serif;
  color: #333;
  overflow-x: hidden;
}

/* 背景動画 */
#bg-video {
  position: fixed;
  top: 0; left: 0;
  width: 100vw; height: 100vh;
  object-fit: cover;
  z-index: -1;
  pointer-events: none;
}

/* ヘッダー固定 */
header {
  position: fixed;
  top: 0; left: 0;
  width: 100%;
  padding: 1em 2em;
  background: transparent;
  box-shadow: none;
  display: flex; justify-content: space-between; align-items: center;
  z-index: 10;
}

.logo { display: flex; align-items: center; }
.logo { background: rgba(255,255,255,.9); padding: .5em 1em; border-radius: 999px; box-shadow: 0 2px 8px rgba(0,0,0,.1); backdrop-filter: blur(4px); }
.logo img { height: 40px; margin-right: 10px; border-radius: 50%; }

.nav-buttons { display: flex; align-items: center; }
.nav-buttons { background: rgba(255,255,255,.9); padding: .5em 1em; border-radius: 999px; box-shadow: 0 2px 8px rgba(0,0,0,.1); backdrop-filter: blur(4px); }
.nav-buttons button, .nav-buttons select {
  margin-left: 1em; padding: .5em 1em;
  border: 1px solid #007acc; background: #fff; color: #007acc;
  border-radius: 5px; cursor: pointer; transition: .2s;
}
.nav-buttons button:hover { background: #007acc; color: #fff; }

/* セクション共通 */
section {
  padding: 10em 2em 7em;
  margin: 8em auto 4em;
  display: none;
  max-width: 1000px;
  border-radius: 30px;
  background: radial-gradient(ellipse at center, rgba(255,255,255,.9) 60%, rgba(255,255,255,.6) 100%);
  box-shadow: 0 0 50px rgba(255,255,255,.3);
}
section.active { display: block; }
section h2 { margin-top: 0; }

/* 作品カード */
.works { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 1.5em; }
.card { background: #fff; border-radius: 10px; box-shadow: 0 4px 8px rgba(0,0,0,.1); overflow: hidden; }
.card iframe, .card video { width: 100%; aspect-ratio: 16/9; }
.card .desc { padding: 1em; }

/* 横スクロールギャラリー */
.scroll-gallery { display: flex; overflow-x: auto; gap: 1em; padding: 1em 0; }
.scroll-gallery img, .scroll-gallery video { height: 280px; border-radius: 10px; flex-shrink: 0; }

/* FanArt */
.fanart-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(400px, 1fr)); gap: 2em; margin-top: 2em; padding: 0 1em; }
.fanart-card { background: rgba(255,255,255,.9); border-radius: 10px; padding: 1em; box-shadow: 0 4px 10px rgba(0,0,0,.1); text-align: center; }
.fanart-card img { width: 100%; max-height: 500px; object-fit: contain; border-radius: 8px; }
.fanart-card .caption { font-size: 1em; margin-top: .5em; color: #555; }

/* プロフィール */
#profile { padding: 6em 2em 4em; max-width: 1200px; margin: 0 auto; }
.profile-flex { display: flex; flex-wrap: wrap; align-items: center; gap: 2em; }
.profile-img { max-width: 480px; height: auto; flex-shrink: 0; }
.profile-text { flex: 1; font-size: 1.1em; line-height: 1.7; white-space: pre-line; }
.profile-text h2 { font-size: 2em; margin-bottom: .2em; }
.profile-text h3 { font-weight: normal; font-style: italic; color: #555; margin-bottom: 1em; }
.social-title {
  margin-top: 2.5em;
  margin-bottom: 0.0em;
  font-size: 1.1em;
  font-weight: bold;
  color: #444;
}

.social-links {
  display: flex;
  gap: 2em;
}

.social-links a {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  color: #333;
  font-size: 0.9em;
}

.social-links .social-label {
  margin-bottom: 0.3em;
  font-weight: bold;
}

.social-links a img {
  width: 32px;
  height: 32px;
  transition: transform 0.2s ease;
}

.social-links a:hover img {
  transform: scale(1.1);
}

/* PROFILEの下に余白 */
#about-profile {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 1.5em;
  margin-top: 2em;
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  background: transparent;

  /* キャラ画像を右側に配置 */
  background-image: url("img/background_chibi2.png");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: auto 90%;
}

/* テキスト側 */
#about-profile .content {
  max-width: 60%;
  z-index: 1;
}

#about-profile p {
  white-space: pre-line;
}

/* 年表ブロック */
#timeline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 2em;
  padding: 1.5em;
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  background: rgba(255, 255, 255, 0.9);
}
.timeline-content { flex: 1 1 300px; }
.timeline-content h2 { font-size: 1.4em; margin-bottom: 0.5em; }
.timeline-content ul { list-style: none; padding: 0; margin: 0; }
.timeline-content li { margin-bottom: 0.4em; font-size: 1em; }

/* 年表画像 */
.timeline-image { flex: 0 0 250px; text-align: center; }
.timeline-image img { max-width: 100%; height: auto; border-radius: 8px; }

/* フッター固定 */
footer { position: fixed; bottom: 0; left: 0; width: 100%; text-align: center; padding: 1em; background: rgba(240,240,240,.9); z-index: 10; }

/* Weekly Schedule 画像合成 */
#weekly-schedule-container {
  position: relative;
  width: 100%;
  max-width: 1366px;
  margin: 2em auto;
  background: url('./img/スケジュール.png') no-repeat center/contain;
  aspect-ratio: 1365 / 768;
}

/* 縦書きテキスト */
.day-box {
  position: absolute;
  width: 10%;
  height: 60%;
  top: 18%;
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-size: 1.2em;
  white-space: pre-wrap;
  overflow-wrap: break-word;
  font-family: 'Kiwi Maru', sans-serif;
  font-weight: bold;
  text-align: center;
  line-height: 1.6;
  color: #333;
}

/* 猫手の列に合わせて微調整 */
#mon { top: 30%; left: 0%; }
#tue { top: 40%; left: 9%; }
#wed { top: 30%; left: 18%; }
#thu { top: 40%; left: 27%; }
#fri { top: 30%; left: 36%; }
#sat { top: 40%; left: 45%; }
#sun { top: 30%; left: 54%; }
