/* ============================================================
   一条工務店データバンク 共通デザイン v1.1.0
   LPの見た目を各ページへ展開 / アンケートLP化統合版
   ============================================================ */

:root {
  --ichijo-navy: #06315f;
  --ichijo-navy-dark: #05284d;
  --ichijo-blue: #1976b8;
  --ichijo-teal: #0fa4a7;
  --ichijo-teal-dark: #087f83;
  --ichijo-orange: #ff861f;
  --ichijo-orange-dark: #e96f0c;
  --ichijo-green: #7fba42;
  --ichijo-text: #10294f;
  --ichijo-muted: #52657d;
  --ichijo-line: #dce8f2;
  --ichijo-soft: #f4fbff;
  --ichijo-soft-2: #eef9ff;
  --ichijo-shadow: 0 12px 28px rgba(12, 54, 94, 0.12);
  --ichijo-shadow-soft: 0 8px 20px rgba(12, 54, 94, 0.08);
  --ichijo-radius-lg: 24px;
  --ichijo-radius: 18px;
  --ichijo-radius-sm: 12px;
}

/* ============================================================
   固定ページ・機能ページ：LP風背景
   ============================================================ */

body.ichijo-design-page,
body.ichijo-article-page {
  color: var(--ichijo-text);
  background: linear-gradient(180deg, #f4fbff 0%, #ffffff 48%, #f3fbfc 100%);
}

body.ichijo-design-page .post_content,
body.ichijo-design-page .entry-content,
body.ichijo-design-page .l-mainContent__inner,
body.ichijo-design-page .c-postContent {
  color: var(--ichijo-text);
}

body.ichijo-design-page .post_content a,
body.ichijo-article-page .post_content a {
  text-underline-offset: 3px;
}

body.ichijo-design-page .post_content h1,
body.ichijo-design-page .post_content h2,
body.ichijo-design-page .post_content h3,
body.ichijo-design-page .post_content h4 {
  color: var(--ichijo-navy-dark) !important;
  font-weight: 900;
  letter-spacing: .02em;
}

body.ichijo-design-page .post_content h2:not([class]) {
  padding: 0 0 10px !important;
  margin-top: 34px;
  border-bottom: 2px solid var(--ichijo-line);
  background: transparent !important;
}

body.ichijo-design-page .post_content p,
body.ichijo-design-page .post_content li {
  color: var(--ichijo-muted);
  line-height: 1.85;
  font-weight: 650;
}

body.ichijo-design-page .post_content input,
body.ichijo-design-page .post_content select,
body.ichijo-design-page .post_content textarea {
  max-width: 100%;
  border-radius: 10px;
}

body.ichijo-design-page .post_content input:focus,
body.ichijo-design-page .post_content select:focus,
body.ichijo-design-page .post_content textarea:focus {
  outline: none;
  border-color: var(--ichijo-teal) !important;
  box-shadow: 0 0 0 3px rgba(15, 164, 167, .14) !important;
}

/* ============================================================
   SWELL標準タイトル・パンくず非表示
   ブログ記事では非表示にしない
   ============================================================ */

body.ichijo-design-page .p-breadcrumb,
body.ichijo-design-page .l-breadcrumb,
body.ichijo-design-page #breadcrumb,
body.ichijo-design-page .p-pageTitle,
body.ichijo-design-page .l-article__head,
body.ichijo-design-page .p-entryTitle,
body.ichijo-design-page .p-headSection,
body.ichijo-design-page .p-titleSection,
body.ichijo-design-page .c-pageTitle,
body.ichijo-design-page h1.c-pageTitle,
body.ichijo-single-survey .p-breadcrumb,
body.ichijo-single-survey .l-breadcrumb,
body.ichijo-single-survey #breadcrumb,
body.ichijo-single-survey .p-pageTitle,
body.ichijo-single-survey .l-article__head,
body.ichijo-single-survey .p-entryTitle,
body.ichijo-single-survey .p-headSection,
body.ichijo-single-survey .p-titleSection,
body.ichijo-single-survey .c-pageTitle,
body.ichijo-single-survey h1.c-pageTitle {
  display: none !important;
}

body.ichijo-design-page .l-main,
body.ichijo-design-page .l-content,
body.ichijo-design-page .l-mainContent,
body.ichijo-design-page .l-mainContent__inner,
body.ichijo-design-page .post_content,
body.ichijo-single-survey .l-main,
body.ichijo-single-survey .l-content,
body.ichijo-single-survey .l-mainContent,
body.ichijo-single-survey .l-mainContent__inner,
body.ichijo-single-survey .post_content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ============================================================
   共通カード・ボタン
   ============================================================ */

.ichijo-common-card,
.ichijo-survey,
.ichijo-elec-wrap,
.ichijo-elec-summary-wrap,
.ichijo-elec-mypage,
.ichijo-login-wrap,
body.ichijo-page-register .um,
body.ichijo-page-contact .wpcf7,
body.ichijo-page-privacy-policy .post_content,
body.ichijo-page-terms .post_content,
body.ichijo-page-disclaimer .post_content {
  border-radius: var(--ichijo-radius-lg);
  background: rgba(255,255,255,.96);
  border: 1px solid var(--ichijo-line);
  box-shadow: var(--ichijo-shadow-soft);
}

.ichijo-common-eyebrow,
.ichijo-dashboard-label,
.ichijo-login-title,
.ichijo-elec-mypage-eyebrow,
.ichijo-related-eyebrow,
.ichijo-data-card-label,
.ichijo-member-cta-label {
  color: var(--ichijo-teal-dark) !important;
}

.ichijo-common-btn,
.survey-submit-btn,
.survey-cta-btn,
.ichijo-elec-submit-btn,
.ichijo-elec-filter-btn,
.ichijo-elec-btn,
.ichijo-login-submit,
body.ichijo-page-register .um-button,
body.ichijo-page-contact .wpcf7-submit {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 20px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, var(--ichijo-teal), var(--ichijo-teal-dark)) !important;
  color: #fff !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  box-shadow: 0 8px 16px rgba(0,0,0,.13);
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}

