body{
    margin:0;
    font-family:Arial,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
    background:#f5f6f8;
    color:#222;
}

a{
    color:inherit;
}

.site-header{
    background:#111;
    color:#fff;
}

.header-inner{
    max-width:1100px;
    margin:0 auto;
    padding:14px 16px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.logo{
    font-size:20px;
    font-weight:700;
    text-decoration:none;
}

.nav a{
    font-size:14px;
    text-decoration:none;
}

.main{
    max-width:1100px;
    margin:0 auto;
    padding:24px 16px 40px;
}

.hero{
    background:#fff;
    border:1px solid #ddd;
    border-radius:12px;
    padding:28px 22px;
    margin-bottom:22px;
}

.hero h1{
    margin:0 0 10px;
    font-size:30px;
}

.hero p{
    margin:0;
    color:#555;
    line-height:1.7;
}

.section{
    background:#fff;
    border:1px solid #ddd;
    border-radius:12px;
    padding:20px;
}

.section h2{
    margin:0 0 16px;
    font-size:22px;
}

.card-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
}

.card{
    display:block;
    padding:16px;
    background:#fafafa;
    border:1px solid #ddd;
    border-radius:10px;
    text-decoration:none;
}

.card strong{
    display:block;
    margin-bottom:6px;
    font-size:16px;
}

.card span{
    font-size:13px;
    color:#777;
}

.site-footer{
    max-width:1100px;
    margin:0 auto;
    padding:20px 16px;
    color:#777;
    font-size:13px;
}

@media(max-width:800px){
    .card-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:520px){
    .card-grid{
        grid-template-columns:1fr;
    }

    .hero h1{
        font-size:24px;
    }
}