/* enseitrip-home public — v0.2.0 "Index" design
   方向転換：rev.2「薄暮の航空日誌」(route/venue単体は維持)からトップだけ別言語に分離。
   Google風データベースインデックス：白bg / 無機質サンセリフ / 余白潤沢 / 装飾(glow/grad/shadow)全廃 / リンク青のみ。
   実装戦略：partial PHP不変、rev.2 base CSS(etrip-public.css)の CSS変数を全rebind＋直接プロパティ上書きで打ち消し。
   CSP self（外部参照なし）。 */

/* ─────────────────────────────────────────────────
   [1] rev.2 base の CSS変数を Index Style に rebind
   （これで etrip-public.css が var() 参照してる箇所は自動で打ち消し）
   ───────────────────────────────────────────────── */
#etrip-root{
  /* color palette：Google neutral + 単一リンク色 */
  --bg-0:#ffffff; --bg-1:#ffffff; --bg-2:#ffffff; --bg-3:#ffffff;
  --line:#e8eaed; --line-2:#dadce0;
  --txt:#202124; --txt-soft:#5f6368; --txt-dim:#80868b;
  --ember:#1a73e8; --ember-soft:#1a73e8; --amber:#1a73e8;
  --sage:#188038; --sage-deep:#188038; --hot:#5f6368;
  /* font：サンセリフ統一 */
  --serif:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic","Noto Sans JP",sans-serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic","Noto Sans JP",sans-serif;
  --mono:"SFMono-Regular","Roboto Mono",Menlo,Consolas,monospace;
  /* direct overrides */
  background:#ffffff !important; color:#202124 !important;
  font-family:var(--sans) !important;
  -webkit-font-smoothing:antialiased; font-feature-settings:"palt";
  line-height:1.7 !important;
}

/* [2] テクスチャ/グラデ完全除去（rev.2の薄暮装飾を打ち消す） */
#etrip-root .etrip-wrap{
  background:#ffffff !important;
}
#etrip-root .etrip-wrap::before,
#etrip-root .etrip-wrap::after{
  display:none !important;
}

/* ─────────────────────────────────────────────────
   [3] Hero — シンプルなインデックス見出し（大判hero不採用）
   ───────────────────────────────────────────────── */
#etrip-root .etrip-hero{
  background:#ffffff !important; overflow:visible !important;
  border-bottom:1px solid var(--line) !important;
}
#etrip-root .etrip-hero-inner{
  max-width:1080px !important; margin:0 auto !important;
  padding:80px 32px 64px !important;
}
#etrip-root .etrip-brandbar{
  display:flex !important; align-items:center !important;
  justify-content:space-between !important;
  font-family:var(--mono) !important; font-size:11px !important;
  letter-spacing:.12em !important; color:var(--txt-dim) !important;
  text-transform:uppercase !important; margin-bottom:32px !important;
}
#etrip-root .etrip-brandbar b{
  color:var(--txt) !important; font-weight:600 !important;
}
#etrip-root .etrip-kicker{
  margin:0 0 12px !important; font-family:var(--mono) !important;
  font-size:11px !important; letter-spacing:.14em !important;
  color:var(--txt-dim) !important; text-transform:uppercase !important;
}
/* Hero主見出し（h2.etrip-h1）— 大判でなくナチュラルなh1サイズに */
#etrip-root .etrip-h1{
  font-family:var(--sans) !important; font-weight:500 !important;
  font-size:clamp(28px,4vw,40px) !important;
  line-height:1.32 !important; letter-spacing:-0.01em !important;
  color:var(--txt) !important;
}
#etrip-root .etrip-h1 .arr{
  color:var(--ember) !important; font-weight:400 !important;
  margin:0 .15em !important;
}
#etrip-root .etrip-sub{
  margin-top:20px !important; font-size:15px !important;
  color:var(--txt-soft) !important; max-width:62ch !important;
  line-height:1.78 !important;
}
#etrip-root .etrip-sub strong{
  color:var(--txt) !important; font-weight:600 !important;
}