.ichijo-common-btn:hover,
.survey-submit-btn:hover,
.survey-cta-btn:hover,
.ichijo-elec-submit-btn:hover,
.ichijo-elec-filter-btn:hover,
.ichijo-elec-btn:hover,
.ichijo-login-submit:hover,
body.ichijo-page-register .um-button:hover,
body.ichijo-page-contact .wpcf7-submit:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 22px rgba(0,0,0,.17);
  filter: brightness(1.02);
}

.ichijo-elec-btn--outline,
.survey-cta-btn--edit,
.ichijo-login-secondary a,
.ichijo-dashboard-link {
  background: #fff !important;
  color: var(--ichijo-navy) !important;
  border: 1px solid var(--ichijo-line) !important;
}

/* ============================================================
   /survey/ LP化
   ============================================================ */

.ichijo-survey-lp-page {
  margin-inline: calc(50% - 50vw);
  width: 100vw;
  padding: 44px 16px 56px;
  background: linear-gradient(180deg, #f4fbff 0%, #ffffff 48%, #f3fbfc 100%);
  color: var(--ichijo-text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  letter-spacing: .02em;
}

.ichijo-survey-lp-page *,
.ichijo-survey *,
.ichijo-survey-list * {
  box-sizing: border-box;
}

.ichijo-survey-lp-page a,
.ichijo-survey a,
.ichijo-survey-list a {
  text-decoration: none !important;
}

.ichijo-survey-lp-inner {
  width: min(100%, 1040px);
  margin: 0 auto;
}

.ichijo-survey-lp-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
  gap: 24px;
  align-items: stretch;
  padding: 34px 28px;
  border-radius: 26px;
  background:
    radial-gradient(circle at 86% 14%, rgba(15, 164, 167, .15), transparent 24%),
    radial-gradient(circle at 78% 84%, rgba(255, 134, 31, .13), transparent 24%),
    linear-gradient(135deg, #ffffff 0%, #eef9ff 56%, #e8f7fb 100%);
  border: 1px solid var(--ichijo-line);
  box-shadow: var(--ichijo-shadow);
}

.ichijo-survey-lp-eyebrow,
.survey-list-category,
.survey-related-label,
.survey-featured-label {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: fit-content;
  margin: 0 0 12px;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  background: #e8f8f8 !important;
  color: var(--ichijo-teal-dark) !important;
  border: 1px solid rgba(15, 164, 167, .20) !important;
  font-size: 12px !important;
  line-height: 1.4;
  font-weight: 900 !important;
}

.ichijo-survey-lp-hero h1 {
  margin: 0 0 14px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: var(--ichijo-navy-dark) !important;
  font-size: clamp(30px, 5vw, 46px);
  line-height: 1.28;
  font-weight: 900;
}

.ichijo-survey-lp-hero p {
  margin: 0;
  color: var(--ichijo-muted);
  font-size: 15px;
  line-height: 1.8;
  font-weight: 700;
}

.ichijo-survey-lp-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}

.ichijo-survey-lp-button,
.survey-cta-btn,
.survey-submit-btn,
.survey-featured-btn,
.survey-login-btn,
.survey-sort-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 18px !important;
  border-radius: 12px !important;
  border: 0;
  font-size: 14px !important;
  line-height: 1.2;
  font-weight: 900 !important;
  cursor: pointer;
  box-shadow: 0 8px 16px rgba(0,0,0,.13);
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease, border-color .16s ease;
}

.ichijo-survey-lp-button:hover,
.survey-cta-btn:hover,
.survey-submit-btn:hover,
.survey-featured-btn:hover,
.survey-login-btn:hover,
.survey-sort-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 22px rgba(0,0,0,.17);
  filter: brightness(1.02);
}

.ichijo-survey-lp-button-main,
.survey-cta-btn--answer,
.survey-submit-btn,
.survey-featured-btn--answer,
.survey-login-btn,
.survey-sort-btn--active {
  background: linear-gradient(135deg, var(--ichijo-teal), var(--ichijo-teal-dark)) !important;
  color: #fff !important;
}

.ichijo-survey-lp-button-orange,
.survey-cta-btn--login,
.survey-featured-btn--login {
  background: linear-gradient(135deg, var(--ichijo-orange), var(--ichijo-orange-dark)) !important;
  color: #fff !important;
}

.ichijo-survey-lp-button-outline,
.survey-cta-btn--result,
.survey-cta-btn--edit,
.survey-featured-btn--result,
.survey-sort-btn {
  background: #fff !important;
  color: var(--ichijo-navy) !important;
  border: 1px solid var(--ichijo-line) !important;
}

.ichijo-survey-lp-stats {
  display: grid;
  gap: 12px;
}

