/* ============================================================
   shunsukekadota.com チェックリスト特典配布ページ スタイルシート
   ============================================================ */

/* --- Hard Reset (テーマCSS上書き対策) --- */
body.sk-checklist-lp,
body.sk-checklist-lp *,
body.sk-checklist-lp *::before,
body.sk-checklist-lp *::after {
  box-sizing: border-box !important;
  text-decoration: none;
}

body.sk-checklist-lp h1,
body.sk-checklist-lp h2,
body.sk-checklist-lp h3,
body.sk-checklist-lp p,
body.sk-checklist-lp ul,
body.sk-checklist-lp ol,
body.sk-checklist-lp li,
body.sk-checklist-lp dl,
body.sk-checklist-lp dt,
body.sk-checklist-lp dd,
body.sk-checklist-lp section,
body.sk-checklist-lp footer,
body.sk-checklist-lp div {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline;
}

html {
  font-size: 16px !important;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body.sk-checklist-lp {
  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  color: #2d3748 !important;
  background: #fff !important;
  line-height: 1.8 !important;
  margin: 0 !important;
  padding: 0 !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 16px !important;
  letter-spacing: 0 !important;
  word-spacing: normal !important;
  text-rendering: optimizeLegibility;
}

/* テーマが挿入するラッパー要素のスタイルをリセット */
body.sk-checklist-lp #wrapper,
body.sk-checklist-lp #main,
body.sk-checklist-lp #content,
body.sk-checklist-lp .container,
body.sk-checklist-lp .site,
body.sk-checklist-lp .site-content,
body.sk-checklist-lp .entry-content,
body.sk-checklist-lp .post-content,
body.sk-checklist-lp .page-content {
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
  background: transparent !important;
}

body.sk-checklist-lp a {
  color: #2b6cb0;
  text-decoration: none !important;
}

body.sk-checklist-lp strong,
body.sk-checklist-lp b {
  font-weight: 700 !important;
}

/* --- Layout --- */
body.sk-checklist-lp .sk-container {
  max-width: 800px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  width: 100% !important;
  float: none !important;
}

/* --- Typography --- */
body.sk-checklist-lp .sk-headline {
  font-family: 'Noto Serif JP', serif !important;
  font-size: 1.75rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  color: #1a202c !important;
  margin-bottom: 16px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body.sk-checklist-lp .sk-headline--hero {
  font-size: 1.625rem !important;
  color: #fff !important;
  line-height: 1.45 !important;
  text-align: center !important;
}

body.sk-checklist-lp .sk-headline--hero .sk-headline__accent {
  font-family: 'Noto Serif JP', serif !important;
  color: #fbd38d !important;
  font-size: 2.25rem !important;
  line-height: 1.3 !important;
}

body.sk-checklist-lp .sk-subheadline--hero {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.8 !important;
  color: #e2e8f0 !important;
  text-align: center !important;
  margin-bottom: 32px !important;
}

body.sk-checklist-lp .sk-section-title {
  font-family: 'Noto Serif JP', serif !important;
  font-size: 1.75rem !important;
  font-weight: 700 !important;
  color: #1a202c !important;
  text-align: center !important;
  margin-bottom: 40px !important;
  position: relative;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body.sk-checklist-lp .sk-section-title::after {
  content: '' !important;
  display: block !important;
  width: 80px !important;
  height: 4px !important;
  background: #a82946 !important;
  margin: 16px auto 0 !important;
  border-radius: 2px;
}

/* --- Hero Section --- */
body.sk-checklist-lp .sk-hero {
  background: linear-gradient(135deg, #1a365d 0%, #2a4a7f 100%) !important;
  padding: 56px 0 64px !important;
  position: relative !important;
  overflow: hidden !important;
}

body.sk-checklist-lp .sk-hero::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -20%;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(255,255,255,0.03) 0%, transparent 70%);
  border-radius: 50%;
}

body.sk-checklist-lp .sk-hero__inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

body.sk-checklist-lp .sk-hero__badge {
  display: inline-block !important;
  background: #fff !important;
  color: #1a365d !important;
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  padding: 6px 20px !important;
  border-radius: 999px !important;
  margin-bottom: 24px !important;
  letter-spacing: 0.04em !important;
}

/* --- 3 Phases --- */
body.sk-checklist-lp .sk-phases {
  display: flex !important;
  gap: 12px !important;
  justify-content: center !important;
  margin-bottom: 40px !important;
  flex-wrap: wrap !important;
}

body.sk-checklist-lp .sk-phases__item {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 16px 20px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 8px !important;
  min-width: 140px !important;
}

body.sk-checklist-lp .sk-phases__label {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 0.6875rem !important;
  font-weight: 700 !important;
  padding: 2px 10px !important;
  border-radius: 4px !important;
  letter-spacing: 0.04em !important;
}

body.sk-checklist-lp .sk-phases__label--blue {
  background: #3182ce !important;
  color: #fff !important;
}

body.sk-checklist-lp .sk-phases__label--green {
  background: #38a169 !important;
  color: #fff !important;
}

body.sk-checklist-lp .sk-phases__label--orange {
  background: #dd6b20 !important;
  color: #fff !important;
}

body.sk-checklist-lp .sk-phases__name {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  color: #fff !important;
}

body.sk-checklist-lp .sk-phases__count {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 0.8125rem !important;
  color: #a0aec0 !important;
}

/* --- Form Area --- */
body.sk-checklist-lp .sk-hero__form-area {
  width: 100% !important;
  max-width: 480px !important;
  margin: 0 auto !important;
}

body.sk-checklist-lp .sk-form__note {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 0.8125rem !important;
  color: #a0aec0 !important;
  text-align: center !important;
  line-height: 1.6 !important;
  margin-top: 12px !important;
}

/* --- Section (使い方) --- */
body.sk-checklist-lp .sk-section {
  padding: 64px 0 !important;
  background: #fff !important;
}

/* --- Steps --- */
body.sk-checklist-lp .sk-steps {
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
  max-width: 600px !important;
  margin: 0 auto !important;
}

body.sk-checklist-lp .sk-steps__item {
  display: flex !important;
  gap: 20px !important;
  align-items: flex-start !important;
  padding: 24px !important;
  background: #f7fafc !important;
  border-radius: 8px !important;
  border-left: 4px solid #1a365d !important;
}

body.sk-checklist-lp .sk-steps__number {
  flex-shrink: 0 !important;
  width: 40px !important;
  height: 40px !important;
  background: #1a365d !important;
  color: #fff !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  font-family: 'Noto Sans JP', sans-serif !important;
}

body.sk-checklist-lp .sk-steps__text {
  flex: 1 !important;
}

body.sk-checklist-lp .sk-steps__heading {
  font-family: 'Noto Serif JP', serif !important;
  font-size: 1.0625rem !important;
  font-weight: 700 !important;
  color: #1a202c !important;
  margin-bottom: 6px !important;
  line-height: 1.5 !important;
}

body.sk-checklist-lp .sk-steps__desc {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 0.9375rem !important;
  color: #4a5568 !important;
  line-height: 1.7 !important;
}

/* --- Footer --- */
body.sk-checklist-lp .sk-footer {
  background: #1a202c !important;
  color: #a0aec0 !important;
  padding: 40px 0 !important;
  font-size: 0.875rem !important;
  font-family: 'Noto Sans JP', sans-serif !important;
}

body.sk-checklist-lp .sk-footer__company {
  margin-bottom: 24px !important;
}

body.sk-checklist-lp .sk-footer__company-name {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #e2e8f0 !important;
  margin-bottom: 12px !important;
}

body.sk-checklist-lp .sk-footer__info {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  gap: 8px 16px !important;
  line-height: 1.6 !important;
}

body.sk-checklist-lp .sk-footer__info dt {
  color: #718096 !important;
  white-space: nowrap !important;
}

body.sk-checklist-lp .sk-footer__info dd {
  color: #a0aec0 !important;
}

body.sk-checklist-lp .sk-footer__links {
  display: flex !important;
  gap: 24px !important;
  flex-wrap: wrap !important;
  margin-bottom: 24px !important;
  padding-top: 24px !important;
  border-top: 1px solid #2d3748 !important;
}

body.sk-checklist-lp .sk-footer__link {
  color: #a0aec0 !important;
  font-size: 0.8125rem !important;
  transition: color 0.2s;
}

body.sk-checklist-lp .sk-footer__link:hover {
  color: #e2e8f0 !important;
}

body.sk-checklist-lp .sk-footer__copyright {
  font-size: 0.75rem !important;
  color: #718096 !important;
}

/* ============================================================
   DOI確認案内ページ / サンキューページ 共通スタイル
   ============================================================ */

body.sk-checklist-lp .sk-message-page {
  min-height: calc(100vh - 120px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(135deg, #1a365d 0%, #2a4a7f 100%) !important;
  padding: 48px 0 !important;
}

body.sk-checklist-lp .sk-message-page__inner {
  max-width: 560px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

/* --- アイコン --- */
body.sk-checklist-lp .sk-message-page__icon {
  color: #e2e8f0 !important;
  margin-bottom: 32px !important;
}

body.sk-checklist-lp .sk-message-page__icon svg {
  display: inline-block !important;
}

body.sk-checklist-lp .sk-message-page__icon--success {
  color: #68d391 !important;
}

/* --- 見出し --- */
body.sk-checklist-lp .sk-message-page__title {
  font-family: 'Noto Serif JP', serif !important;
  font-size: 1.625rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  line-height: 1.5 !important;
  margin-bottom: 32px !important;
}

/* --- 本文 --- */
body.sk-checklist-lp .sk-message-page__body {
  text-align: left !important;
}

body.sk-checklist-lp .sk-message-page__body p {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 1rem !important;
  line-height: 1.8 !important;
  color: #e2e8f0 !important;
  margin-bottom: 20px !important;
}

body.sk-checklist-lp .sk-message-page__body strong {
  color: #fbd38d !important;
}

/* --- ハイライトボックス --- */
body.sk-checklist-lp .sk-message-page__highlight {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 1rem !important;
  line-height: 1.8 !important;
  color: #e2e8f0 !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 8px !important;
  padding: 20px 24px !important;
  margin: 24px 0 !important;
  text-align: center !important;
}

body.sk-checklist-lp .sk-message-page__highlight strong {
  color: #fbd38d !important;
}

/* --- 注意書きボックス --- */
body.sk-checklist-lp .sk-message-page__note {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 0.875rem !important;
  line-height: 1.7 !important;
  color: #a0aec0 !important;
  background: rgba(0, 0, 0, 0.15) !important;
  border-radius: 8px !important;
  padding: 20px 24px !important;
  margin-top: 24px !important;
}

body.sk-checklist-lp .sk-message-page__note p {
  font-size: 0.875rem !important;
  color: #a0aec0 !important;
  margin-bottom: 8px !important;
}

body.sk-checklist-lp .sk-message-page__note strong {
  color: #e2e8f0 !important;
}

body.sk-checklist-lp .sk-message-page__note ul {
  list-style: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

body.sk-checklist-lp .sk-message-page__note li {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 0.875rem !important;
  color: #a0aec0 !important;
  padding-left: 16px !important;
  position: relative !important;
}

body.sk-checklist-lp .sk-message-page__note li::before {
  content: '\2022' !important;
  position: absolute !important;
  left: 0 !important;
  color: #718096 !important;
}

/* --- 閉じてOKメッセージ --- */
body.sk-checklist-lp .sk-message-page__close {
  font-size: 0.8125rem !important;
  color: #718096 !important;
  text-align: center !important;
  margin-top: 8px !important;
}

/* --- PC/SP display helpers --- */
.sk-pc-only { display: none; }
.sk-sp-only { display: inline; }

/* --- Responsive --- */
@media (min-width: 768px) {
  .sk-pc-only { display: inline; }
  .sk-sp-only { display: none; }

  body.sk-checklist-lp .sk-hero {
    padding: 72px 0 80px !important;
  }

  body.sk-checklist-lp .sk-headline--hero {
    font-size: 1.875rem !important;
  }

  body.sk-checklist-lp .sk-headline--hero .sk-headline__accent {
    font-size: 2.625rem !important;
  }

  body.sk-checklist-lp .sk-section-title {
    font-size: 2.0625rem !important;
  }

  body.sk-checklist-lp .sk-section {
    padding: 80px 0 !important;
  }

  body.sk-checklist-lp .sk-phases {
    gap: 16px !important;
  }

  body.sk-checklist-lp .sk-phases__item {
    min-width: 160px !important;
    padding: 20px 24px !important;
  }

  body.sk-checklist-lp .sk-message-page__title {
    font-size: 2rem !important;
  }
}

@media (max-width: 480px) {
  html {
    font-size: 15px !important;
  }

  body.sk-checklist-lp .sk-hero {
    padding: 40px 0 48px !important;
  }

  body.sk-checklist-lp .sk-headline--hero {
    font-size: 1.375rem !important;
  }

  body.sk-checklist-lp .sk-headline--hero .sk-headline__accent {
    font-size: 1.875rem !important;
  }

  body.sk-checklist-lp .sk-section {
    padding: 48px 0 !important;
  }

  body.sk-checklist-lp .sk-section-title {
    font-size: 1.5rem !important;
  }

  body.sk-checklist-lp .sk-phases {
    flex-direction: column !important;
    align-items: center !important;
  }

  body.sk-checklist-lp .sk-phases__item {
    width: 100% !important;
    max-width: 280px !important;
    flex-direction: row !important;
    gap: 12px !important;
    padding: 12px 16px !important;
  }

  body.sk-checklist-lp .sk-steps__item {
    gap: 14px !important;
    padding: 16px !important;
  }

  body.sk-checklist-lp .sk-steps__number {
    width: 36px !important;
    height: 36px !important;
    font-size: 0.875rem !important;
  }

  body.sk-checklist-lp .sk-message-page {
    padding: 32px 0 !important;
  }

  body.sk-checklist-lp .sk-message-page__title {
    font-size: 1.375rem !important;
  }

  body.sk-checklist-lp .sk-message-page__highlight {
    padding: 16px 20px !important;
  }
}
