@charset "utf-8";
/* privacy.html 専用（2026改修） */
.rnPolicy { font-size: 15px; line-height: 1.95; color: #2b2b2b; }
.rnPolicy .rnInner { max-width: 980px; }
.rnPolicy p { margin: 0 0 14px; }
.rnPolicy a:not(.rnBtn) { color: #1C4C9F; }
.rnPvToc { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; padding: 18px; list-style: none; background: #f2f2f2; border-radius: 4px; }
.rnPvToc a { display: inline-block; padding: 6px 14px; font-size: 13.5px; font-weight: bold; color: #1C4C9F; text-decoration: none; background: #fff; border: 1px solid #d6dbe6; border-radius: 20px; }
.rnPvToc a:hover { color: #b80000; border-color: #b80000; }
.rnPvH { display: flex; align-items: center; gap: 14px; margin: 48px 0 18px; padding: 0 0 12px; font-size: 21px; font-weight: bold; line-height: 1.5; text-align: left; color: #2b2b2b; border-bottom: 1px solid #d6dbe6; background: none; scroll-margin-top: 90px; }
.rnPvH span { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 40px; font-family: Arial, sans-serif; font-size: 18px; color: #fff; background: #b80000; }
.rnPvList { margin: 0; }
.rnPvList dt { margin: 18px 0 4px; font-size: 16px; font-weight: bold; color: #1C4C9F; }
.rnPvList dt:first-child { margin-top: 0; }
.rnPvList dd { margin: 0; padding: 0 0 0 1em; }
.rnPvTable tbody th { width: 30%; }
.rnPvTable { min-width: 560px; font-size: 14.5px; }
.rnPvSub { font-size: 12px; font-weight: normal; color: #767676; }
.rnPvCards { margin: 8px 0 0; }
.rnPvCards .rnCard h4, .rnPvCards .rnCard h3:where(.rnH4) { font-size: 16.5px; }
.rnPvCards .rnCard p { font-size: 14px; line-height: 1.85; }
.rnPolicy .rnBox p { margin: 0 0 10px; }
.rnPolicy .rnCheck { margin: 4px 0 8px; }
.rnPvContact { padding: 20px 24px; background: #f2f2f2; border-left: 4px solid #1C4C9F; }
.rnPvContact p { margin: 0; }
.rnPvDate { margin-top: 32px !important; text-align: right; font-size: 14px; color: #555; }
@media screen and (max-width: 767px) {
	.rnPolicy { font-size: 14px; }
	.rnPvH { font-size: 17px; gap: 10px; }
	.rnPvH span { width: 36px; height: 32px; font-size: 15px; }
	.rnPvContact { padding: 16px; }
	.rnPvDate { text-align: left; }
}

/* ---- 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; }
}
@media screen and (max-width: 767px) {
	/* 表：スマホでは横スクロールではなく「見出し→内容」の縦積みに */
	.rnPvStack { min-width: 0; border-top: 1px solid #dcdcdc; }
	.rnPvStack thead { display: none; }
	.rnPvStack tbody, .rnPvStack tr, .rnPvStack tbody th, .rnPvStack td { display: block; width: auto; }
	.rnPvStack tbody th, .rnPvStack td { border-top: none; }
	.rnPvStack tbody th { padding: 9px 12px; }
	.rnPvStack td { padding: 10px 12px 12px; }
	.rnPvCookie td:before { display: block; margin-bottom: 2px; font-size: 12px; font-weight: bold; color: #1C4C9F; }
	.rnPvCookie td:nth-of-type(1):before { content: "送信される情報"; }
	.rnPvCookie td:nth-of-type(2):before { content: "利用目的"; }
}
.rnNw { display: inline-block; }
.rnPvH { word-break: auto-phrase; }
.rnPolicy .rnTableWrap + .rnNote { margin-top: 10px; }
.rnPvNote { margin-top: 18px !important; }