.ichijo-survey-lp-stat {
  padding: 18px;
  border-radius: 18px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(220,232,242,.96);
  box-shadow: var(--ichijo-shadow-soft);
}

.ichijo-survey-lp-stat span {
  display: block;
  margin-bottom: 6px;
  color: var(--ichijo-muted);
  font-size: 12px;
  font-weight: 900;
}

.ichijo-survey-lp-stat strong {
  display: block;
  color: var(--ichijo-navy-dark);
  font-size: 28px;
  line-height: 1.2;
  font-weight: 900;
}

.ichijo-survey-lp-stat small {
  color: var(--ichijo-muted);
  font-size: 13px;
}

.ichijo-survey-lp-guide {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0 24px;
}

.ichijo-survey-lp-guide-card,
.ichijo-survey-lp-list-section {
  padding: 18px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid var(--ichijo-line);
  box-shadow: var(--ichijo-shadow-soft);
}

.ichijo-survey-lp-guide-icon {
  display: inline-grid;
  place-items: center;
  min-width: 46px;
  height: 34px;
  padding: 0 10px;
  margin-bottom: 10px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--ichijo-teal), var(--ichijo-teal-dark));
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.ichijo-survey-lp-guide-card:nth-child(2) .ichijo-survey-lp-guide-icon {
  background: linear-gradient(135deg, var(--ichijo-orange), var(--ichijo-orange-dark));
}

.ichijo-survey-lp-guide-card:nth-child(3) .ichijo-survey-lp-guide-icon {
  background: linear-gradient(135deg, var(--ichijo-green), #5e9630);
}

.ichijo-survey-lp-guide-card h2,
.ichijo-survey-lp-section-head h2 {
  margin: 0 0 8px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: var(--ichijo-navy-dark) !important;
  font-size: clamp(20px, 3vw, 27px);
  line-height: 1.4;
  font-weight: 900;
}

.ichijo-survey-lp-guide-card p {
  margin: 0;
  color: var(--ichijo-muted);
  font-size: 13px;
  line-height: 1.75;
  font-weight: 700;
}

.ichijo-survey-lp-list-section {
  padding: 24px;
}

.ichijo-survey-lp-section-head {
  margin-bottom: 16px;
}

.ichijo-survey-lp-empty {
  padding: 18px;
  border-radius: 14px;
  background: #f8fcff;
  border: 1px dashed var(--ichijo-line);
  color: var(--ichijo-muted);
  font-weight: 700;
  text-align: center;
}

/* ============================================================
   アンケート個別・一覧の上書き
   ============================================================ */

.ichijo-survey,
.ichijo-survey-list {
  max-width: 860px;
  margin: 28px auto;
  padding: 24px;
  color: var(--ichijo-text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
}

body.ichijo-single-survey .ichijo-survey::before {
  content: "📊 施主アンケート";
  display: inline-flex;
  margin: 0 0 14px;
  padding: 6px 12px;
  border-radius: 999px;
  background: #e8f8f8;
  color: var(--ichijo-teal-dark);
  border: 1px solid rgba(15, 164, 167, .20);
  font-size: 13px;
  font-weight: 900;
}

.survey-question {
  margin: 0 0 20px !important;
  padding: 0 0 14px !important;
  border-bottom: 2px solid var(--ichijo-line) !important;
  color: var(--ichijo-navy-dark) !important;
  font-size: clamp(21px, 3vw, 28px) !important;
  line-height: 1.45;
  font-weight: 900 !important;
}

.survey-login-notice,
.survey-notice,
.survey-msg,
.ichijo-elec-login-notice,
.ichijo-elec-intro,
.ichijo-elec-notice-box,
.ichijo-elec-cta {
  border-radius: 16px !important;
  border: 1px solid var(--ichijo-line) !important;
  border-left: 4px solid var(--ichijo-teal) !important;
  background: linear-gradient(135deg, #f4fbff, #ffffff) !important;
  color: var(--ichijo-muted) !important;
  box-shadow: 0 6px 16px rgba(12,54,94,.06);
}

.survey-choices {
  display: grid !important;
  gap: 12px !important;
}

.survey-choice-label {
  padding: 15px 16px !important;
  border: 1px solid var(--ichijo-line) !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #f8fcff, #ffffff) !important;
  color: var(--ichijo-text) !important;
  font-weight: 800;
  box-shadow: 0 4px 14px rgba(12,54,94,.05);
}

.survey-choice-label:hover,
.survey-choice-label:has(input:checked) {
  border-color: rgba(15, 164, 167, .45) !important;
  background: #eafafa !important;
}

.survey-choice-label input[type="radio"],
.survey-choice-label input[type="checkbox"] {
  accent-color: var(--ichijo-teal);
}

.survey-total,
.survey-answered-note,
.survey-result-pct {
  color: var(--ichijo-muted) !important;
  font-weight: 700;
}

.survey-result-item {
  padding: 12px 0;
  border-bottom: 1px solid #edf2f7;
}

.survey-result-item:last-child {
  border-bottom: 0;
}

.survey-result-header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 8px;
}

.survey-result-label {
  color: var(--ichijo-text) !important;
  font-weight: 800;
}

.survey-my-badge {
  background: var(--ichijo-orange) !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 3px 9px !important;
  font-size: 11px !important;
  font-weight: 900 !important;
}

.survey-result-bar-wrap {
  height: 16px !important;
  border-radius: 999px !important;
  overflow: hidden;
  background: #eaf2f8 !important;
}

.survey-result-bar {
  height: 100%;
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--ichijo-teal), var(--ichijo-teal-dark)) !important;
}

