@charset "utf-8";
/* company_history.html 専用（2026改修） */
.rnHiNav { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 0; padding: 0; list-style: none; }
.rnHiNav a { display: block; padding: 14px 12px; text-align: center; font-size: 15px; font-weight: bold; line-height: 1.5; color: #2b2b2b; text-decoration: none; background: #fff; border: 1px solid #d6dbe6; border-radius: 4px; transition: border-color .2s, color .2s; }
.rnHiNav a span { display: block; font-family: Arial, "Helvetica Neue", sans-serif; font-size: 12px; letter-spacing: 0.16em; color: #1C4C9F; }
.rnHiNav a:hover { color: #b80000; border-color: #b80000; }
.rnHiNav a.now span { color: #b80000; }
.rnHiPhase { margin: 0 0 30px; padding: 22px 26px; color: #fff; border-radius: 4px; }
.rnHiPhase.p1 { background: #5b78b5; }
.rnHiPhase.p2 { background: #1C4C9F; }
.rnHiPhase.p3 { background: #10204a; }
.rnHiPhase.p4 { background: #b80000; }
.rnHiPhase .badge { display: inline-block; font-family: Arial, "Helvetica Neue", sans-serif; font-size: 13px; font-weight: bold; letter-spacing: 0.14em; opacity: 0.9; }
.rnHiPhase h3 { margin: 4px 0 2px; padding: 0; font-size: 26px; font-weight: bold; line-height: 1.4; text-align: left; color: #fff; background: none; border: none; }
.rnHiPhase p { margin: 0; font-size: 16px; font-weight: bold; line-height: 1.7; }
.rnSection .rnTimeline { max-width: 900px; margin: 0 auto; }
.rnTimeline > li.hl .body { font-weight: bold; }
.rnTimeline > li.hl:before { background: #b80000; }
.rnTimeline .body a { color: #1C4C9F; font-weight: bold; }
@media screen and (max-width: 767px) {
	.rnHiNav { grid-template-columns: repeat(2, 1fr); gap: 8px; }
	.rnHiNav a { padding: 10px 6px; font-size: 13px; }
	.rnHiPhase { padding: 16px 16px; }
	.rnHiPhase h3 { font-size: 21px; }
	.rnHiPhase p { font-size: 14px; }
	.rnTimeline .body { font-size: 14.5px; }
}

/* ---- 2026-10 表示品質調整 ---- */
/* フッター上の拠点マップ（style.css の margin-left:10% + width:100% で右にはみ出す問題をこのページで補正） */
#contents.company { width: 100%; }
#contents.company .companyMap { width: auto; max-width: 1040px; margin: 0 auto 24px; padding: 0 40px; box-sizing: border-box; }
#contents.company .companyMap:after { content: ""; display: block; clear: both; }
#contents.company .companyMap .map { width: 38%; }
#contents.company .companyMap .text { margin-left: 43%; }
@media screen and (max-width: 767px) {
	#contents.company { padding-top: 32px; }
	#contents.company .companyMap { margin: 0 0 20px; padding: 0 20px; }
	#contents.company .companyMap .map { float: none; width: 100%; }
	#contents.company .companyMap .text { margin-left: 0; }
	#contents.company .companyMap .logo br:first-child { display: none; }
}
.rnNw { display: inline-block; }