/* Hero 下のジャンプチップ — 装飾廃止し横並びリンクへ */
#etrip-root .ehome-jump{
  display:flex !important; flex-wrap:wrap !important;
  gap:0 !important; margin:36px 0 0 !important;
  border-top:1px solid var(--line) !important;
  padding-top:16px !important;
}
#etrip-root .ehome-jump-chip{
  display:inline-flex !important; align-items:baseline !important;
  gap:8px !important; text-decoration:none !important;
  padding:10px 20px 10px 0 !important; margin-right:8px !important;
  border:none !important; border-radius:0 !important;
  background:transparent !important; transform:none !important;
  transition:color .15s !important;
}
#etrip-root .ehome-jump-chip:hover{
  border-color:transparent !important; background:transparent !important;
  transform:none !important;
}
#etrip-root .ehome-jump-chip:hover .v{
  color:var(--ember) !important;
}
#etrip-root .ehome-jump-chip .k{
  font-family:var(--mono) !important; font-size:10px !important;
  letter-spacing:.12em !important; color:var(--txt-dim) !important;
}
#etrip-root .ehome-jump-chip .v{
  font-family:var(--sans) !important; font-weight:500 !important;
  font-size:14px !important; color:var(--txt) !important;
}

/* verified バッジ — グロウ消してテキストのみ */
#etrip-root .etrip-verified,
#etrip-root .ehome-verified{
  display:inline-flex !important; align-items:center !important;
  gap:8px !important; margin:24px 0 0 !important;
  border:none !important; background:transparent !important;
  border-radius:0 !important; padding:0 !important;
  color:var(--txt-soft) !important; font-size:13px !important;
  font-weight:400 !important; letter-spacing:0 !important;
  box-shadow:none !important;
}
#etrip-root .etrip-verified .dot{
  width:6px !important; height:6px !important;
  background:var(--sage) !important; box-shadow:none !important;
}

/* ─────────────────────────────────────────────────
   [4] 共通セクション — 余白潤沢・罫線最小
   ───────────────────────────────────────────────── */
#etrip-root .etrip-sec,
#etrip-root .ehome-section{
  padding:88px 32px !important; position:static !important;
  max-width:1080px !important; margin:0 auto !important;
}
#etrip-root .etrip-sechead{
  display:block !important; margin-bottom:40px !important;
  border-bottom:1px solid var(--line) !important; padding-bottom:16px !important;
}
#etrip-root .etrip-sechead::after{
  display:none !important;
}
#etrip-root .etrip-secno{
  display:inline-block !important; font-family:var(--mono) !important;
  font-size:11px !important; letter-spacing:.14em !important;
  color:var(--txt-dim) !important;
  background:transparent !important; border:none !important;
  padding:0 12px 0 0 !important; border-radius:0 !important;
  text-transform:uppercase !important;
}
#etrip-root .etrip-sectitle{
  display:inline-block !important;
  font-family:var(--sans) !important; font-weight:500 !important;
  font-size:clamp(20px,2.4vw,26px) !important;
  letter-spacing:-.005em !important;
  color:var(--txt) !important;
}
#etrip-root .ehome-leadnote{
  margin:-12px 0 36px !important; font-size:14px !important;
  color:var(--txt-soft) !important; font-family:var(--sans) !important;
  line-height:1.78 !important; max-width:74ch !important;
}
#etrip-root .ehome-leadnote strong{
  color:var(--txt) !important; font-weight:600 !important;
}
#etrip-root .ehome-leadnote em{
  color:var(--txt) !important; font-style:normal !important; font-weight:500 !important;
}

/* "more"リンク：青下線シンプル */
#etrip-root .ehome-more{
  margin-top:32px !important; text-align:left !important;
  font-family:var(--sans) !important;
  font-size:14px !important; letter-spacing:0 !important;
}
#etrip-root .ehome-more a{
  color:var(--ember) !important; text-decoration:none !important;
  border-bottom:1px solid transparent !important;
  padding-bottom:1px !important;
}
#etrip-root .ehome-more a:hover{
  color:#1967d2 !important; border-bottom-color:#1967d2 !important;
}
#etrip-root .ehome-arrow{
  display:inline-block !important; margin-left:4px !important;
}

/* ─────────────────────────────────────────────────
   [5] Featured Routes / Venues — テーブル/カード型インデックス
   罫線最小・グラデ廃止・shadowなし・hover subtle
   ───────────────────────────────────────────────── */