.survey-my-choice .survey-result-bar {
  background: linear-gradient(135deg, var(--ichijo-orange), var(--ichijo-orange-dark)) !important;
}

.survey-list-item {
  display: block !important;
  padding: 17px 18px !important;
  border: 1px solid var(--ichijo-line) !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #f8fcff, #ffffff) !important;
  box-shadow: 0 4px 14px rgba(12,54,94,.05);
}

.survey-list-item + .survey-list-item {
  margin-top: 12px;
}

.survey-list-title {
  display: block;
  color: var(--ichijo-navy-dark) !important;
  font-size: 16px;
  line-height: 1.55;
  font-weight: 900 !important;
}

.survey-list-count {
  display: block;
  margin-top: 6px;
  color: var(--ichijo-muted) !important;
  font-size: 12px;
  font-weight: 700;
}

/* ============================================================
   電気代・会員ページの軽い統一
   ============================================================ */

.ichijo-elec-section,
.ichijo-elec-profile-card,
.ichijo-elec-filter-form,
.ichijo-elec-stat-card,
.ichijo-elec-table-wrap,
.ichijo-elec-mypage-hero,
.ichijo-elec-mypage-stat,
.ichijo-dashboard-card,
.ichijo-profile-completion,
.ichijo-related-box,
.ichijo-member-cta,
.ichijo-data-card {
  border-color: var(--ichijo-line) !important;
  border-radius: 18px !important;
  box-shadow: var(--ichijo-shadow-soft);
}

.ichijo-elec-section-title,
.ichijo-elec-profile-card-title,
.ichijo-elec-summary-hero h2,
.ichijo-elec-mypage-title,
.ichijo-member-dashboard h2,
.ichijo-profile-completion h2 {
  color: var(--ichijo-navy-dark) !important;
  font-weight: 900 !important;
  background: transparent !important;
}

/* ============================================================
   スマホ
   ============================================================ */

@media (max-width: 760px) {
  .ichijo-survey-lp-page {
    padding: 28px 12px 44px;
  }

  .ichijo-survey-lp-hero {
    grid-template-columns: 1fr;
    padding: 26px 20px;
    border-radius: 22px;
  }

  .ichijo-survey-lp-guide {
    grid-template-columns: 1fr;
  }

  .ichijo-survey-lp-actions,
  .ichijo-survey-lp-button,
  .survey-cta-btn,
  .survey-submit-btn,
  .survey-login-btn {
    width: 100%;
  }

  .ichijo-survey-lp-button,
  .survey-cta-btn,
  .survey-submit-btn,
  .survey-login-btn {
    min-height: 52px;
  }

  .ichijo-survey,
  .ichijo-survey-list,
  .ichijo-survey-lp-list-section {
    padding: 18px;
    margin: 18px auto;
    border-radius: 20px;
  }

  .survey-result-header {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }
}

@media (max-width: 420px) {
  .ichijo-survey-lp-hero h1 {
    font-size: 30px;
  }

  .ichijo-survey-lp-hero,
  .ichijo-survey-lp-guide-card,
  .ichijo-survey-lp-list-section,
  .ichijo-survey,
  .ichijo-survey-list {
    padding: 16px;
  }
}

/* ============================================================
   v1.2.0 STEP3-7 統合：電気代 / 会員 / ログイン / 記事下CTA調整
   ============================================================ */

/* ---------- データバンク系ページ：SWELL標準タイトル・パンくず非表示 ---------- */
body.ichijo-design-page .p-breadcrumb,
body.ichijo-design-page .l-breadcrumb,
body.ichijo-design-page #breadcrumb,
body.ichijo-design-page .p-pageTitle,
body.ichijo-design-page .l-article__head,
body.ichijo-design-page .p-entryTitle,
body.ichijo-design-page .p-headSection,
body.ichijo-design-page .p-titleSection,
body.ichijo-design-page .c-pageTitle,
body.ichijo-design-page h1.c-pageTitle,
body.ichijo-single-survey .p-breadcrumb,
body.ichijo-single-survey .l-breadcrumb,
body.ichijo-single-survey #breadcrumb,
body.ichijo-single-survey .p-pageTitle,
body.ichijo-single-survey .l-article__head,
body.ichijo-single-survey .p-entryTitle,
body.ichijo-single-survey .p-headSection,
body.ichijo-single-survey .p-titleSection,
body.ichijo-single-survey .c-pageTitle,
body.ichijo-single-survey h1.c-pageTitle {
  display: none !important;
}

