/* 基本リセット */
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family: 'Inter', sans-serif; background:#fff; color:#111; line-height:1.6; }

/* 共通セクション */
section { max-width:900px; margin:0 auto; padding:50px 20px; }
h2 { font-weight:600; margin-bottom:20px; font-size:1.6rem; position:relative; }
h2::after {
  content:"";
  display:block;
  width:50px;
  height:3px;
  background:#1E40AF;
  margin-top:8px;
  border-radius:2px;
}
a{
    color: #555;
    text-decoration: none;
    transition: color 0.2s;
    
}
a:hover{
    color: #555;
}
/* nav */
.navbar {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 50px;
  position: sticky;
  top: 0;
  padding: 10px 0;
  z-index: 10;
}

/* リンク */
.navbar a {
  text-decoration: none;
  color: #1E40AF;
  font-weight: 500;
  font-size: 0.95rem;
  transition: color 0.2s;
}

.navbar a:hover {
  color: #3749A3;
}
/* Divider */
.divider { height:1px; background:#e5e5e5; margin:40px 0; }

/* Hero */
header {
  text-align:center;
  padding:60px 20px;
  background: linear-gradient(135deg, #e0f2ff 0%, #ffffff 100%);
}
header h1 { font-family:'JetBrains Mono', monospace; font-size:2.2rem; margin-bottom:10px; }
header h2 { font-weight:400; color:#1E40AF; font-size:1.1rem; margin-bottom:10px; }
header p { color:#555; font-size:0.95rem; max-width:400px; margin:0 auto; }

/* Skills（縦リストに戻す）*/
ul { list-style:none; padding-left:0; }
li { margin-bottom:10px; font-size:0.95rem; }

/* Projects（シンプルカード）*/
.projects-container {
  display: grid;
  grid-template-columns: 1fr; /* PCでも1列のままシンプル */
  gap:20px;
}
.project{
    margin: 1em;
}
.project h3 { margin-bottom:8px; font-size:1.1rem; }
.project p { color:#555; font-size:0.95rem; }

/* Contact */
#contact { font-size:0.95rem; color:#555; }



/* レスポンシブ */
@media (max-width:600px) {
  header h1 { font-size:1.8rem; }
  header h2 { font-size:1rem; }
  header p { font-size:0.9rem; }
  li { font-size:0.9rem; }
  .navbar {
    gap: 12px;
    padding: 8px 0;
  }
  .navbar a { font-size: 0.9rem; }
}
