/* ---- ページ固有スタイル ---- */
    .hero-office {
      background-image: url('https://images.unsplash.com/photo-1497366216548-37526070297c?w=1400&q=80');
    }

    /* 特徴カード */
    .feature-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 40px; }
    .feature-card {
      background: white;
      border: 1px solid var(--color-border);
      border-radius: var(--radius-md);
      padding: 28px 20px;
      text-align: center;
      transition: var(--transition);
    }
    .feature-card:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); }
    .feature-icon {
      width: 56px; height: 56px;
      background: var(--color-primary);
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      margin: 0 auto 16px;
      font-size: 24px;
    }
    .feature-title {
      font-family: var(--font-serif);
      font-size: 14px;
      font-weight: 700;
      color: var(--color-primary);
      margin-bottom: 8px;
      letter-spacing: 0.05em;
    }
    .feature-text { font-size: 12px; color: var(--color-text-light); line-height: 1.7; }

    /* 経営理念 */
    .rinen-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
    .rinen-visual {
      border-radius: var(--radius-md);
      overflow: hidden;
      box-shadow: var(--shadow-md);
    }
    .rinen-visual img { width: 100%; height: 320px; object-fit: cover; }
    .rinen-items { display: flex; flex-direction: column; gap: 20px; }
    .rinen-item {
      background: white;
      border-left: 3px solid var(--color-gold);
      padding: 18px 20px;
      border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
      box-shadow: var(--shadow-sm);
    }
    .rinen-item p { font-size: 13.5px; line-height: 1.85; color: var(--color-text); font-weight: 500; }

    /* 創設者の言葉 */
    .founder-quote {
      background: linear-gradient(135deg, #1a2a4a 0%, #253659 100%);
      border-radius: var(--radius-md);
      padding: 48px;
      margin: 40px 0;
      position: relative;
      overflow: hidden;
    }
    .founder-quote::before {
      content: '"';
      position: absolute;
      top: -20px; left: 20px;
      font-family: var(--font-en);
      font-size: 160px;
      color: rgba(255,255,255,0.05);
      line-height: 1;
    }
    .founder-quote-title {
      font-family: var(--font-serif);
      font-size: 13px;
      color: var(--color-gold);
      letter-spacing: 0.1em;
      margin-bottom: 16px;
    }
    .founder-quote-text {
      font-size: 13.5px;
      color: rgba(255,255,255,0.85);
      line-height: 2;
      position: relative;
      z-index: 1;
    }
    .founder-quote-source {
      margin-top: 16px;
      font-size: 12px;
      color: rgba(255,255,255,0.4);
      text-align: right;
    }

    /* 概要テーブル */
    .overview-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
    .overview-col { }

    /* アクセス */
    .access-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
    .access-info { }
    .access-info-item {
      display: flex;
      align-items: flex-start;
      gap: 16px;
      padding: 16px 0;
      border-bottom: 1px solid var(--color-border-light);
    }
    .access-info-icon {
      width: 36px; height: 36px;
      background: var(--color-primary);
      color: white;
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      font-size: 16px;
      flex-shrink: 0;
    }
    .access-info-text { }
    .access-info-label { font-size: 11px; color: var(--color-text-muted); letter-spacing: 0.08em; text-transform: uppercase; font-family: var(--font-en); margin-bottom: 2px; }
    .access-info-value { font-size: 14px; color: var(--color-text); line-height: 1.7; }
    .access-map {
      background: var(--color-bg-light);
      border-radius: var(--radius-md);
      overflow: hidden;
      aspect-ratio: 4/3;
      display: flex; align-items: center; justify-content: center;
      border: 1px solid var(--color-border);
    }
    .map-placeholder {
      text-align: center;
      color: var(--color-text-muted);
    }
    .map-placeholder .map-icon { font-size: 40px; margin-bottom: 8px; }
    .map-placeholder p { font-size: 13px; }
    /* 実際のサイトではGoogleマップiframeを埋め込む */
    .access-map iframe { width: 100%; height: 100%; border: none; }

@media (max-width: 900px) {
  .feature-cards { grid-template-columns: repeat(2, 1fr); }
  .rinen-grid,
  .overview-grid,
  .access-grid { grid-template-columns: 1fr; gap: 28px; }
  .rinen-visual img { height: auto; min-height: 200px; }
  .founder-quote { padding: 32px 24px; }
}

@media (max-width: 640px) {
  .feature-cards { grid-template-columns: 1fr; }
  .founder-quote { padding: 24px 16px; margin: 28px 0; }
  .founder-quote::before { font-size: 100px; }
}
