@charset "utf-8";
/* vision.html 専用（2026改修） */
#slogan, #values, #in-project { position: relative; z-index: 1; }
#values { background: #fff; }
#slogan .rnHead .en { letter-spacing: 0.12em; }
.rnVsFig { margin-bottom: 32px; }
.rnVsFig:last-child { margin-bottom: 0; }
.rnVsCards .rnCard .num { letter-spacing: 0.12em; }
.rnVsCards .rnCard h4, .rnVsCards .rnCard h3:where(.rnH4) { font-size: 20px; }
.rnVsSteps .term { font-size: 12px; }
.rnVsBox { margin-top: 32px; }
.rnVsBox p { margin: 0; font-size: 16px; line-height: 1.95; }
@media screen and (max-width: 767px) {
	.rnVsCards .rnCard h4, .rnVsCards .rnCard h3:where(.rnH4) { font-size: 17px; }
	.rnVsBox p { font-size: 14.5px; }
}

/* ---- 2026-10 表示品質調整 ---- */
.rnNw { display: inline-block; }
/* フッター上の拠点マップ（style.css の margin-left:10% + width:100% で右にはみ出す問題をこのページで補正） */
/* 社是・社訓の画像：PCで1000px原寸のまま大きすぎるため上限を設定 */
#contents.bg2 img.shaze { width: 100%; max-width: 760px; height: auto; }
@media screen and (min-width: 768px) {
	#contents.bg2 .bunn { max-width: 880px; margin-left: auto; margin-right: auto; font-size: 15px; line-height: 1.9; }
}
#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) {
	/* ビジョン／ミッション：見出し下の <br> による空きを詰め、本文の幅を確保 */
	#contents.bg1 .subtitle > br { display: none; }
	#contents.bg1 .subtitle { padding: 8px 0 20px; }
	#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; }
}

/* ビジョン・ミッション本文：文字を大きく、行間を広げ、ミッションは番号付きのパネルに */
.rnVsVision { max-width: 860px; padding: 8px 0 56px; text-align: center; }
.rnVsVision .stmt { margin: 0; font-size: 32px; font-weight: bold; line-height: 1.5; letter-spacing: 0.06em; color: #10204a; }
.rnVsVision .stmt:after { content: ""; display: block; width: 48px; height: 3px; margin: 22px auto 20px; background: #b80000; }
.rnVsVision .sub { margin: 0; font-size: 19px; font-weight: bold; line-height: 1.8; letter-spacing: 0.04em; color: #2b2b2b; }
.rnVsMission { max-width: 920px; padding: 8px 0 72px; }
.rnVsMission .stmt { margin: 0 0 32px; font-size: 28px; font-weight: bold; line-height: 1.5; letter-spacing: 0.06em; text-align: center; color: #10204a; }
.rnVsMissionList { display: grid; gap: 18px; margin: 0; padding: 0; list-style: none; }
.rnVsMissionList li { display: grid; grid-template-columns: 88px 1fr; align-items: start; padding: 28px 32px 28px 0; background: rgba(255,255,255,0.94); border-left: 4px solid #b80000; border-radius: 0 8px 8px 0; box-shadow: 0 6px 20px rgba(16,32,74,0.08); }
.rnVsMissionList .no { font-family: Arial, "Helvetica Neue", sans-serif; font-size: 36px; font-weight: bold; line-height: 1.1; text-align: center; color: #b80000; }
.rnVsMissionList h3 { margin: 0 0 10px; font-size: 22px; font-weight: bold; line-height: 1.5; text-align: left; letter-spacing: 0.04em; color: #10204a; word-break: auto-phrase; text-wrap: balance; }
.rnVsMissionList p { margin: 0; font-size: 16.5px; line-height: 2; color: #333; word-break: auto-phrase; text-wrap: pretty; }
@media screen and (max-width: 767px) {
	.rnVsVision { padding: 0 0 36px; }
	.rnVsVision .stmt { font-size: 23px; }
	.rnVsVision .stmt:after { margin: 16px auto 14px; }
	.rnVsVision .sub { font-size: 16px; }
	.rnVsMission { padding: 0 0 48px; }
	.rnVsMission .stmt { margin-bottom: 22px; font-size: 22px; }
	.rnVsMissionList { gap: 12px; }
	.rnVsMissionList li { grid-template-columns: 52px 1fr; padding: 18px 16px 18px 0; }
	.rnVsMissionList .no { font-size: 24px; }
	.rnVsMissionList h3 { margin-bottom: 6px; font-size: 17.5px; }
	.rnVsMissionList p { font-size: 15px; line-height: 1.9; }
}
/* ミッション本文：親要素から継承する広い字間を戻し、スマホでは通常の折り返しに */
.rnVsMissionList p { letter-spacing: 0.02em; }
@media screen and (max-width: 767px) {
	.rnVsMissionList li { grid-template-columns: 44px 1fr; }
	.rnVsMissionList p { word-break: normal; overflow-wrap: anywhere; letter-spacing: 0; }
}
/* PHILOSOPHY：スマホで 1vw 指定の文字が極小になるため補正。社是は画像だと文字が小さすぎるので文字で表示 */
.rnVsShazeText { display: none; }
@media screen and (max-width: 767px) {
	#contents.bg2 .subtitle { margin-top: 2px !important; font-size: 12px !important; letter-spacing: 0.1em; }
	#contents.bg2 img.shaze0 { display: none; }
	#contents.bg2 .rnVsShazeText { display: block; margin: 0; font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif; font-size: 18px; font-weight: bold; line-height: 1.9; letter-spacing: 0.08em; color: #fff; }
	#contents.bg2 .bunn { padding: 0 4px; font-size: 14.5px; line-height: 1.95; text-align: left; }
}
/* #contentsBody（max-width:90%）より優先させて本文幅を揃える */
#contentsBody.rnVsVision { max-width: min(860px, 90%); }
#contentsBody.rnVsMission { max-width: min(920px, 90%); }
.rnVsMissionList .txt { min-width: 0; }
/* 5つのコアバリュー：5枚を3＋2で並べ、2段目の空きをなくす */
@media screen and (min-width: 768px) {
	.rnVsCards { grid-template-columns: repeat(6, 1fr); }
	.rnVsCards > li { grid-column: span 2; }
	.rnVsCards > li:nth-child(n+4) { grid-column: span 3; }
}
