/**
 * DASULLAR — 企業情報ページ (page-company.php) 専用スタイル
 * 共通トークン（色・フォント・余白・イージング）は assets/css/base.css を
 * そのまま利用し、ここではこのページ固有のレイアウトのみを定義しています。
 */

/* ---------- 共通：ページ内セクション ---------- */
.company-section{
  padding: clamp(64px,8vw,120px) var(--pad-x);
}
.company-section .eyebrow{ justify-content:center; }
.company-section--center{ text-align:center; }

/* ---------- ファーストビュー ---------- */
.company-hero{
  background:#fff;
  text-align:center;
  padding: clamp(90px,12vw,160px) var(--pad-x) clamp(64px,8vw,120px);
}
.company-hero h1{
  margin-top:16px;
  font-size:clamp(2.1rem,4.2vw,3.2rem);
  line-height:1.5;
  color:var(--ink);
}
.company-hero .mobile-break{ display:none; }
@media (max-width:600px){
  .company-hero .mobile-break{ display:inline; }
}
.company-hero p{
  margin:clamp(24px,3vw,32px) auto 0;
  max-width:34em;
  font-size:16.5px;
  line-height:2;
  color:#3E4B45;
}

/* ---------- 企業メッセージ ---------- */
.company-message{
  background:var(--mint);
  text-align:center;
}
.company-message h2{
  margin-top:14px;
  font-size:clamp(1.9rem,3.4vw,2.6rem);
  line-height:1.5;
  color:var(--ink);
}
.company-message__body{
  margin:clamp(32px,4vw,44px) auto 0;
  max-width:38em;
}
.company-message__body p{
  font-size:16px;
  line-height:2;
  color:#3E4B45;
}
.company-message__body p + p{ margin-top:1.4em; }
.company-message__sign{
  margin-top:clamp(36px,4vw,48px);
  font-size:14px;
  line-height:1.9;
  color:var(--steel);
}
.company-message__sign p{ margin:0; }
.company-message__sign p:last-child{ color:var(--ink); font-weight:600; }

/* ---------- 会社概要 ---------- */
.company-profile{ background:#fff; }
.company-profile h2{
  margin-top:14px;
  text-align:center;
  font-size:clamp(1.9rem,3.4vw,2.6rem);
  color:var(--ink);
}
.company-profile__list{
  margin: clamp(40px,5vw,56px) auto 0;
  max-width:720px;
}
.company-profile__row{
  display:grid;
  grid-template-columns: 140px 1fr;
  gap: 8px 32px;
  padding: 18px 0;
  border-top:1px solid rgba(21,32,27,.12);
}
.company-profile__list .company-profile__row:last-child{ border-bottom:1px solid rgba(21,32,27,.12); }
.company-profile__row dt{ font-family:var(--mono); font-size:13px; letter-spacing:.04em; color:var(--steel); }
.company-profile__row dd{ margin:0; font-size:15.5px; line-height:1.8; color:var(--ink); }
.company-profile__row dd a{ color:var(--green-deep); text-decoration:underline; text-underline-offset:3px; }
.company-profile__row dd a:hover{ color:var(--green-strong); }
@media (max-width:600px){
  .company-profile__row{ grid-template-columns:1fr; gap:4px; }
}

/* ---------- 事業内容 ---------- */
.company-business{
  background:var(--sand);
  text-align:center;
}
.company-business h2{
  margin-top:14px;
  font-size:clamp(1.9rem,3.4vw,2.6rem);
  line-height:1.5;
  color:var(--ink);
}
.company-business p{
  margin:clamp(24px,3vw,32px) auto 0;
  max-width:34em;
  font-size:16px;
  line-height:2;
  color:#3E4B45;
}
.company-business .pill{ margin-top:clamp(32px,3.4vw,40px); }

/* ---------- 沿革 ---------- */
.company-history{ background:#fff; }
.company-history h2{
  margin-top:14px;
  text-align:center;
  font-size:clamp(1.9rem,3.4vw,2.6rem);
  color:var(--ink);
}
.company-timeline{
  list-style:none;
  margin: clamp(40px,5vw,56px) auto 0;
  padding:0;
  max-width:640px;
}
.company-timeline li{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap: 4px 24px;
  padding: 16px 0;
  border-top:1px solid rgba(21,32,27,.1);
}
.company-timeline li:last-child{ border-bottom:1px solid rgba(21,32,27,.1); }
.company-timeline__date{
  flex:0 0 auto;
  width:112px;
  font-family:var(--mono);
  font-size:12.5px;
  letter-spacing:.02em;
  color:var(--steel);
}
.company-timeline__text{
  flex:1 1 220px;
  font-size:15px;
  line-height:1.75;
  color:var(--ink);
}
@media (max-width:480px){
  .company-timeline__date{ width:100%; }
}

/* ---------- 共通：フォーカス表示 ---------- */
.company-section a:focus-visible{
  outline: 2px solid var(--green-deep);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce){
  .company-section *{ animation:none !important; transition:none !important; }
}
