*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    background-color:#0a0a0a;
    color:white;
    font-family:"Hiragino Sans", sans-serif;
}

header{
    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:25px 60px;

    border-bottom:1px solid #333;
}

header h1{
    color:#d4af37;
    font-size:40px;
}

nav a{
    color:white;
    text-decoration:none;
    margin-left:30px;
    transition:0.3s;
}

nav a:hover{
    color:#d4af37;
}

img{
    max-width:100%;
    height:auto;
    display:block;
}

.hero{
    height:500px;

    display:flex;
    align-items:center;

    padding-left:80px;

    background:
    linear-gradient(
        rgba(0,0,0,.6),
        rgba(0,0,0,.6)
    ),
    url("https://images.unsplash.com/photo-1507676184212-d03ab07a01bf");

    background-size:cover;
    background-position:center;
}

.hero h2{
    font-size:60px;
    margin-bottom:20px;
}

.hero p{
    width:500px;
    line-height:1.8;
    margin-bottom:30px;
}

button{
    background:#e60012;
    color:white;

    border:none;

    padding:15px 35px;

    font-size:16px;

    border-radius:5px;

    cursor:pointer;
}

main{
    width:90%;
    max-width:1200px;

    margin:50px auto;

    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:30px;
}

.card{
    background:#111;

    padding:30px;

    border:1px solid #222;

    border-radius:10px;

    transition:.3s;
}

.timeline{
    white-space: pre-wrap;
    line-height: 1.8;
}

.card:hover{
    transform:translateY(-5px);
    border-color:#d4af37;
}

.timeline-box {
    background: #000;
    color: white;
    border: 3px solid #ffd700;
    border-radius: 15px;
    padding: 20px;
    width: 80%;
    margin: 30px auto;
}

.timeline-box h2 {
    color: #ffd700;
    font-size: 32px;
}

table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
}

th {
    color: #ffd700;
    border-bottom: 2px solid #ffd700;
    padding: 12px;
}

td {
    padding: 10px;
    border-bottom: 1px solid #555;
}

.boke {
    color: #ff6666;
}

.tsukkomi {
    color: #66ccff;
}

.intro {
    color: #99ff66;
}

.card h2{
    color:#d4af37;

    margin-bottom:15px;
}

.card h4 {
    margin-bottom: 15px;
}

img{
  cursor:pointer;
}

#overlay{
  display:none;
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:rgba(0,0,0,0.8);
  justify-content:center;
  align-items:center;
  z-index:999;
}

#overlay img{
  max-width:90%;
  max-height:90%;
  border-radius:10px;
}

.card p{
    line-height:1.8;
}

footer{
    text-align:center;

    padding:40px;

    border-top:1px solid #333;

    color:#888;
}