/*
Theme Name:   EventPR Kadence Child
Theme URI:    https://eventpr.co.jp
Description:  株式会社イベントピーアール SEO・AI検索・MEO強化 Kadence子テーマ
Author:       EventPR
Template:     kadence
Version:      1.5.9
Text Domain:  eventpr-kadence-child
*/

/* ==========================================================
   0. 変数定義
   ========================================================== */
:root{
  --epr-navy: #0b1830;
  --epr-navy-dark: #060f22;
  --epr-navy-soft: #10213f;
  --epr-gold: #c9a24b;
  --epr-gold-light: #e3c583;
  --epr-text: #1a1a1a;
  --epr-text-sub: #414958;
  --epr-bg-light: #f6f5f2;
  --epr-white: #ffffff;
  --epr-header-bg: #000000;
  --epr-header-border: rgba(201,162,75,0.18);
  --epr-header-text: #ffffff;
  --epr-header-sub: #d8c89b;
  --epr-radius: 14px;
  --epr-shadow: 0 8px 24px rgba(11,24,48,0.08);
  --epr-font: "Zen Kaku Gothic New","Noto Sans JP",-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
}

/* ==========================================================
   1. 全体
   ========================================================== */
.eventpr-top{
  font-family: var(--epr-font);
  color: var(--epr-text);
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.eventpr-top *{ box-sizing: border-box; }
/* Kadence本体側のタイポグラフィ設定より確実に優先させる */
.eventpr-top,
.eventpr-top h1,
.eventpr-top h2,
.eventpr-top h3,
.eventpr-top h4,
.eventpr-top p,
.eventpr-top span,
.eventpr-top a,
.eventpr-top li,
.eventpr-top th,
.eventpr-top td,
.eventpr-top button,
.eventpr-top input,
.eventpr-top textarea,
.eventpr-top label{
  font-family: var(--epr-font) !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}
.eventpr-top img{ max-width:100%; display:block; }
.eventpr-top a{ text-decoration:none; color:inherit; }
.eventpr-top section{ padding: 72px 20px; }
.eventpr-top .epr-inner{ max-width: 1100px; margin: 0 auto; }
.eventpr-top .epr-eyebrow{
  display:inline-block;
  font-size: 13px;
  letter-spacing: .12em;
  color: var(--epr-gold);
  font-weight: 700;
  margin-bottom: 14px;
}
.eventpr-top h2.epr-h2{
  font-size: clamp(24px,3.2vw,34px);
  font-weight: 800;
  text-align:center;
  margin: 0 0 12px;
  letter-spacing: .02em;
  color: var(--epr-text) !important;
}
.eventpr-top p.epr-lead{
  text-align:center;
  color: var(--epr-text-sub);
  max-width: 720px;
  margin: 0 auto 44px;
  font-size: 15.5px;
}

/* ボタン共通 */
.eventpr-top .epr-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding: 16px 30px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 15px;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
  white-space: nowrap;
}
.eventpr-top .epr-btn-gold{
  background: linear-gradient(135deg,var(--epr-gold-light),var(--epr-gold));
  color: var(--epr-header-text);
  box-shadow: 0 6px 18px rgba(201,162,75,0.35);
}
.eventpr-top .epr-btn-gold:hover{ transform: translateY(-2px); box-shadow: 0 10px 22px rgba(201,162,75,0.45); }
.eventpr-top .epr-btn-outline{
  background: transparent;
  color: var(--epr-white);
  border: 1.5px solid rgba(255,255,255,0.55);
}
.eventpr-top .epr-btn-outline:hover{ background: rgba(255,255,255,0.1); }
.eventpr-top .epr-btn-navy{
  background: var(--epr-navy);
  color: var(--epr-white);
}
.eventpr-top .epr-btn-navy:hover{ background: var(--epr-navy-soft); }

/* ==========================================================
   2. ヘッダー
   ========================================================== */
.eventpr-top .epr-header{
  position: sticky;
  top:0;
  z-index: 500;
  background: var(--epr-header-bg);
  border-bottom: 1px solid var(--epr-header-border);
  box-shadow: 0 8px 24px rgba(0,0,0,0.16);
}

/* Kadence標準ヘッダー（サイトタイトル＋メニュー）・フッターは、
   本テーマの独自ヘッダー／フッターと二重になるため非表示にする */
body.eventpr-has-sticky #masthead,
body.eventpr-has-sticky .site-header,
body.eventpr-has-sticky #colophon,
body.eventpr-has-sticky .site-footer{
  display: none !important;
}
.eventpr-top .epr-header-inner{
  max-width: 1200px;
  margin:0 auto;
  padding: 14px 20px;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 16px;
}
.eventpr-top .epr-logo{
  flex: 0 0 auto;
  font-weight: 800;
  font-size: 17px;
  color: var(--epr-navy-dark);
  line-height:1.3;
  text-decoration:none;
}
.eventpr-top .epr-logo small{
  display:block;
  font-size: 10.5px;
  font-weight: 500;
  color: var(--epr-header-sub);
  letter-spacing: .04em;
}
/* WordPress「サイト基本情報」で設定したカスタムロゴ */
.eventpr-top .epr-logo--image{
  display:flex;
  align-items:center;
  line-height:0;
}
.eventpr-top .epr-site-logo-image{
  display:block;
  width:auto;
  height:64px;
  max-width:250px;
  object-fit:contain;
}
.eventpr-top .epr-header-actions{ display:flex; align-items:center; gap:14px; }
.eventpr-top .epr-header-actions .epr-btn{ padding: 11px 20px; font-size: 13.5px; }

/* ==========================================================
   3. ヒーロー
   ========================================================== */
.eventpr-top .epr-hero{
  position: relative;
  background: var(--epr-navy-dark);
  color: var(--epr-white);
  padding: 90px 20px 70px;
  overflow:hidden;
}
.eventpr-top .epr-hero-media{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
}
.eventpr-top .epr-hero-image{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center right;
}
.eventpr-top .epr-hero::before,
.eventpr-top .epr-hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}
.eventpr-top .epr-hero::before{
  z-index:1;
  background:
    linear-gradient(90deg, rgba(6,15,34,0.97) 0%, rgba(6,15,34,0.88) 38%, rgba(6,15,34,0.55) 66%, rgba(6,15,34,0.72) 100%),
    linear-gradient(0deg, rgba(6,15,34,0.94) 0%, rgba(6,15,34,0.35) 35%, rgba(6,15,34,0.2) 60%, rgba(6,15,34,0.6) 100%);
}
.eventpr-top .epr-hero::after{
  z-index:1;
  background: linear-gradient(180deg, rgba(6,15,34,0) 40%, rgba(6,15,34,0.9) 100%);
}
.eventpr-top .epr-hero-inner{
  position:relative;
  z-index:2;
  max-width: 1100px;
  margin: 0 auto;
}
.eventpr-top .epr-hero h1{
  font-size: 32px;
  font-weight: 900;
  line-height: 1.45;
  margin: 0 0 22px;
  color: var(--epr-white) !important;
  text-shadow: 0 2px 14px rgba(0,0,0,0.55), 0 1px 2px rgba(0,0,0,0.6);
}
@media (min-width: 768px){
  .eventpr-top .epr-hero h1{ font-size: 40px; }
}
@media (min-width: 1200px){
  .eventpr-top .epr-hero h1{ font-size: 46px; }
}
.eventpr-top .epr-hero h1 .epr-accent{
  color: var(--epr-gold-light);
  font-size: inherit !important;
  font-weight: inherit !important;
}
.eventpr-top .epr-hero p{
  font-size: 16px;
  color: #eef1f8;
  max-width: 640px;
  margin: 0 0 30px;
  text-shadow: 0 1px 8px rgba(0,0,0,0.5);
}
.eventpr-top .epr-badges{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom: 34px; }
.eventpr-top .epr-badge{
  border: 1px solid rgba(227,197,131,0.55);
  color: var(--epr-gold-light);
  border-radius: 999px;
  padding: 7px 16px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .02em;
}
.eventpr-top .epr-hero-ctas{ display:flex; flex-wrap:wrap; gap:14px; }

/* ==========================================================
   4. 実績数値カード（統計バー）
   ========================================================== */
