@charset "UTF-8";

/* ==========================================
   README専用 基本設定 & 背景
   ========================================== */
html {
  height: 100%;
}

body {
  margin: 0;
  padding: 0;
  min-height: 100vh;
  background-color: #070a14;
  color: #ffffff;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Hiragino Kaku Gothic ProN", "メイリオ", meiryo, sans-serif;
  font-weight: 200;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.8;
}

/* 通常のリンク色 */
a {
  color: #c1c1ff;
  text-decoration: underline;
}

a:hover {
  color: #ffc1ff;
}

/* ==========================================
   英語規約用リンク（文字サイズ拡大＆オリジナル3色）
   ========================================== */
a.english-link {
  color: #4a90e2 !important; /* 通常時：鮮やかなブルー */
  text-decoration: underline !important;
  font-size: 1.25em !important; /* 文字サイズを大きく！ */
  font-weight: 400 !important;
  transition: color 0.3s;
  display: inline-block;
}

a.english-link:visited {
  color: #00a3af !important; /* 訪問後：ターコイズブルー */
}

a.english-link:hover {
  color: #999999 !important; /* オンマウス時：グレー */
}

a.english-link:active {
  color: #00a3af !important;
}

/* ==========================================
   レイアウト・文章エリア
   ========================================== */
.container {
  max-width: 800px;
  margin: 0 auto;
  padding: 40px 20px;
  box-sizing: border-box;
  text-align: left;
}

/* 利用規約（h1）：文字色白、オリジナル点線 */
h1 {
  font-size: 24px;
  font-weight: 300;
  letter-spacing: 0.12em;
  color: #ffffff;
  text-align: center;
  margin-bottom: 25px;
  padding-bottom: 20px;
  background-image: linear-gradient(to right, #ffffff 20%, transparent 20%);
  background-size: 8px 1px;
  background-repeat: repeat-x;
  background-position: bottom;
}

/* 区切り線（<hr>）：オリジナルのドット点線 */
hr {
  border: none;
  height: 1px;
  background-image: linear-gradient(to right, #ffffff 20%, transparent 20%);
  background-size: 8px 1px;
  background-repeat: repeat-x;
  margin: 28px 0;
  clear: both;
}

/* 通常の見出し */
h2 {
  font-size: 18px;
  font-weight: 300;
  letter-spacing: 0.1em;
  color: #e0c1ff;
  margin-top: 85px;
  margin-bottom: 18px;
  clear: both;
}

/* 【はじめに】専用の上余白指定（狭め） */
h2.first-h2 {
  margin-top: 20px !important;
}

/* 段落とリスト */
p, li {
  font-size: 15px;
  font-weight: 200;
  letter-spacing: 0.05em;
  color: #e0e0e0;
  line-break: strict;
  word-break: auto-phrase;
  overflow-wrap: break-word;
  text-align: left !important; /* 強制左寄せで右寄りを防止 */
}

p {
  margin-bottom: 1.2em;
}

ul, ol {
  padding-left: 20px;
}

li {
  margin-bottom: 8px;
}

/* トップに戻るボタン */
.back-btn {
  display: inline-block;
  margin-top: 40px;
  color: #bf92fc;
  text-decoration: none;
  font-weight: 200;
}

.back-btn:hover {
  text-decoration: underline;
}

/* ==========================================
   README用 スマホ表示設定 (画面幅600px以下)
   ========================================== */
@media screen and (max-width: 600px) {
  .container {
    padding: 20px 18px;
  }

  h1 {
    font-size: 22px;
    margin-bottom: 20px;
  }

  h2 {
    font-size: 18px;
    margin-top: 45px;
  }

  h2.first-h2 {
    margin-top: 15px !important;
  }

  p, li {
    font-size: 16px;
    line-height: 1.9;
  }
}