body{
font-family: "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
margin:0;
line-height:1.7;
color:#333;
background:#f5f7fa;
}

header{
background:#0b3a5b;
color:white;
padding:35px 20px;
}

header h1{
margin:0;
font-size:26px;
}

header p{
margin:5px 0 0;
opacity:0.9;
}

nav{
background:white;
border-bottom:1px solid #ddd;
padding:15px 20px;
}

nav a{
margin-right:20px;
text-decoration:none;
color:#0b3a5b;
font-weight:600;
}

.container{
max-width:1100px;
margin:auto;
padding:50px 20px;
}

.hero{
background:linear-gradient(135deg,#0b3a5b,#1c6ea4);
color:white;
padding:100px 20px;
text-align:center;
}

.hero h2{
font-size:34px;
margin-bottom:10px;
}

.section-title{
border-left:5px solid #1c6ea4;
padding-left:12px;
margin-bottom:25px;
}

.grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:30px;
}

.card{
background:white;
padding:30px;
border-radius:10px;
box-shadow:0 8px 20px rgba(0,0,0,0.05);
}

.table{
width:100%;
border-collapse:collapse;
}

.table th{
background:#eef3f8;
text-align:left;
padding:12px;
width:220px;
}

.table td{
padding:12px;
border-bottom:1px solid #eee;
}

.work{
background:white;
padding:25px;
border-radius:10px;
border:1px solid #eee;
margin-bottom:20px;
}

.contact{
background:white;
padding:40px;
border-radius:10px;
text-align:center;
box-shadow:0 8px 20px rgba(0,0,0,0.05);
}

footer{
background:#0b3a5b;
color:white;
text-align:center;
padding:25px;
margin-top:60px;
}

@media(max-width:800px){
.grid{
grid-template-columns:1fr;
}
.hero h2{
font-size:26px;
}
}

.card h3{
margin-top:0;
color:#0b3a5b;
font-size:18px;
}

.card ul{
padding-left:18px;
margin:10px 0 0;
}

.card li{
margin-bottom:6px;
}


@media(max-width:600px){

.table th,
.table td{
    display:block;
    width:100%;
}

.table th{
    background:#eef3f8;
    border-bottom:none;
}

.table td{
    border-bottom:1px solid #eee;
    margin-bottom:15px;
}

.table tr{
    display:block;
    margin-bottom:20px;
}

nav{
    text-align:center;
}

nav a{
    display:inline-block;
    margin:8px 10px;
}

.container{
    padding:30px 15px;
}

header{
    padding:25px 15px;
}

header h1{
    font-size:20px;
}
}