body.ichijo-design-page .l-main,
body.ichijo-design-page .l-content,
body.ichijo-design-page .l-mainContent,
body.ichijo-design-page .l-mainContent__inner,
body.ichijo-design-page .post_content,
body.ichijo-single-survey .l-main,
body.ichijo-single-survey .l-content,
body.ichijo-single-survey .l-mainContent,
body.ichijo-single-survey .l-mainContent__inner,
body.ichijo-single-survey .post_content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ---------- LP化ショートコード共通 ---------- */
.ichijo-elec-lp-page,
.ichijo-auth-lp-page {
  color: var(--ichijo-text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  letter-spacing: .02em;
  margin-inline: calc(50% - 50vw);
  width: 100vw;
  padding: 44px 16px 56px;
  background: linear-gradient(180deg, #f4fbff 0%, #ffffff 48%, #f3fbfc 100%);
}

.ichijo-elec-lp-page *,
.ichijo-auth-lp-page * { box-sizing: border-box; }
.ichijo-elec-lp-page a,
.ichijo-auth-lp-page a { text-decoration: none !important; }

.ichijo-elec-lp-inner,
.ichijo-auth-lp-inner {
  width: min(100%, 1040px);
  margin: 0 auto;
}

.ichijo-auth-lp-inner { width: min(100%, 760px); }

.ichijo-elec-lp-hero,
.ichijo-auth-lp-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  gap: 24px;
  align-items: stretch;
  padding: 34px 28px;
  border-radius: 26px;
  background:
    radial-gradient(circle at 86% 14%, rgba(15, 164, 167, .15), transparent 24%),
    radial-gradient(circle at 78% 84%, rgba(255, 134, 31, .13), transparent 24%),
    linear-gradient(135deg, #ffffff 0%, #eef9ff 56%, #e8f7fb 100%);
  border: 1px solid var(--ichijo-line);
  box-shadow: var(--ichijo-shadow);
}

.ichijo-auth-lp-hero {
  display: block;
  text-align: center;
  margin-bottom: 24px;
}

.ichijo-elec-lp-hero-compact { grid-template-columns: 1fr; }

.ichijo-elec-lp-eyebrow,
.ichijo-auth-lp-eyebrow,
.ichijo-elec-lp-section-head > p {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: fit-content;
  margin: 0 0 12px;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  background: #e8f8f8 !important;
  color: var(--ichijo-teal-dark) !important;
  border: 1px solid rgba(15, 164, 167, .20) !important;
  font-size: 12px !important;
  line-height: 1.4;
  font-weight: 900 !important;
}

.ichijo-elec-lp-hero h1,
.ichijo-auth-lp-hero h1 {
  margin: 0 0 14px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: var(--ichijo-navy-dark) !important;
  font-size: clamp(30px, 5vw, 46px);
  line-height: 1.28;
  font-weight: 900;
}

.ichijo-elec-lp-hero p,
.ichijo-auth-lp-hero p {
  margin: 0;
  color: var(--ichijo-muted);
  font-size: 15px;
  line-height: 1.8;
  font-weight: 700;
}

.ichijo-elec-lp-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}

.ichijo-elec-lp-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 18px !important;
  border-radius: 12px !important;
  border: 0;
  font-size: 14px !important;
  line-height: 1.2;
  font-weight: 900 !important;
  cursor: pointer;
  box-shadow: 0 8px 16px rgba(0,0,0,.13);
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}

.ichijo-elec-lp-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 22px rgba(0,0,0,.17);
  filter: brightness(1.02);
}

.ichijo-elec-lp-button-main {
  background: linear-gradient(135deg, var(--ichijo-teal), var(--ichijo-teal-dark)) !important;
  color: #fff !important;
}

.ichijo-elec-lp-button-orange {
  background: linear-gradient(135deg, var(--ichijo-orange), var(--ichijo-orange-dark)) !important;
  color: #fff !important;
}

.ichijo-elec-lp-button-outline {
  background: #fff !important;
  color: var(--ichijo-navy) !important;
  border: 1px solid var(--ichijo-line) !important;
}

.ichijo-elec-lp-stats {
  display: grid;
  gap: 12px;
}

.ichijo-elec-lp-stat {
  padding: 18px;
  border-radius: 18px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(220,232,242,.96);
  box-shadow: var(--ichijo-shadow-soft);
}

.ichijo-elec-lp-stat span {
  display: block;
  margin-bottom: 6px;
  color: var(--ichijo-muted);
  font-size: 12px;
  font-weight: 900;
}

.ichijo-elec-lp-stat strong {
  display: block;
  color: var(--ichijo-navy-dark);
  font-size: 28px;
  line-height: 1.2;
  font-weight: 900;
}

.ichijo-elec-lp-stat small {
  color: var(--ichijo-muted);
  font-size: 13px;
}

.ichijo-elec-lp-guide {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0 24px;
}

.ichijo-elec-lp-guide-card,
.ichijo-elec-lp-content,
.ichijo-auth-lp-content {
  padding: 22px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid var(--ichijo-line);
  box-shadow: var(--ichijo-shadow-soft);
}

