:root{
  --cream:#FAF7F0; --charcoal:#2E2E28; --sage:#6B8E5A; --sage-dark:#4A7C59;
  --terracotta:#C97B5A; --line:#E3DDD0; --card:#FFFDF9; --muted:#7a7568;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--charcoal);
  font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Hiragino Sans",sans-serif;
  line-height:1.85;font-size:16px}
.wrap{max-width:720px;margin:0 auto;padding:32px 20px 72px}
h1,h2,h3{font-family:"Zen Maru Gothic","Hiragino Maru Gothic ProN",sans-serif;
  color:var(--sage-dark);line-height:1.45}
h1{font-size:1.7rem;margin:0 0 6px}
h2{font-size:1.18rem;margin:34px 0 8px;border-bottom:1px solid var(--line);padding-bottom:6px}
h3{font-size:1.02rem;margin:18px 0 4px;color:var(--charcoal)}
a{color:var(--sage-dark);text-underline-offset:2px}
a:hover{color:var(--terracotta)}
p{margin:8px 0}
.sub{color:var(--muted);margin:0 0 24px}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px 22px;margin:18px 0}
ul{padding-left:1.25em;margin:8px 0}
li{margin:4px 0}
label{display:block;margin:14px 0 4px;font-weight:500}
input,textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;
  background:#fff;font:inherit;color:inherit}
input:focus,textarea:focus{outline:none;border-color:var(--sage)}
textarea{min-height:130px;resize:vertical}
button{margin-top:18px;background:var(--sage);color:#fff;border:0;border-radius:12px;
  padding:12px 22px;font:inherit;font-weight:700;cursor:pointer}
button:hover{background:var(--sage-dark)}
.muted{color:var(--muted);font-size:.92rem}
.back{display:inline-block;margin-top:28px;font-weight:500}
footer{margin-top:52px;color:#9a9488;font-size:.85rem;border-top:1px solid var(--line);padding-top:16px}
.hp{position:absolute;left:-9999px}
