@charset "UTF-8";

/* ===========================
   会社概要ページ専用CSS（company.css）
=========================== */

/* ===========================
   全セクション共通
=========================== */
section { padding: 96px 80px; }
.section-label { font-size: var(--font-label); letter-spacing: 0.25em; color: var(--teal-dark); margin-bottom: 12px; display: flex; align-items: center; gap: 10px; }
.section-label::before { content: ''; display: block; width: 24px; height: 2px; background: var(--teal); }
.btn-primary { background: var(--teal); color: var(--navy); padding: 16px 36px; font-size: var(--font-card); font-weight: 700; text-decoration: none; border-radius: 100px; display: inline-block; transition: all 0.2s; border: 2px solid var(--teal); }
.btn-primary:hover { background: var(--teal-dark); border-color: var(--teal-dark); color: var(--white); }

/* ===========================
   ヒーロー（紺背景）
=========================== */
.hero {
  min-height: 40vh; background: var(--navy);
  display: flex; align-items: center;
  padding: 100px 80px 50px; position: relative; overflow: hidden;
}
.hero::before { content: ''; position: absolute; top: -200px; right: -200px; width: 600px; height: 600px; background: radial-gradient(circle, rgba(130,216,208,0.1) 0%, transparent 70%); }
.hero-content { position: relative; z-index: 1; }
.hero-label { display: inline-flex; align-items: center; gap: 10px; font-size: var(--font-label); letter-spacing: 0.2em; color: var(--teal); margin-bottom: 28px; }
.hero-label::before { content: ''; display: block; width: 28px; height: 2px; background: var(--teal); }
.hero h1 { font-family: 'Shippori Mincho', serif; font-size: clamp(32px, 5vw, 56px); color: var(--white); line-height: 1.5; font-weight: 700; margin-bottom: 16px; }
.hero-sub { color: rgba(255,255,255,0.85); font-size: var(--font-card); line-height: 2.2; font-weight: 300; }

/* ===========================
   会社概要テーブル
=========================== */
.company { background: var(--white); }
.inner { max-width: 900px; margin: 0 auto; }
.company-table { width: 100%; margin-top: 48px; border-collapse: collapse; }
.company-table tr { border-bottom: 1px solid var(--border); }
.company-table tr:first-child { border-top: 1px solid var(--border); }
/* 左列：項目名 */
.company-table th { width: 200px; padding: 22px 24px; text-align: left; font-size: var(--font-label); font-weight: 700; color: var(--teal-dark); background: var(--teal-pale); vertical-align: top; }
/* 右列：内容 */
.company-table td { padding: 22px 24px; font-size: var(--font-card); color: var(--text); line-height: 2; font-weight: 300; }
.company-table small { font-size: var(--font-label); color: var(--text-light); }

/* ===========================
   CTAセクション
=========================== */
.cta { background: var(--teal-pale); text-align: center; border-top: 3px solid var(--teal); }
.cta h2 { font-family: 'Shippori Mincho', serif; font-size: clamp(26px, 4vw, 40px); color: var(--navy); line-height: 1.6; margin-bottom: 16px; }
.cta h2 em { font-style: normal; color: var(--teal-dark); }
.cta p { color: var(--text-light); font-size: var(--font-card); line-height: 2.2; font-weight: 300; margin-bottom: 40px; }

/* ===========================
   レスポンシブ：900px以下
=========================== */
@media (max-width: 900px) {
  section { padding: 64px 28px; }
  header { padding: 0 24px; }
  .hero { padding: 120px 28px 64px; }
  .company-table th { width: 120px; }
  nav a:not(.nav-cta) { display: none; }
}

/* ===========================
   レスポンシブ：600px以下
=========================== */
@media (max-width: 600px) {
  p, li, td { font-size: 18px !important; line-height: 2.2 !important; }
}