/* Three current services share the same visual priority. */
.service-three-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:36px 0; text-align:left; }
.service-three-grid .service-card { min-width:0; overflow:hidden; background:#fff; color:#222; border-bottom:4px solid #b2272d; }
.service-three-grid .service-card > img { display:block; width:100%; height:190px; object-fit:cover; }
.service-card__body { padding:26px 22px 30px; }
.service-three-grid .service-card .service-card__number { margin:0 0 18px; color:#a12027; font:600 13px/1.6 'Poppins',sans-serif; letter-spacing:.12em; }
.service-three-grid .service-card h3 { margin:0 0 16px; font:600 clamp(22px,1.8vw,23px)/1.6 'Shippori Mincho',serif; letter-spacing:0; color:#222; word-break:normal; line-break:strict; }
.service-three-grid .service-card .service-card__audience { margin:0 0 12px; font-size:14px; font-weight:700; line-height:1.8; color:#a12027; }
.service-three-grid .service-card p { margin:0; color:#444; font-size:16px; line-height:1.9; letter-spacing:0; }
a.service-card__link,a.service-card__link:visited { display:block; min-height:44px; box-sizing:border-box; margin-top:20px; padding:12px 0; border-top:1px solid #ddd; font-size:14px; font-weight:700; line-height:1.8; color:#9d1c24; background:#fff; letter-spacing:0; }
a.service-card__external { margin-top:0; }
a.service-card__link:hover { color:#70121a; opacity:1; text-decoration:underline; }
a.service-card__link:focus-visible { outline:3px solid #9d1c24; outline-offset:4px; }
.service-card__link .jp-phrase { display:inline-block; }
.activity-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; margin-top:28px; text-align:left; }
.activity-card { background:#fff; color:#222; }
.activity-card img { display:block; width:100%; height:180px; object-fit:cover; }
.activity-card > div { padding:24px; }
.activity-card h3 { margin:0 0 16px; color:#222; font-size:22px; line-height:1.6; }
.activity-card p { margin:0 0 16px; font-size:16px; line-height:1.9; color:#444; }
.activity-card a,.activity-card a:visited { display:inline-block; min-height:44px; padding:10px 0; color:#9d1c24; background:#fff; font-size:16px; line-height:1.8; text-decoration:underline; }
.renewal-primary-cta .jp-phrase { display:inline-block; }
.renewal-home .renewal-faq summary { font-size:16px; }
.renewal-home .renewal-faq details p { font-size:16px; line-height:1.9; }
@media(max-width:1000px) {
 .service-three-grid { grid-template-columns:1fr; }
 .service-three-grid .service-card { display:grid; grid-template-columns:32% minmax(0,1fr); align-items:start; }
 .service-three-grid .service-card > img { height:100%; min-height:220px; object-fit:cover; }
 .service-three-grid .service-card h3 { font-size:23px; }
 .service-card__body { padding:26px; }
 .activity-grid { grid-template-columns:1fr; }
}
@media(max-width:600px) {
 .service-three-grid .service-card { display:block; }
 .service-three-grid .service-card > img { height:180px; min-height:0; }
 .service-card__body { padding:24px 20px; }
 .service-three-grid .service-card h3 { font-size:22px; }
 .renewal-home .renewal-hero .top_img_sp h2 { font-size:clamp(28px,7.8vw,40px); letter-spacing:0; }
 .service-three-grid { gap:24px; margin:28px 0; }
 .pc-only { display:none; }
}
.service-three-grid .service-card > img,.activity-card > img { margin:0; }
.activity-card img[src$="bus9_01.jpg"] { object-fit:contain; background:#fff; }
.service-three-grid .service-card,.activity-grid .activity-card { padding:0; }
.service-card__body > [data-vr-role="body"] { font-size:16px; line-height:1.9; }
