
:root{
  --brand-blue:#071540;
  --brand-gold:#d4af37;
  --bg:#f6f7fb;
  --card:#ffffff;
  --muted:#6b7280;
  --radius:12px;
}
*{box-sizing:border-box}
body{font-family: 'Noto Sans JP', Arial, sans-serif; margin:0; background:var(--bg); color:#0d1b2a;}
.header{background:linear-gradient(180deg,var(--brand-blue),#0b274e); color:white; padding:36px 20px; text-align:center}
.header h1{margin:0;font-size:28px;letter-spacing:1px}
.header p{margin-top:8px;opacity:0.9}
nav a{color:rgba(255,255,255,0.95);margin:0 12px;text-decoration:none;font-weight:600}
.container{max-width:1100px;margin:0 auto;padding:28px}
.hero{background:var(--brand-blue); color:white; padding:48px; border-radius:14px; box-shadow:0 10px 30px rgba(7,21,64,0.15); display:flex; gap:24px; align-items:center}
.hero .left{flex:1}
.hero h2{margin:0 0 12px 0;font-size:28px;color:var(--brand-gold)}
.hero p{margin:0;color:#e6eefb}
.hero .img{width:420px;border-radius:12px;overflow:hidden}
.section{margin-top:40px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.card{background:var(--card);padding:20px;border-radius:var(--radius);box-shadow:0 6px 18px rgba(10,20,40,0.06)}
.services .icon{font-size:30px;color:var(--brand-gold)}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.gallery img{width:100%;height:180px;object-fit:cover;border-radius:8px;display:block}
.faq dd{margin-bottom:14px}
.footer{background:var(--brand-blue);color:#dbe9ff;padding:28px;text-align:center;margin-top:40px}
.badge{display:inline-block;background:#ffffff11;padding:6px 10px;border-radius:999px;border:1px solid #ffffff22;color:#fff;font-weight:700}
@media(max-width:900px){
  .hero{flex-direction:column}
  .hero .img{width:100%}
}
