/* 共通スタイル ― ローンチ用静的サイト（無料ホスティング想定） */
:root{
  --navy:#12334E; --teal:#16828C; --orange:#E87A2B; --green:#2E8B57;
  --ink:#1E2A33; --gray:#5B6B77; --line:#D8DFE3; --bg:#F2F5F7; --white:#fff;
}
*{box-sizing:border-box}
body{
  font-family:-apple-system,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
  color:var(--ink); line-height:1.8; margin:0; background:var(--bg);
}
.wrap{max-width:860px; margin:0 auto; padding:0 20px 80px}
header.site{background:var(--navy); color:#fff; padding:22px 0; border-bottom:4px solid var(--orange)}
header.site .wrap{padding-bottom:0}
header.site .kicker{color:#9FC4C8; font-size:13px; font-weight:700; letter-spacing:.04em; margin:0 0 4px}
header.site h1{font-size:24px; margin:0 0 4px}
header.site .sub{color:#C9D7DC; font-size:14px; margin:0}
main{background:#fff; margin-top:24px; padding:30px 34px; border:1px solid var(--line); border-radius:10px}
h2{color:var(--navy); font-size:20px; border-left:5px solid var(--teal); padding-left:12px; margin:32px 0 12px}
h3{color:var(--navy); font-size:16px; margin:22px 0 8px}
p{margin:8px 0}
small,.muted{color:var(--gray)}
table{border-collapse:collapse; width:100%; margin:14px 0; font-size:14px}
th,td{border:1px solid var(--line); padding:9px 11px; text-align:left; vertical-align:top}
th{background:var(--navy); color:#fff; width:30%; white-space:nowrap}
tr:nth-child(even) td{background:var(--bg)}
.notice{background:#FBECE4; border:1px solid var(--orange); border-radius:8px; padding:14px 16px; margin:16px 0; font-size:14px}
.notice strong{color:var(--orange)}
.ph{background:#FFF3CD; padding:1px 5px; border-radius:4px; font-weight:700; color:#7a5c00}
.disclaimer{background:var(--bg); border:1px solid var(--line); border-radius:8px; padding:14px 16px; margin:18px 0; font-size:13px; color:var(--gray)}
.btn{display:inline-block; background:var(--orange); color:#fff!important; text-decoration:none; font-weight:700;
  padding:14px 28px; border-radius:8px; margin:10px 0; font-size:16px}
.btn.sub{background:var(--teal)}
.price{font-size:30px; font-weight:800; color:var(--navy)}
.card{border:1px solid var(--line); border-radius:8px; padding:16px 18px; margin:14px 0; background:#fff}
ul.clean{list-style:none; padding-left:0}
ul.clean li{padding:6px 0 6px 26px; position:relative}
ul.clean li::before{content:"✓"; color:var(--green); font-weight:800; position:absolute; left:0}
.footlinks{margin-top:26px; padding-top:16px; border-top:1px solid var(--line); font-size:13px}
.footlinks a{color:var(--teal); margin-right:16px}
nav.hub a{display:block; background:#fff; border:1px solid var(--line); border-radius:8px; padding:16px 18px; margin:10px 0; text-decoration:none; color:var(--ink)}
nav.hub a:hover{border-color:var(--teal)}
nav.hub .t{font-weight:700; color:var(--navy)}
nav.hub .d{font-size:13px; color:var(--gray)}
footer.site{text-align:center; color:var(--gray); font-size:12px; padding:30px 0}