#etrip-root .etrip-arc-grid,
#etrip-root .ehome-cats-grid,
#etrip-root .ehome-regions-grid,
#etrip-root .ehome-cta-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr)) !important;
  gap:0 !important;
  border-top:1px solid var(--line) !important;
  border-left:1px solid var(--line) !important;
  padding:0 !important;
}
#etrip-root .etrip-arc-card,
#etrip-root .ehome-cat-card,
#etrip-root .ehome-region,
#etrip-root .etrip-ctaslot{
  display:flex !important; flex-direction:column !important;
  gap:10px !important;
  background:#ffffff !important;
  border:none !important;
  border-right:1px solid var(--line) !important;
  border-bottom:1px solid var(--line) !important;
  border-radius:0 !important;
  padding:28px 28px !important;
  box-shadow:none !important; transform:none !important;
  text-decoration:none !important; color:var(--txt) !important;
  transition:background .12s !important;
  position:static !important; overflow:visible !important;
}
#etrip-root .etrip-arc-card:hover,
#etrip-root a.ehome-cat-card:hover{
  background:#f8f9fa !important;
  transform:none !important; border-color:var(--line) !important;
}
/* card内テキスト */
#etrip-root .etrip-arc-od{
  font-family:var(--sans) !important; font-weight:500 !important;
  font-size:16px !important; color:var(--txt) !important;
  letter-spacing:0 !important; line-height:1.5 !important;
  display:block !important;
}
#etrip-root .etrip-arc-od .arr{
  color:var(--ember) !important; font-weight:400 !important;
  margin:0 .25em !important;
}
#etrip-root .etrip-arc-fare{
  font-family:var(--mono) !important;
  font-size:13px !important; color:var(--txt-soft) !important;
  letter-spacing:0 !important; font-weight:500 !important;
}
#etrip-root .etrip-arc-air{
  font-size:12.5px !important; color:var(--txt-dim) !important;
  font-family:var(--sans) !important;
}
/* verified badge — グレー枠+チェック1個に簡素化 */
#etrip-root .etrip-arc-vbadge{
  display:inline-block !important;
  margin-top:4px !important;
  font-family:var(--mono) !important;
  font-size:10.5px !important; letter-spacing:.06em !important;
  color:var(--sage) !important;
  background:transparent !important; border:none !important;
  padding:0 !important;
  text-transform:uppercase !important;
}
#etrip-root .etrip-arc-vbadge::before{
  content:"✓ "; color:var(--sage); margin-right:2px;
}

/* venue card variant */
#etrip-root .evenue-arc-card .evenue-arc-name,
#etrip-root .evenue-arc-name{
  font-family:var(--sans) !important; font-weight:500 !important;
  font-size:16px !important; color:var(--txt) !important;
  letter-spacing:0 !important; line-height:1.5 !important;
}
#etrip-root .evenue-arc-meta{
  display:flex !important; flex-wrap:wrap !important;
  gap:6px !important; margin-top:2px !important;
}
#etrip-root .evenue-arc-pref,
#etrip-root .evenue-arc-genre{
  font-family:var(--mono) !important; font-size:10.5px !important;
  letter-spacing:.08em !important; color:var(--txt-dim) !important;
  border:none !important; background:transparent !important;
  padding:0 8px 0 0 !important; border-radius:0 !important;
  border-right:1px solid var(--line) !important;
  text-transform:uppercase !important;
}
#etrip-root .evenue-arc-pref:last-child,
#etrip-root .evenue-arc-genre:last-child{
  border-right:none !important;
}
#etrip-root .evenue-arc-cap,
#etrip-root .evenue-arc-station{
  font-family:var(--sans) !important;
  font-size:13px !important; color:var(--txt-soft) !important;
  letter-spacing:0 !important; font-weight:400 !important;
}

/* ─────────────────────────────────────────────────
   [6] §03 Regions — 同じ罫線grid
   ───────────────────────────────────────────────── */
