/* ============================================
   modern-custom.css
   色・フォントのみ上書き — レイアウト変更なし
   ============================================ */

/* ---- CSS変数の上書き ---- */
:root {
  --navy:       #0369A1;
  --navy-dark:  #1E293B;
  --orange:     #0EA5E9;
  --orange-lt:  #0284C7;
  --gray-bg:    #F8FAFC;
  --gray-mid:   #E2E8F0;
  --white:      #FFFFFF;
  --text-dark:  #1E293B;
  --text-mid:   #64748B;
  --text-light: #94A3B8;

  --font-display: 'Inter', 'Segoe UI', 'Noto Sans JP', 'Hiragino Sans', sans-serif;
  --font-body:    'Inter', 'Segoe UI', 'Noto Sans JP', 'Hiragino Sans', sans-serif;
}

/* ---- ベース文字・行間 ---- */
body {
  font-family: var(--font-body);
  color: #1E293B;
  line-height: 1.75;
}

h1, h2, h3, h4 {
  font-family: var(--font-display);
  letter-spacing: 0.05em;
  line-height: 1.2;
}

p { line-height: 1.75; }

/* ---- ヘッダー ---- */
.site-header {
  background: #FFFFFF;
  border-bottom: 2px solid #0EA5E9;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.06);
}