.eventpr-top .epr-stats{
  background: var(--epr-white);
  padding: 0 20px;
  margin-top: -46px;
  position: relative;
  z-index: 3;
}
.eventpr-top .epr-stats-grid{
  max-width: 1100px;
  margin: 0 auto;
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap: 16px;
  background: var(--epr-white);
  border-radius: var(--epr-radius);
  box-shadow: var(--epr-shadow);
  padding: 26px;
}
.eventpr-top .epr-stat{
  text-align:center;
  padding: 10px 6px;
  border-right: 1px solid #eee;
}
.eventpr-top .epr-stat:last-child{ border-right:none; }
.eventpr-top .epr-stat-icon{ font-size: 26px; margin-bottom: 6px; }
.eventpr-top .epr-stat-label{ font-size: 12.5px; color: var(--epr-text-sub); font-weight: 600; }
.eventpr-top .epr-stat-num{
  font-size: 26px;
  font-weight: 900;
  color: var(--epr-navy);
  margin: 4px 0 2px;
}
.eventpr-top .epr-stat-num .epr-unit{ font-size: 14px; font-weight: 700; }
.eventpr-top .epr-stat-note{ font-size: 11px; color: #999; }

/* ==========================================================
   5. 実績・取引先ロゴ一覧
   ========================================================== */
.eventpr-top .epr-works{ padding-top: 56px; padding-bottom: 56px; }
.eventpr-top .epr-works-frame{
  max-width: 980px;
  margin: 0 auto;
  background: var(--epr-white);
  border: 1px solid #eee;
  border-radius: var(--epr-radius);
  box-shadow: var(--epr-shadow);
  padding: 20px;
}
.eventpr-top .epr-works-frame img{
  width: 100%;
  height: auto;
  border-radius: 8px;
  display:block;
}
.eventpr-top .epr-works-note{
  text-align:center;
  font-size: 11.5px;
  color: #a3a8b3;
  max-width: 700px;
  margin: 16px auto 0;
}
@media (max-width: 640px){
  .eventpr-top .epr-works-frame{ padding: 12px; }
}

/* ==========================================================
   6. サービス
   ========================================================== */
.eventpr-top .epr-services-grid{
  display:grid;
  grid-template-columns: repeat(3,1fr);
  gap: 16px;
  margin-bottom: 26px;
}
.eventpr-top .epr-service-card{
  background: var(--epr-white);
  border: 1px solid #eee;
  border-radius: var(--epr-radius);
  padding: 22px;
  display:flex;
  align-items:flex-start;
  gap: 14px;
  transition: box-shadow .2s ease, transform .2s ease;
  height:100%;
}
.eventpr-top .epr-service-card:hover{ border-color: var(--epr-gold); }
.eventpr-top .epr-service-icon{
  width: 44px; height:44px; flex: 0 0 auto;
  border-radius: 12px;
  background: #f1ecdf;
  display:flex; align-items:center; justify-content:center;
  font-size: 20px;
}
.eventpr-top .epr-service-copy{ flex:1; min-width:0; }
.eventpr-top .epr-service-title{ font-weight: 800; font-size: 15px; margin:0 0 7px; color:var(--epr-navy); line-height:1.5; }
.eventpr-top .epr-service-desc{ font-size:12.8px; line-height:1.75; color:var(--epr-text-sub); margin:0; }
.eventpr-top .epr-services-more{ text-align:center; }
.eventpr-top .epr-link-bar{
  display:flex; align-items:center; justify-content:center; gap:8px;
  border: 1px solid #e2e2e2; border-radius: 999px;
  padding: 15px 24px; font-weight:700; max-width: 460px; margin: 0 auto;
  color: var(--epr-navy);
}
.eventpr-top .epr-link-bar:hover{ border-color: var(--epr-gold); color: var(--epr-gold); }

/* ==========================================================
   7. 選ばれる理由
   ========================================================== */
.eventpr-top .epr-reasons{ background: var(--epr-navy-dark); color: var(--epr-white); }
.eventpr-top .epr-reasons .epr-h2{ color: var(--epr-white); text-align:left; }
.eventpr-top .epr-reasons-wrap{
  display:flex; align-items:center; justify-content: space-between; gap: 30px; flex-wrap: wrap;
}
.eventpr-top .epr-reasons-list{ list-style:none; margin:0; padding:0; flex: 1 1 480px; }
.eventpr-top .epr-reasons-list li{
  display:flex; gap:10px; align-items:flex-start;
  padding: 10px 0; font-size: 15px; color:#dfe3ee;
}
.eventpr-top .epr-check{ color: var(--epr-gold-light); font-weight:900; flex:0 0 auto; }

/* ==========================================================
   8. 料金プラン
   ========================================================== */
.eventpr-top .epr-pricing-grid{
  display:grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px;
}
.eventpr-top .epr-price-card{
  background: var(--epr-white);
  border: 1px solid #eee;
  border-radius: var(--epr-radius);
  padding: 30px 26px;
  box-shadow: var(--epr-shadow);
}
.eventpr-top .epr-price-card.epr-price-highlight{
  border: 1.5px solid var(--epr-gold);
  position: relative;
}
.eventpr-top .epr-price-tag{
  font-size: 15px; font-weight: 700; color: var(--epr-text-sub); margin-bottom: 8px;
}
.eventpr-top .epr-price-num{ font-size: 32px; font-weight: 900; color: var(--epr-navy); }
.eventpr-top .epr-price-num .epr-yen{ font-size: 16px; font-weight:700; margin-right:2px; }
.eventpr-top .epr-price-num .epr-tilde{ font-size: 18px; }
.eventpr-top .epr-price-tax{ font-size: 12px; color:#999; margin-left:6px; }
.eventpr-top .epr-price-desc{ margin-top: 12px; font-size: 13.5px; color: var(--epr-text-sub); }
.eventpr-top .epr-price-note{
  text-align:center; font-size: 13px; color: var(--epr-text-sub); margin-bottom: 26px;
}

/* ==========================================================
   9. FAQ
   ========================================================== */
.eventpr-top .epr-faq{ background: var(--epr-navy-dark); color: var(--epr-white); }
.eventpr-top .epr-faq .epr-h2{ color: var(--epr-white); text-align:left; margin-bottom: 26px; }
.eventpr-top .epr-faq-item{
  border-bottom: 1px solid rgba(255,255,255,0.14);
}
.eventpr-top .epr-faq-q{
  width:100%;
  background: none; border:none; cursor:pointer;
  display:flex; align-items:center; justify-content: space-between;
  padding: 18px 4px;
  color: var(--epr-white);
  font-size: 15px; font-weight: 700;
  text-align:left;
  font-family: inherit;
}
.eventpr-top .epr-faq-q .epr-plus{ color: var(--epr-gold-light); font-size: 20px; transition: transform .2s ease; }
.eventpr-top .epr-faq-q:focus-visible{ outline:2px solid var(--epr-gold-light); outline-offset:4px; border-radius:4px; }
.eventpr-top .epr-faq-item.is-open .epr-plus{ transform: rotate(45deg); }
.eventpr-top .epr-faq-a{
  max-height:0; overflow:hidden;
  transition: max-height .25s ease;
  font-size: 14px; color:#c9cede;
}
.eventpr-top .epr-faq-item.is-open .epr-faq-a{ max-height: 420px; }
.eventpr-top .epr-faq-a-inner{ padding: 0 4px 20px; }

/* ==========================================================
   10. 会社概要
   ========================================================== */
.eventpr-top .epr-company{
  background: var(--epr-bg-light);
}
.eventpr-top .epr-company-wrap{
  display:flex; align-items:center; justify-content: space-between; gap: 20px; flex-wrap: wrap;
}
.eventpr-top .epr-company-name{ font-weight: 800; font-size: 18px; color: var(--epr-navy); }
.eventpr-top .epr-company-sub{ font-size: 13px; color: var(--epr-text-sub); margin-top: 4px; }
.eventpr-top .epr-company-table{
  width:100%; border-collapse: collapse; margin-top: 26px; background: var(--epr-white);
  border-radius: var(--epr-radius); overflow:hidden; box-shadow: var(--epr-shadow);
}
.eventpr-top .epr-company-table th,
.eventpr-top .epr-company-table td{
  text-align:left; padding: 14px 20px; font-size: 14px; border-bottom: 1px solid #f0f0f0;
}
.eventpr-top .epr-company-table th{
  width: 160px; color: var(--epr-text-sub); font-weight: 700; background: #fbfaf7;
}
.eventpr-top .epr-company-table tr:last-child th,
.eventpr-top .epr-company-table tr:last-child td{ border-bottom:none; }

/* ==========================================================
   11. 最終CTA
   ========================================================== */
.eventpr-top .epr-final-cta{
  background: linear-gradient(135deg,var(--epr-navy) 0%, var(--epr-navy-dark) 100%);
  color: var(--epr-white);
  text-align:center;
}
.eventpr-top .epr-final-cta h2{ color: var(--epr-white); }
.eventpr-top .epr-final-cta p{ color:#c9cede; max-width: 620px; margin:0 auto 30px; text-align:center; }
.eventpr-top .epr-final-ctas{ display:flex; justify-content:center; gap:14px; flex-wrap:wrap; margin-bottom: 18px; }
.eventpr-top .epr-final-note{ font-size: 12.5px; color:#8b93ab; }

/* Contact Form 7 埋め込みエリア */
.eventpr-top .epr-contact-form-wrap{
  max-width: 760px;
  margin: 40px auto 0;
  background: var(--epr-white);
  border-radius: var(--epr-radius);
  padding: 36px 40px;
  text-align: left;
  color: var(--epr-text);
  box-shadow: var(--epr-shadow);
}
.eventpr-top .epr-contact-form-placeholder{
  color: var(--epr-text-sub);
  font-size: 13.5px;
  text-align: center;
  margin: 0;
}
.eventpr-top .wpcf7-form p{ margin: 0 0 16px; text-align:left; }
.eventpr-top .wpcf7-form label{
  display:block; font-size: 13.5px; font-weight: 700;
  color: var(--epr-navy); margin-bottom: 6px;
}
.eventpr-top .wpcf7-form input[type="text"],
.eventpr-top .wpcf7-form input[type="email"],
.eventpr-top .wpcf7-form input[type="tel"],
.eventpr-top .wpcf7-form select,
.eventpr-top .wpcf7-form textarea{
  width: 100%;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 12px 14px;
  font-size: 14px;
  background: #fbfaf7;
}
.eventpr-top .wpcf7-form textarea{ min-height: 120px; resize: vertical; }
.eventpr-top .wpcf7-form input[type="submit"]{
  width: 100%;
  border: none;
  border-radius: 999px;
  padding: 15px 20px;
  font-weight: 800;
  font-size: 15px;
  color: var(--epr-navy-dark);
  background: linear-gradient(135deg,var(--epr-gold-light),var(--epr-gold));
  cursor: pointer;
}
.eventpr-top .wpcf7-not-valid-tip{ color: #e04b4b; font-size: 12px; margin-top: 4px; }
.eventpr-top .wpcf7-response-output{
  border-radius: 8px; font-size: 13px; margin-top: 16px !important;
}

/* ==========================================================
   12. フッターCTA固定バー（モバイル）
   ========================================================== */
.eventpr-top .epr-sticky-cta{
  position: fixed; left:0; right:0; bottom:0; z-index: 600;
  display:flex;
}
.eventpr-top .epr-sticky-cta a{
  flex:1; text-align:center; padding: 16px 10px; font-weight:800; font-size: 14px;
  display:flex; align-items:center; justify-content:center; gap:6px;
}
.eventpr-top .epr-sticky-cta .epr-sticky-mail{ background: var(--epr-gold); color: var(--epr-navy-dark); }
.eventpr-top .epr-sticky-cta .epr-sticky-tel{ background: var(--epr-navy-dark); color: var(--epr-white); }

/* ==========================================================
   14. ニュース(お知らせ) - トップページのセクション
   ========================================================== */
.eventpr-top .epr-header-nav-link{
  font-size: 13.5px;
  font-weight: 700;
  color: var(--epr-header-text);
  padding: 8px 4px;
  white-space: nowrap;
}
.eventpr-top .epr-header-nav-link:hover{ color: var(--epr-gold-light); }
.eventpr-top .epr-header-tel{
  color: var(--epr-white) !important;
  border-color: rgba(255,255,255,0.55) !important;
}
.eventpr-top .epr-header-tel:hover{
  background: rgba(255,255,255,0.08);
}

.eventpr-top .epr-news-grid{
  display:grid;
  grid-template-columns: repeat(3,1fr);
  gap: 20px;
  margin-bottom: 30px;
}
.eventpr-top .epr-news-card{
  display:block;
  background: var(--epr-white);
  border: 1px solid #eee;
  border-radius: var(--epr-radius);
  overflow:hidden;
  transition: box-shadow .2s ease, transform .2s ease;
}
.eventpr-top .epr-news-card:hover{ box-shadow: var(--epr-shadow); transform: translateY(-3px); }
.eventpr-top .epr-news-thumb{
  aspect-ratio: 16/10;
  background: #eef0f4;
  overflow:hidden;
  display:flex; align-items:center; justify-content:center;
}
.eventpr-top .epr-news-thumb img{ width:100%; height:100%; object-fit: cover; }
.eventpr-top .epr-news-thumb-placeholder{ font-size: 30px; opacity: .4; }
.eventpr-top .epr-news-body{ padding: 18px 20px 22px; }
.eventpr-top .epr-news-date{
  font-size: 12px; font-weight: 700; color: var(--epr-gold); letter-spacing: .04em; margin-bottom: 8px;
}
.eventpr-top .epr-news-title{
  font-size: 15.5px; font-weight: 700; color: var(--epr-navy);
  margin-bottom: 8px; line-height: 1.6;
}
.eventpr-top .epr-news-excerpt{
  font-size: 13px; color: var(--epr-text-sub); line-height: 1.7;
}
.eventpr-top .epr-news-empty{
  text-align:center; color: var(--epr-text-sub); font-size: 14px; padding: 30px 0;
}

/* ==========================================================
   15. ニュース一覧ページ / 詳細ページ
   ========================================================== */
.eventpr-top.epr-news-page .epr-news-hero{
  background: linear-gradient(135deg,var(--epr-navy) 0%, var(--epr-navy-dark) 100%);
  color: var(--epr-white);
  padding: 60px 20px 50px;
  text-align:center;
}
.eventpr-top.epr-news-page .epr-news-hero .epr-eyebrow{ display:block; }
.eventpr-top.epr-news-page .epr-news-hero-title{
  font-size: clamp(24px,3.6vw,34px);
  font-weight: 900;
  margin: 6px 0 10px;
  color: var(--epr-white) !important;
}
.eventpr-top.epr-news-page .epr-news-hero-lead{
  color:#c9cede; font-size: 14px; max-width: 560px; margin: 0 auto;
}
.eventpr-top.epr-news-page .epr-news-list-section{ background: var(--epr-bg-light); }
.eventpr-top.epr-news-page .epr-news-grid-archive{ margin-top: 6px; }

.eventpr-top .epr-news-pagination{
  display:flex; justify-content:center; gap: 8px; flex-wrap:wrap; margin-top: 20px;
}
.eventpr-top .epr-news-pagination .page-numbers{
  display:inline-flex; align-items:center; justify-content:center;
  min-width: 38px; height: 38px; padding: 0 10px;
  border-radius: 999px; border: 1px solid #ddd;
  font-size: 13.5px; color: var(--epr-navy); background: var(--epr-white);
}
.eventpr-top .epr-news-pagination .page-numbers.current{
  background: var(--epr-navy); color: var(--epr-white); border-color: var(--epr-navy);
}
.eventpr-top .epr-news-pagination .page-numbers:hover{ border-color: var(--epr-gold); color: var(--epr-gold); }

/* 記事詳細 */
.eventpr-top .epr-news-single-section{ background: var(--epr-white); padding: 56px 20px 80px; }
.eventpr-top .epr-news-single-inner{ max-width: 760px; }
.eventpr-top .epr-news-single-thumb{
  border-radius: var(--epr-radius); overflow:hidden; margin-bottom: 34px;
}
.eventpr-top .epr-news-single-thumb img{ width:100%; height:auto; display:block; }
.eventpr-top .epr-news-content{
  font-size: 15.5px; line-height: 2; color: var(--epr-text);
}
.eventpr-top .epr-news-content p{ margin: 0 0 1.6em; }
.eventpr-top .epr-news-content h2{
  font-size: 22px; font-weight: 800; color: var(--epr-navy);
  margin: 2em 0 .8em; text-align:left;
}
.eventpr-top .epr-news-content h3{
  font-size: 18px; font-weight: 800; color: var(--epr-navy);
  margin: 1.8em 0 .6em; text-align:left;
}
.eventpr-top .epr-news-content img{ max-width:100%; height:auto; border-radius: 10px; margin: 1em 0; }
.eventpr-top .epr-news-content a{ color: var(--epr-gold); text-decoration: underline; }
.eventpr-top .epr-news-content ul,
.eventpr-top .epr-news-content ol{ margin: 0 0 1.6em; padding-left: 1.4em; }
.eventpr-top .epr-news-content blockquote{
  border-left: 3px solid var(--epr-gold); margin: 1.6em 0; padding: 4px 0 4px 20px;
  color: var(--epr-text-sub); font-style: normal;
}

.eventpr-top .epr-news-single-nav{
  display:flex; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  border-top: 1px solid #eee; border-bottom: 1px solid #eee;
  padding: 22px 0; margin: 40px 0 24px;
}
.eventpr-top .epr-news-nav-link{
  display:flex; flex-direction:column; gap:4px; font-size: 12.5px; color: var(--epr-text-sub); font-weight:700; max-width: 45%;
}
.eventpr-top .epr-news-nav-link span{ font-size: 13.5px; color: var(--epr-navy); font-weight: 700; }
.eventpr-top .epr-news-nav-next{ text-align:right; align-items:flex-end; margin-left:auto; }

@media (max-width: 900px){
  .eventpr-top .epr-news-grid{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px){
  .eventpr-top .epr-news-grid{ grid-template-columns: 1fr; }
}

/* ==========================================================
   16. レスポンシブ（続き）
   ========================================================== */
@media (max-width: 900px){
  .eventpr-top .epr-services-grid{ grid-template-columns: 1fr 1fr; }
  .eventpr-top .epr-stats-grid{ grid-template-columns: 1fr 1fr; }
  .eventpr-top .epr-stat{ border-right:none; border-bottom: 1px solid #eee; padding-bottom: 18px; }
  .eventpr-top .epr-pricing-grid{ grid-template-columns: 1fr; }
}
@media (max-width: 640px){
  .eventpr-top section{ padding: 52px 16px; }
  .eventpr-top .epr-services-grid{ grid-template-columns: 1fr; }
  .eventpr-top .epr-company-table th{ width: 110px; font-size: 12.5px; }
  .eventpr-top .epr-company-table td{ font-size: 12.5px; }
  body.eventpr-has-sticky{ padding-bottom: 58px; }
}
@media (min-width: 641px){
  .eventpr-top .epr-sticky-cta{ display:none; }
}

/* ==========================================================
   18. ハンバーガーメニュー & モバイルドロワー
   ========================================================== */
.eventpr-top .epr-hamburger{
  display:none;
  flex-direction: column;
  align-items:center;
  justify-content:center;
  gap: 4px;
  width: 48px;
  height: 48px;
  padding: 6px 4px 4px;
  background: var(--epr-navy-dark);
  border: none;
  border-radius: 10px;
  cursor: pointer;
  flex: 0 0 auto;
}
.eventpr-top .epr-hamburger-bar{
  display:block;
  width: 20px;
  height: 2px;
  border-radius: 2px;
  background: var(--epr-gold-light);
}
.eventpr-top .epr-hamburger-label{
  font-size: 8.5px;
  font-weight: 700;
  color: var(--epr-gold-light);
  letter-spacing: .06em;
  margin-top: 1px;
}

.epr-drawer-overlay{
  position: fixed; inset: 0; z-index: 900;
  background: rgba(6,15,34,0.55);
  opacity: 0;
  transition: opacity .25s ease;
}
.epr-drawer-overlay.is-open{ opacity: 1; }

.epr-mobile-drawer{
  position: fixed;
  top: 0; right: 0; bottom: 0;
  z-index: 950;
  width: min(84vw, 340px);
  background: var(--epr-navy-dark, #060f22);
  color: #fff;
  transform: translateX(100%);
  transition: transform .25s ease;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  font-family: var(--epr-font, sans-serif);
}
.epr-mobile-drawer.is-open{ transform: translateX(0); }
body.epr-drawer-locked{ overflow: hidden; }

.epr-mobile-drawer .epr-drawer-head{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 10px;
  padding: 18px 18px 14px;
  border-bottom: 1px solid rgba(255,255,255,0.12);
}
.epr-mobile-drawer .epr-drawer-title{
  font-size: 14px;
  font-weight: 800;
  color: #fff;
}
.epr-mobile-drawer .epr-drawer-close{
  background: none;
  border: 1px solid rgba(255,255,255,0.35);
  color: #fff;
  width: 36px; height: 36px;
  border-radius: 999px;
  font-size: 15px;
  cursor: pointer;
  flex: 0 0 auto;
}
.epr-mobile-drawer .epr-drawer-links{
  display:flex;
  flex-direction: column;
  padding: 8px 0;
  flex: 1;
}
.epr-mobile-drawer .epr-drawer-links a{
  display:block;
  padding: 14px 20px;
  font-size: 14.5px;
  font-weight: 700;
  color: #e6e9f2;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
.epr-mobile-drawer .epr-drawer-links a:active{ background: rgba(255,255,255,0.08); }
.epr-mobile-drawer .epr-drawer-ctas{
  padding: 16px 18px 24px;
  display:flex;
  flex-direction: column;
  gap: 10px;
  border-top: 1px solid rgba(255,255,255,0.12);
}
.epr-mobile-drawer .epr-drawer-ctas .epr-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 8px;
  padding: 15px 20px;
  border-radius: 999px;
  font-weight: 800;
  font-size: 14.5px;
  text-decoration: none;
}
.epr-mobile-drawer .epr-drawer-ctas .epr-btn-gold{
  background: linear-gradient(135deg,var(--epr-gold-light,#e3c583),var(--epr-gold,#c9a24b));
  color: var(--epr-navy-dark,#060f22);
}
.epr-mobile-drawer .epr-drawer-tel{
  border: 1.5px solid rgba(255,255,255,0.5);
  color: #fff;
}

/* ==========================================================
   19. モバイル ファーストビュー最適化
   ========================================================== */
/* タブレット幅：ナビリンクが隠れる幅からハンバーガーを表示 */
@media (max-width: 1080px){
  .eventpr-top .epr-hamburger{ display:flex; }
}
@media (max-width: 640px){
  .eventpr-top .epr-header-actions .epr-header-nav-link{ display:none; }
  .eventpr-top .epr-header-actions .epr-header-tel{ display:none; }
  /* CTAは下部固定バーに一本化：ヘッダーの無料相談ボタンは非表示（ドロワー内には残る） */
  .eventpr-top .epr-header-actions .epr-btn-gold{ display:none; }
  .eventpr-top .epr-header-inner{ padding: 10px 14px; }
  .eventpr-top .epr-logo{ font-size: 14.5px; }
  .eventpr-top .epr-logo small{ font-size: 9.5px; }
  .eventpr-top .epr-site-logo-image{
    height:46px;
    max-width:180px;
  }

  /* ヒーロー：縦の圧迫感を減らし、1画面で「何の会社か」が伝わる構成に */
  .eventpr-top .epr-hero{
    padding: 38px 18px 90px;
  }
  .eventpr-top .epr-hero .epr-eyebrow{
    font-size: 11px;
    margin-bottom: 10px;
  }
  .eventpr-top .epr-hero h1{
    font-size: 24px;
    line-height: 1.5;
    margin-bottom: 14px;
  }
  /* リード文は3行までに制限し「文字ばかり」を回避 */
  .eventpr-top .epr-hero p{
    font-size: 13.5px;
    line-height: 1.85;
    margin-bottom: 18px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  /* 上部は文字優先で暗く、下部は写真（東京タワー）が見えるように */
  .eventpr-top .epr-hero::before{
    background:
      linear-gradient(180deg, rgba(6,15,34,0.95) 0%, rgba(6,15,34,0.9) 45%, rgba(6,15,34,0.55) 78%, rgba(6,15,34,0.3) 100%);
  }
  .eventpr-top .epr-hero::after{
    background: linear-gradient(180deg, rgba(6,15,34,0) 65%, rgba(6,15,34,0.5) 100%);
  }
  .eventpr-top .epr-hero-image{
    object-position: 72% center;
  }
  /* バッジは主要3つに絞る */
  .eventpr-top .epr-badges{
    gap: 7px;
    margin-bottom: 0;
  }
  .eventpr-top .epr-badge{
    padding: 5px 12px;
    font-size: 11px;
  }
  .eventpr-top .epr-badges .epr-badge:nth-child(n+4){ display:none; }
  /* ヒーロー内CTAは下部固定バーと重複するため非表示 */
  .eventpr-top .epr-hero-ctas{ display:none; }
}

/* 361px以下の小さい端末はさらに一段階縮小 */
@media (max-width: 360px){
  .eventpr-top .epr-hero h1{ font-size: 21.5px; }
  .eventpr-top .epr-logo{ font-size: 13px; }
  .eventpr-top .epr-site-logo-image{ max-width:160px; }
}



/* ==========================================================
   SEO・AIO向け追加コンテンツ
   ========================================================== */
.eventpr-top .epr-eyebrow-center{
  display:block;
  text-align:center;
}
.eventpr-top .epr-definition{
  background: var(--epr-white);
  padding-top: 56px;
  padding-bottom: 56px;
}
.eventpr-top .epr-definition-inner{
  display:grid;
  grid-template-columns: minmax(240px,.75fr) minmax(0,1.45fr);
  gap: 48px;
  align-items:start;
}
.eventpr-top .epr-definition .epr-h2{
  text-align:left;
  margin-bottom:0;
}
.eventpr-top .epr-definition-copy{
  border-left: 3px solid var(--epr-gold);
  padding-left: 28px;
}
.eventpr-top .epr-definition-copy p{
  margin:0 0 12px;
  color:var(--epr-text-sub);
  font-size:14.5px;
}
.eventpr-top .epr-definition-copy p:last-child{ margin-bottom:0; }
.eventpr-top .epr-definition-main{
  color:var(--epr-navy) !important;
  font-weight:700;
  font-size:16px !important;
}
.eventpr-top .epr-stat-text{ font-size:22px; }

.eventpr-top .epr-proof-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:34px;
}
.eventpr-top .epr-proof-card{
  background:var(--epr-white);
  border:1px solid #ece9e1;
  border-top:3px solid var(--epr-gold);
  border-radius:var(--epr-radius);
  padding:22px;
  box-shadow:0 5px 18px rgba(11,24,48,.05);
}
.eventpr-top .epr-proof-card h3{
  margin:0 0 8px;
  color:var(--epr-navy);
  font-size:15px;
  line-height:1.55;
}
.eventpr-top .epr-proof-card p{
  margin:0;
  color:var(--epr-text-sub);
  font-size:12.8px;
  line-height:1.8;
}

.eventpr-top .epr-flow{
  background:var(--epr-bg-light);
}
.eventpr-top .epr-flow-grid{
  list-style:none;
  padding:0;
  margin:34px 0 0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.eventpr-top .epr-flow-card{
  position:relative;
  background:var(--epr-white);
  border-radius:var(--epr-radius);
  padding:26px 22px 24px;
  box-shadow:var(--epr-shadow);
  border:1px solid #eee;
}
.eventpr-top .epr-flow-num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  height:28px;
  padding:0 10px;
  border-radius:999px;
  background:var(--epr-navy);
  color:var(--epr-gold-light);
  font-weight:800;
  font-size:12px;
  letter-spacing:.08em;
  margin-bottom:14px;
}
.eventpr-top .epr-flow-card h3{
  margin:0 0 8px;
  font-size:16px;
  color:var(--epr-navy);
}
.eventpr-top .epr-flow-card p{
  margin:0;
  font-size:13px;
  line-height:1.8;
  color:var(--epr-text-sub);
}

.eventpr-top .epr-company-link{ margin:0; }
.eventpr-top .epr-company-intro{
  margin-top:26px;
  padding:24px 26px;
  border-radius:var(--epr-radius);
  background:var(--epr-navy);
  color:var(--epr-white);
}
.eventpr-top .epr-company-intro h3{
  margin:0 0 8px;
  color:var(--epr-white);
  font-size:18px;
}
.eventpr-top .epr-company-intro p{
  margin:0;
  color:#d7dceb;
  font-size:13.5px;
  line-height:1.9;
}
.eventpr-top .epr-news-card-wrap,
.eventpr-top .epr-news-card-wrap .epr-news-card{ height:100%; }
.eventpr-top h3.epr-news-title{ margin:0; }

/* パンくず・記事著者情報 */
.eventpr-top .epr-breadcrumbs{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  align-items:center;
  font-size:12px;
  color:var(--epr-text-sub);
  margin-bottom:24px;
}
.eventpr-top .epr-breadcrumbs a{ color:var(--epr-navy); }
.eventpr-top .epr-breadcrumbs a:hover{ color:var(--epr-gold); }
.eventpr-top .epr-author-box{
  display:flex;
  gap:16px;
  align-items:flex-start;
  background:var(--epr-bg-light);
  border-radius:var(--epr-radius);
  padding:22px;
  margin-top:34px;
}
.eventpr-top .epr-author-avatar img{ border-radius:50%; width:64px; height:64px; }
.eventpr-top .epr-author-name{ font-weight:800; color:var(--epr-navy); margin-bottom:4px; }
.eventpr-top .epr-author-desc{ font-size:12.8px; color:var(--epr-text-sub); line-height:1.75; }
.eventpr-top .epr-article-meta{ display:flex; gap:12px; flex-wrap:wrap; justify-content:center; color:#c9cede; font-size:13px; }

@media (max-width: 1080px){
  .eventpr-top .epr-header-actions .epr-header-nav-link{ display:none; }
}
@media (max-width: 900px){
  .eventpr-top .epr-definition-inner{ grid-template-columns:1fr; gap:22px; }
  .eventpr-top .epr-definition-copy{ padding-left:20px; }
  .eventpr-top .epr-proof-grid{ grid-template-columns:1fr; }
  .eventpr-top .epr-flow-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width: 640px){
  .eventpr-top .epr-flow-grid{ grid-template-columns:1fr; }
  .eventpr-top .epr-definition{ padding-top:44px; padding-bottom:44px; }
  .eventpr-top .epr-definition-copy{ border-left-width:2px; padding-left:16px; }
  .eventpr-top .epr-company-intro{ padding:20px; }
  .eventpr-top .epr-author-box{ flex-direction:column; }
}

/* ==========================================================
   17. フッター
   ========================================================== */
.eventpr-top .epr-footer{
  background: #000000;
  color: #aab0c2;
  padding: 54px 20px 24px;
}
.eventpr-top .epr-footer-inner{
  display:flex;
  flex-wrap: wrap;
  gap: 40px;
  justify-content: space-between;
  padding-bottom: 30px;
  border-bottom: 1px solid rgba(255,255,255,0.12);
}
.eventpr-top .epr-footer-col{ flex: 1 1 200px; min-width: 180px; }
.eventpr-top .epr-footer-col-main{ flex: 1 1 280px; }
.eventpr-top .epr-footer-logo{ font-weight: 800; font-size: 16px; color: var(--epr-white); margin-bottom: 6px; }
.eventpr-top .epr-footer-logo-image{
  display:inline-flex;
  align-items:center;
  line-height:0;
  margin-bottom: 10px;
}
.eventpr-top .epr-footer-logo-img{
  display:block;
  width:auto;
  height:58px;
  max-width:240px;
  object-fit:contain;
}
.eventpr-top .epr-footer-sub{ font-size: 12px; color: #8b93ab; margin-bottom: 14px; }
.eventpr-top .epr-footer-address{ font-size: 12.5px; line-height: 1.9; color: #aab0c2; }
.eventpr-top .epr-footer-heading{
  font-size: 11.5px; letter-spacing: .12em; color: var(--epr-gold-light);
  font-weight: 700; margin-bottom: 14px;
}
.eventpr-top .epr-footer-link{
  display:block; font-size: 13px; color: #c9cede; margin-bottom: 11px;
}
.eventpr-top .epr-footer-link:hover{ color: var(--epr-gold-light); }
.eventpr-top .epr-footer-bottom{
  text-align:center;
  font-size: 11.5px;
  color: #6f7690;
  padding-top: 20px;
}
@media (max-width: 640px){
  .eventpr-top .epr-footer{ padding: 44px 16px 90px; }
}

/* ==========================================================
   13. Ver.1.2 下層ページ・実績・MEO
   ========================================================== */
.eventpr-top.epr-subpage{background:#fff;}
.eventpr-top .epr-subpage-hero{padding:72px 20px 58px;background:linear-gradient(135deg,var(--epr-navy-dark),var(--epr-navy-soft));}
.eventpr-top .epr-subpage-hero .epr-news-hero-title{max-width:900px;color:#fff!important;}
.eventpr-top .epr-subpage-hero .epr-news-hero-lead{max-width:820px;color:#e9edf5;}
.eventpr-top .epr-archive-section,
.eventpr-top .epr-case-detail-section,
.eventpr-top .epr-service-single-section,
.eventpr-top .epr-profile-section,
.eventpr-top .epr-price-page-section,
.eventpr-top .epr-faq-page-section,
.eventpr-top .epr-access-section{padding:54px 20px 90px;}
.eventpr-top .epr-disclosure-box{margin:24px 0 34px;padding:20px 22px;border-left:4px solid var(--epr-gold);background:#f7f4ec;border-radius:8px;color:#303745;}
.eventpr-top .epr-disclosure-box strong{display:block;color:var(--epr-navy);margin-bottom:5px;}
.eventpr-top .epr-disclosure-box p{margin:0;}
.eventpr-top .epr-filter-links{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px;}
.eventpr-top .epr-filter-links a{display:inline-flex;padding:7px 14px;border:1px solid #d8dce5;border-radius:999px;color:var(--epr-navy);font-size:13px;font-weight:700;text-decoration:none;background:#fff;}
.eventpr-top .epr-filter-links a:hover{border-color:var(--epr-gold);background:#faf7ef;}
.eventpr-top .epr-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.eventpr-top .epr-case-card{border:1px solid #e5e7ec;border-radius:14px;overflow:hidden;background:#fff;box-shadow:var(--epr-shadow);}
.eventpr-top .epr-case-card-link{display:block;height:100%;text-decoration:none;color:inherit;}
.eventpr-top .epr-case-card-image{aspect-ratio:3/2;overflow:hidden;background:#eef0f4;}
.eventpr-top .epr-case-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease;}
.eventpr-top .epr-case-card:hover img{transform:scale(1.035);}
.eventpr-top .epr-card-placeholder{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(135deg,#0b1830,#26395e);color:var(--epr-gold-light);font-weight:900;letter-spacing:.12em;}
.eventpr-top .epr-case-card-body{padding:22px;}
.eventpr-top .epr-case-card-date{font-size:12px;color:#777f90;margin-bottom:6px;}
.eventpr-top .epr-case-card h2{font-size:19px;line-height:1.5;color:var(--epr-navy);margin:0 0 8px;}
.eventpr-top .epr-case-client{font-size:13px;font-weight:700;color:#6d7482;margin-bottom:10px;}
.eventpr-top .epr-case-card p{font-size:14px;color:var(--epr-text-sub);margin:0 0 14px;}
.eventpr-top .epr-text-link{font-size:13px;font-weight:800;color:#8b681b;}
.eventpr-top .epr-empty-state{text-align:center;padding:70px 25px;border:1px dashed #cbd0da;border-radius:14px;background:#fafbfc;}
.eventpr-top .epr-empty-state h2{color:var(--epr-navy);}
.eventpr-top .epr-case-hero{padding:74px 20px 56px;background:linear-gradient(135deg,var(--epr-navy-dark),#13294e);color:#fff;}
.eventpr-top .epr-case-hero h1{max-width:940px;margin:8px 0 20px;color:#fff!important;font-size:clamp(30px,4vw,48px);line-height:1.35;}
.eventpr-top .epr-case-meta{display:flex;flex-wrap:wrap;gap:10px 22px;color:#e8ecf5;font-size:14px;}
.eventpr-top .epr-case-main-image{margin:26px 0 34px;border-radius:16px;overflow:hidden;box-shadow:var(--epr-shadow);}
.eventpr-top .epr-case-main-image img{display:block;width:100%;height:auto;}
.eventpr-top .epr-case-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 38px;}
.eventpr-top .epr-case-metric{padding:22px 14px;text-align:center;border:1px solid #e2e5eb;border-radius:12px;background:#fff;}
.eventpr-top .epr-case-metric strong{display:block;font-size:26px;color:var(--epr-navy);line-height:1.3;}
.eventpr-top .epr-case-metric span{display:block;margin-top:7px;font-size:12px;color:#686f7c;}
.eventpr-top .epr-case-content-grid,
.eventpr-top .epr-service-single-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:44px;align-items:start;}
.eventpr-top .epr-content-block{margin:0 0 34px;padding:0 0 30px;border-bottom:1px solid #e7e9ee;}
.eventpr-top .epr-content-block h2{font-size:25px;color:var(--epr-navy);margin:0 0 15px;}
.eventpr-top .epr-results-block{padding:28px;border:1px solid #e2d4af;background:#faf7ef;border-radius:12px;}
.eventpr-top .epr-client-voice{margin:35px 0;padding:25px 28px;border-left:5px solid var(--epr-gold);background:#f7f8fa;color:#293044;}
.eventpr-top .epr-client-voice strong{display:block;color:var(--epr-navy);margin-bottom:9px;}
.eventpr-top .epr-case-sidebar{position:sticky;top:95px;display:grid;gap:18px;}
.eventpr-top .epr-side-cta{padding:26px;border-radius:14px;background:var(--epr-navy);color:#fff;}
.eventpr-top .epr-side-cta h2{font-size:21px;color:#fff!important;margin:0 0 10px;}
.eventpr-top .epr-side-cta p{color:#e6eaf3;margin:0 0 18px;}
.eventpr-top .epr-side-cta .epr-btn{width:100%;margin-top:8px;text-align:center;}
.eventpr-top .epr-btn-outline-dark{border:1px solid rgba(255,255,255,.55);color:#fff;background:transparent;}
.eventpr-top .epr-wide-cta{margin-top:45px;text-align:center;padding:38px;}
.eventpr-top .epr-wide-cta .epr-btn{width:auto;min-width:220px;}
.eventpr-top .epr-related-section{margin-top:58px;padding-top:38px;border-top:1px solid #e4e7ed;}
.eventpr-top .epr-related-section h2{color:var(--epr-navy);font-size:25px;}
.eventpr-top .epr-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.eventpr-top .epr-related-card{display:flex;flex-direction:column;gap:10px;border:1px solid #e2e5eb;border-radius:12px;overflow:hidden;padding:0 0 18px;color:var(--epr-navy);text-decoration:none;background:#fff;}
.eventpr-top .epr-related-card img{width:100%;aspect-ratio:3/2;object-fit:cover;}
.eventpr-top .epr-related-card strong,.eventpr-top .epr-related-card span,.eventpr-top .epr-related-card small{padding:0 18px;}
.eventpr-top .epr-related-card span{font-size:13px;color:#8b681b;font-weight:800;}
.eventpr-top .epr-related-text{padding-top:18px;}
.eventpr-top .epr-media-list{border-top:1px solid #e0e3e8;}
.eventpr-top .epr-media-item{border-bottom:1px solid #e0e3e8;}
.eventpr-top .epr-media-item>a{display:grid;grid-template-columns:150px minmax(0,1fr) 30px;gap:22px;align-items:center;padding:24px 8px;color:inherit;text-decoration:none;}
.eventpr-top .epr-media-date{font-size:13px;color:#6b7280;}
.eventpr-top .epr-media-publication{display:inline-flex;padding:3px 10px;border-radius:999px;background:#eef1f6;color:var(--epr-navy);font-size:12px;font-weight:800;}
.eventpr-top .epr-media-copy h2{font-size:19px;color:var(--epr-navy);margin:7px 0 5px;}
.eventpr-top .epr-media-copy p{margin:0;color:var(--epr-text-sub);font-size:14px;}
.eventpr-top .epr-media-arrow{font-size:28px;color:var(--epr-gold);}
.eventpr-top .epr-service-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.eventpr-top .epr-service-detail-card{border:1px solid #e4e6eb;border-radius:14px;background:#fff;overflow:hidden;box-shadow:var(--epr-shadow);}
.eventpr-top .epr-service-detail-card a{display:block;height:100%;color:inherit;text-decoration:none;}
.eventpr-top .epr-service-detail-image img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;}
.eventpr-top .epr-service-detail-body{padding:25px;}
.eventpr-top .epr-service-detail-body h2{font-size:21px;color:var(--epr-navy);margin:0 0 10px;}
.eventpr-top .epr-service-detail-body p{font-size:14px;color:var(--epr-text-sub);}
.eventpr-top .epr-service-price-small{display:inline-block;margin:7px 0 15px;padding:5px 10px;border-radius:6px;background:#faf2dc;color:#775716;font-weight:800;font-size:13px;}
.eventpr-top .epr-price-callout{display:grid;gap:6px;padding:24px 28px;margin:0 0 34px;border-left:5px solid var(--epr-gold);background:#faf7ef;border-radius:10px;}
.eventpr-top .epr-price-callout span{font-size:13px;color:#6a604b;}
.eventpr-top .epr-price-callout strong{font-size:28px;color:var(--epr-navy);}
.eventpr-top .epr-price-callout small{color:#686f7c;}
.eventpr-top .epr-check-list,.eventpr-top .epr-number-list{display:grid;gap:10px;margin:0;padding-left:1.4em;}
.eventpr-top .epr-check-list{list-style:none;padding-left:0;}
.eventpr-top .epr-check-list li{position:relative;padding-left:30px;}
.eventpr-top .epr-check-list li::before{content:"✓";position:absolute;left:0;top:0;color:#9a751e;font-weight:900;}
.eventpr-top .epr-profile-grid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:54px;align-items:center;margin:25px 0 55px;}
.eventpr-top .epr-profile-image{border-radius:18px;overflow:hidden;box-shadow:var(--epr-shadow);background:#edf0f5;aspect-ratio:4/5;}
.eventpr-top .epr-profile-image img{width:100%;height:100%;object-fit:cover;}
.eventpr-top .epr-profile-placeholder{display:grid;place-items:center;height:100%;color:#73809a;font-weight:900;letter-spacing:.15em;}
.eventpr-top .epr-profile-role{font-weight:800;color:#8b681b;}
.eventpr-top .epr-profile-name{font-size:42px;color:var(--epr-navy);margin:5px 0 20px;}
.eventpr-top .epr-profile-lead{font-size:17px;line-height:2;}
.eventpr-top .epr-tag-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;}
.eventpr-top .epr-tag-list span{padding:6px 12px;border-radius:999px;background:#eef1f6;color:var(--epr-navy);font-size:12px;font-weight:700;}
.eventpr-top .epr-price-intro{padding:28px;margin:25px 0 34px;border:1px solid #e2d4af;border-radius:12px;background:#faf7ef;}
.eventpr-top .epr-price-intro h2{color:var(--epr-navy);margin-top:0;}
.eventpr-top .epr-price-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;}
.eventpr-top .epr-price-detail-card{padding:32px;border:1px solid #e0e3e8;border-radius:14px;background:#fff;box-shadow:var(--epr-shadow);}
.eventpr-top .epr-price-detail-card.epr-price-highlight{border:2px solid var(--epr-gold);}
.eventpr-top .epr-price-label{display:inline-block;font-size:12px;font-weight:800;color:#8b681b;}
.eventpr-top .epr-price-detail-card h2{color:var(--epr-navy);margin:5px 0;}
.eventpr-top .epr-price-big{font-size:38px;font-weight:900;color:var(--epr-navy);margin:15px 0;}
.eventpr-top .epr-price-big small{font-size:12px;margin-left:6px;}
.eventpr-top .epr-price-detail-card ul{padding-left:1.4em;}
.eventpr-top .epr-price-plan-list{padding:15px;border-radius:8px;background:#f6f7f9;font-size:13px;}
.eventpr-top .epr-factor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.eventpr-top .epr-factor-grid>div{padding:20px;border:1px solid #e4e6eb;border-radius:10px;}
.eventpr-top .epr-factor-grid strong{color:var(--epr-navy);}
.eventpr-top .epr-access-grid{display:grid;grid-template-columns:420px minmax(0,1fr);gap:35px;margin:25px 0 50px;}
.eventpr-top .epr-access-info{padding:30px;border:1px solid #e2e5eb;border-radius:14px;background:#fff;box-shadow:var(--epr-shadow);}
.eventpr-top .epr-access-info h2{color:var(--epr-navy);margin-top:0;}
.eventpr-top .epr-access-info dl{display:grid;grid-template-columns:90px 1fr;margin:0;}
.eventpr-top .epr-access-info dt,.eventpr-top .epr-access-info dd{padding:12px 0;border-bottom:1px solid #eceef2;}
.eventpr-top .epr-access-info dt{font-weight:800;color:var(--epr-navy);}
.eventpr-top .epr-access-info dd{margin:0;}
.eventpr-top .epr-access-actions{display:grid;gap:10px;margin-top:24px;}
.eventpr-top .epr-access-actions .epr-btn{text-align:center;}
.eventpr-top .epr-map-wrap{min-height:440px;border-radius:14px;overflow:hidden;background:#edf0f5;}
.eventpr-top .epr-map-wrap iframe{display:block;width:100%;height:100%;min-height:440px;}
.eventpr-top .epr-map-placeholder{display:grid;place-content:center;text-align:center;height:100%;min-height:440px;padding:30px;}

@media (max-width: 980px){
  .eventpr-top .epr-case-grid,.eventpr-top .epr-service-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .eventpr-top .epr-case-content-grid,.eventpr-top .epr-service-single-grid{grid-template-columns:1fr;}
  .eventpr-top .epr-case-sidebar{position:static;}
  .eventpr-top .epr-profile-grid{grid-template-columns:260px minmax(0,1fr);gap:34px;}
  .eventpr-top .epr-access-grid{grid-template-columns:1fr;}
}
@media (max-width: 720px){
  .eventpr-top .epr-subpage-hero{padding:55px 18px 42px;}
  .eventpr-top .epr-archive-section,.eventpr-top .epr-case-detail-section,.eventpr-top .epr-service-single-section,.eventpr-top .epr-profile-section,.eventpr-top .epr-price-page-section,.eventpr-top .epr-faq-page-section,.eventpr-top .epr-access-section{padding:36px 16px 75px;}
  .eventpr-top .epr-case-grid,.eventpr-top .epr-service-archive-grid,.eventpr-top .epr-related-grid,.eventpr-top .epr-price-page-grid,.eventpr-top .epr-factor-grid{grid-template-columns:1fr;}
  .eventpr-top .epr-case-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}
  .eventpr-top .epr-media-item>a{grid-template-columns:1fr 24px;gap:8px 14px;}
  .eventpr-top .epr-media-date{grid-column:1/-1;}
  .eventpr-top .epr-profile-grid{grid-template-columns:1fr;}
  .eventpr-top .epr-profile-image{max-width:300px;margin:0 auto;}
  .eventpr-top .epr-profile-name{font-size:34px;}
  .eventpr-top .epr-price-detail-card{padding:24px;}
  .eventpr-top .epr-access-info dl{grid-template-columns:1fr;}
  .eventpr-top .epr-access-info dt{padding-bottom:0;border-bottom:0;}
}
.eventpr-top .epr-company-links{display:flex;flex-wrap:wrap;gap:10px;}
.eventpr-top .epr-home-case-grid{margin:32px 0 10px;}
.eventpr-top .epr-media-home{background:#f7f8fa;}
.eventpr-top .epr-media-home .epr-media-list{background:#fff;border-radius:12px;padding:0 18px;box-shadow:var(--epr-shadow);}
.eventpr-top .epr-reviewer-box{margin-top:14px;border-color:#d9c48d;background:#fffdf7;}
.eventpr-top .epr-reviewer-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--epr-gold);color:#fff;font-size:24px;font-weight:900;}
@media (max-width:720px){.eventpr-top .epr-company-links{width:100%;}.eventpr-top .epr-company-links .epr-link-bar{width:100%;}}

/* ==========================================================
   Ver.1.4 SEO / AIO / MEO operational components
   ========================================================== */
.eventpr-top .epr-notice-box,
.eventpr-top .epr-evidence-box{margin:24px 0;padding:22px 24px;border:1px solid #dce2ec;border-left:5px solid var(--epr-gold);border-radius:12px;background:#f8fafc;}
.eventpr-top .epr-evidence-box h2,.eventpr-top .epr-notice-box strong{color:var(--epr-navy);}
.eventpr-top .epr-evidence-box h2{margin:0 0 12px;font-size:21px;}
.eventpr-top .epr-evidence-box ul{margin:12px 0 0;padding-left:1.3em;}
.eventpr-top .epr-inline-links{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0;}
.eventpr-top .epr-inline-links a,.eventpr-top .epr-faq-index a{display:inline-flex;padding:9px 14px;border:1px solid #d7dce5;border-radius:999px;background:#fff;color:var(--epr-navy);font-size:13px;font-weight:800;text-decoration:none;}
.eventpr-top .epr-inline-links a:hover,.eventpr-top .epr-faq-index a:hover{border-color:var(--epr-gold);}
.eventpr-top .epr-caution-block{padding:24px;border:1px solid #ead9ae;border-radius:12px;background:#fffaf0;}
.eventpr-top .epr-faq-index{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0 35px;}
.eventpr-top .epr-faq-group{margin:0 0 42px;scroll-margin-top:100px;}
.eventpr-top .epr-faq-group>h2{font-size:25px;color:var(--epr-navy);margin:0 0 18px;}
.eventpr-top .epr-area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:30px 0;}
.eventpr-top .epr-area-card{display:flex;flex-direction:column;gap:10px;padding:24px;border:1px solid #e0e4eb;border-radius:14px;background:#fff;color:inherit;text-decoration:none;box-shadow:var(--epr-shadow);}
.eventpr-top .epr-area-card img{width:calc(100% + 48px);max-width:none;margin:-24px -24px 8px;aspect-ratio:3/2;object-fit:cover;border-radius:14px 14px 0 0;}
.eventpr-top .epr-area-card>span{font-size:12px;font-weight:900;color:#89671c;}
.eventpr-top .epr-area-card h2{margin:0;color:var(--epr-navy);font-size:21px;}
.eventpr-top .epr-area-card p{margin:0;color:var(--epr-text-sub);font-size:14px;}
.eventpr-top .epr-area-card>strong{margin-top:auto;color:#8b681b;font-size:13px;}
.eventpr-top .epr-empty-state{padding:50px 24px;text-align:center;border:1px dashed #cfd5df;border-radius:14px;background:#fafbfc;}
.eventpr-top .epr-area-single,.eventpr-top .epr-company-facts,.eventpr-top .epr-editorial-policy{padding:52px 20px 90px;}
.eventpr-top .epr-area-factbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:24px 0 34px;border:1px solid #e0e4eb;border-radius:12px;overflow:hidden;background:#e0e4eb;}
.eventpr-top .epr-area-factbar span{display:flex;flex-direction:column;gap:5px;padding:18px;background:#fff;}
.eventpr-top .epr-area-factbar strong{font-size:12px;color:#89671c;}
.eventpr-top .epr-facts-grid,.eventpr-top .epr-policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:25px 0;}
.eventpr-top .epr-facts-grid .epr-content-block,.eventpr-top .epr-policy-grid .epr-content-block{padding:28px;border:1px solid #e1e5ec;border-radius:14px;background:#fff;box-shadow:var(--epr-shadow);}
.eventpr-top .epr-facts-list{display:grid;grid-template-columns:120px 1fr;margin:0;}
.eventpr-top .epr-facts-list dt,.eventpr-top .epr-facts-list dd{padding:12px 0;border-bottom:1px solid #edf0f4;}
.eventpr-top .epr-facts-list dt{font-weight:800;color:var(--epr-navy);}
.eventpr-top .epr-facts-list dd{margin:0;overflow-wrap:anywhere;}
.eventpr-top .epr-definition-text{font-size:18px;line-height:1.9;color:var(--epr-navy);font-weight:700;}
.eventpr-top .epr-policy-updated{text-align:right;color:#697180;font-size:13px;}
.eventpr-top .epr-footer-inner{grid-template-columns:1.5fr repeat(3,minmax(150px,1fr));}
@media (max-width:980px){
 .eventpr-top .epr-area-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
 .eventpr-top .epr-footer-inner{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:720px){
 .eventpr-top .epr-area-grid,.eventpr-top .epr-facts-grid,.eventpr-top .epr-policy-grid,.eventpr-top .epr-area-factbar{grid-template-columns:1fr;}
 .eventpr-top .epr-area-single,.eventpr-top .epr-company-facts,.eventpr-top .epr-editorial-policy{padding:36px 16px 75px;}
 .eventpr-top .epr-facts-list{grid-template-columns:1fr;}
 .eventpr-top .epr-facts-list dt{padding-bottom:2px;border-bottom:0;}
 .eventpr-top .epr-footer-inner{grid-template-columns:1fr;}
}
.eventpr-top .epr-footer-inner{display:grid;align-items:start;}

/* ==========================================================
   20. 可読性改善（コントラスト強化・モバイル文字サイズ底上げ）
   ========================================================== */
/* 暗い背景上の補助テキストを明るくしてコントラストを確保 */
.eventpr-top .epr-faq-a{ color:#d9deea; }
.eventpr-top .epr-final-cta p{ color:#d9deea; }
.eventpr-top .epr-final-note{ color:#a9b1c6; }
.eventpr-top .epr-footer{ color:#c2c8d6; }
.eventpr-top .epr-footer-sub{ color:#a9b1c6; }
.eventpr-top .epr-footer-address{ color:#c2c8d6; }
.eventpr-top .epr-footer-link{ color:#dde2ee; }
.eventpr-top .epr-footer-bottom{ color:#98a0b6; }
.eventpr-top .epr-reasons-list li{ color:#e7eaf3; }
.eventpr-top.epr-news-page .epr-news-hero-lead{ color:#d9deea; }
.eventpr-top .epr-hero p{ color:#f0f3fa; }

/* 明るい背景上の薄いグレー注記を濃くしてコントラストを確保 */
.eventpr-top .epr-works-note{ color:#82889a; }
.eventpr-top .epr-price-tax{ color:#767c8a; }
.eventpr-top .epr-stat-note{ color:#7f8694; }

/* モバイル：本文系の文字サイズを読みやすい大きさへ底上げ */
@media (max-width: 640px){
  .eventpr-top p.epr-lead{ font-size: 14.5px; line-height: 1.9; }
  .eventpr-top .epr-hero p{ font-size: 14px; }
  .eventpr-top .epr-badge{ font-size: 11.5px; }
  .eventpr-top .epr-service-title{ font-size: 14.5px; }
  .eventpr-top .epr-reasons-list li{ font-size: 14.5px; line-height: 1.85; }
  .eventpr-top .epr-price-desc{ font-size: 14px; line-height: 1.85; }
  .eventpr-top .epr-price-tag{ font-size: 14px; }
  .eventpr-top .epr-faq-q{ font-size: 14.5px; line-height: 1.7; }
  .eventpr-top .epr-faq-a{ font-size: 14px; line-height: 1.85; }
  .eventpr-top .epr-news-title{ font-size: 15px; }
  .eventpr-top .epr-news-excerpt{ font-size: 13.5px; line-height: 1.8; }
  .eventpr-top .epr-news-date{ font-size: 12.5px; }
  .eventpr-top .epr-company-table th{ font-size: 13px; }
  .eventpr-top .epr-company-table td{ font-size: 13.5px; line-height: 1.8; }
  .eventpr-top .epr-footer-link{ font-size: 14px; }
  .eventpr-top .epr-footer-address{ font-size: 13px; line-height: 1.9; }
  .eventpr-top .epr-news-content{ font-size: 15px; line-height: 1.95; }
  .eventpr-top .epr-stat-note{ font-size: 11.5px; }
  .eventpr-top .epr-works-note{ font-size: 12px; }
  .eventpr-top .epr-link-bar{ font-size: 14px; }
}

/* ==========================================================
   21. 見出し色の修正 & 電話番号の大型表示
   ========================================================== */
/* 紺色背景セクションの見出しは白を維持
   （基本h2の !important 指定に負けないよう同じく !important で上書き） */
.eventpr-top .epr-reasons .epr-h2,
.eventpr-top .epr-faq .epr-h2,
.eventpr-top .epr-final-cta .epr-h2,
.eventpr-top .epr-final-cta h2{
  color: var(--epr-white) !important;
}

/* 最終CTA：電話番号の大型表示ブロック */
.eventpr-top .epr-tel-block{
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 20px 44px;
  border: 2px solid var(--epr-gold-light);
  border-radius: 16px;
  background: rgba(255,255,255,0.04);
  transition: background .18s ease, transform .18s ease;
}
.eventpr-top .epr-tel-block:hover{
  background: rgba(255,255,255,0.09);
  transform: translateY(-2px);
}
.eventpr-top .epr-tel-label{
  font-size: 13px;
  font-weight: 700;
  color: var(--epr-gold-light);
  letter-spacing: .06em;
}
.eventpr-top .epr-tel-number{
  font-size: 32px;
  font-weight: 900;
  color: var(--epr-white);
  letter-spacing: .05em;
  line-height: 1.2;
}
@media (max-width: 640px){
  .eventpr-top .epr-tel-block{
    width: 100%;
    padding: 18px 20px;
  }
  .eventpr-top .epr-tel-number{
    font-size: 26px;
  }
  .eventpr-top .epr-tel-label{
    font-size: 12.5px;
  }
}