#etrip-root .ehome-region.active::before,
#etrip-root .ehome-region.soon::before{
  display:none !important;
}
#etrip-root .ehome-region.soon{
  opacity:1 !important; background:#fafafa !important;
}
#etrip-root .ehome-region-h{
  display:flex !important; align-items:baseline !important;
  justify-content:space-between !important; gap:12px !important;
}
#etrip-root .ehome-region-name{
  font-family:var(--sans) !important; font-weight:500 !important;
  font-size:15px !important; color:var(--txt) !important;
  letter-spacing:0 !important;
}
#etrip-root .ehome-region-badge{
  font-family:var(--mono) !important; font-size:10px !important;
  letter-spacing:.12em !important; color:var(--txt-dim) !important;
  border:none !important; background:transparent !important;
  padding:0 !important; border-radius:0 !important;
  text-transform:uppercase !important;
}
#etrip-root .ehome-region-links{
  list-style:none !important; margin:8px 0 0 !important; padding:0 !important;
}
#etrip-root .ehome-region-links li{
  font-size:13px !important; color:var(--txt-soft) !important;
  padding:3px 0 !important; font-family:var(--sans) !important;
}
#etrip-root .ehome-region-links li a{
  color:var(--ember) !important; text-decoration:none !important;
  border:none !important;
}
#etrip-root .ehome-region-links li a:hover{
  color:#1967d2 !important; text-decoration:underline !important;
  border:none !important;
}
#etrip-root .ehome-region-links strong{
  color:var(--txt) !important; font-family:var(--mono) !important;
  font-weight:500 !important;
}
#etrip-root .ehome-region-soon-note{
  margin-top:6px !important; font-size:12px !important;
  color:var(--txt-dim) !important;
  font-family:var(--sans) !important; letter-spacing:0 !important;
}

/* ─────────────────────────────────────────────────
   [7] §04 Categories — 同じ罫線grid
   ───────────────────────────────────────────────── */
#etrip-root .ehome-cat-card{
  gap:6px !important;
}
#etrip-root .ehome-cat-kicker{
  font-family:var(--mono) !important; font-size:10.5px !important;
  letter-spacing:.14em !important; color:var(--txt-dim) !important;
  text-transform:uppercase !important;
}
#etrip-root .ehome-cat-label{
  font-family:var(--sans) !important; font-weight:500 !important;
  font-size:17px !important; color:var(--txt) !important;
  letter-spacing:0 !important;
}
#etrip-root .ehome-cat-desc{
  font-size:13.5px !important; color:var(--txt-soft) !important;
  line-height:1.7 !important; font-family:var(--sans) !important;
}
#etrip-root .ehome-cat-count{
  margin-top:6px !important; font-family:var(--mono) !important;
  font-size:11.5px !important; color:var(--txt-dim) !important;
  letter-spacing:0 !important;
}
#etrip-root .ehome-cat-count strong{
  color:var(--txt) !important; font-weight:500 !important;
}
#etrip-root .ehome-cat-count em{
  color:var(--txt-dim) !important; font-style:normal !important; margin-left:4px !important;
}

/* ─────────────────────────────────────────────────
   [8] §05 About — 罫線無し本文・潤沢余白
   ───────────────────────────────────────────────── */
#etrip-root .ehome-about{
  display:flex !important; flex-direction:column !important;
  gap:20px !important;
  border-left:none !important; padding:0 !important;
}
#etrip-root .ehome-about-p{
  font-size:15px !important; color:var(--txt) !important;
  line-height:1.92 !important; font-family:var(--sans) !important;
  max-width:74ch !important;
}
#etrip-root .ehome-about-p strong{
  color:var(--txt) !important; font-weight:600 !important;
}
#etrip-root .ehome-about-p em{
  color:var(--txt) !important; font-style:normal !important; font-weight:500 !important;
}
#etrip-root .ehome-about-disclosure{
  font-size:13.5px !important; color:var(--txt-soft) !important;
  border-top:1px solid var(--line) !important;
  padding-top:20px !important; margin-top:8px !important;
}
/* About本文内のverified風サンプル — グロウ消し */
#etrip-root .ehome-about-disclosure .etrip-verified{
  display:inline-flex !important; margin:0 4px !important;
  padding:1px 8px !important; font-size:11px !important;
  border:1px solid var(--line-2) !important;
  background:transparent !important; color:var(--sage) !important;
  border-radius:3px !important;
}

