:root{
  --paper:#f7f3ea; --ink:#2b2a26; --sub:#5d5a52; --line:#ddd5c4;
  --leaf:#2f5d3a; --leaf-dark:#24492d; --soil:#8a5a32; --card:#fffdf8;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic",sans-serif;
  font-size:17px;line-height:1.8}
.hero,main,footer{max-width:620px;margin:0 auto;padding:0 20px}
.hero{padding-top:56px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.eyebrow{margin:0 0 8px;color:var(--soil);font-weight:700;font-size:15px;letter-spacing:.08em}
h1,h2{font-family:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;font-weight:700}
h1{font-size:34px;line-height:1.4;margin:0 0 20px}
h2{font-size:25px;line-height:1.45;margin:0 0 16px}
h3{font-size:18px;line-height:1.5;margin:32px 0 8px}
p{margin:0 0 14px}
.lead{color:var(--sub)}
.gift{padding:40px 0;border-bottom:1px solid var(--line)}
.num{margin:0 0 4px;color:var(--leaf);font-weight:700;font-size:15px;letter-spacing:.06em}
.btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  min-height:56px;margin:22px 0 4px;padding:14px 20px;border-radius:6px;
  background:var(--leaf);color:#fff;text-decoration:none;font-weight:700;font-size:17px;text-align:center;line-height:1.5}
.btn:hover{background:var(--leaf-dark)}
.btn:focus-visible,.textlink:focus-visible{outline:3px solid var(--soil);outline-offset:3px}
.btn .size{font-weight:400;font-size:14px;color:#e8f0e6}
.btn-sub{background:var(--card);color:var(--leaf);border:2px solid var(--leaf)}
.btn-sub:hover{background:#eef3ec}
.textlink{display:inline-block;padding:10px 0;color:var(--leaf);font-weight:700}
video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#1d1d1b;border-radius:6px;margin:8px 0 4px}
.steps{margin:8px 0 24px;padding-left:1.4em}
.steps li{margin:0 0 6px}
.shots{display:grid;gap:16px}
.shots img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:4px;background:#fff}
.todo{padding:12px 14px;background:#fff3d6;border-left:4px solid var(--soil);font-weight:700}
footer{padding-top:28px;padding-bottom:48px;color:var(--sub);font-size:15px}
footer p{margin:0}
@media (max-width:480px){
  body{font-size:16px}
  .hero{padding-top:40px}
  h1{font-size:28px}
  h2{font-size:22px}
}