.site-header .logo-en { color: #1E293B; }
.site-header .logo-ja { color: #64748B; }

.site-nav a {
  color: #64748B;
  border-bottom: 2px solid transparent;
}
.site-nav a:hover,
.site-nav a.active {
  color: #0EA5E9;
  border-bottom-color: #0EA5E9;
}

.hamburger span { background: #1E293B; }

.mobile-nav {
  background: #FFFFFF;
  border-bottom: 1px solid #E2E8F0;
}
.mobile-nav a {
  color: #1E293B;
  border-bottom-color: #F1F5F9;
}
.mobile-nav a:hover {
  background: #F0F9FF;
  color: #0EA5E9;
}

/* ---- Heroセクション（スカイブルーグラデーション） ---- */
.hero {
  background: linear-gradient(150deg, #0369A1 0%, #0EA5E9 55%, #38BDF8 100%);
}
.hero::before { opacity: 0; }
.hero::after  { background: linear-gradient(135deg, rgba(255,255,255,0.08), transparent); }

.hero h1       { color: #FFFFFF; }
.hero h1 em    { color: #BAE6FD; }
.hero-sub      { color: rgba(255, 255, 255, 0.88); }
.hero-eyebrow  { color: #BAE6FD; }
.hero-eyebrow::after { background: #BAE6FD; }

/* ---- ボタン ---- */
.btn {
  border-radius: 6px;
  font-family: var(--font-display);
  letter-spacing: 0.05em;
}
.btn-primary  { background: #0EA5E9; border-color: #0EA5E9; color: #FFFFFF; }
.btn-primary:hover { background: #0284C7; border-color: #0284C7; }

.btn-outline  { color: #FFFFFF; border-color: rgba(255,255,255,0.5); }
.btn-outline:hover { border-color: #FFFFFF; background: rgba(255,255,255,0.12); color: #FFFFFF; }

.btn-dark  { background: #1E293B; border-color: #1E293B; color: #FFFFFF; border-radius: 6px; }
.btn-dark:hover { background: #0F172A; }

.btn-white { background: #FFFFFF; color: #0EA5E9; border-color: #FFFFFF; border-radius: 6px; }
.btn-white:hover { background: #F0F9FF; }

/* ---- section-label ---- */
.section-label { color: #0EA5E9; }

/* ---- サービスカード ---- */
.services-section { background: #FFFFFF; }
.service-card { border-left-color: #0EA5E9; background: #FFFFFF; }
.service-card h3 { color: #1E293B; }
.service-card p  { color: #64748B; }
.service-card .card-link { color: #0EA5E9; }
.service-card:hover { box-shadow: 0 12px 36px rgba(14,165,233,0.12); }

/* ---- 選ばれる理由（strengths） ---- */
.strengths-section { background: #F1F5F9; }
.strengths-section::before { opacity: 0; }
.strengths-section .section-label { color: #0EA5E9; }
.strengths-section h2 { color: #1E293B; }

.strength-item { border-top-color: #E2E8F0; }
.strength-num  { color: #0EA5E9; }
.strength-item h3 { color: #1E293B; }
.strength-item p  { color: #64748B; }

/* ---- CTAバナー ---- */
.cta-section { background: #0EA5E9; }
.cta-section::before { color: rgba(0, 0, 0, 0.06); }
.cta-inner h2 { color: #FFFFFF; }
.cta-inner p  { color: rgba(255, 255, 255, 0.9); }

/* ---- フッター ---- */
.site-footer { background: #1E293B; }
.footer-nav h4, .footer-contact h4 { color: #0EA5E9; }
.footer-contact a:hover { color: #0EA5E9; }
.footer-bottom { border-top-color: rgba(255,255,255,0.1); }

/* ---- ページHero（内部ページ） ---- */
.page-hero {
  background: linear-gradient(150deg, #0369A1 0%, #0EA5E9 100%);
}
.page-hero::before { opacity: 0; }
.page-hero::after  { background: linear-gradient(90deg, rgba(255,255,255,0.25), transparent); }
.page-hero h1    { color: #FFFFFF; }
.page-sub        { color: rgba(255, 255, 255, 0.8); }
.breadcrumb      { color: rgba(255, 255, 255, 0.55); }
.breadcrumb a    { color: #BAE6FD; }

/* ---- サービス詳細ページ ---- */
.service-detail  { background: #FFFFFF; }
.service-block h3 { color: #1E293B; }
.service-block p  { color: #64748B; }
.service-block ul li::before { color: #0EA5E9; }
.service-block-number { color: rgba(14, 165, 233, 0.1); }

.badge        { border-color: #0EA5E9; color: #0EA5E9; }
.badge-orange { border-color: #0284C7; color: #0284C7; }

/* ---- 会社概要ページ ---- */
.company-section { background: #FFFFFF; }
.company-table th { color: #0EA5E9; background: #F8FAFC; }
.company-table a  { color: #0EA5E9; }
.company-table a:hover { color: #0284C7; }

.message-block { border-left-color: #0EA5E9; background: #FFFFFF; }
.message-block h3 { color: #1E293B; }
.message-block p  { color: #64748B; }
.message-block .signature { color: #94A3B8; border-top-color: #E2E8F0; }

/* ---- お問い合わせページ ---- */
.contact-info h3      { color: #1E293B; }
.contact-info-label   { color: #0EA5E9; }
.contact-info-item    { border-bottom-color: #E2E8F0; }
.contact-info-value a { color: #0EA5E9; }
.contact-info-value a:hover { color: #0284C7; }
.contact-info-value .tel-num { color: #1E293B; font-size: 1.3rem; }
.contact-info-value .tel-num a { color: #1E293B; }

.contact-form { border-top-color: #0EA5E9; background: #FFFFFF; }
.contact-form h3 { color: #1E293B; }

.form-group label    { color: #1E293B; }
.form-group .required { color: #0EA5E9; }
.form-group input,
.form-group textarea {
  border-color: #E2E8F0;
  background: #F8FAFC;
  color: #1E293B;
  border-radius: 4px;
}
.form-group input:focus,
.form-group textarea:focus {
  border-color: #0EA5E9;
  background: #FFFFFF;
  box-shadow: 0 0 0 3px rgba(14,165,233,0.12);
}

.form-submit {
  background: #0EA5E9;
  border-color: #0EA5E9;
  color: #FFFFFF;
  border-radius: 6px;
}
.form-submit:hover { background: #0284C7; border-color: #0284C7; }
.form-note { color: #94A3B8; }