/* ─────────────────────────────────────────────────
   [9] §06 CTA-PLACEHOLDER — グラデ廃止フラット
   ───────────────────────────────────────────────── */
#etrip-root .etrip-ctaslot{
  background:#fafafa !important;
  border:none !important;
  border-right:1px solid var(--line) !important;
  border-bottom:1px solid var(--line) !important;
  padding:32px 28px !important;
}
#etrip-root .etrip-ctaslot .lab{
  font-family:var(--mono) !important; font-size:11px !important;
  letter-spacing:.14em !important; color:var(--txt-dim) !important;
  text-transform:uppercase !important;
  background:transparent !important; padding:0 !important;
}
#etrip-root .etrip-ctaslot .ph{
  margin-top:10px !important;
  font-family:var(--sans) !important; font-size:14px !important;
  color:var(--txt-soft) !important; line-height:1.75 !important;
  background:transparent !important;
}
#etrip-root .etrip-ctaslot .gate{
  display:inline-block !important; margin-top:14px !important;
  font-family:var(--mono) !important; font-size:11px !important;
  letter-spacing:.06em !important; color:var(--txt-dim) !important;
  background:transparent !important; border:1px solid var(--line-2) !important;
  padding:4px 10px !important; border-radius:3px !important;
}

/* ─────────────────────────────────────────────────
   [10] §07 FAQ — 罫線リスト型
   ───────────────────────────────────────────────── */
#etrip-root .ehome-faq{
  display:flex !important; flex-direction:column !important;
  gap:0 !important; border-top:1px solid var(--line) !important;
}
#etrip-root .ehome-faq-q{
  font-family:var(--sans) !important; font-size:15px !important;
  color:var(--txt) !important; font-weight:500 !important;
  margin:0 !important; padding:24px 0 12px !important;
  letter-spacing:0 !important; line-height:1.6 !important;
}
#etrip-root .ehome-faq-q::before{
  content:"Q. " !important; color:var(--txt-dim) !important;
  font-family:var(--mono) !important; font-weight:400 !important;
}
#etrip-root .ehome-faq-a{
  margin:0 !important; padding:0 0 24px !important;
  border-bottom:1px solid var(--line) !important;
  border-left:none !important;
  font-size:14px !important; color:var(--txt-soft) !important;
  line-height:1.9 !important; font-family:var(--sans) !important;
  max-width:78ch !important;
}
#etrip-root .ehome-faq-a strong{
  color:var(--txt) !important; font-weight:600 !important;
}

/* ─────────────────────────────────────────────────
   [11] footer
   ───────────────────────────────────────────────── */
#etrip-root .etrip-foot{
  border-top:1px solid var(--line) !important;
  padding:32px 32px !important;
  max-width:1080px !important; margin:48px auto 0 !important;
  font-family:var(--mono) !important; font-size:11px !important;
  letter-spacing:.08em !important; color:var(--txt-dim) !important;
  text-transform:uppercase !important;
  background:transparent !important; text-align:left !important;
}

/* ─────────────────────────────────────────────────
   [12] etrip-rv (scroll-reveal) — Index Styleでは即可視
   ───────────────────────────────────────────────── */
#etrip-root.etrip-js .etrip-rv{
  opacity:1 !important; transform:none !important;
}

/* ─────────────────────────────────────────────────
   [13] Mobile
   ───────────────────────────────────────────────── */
@media (max-width:768px){
  #etrip-root .etrip-hero-inner{padding:56px 24px 40px !important}
  #etrip-root .etrip-sec,
  #etrip-root .ehome-section{padding:64px 24px !important}
  #etrip-root .etrip-arc-grid,
  #etrip-root .ehome-cats-grid,
  #etrip-root .ehome-regions-grid,
  #etrip-root .ehome-cta-grid{
    grid-template-columns:1fr !important;
  }
  #etrip-root .etrip-arc-card,
  #etrip-root .ehome-cat-card,
  #etrip-root .ehome-region,
  #etrip-root .etrip-ctaslot{padding:24px 24px !important}
  #etrip-root .etrip-h1{font-size:clamp(24px,7vw,32px) !important}
  #etrip-root .etrip-foot{padding:24px 24px !important; margin-top:32px !important}
}
