:root{--navy:#17324d;--teal:#1f7a7a;--cream:#fbf7f0;--ink:#1d2733;--line:#e4ddd0;--wa:#1a9d57;--amber:#fff8e6;--amber-border:#f0c040}
*{box-sizing:border-box}body{margin:0;font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--cream);padding-bottom:64px}
.w{max-width:1040px;margin:0 auto;padding:0 18px}a{color:var(--teal)}h1,h2,h3{color:var(--navy);line-height:1.25;margin:.2em 0 .5em}h1{font-size:clamp(1.7rem,5vw,2.5rem)}
header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.bar{display:flex;align-items:center;justify-content:space-between;min-height:60px;flex-wrap:wrap}
.logo{font-weight:800;color:var(--navy);text-decoration:none;font-size:1.25rem}.logo span{color:var(--teal);font-weight:600}
nav a{margin-left:14px;text-decoration:none;color:var(--ink);font-weight:600;padding:6px 2px}nav a.on{color:var(--teal);border-bottom:2px solid var(--teal)}
#mb{display:none;background:none;border:1px solid var(--line);border-radius:8px;font-size:1.3rem;padding:2px 10px;cursor:pointer}

.hero{background:var(--navy);color:#fff;padding:44px 0}.hero.s{padding:30px 0}.hero h1{color:#fff;margin-top:0}.hero p{max-width:620px;opacity:.95}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}
.hero-img{width:100%;height:auto;border-radius:16px;box-shadow:0 12px 28px rgba(0,0,0,0.25);border:2px solid rgba(255,255,255,0.15)}

.b{display:inline-block;background:var(--navy);color:#fff;text-decoration:none;font-weight:700;padding:11px 18px;border-radius:10px;border:0;font-size:1rem;cursor:pointer;margin:4px 6px 4px 0;transition:opacity .2s}
.b:hover{opacity:.9}.b.wa{background:var(--wa)}.b.sec{background:var(--teal)}
.hero .b:not(.wa):not(.sec){background:#fff;color:var(--navy)}
.cta{margin:18px 0 0}

section.w{padding-top:28px;padding-bottom:12px}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:16px;overflow:hidden}
.card.has-img{padding:0}
.card-img{width:100%;height:210px;object-fit:cover;display:block}
.card-body{padding:20px}

.notice-box{background:var(--amber);border:1px solid var(--amber-border);border-radius:10px;padding:14px 18px;margin:16px 0;font-size:.95rem;color:#5c4300}
.notice-box p{margin:4px 0}.notice-box strong{color:#3d2c00}

.img-caption{font-size:.82rem;color:#666;font-style:italic;margin-top:6px;display:block}

.g3{display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.g2{display:grid;gap:16px;grid-template-columns:1fr 1fr;align-items:start}

label{display:block;font-weight:600;margin-bottom:12px}
input,select,textarea{display:block;width:100%;margin-top:4px;padding:10px;border:1px solid #cfc7b8;border-radius:8px;font:inherit;background:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid var(--teal);border-color:var(--teal)}
.r{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.err{color:#b00020;font-weight:600;margin:10px 0 0}.sm{font-size:.88rem;opacity:.8}

.map{width:100%;height:280px;border:1px solid var(--line);border-radius:14px}
details{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 18px;margin-bottom:10px}
summary{cursor:pointer;font-weight:700;color:var(--navy);font-size:1.05rem}
details[open] summary{margin-bottom:10px}

footer{background:#fff;border-top:1px solid var(--line);margin-top:36px;padding:24px 0;text-align:center}footer p{margin:6px 0}
.fab{display:none}

@media(max-width:760px){
  .hero-grid{grid-template-columns:1fr}
  .g3,.g2{grid-template-columns:1fr}
  #mb{display:block}
  nav{display:none;width:100%;padding-bottom:10px}
  nav.open{display:block}
  nav a{display:block;margin:0;padding:10px 0;border-bottom:1px solid var(--line)}
  .fab{display:flex;position:fixed;bottom:0;left:0;right:0;gap:8px;padding:8px 12px;background:#fff;border-top:1px solid var(--line);z-index:20;box-shadow:0 -4px 12px rgba(0,0,0,0.1)}
  .fab .b{flex:1;text-align:center;margin:0;padding:12px 0}
}
