@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600&display=swap");

:root {
  --bg: #D6CECA;
  --text: #001427;
}

body {
  margin: 0;
  padding: 20px 20px;
  background: var(--bg);
  color: var(--text);
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  line-height: 1.7;
  letter-spacing: 0.03em;
}

a {
  color: inherit;
  text-decoration: underline;
}

a:hover {
  text-decoration: underline;
}

.container {
  max-width: 680px;
  margin-left: 100px;
  margin-top: 60px;

  min-height: calc(100vh - 80px); /* ← 画面の残り高さを使う */
  display: flex;                  /* ← 親をflexに */
  flex-direction: column;         /* ← 縦に積む */
}

.releases {
  font-size: 0.9em;
}

.nav {
  display: flex;
  gap: 8rem;          /* 好みで 6〜12rem */
  margin-top: 1.2em;
}

.nav a {
  font-size: 0.95rem;
  color: #001427;
}

/* スマホで余白とgapを縮める */
@media (max-width: 700px) {
  .container {
    margin-left: 20px;
    margin-right: 20px;
    margin-top: 40px;
  }

  .nav {
    gap: 2.5rem;
  }
}

.divider {
  margin: 1.5em 0 1.5em 0;      /* 上下の余白 */
  border-top: 1px dotted #9E2A2B;
  opacity: 0.7;
  width: 100px;                /* 線の長さ（短めがおすすめ） */
}


.footer {
  margin-top: auto;   /* ← これが魔法 */
  padding-top: 1.0em;
  font-size: 0.95rem;
  opacity: 0.9;
}


.cover {
  width: 80px;
  height: 80px;
  object-fit: cover;
  flex: 0 0 auto;
}

.portrait {
  width: 96px;          /* 小さめ */
  max-width: 40%;
  display: block;
  margin: 0 0 1.6em 0;   /* 下に少し余白 */
  opacity: 0.9;          /* ほんの少し抑える */
}

.social a {
  color: #012A36;
  font-size: 0.9em;
  text-decoration: underline;
}

.other-works-section {
  margin-top: 3em;
}

.other-works-section h2 {
  margin-bottom: 1em;
}

.work-item {
  margin-top: 1.5em;
  margin-bottom: 2em;
}

.work-item h3 {
  margin-bottom: 0.7em;
}

.work-details {
  margin-top: 0.3em;
  opacity: 0.85;
}

.work-link {
  margin-top: 0.5em;
}
