/* ================================================
   基本設定
================================================ */
* {
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: 0;
  background: #d0ffe2;
  font-family: "Helvetica", "Arial", sans-serif;
  color: #333;
}

/* ================================================
   ヘッダー
================================================ */
.site-header {
  background: #306c5e;
  color: white;
  padding: 15px 0;
}

.header-inner {
  width: 90%;
  max-width: 1000px;
  margin: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.site-title {
  margin: 0;
  font-size: 20px;
}

.nav-menu {
  margin-top: 10px;
}

.nav-menu a {
  color: white;
  margin: 0 10px;
  text-decoration: none;
  font-size: 14px;
}

@media (min-width: 800px) {
  .header-inner {
    flex-direction: row;
    justify-content: space-between;
  }
  .nav-menu {
    margin-top: 0;
  }
}

/* ================================================
   メインコンテンツ
================================================ */
.container {
  width: 90%;
  max-width: 1000px;
  margin: 25px auto;
}

/* ===============================
   単体の大きい見せびらかし画像
================================ */
.hero-image {
  width: 100%;
  max-width: 1000px; /* PCでは大きめ表示 */
  margin: 0 0 0 0;
  text-align: center;
}

.hero-image img {
  width: 100%;        /* 画面幅にフィット */
  height: auto;       /* アスペクト比保持 */
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

/* スマホ対応 */
@media (max-width: 600px) {
  .hero-image img {
    width: 100%;
    border-radius: 8px;
  }
}

/* ================================================
   カード（全セクション共通）
================================================ */
.card {
  background: rgb(164, 211, 113);
  border-radius: 10px;
  padding: 20px;
  margin-bottom: 25px;
  box-shadow: 0 3px 8px rgba(0,0,0,0.15);
}

.card h2 {
  padding: 15px;
  padding-bottom: 15px;
  text-align: center;
}

/* ================================================
   INFO
================================================ */
.info {
  background: rgb(255, 222, 176);
  border-radius: 60px;
  padding: 20px;
  margin-top: 75px;
  margin-bottom: 75px;
}

.info h2 {
  padding: 15px;
  padding-bottom: 45px;
  text-align: center;
}

/* ================================================
   ABOUT セクション
================================================ */
.about-content {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.about-content img {
  width: 100%;
  border-radius: 10px;
  display: block;
  margin: 0 auto;
}

@media (min-width: 800px) {
  .about-content {
    flex-direction: row;
  }
  .side-picture img {
    width: 260px;
    flex-shrink: 0;
  }
}

/* ================================================
   風真いろはファンサイト
================================================ */
.iroha1 {
  color: #000000;
  background: url(iroha/images/iroha1.png);
  background-size: cover;
  background-repeat: no-repeat;
  padding: 100px;
  border-radius: 10px;
  text-align: center;
  opacity: 0.75;
  transition: transform 0.5s ease, box-shadow 0.3s ease;
  text-decoration: none;/
  color: inherit;
}

.iroha1:hover {
  transform: translateY(-6px);
  box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

.iroha1 h2 {
  margin: 10px;
  margin-bottom: 24px;
  color: #108477;
}

/* ================================================
   モンスト
================================================ */
.mnst1 {
  position: relative;
  background: url(monst/images/mnst1.png);
  background-size: cover;
  background-repeat: no-repeat;
  padding: 100px;
  border-radius: 10px;
  text-align: center;
  transition: transform 0.5s ease, box-shadow 0.3s ease;
}

/* 背景だけ薄くするレイヤーを追加 */
.mnst1::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.7); /* ← 白で薄く（不透明度調整OK） */
  border-radius: inherit;
  z-index: 0; /* 背景側 */
}

/* 中の文字や要素は前面に */
.mnst1 > * {
  position: relative;
  z-index: 1;
}

.mnst1:hover {
  transform: translateY(-6px);
  box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

.mnst1 h2 {
  margin: 10px;
  margin-bottom: 24px;
  color: #000;
}

/* ================================================
   Minecraft
================================================ */
.mc1 {
  color: #000000;
  background: url(mc/images/mc1.png);
  background-size: cover;
  background-repeat: no-repeat;
  padding: 100px;
  border-radius: 10px;
  text-align: center;
  opacity: 0.75;
  transition: transform 0.5s ease, box-shadow 0.3s ease;
}

/* ================================================
   相互リンク
================================================ */
.link-list {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

/* リンクカード本体 */
.link-card {
  display: flex;
  flex-direction: column;
  background: #d0ffe2;
  border-radius: 10px;
  padding: 15px;
  text-decoration: none;
  color: #222;
  min-height: 75px;     /* ← 高さを統一 */
  border-left: 12px solid #703a8c; /* デフォルト（offline） */
  transition: 0.2s;
  margin: 0 auto 25px auto;
  transition: transform 0.5s ease, box-shadow 0.3s ease; /* アニメーション */
}

.link-card:hover {
  transform: translateY(-6px); /* 少し傾けることも可能 */
  box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

/* カード内タイトル */
.link-card h3 {
  margin: 0;
  margin-bottom: 8px;
}

/* バナー画像 */
.link-card img {
  width: 175px;
  margin-top: 10px;
  display: block;
}

/* オンライン状態（JS で付与） */
.online {
  border-left-color: #2ecc71 !important; /* 明るい緑 */
}

/* オフライン状態（JS 既定の色） */
.offline {
  border-left-color: #e74c3c !important; /* 赤 */
}

/* PC では横並びカードにする */
@media (min-width: 800px) {
  .link-card {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

/* ================================================
   フッター
================================================ */
.footer {
  text-align: center;
  padding: 20px;
  font-size: 14px;
  color: #555;
}
