/* === Base === */
body { font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", Meiryo, "Noto Sans JP", Arial, sans-serif; margin: 0; background: #fff; color: #333; line-height: 1.8; }

/* === Header & Nav === */
header { background:#f8f8f8; text-align:center; padding:20px; }
header p { margin: 0 0 8px; }
h1 { font-size:26px; margin-bottom:10px; }
.header-inner { max-width: 900px; margin: 0 auto; padding: 0 20px; }
.header-buttons { display:flex; justify-content:center; flex-wrap:wrap; gap:30px; margin-top:20px; }
.header-btn { width:140px; height:60px; background:#fff; border:2px solid #ddd; border-radius:10px; text-decoration:none; color:#333; font-size:16px; font-weight:bold; display:flex; align-items:center; justify-content:center; box-shadow:0 2px 5px rgba(0,0,0,0.1); transition:all .2s ease-in-out; }
.header-btn:hover { transform:translateY(-3px); box-shadow:0 4px 10px rgba(0,0,0,0.15); border-color:#ff9900; color:#ff9900; }

/* === Layout === */
main { max-width: 900px; margin: 40px auto; padding: 0 20px; }
section { max-width: 900px; margin: 0 auto; }

/* === Normalize first content offset under header === */
header + main > *:first-child { margin-top: 0; }
header + main h2:first-child { margin-top: 0; }
header + main ul:first-child { margin-top: 0; }
header + main p:first-child  { margin-top: 0; }

/* === Headings & Lists === */
h2 { margin: 0 0 20px; }
ul { margin: 0 0 1em 1.25em; padding-left: 1.25em; }

/* === Utilities === */
.feature-title { font-size: 20px; font-weight: 700; }

/* === Back-to-top unified styles === */
.to-top { text-align: center; margin-top: 40px; }
.to-top-btn { padding: 10px 20px; font-size: 16px; border-radius: 6px; border: none; background-color: #ff9900; color: #fff; cursor: pointer; }
.to-top-btn:hover { opacity: 0.9; }