.ichijo-elec-lp-guide-icon {
  display: inline-grid;
  place-items: center;
  min-width: 46px;
  height: 34px;
  margin-bottom: 10px;
  padding: 0 10px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--ichijo-teal), var(--ichijo-teal-dark));
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.ichijo-elec-lp-guide-card:nth-child(2) .ichijo-elec-lp-guide-icon { background: linear-gradient(135deg, var(--ichijo-orange), var(--ichijo-orange-dark)); }
.ichijo-elec-lp-guide-card:nth-child(3) .ichijo-elec-lp-guide-icon { background: linear-gradient(135deg, var(--ichijo-green), #5e9630); }

.ichijo-elec-lp-guide-card h2,
.ichijo-elec-lp-section-head h2 {
  margin: 0 0 8px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: var(--ichijo-navy-dark) !important;
  font-size: clamp(20px, 2.8vw, 28px);
  line-height: 1.4;
  font-weight: 900;
}

.ichijo-elec-lp-guide-card p {
  margin: 0;
  color: var(--ichijo-muted);
  font-size: 13px;
  line-height: 1.75;
  font-weight: 700;
}

.ichijo-elec-lp-section-head { margin-bottom: 18px; }
.ichijo-elec-lp-empty,
.ichijo-auth-lp-empty {
  margin: 0;
  color: var(--ichijo-muted);
  font-weight: 700;
}

/* ---------- STEP3: 電気代ページ本体をLP風に ---------- */
.ichijo-elec-wrap,
.ichijo-elec-summary-wrap,
.ichijo-elec-mypage {
  max-width: 960px !important;
  color: var(--ichijo-text) !important;
}

.ichijo-elec-wrap,
.ichijo-elec-summary-wrap,
.ichijo-elec-mypage,
.ichijo-elec-section,
.ichijo-elec-profile-card,
.ichijo-elec-filter-form,
.ichijo-elec-stat-card,
.ichijo-elec-table-wrap,
.ichijo-elec-cta,
.ichijo-elec-mypage-hero,
.ichijo-elec-mypage-stat,
.ichijo-elec-history-card,
.ichijo-elec-report {
  border-color: var(--ichijo-line) !important;
  border-radius: 18px !important;
  box-shadow: var(--ichijo-shadow-soft) !important;
}

.ichijo-elec-section,
.ichijo-elec-profile-card,
.ichijo-elec-filter-form,
.ichijo-elec-stat-card,
.ichijo-elec-table-wrap,
.ichijo-elec-cta,
.ichijo-elec-report,
.ichijo-elec-mypage-stat,
.ichijo-elec-history-card {
  background: #fff !important;
}

.ichijo-elec-intro,
.ichijo-elec-summary-hero,
.ichijo-elec-mypage-hero,
.ichijo-elec-login-notice,
.ichijo-elec-notice-box {
  background:
    radial-gradient(circle at 86% 14%, rgba(15, 164, 167, .10), transparent 24%),
    linear-gradient(135deg, #f4fbff, #ffffff) !important;
  border: 1px solid var(--ichijo-line) !important;
  border-left: 4px solid var(--ichijo-teal) !important;
  color: var(--ichijo-muted) !important;
}

.ichijo-elec-section-title,
.ichijo-elec-profile-card-title,
.ichijo-elec-table-title,
.ichijo-elec-cta-title,
.ichijo-elec-summary-hero h2,
.ichijo-elec-mypage-title,
.ichijo-elec-report h2,
.ichijo-elec-report h3,
.ichijo-elec-empty-card h3 {
  color: var(--ichijo-navy-dark) !important;
  font-weight: 900 !important;
  background: transparent !important;
  border-bottom-color: var(--ichijo-line) !important;
}

.ichijo-elec-page-label,
.ichijo-elec-mypage-eyebrow,
.ichijo-elec-report-eyebrow,
.ichijo-elec-optional {
  background: #e8f8f8 !important;
  color: var(--ichijo-teal-dark) !important;
  border-radius: 999px !important;
  font-weight: 900 !important;
}

.ichijo-elec-field label,
.ichijo-elec-profile-label,
.ichijo-elec-stat-label,
.ichijo-elec-mypage-stat span,
.ichijo-elec-history-detail dt {
  color: var(--ichijo-muted) !important;
  font-weight: 800 !important;
}

.ichijo-elec-field input[type="text"],
.ichijo-elec-field input[type="month"],
.ichijo-elec-field input[type="number"],
.ichijo-elec-field select,
.ichijo-elec-field textarea,
.ichijo-elec-filter-row select,
.ichijo-form-input,
body.ichijo-page-contact .wpcf7 input,
body.ichijo-page-contact .wpcf7 textarea,
body.ichijo-page-contact .wpcf7 select,
body.ichijo-page-register .um input,
body.ichijo-page-register .um select,
body.ichijo-page-register .um textarea {
  border: 1px solid var(--ichijo-line) !important;
  border-radius: 12px !important;
  background: #f8fcff !important;
  color: var(--ichijo-text) !important;
}

.ichijo-elec-submit-btn,
.ichijo-elec-filter-btn,
.ichijo-elec-btn,
.ichijo-login-submit,
body.ichijo-page-contact .wpcf7-submit,
body.ichijo-page-register .um-button {
  background: linear-gradient(135deg, var(--ichijo-teal), var(--ichijo-teal-dark)) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 12px !important;
  font-weight: 900 !important;
  box-shadow: 0 8px 16px rgba(0,0,0,.13) !important;
}

.ichijo-elec-btn--outline,
.ichijo-login-secondary a {
  background: #fff !important;
  color: var(--ichijo-navy) !important;
  border: 1px solid var(--ichijo-line) !important;
}

/* ---------- STEP4: マイページ / プロフィール編集 ---------- */
.ichijo-member-dashboard,
.ichijo-profile-completion,
.ichijo-profile-edit-page-intro,
.ichijo-member-cta,
.ichijo-data-card,
.ichijo-related-box {
  border-color: var(--ichijo-line) !important;
  border-radius: 20px !important;
  box-shadow: var(--ichijo-shadow-soft) !important;
}

.ichijo-member-dashboard h2,
.ichijo-profile-completion h2,
.ichijo-profile-edit-page-intro h2,
.ichijo-member-cta h2,
.ichijo-data-card h2,
.ichijo-related-box h2 {
  color: var(--ichijo-navy-dark) !important;
  font-weight: 900 !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}

.ichijo-profile-edit-page-intro {
  max-width: 960px;
  margin: 28px auto 18px;
  padding: 24px;
  background: #fff;
}

.ichijo-profile-edit-page-intro p {
  color: var(--ichijo-muted);
  font-weight: 700;
}

/* ---------- STEP5: ログイン / 登録 / お問い合わせ ---------- */
.ichijo-login-wrap,
body.ichijo-page-register .um,
body.ichijo-page-contact .wpcf7 {
  max-width: 520px !important;
  margin: 28px auto 48px !important;
  padding: 28px !important;
  border: 1px solid var(--ichijo-line) !important;
  border-radius: 24px !important;
  background: #fff !important;
  box-shadow: var(--ichijo-shadow-soft) !important;
}

.ichijo-login-title {
  color: var(--ichijo-navy-dark) !important;
  font-weight: 900 !important;
}

.ichijo-login-desc,
.ichijo-form-label,
.ichijo-auth-lp-register-link {
  color: var(--ichijo-muted) !important;
  font-weight: 700 !important;
}

.ichijo-auth-lp-register-link {
  margin: 16px 0 0;
  text-align: center;
}

.ichijo-auth-lp-register-link a {
  color: var(--ichijo-teal-dark) !important;
  font-weight: 900;
}

/* ---------- STEP6: 規約系ページをカード型に ---------- */
body.ichijo-page-privacy-policy .post_content,
body.ichijo-page-terms .post_content,
body.ichijo-page-disclaimer .post_content,
body.ichijo-page-contact .post_content {
  max-width: 960px;
  margin: 28px auto 56px !important;
  padding: clamp(20px, 4vw, 34px) !important;
  border: 1px solid var(--ichijo-line);
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--ichijo-shadow-soft);
}

body.ichijo-page-privacy-policy .post_content::before,
body.ichijo-page-terms .post_content::before,
body.ichijo-page-disclaimer .post_content::before,
body.ichijo-page-contact .post_content::before {
  display: inline-flex;
  margin: 0 0 14px;
  padding: 6px 12px;
  border-radius: 999px;
  background: #e8f8f8;
  color: var(--ichijo-teal-dark);
  border: 1px solid rgba(15, 164, 167, .20);
  font-size: 13px;
  font-weight: 900;
}

body.ichijo-page-privacy-policy .post_content::before { content: "プライバシーポリシー"; }
body.ichijo-page-terms .post_content::before { content: "利用規約"; }
body.ichijo-page-disclaimer .post_content::before { content: "免責事項"; }
body.ichijo-page-contact .post_content::before { content: "お問い合わせ"; }

/* ---------- STEP7: 記事下CTA・関連記事の最終調整（ブログ記事のみ） ---------- */
body.ichijo-article-page .ichijo-content-bridge-auto,
body.ichijo-article-page .ichijo-article-cta,
body.ichijo-article-page .ichijo-related-box,
body.ichijo-article-page .ichijo-member-cta,
body.ichijo-article-page .ichijo-data-card {
  max-width: 960px;
}

body.ichijo-article-page .ichijo-article-cta {
  border-radius: 24px;
}

body.ichijo-article-page .ichijo-related-post-grid {
  gap: 14px;
}

body.ichijo-design-page .ichijo-article-cta,
body.ichijo-design-page .ichijo-content-bridge-auto {
  display: none;
}

@media (max-width: 760px) {
  .ichijo-elec-lp-page,
  .ichijo-auth-lp-page {
    padding: 28px 12px 44px;
  }

  .ichijo-elec-lp-hero,
  .ichijo-auth-lp-hero {
    grid-template-columns: 1fr;
    padding: 26px 20px;
    border-radius: 22px;
  }

  .ichijo-elec-lp-guide {
    grid-template-columns: 1fr;
  }

  .ichijo-elec-lp-actions,
  .ichijo-elec-lp-button {
    width: 100%;
  }

  .ichijo-elec-lp-button {
    min-height: 52px;
  }

  .ichijo-elec-lp-content,
  .ichijo-auth-lp-content,
  .ichijo-elec-lp-guide-card,
  .ichijo-login-wrap,
  body.ichijo-page-register .um,
  body.ichijo-page-contact .wpcf7,
  body.ichijo-page-privacy-policy .post_content,
  body.ichijo-page-terms .post_content,
  body.ichijo-page-disclaimer .post_content,
  body.ichijo-page-contact .post_content,
  .ichijo-profile-edit-page-intro {
    padding: 18px !important;
    border-radius: 20px !important;
  }

  .ichijo-elec-complete-btns,
  .ichijo-elec-mypage-actions,
  .ichijo-dashboard-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .ichijo-elec-btn,
  .ichijo-elec-submit-btn,
  .ichijo-elec-filter-btn,
  .ichijo-dashboard-actions a,
  .ichijo-dashboard-link,
  .ichijo-login-submit,
  body.ichijo-page-contact .wpcf7-submit,
  body.ichijo-page-register .um-button {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }

  body.ichijo-article-page .ichijo-article-cta-inner {
    grid-template-columns: 1fr !important;
    padding: 22px !important;
  }
}

@media (max-width: 420px) {
  .ichijo-elec-lp-hero h1,
  .ichijo-auth-lp-hero h1 {
    font-size: 30px;
  }

  .ichijo-elec-lp-hero,
  .ichijo-auth-lp-hero,
  .ichijo-elec-lp-content,
  .ichijo-auth-lp-content,
  .ichijo-elec-lp-guide-card {
    padding: 16px !important;
  }
}


/* ============================================================
   v1.2.1 修正：SWELL標準タイトル・パンくず非表示を強化
   - データバンク系ページだけに適用
   - ブログ記事 body.ichijo-article-page には適用しない
   - LP内の .ichijo-*-hero h1 は表示したまま
   ============================================================ */

body.ichijo-design-page:not(.ichijo-article-page) .l-topTitleArea,
body.ichijo-design-page:not(.ichijo-article-page) .p-topTitleArea,
body.ichijo-design-page:not(.ichijo-article-page) .c-pageTitleArea,
body.ichijo-design-page:not(.ichijo-article-page) .p-pageTitle,
body.ichijo-design-page:not(.ichijo-article-page) .p-entryTitle,
body.ichijo-design-page:not(.ichijo-article-page) .p-articleTitle,
body.ichijo-design-page:not(.ichijo-article-page) .p-articleHead,
body.ichijo-design-page:not(.ichijo-article-page) .p-articleHead__title,
body.ichijo-design-page:not(.ichijo-article-page) .l-article__head,
body.ichijo-design-page:not(.ichijo-article-page) .c-pageTitle,
body.ichijo-design-page:not(.ichijo-article-page) h1.c-pageTitle,
body.ichijo-design-page:not(.ichijo-article-page) .c-pageTitle__inner,
body.ichijo-design-page:not(.ichijo-article-page) .c-pageTitle__main,
body.ichijo-design-page:not(.ichijo-article-page) .c-pageTitle__sub,
body.ichijo-design-page:not(.ichijo-article-page) .c-postTitle,
body.ichijo-design-page:not(.ichijo-article-page) .p-postTitle,
body.ichijo-design-page:not(.ichijo-article-page) .entry-title,
body.ichijo-design-page:not(.ichijo-article-page) .p-breadcrumb,
body.ichijo-design-page:not(.ichijo-article-page) .l-breadcrumb,
body.ichijo-design-page:not(.ichijo-article-page) .c-breadcrumb,
body.ichijo-design-page:not(.ichijo-article-page) #breadcrumb,
body.ichijo-design-page:not(.ichijo-article-page) #breadcrumbs,
body.ichijo-design-page:not(.ichijo-article-page) .breadcrumb,
body.ichijo-single-survey .l-topTitleArea,
body.ichijo-single-survey .p-topTitleArea,
body.ichijo-single-survey .c-pageTitleArea,
body.ichijo-single-survey .p-pageTitle,
body.ichijo-single-survey .p-entryTitle,
body.ichijo-single-survey .p-articleTitle,
body.ichijo-single-survey .p-articleHead,
body.ichijo-single-survey .p-articleHead__title,
body.ichijo-single-survey .l-article__head,
body.ichijo-single-survey .c-pageTitle,
body.ichijo-single-survey h1.c-pageTitle,
body.ichijo-single-survey .c-pageTitle__inner,
body.ichijo-single-survey .c-pageTitle__main,
body.ichijo-single-survey .c-pageTitle__sub,
body.ichijo-single-survey .c-postTitle,
body.ichijo-single-survey .p-postTitle,
body.ichijo-single-survey .entry-title,
body.ichijo-single-survey .p-breadcrumb,
body.ichijo-single-survey .l-breadcrumb,
body.ichijo-single-survey .c-breadcrumb,
body.ichijo-single-survey #breadcrumb,
body.ichijo-single-survey #breadcrumbs,
body.ichijo-single-survey .breadcrumb {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

/* テーマ側のH1が単独で残る場合の保険：コンテンツ直下の先頭H1だけ非表示 */
body.ichijo-design-page:not(.ichijo-article-page) .l-mainContent__inner > h1:first-child,
body.ichijo-design-page:not(.ichijo-article-page) .l-mainContent > h1:first-child,
body.ichijo-design-page:not(.ichijo-article-page) main > h1:first-child,
body.ichijo-design-page:not(.ichijo-article-page) article > h1:first-child,
body.ichijo-design-page:not(.ichijo-article-page) .post_content > h1:first-child,
body.ichijo-single-survey .l-mainContent__inner > h1:first-child,
body.ichijo-single-survey .l-mainContent > h1:first-child,
body.ichijo-single-survey main > h1:first-child,
body.ichijo-single-survey article > h1:first-child,
body.ichijo-single-survey .post_content > h1:first-child {
  display: none !important;
}

/* 非表示後の上部余白を詰める */
body.ichijo-design-page:not(.ichijo-article-page) #content,
body.ichijo-design-page:not(.ichijo-article-page) .l-content,
body.ichijo-design-page:not(.ichijo-article-page) .l-main,
body.ichijo-design-page:not(.ichijo-article-page) .l-mainContent,
body.ichijo-design-page:not(.ichijo-article-page) .l-mainContent__inner,
body.ichijo-design-page:not(.ichijo-article-page) .post_content,
body.ichijo-single-survey #content,
body.ichijo-single-survey .l-content,
body.ichijo-single-survey .l-main,
body.ichijo-single-survey .l-mainContent,
body.ichijo-single-survey .l-mainContent__inner,
body.ichijo-single-survey .post_content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* LP/ショートコード内のH1は必ず表示 */
body.ichijo-design-page .ichijo-survey-lp-hero h1,
body.ichijo-design-page .ichijo-elec-lp-hero h1,
body.ichijo-design-page .ichijo-auth-lp-hero h1,
body.ichijo-design-page .ichijo-lp-hero h1 {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}
