:root{
  --cream:#FFF9F2;
  --paper:#FFFCF8;
  --ink:#403A36;
  --muted:#7E746D;
  --line:#EDE4DB;
  --sun:#F6C255;
  --mint:#E5F2EB;
  --lav:#EEE7F5;
  --sky:#E6F3F6;
  --pink:#FBE7E5;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic","YuGothic","Noto Sans JP",sans-serif;line-height:1.85;letter-spacing:.02em}
a{color:inherit}.page-shell{max-width:820px;margin:auto;padding:24px 18px 70px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;margin-bottom:34px}.brand img{width:52px;height:52px;border-radius:16px;object-fit:cover;box-shadow:0 5px 16px rgba(90,70,50,.06)}.brand strong{display:block;font-size:24px;line-height:1.1}.brand span{display:block;color:var(--muted);font-size:12px;margin-top:5px}
.back{display:block;width:max-content;font-size:13px;color:#756B65;text-decoration:none;margin-bottom:12px}
.kicker{display:flex;width:max-content;align-items:center;gap:8px;color:#8D7860;font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.kicker:before{content:"";width:24px;height:3px;border-radius:99px;background:var(--sun)}
h1{font-size:clamp(30px,7vw,44px);line-height:1.35;margin:10px 0 12px} .lead{font-size:17px;color:#625954;margin:0 0 34px}
section{margin:34px 0}h2{font-size:21px;margin:0 0 12px}h3{font-size:16px;margin:24px 0 7px}p{margin:0 0 1.25em}.card{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:22px;margin:22px 0}.soft{background:#FFF6E8}.mint{background:var(--mint)}.sky{background:var(--sky)}.pink{background:var(--pink)}.lav{background:var(--lav)}
ul{padding-left:1.3em;margin:10px 0 0}li{margin:.55em 0}.quiet{font-size:13px;color:var(--muted)}
.contact-button{display:inline-block;background:#403A36;color:white;text-decoration:none;font-weight:800;padding:12px 18px;border-radius:999px;margin:8px 0}.mail{font-weight:800;word-break:break-all}
.rule{border:0;border-top:1px solid var(--line);margin:34px 0}.updated{font-size:12px;color:var(--muted);margin-top:34px}
.site-footer{margin-top:58px;padding-top:24px;border-top:1px solid var(--line);color:#7D736C;font-size:12px}.footer-links{display:flex;justify-content:center;gap:10px 18px;flex-wrap:wrap}.footer-links a{text-decoration:none}.copyright{text-align:center;margin-top:14px}
@media(max-width:600px){.page-shell{padding-bottom:max(52px,env(safe-area-inset-bottom))}.lead{font-size:15px}.card{padding:18px}.footer-links{font-size:11px}}
