/* ==============================================
   会社概要: company.css
   共通: ../css/common/base.css, header.css, footer.css
============================================== */

#access{background:var(--navy);}
#recruit{background:var(--bg); border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); padding:64px 0;}

/* ===== 会社概要テーブル ===== */
.overviewGrid{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start;}
.overviewTable{width:100%; border-collapse:collapse;}
.overviewTable th{width:140px; padding:14px 16px 14px 0; font-size:13px; font-weight:500; color:var(--gray); text-align:left; border-bottom:1px solid var(--rule); vertical-align:top; white-space:nowrap;}
.overviewTable td{padding:14px 0; font-size:14px; color:var(--text); border-bottom:1px solid var(--rule); line-height:1.9;}
.overviewTable td a{color:var(--cyan);}
.overviewTable td a:hover{text-decoration:underline;}

/* 右側：数字カード */
.overviewStats{display:flex; flex-direction:column; gap:16px;}
.overviewStatCard{background:var(--navy); border-radius:8px; padding:24px 28px; display:flex; align-items:center; gap:20px;}
.overviewStatNum{font-family:'Bebas Neue', sans-serif; font-size:48px; color:var(--white); line-height:1; flex-shrink:0; min-width:100px;}
.overviewStatNum span{font-size:18px; color:var(--cyan);}
.overviewStatLabel{font-size:14px; color:rgba(255,255,255,0.75); font-weight:500;}
.overviewStatSub{font-size:10px; color:rgba(255,255,255,0.3); letter-spacing:1px; margin-top:3px;}

/* ===== 拠点マップ風 ===== */
.officesGrid{display:grid; grid-template-columns:repeat(5, 1fr); gap:16px;}
.officeCard{background:var(--navy2); border:1px solid rgba(255,255,255,0.06); border-radius:8px; padding:24px 20px; text-align:center; position:relative; overflow:hidden;}
.officeCard::before{content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--cyan);}
.officeNum{font-family:'Bebas Neue', sans-serif; font-size:11px; letter-spacing:3px; color:var(--cyan); margin-bottom:8px;}
.officeName{font-family:'Noto Serif JP', serif; font-size:16px; font-weight:700; color:var(--white); margin-bottom:6px;}
.officeDetail{font-size:11px; color:rgba(255,255,255,0.35); line-height:1.8;}
.officeHq .officeName{color:var(--cyan);}

/* ===== ACCESS MAP ===== */
#access{background:var(--navy);}
.accessGrid{display:grid; grid-template-columns:repeat(3, 1fr); gap:20px;}
.accessCard{border:1px solid var(--rule); border-radius:10px; overflow:hidden; background:var(--white); transition:box-shadow .2s;}
.accessCard:hover{box-shadow:0 6px 24px rgba(13,43,62,0.08);}
.accessMapFrame{width:100%; height:200px; border:none; display:block; background:var(--navy2);}
.accessCardBody{padding:20px 20px 24px; border-top:1px solid var(--rule);}
.accessCardNum{font-family:'Bebas Neue', sans-serif; font-size:10px; letter-spacing:3px; color:var(--cyan); margin-bottom:4px;}
.accessCardName{font-family:'Noto Serif JP', serif; font-size:16px; font-weight:700; color:var(--navy); margin-bottom:10px;}
.accessCardAddress{font-size:12px; color:var(--gray); line-height:1.9; margin-bottom:12px;}
.accessCardTel{font-size:12px; color:var(--text); margin-bottom:12px; line-height:1.8;}
.accessMapLink{display:inline-flex; align-items:center; gap:5px; font-size:11px; color:var(--cyan); border:1px solid rgba(0,181,217,0.3); padding:5px 12px; border-radius:3px; transition:background .2s, color .2s;}
.accessMapLink:hover{background:var(--cyan); color:var(--white);}
.accessCardSoon{height:200px; background:var(--bg2); display:flex; align-items:center; justify-content:center; flex-direction:column; gap:8px;}
.accessCardSoonLabel{font-family:'Bebas Neue', sans-serif; font-size:11px; letter-spacing:3px; color:var(--gray);}
.accessCard{border:1px solid rgba(255,255,255,0.08); border-radius:10px; overflow:hidden; background:var(--navy2); transition:box-shadow .2s, border-color .2s;}
.accessCard:hover{box-shadow:0 6px 24px rgba(0,0,0,0.3); border-color:rgba(0,181,217,0.3);}
.accessCardBody{padding:20px 20px 24px; border-top:1px solid rgba(255,255,255,0.06);}
.accessCardNum{font-family:'Bebas Neue', sans-serif; font-size:10px; letter-spacing:3px; color:var(--cyan); margin-bottom:4px;}
.accessCardName{font-family:'Noto Serif JP', serif; font-size:16px; font-weight:700; color:var(--white); margin-bottom:10px;}
.accessCardAddress{font-size:12px; color:rgba(255,255,255,0.4); line-height:1.9; margin-bottom:12px;}
.accessCardTel{font-size:12px; color:rgba(255,255,255,0.6); margin-bottom:12px; line-height:1.8;}
.accessMapLink{display:inline-flex; align-items:center; gap:5px; font-size:11px; color:var(--cyan); border:1px solid rgba(0,181,217,0.3); padding:5px 12px; border-radius:3px; transition:background .2s, color .2s;}
.accessMapLink:hover{background:var(--cyan); color:var(--white);}
.accessCardSoon{height:200px; background:var(--navy3); display:flex; align-items:center; justify-content:center; flex-direction:column; gap:8px;}
.accessCardSoonLabel{font-family:'Bebas Neue', sans-serif; font-size:11px; letter-spacing:3px; color:var(--gray);}

/* ===== RESPONSIVE ===== */
@media screen and (max-width:1024px){
  .overviewGrid{grid-template-columns:1fr;}
  .officesGrid{grid-template-columns:repeat(3, 1fr);}
}

@media screen and (max-width:640px){
 .overviewStatCard{flex-direction:column; gap:8px; text-align:center;}
 .timeline{padding-left:28px;}
 .timelineRow{grid-template-columns:80px 1fr; gap:12px;}
 .officesGrid{grid-template-columns:repeat(2, 1fr);}
 .accessGrid{grid-template-columns:repeat(2, 1fr);}
 }

/* ===== INLINE STYLE 移行クラス ===== */
.statIconWrap {display:block; flex-shrink:0;}
.statNumLg{font-size:28px; min-width:100px; padding-top:8px;}
.sectionDescWhite{ font-size:14px; color:rgba(255,255,255,0.4); margin-bottom:48px; line-height:1.9;}
.textGrayXs{font-size:12px; color:var(--gray);}
