/* ------------------------------
   Reset CSS (LPテンプレート用)
-------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5要素のデフォルト表示修正 */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

/* bodyの基本設定 */
body {
  line-height: 1.6;
  font-family: 'Noto Sans JP', sans-serif;
  color: #333;
  background-color: #fff;
}

/* リスト装飾のリセット */
ol, ul {
  list-style: none;
}

/* リンクのデフォルトリセット */
a {
  text-decoration: none;
  color: inherit;
}

/* 画像・動画の基本設定 */
img, video {
  max-width: 100%;
  height: auto;
  display: block;
}

/* テーブルの初期設定 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}



:root {
  --main-color: #0b7dda;
  --accent-color: #ff6f61;
  --bg-color: #ffffff;
  --text-color: #222;
  --max-width: 1100px;
}

/* 基本レイアウト */
body { font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif; color: var(--text-color); background: var(--bg-color); }
.wrap { max-width: var(--max-width); margin: 0 auto; padding: 40px 20px; }

/* ヒーロー */
.hero { background-attachment: fixed; background-size: cover; background-position: center; color: #fff; padding: 120px 0; text-align: center; }
.hero-title { font-size: 2.4rem; margin-bottom: 12px; }
.hero-sub { font-size: 1.1rem; opacity: 0.95; }

/* セクション */
.section { padding: 60px 0; }
.section h2 { font-size: 1.6rem; margin-bottom: 16px; }
.list-check { list-style: none; padding-left: 0; }
.list-check li { margin-bottom: 8px; position: relative; padding-left: 20px; }
.list-check li:before { content: "✓"; color: var(--main-color); position: absolute; left: 0; top: 0; }

/* CTA ボタン */
.btn { display: inline-block; padding: 12px 20px; border-radius: 6px; text-decoration: none; color: #fff; }
.btn.primary { background: var(--main-color); }
.btn.secondary { background: var(--accent-color); }

/* テスト用の testimonial */
.testimonials blockquote { background:#f6f6f6; padding: 18px; margin: 0 0 12px; border-left:4px solid var(--main-color); }

/* Footer */
.footer { background:#f9f9f9; padding: 24px 0; text-align:center; font-size:0.9rem; }

/* Responsive */
@media (max-width:768px) {
  .hero { padding: 80px 10px; }
  .hero-title { font-size: 1.6rem; }
}