/* ---- 会社概要ページ専用（トップと同じ配色・書体トークンを使う） ---- */
body.lctop-sub { background: var(--bg); color: var(--ink); font-family: var(--sans); line-height: 1.9; margin: 0; }

.sub-header { display: flex; align-items: center; justify-content: space-between; padding: 30px 8vw; border-bottom: 1px solid var(--line); }
.sub-header .logo { display: flex; align-items: center; gap: 12px; font-family: var(--serif); font-size: 22px; letter-spacing: .1em; color: var(--indigo); text-decoration: none; }
.sub-header .logo .mark { height: 24px; width: auto; display: block; }
.sub-header .logo small { display: block; font-family: var(--sans); font-size: 11px; letter-spacing: .3em; color: var(--sub); margin-top: 2px; }
.sub-header nav { display: flex; align-items: center; gap: 30px; font-size: 15px; letter-spacing: .05em; }
.sub-header nav a { text-decoration: none; color: var(--ink); padding-bottom: 3px; border-bottom: 1px solid transparent; }
.sub-header nav a.cur { color: var(--indigo); border-color: var(--indigo); }
.sub-header nav a.contact { border: 1px solid var(--indigo); color: var(--indigo); padding: 10px 24px; border-radius: 999px; }

.page-title { padding: 8vh 8vw; background: var(--indigo); color: #fff; }
.page-title .en { font-family: var(--sans); font-style: normal; font-weight: 800; letter-spacing: .12em; font-size: clamp(30px, 4.4vw, 52px); margin: 0 0 1vh; color: #fff; }
.page-title h1 { font-family: var(--serif); font-weight: 500; font-size: clamp(15px, 1.6vw, 19px); letter-spacing: .2em; margin: 0; color: rgba(255,255,255,.85); }

.mv { padding: 0 8vw; border-top: 1px solid var(--line); }
.mv-item { padding: 7vh 0; }
.mv-item + .mv-item { border-top: 1px solid var(--line); }
.mv-item .tag { font-family: var(--sans); font-weight: 800; letter-spacing: .08em; color: var(--indigo); font-size: clamp(20px, 2.4vw, 30px); margin: 0 0 2.5vh; }
.mv-item .mv-body { font-family: var(--serif); font-size: clamp(19px, 2vw, 26px); line-height: 1.9; letter-spacing: .04em; margin: 0 0 3vh; max-width: 46em; }
.mv-item .mv-desc { color: var(--sub); font-size: 15px; max-width: 46em; }
.mv-item .mv-desc p { margin: 0 0 1.4em; }
.mv-item .mv-desc p:last-child { margin-bottom: 0; }

.overview { padding: 0 8vw 12vh; }
.overview-table { width: 100%; border-collapse: collapse; border-top: 1px solid var(--line); }
.overview-table th, .overview-table td { text-align: left; padding: 22px 20px; border-bottom: 1px solid var(--line); font-size: 15px; }
.overview-table th { width: 160px; color: var(--sub); font-weight: 500; letter-spacing: .08em; }
.overview-table td { color: var(--ink); }

@media (max-width: 820px) {
  .sub-header nav a:not(.contact) { display: none; }
  .sub-header { padding: 22px 6vw; }
  .page-title, .mv, .overview { padding-left: 6vw; padding-right: 6vw; }
  .overview-table th { width: 110px; padding: 18px 12px; }
  .overview-table td { padding: 18px 12px; }
}
