/* 日本語 — 일본 B2B 사이트의 관례. 넓은 행간·약물 조정, 절제된 장식, 정보는 표와 목록으로. */
:root {
  --font: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'Yu Gothic Medium', YuGothic, Meiryo, sans-serif;
  --radius-sm: 3px; --radius: 6px; --radius-lg: 8px; --radius-xl: 10px;
  --shadow-sm: none;
  --shadow-md: 0 1px 4px rgba(32,21,21,0.06);
  --shadow-lg: 0 4px 16px rgba(32,21,21,0.06);
}

html { font-feature-settings: 'palt' 1; }
body { line-height: 1.9; letter-spacing: 0.04em; }
p { line-height: 1.95; }

h1, h2, h3, h4, .hero-title, .hero-subtitle, .tab-feats span {
  word-break: normal; line-break: strict; letter-spacing: 0.03em;
}
/* 어구 단위 줄바꿈은 큰 제목에만 — 소제목까지 걸면 최소 폭이 늘어 격자 칸이 화면 밖으로 밀린다 */
@media (min-width: 769px) {
  .hero-title, .section-title h2 { word-break: auto-phrase; }
}
h1, h2, h3, h4 { line-height: 1.5; font-weight: 700; }
.section-eyebrow { letter-spacing: 2px; }

/* 장식을 줄인다 — 떠다니는 빛과 반복 움직임은 업무 시스템 소개에 어울리지 않는다 */
.hero::before, .hero::after, .hero-particles, .hero-frame::before, .hero-tagline::after { display: none; }
.animate-float, .animate-pulse { animation: none !important; }

.hero { padding: 64px 0 56px; border-bottom: 1px solid var(--border); }
.hero-title { font-size: 2.6rem; line-height: 1.45; font-weight: 700; }
.hero-subtitle { font-size: 1rem; line-height: 2; max-width: 820px; }
.hero-tagline { font-weight: 500; }

.section-padding { padding: 88px 0; }
.section-title h2 { font-size: 1.85rem; letter-spacing: 0.03em; }
.section-title h2::after {
  content: ''; display: block; width: 40px; height: 2px; background: var(--orange); margin: 18px auto 0;
}
.section-title p { max-width: 760px; font-size: 0.98rem; line-height: 2; }

.nav-desktop { gap: 18px; }
.nav-link { font-size: 0.82rem; letter-spacing: 0.02em; }
.btn { font-weight: 500; letter-spacing: 0.04em; }

/* FAQ */
.faq-list { max-width: 820px; margin: 0 auto; border-top: 1px solid var(--border-dark); }
.faq-list details { border-bottom: 1px solid var(--border-dark); }
.faq-list summary {
  list-style: none; cursor: pointer; padding: 18px 40px 18px 34px; position: relative;
  font-weight: 500; color: var(--text); line-height: 1.7;
}
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::before { content: 'Q'; position: absolute; left: 4px; top: 18px; color: var(--orange); font-weight: 700; }
.faq-list summary::after {
  content: '+'; position: absolute; right: 8px; top: 16px; font-size: 1.2rem; color: var(--text-3);
}
.faq-list details[open] summary::after { content: '−'; }
.faq-list details p { padding: 0 8px 20px 34px; font-size: 0.94rem; }

/* 会社概要 */
.company-table { max-width: 820px; margin: 0 auto; width: 100%; border-collapse: collapse; border-top: 1px solid var(--border-dark); }
.company-table th, .company-table td {
  padding: 16px 12px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; font-size: 0.94rem;
}
.company-table th { width: 200px; font-weight: 500; color: var(--text); background: var(--bg-subtle); }
.company-table td { color: var(--text-2); }

@media (max-width: 768px) {
  .hero-title { font-size: 1.85rem; }
  .section-title h2 { font-size: 1.5rem; }
  .section-padding { padding: 64px 0; }
  .company-table th { width: 110px; }
}

/* 헤더 — 번역 문구가 길어 꼬리표와, 오른쪽 버튼과 겹치는 메뉴는 뺀다 */
.logo-tag { display: none; }
.nav-desktop a[href="#demo"] { display: none; }
