*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--forest:#1b4332;--sage:#95d5b2;--stone:#d8e2dc;--font-head:'Oswald',sans-serif}
body{font-family:'Noto Sans JP',sans-serif;background:var(--stone);color:var(--forest);position:relative}
img{max-width:100%;display:block;object-fit:cover}
a{color:var(--forest);font-weight:500}
.topo-bg{position:fixed;inset:0;z-index:-1;opacity:.15;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Cpath d='M0 50 Q25 20 50 50 T100 50' fill='none' stroke='%231b4332' stroke-width='.5'/%3E%3C/svg%3E") repeat}
.yama-head{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:var(--forest);color:#fff}
.yama-head h1{font-family:var(--font-head);letter-spacing:.1em;font-size:1.4rem}
.yama-head span{color:var(--sage)}
.yama-head nav{display:flex;gap:1.5rem}
.yama-head nav a{color:#fff;text-decoration:none;font-size:.9rem}
.elev-hero{padding:3rem 2rem}
.elev{font-family:var(--font-head);color:var(--sage);letter-spacing:.2em;font-size:.85rem}
.elev-hero h2{font-family:var(--font-head);font-size:clamp(2rem,5vw,3rem);margin-top:.5rem;line-height:1.2}
.gear-checklist{max-width:700px;margin:0 auto;padding:0 2rem 3rem}
.gear-item{margin-bottom:1rem;border:2px solid var(--forest);border-radius:8px;overflow:hidden;background:#fff}
.gear-item input{position:absolute;opacity:0}
.gear-item label{display:grid;grid-template-columns:100px 1fr auto auto;gap:1rem;align-items:center;padding:1rem;cursor:pointer}
.gear-item input:checked+label{background:rgba(149,213,178,.25)}
.gear-item img{width:100px;height:75px;border-radius:4px}
.gear-name{font-weight:600}
.gear-price{font-family:var(--font-head);font-size:1.1rem;color:var(--forest)}
.gear-item button{grid-column:4;background:var(--forest);color:#fff;border:none;padding:.5rem 1rem;cursor:pointer;border-radius:4px}
.trail-info{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;padding:2rem;max-width:1000px;margin:0 auto;align-items:center}
.trail-info img{border-radius:8px;max-height:320px;width:100%}
.legal-yama{padding:2rem;background:var(--forest);color:#fff;font-size:.88rem;margin-top:2rem}
.legal-yama h3,.legal-yama h4{color:var(--sage);margin-bottom:.5rem}
.legal-yama a{color:var(--sage)}
@media(max-width:640px){
  .gear-item label{grid-template-columns:80px 1fr;grid-template-rows:auto auto}
  .gear-item button{grid-column:2}
  .gear-price{grid-column:2}
  .trail-info{grid-template-columns:1fr}
}
