/* Rebuild overrides (loaded after page CSS). Managed by tools/fixes.py */
/* Readable dark gradient under white text on photo cards */
html body main .contents.contents05 .contents-list-wrapper .contents-list a::after{
  background:linear-gradient(to top,rgba(0,0,0,.72) 0%,rgba(0,0,0,.38) 45%,rgba(0,0,0,.08) 100%);
}
html body main .contents.contents05 .contents-list-wrapper .contents-list a:hover::after{opacity:.75}
html body main .contents.contents05 .contents-list-wrapper .contents-list a h3{text-shadow:0 1px 3px rgba(0,0,0,.5)}
html body .mainvisual-slide .slide-button-wrapper h2{text-shadow:0 2px 6px rgba(0,0,0,.45)}
/* Shorter empty header band on subpages */
html body .subvisual{height:180px}
html body .subvisual .subvisual-caption{bottom:40px}
@media screen and (max-width:1199px){html body .subvisual{height:170px}}
@media screen and (max-width:767px){html body .subvisual{height:140px}html body .subvisual .subvisual-caption{bottom:30px}}
@media screen and (max-width:575px){html body .subvisual{height:120px}html body .subvisual .subvisual-caption{bottom:24px}}
/* Mobile legibility: 受付時間 / MENU at least 12px */
html body header .header-inner .contact-wrapper ul li.tel a span{font-size:12px}
html body header .header-inner .header-sp .menu-button-wrapper #menuButton{font-size:12px}
/* Toned-down 事務所移転のご案内 */
html body main .contents.contents-info h2{font-size:18px;font-weight:500;letter-spacing:.05em;text-align:center}
@media screen and (max-width:767px){html body main .contents.contents-info h2{font-size:15px}}
/* 【内容確認中】 badge: dark text on light yellow (contrast > 9:1) */
html body .pending-note{display:inline-block;background:#fff6cc;color:#4a3800;border:1px solid #d9b74a;border-radius:4px;padding:4px 10px;font-weight:bold;font-size:14px;line-height:1.6}
/* strength page in-page nav (separators via CSS, not list items) */
html body .strength-nav{display:flex;flex-wrap:wrap;gap:6px 0;margin-top:24px}
html body .strength-nav li a{text-decoration:underline}
html body .strength-nav li+li::before{content:"／";margin:0 10px;text-decoration:none}
/* footer company name (was h1) */
html body footer .footer-contents .wrapper .footer-inner .footer-info .footer-text p.footer-name{font-size:14px;margin-bottom:10px}
/* ===== /strength/ (review4 design) ===== */
html body main .contents.contents02 .contents-list.strength-section{scroll-margin-top:120px}
html body main .contents.contents02 .contents-list .strength-table{width:100%;border-collapse:collapse;margin:20px 0;font-size:15px;line-height:1.7;color:#fff}
html body main .contents.contents02 .contents-list .strength-table th,
html body main .contents.contents02 .contents-list .strength-table td{color:#fff;border-bottom:1px solid rgba(255,255,255,.35);padding:10px 12px;vertical-align:top;text-align:left}
html body main .contents.contents02 .contents-list .strength-table th{white-space:nowrap;font-weight:bold}
html body main .contents.contents02 .contents-list .strength-table tr:first-child th,
html body main .contents.contents02 .contents-list .strength-table tr:first-child td{border-top:1px solid rgba(255,255,255,.35)}
html body main .contents.contents02 .contents-list .strength-table a{color:#fff;font-weight:bold;text-decoration:underline;display:inline-flex;align-items:center;min-height:44px}
html body main .contents.contents02 .contents-list .strength-h3{color:#fff;font-weight:bold;font-size:18px;margin-top:24px}
html body main .contents.contents02 .contents-list .strength-clients{display:flex;flex-wrap:wrap;gap:6px 0;margin:20px 0;font-size:14px;line-height:1.6;color:#fff}
html body main .contents.contents02 .contents-list .strength-clients li{width:33.3%;padding-right:12px}
html body main .contents.contents02 .contents-list .strength-note{font-size:13px}
html body main .contents.contents02 .contents-list .btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
html body main .contents.contents02 .contents-list .btn-outline{display:inline-flex;align-items:center;min-height:44px;padding:10px 28px;background:#fff;color:#008cd6;border:1px solid #fff;border-radius:40px;font-weight:bold;transition:opacity .3s}
html body main .contents.contents02 .contents-list .btn-outline:hover{opacity:.85}
@media screen and (min-width:768px){
  html body main .contents.contents02 .contents-list .contents-image img{width:100%;max-height:360px;object-fit:cover}
}
@media screen and (max-width:767px){
  html body main .contents.contents02 .contents-list .title-wrapper .title-inner{flex-direction:column;align-items:flex-start}
  html body main .contents.contents02 .contents-list .title-wrapper .title-inner .strength-sub{padding-left:0;margin-top:6px}
  html body main .contents.contents02 .contents-list .strength-clients{font-size:13px}
  html body main .contents.contents02 .contents-list .strength-clients li{width:50%}
}
@media screen and (max-width:575px){
  html body main .contents.contents02 .contents-list .strength-table,
  html body main .contents.contents02 .contents-list .strength-table tbody,
  html body main .contents.contents02 .contents-list .strength-table tr,
  html body main .contents.contents02 .contents-list .strength-table th,
  html body main .contents.contents02 .contents-list .strength-table td{display:block;width:100%}
  html body main .contents.contents02 .contents-list .strength-table th{white-space:normal;border-bottom:0;padding:12px 4px 2px}
  html body main .contents.contents02 .contents-list .strength-table td{padding:0 4px 12px}
  html body main .contents.contents02 .contents-list .strength-table tr:first-child td{border-top:0}
}
/* ===== business pages (care/global/construction) v5 ===== */
html body main .contents .biz-list{margin:12px 0 16px;line-height:1.8}
html body main .contents .biz-list li{position:relative;padding-left:1.2em}
html body main .contents .biz-list li::before{content:"・";position:absolute;left:0}
html body main .contents .biz-cta{margin-top:16px}
html body main .contents .biz-cta .btn-outline,html body main .contents .btn-outline{display:inline-flex;align-items:center;min-height:44px;padding:10px 28px;background:#fff;color:#008cd6;border:1px solid #008cd6;border-radius:40px;font-weight:bold}
html body main .contents.biz-highlight .wrapper{position:relative}
html body main .contents.biz-highlight h2::before{content:"注目の職種";display:inline-block;vertical-align:middle;margin-right:12px;padding:4px 12px;background:#ffd84d;color:#3a2c00;font-size:13px;letter-spacing:.05em;border-radius:20px}
html body main .contents.biz-highlight .contents-inner{border:3px solid #ffd84d;border-radius:12px;padding:20px}

/* ===== review6 ===== */
html body main .contents .biz-list li{color:#fff}
html body main .contents .biz-list{color:#fff}
@media screen and (max-width:1279px){
  html body header .header-inner nav ul.cf>li>a{padding:0 8px;font-size:13px;letter-spacing:0}
  html body header .header-inner nav{max-width:none}
}
@media screen and (max-width:1100px){
  html body header .header-inner nav ul.cf>li>a{padding:0 6px;font-size:12px}
}
html body main .contents.page-contents.biz-alt{background-color:#0068a8}  /* white text 6.4:1 (was #75cbf9, ~1.9:1) */
html body main .contents.biz-textonly .contents-text{width:100%;max-width:46em;margin-left:auto;margin-right:auto;flex:1 1 100%}
html body main .contents.biz-textonly .contents-text p{margin-bottom:1em;line-height:1.9}
html body main .contents.biz-sec.contents04 h2,html body main .contents.biz-sec.contents04 p,html body main .contents.biz-sec.contents04 li{color:#fff}
html body main .contents.biz-sec.contents04{background-color:#0068a8}
/* ===== review11: care slide on mobile shows both people ===== */
@media screen and (max-width:767px){html body main .mainvisual .bx-wrapper .mainvisual-slide-wrapper .mainvisual-slide[style*="hero-care-v4"]{background-position:70% 50%}}
